# HG changeset patch # User Kenichi Handa # Date 1112072836 0 # Node ID 6a54f94240cad5234a28ad1ec827fe57075f2859 # Parent 449d2654bc2dcf7f2971aadb478a462c79ddfb04 (ps-mule-plot-string): Translate characters by ps-print-translation-table. (ps-mule-begin-job): Call find-charset-region/string with ps-print-translation-table. diff -r 449d2654bc2d -r 6a54f94240ca lisp/ps-mule.el --- a/lisp/ps-mule.el Tue Mar 29 05:06:48 2005 +0000 +++ b/lisp/ps-mule.el Tue Mar 29 05:07:16 2005 +0000 @@ -824,7 +824,9 @@ Where ENDPOS is the end position of the sequence and RUN-WIDTH is the width of the sequence." - (setq ps-mule-current-charset (charset-after from)) + (let ((ch (char-after from))) + (setq ps-mule-current-charset + (char-charset (or (aref ps-print-translation-table ch) ch)))) (let* ((wrappoint (ps-mule-find-wrappoint from to (ps-avg-char-width 'ps-font-for-text))) (to (car wrappoint)) @@ -832,6 +834,10 @@ (ps-font-alist 'ps-font-for-text)))) (font-spec (ps-mule-get-font-spec ps-mule-current-charset font-type)) (string (buffer-substring-no-properties from to))) + (dotimes (i (length string)) + (let ((ch (aref ps-print-translation-table (aref string i)))) + (if ch + (aset string i ch)))) (cond ((= from to) ;; We can't print any more characters in the current line. @@ -1469,13 +1475,15 @@ (setq ps-mule-charset-list (delq 'ascii (delq 'eight-bit-control (delq 'eight-bit-graphic - (find-charset-region from to)))) + (find-charset-region + from to ps-print-translation-table)))) ps-mule-header-charsets (delq 'ascii (delq 'eight-bit-control (delq 'eight-bit-graphic (find-charset-string (mapconcat - 'identity header-footer-list "")))))) + 'identity header-footer-list "") + ps-print-translation-table))))) (dolist (cs ps-mule-charset-list) (or (ps-mule-printable-p cs) (push cs unprintable-charsets)))