我有很多使用特定字体的打印内容,并且我正在尝试使用 latin-extended-a 字符集扩展本地化,但我使用的字体不支持它(它是 TTF - 使用 fontspec 和 XeLaTeX)。
当然,找到类似的字体是一种备用选项,但我想知道是否可以使用某种启发式或最佳拟合猜测让 TeX 在字体上绘制重音符号?
类似于H\={e}llo
但对于没有 ē 的字体 - 所以也许H\fit={e}llo
-like 命令可用?
干杯,
答案1
虽然我\fit
按照 OP 的建议进行定义,但将其纳入\fit
针对口音定制的宏中可能会更容易(如\macron
和所示\umlaut
)。
\documentclass{article}
\usepackage{stackengine}
\newcommand\fit[3][.3ex]{\stackengine{#1}{#3}{#2}{O}{c}{F}{T}{S}}
\newcommand\macron[1]{\fit{\kern-.2ex\_}{#1}}
\newcommand\umlaut[1]{\fit{\kern-.05ex.\kern-.15ex.}{#1}}
%\let\=\macron
%\let\"\umlaut
\begin{document}
H\=ello H\macron ello
\"Apfel \umlaut Apfel
\Huge
H\=ello H\macron ello\par
\"Apfel \umlaut Apfel
\end{document}
如果您确实不需要原始定义(因为它们在您的字体中不起作用),您可以使用这些前言声明重新定义原始定义:
\let\=\macron
\let\"\umlaut