O HarfBuzz 8.0 foi lançado no sábado como o mais novo lançamento de recurso para esta biblioteca de modelagem de texto usada por muitos projetos de software de código aberto, desde kits de ferramentas GUI até ambientes de desktop e outros aplicativos importantes.
Faz apenas alguns meses desde que o HarfBuzz 7.0 foi lançado, enquanto o HarfBuzz 8.0 estreou neste fim de semana com mudanças mais emocionantes. O HarfBuzz 8.0 apresenta um novo modelador WebAssembly”WASM”experimental que oferece mais flexibilidade para modelagem OpenType/AAT/Graphite, permitindo que o WASM seja incorporado ao arquivo de fonte.
A nova documentação do HarfBuzz sobre este modelador WebAssembly explica:
Se o mecanismo de modelagem OpenType padrão não oferece flexibilidade suficiente, o Harfbuzz permite que você escreva seu próprio mecanismo de modelagem no WebAssembly e incorpore-o à sua fonte! Qualquer fonte que contenha uma tabela Wasm será passada para o modelador WebAssembly.
…
O mecanismo de modelagem Harfbuzz, ao contrário de seus equivalentes CoreText e DirectWrite, é responsável apenas por uma pequena parte do processo de renderização de texto. Especificamente, Harfbuzz é puramente responsável pela modelagem; embora o Harfbuzz tenha APIs para acessar contornos de glifos, normalmente outras bibliotecas na pilha de renderização de texto de software livre são responsáveis pela segmentação de texto em execuções, dimensionamento e rasterização de contorno, configuração de texto em linhas e assim por diante.O Harfbuzz está, portanto, restrito a transformar um buffer de pontos de código para uma execução segmentada do mesmo script, idioma, fonte e configurações de variação em glifos e posicioná-los. Isso também é tudo o que você pode fazer com o modelador WASM; você pode influenciar o processo de mapeamento de uma sequência de caracteres em uma matriz de glifos, pode determinar como esses glifos são posicionados e suas larguras avançadas, mas não pode manipular contornos, variações, quebras de linha ou afetar o layout do texto entre textos de fontes diferentes , variação, idioma, script ou seleção de recurso OpenType.
O HarfBuzz 8.0 também adiciona suporte a subconjuntos para fontes além de 64k/VarComposites, novas APIs e uma variedade de otimizações de desempenho. As notas de lançamento do HarfBuzz 8.0 detalham”muitas grandes otimizações de velocidade”, incluindo desempenho até 89% mais rápido para carregar fontes variáveis para modelagem, até 88% mais rápido em pequenos subconjuntos de fontes grandes, mais de 50% mais rápido no carregamento da fonte Roboto para modelagem, e muitos outros aceleradores percentuais de dois dígitos.
Downloads e mais detalhes sobre a versão HarfBuzz 8.0 via GitHub.