X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=cwiki-view.el;h=28c25f4df5273383a2ba4e7aac08bc9f2aa693e0;hb=87f16c052aa13de7486d57236c04eeb44dae17af;hp=e1044d3af9862787d94f2cdf50d57f6488e33c56;hpb=d84b8e0c8a4a3aed6ad34caa3012a0e4b02c988d;p=chise%2Fest.git diff --git a/cwiki-view.el b/cwiki-view.el index e1044d3..28c25f4 100644 --- a/cwiki-view.el +++ b/cwiki-view.el @@ -5,28 +5,31 @@ (defvar chise-wiki-edit-url "edit.cgi") (defvar chise-wiki-add-url "add.cgi") -(defun www-display-char-desc (uri-char &optional lang level simple) +(defun www-display-object-desc (genre uri-object &optional lang level simple) (unless level (setq level 1)) - (let ((char (www-uri-decode-char uri-char)) - logical-feature displayed-features + (let ((object (www-uri-decode-object genre uri-object)) + logical-feature chise-wiki-displayed-features parents GlyphWiki-id) - (when (characterp char) - (when (= (length uri-char) 1) - (setq uri-char (www-uri-encode-char char))) + (when object + (when (and (eq genre 'character) + (= (length uri-object) 1)) + (setq uri-object (www-uri-encode-char object))) (when (= level 1) (princ (encode-coding-string (format "
-%s %s
\n%s %s
\n\n" @@ -121,15 +130,21 @@ "
name : %s " (or (www-format-feature-name feature-name) ""))) - (princ - (format - " " - chise-wiki-edit-url - uri-feature-name - uri-char)) (unless simple - (princ "")) - (princ "\n
\n") + (princ + (format + " " + chise-wiki-edit-url + uri-feature-name + uri-object)) + (princ "\n")) + (princ "\n") (when lang (princ "") (princ @@ -192,16 +207,16 @@ size=\;; "30\" maxlength=\"30\" value=\"\" />") (format "%s : %s" name@lang (or (char-feature-property feature-name name@lang) "")))) - (princ - (format - " " - chise-wiki-edit-url - uri-feature-name - name@lang - uri-char)) (unless simple - (princ "")) - (princ "\n
\n")) + (princ + (format + " " + chise-wiki-edit-url + uri-feature-name + name@lang + uri-object)) + (princ "\n")) + (princ "\n")) (www-html-display-paragraph (format "type : %s" (or (www-feature-type feature-name) @@ -214,22 +229,34 @@ size=\;; "30\" maxlength=\"30\" value=\"\" />") 'default) 'default 'without-tags))) - (princ - (format - " " - chise-wiki-edit-url - uri-feature-name - uri-char)) (unless simple - (princ "")) - (princ "\n\n") + (princ + (format + " " + chise-wiki-edit-url + uri-feature-name + uri-object)) + (princ "\n")) + (princ "\n") - (www-html-display-paragraph - (format "format : %s" - (www-xml-format-list - (or (char-feature-property feature-name 'format) - '((name) " : " (value)))))) + (princ "format : ") + (www-html-display-text + (decode-coding-string + (www-xml-format-list + (www-feature-format feature-name)) + 'utf-8-mcs-er)) + (unless simple + (princ + (format + " " + chise-wiki-edit-url + uri-feature-name + uri-object)) + (princ "\n")) + (princ "
\n") + (www-html-display-paragraph (format "description : %s" (or (char-feature-property feature-name 'description) @@ -272,7 +299,8 @@ size=\;; "30\" maxlength=\"30\" value=\"\" />") (setq target (concat "char=" (www-uri-encode-char - (www-uri-decode-char (match-string 1 target))) + (www-uri-decode-object + 'character (match-string 1 target))) (substring target ret)))) (setq target (mapcar (lambda (cell) @@ -287,7 +315,8 @@ size=\;; "30\" maxlength=\"30\" value=\"\" />") (split-string target "&"))) (setq ret (car target)) (cond ((eq (car ret) 'char) - (www-display-char-desc + (www-display-object-desc + 'character (cdr ret) lang nil (eq mode 'simple)) @@ -295,9 +324,16 @@ size=\;; "30\" maxlength=\"30\" value=\"\" />") ((eq (car ret) 'feature) (www-display-feature-desc (decode-uri-string (cdr ret) 'utf-8-mcs-er) - (cdr (assq 'char target)) + (cdr (assq 'char target)) lang (eq mode 'simple)) + ) + (t + (www-display-object-desc + (car ret) + (cdr ret) + lang nil + (eq mode 'simple)) )) )) (princ "\n