帮助直行 RTL 文本(波斯语/波斯语和英语)

帮助直行 RTL 文本(波斯语/波斯语和英语)

我正在尝试创建一个交错波斯语和英语的直行文本,但遇到了几个问题:1) 它的直行部分似乎可以工作,但实际的波斯语文本没有显示(下图中方框的中间一行)。2) “自由翻译”将英文文本更改为波斯语字符。 波斯语直行对照示例

我正在使用 TexWorks 和 XeLaTeX。谢谢!

% !TEX TS-program =XeLaTeX
% !TEX encoding = UTF-8

\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{farsi}

\usepackage{fontspec}
\newfontfamily\englishfont[Mapping=tex-text]{Latin Modern Roman}
\newfontfamily\farsifont{Pars Ziba - Draft}

\usepackage{xepersian}
\settextfont{Pars Ziba - Draft}
\setlatintextfont{Latin Modern Roman}

\usepackage{expex}
\lingset{everygla=\englishfont\beginL\footnotesize\it, everyglc=\englishfont\beginL\footnotesize}

\begin{document}

\begin{farsi}
\ex [everyglft=\englishfont\beginL\footnotesize\sc]
\begingl
\gla dar ebtedâ Khodâ âsemân-hâ vah zamin râ .âfarid //
\glb در ابتدا، خدا آسمانها و زمین‌ را آفرید //
\glc In beginning God heavens and earth {*} created//
\glft
In the beginning God created the heavens and the earth.//
\endgl\xe
\end{farsi}

\end{document}

答案1

为了能够polyglossia正确地在字体之间切换,您应该指定每种字体将使用的脚本。添加Script=Arabic波斯语字体的选择对我来说解决了这个问题。有关更多信息,请参阅polyglossia 手动的

这是我的代码版本,虽然我没有安装您的字体,所以我使用了 Times New Roman 和 Arial。这意味着我不能排除您使用的波斯语字体可能存在的问题。

对于您的自由翻译,因为它是英语,所以您应该polyglossia通过使用 来表达这一点\textenglish{...}

% !TEX TS-program =XeLaTeX
% !TEX encoding = UTF-8

\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{farsi}

\usepackage{fontspec}
\newfontfamily\englishfont[Script=Latin,Mapping=tex-text]{Times New Roman}
\newfontfamily\farsifont[Script=Arabic]{Arial}

\usepackage{xepersian}
\settextfont{Arial}
\setlatintextfont{Times New Roman}

\usepackage{expex}
\lingset{everygla=\englishfont\beginL\footnotesize\it, everyglc=\englishfont\beginL\footnotesize}

\begin{document}

\begin{farsi}
\ex [everyglft=\englishfont\beginL\footnotesize\sc]
\begingl
\gla dar ebtedâ Khodâ âsemân-hâ vah zamin râ .âfarid //
\glb در ابتدا، خدا آسمانها و زمین‌ را آفرید //
\glc In beginning God heavens and earth {*} created//
\glft
\textenglish{In the beginning God created the heavens and the earth.}//
\endgl\xe
\end{farsi}

\end{document}

这是我得到的输出: 波斯语示例

答案2

我建议查看 ArabTeX 包,而不是直接输入 polyglossia。它具有从同一来源创建音译和阿拉伯语原文的巨大优势。文档中有行间文本的示例。

相关内容