Newsgroup: it.comp.www.php
Titolo: Problemi con funzione imagettftext

Spero che qualcuno riesca a risolvere il problema:
Questo script deve creare un'immagine jpeg e salvarla sul disco
Lo script è testabile qui:
http://www.agsoftware.it/ttf/index2.php?r=255&y=0&b=0&testo=ABCDEFGHIJKLMNO
Il risultato è un'immagine nera quadrata con una scritta color rosso
variando i parametri r,y,b (per chi ha la fortuna di avere un isa server
gestito in maniera decente e non semplicemente buttato su.....) cambia il
colore del testo
Il server è un linux su spazio aruba con php 4.3.3, gd con truetype
abilitato, ecc.ecc.
Come potete vedere funziona a meraviglia
il font (arial.ttf) è copiato nella stessa cartella dello script
Domanda:
perchè lo stesso script (allegato di seguito) su macchina locale, xp con
apache 2.0.48, php 4.3.3 prima, ora 4.3.4 ma anche 5.0.0 b2 non funziona e
mi dice
Warning: imagettftext(): Could not find/open font in W:\programmi\Apache
Group\Apache2\httpdocs\ttf\index2.php on line 20
Le ho provate tutte (credo) seguendo anche problemi analoghi visti in post
precedenti
1) font nella cartella
2) font nella cartella e path estesa
3) richiamo font dalla cartella windows/font (chè è comunque su un disco
diverso dalla document root di apache)
4) font passato con nome esteso del server locale
(
http://localhost/ttf/arial.ttf
)
L'unica differenza ininfluente credo tra lo spazio aruba e il server locale
che i binari php non contengono l'abilitazione type 1 (che non mi interessa,
e che per inciso mi restituisce comunque lo stesso errore, benchè avrebbe
dovuto magari dirmi che non era supportata)
Qualcuno è in gradi di risolvermi questo problema, poichè devo far lavorare
lo script in questione su macchina locale
Anticipatamente ringrazio
Andrea

Ho dimenticato lo script.....
eccolo
---------------------------------------------------------------------------
<html>
<head>
 <META HTTP-EQUIV="expires" CONTENT="0">
 <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
</head>
<?
$fn="c102.jpg";
if (file_exists($fn)){unlink ($fn);}
$testo="testing";
$y=255;
$b=255;
$r=255;
foreach($_REQUEST as $C=>$R){$$C=$R;}
$img=imagecreatetruecolor(200,200);
$colore=imagecolorallocate($img,0,0,0);
if(($r==0)&&($y==0)&&($b==0)){$colore=imagecolorallocate($img,255,255,255);}
$sfondo=imagecolorallocate($img,$r,$y,$b);
imagefill($img,0,0,$colore);
imagettftext($img, 30, 0, 10, 100, $sfondo,"
http://localhost/ttf/arial.ttf
",
"$testo");
imagejpeg($img,$fn,60);
imagedestroy($img);
?>
<body>
 <img src='<?= $fn ?>'>
</body>
</html>
----------------------------------------------------------------------------
--

... magari a qualcuno interessa.....
Scartabellando tra le note della documentazione di php, ho trovato alcune
"lamentele" che riportavano problemi analoghi
Alla fine credo che la colpa sia da attribuire agli spazi che
l'installazione di apache mette nella directory dell'applicazione
Questo viene installato in {PROGRAMMI}\apache group\apache2\
Di conseguenza la cartella dei documenti è in
{PROGRAMMI}\apache group\apache2\htdoc
per non avere problemi in windows (qualcuno da la colpa alla libreria gd per
win32) bisogna spostare la cartella dei documenti in un percorso che non
presenti caratteri "strani".
Spostando la cartella dei documenti in c:\htdoc e riconfigurando apache, lo
script ha ricominciato a funzionare regolarmente
Saluti
Andrea