O Konsole e outras aplicações renderizam o “Input Mono” do FontBureau como proporcional

0

No Konsole do KDE, ao usar uma compilação personalizada da fonte "Input Mono" do FontBureau, as coisas são renderizadas como se as fontes fossem proporcionais. Isso não causa problemas, pois o Konsole não está preparado para lidar com fontes proporcionais. O problema mais óbvio é que a posição do cursor freqüentemente está incorreta.

Por exemplo, a primeira linha de "|" e a linha de "M" deve ter a mesma largura, mas não são. O cursor na linha inferior deve estar no final da segunda linha de "|", mas há uma lacuna.

Deveriaserassim:

    
por Alan De Smet 26.06.2018 / 18:21

1 resposta

1

O problema tem várias partes:

  1. Se você estiver usando uma versão personalizada, seja personalizada no site do FontBureau ou usando o inputCustomize.py fornecido, as fontes resultantes terão um nome de família de "Entrada" e não "Entrada Mono" como seria de se esperar. / li>
  2. Os downloads incluem as fontes "template", que a ferramenta de personalização pode usar para criar novas versões personalizadas. Essas fontes de modelo podem ser encontradas em Scripts/_template_*.txt . Eles também têm um nome de família de "Entrada". Eles são (meio que?) Proporcionais e não destinados ao uso direto.
  3. Eu descompactou todo o conteúdo do arquivo Input_Font.zip em meu diretório de fontes.
  4. fontconfig pode encontrar fontes mesmo que tenham extensões incomuns, incluindo .txt .

Quando o fontconfig reconstruiu o cache com as fontes Input, ele encontrou as fontes do modelo além da minha compilação personalizada. Acabou escolhendo as fontes do modelo sobre minha versão personalizada monoespaçada. Então o Konsole parecia estar usando fontes proporcionais porque era!

É também por isso que as duas capturas de tela acima são mais diferentes que apenas as larguras; a versão correta parece nitidamente mais clara. É, porque é uma fonte diferente.

A solução fácil é excluir o diretório Scripts ou modificar os arquivos de modelo para que o fontconfig não os reconheça. Eu fiz isso:

$ cd Scripts
$ find -name '*.txt' -print0 | xargs -0 gzip
    
por 26.06.2018 / 18:21