(let (char-spec ret al cal key)
(cond ((characterp char)
(cond ((setq ret (get-char-attribute char 'ucs))
- (setq char-spec (list (cons 'ucs ret)))
+ (unless (and (<= #xE000 ret)(<= ret #xF8FF))
+ (setq char-spec (list (cons 'ucs ret))))
+ (if (setq ret (get-char-attribute char 'chinese-big5-cdp))
+ (setq char-spec (cons (cons 'chinese-big5-cdp ret)
+ char-spec)))
(if (setq ret (get-char-attribute char 'name))
(setq char-spec (cons (cons 'name ret) char-spec)))
)
(setq char nil)))
(if (or char
(setq char (condition-case nil
- (define-char char-spec)
+ (find-char char-spec)
(error nil))))
(progn
(setq al nil
(cond ((eq name 'char)
(insert "(char . ")
(if (setq ret (condition-case nil
- (define-char value)
+ (find-char value)
(error nil)))
(progn
(setq al nil
(if (and (consp cell)
(consp (car cell))
(setq ret (condition-case nil
- (define-char cell)
+ (find-char cell)
(error nil)))
)
(progn
(setq alist (cdr alist))))
(insert ")"))
-(defun char-db-insert-char-map (plist &optional readable column)
+(defun char-db-insert-char-reference (plist &optional readable column)
(unless column
(setq column (current-column)))
(let ((line-breaking
(setq value (pop plist))
(cond ((eq name :char)
(insert ":char\t")
+ (if (numberp value)
+ (setq value (decode-char 'ucs value)))
(char-db-insert-char-spec value readable)
(insert line-breaking))
(t
(defun char-db-decode-isolated-char (ccs code-point)
(let (ret)
(setq ret
- (if (and (memq ccs '(ideograph-gt-pj-1
- ideograph-gt-pj-2
- ideograph-gt-pj-3
- ideograph-gt-pj-4
- ideograph-gt-pj-5
- ideograph-gt-pj-6
- ideograph-gt-pj-7
- ideograph-gt-pj-8
- ideograph-gt-pj-9
- ideograph-gt-pj-10
- ideograph-gt-pj-11))
- (setq ret (decode-char ccs code-point))
- (setq ret (get-char-attribute ret 'ideograph-gt)))
- (decode-builtin-char 'ideograph-gt ret)
- (decode-builtin-char ccs code-point)))
+ (cond ((eq ccs 'arabic-iso8859-6)
+ (decode-char ccs code-point))
+ ((and (memq ccs '(ideograph-gt-pj-1
+ ideograph-gt-pj-2
+ ideograph-gt-pj-3
+ ideograph-gt-pj-4
+ ideograph-gt-pj-5
+ ideograph-gt-pj-6
+ ideograph-gt-pj-7
+ ideograph-gt-pj-8
+ ideograph-gt-pj-9
+ ideograph-gt-pj-10
+ ideograph-gt-pj-11))
+ (setq ret (decode-char ccs code-point))
+ (setq ret (get-char-attribute ret 'ideograph-gt)))
+ (decode-builtin-char 'ideograph-gt ret))
+ (t
+ (decode-builtin-char ccs code-point))))
(cond ((and (<= 0 (char-int ret))
(<= (char-int ret) #x1F))
(decode-char 'ucs (+ #x2400 (char-int ret))))
(when (and (memq 'name attributes)
(setq value (get-char-attribute char 'name)))
(insert (format
- (if (> (length value) 47)
+ (if (> (+ (current-column) (length value)) 48)
"(name . %S)%s"
"(name . %S)%s")
value line-breaking))
->fullwidth <-fullwidth
->vulgar-ideograph <-vulgar-ideograph
->ancient-ideograph <-ancient-ideograph
+ ->original-ideograph <-original-ideograph
->simplified-ideograph <-simplified-ideograph
+ ->wrong-ideograph <-wrong-ideograph
->same-ideograph
- ->bopomofo))
+ ->ideographic-variants
+ ->synonyms
+ ->radical <-radical
+ ->bopomofo <-bopomofo
+ ->ideographic <-ideographic
+ ideographic-structure))
(insert (format "(%-18s%s " name line-breaking))
(setq lbs (concat "\n" (make-string (current-column) ?\ ))
separator nil)
(insert lbs))
(if (consp (car cell))
(char-db-insert-char-spec cell readable)
- (char-db-insert-char-map cell readable))
+ (char-db-insert-char-reference cell readable))
(setq separator lbs))
(t
(if separator
(if (and (consp cell)
(consp (car cell))
(setq ret (condition-case nil
- (define-char cell)
+ (find-char cell)
(error nil))))
(progn
(setq rest cell
(if ucs
(delete char (char-variants (int-char ucs)))))))
variant vs)
+ (setq variants (sort variants #'<))
(while variants
(setq variant (car variants))
(if (and (or (null script)