Някои потребители, които използват метода за хинтинг "hintfull", могат да забележат, че при преминаването от версия Pango 1.43 на 1.44 някои семейства шрифтове или .
Проблемът е причинен от това, че библиотеката е преминала от използването на за получаване на информация за кърнинга (разстоянието между глифовете) на шрифтовете към , а разработчиците на последното решение взеха решение антиалиасинг на шрифтовете с метода "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 прекрати в Windows 8 поддръжката на субпикселна рендеринг на шрифтове и рисуване по стил GDI. 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
