;; -*- 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")
(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")
=ucs@unicode
==ucs@unicode
===ucs@unicode
+ ==>daijiten
==>ucs@bucs
===daikanwa/+p
===gt
;;; @ 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)
'(==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)
'(=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)
'(=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)
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 "<img alt=\"DJT-%05d\" src=\"%s/%05d.png\"
+style=\"vertical-align:middle; width: auto; max-height: 60px\">"
+ 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 "<div class=\"tooltip\"><img alt=\"SW-JIGUGE%s-%05d\" src=\"%s/ShuoWen/Jiguge%s/%05d.png\"
+style=\"vertical-align:middle; width: auto; max-height: 80px\"><span
+class=\"tooltiptext\">%s</span></div>"
+ 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))
(replace-match
(format
"<div class=\"tooltip\"><img alt=\"HNG%s-%04d%s\" src=\"%s/%s/%04d%s.png\" style=\"
-vertical-align:middle; width: 48px; height: 48px\"><span
+vertical-align:middle; width: auto; max-height: 60px\"><span
class=\"tooltiptext\">%s</span></div>"
plane code subcode
chise-wiki-hng-bitmap-glyphs-url