泰山JDK8获取(宋体,12)中文问号?宽度为0的问题
Posted 柳鲲鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泰山JDK8获取(宋体,12)中文问号?宽度为0的问题相关的知识,希望对你有一定的参考价值。
- 调用堆栈
FileFontStrike.getGlyphAdvance(int, boolean) line: 705
FileFontStrike.getGlyphAdvance(int) line: 693
FileFontStrike.getCodePointAdvance(int) line: 812
FontDesignMetrics.handleCharWidth(int) line: 417
FontDesignMetrics.charWidthFloat(char) line: 447
FontDesignMetrics.charWidth(char) line: 439
- 代码分析
getCodePointAdvance()处,mapper.charToGlyph(cp)得到?的图元索引(66267)。
getGlyphAdvance():
if (glyphCode >= INVISIBLE_GLYPHS)
return 0f;
INVISIBLE_GLYPHS=65534
这么一判断,自然为0了。
这是因为
以上是关于泰山JDK8获取(宋体,12)中文问号?宽度为0的问题的主要内容,如果未能解决你的问题,请参考以下文章