禁止断词(ConTeXt)

禁止断词(ConTeXt)

在以下示例中

\definefont[Shehkl][name:Scheherazade*arabic at 15pt] % or file:amiri-regular.ttf*... file:alq.ttf

\definestartstop[Arab][commands=\setups{Arabic}]
\def\Arab{\doArab}
\def\Arab[#1]{
\startArab 
\noindentation
            \setupalign[r2l]\Shehkl#1
\stopArab
}

\starttext

--------------------------------------------------------------------------------------------- (Fitra -\Arab[فطرة])

\stoptext

中的最后一个括号(Fitra -\Arab[فطرة])被放到了下一行 - 当然是个错误。避免这种情况(由于没有正确处理阿拉伯语?)的一种方法是将其全部放入类似的东西中\neverbrakethis[]- 我从 LaTeX 中知道,这里的等价物是什么 - 或者有更好的解决方案吗?

答案1

我不太了解阿拉伯语排版,但您的 ConTeXt 源似乎不正确。为什么不使用以下更简单、更直接的方法:

\usemodule[simplefonts]

\definesimplefont[arabicfont][Scheherazade][size=15pt, features=arabic]

\startsetups arabic
  \righttoleft
  \language[ar]
\stopsetups

\definestartstop
  [arabic]
  [commands=\setups{arabic}, style=\arabicfont]


\starttext

English text \arabic{arabic text} english text

\startarabic
  .... arabic paragraph
\stoparabic

\stoptext

笔记

  1. 理想情况下,在 ConTeXt 中,您希望切换到完整的 TypeScript,而不仅仅是切换主字体。使用 TypeScript,粗体、斜体、无粗体等字体变体可以正常工作。我不知道这些变体是否适用于阿拉伯语。

  2. 我使用 simplefonts 模块只是因为我发现它与低级字体命令相比更方便。

相关内容