更新日 "2005年08月29日"

1. Meadow

Emacs の Windows版って言われても、そもそも Emacs ってなに?という人もいるでしょう。

簡単に言えば「エディタ」ですが、単なる「エディタ」にとどまらず、メールを読んだり、ファイル操作をしたりと、その奥行きの深さを知ると、まず抜けきれません。

だったら、Unix にすれば、と言われちゃいそうですが、会社じゃ何とかの一つ覚えで Exe* や Wor*が幅を効かせているので、使わない訳にもいきません。

てなことで、Windows を捨てきれない私は Meadow に感謝・感謝なのです。


[TOP] [Windows で Unix Like] [戻る]
目次

1.1 Meadow-1.13b1

1.1.1 必要なもの


1.1.2 インストール

インストール自体は簡単です。
  1. Meadow-1.13b1-i386.tar.gz を解凍してできる install.exe を実行します。
    このとき、ホームディレクトリを聞かれますので、好きなところを指定しましょう。
    このホームディレクトリに設定ファイル .emacs を置くことになります。
    **注意**
    ホームディレクトリの指定は、c:\home\hoge のようにしないと、 .emacs の読み込みに失敗します。
    もし、間違って、/home/hoge のようにしてしまったら、レジストリエディタ (regedit.exe) で、\HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Meadow\(version)\Environment の、 HOME を修正して下さい。
  2. Meadow\1.13b1\bin\temacs.exe にはバグがあるので、 temacs-1.13b1-2.exe.gz を解凍して置き換えます。

1.1.3 設定

1.1.3.1 autoexec.bat の設定

C:\ にある autoexec.bat を設定します。(MS-DOS以来久しぶり (゚o゚))

reboot しないと設定は反映されません。 WindowsNT 系では autoexec.bat で設定する代わりに「マイコンピュータ」->「プロパティ」 ->「詳細」タブ内にある環境変数内で設定します。

SET PATH=C:\MEADOW\1.13b1\bin;\%PATH% ---パスの追加
SET HOME=C:\home ---ホームディレクトリ
SET TMP=C:\tmp ---テンポラリディレクトリ
SET TZ=JST-9 ---タイムゾーン
タイムゾーン以外は自分の環境に合わせてください。

1.1.3.2 .emacs の設定

install.exe を実行したときに指定したディレクトリ、または autoexec.bat の SET HOME で設定したディレクトリに .emacs を置きます。
1.1.3.2.1 必要最小限の設定
これだけで、動くことは動くらしいですが、ほとんど使い物になりません。
(set-language-environment "Japanese")
(mw32-ime-initialize)
(setq default-input-method "MW32-IME")
1.1.3.2.2 フォントの設定

http://www.NetLaputa.ne.jp/~kose/Emacs/ 小関さんのページ
http://www.boreas.dti.ne.jp/~miyoshi/Meadow/ 三好さんのページ
http://www.ymzk.org/~yama/ 山尾さんのページ
を参考にしました。

英字フォントを Windows の TrueType Courier にすると、画面に汚いゴミが残るので、注意してください。

私は BDF フォントがお気に入りなのですが、Windows 特有のローマ数字や○の中に数字の入ったような機種依存文字を読む場合は、フォントを Windowsのものに切り替えましょう。最近、教えてもらうまで、気付きませんでした。

もらってきた BDF フォントを全部 c:\usr\local\font\bdf にコピーして、下記を ~/.emacs に記述します。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; フォント設定用の補助関数

(defun my-define-font (prefix font-param logfont-charset-list)
  (let (charset-font-list logfont-list charset-alist)
    (while logfont-charset-list
      (setq logfont-list (nth 0 (car logfont-charset-list)))
      (setq charset-alist (nth 1 (car logfont-charset-list)))
      (while charset-alist
        (let* ((charset (caar charset-alist))
               (encoding (cdar charset-alist))
               (font-name (concat prefix (symbol-name charset))))
          (create-font-from-logfont-list font-name
                                         logfont-list encoding font-param)
          (setq charset-font-list
                (cons (cons charset font-name) charset-font-list)))
        (setq charset-alist (cdr charset-alist)))
      (setq logfont-charset-list (cdr logfont-charset-list)))
    charset-font-list))

;;; bdf フォントのパス
(let ((bdf-dir "c:/usr/local/font/bdf/")
      charset-font-list logfont-charset-list font-param)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; TrueType16 フォントの設定

  (setq font-param
        '((overhang     . 0)
          (base         . 14)
          (height       . 16)
          (width        . 8)))
  ;; 論理フォントと、対応する文字集合のリスト
  (setq logfont-charset-list
	`((((bdf-font ,(concat bdf-dir "lt1-16-etl.bdf"))
	    (bdf-font ,(concat bdf-dir "lt1-16b-etl.bdf"))
	    (bdf-font ,(concat bdf-dir "lt1-16i-etl.bdf"))
	    (bdf-font ,(concat bdf-dir "lt1-16bi-etl.bdf")))
	   ;; 文字集合と、フォントのコーディング方法の連想リスト
           ((ascii              . 0)
            (latin-iso8859-1    . 1)))
	  ;; 日本語フォント
          (((w32-logfont "MSゴシック" 0 -16 400 0 nil nil nil 128 1 3 49)
	    (w32-logfont "MSゴシック" 0 -16 700 0 nil nil nil 128 1 3 49)
            (w32-logfont "MSゴシック" 0 -16 400 0 t nil nil 128 1 3 49)
            (w32-logfont "MSゴシック" 0 -16 700 0 t nil nil 128 1 3 49))
           ((latin-jisx0201     . 0)
            (katakana-jisx0201  . 4)
            (japanese-jisx0208  . 4)))))

  ;; フォントの作成(結果は文字集合と、作成したフォントの連想リスト)
  (setq charset-font-list
        (my-define-font "w16-" font-param logfont-charset-list))

  ;; ビットマップフォントの作成(x-face, Gnus 用)
  (let ((font-file (expand-file-name "bmp16-etl.bdf" bdf-dir)))
    (when (and (locate-library "bitmap") (file-exists-p font-file))
      (require 'bitmap)
      (setq logfont-charset-list
            `((((bdf-font ,font-file))
               ((bitmap . 0)))))
      (setq charset-font-list
            (append (my-define-font "bdf16-" font-param logfont-charset-list)
                    charset-font-list))))

  ;; フォントセットの作成
  (new-fontset "w16-fontset" charset-font-list)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; 山尾さんの設定

  (setq font-param
	'((overhang     . 0)
	  (base         . 14)
	  (height       . 17)
	  (width        . 8)))
  ;; 英字フォントと、対応する文字集合のリスト
  (setq logfont-charset-list
	`((((bdf-font ,(concat bdf-dir "lt1-16-etl.bdf"))
	    (bdf-font ,(concat bdf-dir "lt1-16b-etl.bdf"))
	    (bdf-font ,(concat bdf-dir "lt1-16i-etl.bdf"))
	    (bdf-font ,(concat bdf-dir "lt1-16bi-etl.bdf")))
	   ;; 文字集合と、フォントのコーディング方法の連想リスト
	   ((ascii              . 0)
	    (latin-jisx0201     . 0)))

	  ;; 日本語フォントと、対応する文字集合のリスト
	  (((w32-logfont "MSP ゴシック" 0 -14 400 0 nil nil nil 128 1 3 49)
	    (w32-logfont "MSP ゴシック" 0 -14 700 0 nil nil nil 128 1 3 49)
	    (w32-logfont "MSP 明朝"     0 -14 400 0 nil nil nil 128 1 3 17)
	    (w32-logfont "MSP 明朝"     0 -14 700 0 nil nil nil 128 1 3 17))
	   ;; 文字集合と、フォントのコーディング方法の連想リスト
	   ((latin-iso8859-1    . 1)
	    (katakana-jisx0201  . 4)
	    (japanese-jisx0208  . 4)))))

  ;; フォントの作成(結果は文字集合と、作成したフォントの連想リスト)
  (setq charset-font-list
	(my-define-font "yamao-" font-param logfont-charset-list))

  ;; ビットマップフォントの作成(x-face, Gnus 用)
  (let ((font "bdf16-bitmap"))
    (if (member font (w32-font-list))
 	(setq charset-font-list
 	      (cons (cons 'bitmap font) charset-font-list))))

  ;; fontset の作成
  (new-fontset "yamao-fontset" charset-font-list)

;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; BDF フォントの設定
    (setq font-param
          '((overhang   . 0)
            (base       . 14)
            (height     . 16)
            (width      . 8)))
    (setq logfont-charset-list
          `((((bdf-font ,(concat bdf-dir "lt1-16-etl.bdf"))
              (bdf-font ,(concat bdf-dir "lt1-16b-etl.bdf"))
              (bdf-font ,(concat bdf-dir "lt1-16i-etl.bdf"))
              (bdf-font ,(concat bdf-dir "lt1-16bi-etl.bdf")))
             ((ascii                    . 0)
              (latin-iso8859-1  . 1)))
            (((bdf-font ,(concat bdf-dir "8x16rk.bdf")))
             ((latin-jisx0201           . 0)
              (katakana-jisx0201        . 1)))
            (((bdf-font ,(concat bdf-dir "jiskan16.bdf")))
             ((japanese-jisx0208        . 0)))))

    ;; フォントの作成(結果は文字集合と、作成したフォントの連想リスト)
    (setq charset-font-list
          (my-define-font "bdf16-" font-param logfont-charset-list))

    ;; ビットマップフォントの作成(x-face, Gnus 用)
    (let ((font "bdf16-bitmap"))
      (if (member font (w32-font-list))
          (setq charset-font-list
                (cons (cons 'bitmap font) charset-font-list))))

    ;; fontset の作成
    (new-fontset "bdf-fontset" charset-font-list)

;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; BDF Line-Space フォントの設定 
    (setq font-param
          '((overhang   . 0)
            (base       . 14)
            (height     . 16)
            (width      . 8)))
    (setq logfont-charset-list
          `((((bdf-font ,(concat bdf-dir "lt1-16-etl.bdf"))
              (bdf-font ,(concat bdf-dir "lt1-16b-etl.bdf"))
              (bdf-font ,(concat bdf-dir "lt1-16i-etl.bdf"))
              (bdf-font ,(concat bdf-dir "lt1-16bi-etl.bdf")))
             ((ascii                    . 0)
              (latin-iso8859-1  . 1)))
            (((bdf-font ,(concat bdf-dir "8x16rk.bdf")))
             ((latin-jisx0201           . 0)
              (katakana-jisx0201        . 1)))
            (((bdf-font ,(concat bdf-dir "jiskan16.bdf")))
             ((japanese-jisx0208        . 0)))))

    ;; フォントの作成(結果は文字集合と、作成したフォントの連想リスト)
    (setq charset-font-list
          (my-define-font "bdf16-linespace-" font-param logfont-charset-list))

    ;; ビットマップフォントの作成(x-face, Gnus 用)
    (let ((font "bdf16-bitmap"))
      (if (member font (w32-font-list))
          (setq charset-font-list
                (cons (cons 'bitmap font) charset-font-list))))

    ;; fontset の作成
    (new-fontset "bdf-linespace" charset-font-list))

;;; フレームの設定

(setq default-frame-alist
      (append 
       '((foreground-color   . "snow")  ; 前景色
         (background-color   . "black") ; 背景色
         (cursor-color       . "red")   ; カーソル色
         (width              . 80)	; フレーム幅(文字数)
         (height             . 30)	; フレーム高(文字数)
         (top                . 30)	; フレームの Y 位置(ピクセル数)
         (left               . 250)	; フレームの X 位置(ピクセル数)
	 (cursor-type        . box)	; カーソルタイプ 1.13b2-test, 1.14 用
	                                ; box bar caret から選ぶ
					; SKK を使う場合、box でないと
					; カーソルの色が変わらない。
         (ime-font           . "w16-japanese-jisx0208") ; IME 用のフォント
;;	 (vertical-scroll-bars . nil)	;スクロールバーを表示しない
         (font               . "bdf-fontset"));デフォルトのフォントセット
 default-frame-alist))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; change line-space

 (let* ((fontset "bdf-linespace")
        (info (fontset-info fontset))
        (font (nth 1 (assq 'ascii (aref info 2))))
        (alis (w32-get-font-info font))
        (old-height (aref info 1)))
   (setcdr (assq 'height alis) 18)	; 行間を広げる height + 広げる dot 数
					; 16 + 2 => 18
   (w32-change-font-attribute font alis)
   (set-fontset-font fontset 'ascii font))

フォントの切り替えは、シフトを押しながら、左マウスで、Fontset というメニューが出るので、それを選択します。

上記では、行間を 2dots 広げた fontset を bdf-linespace としています。
[meadow-users-jp: 3352] と [meadow-users-jp: 3524] を参考にしています。
矢木さんと小関さんに感謝感謝。

別の方法として、8x16.bdf をいじるものもあります。
まず、小関さんのページから、intlfonts.el をもらってきます。
これには、marumoji.font など、16dot.tar.gz にはないフォントの設定がありますので、適宜、削除します。
小関さんは、上記の bdf-linespace の方法に変えているそうですが、intlfonts.el 自体は、多言語フォントを表示するのに有用なので、もらっておいた方がいいでしょう。

そこで、8x16.bdf の 44行目あたりの

FONT_DESCENT 2
FONT_ASCENT 14
FONT_DESCENT 3
FONT_ASCENT 15
に変えた 8x18.bdf を作れば出来上がりです。
1.1.3.2.3 IMEの設定
IME による日本語入力ができます。モードライン行に [あ] という表示ができます。

Ctrl-x (コントロールキーを押しながら x キーを押す) RET f iso-2022-jp として指定するか、.emacs の1行目に
;;; -*- coding: iso-2022-jp -*-
として、JISで保存しないと、モードライン行の [あ] が化けます。

IME は Ctrl-\ で切り替えます。

;;; -*- coding: iso-2022-jp -*-
(mw32-ime-initialize)
(setq default-input-method "MW32-IME")
(add-hook 'mw32-ime-on-hook
	  (lambda () (set-cursor-color "blue1")))
(add-hook 'mw32-ime-off-hook
	  (lambda () (set-cursor-color "red")))
(setq mw32-ime-mode-line-state-indicator "[--]")
(setq mw32-ime-mode-line-state-indicator-list '("--" "[あ]" "[--]"))
1.1.3.2.4 load-path の設定
ELisp を追加する時には、load-path を通す必要があります。

設定例

(setq load-path
  (append '("c:/usr/local/share/emacs/site-lisp/dir1"
	    "c:/usr/local/share/emacs/site-lisp/dir2"
	    )
            load-path))

1.2 Emacs 20.7 ベースの Meadow-1.13b1++ があります。

Meadow-1.14 のリリースに伴い、小関さんのページから Meaow-1.13b1++ は消えています。

1.2.1 必要なもの

1.2.2 インストール

  1. ftp://ftp.m17n.org/pub/mule/Windows/beta/ Meadow-1.13b1-i386.tar.gz を展開
  2. bzcat Meadow-1.13b1++.tar.bz2 | tar xvf -
  3. bzcat temacs20001031.exe.bz2 > Meadow/1.13b1/bin/temacs.exe
    として上書して、
  4. install.exe を実行

1.3 Meadow-1.13b2-test がでてます。(2001/01/05)

1.3.1 必要なもの

1.3.2 インストール

install.exe を実行するだけです。

1.3.3 注意

1.4 Meadow-1.14 がリリースされました。(2001/04/01)

インストールは、Meadow-1.13b1 の 1.1.2 インストール と同じです。

1.4.1 必要なもの

  1. ftp://ftp.m17n.org/pub/mule/Windows/ Meadow-1.14-i386-base.tar.gz
    必要最小限のアーカイブです。
  2. ftp://ftp.m17n.org/pub/mule/Windows/ Meadow-1.14-i386-els.tar.gz
    上記のアーカイブの元になる *.el ファイルです。Meadow に限らず、 Emacs に興味があるなら、是非入れましょう。
  3. http://www.egroups.co.jp/files/emacs21-users-ja/Meadow/
    APEL は入れておきましょう。必要になる可能性大です。

1.5 Meadow-1.14.2pre3 がリリースされました。(2001/05/09)

Meadow-1.14 の bug fix 版がリリースされました。
Meadow-1.14 では WindowsMe のネットワーク関連で不具合が報告されていますので、
Meadow-1.14.2pre3 を使ってみて下さい。
WindowsMe 環境な Meadow 開発者は少いようなので、Meadow develop メーリングリストヘ、利用報告をすると喜ばれます。

1.5.1 必要なもの

  1. http://www.egroups.co.jp/files/emacs21-users-ja/Meadow/ Meadow-1.14-1.14.2pre3.tar.gz
    egroups は daily download limit があって、とって来れない場合は、 小関さんのページからもらってきましょう。 http://www.NetLaputa.ne.jp/~kose/Emacs/Meadow/Meadow-1.14-1.14.2pre3.tar.gz

1.5.2 インストール

Meadow ディレクトリに Meadow-1.14-1.14.2pre3.tar.gz をコピーして、
$ tar zxvf Meadow-1.14-1.14.2pre3.tar.gz
で展開して上書きします。
次に temacs.exe をバックアップしておいて、temacs-1.14.2pre.exe を temacs.exe にコピーします。
最後に、dump95.bat(dumpNT.bat)を実行して完了です。

scracth バッファで
(Meadow-version) ← ここで C-j を押して、
"Meadow-1.14.2pre3 (AWSAKA:62)" となっているか確認しましょう。

1.6 Meadow-1.15pre1 (SHOUBU:63) がリリースされました。(2001/08/31)

1.6.1 必要なもの

  1. Meadow-1.14-1.15pre1.tar.bz2
    Meadow-1.14 または Meadow-1.14.2pre3 からのバイナリ差分です。

1.6.2 インストール

  1. ディレクトリ名を Meadow/1.14 から Meadw/1.15 に変更
    % mv Meadow/1.14 Meadw/1.15
    ですね。
  2. tarball を Meadow-1.14 に上書きする形で展開
    % tar jxf Meadow-1.14-1.15pre1.tar.bz2
    なのですが、私の環境では、tar のオプションに何故か j がないので、
    % bunzip2 Meadow-1.14-1.15pre1.tar.bz2
    % tar xvf Meadow-1.14-1.15pre1.tar
    としてます。
  3. temacs.exe の入れ換え
    元の temacs.exe をバックアップしておいて、temacs-1.15pre1.exe を temacs.exe にコピーします。
    % cp Meadow/1.15/bin/temacs-1.15pre1.exe Meadow/1.15/bin/temacs.exe
  4. install.exe の実行
    Meadow/1.15 の下にある install.exe をエクスプローラからダブルクリック します。
    ホームディレクトリの入力を促されますが、あらかじめ環境変数 HOME を セットしておくと RET を押すだけです。
  5. Meadow-versionの確認
    scracth バッファで
    (Meadow-version) ← ここで C-j を押して、
    "Meadow-1.15pre1 (SHOUBU:63)"
    となっているか確認しましょう。

1.7 Meadow-2.00 Beta1 (NADESHIKO) がリリースされました。(2003/06/19)

Emacs21 をベースにした Meadow2 の Beta version です。
画像の Inline 表示が可能です。

1.7.1 必要なもの

  1. Meadow-2.00b1-i386.tar.gz primary site は
    http://www.meadowy.org/meadow/dists/beta/Meadow-2.00b1-i386.tar.gz
    ですが、混み合うといけないので、 ring server 等の mirror site 例えば、
    http://core.ring.gr.jp/archives/pc/meadow/beta/Meadow-2.00b1-i386.tar.gz を使いましょう。
  2. ImageMagick-5.5.3-Q16
    画像表示するのに必要です。version が違うと動かないそうです。(試してないので分りません)
    http://www.imagemagick.org から探してください。
    と、思いましたが、探しきれないかもしれないので、
    ImageMagick-i686-pc-windows.exe に置いておきました。
  3. libxml2-2.5.1.win32.zip
    ImageMagick に必要な libxml2.dll です。
    libxml2-2.5.1.win32 に置いておきました。
  4. iconv-1.8.win32.zip
    ImageMagick に必要な iconv.dll です。
    iconv-1.8.win32.zip に置いておきました。

1.7.2 インストール

  1. Meadow/2.00b1/install.exe を実行して、レジストリを書き込みます。
  2. libxml2.dll と iconv.dll を Path の通ったディレクトリに置きます。

1.8 Meadow-2.00pre2 (KIKYOU) がリリースされました。(2004/05/27)

Emacs21 をベースにした Meadow2 の Beta version です。
画像の Inline 表示が可能です。

1.8.1 必要なもの

1.8.2 インストール

  1. Meadow/2.00b1/install.exe を実行して、レジストリを書き込みます。

1.9 Meadow-2.10 (ASAGAO) がリリースされています。

Emacs21.3 をベースにした Meadow2 です。

1.9.1 必要なもの

1.9.2 インストール

  1. 上記インストーラを実行します。

1.10 Meadow-2.00 (KIKYOU)(正式版) がリリースされました。

1.10.1 必要なもの

1.10.2 インストール

  1. 上記インストーラを実行します。

1.11 Meadow-2.10 (ASAGAO)(正式版) がリリースされました。

1.11.1 必要なもの

1.11.2 インストール

  1. 上記インストーラを実行します。

[TOP] [Windows で Unix Like]
http://www.yumi-chan.com/
Last Modified: Mon, 29 Aug 2005 22:05:47 +0900