Meadow2, Meadow3 のフォント設定

2004 年の七夕、GNU Emacs 21 系をベースにした Meadow2 が正式公開されました。 Meadow2 以降 (ver.1.99 以降と同義) では、Meadow-1.15 以前と BDF フォントを利用する際の設定方法が異なるため、 新しくフォント設定のためにコードを書く必要が出てきてしまう人もいるかと思います。 そんな人向けに、16 ドットの BDF フォントと 12 ポイントの和文 TrueType フォントを組み合わせて 多言語を表示させるための elisp ファイルなどを、このページでこっそり公開しています。 大したものではありませんが、もしよろしければ御利用下さい (でも、あまり期待しないで下さいね ;-)。

目次

font-setup.el

font-setup.el は、16 ドットの BDF フォントと 12 ポイントの和文 TrueType フォントを 組み合わせて多言語を表示させるための elisp ファイルです。 現在は Meadow2 で動作する版のみの公開で、まだ正式版が出てない Meadow3 で動作する版は公開していません。

font-setup.el の導入

まず初めに 16dots.tar.gz (16 ドットの international fonts ver.1.2.1 - BDF fonts) を入手して、適当な場所に展開しておいて下さい。 これを“E:\emacsen\intlfonts-1.2.1”に置いたと仮定して、ここでは話を進めます。

次にフォント設定ファイル font-setup.el を入手し、 これを load-path の通った場所 (site-lisp 以下など) に置いて下さい。

最後に、以下を ~/.emacs に書き加えて下さい。

(when (require 'font-setup nil t)
  (setq font-setup-bdf-dir "E:/emacsen/intlfonts-1.2.1")
  (font-setup))

ここまでの作業を反映させたら (例: Meadow を立ち上げ直す)、\M-x view-hello-file して以下の様になるか確認してみましょう。

hello.png

もし問題なく上の画像の様に表示されたら、いちおう設定は完了です。 ちなみにこの状態では、等幅の半角英数字、全角・半角和文には“MS ゴシック”を、 等幅でない半角英数字、全角・半角和文には“MS Pゴシック”を、 それ以外の文字のほとんどには“international fonts”を割り当てています。 その為、バックスラッシュ (0x5c) が円記号で表示されてしまいますが、 もしそれが気になるのであれば、 “MS ゴシック”の該当箇所に手を加えるか、 次の章を参照して東風ゴシック・明朝を導入する等して下さい。

また、もし旨くいかなかったら、以下に注意して再挑戦してみて下さい。 それでもどうしても旨くいかなかったら、本当に残念ですが、このファイルの利用は諦めて下さい。 このファイルを利用しなくてもどうにかなるはずです。

MS ゴシック以外の和文 TrueType フォントも使いたい

font-setup.el を使うことによって、いくつかの和文 TrueType フォント (等幅のみ) を利用できます。 その為に必要な作業は「上記の設定を以下のように書き直せば良いだけ」です。

(when (require 'font-setup nil t)
  (setq font-setup-bdf-dir "E:/emacsen/intlfonts-1.2.1")
  (font-setup "フォント名" リストの最後の数字))

この“フォント名”と“リストの最後の数字”は、(w32-query-get-logfont) を評価して得られるリストに関するものです (リストの右端が省略されてしまう場合、eval-expression-print-leveleval-expression-print-length の値を nil にしてから評価し直して下さい)。 例えば、“MS 明朝”で“標準”の“12”ポイントの“日本語”を選んだ場合、以下となります。

(w32-query-get-logfont)
=> (w32-logfont "MS 明朝" 0 -16 400 0 nil nil nil 128 1 3 17)

これに対応した設定は以下です。

(when (require 'font-setup nil t)
  (setq font-setup-bdf-dir "E:/emacsen/intlfonts-1.2.1")
  (font-setup "MS 明朝" 17))

次に 東風ゴシック・明朝 を利用する場合の例も示しておきます。 可読性に優れていることなどから、東雲ゴシックとほぼ同じ見た目となる東風ゴシックが、個人的にはおすすめです。

(when (require 'font-setup nil t)
  (setq font-setup-bdf-dir "E:/emacsen/intlfonts-1.2.1")
  (font-setup "東風ゴシック" 1))
(when (require 'font-setup nil t)
  (setq font-setup-bdf-dir "E:/emacsen/intlfonts-1.2.1")
  (font-setup "東風明朝" 1))

また、あまり意味はありませんが、以下の様に複数のフォントセットを作成することも出来ます。 この場合、最初から使用するもの以外は、font-setup の 3 番目の引数に t を指定して下さい。

(when (require 'font-setup nil t)
  (setq font-setup-bdf-dir "E:/emacsen/intlfonts-1.2.1")
  (font-setup "東風ゴシック" 1)
  (font-setup "MS ゴシック" 49 t)
  (font-setup "東風明朝" 1 t)
  (font-setup "MS 明朝" 17 t))

Latin8, 9 な文字も表示したい

Latin8, 9 に該当する文字を表示したい場合は、 The ISO 8859 Alphabet Soup から 以下を入手して、それらを展開したものを“E:\emacsen\intlfonts-1.2.1\European”に置いて下さい。

JISX0213 な文字も表示したい

JIS X 0213 に含まれる文字を表示したい場合は、 JISX0213 16x16 public fonts から 以下を入手して、それらを展開したものを“E:\emacsen\intlfonts-1.2.1\Japanese”に置いて下さい。

スクリーン・ショット

これは“東風ゴシック”を利用した設定による表示ですが、…バランスはどうでしょうか?

faces.png

ttfont-setup.el

ttfont-setup.el は、任意のポイントの和文 TrueType フォントで 英文と和文を表示させるための elisp ファイルです。 Meadow2, Meadow3 のどちらでも使用可能です。

ttfont-setup.el の導入

まず初めに、フォント設定ファイル font-setup.el を入手し、これを load-path の通った場所 (site-lisp 以下など) に置いて下さい。

次に、以下を ~/.emacs に書き加えて下さい。

(when (require 'ttfont-setup nil t)
  (ttfont-setup))

ここまでの作業を反映させたら (例: Meadow を立ち上げ直す)、 以下を *scratch* で評価して英文・和文の表示状態を確認して下さい。

(let (list-faces-sample-text)
  (setq list-faces-sample-text
        (format "漢字かんじ 片仮名%s abcdefghijklmnop ABCDEFGHIJKLMNOP"
                (japanese-hankaku "カタカナ")))
  (list-faces-display)) ;; 最後の括弧の直後で“\C-x\C-e”

default の行で問題なく英文・半角和文と全角和文が 1:2 の幅で表示されたら、いちおう設定は完了です。

また、もし旨くいかなかったら、以下に注意して再挑戦してみて下さい。 それでもどうしても旨くいかなかったら、本当に残念ですが、このファイルの利用は諦めて下さい。 このファイルを利用しなくてもどうにかなるはずです。

フォントのポイントを独自に設定したい

工事中。

MS ゴシック以外の和文 TrueType フォントも使いたい

工事中。

関連リンク

Meadow Official Site
http://www.meadowy.org/meadow/
Meadow2 Memorandum
http://miyoshi.meadowy.org/Meadow2/
Meadow を活用しよう - Windows で Emacs
http://www4.kcn.ne.jp/~boochang/emacs/
JIS X 0213 の特徴と、Emacs 上での実装
http://www.m17n.org/m17n2000_all_but_registration/proceedings/kawabata/jisx0213.html
Go to "index.html".