JDK中字体的高度信息ascent/descent/leading是怎么计算的

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

目录
相关文章
|
6月前
|
Java API
JDK8到JDK25版本升级的新特性问题之使用Collectors.teeing()来计算一个列表中学生的平均分和总分如何操作
JDK8到JDK25版本升级的新特性问题之使用Collectors.teeing()来计算一个列表中学生的平均分和总分如何操作
|
6月前
|
算法
JDK8到JDK20版本升级的新特性问题之JDK14改进了NullPointerExceptions的提示信息,怎么实现的
JDK8到JDK20版本升级的新特性问题之JDK14改进了NullPointerExceptions的提示信息,怎么实现的
|
9月前
|
Java
使用jdk生成证书使用openssl来导出公钥信息
使用jdk生成证书使用openssl来导出公钥信息
43 0
|
Java 索引
全网首发:JDK/Java对于TTC字体文件的支持研究
全网首发:JDK/Java对于TTC字体文件的支持研究
447 0
全网首发:JDK/Java对于TTC字体文件的支持研究
|
Java
关于JDK支持TTC字体文件的问题及解决办法,已上报JAVA
关于JDK支持TTC字体文件的问题及解决办法,已上报JAVA
172 0
|
Java
JDK:字体大小是如何生效的
JDK:字体大小是如何生效的
138 0
|
Java
JDK本身是支持浮点字体的
JDK本身是支持浮点字体的
70 0
|
Java
JDK中字符的宽度计算流程
JDK中字符的宽度计算流程
121 0
|
Java 索引
关于JDK/Java支持TTC字体的思路
关于JDK/Java支持TTC字体的思路
152 0
|
缓存 Java
全网首发:JDK绘制文字:七、使用字体图像进行绘制
全网首发:JDK绘制文字:七、使用字体图像进行绘制
128 0