您的位置:软件测试 > 开源软件测试 > 开源Bug管理工具 > Mantis
摸索Mantis图表中文输出设置
作者:网络转载 发布时间:[ 2014/2/26 14:48:39 ] 推荐标签:mantis bug 管理工具

mantis 升级到1.2.x后由于图表输出的解决方案发生了变化,除了原来支持的jpGraph图像处理引擎之外,新增了对于Graphviz的支持,并且默认集成了graphviz作为图像处理引擎。并且将相应的图表输出剥离出来,成为了mantis的一个插件。

但是mantis中并未默认开始图表支持,需要在安装配置完成后,以管理员身份登陆系统,在插件(plugins)设置中开启MantisGraph的支持。

默认的MantisGraph对中文的支持并不好,这是由于默认采用的字体并不支持中文字体输出。这需要我们对mantis的代码进行一定的修改后方才可以实现支持中文输出,当然采用jpGraph和Graphviz两种不同的图像处理引擎需要做不同的处理。

由于mantis并未默认集成jpGraph,这里不详细描述如何处理jpGraph的情况。jpGraph的相关支持,可以在网上找到许多的文章。下面详细描述一下关于Graphviz的中文支持处理。

Mantis安装于一台Debian GNU/Linux操作系统中,中文字体文件采用的是开源文泉驿正黑字体,可以通过sudo apt-get install ttf-wqy-zenhei来安装该字体。

MantisGraph插件存放于mantis的plugins/MantisGraph下,重点需要修改的文件为MantisGraph目录下的core/graph_api.php文件,将其中的$t_font = ‘arial.ttf’;修改为$t_font = ‘wqy-zenhei.ttf’;即可。以下为diff文件的内容:

@@ -72,7 +73,7 @@
                if( isset( $t_font_map[$t_font] ) ) {
                        $t_font = $t_font_map[$t_font];
                } else {
-                       $t_font = ‘arial.ttf’;
+                       $t_font = ‘wqy-zenhei.ttf’;
                }
@@ -82,11 +83,12 @@

可以修改wqy-zenhei.ttf为任意字体文件,实现支持其他语言的输出,例如如果喜欢用simhei或者simson字体,那么则修改为SimHei和SimSun即可。

修改配置完成后发现还是失败,无法正确输出中文。经过仔细查找,发现是mantis的一个处理机制问题。mantis在搜索字体的时候仅仅搜索以下目录:

/usr/share/fonts/corefonts/
/usr/share/fonts/truetype/msttcorefonts/
/usr/share/fonts/msttcorefonts/
/usr/share/fonts/truetype/

然而文泉驿字体则是安装于目录/usr/share/fonts/truetype/wqy/中,并不在该搜索路径中,因此导致无法找到该字体文件。那么则需要修改相应的搜索路径,有如下方法可以修改这个参数:

1、在config_defaults_inc.php或者config_inc.php中设置参数system_font_folder为/usr/share/fonts/truetype/wqy/

2、修改core/utility_api.php文件中的get_font_path()函数,增加搜索路径/usr/share/fonts/truetype/wqy/

但是以上方法仅能支持搜索某一个目录下的文件,并不会搜索子目录或者目录集合下的字体文件。因此应该改进mantis中的搜索字体文件算法,修改为支持搜索子目下的字体文件。比如增加函数:

get_font_file_from_system_path($font)

get_font_file_from_path($path,$font)

这些函数能搜索子目录下的字体文件。

完成以上修改后,mantis可以正常输出中文图表了。

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd