返回介绍

GMT 入门

GMT 实例

GMT 进阶

附录

其他

特殊字符

发布于 2023-08-10 21:46:57 字数 2411 浏览 0 评论 0 收藏 0

除了键盘上可以直接输入的一般字符之外,GMT还可以打印一些常用的特殊字符,如大小写的希腊字母、加减号、大于等于号等。

这些特殊字符无法通过键盘直接输入,GMT中可以通过输入八进制码的方式指定特殊字符。

八进制码指定特殊字符

GMT中可以用一个三位的八进制码指定一个特殊字符。八进制码与特殊字符之间的对应关系,可以通过查询下表得到:

http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/54-3hlldevf30m.png

ISOLation1+ 和 Standard+ 编码下的八进制码

如果文本使用了12号字体(Symbol)或34号字体(ZapfDingbats),则此时八进制码具有不同的含义。需要查询下表:

http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/57-0ux5eb430my.png

Symbol和Pifont字体八进制码

GMT中特殊字符可以通过八进制码的方式输入。想要输入特殊字符,首先需要找到该字符对应的八进制码。从上面四张表中找到自己需要的特殊符号的八进制码及其位于哪张表内。总共分四种情况:

  1. 字符在 ISOLatin1+ 表内:可以直接使用该字符对应的八进制码

  2. 字符在 Standard+ 表内:该表内的字符是与 ISOLatin1+ 中的字符完全重合的,建议在 ISOLatin1+ 表中找到自己需要的字符,然后使用其对应的八进制吗

  3. 字符在 Symbol 表内:将文本字体设置为12号字体,并使用该字符对应的八进制码

  4. 字符在 ZapfDingbats 表内:将文本字体设置为34号字体,并使用该字符对应的八进制码

小练习

使用 ISOLatin1+ 表中的八进制码输入字符 ± 234:

echo 5 2 \261 234 | gmt text -Jx1c -R0/10/0/4 -Baf -pdf test

试验之后会发现,图上显示的是 261 234 而不是 ± 234。产生这一现象的原因是因为反斜杠在很多脚本语言里有特殊的含义,此处反斜杠首先被bash所解释,真正传给 GMT的是 5 2 261 234。针对这种情况,有四种解决办法:

# 1. 使用两个反斜杠来代替一个反斜杠
echo 5 2 \\261 234 | gmt text -Jx1c -R0/10/0/4 -Baf -pdf test

# 2. 使用单引号将字符串括起来
echo 5 2 '\261 234' | gmt text -Jx1c -R0/10/0/4 -Baf -pdf test

#. 3. 使用EOF输入字符串
gmt text -Jx1c -R0/10/0/4 -Baf -pdf test << EOF
5 2 \261 234
EOF

#. 4. 从文本文件中读取字符串
gmt text input.txt -JX10c/10c -R0/10/0/10 -F+f15p,12 -pdf test

输入希腊字母,此时需要指定文本使用12号字体(即 -F+f15p,12 选项):

echo 5 5 '\141' | gmt text -JX10c/10c -R0/10/0/10 -Baf -F+f15p,12 -pdf test

如果需要在一堆正常字符中插入一个Symbol表中的特殊字符,可以使用转义字符(下一节会详细介绍) @~@%12% 临时将字体Symbol字体。例如:

gmt basemap -R0/10/0/10 -JX10c/10c -BWSne -Bx2+l"T@~\161@~t" -pdf test

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文