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 int Width; 34 int Escapement; 35 FT_Render_Mode RenderMode; 36 MATRIX mxWorldToDevice; 37 } FONT_CACHE_ENTRY, *PFONT_CACHE_ENTRY; 38 39 40 /* 41 * FONTSUBST_... --- constants for font substitutes 42 */ 43 #define FONTSUBST_FROM 0 44 #define FONTSUBST_TO 1 45 #define FONTSUBST_FROM_AND_TO 2 46 47 /* 48 * FONTSUBST_ENTRY --- font substitute entry 49 */ 50 typedef struct FONTSUBST_ENTRY 51 { 52 LIST_ENTRY ListEntry; 53 UNICODE_STRING FontNames[FONTSUBST_FROM_AND_TO]; 54 BYTE CharSets[FONTSUBST_FROM_AND_TO]; 55 } FONTSUBST_ENTRY, *PFONTSUBST_ENTRY; 56 57 58 typedef struct GDI_LOAD_FONT 59 { 60 PUNICODE_STRING pFileName; 61 PSHARED_MEM Memory; 62 DWORD Characteristics; 63 UNICODE_STRING RegValueName; 64 BOOL IsTrueType; 65 BYTE CharSet; 66 PFONT_ENTRY_MEM PrivateEntry; 67 } GDI_LOAD_FONT, *PGDI_LOAD_FONT; 68 69