泰山JDK8获取(宋体,12)中文问号?宽度为0的问题

简介: 泰山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了。


这是因为

目录
相关文章
用word快速将数字字体换成新罗马详细简单方法
用word快速将数字字体换成新罗马详细简单方法
3863 0
用word快速将数字字体换成新罗马详细简单方法
|
5月前
技术好文:word页眉添加横线与删除横线
技术好文:word页眉添加横线与删除横线
27 0
|
11月前
|
前端开发
CSS:设置字母间距、中文汉字间距
CSS:设置字母间距、中文汉字间距
|
存储 编解码 索引
[oeasy]python0131_[趣味拓展]各种符号_汉语拼音符号_中文全角英文字母_中文全角标点
[oeasy]python0131_[趣味拓展]各种符号_汉语拼音符号_中文全角英文字母_中文全角标点
136 0
[oeasy]python0131_[趣味拓展]各种符号_汉语拼音符号_中文全角英文字母_中文全角标点
|
Python
一日一技:如何判断某个汉字是不是在字体库中
一日一技:如何判断某个汉字是不是在字体库中
291 0
成功解决wps文档中输入英文单词出现对应英文单词下边红色波浪线(英文拼写自动检测)去掉或加上图文教程
成功解决wps文档中输入英文单词出现对应英文单词下边红色波浪线(英文拼写自动检测)去掉或加上图文教程
成功解决wps文档中输入英文单词出现对应英文单词下边红色波浪线(英文拼写自动检测)去掉或加上图文教程
泰山JDK8新实现的一个字体斜体效果
泰山JDK8新实现的一个字体斜体效果
106 0
泰山JDK8新实现的一个字体斜体效果
PyQt5 技巧篇-便于文字排版的等宽字体推荐:Source Code Pro的中文为英文两倍宽字体
PyQt5 技巧篇-便于文字排版的等宽字体推荐:Source Code Pro的中文为英文两倍宽字体
379 0
PyQt5 技巧篇-便于文字排版的等宽字体推荐:Source Code Pro的中文为英文两倍宽字体