3

我正在尝试使用 PHP 的 imgttftext() 函数在图像上写一些乌尔都语文本。除非我使用以下代码转换文本,否则它不会显示字符:

function convert($text){
    $out="";
    mb_language('uni');
    mb_internal_encoding('UTF-8');
    $text = mb_convert_encoding($text, 'HTML-ENTITIES',"UTF-8");
    $text = html_entity_decode($text,ENT_NOQUOTES, "ISO-8859-1");
    for($i = 0; $i < strlen($text); $i++) {
        $letter = $text[$i];
        $num = ord($letter);
        if($num>127) {
              $out .= "&#$num;";
        } else {
              $out .=  $letter;
        }
    }
    return $out;
}

现在,文本例如 عچں(包含三个字符 عچں)作为单独的完整字符打印到图像上,而不是切割和连接字符以形成像 عچں 这样的乌尔都语单词。

我在这个页面http://en.wikipedia.org/wiki/List_of_Unicode_characters#Arabic中使用了带有代码 U+0627、U+0628、U+0629 等的字符 اب ت ث

我在这里分享了代码:https ://code.google.com/p/urdu-captcha/downloads/list

注意:我在提供的删除代码中的字符之间添加了空格,这对文本在图像上的显示方式没有影响。

我如何让它写出连接在一起的字符以形成正确的单词?

4

1 回答 1

4

您将需要一个额外的库来执行阿拉伯字形连接。查看AR-PHP

于 2013-03-24T10:08:00.010 回答