Infosec Scribbles

Fixing the Linux font rendering stack checklist

This is a “note to self” type of page. It spawned from my research on Linux font rendering after realizing how unfortunate the situation was. Desktop Linux in general cannot boast great software craftsmanship and is a bit of a cesspit, but font rendering in particular is easy enough to fix.

  • Get subpixel positioning enabled in Chrome. Chromium team is not interested in fixing it, but you can use the bug feature in comment 39 here
    • Currently there is a nasty bug in Chromium that will break kerning when combining this with the v40 TrueType hinting engine of FreeType. Chromium team is not interested in fixing it either, so it will remain until myself or someone else finds the time to contribute a fix.
    • Firefox already supports subpixel positioning both in the browser and the mail client through gfx.text.subpixel-position.force-enabled and gfx.webrender.quality.force-subpixel-aa-where-possible entries in about:config.
  • Validate r/linux and HackerNews theory that Mac OS prior to Mojave didn’t have piss poor font rendering and correct my original post if true. Updated the blog post!
  • Get Poppler to not hardcode the autohinter as it currently does. Where to start.
  • Get Evince to be on par with Adobe reader in font rendering. Why, where to start.
  • Get subpixel positioning in Cairo. Done by Matthias Clasen and Nikolaus Waxweiler, thank you!
  • Get subpixel positioning in Gtk. Done by Matthias Clasen and Nikolaus Waxweiler, thank you!

FAQ

  • Q: Why do this?

  • A: As a full time Linux user on personal devices, who switched after 25 years of Windows, I have to look at ugly text every day if I don’t, and it upsets me immensely.

  • Q: Why bother, just buy a HiDPI screen?

  • A: In my opinion and experience, HiDPI is a niche gimmick similar to 3D movies. On Linux, there is enough legacy code not compatible with HiDPI that I do not expect to switch to HiDPI any time soon. Besides, it offers no benefits to day-to-day tasks on a computer, although I would immediately buy a 600 DPI tablet for reading books if it existed.

  • Q: Why in this order?

  • A: Because this is the order of importance to me, you are welcome to do it yourself sooner. I will buy you a coffee if you do.

  • Q: You are wrong about X, and I am prepared to educate you on the technical reasons why.

  • A: Hit me up on Telegram.