Por que alguns emojis B & W e outros são muito grandes?

2

Estou executando o PureBrowser (~ = Firefox ESR 52.8.0) no PureOS (~ = teste principal do Debian) e tenho fonts-noto-color-emoji-0~20180424-2 instalado.

Quando visito link , observo que:

  • alguns emoji são renderizados em cores (como esperado)
  • alguns emoji são renderizados como line art, em vez de cores
  • alguns emoji são renderizados em cores, mas são muito grandes
  • Emoji
  • ausentes aparecem como "tofu" (conforme esperado)

Isso persiste depois de executar fc-cache -f -v .

SeeucopiarecolaressetextonoEditordetexto(gedit),oemojiaparecerácomoesperado(emcoresemumtamanhonormaloucomotofu):

Por que isso está acontecendo e como posso corrigi-lo?

    
por d3vid 16.05.2018 / 13:58

1 resposta

4

Há vários problemas em jogo aqui:

  • A fonte padrão do sistema é Deja Vu Sans, contém o emoji preto e branco.
  • O navegador empacota sua própria fonte específica de emoji chamada EmojiOneMozilla.ttf (originalmente incluída no Firefox, também incluída no fork do PureBrowser), ela contém emojis coloridos. (Nota: devido a alterações de licenciamento, versões recentes do Firefox agrupam Twemoji .)
  • Você também instalou o Noto Emoji, ele contém emojis de cores mais recentes em um estilo diferente. O dimensionamento dessa fonte é manipulado incorretamente pela versão do Firefox da qual o PureBrowser é bifurcado.

Quando um caractere emoji é encontrado, o navegador escolhe entre essas três fontes para decidir como processá-las. A ordem acima é a ordem de precedência, que também é uma ordem crescente de cobertura, de modo que os emoji antigos / comuns são renderizados em Deja Vu, emojis mais recentes em Emoji One e emojis de ponta em Noto Emoji mal dimensionados.

A solução "correta" é corrigir o navegador e / ou o Noto para que o dimensionamento de emojis do Noto no navegador esteja correto. Além disso, atualize as dicas de fonte para que os símbolos emoji coloridos sejam preferidos sobre a fonte padrão do sistema. Resolver esses problemas não é trivial. Para começar, veja:

Nesse meio tempo, uma solução alternativa é substituir EmojiOneMozilla.tff por uma fonte emoji colorida que seja dimensionada corretamente e tenha uma cobertura de símbolo igual ou melhor do que a do Noto:

  • Faça o download da versão mais recente do Twemoji / eosrei no link (no formato zip)
  • Extrair TwitterColorEmoji-SVGinOT.ttf
  • Excluir /usr/lib/purebrowser/fonts/EmojiOneMozilla.ttf
  • Copie TwitterColorEmoji-SVGinOT.ttf para essa pasta

Agora os símbolos de emoji Noto não aparecem, porque o Twemoji TTF tem cobertura emoji igual. Se a cobertura Noto melhorar e o seu pacote Noto for atualizado, o problema recorrerá a quaisquer novos símbolos de emoji. Nesse ponto, você terá que esperar por uma nova versão do Twemoji / eosrei e reaplicar a solução alternativa.

Se o seu pacote PureBrowser for atualizado, ele poderá adicionar novamente o EmojiOneMozilla.ttf, caso em que você terá que excluí-lo novamente. Ele pode remover o TwitterColorEmoji-SVGinOT.ttf e, nesse caso, você terá que adicioná-lo novamente.

    
por 17.07.2018 / 13:09