缺少连字符

缺少连字符

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旁边的设置没有什么不同。示例文件:fil

\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没有延伸到边界框之外,就像在大多数衬线字体(以及无衬线字体)中发生的情况一样。

相关内容