[kansaipm] GD で TTF を使うと文字化けしてしまいます
takimoto
takimoto at miki-net.or.jp
Sun Jun 2 15:09:25 CDT 2002
TAKIです
hideki_kimata at mail.goo.ne.jp wrote:
>ここで、TTFを描画したいのですが、1バイト文字すら文字化けしてしまいます。
>環境はwindows98 or windowsNT4.0
>activeperl(v5.6.1build) GD(1.27) GD::Graph(1.33)
>です。
キマタさんのスクリプトを動かしてみました.
私の環境では,ちゃんとTTFで描けました.環境の違いはOSがWinXPなだけです.
# この際 GD::Graph は関係ないです.
>また、日本語も UTF8に変換すれば描画できるようなことがwebに書いてあった
>ので、こちらの情報もお持ちであればご教授願います。
UTF-8に変換すれば描画できるんですね・・・
ということで変換してやってみました.
ふ〜ん OKですね 日本語もイケます.知らなかったです.
ちなみに 私の動かしたスクリプトは キマタさんのスクリプトをちょっと変更し
て以下のようにしてみました.
基本的には同じでしょうから,文字化けの回答にはなってませんが...
あ,それと Jcode.pm をWinな環境に入れるのはめんどうくさそうなので,とり
あえずソースごとエディタで UTF-8 でセーブしてから実行してみました.
# Jcode.pm をWinな環境に入れるにはどうしたらいいんだろう???
use GD;
$im = new GD::Image(400,250);
($white,$black,$red,$blue,$yellow) =
(
$im->colorAllocate(255, 255, 255),
$im->colorAllocate(0, 0, 0),
$im->colorAllocate(255, 0, 0),
$im->colorAllocate(0,0,255),
$im->colorAllocate(255,250,205)
);
$im->interlaced(1); # cool venetian blinds effect
#$font = "c:\\windows\\fonts\\arial.ttf";
$font = "c:\\windows\\fonts\\MSGOTHIC.TTC";
# Some TTFs
$im->stringTTF($black,$font,18.0,0.0,20,20,"Hello") || die $@;
$im->stringTTF($red,$font,14.0,0.0,20,80,"How are you")|| die $@;;
$im->stringTTF($blue,$font,30.0,-0.2,60,130,"hello world!!")|| die $@;;
$japanese = 'Japanese日本語フォントOK!';
$im->stringTTF($red,$font,14.0,0.0,20,100,$japanese)|| die $@;;
open(FILE,">ttf.png");
binmode FILE;
print FILE $im->png;
close(FILE);
瀧本 満 "TAKI" takimoto at miki-net.or.jp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ttf.png
Type: image/png
Size: 3459 bytes
Desc: not available
Url : http://mail.pm.org/archives/kansai-pm/attachments/20020603/ef2e52ce/ttf.png
More information about the Kansai-pm
mailing list