[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

printing cyrillic from Mozilla



I cannot currently print russian web pages from mozilla (I presume the
problem occurs with other non-latin pages too).  While the page displays
fine on screen, upon printing (to printer or to postscript file), the
cyrillic letters get rendered as boxes.  This true both by printing direct to 
printer, and by printing to file and viewing with gv.

I imagine this is a FAQ, but I haven't seen a solution anywhere.  On the
contrary, the same problem was reported only today on mozilla's bugzilla:
	  http://bugzilla.mozilla.org/show_bug.cgi?id=125006

However, I suspect mozilla itself is not the problem.  A test page is
http://www.wordoflifemoscow.org/forum/index.asp.  The HTML page declares itself
to be written in windows-1251.  The postscript file that mozilla produces,
on the other hand, appears to be translating the text into unicode, with
postscript functions like:

/Unicode2NativeDictdef 0 dict def
/default_ls {
  /Unicode2NativeDict Unicode2NativeDictdef def
  /UCS2Font   /Courier def
  /NativeFont /Courier def
  /unicodeshow1 { real_unicodeshow } bind def
  /unicodeshow2 { real_unicodeshow_native } bind def
} bind def

and postscript content like:

0.60 0.00 0.00 setrgbcolor
default_ls
9 f1
74 561.9 moveto
(Moscow Youth.) show
0.00 0.00 0.00 setrgbcolor
default_ls
9 f0
74 552.9 moveto
(\044\004\076\004\100\004\103\004\074\004\040\000\074\004\076\004\073\004\076\00
4\064\004\065\004\066\004\075\004\076\004\063\004\076\004\040\000\101\004\073\00
4\103\004\066\004\065\004\075\004\070\004\117\004) unicodeshow

I presume all the \044\004's here are one of the encodings for unicode, maybe 
UTF-8 corresponding to the cyrillic text.  Indeed, on the web page, the text 
that follows  "Moscow Youth." says 'Форум молодежного служения церкви "Слово 
Жизни".'  so I presume that is what the code I pasted above says.  Can anyone 
confirm that \044\004 (octal?) corresponds to the letter 'Ф' (Phi) ?  The 
postscript file itself is apparently encoded in latin1:
% MozillaCharsetName: iso-8859-1
which is, I gather, why the ugly octal codes are used for the russian text.

So the evidence suggests that mozilla's postscript output is fine, relying on
unicode, and therefore assuming unicode postscript fonts are available.

I presume that this is the reason why the page fails to print.  No unicode
enabled postscript fonts are available, or the ones that are available omit
cyrillic glyphs.

Is this a correct analysis of the problem?  Is there anything I can do about it,
or something I've missed?  I do have gsfonts-other installed, which is supposed
to contain some kind of cyrillic postscript font, but it doesn't appear to be
helping.

Has anyone else been able to successfully print cyrillic web pages from mozilla?
Have I done something wrong?

Thanks,

Drew Parsons


<rant level="ignorant>
As an aside, this separation of screen output from printer output is bloody 
ridiculous, or at the very least, bloody annoying.  How is it possible to be 
able to display something on screen but not on printer?  Couldn't X just treat 
a printer as a kind of display device that it can write to?
</rant>

-- 
PGP public key available at http://people.debian.org/~dparsons/drewskey.txt
Fingerprint: A110 EAE1 D7D2 8076 5FE0  EC0A B6CE 7041 6412 4E4A

Attachment: pgpHUEOUNi7s4.pgp
Description: PGP signature


Reply to: