PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umlaute bei GD Funktion imagettftext()


chriditz
04.08.2006, 17:34:26
Hallo,

ich versuche mit imagettftext(...) und

$text = "Ungültiger Aufruf !";
$font = "fonts/arialbd.ttf";
$text_color = ImageColorAllocate($im,255,0,0);
$size = imagettfbbox(10, 0, $font, $text);
$breite = $size[4] - $size[6];
$x = (400 - $breite) / 2;
imagettftext($im, 10, 0, $x, 140, $text_color, $font, $text);

eine Fehlermeldung zu erzeugen. Leider zeigt er mir dabei das "ü" (und komischerweise auch das folgende "l") nicht an.

Hatte auch schon mit

$text = "Ungültiger Aufruf !";
$text = str_replace("ü", chr(252), $text);
$font = "fonts/arialbd.ttf";
$text_color = ImageColorAllocate($im,255,0,0);
$size = imagettfbbox(10, 0, $font, $text);
$breite = $size[4] - $size[6];
$x = (400 - $breite) / 2;
imagettftext($im, 10, 0, $x, 140, $text_color, $font, $text);

versucht das Problem zu umgehen (den chr(252) gibt er an und für sich aus) aber scheinbar mach ich hier dann noch nen anderen Fehler beim Ersetzen.

Kann mir jemand einen Tipp geben, wie das auf jeden Fall klappen müßte ? Hab auch schon verschiedene Lösungen der "Contributed Notes" auf php.net ausprobiert, jedoch bisher erfolglos.
Vielen Dank im Voraus ! Christian

Achja, GD ist auf dem Server wie folgt eingebunden:

GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.3
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
JIS-mapped Japanese Font Support enabled

Die Arial-Datei hab ich einfach mal aus dem entsprechenden Ordner von XP genommen.

|Coding
08.08.2006, 20:02:47
Das kann meiner Meinung nach nur ein Codierungsfehler sein. Mit welchem Editor bearbeitest du das PHP-Script?

chriditz
09.08.2006, 03:16:28
Hm, benutz TextPad ... an die Möglichkeit daß es schon am Editor liegen könnte, war ich noch gar nicht gekommen ... Zeichensatz ist dort auf ANSI eingestellt - ist das schon falsch ?