Zu Inhalt springen

Browser ersetzt Zeichenfolgen (Ligaturen)?

Hervorgehobene Antworten

Sers. Bisher wußte ich nichts davon, daß Firefox text-rendering:optimizeLegibility voreingestellt hat, und damit Zeichenfolgen wie "fl", "ssi" u. dgl. automatisch durch Ligaturen ersetzt sofern der Font diese bietet. Nun mag das ja praktisch sein, führt aber bei mir dazu, daß falsche Glyphen angezeigt werden. Ich hatte das Problem schon wiederholt, nach dem ich den Font editiert habe. Weiß jemand was ich falsch mache?

Um was für einen Font geht es denn, und wie hast du ihn editiert?

Weitere Fehlerquellen sind das Text-Encoding der HTML-Datei, und zwar

– in welchem Encoding die Datei gespeichert wird (in besseren Text-Editoren gibt es einen Menü-Eintrag, sonst findest du das im Speicher-Dialog)

– welches Encoding im Meta-Tag charset angegeben wird

– wie der Browser diese Angaben interpretiert (Automatik oder was manuell voreinstellt ist)

– (in welchem Encoding die Daten vom Server ausgeliefert wird – selten das Problem)

  • Ersteller

Ich habe die Seite noch nicht oben, der Font ist eine Felltype von Marini (http://iginomarini.com/fell/). Ich kann einen Text uploaden, nur habe ich momentan das Problem, daß der Fehler nicht mehr auftaucht, es ist wie verhext. Selbst bei aktiviertem optimizeLegibility ersetzt Firefox jetzt keine Zeichenfolgen mehr.

 

Die Hinweise von Herrn Nagel sind wichtig, ich habe darauf allerdings schon geachtet. Was ich wenig verstehe ist, wie der Browser “abfragt”, ob der Font Ligaturen zur Verfügung hat, und wie der Font dem Browser “mitteilt” auf welchen Codepoints diese liegen.

  • Ersteller

@Ralf Kann ich das in Fontcreator steuern? Ob und wie der Font mit dem Browser kommuniziert?

Ich kenne das Problem auch und vermute, dass das eher ein Firefox- als ein Fontproblem ist. Auf etlichen Websites – die keine Webfonts verwenden – erscheinen bei mir öfter mal völlig unpassende fi- und fl-Ligaturen, die klar aus einem anderen Font stammen als dem, der von dem betreffenden Text verwendet wird. Ich habe bisher nicht nachgeforscht, welche Kombination von CSS font stack und lokal installierten Fonts das betrifft.

Das kann durch Subsetting von Webfonts sehr schnell passieren, kann ich mir vorstellen. Wenn der OpenType-Code für die Ersetzung da ist, aber das Zeichen entfernt wurde, wird dann im Font Stack gesucht. Müsste man mal probieren. 

Noch gemeiner: das Subsetting entfernt nur die Glyphendarstellung, nicht aber den Slot. Dann wird die Ligatur mit einem leeren Zeichen ohne Weite ersetzt. Sämtliche Vorkommen von fi und Co. verschwinden dann einfach aus dem Text. 

Klingt plausibel. Ich hätte ja gehofft, dass die mehr oder weniger automatisierten Webfont-Verpacker intelligent genug sind, die entsprechenden liga-Regeln gleich mit raus zu schmeißen, wenn die dazugehörigen Ligaturen entfernt werden. Aber wer weiß?

Passiert das denn nicht nur, wenn man unvorsichtig an den Fonts etwas verändert hat? Ich schätze jedenfalls die Ligaturen auf Firefox sehr und bin noch keinem einzigen Ligaturen-Zwiebelfisch begegnet.

  • 2 Wochen später...

Ich bin jetzt wieder über dieses Phänomen gestolpert. Überall, wo in dem Text ff, fi oder fl vorkommt, sieht’s irgendwie merkwürdig aus. Ein kurzes Stöbern im Quelltext verrät, dass die Seite Cambria für den Fließtext verwendet. Die Windows-Systemschrift enthält Bitmapschriften für kleinere Schriftgrade. Die Vektorversion der Schrift enthält Glyphen für ff, fi, fl usw. Es sieht so aus, als ob in den Schriftgraden, in denen die Bitmapversionen zum Einsatz kommen, die Glyphen der Vektorversion verwendet werden – mglw. weil die entsprechenden Glyphen in den Bitmapversionen fehlen. Ich weiß nicht, ob das ein Cambria-spezifisches Problem ist oder nicht. Eine triviale Testseite gibt’s hier.

Ich kann dieses Verhalten nicht replizieren, weder bei der Süddeutschen noch bei deiner Testseite. Sowieso erscheinen bei mir (Cambria 5.96 auf Firefox 19.0 unter Windows 7 oder unter Lubuntu 12.10) überhaupt keine Cambria-Ligaturen.

 

Nach einem kurzen Blick in das OpenType-Layout der Cambria ist es mir ein Rätsel, wie denn die Ligaturen in der Cambria eigentlich funktionieren sollten. Ich sehe zwar eine Definition, dass etwa eine ffb-Ligatur gebildet werden soll aus der ff-Ligatur gefolgt von b, aber eine Definition für die Bildung der ff-Ligatur habe ich auf die Schnelle nirgends gefunden.

PS: Auch wenn ich in deine Testseite eine echte Cambria-Ligatur hineinhacke (nämlich die Folge ffb, die von Firefox auch tatsächlich als Ligatur angezeigt wird), so sehe ich den von dir beschriebenen Effekt noch immer nicht.

Auch bei mir (Safari 6.0.2 unter Mac OS X 10.7.5) sehe ich nur die normalen Buchstabenfolgen und keine Ligatur (allerdings fehlt ein i in efficient).10.7.5) 

Erstelle ein Konto, um zu kommentieren

Wichtige Informationen

Wir setzen Cookies, um die Benutzung der Seite zu verbessern. Du kannst die zugehörigen Einstellungen jederzeit anpassen. Ansonsten akzeptiere bitte diese Nutzung.

Konto

Navigation

Browser-Push-Nachrichten konfigurieren

Chrome (Android)
  1. Klicke das Schloss-Symbol neben der Adressleiste.
  2. Klicke Berechtigungen → Benachrichtigungen.
  3. Passe die Einstellungen nach deinen Wünschen an.
Chrome (Desktop)
  1. Klicke das Schloss-Symbol in der Adresszeile.
  2. Klicke Seiteneinstellungen.
  3. Finde Benachrichtigungen und passe sie nach deinen Wünschen an.