%!PS-Adobe-2.0 %%Version: 0.1 %%DocumentFonts: (atend) %%Pages: (atend) %%EndComments % % Version 3.3.2 prologue for troff files. % /#copies 1 store /aspectratio 1 def /formsperpage 1 def /landscape false def /linewidth .3 def /magnification 1 def /margin 0 def /orientation 0 def /resolution 720 def /rotation 1 def /xoffset 0 def /yoffset 0 def /roundpage true def /useclippath true def /pagebbox [0 0 612 792] def /R /Times-Roman def /I /Times-Italic def /B /Times-Bold def /BI /Times-BoldItalic def /H /Helvetica def /HI /Helvetica-Oblique def /HB /Helvetica-Bold def /HX /Helvetica-BoldOblique def /CW /Courier def /CO /Courier def /CI /Courier-Oblique def /CB /Courier-Bold def /CX /Courier-BoldOblique def /PA /Palatino-Roman def /PI /Palatino-Italic def /PB /Palatino-Bold def /PX /Palatino-BoldItalic def /Hr /Helvetica-Narrow def /Hi /Helvetica-Narrow-Oblique def /Hb /Helvetica-Narrow-Bold def /Hx /Helvetica-Narrow-BoldOblique def /KR /Bookman-Light def /KI /Bookman-LightItalic def /KB /Bookman-Demi def /KX /Bookman-DemiItalic def /AR /AvantGarde-Book def /AI /AvantGarde-BookOblique def /AB /AvantGarde-Demi def /AX /AvantGarde-DemiOblique def /NR /NewCenturySchlbk-Roman def /NI /NewCenturySchlbk-Italic def /NB /NewCenturySchlbk-Bold def /NX /NewCenturySchlbk-BoldItalic def /ZD /ZapfDingbats def /ZI /ZapfChancery-MediumItalic def /S /S def /S1 /S1 def /GR /Symbol def /inch {72 mul} bind def /min {2 copy gt {exch} if pop} bind def /setup { counttomark 2 idiv {def} repeat pop landscape {/orientation 90 orientation add def} if /scaling 72 resolution div def linewidth setlinewidth 1 setlinecap pagedimensions xcenter ycenter translate orientation rotation mul rotate width 2 div neg height 2 div translate xoffset inch yoffset inch neg translate margin 2 div dup neg translate magnification dup aspectratio mul scale scaling scaling scale addmetrics 0 0 moveto } def /pagedimensions { useclippath userdict /gotpagebbox known not and { /pagebbox [clippath pathbbox newpath] def roundpage currentdict /roundpagebbox known and {roundpagebbox} if } if pagebbox aload pop 4 -1 roll exch 4 1 roll 4 copy landscape {4 2 roll} if sub /width exch def sub /height exch def add 2 div /xcenter exch def add 2 div /ycenter exch def userdict /gotpagebbox true put } def /addmetrics { /Symbol /S null Sdefs cf /Times-Roman /S1 StandardEncoding dup length array copy S1defs cf } def /pagesetup { /page exch def currentdict /pagedict known currentdict page known and { page load pagedict exch get cvx exec } if } def /decodingdefs [ {counttomark 2 idiv {y moveto show} repeat} {neg /y exch def counttomark 2 idiv {y moveto show} repeat} {neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat} {neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat} {counttomark 2 idiv {y moveto show} repeat} {neg setfunnytext} ] def /setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def /w {neg moveto show} bind def /m {neg dup /y exch def moveto} bind def /done {/lastpage where {pop lastpage} if} def /f { dup /font exch def findfont exch dup /ptsize exch def scaling div dup /size exch def scalefont setfont linewidth ptsize mul scaling 10 mul div setlinewidth /spacewidth ( ) stringwidth pop def } bind def /changefont { /fontheight exch def /fontslant exch def currentfont [ 1 0 fontheight ptsize div fontslant sin mul fontslant cos div fontheight ptsize div 0 0 ] makefont setfont } bind def /sf {f} bind def /cf { dup length 2 idiv /entries exch def /chtab exch def /newencoding exch def /newfont exch def findfont dup length 1 add dict /newdict exch def {1 index /FID ne {newdict 3 1 roll put}{pop pop} ifelse} forall newencoding type /arraytype eq {newdict /Encoding newencoding put} if newdict /Metrics entries dict put newdict /Metrics get begin chtab aload pop 1 1 entries {pop def} for newfont newdict definefont pop end } bind def % % A few arrays used to adjust reference points and character widths in some % of the printer resident fonts. If square roots are too high try changing % the lines describing /radical and /radicalex to, % % /radical [0 -75 550 0] % /radicalex [-50 -75 500 0] % % Move braceleftbt a bit - default PostScript character is off a bit. % /Sdefs [ /bracketlefttp [201 500] /bracketleftbt [201 500] /bracketrighttp [-81 380] /bracketrightbt [-83 380] /braceleftbt [203 490] /bracketrightex [220 -125 500 0] /radical [0 0 550 0] /radicalex [-50 0 500 0] /parenleftex [-20 -170 0 0] /integral [100 -50 500 0] /infinity [10 -75 730 0] ] def /S1defs [ /underscore [0 80 500 0] /endash [7 90 650 0] ] def % % Tries to round clipping path dimensions, as stored in array pagebbox, so they % match one of the known sizes in the papersizes array. Lower left coordinates % are always set to 0. % /roundpagebbox { 7 dict begin /papersizes [8.5 inch 11 inch 14 inch 17 inch] def /mappapersize { /val exch def /slop .5 inch def /diff slop def /j 0 def 0 1 papersizes length 1 sub { /i exch def papersizes i get val sub abs dup diff le {/diff exch def /j i def} {pop} ifelse } for diff slop lt {papersizes j get} {val} ifelse } def pagebbox 0 0 put pagebbox 1 0 put pagebbox dup 2 get mappapersize 2 exch put pagebbox dup 3 get mappapersize 3 exch put end } bind def %%EndProlog %%BeginSetup mark % % Encoding vector and redefinition of findfont for the ISO Latin1 standard. % The 18 characters missing from ROM based fonts on older printers are noted % below. % /ISOLatin1Encoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent /sterling /currency /yen /brokenbar % missing /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree % missing /plusminus % missing /twosuperior % missing /threesuperior % missing /acute /mu % missing /paragraph /periodcentered /cedilla /onesuperior % missing /ordmasculine /guillemotright /onequarter % missing /onehalf % missing /threequarters % missing /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth % missing /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply % missing /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute % missing /Thorn % missing /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth % missing /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide % missing /oslash /ugrave /uacute /ucircumflex /udieresis /yacute % missing /thorn % missing /ydieresis ] def /NewFontDirectory FontDirectory maxlength dict def % % Apparently no guarantee findfont is defined in systemdict so the obvious % % systemdict /findfont get exec % % can generate an error. So far the only exception is a VT600 (version 48.0). % userdict /@RealFindfont known not { userdict begin /@RealFindfont systemdict begin /findfont load end def end } if /findfont { dup NewFontDirectory exch known not { dup %dup systemdict /findfont get exec % not always in systemdict dup userdict /@RealFindfont get exec dup /Encoding get StandardEncoding eq { dup length dict begin {1 index /FID ne {def}{pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end /DummyFontName exch definefont } if NewFontDirectory 3 1 roll put } if NewFontDirectory exch get } bind def setup %%EndSetup %%Page: 1 1 /saveobj save def mark 1 pagesetup 12 /Times-Bold f (PGM) 2186 1230 w (Format) 2496 1230 w (Specification) 2912 1230 w 10 /Times-Bold f (pgm) 720 1920 w 10 /Times-Roman f (Updated: 03 October 2003) 720 2076 w (Table Of Contents) 720 2196 w 10 /Times-Bold f (NAME) 720 2436 w 10 /Times-Roman f (pgm \255 Netpbm grayscale image format) 720 2592 w 10 /Times-Bold f (DESCRIPTION) 720 2832 w 10 /Times-Roman f (This program is part of Netpbm.) 720 3024 w (The) 720 3180 w (PGM) 911 3180 w (format) 1164 3180 w (is) 1466 3180 w (a) 1569 3180 w (lowest) 1649 3180 w (common) 1946 3180 w (denominator) 2332 3180 w (grayscale) 2873 3180 w (file) 3285 3180 w (format.) 3454 3180 w (It) 3806 3180 w (is) 3903 3180 w (designed) 4006 3180 w (to) 4397 3180 w (be) 4511 3180 w (extremely) 4641 3180 w (easy) 720 3300 w (to) 940 3300 w (learn) 1061 3300 w (and) 1303 3300 w (write) 1490 3300 w (programs) 1738 3300 w (for.) 2158 3300 w (\(It's) 2367 3300 w (so) 2576 3300 w (simple) 2708 3300 w (that) 3018 3300 w (most) 3211 3300 w (people) 3449 3300 w (will) 3757 3300 w (simply) 3955 3300 w (reverse) 4270 3300 w (engineer) 4599 3300 w (it) 4984 3300 w (because it's easier than reading this specification\).) 720 3420 w (A) 720 3576 w (PGM) 822 3576 w (image) 1069 3576 w (represents) 1343 3576 w (a) 1777 3576 w (grayscale) 1851 3576 w (graphic) 2257 3576 w (image.) 2586 3576 w (There) 2910 3576 w (are) 3172 3576 w (many) 3323 3576 w (psueudo\255PGM) 3575 3576 w (formats) 4188 3576 w (in) 4524 3576 w (use) 4633 3576 w (where) 4797 3576 w (everything) 720 3696 w (is) 1181 3696 w (as) 1282 3696 w (specified) 1399 3696 w (herein) 1793 3696 w (except) 2076 3696 w (for) 2370 3696 w (the) 2520 3696 w (meaning) 2676 3696 w (of) 3054 3696 w (individual) 3171 3696 w (pixel) 3611 3696 w (values.) 3845 3696 w (For) 4183 3696 w (most) 4355 3696 w (purposes,) 4583 3696 w (a) 4996 3696 w (PGM) 720 3816 w (image) 973 3816 w (can) 1254 3816 w (just) 1429 3816 w (be) 1611 3816 w (thought) 1742 3816 w (of) 2085 3816 w (an) 2205 3816 w (array) 2336 3816 w (of) 2577 3816 w (arbitrary) 2697 3816 w (integers,) 3077 3816 w (and) 3455 3816 w (all) 3636 3816 w (the) 3773 3816 w (programs) 3932 3816 w (in) 4346 3816 w (the) 4461 3816 w (world) 4620 3816 w (that) 4890 3816 w (think they're processing a grayscale image can easily be tricked into processing something else.) 720 3936 w (The name "PGM" is an acronym derived from "Portable Gray Map.") 720 4092 w (One) 720 4248 w (official) 913 4248 w (variant) 1228 4248 w (of) 1532 4248 w (PGM) 1642 4248 w (is) 1886 4248 w (the) 1980 4248 w (transparency) 2129 4248 w (mask.) 2665 4248 w (A) 2954 4248 w (transparency) 3054 4248 w (mask) 3591 4248 w (in) 3830 4248 w (Netpbm) 3936 4248 w (is) 4286 4248 w (represented) 4381 4248 w (by) 4868 4248 w (a) 4996 4248 w (PGM image, except that in place of pixel intensities, there are opaqueness values.) 720 4368 w (See below.) 4028 4368 w (The) 720 4524 w (format) 909 4524 w (definition) 1209 4524 w (is) 1632 4524 w (as) 1733 4524 w (follows.) 1850 4524 w (You) 2234 4524 w (can) 2440 4524 w (use) 2612 4524 w (the) 2779 4524 w (libnetpbm) 2935 4524 w (C) 3375 4524 w (subroutine) 3476 4524 w (library) 3932 4524 w (to) 4232 4524 w (conveniently) 4345 4524 w (and) 4896 4524 w (accurately read and interpret the format.) 720 4644 w (A) 720 4800 w (PGM) 822 4800 w (file) 1069 4800 w (consists) 1232 4800 w (of) 1579 4800 w (a) 1692 4800 w (sequence) 1766 4800 w (of) 2161 4800 w (one) 2274 4800 w (or) 2448 4800 w (more) 2561 4800 w (PGM) 2796 4800 w (images.) 3043 4800 w (There) 3381 4800 w (are) 3643 4800 w (no) 3795 4800 w (data,) 3926 4800 w (delimiters,) 4148 4800 w (or) 4604 4800 w (padding) 4718 4800 w (before, after, or between images.) 720 4920 w (Each PGM image consists of the following:) 720 5076 w (1) 720 5232 w (A) 970 5232 w ("magic) 1071 5232 w (number") 1385 5232 w (for) 1761 5232 w (identifying) 1907 5232 w (the) 2376 5232 w (file) 2528 5232 w (type.) 2691 5232 w (A) 2943 5232 w (pgm) 3045 5232 w (image's) 3253 5232 w (magic) 3599 5232 w (number) 3873 5232 w (is) 4208 5232 w (the) 4305 5232 w (two) 4457 5232 w (characters) 4637 5232 w ("P5".) 970 5352 w (2) 720 5508 w (Whitespace \(blanks, TABs, CRs, LFs\).) 970 5508 w (3) 720 5664 w (A width, formatted as ASCII characters in decimal.) 970 5664 w (4) 720 5820 w (Whitespace.) 970 5820 w (5) 720 5976 w (A height, again in ASCII decimal.) 970 5976 w (6) 720 6132 w (Whitespace.) 970 6132 w (7) 720 6288 w (The) 970 6288 w (maximum) 1161 6288 w (gray) 1603 6288 w (value) 1817 6288 w (\(Maxval\),) 2070 6288 w (again) 2503 6288 w (in) 2756 6288 w (ASCII) 2871 6288 w (decimal.) 3169 6288 w (Must) 3572 6288 w (be) 3815 6288 w (less) 3946 6288 w (than) 4133 6288 w (65536,) 4342 6288 w (and) 4654 6288 w (more) 4835 6288 w (than zero.) 970 6408 w (8) 720 6564 w (Newline or other single whitespace character.) 970 6564 w (9) 720 6720 w (A) 970 6720 w (raster) 1077 6720 w (of) 1333 6720 w (Height) 1451 6720 w (rows,) 1758 6720 w (in) 2012 6720 w (order) 2125 6720 w (from) 2371 6720 w (top) 2601 6720 w (to) 2765 6720 w (bottom.) 2879 6720 w (Each) 3249 6720 w (row) 3484 6720 w (consists) 3675 6720 w (of) 4028 6720 w (Width) 4147 6720 w (gray) 4433 6720 w (values,) 4646 6720 w (in) 4962 6720 w (order) 970 6840 w (from) 1207 6840 w (left) 1428 6840 w (to) 1588 6840 w (right.) 1693 6840 w (Each) 1959 6840 w (gray) 2185 6840 w (value) 2389 6840 w (is) 2632 6840 w (a) 2726 6840 w (number) 2797 6840 w (from) 3129 6840 w (0) 3350 6840 w (through) 3427 6840 w (Maxval,) 3765 6840 w (with) 4122 6840 w (0) 4327 6840 w (being) 4404 6840 w (black) 4653 6840 w (and) 4896 6840 w (Maxval) 970 6960 w (being) 1313 6960 w (white.) 1573 6960 w (Each) 1883 6960 w (gray) 2120 6960 w (value) 2335 6960 w (is) 2589 6960 w (represented) 2694 6960 w (in) 3191 6960 w (pure) 3307 6960 w (binary) 3522 6960 w (by) 3815 6960 w (either) 3953 6960 w (1) 4218 6960 w (or) 4306 6960 w (2) 4427 6960 w (bytes.) 4515 6960 w (If) 4814 6960 w (the) 4918 6960 w (Maxval is less than 256, it is 1 byte.) 970 7080 w (Otherwise, it is 2 bytes.) 2459 7080 w (The most significant byte is first.) 3453 7080 w (A row of an image is horizontal.) 720 7236 w (A column is vertical.) 2065 7236 w (The pixels in the image are square and contiguous.) 2953 7236 w cleartomark showpage saveobj restore %%EndPage: 1 1 %%Page: 2 2 /saveobj save def mark 2 pagesetup 10 /Times-Roman f (\255 2 \255) 2797 480 w (10) 720 840 w (Each) 970 840 w (gray) 1195 840 w (value) 1398 840 w (is) 1640 840 w (a) 1734 840 w (number) 1805 840 w (proportional) 2137 840 w (to) 2658 840 w (the) 2763 840 w (intensity) 2912 840 w (of) 3284 840 w (the) 3394 840 w (pixel,) 3543 840 w (adjusted) 3795 840 w (by) 4155 840 w (the) 4282 840 w (ITU\255R) 4431 840 w (Recom\255) 4724 840 w (mendation) 970 960 w (BT.709) 1429 960 w (gamma) 1769 960 w (transfer) 2100 960 w (function.) 2441 960 w (\(That) 2860 960 w (transfer) 3112 960 w (function) 3452 960 w (specifies) 3821 960 w (a) 4206 960 w (gamma) 4286 960 w (number) 4616 960 w (of) 4957 960 w (2.2) 970 1080 w (and) 1133 1080 w (has) 1315 1080 w (a) 1486 1080 w (linear) 1568 1080 w (section) 1833 1080 w (for) 2154 1080 w (small) 2308 1080 w (intensities\).) 2563 1080 w (A) 3090 1080 w (value) 3200 1080 w (of) 3454 1080 w (zero) 3575 1080 w (is) 3784 1080 w (therefore) 3889 1080 w (black.) 4286 1080 w (A) 4591 1080 w (value) 4702 1080 w (of) 4957 1080 w (Maxval) 970 1200 w (represents) 1310 1200 w (CIE) 1749 1200 w (D65) 1945 1200 w (white) 2152 1200 w (and) 2409 1200 w (the) 2588 1200 w (most) 2745 1200 w (intense) 2975 1200 w (value) 3293 1200 w (in) 3543 1200 w (the) 3655 1200 w (image) 3811 1200 w (and) 4089 1200 w (any) 4267 1200 w (other) 4445 1200 w (image) 4684 1200 w (to) 4962 1200 w (which the image might be compared.) 970 1320 w (11) 720 1476 w (Note) 970 1476 w (that) 1193 1476 w (a) 1372 1476 w (common) 1445 1476 w (variation) 1824 1476 w (on) 2208 1476 w (the) 2337 1476 w (PGM) 2488 1476 w (format) 2734 1476 w (is) 3029 1476 w (to) 3125 1476 w (have) 3232 1476 w (the) 3449 1476 w (gray) 3600 1476 w (value) 3806 1476 w (be) 4051 1476 w ("linear,") 4174 1476 w (i.e.) 4537 1476 w (as) 4689 1476 w (speci\255) 4802 1476 w (fied) 970 1596 w (above) 1160 1596 w (except) 1433 1596 w (without) 1728 1596 w (the) 2069 1596 w (gamma) 2225 1596 w (adjustment.) 2553 1596 w 10 /Times-Bold f (pnmgamma) 3076 1596 w 10 /Times-Roman f (takes) 3621 1596 w (such) 3860 1596 w (a) 4077 1596 w (PGM) 4155 1596 w (variant) 4406 1596 w (as) 4717 1596 w (input) 4834 1596 w (and produces a true PGM as output.) 970 1716 w (12) 720 1872 w (In) 970 1872 w (the) 1088 1872 w (transparency) 1245 1872 w (mask) 1789 1872 w (variation) 2035 1872 w (on) 2425 1872 w (PGM,) 2560 1872 w (the) 2837 1872 w (value) 2994 1872 w (represents) 3246 1872 w (opaqueness.) 3686 1872 w (It) 4232 1872 w (is) 4329 1872 w (proportional) 4432 1872 w (to) 4962 1872 w (the) 970 1992 w (fraction) 1118 1992 w (of) 1454 1992 w (intensity) 1563 1992 w (of) 1934 1992 w (a) 2043 1992 w (pixel) 2113 1992 w (that) 2339 1992 w (would) 2515 1992 w (show) 2791 1992 w (in) 3028 1992 w (place) 3132 1992 w (of) 3368 1992 w (an underlying pixel.) 3477 1992 w (So what normally) 4329 1992 w (means) 970 2112 w (white) 1272 2112 w (represents) 1541 2112 w (total) 1992 2112 w (opaqueness) 2217 2112 w (and) 2725 2112 w (what) 2917 2112 w (normally) 3159 2112 w (means) 3568 2112 w (black) 3871 2112 w (represents) 4135 2112 w (total) 4587 2112 w (trans\255) 4813 2112 w (parency.) 970 2232 w (In) 1362 2232 w (between,) 1472 2232 w (you) 1856 2232 w (would) 2033 2232 w (compute) 2310 2232 w (the) 2681 2232 w (intensity) 2830 2232 w (of) 3202 2232 w (a) 3312 2232 w (composite) 3383 2232 w (pixel) 3821 2232 w (of) 4047 2232 w (an) 4156 2232 w ("under") 4276 2232 w (and) 4611 2232 w ("over") 4781 2232 w (pixel) 970 2352 w (as) 1214 2352 w (under) 1341 2352 w (*) 1612 2352 w (\(1\255\(alpha/alpha) 1706 2352 w 10 /S f (_) 2315 2352 w 10 /Times-Roman f (maxval\)\)) 2365 2352 w (+) 2769 2352 w (over) 2869 2352 w (*) 3090 2352 w (\(alpha/alpha) 3185 2352 w 10 /S f (_) 3678 2352 w 10 /Times-Roman f (maxval\).) 3728 2352 w (Note) 4150 2352 w (that) 4389 2352 w (there) 4584 2352 w (is) 4828 2352 w (no) 4940 2352 w (gamma transfer function in the transparency mask.) 970 2472 w (13) 720 2628 w (Characters from a "#" to the next end\255of\255line, before the maxval line, are comments and are ignored.) 970 2628 w (Note) 720 2940 w (that) 946 2940 w (you) 1128 2940 w (can) 1310 2940 w (use) 1480 2940 w 10 /Times-Bold f (pamdepth) 1645 2940 w 10 /Times-Roman f (to) 2111 2940 w (convert) 2221 2940 w (between) 2552 2940 w (a) 2916 2940 w (the) 2992 2940 w (format) 3147 2940 w (with) 3446 2940 w (1) 3657 2940 w (byte) 3740 2940 w (per) 3945 2940 w (gray) 4105 2940 w (value) 4315 2940 w (and) 4564 2940 w (the) 4741 2940 w (one) 4896 2940 w (with 2 bytes per gray value.) 720 3060 w (There) 720 3216 w (is) 985 3216 w (actually) 1085 3216 w (another) 1434 3216 w (version) 1766 3216 w (of) 2093 3216 w (the) 2210 3216 w (PGM) 2366 3216 w (format) 2617 3216 w (that) 2917 3216 w (is) 3101 3216 w (fairly) 3202 3216 w (rare:) 3452 3216 w ("plain") 3668 3216 w (PGM) 3984 3216 w (format.) 4235 3216 w (The) 4585 3216 w (format) 4774 3216 w (above,) 720 3336 w (which) 1011 3336 w (generally) 1283 3336 w (considered) 1682 3336 w (the) 2141 3336 w (normal) 2290 3336 w (one,) 2600 3336 w (is) 2796 3336 w (known) 2890 3336 w (as) 3189 3336 w (the) 3299 3336 w ("raw") 3448 3336 w (PGM) 3706 3336 w (format.) 3950 3336 w (See) 4293 3336 w 10 /Times-Bold f (pbm) 4464 3336 w 10 /Times-Roman f (for) 4686 3336 w (some) 4829 3336 w (commentary on how plain and raw formats relate to one another and how to use them.) 720 3456 w (The difference in the plain format is:) 720 3612 w (\255) 970 3768 w (There is exactly one image in a file.) 1220 3768 w (\255) 970 3924 w (The magic number is P2 instead of P5.) 1220 3924 w (\255) 970 4080 w (Each pixel in the raster is represented as an ASCII decimal number \(of arbitrary size\).) 1220 4080 w (\255) 970 4236 w (Each pixel in the raster has white space before and after it.) 1220 4236 w (There must be) 3602 4236 w (at) 4199 4236 w (least) 4297 4236 w (one) 4506 4236 w (character) 4676 4236 w (of white space between any two pixels, but there is no maximum.) 1220 4356 w (\255) 970 4512 w (No line should be longer than 70 characters.) 1220 4512 w (Here is an example of a small image in the plain PGM format.) 720 4668 w (P2) 720 4848 w (# feep.pgm) 720 4968 w (24 7) 720 5088 w (15) 720 5208 w (0) 720 5328 w (0) 820 5328 w (0) 920 5328 w (0) 1020 5328 w (0) 1120 5328 w (0) 1220 5328 w (0) 1320 5328 w (0) 1420 5328 w (0) 1520 5328 w (0) 1620 5328 w (0) 1720 5328 w (0) 1820 5328 w (0) 1920 5328 w (0) 2020 5328 w (0) 2120 5328 w (0) 2220 5328 w (0) 2320 5328 w (0) 2420 5328 w (0) 2520 5328 w (0) 2620 5328 w (0) 2720 5328 w (0) 2820 5328 w (0) 2920 5328 w (0) 3020 5328 w (0) 720 5448 w (3) 820 5448 w (3) 920 5448 w (3) 1020 5448 w (3) 1120 5448 w (0) 1220 5448 w (0) 1320 5448 w (7) 1420 5448 w (7) 1520 5448 w (7) 1620 5448 w (7) 1720 5448 w (0) 1820 5448 w (0 11 11 11 11) 1920 5448 w (0) 2520 5448 w (0 15 15 15 15) 2620 5448 w (0) 3220 5448 w (0) 720 5568 w (3) 820 5568 w (0) 920 5568 w (0) 1020 5568 w (0) 1120 5568 w (0) 1220 5568 w (0) 1320 5568 w (7) 1420 5568 w (0) 1520 5568 w (0) 1620 5568 w (0) 1720 5568 w (0) 1820 5568 w (0 11) 1920 5568 w (0) 2145 5568 w (0) 2245 5568 w (0) 2345 5568 w (0) 2445 5568 w (0 15) 2545 5568 w (0) 2770 5568 w (0 15) 2870 5568 w (0) 3095 5568 w (0) 720 5688 w (3) 820 5688 w (3) 920 5688 w (3) 1020 5688 w (0) 1120 5688 w (0) 1220 5688 w (0) 1320 5688 w (7) 1420 5688 w (7) 1520 5688 w (7) 1620 5688 w (0) 1720 5688 w (0) 1820 5688 w (0 11 11 11) 1920 5688 w (0) 2395 5688 w (0) 2495 5688 w (0 15 15 15 15) 2595 5688 w (0) 3195 5688 w (0) 720 5808 w (3) 820 5808 w (0) 920 5808 w (0) 1020 5808 w (0) 1120 5808 w (0) 1220 5808 w (0) 1320 5808 w (7) 1420 5808 w (0) 1520 5808 w (0) 1620 5808 w (0) 1720 5808 w (0) 1820 5808 w (0 11) 1920 5808 w (0) 2145 5808 w (0) 2245 5808 w (0) 2345 5808 w (0) 2445 5808 w (0 15) 2545 5808 w (0) 2770 5808 w (0) 2870 5808 w (0) 2970 5808 w (0) 3070 5808 w (0) 720 5928 w (3) 820 5928 w (0) 920 5928 w (0) 1020 5928 w (0) 1120 5928 w (0) 1220 5928 w (0) 1320 5928 w (7) 1420 5928 w (7) 1520 5928 w (7) 1620 5928 w (7) 1720 5928 w (0) 1820 5928 w (0 11 11 11 11) 1920 5928 w (0) 2520 5928 w (0 15) 2620 5928 w (0) 2845 5928 w (0) 2945 5928 w (0) 3045 5928 w (0) 3145 5928 w (0) 720 6048 w (0) 820 6048 w (0) 920 6048 w (0) 1020 6048 w (0) 1120 6048 w (0) 1220 6048 w (0) 1320 6048 w (0) 1420 6048 w (0) 1520 6048 w (0) 1620 6048 w (0) 1720 6048 w (0) 1820 6048 w (0) 1920 6048 w (0) 2020 6048 w (0) 2120 6048 w (0) 2220 6048 w (0) 2320 6048 w (0) 2420 6048 w (0) 2520 6048 w (0) 2620 6048 w (0) 2720 6048 w (0) 2820 6048 w (0) 2920 6048 w (0) 3020 6048 w (There is a newline character at the end of each of these lines.) 720 6264 w (Programs) 720 6420 w (that) 1131 6420 w (read) 1309 6420 w (this) 1508 6420 w (format) 1681 6420 w (should) 1975 6420 w (be) 2270 6420 w (as) 2392 6420 w (lenient) 2503 6420 w (as) 2803 6420 w (possible,) 2914 6420 w (accepting) 3295 6420 w (anything) 3705 6420 w (that) 4083 6420 w (looks) 4261 6420 w (remotely) 4506 6420 w (like) 4890 6420 w (a PGM.) 720 6540 w 10 /Times-Bold f (COMPATIBILITY) 720 6780 w 10 /Times-Roman f (Before) 720 6972 w (April) 1022 6972 w (2000,) 1264 6972 w (a) 1520 6972 w (raw) 1595 6972 w (format) 1775 6972 w (PGM) 2072 6972 w (file) 2320 6972 w (could) 2484 6972 w (not) 2737 6972 w (have) 2896 6972 w (a) 3115 6972 w (maxval) 3190 6972 w (greater) 3515 6972 w (than) 3823 6972 w (255.) 4027 6972 w (Hence,) 4259 6972 w (it) 4570 6972 w (could) 4658 6972 w (not) 4912 6972 w (have more than one byte per sample.) 720 7092 w (Old programs may depend on this.) 2236 7092 w (Before) 720 7248 w (July) 1018 7248 w (2000,) 1212 7248 w (there) 1464 7248 w (could) 1690 7248 w (be) 1939 7248 w (at) 2060 7248 w (most) 2159 7248 w (one) 2381 7248 w (image) 2552 7248 w (in) 2824 7248 w (a) 2930 7248 w (PGM) 3002 7248 w (file.) 3247 7248 w (As) 3458 7248 w (a) 3597 7248 w (result,) 3669 7248 w (most) 3944 7248 w (tools) 4167 7248 w (to) 4390 7248 w (process) 4496 7248 w (PGM) 4823 7248 w cleartomark showpage saveobj restore %%EndPage: 2 2 %%Page: 3 3 /saveobj save def mark 3 pagesetup 10 /Times-Roman f (\255 3 \255) 2797 480 w (files ignore \(and don't read\) any data after the first image.) 720 840 w 10 /Times-Bold f (SEE ALSO) 720 1116 w 10 /Times-Roman f (pnm, pbm, ppm, pam, libnetpbm, programs that process PGM,) 720 1272 w 10 /Times-Bold f (AUTHOR) 720 1512 w 10 /Times-Roman f (Copyright \(C\) 1989, 1991 by Jef Poskanzer.) 720 1668 w 10 /S1 f (________________________________________________________________________) 720 1788 w 10 /Times-Bold f (Table Of Contents) 720 2028 w 10 /LucidaSansUnicode22 f (\031) 720 2220 w 10 /Times-Roman f (NAME) 970 2220 w 10 /LucidaSansUnicode22 f (\031) 720 2376 w 10 /Times-Roman f (DESCRIPTION) 970 2376 w 10 /LucidaSansUnicode22 f (\031) 720 2532 w 10 /Times-Roman f (COMPATIBILITY) 970 2532 w 10 /LucidaSansUnicode22 f (\031) 720 2688 w 10 /Times-Roman f (SEE ALSO) 970 2688 w 10 /LucidaSansUnicode22 f (\031) 720 2844 w 10 /Times-Roman f (AUTHOR) 970 2844 w cleartomark showpage saveobj restore %%EndPage: 3 3 %%Trailer done %%DocumentFonts: Times-Roman LucidaSansUnicode22 Times-Bold S1 S %%Pages: 3