在 arabtex 包中我发现了一个音译编码错误。每次我写带有 kasra 和 shadda 的字母时,它都会变成 fatha。
\documentclass[11pt]{scrartcl}
\usepackage{arabtex}
\begin{document}
\setarab
\centering
\large
\fullvocalize
\verb!sayyidinA!\quad \<\huge sayyidinA>\\\medskip
\verb!kulli!\quad \<\huge kulli>\\\medskip
\verb!.salli!\quad \<\huge .salli>
\end{document}
有人知道如何正确写吗?
答案1
你所观察到的不是一个编码错误,而是一个不太熟悉的印刷惯例:W. Wright 的阿拉伯语语法讨论了在埃及和其他地方书写shadda和kasra的不同方式(参见第三版,第1卷,第1部分,III.B,Rem.e)。
我不知道如何将arabtex
kasra 放到您期望的位置,但arabxetex
如果字体是这样设计的,那么就可以这样做。使用 xelatex 编译此代码:
\documentclass[12pt]{article}
\usepackage{arabxetex}
\newfontfamily\arabicfont[Script=Arabic]{Amiri}
\begin{document}
\centering\huge
\verb!sayyidinA!\quad \textarab[voc]{sayyidinA}
\bigskip
\verb!kulli!\quad \textarab[voc]{kulli}
\bigskip
\verb!.salli!\quad \textarab[voc]{.salli}
\end{document}
如果有人喜欢将 kasra 放在 shadda 之下(如arabtex
),而不是字母之下,则可以使用\newfontfamily\arabicfont[Script=Arabic,StylisticSet=5]{Amiri}
。正如 Joseph 所评论的那样,Scheherazade 将 kasra 放在 shadda 之下,Lateef 也是如此;与 Amiri 不同,他们似乎没有提供查找来控制这一点。