如何计算 Font 对象的 x 高度(即 ex)?

发布于 2024-09-30 03:07:28 字数 1225 浏览 6 评论 0原文

x 高度是一种字体度量,以 em 高度给出, 大约是 em 的 0.48,但这取决于字体...

在 CSS 中,这两个单位可用,我对 ex 单位感兴趣。还有一个 em 单位,因此 ex 单位是用它给出的。

下表显示了可通过以下站点获取的一些指标:

http:// www.cs.tut.fi/~jkorpela/x-height.html

Arial               0.519
Arial Unicode MS    0.518
Calibri             0.466
Cambria             0.466
Candara             0.463
Code2000            0.444
Comics Sans MS      0.532
Courier             0.425
Courier New         0.423
Garamond            0.384
Georgia             0.481
Helvetica           0.523
Tahoma              0.545
Times New Roman     0.448
Trebuchet MS        0.523
Verdana             0.545

我想知道 C# 中给定 Font 对象的 x 高度。我这样得到 M 高度:

TextRenderer.MeasureText("M", font).Height

但我不知道如何得到 x 高度。

使用 WinAPI 是可以接受的。浏览器执行此操作的方式并不重要。他们知道如何计算前值,我也想知道如何获得这个值。请帮忙!!

谢谢。

有助于转换的相关问题 字体到字体:

如何转换System.Drawing.font 至 System.Windows.Media.Fonts 或 字体

The x-height is a font metric, that is given in terms of the em-height,
and is approximately 0.48 of an em, but this depends on the font...

In CSS these two units are available, I am interested in the ex unit. There is also an em unit, such that the ex unit is given in terms of it.

The following table shows some metrics, available throug the following site:

http://www.cs.tut.fi/~jkorpela/x-height.html

Arial               0.519
Arial Unicode MS    0.518
Calibri             0.466
Cambria             0.466
Candara             0.463
Code2000            0.444
Comics Sans MS      0.532
Courier             0.425
Courier New         0.423
Garamond            0.384
Georgia             0.481
Helvetica           0.523
Tahoma              0.545
Times New Roman     0.448
Trebuchet MS        0.523
Verdana             0.545

I want to know the x-height of a given Font object in C#. I get the M height like this:

TextRenderer.MeasureText("M", font).Height

But I can not figure out how to get the x-height.

Using WinAPI is acceptable. It does not matter the way... browsers do this. They know how to calculate the ex value, I want to know how to get this value too. Please help!!

Thanks.

Related question that helps convert
Font to Typeface:

How to convert System.Drawing.font to
System.Windows.Media.Fonts or
TypeFace

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文