マイナーで古いが美しいビットマップフォントとして、X Window用のフォントのお部屋 (リンク切れにつきWayback Machine内)に置いてある “milkjf” を好んでおり、Emacsやmltermなどで結構長く使っている。
マイナーなためなのか、あるいはもうビットマップフォントは時代遅れなのかは分からないが、ディストリのパッケージにはなっていない場合がほとんどなので、手動で入れる必要がある。
Wayland環境においては、X11用のビットマップフォントは基本的に対応しておらず、使うことはできない。
公式サイトが閉鎖されているため、Wayback Machive上のファイルURLに直リンクしている。
Wayback Machineからダウンロードしたファイルは展開時に “unexpected end of file” のメッセージが出るが、得られるファイルは正常で、中の各ファイルから後述するダイジェストが得られればOK。なお、.tar.gzファイルの最後に0x00
のデータを1バイト追加すれば展開時のメッセージは出なくなる(得られるデータは同じ)。
2021年9月時点では、上のリンク先からダウンロードしたBDF形式のファイルは正常だが、PCF形式の書庫のみが無圧縮tarballとなってしまい、拡張子.tar
のファイルの展開と同様にすることで中身が取り出せる。
GNU Tarではどちらのファイルもtar xf
で正常に展開できる。
下のスクリプトをコピペして実行属性を付けて実行すると、指定ディレクトリ内にBDF形式とPCF形式両方の書庫ファイルをダウンロードする。
実行にはzenity
が必要。
get_milkjf.sh
#! /bin/sh
BDF_URL=http://web.archive.org/web/20061212224857/http://phe.phyas.aichi-edu.ac.jp/%7Ecyamauch/arch/milkjf_bdf.tar.gz
PCF_URL=http://web.archive.org/web/20060908184236/http://phe.phyas.aichi-edu.ac.jp/%7Ecyamauch/arch/milkjf_pcf.tar.gz
OUTDIR="$(zenity --file-selection --title "保存先ディレクトリ" --directory)" || exit 1
cd /tmp || exit 1
wget -t 1 ${PCF_URL} ${BDF_URL}
for F in bdf pcf; do
if ! mv milkjf_${F}.tar.gz "${OUTDIR}"; then
zenity --error --text "ファイル\"${F}\"の移動に失敗しました"
rm milkjf_${F}.tar.gz -f
fi
done
Ubuntuではppa:kakurasan/japaneseのPPAリポジトリにてパッケージを公開している。
パッケージ名はxfonts-milkjf
。
ファイル名 | MD5 | |
---|---|---|
README.1ST | 4ab1fc142fffbf703c4c5123ffdd6bc9 | |
milkjf_8x16.bdf | 9d931022dbae218cce55bbac2e5057b2 | |
milkjf_8x16.pcf | 7cf18683c462d4b74cb5a1d6fcb54d72 | |
milkjf_8x16B.bdf | 86b7ef87bcbf1afe24f8cd9e3a7f15bb | |
milkjf_8x16B.pcf | 0e23d4ba15437909f8d01d21a33ecbf3 | |
milkjf_8x16r.bdf | 42a7d2ad966478bf20de8435473a0c98 | |
milkjf_8x16r.pcf | c93d99936eee9fa5adfb251b9f01e8eb | |
milkjf_8x16rb.bdf | 4692f48851c8da424560470b678a1370 | |
milkjf_8x16rb.pcf | 6e9192053f2c2dadddb34b29ec962236 | |
milkjf_k16.bdf | f27262f964390f39012679bb0e4fba43 | |
milkjf_k16.pcf | bac2237af816955791dbb7c517189400 | |
milkjf_k16b.bdf | 5d0ee49e0b85c73f0e19c593c6f790c0 | |
milkjf_k16b.pcf | 1bc41d95f579f4576e6d3049e8e1f023 |
ファイル名 | SHA-1 | |
---|---|---|
README.1ST | 9b1c848eae78aea59a411e83a1b4ca878f0af0e8 | |
milkjf_8x16.bdf | e243d2c52afece81464bea40f78e96c18f459040 | |
milkjf_8x16.pcf | 90f30f150904e4e4c7a11c0181c5fc51a38536a7 | |
milkjf_8x16B.bdf | 9e19f55cf48d650f640c7b23a7ffa7b5a8f0a9e1 | |
milkjf_8x16B.pcf | 6dc231e489c04407964b9dd6f6de94d825125d0e | |
milkjf_8x16r.bdf | 830afe8b37298b37be9537b3a9d9056c9a517cd8 | |
milkjf_8x16r.pcf | 3be2f0e0c125aa2152f7cbf8390a1722e1159ba8 | |
milkjf_8x16rb.bdf | 9bace9af4d3d2b457b6ee224ef527377e99a5423 | |
milkjf_8x16rb.pcf | fa9ca3ae8542c4f905c82659660ea5ecc7bf51e6 | |
milkjf_k16.bdf | 8e6bc32c9f0b3dae5456f227d7c178e7178e39ca | |
milkjf_k16.pcf | 0fa81355636eeee0fd9a37b745719aa4fa133753 | |
milkjf_k16b.bdf | 936900ba16cf7affeee69a4c6e245fa8b9b9c0e1 | |
milkjf_k16b.pcf | 25152f06eb6c7890b0b19316a5465faaa450fa49 |
以下の例では/usr/share/fonts/local/
というディレクトリに入れるものとする。
ここではPCF形式で配布されているファイルを用いる手順を掲載しているが、代わりにBDF形式のほうをダウンロードしてbdftopcf
コマンドを各.bdf
ファイルに実行して.pcf
ファイルを得る方法もある。
まず、PCF形式のフォントファイルmilkjf_pcf.tar.gz
を展開する。
(展開)
$ tar xf /path/to/milkjf_pcf.tar.gz
(作業ディレクトリに.pcfファイルがあることを確認)
$ ls
README.1ST milkjf_8x16B.pcf milkjf_8x16rb.pcf milkjf_k16b.pcf
milkjf_8x16.pcf milkjf_8x16r.pcf milkjf_k16.pcf
中に6つの.pcfファイルがあるので、これらをそれぞれgzip圧縮する。下のようなシェル構文(Bシェル用)でまとめて処理すると楽。
$ for i in *.pcf; do gzip -9 $i; done
/usr/share/fonts/local/
が無ければ作成しておく。
$ sudo mkdir -p /usr/share/fonts/local
ファイルをコピーする。
$ sudo cp *.pcf.gz /usr/share/fonts/local/
フォントを扱うためのfonts.dir
を作成(更新)する。
$ sudo mkfontdir /usr/share/fonts/local/
Xサーバのフォントパスに/usr/share/fonts/local/
が無ければ追加しておく。
/etc/X11/xorg.conf
Section "Files"
# [...中略...]
FontPath "/usr/share/fonts/local" # 追加
EndSection
xorg.conf
の設定でフォントパスの追加をした場合、この設定はXサーバの次回以降の起動で有効になるので、Xを再起動する前に確認したいのであれば、手動でフォントパスを追加する
$ xset +fp /usr/share/fonts/local/
xfontsel
からフォントが認識されて使用可能であることを確認する。一番左の “fndry” の中に “milkjf” が含まれていればOK。
~/.mlterm/font
ISO8859_1=-milkjf-*-medium-*-*-*-16-*-*-*-*-*-iso8859-1
JISX0201_KATA=-milkjf-*-medium-*-*-*-16-*-*-*-*-*-jisx0201.1976-*
JISX0208_1990=-milkjf-*-medium-*-*-*-16-*-*-*-*-160-jisx0208.1990-*
JISX0208_1983=-milkjf-*-medium-*-*-*-16-*-*-*-*-160-jisx0208.1990-*
~/.mlterm/main
not_use_unicode_font=true
only_use_unicode_font=false
fontsize=16
下は2008年11月にrxvt-unicodeを初めて使ったときに掲載したものと同一の設定で、当時半角カナの表示が四角(豆腐)に化けてしまっていたが、バージョン9.22時点では正しく表示できている。
~/.Xresources
urxvt*font:\
[codeset=ISO8859]x:-milkjf-*-medium-*-*-*-16-*-*-*-*-*-iso8859-1,\
[codeset=JISX0201]x:-milkjf-*-medium-r-*-*-16-*-*-*-*-*-jisx0201.1976-0,\
[codeset=JISX0208]x:-milkjf-*-medium-*-*-*-16-*-*-*-*-160-jisx0208.1990-0
Emacsではバージョン23からアウトラインフォントおよびそれに対するアンチエイリアシングがサポートされており、ビットマップフォントを好んで使用する人は少数と思われる。
また、Wayland環境で一部の人が脱X11のために使用している “GTKのみに依存しX11に依存しないEmacs” においては、X11のビットマップフォントを扱うことはできない。
~/.emacs.el
(when window-system
(setq default-frame-alist
(append
(list
[...中略...]
'(font . "\
-milkjf-fixed-medium-r-normal--16-150-75-75-c-*")
)
default-frame-alist)
)
)