MWE 是:
\documentclass{article}
\usepackage{avant}
\renewcommand*{\rmdefault}{\sfdefault}
\begin{document}
abcdefghijklmnopqrstuvwxyz
fi ff
\end{document}
我原本希望看到 fi 和 ff 的漂亮连字。但是没有成功。我尝试使用 helvet 包而不是 avant。我还尝试使用 latex 和 xelatex 进行编译。但是没有成功。
我需要做什么才能获得正确的连字符?
答案1
有连字,但不如衬线字体那么清晰。在我的 MWE 中,我展示了衬线和无衬线版本,包括带连字和不带连字的版本。您会发现无衬线字体的效果不是那么明显,但它确实存在:
% arara: lualatex
\documentclass{article}
\usepackage{avant}
\usepackage{lua-visual-debug}
\begin{document}
fi ff
f\/i f\/f
\sffamily
fi ff
f\/i f\/f
\end{document}
如果您不喜欢这些“连字”(实际上只是一些更紧密的字距调整),您必须与字体维护者联系或切换到其他字体。
答案2
字体不需要有连字符;例如,Hermann Zapf 的 Palatino 就没有通过设计。
与 TeX 一起分发的 AvantGarde 字体克隆(实际上是免费的 URW GothicL)在规范位置有连字,但它们看起来与、或f
旁边的设置没有什么不同。示例文件:f
i
l
\documentclass{article}
\usepackage{avant}
\renewcommand*{\rmdefault}{\sfdefault}
\begin{document}
\showoutput
fi ff
\end{document}
以下是文件中找到的内容.log
:
Completed box being shipped out [1]
\vbox(633.0+0.0)x407.0
.\glue 16.0
.\vbox(617.0+0.0)x345.0, shifted 62.0
..\vbox(12.0+0.0)x345.0, glue set 12.0fil
...\glue 0.0 plus 1.0fil
...\hbox(0.0+0.0)x345.0
..\glue 25.0
..\glue(\lineskip) 0.0
..\vbox(550.0+0.0)x345.0, glue set 539.94232fil
...\write-{}
...\glue(\topskip) 2.47511
...\hbox(7.52489+0.0)x345.0, glue set 316.68018fil
....\hbox(0.0+0.0)x15.0
....\OT1/pag/m/n/10 ^^L (ligature fi)
....\glue 2.7699 plus 1.6599 minus 0.65991
....\OT1/pag/m/n/10
(ligature ff)
....\penalty 10000
....\glue(\parfillskip) 0.0 plus 1.0fil
....\glue(\rightskip) 0.0
...\glue 0.0 plus 1.0fil
...\glue 0.0
...\glue 0.0 plus 0.0001fil
..\glue(\baselineskip) 22.62007
..\hbox(7.37993+0.0)x345.0, glue set 169.73004fil
...\glue 0.0 plus 1.0fil
...\OT1/pag/m/n/10 1
...\glue 0.0 plus 1.0fil
如您所见,选择了连字符的字符。另一方面,输入
\documentclass{article}
\usepackage{avant}
\renewcommand*{\rmdefault}{\sfdefault}
\begin{document}
\sbox0{fi}\texttt{\the\wd0}
\sbox0{f{}i}\texttt{\the\wd0}
\end{document}
印刷
因此,我们看到连字符fi
只是将i
稍微移近f
(0.27pt,略小于 0.1mm)。ff
和 也类似fl
。
在这种情况下,不需要制作“真正的”连字,这与 Palatino 的情况类似,因为曲线f
没有延伸到边界框之外,就像在大多数衬线字体(以及无衬线字体)中发生的情况一样。