NTEmacs とは、Emacs のソースを Windows 上でコンパイルしたものです。 私は、Microsoft Visual C を持ってないので、Cygwin でのコンパイルについて紹介し ます。
Meadow は Windows 用に改造を施しており、標準で IME が使えます。
また、Meadow の方がインストールが簡単なので、Emacs の最新版を追いかける
のでなければ、Meadow の方がお薦めです。
素の NTEmacs では、Windows の IME が使えないので、SKK や leim 等を使わないといけません。
でも、ありがたいことに、三好さんが、IME を使えるように patch を配布していますので、興味のある方は下記のページを参照して下さい。
http://www.boreas.dti.ne.jp/~miyoshi/NTEmacs21/index.html
また、私の環境ではちょっと表示が遅いのですが、最新の計算機では問題ないと思います。
それと、フォントの表示が Meadow と比べると見やすいし、綺麗です。
同じ info の見た目を置いておきますので、比べて下さい。
Meadow.gif
NTEmacs.gif
Emacs は Ctrl キーを多用するので、日本語 106(109) キーボードを 使っている人は、Caps と Ctrl キーを入れ替えないと不便でしょう。
Windows 95, 98, Me 上でキーを入れ替えるためには、 The Windows 95 Kernel PowerToys の Windows 95 Keyboard Remap をインストールします。
まず、w95krnltoys.exe を実行してできる KEYREMAP.INF をエクスプローラーの右クリックで「インストール」します。
すると、「コントロールパネル」の 「キーボード」で、「Remap」 ができるので、そこで Caps と Ctrl キー を入れ替えることができます。
Windows NT, 2000, XP の場合は
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
に Scancode Map を作成します。 詳細は下記サイトを参照してください。
http://www.microsoft.com/HWDEV/input/W2kscan-map.htm
Meadow のように簡単にはいきません。なにせコンパイルするのですから。
$ tar zxvf emacs-21.1.tar.gz $ tar zxvf leim-21.1.tar.gzです。
古い cygwin には mingw の /usr/include/mingw32/assert.h にバグがあります。
--- assert.h.orig Tue Dec 26 02:44:58 2000 +++ assert.h Tue Jan 30 10:43:47 2001 @@ -42,5 +42,5 @@ * If not debugging, assert does nothing. */ -#define assert(x) ((void)0); +#define assert(x) ((void)0) #else /* debugging enabled */
つまり、
assert.h の #define assert(x) ((void)0);の最後にセミコロン (;) が間違って入っているので、それを消せばいいのです。
cygwin 1.1.6 からは直っているようです。
c:\windows\command.com /e:4096 /c c:\emcas\nt\configure.bat --with-gccのようにします。
$ cd emacs/nt $ make $ make installして、できあがり。
エラーがでても、*.exe ができてればよし。 その場合、emacs/bin に *.exe と fns-xxx.el を集め、 addpm.exe でレジストリ情報を書込みます。
レジストリは、HKEY_LOCAL_MACHIN\SOFTWARE\GNU\Emacsです。
C:\ にある autoexec.bat を設定します。(MS-DOS以来久しぶり (゚o゚))
reboot しないと設定は反映されません。 WindowsNT 系では autoexec.bat で設定する代わりに「マイコンピュータ」->「プロパティ」 ->「詳細」タブ内にある環境変数内で設定します。
SET PATH=C:\emacs\bin;\%PATH% ---パスの覗 SET HOME=C:\home ---ホームディレクトリ SET TMP=C:\tmp ---テンポラリディレクトリ SET TZ=JST-9 ---タイムゾーンタイムゾーン以外は自分の環境に合わせてください。
autoexec.bat の SET HOME で設定したディレクトリに .emacs を置きます。
内容は、ほとんど Meadow と変わりませんが、日本語入力、フォントといった重要なところが違います。
;;; まず、環境を日本語にする
(set-language-environment "Japanese")
;;; デフォルトで JIS になっているので、Windows のために、S-JIS にしておきましょう。
;;; coding-system の設定
(set-default-coding-systems 'japanese-shift-jis-dos)
(set-clipboard-coding-system 'japanese-shift-jis-dos)
(set-w32-system-coding-system 'japanese-shift-jis-dos)
(setq default-file-name-coding-system 'japanese-shift-jis-dos)
(setq default-buffer-file-coding-system 'japanese-shift-jis-dos)
(setq default-terminal-coding-system 'japanese-shift-jis-dos)
(setq default-keyboard-coding-system 'japanese-shift-jis)
(setq default-process-coding-system
'(undecided . japanese-shift-jis-dos))
;;; フォントの設定
;;; BDF フォントの場合は、16dots のフォントを使って
(setq bdf-directory-list
'("c:/cygwin/usr/local/font/bdf/European"
"c:/cygwin/usr/local/font/bdf/Japanese"
"c:/cygwin/usr/local/font/bdf/Japanese-X"
"c:/cygwin/usr/local/font/bdf/Misc"))
(setq w32-bdf-filename-alist
(w32-find-bdf-fonts bdf-directory-list))
;;; そして、
;;; (w32-find-bdf-fonts "directory")
;;; を *scratch* で評価 (C-j) して得られたフォント名を下記のように記入。
(create-fontset-from-fontset-spec
"-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf,
; ascii:-*-*-medium-r-normal-*-16-*-*-*-c-80-jisx0201*-*,;;please comment-out
latin-iso8859-1:-ETL-Fixed-Medium-R-Normal--16-160-72-72-C-80-ISO8859-1,
latin-iso8859-2:-ETL-Fixed-Medium-R-Normal--16-160-72-72-C-80-ISO8859-2,
latin-iso8859-3:-ETL-Fixed-Medium-R-Normal--16-160-72-72-C-80-ISO8859-3,
latin-iso8859-4:-ETL-Fixed-Medium-R-Normal--16-160-72-72-C-80-ISO8859-4,
latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*,
japanese-jisx0208-1978:-*-*-medium-r-normal--16-*-*-*-C-*-JISC6226.1978-0,
japanese-jisx0212:-*-*-medium-r-normal--16-*-*-*-c-*-JISX0212.1990-0,
bitmap:-ETL-Fixed-Medium-R-Normal--16-120-100-100-M-80-BITMAP.8x16-0" nil 1)
;;; そして、フォントエンコードして、
(setq font-encoding-alist
(append '(("JISX0208" (japanese-jisx0208 . 0))
("JISX0208.1978" (japanese-jisx0208-1978 . 0))
("JISX0212" (japanese-jisx0212 . 0)))
font-encoding-alist))
;;; 最後にフレームを設定。
(setq default-frame-alist
(append
'((foreground-color . "snow") ; 前景色
(background-color . "black") ; 背景色
(cursor-color . "red") ; カーソル色
(width . 80) ; フレーム幅(文字数)
(height . 30) ; フレーム高(文字数)
(top . 30) ; フレームの Y 位置(ピクセル数)
(left . 250) ; フレームの X 位置(ピクセル数)
(tool-bar-lines . 0)
(font . "fontset-bdf"))
default-frame-alist))
;;; 認識されている全部のフォントリストは
;;; w32-bdf-filename-alist
;;; を評価すれば得られます。
;;; Windows TruetType フォントの場合は、
;;; (insert (prin1-to-string (w32-select-font)))
;;; を 評価して、
;;; "-*-\202l\202r \226\276\222\251-normal-r-*-*-16-120-*-*-c-*-jisx0208-sjis"
;;; のようなフォント名を取得できますので、それを設定します。
(create-fontset-from-fontset-spec
"-*-Courier New-normal-r-*-*-13-*-*-*-c-*-fontset-null,
japanese-jisx0208:-*-\202l\202r \226\276\222\251-normal-r-*-*-16-120-*-*-c-*-jisx0208-sjis,
japanese-jisx0212:-*-\202l\202r \226\276\222\251-normal-r-*-*-16-120-*-*-c-*-jisx0208-sjis,
katakana-jisx0201:-*-\202l\202r \226\276\222\251-normal-r-*-*-16-120-*-*-c-*-jisx0208-sjis,
latin-jisx0201:-*-Courier New-normal-r-*-*-13-*-*-*-c-*-iso8859-1,
japanese-jisx0208-1978:-*-\202l\202r \226\276\222\251-normal-r-*-*-16-120-*-*-c-*-jisx0208-sjis")
(setq initial-frame-alist
'((foreground-color . "black")
(background-color . "snow")
(width . 80) (height . 37)
(top . 0) (left . 100)
;;(menu-bar-lines . 1)
; (vertical-scroll-bars . nil)
(font . "fontset-null")
))
他は 2. .emacs の小技を見て下さい。
CVS 版が Emacs21.3.50 になっています。(2002/05/25)