comparison lisp/packages/ps-print.el @ 124:9b50b4588a93 r20-1b15

Import from CVS: tag r20-1b15
author cvs
date Mon, 13 Aug 2007 09:26:39 +0200
parents 4be1180a9e89
children 318232e2a3f0
comparison
equal deleted inserted replaced
123:c77884c6318d 124:9b50b4588a93
725 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 725 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
726 ;; User Variables: 726 ;; User Variables:
727 727
728 ;;; Interface to the command system 728 ;;; Interface to the command system
729 729
730 (defvar ps-lpr-command lpr-command 730 (defgroup ps-print nil
731 "*The shell command for printing a PostScript file.") 731 "Postscript generator for Emacs 19"
732 732 :prefix "ps-"
733 (defvar ps-lpr-switches lpr-switches 733 :group 'wp)
734 "*A list of extra switches to pass to `ps-lpr-command'.") 734
735 (defgroup ps-print-horizontal nil
736 "Horizontal page layout"
737 :prefix "ps-"
738 :tag "Horizontal"
739 :group 'ps-print)
740
741 (defgroup ps-print-vertical nil
742 "Vertical page layout"
743 :prefix "ps-"
744 :tag "Vertical"
745 :group 'ps-print)
746
747 (defgroup ps-print-header nil
748 "Headers layout"
749 :prefix "ps-"
750 :tag "Header"
751 :group 'ps-print)
752
753 (defgroup ps-print-font nil
754 "Fonts customization"
755 :prefix "ps-"
756 :tag "Font"
757 :group 'ps-print)
758
759 (defgroup ps-print-color nil
760 "Color customization"
761 :prefix "ps-"
762 :tag "Color"
763 :group 'ps-print)
764
765 (defgroup ps-print-face nil
766 "Faces customization"
767 :prefix "ps-"
768 :tag "PS Faces"
769 :group 'ps-print
770 :group 'faces)
771
772
773 (defcustom ps-lpr-command lpr-command
774 "*The shell command for printing a PostScript file."
775 :type 'string
776 :group 'ps-print)
777
778 (defcustom ps-lpr-switches lpr-switches
779 "*A list of extra switches to pass to `ps-lpr-command'."
780 :type '(repeat string)
781 :group 'ps-print)
735 782
736 ;;; Page layout 783 ;;; Page layout
737 784
738 ;; All page dimensions are in PostScript points. 785 ;; All page dimensions are in PostScript points.
739 ;; 1 inch == 2.54 cm == 72 points 786 ;; 1 inch == 2.54 cm == 72 points
751 ;; A3 11.69 inch x 16.5 inch = 29.7 cm x 42.0 cm 798 ;; A3 11.69 inch x 16.5 inch = 29.7 cm x 42.0 cm
752 ;; A4Small 7.47 inch x 10.85 inch 799 ;; A4Small 7.47 inch x 10.85 inch
753 ;; B4 10.125 inch x 14.33 inch 800 ;; B4 10.125 inch x 14.33 inch
754 ;; B5 7.16 inch x 10.125 inch 801 ;; B5 7.16 inch x 10.125 inch
755 802
756 (defvar ps-page-dimensions-database 803 (defcustom ps-page-dimensions-database
757 (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54)) 804 (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54))
758 (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54)) 805 (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54))
759 (list 'letter (* 72 8.5) (* 72 11.0)) 806 (list 'letter (* 72 8.5) (* 72 11.0))
760 (list 'legal (* 72 8.5) (* 72 14.0)) 807 (list 'legal (* 72 8.5) (* 72 14.0))
761 (list 'letter-small (* 72 7.68) (* 72 10.16)) 808 (list 'letter-small (* 72 7.68) (* 72 10.16))
765 (list 'executive (* 72 7.5) (* 72 10.0)) 812 (list 'executive (* 72 7.5) (* 72 10.0))
766 (list 'a4small (* 72 7.47) (* 72 10.85)) 813 (list 'a4small (* 72 7.47) (* 72 10.85))
767 (list 'b4 (* 72 10.125) (* 72 14.33)) 814 (list 'b4 (* 72 10.125) (* 72 14.33))
768 (list 'b5 (* 72 7.16) (* 72 10.125))) 815 (list 'b5 (* 72 7.16) (* 72 10.125)))
769 "*List associating a symbolic paper type to its width and height. 816 "*List associating a symbolic paper type to its width and height.
770 see `ps-paper-type'.") 817 see `ps-paper-type'."
818 :type '(repeat (list :tag "Paper Type"
819 (symbol :tag "Name")
820 (number :tag "Width")
821 (number :tag "Height")))
822 :group 'ps-print)
771 823
772 ;;;###autoload 824 ;;;###autoload
773 (defvar ps-paper-type 'letter 825 (defcustom ps-paper-type 'letter
774 "*Specifies the size of paper to format for. 826 "*Specifies the size of paper to format for.
775 Should be one of the paper types defined in `ps-page-dimensions-database', for 827 Should be one of the paper types defined in `ps-page-dimensions-database', for
776 example `letter', `legal' or `a4'.") 828 example `letter', `legal' or `a4'."
777 829 :type '(symbol :validate (lambda (wid)
778 (defvar ps-landscape-mode 'nil 830 (if (assq (widget-value wid) ps-page-dimensions-database)
779 "*Non-nil means print in landscape mode.") 831 nil
780 832 (widget-put wid :error "Unknown paper size")
781 (defvar ps-number-of-columns (if ps-landscape-mode 2 1) 833 wid)))
782 "*Specifies the number of columns") 834 :group 'ps-print)
835
836 (defcustom ps-landscape-mode 'nil
837 "*Non-nil means print in landscape mode."
838 :type 'boolean
839 :group 'ps-print)
840
841 (defcustom ps-number-of-columns (if ps-landscape-mode 2 1)
842 "*Specifies the number of columns"
843 :type 'integer
844 :group 'ps-print)
783 845
784 ;;; Horizontal layout 846 ;;; Horizontal layout
785 847
786 ;; ------------------------------------------ 848 ;; ------------------------------------------
787 ;; | | | | | | | | 849 ;; | | | | | | | |
788 ;; | lm | text | ic | text | ic | text | rm | 850 ;; | lm | text | ic | text | ic | text | rm |
789 ;; | | | | | | | | 851 ;; | | | | | | | |
790 ;; ------------------------------------------ 852 ;; ------------------------------------------
791 853
792 (defvar ps-left-margin (/ (* 72 2.0) 2.54) ; 2 cm 854 (defcustom ps-left-margin (/ (* 72 2.0) 2.54) ; 2 cm
793 "*Left margin in points (1/72 inch).") 855 "*Left margin in points (1/72 inch)."
794 856 :type 'number
795 (defvar ps-right-margin (/ (* 72 2.0) 2.54) ; 2 cm 857 :group 'ps-print-horizontal)
796 "*Right margin in points (1/72 inch).") 858
797 859 (defcustom ps-right-margin (/ (* 72 2.0) 2.54) ; 2 cm
798 (defvar ps-inter-column (/ (* 72 2.0) 2.54) ; 2 cm 860 "*Right margin in points (1/72 inch)."
799 "*Horizontal space between columns in points (1/72 inch).") 861 :type 'number
862 :group 'ps-print-horizontal)
863
864 (defcustom ps-inter-column (/ (* 72 2.0) 2.54) ; 2 cm
865 "*Horizontal space between columns in points (1/72 inch)."
866 :type 'number
867 :group 'ps-print-horizontal)
800 868
801 ;;; Vertical layout 869 ;;; Vertical layout
802 870
803 ;; |--------| 871 ;; |--------|
804 ;; | tm | 872 ;; | tm |
810 ;; | text | 878 ;; | text |
811 ;; |--------| 879 ;; |--------|
812 ;; | bm | 880 ;; | bm |
813 ;; |--------| 881 ;; |--------|
814 882
815 (defvar ps-bottom-margin (/ (* 72 1.5) 2.54) ; 1.5 cm 883 (defcustom ps-bottom-margin (/ (* 72 1.5) 2.54) ; 1.5 cm
816 "*Bottom margin in points (1/72 inch).") 884 "*Bottom margin in points (1/72 inch)."
817 885 :type 'number
818 (defvar ps-top-margin (/ (* 72 1.5) 2.54) ; 1.5 cm 886 :group 'ps-print-vertical)
819 "*Top margin in points (1/72 inch).") 887
820 888 (defcustom ps-top-margin (/ (* 72 1.5) 2.54) ; 1.5 cm
821 (defvar ps-header-offset (/ (* 72 1.0) 2.54) ; 1.0 cm 889 "*Top margin in points (1/72 inch)."
822 "*Vertical space in points (1/72 inch) between the main text and the header.") 890 :type 'number
823 891 :group 'ps-print-vertical)
824 (defvar ps-header-line-pad 0.15 892
893 (defcustom ps-header-offset (/ (* 72 1.0) 2.54) ; 1.0 cm
894 "*Vertical space in points (1/72 inch) between the main text and the header."
895 :type 'number
896 :group 'ps-print-vertical)
897
898 (defcustom ps-header-line-pad 0.15
825 "*Portion of a header title line height to insert between the header frame 899 "*Portion of a header title line height to insert between the header frame
826 and the text it contains, both in the vertical and horizontal directions.") 900 and the text it contains, both in the vertical and horizontal directions."
901 :type 'number
902 :group 'ps-print-vertical)
827 903
828 ;;; Header setup 904 ;;; Header setup
829 905
830 (defvar ps-print-header t 906 (defcustom ps-print-header t
831 "*Non-nil means print a header at the top of each page. 907 "*Non-nil means print a header at the top of each page.
832 By default, the header displays the buffer name, page number, and, if 908 By default, the header displays the buffer name, page number, and, if
833 the buffer is visiting a file, the file's directory. Headers are 909 the buffer is visiting a file, the file's directory. Headers are
834 customizable by changing variables `ps-header-left' and 910 customizable by changing variables `ps-header-left' and
835 `ps-header-right'.") 911 `ps-header-right'."
836 912 :type 'boolean
837 (defvar ps-print-header-frame t 913 :group 'ps-print-header)
838 "*Non-nil means draw a gaudy frame around the header.") 914
839 915 (defcustom ps-print-header-frame t
840 (defvar ps-header-lines 2 916 "*Non-nil means draw a gaudy frame around the header."
841 "*Number of lines to display in page header, when generating Postscript.") 917 :type 'boolean
918 :group 'ps-print-header)
919
920 (defcustom ps-header-lines 2
921 "*Number of lines to display in page header, when generating Postscript."
922 :type 'integer
923 :group 'ps-print-header)
842 (make-variable-buffer-local 'ps-header-lines) 924 (make-variable-buffer-local 'ps-header-lines)
843 925
844 (defvar ps-show-n-of-n t 926 (defcustom ps-show-n-of-n t
845 "*Non-nil means show page numbers as N/M, meaning page N of M. 927 "*Non-nil means show page numbers as N/M, meaning page N of M.
846 Note: page numbers are displayed as part of headers, see variable 928 Note: page numbers are displayed as part of headers, see variable
847 `ps-print-headers'.") 929 `ps-print-headers'."
848 930 :type 'boolean
849 (defvar ps-spool-duplex nil ; Not many people have duplex 931 :group 'ps-print-header)
932
933 (defcustom ps-spool-duplex nil ; Not many people have duplex
850 ; printers, so default to nil. 934 ; printers, so default to nil.
851 "*Non-nil indicates spooling is for a two-sided printer. 935 "*Non-nil indicates spooling is for a two-sided printer.
852 For a duplex printer, the `ps-spool-*' commands will insert blank pages 936 For a duplex printer, the `ps-spool-*' commands will insert blank pages
853 as needed between print jobs so that the next buffer printed will 937 as needed between print jobs so that the next buffer printed will
854 start on the right page. Also, if headers are turned on, the headers 938 start on the right page. Also, if headers are turned on, the headers
855 will be reversed on duplex printers so that the page numbers fall to 939 will be reversed on duplex printers so that the page numbers fall to
856 the left on even-numbered pages.") 940 the left on even-numbered pages."
941 :type 'boolean
942 :group 'ps-print-header)
857 943
858 ;;; Fonts 944 ;;; Fonts
859 945
860 (defvar ps-font-info-database 946 (defcustom ps-font-info-database
861 '((Courier ; the family key 947 '((Courier ; the family key
862 "Courier" "Courier-Bold" "Courier-Oblique" "Courier-BoldOblique" 948 "Courier" "Courier-Bold" "Courier-Oblique" "Courier-BoldOblique"
863 10.0 10.55 6.0 6.0) 949 10.0 10.55 6.0 6.0)
864 (Helvetica ; the family key 950 (Helvetica ; the family key
865 "Helvetica" "Helvetica-Bold" "Helvetica-Oblique" "Helvetica-BoldOblique" 951 "Helvetica" "Helvetica-Bold" "Helvetica-Oblique" "Helvetica-BoldOblique"
916 comment character) from the line 1002 comment character) from the line
917 `% 3 cm 20 cm moveto 10 /Courier ReportFontInfo showpage' 1003 `% 3 cm 20 cm moveto 10 /Courier ReportFontInfo showpage'
918 to get the line 1004 to get the line
919 `3 cm 20 cm moveto 10 /Helvetica ReportFontInfo showpage' 1005 `3 cm 20 cm moveto 10 /Helvetica ReportFontInfo showpage'
920 - add the values to `ps-font-info-database'. 1006 - add the values to `ps-font-info-database'.
921 You can get all the fonts of YOUR printer using `ReportAllFontInfo'.") 1007 You can get all the fonts of YOUR printer using `ReportAllFontInfo'."
922 1008 :type '(repeat (list :tag "Font Definition"
923 (defvar ps-font-family 'Courier 1009 (symbol :tag "Font")
924 "Font family name for ordinary text, when generating Postscript.") 1010 (string :tag "Name")
925 1011 (string :tag "Bold")
926 (defvar ps-font-size (if ps-landscape-mode 7 8.5) 1012 (string :tag "Italic")
927 "Font size, in points, for ordinary text, when generating Postscript.") 1013 (string :tag "Bold-Italic")
928 1014 (number :tag "Reference Size")
929 (defvar ps-header-font-family 'Helvetica 1015 (number :tag "Line Height")
930 "Font family name for text in the header, when generating Postscript.") 1016 (number :tag "Space Width")
931 1017 (number :tag "Average Character Width")))
932 (defvar ps-header-font-size (if ps-landscape-mode 10 12) 1018 :group 'ps-print-font)
933 "Font size, in points, for text in the header, when generating Postscript.") 1019
934 1020 (defcustom ps-font-family 'Courier
935 (defvar ps-header-title-font-size (if ps-landscape-mode 12 14) 1021 "Font family name for ordinary text, when generating Postscript."
1022 :type 'symbol
1023 :group 'ps-print-font)
1024
1025 (defcustom ps-font-size (if ps-landscape-mode 7 8.5)
1026 "Font size, in points, for ordinary text, when generating Postscript."
1027 :type 'number
1028 :group 'ps-print-font)
1029
1030 (defcustom ps-header-font-family 'Helvetica
1031 "Font family name for text in the header, when generating Postscript."
1032 :type 'symbol
1033 :group 'ps-print-font)
1034
1035 (defcustom ps-header-font-size (if ps-landscape-mode 10 12)
1036 "Font size, in points, for text in the header, when generating Postscript."
1037 :type 'number
1038 :group 'ps-print-font)
1039
1040 (defcustom ps-header-title-font-size (if ps-landscape-mode 12 14)
936 "Font size, in points, for the top line of text in the header, 1041 "Font size, in points, for the top line of text in the header,
937 when generating Postscript.") 1042 when generating Postscript."
1043 :type 'number
1044 :group 'ps-print-font)
938 1045
939 ;;; Colors 1046 ;;; Colors
940 1047
941 ;;;###autoload 1048 ;;;###autoload
942 ;;; The 19.33 fsf version includes a test on pixel components instead 1049 ;;; The 19.33 fsf version includes a test on pixel components instead
943 ;;; of color-instance-rgb-components 1050 ;;; of color-instance-rgb-components
944 (defvar ps-print-color-p (or (fboundp 'x-color-values) ; fsf 1051 (defcustom ps-print-color-p (or (fboundp 'x-color-values) ; fsf
945 (fboundp 'color-instance-rgb-components)) 1052 (fboundp 'color-instance-rgb-components))
946 ; xemacs 1053 ; xemacs
947 ; Printing color requires x-color-values. 1054 ; Printing color requires x-color-values.
948 "*If non-nil, print the buffer's text in color.") 1055 "*If non-nil, print the buffer's text in color."
949 1056 :type 'boolean
950 (defvar ps-default-fg '(0.0 0.0 0.0) 1057 :group 'ps-print-color)
951 "*RGB values of the default foreground color. Defaults to black.") 1058
952 1059 (defcustom ps-default-fg '(0.0 0.0 0.0)
953 (defvar ps-default-bg '(1.0 1.0 1.0) 1060 "*RGB values of the default foreground color. Defaults to black."
954 "*RGB values of the default background color. Defaults to white.") 1061 :type '(list (number :tag "Red") (number :tag "Green") (number :tag "Blue"))
955 1062 :group 'ps-print-color)
956 (defvar ps-auto-font-detect t 1063
1064 (defcustom ps-default-bg '(1.0 1.0 1.0)
1065 "*RGB values of the default background color. Defaults to white."
1066 :type '(list (number :tag "Red") (number :tag "Green") (number :tag "Blue"))
1067 :group 'ps-print-color)
1068
1069 (defcustom ps-auto-font-detect t
957 "*Non-nil means automatically detect bold/italic face attributes. 1070 "*Non-nil means automatically detect bold/italic face attributes.
958 nil means rely solely on the lists `ps-bold-faces', `ps-italic-faces', 1071 nil means rely solely on the lists `ps-bold-faces', `ps-italic-faces',
959 and `ps-underlined-faces'.") 1072 and `ps-underlined-faces'."
960 1073 :type 'boolean
961 (defvar ps-bold-faces 1074 :group 'ps-print-font)
1075
1076 (defcustom ps-bold-faces
962 (unless ps-print-color-p 1077 (unless ps-print-color-p
963 '(font-lock-function-name-face 1078 '(font-lock-function-name-face
964 font-lock-builtin-face 1079 font-lock-builtin-face
965 font-lock-variable-name-face 1080 font-lock-variable-name-face
966 font-lock-keyword-face 1081 font-lock-keyword-face
967 font-lock-warning-face)) 1082 font-lock-warning-face))
968 "*A list of the \(non-bold\) faces that should be printed in bold font. 1083 "*A list of the \(non-bold\) faces that should be printed in bold font.
969 This applies to generating Postscript.") 1084 This applies to generating Postscript."
970 1085 :type '(repeat face)
971 (defvar ps-italic-faces 1086 :group 'ps-print-face)
1087
1088 (defcustom ps-italic-faces
972 (unless ps-print-color-p 1089 (unless ps-print-color-p
973 '(font-lock-variable-name-face 1090 '(font-lock-variable-name-face
974 font-lock-string-face 1091 font-lock-string-face
975 font-lock-comment-face 1092 font-lock-comment-face
976 font-lock-warning-face)) 1093 font-lock-warning-face))
977 "*A list of the \(non-italic\) faces that should be printed in italic font. 1094 "*A list of the \(non-italic\) faces that should be printed in italic font.
978 This applies to generating Postscript.") 1095 This applies to generating Postscript."
979 1096 :type '(repeat face)
980 (defvar ps-underlined-faces 1097 :group 'ps-print-face)
1098
1099 (defcustom ps-underlined-faces
981 (unless ps-print-color-p 1100 (unless ps-print-color-p
982 '(font-lock-function-name-face 1101 '(font-lock-function-name-face
983 font-lock-type-face 1102 font-lock-type-face
984 font-lock-reference-face 1103 font-lock-reference-face
985 font-lock-warning-face)) 1104 font-lock-warning-face))
986 "*A list of the \(non-underlined\) faces that should be printed underlined. 1105 "*A list of the \(non-underlined\) faces that should be printed underlined.
987 This applies to generating Postscript.") 1106 This applies to generating Postscript."
988 1107 :type '(repeat face)
989 (defvar ps-left-header 1108 :group 'ps-print-face)
1109
1110 (defcustom ps-left-header
990 (list 'ps-get-buffer-name 'ps-header-dirpart) 1111 (list 'ps-get-buffer-name 'ps-header-dirpart)
991 "*The items to display (each on a line) on the left part of the page header. 1112 "*The items to display (each on a line) on the left part of the page header.
992 This applies to generating Postscript. 1113 This applies to generating Postscript.
993 1114
994 The value should be a list of strings and symbols, each representing an 1115 The value should be a list of strings and symbols, each representing an
1000 1121
1001 For symbols with bound functions, the function is called and should 1122 For symbols with bound functions, the function is called and should
1002 return a string to be inserted into the array. For symbols with bound 1123 return a string to be inserted into the array. For symbols with bound
1003 values, the value should be a string to be inserted into the array. 1124 values, the value should be a string to be inserted into the array.
1004 In either case, function or variable, the string value has PostScript 1125 In either case, function or variable, the string value has PostScript
1005 string delimiters added to it.") 1126 string delimiters added to it."
1127 :type '(repeat (choice string symbol))
1128 :group ps-print-header)
1006 (make-variable-buffer-local 'ps-left-header) 1129 (make-variable-buffer-local 'ps-left-header)
1007 1130
1008 (defvar ps-right-header 1131 (defcustom ps-right-header
1009 (list "/pagenumberstring load" 'time-stamp-mon-dd-yyyy 'time-stamp-hh:mm:ss) 1132 (list "/pagenumberstring load" 'time-stamp-mon-dd-yyyy 'time-stamp-hh:mm:ss)
1010 "*The items to display (each on a line) on the right part of the page header. 1133 "*The items to display (each on a line) on the right part of the page header.
1011 This applies to generating Postscript. 1134 This applies to generating Postscript.
1012 1135
1013 See the variable `ps-left-header' for a description of the format of 1136 See the variable `ps-left-header' for a description of the format of
1014 this variable.") 1137 this variable."
1138 :type '(repeat (choice string symbol))
1139 :group ps-print-header)
1015 (make-variable-buffer-local 'ps-right-header) 1140 (make-variable-buffer-local 'ps-right-header)
1016 1141
1017 (defvar ps-razzle-dazzle t 1142 (defcustom ps-razzle-dazzle t
1018 "*Non-nil means report progress while formatting buffer.") 1143 "*Non-nil means report progress while formatting buffer."
1144 :type 'boolean
1145 :group 'ps-print)
1019 1146
1020 (defvar ps-adobe-tag "%!PS-Adobe-3.0\n" 1147 (defvar ps-adobe-tag "%!PS-Adobe-3.0\n"
1021 "*Contains the header line identifying the output as PostScript. 1148 "*Contains the header line identifying the output as PostScript.
1022 By default, `ps-adobe-tag' contains the standard identifier. Some 1149 By default, `ps-adobe-tag' contains the standard identifier. Some
1023 printers require slightly different versions of this line.") 1150 printers require slightly different versions of this line.")
1024 1151
1025 (defvar ps-build-face-reference t 1152 (defcustom ps-build-face-reference t
1026 "*Non-nil means build the reference face lists. 1153 "*Non-nil means build the reference face lists.
1027 1154
1028 Ps-print sets this value to nil after it builds its internal reference 1155 Ps-print sets this value to nil after it builds its internal reference
1029 lists of bold and italic faces. By settings its value back to t, you 1156 lists of bold and italic faces. By settings its value back to t, you
1030 can force ps-print to rebuild the lists the next time you invoke one 1157 can force ps-print to rebuild the lists the next time you invoke one
1031 of the ...-with-faces commands. 1158 of the ...-with-faces commands.
1032 1159
1033 You should set this value back to t after you change the attributes of 1160 You should set this value back to t after you change the attributes of
1034 any face, or create new faces. Most users shouldn't have to worry 1161 any face, or create new faces. Most users shouldn't have to worry
1035 about its setting, though.") 1162 about its setting, though."
1036 1163 :type 'boolean
1037 (defvar ps-always-build-face-reference nil 1164 :group 'ps-print-face)
1165
1166 (defcustom ps-always-build-face-reference nil
1038 "*Non-nil means always rebuild the reference face lists. 1167 "*Non-nil means always rebuild the reference face lists.
1039 1168
1040 If this variable is non-nil, ps-print will rebuild its internal 1169 If this variable is non-nil, ps-print will rebuild its internal
1041 reference lists of bold and italic faces *every* time one of the 1170 reference lists of bold and italic faces *every* time one of the
1042 -with-faces commands is called. Most users shouldn't need to set this 1171 -with-faces commands is called. Most users shouldn't need to set this
1043 variable.") 1172 variable."
1173 :type 'boolean
1174 :group 'ps-print-face)
1044 1175
1045 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1176 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1046 ;; User commands 1177 ;; User commands
1047 1178
1048 ;;;###autoload 1179 ;;;###autoload