明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

對于jpGraph的中文顯示。。。。

[摘要]前兩天看了這里的一篇帖。。。有JPGRAPH這個東東,覺得它真的非常實用,真的幫我們在圖形統(tǒng)計方面省了不少功夫,于是一直在試用,后來看到:Note: This information is only given here for very advanced users. No free suppo...

前兩天看了這里的一篇帖。。。有JPGRAPH這個東東,覺得它真的非常實用,真的幫我們在圖形統(tǒng)計方面省了不少功夫,于是一直在試用,后來看到:
Note: This information is only given here for very advanced users. No free support will ge given in the case you run into difficulties trying to add new fonts. At the moment adding new fonts require code modifications as outlined below.

這里時,我那熱情沒了一大半。。。。這像我這樣的菜鳥就只只能用simsun.ttf嗎?后來我試著把很多的中文字體的名字改為simsun.ttf,發(fā)現(xiàn)大部分的中文都可以正常顯示。。。(可能是全部中文),不敢獨享,現(xiàn)把使用方法帖出來跟大家一起分享(我想也許已經(jīng)有很多高手知道方法,那我就在這里獻丑了。。).


在使用有文字顯示的類時,必須事先使用SetFont方法來設置字體其有三個參數(shù):字體名,字型,大小。目前在中文方面,JPGraph只支持simsun字體,如果要使用那么就要用以下方法添加:
先在jpgraph.php里用:DEFINE ("TTF_DIR","/usr/local/fonts/ttf/");定義好字體的路徑(以后就可以把字體放到這里了)
然后在jpgraph.php里找到這行注釋“ // Chinese font ”
在其下面用像這樣的方法定義:define("FF_SIMFANG",9);(其中為了容易理解,其格式為:使用“FF_”開頭加字體名,“9“為該常量的值,只要不和他原來的值相同,哪個數(shù)值都沒問題的,只要不太大)

現(xiàn)在進行影射:
找到這個注釋"// CONSTRUCTOR"(到這里,聰明的你一定知道怎么回事了),在數(shù)組里加入類似:
FF_SIMFANG=>array(FS_NORMAL=>'simfang',FS_BOLD=>'',FS_ITALIC=>'',FS_BOLDITALIC=>''),的項,該數(shù)組是有四個項,第一個為標準字體,第二個為粗體,第三個為斜體,第四個是粗斜體。每一項對應一個字體文件,他們的值就是去了擴展名的字體文件名,沒有的話就不用填,除了標準以外。
來到這里,一般的英文字體的添加已經(jīng)完成,但中文就還是被限制了,關鍵在以下地方:
找到LanguageConv類,即查找“class LanguageConv”
在函數(shù)Convert()里“elseif( $aFF === FF_SIMSUN )”這個地方用或(“ ”)添加你之前定義的字體名,如”$aFF===FF_SIMFANG“

好,現(xiàn)在你試試,大功告成!!