Achim Janowski: imagettftext: Probleme mit Umlauten bei Verwendung mancher Fonts

Hallo!

Ich habe unter http://www.aaj.de/test.html ein Beispiel online gestellt, um mein Problem zu verdeutlichen.

Bei der Verwendung von Umlauten und Sonderzeichen gibt es mit manchen Fonts merkwürdige Ergebnisse bei der Beschriftung einer Grafik mit imagettftext. Möglicherweise hängt das mit dem Update bei meinem Provider auf die GD-Version 2 zusammen (unter 1.6x lief das Ganze problemlos). Infos zur PHP-, GD-Version etc. finden sich unter http://www.aaj.de/info.php.

Erklärungen oder sogar Lösungsansätze wären wunderbar... :-)

Gruß, Achim

  1. Hallo Achim,

    Erstmal, das ist ein sehr nettes Tool, was Du da hast!
    Fangen wir mal ganz billig an, du bist sicher, dass die Schrift den entsprechen Buchstaben enthaelt?
    Wenn Du den Text unmittelbar, bevor du ihn an den Generator uebergibst, mit print() ausgibst, ist er dann ok?
    Wie sieht dein Sourcecode aus?

    Gruß,

    Dieter

    1. Hallo Dieter!

      Alle Fonts beherrschen die Sonderzeichen und Eurozeichen. Als ich das Script entwickelt habe, ging es auch problemlos. Damals war bei 1&1 die GD-Lib 1.6x aktuell. Irgendwann haben die auf Version 2 upgedatet. Obs damit zusammenhängt, weiß ich nicht. Wurde nur erst heute drauf aufmerksam gemacht. Die Zeichen werden korrekt übergeben, der gleiche Effekt tritt auch auf, wenn die Zeichen fest in den Code eingebaut werden... Was halt wundert, ist die unterschiedliche Ausgabe z.B. von Arial und Calisto...

      Gruß, Achim

      1. Hallo Achim,

        Ich hab mal etwas gegoogelt, weil mich das auch interessiert, sieht aber schlecht aus. Wir hatten heute morgen mal in einem voellig anderen Zusammehang was mit ASCII vs. octal vs. hex. Vielleicht bringt es was, wenn Du anstatt a, b, c mal \142, \143 etc. uebergibst. Das ist aber reine Spekulation, ich kann dir keinen vernuenftigen Grund nennen.
        Vielleicht postest du auch mal die Funktion.

        Gruß,

        Dieter

  2. Hallo!

    Ich habe das Problem nochmals komprimiert dargestellt unter

    http://www.aaj.de/arial.php bzw. http://www.aaj.de/verdana.php

    Vielleicht hilft das bei der Eingrenzung des Problems...

    Es soll jeweils der Text ÄÖÜ äöü ß € dargestellt werden.

    Die Datei arial.php sieht so aus:

    <?PHP
    header("Content-type: image/gif");
    $image = imagecreate(400, 100);
    $farbe_body = imagecolorallocate($image, 204, 204, 204);
    $farbe_font = imagecolorallocate($image, 102, 102, 204);
    imagettftext($image, 36, 0, 20, 40, $farbe_font, "arial.ttf", "Font Arial:\nÄÖÜ äöü ß €");
    imagegif($image);
    ?>

    Die Datei verdana.php sieht so aus (ist also bis auf "verdana" statt "arial" identisch:

    <?PHP
    header("Content-type: image/gif");
    $image = imagecreate(400, 100);
    $farbe_body = imagecolorallocate($image, 204, 204, 204);
    $farbe_font = imagecolorallocate($image, 102, 102, 204);
    imagettftext($image, 36, 0, 20, 40, $farbe_font, "verdana.ttf", "Font Verdana:\nÄÖÜ äöü ß €");
    imagegif($image);
    ?>

    Hinweis: Ich habe in den Originaldateien die vollständigen und korrekten Pfade zu den Fonts angegeben.

    Gruß, Achim

    1. Hallo Achim,

      Ich hab mir den Code kopiert und lokal getestet. Das hat mit ziemlich vielen Fonts geklappt, auch mit Verdana und Arial. Bei mir ist PHP 5, GD 2, Win XP Pro im Einsatz. Insofern sehe ich zwei moegliche Probleme:

      • deine Fonts haben eine Macke (stimmt Deine Emailadresse? Ich kann Dir eine Kopie von meinem Verdana schicken)
      • dein Server identifiziert sich als Server: Apache/1.3.29 (Unix). Kann es sein, dass er Schwierigkeiten hat, die Fonts zu verdauen.

      Gruß,

      Dieter

      1. Hallo Dieter!

        Ich bin mit dem Support von 1 & 1 im Gespräch. Die leiten das an ihren Second-Level-Support weiter... Ich nehme an, dass es mit der aktuellen Installation von GD-Lib und Freetype zu tun hat. Ich weiß von mindestens einem anderen Kunden bei 1 & 1, wo das genau gleiche Phänomen auftritt. Und bis vor kurzem (?) bestand das Problem noch nicht, da ging alles völlig problemlos.

        E-Mail-Adresse stimmt, wobei ich gestern alle Fonts nochmals hochgeladen habe und lokal alles in Ordnung ist...

        Gruß, Achim