IE9: Endlich eine Lösung für die unscharfe Schrift

ie9symbolDie unscharfe Schrift beim IE9 spaltet die Anwendergemeinde. Die einen finden es nicht störend oder sogar gut. Andere (wie ich) sind davon völlig genervt. Endlich gibt es eine echte Lösung für alle, die knackig scharfe Schrift bevorzugen.

Seit Internet Explorer 9 und Firefox 4 erschienen sind und Hardware-Rendering für Webseiten eingeführt haben, beschäftigt das Problem der „unscharfen“ Schriften die Anwender. Direct2D führt die Berechnung und Darstellung von Zeichen nun mal anders als gewohnt aus. Bei Firefox 4 lässt sich der Spuk durch Deaktivieren der GPU-Beschleunigung recht einfach beenden. Für den IE9 schwirren zwar zahlreiche Tipps durchs Netz, wie man das Problem lösen könne. Aber keine davon funktioniert  für alle Benutzer in allen Situationen.

Ich selbst störe mich auch an der unscharfen Schrift, arbeite aber ohnehin ständig mit verschiedenen Browsern und mit dem IE9 deshalb eben nicht ganz so viel. Allerdings wird das HTML-Rendering des IE9 auch von anderen Anwendungen benutzt, um HTML-Dokumente anzuzeigen. Und dafür gibt es keine Alternativen. Deshalb war ich immer auf der Suche nach einer endgültigen Lösung, die mir in solchen Fällen die Schrift wieder knackig scharf anzeigt.

Nun bin ich endlich fündig geworden. Die SoftwareNinjas bieten auf ihrer Website einen Download an, der zwei DLL-Dateien enthält. Dabei handelt es sich um sogenannte Wrapper, welche Systemaufrufe an die eigentliche Bibliothek weiterleiten. Allerdings manipulieren sie dabei Aufrufe bezüglich der Schriftdarstellung, so dass das „Weichzeichnen“ unterbleibt. Wichtig: Ersetzen Sie auf keinen Fall die beiden Systemdateien dwrite.dll und detoured.dll durch diese Versionen. Die Originaldateien können und müssen unbedingt erhalten bleiben. Wie es genau geht, ist im Folgenden beschrieben.

DLLs aus dem Internet – ist das nicht riskant?

Prinzipiell sollte man beim Herunterladen von DLLs aus dem Internet sehr vorsichtig sein, genau hinschauen, auf Malware hin überprüfen usw. Das habe ich in diesem Fall selbstverständlich getan. Außerdem haben die Autoren den Quelltext der Dateien veröffentlicht. Eventuelle Hintertüren in der Software wären dadurch leicht aufzustöbern. Das unmittelbare Risiko ist also recht gering.

Langfristig kann der Einsatz der DLLs durchaus problematisch werden. So kann es zu Seiteneffekten kommen, die Störungen verursachen. Zum Beispiel führte in frühen Versionen des Fixes das Drucken von Webseiten zum Absturz des IE9, was aber in der aktuellen Version beseitigt wurde. Auch wenn Microsoft in Zukunft per Windows Update Änderungen an den betroffenen Systembibliotheken vornimmt, können sich Schwierigkeiten ergeben. Im schlimmsten Fall müsste man aber lediglich die hineinkopierten DLLs entfernen und wieder mit der unscharfen Schrift leben.

Den Fix für scharfe Schrift anwenden

Der Fix macht sich eine Eigenheit von Windows zu Nutze: Greift eine Anwendung auf dynamische Bibliotheken (DLLs) zu, wird zunächst im Ordner dieser Anwendung nach der entsprechenden DLL-Datei gesucht. Ist die benötigte Bibliothek dort nicht vorhanden, werden die Systemverzeichnisse bemüht. Wenn man nun also die beiden DLLs in das Verzeichnis einer Anwendung kopiert, fangen Sie alle Aufrufe an diese beiden dynamischen Bibliotheken ab. Die meisten geben sie unverändert an die realen DLLs im Systemverzeichnis weiter. Nur die Anweisungen bezüglich der Schriftdarstellung werden dabei verändert, so dass kein Weichzeichnen mehr stattfindet.

  • IE9 „scharf machen“
    Entpacken Sie das heruntergeladene Archiv und kopieren Sie die beiden Dateien dwrite.dll und detoured.dll in das Verzeichnis C:/Program Files (x86)/Internet Explorer/. Dies ist nur mit Administratorrechten möglich. Nutzer eines 64-Bit-Windows können dies nur bei der 32-Bit-Version des Internet Explorers machen, die sich unter C:/Program Files (x86)/Internet Explorer/ findet. Nach einem Neustart zeigt der Browser Schriften wieder scharf an. Allerdings gilt dies nur für den Internet Explorer selbst. Anwendungen, welche das Rendering des IE für die Darstellung von HTML nutzen, müssen separat behandelt werden (siehe unten).
  • beliebige andere Anwendungen mit Webrendering „scharf machen“
    Entpacken Sie das heruntergeladene Archiv und kopieren Sie die beiden Dateien dwrite.dll und detoured.dll in das Verzeichnis, in dem sich die ausführbare Datei der Anwendung befindet. Starten Sie die Anwendung ggf. neu.
  • Anzeigen von Hilfedateien „scharf machen“
    Einen Sonderfall stellt das Anzeigeprogramm für Hilfsdateien (CHM) dar. Hier können die DLL-Dateien nicht einfach in den Ordner kopiert werden, da man dabei die Original-Bibliotheken überschreiben würde. Legen Sie stattdessen einen neuen Ordner an (z. B. C:\Program Files\HTMLHelper) und kopieren Sie die Datei C:\Windows\hh.exe dorthin. Benennen Sie die Datei am besten um z. B. in hh2.exe. 64-Bit-Nutzer finden diese Datei unter C:\Windows\SysWOW64\hh.exe und sollten sie unter C:\Program Files (x86)\HtmlHelp\hh2.exe duplizieren. Kopieren Sie dann die beiden Dateien dwrite.dll und detoured.dll mit in das neue Verzeichnis. Nun müssen Sie Windows nur noch klarmachen, dass es zukünftig die neue Version des HTMLHelpers verwenden soll. Lokalisieren Sie dazu eine beliebige CHM-Datei und starten Sie diese mit Öffnen mit/Standardprogramm auswählen. Lenken Sie den Auswahldialog dann auf die neu erstellte Kopie von hh.exe und kreuzen Sie die Option Dateityp immer mit dem ausgewählten Programm öffnen an.

Sinnvolle Vorsichtsmaßnahmen

Dieser Fix ist schon etwas frickelig, weil man Dateien an verschiedenen Stellen erstellen muss usw. Das ganze lässt sich zwar durch Entfernen dieser Dateien leicht rückgängig machen. Aber dazu muss man eben wissen, wo sich diese Dateien genau befinden. Notieren Sie sich also am besten, wo Sie welche Dateien hinkopiert haben usw. Das ist auch nützlich, falls in Zukunft eine neue Version des Fix veröffentlicht wird und die vorhandenen Dateien aktualisiert werden müssen.

Download:  DLL-Dateien bei den SoftwareNinjas

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Schließen