如何在GMT PSTEXT中使用Symbol字体?

时间:2018-05-28 18:11:46

标签: bash ascii gis

我正在使用Generic Mapping Tools在地图上写一个标签,我想使用\alpha符号(α)。此符号以GMT中的符号字体和corresponds to octal code 141提供。我明确声明我想在GMT默认值以及PSTEXT命令中使用Symbols字体:

gmtdefaults -D > .gmtdefaults4;
gmtset FONT_LABEL 12 FONT_ANNOT_PRIMARY 12 MAP_LABEL_OFFSET 0.2 PS_PAGE_ORIENTATION portrait MAP_GRID_PEN_PRIMARY 0.5p COLOR_NAN 255 FORMAT_GEO_MAP +ddd:mm:ss MAP_GRID_PEN_PRIMARY 0.25p,gray;

# making the map and other vaguely unrelated stuff, including setting
# variables i and output, which are not related to the behavior here

label="8.9 6 \141 = "$i;
echo $label | pstext -JX3.4c -R0/3.4/0/3.4 -Gwhite -W0.5p -F+f12 -O -N >> $output

尽管如此,我的输出是字母a,对应于标准字体中的\141。如何让GMT使用Symbols字体?

2 个答案:

答案 0 :(得分:1)

要激活对应 \141 的标志,您必须先使用

gmt set PS_CHAR_ENCODING Standard+

gmt set PS_CHAR_ENCODING ISOLatin+

答案 1 :(得分:0)

问题是除非标签使用@~代码明确请求它,否则不会调用Symbols字体,如Description下的GMT PSTEXT文档中所述。没有提供示例,但在我的情况下,解决方案很简单:

label="8.9 6 @~\141@~ = "$i;

请注意,前2个数字给出了标签的坐标,@~\141@~给出了我想要的字符的八进制代码,@~进出“符号”字体/模式,而其他的东西是无关紧要的。如问题中所述,可以在here找到完整的八进制编码列表。