General Description
PBMPlus files are created by Jef Poskanzer's PBMPlus Portable Bitmap Utilities. PBMPlus uses three different file types. These are the Portable Bitmap (PBM), Portable Graymap (PGM), and Portable Pixmap (PPM). PBM can store monochrome (black & white) bitmaps only. PGM additionally stores grayscale bitmaps, and PPM can store color bitmaps. There is also a fourth format Portable Anymap (PNM). PNM is not a different file format in itself, but a file of type PNM can hold any of the three PBMPlus file types listed above.
The default extension is PBM.
Supporting Platforms and Applications
PBMPlus files are common under UNIX and on Intel-based PCs.
PMView Support
In conformance with Jef Poskanzer's specifications of 1990. The full specification is included below.
Technical Information
PBM - Portable Bitmap File Format
DESCRIPTION
The portable bitmap format is a lowest common denominator monochrome file format. It was originally designed to make it reasonable to mail bitmaps between different types of machines using the typical stupid network mailers we have today. Now it serves as the common language of a large family of bitmap conversion filters. The definition is as follows:
· A "magic number" for identifying the file type. A pbm file's magic number is the two characters "P1".
· Whitespace (blanks, TABs, CRs, LFs).
· A width, formatted as ASCII characters in decimal.
· Whitespace.
· A height, again in ASCII decimal.
· Whitespace.
· Width * height bits, each either '1' or '0', starting at the top-left corner of the bitmap, proceeding in normal English reading order.
· The character '1' means black, '0' means white.
· Whitespace in the bits section is ignored.
· Characters from a "#" to the next end-of-line are ignored (comments).
· No line should be longer than 70 characters.
Here is an example of a small bitmap in this format:
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
Programs that read this format should be as lenient as possible, accepting anything that looks remotely like a bitmap.
There is also a variant on the format, available by saving the image with the RAWBITS option. This variant is different in the following ways:
· The "magic number" is "P4" instead of "P1".
· The bits are stored eight per byte, high bit first low bit last.
· No whitespace is allowed in the bits section, and only a single character of whitespace (typically a new line) is allowed after the height.
· The files are eight times smaller and many times faster to read and write.