トップ 最新 次の日記(2007-04-17(火))»

hΛlの使ってるアプリ関係のメモ

>>hΛlの女好き日記

2007-04-15(日)

image_ex.rb

image_size.rb を $tdiary_home に入れるのがミソだった。

Tags: tDiary

日本語変換のアノテーションをwikipediaで参照する

SKKでは変換候補のアノテーション(注釈)を表示することができますが、最近のCVS先端では、アノテーションにwikipediaの内容を表示できるようになりました。これが、けっこう面白いので、ちょっとスクリーンショットを置いてみます。ただし、私のところだと、元のままでは、Hexifying multibyte character (変換中の語)というエラーメッセージが出てしまうので(Meadow-3.00-dev rev.4100)、skk-anotation.elを以下のように変更してます(結果オーライのテケトー変更です)。
--- 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)

skk-anotation変換キーを押して「▼控除」となったところで、C-iすると、(setq skk-annotation-show-as-message nil)して、アノテーションをウィンドウ分割で表示するようにしていた場合は、このような表示になり、wikipediaの「控除」の項が参照されます。

wikipediaによって変換候補のアノテーションを表示する以外に、普通の文章中でも、リージョンでマークされた語についてwikipediaでの説明を表示する、skk-annotation-wikipedia-region というコマンドも、コミッターの方、作ってくださったみたいですが、emacs-w3m を入れてたら、これは w3m-search でも簡単にできますね(笑)

Tags: SKK

skk-lookによる曖昧変換の動作イメージ

次もちょっと面白い機能。英単語と日本語を混ぜた曖昧変換のスクリーンショットを並べてみます。「gen…」なんだっけ?というような英単語の思い浮かんだ先頭部分の末尾に「*」をつけて曖昧変換すると、下のような動作になり、連想変換みたいな感じになって、ちょっと面白いんです。準備としては、(setq skk-look-use t)して、skk-lookを使った変換ができるようにしておきます。

「/」で▽を出しておいて

skk曖昧検索1


「gen*」と入力

skk曖昧検索2


スペースキーを押して変換。▽が▼に変わる

skk曖昧検索3


skk-look による変換が行われて、wordファイルにある最初の曖昧変換の候補が表示される。

skk曖昧検索4


(setq skk-look-recursive-search t)して、再帰変換できるようにした上で、更に変換すると今度は、上で曖昧に取り出された英単語の英→和変換が行われる(要・英和辞書の辞書登録)

skk曖昧検索5


英和変換で次の候補がある場合はそれが表示される

skk曖昧検索6


英和変換の候補が途切れると、再び、wordファイルを使ったskk-lookによる「gen*」の曖昧変換が行われ、「gene」が取り出される。その次の候補には、「gene」の英→和変換「ジーン」、「ジェネ」が、そして、また、候補が途切れると skk-lookによる「gen*」の曖昧変換で「general」が取り出され、というように、以下、同じことが変換候補がなくなるまで続いていく。

skk曖昧検索7

skk曖昧検索8

skk曖昧検索9

skk曖昧検索10

skk曖昧検索11

skk曖昧検索12

skk曖昧検索13

skk曖昧検索14

skk曖昧検索15

skk曖昧検索16

skk曖昧検索17

skk曖昧検索18

skk曖昧検索19

skk曖昧検索20

skk曖昧検索21

skk曖昧検索22

skk曖昧検索23

skk曖昧検索24

skk曖昧検索25


候補がなくなって、「辞書登録中↓」が出てきたらおしまい。

skk曖昧検索26


Tags: SKK

links for 2007-04-15

[]

最近の日記
最近のツッコミ
最近のtrackback
  1. エンジニアでありたい人の日記:[misc] sitema.. (2008-04-23(水) 21:56)

  

トップ 最新 次の日記(2007-04-17(火))»