测试代码是这样: <FONT style="FONT-SIZE: 12pt" face="黑体"><STRONG><SPAN> </SPAN></STRONG></FONT><br/>
然后如果不开启ComplexPath,skia会显示空格变成一个方框,不知道是不是skia的bug。
跟了一下,主要是Font::buildGlyphBuffer这里建立的glyph和ComplexPath不同。
非ComplexPath的glyph是0,而ComplexPath是980.导致后面:
SkGlyphCache::allocateNewGlyph、
SkScalerContext_GDI::generateMetrics、
GlyphFindAndPlaceFullPixel::findAndPositionGlyph、
SkDraw::drawPosText的glyph.fWidth
获取的glyph对应的宽度不同。非ComplexPath的glyph是0,获取的宽度是14,而ComplexPath的宽度是0.
目前暂时不清楚具体怎么回事。但因为可以规避这问题,就不管了。