-
Notifications
You must be signed in to change notification settings - Fork 50
Home
Ziqiang Li edited this page Apr 16, 2022
·
9 revisions
常见问题汇总
- 下载并使用 Adobe Acrobat Reader 打开 pdf;
- 右键 pdf 页面 -> 选择 “文档属性” -> 选择 “字体”;
- 查看字体是否被标记“已嵌入”。
此外,我发现如果插入 matplotlib 生成的矢量图(eps/pdf),默认字体类型是 Type3,在 Adobe reader 中不会显示被嵌入。建议使用已经嵌入字体的 pdf 类型插入矢量图,避免画图环境和编译环境不同导致字体嵌入失败。而不再推荐使用 eps 插入矢量图,并且 eps 编译时更慢;如果能画图环境和编译环境相同,且使用了 Type1 类型字体,依然可以保证 eps 被插入到论文中时正确嵌入字体。
以下是使用 matplotlib 生成嵌入 Type1 类型字体的 pdf 文件(推荐)或 eps 文件的命令。
import matplotlib.pyplot as plt
# 设置默认字体格式,默认使用 Type1 字体
plt.rc('font', family='Times New Roman', size=14)
# pdf默认字体修改
plt.rcParams['pdf.fonttype'] = 42
# eps默认字体修改
plt.rcParams['ps.fonttype'] = 42
# 省略 matplotlib 画图命令...
# 保存图片为 pdf
plt.savefig('FIGURE_NAME.pdf', bbox_inches='tight', pad_inches=0)
# plt.show()
- 选择 导出 -> Adobe pdf 格式,而不是保存,即可嵌入字体。
- 选择 右键图表 -> 另存为图片 -> 选择 pdf 格式,而不是保存,即可嵌入字体。
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
xlabel("X Label")
ylabel("Y Label")
fontname(gcf, "Times")
- 保存为 pdf。该 pdf 还没有嵌入字体。
- 使用下面的补救措施(Adobe Reader 打印)。
- 得到已经嵌入字体的 pdf。
该 pdf 插图使用 Adobe Reader 打印,再插入论文。
- 打开 pdf 文件后,点击文件 -> 打印;
- 选择打印机名称到Adobe pdf->属性->默认设置【标准】-> 编辑 -> 字体,然后将“字体来源”中的所有字体都添加到“总是嵌入”边框;
- 取消勾选:“仅依靠系统字体:不使用文档字体”;
- 点击打印,保存已嵌入的文件。