State of Text Rendering 2024

Hin-Tak Leung htl10 at users.sourceforge.net
Mon Jul 29 00:06:31 UTC 2024


 Please feel free to TL;DR.

A bit more about skia and various skia resources; and a little commentary about the state of "open-source" font editors, and open-source development in general.



Since I last wrote, qt 6.8 has gotten into beta2, and it is interesting to note that they switched the webengine backend (a fork of the chromium code) from m118 to in qt 6.8 beta 1 to m122 in qt 6.8 beta 2. So it is still about 6-9 months behind skia/chrome, which are at m128 now. I wasn't expect such a move to happen during the beta stage - skia itself has 480 commits between m127 and m128 (a month apart) so it is about 15-25 commits per day/working-day just from Skia alone, and Chrome is Nx that (N ~ 20?) - and webengine is about 60%-70% of chrome by my estimate. That kind of change can be quite disruptive.

skia-python m128 is going out in the next few days - it is only about 10 days behind skia. The patches to add OT-SVG support to qt webengine (https://github.com/HinTak/Qt6WE-OT-SVG/ ) is updated to m122 as in qt 6.8 beta 2; freetype2-demos-skia and skia-building-fun are both up to m128.

I have filed https://github.com/mono/SkiaSharp/issues/2939 to add OT-SVG support to skiasharp.



Times and again I see the comment: "the code is a mess, fixing the remaining issues is too hard; let's throw it away and start from afresh..." . That has certainly been a comment on fontforge; mupdf came about partly, because ghostscript's pdf related code is difficult to navigate. And there has been gtk4 from gtk3 from gtk2 from gtk1 following the same pattern. There are multitude of new and promising font editors come and go.

I understand working on somebody else's code is not as glamourous as starting a new project. I also see what I describe as the 20%-80% effort/outcome divide coming up often: 20% of effort can get 80% of a goal done, but the remaining 20% of a goal will takes 4 times the effort. People getting excited early, and cannot follow through when they encounter difficulties. That seems to apply to some of the new and promising projects.

For something quantifiable - old MS FontVal backend was capable of emitting about ~70 different font error/warning messages ; the first 50+ took a few weeks to add to freetype. The rest (~20) took another 2+ years; the last few, each of those took perhaps weeks. Skia has about ~2400 public symbols (by comparison, FreeType about ~220 the last time I counted), and skia-python binds to around ~1000 of them (freetype-py knows about ~160 of the ~220 public symbols of FreeType). It comes with an API test of about ~2200 . At first moved from m87 to m116 a year ago, only about ~800 of the public symbols are found, so about 20% of skia-python was broken, or > 400/ 2200 of the tests were broken. When skia-python m116 was released about a month later last summer, it was down to ~150/2200 . A year on, skia-python m128 next week, the number of broken tests is ~ 98 / 2200 . The rest is projected to take another two years. So let's say it was 400 broken, the first 250 (~65%) took about a month, the next 50 ( another ~15% ) took another year, and the last 20% will take perhaps another 2 years from now.

After the last comment, I also thought of "familiarity" as a powerful emotion - people often don't want "better", if "better" means "different from what they are familiar and somewhat happy with". This is certainly true for Mac OS / IOS fans for their retina displays, and MS users who swear by specific older versions of MS windows having the specific behavior of the font scaler / ClearType at that particular version which most pleases their eyes. That also applies to font editors and design tools - people often want gimp to be more like Photoshop, etc. Anyway, that's one reason I think FontVal-RX (currently projected to 2030, I think) is interesting, for its possibility of bring Visual TrueType and Glyphs and Apple's libValidation (backend of Apple's ftxvalidator) to other platforms.

Thanks for those who read this far - the last bits were boring reading, wasn't it? :-). That's 20%-80% again.


On Thursday 11 July 2024 at 21:52:10 BST, Hin-Tak Leung <htl10 at users.sourceforge.net> wrote:


Thanks, Behdad, for a very thorough if somewhat subjective and at times incomplete survey.

<snipped>  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cairographics.org/archives/cairo/attachments/20240729/5b7e3999/attachment.htm>


More information about the cairo mailing list