Freitag, 12. Oktober 2012

Windows zeigt nur noch Kästchen statt Buchstaben

Extremabkürzung: Font-Cache löschen ist meine Lösung

Windows Patchday.
In den allermeisten Fällen geht das problemlos von Statten.
Patches einspielen, eventueller Reboot.
Sache erledigt.

Bisher hatte ich auch meist Glück.

Doch diese Woche hat es mich und meine Frau erwischt.

Mittwochs daheim privat gepatcht.
Donnerstags die Rechner angeschaltet.
Windows startet einwandfrei.
Windows funktioniert prima.
Nur leider haben sämtliche Microsoft Programme (Windows selbst und Office) nun ein Problem mit der Darstellung von Schriften in Menüs und technischen Dialogen.
Auch das Suchfeld im Startmenü, die Beschriftung in der Systemsteuerung, usw. gehören dazu.
Auf gut Deutsch: mit dem System ist nicht mehr richtig zu arbeiten.


Also nichts wie los mit der Analyse:
Betroffen sind zwei identische Rechner mit identischer Installation und Konfiguration.
Es scheint also ein nachvollziehbares Problem zu sein und kein dummer einmaliger Zufall.
Betroffen scheint genau eine Schriftart zu sein, die Windows 7 besonders gerne verwendet.
Die Google-Suche ergibt  Segoe als Namen der aktuellen Windows 7 Systemschriftart.
Einige kreative Suchen weiter weiss ich, dass am 09.10.2012 ein Windows Update (KB2729094) mit einem Update genau dieser Schrift verteilt wurde.
Eine Deinstallation des Updates über den Punkt "Installierte Updates" (aufpassen, die Updates sind in Kategorien unterteil, die getrennt voneinander sortiert werden) bringt leider auch keinen Erfolg.
Windows will penetrant dieses wichtige Update wieder einspielen - also wieder rauf damit.
Zurücksetzen der Schriftarteneinstellungen auf Standard bringt auch nichts - immer noch Kästchen als Buchstaben an vielen Stellen im System.
Googeln nach dem Problem führt irgendwie nicht auf die richtige Spur.
Es gibt zwar viele spannende Fragen, wenige gute Anworten, aber die bringen alle nichts.
Eine Systemreparatur mit
sfc /scannow
wird empfohlen.
Bringt aber nichts, da werden wohl wirklich nur für den Systemstart relevante Dateien bereinigt.
Man solle prüfen ob die Tastatur auf Japanisch eingestellt ist ...
Lustige Idee, aber hilft nicht.
Helfen würde wahrscheinlich eine Umstellung der Benutzen Schriftart in allen Dialogen des Systems auf eine andere Schrift als Segoe, aber das will ich nicht - die Schrift finde ich an sich doch sehr angenehm.
Jedenfalls sehe ich, dass alle Segoe Schriftschnitte vom Problem betroffen sind.

Nun komme ich ins Grübeln und rekapituliere:
  1. Ein Schriftenupdate wurde installiert
  2. Die betroffene Schhrift wird nicht mehr angezeigt an vielen Stellen, an manchen (da wo es größer und/oder farbig ist) doch
  3. mit anderen Schriften würde es funktionieren
  4. Deinstallation und Reinstallation des Schriftenupdates helfen nicht
Dann nehmen wir doch mal an, dass die Schrift selber nicht defekt ist.
Das Font-Rendering-System funktioniert bei allen anderen Schriften.

Was passiert eigentlich beim Font-Rendering?

Soviel ich weiss, wird die Schrift bei Bedarf gerendert in der jeweils notwendigen Schriftgröße.
Da dieser Vorgang relativ aufwendig ist wird der Fertige Buchstabe (Glyphe) im Font-Cache
zwischengespeichert für weiter Verwendung.
Bei Bedarf nach einem der vorgerenderten Zeichen wird sich aus dem Font-Cache bedient.

AHAAAAAAA!

FONT-CACHE!

Der Nebel lichtet sich.
Was passiert wenn beim Schriften-Update vergessen wird den Font-Cache zu löschen/aktualisieren?
Hmmmm... vielleicht undefinierte Zeichen, die dann als Kästchen ausgegeben werden?

Also lösche ich den Font-Cache indem ich die Datei
c:\Windows\System32\FNTCACHE.DAT 
umbenenne (bezieht sich auch Windows 7).
Diese enthält den Font-Cache.
Bei jedem Neustart wird sie - wenn nicht schon vorhanden - frisch angelegt und bei Bedarf befüllt.

Und das ist dann auch die Lösung des Problems - man muss den Font Cache löschen, damit er neu mit korrekten Glyphen gefüllt wird.

Vollkommen triviale Ursache, vollkommen triviale Lösung - nur finden muss man sie.

Vielleicht kann ich mit diesem Eintrag jemandem weiterhelfen damit er nicht so lange suchen muss wie ich.


2 Kommentare: