XEmacs on MS-Windows - 設定

~/.xemacs/init.el に記述する設定について、主だったものをあげます。

Coding System

日本語環境で起動した場合は自動的にデフォルトの Coding System が shift_jis-dos になるようにしています。もしデフォルトの Coding System を変更したい場合は、prefer-coding-system を使って次のよう にします。以下はデフォルトの Coding System を euc-jp に設定して います。こうするとファイルを開く時の文字コードの自動判別でも euc-jp が優先されるので、主に euc-jp のファイルを使う人はこうし ておいたほうがいいでしょう。

(prefer-coding-system 'euc-jp)
    

フォント

Windows 版 XEmacs のフォントは次のような形で指定します。

fontname[:[weight][ style][:pointsize[:effects]]][:charset]

例えば、日本語をMS ゴシックの10ポイントで表示する場合、

MS ゴシック:Regular:10::Japanese

というようなフォントを指定します。実際に init.el には次のように 書きますが、これは ASCII や ISO8859-1 の文字は Courier の、日本 語についてはMS ゴシックの 10 ポイントを指定するという場合の設 定です。

(set-face-font 'default 
	       '("Courier New:Regular:10::Western"
		 "MS ゴシック:Regular:10::Japanese")
	       nil 'mswindows)
    

使えるフォントの一覧を得るには、 (list-fonts "") という式を評価 すればいいです。

上記の設定だと、ASCII の文字と日本語で別のフォントが使われ、文字 の幅が等幅になりません。文字を使った図を見る時など、ASCII と日本 語の文字で幅が揃うようにしたい場合は、両方とも同じフォントが使わ れるようにします。またフォントのポイントも半角が全角の半分になる ように 9 ポイントや 12 ポイントを選ぶ必要があります。MSゴシッ クを使う場合は以下のようにします。

(set-face-font 'default 
	       "MS ゴシック:Regular:12::"
	       nil 'mswindows)
    

Windows 95 に付属の MS のフォントは Latin 文字が入っていないので この設定だけではうまくいきません。以下のようにして、ASCII の文字 で日本語のフォントを使うようにします。

(mswindows-set-charset-codepage 'ascii 932)
    

印刷

file メニューから print を選ぶか、M-x generic-print-buffer で現 在の buffer を印刷できます。

ディスプレイに表示するのとは別のフォントを使いたい場合はデバイス として 'msprinter を指定して、以下のようにフォントを設定します。

(set-face-font 'default 
	       '("Courier New:Regular:9::Western"
		 "MS 明朝:Regular:9::Japanese")
	       nil 'msprinter)
    

ヘッダーとフッターはそれぞれ変数 printer-page-header と printer-page-footer に値を設定することによって制御できます。それ ぞれ、内容によっては横幅がはみ出してしまう場合があるので、ヘッダ やフッタが必要ない場合は nil を設定してください。詳しくは describe-variable (C-h v) して参照してください。

また、プリンタ内蔵のフォントを使うと表示がおかしくなる場合があり ます。そのような場合はプリンタのプロパティで内蔵フォントを使わな い設定にしてください。

パッケージ

efs で ftp によるファイルの取得でエラーが起きる場合は、以下のよ うに明示的に ftp.exe を指定するとうまくいく場合があります。

(setq efs-ftp-program-name "C:\\winnt\\system32\\ftp.exe")
    

dired でファイルをコピーするときにエラーが出ますが、これはファイ ルのタイムスタンプを書き換える機能が実装されていないためです。以 下のようにタイムスタンプを書き換えないようにすることによって回避 できます。

(setq dired-copy-preserve-time nil)      
    

XEmacs on MS-Windows