Utviklere av Linux-fontstack forlater støtte for myk kantutjevnelse

Noen brukere som bruker hintfulle hintmetode kan ha lagt merke til at ved oppgradering fra Pango versjon 1.43 til 1.44 kerning noen skriftfamilier forverret seg eller fullt gått i stykker.

Utviklere av Linux-fontstack forlater støtte for myk kantutjevnelse

Problemet er forårsaket av biblioteket Pango byttet fra bruk Freetype for informasjon om kerning (avstand mellom glyfer) av fonter HarfBuzz, og utviklerne av sistnevnte bestemte ikke støtte skriftutjevning ved å bruke "hintfull"-metoden. Det bemerkes at på skjermer med høy pikseltetthet (Hi-DPI) oppstår ikke problemer med å vise fonter ved bruk av andre hintingmetoder enn "hintfull".

svar HarfBuzz-utvikler (Behdad Esfahbod) fra den tilsvarende diskusjonen om problemet:

Jeg prøvde å bruke andre hintstiler enn hintfulle, men bare det gir fontvisning nær ClearType v2 i Windows 7, som etter min mening har den beste gjengivelsen av alle eksisterende løsninger.

Ikke sant. Derfor har vi besluttet å ikke støtte det lenger. Du kan prøve å venne deg til den såpeaktige gjengivelsen eller prøve å finne noe annet. Du bruker åpen kildekode, forstår du?

Tillegg etter videre diskusjon:

I påfølgende kommentarer utvikleren forklartat åpen kildekode-programvare gir mulighet til å velge og de som ikke er fornøyd med dagens tilstand kan lage en fork av Pango. Utviklerne av HarfBuzz kan ikke påvirke vedlikeholdet og beslutningene som tas i den. Behdad Esfahbod, nåværende HarfBuzz-vedlikeholder som rangerer #XNUMX i commits både
prosjekter, nevnte at han ikke har vært assosiert med Red Hat på over 10 år og ikke er en Pango-vedlikeholder. Siden 2010 har han flyttet til Google og jobber nå kun med HarfBuzz, som tidligere var hans personlige prosjekt. HarfBuzz styrer ikke gjengivelsesprosessen og Pango kan overstyre forespurte hintmoduser på sin side.

En annen HarfBuzz-utvikler stresset, at problemet er på Pangos side, siden HarfBuzz ikke er et skriftgjengivelsessystem og ikke støtter antydning av arkitekturen. Hvis Pagno trenger å opprettholde hint, så er ikke bytte til HarfBuzz valget for å stole på støtten. I kvalitet Årsakene til å nekte å implementere hinting i HarfBuzz er at noen hintingmoduser fører til en endring i den opprinnelige bredden på glyfen, og denne endringen avhenger av pikselstørrelsen. Pango utførte tidligere lignende operasjoner gjennom FreeType, som støtter hinting, men byttet deretter til HarfBuzz, som håndterer glyfer uten referanse til størrelsen. Derfor er det Pangos ansvar å løse problemer som oppstår mens du bruker Pango, ikke HarfBuzzs.

Til syvende og sist Behdad Esfahbod publisert et stort tilbakeblikk på utviklingen av Linux-fontstabelen. Etter hans avgang til Google ble Pango- og Kairo-bibliotekene praktisk talt forlatt og falt i stagnasjon. Hos HarfBuzz fokuserte arbeidet på støtte for adaptive variable fonter, mens Red Hat fokuserte på GTK og Glib. Over tid ble utviklingen innen mutable fonter overført til FreeType, fontconfig og Cairo, men forble uferdig i Pango på grunn av mangel på utviklere. Tilgang til de nye API-ene i Pango ble gitt gjennom FontMap-abstraksjonen og ble kun støttet for FreeType-baserte backends. Backends for Windows og macOS har ikke vært vedlikeholdt i mer enn 10 år.

Etter utvidelsen av mobile enheter og nettlesere, sluttet Microsoft å støtte subpikselfontgjengivelse og GDI-stil gjengivelse i Windows 8. macOS har alltid støttet gjengivelse, som i denne diskusjonen kalles "uskarp". Siden 2018 har flere HarfBuzz-utviklere forsøkt å bringe HarfBuzz-funksjoner lagt til i løpet av årene til Pango. Parallelt med utviklingen av GTK4 ble det gjort en overgang til OpenGL-basert gjengivelse, som innebærer lineær tekstskalering, noe som forsterket motsetningen mellom pikselgjengivelse og skalerbar layout.

LibreOffice, Chrome og Firefox gikk over til å bruke HarfBuzz som en enhetlig formingsmotor, på bekostning av å avvikle støtten for punktgrafikkfonter og Type1-formatet. For punktgrafikkfonter ble de som trengte dem bedt om å konvertere dem til en OpenType-beholder. Det ble sendt en forespørsel til Adobe om å implementere Type1 for HarfBuzz, men de svarte at det ikke var noen vits i dette, siden de selv ville slutte å støtte Type1 i år.

For å ta igjen avanserte teknologier ble det tatt en lignende beslutning om å bytte til HarfBuzz for Pango-biblioteket. Prisen var opphør av støtte for noen gamle teknologier fra 20 år siden. Det er indikert at, gitt begrensede ressurser, utviklere ikke har nok hender til å gjøre alt, og de som er interessert i å bevare gammel teknologi kan prøve å finne noen som vil være klar til å opprettholde funksjonaliteten de mangler. Som en sammenligning er GNOME3 gitt, etter at de misfornøyde var i stand til å fortsette utviklingen av utdaterte GNOME2-teknologier innenfor rammen av Mate- og Cinnamon-prosjektene. Det samme gjelder Pango, men det er ingen takere ennå.

Kilde: opennet.ru

Legg til en kommentar