• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zwiebelfische in HTML verhindern.

Laptop

Neues Mitglied
Hi! Wie kann man unterbinden, daß sich der Browser (bei mir Firefox 3.6) Zeichen aus einem anderen Font "besorgt", falls ein Zeichen von dem im HTML-Code definierten Font nicht dargestellt werden kann? Diese Zwiebelfische sind nicht nur unschön, ich weiß auch nicht, aus welchem Font nun die "geborgten" Zeichen sind. :-o
 
Das läßt sich nicht verhindern, aber du kannst in CSS für jede Schriftart Alternativen angeben.
 
Danke struppi. Das ist problematisch, denn woher weiß ich ob und aus welchem Fonts Zeichen geborgt sind? Ich möchte eine Website ja "web safe" entwickeln, so daß ich wissen muß, ob andere Leute mit dem angegebenen Font auch alles darstellen können. Kann man diesen "Zeichenklau" wirklich nicht irgendwie verhindert? :roll: Gruß
 
@Guru Ich habe große HTML-Dokumente mit -zig Sonderzeichen, die habe ich selbst nicht alle immer im Überblick, bzw. kann jedes einzelne davon prüfen. Nun wird die Seite mit allen Zeichen korrekt angezeigt. Woher weiß ich, daß alle Zeichen auch wirklich nur von der einen angegebenen Schriftart dargestellt werden, und nicht einige von anderen Schriftarten? Dieser Zeichenklau geschieht ja heimlich im Hintergrund, ich kann ihn nicht nachvollziehen, ich kann ihn nicht überprüfen. Und somit weiß ich nicht, ob sie web safe ist. Klar, ich könnte alle bis auf die Standard-Fonts deinstallieren, aber das kann es nicht sein. Dachte man könnte den Browser irgendwie von diesem Zeichenklau abhalten, bzw. ich weiß ja nichtmal was der technische Hintergrund ist, bzw. wie sich dieses Procedere fachsprachlich nennt. Von daher kann ich eigentlich nichts machen.
 
Nein, das geschieht nicht heimlich. Es gibt eine definierte Liste von Schriftarten, entweder von dir und oder in den Browsereinstellungen. Es wird aber nicht aus irgendeiner Schrift irgendetwas genommen.
 
Du könntest eine Schriftart wählen, die die gewünschten Zeichen unterstützt.

Ich weiß, die Antwort ist nicht so sonderlich befriedigend. Dasselbe gilt aber für das Thema "Schriftarten" (vor allem im Web) leider seit Jahr und Tag. Umfangreiche Schriftarten (hinsichtlich der Anzahl der unterstützten Zeichen) sind üblicherweise groß (500 kb und mehr pro Schnitt) und -- abgesehen von ca. einem halben Dutzend "Core Fonts" -- selten auf dem Clientrechner vorhanden.

Ich stand neulich vor einem ähnlichen Problem. Ich wollte per @font-face eine Schrift einbinden, wollte dabei aber größmögliche typografische Qualität (echte Kursiv- und Fettvarianten) und Unterstützung etwa von chinesischen Zeichen. Das hätte am Ende einen Download von etwa 2-3 MB benötigt, weshalb ich die Idee schnell verworfen und zähneknirschend eine der Standardschriftarten genutzt habe. (Wobei selbst dort die Unterstützung teilweise wohl Glückssache ist.)

Es war mir ehrlichgesagt neu, dass nicht vorhandene Zeichen aus einer anderen Schriftart "substituiert" werden. Ich hätte gedacht, da erscheint einfach ein Fragezeichen (�) oder so. Habe gerade mal versucht, dazu was zu finden, aber leider erfolglos. Würde mich auch interessieren, wenn dazu jemand Genaueres hat.
 
Nein, das geschieht nicht heimlich. Es gibt eine definierte Liste von Schriftarten, entweder von dir und oder in den Browsereinstellungen. Es wird aber nicht aus irgendeiner Schrift irgendetwas genommen.
Danke, das hilft mir schon weiter. D.h. bei den Font-Definitionen (im HTML, im Browser) muß ich einfach alles rauswerfen bis auf einen einzigen Font, und dann werden auch nur Zeichen aus diesem Font geladen, und es geschieht kein "Zeichenklau" mehr?

@Guru O.K. Zu deinem Problem vielleicht eine Hilfestellung: AFAIK reduziert WEFT bei Erstellung einer EOT-Datei den Zeichenvorrat auf die Zeichen, die von deiner Website tatsächlich genutzt werden, und das sind in der Regel nur ein Bruchteil, d.h. man kann da hinsichtlich der Dateigröße (du erwähnst 2-3 MB) sicherlich ordentlich abspecken. Klar, das ist eine Microsoft-eigene Methode der Schriftarteneinbindung, die nur für den IE funktioniert, wollte es nur mal erwähnt haben ... Falls du noch irgendwas zum Thema herausfinden kannst, würde es mich freuen, wenn du von dir hören läßt. Gruß
 
Ja, die Ansätze zur Verkleinerung kenne ich. (Zum Beispiel erlaubt der @font-face Generator hier sogar die Auswahl diverser Zeichen-"Untermengen".) Aber das ist mir zu wenig oder ich bin bei sowas zu übertrieben perfektionistisch.

Für einen normalen Anwendungsfall mag es fast reichen, etwa die ISO-8859-15-Zeichen zu haben, was sehr kleine Schriftgrößen ermöglichen dürfte. Aber irgendwann kommen dann die Sonderzeichen und dann sind wir bei deinem Problem und diesem Thread hier.

Wenn ich es das nächste mal versuche, werde ich glaube ich auf eine ISO-8859-15-Schriftart setzen und mal gucken, wie sich Sonderzeichen aus fremden Schriftarten darin machen.

PS: Der Nickname ist übrigens "mermshaus". ;)

Edit: Schöne Seite mit Schriftersetzung: http://diveintohtml5.org/
 
@Guru der Nick ist mir zu kompliziert ;-) Den Lösungsansatz von http://diveintohtml5.org/ kenne ich, ist die derzeitige Brot-und-Butter-Lösung für Cross-Browser-Font-Embedding.

Klar, es kommt darauf an welche Zeichen man benötigt, und gerade bei ausgefallenen Wünschen (bspw. hochgestelltes "e" über "u" od. dgl.) gibt es nur eine handvoll Fonts, die das unterstützen und man muß genau suchen. Wenn ich z.B. wissen möchte welcher Font das hochgestellte "e" bietet, nutze ich diese Maske Unicode Character Search gehe auf die Seite des gefundenen Zeichen, bspw. Unicode Character 'COMBINING LATIN SMALL LETTER E' (U+0364) und klicke rechts oben auf "Fonts that support U+0364", da finden sich in diesem Beispiel gerade mal 10 Fonts. :-o Allgemein hat mich vor allem der Font "Fixedsys Excelsior" positiv überrascht. Für einen so kleinen Font bietet er schon einen unverschämt großen Vorrat an Unicode-Zeichen (auch das hochgestellte e übrigens), aber auch Arabisch, polytones Griechisch, Fraktur und Tengwar. Sowas sollte mit Betriebssystemen mitgeliefert werden. Klar, der Haken ist die Lesbarkeit -- ist eben nichts für verwöhnte Augen. Aber die Eierlegende Wollmilchsau gibt es leider nicht: selbst bei Unicode-Fonts gibt es große Unterschiede allein schon im Zeichenvorrat. Und einer, der einen riesigen Zeichenvorrat hat, der in allen Schriftschnitten vorhanden ist, der elegante Anmutung bietet, der womöglich noch klein und kostenfrei, sowas ist noch Utopia. Für mich tut es derzeit LeedsUni. So, erstmal genug geplappert :-)
 
Zuletzt bearbeitet:
... und gerade bei ausgefallenen Wünschen (bspw. hochgestelltes "e" über "u" od. dgl.) gibt es nur eine handvoll Fonts, die das unterstützen und man muß genau suchen. Wenn ich z.B. wissen möchte welcher Font das hochgestellte "e" bietet, nutze ich diese Maske Unicode Character Search gehe auf die Seite des gefundenen Zeichen, bspw. Unicode Character 'COMBINING LATIN SMALL LETTER E' (U+0364) und klicke rechts oben auf "Fonts that support U+0364", da finden sich in diesem Beispiel gerade mal 10 Fonts.
Auf dem dortigen Server - du hast das Flash Tool ausprobiert, das bei dir nach schaut? Das fndet deutlich mehr Schriftarten - zumindest bei mir. Es scheint, das das Zeichen, gar nicht so ausgefallen ist, es geht auch hier: ͤ
 
Zuletzt bearbeitet von einem Moderator:
Hi struppi, welches Flashtool meinst du jetzt? Wundert mich, daß du das hochgestellte e lesen kannst, welchen Font benutzt du dazu? Man kann ja nicht sagen, daß etwas "im Forum" geht oder nicht, weil es immer davon abhängt welche Fonts der User installiert hat. Vielleicht ist es "Arial Unicode", das du installiert hast.
 
Nein, das geschieht nicht heimlich. Es gibt eine definierte Liste von Schriftarten, entweder von dir und oder in den Browsereinstellungen. Es wird aber nicht aus irgendeiner Schrift irgendetwas genommen.

@struppi irgendetwas kann daran nicht stimmen, mein Firefox 3.6 "holt" sich Zeichen aus einem Font, der weder in den Browser-Einstellungen noch im HTML-Quelltext angegeben ist. Im Quelltext habe ich definiert: charset=UTF-8. Geholt werden die (seltenen) Sonderzeichen aus meinem Font "Fixedsys Excelsior". In den Browsereinstellung unter Extras > Einstellungen > Inhalt > Schriftarten & Farben > Erweitert > "Schriftarten für: ..." kann man "UTF-8" nicht auswählen. Nichtsdestoweniger ist Fixedsys Excelsior kein Standardfont und dürfte daher unter keiner Standardeinstellung zu finden sein.
 
Schwer zu sagen, das ist eine Thematik mit der ich mich noch nicht genau beschäftigt habe. Da können theoretisch viele Sachen eine Rolle spielen. Auch vom Betriebsystem.

Aber ich hatte das so in Erinnerung, dass unbekannte Zeichen, auch in utf-8, mit einem Platzhalter dargestellt werden. Kannst du vielleicht ein Beispiel online zeigen?
 
Laptop schrieb:
@Guru der Nick ist mir zu kompliziert ;)

Zu deinem Glück interessiert mich das Thema.

Hier eine Demoseite zur Verdeutlichung, wie der Browser einzelne Zeichen ersetzt: characters demo

(Ghetto Marquee ist lediglich die erstbeste frei verfügbare Schriftart, die mir unterkam, die kein Š enthält.)

Mehr Informationen:

- [google]firefox glyph substitution[/google]
- In depth: Understanding font resolution and glyph substitution in browsers | Under My Hat
- Eric's Archived Thoughts: 2008 May 22

Bottomline: Es ist letztlich nicht vorhersagbar, durch welches Zeichen ein in der gewünschten Schriftart nicht vorhandenes Zeichen ersetzt wird.

Ob sich die "glyph substitution" auf HTML- oder CSS-Ebene deaktivieren lässt, habe ich nicht herausfinden können. Ich vermute deshalb aber stark, dass es nicht möglich sein wird.

In deinem Fall könntest du ein Script über die Seite laufen lassen, das alle eingesetzten Zeichen ermittelt und mit den in der gewünschten Schriftart vorhandenen Zeichen abgleicht. Auf diese Weise bekommst du zumindest einen Überblick, was seltsam aussehen könnte.
 
Der „Under-My-Hat-Artikel“ behandelt die Fragen wirklich schön konkret, und die Aussage ist, so wie ich es verstanden habe: „Es ist – außer mit dem bloßen Auge – durch keine Technik feststellbar, ob der Browser irgendwelche Glyphen substituiert, und welche betroffen sind, und welcher Font dazu herangezogen wird“. Erstaunlich, daß zwei Jahrzehnte nachdem HTML das Licht der Welt erblickte solche ich sage mal „browser features“ noch im Dunkeln liegen bzw. nicht regelbar sind.
 
Zuletzt bearbeitet:
Zurück
Oben