Devo me preocupar com colisões diacríticas?

11

Ao projetar um tipo de letra, como devo tratar sinais diacríticos que colidiriam com glifos adjacentes - incluindo outros diacríticos?

Você pode ver neste exemplo que existem muitas colisões:

Diacríticos em colisão

Esse é um exemplo extremo que nunca vai acontecer no texto normal e eu suponho que as colisões de sotaque sejam a exceção e não a norma, mas como eu não falo e não estou familiarizado com a maioria dos idiomas que fazem uso de diacríticos, eu não sou certo.

Eu posso ver algumas opções para lidar com essas colisões:

  1. Ajuste as métricas de glifo para acomodar marcas diacríticas. Isso resolveria o problema de colisões, mas afetaria desnecessariamente as métricas, mesmo na (maioria) casos em que não é necessário.

  2. Kern manualmente os pares de caracteres do problema. O kerning manual de todas as colisões possíveis será um processo longo para o que - na maioria dos casos - será na melhor das hipóteses.

  3. Crie ligaduras para colisões comuns. Isso soa como uma boa ideia para as ocorrências mais comuns, mas não tenho idéia de quais pares ocorrem no texto normal, mesmo que seja comum.

  4. Esqueça ... Se essas colisões não são comuns no texto normal, talvez seja uma perda de tempo tentando acomodá-las.

Devo me preocupar com essas colisões? Se sim, como devo lidar com eles?

Existe uma lista de pares de colisões que ocorrem com frequência aos quais posso me referir? Isso me ajudaria a kern apenas pares que realmente ocorrerão.

Cai
fonte
Pelo menos em finlandês, você tem palavras com vovôs duplos um ao lado do outro, como, por exemplo, pää (cabeça) ou käyttöön (a serem usados ​​/ para consumo) Na verdade, são bastante comuns quando você usa declinações (que é como o idioma funciona) é uma linguagem aglutatinative)
joojaa
Boa pergunta. Eu nunca pensei nisso. Que vergonha. U_U
Rafael
Esses são todos os caracteres de altura x. E quanto a colisões com os topos de f, t, de b? Algo semelhante: ao ajustar uma fonte de caracteres fonéticos, vi a combinação fe muitos caracteres acentuados entrando em conflito (a ligadura 'comum' fié um caso bem conhecido). Criei uma alternativa fcom um sinalizador mais curto e resolvi-o com as regras do OpenType, de modo que só aparecia quando necessário.
usr2564301
@RadLexus, é claro, meu exemplo foi apenas para mostrar sotaques colidindo entre si, não estou exclusivamente interessado nesses casos. "fi" é uma ligadura comum, sim, mas e "fï", "fî", "fī", "fì"?
Cai
1
(curiosamente, esses exemplos colidem no meu comentário)
Cai

Respostas:

5

Sim, você deve se importar. Existem alguns idiomas nos quais dois caracteres diacríticos podem ser localizados próximos um do outro ou os caracteres diacríticos seguem f. Por exemplo, Aspell considera měšťáčtější e nejjidášštější palavras checas válidas¹, e pfählen, fühlen e föhnen são palavras alemãs.

Existem duas outras variantes normalmente empregadas:

  1. Use classes especiais de kerning ou até tabelas - você não precisa usar kern todos esses pares manualmente; em vez disso, agrupa todos os seus personagens de maneira inteligente. Por exemplo, para sinais diacríticos colocados acima da letra, você pode observar os seguintes grupos:

    1. glifos sem ascendentes, por exemplo, a, c, e, g;

    2. glifos com ascendentes ou diacríticos não pendentes, por exemplo, b, d, i, ä, ñ.

    3. glifos com ascendentes ou diacríticos pendentes, por exemplo, f, ľ, ï.

    Agora, você só precisa considerar os seguintes grupos de casos, para os quais você pode usar diferentes tabelas de kerning:

    • 1–1, 1–2, 2–1 e 2–2 - Você pode aplicar seu kerning padrão aqui: as métricas para co, cö, ćo e ćö são idênticas (supondo que as marcas diacríticas não sejam salientes para o seu específico) tipo de letra).

    • 3-1 e 1-3 são bastante simples, assim: io deve ter as mesmas métricas como io.

    • Apenas 3–2, 2–3 e 3–3 precisam de alguma atenção, mas geralmente você pode colocar glifos diferentes na mesma classe de kerning. Por exemplo, î pode usar kern como ǐ e ľ pode analogamente como f. Além disso, como os diacríticos ou ascendentes dominam o kerning, agora você pode agrupar glifos que precisariam de kerning diferente. Por exemplo, se o e õ estavam em uma classe de kerning diferente de n e ñ para kernings em 1–1, 1–2 e 2–1, eles podem estar na mesma classe agora, por exemplo, porque kerns é o mesmo que fñ.

    Dessa forma, você pode cobrir todos os casos adequadamente, sem afetar suas métricas regulares, considerando todas as ortografias existentes e precisando usar classes de kerning com granulação muito fina. Para ver isso em ação, você pode assistir à mesa de kerning da Unifraktur Maguntia (na qual trabalhei).

  2. Use formas contextuais - Essa é uma alternativa às ligaduras, se o kerning resultar em um espaço indesejávelmente grande. Por exemplo, o Linux Libertine tem uma alternativa estreita f que é usada, se uma letra com uma marca diacrítica estiver seguindo (observe que o kerning ainda é um pouco diferente):

    Alternativa f no Linux Libertine


¹ Não tenho idéia do que essas palavras significam, então espero, pelo bem da comédia, que essas sejam obscenidades flagrantes.

Wrzlprmft
fonte
Consigo obter a maioria dos glifos nas classes de kerning existentes (ou novas classes comuns) sem problemas, mas definitivamente existem casos que precisam de tratamento específico - especialmente no tipo de letra em que estou trabalhando agora, que é bastante estreito / condensado, por isso quantidade de diacríticos pendentes
Cai
Também deu uma olhada no kerning no UniFraktur ... Impressionante. Extenso para dizer o mínimo.
Cai19