============================================-=== 1999.8.5 発行 =========
         極私的 Emacs カスタマイズ紹介マガヂン
            Emacs をわたし色に染めて♪
------------------------------------------------------------------------
           第 9 回 漢は黙ってカナ入力
------------------------------------------------------------------------
※あなたのカスタマイズをぜひ教えてください。一般的なものから、他の人は
 絶対にしないような「外道」なものまで、何でも結構です。

※解除の方法は、このメールの末尾をごらんください。
========================================================================

	こんにちは。でるもんた・いいじまです。

	さいきん、WWW ページのほうの更新が滞りがちになっています。
	WWW 上には第 6 回までしか書いてませんが、アドレスに「07.txt」
	「08.txt」「09.txt」と入れれば見られるようにはしてありますので、
	申し訳ありませんが当分はアドレスの手入力でお願いします。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

☆目次☆

	○読者のお便りから
	○本日のお題
	○なぜ「カナ入力」か
	○カナ入力にする
	○カスタマイズ
	○日本語キーボードの場合
	○趣味の設定
	○次回予告

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

☆読者のお便りから☆

	○vz.el というものがあります↓
	 ftp://ftp.st.ryukoku.ac.jp/pub/emacs-lisp/vzel/

		ありがとうございます。私はまったく知りませんでした。
		あとで試してみたいと思います。まだ試していませんが、
		いままでずっと気になっていた「物理行単位でのカーソル移動」
		がうまくできるかもしれません。

		ただ、私の最終目標は本物の VZ に近づけることではないので
		(VZ といっても私はすでにカスタマイズしてましたし)、
		あんまり魅力を感じないんです。最近ひさしぶりに VZ に
		触ったら、かえって違和感を感じました。

		【後日訂正】入手場所が変更になっています。詳しくは第 16 回へ。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

☆本日のお題☆

	今回のお題は「JIS カナ入力」です。
	ロォマ字入力ではなく、カナ入力です。

	いまや日本語入力といへばロォマ字カナ変換でありますが、私個人と
	してはカナ入力が肌に合ってゐるので、たとへ英語キィボォドであっても
	カナ入力をしてをります。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

☆なぜ「カナ入力」か☆

	私は旧い人間でありまして、はじめて触ったキィボォドは、今から十数年
	前の、某社のワープロの五十音配列のものでありました。当然ながら
	カナ入力でした。次に触ったワープロ専用機は JIS キィボォドだったの
	ですが、これもカナ入力が当然だと思ってをりました。ついで触った
	8 ビットパソコンでも、やはりカナ入力が当然だと思ってをりました。

	さういふ経験があるので、私は今でもカナ入力派を貫いてをります。
	ちなみに、私の家族は

		○父…カナ入力派
		○母…もとカナ入力派だったが、某ワープロスクールで、
		   ブラインドタッチとともにロォマ字教に改宗(^^;)
		○弟…「新人類」なので最初からロォマ字派

	であります。

				☆

	で、私がカナ入力派なのはあくまで個人的な理由からですが、他人に
	説明するときは、
		(1)打鍵数が少ない
		(2)直感にかなふ
		(3)人為的なルールがない
	といふ点をカナ入力の利点と説明してをります。

	(1)打鍵数が少ない

		これは当然のことですね。

	(2)直感にかなふ

		典型的には「母音のミスタイプの補正」の場合に、ロォマ字
		入力では直感との齟齬が生じます。

		たとへば、ロォマ字カナ変換で「nihongo」と入力しやうとして
		「nig」と入力してしまったとします。このとき「にg」となって
		ゐるわけですが、当然ながら BS を押せば「に」だけになり、
		ここからあらためて「hongo」と入れればいいわけです。

		では、「nihi」と入れてしまったらどうでしゃうか。この場合、
		BS を押すと、i の入力を撤回するのみならず、その前の h を
		入力した効果も消えてしまひ、あらためて「hongo」と入力
		しなければなりません。つまり、最終的には「nihhongo」と
		入れたのと同じことになります。

		カナ入力の場合、かういふ事例に該当するのは「゛」と「゜」
		くらひのもので、他はまったく影響されずに済みます。

	(3)人為的なルールがない

		ロォマ字の場合、たとへば「ぁ」や「っ」などを単独で入力する
		には、たとへば xa や ltu のやうな入力をします。
		かういふ表記はヘボン式にも、もちろん訓令式にもありません。
		ロォマ字カナ変換のための人為的なルールです。

		あるひは、「ぢ」と「でぃ」はどうでしゃうか。一般的なロォマ字
		カナ変換では「ぢ」が di、「でぃ」が dhi ですが、ロォマ字を
		そのまま書く場面では di は「でぃ」でありまして、dhi といふ
		表記は使ひません。かといってそれに合はせてしまふと、ぢゃあ
		「ぢ」はどうやって入力すればいいのか、ji だと「じ」と区別が
		つかないし dji ってのもちょっと…といふことになります。
		このへんの事情は du でも同様です。

		カナ入力ならこの辺の心配は要りません。
		書いてあるとほりに打てばいいのですから(^^;)

				☆

	念のため、ロォマ字派からの反論を粉砕しておきませう(^^;)

	(1)英字 26 字に加へて仮名 45 字を覚へるのは大変

		私の場合、すでに覚へてしまったので問題ありません(^^;)

	(2)ブラインドタッチが覚へられない

		私は英字でもブラインドタッチができないし、覚へるつもりも
		ないので問題ありません(^^;)
		それでもワープロ検定 2 級クラスの入力速度は出ます(^^;)

	(3)英数字混じりの文章を入力する際はいちいちカナロックキィを押さな
	   ければならない

		私の場合、英数字は基本的には半角で書くので、ロォマ字入力
		でも基本的には同様の事情(日本語入力モォドの切り替へ)に
		なりますし、手が反射的に覚へてゐるので苦になりません。

		最近では、ロォマ字カナ変換のまま「alphabet」と入力して
		「あlpはべt」と出し、それから無変換キィを押す方法があり
		ますが、私としては、きはめて気持ち悪いです。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

☆カナ入力にする☆

	┌───────注意────────────────────────┐
	│以下には Wnn 関係の設定方法が書かれていますが、この方法は、そのま │
	│までは Emacs 20.x 以降や XEmacs では使えません。Emacs 20.x 以降や │
	│XEmacs をご利用の場合は、第24回・第25回をあわせてお読み下さい。   │
	└─────────────────────────────────┘

◇kanainput.el を読み込む

	さて、実は Wnn には、カナ入力用のパッケージがすでにあります。
	/usr/local/share/emacs/19.34/lisp/its/kanainput.el というファイル
	です。

		【補足】当然ですが、実際のディレクトリ名は環境によって
			異なりますので、ご自分の環境で確認してください。

	これによると、~/.emacs に次のように書けば、Wnn でカナ入力ができる
	ようになります。

		(load-library "its/kanainput")
		(setq-default its:*current-map*
			(its:get-mode-map "kanainput"))

	こうしてから C-\ を押すと、いままでは [あ] だったはずのところが
	[か] になっていることがわかるでしょう。

◇its:next-mode、its:previous-mode を使いたい場合は

	なお、its:next-mode コマンド、its:previous-mode コマンドを使う
	場合で、その中にカナ入力モードを含めたい場合は、さらに
		(setq its:*standard-modes* (append
			(list (its:get-mode-map "kanainput"))
			its:*standard-modes*
		))
	または
		(setq its:*standard-modes* (cons
			(its:get-mode-map "kanainput")
			its:*standard-modes*
		))
	と書きます。

		【補足】このどちらでも結果は同じです。効率面では後者の
			ほうが速いのですが、体感できるほどではありません。

	なお、kanainput.el には

		(setq its:*standard-modes* (append
			(list
				(its:get-mode-map "kanainput")
				its:*standard-modes*
			)
		))

	と書いてあります。つまり、本来ならば (list...) の外にあるべき
	its:*standard-modes* が、(list...) の中に入っています。
	これは誤りで、ふつうに使うぶんには問題ないのですが、its:next-mode
	コマンドを使ったときにエラーになります。

	【後日注】この誤りについては、関係者に連絡したので、最新の emcws
	     (Emacs 20 以降で Wnn を使えるようにする解決策の一種)
	     および XEmacs では訂正されています。ただし、Mule 2.3
	     についてはすでにバージョンアップは打ち切られています
	     から、訂正されることはないでしょう。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

☆カスタマイズ☆

◇kanainput.el の配列は?

	さて、これで、カナ入力ができるようになりました。
	この場合のキー配列は、次のようになります。

	+----+----+----+----+----+----+----+----+----+----+----+----+----+
	|!  |@  |#ぁ|$ぅ|%ぇ|^ぉ|&ゃ|*ゅ|(ょ|(を|_ろ|+  |〜  |
	|1ぬ|2ふ|3あ|4う|5え|6お|7や|8ゆ|9よ|0わ|−ほ|=へ|`ー|
	++---++---++---++---++---++---++---++---++---++---++---++---++---+
	 |    |    |  ぃ|    |  ヵ|    |    |    |    |    |{「|}」|
	 |Qた|Wて|Eい|Rす|Tか|Yん|Uな|Iに|Oら|Pせ|[゛|]゜|
	 ++---++---++---++---++---++---++---++---++---++---++---++---++
	  |    |    |    |    |    |    |    |    |    |:・|”ヶ||ろ|
	  |Aち|Sと|Dし|Fは|Gき|Hく|Jま|Kの|Lり|;れ|’け|\む|
	  ++---++---++---++---++---++---++---++---++---++---++---+----+
	   |    |    |    |    |    |    |    |<  |>  |?  |
	   |Zつ|Xさ|Cそ|Vひ|Bこ|Nみ|Mも|,ね|.る|/め|
	   +----+----+----+----+----+----+----+----+----+----+

	このように、一般的な英語キーボードを前提にしています。

		【余談】Windows では、日本語 106 系キーボードを接続した
			状態で英語 101 系のキーボードドライバを使うと、
			上記のようなキー配列になります。

◇配列を変更する

	さて、私が kanainput.el を発見した当時に UNIX で使っていた英語
	キーボードの配置では、英数記号の配列が次のようになっていたので、
	カナの配置も少しおかしくなっています。

		-+----+----+----+----+----+----+
		 |(ょ|(を|_ろ|+  ||ろ|〜  |
		 |9よ|0わ|−ほ|=へ|\む|`ー|
		-++---++---++---++---++---+----+
		  |    |    |{「|}」|        |
		  |Oら|Pせ|[゛|]゜| Delete |
		--++---++---++---++---+--------+
		   |    |:・|”ヶ|            |
		   |Lり|;れ|’け|   Return   |
		---++---++---++---+-------+----+
		    |>  |?  |           |    |
		    |.る|/め|   Shift   | Fn |
		----++---++---+-----------+----+

	具体的には、日本語キーボードでは「ー」が「へ」の隣にあるのが
	自然なのに、間に「む・ろ」のキーが挟まれています。
	このふたつは入れ替えるのが自然です。

	また、これは最初からの仕様ですが、Shift+め で中黒「・」が入力
	できなくなっています。

	というわけで、次のようなカスタマイズをしました。
	原理としては、前回説明したローマ字カスタマイズと同じ要領です。

		(its-define-mode "kanainput" "か" nil)
		(its-defrule "\\" "ー")
		(its-defrule "`" "む")
		(its-defrule "~" "ろ")
		(its-defrule "?" "・")

	好みの問題ではありますが、私はさらに次のように加筆しています。

		(its-defrule "4[" "ヴ")
		(its-defrule "We" "ゐ")
		(its-defrule "W5" "ゑ")

		(its-defrule-select-mode-temporally "R" "roma-kana")
		(its-defrule-select-mode-temporally "X" "zenkaku-downcase")

	この its-defrule-select-mode-temporally というのは、「そのキーを
	押すと、一時的に別のモードになる」という指定です。ローマ字カナ変換
	用の roma-kana モードの中で q、Q を押すと英字入力になるのと同じ
	ことです。

	上の例では、大文字の R(つまり Shift+r)を押すとローマ字入力
	モードに、大文字の X(Shift+x)を押すと全角英数字モードになります。

	なお、kanainput.el の中ではすでに、
		○Q(Shift+q)を押すと、次の 1 文字だけが全角英数字になる
		○S(Shift+s)を押すと、roma-kana モードでの z と同様、
		 特殊文字の入力ができる
		○A(Shift+a)を押すと、その先が半角英数字になる
	という設定がなされています。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

☆日本語キーボードの場合☆

	さて、kanainput.el は英語キーボードを前提に作られております。
	従って、そのまま日本語キーボードで使うと、(上記のカスタマイズを
	した場合で)次のような配置になります。

	+----+----+----+----+----+----+----+----+----+----+----+----+----+
	|!  |”ヶ|#ぁ|$ぅ|%ぇ|&ゃ|’け|(ょ|)を|  |=へ|〜ろ||ろ|
	|1ぬ|2ふ|3あ|4う|5え|6お|7や|8ゆ|9よ|0わ|−ほ|^ぉ|\ー|
	++---++---++---++---++---++---++---++---++---++---++---++---++---+
	 |    |    |  ぃ|    |  ヵ|    |    |    |    |    |`む|}「|
	 |Qた|Wて|Eい|Rす|Tか|Yん|Uな|Iに|Oら|Pせ|@ |]゛|
	 ++---++---++---++---++---++---++---++---++---++---++---++---++
	  |    |    |    |    |    |    |    |    |    |+ |*ゅ|}「|
	  |Aち|Sと|Dし|Fは|Gき|Hく|Jま|Kの|Lり|;れ|:・|]゜|
	  ++---++---++---++---++---++---++---++---++---++---++---++---+
	   |    |    |    |    |    |    |    |<  |>  |?・|_ろ|
	   |Zつ|Xさ|Cそ|Vひ|Bこ|Nみ|Mも|,ね|.る|/め|\ー|
	   +----+----+----+----+----+----+----+----+----+----+----+

	これではさすがに困るので、やはりカスタマイズの必要があります。

	ただし、ここでひとつ問題があるのです。

	ふだんから日本語キーボードしか使わない場合はそれに合わせてカスタ
	マイズしてしまえばいいのですが、私の場合は
		○学校では英語キーボード
		○家から telnet で学校に接続するときは日本語キーボード
	なので、どちらかに合わせるわけにもいきません。

	ということで、次のようにします。

		(its-define-mode "kanainput" "か" nil)

		(its-defrule "?" "・")
		(its-defrule "We" "ゐ")
		(its-defrule "W5" "ゑ")
		(its-defrule "\\" "ー")

		(if (y-or-n-p "日本語キーボードですか")
		(progn
			; 日本語キーボード用の設定
			(its-defrule "t@" "が")
			(its-defrule "g@" "ぎ")
				; 中略
			(its-defrule "-[" "ぽ")

			(its-defrule "&" "ぉ")
			(its-defrule "'" "ゃ")
			(its-defrule "(" "ゅ")
			(its-defrule ")" "ょ")
			(its-defrule "^" "へ")
			(its-defrule "W0" "を")	; 106 では Shift+0 は
						; no symbolなので仕方ない
			(its-defrule ":" "け")
			(its-defrule "]" "む")
			(its-defrule "4@" "ヴ")

			(its-defrule "_" "ろ")	; Shift+ろ としないと出ないが
						; これも仕方ない
		)
			; 英語キーボード用の設定
			(its-defrule "4[" "ヴ")
			(its-defrule "`" "む")
			(its-defrule "~" "ろ")
		)

	if と progn の意味については、第 2 回で紹介したとおりです。
	y-or-n-p は…説明しなくてもわかりますよね?

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

☆趣味の設定☆

	前回に引き続き、趣味の設定です。

		(its-define-mode "kanainput" "あ連カナ漢" nil)

	「カナ」の 2 文字は当然半角です。

	これ以上は何も申しません(^^;)

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

☆次回予告☆

	次回は、「第 10 回 エイトック的たまご生活(2)」です。
	外見とローマ字に引き続き、キー操作を ATOK 化します。

	なお、来週・再来週はお休みをいただきます。
	次回は 8/23 になります。

	それではまた♪

========================================================================
極私的 Emacs カスタマイズ紹介マガジン Emacs をわたし色に染めて♪

☆発行人☆

        でるもんた・いいじま <L94102@komaba.ecc.u-tokyo.ac.jp>
                        http://user.ecc.u-tokyo.ac.jp/~l94102/emacs/

                ※このメールマガジンで取り上げてほしいテーマ、ご意見など
                 ありましたら、上のメールアドレスまでお気軽にどうぞ。

☆配信☆
        このメールマガジンは、「インターネットの本屋さん・まぐまぐ」を
        利用して配信しています。
                http://www.mag2.com     (マガジン ID=0000013484)

☆バックナンバー・登録解除・メールアドレス変更は☆

        上記のホームページまでどうぞ。
        なお、手動での登録解除は行っておりませんのでご了承下さい。
=========================================================================

Copyright © IIJIMA Hiromitsu aka Delmonta, 2016/03/10 15:09 JST
これは「古文書」です。 古くなった情報も原則未修正で保存していますのでご注意ください。

古文書本館トップ | 電脳外道学会