Como posso corrigir ligaduras de fontes TTF (tt, ti, fi, ff, etc) no Firefox?

21

Com determinadas fontes do Windows, há um problema de exibição em que o kerning de ligadura parece virar e tornar as duas letras em negrito. Aqui está uma captura de tela de um e-mail usando o Helvetica no Firefox:

Como você pode ver, parece ser algo sobre como os caracteres cruzados ( t e f ) se conectam uns aos outros e letras como i .

Eu tive esse problema por um longo tempo (em vários sistemas) e me perguntei se alguém já viu problemas semelhantes surgindo e encontrou uma maneira de corrigi-los.

Nota: acho que isso afeta apenas o Firefox. O Chrome e o LibreOffice estão bem.

    
por Oli 26.04.2012 / 11:30

5 respostas

24

Outra solução que funcionará com todas as aplicações, incluindo o Libre Office, é dada por aldeby :

Edite ou crie o arquivo ~/.fonts.conf e cole este código nele:

<match target="font" >
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>

Certifique-se de manter a estrutura XML.

Efetue logout e in novamente, e o Calibri (e possivelmente algumas outras fontes) parecerá muito melhor (na verdade até melhor do que com as outras respostas dadas aqui, porque as substituições de bitmap são completamente desativadas).

    
por Calimo 12.09.2012 / 14:15
8

Desativando ligaduras (consulte fonts.conf resposta de Calimo ) é a direção errada! Pode remover as ligaduras "negrito" com excesso de alias em fontes como Calibri , mas também remove um pouco da beleza da tipografia. Isso é bastante semelhante ao encolhimento da fonte até que você não saiba a diferença.

Eu resolvi isso para o meu sistema removendo a fonte Calibri, instalando o Carlito , que é " compatível com métricas com o Calibri" e é empacotado com "uma entrada de mapeamento para fontconfig (local.conf), "e atualizando meu cache de fontes:

$ rm ~/.fonts/microsoft/CALIBRI*
$ sudo apt install fonts-crosextra-carlito
$ fc-cache

Você pode então verificar se Carlito está no lugar de Calibri:

$ fc-match Calibri
Carlito-Regular.ttf: "Carlito" "Regular"

Antes de remover o Calibri da Microsoft, salvei um documento de teste no LibreOffice que usava o Calibri e fiz uma captura de tela. Depois de fazer isso, eu abandonei o LibreOffice, abri novamente e carreguei meu documento de teste. O nome da fonte "Calibri" foi colocado em itálico para indicar que foi substituído. Eu tirei uma captura de tela dessa versão substituída e colei-a abaixo do original:

Otextoacimaéumpardecapturasdetelade13ptCalibri,comoCalibridaMicrosoftacimadeCarlitocomocombinadoporfontconfig.Nãohánenhumnegrito,nenhumaformatação,"kerning de par" ativado, conforme processado pelo LibreOffice 5.0.5.1.

Carlito é bem próximo de Calibri, as ligaduras são renderizadas corretamente e é muito mais bonito em geral.

Você pode fazer o mesmo com Caladea para Cambria com fonts-crosextra-caladea e você pode usar o Fontes Croscore Arimo, Tinos e Cousine para Arial , Times New Roman e Courier New com fonts-croscore . Saiba mais no wiki Substituting Calibri and Cambria Fonts do Debian.

Mas e a Helvetica?

Esta pergunta é sobre a fonte Helvetica , que é a preferida da Apple sans-serif fonte. A Microsoft preferiu Arial antes de mudar para o Calibri. O mapeamento padrão do Linux varia por distribuição, mas normalmente é Nimbus Sans L ou então Liberation Sans , por exemplo

$ fc-match Helvetica
n019003l.pfb: "Nimbus Sans L" "Regular"

Se você executar isso e obter Arial, essa é uma boa razão para ter o problema de ligadura descrito acima - Arial não é uma ótima fonte.

A Helvetica tem toda a cultura em torno dele e não consigo encontrar uma fonte totalmente compatível com a Helvetica. Arial (e fontes metricamente compatíveis com Arial, incluindo Liberation Sans e seu fork, Arimo , têm larguras de caracteres idênticas (o que significa que eles é "principalmente" compatível com métricas; o texto será moldado da mesma forma que com a Helvetica. Entre as fontes gratuitas, Liberation Sans e Nimbus Sans parece ter a estética mais semelhante.

Há também IBM Plex , uma nova fonte com muito dinheiro por trás [ 1 ] [ 2 ] . O Plex foi projetado para substituir o Helvetica (ele também tem fontes condensadas, bem como fontes serif e monoespaçadas) em todos os materiais da IBM, embora não seja compatível com métricas para Helvetica ou outras fontes. O Font Squirrel tem uma boa visão dos exemplos das fontes do Plex .

    
por Adam Katz 06.02.2016 / 03:32
6

A resposta de lgarzo funcionará somente em sites que tenham uma classe "noligs" na texto (a maioria dos sites não).

Para desativar globalmente as ligaduras em todos os sites, adicione a seguinte linha ao seu userChrome.css :

* { -moz-font-feature-settings: "liga" 0; }

A maneira mais fácil de fazer isso é criar um novo estilo com o Elegante extensão.

    
por Calimo 05.07.2012 / 11:09
4

Algumas observações surgiram em minha mente ao olhar para a imagem:

  • As ligaduras parecem ser anti-aliases , enquanto o resto do texto não é. Portanto, parece mais gordo do que o texto normal (embora eu não possa negar, ele também parece em negrito).
  • AFAFA a fonte Helvetica é uma fonte não padrão , ou seja, não vem com instalações padrão do Windows. Você instalou ou é uma fonte diferente?

Acho que o problema é baseado na fonte que não suporta ligaduras / kerning corretamente.

Você pode desativar ligaduras no FF com a regra CSS abaixo:

/* disable common ligatures, usually on by default */
.noligs { -moz-font-feature-settings: "liga" 0; }

Fonte: Referência CSS: Extensões do Mozilla

    
por lgarzo 26.04.2012 / 12:02
0

Além da resposta de Calimo, os usuários do Archlinux podem encontrar ajuda link - Desativar fontes de bitmap

Sugeriu a criação de um arquivo de configuração local ~ / .config / fontconfig / conf.d / 20-no-embedded.conf, mas optei por uma opção de sistema

sudo touch /etc/fonts/conf.d/20-no-embedded.conf
sudo chmod 777 /etc/fonts/conf.d/20-no-embedded.conf
nano 777 /etc/fonts/conf.d/20-no-embedded.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>

Em seguida, basta reiniciar o aplicativo (no meu caso thunderbird)

    
por Uzumaki D. Ichigo 02.06.2017 / 18:50

Tags