Распрацоўнікі стэка шрыфтоў Linux адмовіліся ад падтрымкі мяккага згладжвання

Некаторыя карыстачы, якія выкарыстоўваюць метад хінтынгу "hintfull", маглі заўважыць, што пры пераходзе з версіі Pango 1.43 на 1.44 кёрнінг некаторых сямействаў шрыфтоў пагоршыўся або цалкам зламаўся.

Распрацоўнікі стэка шрыфтоў Linux адмовіліся ад падтрымкі мяккага згладжвання

Праблема выклікана тым, што бібліятэка Панга перайшла ад выкарыстання 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 не з'яўляецца сістэмай рэндэрынгу шрыфтоў і не падтрымлівае хінтынг па сваёй архітэктуры. Калі Pagno неабходна захаванне хінтынга, то пераход на HarfBuzz не той выбар, які дазваляе разлічваць на яго падтрымку. У якасці прычын адмовы рэалізаваць хінтынг у HarfBuzz паказана тое, што некаторыя рэжымы хінтынгу прыводзяць да змены першапачатковай шырыні гліфа і гэтая змена залежыць ад піксельнага памеру. Раней Pango выконваў падобныя аперацыі праз FreeType, які падтрымлівае хінтынг, але затым пераключыўся на HarfBuzz, які забяспечвае апрацоўку гліфаў без прывязкі да іх памеру. Таму рашэнне якія ўзніклі пры выкарыстанні Pango праблем ляжыць у вобласці адказнасці Pango, а не HarfBuzz.

У канчатковым рахунку Behdad Esfahbod апублікаваў вялікую рэтраспектыву развіцця шрыфтавога стэка 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 паспрабавалі перанесці дададзеныя за апошнія гады магчымасці 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

Дадаць каментар