使用 Shobhika 字体在 ConTeXt 中形成天城文

使用 Shobhika 字体在 ConTeXt 中形成天城文

我在使用梵文字体时遇到了一个奇怪的问题索比卡在 ConTeXt 中,一些字形中的 rakaara 形式未正确形成。

以下是我用来演示该问题的示例文档:

\setupbodyfont[shobhika]
\definehighlight
  [wr]
  [color=red]
\starttext
\startcolumns
दं‌ष्ट्रा

ट्रा

ट्रि ट्री

ट्रो 
ट्रौ 
\column
त्रिदल \wr{त्रेता} 

विक्रिय \wr{विक्रेता} क्रोड 

प्रीति \wr{प्रेप्सित} 

तच्छ्री \wr{श्रेष्ठ} 
\stopcolumns
\stoptext

上面的打字稿‘shobhika’如下:

\starttypescript [serif] [shobhika]
  \definefontsynonym 
    [Serif] 
    [name:shobhikaregular] 
    [features=devanagari-two]
  \definefontsynonym 
    [SerifBold] 
    [name:shobhikabold]
    [features=devanagari-two]
\stoptypescript


\starttypescript [shobhika]
  \definetypeface [shobhika] [rm] [serif] [shobhika]
\stoptypescript 

使用这个我称之为“dev2”的打字稿,我得到以下输出:

在此处输入图片描述

除了 ट-varga 之外,rakaar 形式并非在所有情况下都正确形成(以红色突出显示)。'devanagari-two' 功能使用 'dev2' 脚本标签。

现在,如果我改用以下 typescript(使用 'deva' 脚本标签而不是 'dev2'),

\starttypescript [serif] [shobhika]
  \definefontsynonym 
    [Serif] 
    [name:shobhikaregular] 
    [features=devanagari-one]
  \definefontsynonym 
    [SerifBold] 
    [name:shobhikabold]
    [features=devanagari-one]
\stoptypescript


\starttypescript [shobhika]
  \definetypeface [shobhika] [rm] [serif] [shobhika]
\stoptypescript 

与文件

\setupbodyfont[shobhika]
\definehighlight
  [wr]
  [color=red]
\starttext
\startcolumns
\wr{%
दं‌ष्ट्रा

ट्रा ट्रे
}

ट्रि ट्री

\wr{%
ट्रो 
ट्रौ}
\column
त्रिदल त्रेता

विक्रिय विक्रेताक्रोड 

प्रीति प्रेप्सित

\wr{तच्छ्री} श्रेष्ठ इन्द्रो 
\stopcolumns
\stoptext

我得到以下输出:

在此处输入图片描述

在这里,对于ट-varga 以及一些涉及辅音छ 的字形,rakaar 形式形成不正确。

使用上面的“devanagari-one”打字稿,我可以通过编写如下形式来“规避”此问题

छ्र‌ +‌ ​​​​​ZWS + 天城文元音符号

其中 ZWS 是零宽度空格 U+200B。

我必须在此提及,在 XeLaTeX 中使用 Shobhika 字体时,无论是使用“deva”还是“dev2”脚本标签,我都没有遇到任何问题。我还必须提及,我在 ConTeXt 中尝试过其他一些梵文字体,没有遇到这样的问题。我还查看了 ConTeXt 源代码的 font-pre.mkiv,并尝试了混合使用功能和脚本标签,但不幸的是,没有成功。正如 ConTeXt wiki 所建议的那样,我还咨询了 MS关于这个话题。

在过去的两年里,我已经完全转向使用 ConTeXt 进行大多数排版。我绝不是 ConTeXt 方面的专家,但同时,我谦虚地承认我也不是新手。作为一名学生,我使用 ConTeXt 制作出包含大量数学内容的令人惊叹的英文文档,没有遇到任何问题。

但是,我必须承认,我不确定这是 ConTeXt 的问题还是字体本身的问题。我将非常感谢这里的任何成员的帮助。

谢谢,Kauśika

答案1

我对天城文一无所知。但 xelatex 和 context 之间的区别就是 context 字体渲染器和 harfbuzz 之间的区别。

您可以通过明确设置渲染器来测试与 lualatex 的差异:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Shobhika-Regular.otf}[Script=Devanagari]
\setsansfont{Shobhika-Regular.otf}[Script=Devanagari,Renderer=Harfbuzz]
\def\wr{}
\begin{document}
\begin{minipage}{2cm}
त्रेता
\end{minipage}
\quad%
\begin{minipage}{2cm}
\sffamily 
त्रेता
\end{minipage}

\end{document}

在此处输入图片描述

除了向 context 邮件列表报告此问题之外,您可能没有什么可以做的。context 不包含 harfbuzz,因此没有选项可以切换到此渲染器。

相关内容