Function: ps-begin-job
ps-begin-job is a byte-compiled function defined in ps-print.el.gz.
Signature
(ps-begin-job GENFUNC)
Source Code
;; Defined in /usr/src/emacs/lisp/ps-print.el.gz
(defun ps-begin-job (genfunc)
;; prologue files
(or (equal ps-mark-code-directory ps-postscript-code-directory)
(setq ps-print-prologue-0 (ps-prologue-file 0)
ps-print-prologue-1 (ps-prologue-file 1)
ps-mark-code-directory ps-postscript-code-directory))
;; selected pages
(let (new page)
(while ps-selected-pages
(setq page (car ps-selected-pages)
ps-selected-pages (cdr ps-selected-pages))
(cond ((integerp page)
(and (> page 0)
(setq new (cons (cons page page) new))))
((consp page)
(and (integerp (car page)) (integerp (cdr page))
(> (car page) 0)
(<= (car page) (cdr page))
(setq new (cons page new))))))
(setq ps-selected-pages (sort new #'(lambda (one other)
(< (car one) (car other))))
ps-last-selected-pages ps-selected-pages
ps-first-page nil
ps-last-page nil))
;; face background
(or (listp ps-use-face-background)
(setq ps-use-face-background t))
;; line number
(and (integerp ps-line-number-step)
(<= ps-line-number-step 0)
(setq ps-line-number-step 1))
(setq ps-n-up-on (> ps-n-up-printing 1)
ps-line-number-start (max 1 (min ps-line-number-start
(if (integerp ps-line-number-step)
ps-line-number-step
ps-zebra-stripe-height))))
;; spooling buffer
(with-current-buffer ps-spool-buffer
(goto-char (point-max))
(and (re-search-backward "^%%Trailer$" nil t)
(delete-region (match-beginning 0) (point-max))))
;; miscellaneous
(setq ps-zebra-stripe-full-p (memq ps-zebra-stripe-follow
'(full full-follow))
ps-page-postscript 0
ps-page-sheet 0
ps-page-n-up 0
ps-page-column 0
ps-lines-printed 0
ps-print-page-p t
ps-showline-count (car ps-printing-region)
ps-line-spacing-internal (ps-get-size ps-line-spacing
"line spacing")
ps-paragraph-spacing-internal (ps-get-size ps-paragraph-spacing
"paragraph spacing")
ps-font-size-internal (ps-get-font-size 'ps-font-size)
ps-header-font-size-internal (ps-get-font-size 'ps-header-font-size)
ps-header-title-font-size-internal
(ps-get-font-size 'ps-header-title-font-size)
ps-footer-font-size-internal (ps-get-font-size 'ps-footer-font-size)
ps-control-or-escape-regexp
(cond ((eq ps-print-control-characters '8-bit)
"[\000-\037\177-\377]")
((eq ps-print-control-characters 'control-8-bit)
"[\000-\037\177-\237]")
((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 (color-values "white")))
1.0)
ps-default-background (ps-rgb-color
(cond
((or (member ps-print-color-p
'(nil black-white))
(eq genfunc 'ps-generate-postscript))
nil)
((eq ps-default-bg 'frame-parameter)
(frame-parameter nil 'background-color))
((eq ps-default-bg t)
(ps-face-background-name 'default))
(t
ps-default-bg))
"unspecified-bg"
1.0)
ps-default-foreground (ps-rgb-color
(cond
((or (member ps-print-color-p
'(nil black-white))
(eq genfunc 'ps-generate-postscript))
nil)
((eq ps-default-fg 'frame-parameter)
(frame-parameter nil 'foreground-color))
((eq ps-default-fg t)
(ps-face-foreground-name 'default))
(t
ps-default-fg))
"unspecified-fg"
0.0)
ps-foreground-list (mapcar
#'(lambda (arg)
(ps-rgb-color arg "unspecified-fg" 0.0))
(append (and (not (member ps-print-color-p
'(nil black-white)))
ps-fg-list)
(list ps-default-foreground
"black")))
ps-default-color (and (not (member ps-print-color-p
'(nil black-white)))
ps-default-foreground)
ps-current-color ps-default-color
;; Set up default functions.
;; They may be overridden by ps-mule-begin-job.
ps-basic-plot-string-function 'ps-basic-plot-string
ps-encode-header-string-function nil)
(cl-assert (not (multibyte-string-p ps-control-or-escape-regexp)))
;; initialize page dimensions
(ps-get-page-dimensions)
;; final check
(unless (listp ps-lpr-switches)
(error "`ps-lpr-switches' value should be a list"))
(and ps-color-p
(equal ps-default-background ps-default-foreground)
(error
(concat
"`ps-default-fg' and `ps-default-bg' have the same color.\n"
"Text won't appear on page. Please, check these variables."))))