我無法讓某些堆疊輔音在輸出中正確呈現 - 它們在 Texworks 編輯器中顯示得很好,MS Word 可以顯示它們,以及能夠選擇我找到的字體的任何其他引擎。從下圖可以看出,該問題並不普遍存在。在左側,兩個 ဂ 字元(應呈現為 ဂ္ဂ)並排放置,但這兩個 တ 字元正確堆疊。還有兩個不正確渲染的範例,然後我還提供了一個正確的範例來證明 TeX 有時確實能夠正確渲染堆疊輔音。
我嘗試了多種不同的字體,但未能解決問題。 I would argue that it could be the rendering engine (XeLaTeX), though that seems unlikely to me as well, as there are conflicting cases where the same set of characters are rendered correctly in one instance and incorrectly in another, despite existing in the same文件.我還嘗試將工作字元複製並貼上到問題區域,但沒有成功。
從程式碼中刪除 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 互動的問題,無論我使用什麼字體。