;;; char-db-util.el --- Character Database utility -*- coding: utf-8-er; -*-
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-;; 2007, 2008, 2009, 2010, 2011, 2012 MORIOKA Tomohiko.
+;; Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,
+;; 2008,2009,2010,2011,2012,2013,2014,2015 MORIOKA Tomohiko.
;; Author: MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
;; Keywords: CHISE, Character Database, ISO/IEC 10646, UCS, Unicode, MULE.
?𠦒 ?冓 ?幺 ?𢆶 ?叀 ?玄 ?予 ?放 ?𠬪 ?𣦼 ; 130
?歺 ?死 ?冎 ?骨 ?肉 ?筋 ?刀 ?刃 ?㓞 ?丰 ; 140
?耒 ?𧢲 ?竹 ?箕 ?丌 ?左 ?工 ?㠭 ?巫 ?甘 ; 150
- ?旨 ?曰 ?乃 ?丂 ?可 ?兮 ?号 ?亏 ?喜 ?壴 ; 160
+ ?曰 ?乃 ?丂 ?可 ?兮 ?号 ?亏 ?旨 ?喜 ?壴 ; 160
+; ?旨 ?曰 ?乃 ?丂 ?可 ?兮 ?号 ?亏 ?喜 ?壴 ; 160
?鼓 ?豈 ?豆 ?豊 ?豐 ?䖒 ?虍 ?虎 ?虤 ?皿 ; 170
?𠙴 ?去 ?血 ?丶 ?丹 ?青 ?井 ?皀 ?鬯 ?食 ; 180
?亼 ?會 ?倉 ?入 ?缶 ?矢 ?高 ?冂 ?𩫏 ?京 ; 190
?𣎳 ?林 ?麻 ?尗 ?耑 ?韭 ?瓜 ?瓠 ?宀 ?宮 ; 270
?呂 ?穴 ?㝱 ?𤕫 ?冖 ?𠔼 ?冃 ?㒳 ?网 ?襾 ; 280
?巾 ?巿 ?帛 ?白 ?㡀 ?黹 ?人 ?𠤎 ?匕 ?从 ; 290
+ ?比 ?北 ?丘 ?㐺 ?𡈼 ?重 ?臥 ?身 ?㐆 ?衣 ; 300
+ ?裘 ?老 ?毛 ?毳 ?尸 ?尺 ?尾 ?履 ?舟 ?方 ; 310
+ ?儿 ?兄 ?兂 ?皃 ?𠑹 ?先 ?秃 ?見 ?覞 ?欠 ; 320
+ ?㱃 ?㳄 ?旡 ?頁 ?𦣻 ?面 ?丏 ?首 ?𥄉 ?須 ; 330
+ ?彡 ?彣 ?文 ?髟 ?后 ?司 ?卮 ?卩 ?印 ?色 ; 340
+ ?𠨍 ?辟 ?勹 ?包 ?茍 ?鬼 ?甶 ?厶 ?嵬 ?山 ; 350
+ ?屾 ?屵 ?广 ?厂 ?丸 ?危 ?石 ?長 ?勿 ?冄 ; 360
+ ?而 ?豕 ?㣇 ?彑 ?豚 ?豸 ?𤉡 ?易 ?象 ?馬 ; 370
+ ?𢊁 ?鹿 ?麤 ?㲋 ?兔 ?萈 ?犬 ?㹜 ?鼠 ?能 ; 380
+ ?熊 ?火 ?炎 ?黑 ?囪 ?焱 ?炙 ?赤 ?大 ?亦 ; 390
])
(defun shuowen-radical (number)
cyrillic-iso8859-5
greek-iso8859-7
thai-tis620
- =adobe-japan1-0
- =adobe-japan1-1
- =adobe-japan1-2
- =adobe-japan1-3
- =adobe-japan1-4
- =adobe-japan1-5
- =adobe-japan1-6
+ ;; =mj
+ ;; =adobe-japan1-0
+ ;; =adobe-japan1-1
+ ;; =adobe-japan1-2
+ ;; =adobe-japan1-3
+ ;; =adobe-japan1-4
+ ;; =adobe-japan1-5
+ ;; =adobe-japan1-6
=jis-x0208
=jis-x0208@1978
=jis-x0208@1983
=hanyo-denshi/hg
=hanyo-denshi/jt
=hanyo-denshi/ks
+ ;; ==mj
+ ;; ==adobe-japan1-0
+ ;; ==adobe-japan1-1
+ ;; ==adobe-japan1-2
+ ;; ==adobe-japan1-3
+ ;; ==adobe-japan1-4
+ ;; ==adobe-japan1-5
+ ;; ==adobe-japan1-6
+ ==jis-x0208
+ ==jis-x0213-1
+ ==jis-x0213-2
+ ==hanyo-denshi/ja
+ ==hanyo-denshi/jb
+ ==hanyo-denshi/jc
+ ==hanyo-denshi/ft
+ ==hanyo-denshi/ib
+ ==hanyo-denshi/hg
+ ==hanyo-denshi/jt
+ ==hanyo-denshi/ks
=gt
=gt-k
=daikanwa
=daikanwa@rev2
=daikanwa@rev1
+ =daikanwa/+p
+ ==daikanwa
=cbeta
ideograph-hanziku-1
ideograph-hanziku-2
ideograph-hanziku-10
ideograph-hanziku-11
ideograph-hanziku-12
- =>>>adobe-japan1-0
- =>>>adobe-japan1-1
- =>>>adobe-japan1-2
- =>>>adobe-japan1-3
- =>>>adobe-japan1-4
- =>>>adobe-japan1-5
- =>>>adobe-japan1-6
- =>>>jis-x0208
- =>>>jis-x0213-1
- =>>>jis-x0213-2
- =>>>gt
+ ;; =>>>adobe-japan1-0
+ ;; =>>>adobe-japan1-1
+ ;; =>>>adobe-japan1-2
+ ;; =>>>adobe-japan1-3
+ ;; =>>>adobe-japan1-4
+ ;; =>>>adobe-japan1-5
+ ;; =>>>adobe-japan1-6
+ ;; =>>>jis-x0208
+ ;; =>>>jis-x0213-1
+ ;; =>>>jis-x0213-2
+ ;; =>>>hanyo-denshi/ja
+ ;; =>>>hanyo-denshi/jb
+ ;; =>>>hanyo-denshi/jc
+ ;; =>>>hanyo-denshi/ft
+ ;; =>>>hanyo-denshi/ib
+ ;; =>>>hanyo-denshi/hg
+ ;; =>>>hanyo-denshi/jt
+ ;; =>>>hanyo-denshi/ks
+ ;; =>>>gt
=>>adobe-japan1-0
=>>adobe-japan1-1
=>>adobe-japan1-2
=>>hanyo-denshi/ks
=>>gt
=>>daikanwa
+ =>>cbeta
=+>jis-x0208
=+>jis-x0213-1
=+>jis-x0213-2
+ =+>adobe-japan1-0
+ =+>adobe-japan1-1
+ =+>adobe-japan1-2
+ =+>adobe-japan1-3
+ =+>adobe-japan1-4
+ =+>adobe-japan1-5
+ =+>adobe-japan1-6
=+>jis-x0208@1978
- =+>adobe-japan1
=>jis-x0208
=>jis-x0208@1997
=>jis-x0213-1
=>jis-x0213-1@2004
=>jis-x0213-2
==>ucs@bucs
+ =>iwds-1
+ =>ucs@hanyo-denshi
=>ucs@iso
=>ucs@unicode
=>ucs@jis
=>>ucs@cns
=>>>ucs@iso
=>>>ucs@unicode
+ ==ucs@iso
+ ==ucs@unicode
+ ;; ==ucs@cns
+ ==gb2312
+ ==ks-x1001
+ ==cns11643-1
+ ==cns11643-2
+ ==cns11643-3
+ ==cns11643-4
+ ==cns11643-5
+ ==cns11643-6
+ ==cns11643-7
+ ==gt
+ ==jis-x0208@1990
+ ;; ==jis-x0208@1983
+ ==jis-x0208@1978
+ ==gt-k
=ucs@iso
=ucs@unicode
+ =ucs@cns
+ ==big5-cdp
+ ==cbeta
=>>big5-cdp
=>>gt-k
=+>gt
=>big5-cdp
=>daikanwa
=>daikanwa/ho
+ =>cns11643-5
=>cns11643-7
=big5
=big5-eten
=>zinbun-oracle
=ruimoku-v6
=>>ruimoku-v6
+ ==ruimoku-v6
=jef-china3
- =shinjigen))
+ =>cbeta
+ =shinjigen
+ =big5-cdp-var-3
+ =big5-cdp-var-5
+ =>ucs@iwds-1))
;;; @ char-db formatters
(setq char-spec (cons (cons 'name* ret) char-spec))
))
)
+ ((encode-char char '=mj 'defined-only)
+ (setq char-spec nil)
+ (dolist (ccs (charset-list))
+ (if (and (or (eq ccs '=mj)
+ ;; (eq (charset-property ccs 'iso-ir) 177)
+ (string-match "=ucs@" (symbol-name ccs))
+ )
+ (setq ccs (charset-name ccs))
+ (null (assq ccs char-spec))
+ (setq ret (encode-char char ccs 'defined-only)))
+ (setq char-spec (cons (cons ccs ret) char-spec))))
+ )
+ ((encode-char char '==mj 'defined-only)
+ (setq char-spec nil)
+ (dolist (ccs (charset-list))
+ (if (and (or (eq ccs '==mj)
+ ;; (eq (charset-property ccs 'iso-ir) 177)
+ (string-match "=ucs@" (symbol-name ccs))
+ )
+ (setq ccs (charset-name ccs))
+ (null (assq ccs char-spec))
+ (setq ret (encode-char char ccs 'defined-only)))
+ (setq char-spec (cons (cons ccs ret) char-spec))))
+ )
((encode-char char '=adobe-japan1 'defined-only)
(setq char-spec nil)
(dolist (ccs (charset-list))
(setq ret (encode-char char ccs 'defined-only)))
(setq char-spec (cons (cons ccs ret) char-spec))))
)
+ ((encode-char char '==adobe-japan1 'defined-only)
+ (setq char-spec nil)
+ (dolist (ccs (charset-list))
+ (if (and (or (memq ccs
+ '(==adobe-japan1-0
+ ==adobe-japan1-1
+ ==adobe-japan1-2
+ ==adobe-japan1-3
+ ==adobe-japan1-4
+ ==adobe-japan1-5
+ ==adobe-japan1-6
+ ))
+ ;; (eq (charset-property ccs 'iso-ir) 177)
+ (string-match "=ucs@" (symbol-name ccs))
+ )
+ (setq ccs (charset-name ccs))
+ (null (assq ccs char-spec))
+ (setq ret (encode-char char ccs 'defined-only)))
+ (setq char-spec (cons (cons ccs ret) char-spec))))
+ )
((setq ret
(catch 'tag
(let ((rest char-db-coded-charset-priority-list)
(setq ret
(cond ((eq ccs 'arabic-iso8859-6)
(decode-char ccs code-point))
+ ;; ((eq ccs '=gt)
+ ;; (decode-builtin-char '==gt code-point))
((and (memq ccs '(=gt-pj-1
=gt-pj-2
=gt-pj-3
(decode-builtin-char '=gt ret))
(t
(decode-builtin-char ccs code-point))))
- (cond ((and (<= 0 (char-int ret))
+ (cond ((null ret)
+ (or (decode-char ccs code-point)
+ (define-char (list (cons ccs code-point)))))
+ ((and (<= 0 (char-int ret))
(<= (char-int ret) #x1F))
(decode-char '=ucs (+ #x2400 (char-int ret))))
((= (char-int ret) #x7F)
(insert
(format
(cond
- ((memq name '(=shinjigen
- =shinjigen@1ed
- =shinjigen@rev =shinjigen/+p@rev
+ ((memq name '(=>iwds-1
+ ==shinjigen
+ =shinjigen
+ =shinjigen@1ed ==shinjigen@1ed
+ =shinjigen@rev ==shinjigen@rev
+ =shinjigen/+p@rev ==shinjigen/+p@rev
+ ===daikanwa/ho ==daikanwa/ho
=daikanwa/ho =>>daikanwa/ho =>daikanwa/ho))
"(%-18s . %04d)\t; %c")
((eq name '=shinjigen@1ed/24pr)
"(%-18s . %04d)\t; %c")
- ((or (memq name '(=daikanwa =>>daikanwa =>daikanwa
+ ((or (memq name '(===daikanwa
+ ==daikanwa =daikanwa =>>daikanwa =>daikanwa
=daikanwa@rev1 =daikanwa@rev2
- =daikanwa/+p =>>daikanwa/+p
+ =daikanwa/+p ==daikanwa/+p ===daikanwa/+p
+ =>>daikanwa/+p
=daikanwa/+2p =>>daikanwa/+2p
- =gt =>>>gt =>>gt =+>gt =>gt
- =gt-k =>>gt-k =>gt-k
- =adobe-japan1-0 =>>>adobe-japan1-0 =>>adobe-japan1-0
- =adobe-japan1-1 =>>>adobe-japan1-1 =>>adobe-japan1-1
- =adobe-japan1-2 =>>>adobe-japan1-2 =>>adobe-japan1-2
- =adobe-japan1-3 =>>>adobe-japan1-3 =>>adobe-japan1-3
- =adobe-japan1-4 =>>>adobe-japan1-4 =>>adobe-japan1-4
- =adobe-japan1-5 =>>>adobe-japan1-5 =>>adobe-japan1-5
- =adobe-japan1-6 =>>>adobe-japan1-6 =>>adobe-japan1-6
- =+>adobe-japan1
- =cbeta =>>cbeta
- =zinbun-oracle =>zinbun-oracle))
+ =gt ==gt ===gt
+ =>>gt =+>gt =>gt
+ =gt-k ==gt-k ===gt-k
+ =>>gt-k =>gt-k
+ =adobe-japan1-0 ==adobe-japan1-0 ===adobe-japan1-0
+ =adobe-japan1-1 ==adobe-japan1-1 ===adobe-japan1-1
+ =adobe-japan1-2 ==adobe-japan1-2 ===adobe-japan1-2
+ =adobe-japan1-3 ==adobe-japan1-3 ===adobe-japan1-3
+ =adobe-japan1-4 ==adobe-japan1-4 ===adobe-japan1-4
+ =adobe-japan1-5 ==adobe-japan1-5 ===adobe-japan1-5
+ =adobe-japan1-6 ==adobe-japan1-6 ===adobe-japan1-6
+ =>>adobe-japan1-0 =+>adobe-japan1-0
+ =>>adobe-japan1-1 =+>adobe-japan1-1
+ =>>adobe-japan1-2 =+>adobe-japan1-2
+ =>>adobe-japan1-3 =+>adobe-japan1-3
+ =>>adobe-japan1-4 =+>adobe-japan1-4
+ =>>adobe-japan1-5 =+>adobe-japan1-5
+ =>>adobe-japan1-6 =+>adobe-japan1-6
+ =>cbeta =cbeta =>>cbeta ==cbeta ===cbeta
+ =zinbun-oracle =>zinbun-oracle
+ ===hng-jou ===hng-keg ===hng-dng ===hng-mam
+ ===hng-drt ===hng-kgk ===hng-myz ===hng-kda
+ ===hng-khi ===hng-khm ===hng-sok
+ ===hng-kak
+ ===hng-sys ===hng-tsu
+ ===hng-hod ===hng-gok ===hng-k24
+ ===hng-kcj ===hng-kbk ===hng-sik
+ ===hng-skk ===hng-kyu ===hng-ksk ===hng-wan
+ ===hng-kss ===hng-kyo
+ ===hng-smk))
;; (string-match "^=adobe-" (symbol-name name))
)
"(%-18s . %05d)\t; %c")
- ((memq name '(=hanyo-denshi/ks =>>>hanyo-denshi/ks =>>hanyo-denshi/ks mojikyo))
+ ((memq name '(=hanyo-denshi/ks
+ ==hanyo-denshi/ks ===hanyo-denshi/ks
+ =>>hanyo-denshi/ks
+ =koseki
+ =mj ==mj ===mj =>>mj
+ =zihai mojikyo))
"(%-18s . %06d)\t; %c")
((>= (charset-dimension name) 2)
"(%-18s . #x%04X)\t; %c")
=jis-x0212
=jis-x0208@1983
=jis-x0208@1978
- =shinjigen))))
+ =shinjigen
+ =shinjigen@1ed
+ =shinjigen@rev
+ =shinjigen/+p@rev))))
((eq source 'CN)
(setq required-features
(union required-features
line-breaking
ccss readable)
(setq attributes (delq '<-denotational attributes)))
+ (when (and (memq '<-denotational@component attributes)
+ (setq value (get-char-attribute char '<-denotational@component)))
+ (char-db-insert-relation-feature char '<-denotational@component value
+ line-breaking
+ ccss readable)
+ (setq attributes (delq '<-denotational@component attributes)))
(when (and (memq 'name attributes)
(setq value (get-char-attribute char 'name)))
(insert (format
(setq strokes value)))
(setq attributes (delq 'cns-strokes attributes))
)
- (when (and (memq 'shinjigen-1-radical attributes)
- (setq value (get-char-attribute char 'shinjigen-1-radical)))
- (unless (eq value radical)
- (insert (format "(shinjigen-1-radical . %S)\t; %c%s"
- value
- (ideographic-radical value)
- line-breaking))
- (or radical
- (setq radical value)))
- (setq attributes (delq 'shinjigen-1-radical attributes))
- )
+ ;; (when (and (memq 'shinjigen-1-radical attributes)
+ ;; (setq value (get-char-attribute char 'shinjigen-1-radical)))
+ ;; (unless (eq value radical)
+ ;; (insert (format "(shinjigen-1-radical . %S)\t; %c%s"
+ ;; value
+ ;; (ideographic-radical value)
+ ;; line-breaking))
+ ;; (or radical
+ ;; (setq radical value)))
+ ;; (setq attributes (delq 'shinjigen-1-radical attributes))
+ ;; )
(when (and (memq 'ideographic- attributes)
(setq value (get-char-attribute char 'ideographic-)))
(insert "(ideographic- ")