我想在 xelatex 中添加一个来自 otf 字体的字符作为连字符。'łł' = '字体中的某个字符编号' 如何实现?如何让 xelatex 知道这个字符是两个字母 'ł' 和 'ł' 的连字符
答案1
在你的系统上找到该文件tex-text.map
,并将其复制到工作目录中,名称为bardzo.map
(或你想要的任何名称)。然后在其中添加一行,如下所示
; TECkit mapping for TeX input conventions <-> Unicode characters
LHSName "TeX-text"
RHSName "UNICODE"
pass(Unicode)
; ligatures from Knuth's original CMR fonts
U+002D U+002D <> U+2013 ; -- -> en dash
U+002D U+002D U+002D <> U+2014 ; --- -> em dash
U+0027 <> U+2019 ; ' -> right single quote
U+0027 U+0027 <> U+201D ; '' -> right double quote
U+0022 > U+201D ; " -> right double quote
U+0060 <> U+2018 ; ` -> left single quote
U+0060 U+0060 <> U+201C ; `` -> left double quote
U+0021 U+0060 <> U+00A1 ; !` -> inverted exclam
U+003F U+0060 <> U+00BF ; ?` -> inverted question
; additions supported in T1 encoding
U+002C U+002C <> U+201E ; ,, -> DOUBLE LOW-9 QUOTATION MARK
U+003C U+003C <> U+00AB ; << -> LEFT POINTING GUILLEMET
U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
; additions by Bardzo
U+0142 U+0142 <> U+019C ; łł -> LATIN CAPITAL LETTER TURNED M
当然,您可以使用所选字符的代码,而不是 U+019C。
然后运行
teckit_compile bardzo.map
这将创建一个名为的文件bardzo.tec
。这是一个测试文件:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Heuristica}[Mapping=bardzo]
\begin{document}
``This is an exampłe of `łł' that's transformed.''
\end{document}
如果bardzo.tec
文件位于同一目录中,则这将是输出