8

知道这个问题之前已经在 PHP 更新字距调整问题中解决了 imagettftext() 和 imagefttext() 函数 ,但没有解决方案;

PHP5.3 在打印文本时似乎有字距问题:

查看以下示例中的“x”(字体:Ubuntu-M.ttf):

PHP5.2,ubuntu(好)

在此处输入图像描述

PHP5.3.2,ubuntu(更糟糕的是,x 是肥大的)

在此处输入图像描述

PHP5.3.2,MAMP OSX(可怕)

在此处输入图像描述

有什么解决办法吗?

安装了 5.3.6 的任何人都可以尝试一下吗?

问候,//t

4

1 回答 1

2

下载字体(Ubuntu字体系列的0.71.2版)后,我尝试用我的家用机器复制中间图像。Arch Linux,x86_64,PHP 5.3.6,GD 2.0.34(捆绑),Suhosin 补丁,FreeType 2.4.4。我最好对 e 和 x 进行字距调整。

图像生成:

<?php
$img = imagecreatetruecolor(158, 72);
imagesavealpha($img, true);

$bg = imagecolorallocatealpha($img, 0, 0, 0, 127);
$black = imagecolorallocate($img, 0, 0, 0);
imagefill($img, 0, 0, $bg);

$text = "testar text"; // - was attempt at no aa, like example
imagettftext($img, 24, 0, 0, 36, -($black), 'Ubuntu-M', $text);
$text = "med text";
imagefttext($img, 24, 0, 12, 72, $black, 'Ubuntu-M', $text);

imagepng($img, 'test.png');
imagedestroy($img);
?>

输出:

尝试复制有问题的第二张图像的输出

于 2011-06-18T06:00:48.717 回答