;; with previous character, then the beginning of the block is
;; the searched character. If searched character is combining
;; character, then previous character will be the target
-;; character
-;; (2) end of the block
+;; character
+;; (2) end of the block
;; Block ends at non-composable starter character.
;;
;; C. Decomposition (`ucs-normalize-block')
(eval-when-compile (require 'cl))
+(declare-function nfd "ucs-normalize" (char))
+
(eval-when-compile
(defconst ucs-normalize-composition-exclusions
(eval-when-compile
- (defvar combining-chars nil)
+ (defvar combining-chars nil)
(setq combining-chars nil)
(defvar decomposition-pair-to-composition nil)
(setq decomposition-pair-to-composition nil)
check-range))
(setq combining-chars
- (append combining-chars
+ (append combining-chars
'(?ᅡ ?ᅢ ?ᅣ ?ᅤ ?ᅥ ?ᅦ ?ᅧ ?ᅨ ?ᅩ ?ᅪ
- ?ᅫ ?ᅬ ?ᅭ ?ᅮ ?ᅯ ?ᅰ ?ᅱ ?ᅲ ?ᅳ ?ᅴ ?ᅵ
+ ?ᅫ ?ᅬ ?ᅭ ?ᅮ ?ᅯ ?ᅰ ?ᅱ ?ᅲ ?ᅳ ?ᅴ ?ᅵ
?ᆨ ?ᆩ ?ᆪ ?ᆫ ?ᆬ ?ᆭ ?ᆮ ?ᆯ ?ᆰ ?ᆱ ?ᆲ ?ᆳ ?ᆴ
?ᆵ ?ᆶ ?ᆷ ?ᆸ ?ᆹ ?ᆺ ?ᆻ ?ᆼ ?ᆽ ?ᆾ ?ᆿ ?ᇀ ?ᇁ ?ᇂ)))
)
(setq ucs-normalize-combining-chars-regexp
(eval-when-compile (concat (regexp-opt (mapcar 'char-to-string combining-chars)) "+")))
+(declare-function decomposition-translation-alist "ucs-normalize"
+ (decomposition-function))
+(declare-function decomposition-char-recursively "ucs-normalize"
+ (char decomposition-function))
+(declare-function alist-list-to-vector "ucs-normalize" (alist))
+
(eval-when-compile
(defun decomposition-translation-alist (decomposition-function)
(if decomposition
(setq alist (cons (cons char
(apply 'append
- (mapcar (lambda (x)
+ (mapcar (lambda (x)
(decomposition-char-recursively
x decomposition-function))
decomposition)))
(let ((decomposition (funcall decomposition-function char)))
(if decomposition
(apply 'append
- (mapcar (lambda (x)
+ (mapcar (lambda (x)
(decomposition-char-recursively x decomposition-function))
decomposition))
(list char))))
(setq ucs-normalize-hangul-translation-alist
(let ((i 0) entries)
(while (< i 11172)
- (setq entries
- (cons (cons (+ #xac00 i)
+ (setq entries
+ (cons (cons (+ #xac00 i)
(if (= 0 (% i 28))
(vector (+ #x1100 (/ i 588))
(+ #x1161 (/ (% i 588) 28)))
i (1+ i))) entries))
(defun ucs-normalize-make-translation-table-from-alist (alist)
- (make-translation-table-from-alist
+ (make-translation-table-from-alist
(append alist ucs-normalize-hangul-translation-alist)))
(define-translation-table 'ucs-normalize-nfd-table
chars)))
)
+(declare-function quick-check-list "ucs-normalize"
+ (decomposition-translation &optional composition-predicate))
+(declare-function quick-check-list-to-regexp "ucs-normalize" (quick-check-list))
+
(eval-when-compile
(defun quick-check-list (decomposition-translation
(do ((i (car start-end) (+ i 1))) ((> i (cdr start-end)))
(setq decomposition
(string-to-list
- (with-temp-buffer
+ (with-temp-buffer
(insert i)
(translate-region 1 2 decomposition-translation)
(buffer-string))))