;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/
(defconst ps-print-version "6.6.6"
- "ps-print.el, v 6.6.6 <2004/07/21 vinicius>
+ "ps-print.el, v 6.6.6 <2005/03/19 vinicius>
Vinicius's last change version -- this file may have been edited as part of
Emacs without changes to the version number. When reporting bugs, please also
(defvar mark-active nil)
(defun ps-mark-active-p ()
mark-active)
- (defalias 'ps-face-foreground-name 'face-foreground)
- (defalias 'ps-face-background-name 'face-background)
- ))
+ (defun ps-face-foreground-name (face)
+ (face-foreground face nil t))
+ (defun ps-face-background-name (face)
+ (face-background face nil t))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
NUMBER It's a real value between 0.0 (black) and 1.0 (white) that
indicate the gray color.
- COLOR-NAME It's a string wich contains the color name. For example:
+ COLOR-NAME It's a string which contains the color name. For example:
\"yellow\".
LIST It's a list of RGB values, that is a list of three real values
NUMBER It's a real value between 0.0 (black) and 1.0 (white) that
indicate the gray color.
- COLOR-NAME It's a string wich contains the color name. For example:
+ COLOR-NAME It's a string which contains the color name. For example:
\"yellow\".
LIST It's a list of RGB values, that is a list of three real values
(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)
(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) (eq (charset-after) charset))
+ (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