Error al escribir árabe en la imagen

Mi pregunta anterior relacionada:

php trabaja con imágenes: escribe la palabra completa en árabe, fuente ttf

Mi problema fue:

Si quiero escribirاحمد en la imagen aparece comoد م ح اBueno, lo arreglé y ahora la salida:ا ح م د

Usando esta función:

function arab($word){

       $w = explode(' ',$word) ;

       $f = array(array('ا','أ'),'ب','ت','ث','ج','ح','د','ذ','ر','ز','س','ش','ص','ض','ط','ظ','ع','غ','ف','ق','ك','ل','م','ن','ه','و','ى');

       $t = array(array('ا_','أ_'),'ب_','ت_','ث_','ج_','ح_','د_','ذ_','ر_','ز_','س_','ش_','ص_','ض_','ط_','ظ_','ع_','غ_','ف_','ق_','ك_','ل_','م_','ن_','ه_','و_','ى_');

       $my_arab = '' ;

       foreach($w as $wo)
        {
             $r  = array() ;

             $wo = str_replace($f , $t ,$wo);

             $ne = explode('_', $wo) ;

             foreach($ne as $new) {
                $new = str_replace('_','',$new) ;
                array_unshift($r , $new);
             }

            $my_arab .=  ' '.implode('',$r) ;

        }

     return trim($my_arab) ;

}

Pero el nuevo problema es:

ا ح م د

(letras separadas) donde debería estar:

احمد

¿Cómo puedo arreglar esto

Respuestas a la pregunta(3)

Su respuesta a la pregunta