• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    pdf论文中python画的图Type 3 fonts字体不兼容的解决方案

    python matplotlib画图产生的Type 3 fonts字体不兼容

    更改措施:

    使用Type 42字体来生成PostScript 和PDF 文件。

    import matplotlib
    matplotlib.rcParams['pdf.fonttype'] = 42
    matplotlib.rcParams['ps.fonttype'] = 42
    

    补充:Type 3字体的解决办法

    这个问题困扰了我一天了,成功解决,这种感觉太爽了。

    提交MNRAS的pdf文件可能会因为含有type3字体而无法在线生成proof。

    如遇此种情况,可先如下确认

    pdffonts paper.pdf

    看输出是否含有type3字体

    如果是,则先考虑官方的建议,在文件头部加入:

    \usepackage[T1]{fontenc}
    \usepackage{aecompl}

    重新编译

    问题依旧的话,应该是插图中含有type3字体。比如用python画图,默认的似乎就是输出成type3. 修改

    ~/.matplotlib/matplotlibrc

    加入(或者修改)如下两行

    ps.fonttype : 42 # Output Type 3 (Type3) or Type 42 (TrueType)
    pdf.fonttype : 42 # Output Type 3 (Type3) or Type 42 (TrueType)

    重新画图

    另一种解决方式是,将问题图片(如果是eps格式)用eps2eps转换一遍。但转换之后的图片中的字体被像素化了,放大时不清晰,不推荐。

    还有一个方法效果好一些:先转成pdf再转回eps, 比如对fig.eps,

    epstopdf fig.eps fig.pdf
    pdftops -eps -r 400 fig.pdf fig.eps
    

    补充:python3 PIL使用font字体错误:OSError: cannot open resource问题解决

    错误日志

    >>> from PIL import ImageFont
    >>> ImageFont.truetype
    function truetype at 0x0000021178B82B70>
    >>> ImageFont.truetype("NotoSansCJK-Regular.ttc", 30)
    Traceback (most recent call last):
      File "stdin>", line 1, in module>
      File "D:\Users\52489\Anaconda3\lib\site-packages\PIL\ImageFont.py", line 261, in truetype
        return FreeTypeFont(font, size, index, encoding, layout_engine)
      File "D:\Users\52489\Anaconda3\lib\site-packages\PIL\ImageFont.py", line 144, in __init__
        self.font = core.getfont(font, size, index, encoding, layout_engine=layout_engine)
    OSError: cannot open resource

    解决方法

    缺少对应字体文件: NotoSansCJK-Regular.ttc

    在网上找到对应的font文件

    以我的Ubuntu 16为例, 字体文件在"/usr/share/fonts/truetype"中,

    因此,把下载到的ttc文件放到 /usr/share/fonts/truetype 文件夹当中.

    重新启动python环境,即可正常导入.

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • 解决Python3用PIL的ImageFont输出中文乱码的问题
    • 解决python中画图时x,y轴名称出现中文乱码的问题
    • Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
    上一篇:Python使用UDP实现720p视频传输的操作
    下一篇:解决Django transaction进行事务管理踩过的坑
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    pdf论文中python画的图Type 3 fonts字体不兼容的解决方案 pdf,论,文中,python,画的,图,