PBM(5)

名称
pbm - ポータブルビットマップファイルのフォーマット

解説
ポータブルビットマップフォーマットは、 最低位の共通の白黒画像ファイルフォーマットです。 元々は、異なったタイプのマシン間で、 ビットマップ転送には適さないネットワークメーラを使用して、 ビットマップをメールで受け渡しする妥当な方法としてデザインされました。 現在は、多くのビットマップ変換フィルタ群の共通語として使用されています。 定義を以下に示します:

•   ファイルタイプを識別するための "マジックナンバ"。 pbm ファイルのマジックナンバは "P1" の 2 文字です。
•   空白 (複数のブランク・TAB・CR・LF から成ります)。
•   幅を ASCII 10 進数で表記します。
•   空白。
•   高さを ASCII 10 進数で表記します。
•   空白。
•   幅 * 高さの数のビット。各ビットは '1' または '0' で表し、 ビットマップ左上角を起点として通常の英語を読む向きに連続します。
•   文字 '1' は黒を、'0' は白を表します。
•   ビット部の空白は無視されます。
•   "#" から行末までの文字列は無視されます (コメント)。
•   長さが 70 文字を越える行は許されません。

以下に、このフォーマットでの小さなビットマップの例を示します:

    P1
    # feep.pbm
    24 7
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
    0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
    0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
    0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
    0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

このフォーマットを読むプログラムは可能な限り寛大になるべきで、 少しでもビットマップのように見えるものはなんでも受け付けるべきです。

このフォーマットには派生形式があり、 RAWBITS オプションをコンパイル時にセットすることで利用可能です。 この派生形式は、以下の点が異なります:

•   "マジックナンバ" が "P1" ではなく "P4" です。
•   8 ビットが 1 バイトに格納されます。上位ビットが先で下位ビットが後になります。
•   ビット部には空白は許されませんし、 高さの後には単一の空白 (通常は改行) のみが許されます。
•   ファイルは 1/8 の大きさになり、読み書きが何倍も高速になります。

作者
Copyright (C) 1989, 1991 by Jef Poskanzer.