Alcuni utenti che utilizzano il metodo di hinting "hintfull" potrebbero aver notato che passando dalla versione Pango 1.43 a 1.44 alcune famiglie di caratteri o .
Il problema è causato dal fatto che la libreria è passata dall'utilizzo di per ottenere informazioni sul kerning (distanza tra i glifi) dei font a , e gli sviluppatori di quest'ultimo hanno deciso l'antialiasing dei font tramite il metodo "hintfull". Si nota che sugli schermi ad alta densità di pixel (Hi-DPI) non si verificano problemi di visualizzazione dei font utilizzando metodi di hinting diversi da "hintfull".
lo sviluppatore di HarfBuzz (Behdad Esfahbod) dalla relativa discussione del problema:
Ho provato a utilizzare stili di hinting diversi da hintfull, ma solo questo offre una visualizzazione dei font simile a ClearType v2 in Windows 7, che, secondo me, ha il miglior rendering di tutte le soluzioni esistenti.
Corretto. Pertanto abbiamo deciso di non supportarlo ulteriormente. Puoi provare ad abituarti al rendering "sfocato" o cercare qualcos'altro. Dopotutto stai usando Open Source, capisci?
Nota a margine di ulteriori discussioni:
Nei commenti successivi, lo sviluppatore , che il FOSS offre la possibilità di scelta e coloro che non sono soddisfatti dello stato attuale possono creare un fork di Pango. Gli sviluppatori di HarfBuzz non possono influenzare la sua manutenzione e le decisioni in merito. Behdad Esfahbod, l'attuale manutentore di HarfBuzz, che detiene il primo posto per numero di commit in
, ha menzionato che non è più collegato a Red Hat da oltre 10 anni e non è un manutentore di Pango. Dal 2010 è passato a Google e ora si occupa solo di HarfBuzz, che prima era il suo progetto personale. HarfBuzz il processo di rendering e Pango può sovrascrivere i modi di hinting richiesti sul proprio lato.
Un altro sviluppatore di HarfBuzz , che il problema è lato Pango, poiché HarfBuzz non è un sistema di rendering di font e non supporta l'hinting per architettura. Se a Pango serve mantenere l'hinting, il passaggio a HarfBuzz non è la scelta che si può contare per il suo supporto. In Le ragioni per cui il hinting in HarfBuzz non è stato realizzato sono legate al fatto che alcuni modalità di hinting portano a modifiche della larghezza originale del glifo, e questo cambiamento dipende dalla dimensione in pixel. In precedenza, Pango eseguiva operazioni simili tramite FreeType, che supportava l'hinting, ma poi è passato a HarfBuzz, che gestisce i glifi senza legarsi alla loro dimensione. Pertanto, la responsabilità delle problematiche sorte con l'uso di Pango ricade su Pango stesso e non su HarfBuzz.
Alla fine, Behdad Esfahbod ha avviato una grande retrospettiva dello sviluppo della pila di font di Linux. Dopo il suo passaggio a Google, le librerie Pango e Cairo sono state praticamente abbandonate e sono entrate in stagnazione. In HarfBuzz, il lavoro si è concentrato sul supporto dei font variabili, mentre Red Hat ha focalizzato la sua attenzione su GTK e Glib. Nel tempo, i progressi nella area dei font variabili sono stati trasferiti in FreeType, fontconfig e Cairo, ma sono rimasti incompleti in Pango a causa della mancanza di sviluppatori. L'accesso a nuove API in Pango è stato fornito tramite l'astrazione FontMap e supportato solo per backend basati su FreeType. I backend per Windows e macOS sono rimasti senza supporto per oltre 10 anni.
Dopo l'espansione dei dispositivi mobili e dei browser, Microsoft ha interrotto in Windows 8 il supporto per il rendering sub-pixel dei font e per il rendering in stile GDI. macOS, d'altra parte, ha sempre supportato un rendering che in questa discussione viene definito 'sfocato'. Dal 2018, diversi sviluppatori di HarfBuzz hanno tentato di trasferire le nuove funzionalità di HarfBuzz in Pango. Parallelamente, nel corso dello sviluppo di GTK4 è stata realizzata la transizione a un rendering basato su OpenGL, che prevede il ridimensionamento lineare del testo, accentuando lo scontro tra il rendering pixel e il layout scalabile.
LibreOffice, Chrome e Firefox sono passati a utilizzare HarfBuzz come motore di shaping unificato, a costo di interrompere il supporto per i font raster e il formato Type1. Per i font raster, a chi ne ha bisogno è stato suggerito di convertirli in contenitori OpenType. È stata inviata una richiesta ad Adobe per implementare Type1 per HarfBuzz, ma hanno risposto che non ha senso, poiché stanno anche interrompendo il supporto per Type1 quest'anno.
Per recuperare le tecnologie ormai datate, è stata presa una decisione simile di passare a HarfBuzz anche per la libreria Pango. Il prezzo da pagare è stata la cessazione del supporto per alcune tecnologie obsolete di 20 anni fa. Si segnala che, considerando le risorse limitate a disposizione degli sviluppatori, non c'è abbastanza personale per gestire tutto e chi è interessato a mantenere le tecnologie obsolete potrebbe cercare chi sia disposto a prendersi carico delle funzionalità mancanti. Come esempio viene citato GNOME3, il cui arrivo ha permesso ai delusi di continuare lo sviluppo delle tecnologie obsolete di GNOME2 all'interno dei progetti Mate e Cinnamon. Lo stesso vale per Pango, ma al momento non ci sono stati volontari.
Fonte: opennet.ru
