跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 中文翻译
  4. Oecn_base_fonts 使用说明(解决v.7.0,v6.1,V6.0.x的PDF中文字体方框问题,支持CJK语言)

Oecn_base_fonts 使用说明(解决v.7.0,v6.1,V6.0.x的PDF中文字体方框问题,支持CJK语言)

已定时 已固定 已锁定 已移动 Odoo 中文翻译
61 帖子 22 发布者 117.4k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • J 离线
    J 离线
    jerry_zy
    写于 最后由 编辑
    #44

    mac 悲剧了。。。不过我被我改了下程序,就OK鸟,其实就是在oecn_base_fonts_config.py  第57行后面加了个if语句 😄
    如下:
            if '/Library/Fonts' in fontdirs:
                fontdirs.pop(fontdirs.index('/Library/Fonts'))

    1 条回复 最后回复
    0
    • JoshuaJ 离线
      JoshuaJ 离线
      Joshua 管理员
      写于 最后由 编辑
      #45

      谢楼上,已经修复bug,在第一楼更新下载

      【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

      1 条回复 最后回复
      0
      • 2 离线
        2 离线
        2002hsdj
        写于 最后由 编辑
        #46

        求助:

        为什么我把下载的插件包,放到了 addons 里面,可是程序更新插件却没有找到需要的更新,没有办法找到模块,请问我该如何操作呢!

        1 条回复 最后回复
        0
        • E 离线
          E 离线
          ERPFans
          写于 最后由 编辑
          #47

          谢谢各位的帮助。中文能在报表里显示了。开始时,替换字体后,报表还是不能正常显示中文。在“服务”中重启openERP Server,再去打报表就可以正常显示中文了。不过,还是不大清楚其它字体如何安装。

          1 条回复 最后回复
          0
          • 阿 离线
            阿 离线
            阿宽
            写于 最后由 编辑
            #48

            配置字体规则的时候报错:
            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)

            1 条回复 最后回复
            0
            • JoshuaJ 离线
              JoshuaJ 离线
              Joshua 管理员
              写于 最后由 编辑
              #49

              这个错误估计是字体路径下有中文的名字的字体。你可以尝试先把那些中文名字的字体移出去,然后重启服务,再重新配置试试。

              【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

              1 条回复 最后回复
              0
              • W 离线
                W 离线
                wangbuke
                写于 最后由 编辑
                #50

                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!

                1 条回复 最后回复
                0
                • JoshuaJ 离线
                  JoshuaJ 离线
                  Joshua 管理员
                  写于 最后由 编辑
                  #51

                  谢谢buke分享 😄

                  【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

                  1 条回复 最后回复
                  0
                  • JoshuaJ 离线
                    JoshuaJ 离线
                    Joshua 管理员
                    写于 最后由 编辑
                    #52

                    已经更新了模块,还是沿用四种字体配置方式,配置更灵活。
                    详情请看博客 http://cn.openerp.cn/openerp_v7_oecn_base_fonts/

                    【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

                    1 条回复 最后回复
                    0
                    • X 离线
                      X 离线
                      xvweirong
                      写于 最后由 编辑
                      #53

                      我使用GreenOpenERP-6.1-1版,安装成功,配置的时候(第3步)报错: 您的 OpenERP 版本没有包含支持。支持与维护服务在此处可以购买:模型”%s“的字段.
                      这个模块需要付费吗? 还是因为使用Green版的问题。

                      1 条回复 最后回复
                      0
                      • JoshuaJ 离线
                        JoshuaJ 离线
                        Joshua 管理员
                        写于 最后由 编辑
                        #54

                        模块完全免费。错误详情需要你提供server-log才能知道

                        【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

                        1 条回复 最后回复
                        0
                        • X 离线
                          X 离线
                          xvweirong
                          写于 最后由 编辑
                          #55

                          [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 INFO test openerp.modules.module: module oec
                          n_base_fonts: creating or updating database tables
                          2013-07-25 10:31:57,385 948 INFO test openerp.modules.loading: module oe
                          cn_base_fonts: loading oecn_font_installer.xml
                          2013-07-25 10:32:16,944 948 ERROR 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 ERROR 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 ERROR 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 INFO 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 INFO ? werkzeug: 127.0.0.1 - - [25/Jul/2013
                          10:32:18] "GET /web/static/src/img/warning.png HTTP/1.1" 200 -

                          1 条回复 最后回复
                          0
                          • X 离线
                            X 离线
                            xtjie
                            写于 最后由 编辑
                            #56

                              File "reportlab\pdfbase\ttfonts.pyc", line 413, in init
                              File "reportlab\pdfbase\ttfonts.pyc", line 473, in extractInfo
                            ValueError: chr() arg not in range(256)

                            在windows 下, 出现这个错误是由于安装了其他中文字体,删除后通过。

                            1 条回复 最后回复
                            0
                            • M 离线
                              M 离线
                              matrowang
                              写于 最后由 编辑
                              #57

                              [quote author=wangbuke link=topic=2791.msg14384#msg14384 date=1362545060]
                              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]
                              这个文泉倚字体免费,不错。

                              1 条回复 最后回复
                              0
                              • M 离线
                                M 离线
                                matrowang
                                写于 最后由 编辑
                                #58

                                OE8无法用吗,如何搞?GreenOpenERP绿色包。
                                oecn_base_fonts-trunk.2.1.1

                                Traceback (most recent call last):
                                  File "/opt/OpenERP-wms/openerp/http.py", line 470, in dispatch
                                    result = self._call_function(**self.params)
                                  File "/opt/OpenERP-wms/openerp/http.py", line 294, in _call_function
                                    return checked_call(self.db, *args, **kwargs)
                                  File "/opt/OpenERP-wms/openerp/service/model.py", line 113, in wrapper
                                    return f(dbname, *args, **kwargs)
                                  File "/opt/OpenERP-wms/openerp/http.py", line 291, in checked_call
                                    return self.endpoint(*a, **kw)
                                  File "/opt/OpenERP-wms/openerp/http.py", line 638, in call
                                    return self.method(*args, **kw)
                                  File "/opt/OpenERP-wms/openerp/http.py", line 337, in response_wrap
                                    response = f(*args, **kw)
                                  File "/opt/OpenERP-wms/openerp/addons/web/controllers/main.py", line 1246, in call_button
                                    action = self._call_kw(model, method, args, {})
                                  File "/opt/OpenERP-wms/openerp/addons/web/controllers/main.py", line 1234, in _call_kw
                                    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
                                  File "/opt/OpenERP-wms/openerp/addons/base/module/module.py", line 428, in button_immediate_install
                                    return self._button_immediate_function(cr, uid, ids, self.button_install, context=context)
                                  File "/opt/OpenERP-wms/openerp/addons/base/module/module.py", line 479, in _button_immediate_function
                                    registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
                                  File "/opt/OpenERP-wms/openerp/modules/registry.py", line 298, in new
                                    openerp.modules.load_modules(registry._db, force_demo, status, update_module)
                                  File "/opt/OpenERP-wms/openerp/modules/loading.py", line 339, in load_modules
                                    loaded_modules, update_module)
                                  File "/opt/OpenERP-wms/openerp/modules/loading.py", line 243, in load_marked_modules
                                    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
                                  File "/opt/OpenERP-wms/openerp/modules/loading.py", line 155, in load_module_graph
                                    init_module_models(cr, package.name, models)
                                  File "/opt/OpenERP-wms/openerp/modules/module.py", line 237, in init_module_models
                                    result = obj._auto_init(cr, {'module': module_name})
                                  File "/opt/OpenERP-wms/openerp/osv/orm.py", line 2899, in _auto_init
                                    cr.execute('ALTER TABLE "%s" ADD COLUMN "%s" %s' % (self._table, k, get_pg_type(f)[1]))
                                TypeError: 'NoneType' object has no attribute 'getitem'

                                1 条回复 最后回复
                                0
                                • digitalsatoriD 离线
                                  digitalsatoriD 离线
                                  digitalsatori 管理员
                                  写于 最后由 编辑
                                  #59

                                  OE8已经内置了一个类似的字体替换方法,不需要安装这个模块了。等V8发布,全部是Qweb报表就更用不着替换字体了。

                                  【上海先安科技】(tony AT openerp.cn)

                                  1 条回复 最后回复
                                  0
                                  • 王 离线
                                    王 离线
                                    王孝萌
                                    写于 最后由 编辑
                                    #60

                                    [quote author=xu_xinyu link=topic=2791.msg11941#msg11941 date=1348382308]
                                    安装本模块成功,但是在工时表的报表中还有部分中文显示不出来。另外在生成报表的页面有乱码。请教楼主如何解决?
                                    [/quote]你好,请问你是怎么解决的呢?我也出现了这样的问题

                                    1 条回复 最后回复
                                    0
                                    • 卓忆卓 离线
                                      卓忆卓 离线
                                      卓忆
                                      写于 最后由 编辑
                                      #61

                                      odoo8.0 已经不用此模块 见: http://shine-it.net/index.php/topic,16538.0.html

                                      恬淡

                                      1 条回复 最后回复
                                      0

                                      • 登录

                                      • 没有帐号? 注册

                                      • 登录或注册以进行搜索。
                                      • 第一个帖子
                                        最后一个帖子
                                      0
                                      • 版块
                                      • 标签
                                      • 热门
                                      • 用户
                                      • 群组