フォントマニアックス on Linux/X



LinuxX-TTGimp だったら Dynafont とか買ってくるのもいいけど、「タイポグラフィぢうやう」な人は「なんちゃってカナフォント」を試してみよう。

このページに挙げているのは、しばらく前にフォントを集めたときに気に入ったサイトとサンプルの fonts.dir の紹介で、要は Win や Mac ではなく Linux な人も、フリーで公開されているいろんなフォントと Gimp なんかを組み合わせて X でもシアワセなフォントライフを送りましょう、というコトです。

基本的には A FONTFONTEST などのサイトから気に入ったフォントを探して、Win 用のものをダウンロードして iso8850-1 なフォントとして X サーバ または xfs サーバに登録 (fonts.dir を作る) すれば使えるハズですが、中には残念ながらそのままでは使えないものもあるので色々試すべし。ヒントは X window system で使う場合の Tips

このページの画像は Gimp を使って自作の Perl-Fu で自動生成しています。全画像リストはこちら フォントマニアックス・ギャラリー

フォントサイトはどんどん増えてるのに、このページの更新は全然追い付いていないし、連絡も怠っておりますが、かっこいいフォントをフリーで公開してくださっている作者の方々に感謝!(このページのリストには追加してませんが、最近は Digital Dream Designさん、04さん、BRIDGEco.さん、Riverside Cafeさん、GAUさん、華屋べるべる堂さん、牛小屋さん、絶影さん、fontaliciousさん、のフォントにもお世話になっていますぅ。)

※ダウンロードしてきた zip などから展開してできたファイル名をそのままフォントの名前にすると(このページを見れば分かるように)使う時に結構分かりにくいので(^^;)、fonts.dir の作り方は適宜工夫してください。現在の fonts.dir と、最近思いついた分かりやすい fonts.dir の作り方のヒントも参照してくださいにゃ。

http://FONTEST.ug.to/

Maniackers Design さん
アルファベット、カナ共に数が多い上に個性的なフォントが多くていい感じです。holiday 系や ball, button, box のシリーズは特に気に入ってます(Win 用でもいくつか X で使えないフォントがあります→08-shotaro2, 10-maniac2, 14-astro2, 27-holidaybold, 27-holidaybitmap14, 42-hachipochi, 44-ufont, 46-dog30, 60-pico)。サンプル画像での見せ方もスバラシイ。あとページの下の方にあるリンクページも結構おもろい。[非営利OK]
X-TT : fonts.dir

Hyperion Graphics さん
こういうテクノ系のフォントは個人的にかなりスキ。全部いい感じだけど Controller-demo や Capsle-3 などが特にイイ(dotfont, illusion, mirage, overloader は X では使えませんでした…)。フライヤーもカッコヨイです。[非営利OK]
X-TT : fonts.dir (chopmac)

Gray Graphics さん
ここも全部スキかも。C.M. Break や Nationalyze とか。ちょっとかわいい感じのもイイです。[営利もOK]
X-TT : fonts.dir

I2f さん
ここも数が多くて、かなり変わったフォントが揃ってま。コミック系のも面白いけど、Tumblins'dice が特にスキです。読めないテクボンとか Jojomix インパクト強え〜。サンプル画像もイイカンジです。[非営利OK]
X-TT : fonts.dir (chopmac)

Family Font Mart さん
アルファベットが多いけど、面白いフォントが揃ってます。特に cubic-millimeter, Logic twenty-five, videobeast 80's, MINIMALHARD がイイです。コメントも楽しいし。[非営利OK]
X-TT : fonts.dir

9031 (P-FONT) さん
アルファベットの方が多いですが、RADIO DEPT, OLE SEGMENTS はカッコイイ(Mac 用なので X では使えないっぽいです…)。一番気に入ってるのはバーコードの CODE3X です。スライドフィルム風のトップページもカッコイイのですが、モジラじゃないと見れないよぅ。ということで、古いブラウザの人は直接こちらへごぅ。[非営利OK]
X-TT : fonts.dir

FONTAGE さん
アルファベットが多いですがとても面白いフォントが揃ってます。26 Floor とか Paresser とかスキです。カナの glace は凝っててとてもイイです。あと Toit [T-26] カッコイイですね。
X-TT : fonts.dir

Smile Studio さん
ここもアルファベット主体ですが、Butthole Surfers や Garbage は大スキです。[非営利OK]
X-TT : fonts.dir

RS125 さん
CYBLOCK がカッチョイイです。[非営利OK]
X-TT : fonts.dir

GRASS ONIONS さん
ポピーがスキです。ほのぼの。
X-TT : fonts.dir (chopmac)

SUB Graphics さん
DUST フォントがカワイイです。
X-TT : fonts.dir

RED-design さん
アルファベットのポッテリ系のフォントが多いかな。それより人形のページがすごい。
X-TT : fonts.dir

TINY FACTORY さん
ドット系のフォントが何種かあるのが気に入ってます。[非営利OK]
X-TT : fonts.dir (chopmac)

3Dmild さん
ソーダフォントが気に入っているのですが、カナの方はなぜか X で使えないでぅ。
X-TT : fonts.dir

Add Design さん
ページの色合いがスキ。アルファベットのフォントがメインで Rusty, SHADE, Shark, WASP とかカッコいいです。Win TT があるものはOKですが、Mac PS1 フォントしか置かれていないものはたぶん X では使えないです。
※ と思っていたら、wTTC を使えば Jazz, Line, Rusty, Shade Steel, Round は行けました:sit を Mac で展開して suit の中の TT フォントを取り出し、Linux で Mac バイナリヘッダを chopmac して、Win で wTTC を使って変換して Linux に持ってくる…。。

(もじもじ) さん
トップページくゎわゆいです。フォントも、茸、どうかせん、のほほん、コドモ、とかわゆいのです。が、なぜか X で使えにゃいです。(涙
※ Add Design さんのと同様に、これも wTTC を試してみたら Kinoko Babies, Nohohon hirakana, Nohohon katakana だけいけました(Win TT 版の代りに Mac 版の .sit を使って変換しまする)。うぅ、どうかせん…。

CUBE EXTRA さん
かきかた、ダラリ など面白いフォントが置いてあるけど、X では使えなかったですぅ。
wTTC でもだめでした。Win では表示できたけど、Symbol に変換されちゃうとダメか。みゅ〜ん。

S.F.D. さん
Syntech と Takuan、Alarla あたりが面白いな〜。でも、これもカナの方は X で使えないよぅ。。
wTTC で Mint, Progress, Scarlet はいけました。



※ X window system で使う場合の Tips
chopmac
ファイルに Mac Binary ヘッダが付いているので、取り出した後に chopmac.pl スクリプトなどで先頭 128 バイトを切り取る必要があるもの。使用方法は簡単で
% chopmac.pl hoge.ttf
とすれば hoge.ttf から Mac Binary ヘッダが取り除かれる。元のファイルは hoge.ttf.bak に保存される。

ファイル名の変換とテキトーな fonts.dir の作り方
Mac 用から変換された Win の TTF には、拡張子 .ttf の前に余分な ___ などが付いているものが多いので、作者の意向には反するかも知れないがサンプルの fonts.dir では、「作者名略称_フォント名小文字.ttf」で統一させてもらっている。ファイル名の変換には rename.pl スクリプトなどを用いると便利。

以下、一気に処理する場合の例:
  1. ダウンロードした *.zip を解凍する
    	% for i in *.zip
    	do
    	  unzip -o $i
    	done
  2. ファイル名を変換する (代わりに手で分かりやすいファイル名に mv してもOK)
    	% rename.pl 'tr/A-Z/a-z/' *     (← 全ファイル名の大文字を小文字に)
    	% rename.pl 's/_//g' *.ttf      (← ファイル名から冗長な _ を取り除く)
    	% rename.pl 's/-/_/g' *.ttf     (← XLFD で困るのでファイル名の - を _ に変換)
    	% rename.pl 's/^/GG_/' *.ttf    (← Gray Graphics だったら GG_ のように頭に短縮名をつけちゃう)
    	% file *.ttf                    (← Mac binary だったら EUC text そうでなければ raw G3 data などと表示される)
    	% chopmac.pl *.ttf(一部)      (← Mac binary ヘッダがついていたものだけ chopmac.pl を使って取り除く)
  3. fonts.dir を作る (1行目にフォントの数を書き、ファイル名とフォント名の対応表を作る)
    	% ls *.ttf | wc -l | sed 's/ //g' > fonts.dir
    	% ls *.ttf | perl -pe 's/(.*).ttf/$1.ttf\t-maniax-$1-medium-r-normal--0-0-0-0-p-0-iso8859-1/' >> fonts.dir
  4. フォントをインストールする
    	% mkdir /some/dir/fonts/TrueType/maniax/
    	% mv *.ttf fonts.dir /some/dir/fonts/TrueType/maniax/
  5. X サーバに新しいフォントを認識させる
    • X サーバに直接登録して試す場合、以下のようにすれば使える(が X サーバを起動するたびに実行する必要がある)
      	    % xset fp+ /some/dir/fonts/TrueType/maniax/
      	    % xset fp rehash
      	    % xset q                       (← フォントのパスを確認)
    • XF86Config に FontPath を書き込む場合、以下のようにして X サーバを再起動する
      	    % vi /etc/X11/XF86Config
      	    Section "Files"
      	      FontPath  "/usr/X11R6/lib/X11/fonts/misc"    (などが並ぶ)
      	        :
      	      FontPath  "/some/dir/fonts/TrueType/maniax/" (←追加する)
      	    EndSection
    • xfs (X font server) を使う場合(Vine 2.1 とか使っている場合はこの方法がいいのでは)
      	    % vi /etc/X11/fs/config
      	    catalogue =
      	      /usr/X11R6/lib/X11/fonts/misc:unscaled,    (などが並ぶ)
      	         :
      	      /some/dir/fonts/TrueType/maniax            (←追加する)
      	    % /etc/rc.d/init.d/xfs restart               (←xfs を再起動する)
  6. 使ってみる
    	% xlsfonts -fn '-maniax-*'         (← X サーバに認識されたか確認してみる)
    	% xfd -fn '-maniax-*'              (← 1 つ目のフォントを表示してみる)
    	% gfontsel                         (← フィルタ/鋳造所で maniax を選んで他のフォントも確認)
    	% gimp                             (← text ツールで遊んでみる)


より分かりやすい fonts.dir の作り方
地道な方法としては、zip などを展開してできる *.ttf のファイル名を、フォント名に mv して使う (現在の fonts.dir) とより分かりやすくなるハズだ。しかし、フォントがたくさんある場合、面倒なのを我慢して相当頑張らないといけない。

そこで最近思いついたのは、ftdump を使う方法。上記でフォントのインストールまでの工程の代りに、以下を実行する。
※ ちゃんと MacBinary ヘッダが取れているかは(逆にファイルを壊してしまう場合もあるので)確認した方が良い。
※ 以下の方法の場合、それぞれのフォントのファイル名を小文字に揃えるとか余分な '_' を削るとかは好みの問題になる。
    % for i in *.zip
    do
      unzip -o -j -q $i                     (← むぅ、-L はなぜか効かない…)
    done
    % rename.pl 'tr/A-Z/a-z/' *
    % rename.pl 's/_//g' *.ttf
    % for i in *.ttf
    do
      if file $i | grep 'EUC text' > /dev/null; then
        chopmac.pl $i
      fi
    done
    % ls *.ttf | wc -l | sed 's/ //g' > fonts.dir  (← X サーバが自分で数えればええのにのぅ…)
    % for i in *.ttf
    do
      echo -n $i
      ftdump $i | perl -ne '
        if (/^PostScript name: (.*)/) {
          $fn = $1;
          $fn =~ s/\W/_/g;
          print "\t-maniax-$fn-medium-r-normal--0-0-0-0-p-0-iso8859-1\n";
        }'
    done >> fonts.dir
あとは、作者別に *.ttf を処理して、maniax と書いているところに作者名を入れるとか(または、上記のように作者名の略称をフォント名につける)すれば結構いい感じだと思う。欲を言えば italic や bold なども XLFD の枠組みで -bold-i-normal- とかに自動で変換できればいいけれど、デザインの領域なのでフォント内に情報がないから無理ですなぁ。ファイル名から推測できるものも多いけど命名ルールが決っているわけではないし。

X で使えないフォント
基本的に Win 版 True Type フォントのみで動作確認しているが、サンプルの fonts.dir に書いてあっても X で使えないフォントもある。原因はイマイチまだ特定できていないが(技術力なくてすまぬ)、ftdump コマンドで
    encoding2: Windows Unicode
みたいなフォントは OK で、
    encoding2: Windows Symbol
なフォントは NG な傾向がある気がする。これらの中には TTCap を用いて、
    cr=0xf020-0xffff:animals.ttf    -shift fr2-animals-medium-r-normal--0-0-0-0-p-0-unicode-0
      または
    cr=61472-65535:animals.ttf      -shift fr2-animals-medium-r-normal--0-0-0-0-p-0-unicode-0
のようにすると xfd では表示できるようになるフォントもあるみたい(Hyperion Graphics さんの overloader とか)。

  • ここで cr の値は ftdump animals.ttf の first, last より
  • unicode-0 に変えないと、iso8859-1 のままでは xfd でも出ませぬ

表示できても入力方法はやっぱり分からないんですが…。
ちゃんとした直し方分かる人教えてください。

最近 SourceForge に oto (Open Type Organizer) というソフトが出ていた。X で使えない中国語 TT フォントを Unicode にマッピングし直すために作った、みたいな事が書いてあったが、3D mild さんのフォントなどいくつか (3D_bitfont2.ttf, 3D_bitfont_j.ttf, 3D_marine.ttf, 3D_marine2.ttf, 3D_mild.ttf 3D_soda.ttf, 3D_wood.ttf, SFD_onesize.ttf, SFD_onesr.ttf) はこれで使えるようになった(バージョン:oto-0.3)。もう少し様子をみよう。

なんちゃってカナフォントの入力方法
基本的には JIS キーボードの日本語配列で入力すればいい。例えば「クマムシ」と表示するには「hj]d」、「ホゲ」と表示するには「-*」などと入力する。変換をラクにするために、shift.pl という Perl スクリプトを使って、
    % echo 'カタカナ' | ./shift.pl
    tqtu
などとしてもいい(Shift Factory の Fontrom#2 を買ったときに作ったもの)。しかし、濁点付きの文字などはフォントによってかなりキーが異なることが多い。「ゲ」や「ケ゛」だけ見ても、「*」、「:」、「:"」、「'[」、「:@」、「:T」、「*{」など様々な流派がある上に、アスキーコードの 0xE6 や 0xC6 などにバインドされているものもある(濁点のないフォントもある)。前者は
    % xfd -fn '-maniax-ma_holih-medium-r-normal--30-0-0-0-p-0-iso8859-1' &
    % xfd -fn '-misc-fixed-medium-r-normal--14-*-iso8859-1' &
のようにカナフォントと通常のアルファベットフォントを見比べて、対応するキーを探せばいいが、後者のアスキーコードはキーボードでは入力できないので、GIMP で入力する際は
    main () {
      char c = 0xe6;
      printf("%c", c);
    }
のようなプログラムで吐き出した文字をレンダリングする Perl-Fu を書いて使った。もう少しラクな方法があれば知りたいところ。

Last modified: Fri Sep 14 20:10:50 2001
Kumamushi Genome Project BioRuby.org
KATAYAMA Toshiaki <katayama@kuicr.kyoto-u.ac.jp>