試験運用中なLinux備忘録

2007/06/04

milkjfフォントを使用する

  1. マイナーで古いが美しいビットマップフォントmilkjf
  2. インストール
  3. mltermで使用する設定例
  4. Emacsで使用する設定例

マイナーで古いが美しいビットマップフォントmilkjf

X Window用のフォントのお部屋に置いてあるmilkjfというビットマップフォントが好きで、Emacsmltermで結構長く使っている。

マイナーなためなのか、或いはもうビットマップフォントは時代遅れなのかは分からないが、ディストリのパッケージにはなっていない場合がほとんどなので、手動で入れる必要がある。

(2008/11/1)milkjfフォントの配布ページの山内氏のWebページがなくなった?関係により、このフォントの入手ができなくなっている。しかし、Internet ArchiveのWayback Machine上から入手できることを確認したので、直リンクURLで貼り付ける。

Wayback Machive上のmilkjfフォントの関連URL
項目URL
Webページhttp://web.archive.org/web/20080124140424/http://phe.phyas.aichi-edu.ac.jp/~cyamauch/xfonts.html
BDF形式http://web.archive.org/web/20061212224857/http://phe.phyas.aichi-edu.ac.jp/~cyamauch/arch/milkjf_bdf.tar.gz
PCF形式http://web.archive.org/web/20060908184236/http://phe.phyas.aichi-edu.ac.jp/~cyamauch/arch/milkjf_pcf.tar.gz

Wayback Machineから落としたファイルは展開時に「unexpected end of file」のメッセージが出るが、得られるファイルは正常で、各ファイルから下のようなハッシュが得られればOK。

milkjfフォントの配布ファイルのダイジェスト
ファイル名MD5SHA-1
README.1ST4ab1fc142fffbf703c4c5123ffdd6bc99b1c848eae78aea59a411e83a1b4ca878f0af0e8
milkjf_8x16.bdf9d931022dbae218cce55bbac2e5057b2e243d2c52afece81464bea40f78e96c18f459040
milkjf_8x16.pcf7cf18683c462d4b74cb5a1d6fcb54d7290f30f150904e4e4c7a11c0181c5fc51a38536a7
milkjf_8x16B.bdf86b7ef87bcbf1afe24f8cd9e3a7f15bb9e19f55cf48d650f640c7b23a7ffa7b5a8f0a9e1
milkjf_8x16B.pcf0e23d4ba15437909f8d01d21a33ecbf36dc231e489c04407964b9dd6f6de94d825125d0e
milkjf_8x16r.bdf42a7d2ad966478bf20de8435473a0c98830afe8b37298b37be9537b3a9d9056c9a517cd8
milkjf_8x16r.pcfc93d99936eee9fa5adfb251b9f01e8eb3be2f0e0c125aa2152f7cbf8390a1722e1159ba8
milkjf_8x16rb.bdf4692f48851c8da424560470b678a13709bace9af4d3d2b457b6ee224ef527377e99a5423
milkjf_8x16rb.pcf6e9192053f2c2dadddb34b29ec962236fa9ca3ae8542c4f905c82659660ea5ecc7bf51e6
milkjf_k16.bdff27262f964390f39012679bb0e4fba438e6bc32c9f0b3dae5456f227d7c178e7178e39ca
milkjf_k16.pcfbac2237af816955791dbb7c5171894000fa81355636eeee0fd9a37b745719aa4fa133753
milkjf_k16b.bdf5d0ee49e0b85c73f0e19c593c6f790c0936900ba16cf7affeee69a4c6e245fa8b9b9c0e1
milkjf_k16b.pcf1bc41d95f579f4576e6d3049e8e1f02325152f06eb6c7890b0b19316a5465faaa450fa49

なお、.tar.gzファイルの最後に「0x00」のデータを1バイト追加すれば展開時のメッセージは出なくなる(得られるデータは同じ)。下のスクリプトを実行すると指定ディレクトリに修正済みの状態で保存する。

[任意]ファイル名: get_milkjf.sh

#! /bin/bash

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)
[[ ${?} -ne 0 ]] && exit 1
cd /tmp
wget -t 1 ${PCF_URL} ${BDF_URL}
for F in bdf pcf; do
  echo -ne "\0" >> milkjf_${F}.tar.gz
  if ! mv milkjf_${F}.tar.gz ${OUTDIR}; then
    zenity --error --text "ファイル\"${F}\"の移動に失敗しました"
    rm milkjf_${F}.tar.gz -f
  fi
done

インストール

(2008/1/23)Gentoo Linuxのebuildを作成した。

(2010/11/20)Ubuntu向けのパッケージを作成した。その前にはMandriva向けのRPMパッケージも作成している。いずれも最後の関連記事を参照。

以下の例では/usr/share/fonts/local/というディレクトリに入れるものとする。

まず、PCF形式のフォントファイル(milkjf_pcf.tar.gz)をダウンロードし、展開する。中に6つの.pcfファイルがあるので、これらをそれぞれgzip圧縮する。下のようなシェル構文(bash,zsh)でまとめて処理させると楽。

$ for i in *.pcf; do gzip -9 $i; done

/usr/share/fonts/local/が無ければ作成しておく。

$ sudo mkdir /usr/share/fonts/local

ファイルを移動。

$ sudo mv *.pcf.gz /usr/share/fonts/local/

フォントを扱うためのfonts.dirを作成(更新)する。

$ sudo mkfontdir /usr/share/fonts/local/

Xサーバのフォントパスに/usr/share/fonts/local/が無ければ追加しておく。

ファイル名: /etx/X11/xorg.conf

Section "Files"
    [...中略...]
    FontPath "/usr/share/fonts/local"  # 追加
EndSection

xorg.confの設定でフォントパスの追加をした場合、この設定はXサーバの次回以降の起動で有効になるので、Xを再起動する前に確認したいのであれば、手動でフォントパスを追加する

$ xset +fp /usr/share/fonrs/local/

xfontselからフォントが認識されて使用可能であることを確認する。一番左の「fndry」の中に「milkjf」が含まれていればOK。

mltermで使用する設定例

ファイル名: ~/.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

Emacsで使用する設定例

ファイル名: ~/.emacs

(when window-system
  (setq default-frame-alist
    (append
      (list
        [...中略...]
        '(font . "\
-milkjf-fixed-medium-r-normal--16-150-75-75-c-*")
      )
    default-frame-alist)
  )
)

(2009/8/4)バージョン23でのpcfフォント使用時に不具合が出ていたのを修正

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

(C) 2007-2015 kakurasan
本ウェブログの表示につきましては、横幅1,000ピクセル以上を推奨します。
Connection: close