xudy的个人博客分享 http://blog.sciencenet.cn/u/xudy

博文

关于Windows系统下GMT中文支持(补充)

已有 3167 次阅读 2018-8-1 12:24 |个人分类:GMT|系统分类:科研笔记| GMT, GMT中文显示, windows

         关于在windows平台下GMT显示中文字体的问题,GMT 中文社区已经有非常详细的解答(https://docs.gmt-china.org/install/cn-windows/ )。本文在此做一些补充,主要为如何添加所需的中文字体与一些注意事项。


1注意事项

1)必须安装gsview,否则无法支持显示中文;

2)安装ghostscript时,需要勾选Generate cidfmap for Windows CJK TrueType fonts

3)若使用记事本编辑bat 文件,则保存时应注意编码方式为ANSI,Unicode Unicode big endian,若使用 UTF-8 编码则会出现乱码;另外,很多编辑器默认将文本文件以 UTF-8 编码保存,因而可能需要修改编辑器的默认编码。这点非常重要!!!

4)pstext <txtfile> -J<params> -R...windows平台下可能不合适,需要写成echo...>tmp;pstext tmp的形式,见上链接中测试脚本。

echo 3 2.5 35p,39,black GMT宋体 > tmp
echo 3 1.0 35p,40,blue GMT仿宋 >> tmp
...
gmt pstext tmp -R...

5)pstext命令后加上psconvert命令,使用psconvert命令 -C选项告诉ghostscript字体路径。可能需要

gmt psconvert  %PS% -C-sFONTPATH=C:\Windows\Fonts

psconvert命令语法,链接:https://modules.gmt-china.org/psconvert/


2如何添加需要的中文字体

1)查看所需中文字体名称:

查看cidfmap文件,文件位置:ghostscript的安装目录下lib文件夹下,找到我们所需字体的名称,如幼圆的名称:YouYuan。

cidfmap文件(部分):

%!
% cidfmap generated automatically by mkcidfm.ps from fonts found in
%   C:/Windows/Fonts
% Substitutions
/FangSong << /CSI [(GB1) 2] /Path (C:/Windows/Fonts/simfang.ttf) /SubfontID 0 /FileType /TrueType >> ;
/Batang << /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/batang.ttc) /SubfontID 0 /FileType /TrueType >> ;
/Meiryo-Italic << /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/meiryo.ttc) /SubfontID 1 /FileType /TrueType >> ;
/MS-Gothic << /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/msgothic.ttc) /SubfontID 0 /FileType /TrueType >> ;
/MS-PMincho << /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/msmincho.ttc) /SubfontID 1 /FileType /TrueType >> ;
/MalgunGothicRegular << /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/malgun.ttf) /SubfontID 0 /FileType /TrueType >> ;
/SimHei << /CSI [(GB1) 2] /Path (C:/Windows/Fonts/simhei.ttf) /SubfontID 0 /FileType /TrueType >> ;

:cidfmap文件作用:实现windows自带汉字库的导入,扩展gs字库。

格式:字体名称,字体标准,字体路径,字体类型。

/FangSong << /CSI [(GB1) 2] /Path (C:/Windows/Fonts/simfang.ttf) /SubfontID 0 /FileType /TrueType >> ;

字体名称FangSong;字体标准:GB1;字体路径:C:/Windows/Fonts/simfang.ttf;字体类型:TrueType。


2)将所需字体名称加入GMT字体配置文件中

配置文件位置(找到GMT的安装位置):

  • GMT 5.1.2 及其之前版本: C:\...\gmt5\share\pslib\PS_font_info.d

  • GMT 5.2.1 及其之后版本: C:\...\gmt5\share\postscriptlight\PSL_custom_fonts.txt

如:

STSong-Light--GB-EUC-H  0.700    1
STFangsong-Light--GB-EUC-H  0.700    1
STHeiti-Regular--GB-EUC-H   0.700   1
STKaiti-Regular--GB-EUC-H   0.700   1
YouYuan--GB-EUC-H  0.700 1


3)在DOS窗口下使用gmt pstext -L命令查看该加入字体的编号。如幼圆的编号为41。

1.png

4)利用字体编号显示所需中文字体

如:

echo 104.20 30.8  %fontsize% 0 41 CB  成都 > tmp
gmt pstext tmp  -J%J% -R%R% -K -O -F >> %PS%

注:41就代表幼圆的字体编号,详细pstext语法见http://gmt.soest.hawaii.edu/doc/5.4.4/pstext.html


如需深入了解GMT显示汉字的原理,见参考文献。

参考文献:

苏鹤军,张慧,李晨桦等.2013.GMT绘图软件汉字库配置技术应用研究.地震工程学报,35:928-935

链接:https://pan.baidu.com/s/1fVk1s32LQNM_ptKin74MbQ 密码:tldn




http://blog.sciencenet.cn/blog-3392501-1127008.html


0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2020-2-18 09:47

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部