Oecn_base_fonts 使用说明(解决v.7.0,v6.1,V6.0.x的PDF中文字体方框问题,支持CJK语言)
-
在做第三步修改cjk时,提示如下信息:Client Traceback (most recent call last):
File "C:\Program Files\OpenERP\Server\server\openerp\addons\web\common\http.py", line 180, in dispatch
File "C:\Program Files\OpenERP\Server\server\openerp\addons\web\controllers\main.py", line 1209, in load
File "C:\Program Files\OpenERP\Server\server\openerp\addons\web\controllers\main.py", line 1091, in fields_view_get
File "C:\Program Files\OpenERP\Server\server\openerp\addons\web\common\openerplib\main.py", line 250, in proxy
File "C:\Program Files\OpenERP\Server\server\openerp\addons\web\common\openerplib\main.py", line 117, in proxy
File "C:\Program Files\OpenERP\Server\server\openerp\addons\web\common\http.py", line 608, in send
Server Traceback (most recent call last):
File "C:\Program Files\OpenERP\Server\server\openerp\addons\web\common\http.py", line 593, in send
File "C:\Program Files\OpenERP\Server\server.\openerp\netsvc.py", line 360, in dispatch_rpc
File "C:\Program Files\OpenERP\Server\server.\openerp\service\web_services.py", line 586, in dispatch
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\osv.py", line 167, in execute_kw
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\osv.py", line 121, in wrapper
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\osv.py", line 176, in execute
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\osv.py", line 164, in execute_cr
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\orm.py", line 2153, in fields_view_get
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\orm.py", line 1793, in __view_look_dom_arch
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\orm.py", line 1742, in __view_look_dom
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\orm.py", line 1742, in __view_look_dom
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\orm.py", line 1742, in __view_look_dom
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\orm.py", line 1661, in __view_look_dom
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\orm.py", line 1792, in __view_look_dom_arch
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\orm.py", line 3357, in fields_get
File "C:\Program Files\OpenERP\Server\server.\openerp\osv\fields.py", line 1587, in field_to_dict
File "C:\Program Files\OpenERP\Server\server\openerp\addons\oecn_base_fonts.zip\oecn_base_fonts\oecn_base_fonts_config.py", line 39, in __system_fonts_get
File "C:\Program Files\OpenERP\Server\server\openerp\addons\oecn_base_fonts.zip\oecn_base_fonts\oecn_base_fonts_config.py", line 59, in _system_fonts_get
File "reportlab\lib\fontfinder.pyo", line 242, in search
File "reportlab\lib\utils.pyo", line 477, in rl_getmtime
File "genericpath.pyo", line 54, in getmtime
WindowsError: [Error 123] : 'c:\windows\fonts\??1?-\xa1\xea?-\xa1\xea???\xa8\xa6????????.TTF'
这是为什么呢?谁能帮我看看,多谢 -
安装了oecn_base_fonts 模块后
字头置换成了中文,但是内容仍是方块。请Joshua 指教!(操作系统 OPenSUSE12.2, OPENERP6.1.2)
----------------------------------------------------------------------------------
并且每次替换至最后一种字体,会出现以下错误:
Client Traceback (most recent call last):
File "/opt/openerp-6.1-2/openerp/addons/web/common/http.py", line 180, in dispatch
response["result"] = method(controller, self, **self.params)
File "/opt/openerp-6.1-2/openerp/addons/web/controllers/main.py", line 1052, in call_button
action = self.call_common(req, model, method, args, domain_id, context_id)
File "/opt/openerp-6.1-2/openerp/addons/web/controllers/main.py", line 996, in call_common
return self._call_kw(req, model, method, args, {})
File "/opt/openerp-6.1-2/openerp/addons/web/controllers/main.py", line 1010, in _call_kw
return getattr(req.session.model(model), method)(*args, **kwargs)
File "/opt/openerp-6.1-2/openerp/addons/web/common/openerplib/main.py", line 250, in proxy
args, kw)
File "/opt/openerp-6.1-2/openerp/addons/web/common/openerplib/main.py", line 117, in proxy
result = self.connector.send(self.service_name, method, *args)
File "/opt/openerp-6.1-2/openerp/addons/web/common/http.py", line 608, in send
raise xmlrpclib.Fault(openerp.tools.exception_to_unicode(e), formatted_info)
Server Traceback (most recent call last):
File "/opt/openerp-6.1-2/openerp/addons/web/common/http.py", line 593, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp-6.1-2/openerp/netsvc.py", line 360, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp-6.1-2/openerp/service/web_services.py", line 586, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp-6.1-2/openerp/osv/osv.py", line 167, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/opt/openerp-6.1-2/openerp/osv/osv.py", line 121, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp-6.1-2/openerp/osv/osv.py", line 176, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp-6.1-2/openerp/osv/osv.py", line 164, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp-6.1-2/openerp/addons/base/res/res_config.py", line 120, in action_next
next = self.execute(cr, uid, ids, context=context)
File "/opt/openerp-6.1-2/openerp/addons/oecn_base_fonts/oecn_base_fonts_config.py", line 163, in execute
new_font_rml = '<setFont name="'+o.map_ids[0].name+'" '
IndexError: list index out of range
----------------------------------------------------------------------------------
最后安装了base_report_cn以后,报表内容从方块换成了中文字体 (重启openerp-server) -
配置字体规则的时候报错:
OpenERP Server Error
Client Traceback (most recent call last):
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\common\http.py", line 180, in dispatch
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\controllers\main.py", line 1161, in load
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\controllers\main.py", line 1043, in fields_view_get
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\common\openerplib\main.py", line 250, in proxy
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\common\openerplib\main.py", line 117, in proxy
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\common\http.py", line 611, in send
Server Traceback (most recent call last):
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\common\http.py", line 592, in send
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\netsvc.py", line 360, in dispatch_rpc
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\service\web_services.py", line 572, in dispatch
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\osv.py", line 167, in execute_kw
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\osv.py", line 121, in wrapper
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\osv.py", line 176, in execute
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\osv.py", line 164, in execute_cr
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 2149, in fields_view_get
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 1789, in __view_look_dom_arch
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 1738, in __view_look_dom
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 1738, in __view_look_dom
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 1738, in __view_look_dom
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 1661, in __view_look_dom
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 1788, in __view_look_dom_arch
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 3322, in fields_get
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\fields.py", line 1590, in field_to_dict
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\oecn_base_fonts\oecn_base_fonts_config.py", line 39, in get_system_fonts
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\oecn_base_fonts\oecn_base_fonts_config.py", line 49, in _system_fonts_get
File "reportlab\lib\fontfinder.pyo", line 259, in search
File "reportlab\pdfbase\ttfonts.pyo", line 413, in init
File "reportlab\pdfbase\ttfonts.pyo", line 473, in extractInfo
ValueError: chr() arg not in range(256) -
oecn_base_fonts 无法找到字体的一种解决方案
环境:
Aliyun CentOS 6.3
Python 2.7.3 (源码编译安装)
reportlab 2.6 (源码默认编译安装)
查看reportlab模块路径
# python -c "import reportlab; print reportlab.file"
/opt/python2.7/lib/python2.7/site-packages/reportlab/init.pyc
# cd /opt/python2.7/lib/python2.7/site-packages/reportlab
创建目录,如有fonts目录则跳过
# mkdir fonts
复制字体文件
# cp wqy-zenhei.ttc ./fonts
重启 OE , done! -
[quote author=Joshua link=topic=2791.msg17643#msg17643 date=1374112404]
模块完全免费。错误详情需要你提供server-log才能知道
[/quote]
经过几日的倒腾,发现Win7 64位版本无法安装, Win7 32位和Win2003 32位都没问题。 错误日志非常蛋疼,没有发现有价值的信息。
2013-07-25 10:31:56,966 948 [1;32m[1;49mINFO[0m test openerp.modules.module: module oec
n_base_fonts: creating or updating database tables
2013-07-25 10:31:57,385 948 [1;32m[1;49mINFO[0m test openerp.modules.loading: module oe
cn_base_fonts: loading oecn_font_installer.xml
2013-07-25 10:32:16,944 948 [1;31m[1;49mERROR[0m test openerp.addons.base.ir.ir_ui_view
: Can't render view for model: oecn.font.installer
Traceback (most recent call last):
File "c:\temp\OpenERP\OpenERP\openerp\addons\base\ir\ir_ui_view.py", line 126, in _check
_render_view
fvg = self.pool.get(view.model).fields_view_get(cr, uid, view_id=view.id, view_type=vi
ew.type, context=context)
File "c:\temp\OpenERP\OpenERP\openerp\osv\orm.py", line 2260, in fields_view_get
xarch, xfields = self.__view_look_dom_arch(cr, user, result['arch'], view_id, context=
ctx)
File "c:\temp\OpenERP\OpenERP\openerp\osv\orm.py", line 1913, in __view_look_dom_arch
fields_def = self.__view_look_dom(cr, user, node, view_id, False, fields, context=cont
ext)
File "c:\temp\OpenERP\OpenERP\openerp\osv\orm.py", line 1859, in __view_look_dom
fields.update(self.__view_look_dom(cr, user, f, view_id, in_tree_view, model_fields, c
ontext))
File "c:\temp\OpenERP\OpenERP\openerp\osv\orm.py", line 1859, in __view_look_dom
fields.update(self.__view_look_dom(cr, user, f, view_id, in_tree_view, model_fields, c
ontext))
File "c:\temp\OpenERP\OpenERP\openerp\osv\orm.py", line 1776, in __view_look_dom
xarch, xfields = relation.__view_look_dom_arch(cr, user, f, view_id, ctx)
File "c:\temp\OpenERP\OpenERP\openerp\osv\orm.py", line 1912, in __view_look_dom_arch
fields = self.fields_get(cr, user, None, context)
File "c:\temp\OpenERP\OpenERP\openerp\osv\orm.py", line 3514, in fields_get
res[f] = fields.field_to_dict(self, cr, user, field, context=context)
File "c:\temp\OpenERP\OpenERP\openerp\osv\fields.py", line 1525, in field_to_dict
res['selection'] = field.selection(model, cr, user, context)
File "c:\temp\OpenERP\OpenERP\openerp\addons\oecn_base_fonts\oecn_font_installer.py", li
ne 54, in get_system_fonts
return self._system_fonts_get(cr, uid)
File "c:\temp\OpenERP\OpenERP\openerp\addons\oecn_base_fonts\oecn_font_installer.py", li
ne 69, in _system_fonts_get
ff.search()
File "c:\temp\OpenERP\OpenERP\python\lib\site-packages\reportlab\lib\fontfinder.py", lin
e 259, in search
font = TTFontFile(fileName,validate=self.validate)
File "c:\temp\OpenERP\OpenERP\python\lib\site-packages\reportlab\pdfbase\ttfonts.py", li
ne 413, in init
self.extractInfo(charInfo)
File "c:\temp\OpenERP\OpenERP\python\lib\site-packages\reportlab\pdfbase\ttfonts.py", li
ne 473, in extractInfo
A(chr(char))
ValueError: chr() arg not in range(256)
2013-07-25 10:32:17,247 948 [1;31m[1;49mERROR[0m test openerp.tools.convert: Parse erro
r in file:///c:/temp/OpenERP/OpenERP/openerp/addons/oecn_base_fonts/oecn_font_installer.xm
l:5:
<record id="view_font_configuration_installer" model="ir.ui.view">
<field name="name">oecn.font.installer.form</field>
<field name="model">oecn.font.installer</field>
<field name="inherit_id" ref="base.res_config_installer"/>
<field name="arch" type="xml">
<data><form position="attributes" version="7.0">
<attribute name="string">Customer Font Mapping Configuration</attribut
e>
</form>
<footer position="replace">
<footer>
<button name="action_next" type="object" string="Continue" class="oe
_highlight"/>
</footer>
</footer>
<separator string="title" position="replace">
<p class="oe_grey">
Fonts used in the default report may not support the characters in
your lanuage. Use the setting here to replace the Original font with the font you choose.
</p>
<group>
<field name="wrap" class="oe_inline"/>
<field name="map_ids" nolabel="1" colspan="4">
<tree string="Font replace" editable="top">
<field name="pdf_font"/>
<field name="new_font" on_change="onchange_new_font(new_font)"
/>
<field name="name"/>
</tree>
</field>
</group>
</separator>
</data></field>
</record>
Traceback (most recent call last):
File "c:\temp\OpenERP\OpenERP\openerp\tools\convert.py", line 847, in parse
self._tags[rec.tag](self.cr, rec, n)
File "c:\temp\OpenERP\OpenERP\openerp\tools\convert.py", line 814, in _tag_record
id = self.pool.get('ir.model.data')._update(cr, self.uid, rec_model, self.module, res,
rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mod
e=self.mode, context=rec_context )
File "c:\temp\OpenERP\OpenERP\openerp\addons\base\ir\ir_model.py", line 963, in _update
res_id = model_obj.create(cr, uid, values, context=context)
File "c:\temp\OpenERP\OpenERP\openerp\addons\base\ir\ir_ui_view.py", line 103, in create
return super(view, self).create(cr, uid, values, context)
File "c:\temp\OpenERP\OpenERP\openerp\osv\orm.py", line 4470, in create
self._validate(cr, user, [id_new], context)
File "c:\temp\OpenERP\OpenERP\openerp\osv\orm.py", line 1544, in _validate
raise except_orm('ValidateError', '\n'.join(error_msgs))
except_orm: ('ValidateError', u'Error occurred while validating the field(s) arch: Invalid
XML for View Architecture!')
2013-07-25 10:32:17,558 948 [1;31m[1;49mERROR[0m test openerp.netsvc: ValidateError
Error occurred while validating the field(s) arch: Invalid XML for View Architecture!
Traceback (most recent call last):
File "c:\temp\OpenERP\OpenERP\openerp\netsvc.py", line 292, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "c:\temp\OpenERP\OpenERP\openerp\service\web_services.py", line 626, in dispatch
res = fn(db, uid, *params)
File "c:\temp\OpenERP\OpenERP\openerp\osv\osv.py", line 188, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "c:\temp\OpenERP\OpenERP\openerp\osv\osv.py", line 144, in wrapper
raise except_osv(inst.name, inst.value)
except_osv: ('ValidateError', u'Error occurred while validating the field(s) arch: Invalid
XML for View Architecture!')
2013-07-25 10:32:17,647 948 [1;32m[1;49mINFO[0m test werkzeug: 127.0.0.1 - - [25/Jul/20
13 10:32:17] "POST /web/dataset/call_button HTTP/1.1" 200 -
2013-07-25 10:32:18,003 948 [1;32m[1;49mINFO[0m ? werkzeug: 127.0.0.1 - - [25/Jul/2013
10:32:18] "GET /web/static/src/img/warning.png HTTP/1.1" 200 -