pdf论⽂中python画的图Type3fonts字体不兼容的解决⽅
案
python matplotlib画图产⽣的Type 3 fonts字体不兼容
更改措施:
使⽤Type 42字体来⽣成PostScript 和PDF ⽂件。
import matplotlib
补充: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
>>> uetype
<function truetype at 0x0000021178B82B70>
>>> uetype("", 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 = font(font, size, index, encoding, layout_engine=layout_engine)
OSError: cannot open resource
解决⽅法
缺少对应字体⽂件:
在⽹上到对应的font⽂件
以我的Ubuntu 16为例, 字体⽂件在"/usr/share/fonts/truetype"中,
因此,把下载到的ttc⽂件放到 /usr/share/fonts/truetype ⽂件夹当中.
重新启动python环境,即可正常导⼊.
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。
>python货币转换
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论