【问题标题】:Is it possible to get around MATLAB's limitation on font embedding in vector format files?是否有可能绕过 MATLAB 对矢量格式文件中字体嵌入的限制?
【发布时间】:2013-05-30 22:35:08
【问题描述】:

根据 MA​​TLAB 手册,当您使用 print 或选择 file|save 保存图形时,如果您选择 painters 渲染器并保存为 PDF 或 EPS 矢量格式,all fonts get substituted。有没有办法绕过这个限制?

每当我输出一个图形时,无论我使用print 还是export_fig,字体都会被替换,因此它们不再与我打算将图形放入的文档中的字体匹配。我更愿意将它们保留为矢量格式,因为我使用 LaTeX,因此我希望能够在我的文档中使用与 beamer 演示文稿中相同的数字,并让它们很好地缩放而不会使文件大小膨胀。

【问题讨论】:

  • EPS 文件是文本脚本,您可以尝试通过搜索和替换自行更改字体名称。当遇到代码页问题时,我必须这样做。

标签: matlab matlab-figure


【解决方案1】:

如果我正确阅读了该链接,则不会替换 所有 字体。来自'Choosing a Printer Driver'

下表列出了使用 Painters 渲染器生成的 MATLAB PostScript 和 Ghostscript 驱动程序支持的字体(完全矢量化输出)。 Windows 和 UNIX 都支持同一组字体:

AvantGarde
Helvetica-Narrow
Times-Roman
Bookman
NewCenturySchlbk
ZapfChancery
Courier
Palatino
ZapfDingbats
Helvetica
Symbol

因此,如果您使用上述字体之一,则输出的矢量格式图形应保持正确的字体。例如:

list_fonts = listfonts
figure('renderer','painters'),
plot(peaks),
xlabel('this font is Helvetica','fontname','Helvetica','fontsize',24)
set(gcf,'paperpositionmode','auto')
print(gcf,'-depsc2','test1.eps')

产生:

所以,从上面的列表中选择一种字体,字体就会正确输出。否则,请更改演示文稿中的字体以匹配上述字体之一。

【讨论】:

  • 这有两个问题。首先,这些数字是针对科学期刊的,我必须遵循他们的字体指南。其次,我没有那些字体。例如,如果我尝试在 Illustrator 中打开生成的 PDF,我会收到一条错误消息,指出 Helvetica 不可用。显然它们必须在我的计算机上的某个地方,但我不知道如何使它们对我的计算机的其余部分可见。除了有更好的字体之外,特别是如果我想在我的数字中包含数学符号。
  • @craigim 一个陪审团操纵的解决方案...为什么不使用 courier 字体(或您的计算机保证可以访问的字体)导出它们,然后在 illustrator/inkscape 中打开图形并更改字体?或者,导出不带标签的图形,然后在 illustrator/inkscape 中添加它们?
  • 这就是我一直在做的。我希望找到一种跳过这一步的方法。理想情况下,我将能够有一个脚本来获取我的数据,对其进行任何需要对其进行的操作和分析,并吐出一个可用于日记的数字,这样当我需要进行更改时,我只需要调整脚本并重新运行它,而不必从头开始字体,因为替换字体的大小和间距都与原始字体不同,所以我不能只是搜索和替换,而是必须重新对齐标签与刻度线和坐标轴。
  • 我的组织的演示模板使用 Electra 和 Avenir 字体,内部报告模板也是如此。美国物理学会期刊使用使用 Computer Modern 的 RevTeX。这一点都不重要,因为在 2013 年以及我的组织为 MATLAB 支付的钱,我不应该局限于 20 到 30 年前硬编码到 postscript 打印机中的字体。
  • + 提供此列表
【解决方案2】:

我也遇到过很多次这个问题,我有一个简单但有效的方法永远不会失败(在Windows上,需要GSview)。

1) 将无花果另存为 PDF

2) 将PDF另存为ps

3) 用GSview打开ps,然后点击“File->PS to EPS”,指定一个文件名就完成了。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    相关资源
    最近更新 更多