Skip to main content

GMT中文支持

· 3 min read
Gabriel Wu

GMT中文手册中的相关内容是比较齐全的,但遗憾的是没有一个总括性的介绍,不能做到“授人以渔”。

GMT的中文支持总体上可以分为两步:

  1. 找到GhostScriptcidfmap文件,在其中定义中文字体的别名和路径等信息。这一步可参考手册
  2. 配置GMT的额外字体。这一步可参考手册

实际操作中,第一步更可能遇到麻烦。因为不同系统、不同环境的cidfmap文件的位置是不同的。

手册中介绍的是Cent OS 7的配置方法,下面再补充几种。

Mac下通过homebrew安装GMT

Mac的字体文件位置

/Users/${USERNAME}/Library/Fonts

homebrew安装的GhostScriptcidfmap文件位置

/usr/local/Cellar/ghostscript/${GS_VERSION}/share/ghostscript/${GS_VERSION}/Resource/Init/cidfmap

修改cidfmap文件,就可以加入需要的字体,然后再参考手册中的方法,给GMT增加对应的字体即可。

Ubuntu下通过Anaconda安装GMT

Anaconda安装的GMT可执行文件位置

${ANACONDA_HOME}/envs/${GMT_ENV}/bin/gmt

Anaconda安装的GhostScriptcidfmap文件位置

${ANACONDA_HOME}/envs/${GMT_ENV}/share/ghostscript/${GS_VERSION}/Resource/Init/cidfmap

用Mac的方式,直接修改cidfmap文件并不能生效。原因不明。

Ubuntu下通过linuxbrew安装GMT

目前版本的linuxbrew安装不上GDAL,所以无法安装GMT。但可以通过软链接的方式,使用Anaconda安装的GMT

linuxbrew安装的GhostScriptcidfmap文件位置

$/home/linuxbrew/.linuxbrew/Cellar/ghostscript/${GS_VERSION}/share/ghostscript/${GS_VERSION}/Resource/Init/cidfmap

使用linuxbrew安装的GhostScriptAnaconda安装的GMT,不需要设置cidfmap,就可以支持宋体、仿宋和黑体,但不能支持楷体。原因不明。

小结

虽然目前仍然有很多不明晰的地方,但Mac和Ubuntu两个环境下GMT的中文支持都算是实现了。还没有弄清楚的地方,以后再慢慢研究。