Mike FABIAN wrote:
ghugh Song
さんは書きました: Now, I issued "SuSEconfig" and I can see files in the directory. Guess what. gv shows the Korean character "??" correctly from the korean-Baekmuk-Gulim-KSC-EUC-H.ps file. But not from korean-Baekmuk-Gulim-UniKS-UTF8-H.ps
The latter showd just "Hangul" and nothing.
Works for me. What are the messages when you try to display the file with 'gs'. Better use 'gs' for testing, not 'gv' because 'gs' shows you some messages on standard output which may help to understand what's wrong. Do you see the correct messages, like that:
mfabian@gregory:~/test-texts$ LANG=C gs korean-Baekmuk-Gulim-UniKS-UTF8-H.ps ESP Ghostscript 7.05 (2002-06-28) Copyright (C) 2002 artofcode LLC, Benicia, CA. All rights reserved. This software comes with NO WARRANTY: see the file COPYING for details. Loading Baekmuk-Gulim-UniKS-UTF8-H font from /usr/share/ghostscript/Resource/Font/Baekmuk-Gulim-UniKS-UTF8-H... 17136180 14436291 1662616 337756 0 done.
showpage, press <return> to continue<<
This is what I got: ghugh@bellini:/home/ghugh> ls *.ps korean-Baekmuk-Gulim-KSC-EUC-H.ps korean-Baekmuk-Gulim-UniKS-UTF8-H.ps ghugh@bellini:/home/ghugh> gs korean-Baekmuk-Gulim-UniKS-UTF8-H.ps ESP Ghostscript 7.05 (2002-06-28) Copyright (C) 2002 artofcode LLC, Benicia, CA. All rights reserved. This software comes with NO WARRANTY: see the file COPYING for details. Loading Baekmuk-Gulim-UniKS-UTF8-H font from /usr/share/ghostscript/Resource/Font/Baekmuk-Gulim-UniKS-UTF8-H... 16849028 14226196 1662616 337756 0 done.
showpage, press <return> to continue<<
So, the message is exactly the same. But display windows does not show "??" unlike your case.
OK, now I tried to print from "gv" which uses "lpr". Again guess what. I got just the "cat"ed output from the hp6mp Postscript printer like this:
% -*- coding: euc-kr -*- /Baekmuk-Gulim-KSC-EUC-H findfont 30 scalefont setfont 50 200 moveto (Hangul <Cryptic characters>) show showpage
Of course. Your Ghostscript now has the /Baekmuk-Gulim-KSC-EUC-H font, but your printer doesn't have it.
It looks like you have currently setup your printer as a PostScript printer. In that case, lpr sends the file without further processing directly to the printer without filtering through Ghostscript, because it is a PostScript printer and should be able handle the PostScript code. But of course this won't work when the PostScript code specifies fonts which the printer doesn't have.
The solution is to setup the printer not as a PostScript printer but as something else. Setup your printer with YaST2 again and don't choose the PostScript printer driver but a different driver. Maybe the 'pcl3' driver of the 'ljet4' driver, I don't know your printer. But YaST2 will probably know and suggest something appropriate.
You don't have to delete your PostScript printer queue, you can also create an additional, non-PostScript printer queue. Than use the non-PostScript queue for printing documents with fonts which your printer doesn't have.
A PostScript file sent with lpr to a non-PostScript queue will be filtered through Ghostscript automatically and your Ghostscript now has the necessary fonts.
Unfortunately, although I did exactly what you just prescribed, the printer LaserJet 6MP did the same thing: those three "cat"ed output-lines only.
Another possibility to do it manually is to filter the Postscript file manually through Ghostscript. For example:
gs -dNOPAUSE -dBATCH -sPAPERSIZE=a4 -sDEVICE=pswrite -sOutputFile=korean-Baekmuk-Gulim-KSC-EUC-H.pswrite korean-Baekmuk-Gulim-KSC-EUC-H.ps
then send the .pswrite file to a PostScript queue. The file processed this way by Ghostscript doesn't need the Baekmuk fonts anymore, all Korean glyphs are already included as outline graphics in this file, therefore any PostScript printer can print it.
The above command worked OK, and produced the Korean characters properly.
Instead of '-sDEVICE=pswrite' you can also use other devices like '-sDEVICE=ljet4' or whatever device is suitable for your printer, then send the filtered file to a raw printer queue which doesn't do any further processing.
This method gave nothing. The /etc/printcap file configured by CUPS does not have such a rich list of printcap entries. Just putting the printer qname "lj6mp" in my case did not work.
The manual example is just for better understanding what happens, all this works correctly automatically if you just setup your printer with YaST2 as a non-PostScript printer.
Unfortunately, YaST2 configured setup did not produce the thing properly. Is CUPS intervening the process here? Thanks. G. Hugh Song