Dominik Röttsches 

5 Followers
209 Following
40 Posts
Hacking fonts and layout on Google Chrome. Loving sailing, swimming, cooking and the nordic outdoors. #colrv1 #chrome #typography #opensource #fonts

Today the last FreeType dependency was removed from Blink in https://chromium-review.googlesource.com/c/chromium/src/+/7232260

FontConfig was the last client. Because we completed migrating FontConfig font scanning from FreeType to Rust memory-safe Fontations, we could now remove it.

Big thanks to FontConfig maintainer Akira Tagoh for many reviews and support.

Until PDFium moves to Fontations, We still ship FreeType as part of Chromium when bundled with PDFium.

On Android, we saved ~400kb of binary size removing FreeType.

@mxmehl This happens on https://accounts.bahn.de/auth/realms/db/account/ when changing from a non-single-letter local part address to one that has a one-letter local part. Similarly this happens, when registering a new account on accounts.bahn.de - the form does a live validation of the email and rejects it with a red error message saying it's invalid, then grays out the button to continue.

Thanks for following-up, much appreciated (I understand there's no promises, of course.).

Deutsche Bahn - Login

😥 🐼 My email address [email protected] is too short for Deutsche Bahn. #db #deutschebahn #email

COLRv1 has come to Adobe Illustrator! - What a time to be alive! :) Congratulations to Adobe on that release. Glad to see further support for the format and Adobe seeing the utility in adding support for this format.

Thanks to pointers by @khaled and @underware

https://helpx.adobe.com/illustrator/desktop/new-features/whats-new.html (in the Feburary 2025 release notes)

@adamretter Our focus is improving security. Saxon/C, which AFAIU is produced by transpiling Java to native using GraalVM, would give us native code but lacks the security guarantees of a memory safe language. Also, we are not able to include the complexity of a subset of a native-compiled Java VM into Chromium.
We found existing Rust alternatives to to not be a straightforward replacement. And, as in the post, we do want to focus on securing and improving the features that power the web.

@bramboeck @pixelambacht For monochromatic rendering pixel comparison we used the Noto corpus, covering 78 scripts and running them in all relevant rendering modes. If you have access to gold.skia.org, you can find them under `fontations_compare_ft*` - Here's one example fontations_compare_ft_NotoSans_Deva_hint_slight - slight hinting for Devanagari, grayscale antialiased.

Other than the Skia tests, Chrome/Blink's virtual/text-antialiasing web tests cover a lot more.

Dominik Röttsches :verified: (@[email protected])

Replying to https://typo.social/@pixelambacht/114190022971359802 @pixelambacht : We went through extreme testing, even implemented compatibility logic in Fontations to match FreeType. For hinting mode (TrueType instructions, autohinting, off), subpixel/grayscale antialiasing, we performed pixel tests and drove down the pixel diffs to almost nothing (tiny difference in RGB filter width remains). For metrics (advances, ascent, descent) and the contour path we had unit tests clamping results down to exactly match FT.

typo.social

Replying to https://typo.social/@pixelambacht/114190022971359802 @pixelambacht :

We went through extreme testing, even implemented compatibility logic in Fontations to match FreeType.

For hinting mode (TrueType instructions, autohinting, off), subpixel/grayscale antialiasing, we performed pixel tests and drove down the pixel diffs to almost nothing (tiny difference in RGB filter width remains).

For metrics (advances, ascent, descent) and the contour path we had unit tests clamping results down to exactly match FT.

Our blog post is live: We just published https://developer.chrome.com/blog/memory-safety-fonts sharing our journey on how we migrated from FreeType to Fontations in Chrome to improve memory safety and development velocity in our cross-platform open-source font stack. Shipping in Chrome 133. (Reposting with public visibility.)
Memory safety for web fonts  |  Blog  |  Chrome for Developers

Learn how and why the Chrome team has replaced FreeType with Skrifa.

Chrome for Developers

Here's my ATypI talk on the Rust secure font stack we're working on in the Chrome and Google Fonts teams, powering our open-source font rendering stack, and starting to be featured in Chrome M131 beta:

https://www.youtube.com/watch?v=2HuxUN-mEIY

Thanks to @atypi for hosting the conference and publishing the talks!

#chrome #fonts #rustlang #ATypI

ATypI Brisbane 2024 | Dominik Röttsches | Crafting New Fontations for Chrome

YouTube