我正在定义字体中缺失字形的回退,部分内容是基于@egreg 的回答这个问题。
这是一个 MWE(不要介意这里定义的实际替换没有多大意义):
\documentclass{article}
\usepackage{microtype}
\usepackage{fontspec}
\usepackage{newunicodechar}
\newfontfamily\pagella{TeX Gyre Pagella}[
Ligatures={TeX}]
\newunicodechar{Ḍ}{%
\pagella{Ḍ}%
}
\DeclareCharacterInheritance
{ encoding = {EU1,EU2,TU},
family = {LatinModernRoman} }
{ D = {Ḍ,\pagella{Ḍ}}}
\begin{document}
Ḍ
\end{document}
只要使用 Pagella 打印 Ḍ,这种方法就行得通,但我无法判断microtype
它是否也应该为该字符应用 Latin Modern 字体设置。虽然我使用了\DeclareCharacterInheritance
,但仍然收到以下错误消息:
Package microtype Warning: Unknown slot number of character
(microtype) `Ḍ (= \pagella {Ḍ})'
(microtype) in font encoding `TU' in inheritance list
(microtype) `mt-LatinModernRoman.cfg/105(protrusion)'.
(我尝试了不同的变体\DeclareCharacterInheritance
,但都没有起作用)。