我最近读到关于阿拉伯字体的上下文花饰的文章这里。他们已经展示了它的外观示例。我已经读过了这问题,它帮助我设置了 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 安装一起提供)。
所以我的问题有两个:
- 这实际上可以在 XeLaTeX 中完成吗?我愿意尝试手动方法或黑客方法。
- 有没有更好的方法来实现这个功能,比如使用 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}