我正在尝试将德语尖音 s (Eszett) 的默认样式重新映射到另一个 Linux libertine。这在添加时有效
U+00DF <> U+E04C
到 tex-text.map(并编译此映射文件)。问题是这有副作用,小写尖锐 s 也被 U+E04C 替换,而它应该保留为 U+E092(Linux Libertine 私有区域中的小写德语尖锐 s)。
有人能帮助我实现这个目标吗?
提前谢谢了
雷纳
答案1
您不应该修改标准tex-text.map
。相反,将更改添加到新文件(我将其命名为change-ss.map
)并在此文件上运行teckit_compile
。
然后,您可以将其加载为主字体,并为小型大写字体传递不同的选项。
\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{}
\setmainfont{Linux Libertine O}[
Mapping=change-ss,
SmallCapsFont={Linux Libertine O},
SmallCapsFeatures={Mapping=tex-text,Letters=SmallCaps},
]
\begin{document}
This is a ß
\textsc{This is a ß}
\end{document}