Klaus Junge: Zu small/large Fonts

Hallo allerseits,

wir hatten ja schon öfters das Thema small/large Fonts am Wickel.
Allgemeiner Tenor ist, daß das nicht lösbar ist.

Ich bin mir nicht sicher und kann es auch nicht wiederfinden,
aber mir ist so, als wenn es mit einem Java-Applet ginge
die Laufweite eines Strings (im Pixel/Bildschirmeinheiten?)
zu ermitteln. In irgendeiner Class war doch eine Methode.

Klar, das wäre kein Allheilmittel. Java muß aktiviert sein.
Aber für die Fälle wo es das ist (Chatter...), würde es
funktionieren können. Oder?

Klaus

  1. Hi, Klaus

    Hallo allerseits,

    wir hatten ja schon öfters das Thema small/large Fonts am Wickel.
    Allgemeiner Tenor ist, daß das nicht lösbar ist.

    Wieso nicht lösbar? Wenn man sich die mühe macht dyn. style-angaben zu schreiben, geht es mit folgender methode:

    ----- >=8 ----------

    <script language="JavaScript" type="text/javascript"><!--
    NN= (document.layers) ? 1 : 0; IE= (document.all) ? 1 : 0;

    function schreib_was(was) {
    var ins= '<h6 style='font-family:arial;color:red;font-size:10pt;'>';
    var outs= '</h6>';
    if (IE) document.all.text.innerHTML= ins+was+outs;
    if (NN) with (document.text.document)
    {open(); write(ins+was+outs); close();}

    }
    //--></script>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <html>
    <head>
    <title>Fixed-Font-Size</title>
    </head>

    <body onLoad="schreib_was('hallo Welt!');">

    <span id="text" style="position:absolute;visibility:visible;"></span>

    </body>
    </html>

    ----- >=8 ----------

    Ich würde so keine ganzen seiten aufbauen wollen, aber in bestimmten sonderfällen ist das ganz praktisch...

    tschau...
    /*,*/
    Wowbagger

    1. Hallo Wowbagger,

      Du weißt dann aber immernoch nicht was Dein User für Fonts eingestellt hat.

      Klaus

      1. Hallo allerseits,

        im Cache hab' ich diese Beiträge zu dem Thema noch gefunden:

        Patrick: kleine / grosse Schriftartenproblem

        Hallo Dirk!

        gibt es eine Möglichkeit, die Anzeigeeinstellungen INKLUSIVE große bzw. kleine Schriftarteneinstellung abzufragen und daraufhin evtl. 2 verschiedene CSS-Dateien
        zu laden ?

        Leider gibt es keine Möglichkeit, abzufragen, ob ein Besucher die big fonts oder die small fonts eingestellt hat. Vielleicht liesse sich das mit einem VB-Script realisieren, würde aber nur mit MSIE funktionieren.

        Dabei sind die Unterschiede, die diese Einstellungen bewirken, nicht nur auf HTML beschränkt, und auch die Programmierer von Windows-Anwendungen sollten mal ihre Programmoberflächen mal mit den Großen Schriftarten testen: abgeschnittene Dialogboxen, unvollständige Bilder usw... gehören bei den meisten Free- und Sharewareprogrammen leider zur Tagesordnung.

        Wie es in HTMl aussieht, kannst Du schon mal auf folgender Datei sehen: dort ist ein Screenshot einer Seite, die allen Anschein nach auf einem PC mit kleinen Schriftarten erstellt worden ist, wenn man sie von einem PC mit big fonts anschaut...

        http://www.atomic-eggs.com/temp/compare.html

        André hat Dir nun die Möglichkeit gezeigt, die Schriftgröße in "em" anzugeben. Doch ist gerade "em" mit Vorsicht zu genießen, da es Unterschiede (wie meistens immer) zwischen Netscape und MSIE gibt, aber auch zwischen MSIE 4 und MSIE 5 (alles natürlich bei gleicher Auflösung). Da wurden Abschitte untereinander (alle mit

        ...</p> definiert einfach skaliert: der untere Abschnitt war größer als der vorige, und so weiter, bei <ul> und <li> war es umgekehrt...)

        Ich habe auf Atomic Eggs das Problem folgendermassen gelöst: ich frage die Auflösung ab (3 an der Zahl: kleiner oder gleich 800*600, 1024*768 und größer als 1024*768). Danach wird pro Browser (bei mir nur ab Version 4 IE oder NS) eine extra CSS-File geladen, da, wie meine Datei "compare.html" zeigt, Unterschiede bestehen zwischen NS und IE bei den Angaben in Pixeln.

        Gerne kannst Du mal auf Atomic Eggs in den Quelltext schauen, das Script für das Laden der CSS-Files ist das Einzige, das nicht in einer externen JS-Datei steht, und also immer im Header zu sehen.

        Zusammenfassend lässt sich aber sagen, auch angesichts dessen, dass es auch Mac-User gibt, dass es noch KEINE zufriedenstellende Lösung zum Schriftendarstellungsproblem gibt: es sind zu viele Faktoren, zu viele individuellen, nicht immer abfragbare Einstellungsmöglichkeiten vorhanden!

        Bis danndann
        PAF (patrickausfrankfurt)

        André Laugks: kleine / grosse Schriftartenproblem

        Hallo!

        gibt es eine Möglichkeit, die Anzeigeeinstellungen INKLUSIVE große bzw. kleine Schriftarteneinstellung abzufragen und daraufhin evtl. 2 verschiedene CSS-Dateien
        zu laden ?

        Nein das ist nicht möglich. Vielleicht inventuell mit Signed Scripts im Netscape Communicator, damit kann man die jspref auslesen.

        Ansonsten probiere es doch damit, die Schriftgröße dynamisch anzugeben.

        font-size:0.9em  
        Das bedeutet, 9/10 von der eingestellten Schriftgröße.

        font-size:1.0em
        Entspricht also immer der eingestellten Größe.

        Weitere Informationen solltest Du unter CSS > "font-size" finden. Schriftgrößen sind auch in Prozentabgaben möglich.

        mfg, André

        André Laugks: kleine / grosse Schriftartenproblem

        Hallo!

        André hat Dir nun die Möglichkeit gezeigt, die Schriftgröße in "em" anzugeben. ...........

        Dieses Problem habe ich aber noch nicht beobachten können.

        »»

        Zusammenfassend lässt sich aber sagen, auch angesichts dessen, dass es auch Mac-User gibt, dass es noch KEINE zufriedenstellende Lösung zum Schriftendarstellungsproblem gibt: es sind zu viele Faktoren, zu viele individuellen, nicht immer abfragbare Einstellungsmöglichkeiten vorhanden!

        Für Mac und Unix sollte mann im 1-2 Schritte größer wählen um den Unterschied bei den Auflösungen (dpi) abzufangen.

        Win = 9pf
        Unix/Mac = 11pt

        Ich habe die Erfahrung gemacht, das man mit der Größendefinition em, sich sowas sparen kann.

        mfg, André

        Klaus

        1. Hallo allerseits,

          in einem java-jdk habe ich folgende Methode beschrieben gefunden.
          Naja, _benannt_ würde den Inhalt genausogut umschreiben.

          -----

          Class java.awt.FontMetrics

          charWidth

          public int charWidth(char ch)

          Returns the advance width of the specified character in this Font.
               The advance width is the amount by which the current point is moved
               from one character to the next in a line of text.

          Parameters:
                    ch - the character to be measured
               Returns:
                    the advance width of the specified char > in the font described by this font metric

          -----

          Da steht, daß eine Breite/Laufweite zurückgegeben wird, nur nicht in was.
          Vielleicht ließe sich hiermit ja doch herauskriegen was für ein Fonttyp gesetzt ist.

          Klaus

          1. Hallo!

            Ich glaube nicht, daß das geht:
            auch wenn ein NS-Script das 'jspref' auslesen könnte, für Schrifteinstelungen was die große bzw. kleine Schriftarten betrifft ist das der Holzweg, denn sie stehen in der win.ini oder in der system.ini.
            Sie auszulesen würde aber erforderlichmachen, daß man alles Sicherheitmaßnahmen über bord wirft.

            Grüße
            Thomas

      2. Hi Klaus,

        ich habe da etwas mißverstanden: Ich dachte du meinst die fontgrößen, die man im browser einstellen kann... ;)

        so long...
        /*,*/
        Wowbagger