xelatex 损坏:如何在 mactex 2011 中恢复阿拉伯元音?

xelatex 损坏:如何在 mactex 2011 中恢复阿拉伯元音?

我从 2009 升级到 mactex 2011,使用阿拉伯语时,xelatex(XeTeX,版本 3.1415926-2.3-0.9997.5(TeX Live 2011))不再产生相同的输出。pdf 输出中缺少元音(阿拉伯语中称为 harakaat)。它们以前在 mactex 2009 中显示正常,但在 2011 中不再显示。任何帮助我都会很感激。这是一个最小的例子。

\documentclass{article}
\usepackage{fontspec}
\usepackage{arabxetex}
\usepackage{fullpage}

\newfontinstance\farsifont[Script=Arabic,Scale=1.6,WordSpace=2]{mylotus}
\newfontinstance\arabicfont[Script=Arabic,Scale=1.6,WordSpace=2,Mapping=arabicdigits]{mylotus}
\setromanfont[Mapping=tex-text]{Verdana}

\begin{document}
\begin{enumerate}
\item{There are many languages in the world.\\
\textarab{في العالمِ لغةٌ كثيرةٌ.}\\
}
\end{enumerate}
\end{document}

编辑:

这是示例的实际输出:

实际产量

此输出显示缺失的元音:

代码的预期输出

另外,xelatex 编译的日志是http://pastebin.com/raw.php?i=9Hraw83d

答案1

似乎你必须告诉arabxetex你你正在直接输入 Unicode 阿拉伯字符。使用

\textarab[utf]{في العالمِ لغةٌ كثيرةٌ.}

给出所需的输出(另见使用阿拉伯文字排版文档)。


或者,由于您不使用的拉丁输入编码功能arabxetex,您可以使用polyglossia

\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}

\setmainlanguage{english}
\setotherlanguage{arabic}

\newfontfamily\arabicfont[Script=Arabic,Scale=1.6,WordSpace=2,Mapping=arabicdigits]{Scheherazade}
\setromanfont[Mapping=tex-text]{Linux Libertine O}

\begin{document}
\begin{enumerate}
\item
    There are many languages in the world.\\
    \textarabic{في العالمِ لغةٌ كثيرةٌ.}
\end{enumerate}
\end{document}

结果

相关内容