如何测量字体大小?

保利乌斯·莱基斯

背景:我正在尝试使用字形位图进行字体渲染,并且需要一种方法来验证我是否在屏幕上以正确的大小渲染文本。

所以当有人说:font-size: 64px这64应该出现在哪里?我在HTML中尝试了相同的练习,但是现在我比开始之前更加困惑。这就是HTML使用渲染文本的方式font-size: 64px红线-我试图height: 64px在这些字母周围放一个框在此处输入图片说明如您所见,我找不到将64px与可视字母匹配的方法。

有人可以告诉我这64px应该出现在哪里吗?

我知道字体大小是一本很老的东西,它来自物理印刷机,并且也考虑了一些间距,但是数字时代是否没有任何逻辑/规则?字体文件中是否完全任意?假设我要制作一种新的字体:关于64px字体的大小没有任何指导原则吗?

杰瑞

最初,字体大小是通过所谓的em-square度量的,即大写M字符的水平宽度:

字体的高度称为'em',它源自大写字母'M'的宽度;这样做的目的是使该字母的比例为正方形(因此称为“ em square”)。http://designwithfontforge.com/zh-CN/The_EM_Square.html

在CSS中,font-sizeinptpx表示该em-square(如果有的话)。但:

前几天,我看了一堆大学水平版式课程的课程幻灯片。其中一个声称从基线(例如H的字母的底部)到顶帽高度(例如H的字母的顶部)的距离是点的大小。我希望那是真的,因为这比现实要简单得多。平均而言,帽高约为点大小的70%。http://www.thomasphinney.com/2011/03/point-size/

因此,我想您的问题的答案是:取决于情况。em-square仍然是指导原则,但是字体的实际大小在很大程度上取决于设计者,并且通常比em-square大得多。或者,您可以尝试在该70%标记的基础上构建,并寻找64px中的70%(大约为45px)作为正常大写字母(例如H或M)的高度。

我还发现此链接对于CSS中的印刷问题很有帮助:https : //iamvdo.me/en/blog/css-font-metrics-line-height-and-vertical-align

PS注意,em-square两个引号都涉及的这种印刷emCSS中-unit不同。在CSS中,em是相对于父容器(或浏览器中的默认设置)的字体大小。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何重置字体大小

来自分类Dev

如何更改字体大小?

来自分类Dev

如何更改JPanel的字体大小

来自分类Dev

如何更改JMeter的字体大小?

来自分类Dev

如何更改MetroFramework的Metrolabel的字体大小?

来自分类Dev

Swift增加UITextview的字体大小,如何?

来自分类Dev

如何设置Libgdx位图字体大小?

来自分类Dev

如何使我的字体大小敏感?

来自分类Dev

如何更改括号中的字体大小

来自分类Dev

Java如何增加字体大小?

来自分类Dev

如何更改字幕的字体大小

来自分类Dev

如何正确定义字体大小

来自分类Dev

如何获取HTML中的字体大小?

来自分类Dev

如何缩小字体大小

来自分类Dev

如何更改WinMerge字体大小?

来自分类Dev

如何增加窗口标题的字体大小?

来自分类Dev

Java如何增加字体大小?

来自分类Dev

如何设置 DropDownList 的字体大小?

来自分类Dev

如何增加javascript中的字体大小?

来自分类Dev

Libgdx 字体大小

来自分类Dev

如何根据Xcode中的系统字体大小更改标签的字体大小?

来自分类Dev

当字体大小超过1的CSS时如何获取元素字体大小的内联样式

来自分类Dev

如何获得终端大小或字体大小(以像素为单位)?

来自分类Dev

如何根据其大小更改JButton的字体大小?

来自分类Dev

如何根据其大小更改JButton的字体大小?

来自分类Dev

如何获得终端大小或字体大小(以像素为单位)?

来自分类Dev

如何根据UILabel的字体大小更改其大小?

来自分类Dev

如何更改属性数组的字体大小(swift,ios)

来自分类Dev

如何增加饼图上标签的字体大小