
我有這個用 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}