
                        <<Color-Mate Q & A 集>>


 このファイルは、 Color-Mate を使うに当たって、遭遇するであろう疑問の答えを
示したものです。

Index
Q1 色がつかない。
Q2 字が見えなくなった。
Q3 カスタマイズした結果が反映されない。
Q4 hilit19 による文字の着色でバッファの一部の文字にしか色が付かない。
Q5 画面上の文字全体に下線が表示され、文字が読みにくい。
Q6 バイトコンパイルとは？
Q7 Mule で文字が一部かすれるのですが？
Q8 Color-Mate をアンインストールするには？
Q9 emacs 上で起動時にフォントが無いと言われる
Q10 emacs Ver.19.32 ベースの mule Ver.2.3 で font-lock.el による下線が文字の
    「あ」から引かれてしまう。
Q11 インストール時に mkdirhier コマンドが無いと言われる。
Q12 Makefile は正しいのに make がうまく実行できない。
Q13 Color-Mate の動作が遅いのですが。
Q14 color-mate-face.el の設定をカスタマイズしたいのですが。
Q15 バイトコンパイルに必要なプログラムがないのですが、どのようにすれば
    インストールできますか。
Q16 .Xdefaults の変更が反映されないのですが。
Q17 XEmacs 20.[34] で leim-cursor で egg(wnn) が使えないのですが。
Q18 インストールが面倒なのですが。
Q19 素晴らしいテーマファイルが出来たのですが。
Q20 configure スクリプトの設定を間違えて実行してしまい、再実行しても (cashed)
    等と表示されて変更が反映されません。



Q1 色がつかない。
A1 Ｘウィンドウのパレット(カラーセル)は普通 256個しかないので、フルカラー画像
   を表示するようなパレットを大量に使うアプリケーションと併用するとパレットを
   取得できないので色が付かないまま起動します。そのような時は一旦 mule を終了
   してそのようなアプリケーションを終了した後再起動して下さい。
   16bit 以上の色表現力を持つ X サーバーならこのような現象は起こりません。

Q2 字が見えなくなった。
A2 背景の色(background)と文字の色(foreground)を同じにしていませんか？
   そうすると字が見えなくなります。 mule に -nw オプションを付けて起動すると
   mule はウィンドウシステムを使わずに起動するので Color-Mate の機能を全て
   無効化できます。この状態で 設定ファイルや .Xdefaults ファイルに必要な
   修正を施して下さい。また、 M-x color-mate:set-color とするとメニューバー
   やポップアップメニュー以外の色の調整が出来るのでこれでまず良く試してから
   実際のカスタマイズをすると良いでしょう。

Q3 カスタマイズした結果が反映されない。
A3 .emacs や .Xdefaults の記述は後に書いた物が有効になるので、重複している
   場合は一つにして下さい。また、 Color-Mate は内部で default-frame-alist
   という変数を書き換えているのでこの変数を使う他のプログラムと衝突している
   のかもしれません。.emacs や .Xdefaults のバックアップを取ってから、
   思いあたる部分を消去して再挑戦してみて下さい。
   また、xrdb でリソースを登録して X を実行すると .Xdefaults の設定が認識
   されません。"xrdb -merge ~/.Xdefaults" 等として再登録して下さい。
   Emacs20/XEmacs20 では、 customize という機能と衝突する可能性があります。
   "~/.emacs" の記述をもう一度確かめて下さい。

Q4 hilit19 による文字の着色でバッファの一部の文字にしか色が付かない。
A4 hilit19.el はバッファのサイズが大きくなると、文字の着色を途中で切り上げて
   しまうようです。 C-l の代わりに C-u C-l と入力すると全体に色付けを行ない
   ます。

Q5 画面上の文字全体に下線が表示され、文字が読みにくい。
A5 font-lock.el が文字列の括弧の対応を誤った結果、画面上のおかしな部分に下線
   が引かれてしまったものです。こんな時は font-lock.el による文字の着色を
   一時的に止めれば大丈夫です。やり方は M-x font-lock-mode です。もう一度
   やれば着色を再開します。

Q6 バイトコンパイルとは？
A6 バイトコンパイルとは emacs lisp のプログラムをより効率の良い中間コードに
   変換する(コンパイルする)事により、処理速度を上げる事です。具体的には、
   M-x byte-compile-file と入力するとコンパイルしたいファイル名を聞いて来ます
   ので、ここで ~/elisp/color-mate.el などと入力すると同じディレクトリに
   color-mate.elc ができます。以後は color-mate.el の代わりにコンパイルされた
   color-mate.elc を使用しますので、起動時間が速くなります。
   (注意)
   *.el ファイルを修正した際は、対応する *.elc ファイルを削除するか再コンパイル
   して下さい。
   mule と emacs を同時使用するなど、バージョンの異なる emacs を使う場合は
   バージョンの低い方でコンパイルして下さい。

Q7 Mule で文字が一部かすれるのですが？
A7 これは、Color-Mate が要求したフォントがシステムの中に存在しない時に起る
   現象です。Ver.7.02 から、まずシステムのデフォルト設定値のフォントを使用
   するようににしたのでかすれなくなりましたが、設定ファイルのフォントの設定
   を 14、16、24 などにすると、またかすれるようになるかもしれません。
   その時は color-mate-*-fontset.el のフォントの設定を xfontsel 等のツール
   を使って存在するフォントと入れ替えると、きちんと表示されるようになります。
   その時は、文字のサイズだけでなく全角文字の横幅が半角文字のちょうど２倍に
   なるようにフォントを選んで設定してください。そうしないと表示がずれます。

Q8 Color-Mate をアンインストールするには？
A8 Color-Mate をあなたのmule/emacsから取り除く方法は簡単です。
   ~/.emacs と ~/.Xdefaults からインストール時に追加した部分を削除して下さい。
   追加部分の始まりと終りが示されているのですぐに分かるでしょう。
   再起動すれば、Color-Mate は起動しなくなります。後で ~/elisp にあるはずの
   Color-Mate の本体のファイルも削除して下さい。

Q9 emacs 上で起動時にフォントが無いと言われる
A9 あなたの設定したフォントが本当に存在するかどうか確かめて下さい。
   存在するのにそれでも無いと言われる時は
	o フォント登録後に mkfontdir を実行していない。
	o フォントパスを設定していない。
   等の原因が考えられます。

Q10 emacs Ver.19.32 ベースの mule Ver.2.3 で font-lock.el による下線が文字の
    「あ」から引かれてしまう。
A10 私はこの現象を確かめる事が出来なかったのですが、 emacs Ver.19.28 や
    emacs Ver.19.34 ベースの mule Ver.2.3 ではこの現象は起きていないので、
    emacs Ver.19.32 ベースの mule Ver.2.3 特有のバグではないかと思います。
    とりあえず、mule, emacs のバージョンアップをしてみてはいかがでしょうか。

Q11 インストール時に mkdirhier コマンドが無いと言われる。
A11 mkdirhier は X11 に付属するプログラムで、深いディレクトリ階層を一気に
    作ってくれる、大変便利なプログラムです。通常、 dir1/dir2/dir3/ 等という
    深いディレクトリを作るには
           $ mkdir dir1
           $ mkdir dir1/dir2
           $ mkdir dir1/dir2/dir3
    としなければなりませんが、 mkdirhier を使えば
           $ mkdirhier dir1/dir2/dir3/
    とするだけで作ってくれます。mkdirhier が無い場合は面倒でもインストール前に
    自分でディレクトリをあらかじめ作っておいて下さい。
    (付記)
    もしあなたが使っている mkdir コマンドが "-p" オプションが使える物であれば
    "mkdir -p" とすれば mkdirhier と同じ効果が得られます。詳しくは mkdir の
    マニュアルを見て下さい。

Q12 Makefile は正しいのに make がうまく実行できない。
A12 Color-Mate は GNU make を使って開発されています。他の make ではうまく
    実行できない部分があるようです。普通 GNU make は gmake という名前で
    存在している事が多いので、そんな時は make の代わりに gmake として下さい。
    (付記)
    Ver.9.3 から BSD make でも実行できるようになりました。

Q13 Color-Mate の動作が遅いのですが。
A13 実は Color-Mate のプログラム自体は大した事を行っていません。遅くなると
    すればそれは外部のライブラリを呼び出しているからです。.emacs を編集して
    外部ライブラリの呼び出しを行う color-mate-face のロードを中止して下さい。
    これで少しは速くなると思われます。

Q14 color-mate-face.el の設定をカスタマイズしたいのですが。
A14 color-mate-face.el はhilit19.el と font-lock.el, paren.el という
    ライブラリファイルを使用しています。このうち hilit19.el と font-lock.el
    は同等の機能を持ち、機能が衝突しています。しかし、これらのファイルは
    微妙に守備範囲が違うため、何とか同時使用ができないものか、として作られた
    ものが color-mate-face.el です。
    color-mate-face.el が hilit19.el と font-lock.el に対して行っていることは
    これらの二つのライブラリの衝突を目立たなくする操作です。具体的には
    hilit19.el と font-lock.el に同じ色、形のフォントを使うように指示します。
    そのため、これを変えると衝突が表面化します。
    衝突を避け、なおかつ設定も変えるにはライブラリをどちらか一方だけ使用する
    ようにし、それに対し好みの設定を施すようにした方が良いでしょう。
    具体的な設定方法については、私もあまり詳しくはないので、 hilit19.el や
    font-lock.el のソースコードを見て下さい。

Q15 バイトコンパイルに必要なツールがないのですが、どのようにすれば
    インストールできますか。
A15 Color-Mate は make 時に以下のようなツールを使用します。
	make (GNU make or BSD make)
	B shell(or bash)
	sed
	perl
	cpp
	awk
	wc
	emacs/mule/xemacs
    これらのツールは大変便利なので、もし自分の計算機に入っていない場合は
    管理者に頼むか自分でコンパイルするなどしてインストールしておくと
    いいでしょう。
    そのようなことが出来ない場合、例えば "Mule for Win32" などに Color-Mate
    をインストールする場合は make によるバイトコンパイルをあきらめ、 *.el
    をそのまま emacs/mule/xemacs の load-path にあるディレクトリの一つに
    コピーして下さい。詳しくは Windows.txt を参照して下さい。
    (付記)
    Windows 環境でも UNIX のコマンドライン環境を提供する cygnus の GNU for
    Win32 を使えば make による バイトコンパイルが可能となります。

Q16 .Xdefaults の変更が反映されないのですが。
A16 xrdb 等であらかじめ設定を X サーバーに読み込んでおくように設定しておくと、
    X サーバーは .Xdefaults の設定よりも先にその設定を読み込もうとするために
    .Xdefaults の設定が反映されなくなります。
    そのような時は
	xrdb ~/.Xdefaults
    等として再設定して下さい。

Q17 XEmacs 20.[34] で leim-cursor で egg(wnn) が使えないのですが。
A17 これは Mule と XEmacs の非互換部分が原因です。egg を XEmacs 用に移植する時
    に紛れ込んだバグと Mule の egg が持っていた潜在的なバグの二つが表面化した
    ようです。egg に以下のパッチを当てれば動くようになります。
    なお、このバグはすでに xemacs.org に報告しておいたので、最新の
    XEmacs 21.1 では修正されています。

    (注意)
	パッチの中に含まれる日本語は実際のファイルでは JIS コードになっている
	ので一度変換してからパッチを当てること。実際には以下のようにすれば良い。
		nkf -j < "patch_file" | patch

=========================================================================
--- /usr/local/lib/xemacs-20.3/lisp/egg/egg.el	Tue Nov 18 13:19:12 1997
+++ egg.el	Sat Sep  5 08:13:58 1998
@@ -2392,9 +2392,10 @@
 ;;;
 ;;;----------------------------------------------------------------------
 
-(defconst egg:*fence-open*   "|" "*フェンスの始点を示す文字列")
-(defconst egg:*fence-close*  "|" "*フェンスの終点を示す文字列")
-(defconst egg:*fence-face* nil  "*フェンス表示に用いる face または nil")
+;; 1998/09/05 by YOKOTA Hiroshi
+(defvar egg:*fence-open*   "|" "*フェンスの始点を示す文字列")
+(defvar egg:*fence-close*  "|" "*フェンスの終点を示す文字列")
+(defvar egg:*fence-face* nil  "*フェンス表示に用いる face または nil")
 (make-variable-buffer-local
  (defvar egg:*fence-extent* nil "フェンス表示用 extent"))
 
--- /usr/local/lib/xemacs-20.3/lisp/egg/egg-wnn.el	Wed Nov 19 15:51:37 1997
+++ egg-wnn.el	Sat Sep  5 08:13:50 1998
@@ -1266,13 +1266,14 @@
 			(+ (bunsetu-position (1- bunsetu-end))
 			   (length (bunsetu-kanji (1- bunsetu-end)))))))))
 
+;; 1998/09/05 by YOKOTA Hiroshi
 (defun egg:bunsetu-face-off ()
   (and egg:*dai-bunsetu-face*
        (extentp egg:*dai-bunsetu-extent*)
-       (delete-extent egg:*dai-bunsetu-extent*))
+       (detach-extent egg:*dai-bunsetu-extent*))
   (and egg:*sho-bunsetu-face*
        (extentp egg:*sho-bunsetu-extent*)
-       (delete-extent egg:*sho-bunsetu-extent*))
+       (detach-extent egg:*sho-bunsetu-extent*))
   )
 
 (defun henkan-goto-bunsetu (number)
=========================================================================

Q18 インストールが面倒なのですが。
A18 最近の UNIX ではこれまでのようにソースコードから自分でコンパイルせずに
    出来合いのバイナリをインストールするようになっているようです。
    私自身が作成した物ではありませんが、私の知らないうちに誰かが作ってくれた
    バイナリパッケージが PJE と JRPM から出ています。
    これらのバイナリパッケージのインストール法についてはパッケージの説明書
    を見て下さい。
    もちろんあなたが他の形式のバイナリパッケージを作ってくれるのであれば
    ありがたいです。もし作ってくれたのなら、今後の参考にしたいので知らせて
    下さい。

Q19 素晴らしいテーマファイルが出来たのですが。
A19 もしよろしければこちらに送って下さい。以後の配布に加えられるかも
    しれません。

Q20 configure スクリプトの設定を間違えて実行してしまい、再実行しても (cashed)
    等と表示されて変更が反映されません。
A20 configure スクリプトは作業の効率化の為に一度調べた内容をキャッシュファイルに
    保存して作業の効率を上げます。これは本来は良い事なのですが、逆効果になる事も
    あります。キャッシュされた内容は config.cache と言うファイルに保存されている
    のでこれを編集するか削除して下さい。


By: 横田 裕思 (yokota@netlab.is.tsukuba.ac.jp)
