![Lualatex 和叙利亚语(首字母、中间字母和尾字母)](https://linux22.com/image/246647/Lualatex%20%E5%92%8C%E5%8F%99%E5%88%A9%E4%BA%9A%E8%AF%AD%EF%BC%88%E9%A6%96%E5%AD%97%E6%AF%8D%E3%80%81%E4%B8%AD%E9%97%B4%E5%AD%97%E6%AF%8D%E5%92%8C%E5%B0%BE%E5%AD%97%E6%AF%8D%EF%BC%89.png)
我听说可以使用 Lualatex 排版阿拉伯语文本,所以我假设也可以使用 LuaLatex 排版叙利亚语文本。但是当我运行以下示例时,输出并不像它应该的那样:
\documentclass{scrartcl}
\usepackage{fontspec}
\newfontfamily\syriacfont[Script=Syriac]{Serto Batnan}%unicode otf; available http://www.bethmardutho.org/images/fonts/melthofonts-1.21.zip
\newcommand{\syr}[1]{\bgroup\luatextextdir TRT\syriacfont #1\egroup}
\begin{document}
\syr{ܟܕ ܛܝܒܘܬܐ ܡܫܡ̇ܗ ܐܦ ܠܢܡܘܣܐ. ܚܠܦ ܠܡ ܗܝ̇ ܛܝܒܘܬܐ ܗܕܐ ܐܬܝܗܒܬܼ}
\end{document}
字母和单词以正确的顺序出现(即从右到左),但没有区分首字母、中间字母和尾字母。lualatex 总是使用独立字母。我很确定这不是字体的问题,因为使用 XeLatex 运行以下类似示例时,输出是正确的:
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage{polyglossia}
\setotherlanguage{syriac}
\newcommand{\syr}[1]{\RL{\textsyriac{#1}}}
\newfontfamily\syriacfont[Script=Syriac]{Serto Batnan}
\begin{document}
\syr{ܟܕ ܛܝܒܘܬܐ ܡܫܡ̇ܗ ܐܦ ܠܢܡܘܣܐ. ܚܠܦ ܠܡ ܗܝ̇ ܛܝܒܘܬܐ ܗܕܐ ܐܬܝܗܒܬܼ}
\end{document}
我如何让 lualatex 访问相关的 otf 信息来确定首字母、中间字母和末字母?
答案1
LuaLaTeX 对阿拉伯语的支持仍在开发中:参见使用 LuaLaTeX 排版阿拉伯语。我不知道 LuaLaTeX 是否支持叙利亚语。不过有一个适用于 XeLaTeX 的软件包:(遗憾的是 CTAN 上没有):叙利亚语。