免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1188 | 回复: 0
打印 上一主题 下一主题

JPGRAPH中文字体解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-21 14:41 |只看该作者 |倒序浏览

问题针对版本:JPGRAPH 2.2
首先关于中文(这里只说简体,繁体是FF_CHINESE),JPGRAPH中只要使用FF_SIMSUN参数就可以解决。
例:$graph->title->SetFont(FF_SIMSUN,FS_BOLD,11);
图片的标题用中文就能解决。针对的文件类型是普通的ANSI类型。就是说当ANSI类型中出现中文,代码就会将中文转换到UTF8。
但现在有一特殊问题,即,写入数据库时是UTF8写入的。取出当然也是UTF8,那么UTF8的中文理所当然的不再需要转换了,但使用FF_SIMSUN还会去转,因为我文件类型仍然是ANSI。这样我通过修改源代码增加了一种不转换的中文:
文件:jpgraph_ttf.inc.php
27行左右
// Chinese font
DEFINE(”FF_SIMSUN”,30);
DEFINE(”FF_SIMSUN_UTF8″,32); //声明该常量,注意数字上使用不同的就可以了
DEFINE(”FF_CHINESE”,31);
DEFINE(”FF_BIG5″,31);
100行左右:
elseif( $aFF === FF_SIMSUN ) {
     // Do Chinese conversion
     if( $this->g2312 == null ) {
  include_once ‘jpgraph_gb2312.php’ ;
  $this->g2312 = new GB2312toUTF8();
     }
     return $this->g2312->gb2utf8($aTxt);
}
/* already be utf8(chinese simply)  no convert */
elseif ( $aFF === FF_SIMSUN_UTF8 ){
  return $aTxt;
}
/***************/
elseif( $aFF === FF_CHINESE ) {
行246左右:
     /* Chinese fonts */
     FF_SIMSUN  =>  array(FS_NORMAL =>’simsun.ttc’,
      FS_BOLD =>’simhei.ttf’,  
      FS_ITALIC =>”,  
      FS_BOLDITALIC =>” ),
//add the font define,same as SIMSUN
  FF_SIMSUN_UTF8  =>  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 =>” ),
添加完后,如果想要调用UTF8的中文,就可以直接用FF_SIMSUN_UTF8来设定了。方便~~


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/40166/showart_468760.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP