以前用ghostscript-6.0和gbpfb解决.netscape的中文打印问题,但这个方法在mozilla上就不可以了,我参看了网上许多贴子,终于搞定了它.
一、从网上下载到ghostscript-6.51-1.i386.rpm,(http://www.linuxaid.com.cn/engineer/hubertzou/)
rpm -Uhv ghostscript-6.51-1.i386.rpm
我建议用这个rpm包.
如果用ghostscript-6.51-1.src.rpm就麻烦很多,ghostscript-6.51-1.src.rpm在redhat7.1上编译时有点小问题.ghostscript-6.51-1.src.rpm可以在ftp://ftp.gnuchina.org/incoming/gs6.51-cjk/上找到。
rpm -rebuild ghostscript-6.51-1.src.rpm
系统会报错,没关系,自己动手吧.
进入/usr/src/redhat/SOURCES/,解开ghostscript-6.51.tar.bz2
bunzip2 ghostscript-6.51.tar.bz2
tar xvf ghostscript-6.51.tar
得到目录ghostscript-6.51。
然后进入ghostscript-6.51/src,修改unixinst.mak文件,注释掉下面两行:
#$(SH) -c 'for f in $(MAN1_PS2PDF_LINKS) ;
do rm -f $(man1dir)/$$f.$(man1ext); ln -s ps2pdf.1 $(man1dir)/$$f.$(man1
ext);
done'
#$(SH) -c 'for f in $(MAN1_GSLP_LINKS) ;
do rm -f $(man1dir)/$$f.$(man1ext); ln -s gslp.1 $(man1dir)/$$f.$(man1ex
t);
done'
然后将ghostscript-6.51这个目录重新打包:
rm -f ghostscript-6.51.tar
tar -f ghostscript-6.51.tar -r ghostscript-6.51
bzip2 ghostscript-6.51.tar
修改/usr/src/redhat/SPECS/ghostscript-6.51.spec文件,在
ln -sf ps2pdf.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/ps2pdf12.1.gz
ln -sf ps2pdf.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/ps2pdf13.1.gz
下加入下面4行
ln -sf gslp.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/gsbj.1.gz
ln -sf gslp.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/gsdj.1.gz
ln -sf gslp.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/gsdj500.1.gz
ln -sf gslp.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/gslj.1.gz
然后存盘退出。
运行rpm -bb ghostscript-6.51.spec,将生成/usr/src/redhat/RPMS/i386/ghostscript-6.51.i386.rpm安装之即可。
要想省事,还是直接用ghostscript-6.51-1.i386.rpm吧.
二、安装中文字体
假设你的宋体字库是/usr/share/fonts/MS/simsun.ttf.
cd /usr/share/ghostscript/Resource/
在这个目录底下你会看到许多 shell 脚本. 其中 alias-ag14.sh是用来安装简体中文字库的, alias-ac13.sh是用来安装繁体中文字库的. 字库安装方法如下:
./alias-ag14.sh install GB-Song-Medium,Adobe-GB1-Unicode=/usr/share/fonts/MS/simsun.ttf
GB-Song-Medium是这个字库的虚拟 CID 字体名. Adobe-GB1-Unicode是说这个字库是简体中文, 而且是Unicode 编码. 字库编码可以用 ftdump 看.
安装中文CID字体时,你还可以指定的别名为:
宋体 MSung-Light
仿宋 CFangSong-Light
揩体 MKai-Medium
我自己只安装简体中文宋GB-Song-Medium.
三、在 mozilla下打印中文网页
编辑 /usr/lib/mozilla-0.9.1/defaults/pref/unix.js 会发现里面有一行
pref("print.psnativefont.zh-CN", ""),
把这行改成:
pref("print.psnativecode.zh-CN","GBK");
pref("print.psnativefont.zh-CN", "GB-Song-Medium-GBK-EUC-H");
你可能要反复测试,先可用mozilla打印到文件mozilla.ps,然后用gv打开文件mozilla.ps能看到中文吗,如果能看到中文,再直接用mozilla打印.
事实上,不光是mozilla可直接打印中文,其它一些应用程序也可以了.自己试试吧.
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/