如何确定字体的部分高度

如何确定字体的部分高度

我想确定字体的高度。

例子

\f@size给出了线条的总高度。这应该是从顶部线条到底部的线条。我如何确定顶部和 2(粗)之间的长度以及 3 和底部之间的长度?因为它们不必相同。我尝试\advance by -1ex除以 2,但这没有按预期工作(准确)。

答案1

calc数据包中,可以使用命令\heightof\depthof。为了清楚起见,我使用长度来表示所有距离,并\Epheightdiff给出了 E 和 p 之间的高度差。

\documentclass{article}
\usepackage{xcolor}
\usepackage{calc}
\newlength\Eheight
\newlength\pheight
\newlength\pdepth
\newlength\Epheightdiff
%%
\begin{document}
\setlength\Eheight{\heightof{E}}
\setlength\pheight{\heightof{p}}
\setlength\pdepth{\depthof{p}}
%%
\setlength\Epheightdiff{\Eheight-\pheight}

\noindent
\rlap{\textcolor{green}{\rule{3em}{0.2pt}}}%
\raisebox{\pheight}{\textcolor{yellow}{\rlap{\rule{3em}{\Epheightdiff}}}}%
\raisebox{\Eheight}{\textcolor{red}{\rlap{\rule{3em}{0.2pt}}}}%
\raisebox{\pheight}{\textcolor{blue}{\rlap{\rule{3em}{0.2pt}}}}%
\raisebox{-\pdepth}{\textcolor{cyan}{\rlap{\rule{3em}{0.2pt}}}}%
Ep

\end{document}

在此处输入图片描述

答案2

\f@size与字体设计师指定的标称字体大小有关,与字体内可测量的任何长度无关。

假设 etex 您可以通过以下方式找到任何字符的高度和深度(例如p

\fontcharht \font `\p

\fontchardp \font `\p

ETC

相关内容