Οι προγραμματιστές στοίβας γραμματοσειρών Linux εγκαταλείπουν την υποστήριξη για soft anti-aliasing

Ορισμένοι χρήστες που χρησιμοποιούν τη μέθοδο hintfull hinting μπορεί να έχουν παρατηρήσει ότι κατά την αναβάθμιση από την έκδοση Pango 1.43 σε 1.44 kerning μερικές οικογένειες γραμματοσειρών επιδεινώθηκε ή πλήρως σπασμένος.

Οι προγραμματιστές στοίβας γραμματοσειρών Linux εγκαταλείπουν την υποστήριξη για soft anti-aliasing

Το πρόβλημα προκαλείται από τη βιβλιοθήκη Πάνγκο άλλαξε από τη χρήση FreeType για πληροφορίες σχετικά με το kerning (απόσταση μεταξύ των γλυφών) των γραμματοσειρών HarfBuzz, και οι προγραμματιστές του τελευταίου αποφάσισαν μην υποστηρίζεις εξομάλυνση γραμματοσειράς χρησιμοποιώντας τη μέθοδο "hintfull". Σημειώνεται ότι σε οθόνες με υψηλή πυκνότητα εικονοστοιχείων (Hi-DPI), δεν παρουσιάζονται προβλήματα με την εμφάνιση γραμματοσειρών κατά τη χρήση μεθόδων υπόδειξης εκτός από το "hintfull".

Απάντηση Ο προγραμματιστής του HarfBuzz (Behdad Esfahbod) από την αντίστοιχη συζήτηση του προβλήματος:

Προσπάθησα να χρησιμοποιήσω άλλα στυλ υπόδειξης εκτός από το hintfull, αλλά μόνο αυτό δίνει εμφάνιση γραμματοσειράς κοντά στο ClearType v2 στα Windows 7, το οποίο, κατά τη γνώμη μου, έχει την καλύτερη απόδοση από όλες τις υπάρχουσες λύσεις.

Σωστά. Ως εκ τούτου, αποφασίσαμε να μην το υποστηρίξουμε άλλο. Μπορείτε να δοκιμάσετε να συνηθίσετε τη σαπουνάδα ή να προσπαθήσετε να βρείτε κάτι άλλο. Χρησιμοποιείτε ανοιχτό κώδικα, καταλαβαίνετε;

Προσθήκη μετά από περαιτέρω συζήτηση:

Σε επόμενα σχόλια ο προγραμματιστής εξήγησεότι το λογισμικό ανοιχτού κώδικα παρέχει τη δυνατότητα επιλογής και όσοι δεν είναι ικανοποιημένοι με την τρέχουσα κατάσταση μπορούν να δημιουργήσουν ένα πιρούνι του Pango. Οι προγραμματιστές του HarfBuzz δεν μπορούν να επηρεάσουν τη συντήρησή του και τις αποφάσεις που λαμβάνονται σε αυτό. Behdad Esfahbod, τρέχων συντηρητής του HarfBuzz που κατατάσσεται #XNUMX στα commits και τα δύο
έργα, ανέφερε ότι δεν έχει συνδεθεί με την Red Hat για πάνω από 10 χρόνια και δεν είναι συντηρητής 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, η εργασία επικεντρώθηκε στην υποστήριξη προσαρμοστικών μεταβλητών γραμματοσειρών, ενώ η Red Hat επικεντρώθηκε στο GTK και στο Glib. Με την πάροδο του χρόνου, οι εξελίξεις στον τομέα των μεταβλητών γραμματοσειρών μεταφέρθηκαν στο FreeType, το fontconfig και το Κάιρο, αλλά παρέμειναν ημιτελείς στο Pango λόγω έλλειψης προγραμματιστών. Η πρόσβαση στα νέα API στο Pango παρασχέθηκε μέσω της αφαίρεσης FontMap και υποστηριζόταν μόνο για backend που βασίζονται σε FreeType. Τα backend για Windows και macOS δεν έχουν συντηρηθεί για περισσότερα από 10 χρόνια.

Μετά την επέκταση των φορητών συσκευών και των προγραμμάτων περιήγησης, η Microsoft σταμάτησε να υποστηρίζει την απόδοση γραμματοσειρών subpixel και την απόδοση σε στυλ GDI στα Windows 8. Το macOS πάντα υποστήριζε την απόδοση, η οποία σε αυτήν τη συζήτηση ονομάζεται "θολή". Από το 2018, αρκετοί προγραμματιστές του HarfBuzz προσπάθησαν να φέρουν στο Pango λειτουργίες του HarfBuzz που προστέθηκαν με τα χρόνια. Παράλληλα με την ανάπτυξη του GTK4, έγινε μια μετάβαση στην απόδοση βασισμένη στο OpenGL, η οποία συνεπάγεται γραμμική κλιμάκωση κειμένου, η οποία επιδείνωσε την αντίθεση μεταξύ της απόδοσης εικονοστοιχείων και της κλιμακούμενης διάταξης.

Τα LibreOffice, Chrome και Firefox άλλαξαν στη χρήση του HarfBuzz ως ενοποιημένου μηχανισμού διαμόρφωσης, με το κόστος της διακοπής της υποστήριξης για γραμματοσειρές bitmap και τη μορφή Type1. Για γραμματοσειρές bitmap, ζητήθηκε από όσους τις χρειάζονταν να τις μετατρέψουν σε κοντέινερ OpenType. Στάλθηκε ένα αίτημα στην Adobe για την εφαρμογή του Type1 για το HarfBuzz, αλλά απάντησαν ότι δεν είχε νόημα, αφού οι ίδιοι θα σταματήσουν να υποστηρίζουν το Type1 φέτος.

Προκειμένου να καλύψουμε τη διαφορά με τις προηγμένες τεχνολογίες, μια παρόμοια απόφαση για μετάβαση στο HarfBuzz ελήφθη για τη βιβλιοθήκη Pango. Το τίμημα ήταν η διακοπή υποστήριξης για κάποιες παλιές τεχνολογίες πριν από 20 χρόνια. Υποδεικνύεται ότι, λόγω περιορισμένων πόρων, οι προγραμματιστές δεν έχουν αρκετά χέρια για να κάνουν τα πάντα και όσοι ενδιαφέρονται να διατηρήσουν τις παλιές τεχνολογίες μπορούν να προσπαθήσουν να βρουν κάποιον που θα είναι έτοιμος να διατηρήσει τη λειτουργικότητα που τους λείπει. Ως σύγκριση, δίνεται το GNOME3, μετά την εμφάνιση του οποίου οι δυσαρεστημένοι μπόρεσαν να συνεχίσουν την ανάπτυξη ξεπερασμένων τεχνολογιών GNOME2 στο πλαίσιο των έργων Mate και Cinnamon. Το ίδιο ισχύει και για το Pango, αλλά δεν υπάρχουν ακόμα λήπτες.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο