Google translated Chrome browser to the library skrifa, written in the language of RUST and providing opportunities for processing fonts in the Opentype format. The Skrifa library implements the subsidence of the capabilities of the font engine freetype required for 2D bibliotexes skia used in Chrome and Chrome and Chromium. To get rid of the SKIA library from linking to the Freetype engine, a new font backend was created, based on Skrifa.
In Chrome 128, the Bacand written on Rust was included in experimental mode for rarely used font formats, such as CFF2 and colored fonts. Starting with the release of Chrome 133, the new backend is involved for all Web mobs in the Linux, Android and ChromeOS platforms. On Windows and MacOS platforms, the new engine is still used as a spare and is used if the system does not support the font format that is trying to display the browser.
Skrifa code was developed by Google engineers as part of the instrumentation fontations and open under the licenses of MIT and Apache 2.0. About 700 Unit tests were prepared to check the correctness of the work of Skrifa. In addition to the Skrifa library, which provides an API for access to font metadata and loading of glyphs contours, the Fontations tools include low-level libraries for reading, analyzing, changing and creating font data in the Opentype format. In turn, fontations is part of the project oxidize created for translating utilities and libraries for working with texts and fonts from components in Python (fonttools, fontmake, fontmake, fontmake, fontmake nanoemoji) and C++ (Harfbuzz, freetype) for new implementations written on Rust.
The development of components on Rust began due to the insufficient efficiency of identifying errors using fuzzing testing, since font formats are too complicated for covering all possible combinations. For example, last week, a critical vulnerability was revealed in Freetype,