CSS ändert Schriftart nicht zuverlässig

  • Hallo Leute!

    Das Problem läßt sich bei mir durch zwei Zeilen auf einer HTML-Seite reproduzieren:

    <p style="font-family:Garamond,fantasy;">KLDS</p>
    <p><font face="Garamond,fantasy">KLDS</font></p>

    Je nach verwendeter Schriftart vorn wird beide Male die vordere angezeigt (Verdana, Arial), nur unten die vordere, oben die hintere genommen (Cheq, 'Bitstream Vera ...') oder beide Male die hintere angezeigt (Garamond, 'Chess Regular').

    Alle genannten Schriftarten sind auf meinem Rechner (FF 2.0.0.4 auf WinXP) installiert.

    Wenn ich unter Ansicht->Webseiten-Stil auf "kein Stil" gehe, zeigt er auch in der unteren Zeile kein Cheq mehr an.

    Mir ist dieses Verhalten unklar, besonders, wenn sich beide Zeilen nicht gleich verhalten.
    Wem es weniger unklar ist, den bitte ich um Antwort.
    Danke!

  • Hi AdamP,

    in Ansätzen ist mir das schon klar:

    Manchmal ist weniger mehr, so in diesem Fall. Bei "doppelwortigen" Fonts sind nämlich die zusätzlichen Anführungsstriche obsolet bzw. sogar kontraindiziert. Setzt man sie in Deinem unteren Beispiel trotzdem, kann das zur Folge haben, daß der entsprechende Font nicht mehr erkannt wird. Welchen Regeln dieses Erkennen oder Nichterkennen folgt, habe ich allerdings noch nicht ermittelt. Der oberen Version sind die Zahl der Anführungsstriche wiederum egal, was die unterschiedliche Reaktion erklärt.

    Abgesehen davon sollte die untere Version ohnehin nicht verwendet werden (vgl. http://de.selfhtml.org/html/text/schr…t_groesse_farbe). Die korrekteste (und wohl auch in jeder Lebenslage funktionierende) Syntax wäre

    Code
    «p»«span style="font-face:font x, font y"»Text«/span»«/p»

    (Logischerweise sind die «» gegen normale zu ersetzen; hier wird das allerdings dann falsch angezeigt.)

    Grüße
    Nemetona

    Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde.

  • Zitat von JonHa

    style="font-face:..." ist quatsch. Richtig wäre style="font-family:..." ...

    Stimmt. Da habe ich mich solange mit diesen blöden Spitzklammern rumgeärgert, daß schließlich der Inhalt falsch war. Sorry dafür.

    Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde.

  • Danke schonmal für die Antworten!

    Die angegebene Variante ist ja kaum ein Unterschied zu meiner oberen und hat leider den gleichen (ausbleibenden) Erfolg. Also die Schriftart, die ich haben will, krieg ich nach wie vor gar nicht hin, eine ähnliche (leider kommerzielle) nur mit <font>-Tag.
    Ich kann die Schriftart sogar als als Standardschriftart in den Firefoxeinstellungen festsetzen. Wenn ich dann noch der Seite eigene Schriftarten untersage, sollte theoretisch nur noch diese eine zu sehen sein. Stattdessen kommt nur noch Arial.

  • Ich habe das Problem auch nicht zum ersten Mal, aber noch nie gelöst.

    Es geht darum, Schachfiguren auf einem Schachbrett darzustellen. Deswegen würde die Schriftart für den BODY eher verwirren. An sich sollte ins CSS eine Zeile wie:
    .brett {
    font-family: 'Chess regular';
    }

    Wer die Schriftart nicht hat, sieht dann K für König, D für Dame und so weiter. Damit ist der Inhalt immer noch vorhanden, aber die Übersichtlichkeit nicht die selbe. Bei Schachspielern ist die Wahrscheinlichkeit sogar hoch, daß ihre Schachprogramme solche Schriftarten installiert haben, aber wenn sie von Firefox und Opera einfach nicht dargestellt werden, ist des irgendwie plöd.
    Die benötigten 100 <font>-Tags könnte ich dann mit PHP einbauen, aber Spaß macht das nicht.
    Mit Figurinen und Symbolen gibt es beim Schach Notationen, die international verstanden werden und ganze Partien mit umfangreichen Kommentaren darstellen. Im Ausland würde ein D nicht zwingend als Dame erkannt werden, weshalb ich mit Arial nicht weit komme.

  • Benutz doch einfach kleine Grafiken (mit passendem Alternativtext). Das Einbinden von Symbol-Schriftarten wie Windings und vermutlich auch deiner Schriftart ist mit CSS nicht vorgesehen.