Embora isso possa não responder diretamente à sua pergunta titular, espero que resolva seu problema: As técnicas a seguir me ajudaram a reduzir o trabalho de kerning manual de uma fonte (que era blackletter; portanto, os pares de kerning padrão não se aplicavam):
De longe o mais importante: use as classes de kerning. Embora sua fonte possa ter muitos glifos, muitos deles são idênticos em relação ao kerning em uma direção. Por exemplo, o kerning correto de m e n deve ser idêntico em todo ou quase todos os tipos de letra. Portanto, antes de começar o kerning, agrupe todos os seus glifos em classes razoáveis de kerning e reduza massivamente o trabalho, você terá que fazer. Qualquer editor de fontes razoável deve suportar classes de kerning.
Dependendo do seu tipo de letra, a eficácia das classes de kerning pode ser aumentada usando diferentes classes de kerning para diferentes situações. Por exemplo, à e a terão o mesmo kerning esquerdo em relação à maioria das letras minúsculas, mas não em relação a algumas letras maiúsculas ef. Para minha fonte, eu tinha diferentes tabelas de kerning com diferentes classes de kerning para os seguintes casos:
minúsculas sem f, ſ, ľ, ï,… - minúsculas;
f, ſ, ľ, ï,… - minúsculas;
minúsculas letras maiúsculas;
maiúsculas - maiúsculas;
minúsculas - minúsculas.
Esforce-se para ajustar os rolamentos , ou seja, as distâncias padrão (sem kerning) de um glifo para a direita e esquerda. Se o rolamento de um glifo é mal escolhido, isso significa que você deve usar kern quase cada par que contém esse glifo. Por outro lado, se seus rolamentos são bons, você não precisa usar muito o kern e vê diretamente onde deve usar o kern.
Um truque para ajustar os rolamentos e kernings é olhar para algo como o seguinte :
uuuuuuuuuuuuuuuuuuuuuuuxuuuuuuuuuuuuuuuuuuuuuuu
uıuunımnuınuınınuımunxuınuımuınuınuımuınuınmu
Se o xu precisar de kerning, observe isso.
Aumente seu conjunto de glifos com métricas horizontais ajustadas de forma sistemática e completa. Comece com ajustar as métricas horizontais (rolamentos e kernings) de “cartas simples” como i, m, n, e u. Certifique-se de que palavras como mínimo, alumínio ou imunidade tenham boa aparência, idealmente sem usar nenhum kerning entre as letras mencionadas acima. Em seguida, adicione outras letras minúsculas à piscina e verifique se elas têm bons rolamentos e kerning sempre que necessário. Se o seu pool contiver todas as letras minúsculas, adicione letras maiúsculas e se preocupe apenas com o rumo certo; e assim por diante …
Depois de ter esse pool, leia muito texto em sua fonte para encontrar alguns pares que você pode ter perdido. Olhar o texto de cabeça para baixo também ajuda.
Finalmente, você pode gerar um texto que contenha todos os pares de letras possíveis e verificá-lo. Por exemplo, o seguinte script Python 3 fará o trabalho para letras minúsculas:
from random import shuffle
s = "abcdefghijklmnopqrstuvwxyzßþðə"
pairs = [(c,d) for c in s for d in s]
shuffle(pairs)
for i, pair in enumerate(pairs):
print("".join(pair), end=("" if i%3 else " "))
(Isso pode ser executado facilmente em sistemas Unixoid (principalmente tudo, exceto Windows), salvando-o em um arquivo (digamos kerningtest.py
) e depois chamando python3 kerningtest.py
de um terminal na respectiva pasta.)
Preocupe-se com o que realmente é usado primeiro. Os kernings mais importantes são minúsculas - minúsculas e maiúsculas - minúsculas. Maiúsculas e minúsculas e minúsculas são apenas para usos excepcionais; dependendo do seu tipo de letra, pode não ser importante, por exemplo, porque all-caps é apenas uma péssima ideia com um script caligráfico. Espero que ninguém precise de pares kerning cirílico-latino ou romano-numeral-símbolo-moeda.
No entanto, mesmo com todos esses truques, executar um bom kerning manual é um trabalho longo e chato.