1 #pragma once 2 3 4 typedef struct _FONT_ENTRY 5 { 6 LIST_ENTRY ListEntry; 7 FONTGDI *Font; 8 UNICODE_STRING FaceName; 9 UNICODE_STRING StyleName; 10 BYTE NotEnum; 11 } FONT_ENTRY, *PFONT_ENTRY; 12 13 typedef struct _FONT_ENTRY_MEM 14 { 15 LIST_ENTRY ListEntry; 16 FONT_ENTRY *Entry; 17 } FONT_ENTRY_MEM, *PFONT_ENTRY_MEM; 18 19 typedef struct _FONT_ENTRY_COLL_MEM 20 { 21 LIST_ENTRY ListEntry; 22 HANDLE Handle; 23 FONT_ENTRY_MEM *Entry; 24 } FONT_ENTRY_COLL_MEM, *PFONT_ENTRY_COLL_MEM; 25 26 typedef struct _FONT_CACHE_ENTRY 27 { 28 LIST_ENTRY ListEntry; 29 int GlyphIndex; 30 FT_Face Face; 31 FT_BitmapGlyph BitmapGlyph; 32 int Height; 33 FT_Render_Mode RenderMode; 34 MATRIX mxWorldToDevice; 35 } FONT_CACHE_ENTRY, *PFONT_CACHE_ENTRY; 36 37 38 /* 39 * FONTSUBST_... --- constants for font substitutes 40 */ 41 #define FONTSUBST_FROM 0 42 #define FONTSUBST_TO 1 43 #define FONTSUBST_FROM_AND_TO 2 44 45 /* 46 * FONTSUBST_ENTRY --- font substitute entry 47 */ 48 typedef struct FONTSUBST_ENTRY 49 { 50 LIST_ENTRY ListEntry; 51 UNICODE_STRING FontNames[FONTSUBST_FROM_AND_TO]; 52 BYTE CharSets[FONTSUBST_FROM_AND_TO]; 53 } FONTSUBST_ENTRY, *PFONTSUBST_ENTRY; 54 55 56 typedef struct GDI_LOAD_FONT 57 { 58 PUNICODE_STRING pFileName; 59 PSHARED_MEM Memory; 60 DWORD Characteristics; 61 UNICODE_STRING RegValueName; 62 BOOL IsTrueType; 63 PFONT_ENTRY_MEM PrivateEntry; 64 } GDI_LOAD_FONT, *PGDI_LOAD_FONT; 65 66