我正在尝试使用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;
}
现在,例如عچں(其中包含三个字符عچں)作为单独和完整的字符打印在图像上,而不是剪切和连接字符以形成像عچں这样的乌尔都语单词。
我使用了代码U + 0627,U + 0628,U + 0629等字符来自此页http://en.wikipedia.org/wiki/List_of_Unicode_characters#Arabic
我在这里分享了代码:https://code.google.com/p/urdu-captcha/downloads/list
注意:我在提供的代码中的字符之间添加了空格 删除对文本的显示方式没有影响 图像。
如何将连接在一起的字符写成正确的单词?