如何添加我自己的连字符

如何添加我自己的连字符

我想在 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文件位于同一目录中,则这将是输出

在此处输入图片描述

相关内容