Alguns usuários que utilizam o método de hinting 'hintfull' podem ter notado que, ao passar da versão Pango 1.43 para a 1.44 de algumas famílias de fontes ou .
O problema é causado pelo fato de que a biblioteca passou a não utilizar mais para obter informações sobre kerning (distância entre glifos) das fontes para , e os desenvolvedores deste último decidiram a suavização das fontes pelo método 'hintfull'. Observa-se que em telas com alta densidade de pixels (Hi-DPI) não há problemas de renderização das fontes ao usar métodos de hinting diferentes de 'hintfull'.
O desenvolvedor do HarfBuzz (Behdad Esfahbod) comentou sobre a discussão do problema:
Tentei usar estilos de hinting diferentes de hintfull, mas apenas ele proporciona uma renderização de fontes próxima ao ClearType v2 no Windows 7, que, na minha opinião, tem a melhor renderização entre todas as soluções existentes.
Correto. Portanto, decidimos não suportá-lo mais. Você pode tentar se acostumar com a renderização 'fuzzy' ou buscar algo diferente. Você está usando Open Source, entende?
Adição após contínua discussão:
Nos comentários subsequentes, o desenvolvedor , que o software livre oferece a possibilidade de escolha e aqueles que não estão satisfeitos com o estado atual podem criar um fork do Pango. Os desenvolvedores do HarfBuzz não podem influenciar sua manutenção e as decisões tomadas nele. Behdad Esfahbod, o atual mantenedor do HarfBuzz, que está em primeiro lugar no número de commits em
, mencionou que já não está associado à Red Hat há mais de 10 anos e não é mantenedor do Pango. Desde 2010, ele se mudou para o Google e agora trabalha exclusivamente no HarfBuzz, que anteriormente era seu projeto pessoal. O HarfBuzz o processo de renderização e o Pango pode sobrescrever os modos de hinting solicitados do seu lado.
Outro desenvolvedor do HarfBuzz , afirmou que o problema é do lado do Pango, já que o HarfBuzz não é um sistema de renderização de fontes e não suporta hinting por sua arquitetura. Se o Pango precisa manter o hinting, mudar para o HarfBuzz não é a escolha que garante seu suporte. Isso As razões para a rejeição da implementação do hinting no HarfBuzz incluem que alguns modos de hinting resultam em alterações na largura original do glifo e essa mudança depende do tamanho em pixels. Anteriormente, o Pango realizava operações semelhantes através do FreeType, que suporta hinting, mas depois mudou para o HarfBuzz, que fornece o processamento de glifos sem estar atrelado ao tamanho deles. Portanto, a resolução dos problemas surgidos com o uso do Pango está sob a responsabilidade do Pango, e não do HarfBuzz.
No final das contas, Behdad Esfahbod uma grande retrospectiva do desenvolvimento da pilha de fontes do Linux. Após sua saída para o Google, as bibliotecas Pango e Cairo ficaram praticamente abandonadas e entraram em estagnação. No HarfBuzz, o trabalho se concentrou no suporte a fontes variáveis (variable-font), enquanto a Red Hat focou principalmente no GTK e Glib. Com o tempo, os avanços em fontes variáveis foram transferidos para o FreeType, fontconfig e Cairo, mas permaneceram inacabados no Pango devido à falta de desenvolvedores. O acesso às novas APIs no Pango foi disponibilizado por meio da abstração FontMap e era suportado apenas para backends baseados no FreeType. Os backends para Windows e macOS estão sem suporte há mais de 10 anos.
Após a expansão de dispositivos móveis e navegadores, a Microsoft interrompeu o suporte ao renderização subpixel de fontes e renderização no estilo GDI no Windows 8. O macOS sempre apoiou a renderização, que nesta discussão é chamada de "desfocada". Desde 2018, vários desenvolvedores do HarfBuzz tentaram transferir as funcionalidades adicionadas ao HarfBuzz nos últimos anos para o Pango. Paralelamente, durante o desenvolvimento do GTK4, houve uma transição para a renderização com base em OpenGL, implicando redimensionamento linear de texto, o que intensificou a luta entre renderização pixelada e layout escalável.
O LibreOffice, Chrome e Firefox passaram a usar o HarfBuzz como motor unificado de shaping, a custo de interromper o suporte a fontes bitmap e ao formato Type1. Para fontes bitmap, aqueles que precisam delas foram convidados a convertê-las para o contêiner OpenType. Um pedido foi enviado à Adobe para implementar o Type1 para o HarfBuzz, mas eles responderam que não faz sentido, pois também estão interrompendo o suporte ao Type1 este ano.
Para acompanhar as tecnologias que avançaram, uma solução semelhante de migração para o HarfBuzz foi adotada também para a biblioteca Pango. O preço pago foi a descontinuação do suporte a algumas tecnologias antigas de 20 anos. Foi mencionado que, considerando os recursos limitados dos desenvolvedores, eles não têm braços sobrando para tudo e aqueles interessados em preservar as tecnologias antigas podem tentar encontrar alguém disposto a lidar com a manutenção das funcionalidades que lhes faltam. Para comparação, é citado o GNOME3, após o qual os insatisfeitos conseguiram continuar o desenvolvimento das tecnologias obsoletas do GNOME2 nos projetos Mate e Cinnamon. O mesmo se aplica ao Pango, mas até agora não surgiram interessados.
Fonte: opennet.ru
