我正在尝试将长度设置为标题的高度。我有以下代码片段。
% heading height
\settoheight{\headingh}{\Huge{\textbf{\heading}}}
\centering\Huge\textbf{\heading}\rule{0.1mm}{\headingh}
其结果如下。
如您所见,字母比规则略高。如果我在规则上运行 \settoheight,则结果长度与 \headingh 长度相同。
这是一个最小可重现的示例。
\documentclass[11pt]{article}
\usepackage[scaled]{helvet}
\renewcommand*\familydefault{\sfdefault}
\usepackage[T1]{fontenc}
\newlength{\headingh}
\begin{document}
\settoheight{\headingh}{\Huge\textbf{A}}
\Huge\textbf{A}\rule{0.1mm}{\headingh}
\end{document}
我使用了与原始字体相同的字体,但即使使用默认字体(即注释掉第 2-4 行)也会出现相同的效果。
答案1
这是字体设计师的选择,每个字符的高度深度和宽度是指定的在字体度量中,它们不是根据字符的可见形状来测量的。pdftex 没有关于哪些像素是黑色、哪些是白色的信息,每个字符只是一个矩形。