HarfBuzz 8.0 został wydany w sobotę jako najnowsza wersja funkcji dla tej biblioteki kształtowania tekstu używanej w wielu projektach oprogramowania open source, od zestawów narzędzi GUI po środowiska graficzne i inne ważne aplikacje.

Minęło zaledwie kilka miesięcy od wydania HarfBuzz 7.0, a HarfBuzz 8.0 zadebiutował w ten weekend z bardziej ekscytującymi zmianami. HarfBuzz 8.0 wprowadza nowy, eksperymentalny moduł kształtujący WebAssembly „WASM”, który zapewnia większą elastyczność kształtowania OpenType/AAT/Graphite poprzez umożliwienie osadzania WASM w pliku czcionki.

Nowa dokumentacja HarfBuzz dotycząca tego modułu kształtującego WwebAssembly wyjaśnia:

Jeśli standardowy mechanizm kształtowania OpenType nie zapewnia wystarczającej elastyczności, Harfbuzz umożliwia napisanie własnego mechanizmu kształtowania w WebAssembly i osadzenie go w Twojej czcionce! Każda czcionka, która zawiera tabelę Wasm, zostanie przekazana do modułu kształtującego WebAssembly.

Silnik kształtujący Harfbuzz, w przeciwieństwie do swoich odpowiedników CoreText i DirectWrite, odpowiada tylko za niewielką część procesu renderowania tekstu. W szczególności Harfbuzz jest wyłącznie odpowiedzialny za kształtowanie; chociaż Harfbuzz ma interfejsy API do uzyskiwania dostępu do konturów glifów, zwykle inne biblioteki w stosie renderowania tekstu wolnego oprogramowania są odpowiedzialne za segmentację tekstu na przebiegi, skalowanie i rasteryzację konturów, ustawianie tekstu w wierszach i tak dalej.

Harfbuzz jest zatem ograniczony do przekształcania bufora punktów kodowych dla podzielonego na segmenty przebiegu tego samego skryptu, języka, czcionki i ustawień odmian w glify i pozycjonowania ich. To także wszystko, co możesz zrobić z WASM shaper; możesz wpływać na proces mapowania ciągu znaków na tablicę glifów, możesz określić położenie tych glifów i ich szerokość, ale nie możesz manipulować konturami, wariacjami, podziałami linii ani wpływać na układ tekstu między tekstami o różnej czcionce , odmiana, język, skrypt lub wybór funkcji OpenType.

HarfBuzz 8.0 dodaje również obsługę podzbiorów dla czcionek powyżej 64k/VarComposites, nowe interfejsy API i różne optymalizacje wydajności. Informacje o wersji HarfBuzz 8.0 szczegółowo opisują „wiele dużych optymalizacji prędkości”, w tym do 89% szybszą wydajność ładowania zmiennych czcionek do kształtowania, do 88% szybszą w małym podzbiorze dużych czcionek, ponad 50% szybsze ładowanie czcionki Roboto do kształtowania, i wiele innych dwucyfrowych przyspieszeń procentowych.
Pobieranie i więcej szczegółów na temat wersji HarfBuzz 8.0 można znaleźć na GitHub.

Categories: IT Info