- 论坛徽章:
- 0
|
安装顺利
GD Support enabled
GD Version bundled (2.0.15 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
JIS-mapped Japanese Font Support enabled
但是不能使用TTF,一个在Win下正常的PHP程序,放到FreeBSD下中文显示乱码
PHP为ports安装,freetype2 (听说支持TTF)对GD部分作了以下修改
CONFIGURE_ARGS+=--with-gd \
--enable-gd-native-ttf \
--enable-gd-imgstrttf \
--enable-gd-jis-conv \
--with-freetype-dir=${LOCALBASE} \
--with-jpeg-dir=${LOCALBASE} \
--with-png-dir=${LOCALBASE}
测试程序
<?
//Program writen by sadly www.phpx.com
//modified by agun 2000/6/20
function gb2utf8($gb)
{
if(!trim($gb))
return $gb;
$filename="gb2312.txt";
$tmp=file($filename);
$codetable=array();
while(list($key,$value)=each($tmp))
$codetable[hexdec(substr($value,0,6))]=substr($value,7,6);
$ret="";
$utf8="";
while($gb)
{
if (ord(substr($gb,0,1))>;127)
{
$this=substr($gb,0,2);
$gb=substr($gb,2,strlen($gb));
$utf8=u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080]));
for($i=0;$i<strlen($utf ;$i+=3)
$ret.=chr(substr($utf8,$i,3));
}
else
{
$ret.=substr($gb,0,1);
$gb=substr($gb,1,strlen($gb));
}
}
return $ret;
}
function u2utf8($c)
{
for($i=0;$i<count($c);$i++)
$str="";
if ($c < 0x80) {
$str.=$c;
}
else if ($c < 0x800) {
$str.=(0xC0 | $c>;>;6);
$str.=(0x80 | $c & 0x3F);
}
else if ($c < 0x10000) {
$str.=(0xE0 | $c>;>;12);
$str.=(0x80 | $c>;>;6 & 0x3F);
$str.=(0x80 | $c & 0x3F);
}
else if ($c < 0x200000) {
$str.=(0xF0 | $c>;>;1 ;
$str.=(0x80 | $c>;>;12 & 0x3F);
$str.=(0x80 | $c>;>;6 & 0x3F);
$str.=(0x80 | $c & 0x3F);
}
return $str;
}
Header("Content-type: image/gif" ;
$im = imagecreate(300,150);
$bkg = ImageColorAllocate($im, 0,0,0);
$clr = ImageColorAllocate($im, 255,255,255);
$fnt = "sinsun.ttf";
//include("gb2utf8.php" ;
$str = gb2utf8("中国agun阿棍" ;
ImageTTFText($im, 30, 0, 50,50, $clr, $fnt, $str);
Imagepng($im);
ImageDestroy($im);
?>; |
|