「Emacs/Meadow」カテゴリ内の記事 このカテゴリをはてなブックマークに追加 このカテゴリを含むはてなブックマーク (初公開日順)

2015年10月16日 (金)

quail-naggy.el: 単漢字変換 Input Method for Emacs.

About the "quail-naggy.el"


Windows 用単漢字変換日本語 IME 『風』の実用性とアイデアを受け、将来的に非 Windows 環境や IME 非対応の Windows 用 Emacs でも『風』のようなインプット・メソッドが使えるようにしておこうとして開発されたのが本ソフトである。

quail-naggy.el 本体は、仮想鍵盤の表示がメインで、変換時の辞書引きなどには、同梱の naggy-backend.pl という Perl プログラムをバックエンドとして使っている。

quail-naggy.el 自体は、Emacs に付属している quail/japanese.el と kkc.el を大いに参考にして作った。また、随分前に私自身が作ってほぼ身内でのみ配布した vkegg.el も参考にしている。

バックエンドを使うこともあり、インストールが複雑なのが本ソフトの弱点である。また、Emacs のバージョンの違いによる表示の差も設定を難しくする要因となる。

本ドキュメントでは、その難しいインストール作業をまず説明し、次いで操作方法を説明する。

続きを読む "quail-naggy.el: 単漢字変換 Input Method for Emacs."

2015-10-16 20:05:48 (JST) in Emacs/Meadow, JRF 作成ソフトウェア, Perl | | コメント (10) | トラックバック (0)

2006年3月15日 (水)

Mew でパスワード入力時 C-g を押しても止まってくれない

普通 Mew の Summary では 'i' [mew-summary-retrieve] を押したあと、パスワードの入力を求められる。私は複数の case を使い分けているのでこの入力を'C-g' [keyboard-quit] で止めようとすることがしばしばあるが、残念ながら止まってくれない。

特に今の Mew は +queue を flush する際に draft の case を使ってくれないので、case ごとに SMTP サーバを切り換えたりする私にとっては、'C-g' で +queue が flush されるのを阻止できないのが非常に不満だった。

この原因の一つは、Mew が inhibit-quit を真にして他のバッファでエディット中に'C-g' が押されてもバックグラウンドプロセスが影響を受けないようにしていることにある。mew-read-passwd を使うときには一時的に inhibit-quit を nil にして 'C-g' を使えるようにしているのだが、その返り値が 'C-g' を押された結果の空文字列であったとしても、その後の関数内で処理を怠っているのだ。

原因のもう一つは、flush が処理が完了してなかろうとも実行されてしまうことにある。

そこで、少しダーティだが、mew-read-passwd に advice して 'C-g' が押されているかもしれないなら大域脱出し、process 終了後の hook を使い、処理が完了していなければflush しないようにした。以下のようにすれば良いようだ。

;; パスワードが入力されなかった場合、+inbox フォルダのプロセスを kill し、
;; エラーを signal する。
(defadvice mew-read-passwd
  (around mew-read-passwd-enable-quit (prompt) activate)
  (let ((pass ad-do-it))
    (when (or (null pass) (string= pass ""))
      (save-excursion
        (set-buffer (mew-inbox-folder))
        (when mew-summary-buffer-process
          (mew-summary-kill-subprocess)))
      (error "Empty Password or Keyboard quit."))))

;; 実行時スコープが甘い Lisp だからこそできる荒業
(add-hook 'mew-pop-sentinel-hook
          (lambda ()
            (if (or error (not done))
                (setq flush nil))))


副作用としてパスワードに空文字列が使えなくなるが、多くの場合問題ないものと思う。
更新: 2006-03-15
初公開: 2006年03月15日 13:37:02
最新版: 2006年03月18日 10:53:18

2006-03-15 13:36:57 (JST) in Emacs/Meadow | | コメント (0) | トラックバック (2)

2006年3月 4日 (土)

Navi2ch でインラインに画像を表示する (Referer もつける)

最近の Emacs は画像をインラインに表示できるが、Navi2ch そのものは掲示板の画像をインラインで見ることができない。しかし、《2chログ:Navi2ch for Emacs (Part 11)》の 888 の記事にインライン表示をする elisp とそれ用のシェルスクリプトが書いてあった。

それを Meadow と Cygwin の bash を使って走らせることにする。Cygwin の ImageMagickも使えるようにしておかねばならない。

続きを読む "Navi2ch でインラインに画像を表示する (Referer もつける)"

2006-03-04 06:44:26 (JST) in Cygwin, Emacs/Meadow | | コメント (2) | トラックバック (0)

2006年2月27日 (月)

DDwin を Firefox や Meadow から使うとき latin-1 のアクセント記号を抜くようにした。

Firefox について同じようなことをやってる人がいた。《chez sugi:firefox と DDWin》を参照すると、EPWING の規格上、独仏語だとアクセント文字がないほうが良いらしい。ちなみに latin-1 の文字列を sjis にencode しようとすると、アクセント記号と文字にわかれるのではなく、文字化けしてしまう。

そういったわけなので、アクセント付の文字をいちいちアクセントなしに変換する関数を書いた。私は独仏語辞典を持ってないから、Deja vu とかそのあたりの国語辞典に載ってる単語でしか確認できないけど。

ついでなので、《ddwin.el》のほうにも同じような関数を書いた。できたスクリプトについては《DDwin.js》へ。
更新: 06/02/27
初公開: 2006年02月27日 00:37:55
最新版: 2006年02月27日 10:01:42

2006-02-27 00:37:52 (JST) in Emacs/Meadow, Firefox, Windows アプリ | | コメント (0) | トラックバック (0)

2006年2月22日 (水)

ddwin.el: Meadow から DDwin を使う

Meadow で電子辞書を使うには普通、Lookup を使うところなのですが、使えない辞書も多いようですし、更新も止まっているようなので、 DDwin32 に乗り換えました。

DDwin は起動時のオプションにより、簡単に既存のウィンドウで検索するよう指定できます。そこで突貫工事で Meadow から call-process 関数を使って DDwin に検索語を渡す Elisp を書きました。

他の誰かが作ってるかもしれませんし、Emacs 使いなら誰でも作れるレベルの物ですが、いちおう公開しておきます。

まず、DDwin 側で串刺し検索をするためのグループを作ってください。ここでは、「Meadow用」という名前だとします。

この ddwin.el をダウンロードして c:/Meadow/site-lisp 以下にでも置き、.emacs の適当なところに次の行を足してください。

(require 'ddwin)
(setq ddwin-dictionary-group "Meadow用")
(setq ddwin-dictionary-number "G1")
(global-set-key "\e\"" 'ddwin-search-word-at-point)
(global-set-key [M-mouse-3] 'ddwin-search-word-at-mouse)


これでインストールは終り。

あとは、M-x ddwin-search-word で、その後に単語を入力、または M-x ddwin-search-region でリージョンを指定して検索します。M-" を押すと、そのカーソル位置にある単語を検索します。

Alt を押しながらマウスの右ボタンを押すと、直前にマウスをドラッグしていればそのリージョン、そうでなければカーソル位置の単語が検索されます。メニューバーの Tools に DDwin を登録してあり、マウスのときとほぼ同じ動作をします。


ただし単語の切り出しは、「ひらがな」「カタカナ」「それ以外の日本語のワード」「日本語以外のワード」の続きしか判別しません。

ほとんどテストしてないので、不具合があると思います。何かあれば、ここにコメントしていただけるとうれしいです。

更新履歴

2011-05-13
call-process の前で sjis-dos を指定するようした。
2006-02-27
replace-regexp を関数から使わないようにした。
2006-02-26
独仏語の検索のために latin-1 のアクセント記号を抜くようにした。
2006-02-25
マウスに対応。
2006-02-21
'ー'に対応していなかったのと、判別のミスを修正。
2006-02-20
作成&公開


なお、Permalink に関しては http://jrf.cocolog-nifty.com/archive/ddwin-el.html をご利用ください。
更新: 06/02/20-06/02/27
初公開: 2006年02月21日 00:10:08
最新版: 2011年05月13日 20:57:55

2006-02-22 14:41:23 (JST) in Emacs/Meadow, JRF 作成ソフトウェア | | コメント (0) | トラックバック (2)

2006年2月 1日 (水)

「風」の wnd ファイルを Meadow でエディットすると起動しない!

日本語 IME はいろいろあります。普通の人は「IME って何?」ってなるでしょう。トシ食ってる人なら、ATOK とかの FEP のことだよって言えばわかってくれるかな。簡単にいえば入力時にひらがなを漢字にする仕事をしてるソフトのことです。

私は、単漢字変換 IME 『』を使っています。単語の漢字をド忘れする私には、何かと不便なこともありますが、くだけた文章を書くときや英単語が頻繁にまじる文章には便利です。

さて、この『』、歴史はあるのですがユーザー数が少ないためか、今のところ完成度はやや低めです。Windows アプリでは Unicode が使えることが前提となりつつあると認識しているのですが、その点が弱いようです。変換時に常に候補の Window を表示するのですが、たまに、設定画面を出さないと候補の Window が消えないことがあります。

とはいえ、とても便利なんですよ(フォロー)

で、もう一つ Emacs/Meadow 特有の問題らしいのですが、どうも c:/WINDOWS ディレクトリにある設定ファイルをいじったあと、バックアップファイル("~" が拡張子のうしろに付いたもの)を残したままにしていると、起動しないようなのです。まぁ、c:/WINDOWS にゴミを残すほうも問題ではあるのですが……
更新: 05/05/02,06/01/31
初公開: 2006年02月01日 01:35:36

2006-02-01 01:41:35 (JST) in Emacs/Meadow, Windows アプリ | | コメント (0) | トラックバック (2)