在 GMT(通用映射工具)中使用自定义字体?

Posted

技术标签:

【中文标题】在 GMT(通用映射工具)中使用自定义字体?【英文标题】:Using custom fonts in GMT (Generic Mapping Tools) ? 【发布时间】:2016-05-07 05:56:36 【问题描述】:

我经常使用通用制图工具 (GMT) 以 postscript 格式生成高质量的地理地图。最近,我想从标准的 postscript 字体(GMT 默认提供的 Helvetica、Courrier 等)切换到我电脑上安装的其他字体。

我用谷歌搜索了这个问题,我发现可以使用如下自定义字体:

    在本地目录或GMT目录的GMT的share/pslib中创建CUSTOM_font_info.d文件并指定自定义字体名称、大小和编码

      # CUSTOM_font_info.d
    
      YourCustomFont     0.700    0
    

    在您的 bash 脚本中,使用您的自定义字体 (gmt set FONT YourCustomFont) 设置 FONT 变量

一旦我这样做了,我执行了我的 GMT 脚本,没有出现警告或错误,但我的图形上的字体不是我想要的字体。有人看到发生了什么吗?

顺便说一句,我在 Mac OS X 10.11.2 下运行 GMT 5.1.2,我要使用的字体是 CMU Sans Serif(下载为 .tff 和 .dfont 格式)。

【问题讨论】:

从小搜索中我已经完成了设置FONT 变量的方法似乎是gmt gmtset FONT YourCustomFont。你试过了吗? 是的,我就是这样做的。奇怪的是,当 GMT 没有找到字体时,它通常会返回一条警告消息,说明它正在使用的字体。就我而言,我没有警告消息,但字体是默认字体。 【参考方案1】:

我刚刚遇到了同样的症状并设法解决了问题。就我而言,我想使用的字体是 Libris ADF Std。我有

LibrisADFStd 0.7 0

在字体定义文件中和

gmt set FONT LibrisADFStd

在我的 GMT 脚本中。我在我的 Ubuntu 16.04 系统上使用 fc-list 验证了名称。和你一样,我发现文件处理没有错误或警告,但输出文件没有以所需的字体显示 - 它退回到 Courier。但是,由于指定不存在的字体确实会产生来自 GMT 的警告,因此可以清楚地找到该字体。

我最终发现该字体有一个与其通常的系统名称不同的“PostScript 名称”。在字体的 OTF 文件上运行 fc-query 给出了许多其他输出,包括以下内容:

postscriptname: "LibrisADFStd-Regular"(s)

在 GMT 字体定义文件和脚本中将 LibrisADFStd 更改为 LibrisADFStd-Regular 允许 GMT 成功使用该字体。

【讨论】:

感谢您的回答。我试图应用你的食谱:它仍然不起作用,但我现在得到与 in the first post of this discussion 相同的错误。尝试应用讨论中提供的解决方案不会改变结果。

以上是关于在 GMT(通用映射工具)中使用自定义字体?的主要内容,如果未能解决你的问题,请参考以下文章

Qml FontLoader 未加载自定义字体

没有自定义 SQL 的 Dapper 中的多重映射

如何在Vue或React项目中使用自定义字体,以及字体打包

通过属性检查器使用 xcode 自定义字体

字蛛 自定义字体

在线制作自定义字体