Problemas com consoantes empilhadas (escrita birmanesa)

Problemas com consoantes empilhadas (escrita birmanesa)

Estou tendo problemas para fazer com que certas consoantes empilhadas sejam renderizadas corretamente na saída - elas aparecem perfeitamente no editor Texworks, o MS Word pode mostrá-las, junto com qualquer outro mecanismo capaz de selecionar uma fonte que eu encontrei. Como você pode ver na imagem abaixo, o problema não é onipresente. À esquerda, os dois caracteres ဂ, que deveriam ser renderizados como ဂ္ဂ, são colocados um ao lado do outro, mas os dois caracteres တ estão empilhados corretamente. Existem mais dois exemplos de renderização inadequada, e também incluí um exemplo correto para demonstrar que o TeX é de fato capaz de renderizar consoantes empilhadas corretamente às vezes.

Tentei várias fontes diferentes, mas isso não conseguiu resolver o problema. Eu diria que poderia ser o mecanismo de renderização (XeLaTeX), embora isso também me pareça improvável, pois há casos conflitantes em que o mesmo conjunto de caracteres é renderizado corretamente em uma instância e incorretamente em outra, apesar de existir no mesmo documento. Também tentei copiar e colar caracteres funcionais nas áreas problemáticas, sem sorte.

Remover a linha XeTeXlinebreaklocale do código corrige o problema de empilhamento, mas faz com que todas as linhas fiquem nas margens e, infelizmente, não é uma solução aceitável para o que será um livro publicado. Continuarei experimentando isso e verei se não consigo descobrir algo relacionado a essa linha de código.

Consoantes empilhadas não funcionam

Mais renderização incorreta

Último exemplo de renderização incorreta

Exemplo de consoantes empilhadas corretamente

Por último, algum código para referência:

\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}

Atualização: Seguindo outra ideia que funcionou para ligaduras Khmer, adicionei \XeTeXinterwordspaceshaping=2, embora me diga "Processo travou". Testando com o exemplo abaixo para um espaço de trabalho simplificado, descobri que eliminar qualquer um dos três comandos XeTeX permitirá que o mecanismo seja compilado. No entanto, todos os três são necessários para que as ligaduras sejam exibidas corretamente e o texto caiba nas margens. Pelo lado positivo, o exemplo abaixo mostra que não é um conflito com outro pacote, mas sim um problema nas interações entre esses comandos.

\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}

O erro que sai deste documento de teste é o seguinte: ("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:\Usuários--\AppData\Local\Programas\MiKTeX 2.9\tex/latex/fontspec\fontspec. cfg"))) (test.aux)

Isso parece se resumir a um problema de interação com o fontspec, independentemente da fonte que eu uso.

informação relacionada