PHP文件在使用UTF8编码的情况下,设置最为简单:

找到 amenadiel/jpgraph/src/config.inc.php,第264行,

define('CHINESE_TTF_FONT', 'bkai00mp.ttf');

根据中文字体名称,改为(这里以新宋体为例,必须是truetype字体)

define('CHINESE_TTF_FONT', 'simsun.ttf');   //simsun.ttc也能正常使用

然后将中文字体文件simsun.ttf拷贝到amenadiel/jpgraph/src/fonts下。

在使用时,设置字体为中文,然后就可以直接使用中文,无需进行utf8与gb2312之间的转换:

$graph->title->SetFont(FF_CHINESE, FS_NORMAL);  //因为simsun.ttf不支持粗体,所以设置为FS_NORMAL,下同
$graph->yaxis->title->SetFont(FF_CHINESE, FS_NORMAL);
$graph->xaxis->title->SetFont(FF_CHINESE, FS_NORMAL);
        
$graph->title->Set('第一个测试图');
$graph->xaxis->title->Set('X-坐标');
$graph->yaxis->title->Set('Y-坐标');

应该所有的中文truetype字体均可按照上述方式处理(没有全部测试),根据字体文件的名称,设置相应的CHINESE_TTF_FONT即可。

设置为宋体后,效果如下:

2019-07-30T02:13:51.png

设置为微软雅黑字体,效果如下:

2019-07-30T02:17:05.png