Como evitar a combinação de um personagem?

Como evitar a combinação de um personagem?

A fonte "EB Garamond" combina ʿo caractere e a letra anterior. Considere o seguinte documento:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{EB Garamond}
\begin{document}

   aʿ bʿ cʿ dʿ eʿ fʿ gʿ hʿ iʿ jʿ kʿ lʿ mʿ nʿ oʿ pʿ qʿ rʿ sʿ tʿ uʿ vʿ wʿ xʿ yʿ zʿ

\end{document}

insira a descrição da imagem aqui

Como posso evitar o penteamento ʿ(MODIFIER LETTER LEFT HALF RING) e a letra anterior? (Nas imagens acima, apenas b,d,i,jsão renderizadas corretamente.)

AtualizarDepois de testar mais de trinta, esta é a única fonte que apresenta esse problema. Infelizmente, este é apenas um formato adequado para um papel que contém muitos glifos Unicode. ◕︵◕

Responder1

Como uma correção local talvez temporária, nos casos em que for necessário, você pode colocar um Kern antes do caractere para ocultá-lo da letra anterior.

  a\kern0ptʿ

não combinaria.

Responder2

Sinto muito, isso foi um descuido e foi corrigido na v0.015b, que acabei de enviarhttps://bitbucket.org/georgd/eb-garamond/downloads

Responder3

Uma “solução” exclusiva do XeTeX seria o uso de arquivos de mapa, criar um arquivo half-ring.mapque diga ao XeTeX para inserir um espaço de cabelo antes de qualquer meio anel modificador em composições:

LHSName "Modifier Half Ring"
RHSName "UNICODE"
pass(Unicode)

U+02BF <> U+200A U+02BF;

Em seguida, compile-o com teckit_compile(deve estar incluído no TeX Live) e modifique seu comando de fonte para \setmainfont[Mapping=half-ring]{EB Garamond}.

Observe que o XeTeX atualmente só pode aplicar um arquivo de mapeamento por fonte, portanto, se você usar outros arquivos de mapeamento (ou Ligature=TeXopção de fonte), terá que replicar esse mapeamento no arquivo acima.

Responder4

Se você concorda em mudar para LuaLaTeX,Micoestá por virselnoligpackage (no GitHub) é seu amigo. Na verdade, o objetivo é evitar globalmente ligaduras não intencionais, mas também pode ser usado para isso. Não mudará mais nada se você carregá-lo sem uma opção de idioma:

\documentclass{article}
\usepackage{fontspec}
    \setmainfont{EB Garamond}

\usepackage{selnolig}
    \nolig{ʿ}{|ʿ}
\begin{document}

   aʿ bʿ cʿ dʿ eʿ fʿ gʿ hʿ iʿ jʿ kʿ lʿ mʿ nʿ oʿ pʿ qʿ rʿ sʿ tʿ uʿ vʿ wʿ xʿ yʿ zʿ

\end{document}

saída

Para mais informações sobre selnolig, dê uma olhada emNovo pacote, selnolig, que automatiza a supressão de ligaduras tipográficas.

Olhando para o problema de um ângulo diferente: não sei nada sobre esse caractere Unicode específico, mas se EB Garamond realmente fizer algo errado aqui e for a única fonte que faz isso, você deve enviar um relatório de bug emseu site de desenvolvimento.

informação relacionada