[PHP-users 20116]Re: FreeBSD4.8上でimagettftextを使い、日本語表示

Nakagawa Yasuharu yasuharu.nakagawa @ jp.yokogawa.com
2004年 1月 29日 (木) 16:23:42 JST


こんにちは。

In Message-ID <911B82CB-5222-11D8-8804-00039398C16C @ koyotrading.com>,
 田畑 人 <hitoshi @ koyotrading.com> writes on Thu, 29 Jan 2004 15:15:42 +0900 ...
> > また、それ以前の問題として、アルファベットなどの基本的なものが表示できた
> > か否かについても、先のメールでは分かりませんが、もし、試していないなら、
> > 問題を切り分けるために、試してみると良いかと思います。
> 
> > $str = mb_convert_encoding("あああああ", "SJIS", "EUC-JP");
> > $str = mb_convert_encoding("aaaaa", "UTF-8", "EUC-JP");
> 
> いづれも表示されませんでした。
> OS、PHPの再インストールになるのかな?
> 

$img = imagecreate(500 , 500);
$white = imagecolorallocate($img , 255,255,255);
$red = imagecolorallocate($img , 255,0,0);
$fnt = "/usr/X11R6/lib/X11/fonts/TrueType/kochi-gothic-subst.ttf";
$str = mb_convert_encoding("あああああ", "UTF-8", "EUC-JP");
imagettftext($img , 16 , 0, 100 , 100 ,$red , $fnt , $str);
$str = "abcd";
imagettftext($img , 16 , 0, 100 , 200 ,$red , $fnt , $str);
$str = "あああああ";
imagettftext($img , 16 , 0, 100 , 300 ,$red , $fnt , $str);
mb_http_output( "pass" );
imagejpeg($img, "./img.jpg");
print '<img src="img.jpg">' ;

などといろいろ行ってみてはいかがでしょう?
エラーが表示されないのは、headerでimage/jpeg
指定しているところにエラーの文字列が表示されているからです。

telnet で直接たたけば見えるでしょう。

また、出力の変換を行っているのであれば、mb_http_outputで
そのまま出力するよう指定する必要があります。

あと、インストール時に--enable-gd-jis-convを指定していると
わざわざUTFに変換する必要がなかった気がします。

ついでですが、kochiを使っていたときには、8-12ポイントの文字は
傾けられなかったはずです。

--


PHP-users メーリングリストの案内