在GD中显示从右到左连接的语言(如波斯语和阿拉伯语) – 可能的PHP错误

我想用php gd库创建一个带有文本的图像.

一切都很好,但是当我尝试使用imagefttext()从右到左连接语言(如波斯语)写一个单词时,我的文本从左到右呈现(反向),并且字符不再连接.

连接字符的示例:ماه
没有连接的字符的例子:ماه

这是我的代码:

    header('Content-Type: image/jpeg');
    $thumb_path = "...";
    $font_path = "..."
    $img = imagecreatefromjpeg($thumb_path);
    $color = "...";
    // __month is a Persian word :  ( م ا ه -->  ماه )
    $text = $months." ".__month;
    imagefttext($img,29, 10, 230, 135, $color, $font_path, $text); // <--
    imagejpeg($img);

渲染图像:

我知道我的问题不是编码.因为我已经尝试过这个:

$text = mb_convert_encoding($text, "HTML-ENTITIES", "UTF-8");

结果是一样的.

有一些库可以解决这个问题.而且我知道大多数人都不熟悉波斯语或阿拉伯语,但我的问题是为什么gd本身不支持对左连接语言的权利?

这可能是gd库中的一个错误吗?

解决方法:

似乎没有任何帮助(设置正确的语言环境),本机PHP支持是错误的,这可能是创建第三方包的原因:

使用php-gd-farsi

充当魅力:

只需将库复制到PHP目录(不必是管理员).用法很简单:

// init:
include('php-gd-farsi-master/FarsiGD.php');
$gd = new FarsiGD();

....
// then convert your text:
$tx = $gd->persianText($str, 'fa', 'normal');

您甚至不必设置正确的区域设置!

上一篇:php – 如何将文本添加到曲线图像?


下一篇:u-boot include目录 gd_t结构体 如何关联芯片指定的目录