Я, помнится, долго ругался на шрифторендер в линуксах. Теперь я на него не ругаюсь, а скорее удивлен.
Потому что в винде шрифторендер заточен вроде как под “самый читабельный на 96-dpi мониторах шрифт при дефолтных настройках монитора”, в Mac – под WYSIWYG, а в Linux – “давайте обойдемся без закрытых стандартов” – ну, мало ли, кому-то, наверное, и это нравится (Не мне). Хотя это лишний повод поругать Apple и software patents :)
Так вот. на 120 dpi виндовый шрифторендер тоже хорош, а вот на 144 стандартные шрифты резко обретают за счет того самого хинтинга 2пиксельную толщину линий, что вызывает ощущение “буэээ” (на 170 и выше – уже не так заметно, но экран мой – 150 dpi, и использую я в венде сейчас именно 144).
В WPF приложениях (до WPF4) по дефолту стоит т.н. Ideal antialiasing, который тоже гораздо ближе к Mac-овскому, но практика показывает, что народ не оценил, т.к. на 120 dpi и ниже виндовый – лучше (размытие крупных пикселей – не самый лучший вариант)
И внезапно оказывается, что утилитка ezGDI, подменяющая шрифторендер GDI/GDI+, на определенных настройках делает тот самый Mac-style antialias (иначе говоря, очертания букв не изменяются при зуме, за счет того, что линии полуторапиксельной толщины не пытаются ровнять по границам пикселей. Правда, с кернингом у нее все так же плохо на любых настройках. Но разница в толщин штрихов перевешивает и заметна невооруженным глазом)
Внимание, вопрос: основана ezGDI на FreeType2. Он, вроде как, самый что ни на есть *nix/GPL. Так почему же, гм, это поведение не является дефолтным в линуксах?
P.S. В идеале я бы хотел (для 150 dpi) FreeType2 + BCI, или WPF3-style AA на всех шрифтах. Но возможно ли сделать такой билд – не знаю :(