Die Entwickler des Linux-Schriftartencodes haben die Unterstützung für Anti-Aliasing aufgegeben

Einige Benutzer, die die Hinting-Methode „hintfull“ verwenden, haben möglicherweise bemerkt, dass beim Wechsel von Pango 1.43 auf 1.44 Kerning einige Schriftfamilien verschlechtert oder vollständig defekt.

Die Entwickler des Linux-Schriftartencodes haben die Unterstützung für Anti-Aliasing aufgegeben

Das Problem liegt darin, dass die Bibliothek Pango von der Nutzung FreeType zum Abrufen von Informationen über Kerning (Abstand zwischen Glyphen) der Schriften zu HarfBuzz, und die Entwickler von letzterem beschlossen haben, die Schriftglättung nach der Methode „hintfull“ nicht zu unterstützen. Es wird angemerkt, dass auf Bildschirmen mit hoher Pixeldichte (Hi-DPI) keine Probleme mit der Darstellung von Schriften bei Verwendung von Hinting-Methoden, die nicht „hintfull“ sind, auftreten.

Antwort des HarfBuzz-Entwicklers (Behdad Esfahbod) aus der entsprechenden Problemdiskussion:

Ich habe versucht, andere Hinting-Stile als hintfull zu verwenden, aber nur dieser bietet eine Schriftanzeige, die der von ClearType v2 in Windows 7 nahekommt, die meiner Meinung nach die beste Renderqualität aller existierenden Lösungen hat.

Das stimmt. Daher haben wir beschlossen, ihn nicht mehr zu unterstützen. Sie können versuchen, sich an das „neblige“ Rendering zu gewöhnen oder etwas anderes zu finden. Sie verwenden schließlich Open Source, verstehen Sie?

Zusatz nach weiteren Diskussionen:

In nachfolgenden Kommentaren erklärte der Entwickler dass die OSS eine Wahl bietet und diejenigen, die mit dem aktuellen Zustand unzufrieden sind, einen Fork von Pango erstellen können. Die Entwickler von HarfBuzz können jedoch nicht auf die Pflege und die Entscheidungen darin Einfluss nehmen. Behdad Esfahbod, der aktuelle Betreuer von HarfBuzz, der die höchste Anzahl an Commits inbeiden , erwähnte, dass er seit über 10 Jahren nicht mehr mit Red Hat verbunden ist und kein Betreuer von Pango ist. Seit 2010 arbeitet er bei Google und beschäftigt sich dort nur mit HarfBuzz, das früher sein persönliches Projekt war. HarfBuzz
Projektenkontrolliert nicht den Zeichnungsprozess und Pango kann die angeforderten Hinting-Modi auf seiner Seite überschreiben. Ein anderer HarfBuzz-Entwickler

betonte , dass das Problem auf Seiten von Pango liegt, da HarfBuzz kein Schriftarten-Rendering-System ist und aufgrund seiner Architektur kein Hinting unterstützt. Wenn Pango Hinting erhalten möchte, ist der Wechsel zu HarfBuzz nicht die Wahl, auf die man hinsichtlich seiner Unterstützung zählen kann. Inder Funktion von Qualität Die Gründe für die Ablehnung der Implementierung von Hinting in HarfBuzz liegen darin, dass einige Hinting-Modi zu einer Veränderung der ursprünglichen Breite des Glyphen führen, und diese Veränderung von der Pixelgröße abhängt. Zuvor führte Pango solche Operationen über FreeType aus, das Hinting unterstützt, wechselte dann jedoch zu HarfBuzz, das die Verarbeitung von Glyphen unabhängig von deren Größe ermöglicht. Daher liegt die Verantwortung für die bei der Verwendung von Pango auftretenden Probleme bei Pango und nicht bei HarfBuzz.

Letztendlich Behdad Esfahbod veröffentlichte eine umfassende Retrospektive der Entwicklung des Schriftstapels von Linux. Nach seinem Wechsel zu Google wurden die Bibliotheken Pango und Cairo praktisch aufgegeben und fielen in eine Stagnation. In HarfBuzz konzentrierte sich die Arbeit auf die Unterstützung adaptiver variabler Schriftarten (variable-font), während Red Hat den Fokus auf GTK und Glib legte. Im Laufe der Zeit wurden Fortschritte im Bereich der variablen Schriftarten in FreeType, fontconfig und Cairo integriert, blieben jedoch in Pango aufgrund eines Mangels an Entwicklern unvollendet. Der Zugang zu neuen APIs in Pango wurde über die Abstraktion FontMap bereitgestellt und nur für Backends basierend auf FreeType unterstützt. Die Backends für Windows und macOS sind seit über 10 Jahren ohne Wartung.

Nach der Expansion von mobilen Geräten und Browsern stellte Microsoft in Windows 8 die Unterstützung für Subpixel-Schriftartenrenderer und GDI-artige Rendering-Stile ein. MacOS hingegen hat seit jeher das Rendering unterstützt, das in dieser Diskussion als „verschwommen“ bezeichnet wird. Seit 2018 versuchten mehrere Entwickler von HarfBuzz, die in den letzten Jahren hinzugefügten Funktionen von HarfBuzz nach Pango zu übertragen. Parallel dazu wurde bei der Entwicklung von GTK4 der Wechsel zu einem auf OpenGL basierenden Rendering vollzogen, das eine lineare Skalierung von Text ermöglicht, was die Auseinandersetzung zwischen Pixel-Rendering und skalierbarem Layout verstärkte.

LibreOffice, Chrome und Firefox wechselten zur Verwendung von HarfBuzz als einheitlichem Shaping-Engine, was zur Folge hatte, dass die Unterstützung für Bitmap-Schriftarten und das Type1-Format eingestellt wurde. Für Bitmap-Schriftarten wurde denen, die sie benötigen, angeboten, diese in einen OpenType-Container umzuwandeln. Adobe erhielt eine Anfrage zur Implementierung von Type1 für HarfBuzz, antwortete jedoch, dass dies keinen Sinn mache, da sie selbst die Unterstützung für Type1 in diesem Jahr einstellen.

Um mit den fortschrittlichen Technologien Schritt zu halten, wurde eine ähnliche Entscheidung für die Pango-Bibliothek getroffen, um auf HarfBuzz umzusteigen. Der Preis dafür war die Einstellung der Unterstützung für einige alte Technologien, die 20 Jahre alt sind. Es wurde angegeben, dass die begrenzten Ressourcen der Entwickler nicht ausreichen und diejenigen, die an der Erhaltung alter Technologien interessiert sind, versuchen könnten, jemanden zu finden, der bereit ist, die fehlende Funktionalität zu unterstützen. Zum Vergleich wird GNOME3 angeführt, nach dessen Erscheinen Unzufriedene die Entwicklung der veralteten GNOME2-Technologien im Rahmen der Projekte Mate und Cinnamon fortsetzen konnten. Das Gleiche gilt für Pango, aber bisher hat sich niemand gefunden, der interessiert ist.

Quelle: opennet.ru

60GB SSD 8Gb DDR4