OE8尝鲜之中文字体
-
OE8不在需要增加模块就可以完美的支持各种字体,RML TO PDF的报表不在烂码。
可是,由于程序开发的环境或者是别的原因,该功能存在一些bug,需要修改填坑。
首先,OE8的设置页常规设置,也就是res_company下多了一项m2o的字体field res_font,
并通过点击reload font把系统的字体路径下所有字体搜索并存储到res_font表中,除了base field外,
res_font中有family、name、path、mode四个field,如win下字体“微软细黑”,它的这四个属性分别是
"Microsoft YaHei";"MicrosoftYaHei";"c:\windows\fonts\msyh.ttf";"Regular",也就是常规设置页
font选项的创建窗口的四项;
然后,当我们reload字体,等待片刻后,我们发现font中列出的项,什么都没有变化,还是原来那几项,实际上,
数据表已经增加了字体,只是因为domain的问题显示不出来,原domain是,[('mode', 'in', ('normal', 'regular', 'all', 'book'))],
实际上,数据表中存储的mode则是Normal、Regular、All、Book,linux环境下或许不同,在win的环境下尝鲜,我们
只需要修改res_company的view和res_config的view,并把font的domain修改为[('mode', 'in', ('Normal', 'Regular', 'All', 'Book'))],upgrade下base,
字体就出来了,选择合适的中文字体,rml to pdf不在烂码了。
or just
edit res_font line 83, as
found_fonts.append((font.familyName, font.name, font_path, font.styleName.lower()))
预祝大家马上有钱。 -
这与Joshua一直维护的oecn_base_fonts: [检测到链接无效,已移除]
的实现方式如出一辙,我们在报表字体管理上领先了, -
-
原因在于ttc格式识别不了
将文泉驿字体后缀改成ttf即可,如
sudo mv wqy-microhei.ttc wqy-microhei.ttf
常规设置页面 reload fonts即可
[quote author=matrowang link=topic=16201.msg27658#msg27658 date=1395104398]
楼主哪里修改啊?我在OpenerpV8 ubuntu 12.04下面,文泉驿中文出不来,
nano ./opt/OpenERP-wms/openerp/addons/base/res/res_font.py
里面有句
found_fonts.append((font.familyName, font.name, font_path, font.styleName))
我改成:
found_fonts.append((font.familyName, font.name, font_path, font.styleName.lower()))
无效呢。
[/quote]