Html 什么定义web字体中的字符宽度?

Html 什么定义web字体中的字符宽度?,html,css,typography,Html,Css,Typography,字体大小似乎适用于字体“框”的高度,据我所知,它是在字体文件本身中定义的。因此,对于相同的字体大小,任何字符,无论其视觉高度如何,都应该位于相同高度的框内 那么,字符的宽度定义在哪里 字符宽度也需要与字体大小相关,但每个字符似乎有不同的宽度(通过或)。这是不规则的,因为它似乎是高度的情况。因此,定义每个字符宽度的不是字体中定义的框的宽度 那么,它在哪里/如何定义?据我所知,有一个宽高比,或多或少是一个标准。它通常不会改变。font-size属性是一种缩放它们的方法。对于给定的字体,比率保持不变。

字体大小似乎适用于字体“框”的高度,据我所知,它是在字体文件本身中定义的。因此,对于相同的字体大小,任何字符,无论其视觉高度如何,都应该位于相同高度的框内

那么,字符的宽度定义在哪里

字符宽度也需要与字体大小相关,但每个字符似乎有不同的宽度(通过或)。这是不规则的,因为它似乎是高度的情况。因此,定义每个字符宽度的不是字体中定义的框的宽度


那么,它在哪里/如何定义?

据我所知,有一个宽高比,或多或少是一个标准。它通常不会改变。font-size属性是一种缩放它们的方法。对于给定的字体,比率保持不变。下面是一个链接,提供有关比率图表的更多详细信息:

因此,如果字体大小(以像素为单位)定义了高度,则宽度由字体系列的宽高比定义,您可以通过以下方式进行更改:style.fontSizeAdjust
根据文章。

字体中每个字形(字符)的定义都有一个与字体大小成比例的宽度值。因此,对于真正的字体,字体大小通常被分解为2048个单位。然后,每个图示符都有一个宽度,定义为许多相同的单位

因此,例如,使用Arial字体,字符
i
的宽度为180个单位(AW-(LSB+RSB)=455-(136+139))

w
的宽度为1457个单位(AW-(LSB+RSB)=1479-(6+16))


(从TypeLight 3.2中捕获的图像)

但是,据我所知,您的答案应该是相同字体的所有字符的宽度相等。但事实并非如此,不是吗?这是一个很好的答案,谢谢。我还想知道这些信息是如何保存在字体文件中的,以及是否可以通过任何方式直接从客户端或服务器获取。在我开始一个新问题之前,你可能知道这一点吗?感谢you@JaumeMal-我很确定,在浏览器中无法通过编程方式获取信息。也许可以在服务器端获得它,但我不知道有什么方法可以做到。如果你问了一个新问题,请注意不要违反主题上/主题下的规则,要求社区为你找到一个图书馆。