Разработчиците на шрифтовия стек Linux се отказаха от поддръжката на меко антиалиасинг

Някои потребители, които използват метода за хинтинг „hintfull“, може да са забелязали, че при преминаване от версия Pango 1.43 на 1.44 кернинг някои семейства шрифтове е влошено или напълно е счупено.

Разработчиците на шрифтовия стек Linux се отказаха от поддръжката на меко антиалиасинг

Проблемата е причинена от факта, че библиотеката Pango е преминала от използването на FreeType за получаване на информация за кертинг (разстоянието между глифовете) на шрифтовете към HarfBuzz, а разработчиците на последния са решили да не поддържат заглаждане на шрифтове по метода „hintfull“. Отбелязва се, че на екрани с висока плътност на пикселите (Hi-DPI) не възникват проблеми с показването на шрифтовете при използване на методи за хинтинг, различни от „hintfull“.

Отговор разработчика HarfBuzz (Behdad Esfahbod) от съответната дискусия по проблема:

Опитах се да използвам стилове за хинтинг, различни от hintfull, но само той предоставя визуализация на шрифтовете, близка до ClearType v2 в Windows 7, което, според мен, има най-добрата рендеринг сред всички съществуващи решения.

Вярно. Затова решихме да не го поддържаме повече. Можете да опитате да свикнете с „мъгливата“ визуализация или да се опитате да намерите нещо друго. Все пак ползвате Open Source, нали?

Допълнение по следите на по-нататъшното обсъждане:

В последващите коментари разработчикът обясни, че ОПС предоставя възможност за избор и тези, които не са удовлетворени от текущото състояние, могат да създадат форк на Pango. Разработчиците на HarfBuzz не могат да влияят на неговото поддържане и взетите в него решения. Behdad Esfahbod, настоящият собственик на HarfBuzz, който заема първото място по брой комити в и двата
проекти, спомена, че вече повече от 10 години не е свързан с Red Hat и не е поддържащ на Pango. От 2010 година той премина в Google и сега се занимава само с HarfBuzz, който по-рано беше негов личен проект. HarfBuzz не контролира процеса на изрисуване и Pango може да пренаписва поисканите режими на хинтинг от своя страна.

Друг разработчик на HarfBuzz подчерта, че проблемът е от страна на Pango, тъй като HarfBuzz не е система за рендеринг на шрифтове и не поддържа хинтинг по своята архитектура. Ако Pango се нуждае от запазване на хинтинга, преминаването към HarfBuzz не е избор, на който може да се разчита за неговата поддръжка. В качеството на Причината за неуспеха на реализирането на хинтинг в HarfBuzz е, че някои режими на хинтинг водят до промяна на първоначалната ширина на глифа и тази промяна зависи от пикселния размер. По-рано Pango извършваше подобни операции чрез FreeType, който поддържа хинтинг, но след това премина на HarfBuzz, който осигурява обработка на глифове без привязка към техния размер. Следователно решението на възникналите проблеми при използването на Pango е отговорност на Pango, а не на HarfBuzz.

В крайна сметка Бехдад Есфахбод публикувал значителна ретроспектива на развитието на шрифтовия стек на Linux. След като той напусна Google, библиотеките Pango и Cairo почти бяха оставени на произвола на съдбата и изпаднаха в стагнация. В HarfBuzz работата се фокусира върху поддръжката на адаптивни изменчиви шрифтове (variable-font), а Red Hat постави основен акцент на GTK и Glib. С времето разработки в областта на изменчивите шрифтове бяха прехвърлени в FreeType, fontconfig и Cairo, но останаха незавършени в Pango заради липсата на разработчици. Достъпът до нови API в Pango беше предоставен чрез абстракция FontMap и се поддържаше само за бекенди, базирани на FreeType. Бекендите за Windows и macOS повече от 10 години са без поддръжка.

След експанзията на мобилните устройства и браузерите, Microsoft прекрати поддръжката на субпикселен рендеринг на шрифтове и рисуването в стил GDI в Windows 8. macOS винаги е поддържал рисуване, което в тази дискусия се нарича "размито". От 2018 г. няколко разработчика на HarfBuzz се опитаха да пренесат новите функции, добавени през последните години, в Pango. Паралелно, при разработката на GTK4, беше извършен преход към рисуване на база OpenGL, което предполага линейно мащабиране на текста, което задълбочи противоречието между пикселовото рисуване и мащабируемата подредба.

LibreOffice, Chrome и Firefox преминаха на използването на HarfBuzz като унифициран shaping-движок, в замяна на прекратяване на поддръжката на растрови шрифтове и формат Type1. За растровите шрифтове, на тези, които са им необходими, беше предложено да ги преобразуват в OpenType контейнер. В Adobe беше изпратено запитване за реализиране на Type1 за HarfBuzz, но те отговориха, че в това няма смисъл, тъй като сами спират поддръжката на Type1 тази година.

За да навакса с технологиите, беше взето аналогично решение за преминаване към HarfBuzz и за библиотеката Pango. Цената беше прекратяване на поддръжката на някои стари технологии на 20 години. Посочено е, че с оглед на ограничените ресурси разработчиците нямат достатъчно ръце и заинтересованите в запазването на старите технологии могат да се опитат да намерят някого, който да поеме поддръжката на необходимата им функционалност. За сравнение се посочва GNOME3, след появата на който недоволните успяха да продължат развитието на остарелите технологии GNOME2 в рамките на проектите Mate и Cinnamon. Същото важи и за Pango, но все още няма желаещи.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster