答案1
如果我正确理解了你的问题,你要求的是一个 Unicode 不间断空格 (U+00A0} 和上面的组合 maddah (U+0653)。
以下是 LuaLaTeX 中的解决方案:
\documentclass{article}
\tracinglostchars=3
\usepackage[bidi=basic, layout=sectioning.tabular, english]{babel}
\usepackage{unicode-math}
\usepackage{microtype}
\defaultfontfeatures{ Scale=MatchLowercase, Ligatures=TeX }
\babelprovide[import=ar, onchar=fonts ids]{arabic}
\babelfont{rm}
[Ligatures=Common, Scale=1.0]{Libertinus Serif}
\babelfont{sf}
[Ligatures=Common]{Libertinus Sans}
\babelfont{tt}
{Libertinus Mono}
\babelfont[arabic]{rm}
{Amiri}
\setmathfont{Libertinus Math}
\newcommand\spacingmaddah{\foreignlanguage{arabic}{^^^^00a0^^^^0653}}
\begin{document}
Hello Maddah, {\spacingmaddah}
Hello Faddah. ٓ
\end{document}
您可以根据自己的喜好更改字体和默认语言。
在 XeLaTeX 中,只需进行少量修改,它基本上就可以正常工作。 bidi=basic
需要将 改为bidi=default
,并且您需要删除\usepackage{microtype}
和onchar=fonts ids
。缺点是文档在遇到阿拉伯文字时将不再自动切换到阿拉伯字体和连字符。您需要在任何地方放置\foreignlanguage{arabic}
和\begin{otherlanguage}{arabic}
标签。
答案2
有多种方法可以在 LaTeX 中处理阿拉伯语。由于您正在使用该xetex
引擎,您可能会喜欢这个arabxetex
包:
\documentclass[12pt]{article}
\usepackage{arabxetex}
\newfontfamily\arabicfont[Script=Arabic]{Amiri}
\begin{document}
This is \textit{maddah:} \textarab[utf]{ٓ}
\end{document}
(不幸的是,代码显示得不太清楚,至少在我的浏览器使用的字体中不是这样,其中伊斯兰教看起来像是 上的污迹}
。解释一下,在 之间,{}
我U+0653
使用接受此类输入的编辑器简单地输入了 。尽管显示存在问题,但您应该能够复制和粘贴我的代码。)