« HyperEstraier でなにを検索していますか? | Main | もずくとめかぶのスープがおいしい »



Fri, 11 Nov 2005

英日・日英の辞書をひく on xyzzy

Posted at Fri, 11 Nov 2005 in computer::xyzzy

英語のつたなさには自信があるので、こまめに辞書をひきたいと思っています。
オンラインの辞書も充実していますが、ちょこっと意味を知りたいときは xyzzy の辞書が便利、というわけで xyzzy でできるだけスマートに辞書をひく機能がないかと探してみたのですが、いまいち好みにあうものがなかったので書いてみました。

スクリーンショット

注意と使いかた

ソース

;;;;;;;;;;;;;;;;;;
;; ■ キーを押されたらカーソル位置の単語で英和と和英をひく
(defun popup-dict-e2j-j2e ()
  (interactive)
  (let* ((str
    (progn
      (multiple-value-bind (start end)
          (ed::get-selection-start-end)
      (if start (buffer-substring start end)
        (save-excursion
          (buffer-substring
             (progn (forward-word 1) (point))
             (progn (forward-word -1) (point)))))) ) ) r)
        (setf r (lookup-dictionary *edict-dictionary-path*
                                   "xyzzydic" "xyzzye2j" str))
        (unless r
          (setf r (lookup-dictionary *edict-dictionary-path*
                                   "xyzzydic" "xyzzyj2e" str)))
    (if r (popup-string (format nil "~A:~%~%  ~{~A~^, ~}" str r) (point))
      (message (format nil "登録されていません:~A" str)))))
(global-set-key #\F12 'popup-dict-e2j-j2e)

« HyperEstraier でなにを検索していますか? | Main | もずくとめかぶのスープがおいしい »