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
投稿
猜你喜欢
- php的引用(就是在变量或者函数、对象等前面加上&符号),在PHP 中引用的意思是:不同的名字访问同一个变量内容。与C语言中的指针是
- request请求头信息的键会加上HTTP_转换成大写存到request.META中因此你只需要content_range = reques
- Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功
- 如下所示:#-*- coding: utf-8 -*-import pandas as pdimport numpy as npfrom p
- 最近一直在学Vue,这次做了一个简单的在线学生信息录入系统来巩固一下所学知识。因为主要是巩固Vue的知识,所以数据也没放数据库,也没用Jav
- 摘要:本篇文章介绍了ORACLE数据库的新特性—分区管理,并用例子说明使用方法。 关键词:ORACLE,分区 一、 分区概述: 为了简化数据
- 目录一、问题描述:二、具体的实现:三、完整代码:一、问题描述:有一个shape为(308, 2)的二维数组,以及单独的一个数字,需要保存到c
- 这章是结合之前学习的Tensforboard与Transforms的一个练习。直接上代码:from PIL import Imagefrom
- 前言JavaScript中一共有3种用来声明变量的关键字,分别是var、let和const。其中var关键字是ES5时代的产物,由于ES5对
- 数据库开启慢查询日志修改配置文件在配置文件my.ini中加上下面两句话log-slow-queries = C:\xampp\mysql_s
- 如何显示最后十名来访者?代码和说明见下:<%Application.LockIF NOT isArray(&nbs
- 在Python中使用字典,格式如下:dict={ key1:value1 , key2;value2 ...}在实际访问字典值时的使用格式如
- <?php function BigEndian2Int($byte_word, $signed = false) { $int_va
- 在安装tensorflow完成后,import tensorflow as tf出现问题,问题如下:>>> import
- 环境:Pycharm ;其他环境:安装Anaconda最近在做一个小型项目练手,涉及到大量的IP和相关数据处理,所以选用了Python来处理
- 图片外框特征参数:①dashed:虚线 ②dotted:点虚线 ③solid:实线 ④double:双线 ⑤groove:沟槽状 ⑥ridg
- 在用csv.writer写入文件的时候发现中间有多余的空行。最早打开方式只是‘w',会出现多余的空行,网上建议使用binary形式‘
- 前言本文主要给大家介绍了关于SQL Server中bit类型字段增删查改的一些事,话说BIT类型字段之前,先看“诡异”的一幕,执行Updat
- 一、前言图像拼接技术就是将数张有重叠部分的图像(可能是不同时间、不同视角或者不同传感器获得的)拼成一幅无缝的全景图或高分辨率图像的技术。二、
- 在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:1. /*+ALL_ROWS*