4 ms·
Hah: I am very particular about fonts myself but what bugs me most isn't sub-pixel hinting (which is "good enough" with the latest freetype IMHO) it's the size
by riskable 6y ago
Hah: I am very particular about fonts myself but what bugs me most isn't sub-pixel hinting (which is "good enough" with the latest freetype IMHO) it's the size of fonts. Windows is so far off the mark on 99% of computers and it drives me crazy!
Repeat after me:
72pt is one inch tall!
72pt is one inch tall!
72pt is one inch tall!
The "point" scale of fonts is actually a precise, real-world measurement like inches, millimeters, etc. Fonts may differ in how much space each glyph takes up but in general they should at least be close to the correct size.
Test it: Open up a word processor and load some reasonably normal font (e.g. Arial) and make some text that's 72pt. Then hold a ruler up to your screen: Is it about 1 inch tall? How far off the mark is it?
If you're using a modern, high-DPI display it's probably waaaaay TF off, haha. Even with regular displays it'll be off and there's actually no way to fix it because you can't tell Windows the precise DPI of your display! It tries to guess based on the DDC data given by your display but then averages the X/Y together to scale fonts. So if your X DPI is higher than your Y DPI it'll always get it wrong. Always!
Macs cheat in this area by always having displays of a fixed DPI. For the longest time all Apple displays were precisely 96 dpi (with perfectly square pixels) but recently changed it to 220-ish and made adjustments in their font rendering engine to match. I have no idea how they're handling non-Apple displays these days.
Linux, on the other hand does it right (at least X11 and KDE do) in that it scales fonts very accurately based on the DPI presented by your display via the DDC protocol (or if your monitor doesn't provide that you can set both X and Y DPI manually).
Gnome and GTK applications have the same problem as Windows though in that they only take one DPI setting and if the DDC protocol gives separate X/Y values it'll just average them and the results can be... Ridiculous. You don't really notice the weirdly-stretched fonts until you open a KDE application side-by-side with a GTK one.
- rhn_mk1 6y agoI have never seen a display with non-square pixels, except maybe on cameras. Where are those typically installed?
- zozbot234 6y agoCRT monitors will naturally display non-square pixels, depending on the resolution. Sometimes LCD's are run in non-native resolution due to GPU or driver issues, which results in a stretched display where the input pixels are not square.
- rzzzt 6y agoCGA displays had non-square (logical) pixels. The ratio for 320×200 resolution is 1.6, but it is shown on a 4:3 (1.333) screen.
- bollu 6y agoWhere can I read more about how 72pt ~ 1 inch? Where does one g to for a "course on typography"?
- kornholi 6y agoThis was posted recently: https://tonsky.me/blog/font-size/ https://tonsky.me/blog/font-size/
- snickerer 6y agoOn top of that mess you describe here lives the web designer pixel mess. Web designers loved to do their web pages with pixel measurements instead of real lengths in millimeters or points. Which is a horrible idea because of the different DPIes. DPIes became bigger and bigger over time and browser developers were between two fronts of bullshit. The OS told them a bullshit DPI and web pages gave them a bullshit pixel length design. What did they do? The invented a third layer of bullshit to fix the other two (a little): the fake pixel. "Pixels" in web pages today have not the same length like the screen's real pixels, they are somehow scaled. This is all broken beyond repair. I wished that browser developers would have implemented it the right way. A pixel is a pixel and an inch is an inch. Many sites would be broken after that and the web designers would be forced to fix that and to use for example millimeters or points for lengths. And in a perfect world the OS would then use the correct DPI to display the rendered result.