X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=cwiki-common.el;h=291a138348cf82d721cf3f065d0b9b43ec0f3449;hb=ebe341d23879fafeffb99e9bf85e4b8e869f1493;hp=9817062192355028b9dd81e334078990e16bde89;hpb=df2fa617d25de8d6ccae25b062f2b973e2d95113;p=chise%2Fest.git diff --git a/cwiki-common.el b/cwiki-common.el index 9817062..291a138 100644 --- a/cwiki-common.el +++ b/cwiki-common.el @@ -1,9 +1,13 @@ ;; -*- coding: utf-8-mcs-er -*- (require 'char-db-util) +(require 'chiset-common) ;; (require 'concord-images) (setq file-name-coding-system 'utf-8-mcs-er) +(concord-assign-genre 'code-point "/usr/local/var/chise-ipld/db") +(concord-assign-genre 'coded-character "/usr/local/var/chise-ipld/db") +(concord-assign-genre 'glyph "/usr/local/var/chise-ipld/db") (concord-assign-genre 'image-resource "/usr/local/var/photo/db") (concord-assign-genre 'glyph-image "/usr/local/var/photo/db") @@ -56,6 +60,9 @@ (mount-char-attribute-table '->HNG@MISC) (mount-char-attribute-table '<-HNG@MISC) +(mount-char-attribute-table 'abstract-glyph@iwds-1) +(mount-char-attribute-table 'abstract-glyph@iwds-1/confluented) + (defvar est-hide-cgi-mode nil) (defvar est-view-url-prefix "..") @@ -68,6 +75,9 @@ (defvar chise-wiki-hng-bitmap-glyphs-url "http://hng.chise.org/glyphs/HNG") +(defvar chise-wiki-daijiten-bitmap-glyphs-url + "http://hng.chise.org/glyphs/daijiten") + (defvar chise-wiki-glyph-cgi-url "http://www.chise.org/chisewiki/glyph.cgi") @@ -128,9 +138,11 @@ =ucs-var-002 =ucs-var-003 =ucs-var-004 + =ucs-var-010 =ucs@unicode ==ucs@unicode ===ucs@unicode + ==>daijiten ==>ucs@bucs ===daikanwa/+p ===gt @@ -143,6 +155,7 @@ =>ucs-itaiji-005 =>ucs-itaiji-006 =>ucs-itaiji-007 + =>ucs-itaiji-008 ===adobe-japan1 ===cns11643-1 ===cns11643-2 ===cns11643-3 ===cns11643-4 ===cns11643-5 ===cns11643-6 ===cns11643-7 @@ -406,42 +419,46 @@ ;;; @ URI representation ;;; -(defun est-uri-decode-feature-name-body (uri-feature) - (let ((len (length uri-feature)) - (i 0) - ch dest) - (while (< i len) - (setq dest - (concat - dest - (if (eq (aref uri-feature i) ?\.) - (if (and (< (+ i 2) len) - (eq (aref uri-feature (+ i 2)) ?\.)) - (prog1 - (cond - ((eq (setq ch (aref uri-feature (1+ i))) ?\.) - "/") - ((eq ch ?-) - "*") - (t - (substring uri-feature i (+ i 3)) - )) - (setq i (+ i 3))) - (setq i (1+ i)) - ".") - (prog1 - (char-to-string (aref uri-feature i)) - (setq i (1+ i))))))) - dest)) - -(defun est-uri-encode-feature-name-body (feature) - (mapconcat (lambda (c) - (cond ((eq c ?*) - ".-.") - ((eq c ?/) - "...") - (t (char-to-string c)))) - feature "")) +;; (defun est-uri-decode-feature-name-body (uri-feature) +;; (let ((len (length uri-feature)) +;; (i 0) +;; ch dest) +;; (while (< i len) +;; (setq dest +;; (concat +;; dest +;; (if (eq (aref uri-feature i) ?\.) +;; (if (and (< (+ i 2) len) +;; (eq (aref uri-feature (+ i 2)) ?\.)) +;; (prog1 +;; (cond +;; ((eq (setq ch (aref uri-feature (1+ i))) ?\.) +;; "/") +;; ((eq ch ?-) +;; "*") +;; ((eq ch ?_) +;; "+") +;; (t +;; (substring uri-feature i (+ i 3)) +;; )) +;; (setq i (+ i 3))) +;; (setq i (1+ i)) +;; ".") +;; (prog1 +;; (char-to-string (aref uri-feature i)) +;; (setq i (1+ i))))))) +;; dest)) + +;; (defun est-uri-encode-feature-name-body (feature) +;; (mapconcat (lambda (c) +;; (cond ((eq c ?*) +;; ".-.") +;; ((eq c ?/) +;; "...") +;; ((eq c ?+) +;; "._.") +;; (t (char-to-string c)))) +;; feature "")) (defun www-uri-decode-feature-name (uri-feature) (let (feature) @@ -842,6 +859,7 @@ '(==hanyo-denshi/ip "g2-HD-IP-" 4 X) '(==hanyo-denshi/jt "g2-HD-JT-" 4 X) '(==hanyo-denshi/ks "g2-HD-KS-" 6 d) + '(==daijiten "g2-DJT-" 5 d) '(=cns11643-1 "C1-" 4 X) '(=cns11643-2 "C2-" 4 X) '(=cns11643-3 "C3-" 4 X) @@ -862,6 +880,7 @@ '(=jis-x0208@1983 "J83-" 4 X) '(=ruimoku-v6 "RUI6-" 4 X) '(=zinbun-oracle "ZOB-" 4 d) + '(=daijiten "DJT-" 5 d) '(=jef-china3 "JC3-" 4 X) '(=ucs@unicode "UU+" 4 X) '(=ucs@JP/hanazono "hanaJU+" 4 X) @@ -884,6 +903,7 @@ '(=hanziku-10 "HZK10-" 4 X) '(=hanziku-11 "HZK11-" 4 X) '(=hanziku-12 "HZK12-" 4 X) + '(==>daijiten "A2-DJT-" 5 d) '(==cbeta "CB" 5 d) '(=big5 "B-" 4 X) '(=daikanwa "M-" 5 d) @@ -971,6 +991,18 @@ style=\"vertical-align:middle\">" t 'literal)) (goto-char (point-min)) + (while (re-search-forward "&\\(o-\\|G-\\|g2-\\|R-\\)?HD-TK-\\([0-9]+\\);" nil t) + (setq code (string-to-int (match-string 2))) + (replace-match + (format "\"HD-KS%06d\"" + code + chise-wiki-bitmap-glyphs-url + code + www-format-char-img-style) + t 'literal)) + + (goto-char (point-min)) (while (re-search-forward "&G\\([01]\\)-\\([0-9A-F][0-9A-F][0-9A-F][0-9A-F]\\);" nil t) (setq plane (string-to-int (match-string 1)) code (string-to-int (match-string 2) 16)) @@ -1019,6 +1051,39 @@ style=\"vertical-align:middle\">" t 'literal)) (goto-char (point-min)) + (while (re-search-forward "&\\(A2-\\|g2-\\|R-\\)?DJT-\\([0-9]+\\);" nil t) + (setq code (string-to-int (match-string 2))) + (replace-match + (format "\"DJT-%05d\"" + code + chise-wiki-daijiten-bitmap-glyphs-url + code + www-format-char-img-style) + t 'literal)) + + (goto-char (point-min)) + (while (re-search-forward "&SW-JIGUGE\\([45]?\\)-\\([0-9]+\\);" nil t) + (setq subcode (match-string 1) + code (string-to-int (match-string 2))) + (setq plane + (if (string= subcode "") + "5" + subcode)) + (replace-match + (format "
\"SW-JIGUGE%s-%05d\"%s
" + plane code + chise-wiki-bitmap-glyphs-url + plane code + (charset-description + (if (string= subcode "") + '=shuowen-jiguge + (intern (format "===shuowen-jiguge%s" subcode))))) + t 'literal)) + + (goto-char (point-min)) (while (re-search-forward "&HNG\\([0-9]+\\)-\\([0-9][0-9][0-9][0-9]\\)\\([0-9]\\);" nil t) (setq plane (match-string 1) code (string-to-int (match-string 2)) @@ -1030,7 +1095,7 @@ style=\"vertical-align:middle\">" (replace-match (format "
\"HNG%s-%04d%s\"%s
" plane code subcode chise-wiki-hng-bitmap-glyphs-url @@ -1132,6 +1197,35 @@ style=\"vertical-align:middle; width: 48px; height: 48px\">" t 'literal)) (goto-char (point-min)) + (while (re-search-forward + "&\\(A-\\)?CDP-v\\([0-9]+\\)-\\([0-9A-F]+\\);" + nil t) + (setq plane (string-to-int (match-string 2)) + code (string-to-int (match-string 3) 16)) + (replace-match + (format "\"cdp-%04x-var-%03d\"" + code + plane + code + plane + www-format-char-img-style) + t 'literal)) + + (goto-char (point-min)) + (while (re-search-forward + "&\\(A-\\|g2-\\)?M-\\([0-9]+\\);" + nil t) + (setq code (string-to-int (match-string 2))) + (replace-match + (format "\"dkw-%05d\"" + code + code + www-format-char-img-style) + t 'literal)) + + (goto-char (point-min)) (while (re-search-forward "&\\(g2-\\)?U-v\\([0-9]+\\)\\+\\([0-9A-F]+\\);" nil t) (setq plane (string-to-int (match-string 2)) code (string-to-int (match-string 3) 16)) @@ -1334,7 +1428,8 @@ style=\"vertical-align:middle\">" (===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) + (===mj "jmj-" 6 d nil) + (===ucs@jis "u" 4 x "-j") (===daikanwa "dkw-" 5 d nil) (===ucs@ks "u" 4 x "-k") (==ucs-itaiji-005 "u" 4 x "-itaiji-005") @@ -1342,12 +1437,25 @@ style=\"vertical-align:middle\">" (=ucs-var-002 "u" 4 x "-var-002") (=ucs-var-003 "u" 4 x "-var-003") (=ucs-var-004 "u" 4 x "-var-004") + (=ucs-var-006 "u" 4 x "-var-006") + (=ucs-var-010 "u" 4 x "-var-010") (=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-004 "u" 4 x "-itaiji-004") + (=ucs-itaiji-005 "u" 4 x "-itaiji-005") + (=ucs-itaiji-006 "u" 4 x "-itaiji-006") + (=ucs-itaiji-007 "u" 4 x "-itaiji-007") + (=ucs-itaiji-008 "u" 4 x "-itaiji-008") (=ucs-itaiji-084 "u" 4 x "-itaiji-084") (=>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-004 "u" 4 x "-itaiji-004") + (=>ucs-itaiji-005 "u" 4 x "-itaiji-005") (=>ucs-itaiji-006 "u" 4 x "-itaiji-006") + (=>ucs-itaiji-007 "u" 4 x "-itaiji-007") + (=>ucs-itaiji-008 "u" 4 x "-itaiji-008") (==adobe-japan1-0 "aj1-" 5 d nil) (==adobe-japan1-1 "aj1-" 5 d nil) (==adobe-japan1-2 "aj1-" 5 d nil) @@ -1355,10 +1463,14 @@ style=\"vertical-align:middle\">" (==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) + (==mj "jmj-" 6 d nil) + (==ucs@jis "u" 4 x "-j") (==ucs@iso "u" 4 x nil) - (==ucs@cns "u" 4 x "-t") + ;; (==ucs@cns "u" 4 x "-t") (==ucs@unicode "u" 4 x "-us") + (==ucs@JP/hanazono "u" 4 x "-jv") + (==gt "gt-" 5 d nil) + (==gt-k "gt-k" 5 d nil) (==daikanwa "dkw-" 5 d nil) (==ucs@ks "u" 4 x "-k") (==jis-x0208@1978 "j78-" 4 x nil) @@ -1387,31 +1499,46 @@ style=\"vertical-align:middle\">" (=adobe-japan1-4 "aj1-" 5 d nil) (=adobe-japan1-5 "aj1-" 5 d nil) (=adobe-japan1-6 "aj1-" 5 d nil) + (=hanyo-denshi/ks "koseki-" 6 d nil) + (=mj "jmj-" 6 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") + (=hanyo-denshi/tk "toki-" 8 d nil) + (=ucs@jis "u" 4 x "-j") + ;; (=ucs@cns "u" 4 x "-t") (=ucs@ks "u" 4 x "-k") - (=ucs@JP "u" 4 x nil) + (=ucs@JP "u" 4 x "-jv") + (=ucs@JP/hanazono "u" 4 x "-jv") (=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) + (=+>big5-cdp "cdp-" 4 x nil) + (=>big5-cdp@iwds-1 "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") + (=>cbeta "cbeta-" 5 d nil) + (=big5-cdp-var-001 "cdp-" 4 x "-var-001") + (=big5-cdp-var-003 "cdp-" 4 x "-var-003") + (=big5-cdp-var-005 "cdp-" 4 x "-var-005") (=big5-cdp-itaiji-001 "cdp-" 4 x "-itaiji-001") (=big5-cdp-itaiji-002 "cdp-" 4 x "-itaiji-002") + (=big5-cdp-itaiji-003 "cdp-" 4 x "-itaiji-003") (=>big5-cdp-itaiji-001 "cdp-" 4 x "-itaiji-001") + (=>big5-cdp-itaiji-002 "cdp-" 4 x "-itaiji-002") + (=>big5-cdp-itaiji-003 "cdp-" 4 x "-itaiji-003") (=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 "gt-" 5 d nil) (=gt-k "gt-k" 5 d nil) + (=>gt-k "gt-k" 5 d nil) + (=daikanwa "dkw-" 5 d nil) + (=ruimoku-v6 "rui6-" 4 x nil) + (=>ruimoku-v6 "rui6-" 4 x nil) + (=ucs@iso "u" 4 x "-u") + (=ucs@unicode "u" 4 x "-us") (=jis-x0208@1978/1pr "j78-" 4 x nil) (=jis-x0208@1978/-4pr "j78-" 4 x nil) (=jis-x0208@1978 "j78-" 4 x nil) @@ -1421,18 +1548,14 @@ style=\"vertical-align:middle\">" (=+>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) + ;; (=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) @@ -1455,23 +1578,23 @@ style=\"vertical-align:middle\">" (encode-char char '=jis-x0213-1) (encode-char char '=jis-x0213-2)) (setq code (encode-char char '=ucs@jis))) - (format "u%04x" code) + (format "u%04x-j" 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 (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)