HarfBuzz 8.0 is zaterdag uitgebracht als de nieuwste feature-release voor deze tekstvormende bibliotheek die wordt gebruikt door veel open-source softwareprojecten, van GUI-toolkits tot desktopomgevingen en andere prominente applicaties.
Het is nog maar een paar maanden geleden dat HarfBuzz 7.0 werd uitgebracht, terwijl HarfBuzz 8.0 dit weekend debuteerde met meer opwindende veranderingen. HarfBuzz 8.0 introduceert een nieuwe, experimentele WebAssembly”WASM”-shaper die meer flexibiliteit biedt voor OpenType/AAT/Graphite-shaping doordat WASM in het lettertypebestand kan worden ingesloten.
HarfBuzz’s nieuwe documentatie rond deze WebAssembly shaper legt uit:
Als de standaard OpenType-vormgevingsengine u niet voldoende flexibiliteit biedt, kunt u met Harfbuzz uw eigen vormgevingsengine schrijven in WebAssembly en deze in uw lettertype insluiten! Elk lettertype dat een Wasm-tabel bevat, wordt doorgegeven aan de WebAssembly-shaper.
…
De Harfbuzz-vormgevingsengine is, in tegenstelling tot zijn tegenhangers CoreText en DirectWrite, slechts verantwoordelijk voor een klein deel van het tekstweergaveproces. Concreet is Harfbuzz puur verantwoordelijk voor de vormgeving; hoewel Harfbuzz wel API’s heeft voor toegang tot glyph-contouren, zijn doorgaans andere bibliotheken in de vrije software-tekstweergavestack verantwoordelijk voor tekstsegmentatie in runs, omtrekschaling en rastering, tekst op lijnen plaatsen, enzovoort.Harfbuzz is daarom beperkt tot het omzetten van een buffer van codepunten voor een gesegmenteerde run van hetzelfde script, taal, lettertype en variatie-instellingen, in glyphs en positionering ervan. Dit is ook alles wat je kunt doen met de WASM-shaper; u kunt het proces van het in kaart brengen van een reeks tekens in een reeks glyphs beïnvloeden, u kunt bepalen hoe die glyphs worden gepositioneerd en hun breedte vooraf, maar u kunt contouren, variaties, regeleinden niet manipuleren of de tekstlay-out tussen teksten met verschillende lettertypen beïnvloeden , variatie, taal, script of OpenType-functieselectie.
HarfBuzz 8.0 voegt ook subsetting-ondersteuning toe voor meer dan 64k/VarComposites-lettertypen, nieuwe API’s en een verscheidenheid aan prestatie-optimalisaties. De release-opmerkingen van HarfBuzz 8.0 beschrijven”veel grote snelheidsoptimalisaties”, waaronder tot 89% snellere prestaties voor het laden van variabele lettertypen voor vormgeving, tot 88% sneller in kleine subset van grote lettertypen, meer dan 50% sneller bij het laden van het Roboto-lettertype voor vormgeving, en vele andere versnellingen met dubbele cijfers.
Downloads en meer informatie over de release van HarfBuzz 8.0 via GitHub.