Function: ps-mule-plot-composition
ps-mule-plot-composition is a byte-compiled function defined in
ps-mule.el.gz.
Signature
(ps-mule-plot-composition COMPOSITION FONT-SPEC-TABLE)
Documentation
Generate PostScript code for plotting COMPOSITION with FONT-SPEC-TABLE.
Source Code
;; Defined in /usr/src/emacs/lisp/ps-mule.el.gz
(defun ps-mule-plot-composition (composition font-spec-table)
"Generate PostScript code for plotting COMPOSITION with FONT-SPEC-TABLE."
(ps-output "[")
(let ((components (copy-sequence (nth 2 composition)))
(font-spec nil))
(dotimes (i (length components))
(let ((elt (aref components i))
this-spec)
(if (consp elt)
;; ELT is a composition rule.
(ps-output (format " %d" (encode-composition-rule elt)))
;; ELT is a glyph character.
(setq this-spec
(ps-mule-get-font-spec elt font-spec-table font-spec))
(or (vectorp this-spec)
;; Can't print CHAR. Replace it with '?'.
(setq elt ??
this-spec
(ps-mule-get-font-spec elt font-spec-table font-spec)))
(setq font-spec this-spec)
(let* ((bytes (ps-mule-font-spec-bytes font-spec))
(code (ps-mule-encode-char elt font-spec))
(font-id (ps-mule-font-spec-font-id font-spec))
(str (make-string (if (= font-id 0) 1 (+ 2 bytes)) 0)))
(if (= font-id 0)
(aset str 0 code)
(aset str 0 ps-mule-esc-char)
(aset str 1 font-id)
(if (= bytes 1)
(aset str 2 code)
(aset str 2 (/ code 256))
(aset str 3 (% code 256))))
(ps-output "[")
(ps-output-string str)
(ps-output (if (eq (ps-mule-font-spec-src font-spec) 'bdf)
(format "/C%02X-%X" (ps-mule-font-spec-id font-spec)
elt)
"false"))
(ps-output "]"))))))
(ps-output " ] " (if (nth 3 composition) "RLC" "RBC") "\n"))