[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[vine-users:030521] Re:XemacsのJISかな入力について


西村@東大駒場です。

古い話になりますが、

>> On Thu, 19 Oct 2000 16:55:15 +0900, Sev <sev@kiwi.ne.jp> said:

sev> Xemacsを使っているのですが、先日cannaからwnnに乗り換えました。
sev> 私はJISかな入力派ですが、ローマ字から変更できなくって困っています。

>> On Sat, 21 Oct 2000 21:20:22 +0900, NISHIMURA Daisuke <nishi@graco.c.u-tokyo.ac.jp> said:

nishi> Vine 2.0 の XEmacs を使う機会があったので試してみましたが、
nishi> やはり仮名入力になりませんでした。

nishi> そこで、すこしファイルを探してみると、 XEmacs 用の設定が
nishi> 見つかりました。それによると、 define-egg-environment という
nishi> 関数を使って環境設定をしているようで、どこかのソースから
nishi> 取ってきたものを仮名入力用に書き換えて使っていました。

nishi> これよりもスマートな方法がありそうなので、もうちょっと調べてみます。

今日になって、 XEmacs の設定に取り組んだところ、
仮名入力できるようになりました。

結局、 define-egg-environment を使うのが一番良さそうです。

/usr/lib/xemacs-21.1.12/lisp/mule/japanese.el.gz に

;; EGG specific setup
(define-egg-environment 'japanese
  "Japanese settings for egg."
  (lambda ()
    ...

という部分があるので、これを自分の設定ファイル
(~/.xemacs.el) にコピーして、変更します。

私は、 XEmacs と Emacs で共通に使えるように、
次のようにしました。

(defun its:select-kanainput ()
  (interactive) (its:select-mode "kanainput"))
(defun setup-egg-kanainput-environment ()
  (define-key fence-mode-map "\M-\C-j" 'its:select-kanainput)
  (setq its:*standard-modes*
	(cons (its:get-mode-map "kanainput")
	      its:*standard-modes*))
  ;; ここに変換規則の変更を入れる
  )
(if (fboundp 'define-egg-environment)
    ;; XEmacs 用の設定
    (define-egg-environment 'japanese
      "Japanese settings for egg."
      (lambda ()
	(when (not (featurep 'egg-jpn-kanainput)) ; 名前を変更
	  (load "its-hira")
	  (load "its-kata")
	  (load "its-hankaku")
	  (load "its-zenkaku")
	  (setq its:*standard-modes*
		(append
		 (list (its:get-mode-map "roma-kana")
		       (its:get-mode-map "roma-kata")
		       (its:get-mode-map "downcase")
		       (its:get-mode-map "upcase")
		       (its:get-mode-map "zenkaku-downcase")
		       (its:get-mode-map "zenkaku-upcase"))
		 its:*standard-modes*))
	  (and (load "its-kanainput" t)		  ; 追加
	       (setup-egg-kanainput-environment)) ;
	  (provide 'egg-jpn-kanainput)) ; 名前を変更
	(setq wnn-server-type 'jserver)
	(setq-default its:*current-map*
		      (or (its:get-mode-map "kanainput") ; 追加
			  (its:get-mode-map "roma-kana")))
	))
  ;; Emacs 用の設定
  (cond ((load "its/kanainput" t)
	 (setup-egg-kanainput-environment)
	 (setq-default its:*current-map*
		       (its:get-mode-map "kanainput"))
	 )))

フェンスモードで、 M-C-j で他の入力モードから仮名入力に
切り替えることができるようにしています。

XEmacs ではうまく動くようになりましたが、 Emacs 20 では
まだ、最初はローマ字入力になってしまいます。 (;_;)
Emacs 20 の Egg のソースは RPM では入らないようなので、
これ以上の追究はしていません。

これで、これからは XEmacs で快適に過ごせそうです。
;; でもこのメイルは XEmacs で書いてない ^^;

-- 
西村 大介 <nishi@graco.c.u-tokyo.ac.jp>
東京大学 総合文化研究科 広域システム科学系

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」