我有一种40像素的字体,我正在尝试将其转换为自定义图像。我正在尝试完全匹配图像的大小,但是在获取正确大小时遇到了一些问题。基本上,归结为这个。当字体说是X像素时,这在物理上是什么意思?
我有一种40像素的字体,我正在尝试将其转换为自定义图像。我正在尝试完全匹配图像的大小,但是在获取正确大小时遇到了一些问题。基本上,归结为这个。当字体说是X像素时,这在物理上是什么意思?
Answers:
ASCII时间!假设下面的两个盒子是1900年左右的铅类型。那时,字体是用铅铸成的(或用木头制成的)。为了将类型设置为打印锁定,必须将其连接到实体块。这是类型的维数(以磅为单位)来自:
+--------------+ +-------------+ <----+
| | | | |
| XX | | | |
| X X | | | |
| XX XX | | | |
| XX XX | | X |
| XXXXXX | | X X | Point size of the type
| XX XX | | XXX |
| XX XX | | X X | |
| XX XX | | X X | |
| XX XX | | | |
| | | | |
+--------------+ +-------------+ <----+
请注意,上面两个字母的大小不同,但是它们的边界框相同。这样,就点而言,这两种字体的大小相同。
如今,我们生产的铅和木材种类不多,大多数是数字化的。但是,点大小调整的概念仍然存在,因为存在一个虚拟框,该虚拟框对于放置该类型的每个字母都具有相同的高度。同样,这是一个虚拟框,用于定义点的大小,而不是字母形状本身的物理尺寸。字母的实际大小通常小于点的大小(但也可以更大)。
因此,无法测量像素类型,但是,您可以在CSS等中“设置”像素类型。浏览器会尽最大可能在声明的px大小之间进行转换。但这总是一个模糊的估计。
最终,没有一种准确的方法来获得两个完全相同大小的字体字母,而不能目视观察它们并更改每个字体的大小,直到您看到它们的大小相同为止。
字体的“字体大小”是指字体的“高度”,它不一定与字体中特定字符的高度相同。
通常,字体的em高度遵循相同的基本思想-粗略地将其设置为从最低的降序数(例如字母的底部g
)到最高的降序数(例如字母的顶部)之间的距离h
:
如您所见,没有一个字母可以覆盖整个范围。
对于数字字体,字体的“ em height”是字体设计者的选择,而完全不必遵守这一约定:数字类型设计者可以为其em大小选择任何基础。但是,字体仍然倾向于至少在某种程度上遵循上述约定。在过去,当字体由金属块组成时,“ em height”是这些块之一的高度,不仅对于该字体中的任何字符,而且对于任何上升,下降和重音符号,都必须足够高。
现在,许多现代字体包含大写字母的口音太(如Ć
) -这些口音延长以外的传统印刷伸,因此,这些(以及可能的其他特殊字符)属于“EM”的外上方。出于历史原因,我们不会调整em大小以允许这些大小,我们会保留em大小,而只是将其扩展出来-使用此类重音符号的任何印刷者都需要确保有足够的空间来扩展它们,尽管通常情况下,线隙是正文充足。
的线间隙在正文中是左一行文本的下降部和它下面的线的上升器之间的空间-即,“字体大小”不包括此线间隙的测量。它会受到CSS字段的影响line-height
,其中1.4
表示行距是em高度的0.4倍,因此整个正文行将占em高度的1.4倍(包括行距)。在其他应用程序中,可以以不同的方式指定行距:字处理器通常以“单”行距的倍数来指定,但是与CSS不同,通常“单”行距并不意味着没有行距,而是一些“默认”行间隙,应用程序尝试根据字体文件中的元数据提出默认值。有多种用于指定字体度量的标准(例如,在Truetype中,存在不同的Mac和Windows / OS2标准),因此默认的行间距可以在应用程序和操作系统之间变化。
现在,即使设计师确实按照可预见的惯例约定了他们的身高,但这仍然无法告诉您大写字母的大小(大写字母高度)或大写字母的大小o
(x高度或中线),因为它们可能会有所不同字体之间相对于上升高度的自由度。在字体家族中,这些通常通常是一致的。因此,例如,Times New Roman Bold和Times New Roman Regular对于相同的em大小将具有相同的字符大小,其中应包括上升,下降,cap-height和x-height。
尝试输入竖线字符('|')并进行测量。如果我正确地复制了您的情况,并且您的抗锯齿效果并不太模糊,则应该为22px。
22px代表类型块的高度。但是每个字符填充块的方式都不同。“ g”或“ q”将占据该22px的下部区域,而大写字母和小写字母(如“ b”或“ d”)将占据上部。'|' 是唯一的(如果不是之一的唯一)字符,将完全填充的22px空间。
我不知道如何与CSS设置进行比较,但这说明了Photoshop如何解释文本高度。
|
)通常不会等于em尺寸。它甚至不在Microsoft核心字体(Arial,Georgia等)中执行此操作。
您确定您的字体以像素为单位吗?大多数时候,字体以磅为单位。点是1/72英寸。因此40磅字体的高度是40/72“或5/9”。踢脚线是从高个字母上的上升者的顶部到悬挂在基线以下的字母上的下降者的底部的尺寸。如上所述,这就是为什么有时使用x高度的原因。那是不粘上下的小写字母的高度。
无论哪种方式,不幸的是,这些测量永远不会精确。您只需进行一些测量和计算(和/或反复试验)即可完成您要尝试的工作。