diff options
Diffstat (limited to 'upstream/opensuse-tumbleweed/man5/pbm.5')
-rw-r--r-- | upstream/opensuse-tumbleweed/man5/pbm.5 | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/upstream/opensuse-tumbleweed/man5/pbm.5 b/upstream/opensuse-tumbleweed/man5/pbm.5 new file mode 100644 index 00000000..1477e5a7 --- /dev/null +++ b/upstream/opensuse-tumbleweed/man5/pbm.5 @@ -0,0 +1,212 @@ +\ +.\" This man page was generated by the Netpbm tool 'makeman' from HTML source. +.\" Do not hand-hack it! If you have bug fixes or improvements, please find +.\" the corresponding HTML page on the Netpbm website, generate a patch +.\" against that, and send it to the Netpbm maintainer. +.TH "The PBM Format" 5 "27 November 2013" "netpbm documentation" + +.SH NAME + +pbm - Netpbm bi-level image format + +.UN description +.SH DESCRIPTION +.PP +This program is part of +.BR "Netpbm" (1)\c +\&. +.PP +The PBM format is a lowest common denominator monochrome file +format. It serves as the common language of a large family of bitmap +image conversion filters. Because the format pays no heed to +efficiency, it is simple and general enough that one can easily +develop programs to convert to and from just about any other graphics +format, or to manipulate the image. +.PP +The name "PBM" is an acronym derived from "Portable Bit Map." +.PP +This is not a format that one would normally use to store a file +or to transmit it to someone -- it's too expensive and not expressive +enough for that. It's just an intermediary format. In it's purest +use, it lives only in a pipe between two other programs. + +.UN layout +.SH THE LAYOUT +.PP +The format definition is as follows. +.PP +A PBM file consists of a sequence of one or more PBM images. There are +no data, delimiters, or padding before, after, or between images. +.PP +Each PBM image consists of the following: + + + +.IP \(bu +A "magic number" for identifying the file type. +A pbm image's magic number is the two characters "P4". + +.IP \(bu +Whitespace (blanks, TABs, CRs, LFs). + +.IP \(bu +The width in pixels of the image, formatted as ASCII characters in decimal. + +.IP \(bu +Whitespace. + +.IP \(bu +The height in pixels of the image, again in ASCII decimal. + +.IP \(bu +A single whitespace character (usually a newline). + +.IP \(bu +A raster of Height rows, in order from top to bottom. Each row is +Width bits, packed 8 to a byte, with don't care bits to fill out the +last byte in the row. Each bit represents a pixel: 1 is black, 0 is +white. The order of the pixels is left to right. The order of their +storage within each file byte is most significant bit to least +significant bit. The order of the file bytes is from the beginning of +the file toward the end of the file. +.sp +A row of an image is horizontal. A column is vertical. The pixels +in the image are square and contiguous. + +.IP \(bu +Before the whitespace character that delimits the raster, any +characters from a "#" through the next carriage return or +newline character, is a comment and is ignored. Note that this is +rather unconventional, because a comment can actually be in the middle +of what you might consider a token. Note also that this means if you +have a comment right before the raster, the newline at the end of the +comment is not sufficient to delimit the raster. + + +.PP +All characters referred to herein are encoded in ASCII. +"newline" refers to the character known in ASCII as Line +Feed or LF. A "white space" character is space, CR, LF, +TAB, VT, or FF (I.e. what the ANSI standard C isspace() function +calls white space). + + +.UN plainpbm +.SS Plain PBM +.PP +There is actually another version of the PBM format, even more +simplistic, more lavishly wasteful of space than PBM, called Plain +PBM. Plain PBM actually came first, but even its inventor couldn't +stand its recklessly squanderous use of resources after a while and +switched to what we now know as the regular PBM format. But Plain PBM +is so redundant -- so overstated -- that it's virtually impossible to +break. You can send it through the most liberal mail system (which +was the original purpose of the PBM format) and it will arrive still +readable. You can flip a dozen random bits and easily piece back +together the original image. And we hardly need to define the format +here, because you can decode it by inspection. +.PP +Netpbm programs generate Raw PBM format instead of Plain PBM by +default, but the +.UR index.html#commonoptions +common option +.UE +\& +\fB-plain\fP chooses Plain PBM. +.PP +The difference is: + +.IP \(bu + +There is exactly one image in a file. +.IP \(bu + +The "magic number" is "P1" instead of "P4". +.IP \(bu + +Each pixel in the raster is represented by a byte containing ASCII '1' or '0', +representing black and white respectively. There are no fill bits at the +end of a row. +.IP \(bu + +White space in the raster section is ignored. +.IP \(bu + +You can put any junk you want after the raster, if it starts with a +white space character. +.IP \(bu + +No line should be longer than 70 characters. + + +Here is an example of a small image in the plain PBM format. +.nf +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 + +.fi +.PP +There is a newline character at the end of each of these lines. +.PP +You can generate the Plain PBM format from the regular PBM format +(first image in the file only) with the \fBpnmtoplainpnm\fP program. +.PP +Programs that read this format should be as lenient as possible, +accepting anything that looks remotely like a bitmap. + + +.UN internetmediatype +.SH INTERNET MEDIA TYPE +.PP +No Internet Media Type (aka MIME type, content type) for PBM has been +registered with IANA, but the value \f(CWimage/x-portable-bitmap\fP +is conventional. +.PP +Note that the PNM Internet Media Type \f(CWimage/x-portable-anymap\fP +also applies. + + +.UN filename +.SH FILE NAME +.PP +There are no requirements on the name of a PBM file, but the convention is +to use the suffix ".pbm". "pnm" is also conventional, for +cases where distinguishing between the particular subformats of PNM is not +convenient. + + +.UN compatibility +.SH COMPATIBILITY +.PP +Before July 2000, there could be at most one image in a PBM file. As +a result, most tools to process PBM files ignore (and don't read) any +data after the first image. + +.UN seealso +.SH SEE ALSO +.BR "libnetpbm" (3)\c +\&, +.BR "pnm" (5)\c +\&, +.BR "pgm" (5)\c +\&, +.BR "ppm" (5)\c +\&, +.BR "pam" (5)\c +\&, +.BR "programs that process PBM" (1)\c +\& +.SH DOCUMENT SOURCE +This manual page was generated by the Netpbm tool 'makeman' from HTML +source. The master documentation is at +.IP +.B http://netpbm.sourceforge.net/doc/pbm.html +.PP
\ No newline at end of file |