@@ -188,6 +188,7 @@ FtfdCreateFontInstance(
188
188
/* Check if there is rotation / skewing (cannot use iComplexity!?) */
189
189
if (!FLOATOBJ_bIsNull (& fxform .eM12 ) || !FLOATOBJ_bIsNull (& fxform .eM21 ))
190
190
{
191
+ TRACE ("Setting extended xform\n" );
191
192
//__debugbreak();
192
193
193
194
/* Create a transformation matrix that is applied after the character
@@ -386,15 +387,18 @@ FtfdQueryMaxExtents(
386
387
}
387
388
388
389
/* Copy some values from the font structure */
389
- pfddm -> fxMaxAscender = (pfont -> metrics .fxMaxAscender + 15 ) & ~0x0f ;
390
- pfddm -> fxMaxDescender = (pfont -> metrics .fxMaxDescender + 15 ) & ~0x0f ;
391
390
pfddm -> ptlUnderline1 = pfont -> metrics .ptlUnderline1 ;
392
391
pfddm -> ptlStrikeout = pfont -> metrics .ptlStrikeout ;
393
392
pfddm -> ptlULThickness = pfont -> metrics .ptlULThickness ;
394
393
pfddm -> ptlSOThickness = pfont -> metrics .ptlSOThickness ;
395
394
pfddm -> cxMax = pfont -> sizlMax .cx ;
396
395
pfddm -> cyMax = pfont -> sizlMax .cy ;
397
396
397
+ /* These values are rounded to pixels to fix inconsistent height
398
+ of marked text and the rest of the marked row in XP list boxes */
399
+ pfddm -> fxMaxAscender = (pfont -> metrics .fxMaxAscender + 15 ) & ~0x0f ;
400
+ pfddm -> fxMaxDescender = (pfont -> metrics .fxMaxDescender + 15 ) & ~0x0f ;
401
+
398
402
/* Convert the base vectors from FLOATOBJ to FLOATL */
399
403
pfddm -> pteBase .x = FLOATOBJ_GetFloat (& pfont -> ptefBase .x );
400
404
pfddm -> pteBase .y = FLOATOBJ_GetFloat (& pfont -> ptefBase .y );
@@ -460,7 +464,7 @@ FtfdQueryGlyphData(
460
464
/* D is the glyph advance width. Convert it from 26.6 to 28.4 fixpoint format */
461
465
pgd -> fxD = ftglyph -> advance .x >> 2 ; // FIXME: should be projected on the x-axis
462
466
463
- /* Get the bitnmap size */
467
+ /* Get the bitmap size */
464
468
sizlBitmap .cx = ftglyph -> bitmap .width ;
465
469
sizlBitmap .cy = ftglyph -> bitmap .rows ;
466
470
0 commit comments