HarfBuzz 8.0 wurde am Samstag als neueste Funktionsversion dieser Textgestaltungsbibliothek veröffentlicht, die von vielen Open-Source-Softwareprojekten verwendet wird, von GUI-Toolkits bis hin zu Desktop-Umgebungen und anderen wichtigen Anwendungen.
Es ist erst ein paar Monate her, seit HarfBuzz 7.0 veröffentlicht wurde, während HarfBuzz 8.0 dieses Wochenende mit weiteren aufregenden Änderungen auf den Markt kam. HarfBuzz 8.0 führt einen neuen, experimentellen WebAssembly „WASM“-Shaper ein, der mehr Flexibilität für OpenType/AAT/Graphite-Shaping bietet, indem WASM in die Schriftartdatei eingebettet werden kann.
Die neue Dokumentation von HarfBuzz rund um diesen WebAssembly-Shaper erklärt:
Wenn Ihnen die standardmäßige OpenType-Shaping-Engine nicht genügend Flexibilität bietet, können Sie mit Harfbuzz Ihre eigene Shaping-Engine in WebAssembly schreiben und in Ihre Schriftart einbetten! Jede Schriftart, die eine Wasm-Tabelle enthält, wird an den WebAssembly-Shaper übergeben.
…
Die Harfbuzz-Shaping-Engine ist im Gegensatz zu ihren Gegenstücken CoreText und DirectWrite nur für einen kleinen Teil des Textrenderingprozesses verantwortlich. Konkret ist Harfbuzz ausschließlich für die Gestaltung verantwortlich; Obwohl Harfbuzz über APIs für den Zugriff auf Glyphenumrisse verfügt, sind normalerweise andere Bibliotheken im Text-Rendering-Stack der freien Software für die Textsegmentierung in Läufe, die Skalierung und Rasterung von Umrissen, das Setzen von Text auf Zeilen usw. verantwortlich.Harfbuzz beschränkt sich daher darauf, einen Puffer von Codepunkten für eine segmentierte Ausführung desselben Skripts, derselben Sprache, derselben Schriftart und derselben Variationseinstellungen in Glyphen umzuwandeln und diese zu positionieren. Das ist auch alles, was Sie mit dem WASM-Shaper tun können; Sie können den Prozess der Zuordnung einer Zeichenfolge zu einem Array von Glyphen beeinflussen, Sie können die Positionierung dieser Glyphen und ihre Vorschubbreite bestimmen, Sie können jedoch keine Umrisse, Variationen, Zeilenumbrüche manipulieren oder das Textlayout zwischen Texten unterschiedlicher Schriftarten beeinflussen , Variation, Sprache, Skript oder OpenType-Funktionsauswahl.
HarfBuzz 8.0 bietet außerdem Teilmengenunterstützung für VarComposites-Schriftarten über 64 KB hinaus, neue APIs und eine Reihe von Leistungsoptimierungen. In den Versionshinweisen zu HarfBuzz 8.0 werden „viele große Geschwindigkeitsoptimierungen“ detailliert beschrieben, darunter bis zu 89 % schnellere Leistung beim Laden variabler Schriftarten für die Gestaltung, bis zu 88 % schneller bei kleinen Teilmengen großer Schriftarten, über 50 % schneller beim Laden der Roboto-Schriftart für die Gestaltung, und viele andere Beschleunigungen im zweistelligen Prozentbereich.
Downloads und weitere Details zur HarfBuzz 8.0-Version über GitHub.