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

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

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. 关于OE报表中文黑方块的最官方解决方案.

关于OE报表中文黑方块的最官方解决方案.

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
7 帖子 5 发布者 8.7k 浏览 1 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • M 离线
    M 离线
    mrshelly
    发表于 最后由 编辑
    #1

    最近研究报表. 在解决中文黑方块问题时, 想在官方的 trml2pdf 中加入 关于 l10n_cn 字体修正部分.

    最后发现 在 原 trml2pdf 代码中, 早已有了关于 TTF 字体的支持选项. 然后 分析源代码得出 关于 中文报表 黑方块 最权威的官方解决方案就是.

    在你生成的 rml 的 <document>节中添加(这个可以修改 OE 的 rml_template 这个需要哪位大大继续深入研究)

    <br /><br />&lt;docinit&gt;<br />	&lt;registerFont fontName=&quot;SimHei&quot; fontFile=&quot;simhei.ttf&quot; /&gt;<br />	&lt;registerFont fontName=&quot;SimSun&quot; fontFile=&quot;simsun.ttc&quot; /&gt;<br />&lt;/docinit&gt;<br /><br />
    



    其中
    fontName 就是你 rml 中使用的字体名.  fontFile 即为 字体对应的 TrueType 字体文件名.
    而 字体文件, 你可以放到你的 openerp-server 的很多可选文件夹中.

    具体搜索的文件夹在 reportLab 模块 的 rl_config.py 文件中 记录. 即:

    <br /><br /># places to look for TT Font information<br />TTFSearchPath = (<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;c:/winnt/fonts&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;c:/windows/fonts&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;/usr/lib/X11/fonts/TrueType/&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;%(REPORTLAB_DIR)s/fonts&#039;,&nbsp; &nbsp; &nbsp; #special<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;%(REPORTLAB_DIR)s/../fonts&#039;,&nbsp;  #special<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;%(REPORTLAB_DIR)s/../../fonts&#039;,#special<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;%(HOME)s/fonts&#039;,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  #special<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #mac os X - from<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #http://developer.apple.com/technotes/tn/tn2024.html<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;~/Library/Fonts&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;/Library/Fonts&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;/Network/Library/Fonts&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;/System/Library/Fonts&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )<br />
    



    这样, 你就可以在你的rml中使用你自己的 TrueType 字体了.

    1 条回复 最后回复
    0
    • W 离线
      W 离线
      wjfonhand
      发表于 最后由 编辑
      #2

      l10n_cn 是替换系统中已有的报表字体以解决中文现实问题。
      您的方案适用于自己新开发的报表。
      当然,一个一个改原有的报表RML... 也行。

      不过你的方案就让新开发报表不必局限于宋体和黑体两种中文字体了,非常有意义!

      GoodERP -- Odoo China fork

      1 条回复 最后回复
      0
      • O 离线
        O 离线
        oldrev
        发表于 最后由 编辑
        #3

        还是用程序检测一下 windows 的目录,别硬编码 "c:/windows"

        1 条回复 最后回复
        0
        • O 离线
          O 离线
          oldrev
          发表于 最后由 编辑
          #4

          或者做个oe模块,在 init.py 里就刷流氓把 rl_config.py 的东西替换掉

          1 条回复 最后回复
          0
          • J 离线
            J 离线
            jinxiu89163.com
            发表于 最后由 编辑
            #5

            顺藤摸瓜,找到了 centos 在这里¨/usr/lib/python2.7/site-packages/openerp-6.1_20120709_233338-py2.7.egg/openerp/report/render/rml2pdf¨

            1 条回复 最后回复
            0
            • M 离线
              M 离线
              matrowang
              发表于 最后由 编辑
              #6

              谢谢分享,该加精华

              1 条回复 最后回复
              0

              你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

              厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

              有了你的建议,这篇帖子会更精彩哦 💗

              注册 登录
              回复
              • 在新帖中回复
              登录后回复
              • 从旧到新
              • 从新到旧
              • 最多赞同


              • 登录

              • 没有帐号? 注册

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