GD和php 5.3中的字距调整问题

时间:2011-05-03 21:57:55

标签: php gd kerning

知道这个问题之前已经得到了解决 PHP update kerning problem with imagettftext() and imagefttext() functions 但没有解决方案;

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

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

PHP5.2,ubuntu(好)

enter image description here

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

enter image description here

PHP5.3.2,MAMP OSX(可怕)

enter image description here

有没有解决方案?

任何安装了5.3.6的人都可以尝试这个吗?

的问候, //吨

1 个答案:

答案 0 :(得分: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);
?>

输出:

output of attempt to duplicate second image in question