JpGraph

高性能なグラフ生成ライブラリ

PHP5、PHP7、PHP8対応の高機能なグラフ生成ライブラリ
20種類以上の豊富なプロット形式をサポート

日本語フォントの設定方法

使用する日本語TrueTypeフォントをフォント用のディレクトリに格納します

ここでは例として、独立行政法人 情報処理推進機構が提供しているIPAフォントを使用します。
※ もちろん、他の日本語フォントを使用することも可能です。

https://moji.or.jp/ipafont/ipa00303/
上記URLより、下記のファイル
IPAfont00303.zip (19.1 MB)
をダウンロードして解答してください。
生成されたfontsディレクトリの中にある、ipam.ttf、ipamp.ttf、ipag.ttf、ipagp.ttf を使用します。 この4つのフォントファイルを、用意したフォントディレクトリに移動してください。 ここでは例として、
/usr/share/fonts/ja/TrueType/
にフォントファイルを格納することにします。

Linux の場合

1. jpg-config.inc.php 40行目付近にある以下の文章のコメントアウトを外します。
// DEFINE("MBTTF_DIR","/usr/local/fonts/ttf/");
DEFINE("MBTTF_DIR","/usr/local/fonts/ttf/");
2.先ほどの定義文の2番目のパラメーターに、フォントを格納したディレクトリ名を指定します。
例)
DEFINE("MBTTF_DIR","/usr/share/fonts/ja/TrueType/");
3.実際にご使用になるプロットのスクリプト内で、日本語を表示させたい部分(タイトル、軸など)を以下のように記述します。
フォントファミリー(ipam.ttf、ipamp.ttf、ipag.ttf、ipagp.ttf)は順に、FF_MINCHO、FF_PMINCHO、FF_GOTHIC、FF_PGOTHICと設定されます。
例えば、タイトルに ipam.ttf を使用したい場合はJpGraphのソースコード内で以下のように設定します。
ob_end_clean(); // 出力バッファを無効
mb_http_output("pass"); // データをそのまま出力する
$title = "タイトル";
$graph->title->Set($title);
$graph->title->SetFont(FF_MINCHO);
フォントファミリーは、jpgraph_ttf.inc.php 135行目付近で定義されています。
DEFINE('MINCHO_TTF_FONT','ipam.ttf');
DEFINE('PMINCHO_TTF_FONT','ipamp.ttf');
DEFINE('GOTHIC_TTF_FONT','ipag.ttf');
DEFINE('PGOTHIC_TTF_FONT','ipagp.ttf');
フォントを変更する際は、これらの2番目のパラメーターを、それぞれ用意したフォントファイル名に変更します。日本語フォントはここで指定した4種類のみ使用できます。

※ 日本語フォントでは「太字」、「斜体字」、「太斜体字」のスタイルを使用することはできません。
※ 日本語フォントで文字のサイズを変更したいときは、フォントスタイルに FS_NORMAL を指定してください。

例)
$graph->title->SetFont(FF_MINCHO,FS_NORMAL,20);
以上の設定でJpGraphで日本語フォントを使用できるようになります。

Windows の場合

1. php に mbstring を追加します。

php.ini ファイルで、 extension_dir を設定した上で (例:extension_dir="C:\PHP\ext" 等)、extension=php_mbstring.dll の設定を追加します。
正しくインストールされたかを確認するためには、Apacheを再起動した上で phpinfo()関数を実行するPHPファイルをブラウザから実行します。 実行結果画面内に、mbstring モジュールが見つかれば正しくインストールされています。mbstring モジュールが見つからない場合は再度設定を見直してください。

2. jpg-config.inc.php 40行目付近にある以下の文章のコメントアウトを外します。
// DEFINE("MBTTF_DIR","/usr/local/fonts/ttf/");
DEFINE("MBTTF_DIR","/usr/local/fonts/ttf/");
3.先ほどの定義文の2番目のパラメーターに、フォントを格納したディレクトリ名を指定します。
例)
DEFINE("MBTTF_DIR","/usr/share/fonts/ja/TrueType/");
4.実際にご使用になるプロットのスクリプト内で、日本語を表示させたい部分(タイトル、軸など)を以下のように記述します。
フォントファミリー(ipam.ttf、ipamp.ttf、ipag.ttf、ipagp.ttf)は順に、FF_MINCHO、FF_PMINCHO、FF_GOTHIC、FF_PGOTHICと設定されます。
例えば、タイトルに ipam.ttf を使用したい場合はJpGraphのソースコード内で以下のように設定します。
ob_end_clean(); // 出力バッファを無効
mb_http_output("pass"); // データをそのまま出力する
$title = "タイトル";
$graph->title->Set($title);
$graph->title->SetFont(FF_MINCHO);
フォントファミリーは、jpgraph_ttf.inc.php 135行目付近で定義されています。
DEFINE('MINCHO_TTF_FONT','ipam.ttf');
DEFINE('PMINCHO_TTF_FONT','ipamp.ttf');
DEFINE('GOTHIC_TTF_FONT','ipag.ttf');
DEFINE('PGOTHIC_TTF_FONT','ipagp.ttf');
フォントを変更する際は、これらの2番目のパラメーターを、それぞれ用意したフォントファイル名に変更します。日本語フォントはここで指定した4種類のみ使用できます。

※ 日本語フォントでは「太字」、「斜体字」、「太斜体字」のスタイルを使用することはできません。
※ 日本語フォントで文字のサイズを変更したいときは、フォントスタイルに FS_NORMAL を指定してください。

例)
$graph->title->SetFont(FF_MINCHO,FS_NORMAL,20);
以上の設定でJpGraphで日本語フォントを使用できるようになります。