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