@@ -6785,16 +6785,16 @@ IntExtTextOutW(
67856785 */
67866786
67876787 PDC_ATTR pdcattr ;
6788- SURFOBJ * SurfObj , * SourceGlyphSurf ;
6788+ SURFOBJ * psoDest , * psoGlyph ;
67896789 SURFACE * psurf ;
67906790 INT glyph_index , i ;
67916791 FT_Face face ;
67926792 FT_BitmapGlyph realglyph ;
67936793 LONGLONG X64 , Y64 , RealXStart64 , RealYStart64 , DeltaX64 , DeltaY64 ;
67946794 ULONG previous ;
67956795 RECTL DestRect , MaskRect ;
6796- HBITMAP HSourceGlyph ;
6797- SIZEL bitSize ;
6796+ HBITMAP hbmGlyph ;
6797+ SIZEL glyphSize ;
67986798 FONTOBJ * FontObj ;
67996799 PFONTGDI FontGDI ;
68006800 PTEXTOBJ TextObj = NULL ;
@@ -6858,7 +6858,7 @@ IntExtTextOutW(
68586858 MaskRect .top = 0 ;
68596859
68606860 psurf = dc -> dclevel .pSurface ;
6861- SurfObj = & psurf -> SurfObj ;
6861+ psoDest = & psurf -> SurfObj ;
68626862
68636863 if (pdcattr -> iGraphicsMode == GM_ADVANCED )
68646864 pmxWorldToDevice = DC_pmxWorldToDevice (dc );
@@ -7073,56 +7073,56 @@ IntExtTextOutW(
70737073 DPRINT ("X64, Y64: %I64d, %I64d\n" , X64 , Y64 );
70747074 DPRINT ("Advance: %d, %d\n" , realglyph -> root .advance .x , realglyph -> root .advance .y );
70757075
7076- bitSize .cx = realglyph -> bitmap .width ;
7077- bitSize .cy = realglyph -> bitmap .rows ;
7076+ glyphSize .cx = realglyph -> bitmap .width ;
7077+ glyphSize .cy = realglyph -> bitmap .rows ;
70787078
7079- /* Do chars > space & not DEL & not nbsp have a bitSize .cx of zero? */
7080- if (ch0 > L' ' && ch0 != del && ch0 != nbsp && bitSize .cx == 0 )
7081- DPRINT1 ("WARNING: WChar 0x%04x has a bitSize .cx of zero\n" , ch0 );
7079+ /* Do chars > space & not DEL & not nbsp have a glyphSize .cx of zero? */
7080+ if (ch0 > L' ' && ch0 != del && ch0 != nbsp && glyphSize .cx == 0 )
7081+ DPRINT1 ("WARNING: WChar 0x%04x has a glyphSize .cx of zero\n" , ch0 );
70827082
70837083 /* Don't ignore spaces or non-breaking spaces when computing offset.
70847084 * This completes the fix of CORE-11787. */
7085- if ((pdcattr -> flTextAlign & TA_UPDATECP ) && bitSize .cx == 0 &&
7085+ if ((pdcattr -> flTextAlign & TA_UPDATECP ) && glyphSize .cx == 0 &&
70867086 (ch0 == L' ' || ch0 == nbsp )) // Space chars needing x-dim widths
70877087 {
70887088 IntUnLockFreeType ();
70897089 /* Get the width of the space character */
70907090 TextIntGetTextExtentPoint (dc , TextObj , L" " , 1 , 0 , NULL , 0 , & spaceWidth , 0 );
70917091 IntLockFreeType ();
7092- bitSize .cx = spaceWidth .cx ;
7092+ glyphSize .cx = spaceWidth .cx ;
70937093 realglyph -> left = 0 ;
70947094 }
70957095
70967096 MaskRect .right = realglyph -> bitmap .width ;
70977097 MaskRect .bottom = realglyph -> bitmap .rows ;
70987098
70997099 DestRect .left = ((X64 + 32 ) >> 6 ) + realglyph -> left ;
7100- DestRect .right = DestRect .left + bitSize .cx ;
7100+ DestRect .right = DestRect .left + glyphSize .cx ;
71017101 DestRect .top = ((Y64 + 32 ) >> 6 ) - realglyph -> top ;
7102- DestRect .bottom = DestRect .top + bitSize .cy ;
7102+ DestRect .bottom = DestRect .top + glyphSize .cy ;
71037103
71047104 /* Check if the bitmap has any pixels */
7105- if ((bitSize .cx != 0 ) && (bitSize .cy != 0 ))
7105+ if ((glyphSize .cx != 0 ) && (glyphSize .cy != 0 ))
71067106 {
71077107 /*
71087108 * We should create the bitmap out of the loop at the biggest possible
71097109 * glyph size. Then use memset with 0 to clear it and sourcerect to
71107110 * limit the work of the transbitblt.
71117111 */
7112- HSourceGlyph = EngCreateBitmap (bitSize , realglyph -> bitmap .pitch ,
7113- BMF_8BPP , BMF_TOPDOWN ,
7114- realglyph -> bitmap .buffer );
7115- if (!HSourceGlyph )
7112+ hbmGlyph = EngCreateBitmap (glyphSize , realglyph -> bitmap .pitch ,
7113+ BMF_8BPP , BMF_TOPDOWN ,
7114+ realglyph -> bitmap .buffer );
7115+ if (!hbmGlyph )
71167116 {
71177117 DPRINT1 ("WARNING: EngCreateBitmap() failed!\n" );
71187118 bResult = FALSE;
71197119 break ;
71207120 }
71217121
7122- SourceGlyphSurf = EngLockSurface ((HSURF )HSourceGlyph );
7123- if (!SourceGlyphSurf )
7122+ psoGlyph = EngLockSurface ((HSURF )hbmGlyph );
7123+ if (!psoGlyph )
71247124 {
7125- EngDeleteSurface ((HSURF )HSourceGlyph );
7125+ EngDeleteSurface ((HSURF )hbmGlyph );
71267126 DPRINT1 ("WARNING: EngLockSurface() failed!\n" );
71277127 bResult = FALSE;
71287128 break ;
@@ -7149,8 +7149,8 @@ IntExtTextOutW(
71497149 }
71507150 }
71517151
7152- if (!IntEngMaskBlt (SurfObj ,
7153- SourceGlyphSurf ,
7152+ if (!IntEngMaskBlt (psoDest ,
7153+ psoGlyph ,
71547154 (CLIPOBJ * )& dc -> co ,
71557155 & exloRGB2Dst .xlo ,
71567156 & exloDst2RGB .xlo ,
@@ -7162,8 +7162,8 @@ IntExtTextOutW(
71627162 DPRINT1 ("Failed to MaskBlt a glyph!\n" );
71637163 }
71647164
7165- EngUnlockSurface (SourceGlyphSurf );
7166- EngDeleteSurface ((HSURF )HSourceGlyph );
7165+ EngUnlockSurface (psoGlyph );
7166+ EngDeleteSurface ((HSURF )hbmGlyph );
71677167 }
71687168
71697169 if (DoBreak )
0 commit comments