changeset 79790:663f333dd7d0

Fix face attributes recognition
author Vinicius Jose Latorre <viniciusjl@ig.com.br>
date Wed, 09 Jan 2008 03:45:04 +0000
parents edded8728ab1
children 02b9a9aa5b0c
files lisp/ChangeLog lisp/ps-print.el
diffstat 2 files changed, 28 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Tue Jan 08 07:56:05 2008 +0000
+++ b/lisp/ChangeLog	Wed Jan 09 03:45:04 2008 +0000
@@ -1,3 +1,10 @@
+2008-01-09  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+
+	* ps-print.el: Some face attributes (like :strike-through) was not
+	being recognised.  Reported by Leo <sdl.web@gmail.com>.
+	(ps-face-strikout-p, ps-face-overline-p, ps-face-box-p): New funs.
+	(ps-screen-to-bit-face): Fix code.
+
 2008-01-08  Kevin Ryde  <user42@zip.com.au>
 
 	* progmodes/compile.el (compilation-error-regexp-alist-alist):
--- a/lisp/ps-print.el	Tue Jan 08 07:56:05 2008 +0000
+++ b/lisp/ps-print.el	Wed Jan 09 03:45:04 2008 +0000
@@ -3923,6 +3923,12 @@
 	 (or (ps-xemacs-face-kind-p face 'ANGLE_NAME "i\\|o")
 	     (ps-xemacs-face-kind-p face 'SLANT "i\\|o")
 	     (memq face ps-italic-faces))) ; Kludge-compatible
+
+       (defalias 'ps-face-strikeout-p 'ignore)
+
+       (defalias 'ps-face-overline-p 'ignore)
+
+       (defalias 'ps-face-box-p 'ignore)
        )
 
       (t				; Emacs
@@ -3943,6 +3949,15 @@
        (defun ps-face-italic-p (face)
 	 (or (ps-e-face-italic-p face)
 	     (memq face ps-italic-faces)))
+
+       (defun ps-face-strikeout-p (face)
+	 (eq (face-attribute face :strike-through) t))
+
+       (defun ps-face-overline-p (face)
+	 (eq (face-attribute face :overline) t))
+
+       (defun ps-face-box-p (face)
+	 (not (memq (face-attribute face :box) '(nil unspecified))))
        ))
 
 
@@ -6508,9 +6523,12 @@
 
 (defun ps-screen-to-bit-face (face)
   (cons face
-	(vector (logior (if (ps-face-bold-p face) 1 0) ; bold
-			(if (ps-face-italic-p face) 2 0) ; italic
-			(if (ps-face-underlined-p face) 4 0)) ; underline
+	(vector (logior (if (ps-face-bold-p face)       1 0)  ; bold
+			(if (ps-face-italic-p face)     2 0)  ; italic
+			(if (ps-face-underlined-p face) 4 0)  ; underline
+			(if (ps-face-strikeout-p face)  8 0)  ; strikeout
+			(if (ps-face-overline-p face)  16 0)  ; overline
+			(if (ps-face-box-p face)       64 0)) ; box
 		(ps-face-foreground-name face)
 		(ps-face-background-name face))))