字符左垂直对齐

字符左垂直对齐

在下面的 MCE 中,字符不是从同一条(左)垂直线开始的(看“T”的水平规则)。

\documentclass{article}
\usepackage[showframe]{geometry}
\ifpdftex
\usepackage{lmodern}
\else
\usepackage{fontspec}
\setmainfont{Latin Modern Roman}
\addfontfeature{Kerning=Off}
\fi
\usepackage{pagegrid}
\begin{document}
\parindent=0pt\sffamily\Huge%
L

E

I

T
\end{document}

在此处输入图片描述

我想知道它是否来自字体的某些字距调整,但如果是这样,则fontspec'sKerning=Off选项没有任何效果。

  • 您知道为什么字符不从同一条(左)垂直线开始以及如何强制这样做吗?
  • 附带问题:左边距和字符之间的这个小空间是什么?换句话说,为什么文本不从文本区域的最左边开始?

答案1

在 TeX 看来,字母只是一个具有宽度、高度和深度的框。实际的字形不一定包含在框中,也不一定完全填满框。

\documentclass{article}

\usepackage{color}
\newcommand*{\foo}[1]{%
   \begingroup
   \sbox0{#1}%
   \fboxsep=-0.1pt
   \fboxrule=0.1pt
   \textcolor{red}{%
      \fbox{\copy0}%
      \llap{\vrule width\wd0 height.1pt}%
   }%
   \endgroup
}

\begin{document}
\foo{f} \foo{E} \foo{I} \foo{T} \foo{A} \foo{Q}

\sffamily
\foo{f} \foo{E} \foo{I} \foo{T} \foo{A} \foo{Q}
\end{document}

在此处输入图片描述

您会看到,无衬线字体中的大写字母E和的左侧空间比大写字母 更大。我认为字体文件不包含有关此类“填充”的任何信息,因此我担心没有自动方法来纠正此问题。IT

相关内容