我有这个用 xelatex 编译的代码。
\documentclass[a4paper]{article}
\usepackage{polyglossia}
\newfontfamily{\armenianfont}{DejaVu Serif}
\setmainlanguage{armenian}
\begin{document}
հայերեն english
$հայերեն english հայերեն$
\end{document}
里面的亚美尼亚语单词$$
不会出现在生成的 PDF 文件中。
我该如何纠正这个问题?
答案1
您必须定义一个符号字体并为亚美尼亚字母分配一个数学代码。
以下是可以执行的操作;代码必须位于命令之后,这一点很重要\newfontfamily
。您可以使用另一种字体,只要它具有所需的字形即可。最好的方法可能是使用完全不同的名称,也许指向相同的字体:
\documentclass[a4paper]{article}
\usepackage{polyglossia}
\newfontfamily{\armenianfont}{DejaVu Serif}
\newfontfamily{\armenianmathfont}{DejaVu Serif}
\ExplSyntaxOn
\DeclareSymbolFont{armenianletters}{\g_fontspec_encoding_tl}{\l_fontspec_family_tl}{m}{it}
\int_step_inline:nnnn { "531 } { 1 } { "556 }
{
\Umathcode #1 = "0 \symarmenianletters #1 % low level call
}
\int_step_inline:nnnn { "561 } { 1 } { "587 }
{
\Umathcode #1 = "0 \symarmenianletters #1
}
\ExplSyntaxOff
\setmainlanguage{armenian}
\begin{document}
Text: հայերեն english
Math: $հայերեն english հայերեն^2$
\end{document}