sufary から sary へと移行

sdic で英辞郎の辞書検索に用いているインデックス・ユーティリティを sufary から sary に移行した。以下メモ。

sary は Debian GNU/Linux のパッケージに入っているので、apt-get 等でインストールすればよろしい。インデックス作成は、

$ mksary -c UTF-8 eijirou.sdic
のように行えばオーケー。

Emacs 側の設定を抜き書きしておく。


;;;
;;; sdic
;;;
(autoload 'sdic-describe-word "sdic" "search word" t nil)
(global-set-key "\C-cw" 'sdic-describe-word)
(autoload 'sdic-describe-word-at-point "sdic" "カーソル位置の英単語の意味を調べる" t nil)
(global-set-key "\C-cW" 'sdic-describe-word-at-point)

;; ----- sdicが呼ばれたときの設定
(eval-after-load "sdic"
'(progn
;; saryのコマンドをセットする
(setq sdicf-array-command "/usr/bin/sary")
;; sdicファイルのある位置を設定し、arrayコマンドを使用するよう設定(現在のところ英和のみ)
(setq sdic-eiwa-dictionary-list
'((sdicf-client "/usr/local/share/dict/eijirou.sdic"
(strategy array)))
sdic-waei-dictionary-list
'((sdicf-client "/usr/local/share/dict/waeijirou.sdic"
(strategy array))))
;; saryを直接使用できるように sdicf.el 内に定義されているarrayコマンド用関数を強制的に置換
(fset 'sdicf-array-init 'sdicf-common-init)
(fset 'sdicf-array-quit 'sdicf-common-quit)
(fset 'sdicf-array-search
(lambda (sdic pattern &optional case regexp)
(sdicf-array-init sdic)
(if regexp
(signal 'sdicf-invalid-method '(regexp))
(save-excursion
(set-buffer (sdicf-get-buffer sdic))
(delete-region (point-min) (point-max))
(apply 'sdicf-call-process
sdicf-array-command
(sdicf-get-coding-system sdic)
nil t nil
(if case
(list "-i" pattern (sdicf-get-filename sdic))
(list pattern (sdicf-get-filename sdic))))
(goto-char (point-min))
(let (entries)
(while (not (eobp)) (sdicf-search-internal))
(nreverse entries))))))
;; おまけ--辞書バッファ内で移動した時、常にバッファの一行目になるようにする
(defadvice sdic-forward-item (after sdic-forward-item-always-top activate)
(recenter 0))
(defadvice sdic-backward-item (after sdic-backward-item-always-top activate)
(recenter 0))))

(setq sdic-default-coding-system 'utf-8-unix)

2011/02/02(Wed) 13:37:19 | コンピュータ&インターネット
Tittle: Name:

Profile

T.T.Ueda
Tamotsu Thomas UEDA

茨城県水戸市生まれ。

横山大観がかつて学んだ小学校から、旧水戸城址にある中学、高校と進学。この頃から音楽を趣味とするようになる。大学は、学部→修士→博士の各課程に在籍し、某省傘下の研究所に就職、その2ヵ月後に学位を授与される(こういう経緯ですが最終学歴は博士課程「修了」です)。職場の隣の小学校で起こった惨劇は未だに心に深く傷を残している。

その後某自動車関連会社の研究法人で国の研究プロジェクトに参画、プロジェクト終了後は数年の彷徨を経て、某所で教育関連業務に従事。

New Entries

Comment

Categories

Archives(890)

Link

Search

Free

e-mail address:
e-mail address