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)))