lualatex 中脚本渲染失败的示例

lualatex 中脚本渲染失败的示例

luaotfload 的代码提到了许多脚本的支持不完整。我想检查这是否属实,以及可以做些什么。

由于我对这些脚本一无所知,所以我需要一些例子。所以如果你对这些脚本(或其他脚本)有所了解,请添加答案。

代码中的脚本列表如下

 "beng", "guru", "gujr","orya", "taml", 
 "telu", "knda", "mlym", "sinh". 

但如上所述,也欢迎针对其他脚本的回答。

天城文(deva)已在开发分支中处理,请参阅https://github.com/u-fischer/luaotfload/issues/9

答案应该显示如下示例文档:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{.....}[Script=....]

\begin{document}
sample text
\end{document}
  • 如果可能,请使用优质的免费字体。
  • 添加 xelatex 输出的屏幕截图。如果是不是正确,显示其他渲染的正确输出或描述错误的内容。
  • 添加 lualatex 输出的屏幕截图。
  • 如果您知道如何做,您还可以添加上下文示例及其渲染。

答案1

以下是卡纳达语(在上面的列表中)的示例knda。其他脚本的(典型)问题情况将类似,只需从其他脚本中选择相应的代码点即可。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{NotoSansKannada-Regular.ttf}[Script=Kannada]

\begin{document}
% U+0C95 KANNADA LETTER KA then U+0CBF KANNADA VOWEL SIGN I
ಕಿ

% U+0C95 KANNADA LETTER KA then U+0CCD KANNADA SIGN VIRAMA then U+0CB0 KANNADA LETTER RA
ಕ್ರ

% U+0CB0 KANNADA LETTER RA then U+0CCD KANNADA SIGN VIRAMA then U+0C95 KANNADA LETTER KA
ರ್ಕ
\end{document}

字体可从Google Noto 字体

编译时输出xelatex

特克斯

编译时输出lualatex

LuaTeX

三行文字只是说“ki”、“kra”和“rka”。我完全相信,当这三件事奏效时,这表明大多数其他事情也会奏效。

答案2

扩展其他答案以下是问题中所有脚本的示例(以及deva,正如问题所述,已在开发分支中修复,但尚未在我的计算机上修复)。对于大多数印度语脚本,我将另一个答案中的失败模式组合成单个单词“krarki”,但对于泰米尔语和僧伽罗语(该词实际上可以正确呈现),我使用了更简单的单词。

懒得为每个脚本创建单独的示例文件并进行编译和截图,所以这是一个单独的组合文件。

\documentclass{article}
\usepackage{fontspec}
\newfontfamily\deva[Script=Devanagari]{NotoSansDevanagari-Regular.ttf}
\newfontfamily\beng[Script=Bengali]{NotoSansBengali-Regular.ttf}
\newfontfamily\guru[Script=Gurmukhi]{NotoSansGurmukhi-Regular.ttf}
\newfontfamily\gujr[Script=Gujarati]{NotoSansGujarati-Regular.ttf}
\newfontfamily\orya[Script=Oriya]{NotoSansOriya-Regular.ttf}
\newfontfamily\taml[Script=Tamil]{NotoSansTamil-Regular.ttf}
\newfontfamily\telu[Script=Telugu]{NotoSansTelugu-Regular.ttf}
\newfontfamily\knda[Script=Kannada]{NotoSansKannada-Regular.ttf}
\newfontfamily\mlym[Script=Malayalam]{NotoSansMalayalam-Regular.ttf}
\newfontfamily\sinh[Script=Sinhala]{NotoSansSinhala-Regular.ttf}

\begin{document}
{\deva क्रर्कि} % krarki
{\beng ক্রর্কি} % krarki
{\guru ਕ੍ਰਰ੍ਕਿ} % krarki
{\gujr ક્રર્કિ} % krarki
{\orya କ୍ରର୍କି} % krarki
{\taml கோ} % ko
{\telu క్రర్కి} % krarki 
{\knda ಕ್ರರ್ಕಿ} % krarki
{\mlym ക്രര്കി} % krarki
{\sinh කෙ} % ke
\end{document}

编译后xelatex(据我所知是正确的):

特克斯

编译后lualatex(每一个肯定是不正确的):

LuaTeX

答案3

以下是阿拉伯语渲染错误的示例阿里夫·鲁卡字体:

\nopagenumbers
\input luaotfload.sty

\font\ruqaa="Aref Ruqaa:mode=node;script=arab" at 12pt

\pardir TRT
\textdir TRT
\ruqaa
\baselineskip=2.2em

هذا كتاب صغير في بحث جديد، تنبّهنا له ونحن ننشر الطبعة الثانية من كتابنا الفلسفة
اللغوية لأنّ موضوعه تابع لموضوعنا. أو هي خطوة ثانية في تاريخ اللغة باعتبار
منشأها وتكونها ونموها. فالفلسفة اللغوية تبحث في كيف نطق الانسان الأول، وكيف
نشأت اللغة وتولّدت الألفاظ من حكاية الأصوات الخارجية، كقصف الرعد، وهبوب الرياح،
والقطع والكسر، وحكاية التف والنفخ والصفير ونحوها. ومن المقاطع الطبيعية التي
ينطق بها الانسان غريزيا كالتأوه، والزفير. وكيف تنوّعت تلك الأصوات لفظا ومعنى
بالنحت، والابدال، والقلب، حتى صارت ألفاظا مستقلة وتكوّنت الأفعال، والأسماء،
والحروف وصارت اللغة على نحو ما هي عليه.  وأما تاريخ اللغة فيتناول النظر في
ألفاظها وتراكيبها، بعد تمام تكونها، فيبحث فيما طرأ عليهما من التغيير والتجدد أو
الدثور، فيبين الألفاظ والتراكيب التي دثرت من اللغة بالاستعمال، وما قام مقامها
من الألفاظ الجديدة، والتراكيب الجديدة، بما تولّد فيها، أو اقتبسته من سواها، مع
بيان الأحوال التي قضت بدثور القديم وتولد الجديد، وأمثلة مما دثر، أو أهمل، أو
تولّد، أو دخل.

\bye

加载:

Luaotfload 输出

HarfBuzz:

HarfBuzz 输出

相关内容