I have heard that it is possible to typeset Arabic texts with Lualatex, so I assume that it is also possible to typeset Syriac texts with LuaLatex. But when I run the following example, the output is not like it should be:
\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}
The letters and words appear in the right order (ie. right to left), but there is no distinction between initial, middle and final letters. lualatex always uses the stand alone letters. I'm pretty sure that this is not the font's fault, because running the following, similar example with XeLatex, the output is right:
\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}
How can I make lualatex access the relevant otf information to determine between inital, middle and final letters?
luatex, unlikexetex, contextual alternates aren’t on by default, so add them to the options ofnewfontfamily. But even so, the output isn’t right, and I think at least part of the problem is thatluatexhasn’t yet caught up withxetexin handlingContextuals=WordInitial,Contextuals=Inner, andContextuals=WordFinal. Even in English text, I can’t exploit those features with a font like Jannon 10 Pro unless I usexetex, and this Syriac font, like Jannon, makes use of them. – Thérèse Oct 17 '15 at 20:10