|||
关于在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。
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
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-23 17:38
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社