2008/12/25

[Mantis Bug Tracker]讓Mantis中的JPGraph能正確的顯示正體中文

執行環境

作業系統:Microsoft Windows Server 2003 Std
HTTP Server:AppServ 2.5.10

所需軟體與工具

  1. Mantis
    版本:1.1.6
    下載點:http://sourceforge.net/project/showfiles.php?group_id=14963&package_id=166159
  2. JpGraph
    版本:PHP5: v2.3.3
    下載點:http://hem.bredband.net/jpgraph/jpgraph-1.26.tar.gz
    使用說明:解壓縮後,將解壓目錄下的src目錄,改名為jpgraph
  3. 字型(Unicode)
    字型名稱:arialuni.ttf
    來源:有安裝Microsoft Office 的話,會在系統的字型資料夾內找到
  4. 預設路徑
    Mantis: http Server 目錄下\mantisbt
    JpGraph:mantisbt\graphs\jpgraph
  5. 編輯器 Editor
    Ultraedit、Notepad 或任何的文字編輯器

設定步驟

  1. 安裝UniCode字型arialuni.ttf
    將arialuni.ttf複製到windwos\fonts中。
  2. 開啟 mantisbt\config_inc.php,在最後加入
    //Jpgraph Package, if you want to use jpgraph function
    $g_use_jpgraph = ON
    //ON:開啟jpgraph功能 OFF:關閉jpgraph功能
    $g_jpgraph_path = 'graphs/jpgraph/';
    //jpgraph的路徑
  3. 開啟 mantisbt/graphs/jpgraph/jpgraph.php
    在23-24行附近尋找下列字串,若沒有請自己加入
    以下省略直接寫行數
        //定義jpgraph預設路徑
        DEFINE('DIR_BASE','graphs/jpgraph');

    行數:572-573
        //將粗體字都用正常字體顯示
        //原本:$this->title->SetFont(FF_FONT2,FS_BOLD);
        $this->title->SetFont(FF_FONT2,FS_NORMAL);
  4. 行數:3052-3054
        //將粗體字都用正常字體顯示
        //$this->font_style = FS_BOLD;
        $this->font_style = FS_NORMAL;

  5. 開啟 mantisbt/graphs/jpgraph/jp-config.inc.php
    行數:69-70
        //改預設字型
        //原本:DEFINE('CHINESE_TTF_FONT','bkai00mp.ttf');
        DEFINE('CHINESE_TTF_FONT','arialuni.ttf');
  6. 行數:39-42
        //設定字型路徑(windows)
        //DEFINE("CACHE_DIR","$SERVER_TEMP/jpgraph_cache/");
        //DEFINE("TTF_DIR","$SERVER_SYSTEMROOT/fonts/" );
        //DEFINE("MBTTF_DIR","$SERVER_SYSTEMROOT/fonts/");

  7. 開啟 mantisbt/core/graph_api.php
    行數:50-56
        $t_font = config_get( 'graph_font', '');
        if ( isset( $t_font_map[$t_font] ) ) {
        return $t_font_map[$t_font];
        } else {
        #[tom] 原本:return FF_FONT1; 改成↓
        return FF_BIG5;

  8. 開啟 mantisbt/graphs/jpgraph/jpgraph_ttf.inc.php
    行數:116-117
        //原本:return iconv('BIG5','UTF-8',$aTxt); 改為↓
        return $aTxt;

結論

若照上述設定,應該可以看到圖形,附上我設定完後所看到的圖形以資證明 ^_^,希望大家安裝順利,若無法安裝歡迎留言討論。

image

沒有留言:

張貼留言