+
+;;; @ for GlyphWiki
+;;;
+
+(defvar coded-charset-GlyphWiki-id-alist
+ '((===adobe-japan1-0 "aj1-" 5 d nil)
+ (===adobe-japan1-1 "aj1-" 5 d nil)
+ (===adobe-japan1-2 "aj1-" 5 d nil)
+ (===adobe-japan1-3 "aj1-" 5 d nil)
+ (===adobe-japan1-4 "aj1-" 5 d nil)
+ (===adobe-japan1-5 "aj1-" 5 d nil)
+ (===adobe-japan1-6 "aj1-" 5 d nil)
+ (===ucs@jis "u" 4 x nil)
+ (===daikanwa "dkw-" 5 d nil)
+ (===ucs@ks "u" 4 x "-k")
+ (=ucs-var-001 "u" 4 x "-var-001")
+ (=ucs-var-002 "u" 4 x "-var-002")
+ (=ucs-var-003 "u" 4 x "-var-003")
+ (=ucs-itaiji-001 "u" 4 x "-itaiji-001")
+ (=ucs-itaiji-002 "u" 4 x "-itaiji-002")
+ (=ucs-itaiji-003 "u" 4 x "-itaiji-003")
+ (=ucs-itaiji-084 "u" 4 x "-itaiji-084")
+ (=>ucs-itaiji-001 "u" 4 x "-itaiji-001")
+ (==adobe-japan1-0 "aj1-" 5 d nil)
+ (==adobe-japan1-1 "aj1-" 5 d nil)
+ (==adobe-japan1-2 "aj1-" 5 d nil)
+ (==adobe-japan1-3 "aj1-" 5 d nil)
+ (==adobe-japan1-4 "aj1-" 5 d nil)
+ (==adobe-japan1-5 "aj1-" 5 d nil)
+ (==adobe-japan1-6 "aj1-" 5 d nil)
+ (==ucs@jis "u" 4 x nil)
+ (==ucs@iso "u" 4 x nil)
+ (==ucs@cns "u" 4 x "-t")
+ (==ucs@unicode "u" 4 x "-us")
+ (==daikanwa "dkw-" 5 d nil)
+ (==ucs@ks "u" 4 x "-k")
+ (==jis-x0208@1978 "j78-" 4 x nil)
+ (==jis-x0208 "j90-" 4 x nil)
+ (==jis-x0208@1990 "j90-" 4 x nil)
+ (==jis-x0208@1983 "j83-" 4 x nil)
+ (==cbeta "cbeta-" 5 d nil)
+ (=>>hanyo-denshi/ks "koseki-" 6 d nil)
+ (=>>jis-x0208@1978 "j78-" 4 x nil)
+ (=>>big5-cdp "cdp-" 4 x nil)
+ (=>>jis-x0208 "j90-" 4 x nil)
+ (=>>jis-x0208@1990 "j90-" 4 x nil)
+ (=>>jis-x0208@1983 "j83-" 4 x nil)
+ (=>>daikanwa "dkw-" 5 d nil)
+ (=adobe-japan1-0 "aj1-" 5 d nil)
+ (=adobe-japan1-1 "aj1-" 5 d nil)
+ (=adobe-japan1-2 "aj1-" 5 d nil)
+ (=adobe-japan1-3 "aj1-" 5 d nil)
+ (=adobe-japan1-4 "aj1-" 5 d nil)
+ (=adobe-japan1-5 "aj1-" 5 d nil)
+ (=adobe-japan1-6 "aj1-" 5 d nil)
+ (=decomposition@cid)
+ (=decomposition@hanyo-denshi)
+ (=hanyo-denshi/ks "koseki-" 6 d nil)
+ (=koseki "koseki-" 6 d nil)
+ (=ucs@jis "u" 4 x nil)
+ (=ucs@cns "u" 4 x "-t")
+ (=ucs@ks "u" 4 x "-k")
+ (=ucs@JP "u" 4 x nil)
+ (=ucs@gb "u" 4 x "-g")
+ (=ucs@iso "u" 4 x "-u")
+ (=ucs@unicode "u" 4 x "-us")
+ (=big5-cdp "cdp-" 4 x nil)
+ (=>big5-cdp "cdp-" 4 x nil)
+ (=cbeta "cbeta-" 5 d nil)
+ (=big5-cdp-var-3 "cdp-" 4 x "-var-3")
+ (=big5-cdp-var-5 "cdp-" 4 x "-var-5")
+ (=jef-china3 "jc3-" 4 x nil)
+ (=jis-x0212 "jsp-" 4 x nil)
+ (=jis-x0213-1@2000 "jx1-2000-" 4 x nil)
+ (=jis-x0213-1@2004 "jx1-2004-" 4 x nil)
+ (=jis-x0213-2 "jx2-" 4 x nil)
+ (=gt-k "gt-k" 5 d nil)
+ (=jis-x0208@1978/1pr "j78-" 4 x nil)
+ (=jis-x0208@1978/-4pr "j78-" 4 x nil)
+ (=jis-x0208@1978 "j78-" 4 x nil)
+ (=+>jis-x0208@1978 "j78-" 4 x nil)
+ (=+>jis-x0208 "j90-" 4 x nil)
+ (=+>jis-x0208@1990 "j90-" 4 x nil)
+ (=+>jis-x0208@1983 "j83-" 4 x nil)
+ (=ucs "u" 4 x nil)
+ (=big5 "b-" 4 x nil)
+ (=daikanwa "dkw-" 5 d nil)
+ (=gt "gt-" 5 d nil)
+ (=ruimoku-v6 "rui6-" 4 x nil)
+ (=>ruimoku-v6 "rui6-" 4 x nil)
+ (=ks-x1001 "k0-" 4 x nil)
+ (=cns11643-1 "c1-" 4 x nil)
+ (=cns11643-2 "c2-" 4 x nil)
+ (=cns11643-3 "c3-" 4 x nil)
+ (=cns11643-4 "c4-" 4 x nil)
+ (=cns11643-5 "c5-" 4 x nil)
+ (=cns11643-6 "c6-" 4 x nil)
+ (=cns11643-7 "c7-" 4 x nil)
+ (=jis-x0208 "j90-" 4 x nil)
+ (=jis-x0208@1990 "j90-" 4 x nil)
+ (=jis-x0208@1983 "j83-" 4 x nil)
+ ))
+
+(defun char-GlyphWiki-id (char)
+ (let ((rest coded-charset-GlyphWiki-id-alist)
+ spec ret code)
+ (while (and rest
+ (setq spec (pop rest))
+ (null (setq ret (char-feature char (car spec))))))
+ (when ret
+ (or
+ (and (listp ret)
+ (mapconcat #'char-GlyphWiki-id ret "-"))
+ (and (memq (car spec) '(=ucs@unicode '=ucs@iso))
+ (cond
+ ((and (or (encode-char char '=jis-x0208@1990)
+ (encode-char char '=jis-x0212)
+ (encode-char char '=jis-x0213-1)
+ (encode-char char '=jis-x0213-2))
+ (setq code (encode-char char '=ucs@jis)))
+ (format "u%04x" code)
+ )
+ ((and (or (encode-char char '=gb2312)
+ (encode-char char '=gb12345))
+ (setq code (encode-char char '=ucs@gb)))
+ (format "u%04x-g" code)
+ )
+ ((and (or (encode-char char '=cns11643-1)
+ (encode-char char '=cns11643-2)
+ (encode-char char '=cns11643-3)
+ (encode-char char '=cns11643-4)
+ (encode-char char '=cns11643-5)
+ (encode-char char '=cns11643-6)
+ (encode-char char '=cns11643-7))
+ (setq code (encode-char char '=ucs@cns)))
+ (format "u%04x-t" code)
+ )
+ ((and (encode-char char '=ks-x1001)
+ (setq code (encode-char char '=ucs@ks)))
+ (format "u%04x-k" code)
+ )))
+ (format (format "%s%%0%d%s%s"
+ (nth 1 spec)
+ (nth 2 spec)
+ (nth 3 spec)
+ (or (nth 4 spec) ""))
+ ret)))))
+
+
+;;; @ End.
+;;;
+