在下面的 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
和的左侧空间比大写字母 更大。我认为字体文件不包含有关此类“填充”的任何信息,因此我担心没有自动方法来纠正此问题。I
T