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)