changeset 81997:702e736c11f0

Fix foreground/background color
author Vinicius Jose Latorre <viniciusjl@ig.com.br>
date Fri, 20 Jul 2007 17:24:39 +0000
parents 02f7b432c413
children 52950d8efd2b
files lisp/ChangeLog lisp/ps-print.el
diffstat 2 files changed, 35 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Jul 20 11:15:09 2007 +0000
+++ b/lisp/ChangeLog	Fri Jul 20 17:24:39 2007 +0000
@@ -1,3 +1,15 @@
+2007-07-20  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+
+	* ps-print.el: Problem with foreground and background color when
+	printing a buffer with and without faces.  Reported by Christian
+	Schlauer <cs-muelleimer-rubbish.bin@arcor.de>.
+	(ps-print-version): New version 6.7.5.
+	(ps-default-fg): Change default value to nil, so black color is used
+	when a face does not specify a foreground color.
+	(ps-default-bg): Change default value to nil, so white color is used
+	for background color.
+	(ps-begin-job): Fix code.
+
 2007-07-20  Eli Zaretskii  <eliz@gnu.org>
 
 	* makefile.w32-in (install-lisp-SH): Don't create subdirectories
--- a/lisp/ps-print.el	Fri Jul 20 11:15:09 2007 +0000
+++ b/lisp/ps-print.el	Fri Jul 20 17:24:39 2007 +0000
@@ -10,11 +10,11 @@
 ;; Maintainer: Kenichi Handa <handa@m17n.org> (multi-byte characters)
 ;;	Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, print, PostScript
-;; Version: 6.7.4
+;; Version: 6.7.5
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
 
-(defconst ps-print-version "6.7.4"
-  "ps-print.el, v 6.7.4 <2007/05/13 vinicius>
+(defconst ps-print-version "6.7.5"
+  "ps-print.el, v 6.7.5 <2007/07/20 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
@@ -2987,7 +2987,7 @@
   :version "20"
   :group 'ps-print-color)
 
-(defcustom ps-default-fg 'frame-parameter
+(defcustom ps-default-fg nil
   "*RGB values of the default foreground color.
 
 The `ps-default-fg' variable contains the default foreground color used by
@@ -3030,7 +3030,7 @@
   :version "20"
   :group 'ps-print-color)
 
-(defcustom ps-default-bg 'frame-parameter
+(defcustom ps-default-bg nil
   "*RGB values of the default background color.
 
 The `ps-default-bg' variable contains the default background color used by
@@ -5622,9 +5622,11 @@
 		       ps-zebra-stripe-height)
 	       "/ZebraColor       "
 	       (ps-format-color ps-zebra-color 0.95)
-	       "def\n/BackgroundColor  "
+	       "def\n")
+    (ps-output "/BackgroundColor  "
 	       (ps-format-color ps-default-background 1.0)
-	       "def\n/UseSetpagedevice "
+	       "def\n")
+    (ps-output "/UseSetpagedevice "
 	       (if (eq ps-spool-config 'setpagedevice)
 		   "/setpagedevice where{pop languagelevel 2 eq}{false}ifelse"
 		 "false")
@@ -5909,9 +5911,17 @@
 	      ((eq ps-print-control-characters 'control)
 	       "[\000-\037\177]")
 	      (t "[\t\n\f]"))
+	;; Set the color scale.  We do it here instead of in the defvar so
+	;; that ps-print can be dumped into emacs.  This expression can't be
+	;; evaluated at dump-time because X isn't initialized.
+	ps-color-p            (and ps-print-color-p (ps-color-device))
+	ps-print-color-scale  (if ps-color-p
+				  (float (car (ps-color-values "white")))
+				1.0)
 	ps-default-background (ps-rgb-color
 			       (cond
-				((eq genfunc 'ps-generate-postscript)
+				((or (not (eq ps-print-color-p t))
+				     (eq genfunc 'ps-generate-postscript))
 				 nil)
 				((eq ps-default-bg 'frame-parameter)
 				 (ps-frame-parameter nil 'background-color))
@@ -5923,7 +5933,8 @@
 			       1.0)
 	ps-default-foreground (ps-rgb-color
 			       (cond
-				((eq genfunc 'ps-generate-postscript)
+				((or (not (eq ps-print-color-p t))
+				     (eq genfunc 'ps-generate-postscript))
 				 nil)
 				((eq ps-default-fg 'frame-parameter)
 				 (ps-frame-parameter nil 'foreground-color))
@@ -5933,15 +5944,9 @@
 				 ps-default-fg))
 			       "unspecified-fg"
 			       0.0)
-	ps-default-color (and (eq ps-print-color-p t) ps-default-foreground)
-	ps-current-color ps-default-color
-	;; Set the color scale.  We do it here instead of in the defvar so
-	;; that ps-print can be dumped into emacs.  This expression can't be
-	;; evaluated at dump-time because X isn't initialized.
-	ps-color-p           (and ps-print-color-p (ps-color-device))
-	ps-print-color-scale (if ps-color-p
-				 (float (car (ps-color-values "white")))
-			       1.0))
+	ps-default-color      (and (eq ps-print-color-p t)
+				   ps-default-foreground)
+	ps-current-color      ps-default-color)
   ;; initialize page dimensions
   (ps-get-page-dimensions)
   ;; final check