大家好,我现在用jpgraph显示图表,但以下三句都有错
    $graph->yaxis->title->setFont('FF_FONT1', FS_BOLD);
    $graph->y2axis->title->setFont('FF_FONT1', FS_BOLD);
    $graph->xaxis->title->setFont('FF_FONT1', FS_BOLD);
都提示找不到字体,Unknow font font family specification,有些书中提到jpgraph.php文件中会有一些字体的define常量,但我的japgraph文件中一个都没有找到,不知道为什么
我的文件配置如下所示:
define('CACHE_DIR','E:/PHP/ne5/lib/jpgraph/cache/');
 define('TTF_DIR','C:/WINDOWS/Fonts');,多谢了

解决方案 »

  1.   

    有些字体在windows的字体库中是没有的!你要自己去下载
      

  2.   

    其实你完全可以不用去定义
     define('TTF_DIR','C:/WINDOWS/Fonts');
    在jpgraph.php文件中会默认的根据系统去访问字体路径的
    if(USE_CACHE) {
        if (!defined('CACHE_DIR')) {
            if ( strstr( PHP_OS, 'WIN') ) {
                if( empty($_SERVER['TEMP']) ) {
                    $t = new ErrMsgText();
                    $msg = $t->Get(11,$file,$lineno);
                    die($msg);
                }
                else {
                    define('CACHE_DIR', $_SERVER['TEMP'] . '/');
                }
            } else {
                define('CACHE_DIR','/tmp/jpgraph_cache/');
            }
        }
    }
    elseif( !defined('CACHE_DIR') ) {
        define('CACHE_DIR', '');
    }//
    // Setup path for western/latin TTF fonts
    //
    if (!defined('TTF_DIR')) {
        if (strstr( PHP_OS, 'WIN') ) {
            $sroot = getenv('SystemRoot');
            if( empty($sroot) ) {
                $t = new ErrMsgText();
                $msg = $t->Get(12,$file,$lineno);
                die($msg);
            }
            else {
                define('TTF_DIR', $sroot.'/fonts/');
            }
        } else {
            define('TTF_DIR','/usr/share/fonts/truetype/');
        }
    }
    运行时图片上会提示xxx.ttf不存在,那你可以去网上下载相关字体,win下是放在C:/WINDOWS/Fonts
    linux 中运行时若提示找不到字体你可以直接放到jpgraph目录中的fonts下.用jpgraph会出现中文乱码问题,你可以采用SetFont(FF_SIMSUN,FS_BOLD,11)