emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/ps-print.el


From: Kenichi Handa
Subject: [Emacs-diffs] Changes to emacs/lisp/ps-print.el
Date: Tue, 29 Mar 2005 00:06:48 -0500

Index: emacs/lisp/ps-print.el
diff -c emacs/lisp/ps-print.el:1.155 emacs/lisp/ps-print.el:1.156
*** emacs/lisp/ps-print.el:1.155        Sat Mar 19 04:18:17 2005
--- emacs/lisp/ps-print.el      Tue Mar 29 05:06:48 2005
***************
*** 6150,6155 ****
--- 6150,6168 ----
  
  (defvar ps-current-effect 0)
  
+ (defvar ps-print-translation-table
+   (let ((tbl (make-char-table 'translation-table nil)))
+     (if (and (boundp 'ucs-mule-8859-to-mule-unicode)
+          (char-table-p ucs-mule-8859-to-mule-unicode))
+       (map-char-table
+        #'(lambda (k v) 
+            (if (and v (eq (char-charset v) 'latin-iso8859-1) (/= k v))
+                (aset tbl k v)))
+        ucs-mule-8859-to-mule-unicode))
+     tbl)
+   "Translation table for PostScript printing.
+ The default value is a table that translates non-Latin-1 Latin characters
+ to the equivalent Latin-1 characters.")
  
  (defun ps-plot-region (from to font &optional fg-color bg-color effects)
    (or (equal font ps-current-font)
***************
*** 6240,6250 ****
              (ps-plot 'ps-mule-plot-composition match-point (point) bg-color))
  
             ((> match 255)             ; a multi-byte character
              (let* ((charset (char-charset match))
                     (composition (ps-e-find-composition match-point to))
                     (stop (if (nth 2 composition) (car composition) to)))
                (or (eq charset 'composition)
!                   (while (and (< (point) stop) (eq (charset-after) charset))
                      (forward-char 1)))
                (ps-plot 'ps-mule-plot-string match-point (point) bg-color)))
                                        ; characters from ^@ to ^_ and
--- 6253,6269 ----
              (ps-plot 'ps-mule-plot-composition match-point (point) bg-color))
  
             ((> match 255)             ; a multi-byte character
+             (setq match (or (aref ps-print-translation-table match) match))
              (let* ((charset (char-charset match))
                     (composition (ps-e-find-composition match-point to))
                     (stop (if (nth 2 composition) (car composition) to)))
                (or (eq charset 'composition)
!                   (while (and (< (point) stop)
!                               (let ((ch (following-char)))
!                                 (setq ch
!                                       (or (aref ps-print-translation-table ch)
!                                           ch))
!                                 (eq (char-charset ch) charset)))
                      (forward-char 1)))
                (ps-plot 'ps-mule-plot-string match-point (point) bg-color)))
                                        ; characters from ^@ to ^_ and




reply via email to

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