Java:你如何找出一个字体的帽子高度和x-height?

前端之家收集整理的这篇文章主要介绍了Java:你如何找出一个字体的帽子高度和x-height?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
FontMetrics没有一个字体的 cap heightx-height的吸气剂.

如何获取这些值?

至于帽子的高度,不能保证特定的大写字母信件的上升与帽子高度相同. (例如资本H不能保证在顶部平坦)

就x高度而言,我认为它可能与“x”的高度相同,但是再也不能保证.

编辑:Grr!我刚刚尝试了FontMetrics.getBounds()FontMetrics.getLineMetrics()的特定字符序列,我总是得到相同的高度答案(getBounds()的宽度是不同的,显然). hasUniformLineMetrics()方法中有一个关于具有多个字体的fontmetrics的字符集来覆盖字符集,但是它涵盖了字符组而不是单个字符.

解决方法

您正在寻找的是屏幕渲染框,它告诉您确切的文本大小.

这意味着您将需要提供有关您正在绘制的曲面和您正在绘制的字符串的信息.原因是系统在渲染迟到之前根本不知道视觉效果.我用了:

Graphics2D g;
g.getFont().createGlyphVector(g.getFontRenderContext(),"abc").getVisualBounds();

你也可以试试:

Graphics2D g;
g.getFont().getMaxCharBounds(g.getFontRenderContext());

我也很难保持所有这些字体方法直线.

猜你在找的Java相关文章