image_size.rb を $tdiary_home に入れるのがミソだった。
--- skk-annotation.el.orig 2007-04-17 16:44:12.172866100 +0900 +++ skk-annotation.el 2007-04-17 17:06:14.842894700 +0900 @@ -182,7 +182,6 @@ (autoload 'html2text "html2text") (autoload 'html2text-delete-tags "html2text") - (autoload 'url-hexify-string "url-util") (autoload 'url-retrieve "url")) (eval-when-compile @@ -1404,19 +1403,27 @@ (skk-annotation-wikipedia word sources))) (skk-annotation-show (or note "") word)))) +;; just a copy of w3m-url-encode-string of w3m.el +(defun skk-w3m-url-encode-string (str &optional coding) + (apply (function concat) + (mapcar + (lambda (ch) + (cond + ((string-match "[-a-zA-Z0-9_:/]" (char-to-string ch)) ; xxx? + (char-to-string ch)) ; printable + (t + (format "%%%02X" ch)))) ; escape + ;; Coerce a string to a list of chars. + (append (encode-coding-string str (or coding 'utf-8)) + nil)))) + (defun skk-annotation-generate-url (format-string &rest args) - (condition-case nil - (require 'url-util) - (error - (error "%s" " URL ѥåɬפǤ"))) - (if (skk-annotation-url-package-available-p) - (apply #'format format-string - (mapcar #'(lambda (element) - (if (stringp element) - (url-hexify-string element) - element)) - args)) - (error "%s" "URL ѥåѤǤޤ"))) + (apply #'format format-string + (mapcar #'(lambda (element) + (if (stringp element) + (skk-w3m-url-encode-string element 'utf-8) + element)) + args))) (defun skk-annotation-wikipedia-normalize-word (word &optional source) ;; ڡ %20 ǤϤʤѴ @@ -1425,31 +1432,6 @@ word (upcase-initials word)))) -(defun skk-annotation-url-package-available-p () - (when (eq skk-annotation-url-package-available-p 'untested) - ;; Emacs 22 ʹ߰ʳ URL ѥåƥȤ - (cond - ((and (eq skk-emacs-type 'mule4) - (string-lessp mule-version "4.1")) - ;; Emacs 20.7 (MULE 4.0) ǤϥݡȤʤ - (setq skk-annotation-url-package-available-p nil)) - (t - ;; Emacs 21 XEmacs - (defadvice url-hexify-string (around multibyte-char activate) - (setq ad-return-value - (mapconcat (lambda (byte) - (if (memq byte url-unreserved-chars) - (char-to-string byte) - (format "%%%02x" byte))) - (if (multibyte-string-p (ad-get-arg 0)) - (encode-coding-string (ad-get-arg 0) 'utf-8) - (ad-get-arg 0)) - ""))) - ;; ƥ - (setq skk-annotation-url-package-available-p t)))) - ;; - skk-annotation-url-package-available-p) - (require 'product) (product-provide (provide 'skk-annotation)
変換キーを押して「▼控除」となったところで、C-iすると、(setq skk-annotation-show-as-message nil)して、アノテーションをウィンドウ分割で表示するようにしていた場合は、このような表示になり、wikipediaの「控除」の項が参照されます。
wikipediaによって変換候補のアノテーションを表示する以外に、普通の文章中でも、リージョンでマークされた語についてwikipediaでの説明を表示する、skk-annotation-wikipedia-region というコマンドも、コミッターの方、作ってくださったみたいですが、emacs-w3m を入れてたら、これは w3m-search でも簡単にできますね(笑)
次もちょっと面白い機能。英単語と日本語を混ぜた曖昧変換のスクリーンショットを並べてみます。「gen…」なんだっけ?というような英単語の思い浮かんだ先頭部分の末尾に「*」をつけて曖昧変換すると、下のような動作になり、連想変換みたいな感じになって、ちょっと面白いんです。準備としては、(setq skk-look-use t)して、skk-lookを使った変換ができるようにしておきます。
「/」で▽を出しておいて