Normalerweise bevorzuge ich Adobe Reader (immer noch v9 unter Linux) gegenüber allen anderen PDF-Viewern, da ich denke, dass es die beste Renderqualität hat, obwohl andere in letzter Zeit aufgeholt haben. Diese Renderqualität scheint zu einem großen Teil auf CoolType zurückzuführen zu sein, die Implementierung des Subpixel-Renderings durch Adobe. Leider habe ich festgestellt, dass Adobe Reader das Rendern von Subpixeln (pro Seite) konsequent ausschaltet, sobald die Seite transparente Elemente enthält. Ein Beispiel:
Die blaue Form ist undurchsichtig, der Text wird mit Subpixeln gerendert:
Die blaue Form ist zu 50% transparent, der Text wird mit Standard-Antialiasing gerendert:
Die beiden entsprechenden PDF-Dateien wurden auf genau dieselbe Weise generiert (unter Verwendung von TikZ / PGF mit pdflatex), mit Ausnahme der Angabe der Transparenz im zweiten Fall. Ich habe diese PDFs selbst erstellt, aber ich habe häufig den gleichen Effekt bei PDFs aus völlig unterschiedlichen Quellen beobachtet. Seltsamerweise rendern Foxit Reader und Okular die gleichen zwei PDFs auf genau identische Weise (außer natürlich für den transparenten Teil selbst), aber meiner Meinung nach in einer allgemein schlechteren Qualität.
Meine Frage: Weiß jemand, warum dies passiert und ob / wie es vermieden werden kann?
quelle
Antworten:
Das Rendern von Subpixeln erfolgt unter Verwendung der einzelnen Farben eines Pixels. Jedes Pixel auf einem Bildschirm besteht aus einem noch kleineren Pixel mit den Farben Rot, Grün und Blau.
Wenn Sie ein Objekt mit einer Breite von 10,3 Pixel rendern möchten, verwenden Sie nur die rote Farbe des 11. Pixels. Der Bildschirm würde dann Licht von 31 Subpixeln emittieren, dh 10 Vollpixel und dann ein Drittel eines Pixels.
Wenn Sie versuchen, diesen Effekt selbst zu simulieren, indem Sie einfach 10 weiße Pixel breit und dann ein rotes Pixel rechts auf schwarzem Hintergrund zeichnen, sehen Sie den Effekt selbst.
Das Problem ist, dass Sie bemerken würden, dass der rechte Rand rot wäre, wenn Sie es einfach so machen. Höchstwahrscheinlich muss Adobe fortschrittliche Algorithmen verwenden, um diesen Effekt aufzuheben - möglicherweise durch Verstärken des Werts von Rot und Grün des 10. Pixels.
Das Hinzufügen von Transparenz zu einem bereits weit fortgeschrittenen Algorithmus ist wahrscheinlich etwas, das sie noch nicht gelöst haben, und daher deaktivieren sie einfach das Rendern von Subpixeln.
Ich glaube, dass dies der Fall ist, weil ich versucht habe, das Subpixel-Rendering auf diese naive Weise selbst zu implementieren, und diesen "farbigen Nebeneffekt" selbst gesehen habe.
quelle
Dies kann ein Fehler in Adobe sein, der besser in den Foren angesprochen wird.
Um die Anzeige von Schriftarten unter Linux zu verbessern, können Sie versuchen, Infinality zu verwenden:
Sehen :
Besseres Rendern von Schriftarten unter Linux mit Unendlichkeit
archlinux Schriftkonfiguration - Unendlichkeit .
quelle