我试过
gswin32c -sDEVICE=jpeg -sOutputFile=foo.jpg foo.pdf
但是我得到了ff。在使用中文字体的页面上从Ghostscript输出。
Substituting CID font resource/Adobe-CNS1 for /·s²Ó©úÅé.
Error: /undefinedresource in --findresource--
Operand stack:
--dict:4/4(L)-- F3 12.96 --dict:6/6(L)-- --dict:6/6(L)-- ·s²Ó©úÅé --dict:9/12(ro)(G)-- --nostringval-- --dict:8/8(L)-- --dict:8/8(L)-- Adobe-CNS1 CIDFont Adobe-CNS1
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop --nostringval-- --nostringval-- 3 1 33 --nostringval-- %for_pos_int_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- %array_continue --nostringval-- false 1 %stopped_push --nostringval-- %loop_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- %array_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- %loop_continue --nostringval-- 12 9 %oparray_pop --nostringval-- --nostringval-- --nostringval--
Dictionary stack:
--dict:1122/1686(ro)(G)-- --dict:2/20(G)-- --dict:75/200(L)-- --dict:75/200(L)-- --dict:105/127(ro)(G)-- --dict:253/347(ro)(G)-- --dict:21/24(L)-- --dict:4/6(L)-- --dict:26/31(L)-- --dict:20/26(ro)(G)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 8.54: Unrecoverable error, exit code 1
很明显,Ghostscript的编码是非Unicode的,因为它在读取中文字体名称时会有垃圾(/·s²Ó©Å)。 Here是Adobe Reader 9列出的中文字体的屏幕截图。
答案 0 :(得分:1)
有趣的问题。
然而,这里不一定是Ghostscript的错,你只能看到/·s²Ó©úÅé。
从命令中,我看到你在cmd.exe
shell窗口内的 Windows 上使用了Ghostscript。它是cmd.exe
,可能无法正确显示Ghostscript要求它显示的内容。这可能有两个不同的原因(或两者兼而有之)
您应首先查询cmd.exe
窗口,它会使用哪个'codepage'。类型:
chcp
并查看是否有任何 NOT 显示多字节字符和字形(如“codepage 850”)。
如果是这样,请尝试使用以下命令更改当前cmd.exe窗口中的代码页:
chcp 65001
或
chcp 65000
这会将您切换为Unicode( 65001 == UTF-8-Unicode ; 65000 == UTF-7-Unicode )。如果您这样做,则还必须确保 cmd.exe窗口中使用的字体 可以显示所有(大多数)相关字形:因此您应该进入cmd.exe窗口的设置(单击窗口标题栏的左上角图标)并将字体更改为'Lucida Console'。
以下是一些可能对您有帮助的代码页编号:
932 : Japanese Shift-JIS
936 : Simplified Chinese GBK
949 : Korean
950 : Traditional Chinese Big5
但请注意 ,您可能无法切换到这些代码页,除非您的计算机安装了日语/中文/韩语支持。
另见:
说完这一切之后,这可能仍然无法解决您的问题。 Ghostscript可能仍然显示相同的错误,因为它没有找到它想要使用的字体( CID字体资源/ Adobe-CNS1 )来代替 ·s²Ó©UAE 即可。但至少你会更好地理解,它想要替换哪种字体。您的控制台将显示与您的Adobe Reader屏幕截图显示相同的亚洲字形......; - )
答案 1 :(得分:0)
Chry Cheng:我仍在尝试使用Ghostscript找到解决问题的方法,但我没有时间进行必要的研究......
我不知道你是否必须出于某种原因使用Ghostscript。但如果没有,这是另一种选择:MuPDF。 artofcode LLC& Artifex Inc. - 开发Ghostscript的人。
MuPDF对我来说渲染你的示例文件没有任何问题! (有趣的是,第2页的Ghostscript窒息; Acrobat Reader也被窒息,但提供给下载并安装一个额外的亚洲字体,而不是命名它,但说它是“支持繁体中文”。安装后,Acrobat Reader不会显示第2页的单个中文字形!)
MuPDF:
(Chry Cheng:我想知道你是否也注意到我的截图中的一件小事对我来说有点令人惊讶和神秘......)