![如何强制使用正常的“s”以及如何在使用哥特式字体时抑制连字?](https://linux22.com/image/301222/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%B8%B8%E7%9A%84%E2%80%9Cs%E2%80%9D%E4%BB%A5%E5%8F%8A%E5%A6%82%E4%BD%95%E5%9C%A8%E4%BD%BF%E7%94%A8%E5%93%A5%E7%89%B9%E5%BC%8F%E5%AD%97%E4%BD%93%E6%97%B6%E6%8A%91%E5%88%B6%E8%BF%9E%E5%AD%97%EF%BC%9F.png)
我想为一些标题使用哥特式字体,但“s”字符看起来更像“f”,这有时会让它很难阅读。我知道这是意味着看起来像那样,但是根据字体目录,也应该有一个正常的“s”可用。
但是我如何强制使用那个“s”而不是看起来像“f”的“s”?
梅威瑟:
\documentclass{standalone}
\usepackage{yfonts}
\begin{document}
\gothfamily
The quick fox jumps over the sleazy dog
\end{document}
但它在字体目录中的样子如下(请注意“jumps”中的“s”):
另外,有没有办法避免连字?我希望将“dog”写成“d og”,因为否则有点难以阅读。
答案1
Yiannis Haralambous 设计的哥特式字体旨在重现旧式德语印刷术,该印刷术带有多种连字。选择长 s 和短 s 的问题很难自动解决,因为它不仅取决于上下文,而且当涉及复合词时,对单词片段的了解也是必要的。
因此,在两种变体之间进行选择的方法是手动的:输入s
一个“长 s”和s:
一个短 s。
如果您需要避免连字,请\/
在字母之间添加(但这会妨碍连字符)。
\documentclass[border=2]{standalone}
\usepackage{yfonts}
\begin{document}
\gothfamily
The quick fox jumps: over the sleazy d\/og
\end{document}
根据具体情况,\kern0pt
可能比\/
(添加斜体校正) 更好。对于ygoth
字体来说,这个问题无关紧要,因为只有 en-dash 和 em-dash 具有非零斜体校正。
仅供参考。字体定义了成对或三元组的连字符
(短 s)(长 s) (短 s)t (短 s)(短 s) (短 s)(短 s) (短 s)i
ae
be ba bo
ch ck ct
da de do
ha he ho ij
ff fi fl ffi ffl
ll
pa pe po pp
qq qz
(长 s)(长 s) (长 s)t (长 s)z
oe
tz
va ve vu
其他连字符包括
s:
短 s
"a
"e
"o
"u
带变音符号的元音
"s
es-zet
这是测试文档:
\documentclass[border=8,varwidth]{standalone}
\usepackage{yfonts}
\begin{document}
\gothfamily
s:s s:t s:s s:si\par
ae\par
be ba bo\par
ch ck ct\par
da de do\par
ha he ho ij\par
ff fi fl ffi ffl\par
ll\par
pa pe po pp\par
qq qz\par
ss st sz\par
oe\par
tz\par
va ve vu\par
"a "e "o "u "s
\end{document}
答案2
另外,有没有什么办法可以防止连字?
如果你可以运行 LuaLaTeX 而不是 pdfLaTeX,那么你可以使用塞尔诺利格包,用于在文档范围内抑制连字。该包主要设计用于让人们抑制连字选择性地。但是,它也可以用于全局抑制连字。(全面披露:我是该selnolig
软件包的主要作者。)
例如,如果您想要抑制文档中所有位置的所有 、 和 连字符,您可以通过提供以下语句来实现(当然,首先要加载da
之后de
):do
selnolig
\holig{d[aeo]}{d|a}
此处,字符|
表示应抑制连字符(或在本例中为三个连字符中的任何一个)的位置。请注意类似正则表达式的语法,它允许一条连字符抑制规则抑制三单独的连字符。
下面的截图显示了两行输出——第一行启用了连字抑制,第二行关闭了连字抑制。
% !TEX TS-program = lualatex
\documentclass[border=2, preview]{standalone}
\usepackage{fontspec}
\usepackage{yfonts}
\usepackage{selnolig} % load package *without* a language option
\nolig{d[aeo]}{d|x} %% set up a ligature suppression rule
\begin{document}
\gothfamily
day den dog
\selnoligoff % turn off selnolig's algorithms
day den dog
\end{document}