阿拉伯语多语制不考虑强调和斜体

阿拉伯语多语制不考虑强调和斜体

我正在用阿拉伯语写一本关于概率的书,我正在使用以下命令

\usepackage{polyglossia}
\setmainlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic]{Traditional Arabic}

使用此包,命令\emph\textit无效,也就是说,它留下罗马字。我该如何修复这个问题?

以下是一个例子:

\documentclass[a4paper]{book}
\usepackage[dvips]{graphicx}
\usepackage{boxedminipage}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{rotating}
\usepackage{fmultico}
\setlength{\columnseprule}{0.1pt}
\usepackage{polyglossia}
\setmainlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic]{Traditional Arabic}
\begin{document}
\hfill\LR{A sample of probabilistic arabic text}
نهتم، في كثير من الأحيان، بتحديد عدد 
\emph{المجموعات المختلفة} المتكونة من $r$
عنصر، التي يمكن تشكيلها من مجموعة فيها $n$ عنصر.
\end{document}

答案1

如果你要使用“传统阿拉伯语”字体,根据评论,该字体似乎没有斜体/倾斜版本,您可以使用以下两种替代方法之一来解决该问题:

  • 一种是使用AutoFakeSlant字体定义中的特性,因此:

    \newfontfamily\arabicfont[Script=Arabic, AutoFakeSlant=-0.15]{Traditional Arabic}
    

    顾名思义,它会采用常规直立字母并自动使其倾斜(我认为是使用简单的变换)。

  • 另一种方法是使用具有倾斜版本的其他字体。这样,传统阿拉伯语将用于直立字母,并且无论何时使用\emph\textit fontspec都将选择其他字体。请注意,倾斜版本的阿拉伯语字体通常在字体名称后有ItalicSlanted。要使用此方法,请定义字体系列如下:

    \newfontfamily\arabicfont[Script=Arabic, ItalicFont=AnotherArabicFont Slanted]{Traditional Arabic}
    

我认为第一种方法可能更好,因为找到另一种字体在排版上足够相似的字体可能真的很棘手。我用第一种方法来论文:我的主要希伯来语字体没有倾斜版本(粗俗希伯来语没有斜体,但有人尝试为特定字体设计“类似斜体”的字母形式),因此我使用AutoFakeSlant来获得倾斜的版本,以引用其他作品的标题(参见'霍比特人' 用英语)。它工作正常。请注意,对于阿拉伯语和希伯来语,都应该使用负因子(我发现这是-0.15一个合理的选择),因为它们是用 RTL 编写的,而 LTR 脚本应该使用正因子。

如果您需要粗体版本,您可以使用这些并行功能:

  • AutoFakeBold=1.5(当然,你可以改变这个因素),并且
  • BoldFont=AnotherArabicFont Bold+ BoldItalicFont=AnotherArabicFont Bold Italic

答案2

总体而言,我不建议在阿拉伯语中使用粗体和倾斜来强调:它们在阿拉伯语中效果不佳,尤其是倾斜,它并不总是那么明显,而且与阿拉伯语排版传统完全格格不入。(尽管我自己的 Amiri 字体有它们,但它们的存在是为了避免 GUI 应用程序合成的假粗体和倾斜,这些效果非常差,在许多情况下会直接破坏字体。)传统上,强调是使用不同的书法风格来完成的,例如使用 Nastaliq 来强调正文中的 Naskh,或者使用看起来更粗的其他字体,或者使用上划线或不同的颜色等。所以我建议您根据要设置的文本的性质采用其中一种技术。

相关内容