Function: ps-mule-end-job

ps-mule-end-job is an autoloaded and byte-compiled function defined in ps-mule.el.gz.

Signature

(ps-mule-end-job)

Documentation

Finish printing job for multi-byte chars.

Source Code

;; Defined in /usr/src/emacs/lisp/ps-mule.el.gz
;;;###autoload
(defun ps-mule-end-job ()
  "Finish printing job for multi-byte chars."

  ;; Prepare root and sub fonts while generating glyphs if necessary.
  (let ((output-head (list t))
	(ps-mule-output-list (list t)))
    (dotimes (i 4)
      (map-char-table #'ps-mule-prepare-glyph
		      (aref ps-mule-font-spec-tables i)))
    (ps-mule-restruct-output-list (cdr ps-mule-output-list) output-head)
    (ps-output-prologue (cdr output-head)))

  ;; Prepare top Encoding and templates of FDepVector.
  (dotimes (i 4)
    (let ((font-spec-alist (char-table-extra-slot
			    (aref ps-mule-font-spec-tables i) 0))
	  font-list font-spec)
      (dolist (elt font-spec-alist)
	(setq font-spec (cdr elt))
	(if (ps-mule-font-spec-extra font-spec)
	    (push (cons (ps-mule-font-spec-font-id font-spec)
			(ps-mule-font-spec-id font-spec))
		  font-list)))
      (setq font-list (nreverse font-list))
      (ps-output-prologue
       (list (format "/ETOP%d 256 array def\n" i)
	     (format "0 1 255 { ETOP%d exch 0 put } for\n" i)))
      (let ((index 0))
	(dolist (font font-list)
	  (ps-output-prologue (format "ETOP%d %d %d put\n" i (car font) index))
	  (setq index (1+ index))))
      (ps-output-prologue (format "/VTOP%d [%s] def\n" i
				  (mapconcat #'(lambda (x)
						 (format "F%02X" (cdr x)))
					     font-list " ")))))

  ;; Redefine fonts f0, f1, f2, f3, h0, h1, H0.
  (ps-mule-redefine-font 4 "h0" ps-header-title-font-size-internal
			 (ps-font 'ps-font-for-header 'bold))
  (ps-mule-redefine-font 5 "h1" ps-header-font-size-internal
			 (ps-font 'ps-font-for-header 'normal))
  (ps-mule-redefine-font 6 "H0" ps-footer-font-size-internal
			 (ps-font 'ps-font-for-footer 'normal))
  (let ((font (ps-font-alist 'ps-font-for-text))
	(i 0))
    (while font
      (ps-mule-redefine-font i (format "f%d" i)
			     ps-font-size-internal
			     (ps-font 'ps-font-for-text (car (car font))))
      (setq font (cdr font)
	    i (1+ i)))))