;; Maintainer: Kenichi Handa <handa@m17n.org> (multi-byte characters)
;; Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Keywords: wp, print, PostScript
-;; Version: 7.2.4
+;; Version: 7.2.5
;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
-(defconst ps-print-version "7.2.4"
- "ps-print.el, v 7.2.4 <2007/07/20 vinicius>
+(defconst ps-print-version "7.2.5"
+ "ps-print.el, v 7.2.5 <2007/10/10 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
(defun ps-background (page-number)
(let (has-local-background)
- (mapcar #'(lambda (range)
- (and (<= (aref range 0) page-number)
- (<= page-number (aref range 1))
- (if has-local-background
- (ps-output (aref range 2))
- (setq has-local-background t)
- (ps-output "/printLocalBackground{\n"
- (aref range 2)))))
- ps-background-pages)
+ (mapc #'(lambda (range)
+ (and (<= (aref range 0) page-number)
+ (<= page-number (aref range 1))
+ (if has-local-background
+ (ps-output (aref range 2))
+ (setq has-local-background t)
+ (ps-output "/printLocalBackground{\n"
+ (aref range 2)))))
+ ps-background-pages)
(and has-local-background (ps-output "}def\n"))))
(ps-output "\n" ps-print-prologue-1
"\n/printGlobalBackground{\n")
- (mapcar 'ps-output ps-background-all-pages)
+ (mapc 'ps-output ps-background-all-pages)
(ps-output
"}def\n/printLocalBackground{\n}def\n"
"\n%%EndProlog\n\n%%BeginSetup\n"
(ps-output " S\n")))
+(defsubst ps-face-foreground-color-p (attr)
+ (memq attr '(foreground-color :foreground)))
+
+
+(defsubst ps-face-background-color-p (attr)
+ (memq attr '(background-color :background)))
+
+
+(defsubst ps-face-color-p (attr)
+ (memq attr '(foreground-color :foreground background-color :background)))
+
+
(defun ps-face-attributes (face)
"Return face attribute vector.
(setq ps-print-face-alist
(cons new-face ps-print-face-alist)))
new-face))))
- ((eq (car face) 'foreground-color)
+ ((ps-face-foreground-color-p (car face))
(vector 0 (cdr face) nil))
- ((eq (car face) 'background-color)
+ ((ps-face-background-color-p (car face))
(vector 0 nil (cdr face)))
(t
(vector 0 nil nil))))
((symbolp face)
(memq face ps-use-face-background))
((listp face)
- (or (memq (car face) '(foreground-color background-color))
+ (or (ps-face-color-p (car face))
(let (ok)
(while face
(if (or (memq (car face) ps-use-face-background)
- (memq (car face)
- '(foreground-color background-color)))
+ (ps-face-color-p (car face)))
(setq face nil
ok t)
(setq face (cdr face))))
((not (listp face-or-list))
(ps-face-attributes face-or-list))
;; only foreground color, not a `real' face
- ((eq (car face-or-list) 'foreground-color)
+ ((ps-face-foreground-color-p (car face-or-list))
(vector 0 (cdr face-or-list) nil))
;; only background color, not a `real' face
- ((eq (car face-or-list) 'background-color)
+ ((ps-face-background-color-p (car face-or-list))
(vector 0 nil (cdr face-or-list)))
;; list of faces
(t
;; Now, rebuild reference face lists
(setq ps-print-face-alist nil)
(if ps-auto-font-detect
- (mapcar 'ps-map-face (face-list))
- (mapcar 'ps-set-face-bold ps-bold-faces)
- (mapcar 'ps-set-face-italic ps-italic-faces)
- (mapcar 'ps-set-face-underline ps-underlined-faces))
+ (mapc 'ps-map-face (face-list))
+ (mapc 'ps-set-face-bold ps-bold-faces)
+ (mapc 'ps-set-face-italic ps-italic-faces)
+ (mapc 'ps-set-face-underline ps-underlined-faces))
(setq ps-build-face-reference nil))