plasmasphere.net -プラズマスフィア ドットネット-
Diary
PHPlotで日本語フォントを使う
2006/11/01(Wed) 00:11
PHPでグラフを使うときに大体はGD+JpGraphを使うと思うんですが、商用利用とか色々絡みでダメなときのセカンドチョイスがPHPlotのようですね。
説明長いわ。
で、シガラミから逃れるためにPHPlotを使ってみたんですが、こいつがなかなか曲者で、プログラム中に日本語フォントを指定してやっても認識しやがらない。
結局PHPlotのモジュールにサルベージして直接指定したら、しっかり日本語フォントを出力してくれるようになりました。
情報が全然転がってなくて、Google先生でも中々大変だったんで纏めておきます…。
フォント指定系のメソッドが用意されているので、簡単にできるかなと思いきやそうでもない。
基本的には日本語フォントをインストールしてカレントディレクトリに置けば認識してくれるようですが、それでもダメなときの方法です。
PHPlotはPHPのディレクトリ以下にインストールしていると思うんで場所は分かると思いますが一応、自分用に('A`)
場所は /usr/local/lib/php/PHPlot/phplot.php とりあえずphplot.phpを直接弄ってフォントを強制指定してやります。
TrueTypフォントじゃないとダメなので、とりあえずsazanamiフォント辺りを使うといいかもしれません。
phplot.php をエディタで開いてもらって、何行目か分からないので検索してください。
$ttf_path を検索します。
ここでフォントの指定をしています。
var $use_ttf = TRUE;
var $ttf_path = '.'; // Default path to look in for TT Fonts.
var $default_ttfont = 'benjamingothic.ttf';
と記述してあるんですが、$ttf_path と $default_ttffont をコメントアウトして変更してやります。
var $ttf_path = '/usr/local/lib/php/';
var $default_ttfont = 'sazanami-gothic.ttf';
太字が変更する箇所です。読めば分かりますけど、とにかくフォントのpathとデフォルトのフォントを指定してやると。
これで日本語のフォントが使えるようになります。
もちろん、プログラム中にフォント指定のメソッドを呼び出さなくても大丈夫です。
元から変えちゃってますから。
参考サイト:
http://www.gadgety.net/shin/tips/unix/php-gd.html
http://www006.upp.so-net.ne.jp/kasuya/phplot/
http://momohiro.pose.jp/blog/2006/03/phplot.html