![阿拉伯语文本将使用多语种设置主语言 (setmainlanguage) 来显示,但不会使用其他语言 (setotherlanguage) 来显示](https://linux22.com/image/416868/%E9%98%BF%E6%8B%89%E4%BC%AF%E8%AF%AD%E6%96%87%E6%9C%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E5%A4%9A%E8%AF%AD%E7%A7%8D%E8%AE%BE%E7%BD%AE%E4%B8%BB%E8%AF%AD%E8%A8%80%20(setmainlanguage)%20%E6%9D%A5%E6%98%BE%E7%A4%BA%EF%BC%8C%E4%BD%86%E4%B8%8D%E4%BC%9A%E4%BD%BF%E7%94%A8%E5%85%B6%E4%BB%96%E8%AF%AD%E8%A8%80%20(setotherlanguage)%20%E6%9D%A5%E6%98%BE%E7%A4%BA.png)
根据标题,我可以使用 polyglossia 的 \setmainlanguage 显示阿拉伯语文本(从左到右),但不能使用 \setotherlanguage 或 \setotherlanguages 在正文中显示阿拉伯语文本 - 内联,切换到阿拉伯语脚本可以正确显示,但这不适合文本正文,因为它保持了从左到右的对齐方式。我正在使用 XeLaTeX。文本块显示为一系列方块,就像字体缺少字符时一样,并17 Error| Missing number, treated as zero.
出现错误。使用 \setmainlanguage,一切都按预期工作。工作 \setmainlanguage 的 MWE:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures={TeX,Common},PunctuationSpace=0,Numbers={OldStyle,Proportional},Numbers={Proportional},SlantedFeatures={FakeSlant=0.25},BoldSlantedFeatures={FakeSlant=0.25},SmallCapsFeatures={FakeSlant=0}]{Libertinus Serif}
\usepackage{polyglossia}
\setdefaultlanguage{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic,ItalicFont=*,Scale=1.75]{Scheherazade}
\begin{document}
\tableofcontents
\section[short foobar]{long fooooobar}
الديباجة
لما كان الاعتراف بالكرامة المتأصلة في جميع أعضاء الأسرة البشرية وبحقوقهم المتساوية الثابتة هو أساس الحرية والعدل والسلام في العالم.
ولما كان تناسي حقوق الإنسان وازدراؤها قد أفضيا إلى أعمال همجية آذت الضمير الإنساني، وكان غاية ما يرنو إليه عامة البشر انبثاق عالم يتمتع فيه الفرد بحرية القول والعقيدة ويتحرر من الفزع والفاقة.
ولما كان من الضروري أن يتولى القانون حماية حقوق الإنسان لكيلا يضطر المرء آخر الأمر إلى التمرد على الاستبداد والظلم.
ولما كان من الجوهري تعزيز تنمية العلاقات الودية بين الدول،
ولما كانت شعوب الأمم المتحدة قد أكدت في الميثاق من جديد إيمانها بحقوق الإنسان الأساسية وبكرامة الفرد وقدره وبما للرجال والنساء من حقوق متساوية وحزمت أمرها على أن تدفع بالرقي الاجتماعي قدماً وأن ترفع مستوى الحياة في جو من الحرية أفسح.
\end{document}
\setotherlanguage 不起作用的 MWE:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures={TeX,Common},PunctuationSpace=0,Numbers={OldStyle,Proportional},Numbers={Proportional},SlantedFeatures={FakeSlant=0.25},BoldSlantedFeatures={FakeSlant=0.25},SmallCapsFeatures={FakeSlant=0}]{Libertinus Serif}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{arabic}
\newfontfamily\arabicfont[Script=Arabic,ItalicFont=*,Scale=1.75]{Scheherazade}
\begin{document}
\tableofcontents
\section[short foobar]{long fooooobar}
some english text
\begin{arabic}
الديباجة
لما كان الاعتراف بالكرامة المتأصلة في جميع أعضاء الأسرة البشرية وبحقوقهم المتساوية الثابتة هو أساس الحرية والعدل والسلام في العالم.
ولما كان تناسي حقوق الإنسان وازدراؤها قد أفضيا إلى أعمال همجية آذت الضمير الإنساني، وكان غاية ما يرنو إليه عامة البشر انبثاق عالم يتمتع فيه الفرد بحرية القول والعقيدة ويتحرر من الفزع والفاقة.
ولما كان من الضروري أن يتولى القانون حماية حقوق الإنسان لكيلا يضطر المرء آخر الأمر إلى التمرد على الاستبداد والظلم.
ولما كان من الجوهري تعزيز تنمية العلاقات الودية بين الدول،
ولما كانت شعوب الأمم المتحدة قد أكدت في الميثاق من جديد إيمانها بحقوق الإنسان الأساسية وبكرامة الفرد وقدره وبما للرجال والنساء من حقوق متساوية وحزمت أمرها على أن تدفع بالرقي الاجتماعي قدماً وأن ترفع مستوى الحياة في جو من الحرية أفسح.
\end{arabic}
some more english text \textarabic{بِكُلِ تَأْكِيد}
\end{document}
感谢您的阅读以及您的时间和考虑。