Difference between revisions of "Techwiki:Win32k/RFONT"
ThePhysicist (talk | contribs) |
ThePhysicist (talk | contribs) |
||
Line 132: | Line 132: | ||
} RFONTOBJ, *PRFONTOBJ; // size 0x2F4 allocated in RFONTOBJ::bRealizeFont | } RFONTOBJ, *PRFONTOBJ; // size 0x2F4 allocated in RFONTOBJ::bRealizeFont | ||
− | ulContent | + | ''ulContent'' |
− | RFONT_CONTENT_METRICS | + | :Can be one of: |
− | RFONT_CONTENT_BITMAPS | + | RFONT_CONTENT_METRICS |
− | RFONT_CONTENT_PATHS | + | RFONT_CONTENT_BITMAPS |
+ | RFONT_CONTENT_PATHS | ||
===References=== | ===References=== |
Revision as of 11:07, 25 May 2011
Windows XP version of Realized Font structure. Pool tag is 'Gfnt'
typedef struct { RFONT * prfntPrev; // 000 RFONT * prfntNext; // 004 } RFONTLINK, *PRFONTLINK; typedef struct { MATRIX * pmx; ULONG ulMode; } EXFORMOBJ; // typedef struct { GLYPHDATA *pgdNext; // 000 GLYPHDATA *pgdThreshold; // 004 void * pjFirstBlockEnd; // 008 void * pdblBase; // 00c ULONG cMetrics; // 010 DWORD unknow_014; ULONG cjbbl; // 018 ULONG cBlocksMax; // 01c ULONG cBlocks; // 020 ULONG cGlyphs; // 024 ULONG cjTotal; // 028 void * pbblBase; // 02c void * pbblCur; // 030 GLYPHBITS * pgbNext; // 034 GLYPHBITS * pgbThreshold; // 038 void * pjAuxCacheMem; // 03c ULONG cjAuxCacheMem; // 040 ULONG cjGlyphMax; // 044 BOOL bSmallMetrics; // 048 ULONG iMax; // 04c ULONG iFirst; // 050 ULONG cBits; // 054 // size = 058 } CACHE; typedef struct _RFONTOBJ { FONTOBJ fobj; // 000 ULONG iUnique; // 02c FLONG flType; // 030 ULONG ulContent; // 034 PVOID hdevProducer; // 038 BOOL bDeviceFont; // 03c PVOID hdevConsumer; // 040 DHPDEV dhpdev; // 044 PFE * ppfe; // 048 PFF * pPFF; // 04c FD_XFORM fdx; // 050 ULONG cBitsPerPel; // 060 MATRIX mxWorldToDevice; // 064 ULONG iGraphicsMode; // 0a0 FLOATOBJ eptflNtoWScale_x_i; // 0a4 FLOATOBJ eptflNtoWScale_y_i; // 0ac ULONG bNtoWIdent; // 0b4 EXFORMOBJ xoForDDI; // 0b8 unsigned unk_000; // 0c0 MATRIX mxForDDI; // 0c4 ULONG flRealizedType; // 100 See FDM_TYPE_XXX flags. POINTL ptlUnderline1; // 104 POINTL ptlStrikeOut; // 10c POINTL ptlULThickness; // 114 POINTL ptlSOThickness; // 11c LONG lCharInc; // 124 FIX fxMaxAscent; FIX fxMaxDescent; FIX fxMaxExtent; // 130 POINTFX ptfxMaxAscent; POINTFX ptfxMaxDescent; ULONG cxMax; // Maximum glyph bitmap width, in pixels, // for this font instance. Not used for outlines. LONG lMaxAscent; LONG lMaxHeight; // 14c ULONG cyMax; // Maximum glyph bitmap height, in pixels, // for this font instance. Not used for outlines. ULONG cjGlyphMax; // Maximum bitmap size of a glyph, in bytes, for // this font instance. FD_XFORM fdxQuantized; // 158 LONG lNonLinearExtLeading; // 168 LONG lNonLinearIntLeading; LONG lNonLinearMaxCharWidth; LONG lNonLinearAvgCharWidth; ULONG ulOrientation; // 178 POINTEF pteUnitBase; // FLOATOBJ efWtoDBase; FLOATOBJ efDtoWBase; LONG lAscent; // 19C POINTEF pteUnitAscent; // FLOATOBJ efWtoDAscent; FLOATOBJ efDtoWAscent; LONG lEscapement; // 1c0 FLOATOBJ efWtoDEsc; FLOATOBJ efDtoWEsc; FLOATOBJ efEscToBase; // 1e4 FLOATOBJ efEscToAscent; // 1ec void * phg; // 1f4 Ref in RFONTOBJ::bGetWidthTable * to 70 HGLYPH array HGLYPH hgBreak; // 1f8 FIX fxBreak; // 1fc FD_GLYPHSET * pfdg; // 200 RFONTOBJ::pfdg(_FD_GLYPHSET *) void * wcgp; // 204 'Gcac' Gdi glyph cache FLONG flInfo; // 208 see FM_INFO_* in IFIMETRICS ULONG cSelected; // 20c RFONTLINK rflPDEV; // 210 RFONTLINK rflPFF; void * hsemCache; // 220 HSEMAPHORE set in RFONTOBJ::bInitCache CACHE cache; // 224 POINTL ptlSim; // 27c BOOL bNeededPaths; // 284 FLOATOBJ efDtoWBase_31; // 288 FLOATOBJ efDtoWAscent_31; // 290 TEXTMETRICW * ptmw; // 298 LONG lMaxNegA; // 29c See CHWIDTHINFO and FD_DEVICEMETRICS lMinA LONG lMaxNegC; // 2a0 " lMinC LONG lMinWidthD; // 2a4 " lMinD BOOL bIsSystemFont; // 2a8 FLONG flEUDCState; // 2ac RFONT * prfntSystemTT; RFONT * prfntSysEUDC; RFONT * prfntDefEUDC; void * paprfntFaceName; void * aprfntQuickBuff[8]; // 2c0 BOOL bFilledEudcArray; ULONG ulTimeStamp; ULONG uiNumLinks; BOOL bVertical; // 2ec HSEMAPHORE hsemCache1; // 2f0 HSEMAPHORE set in RFONTOBJ::bInitCache } RFONTOBJ, *PRFONTOBJ; // size 0x2F4 allocated in RFONTOBJ::bRealizeFont
ulContent
- Can be one of:
RFONT_CONTENT_METRICS RFONT_CONTENT_BITMAPS RFONT_CONTENT_PATHS
References
- FD_DEVICEMETRICS
- IFIMETRICS
- Windows Symbol files, gdikdx.dll.