Unix 上の Emacs で Menubar に日本語を表示する方法(国際化)です。
GNU Emacs では Motif の FontList を使う方法と、patch を当てて FontSet を 使う方法があります。
configure 時に、--with-x-toolkit=motif と指定して Emacs を作ると、 Menubar に FontList を使うことができます。 *1
FontList は ~/.Xdefaults などで以下のように指定できます。
Emacs*menubar*fontList: -misc-fixed-medium-r-normal--14-130-75-75-c-*-*-*:
ただし、Menubar には locale に合わせた coding-system で encode された文字列を
指定する必要があります。
irie さんによる
menu-tree.el
を使う場合は、menu-tree-coding-system を locale に合わせて適切に設定すると
*2
大丈夫ですが、Edit → Select and Paste などは encode されないため
化けてしまいます。
これは、後述の patch を適用して、Emacs で encode するという手があります。
Emacs に 以下の patch を当ててると、Menubar に FontSet を使うことができます。
FontSet は ~/.Xdefaults などで以下のように指定できます。
Emacs*menubar*fontset: -misc-fixed-medium-r-normal--14-130-75-75-c-*-*-*
GNU Emacs 20 では、上野さんによる emacs-20.4-fontset-19990915.diff
*3 や
yaz さんによる
emacs-20.7_jpmenu.diff
を適用すると、Menubar に FontSet を使用することができます。
また、menu-coding-system に応じて、Emacs で Menubar に設定する文字列を
encode してくれますので、それを locale に合わせて適切に設定しましょう。
GNU Emacs 21.2 では、
emacs-21.1-fontset.patch を適用すると、
Menubar に FontSet を使用することができます。
また、emacs-21.2-menu-encode.patch
を適用すると、locale-coding-system に応じて、Emacs で Menubar に設定する
文字列を encode してくれます。locale-coding-system は Emacs 起動時に LANG 等
に合わせて適切に設定されます(たぶん)。
XEmacs も Motif の FontList を使う方法と、FontSet を使う方法があります。
詳細は kazz さんによる、
日本語のメニューバーを御覧ください。
文字列は file-name-coding-system に応じて encode されます。 file-name-coding-system を locale に合わせて適切に設定しましょう。
configure 時に Motif が検出されると、自動的に Motif が使われます。
configure 時に --with-xfs を指定すると、Menubar に FontSet を 使うことができます。