Einige Benutzer, die die Hinting-Methode „hintfull“ verwenden, haben möglicherweise bemerkt, dass beim Wechsel von Pango 1.43 auf 1.44 einige Schriftfamilien oder .
Das Problem liegt darin, dass die Bibliothek von der Nutzung zum Abrufen von Informationen über Kerning (Abstand zwischen Glyphen) der Schriften zu , und die Entwickler von letzterem beschlossen haben, 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.
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 beiden
kontrolliert nicht Ein anderer HarfBuzz-Entwickler
betonte der Funktion von 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 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
