11#define trace_if(val, msg) do { if (!(val)) trace(msg); } while (0)
36 ok(
hFont != 0,
"CreateFontIndirectA failed\n");
38 memset(&elfedv2, 0,
sizeof(elfedv2));
68 ok(
hFont != 0,
"CreateFontIndirectW failed\n");
70 memset(&elfedv2, 0,
sizeof(elfedv2));
88 memset(&elfedva, 0,
sizeof(elfedva));
110 ok(
hFont != 0,
"CreateFontIndirectExA failed\n");
117 memset(&elfedva2, 0,
sizeof(elfedva2));
134 memset(&elfedv, 0,
sizeof(elfedv));
156 ok(
hFont != 0,
"CreateFontIndirectExW failed\n");
158 memset(&elfedv2, 0,
sizeof(elfedv2));
164 memset(&elfedva, 0,
sizeof(elfedva));
211#define _TMPF_VAR_PITCH TMPF_FIXED_PITCH
288#define _TMPF_VAR_PITCH TMPF_FIXED_PITCH
684 if (
Entry->FaceNameBefore[0])
708 ok(
hFont !=
NULL,
"Entry #%u: hFont failed\n", nIndex);
715 ok(
tm.tmCharSet ==
Entry->CharSetAfter,
"Entry #%u: CharSet mismatched, it was %u\n", nIndex,
tm.tmCharSet);
718 ok(
tm.tmWeight >=
FW_BOLD,
"Entry #%u: Weight was non-bold\n", nIndex);
720 ok(
tm.tmWeight <=
FW_MEDIUM,
"Entry #%u: Weight was bold\n", nIndex);
723 ok(
tm.tmItalic,
"Entry #%u: Italic was non-italic\n", nIndex);
725 ok(!
tm.tmItalic,
"Entry #%u: Italic was italic\n", nIndex);
728 ok(
tm.tmUnderlined,
"Entry #%u: Underlined was FALSE\n", nIndex);
730 ok(!
tm.tmUnderlined,
"Entry #%u: Underlined was TRUE\n", nIndex);
733 ok(
tm.tmStruckOut,
"Entry #%u: Struck-out was FALSE\n", nIndex);
735 ok(!
tm.tmStruckOut,
"Entry #%u: Struck-out was TRUE\n", nIndex);
738 ok(!(
tm.tmPitchAndFamily &
_TMPF_VAR_PITCH),
"Entry #%u: Pitch mismatched, it was non-fixed-pitch\n", nIndex);
740 ok((
tm.tmPitchAndFamily &
_TMPF_VAR_PITCH),
"Entry #%u: Pitch mismatched, it was fixed-pitch\n", nIndex);
757 skip(
"charset not available: 0x%x\n",
g_Entries[nIndex].CharSetBefore);
void Test_CreateFontIndirectExW(void)
static void Test_FontPresence(void)
static FONT_SEL_TEST g_Entries[]
void Test_CreateFontIndirectA(void)
static INT CALLBACK is_fixed_charset_font_proc(const LOGFONTA *elf, const TEXTMETRICA *ntm, DWORD type, LPARAM lParam)
static BOOL is_charset_font_installed(HDC hDC, BYTE CharSet)
static void Test_FontSelection(void)
static BOOL is_fixed_charset_font_installed(HDC hDC, BYTE CharSet)
void Test_CreateFontIndirectW(void)
static void Test_FontSelectionEntry(HDC hDC, UINT nIndex, FONT_SEL_TEST *Entry)
void Test_CreateFontIndirectExA(void)
#define trace_if(val, msg)
static INT CALLBACK is_truetype_font_proc(const LOGFONTA *elf, const TEXTMETRICA *ntm, DWORD type, LPARAM lParam)
static INT CALLBACK is_charset_font_proc(const LOGFONTA *elf, const TEXTMETRICA *ntm, DWORD type, LPARAM lParam)
static BOOL is_truetype_font_installed(HDC hDC, const char *name)
static void CharSet(RTF_Info *info)
GLuint GLuint GLsizei GLenum type
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
base of all file and directory entries
CHAR FaceNameBefore[LF_FACESIZE]
TRISTATE FixedPitchBefore
CHAR lfFaceName[LF_FACESIZE]
WCHAR lfFaceName[LF_FACESIZE]
BYTE elfFullName[LF_FULLFACESIZE]
ENUMLOGFONTEXA elfEnumLogfontEx
ENUMLOGFONTEXW elfEnumLogfontEx
WCHAR elfFullName[LF_FULLFACESIZE]
CHAR lfFaceName[LF_FACESIZE]
WCHAR lfFaceName[LF_FACESIZE]
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
HFONT WINAPI CreateFontIndirectA(_In_ const LOGFONTA *)
int WINAPI GetObjectA(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
#define TRUETYPE_FONTTYPE
int WINAPI EnumFontFamiliesExA(_In_ HDC, _In_ PLOGFONTA, _In_ FONTENUMPROCA, _In_ LPARAM, _In_ DWORD)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
HFONT WINAPI CreateFontIndirectExW(const ENUMLOGFONTEXDVW *)
#define CHINESEBIG5_CHARSET
#define OUT_DEFAULT_PRECIS
#define CLIP_DEFAULT_PRECIS
#define VIETNAMESE_CHARSET
BOOL WINAPI GetTextMetricsA(_In_ HDC, _Out_ LPTEXTMETRICA)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
BOOL WINAPI DeleteDC(_In_ HDC)
#define CreateFontIndirect
#define EASTEUROPE_CHARSET
HFONT WINAPI CreateFontIndirectExA(const ENUMLOGFONTEXDVA *)