Twórcy stosów czcionek systemu Linux porzucają obsługę miękkiego wygładzania

Niektórzy użytkownicy korzystający z metody podpowiedzi mogli zauważyć, że podczas aktualizacji Pango z wersji 1.43 do 1.44 kerning niektóre rodziny czcionek pogorszyło się lub całkowite złamany.

Twórcy stosów czcionek systemu Linux porzucają obsługę miękkiego wygładzania

Przyczyną problemu jest biblioteka Pango wyłączony z użytku FreeType aby uzyskać informacje na temat kerningu (odległości między glifami) czcionek HarfBuzz, a twórcy tego ostatniego zdecydowali nie wspieraj wygładzanie czcionek metodą „hintfull”. Należy zauważyć, że na ekranach o dużej gęstości pikseli (Hi-DPI) nie występują problemy z wyświetlaniem czcionek podczas korzystania z metod podpowiedzi innych niż „hintfull”.

odpowiedź Programista HarfBuzz (Behdad Esfahbod) z odpowiedniej dyskusji na temat problemu:

Próbowałem używać stylów podpowiedzi innych niż podpowiedzi, ale tylko daje to wyświetlanie czcionek zbliżonych do ClearType v2 w Windows 7, który moim zdaniem ma najlepsze renderowanie ze wszystkich istniejących rozwiązań.

Prawidłowy. Dlatego postanowiliśmy nie wspierać go już dłużej. Możesz spróbować przyzwyczaić się do renderowania mydlanego lub spróbować znaleźć coś innego. Używasz Open Source, rozumiesz?

Dodatek po dalszej dyskusji:

W kolejnych komentarzach deweloper wyjaśniłże oprogramowanie open source daje możliwość wyboru, a ci, którzy nie są zadowoleni z obecnego stanu, mogą stworzyć fork Pango. Twórcy HarfBuzz nie mają wpływu na jego utrzymanie i podejmowane w nim decyzje. Behdad Esfahbod, obecny opiekun HarfBuzz, który zajmuje pierwsze miejsce pod względem zatwierdzeń Zarówno
projektowanie, wspomniał, że nie jest związany z Red Hatem od ponad 10 lat i nie jest opiekunem Pango. Od 2010 roku przeniósł się do Google i obecnie współpracuje wyłącznie z HarfBuzz, który wcześniej był jego osobistym projektem. HarfBuzz nie kontroluje proces renderowania, a Pango może zastąpić żądane tryby podpowiedzi na swojej stronie.

Kolejny programista HarfBuzz podkreślone, że problem leży po stronie Pango, ponieważ HarfBuzz nie jest systemem renderującym czcionki i nie obsługuje podpowiedzi na podstawie swojej architektury. Jeśli Pagno musi nadal podpowiadać, przejście na HarfBuzz nie jest wyborem polegającym na jego wsparciu. W jak Powodem odmowy wdrożenia podpowiedzi w HarfBuzz jest to, że niektóre tryby podpowiedzi prowadzą do zmiany oryginalnej szerokości glifu, a zmiana ta zależy od rozmiaru piksela. Pango wcześniej wykonywał podobne operacje za pomocą FreeType, który obsługuje podpowiedzi, ale potem przeszedł na HarfBuzz, który obsługuje glify bez odniesienia do ich rozmiaru. Dlatego za rozwiązywanie problemów napotkanych podczas korzystania z Pango odpowiada Pango, a nie HarfBuzz.

Ostatecznie Behdad Esfahbod opublikowany obszerna retrospektywa rozwoju stosu czcionek Linuksa. Po jego odejściu do Google’a biblioteki Pango i Kair zostały praktycznie opuszczone i popadły w stagnację. W HarfBuzz prace skupiały się na obsłudze adaptacyjnych czcionek zmiennych, podczas gdy Red Hat skupiał się na GTK i Glib. Z biegiem czasu rozwój w dziedzinie czcionek zmiennych został przeniesiony do FreeType, Fontconfig i Cairo, ale w Pango pozostał niedokończony z powodu braku programistów. Dostęp do nowych interfejsów API w Pango został zapewniony poprzez abstrakcję FontMap i był obsługiwany tylko w przypadku backendów opartych na FreeType. Backendy dla systemów Windows i macOS nie były konserwowane przez ponad 10 lat.

W związku z rozwojem urządzeń mobilnych i przeglądarek firma Microsoft zaprzestała obsługi renderowania czcionek subpikselowych i renderowania w stylu GDI w systemie Windows 8. macOS zawsze obsługiwał renderowanie, które w tej dyskusji nazywa się „rozmytym”. Od 2018 roku kilku programistów HarfBuzz próbowało wprowadzić do Pango funkcje HarfBuzz dodawane przez lata. Równolegle z rozwojem GTK4 dokonano przejścia na renderowanie oparte na OpenGL, co implikuje liniowe skalowanie tekstu, co zaostrzyło opozycję pomiędzy renderowaniem pikseli a skalowalnym układem.

LibreOffice, Chrome i Firefox przeszły na HarfBuzz jako ujednolicony silnik kształtowania, kosztem zaprzestania obsługi czcionek bitmapowych i formatu Type1. W przypadku czcionek bitmapowych osoby, które ich potrzebowały, zostały poproszone o przekonwertowanie ich na kontener OpenType. Do Adobe wysłano prośbę o wdrożenie Type1 dla HarfBuzz, ale ta odpowiedziała, że ​​nie ma to sensu, ponieważ sami przestaną w tym roku wspierać Type1.

Chcąc dogonić zaawansowane technologie, podobną decyzję o przejściu na HarfBuzz podjęto w przypadku biblioteki Pango. Ceną było zaprzestanie wspierania niektórych starych technologii sprzed 20 lat. Wskazuje się, że przy ograniczonych zasobach programiści nie mają dość rąk, aby zrobić wszystko, a osoby zainteresowane zachowaniem starych technologii mogą pokusić się o znalezienie kogoś, kto będzie gotowy utrzymać brakującą im funkcjonalność. Dla porównania podano GNOME3, po którego pojawieniu się niezadowoleni mogli kontynuować rozwój przestarzałych technologii GNOME2 w ramach projektów Mate i Cinnamon. To samo dotyczy Pango, ale nie ma jeszcze chętnych.

Źródło: opennet.ru

Dodaj komentarz