在 xelatex 中切换一个字符的字体

在 xelatex 中切换一个字符的字体

目前正在处理签名中带有马耳他十字字符 (U+2720) 的文本,而我为该文档使用的 EBGaramond 主字体未提供相应的字形。正如预期的那样,我在 xelatex 输出中最终得到了一个小正方形/矩形。

以下是我的文本编辑器中的内容:

… con el emblema de nuestra redención tu amigo—✠*Pedro Hillo*.

我想我需要暂时切换到具有 U+2720 字形的字体……显然不会引入额外的间距或换行符等。

我查看了该网站上的不同问题/答案,但没有找到解决方案。

使用 xelatex 可以实现这一点吗?如果可以,什么字体可以为马耳他十字提供好看的字形,最好是与 EBGaramond 的外观大致匹配的字体?

或者 xelatex 中是否有某种东西可以模拟 fontconfig 机制(在 linux 上),自动从兼容字体中提取缺失的字形?

谢谢。

答案1

定义合适的字体并映射字符以使用它。

\documentclass{article}
\usepackage{fontspec}
\usepackage{newunicodechar}

\setmainfont{EB Garamond}
\newfontface{\maltesecross}{TeX Gyre Pagella} % or whatever

\newunicodechar{✠}{{\maltesecross✠}}

\begin{document}

con el emblema de nuestra redención tu amigo—✠\emph{Pedro Hillo}.

\end{document}

在此处输入图片描述

答案2

在我的序言中添加了以下内容:

  \newfontfamily{\myfont}{TeXGyrePagella}

并将文档正文改为

… con el emblema de nuestra redención tu amigo—\myfont{✠}\textit{Pedro Hillo.}

我必须将马耳他十字“花括号化”,以避免使用 TeX Gyre Patella 处理文档的其余部分。

感谢您的帮助。

无国界记者组织

相关内容