HarfBuzz 8.0 a été publié samedi en tant que dernière version de cette bibliothèque de mise en forme de texte utilisée par de nombreux projets logiciels open source, des boîtes à outils GUI aux environnements de bureau et autres applications importantes.
Cela ne fait que quelques mois que HarfBuzz 7.0 est sorti tandis que HarfBuzz 8.0 a fait ses débuts ce week-end avec des changements plus excitants. HarfBuzz 8.0 introduit un nouveau shaper expérimental WebAssembly”WASM”qui offre plus de flexibilité pour la mise en forme OpenType/AAT/Graphite en permettant à WASM d’être intégré dans le fichier de police.
La nouvelle documentation autour de ce shaper WwebAssembly explique :
Si le moteur de mise en forme OpenType standard ne vous donne pas assez de flexibilité, Harfbuzz vous permet d’écrire votre propre moteur de mise en forme dans WebAssembly et de l’intégrer dans votre police ! Toute police contenant une table Wasm sera transmise au shaper WebAssembly.
…
Le moteur de mise en forme Harfbuzz, contrairement à ses homologues CoreText et DirectWrite, n’est responsable que d’une petite partie du processus de rendu du texte. Plus précisément, Harfbuzz est uniquement responsable de la mise en forme ; bien que Harfbuzz ait des API pour accéder aux contours de glyphes, généralement d’autres bibliothèques de la pile de rendu de texte du logiciel libre sont responsables de la segmentation du texte en séries, de la mise à l’échelle et de la pixellisation des contours, de la définition du texte sur les lignes, etc.Harfbuzz est donc limité à transformer un tampon de points de code pour une exécution segmentée des mêmes paramètres de script, de langue, de police et de variation, en glyphes et à les positionner. C’est aussi tout ce que vous pouvez faire avec le shaper WASM ; vous pouvez influencer le processus de mappage d’une chaîne de caractères dans un tableau de glyphes, vous pouvez déterminer comment ces glyphes sont positionnés et leurs largeurs d’avance, mais vous ne pouvez pas manipuler les contours, les variations, les sauts de ligne ou affecter la disposition du texte entre des textes de police différente , variante, langue, script ou sélection de fonctionnalités OpenType.
HarfBuzz 8.0 ajoute également la prise en charge des sous-ensembles pour les polices au-delà de 64k/VarComposites, de nouvelles API et une variété d’optimisations de performances. Les notes de publication de HarfBuzz 8.0 détaillent”de nombreuses optimisations à grande vitesse”, notamment des performances jusqu’à 89% plus rapides pour le chargement des polices variables pour la mise en forme, jusqu’à 88% plus rapides dans un petit sous-ensemble de grandes polices, plus de 50% plus rapides lors du chargement de la police Roboto pour la mise en forme, et de nombreux autres pourcentages d’accélération à deux chiffres.
Téléchargements et plus de détails sur la version HarfBuzz 8.0 via GitHub.