文字

文字,也称文本或字符串。主要由三个属性控制:文字大小、字体、颜色。三个属性之间用逗号分隔,即:size,fonttype,fill

在模块的语法介绍中,通常使用 font 表示需要用户指定文字属性,用户应自行将其脑补为 size,fonttype,fill

三者均是可选的,但先后顺序不可乱。若其中任意一个属性被省略,则使用该属性的默认值。

文字大小

文字大小,即常说的字号,可以用数字加单位表示。在不指定单位的情况下默认单位为 p,也可加上 cp 或者 i 显式指定单位,比如 15p

有些中文期刊可以会有类似“图片标题是四号字”这样的要求,这就需要知道GMT中的字体大小与Microsoft Word中字号大小的对应关系。如下表所示:

Word字号与GMT中字号(p)对应关系

字号

p

字号

p

初号

42

小初

36

一号

26

小一

24

二号

22

小二

18

三号

16

小三

15

四号

14

小四

12

五号

10.5

小五

9

六号

7.5

小六

6.5

七号

5.5

八号

5

字体

GMT默认支持35种标准字体。下图给出了GMT支持的35种字体的名字及对应的编号:

Source Code

../../_images/288795f7c519d18529fee06bdaaa5164.png

GMT中可以用字体名(区分大小写)或对应的字体编号来指定字体 (比如 Helvetica-Bold 或者 1)。上图中给出了每种字体的字体编号以及字体名称。每个字体名称使用的是自己相对应的字体,所以可以从图中直观地看出不同字体的区别。

小技巧

使用 gmt text -L 可以在命令行查看GMT所支持的字体及其编号。

图中大多数字体都很直观,比较特别的字体有两个,Symbol(12号)和ZapfDingbats(34号),前者常用于输出希腊字母,后者则用于输出特殊图案,详情见 特殊字符

填充色

可以为文字指定填充色或填充图案,也就是常说的文字颜色。

颜色填充 一节中我们已经介绍了如何设置填充色和填充图案,其中介绍的内容均可用于设置文本颜色。

描边

在给文字指定填充色的同时,还可以在填充色 fill 后加上 =pen 以指定文本轮廓(即描边)的画笔属性。画笔属性 pen 的用法见 画笔 一节。比如 red=2p,blue 表示将文字填充为红色,并使用宽度为 2p 的蓝色线条给文字描边。若填充色 fill-,则不对文字做填充,即实现空心文字的效果。

使用 =pen 语法绘制文本轮廓时,轮廓线条有一半宽度位于文字外部,另一半宽度会遮住字体。为了避免这一现象,可以使用 =~pen 语法,此时在绘制文字轮廓时只绘制文字外部的半个线宽的线条。

小练习

text 模块可以用于添加文字。下面的命令在图上写了文字 TEXT:

echo 2.5 0.5 TEXT | gmt text -R0/5/0/1 -JX15c/2c -F+ffont -pdf text

-F+ffont 中的 font 修改为不同的值并查看绘图效果以理解这一节的内容。

下图给出了 font 取不同值的效果:

Source Code

../../_images/386d7090feb92e65ade51833b7007173.png