این کدو برات نوشتم کامل نیست اما کارتو راه می اندازه فقط از یک فونت فارسی استفاده کن
C:\Windows\Fonts
function reverse_persian_str($str='')
{
$strlen=strlen($str);
$arr=array();
$temp_str='';
for($i=0;$i<$strlen;$i++)
{
if(ord($str[$i])>=127 && ($i+1)<$strlen)
{
$arr[]=$str[$i].$str[$i+1].(strlen($temp_str)?($temp_str):'');
strlen($temp_str)?($temp_str=''):'';
$i++;
}else{
$temp_str.=$str[$i];
}
}
if(strlen($temp_str))
{
$arr[]=$temp_str;
}
$count_arr= count($arr);
for($i=0;$i<$count_arr/2;$i++)
{
$t=$arr[$i] ;
$arr[$i]=$arr[$count_arr-$i-1] ;
$arr[$count_arr-$i-1] = $t;
}
return implode('',$arr);
}
$str='آرش arash';
$str=reverse_persian_str($str);
$font='msuighur.ttf';
$im=imagecreate(200,200);
imagerectangle($im,0,0,199,199,imagecolorallocate( $im,255,255,255));
imagettftext ($im,20,1,100,100,imagecolorallocate($im,0,0,255), $font,$str);
header('content-type: image/jpg;utf-8');
imagejpeg($im);