pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
作者:CrazyBlog 发布时间:2021-01-21 01:05:15
标签:pdf,Type3,字体,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环境,即可正常导入.
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/qq_21097885/article/details/88919403
0
投稿
猜你喜欢
- 本文实例讲述了Python3.5编程实现修改IIS WEB.CONFIG的方法。分享给大家供大家参考,具体如下:#!/usr/bin/env
- 简介查看百度搜索中文文本聚类我失望的发现,网上竟然没有一个完整的关于Python实现的中文文本聚类(乃至搜索关键词python 中文文本聚类
- 前言tkinter:GUI桌面应用开发模块,写软件界面你还可以打包成exe软件, 哪怕你没有python环境, 一样可以用虽然不一定要有界面
- 前言大家都看过彩带飘落吧?这个在比较喜庆的场合是很常见的:还有“跑马灯”效果,听起来很陌生,其实很常见,下面的就是:来源:https://w
- 今天要用python做一个小功能,那就是实现万年历的查询。首先看一下整体感觉实现代码:def is_leap_year(year): &nb
- 目录总体解决方案输出报表自动化Py脚本打包 EXE 桌面小程序好几个月没有写笔记了, 并非没有积累, 而是有点懒了. 想想还是要续上, 作为
- 本文实例讲述了Python Flask框架模板操作。分享给大家供大家参考,具体如下:模板在前面的示例中,视图函数的主要作用是生成请求的响应,
- 前言:Python 自带了很多的内置函数,极大地方便了我们的开发,下面就来挑几个内置函数,看看底层是怎么实现的。内置函数位于 Python/
- class和id的命名,如果合理,可以使得文档具有清晰的结构我们现在解决办法就是使用现有的元素,通过给他们id或class而得到额外的信息。
- 一:crypto库安装pycrypto,pycryptodome是crypto第三方库,pycrypto已经停止更新三年了,所以不建议安装这
- import urllib.parse,os.path,time,sys,re,urllib.requestfrom http.client
- 与大多数程序员一样,我经常需要标识存在于文本文档中的部件和结构,这些文档包括:日志文件、配置文件、分隔的数据以及格式更自由的(但还是半结构化
- 本文实例为大家分享了python rsync服务器之间文件夹同步的具体代码,供大家参考,具体内容如下About rsync配置两
- 介绍set 顾明思义,就是个集合,集合的元素是唯一的,无序的。一个{ }里面放一些元素就构成了一个集合,set里面可以是多种数据类型(但不能
- 目录批量修改文件名(保留后缀)批量修改文件名(全改)读取文件下的所有文件名总结批量修改文件名(保留后缀)这种方法,保留了文件原本的后缀。这里
- 关于current()函数: 每个数组中都有一个内部的指针指向它“当前的”单元,初始指向插入到数组中的第一个单元。用current()获取。
- DOM遍历基于ID、元素类型、类名查找元素非常有用,但是如果你想基于它在DOM树中的位置来查找元素该怎么办?换句话说,你有一个给定的元素,你
- 1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条SQL语句的执行计划,并将执行计划输出
- CSS 中的 position 属性可以很容易的将指定的元素定位到理想的位置。但在使用这一属性时需要注意,尤其是在表格元素中。为了说明此问题
- 如何显示一个文本文件?完整显示文本文件的代码如下: Write(STRING) WriteLine(STRING) WriteBlan