« 前のひとこと | トップページ | 次のひとこと »

cocolog:87357678

Windows 10 で IME なしの日本語キーボードを追加する方法がどうやらなくなっているらしい。そのため、Emacs で quail-naggy.el を使うには、DIFE.exe がほぼ必須のようだ。 (JRF 8141)

JRF 2017年5月 8日 (月)

Windows 用の Emacs (例えばバージョン 25.2) で IME を用いず、leim (quail や skk) を使いたいとき、Emacs の中途半端な IME や TSF の実装が邪魔になる。特に私の作っている quail-naggy.el では、カタカナ確定の「変換」キーがらみでおかしな動作をしてしまう。この悩みは gnupack や NTEmacs では解決できない。

JRF2017/5/86730

Windows 7 では↓の引用のような対策が取れた。

《quail-naggy.el: 単漢字変換 Input Method for Emacs》
http://jrf.cocolog-nifty.com/software/2015/10/post.html

JRF2017/5/86194

>gnupack の Emacs で、Windows の日本語 IME を『風』ではなく、 Windows 標準の Microsoft IME を使っていると、「変換」キーでカタカナ変換をしたあと、変換モードに入ってしまう。これを避けるには、私が標準的でないと思っている、S-tab でカタカナ変換しないといけない。

JRF2017/5/80428

(…)

これを避けるもう一つの方法は、IME のツールバーを右クリックで出てくる設定において、追加として日本語キーボードに(Microsoft IME でなく)単なる「日本語」と書かれたものも選択しておき、shift+control などで選んで、その Microsoft IME でない、日本語キーボードを使うというものである。

JRF2017/5/83748

ところが、Windows10 だと、[スタート]→[時刻と言語]→[地域と言語]→[日本語 の オプション] で、[キーボードの追加]をしようとして選択肢を見ても IME なしの日本語キーボードがない。英語キーボードとかだと、キーの位置が変わってしまい、そもそも「漢字」キーが使えなくなる。

JRF2017/5/82430

……。

そこで、必要になってくるのが、Emacs での IME の起動を外から強制的に OFF にする DIFE.exe (Disable IME for Emacs)。

↓で私はまず知ったが、

《GNU emacs で Windows のIMEを無効にする ハードなソフトの話/ウェブリブログ》
http://hardsoft.at.webry.info/201203/article_2.html

JRF2017/5/83645

結局、↓から取得する。

《Disable Ime For Emacs》
https://www.emacswiki.org/emacs/DisableImeForEmacs

そこの Emacs 23 用と書かれている DIFE-DisableIMEforEmacs-r1-bin.zip を取って来れば良い。Emacs 25.2 でも使えた。

JRF2017/5/81298

そこのページに書いてるように Emacs を起動させるときに、DIFE.exe も起動するようにすれば良いのだが、Emacs を終了したあとも DIFE は常駐したままになる。ところが、Emacs を再起動したときは、DIFE は二重起動が抑制される上に、再起動した Emacs はフックされないらしく Disable IME が有効にならない。よって、Emacs を再起動するときは、DIFE もタスクバーのアイコンから終了するようにしないといけないようだ。

JRF2017/5/81137

なお、DIFE.exe のインストーラはなく、runemacs.exe のあるディレクトリにでも EmacsHooker.dll とともにインストールすればいいのだが、Windows 10 そのままだと、実行しようとしても MFC71.dll と MSVCR71.dll がないと言われて実行できない。今、検索すると、MSVCR71.dll のほうは簡単に見つかるが、MFC71.dll のほうは簡単に見つからない。

JRF2017/5/84080

MFC71.dll は「Microsoft .NET Framework Version 1.1 再頒布可能パッケージ」で入れれば良いという情報があるが、Windows 10 ではそれを使ってもうまくいかないようだった。結局、ライセンスの都合からか、そうとははっきり書いていない↓を使うのが便利だった。

《VC++ .NET ランタイムインストーラーの詳細情報 : Vector ソフトを探す!》
http://www.vector.co.jp/soft/win95/util/se353331.html

JRF2017/5/83067

(なお、これには MFC70.dll もついてくるようだ。)

JRF2017/5/83786

……。

…と、この段階で、(ActivePerl か Cygwin Perl と Unicode::Japanese をインストールして、適宜設定していれば) quail-naggy.el はいちおう使えるようになるはずだ。ただし、フォントの関係で、候補表示がどうしてもズレてしまう。

JRF2017/5/89531

これをまともにするにはフォントを別のにするしかない。

↓を参考にして…

《Windows の Emacs で Myrica フォント(等幅)を使う - Qiita》
http://qiita.com/ybiquitous/items/5b319a62e9260b65bab0
>↓の設定を追加。

(add-to-list 'default-frame-alist '(font . "Myrica M"))

JRF2017/5/84790

↓のフォントをインストール。フォントのインストールはエクスプローラで ttc ファイルを右クリックしたメニューの中にあるインストールを選べば良い。

《プログラミングフォント Myrica / Estable | Myrica (ミリカ)は、フリーなプログラミング用 TrueType フォントです。》
https://myrica.estable.jp/

JRF2017/5/84658

このフォントにすると、quail-naggy.el の以下の設定は 25.2 ではいらなくなった。(24.5 ではこのフォントでも必要だった。)

<pre>
(if (>= (string-to-number emacs-version) 24.5)
(progn
(setq naggy-vk-split-window-length 7)
(setq naggy-vk-frame-length 7)))
</pre>

JRF2017/5/83391

……。

Windows 10 は後方互換性もあって広く使われているようだが、私には今一つな要素が多い。父の Windows 7 から Windows 10 に「強制的に」アップデートされたマシンを譲り受けて使っているのだが、バルーンティップが表示されなかったり、DDwin がうまくインストールできなかったり問題が多い。問題といかなくても、IME なしの日本語キーボードがなかったり、スタートメニューに項目の追加が難しくなっていたりして不満点も多い。

JRF2017/5/82588

Microsoft は本当にこの OS で利を得ているのだろうか? ちゃんとユーザーの意見はブロックされずに届いているのだろうか? なぜ、この OS に関する訴訟のニュースを聞くことがないのか、私は不思議に思う。(私がニュースを得ているスラドにマイクロソフトが出資してるから?)

JRF2017/5/87537

……。

……。

追記。

MS Windows では DIFE.exe を使うのに対し、X Window の場合は、~/.Xresources に次のような設定をすればいいらしい。

<pre>
Emacs.useXIM: off
</pre>

JRF2017/5/178443

これは↓に書かれた方法。

《Input Methods - EmacsWiki》
https://www.emacswiki.org/emacs/InputMethods

JRF2017/5/172348

ただし、他によると

<pre>
Emacs*useXIM: false
</pre>

と書くべきだが、どうもそれが読み込まれない環境があるらしく、

<pre>
Emacs24*useXIM: false
</pre>

と書いたり、emacs を起動するとき、

<pre>
$ XMODIFIERS=@im=none emacs
</pre>

…とすればいいみたい。

JRF2017/5/174711

でも、この辺り、MS Windows でも X Window でも問題になってるみたいだから、.emacs から設定できるようにしてくれたらいいのに…と思う。

JRF2017/5/177825

« 前のひとこと | トップページ | 次のひとこと »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/93568/65251060

トラックバックのポリシー

他サイトなどからこの記事に自薦された関連記事(トラックバック)はまだありません。

このころのニュース