ConTeXt + XeTeX (TeXLive 2012) 不适用于马拉雅拉姆语等印度语脚本

ConTeXt + XeTeX (TeXLive 2012) 不适用于马拉雅拉姆语等印度语脚本

这是一个后续问题Context 对 (Unicode) 印度语文字的支持状况如何?

我一直在尝试让 texexec/mkii 与 XeTeX 引擎一起工作,但最终的渲染结果是不正确的——马拉雅拉姆语字符的重新排序不会发生。

通过 XeLaTeX(版本 3.1415926-2.5-0.9998 TeXLive 2012)运行以下最小示例会给出正确的输出:

\documentclass{article}
\usepackage{fontspec}
\setmainfont[Script=Malayalam]{Rachana}
\begin{document}
മലയാളം \TeX ഉപയോഗിച്ച് ടൈപ്പ്സെറ്റ് ചെയ്തത്
\end{document}

正确的渲染截图在这里:

在此处输入图片描述

与 ConTeXt“texexec --xetex”(版本 ConTeXt ver: 2012.05.30 11:26 MKII fmt: 2013.1.1 int: english/english)相同,导致渲染不正确。

\usemodule[simplefonts]
\setmainfont[Rachana]
\starttext
മലയാളം \TeX ഉപയോഗിച്ച് ടൈപ്പ്സെറ്റ് ചെയ്തത്
\stoptext

错误渲染截图:在此处输入图片描述

我可能遗漏了什么?使用的字体是 Rachana,可以在 Savannah 下载页面(版本 5.0.1)找到

答案1

您需要定义一个字体特征集来指定您想要使用的字体脚本、语言或任何其他特征。

\usemodule[simplefonts]
\definefontfeature[malayalam][script=mlym]
\setmainfont[Rachana][features=malayalam]
\starttext
മലയാളം \TeX ഉപയോഗിച്ച് ടൈപ്പ്സെറ് 
\stoptext

features=malayalam也可以传递给 typescript,features=default代替维基百科。传递给的所有功能\definefontfeature都采用键值语法,因此+liga;-kernConTeXt 使用的是 ,而不是原始的 XeTeX 语法liga=yes,kern=no,但标签是相同的(没有像 那样的用户友好名称fontspec)。

相关内容