堆叠辅音问题(缅甸文)

堆叠辅音问题(缅甸文)

我无法让某些堆叠辅音在输出中正确呈现 - 它们在 Texworks 编辑器中显示正常,MS Word 可以显示它们,以及我找到的任何其他能够选择字体的引擎。从下图可以看出,问题并不普遍。在左侧,两个 ဂ 字符应该呈现为 ဂ္ဂ,但却彼此相邻放置,而两个 တ 字符堆叠正确。还有两个渲染不正确的示例,然后我还提供了一个正确示例来证明 TeX 确实能够有时正确渲染堆叠辅音。

我尝试过多种字体,但都无法解决问题。我认为可能是渲染引擎(XeLaTeX)的问题,不过我也认为不太可能,因为存在矛盾的情况,即同一组字符在一个实例中渲染正确,而在另一个实例中渲染错误,尽管它们存在于同一个文档中。我还尝试过将可用的字符复制并粘贴到问题区域,但没有成功。

从代码中删除 XeTeXlinebreaklocale 行可以解决堆叠问题,但会使每行都超出页边距,不幸的是,对于即将出版的书来说,这不是一个可接受的解决方案。不过,我将继续尝试这个方法,看看是否能找出与该行代码相关的问题。

堆叠辅音不起作用

更多不正确的渲染

最后一个例子是错误的渲染

正确堆叠辅音的示例

最后,一些代码可以参考:

\documentclass{book}

%packages
\usepackage{fontspec} %To use non-standard fonts


%style
\XeTeXlinebreaklocale "my"  %Myanmar line and character breaks
\XeTeXlinebreakskip = 0pt plus 2.5pt minus 1pt %2.5pt because at 2 and below still goes past margins.
\setmainfont[Script=Myanmar]{Padauk Book}

\begin{document}

Filler text အဂ္ဂပေမေတ္တာ ဗတ္တိဇံ သင်္ဂြုဟ် အတ္ထုပ္ပတ္တိ

\end{document}

更新:按照另一个适用于高棉连字符的想法,我添加了\XeTeXinterwordspaceshaping=2,但它告诉我“进程崩溃了”。使用下面的示例对简化的工作空间进行测试,我发现删除三个 XeTeX 命令中的任何一个都可以让引擎进行编译。但是,这三个命令都是必需的,才能使连字符正确显示,并使文本适合边距。好的一面是,下面的示例表明这不是与另一个包的冲突,而是这些命令之间的交互问题。

\documentclass{article}
\usepackage{fontspec} %To use non-standard fonts
\XeTeXlinebreaklocale "my"  %Myanmar line and character breaks
\XeTeXlinebreakskip = 0pt plus 2pt minus 1pt %2.5pt because at 2 and below still goes past margins.
\XeTeXinterwordspaceshaping=2
\setmainfont[Script=Myanmar]{Padauk Book}
\begin{document}

တစ်နှစ်သုံးဟဲလိုကမ္ဘာကြီး

    အပြစ်ဖြေခြင်းသည် ဒေသနာတစ်ခုဖြစ်ပါသည်သို့သော် အပြစ်ဖြေခြင်းပုံစံသည် ပုံသေနည်းတစ်ခုတည်းမဟုတ်ပါ။ 
ပုစ္ဆာတစ်ပုဒ်ကိုဖြေရှင်းသည်ထက် ထိုအပြစ်ဖြေခြင်းကို ပို၍ခံစားရမည်၊ စိစစ်မှုမဟုတ်၊ နှလုံးသွင်းရပါမည်။ 
ယေရှူခရစ်တော်၏အပြစ်ဖြေခြင်းသည် လောကနှင့် စကြဝဠာများ၏သိမ်မွေ့နူးညံ့ခြင်း၊ မျက်စိပွင့်စေခြင်း၊ အဂ္ဂပေမေတ္တာ ဒေသနာတစ်ခုဖြစ်သောကြောင့် ထိုဒေသနာကိုရှာဖွေရန် မိမိ၏လုပ်နိုင်စွမ်း အကုန်ပါရမည်။
\end{document}

该测试文档出现的错误如下: ("C:\Users--\AppData\Local\Programs\MiKTeX 2.9\tex/latex/fontspec\fontspec- xetex.sty"
("C:\Users--\AppData\Local\Programs\MiKTeX 2.9\tex/latex/base\fontenc.sty"
("C:\Users--\AppData\Local\Programs\MiKTeX 2.9\tex/latex/base\tuenc.def"))
("C:\Users--\AppData\Local\Programs\MiKTeX 2.9\tex/latex/fontspec\fontspec. cfg"))) (test.aux)

无论我使用什么字体,这似乎都归结为与 fontspec 交互的问题。

相关内容