JDK中字体的高度信息ascent/descent/leading是怎么计算的
Posted 柳鲲鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK中字体的高度信息ascent/descent/leading是怎么计算的相关的知识,希望对你有一定的参考价值。
- JAVA流程
FontDesignMetrics.getMetrics(Font, FontRenderContext) line: 302
FontDesignMetrics.<init>(Font, FontRenderContext) line: 350
FontDesignMetrics.initMatrixAndMetrics() line: 359
FileFontStrike.getFontMetrics() line: 815
TrueTypeFont(FileFont).getFontMetrics(long) line: 181
FreetypeFontScaler.getFontMetrics(long) line: 78
FreetypeFontScaler.getFontMetricsNative(Font2D, long, long) line: not available [native method] StrikeMetrics.<init>(float, float, float, float, float, float, float, float, float, float) line: 96
getFontMetricsNative是本地函数,然后新建StrikeMetrics对象。
- getFontMetricsNative
FTScalerInfo.face中的值:ascender/descender/height
leading=height-ascender-descender
处理完毕之后,再新建一个对象StrikeMetrics。
以上是关于JDK中字体的高度信息ascent/descent/leading是怎么计算的的主要内容,如果未能解决你的问题,请参考以下文章
字体实际效果,FreeType的字号,对应Windows字体的高度