emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: ps-print does not print and report correctly


From: Kenichi Handa
Subject: Re: ps-print does not print and report correctly
Date: Wed, 12 Oct 2005 16:41:23 +0900
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/22.0.50 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI)

In article <address@hidden>, Peter Dyballa <address@hidden> writes:

> No, this can't be printed in ISO 8859-15! Although my printer has  
> PostScript 3 and is younger than the European currency unit it only  
> knows Adobe-StandardEncoding, Adobe-SymbolEncoding, Adobe-CEEncoding,  
> and probably too ISOLatin1Encoding and Adobe-ExpertEncoding. To print  
> the ISO Latin-9 glyphs from the above mentioned range the font needs to  
> be encoded correctly.

Hmmm, then please try this brute force method.

(1) Apply the attached patch to etc/ps-prin1.ps.
(2) (setq ps-mark-code-directory nil)
(3) (setq ps-mule-font-info-database-default
      '((latin-iso8859-1
         (normal nil nil iso-latin-1))
        (latin-iso8859-15
         (normal nil nil ps-mule-encode-8bit 1))))
(4) M-x list-charset-chars RET latin-iso8859-15
(5) ps-print the buffer "*Character List*".

This works at least in my environment.  But, as we need
non-trivial change to the current code to make that work in
general, I think we must wait for Emacs 23.

---
Kenichi Handa
address@hidden

*** ps-prin1.ps 07 Jul 2005 11:07:43 +0900      1.18
--- ps-prin1.ps 12 Oct 2005 16:00:10 +0900      
***************
*** 78,83 ****
--- 78,98 ----
  256 packedarray def
  }ifelse
  
+ /ISOLatin15Encoding where{pop}{
+ % Make it by modifying several elements of ISOLatin1Encoding.
+ /ISOLatin15Encoding
+ [ ISOLatin1Encoding 0 256 getinterval aload pop ]
+ dup 16#A4 /Euro put
+ dup 16#A6 /Scaron put
+ dup 16#A8 /scaron put
+ dup 16#B4 /Zcaron put
+ dup 16#B8 /zcaron put
+ dup 16#BC /OE put
+ dup 16#BD /oe put
+ dup 16#BE /Ydieresis put
+ def
+ }ifelse
+ 
  /reencodeFontISO{ %def
    dup
    length 12 add dict  % Make a new font (a new dict the same size
***************
*** 90,96 ****
      {1 index/FID ne{def}{pop pop}ifelse}forall
  
      % Override the encoding with the ISOLatin1 encoding.
!     currentdict/FontType get 0 ne{/Encoding ISOLatin1Encoding def}if
  
      % Use the font's bounding box to determine the ascent, descent,
      % and overall height; don't forget that these values have to be
--- 105,111 ----
      {1 index/FID ne{def}{pop pop}ifelse}forall
  
      % Override the encoding with the ISOLatin1 encoding.
!     currentdict/FontType get 0 ne{/Encoding ISOLatin15Encoding def}if
  
      % Use the font's bounding box to determine the ascent, descent,
      % and overall height; don't forget that these values have to be




reply via email to

[Prev in Thread] Current Thread [Next in Thread]