(defvar char-db-feature-domains
'(ucs daikanwa cns gt jis jis/alt jis/a jis/b
- jis-x0213 cdp shinjigen misc unknown))
+ jis-x0212 jis-x0213 cdp shinjigen misc unknown))
(defvar char-db-ignored-attributes nil)
=big5
=big5-eten
=gt-k
+ =jis-x0208@1997
=jef-china3))
(defun char-db-make-char-spec (char)
(if (and (or (charset-iso-final-char ccs)
(memq ccs
'(=daikanwa
- =daikanwa-rev2
+ =daikanwa@rev2
;; =gt-k
)))
(setq ret (encode-char char ccs 'defined-only)))
(insert
(format
(cond ((memq name '(=daikanwa
- =daikanwa-rev1 =daikanwa-rev2
+ =daikanwa@rev1 =daikanwa@rev2
=gt =gt-k =cbeta))
"(%-18s . %05d)\t; %c")
((eq name 'mojikyo)
line-breaking))
(setq attributes (delq name attributes))
))
- ;; (dolist (name '(=>ucs-gb =>ucs-cns =>ucs-jis =>ucs-ks =>ucs-big5))
- ;; (when (and (memq name attributes)
- ;; (setq value (get-char-attribute char name)))
- ;; (insert (format "(%-18s . #x%04X)\t; %c%s"
- ;; (intern
- ;; (concat "=>ucs@"
- ;; (substring (symbol-name name) 6)))
- ;; value
- ;; (decode-char (intern
- ;; (concat "=ucs@"
- ;; (substring
- ;; (symbol-name name) 6)))
- ;; value)
- ;; line-breaking))
- ;; (setq attributes (delq name attributes))))
- ;; (when (and (memq '->ucs attributes)
- ;; (setq value (get-char-attribute char '->ucs)))
- ;; (insert (format (if char-db-convert-obsolete-format
- ;; "(=>ucs\t\t. #x%04X)\t; %c%s"
- ;; "(->ucs\t\t. #x%04X)\t; %c%s")
- ;; value (decode-char '=ucs value)
- ;; line-breaking))
- ;; (setq attributes (delq '->ucs attributes))
- ;; )
(dolist (name '(=>daikanwa))
(when (and (memq name attributes)
(setq value (get-char-attribute char name)))
(unless readable
(dolist (ignored '(composition
->denotational <-subsumptive ->ucs-unified
- ->ideographic-component-forms
- <-same))
+ ->ideographic-component-forms))
(setq attributes (delq ignored attributes))))
- ;; (setq rest ccs-attributes)
- ;; (while (and rest
- ;; (progn
- ;; (setq value (get-char-attribute char (car rest)))
- ;; (if value
- ;; (if (>= (length (symbol-name (car rest))) 19)
- ;; (progn
- ;; (setq has-long-ccs-name t)
- ;; nil)
- ;; t)
- ;; t)))
- ;; (setq rest (cdr rest)))
(while attributes
(setq name (car attributes))
(if (setq value (get-char-attribute char name))
(prog1
(setq value (get-char-attribute char name))
(setq dest-ccss (cons name dest-ccss))))
- (char-db-insert-ccs-feature name value line-breaking)
- ;; (insert
- ;; (format
- ;; (cond ((memq name '(=daikanwa
- ;; =daikanwa-rev1 =daikanwa-rev2
- ;; =gt =gt-k =cbeta))
- ;; (if has-long-ccs-name
- ;; "(%-26s . %05d)\t; %c%s"
- ;; "(%-18s . %05d)\t; %c%s"))
- ;; ((eq name 'mojikyo)
- ;; (if has-long-ccs-name
- ;; "(%-26s . %06d)\t; %c%s"
- ;; "(%-18s . %06d)\t; %c%s"))
- ;; ((>= (charset-dimension name) 2)
- ;; (if has-long-ccs-name
- ;; "(%-26s . #x%04X)\t; %c%s"
- ;; "(%-18s . #x%04X)\t; %c%s"))
- ;; (t
- ;; (if has-long-ccs-name
- ;; "(%-26s . #x%02X)\t; %c%s"
- ;; "(%-18s . #x%02X)\t; %c%s")))
- ;; name
- ;; (if (= (charset-iso-graphic-plane name) 1)
- ;; (logior value
- ;; (cond ((= (charset-dimension name) 1)
- ;; #x80)
- ;; ((= (charset-dimension name) 2)
- ;; #x8080)
- ;; ((= (charset-dimension name) 3)
- ;; #x808080)
- ;; (t 0)))
- ;; value)
- ;; (char-db-decode-isolated-char name value)
- ;; line-breaking))
- )
+ (char-db-insert-ccs-feature name value line-breaking))
)
((string-match "^=>ucs@" (symbol-name name))
(insert (format "(%-18s . #x%04X)\t; %c%s"
(intern (format "%s*sources" name))))
(not (string-match "\\*sources$" (symbol-name name)))
(or (eq name '<-identical)
+ (string-match "^->halfwidth" (symbol-name name))
(string-match "^->simplified" (symbol-name name))
- (string-match "^<-same" (symbol-name name))
(string-match "^->vulgar" (symbol-name name))
(string-match "^->wrong" (symbol-name name))
+ (string-match "^->same" (symbol-name name))
+ (string-match "^->original" (symbol-name name))
+ (string-match "^->ancient" (symbol-name name))
))
)
((or (eq name 'ideographic-structure)
(setq required-features
(union required-features
'(=jis-x0208
- =jis-x0208-1990
+ =jis-x0208@1990
=jis-x0213-1-2000
=jis-x0213-2-2000
=jis-x0212
- =jis-x0208-1983
- =jis-x0208-1978))))
+ =jis-x0208@1983
+ =jis-x0208@1978))))
((eq source 'CN)
(setq required-features
(union required-features
(setq required-features
(union required-features
'(=jis-x0208
- =jis-x0208-1990
+ =jis-x0208@1990
=jis-x0213-1-2000
=jis-x0213-2-2000
=jis-x0212
- =jis-x0208-1983
- =jis-x0208-1978))))
+ =jis-x0208@1983
+ =jis-x0208@1978))))
((string-match "@CN" (symbol-name name))
(setq required-features
(union required-features
line-breaking)))
))
(setq attributes (cdr attributes)))
- ;; (while ccs-attributes
- ;; (setq name (charset-name (car ccs-attributes)))
- ;; (if (and (not (memq name dest-ccss))
- ;; (prog1
- ;; (setq value (get-char-attribute char name))
- ;; (setq dest-ccss (cons name dest-ccss))))
- ;; (insert
- ;; (format
- ;; (cond ((memq name '(=daikanwa
- ;; =daikanwa-rev1 =daikanwa-rev2
- ;; =gt =gt-k =cbeta))
- ;; (if has-long-ccs-name
- ;; "(%-26s . %05d)\t; %c%s"
- ;; "(%-18s . %05d)\t; %c%s"))
- ;; ((eq name 'mojikyo)
- ;; (if has-long-ccs-name
- ;; "(%-26s . %06d)\t; %c%s"
- ;; "(%-18s . %06d)\t; %c%s"))
- ;; ((>= (charset-dimension name) 2)
- ;; (if has-long-ccs-name
- ;; "(%-26s . #x%04X)\t; %c%s"
- ;; "(%-18s . #x%04X)\t; %c%s"))
- ;; (t
- ;; (if has-long-ccs-name
- ;; "(%-26s . #x%02X)\t; %c%s"
- ;; "(%-18s . #x%02X)\t; %c%s")))
- ;; name
- ;; (if (= (charset-iso-graphic-plane name) 1)
- ;; (logior value
- ;; (cond ((= (charset-dimension name) 1)
- ;; #x80)
- ;; ((= (charset-dimension name) 2)
- ;; #x8080)
- ;; ((= (charset-dimension name) 3)
- ;; #x808080)
- ;; (t 0)))
- ;; value)
- ;; (char-db-decode-isolated-char name value)
- ;; line-breaking)))
- ;; (setq ccs-attributes (cdr ccs-attributes)))
(insert ")")))
(defun insert-char-data (char &optional readable