如何启用阿拉伯语上下文花饰

如何启用阿拉伯语上下文花饰

我最近读到关于阿拉伯字体的上下文花饰的文章这里。他们已经展示了它的外观示例。我已经读过了问题,它帮助我设置了 MWE。这是一个快速的视觉解释,我希望实现右侧的效果:

阿拉伯正午花饰

以下是我的 MWE 值:

\documentclass{article}
\usepackage{fontspec}
\usepackage[paperheight=2cm, paperwidth=5cm, textheight=1cm, textwidth=2.5cm]{geometry}
\usepackage{polyglossia}

\setmainlanguage{arabic}
\fontspec[Scale=3.5, Script=Arabic, Contextuals=Swash]{Arabic Typesetting}
\setmainfont[Ligatures=TeX, Contextuals=Swash]{Arabic Typesetting}
\newfontfamily\arabicfont[Scale=2.4, Script=Arabic, Contextuals=Swash]{Arabic Typesetting}
\begin{document}
\pagestyle{empty}
من محمد
\end{document}

我之所以使用“Arabic Typsetting”字体,是因为我看到它在示例文件中使用了这些花饰,你可以从中下载这里。如果您知道任何其他可以做到这一点的字体,请随意替换它(阿拉伯排版可用于 Windows 7 和 8,我认为 10 也可用。它也应该随 Office 安装一起提供)。

所以我的问题有两个:

  1. 这实际上可以在 XeLaTeX 中完成吗?我愿意尝试手动方法或黑客方法。
  2. 有没有更好的方法来实现这个功能,比如使用 LuaTeX?我没有学过或使用过 LuaTeX。

谢谢你的时间。

答案1

字体没有任何cswh特征Arabic Typesetting

但是,您可以打开连字 ( liga) 和对齐替代字 ( jalt),然后应用一些手动字距调整,以获得几乎类似于插图的效果。

字距调整

有一个最终形式可能与插图相符,但它位于fina(最终) 下,而不是cswh

平均能量损失

\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{persian}
\newfontfamily\persianfont[Scale=4,
    Script=Arabic,
    ]{Arabic Typesetting}
\begin{document}
\addfontfeature{RawFeature=-liga}
1 من محمد 

\bigskip
\addfontfeature{RawFeature=+liga}
2 من محمد 

\bigskip
\addfontfeature{RawFeature=+jalt}
3 من محمد 

\bigskip


4 من\kern-0.85em محمد 

\bigskip
\bigskip
من  ﺾﺿﺾ

من محمد 
من  ﺾﺿﺾ
%\bigskip
%\addfontfeature{RawFeature=+fina}
%من
\end{document}

相关内容