Function: ucs-normalize-primary-composite
ucs-normalize-primary-composite is a byte-compiled function defined in
ucs-normalize.el.gz.
Signature
(ucs-normalize-primary-composite DECOMPOSITION-PAIR COMPOSITION-PREDICATE)
Documentation
Convert DECOMPOSITION-PAIR to primary composite using COMPOSITION-PREDICATE.
Source Code
;; Defined in /usr/src/emacs/lisp/international/ucs-normalize.el.gz
(defun ucs-normalize-primary-composite (decomposition-pair composition-predicate)
"Convert DECOMPOSITION-PAIR to primary composite using COMPOSITION-PREDICATE."
(let ((char (or (gethash decomposition-pair
ucs-normalize-decomposition-pair-to-primary-composite)
(and (<= #x1100 (car decomposition-pair))
(< (car decomposition-pair) #x1113)
(<= #x1161 (cadr decomposition-pair))
(< (car decomposition-pair) #x1176)
(let ((lindex (- (car decomposition-pair) #x1100))
(vindex (- (cadr decomposition-pair) #x1161)))
(+ #xAC00 (* (+ (* lindex 21) vindex) 28))))
(and (<= #xac00 (car decomposition-pair))
(< (car decomposition-pair) #xd7a4)
(<= #x11a7 (cadr decomposition-pair))
(< (cadr decomposition-pair) #x11c3)
(= 0 (% (- (car decomposition-pair) #xac00) 28))
(let ((tindex (- (cadr decomposition-pair) #x11a7)))
(+ (car decomposition-pair) tindex))))))
(if (and char
(functionp composition-predicate)
(null (funcall composition-predicate char)))
nil char)))