Function: compose-chars

compose-chars is a byte-compiled function defined in composite.el.gz.

Signature

(compose-chars &rest ARGS)

Documentation

Return a string from arguments in which all characters are composed.

For relative composition, arguments are characters. For rule-based composition, Mth (where M is odd) arguments are characters, and Nth (where N is even) arguments are composition rules. A composition rule is a cons of glyph reference points of the form
(GLOBAL-REF-POINT . NEW-REF-POINT). See the documentation of
reference-point-alist for more detail.

Source Code

;; Defined in /usr/src/emacs/lisp/composite.el.gz
(defun compose-chars (&rest args)
  "Return a string from arguments in which all characters are composed.
For relative composition, arguments are characters.
For rule-based composition, Mth (where M is odd) arguments are
characters, and Nth (where N is even) arguments are composition rules.
A composition rule is a cons of glyph reference points of the form
\(GLOBAL-REF-POINT . NEW-REF-POINT).  See the documentation of
`reference-point-alist' for more detail."
  (let (str components)
    (if (consp (car (cdr args)))
	;; Rule-base composition.
	(let ((tail (encode-composition-components args 'nocopy)))
	  (while tail
	    (setq str (cons (car tail) str))
	    (setq tail (nthcdr 2 tail)))
	  (setq str (concat (nreverse str))
		components args))
      ;; Relative composition.
      (setq str (concat args)))
    (compose-string-internal str 0 (length str) components)))