To co dělá harfbuzz je typograficky správné, na druhou stranu, pokud někdo má starší monitor a užíval si hinting pro hezké zobrazení textu, tak toto už moderní text stack neumí.
Otazka je, proc se tlaci "spravny" rendering, ktery se projevi treba na 600-1200-2400 dpi laserovce tedy na monitor, ktery ma radove mene DPI (72-96-150).
Co jsem pochopil, tak za hintingem byl nejaky patent / proprietarni format, takze to neslo implementovat a fonty vznikali pak i bez hintu.. ale tak dnes kdyz to jde, tak to budem ignorovat? Kam jsme to dospeli.
Za poslednu dekadu sa vela displejov s 1376x768 pri 14" vela nepredalo. Mainstream 14" pri fullhd je ~157 dpi. 21" pri fullhd je ~105 dpi. Pri tychto rozliseniach je moderny font rendering v poriadku.
Za hintingom bol bajtkod. Vytvorit manualne nahintovany font nebolo trivialne, preto ich bolo tak malo, najznamejsie su Microsoftie Arial/Courier New/Times New Roman. Manualne hintovat font bolo velmi pracne (-> drahe), tak neskor rendering enginy prisli s autohintingom, ktory nebol tak dokonaly ako manualny, ale postacujuci. Navyse doslo k zluceniu TrueType a Type1 do OpenType, a Type1 nemali podporu manualneho hintingu vobec, zatial co autohinting s nimi fungoval (autohinting engine vo freetype pochadza od Adobe).
Patenty boli za rgb-aware antialiasingom ("cleartype"), dnes su uz expirovane. Ten mal okrem patentov aj dalsie problemy, potreboval vediet layout rgb subpixelov (r-g-b a b-r-g su ok, ale pentile alebo r-g-b-w su uplne v..., spolu s klasickym rozlozenim pixelov na crt) a nefunguje celkom ok pri inverznych farbach / tmavom rezime, farebne okraje su tam vyraznejsie ako pri svetlom pozadi. Treba si pri nom davat aj velky bacha na renderovanie fontu v linear gamma a potom spravnu gamma korekciu pri blitovani do srgb surface, co je dalsia slaba cast toolkitov na linuxe.
No a do toho vliezli znakove sady daleko za WGL4, RTL (vid raison d'etre pre harfbuzz) a koniec koncov aj farebne smajliky. Toto boli dolezitejsie veci ako riesit kod pre ludi, co pouzivaju 20+ rokov stary monitor.