+2005-03-29 Kenichi Handa <handa@m17n.org>
+
+ * ps-mule.el (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.
+
+ * ps-print.el (ps-print-translation-table): New variable.
+ (ps-plot-region): Translate characters by
+ ps-print-translation-table.
+
2005-03-29 Juri Linkov <juri@jurta.org>
* simple.el (next-error-highlight-timer): New variable.
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))
(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.
(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)))