希伯来字体字符未在 \caption 命令中呈现

希伯来字体字符未在 \caption 命令中呈现

我正在使用 FreeBSD 平台上 TeXLive 2015 安装中的 polyglossia 包。

以下是我序言中的相关代码:

% !TEX TS-program = xelatex
% !TEX encoding = UTF-8
\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\setmainfont{Cardo}
\setsansfont{Noto Sans}
\usepackage{polyglossia}
\setdefaultlanguage[variant=american]{english}
\setotherlanguages{greek,hebrew}
% this is a hack in an attempt to get around a polyglossia bug
% read about it here: http://tex.stackexchange.com/questions/39262/polyglossia-and-minted-the-current-roman-font-does-not-contain-the-hebrew-scri
\let\hebrewfontsf\sffamily

我的文档中的所有内容都呈现得很好,直到我得到这个:

\caption{\label{table3}\makebox[5.3in][l]{\texthebrew{דּברה} Forms and Corresponding Usages}}

这属于 \table 的范围。标题在 PDF 中显示如下:

Table 3: ���� Forms and Corresponding Usages

其中问号符号在我的 PDF 查看器中实际上是空框,但应该是希伯来字符,如 \texthebrew 命令中所示。

该文件的其他地方有这样的标题:

\caption{\label{table2}\makebox[5.3in][l]{\textgreek{τάξις} Forms and Corresponding Usages}}

这使得希腊字符能够正常显示:

Table 2: τάξις Forms and Corresponding Usages

对于带有希伯来语单词的 \caption,抄本显示如下:

Missing character: There is no דּ in font Noto Sans Bold/OT:script=latn; language
=DFLT;mapping=tex-text;mapping=tex-text;!
Missing character: There is no ב in font Noto Sans Bold/OT:script=latn;language
=DFLT;mapping=tex-text;mapping=tex-text;!
Missing character: There is no ר in font Noto Sans Bold/OT:script=latn;language
=DFLT;mapping=tex-text;mapping=tex-text;!
Missing character: There is no ה in font Noto Sans Bold/OT:script=latn;language
=DFLT;mapping=tex-text;mapping=tex-text;!

但是,如果我想尝试另一种字体来消除对粗体无衬线希伯来字符的任何疑虑,请在序言中添加以下行:

% \newfontfamily\hebrewfont{Noto Sans Hebrew}

并不能解决问题,并且会破坏上述标题以外位置的希伯来语单词的呈现。

任何想法如何解决这一问题?

谢谢。

答案1

Florian 的观察是正确的。更改此内容:

\setsansfont{Noto Sans}

更改为:

\setsansfont{Liberation Sans} % or some other sf font with Hebrew glyphs

解决了问题。

相关内容