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

NAKAMURA Takeshi 1yen @ sh.rim.or.jp
2004年 1月 29日 (木) 12:27:49 JST


仲村です

On Thu, 29 Jan 2004 11:33:57 +0900,
 田畑 人 <hitoshi @ koyotrading.com> wrote:

動かしてみると...
<br />
<b>Warning</b>:  imagettftext(): any2eucjp(): invalid code in input string in <b>/home/ossan/public_html/gra.php</b> on line <b>8</b><br />
文字コードがおかしいらしいので、適当にいじってみると

> ソースコード(test.php)
> ファイル形式:EUC-JP/LF
> header("Content-type:image/jpeg");
> $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");

$str = mb_convert_encoding("あああああ", "SJIS", "EUC-JP");
                                          ^^^^
> imagettftext($img , 16 , 45, 100 , 100 ,$red , $fnt , $str);
> imagejpeg($img);

 なぜだか、これで 斜めに 「あああああ」が表示されました。
以前だと、EUC-JP でないと駄目だったんですけどねぇ...
http://ns1.php.gr.jp/pipermail/php-users/2003-September/018142.html

 なにはともあれ、出てきたメッセージをちゃんと読むことからです。


私の環境
 FreeBSD 4.9-STABLE i386
portsより
 apache+mod_ssl-1.3.29+2.8.16
 php4-4.3.4_4
 (Server: Apache/1.3.29 (Unix) mod_ssl/2.8.16 OpenSSL/0.9.7c mod_perl/1.28 PHP/4.3.4)

 lang/php4/Makefile の「--enable-gd-jis-conv」辺りが関係してそうです。
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+
 関西沖縄青年の集い がじまるの会 手伝い 一人だけの勝手に神奈川支部
 仲村 武 <1yen @ sh.rim.or.jp>



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