วิธี set ค่า JpGraph ให้เป็นภาษาไทยครับ
1. ก๊อปปี้ ฟอนท์ที่อยู่ในเครื่องของเราที่จะใช้เช่นฟอนท์ cordia, angsana, browallia โดยไปที่ Start->พิมพ์คำว่า font แล้วก็อปปี้ฟอนท์เหล่านั้นไปวาง ที่โฟลเดอร์ fonts ของ jpgraph ครับ
2.เปิดไฟล์ jpgraph_ttf.inc.php ขึ้นมาเพื่อทำการแก้ไข
- ค้นหาคำว่า define('CHINESE_TTF_FONT','bkai00mp.ttf'); แล้วเพิ่มคำสั่งด้านล่างนี้เข้าไป
//+ Thai font
define('CORDIA_TTF_FONT', 'cordia.ttf');
define('CORDIAB_TTF_FONT', 'cordiab.ttf');
define('CORDIAI_TTF_FONT', 'cordiai.ttf');
define('CORDIAZ_TTF_FONT', 'cordiaz.ttf');
define('ANGSA_TTF_FONT', 'angsa.ttf');
define('ANGSAB_TTF_FONT', 'angsab.ttf');
define('ANGSAI_TTF_FONT', 'angsai.ttf');
define('ANGSAZ_TTF_FONT', 'angsaz.ttf');
define('BROWA_TTF_FONT', 'browa.ttf');
define('BROWAB_TTF_FONT', 'browab.ttf');
define('BROWAI_TTF_FONT', 'browai.ttf');
define('BROWAZ_TTF_FONT', 'browaz.ttf');
- จากนั้นค้นหาคำว่า /* Chinese fonts */ จะพบกลุ่มคำสั่งประมาณนี้
/* Chinese fonts */
FF_SIMSUN => array(
FS_NORMAL =>'simsun.ttc',
FS_BOLD =>'simhei.ttf',
FS_ITALIC =>'',
FS_BOLDITALIC =>'' ),
FF_CHINESE => array(
FS_NORMAL =>CHINESE_TTF_FONT,
FS_BOLD =>'',
FS_ITALIC =>'',
FS_BOLDITALIC =>'' ),
FF_BIG5 => array(
FS_NORMAL =>CHINESE_TTF_FONT,
FS_BOLD =>'',
FS_ITALIC =>'',
FS_BOLDITALIC =>'' ),
- เพิ่มคำสั่งด้านล่างนี้ ต่อจากที่ค้นหาเจอ
/* Thai fonts */
FF_CORDIA => array(
FS_NORMAL=>CORDIA_TTF_FONT,
FS_BOLD=>CORDIAB_TTF_FONT,
FS_ITALIC=>CORDIAI_TTF_FONT,
FS_BOLDITALIC=>CORDIAZ_TTF_FONT ),
FF_ANGSA => array(
FS_NORMAL=>ANGSA_TTF_FONT,
FS_BOLD=>ANGSAB_TTF_FONT,
FS_ITALIC=>ANGSAI_TTF_FONT,
FS_BOLDITALIC=>ANGSAZ_TTF_FONT ),
FF_BROWA => array(
FS_NORMAL=>BROWA_TTF_FONT,
FS_BOLD=>BROWAB_TTF_FONT,
FS_ITALIC=>BROWAI_TTF_FONT,
FS_BOLDITALIC=>BROWAZ_TTF_FONT ),
- ค้นหาคำว่า define("FF_DV_SANSSERIFCOND",51); แล้วเพิ่มคำสั่งด้านล่างนี้ต่อ
//thai font
define("FF_ANGSA",52);
define("FF_CORDIA",53);
define("FF_BROWA",54);
ตัวเลขที่อยู่ด้านหลังอาจจะไม่ตรงกันครับ เช่น คำที่ค้นหา มันเป็นค่า 51 คำสั่งที่เพิ่มเข้าไปเลยต้องต่อเป็น 52 53 54 เพราะฉะนั้นก็เปลี่ยนตามค่าที่ค้นหาเจอจาก FF_DV_SANSSERIFCOND เลยครับ
หลังจากนั้น ในขั้นตอนการใช้งานเราก็เขียนประมาณนี้ เช่น
$graph->title->SetFont(FF_CORDIA,FS_BOLD,20);
เพื่อให้ Title มีฟอนท์เป็น cordia ตัวหนา ขนาดอักษร 20
$graph->legend->SetFont(FF_ANGSA,FS_NORMAL,16);
เพื่อให้ Legend มีฟอนท์เป็น angsana ตัวธรรมดา ขนาดอักษร 16
ครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น