Re: State of Text Rendering 2024
Hin-Tak Leung <[email protected]> Mon, 29 Jul 2024 00:06:31 +0000 (UTC)
| Newsgroups | gmane.comp.fonts.freetype.devel,gmane.comp.freedesktop.harfbuzz,gmane.comp.lib.cairo,gmane.comp.gnome.gtk+.devel.general |
|---|---|
| Message-ID | <[email protected]> |
------=_Part_1176475_217724679.1722211591529 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Please feel free to TL;DR. A bit more about skia and various skia resources; and a little commentary a= bout the state of "open-source" font editors, and open-source development i= n 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 abo= ut 6-9 months behind skia/chrome, which are at m128 now. I wasn't expect su= ch a move to happen during the beta stage - skia itself has 480 commits bet= ween m127 and m128 (a month apart) so it is about 15-25 commits per day/wor= king-day just from Skia alone, and Chrome is Nx that (N ~ 20?) - and webeng= ine is about 60%-70% of chrome by my estimate. That kind of change can be q= uite disruptive. skia-python m128 is going out in the next few days - it is only about 10 da= ys 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; f= reetype2-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 su= pport to skiasharp. Times and again I see the comment: "the code is a mess, fixing the remainin= g 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 bee= n 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 starti= ng 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 r= emaining 20% of a goal will takes 4 times the effort. People getting excite= d early, and cannot follow through when they encounter difficulties. That s= eems 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 f= ew, each of those took perhaps weeks. Skia has about ~2400 public symbols (= by comparison, FreeType about ~220 the last time I counted), and skia-pytho= n binds to around ~1000 of them (freetype-py knows about ~160 of the ~220 p= ublic symbols of FreeType). It comes with an API test of about ~2200 . At f= irst moved from m87 to m116 a year ago, only about ~800 of the public symbo= ls 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 we= ek, the number of broken tests is ~ 98 / 2200 . The rest is projected to ta= ke 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 emoti= on - people often don't want "better", if "better" means "different from wh= at they are familiar and somewhat happy with". This is certainly true for M= ac OS / IOS fans for their retina displays, and MS users who swear by speci= fic older versions of MS windows having the specific behavior of the font s= caler / ClearType at that particular version which most pleases their eyes.= That also applies to font editors and design tools - people often want gim= p 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 possibil= ity 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, was= n't it? :-). That's 20%-80% again. On Thursday 11 July 2024 at 21:52:10 BST, Hin-Tak Leung <[email protected]= forge.net> wrote: Thanks, Behdad, for a very thorough if somewhat subjective and at times inc= omplete survey. <snipped> =20 ------=_Part_1176475_217724679.1722211591529 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div> Please feel free to TL;DR.<br><br>A bit more about ski= a and various skia resources; and a little commentary about the state of &q= uot;open-source" font editors, and open-source development in general.= <br><br><br><br>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 th= e 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 kin= d of change can be quite disruptive.<br><br>skia-python m128 is going out i= n 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-bu= ilding-fun are both up to m128.<br><br>I have filed https://github.com/mono= /SkiaSharp/issues/2939 to add OT-SVG support to skiasharp.<br><br><br><br>T= imes and again I see the comment: "the code is a mess, fixing the rema= ining issues is too hard; let's throw it away and start from afresh...&= quot; . That has certainly been a comment on fontforge; mupdf came about pa= rtly, because ghostscript's pdf related code is difficult to navigate. = And there has been gtk4 from gtk3 from gtk2 from gtk1 following the same pa= ttern. There are multitude of new and promising font editors come and go.<b= r><br>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% effor= t/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 gett= ing excited early, and cannot follow through when they encounter difficulti= es. That seems to apply to some of the new and promising projects.<br><br>F= or 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 fe= w, each of those took perhaps weeks. Skia has about ~2400 public symbols (b= y 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 pu= blic symbols of FreeType). It comes with an API test of about ~2200 . At fi= rst moved from m87 to m116 a year ago, only about ~800 of the public symbol= s are found, so about 20% of skia-python was broken, or > 400/ 2200 of t= he tests were broken. When skia-python m116 was released about a month late= r 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, a= nd the last 20% will take perhaps another 2 years from now.<br><br>After th= e last comment, I also thought of "familiarity" as a powerful emo= tion - 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 displ= ays, and MS users who swear by specific older versions of MS windows having= the specific behavior of the font scaler / ClearType at that particular ve= rsion which most pleases their eyes. That also applies to font editors and = design tools - people often want gimp to be more like Photoshop, etc. Anywa= y, that's one reason I think FontVal-RX (currently projected to 2030, I= think) is interesting, for its possibility of bring Visual TrueType and Gl= yphs and Apple's libValidation (backend of Apple's ftxvalidator) to= other platforms.<br><br>Thanks for those who read this far - the last bit= s were boring reading, wasn't it? :-). That's 20%-80% again.<br><br= ><br>On Thursday 11 July 2024 at 21:52:10 BST, Hin-Tak Leung <htl10@user= s.sourceforge.net> wrote:<br><br><br>Thanks, Behdad, for a very thorough= if somewhat subjective and at times incomplete survey.<br><br><snipped&= gt; </div> =20 ------=_Part_1176475_217724679.1722211591529--