%!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 (Libnetpbm) 1913 1230 w (Image) 2518 1230 w (Processing Manual) 2868 1230 w 10 /Times-Bold f (Libnetpbm User's Guide) 720 1920 w 10 /Times-Roman f ( ) 3024 2076 w (The Libnetpbm programming library is part of Netpbm.) 720 2232 w 10 /Times-Bold f (Example) 720 2472 w 10 /Times-Roman f (Here) 720 2664 w (is) 953 2664 w (an) 1060 2664 w (example) 1194 2664 w (of) 1572 2664 w (a) 1695 2664 w (C) 1779 2664 w (program) 1886 2664 w (that) 2264 2664 w (uses) 2454 2664 w 10 /Times-Bold f (libnetpbm) 2666 2664 w 10 /Times-Roman f (to) 3146 2664 w (read) 3264 2664 w (a) 3475 2664 w (Netpbm) 3559 2664 w (image) 3921 2664 w (input) 4205 2664 w (and) 4451 2664 w (produce) 4635 2664 w (a) 4996 2664 w (Netpbm image output.) 720 2784 w (/* Example program fragment to read a PAM or PNM image) 795 2964 w (from stdin, add up the values of every sample in it) 870 3084 w (\(I don't know why\), and write the image unchanged to) 870 3204 w (stdout. */) 870 3324 w (#include ) 795 3444 w (struct pam inpam, outpam;) 795 3564 w (unsigned int row;) 795 3684 w (pnm) 795 3804 w 10 /S f (_) 973 3804 w 10 /Times-Roman f (init\(&argc, argv\);) 1023 3804 w (pnm) 795 3924 w 10 /S f (_) 973 3924 w 10 /Times-Roman f (readpaminit\(stdin, &inpam, PAM) 1023 3924 w 10 /S f (_) 2373 3924 w 10 /Times-Roman f (STRUCT) 2423 3924 w 10 /S f (_) 2807 3924 w 10 /Times-Roman f (SIZE\(tuple) 2857 3924 w 10 /S f (_) 3301 3924 w 10 /Times-Roman f (type\)\);) 3351 3924 w (outpam = inpam; outpam.file = stdout;) 795 4044 w (pnm) 795 4164 w 10 /S f (_) 973 4164 w 10 /Times-Roman f (writepaminit\(&outpam\);) 1023 4164 w (tuplerow = pnm) 795 4284 w 10 /S f (_) 1434 4284 w 10 /Times-Roman f (allocpamrow\(&inpam\);) 1484 4284 w (for \(row = 0; row < inpam.height; row++\) {) 795 4404 w (unsigned int column;) 895 4524 w (pnm) 895 4644 w 10 /S f (_) 1073 4644 w 10 /Times-Roman f (readpamrow\(&inpam, tuplerow\);) 1123 4644 w (for \(column = 0; column < inpam.width; ++column\) {) 895 4764 w (unsigned int plane;) 995 4884 w (for \(plane = 0; plane < inpam.depth; ++plane\) {) 995 5004 w (grand) 1095 5124 w 10 /S f (_) 1322 5124 w 10 /Times-Roman f (total += tuplerow[column][plane];) 1372 5124 w (}) 995 5244 w (}) 895 5364 w (pnm) 895 5484 w 10 /S f (_) 1073 5484 w 10 /Times-Roman f (writepamrow\(&outpam, tuplerow\); }) 1123 5484 w (pnm) 795 5604 w 10 /S f (_) 973 5604 w 10 /Times-Roman f (freepamrow\(tuplerow\);) 1023 5604 w 10 /Times-Bold f (Guide To Using Libnetpbm) 720 5904 w (libnetpbm classes) 720 6180 w 10 /Times-Roman f (In) 720 6372 w (this) 837 6372 w (section,) 1016 6372 w (we) 1358 6372 w (cover) 1508 6372 w (only) 1763 6372 w (the) 1975 6372 w (PAM) 2131 6372 w (functions) 2382 6372 w (in) 2788 6372 w 10 /Times-Bold f (libnetpbm) 2900 6372 w 10 /Times-Roman f (.) 3340 6372 w (As) 3425 6372 w (described) 3571 6372 w (in) 3988 6372 w (the) 4101 6372 w (introduction) 4258 6372 w (to) 4782 6372 w 10 /Times-Bold f (lib\255) 4895 6372 w (netpbm) 720 6492 w 10 /Times-Roman f (,) 1048 6492 w (there) 1107 6492 w (are) 1340 6492 w (four) 1495 6492 w (other) 1695 6492 w (classes) 1934 6492 w (of) 2245 6492 w (image) 2362 6492 w (processing) 2640 6492 w (functions) 3101 6492 w (\(PBM,) 3507 6492 w (PGM,) 3811 6492 w (PPM,) 4087 6492 w (PNM\).) 4347 6492 w (They) 4681 6492 w (are) 4919 6492 w (less) 720 6612 w (important,) 899 6612 w (since) 1342 6612 w (you) 1576 6612 w (can) 1755 6612 w (do) 1922 6612 w (everything) 2051 6612 w (more) 2507 6612 w (easily) 2741 6612 w (with) 3004 6612 w (the) 3212 6612 w (PAM) 3364 6612 w (functions,) 3611 6612 w (but) 4038 6612 w (if) 4196 6612 w (you're) 4287 6612 w (working) 4577 6612 w (on) 4940 6612 w (old) 720 6732 w (programs) 879 6732 w (or) 1287 6732 w (need) 1401 6732 w (the) 1620 6732 w (extra) 1773 6732 w (efficiency) 2003 6732 w (those) 2432 6732 w (older) 2674 6732 w (functions) 2910 6732 w (can) 3313 6732 w (sometimes) 3482 6732 w (provide,) 3941 6732 w (you) 4301 6732 w (can) 4481 6732 w (find) 4649 6732 w (them) 4840 6732 w (documented) 720 6852 w (as) 1249 6852 w (here:) 1373 6852 w (PBM) 1613 6852 w (Function) 1867 6852 w (Manual,) 2265 6852 w (PGM) 2637 6852 w (Function) 2896 6852 w (Manual,PPM) 3294 6852 w (Function) 3867 6852 w (Manual,) 4265 6852 w (and) 4637 6852 w (PNM) 4823 6852 w (Function Manual.) 720 6972 w (In case you're wondering, what makes the PAM functions easier to use is:) 720 7128 w 10 /LucidaSansUnicode22 f (\031) 720 7284 w 10 /Times-Roman f (Each) 970 7284 w (function) 1203 7284 w (handles) 1570 7284 w (all) 1909 7284 w (the) 2043 7284 w (formats.) 2199 7284 w (It) 2589 7284 w (does) 2685 7284 w (so) 2903 7284 w (without) 3027 7284 w (converting) 3368 7284 w (to) 3830 7284 w (a) 3943 7284 w (common) 4022 7284 w (format,) 4407 7284 w (so) 4733 7284 w (your) 4857 7284 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 (program) 970 840 w (can) 1340 840 w (treat) 1510 840 w (the) 1719 840 w (different) 1873 840 w (formats) 2248 840 w (differently) 2585 840 w (if) 3038 840 w (it) 3131 840 w (wants.) 3219 840 w (However,) 3534 840 w (the) 3956 840 w (interface) 4110 840 w (makes) 4490 840 w (it) 4776 840 w (easy) 4863 840 w (for your program to ignore the differences between the formats if that's what you want.) 970 960 w 10 /LucidaSansUnicode22 f (\031) 720 1116 w 10 /Times-Roman f (The) 970 1116 w (PAM) 1169 1116 w (function) 1430 1116 w (parameter) 1807 1116 w (lists) 2249 1116 w (convey) 2455 1116 w (most) 2788 1116 w (information) 3028 1116 w (about) 3545 1116 w (the) 3812 1116 w (image) 3979 1116 w (with) 4268 1116 w (which) 4491 1116 w (you're) 4780 1116 w (working) 970 1236 w (with) 1335 1236 w (a) 1545 1236 w (single) 1621 1236 w 10 /Times-Bold f (pam) 1892 1236 w 10 /Times-Roman f (structure,) 2113 1236 w (which) 2519 1236 w (you) 2795 1236 w (can) 2977 1236 w (build) 3147 1236 w (once) 3385 1236 w (and) 3605 1236 w (use) 3781 1236 w (over) 3945 1236 w (and) 4153 1236 w (over,) 4328 1236 w (whereas) 4561 1236 w (the) 4918 1236 w (older) 970 1356 w (functions) 1204 1356 w (require) 1605 1356 w (you) 1916 1356 w (to) 2096 1356 w (pass) 2204 1356 w (up) 2406 1356 w (to) 2536 1356 w (5) 2644 1356 w (pieces) 2724 1356 w (of) 3003 1356 w (image) 3116 1356 w (information) 3390 1356 w (\(height,) 3892 1356 w (width,) 4230 1356 w (etc.\)) 4513 1356 w (as) 4717 1356 w (sepa\255) 4830 1356 w (rate arguments to every function.) 970 1476 w 10 /Times-Bold f (THE pam STRUCTURE) 720 1752 w 10 /Times-Roman f (The) 720 1944 w (PAM) 912 1944 w (functions) 1166 1944 w (take) 1575 1944 w (most) 1778 1944 w (of) 2011 1944 w (their) 2132 1944 w (arguments) 2353 1944 w (in) 2807 1944 w (the) 2923 1944 w (form) 3083 1944 w (of) 3315 1944 w (a) 3436 1944 w (single) 3518 1944 w 10 /Times-Bold f (pam) 3795 1944 w 10 /Times-Roman f (structure.) 4022 1944 w (This) 4459 1944 w (is) 4675 1944 w (not) 4780 1944 w (an) 4946 1944 w (opaque) 720 2064 w (object,) 1055 2064 w (but) 1371 2064 w (just) 1546 2064 w (a) 1738 2064 w (convenient) 1828 2064 w (way) 2312 2064 w (to) 2524 2064 w (organize) 2648 2064 w (the) 3037 2064 w (information) 3205 2064 w (upon) 3723 2064 w (which) 3969 2064 w (most) 4259 2064 w (the) 4500 2064 w (functions) 4668 2064 w (depend.) 720 2184 w (So) 1085 2184 w (you) 1218 2184 w (are) 1395 2184 w (free) 1543 2184 w (to) 1724 2184 w (access) 1829 2184 w (or) 2110 2184 w (set) 2220 2184 w (the) 2358 2184 w (elements) 2507 2184 w (of) 2889 2184 w (the) 2999 2184 w (structure) 3148 2184 w (however) 3524 2184 w (you) 3894 2184 w (want.) 4072 2184 w (But) 4344 2184 w (you) 4517 2184 w (will) 4695 2184 w (find) 4879 2184 w (in) 720 2304 w (most) 827 2304 w (cases) 1051 2304 w (it) 1290 2304 w (is) 1375 2304 w (most) 1471 2304 w (convenient) 1695 2304 w (to) 2162 2304 w (call) 2269 2304 w 10 /Times-Bold f (pnm) 2442 2304 w 10 /S f (_) 2637 2304 w 10 /Times-Bold f (readpaminit\(\)) 2687 2304 w 10 /Times-Roman f (or) 3310 2304 w 10 /Times-Bold f (pnm) 3422 2304 w 10 /S f (_) 3617 2304 w 10 /Times-Bold f (writepaminit\(\)) 3667 2304 w 10 /Times-Roman f (to) 4317 2304 w (set) 4423 2304 w (the) 4562 2304 w (fields) 4712 2304 w (in) 4962 2304 w (the) 720 2424 w 10 /Times-Bold f (pam) 872 2424 w 10 /Times-Roman f (structure) 1091 2424 w (before) 1470 2424 w (calling) 1755 2424 w (any) 2058 2424 w (other) 2233 2424 w (pam) 2469 2424 w (functions,) 2672 2424 w (and) 3100 2424 w (then) 3275 2424 w (just) 3478 2424 w (to) 3654 2424 w (pass) 3763 2424 w (the) 3966 2424 w (structure) 4119 2424 w (unchanged) 4499 2424 w (in) 4962 2424 w (all future calls to pam functions.) 720 2544 w (The fields are:) 720 2700 w 10 /Times-Bold f (size) 970 2856 w 10 /Times-Roman f (The storage size in bytes of this entire structure.) 1220 2856 w 10 /Times-Bold f (len) 970 3012 w 10 /Times-Roman f (The length, in bytes, of the information in this structure.) 1220 3012 w (The) 3513 3012 w (information) 3694 3012 w (starts) 4192 3012 w (in) 4429 3012 w (the) 4533 3012 w (first) 4681 3012 w (byte) 4868 3012 w (and) 1220 3132 w (is) 1401 3132 w (contiguous.) 1505 3132 w (This) 2031 3132 w (cannot) 2246 3132 w (be) 2549 3132 w (greater) 2680 3132 w (than) 2993 3132 w 10 /Times-Bold f (size) 3202 3132 w 10 /Times-Roman f (.) 3357 3132 w 10 /Times-Bold f (size) 3444 3132 w 10 /Times-Roman f (and) 3636 3132 w 10 /Times-Bold f (len) 3817 3132 w 10 /Times-Roman f (can) 3982 3132 w (be) 4157 3132 w (used) 4288 3132 w (to) 4508 3132 w (make) 4622 3132 w (pro\255) 4874 3132 w (grams compatible with newer and older versions of the Netpbm libraries.) 1220 3252 w 10 /Times-Bold f (file) 970 3408 w 10 /Times-Roman f (The file.) 1220 3408 w 10 /Times-Bold f (format) 970 3564 w 10 /Times-Roman f (The) 1263 3564 w (format) 1453 3564 w (code) 1754 3564 w (of) 1977 3564 w (the) 2095 3564 w (image.) 2252 3564 w (This) 2581 3564 w (is) 2794 3564 w 10 /Times-Bold f (PAM) 2896 3564 w 10 /S f (_) 3123 3564 w 10 /Times-Bold f (FORMAT) 3173 3564 w 10 /Times-Roman f (unless) 3653 3564 w (the) 3939 3564 w (PAM) 4097 3564 w (image) 4350 3564 w (is) 4630 3564 w (really) 4733 3564 w (a) 4996 3564 w (view of a PBM, PGM, or PPM image.) 1220 3684 w (Then it's) 2798 3684 w 10 /Times-Bold f (PBM) 3181 3684 w 10 /S f (_) 3403 3684 w 10 /Times-Bold f (FORMAT) 3453 3684 w 10 /Times-Roman f (,) 3897 3684 w 10 /Times-Bold f (RPBM) 3947 3684 w 10 /S f (_) 4241 3684 w 10 /Times-Bold f (FORMAT) 4291 3684 w 10 /Times-Roman f (, etc.) 4735 3684 w (There) 970 3840 w (is) 1232 3840 w (an) 1329 3840 w (important) 1453 3840 w (quirk) 1872 3840 w (in) 2113 3840 w (the) 2222 3840 w (meaning) 2375 3840 w (of) 2750 3840 w (this) 2864 3840 w (member) 3040 3840 w (when) 3398 3840 w (you) 3645 3840 w (use) 3826 3840 w (the) 3990 3840 w (pam) 4143 3840 w (structure) 4346 3840 w (to) 4726 3840 w (write) 4835 3840 w (an) 970 3960 w (image:) 1097 3960 w (Only) 1402 3960 w (the) 1635 3960 w (type) 1790 3960 w (portion) 1995 3960 w (of) 2317 3960 w (it) 2433 3960 w (is) 2522 3960 w (meaningful.) 2622 3960 w (A) 3159 3960 w (Netpbm) 3263 3960 w (format) 3617 3960 w (code) 3915 3960 w (conveys) 4135 3960 w (two) 4494 3960 w (pieces) 4676 3960 w (of) 4957 3960 w (information:) 970 4080 w (The) 1509 4080 w (format) 1703 4080 w (type) 2008 4080 w (\(PBM,) 2219 4080 w (PGM,) 2528 4080 w (PPM,) 2809 4080 w (or) 3074 4080 w (PAM\)) 3196 4080 w (and) 3485 4080 w (the) 3668 4080 w (plainness) 3829 4080 w (\(plain) 4240 4080 w (PBM) 4512 4080 w (vs) 4763 4080 w (raw) 4891 4080 w (PBM,) 970 4200 w (etc.\).) 1238 4200 w (But) 1493 4200 w (when) 1669 4200 w (writing,) 1916 4200 w 10 /Times-Bold f (libnetpbm) 2261 4200 w 10 /Times-Roman f (ignores) 2731 4200 w (the) 3055 4200 w (plainness) 3207 4200 w (part) 3609 4200 w (and) 3794 4200 w (instead) 3968 4200 w (takes) 4281 4200 w (the) 4516 4200 w (plainness) 4668 4200 w (from) 970 4320 w (the) 1207 4320 w 10 /Times-Bold f (plainformat) 1372 4320 w 10 /Times-Roman f (member.) 1926 4320 w (So) 2346 4320 w 10 /Times-Bold f (PBM) 2495 4320 w 10 /S f (_) 2717 4320 w 10 /Times-Bold f (FORMAT) 2767 4320 w 10 /Times-Roman f (and) 3254 4320 w 10 /Times-Bold f (RPBM) 3441 4320 w 10 /S f (_) 3735 4320 w 10 /Times-Bold f (FORMAT) 3785 4320 w 10 /Times-Roman f (are) 4272 4320 w (identical) 4436 4320 w (when) 4824 4320 w (writing.) 970 4440 w (This) 970 4596 w (quirk) 1178 4596 w (exists) 1419 4596 w (for) 1677 4596 w (historical) 1823 4596 w (purposes;) 2225 4596 w (it's) 2638 4596 w (necessary) 2796 4596 w (for) 3213 4596 w (consistency) 3359 4596 w (with) 3856 4596 w (the) 4065 4596 w (older) 4218 4596 w (functions) 4454 4596 w (such) 4857 4596 w (as) 970 4716 w 10 /Times-Bold f (pnm) 1078 4716 w 10 /S f (_) 1273 4716 w 10 /Times-Bold f (writepnmrow\(\)) 1323 4716 w 10 /Times-Roman f (whose) 1996 4716 w 10 /Times-Italic f (format) 2276 4716 w 10 /Times-Roman f (and) 2568 4716 w 10 /Times-Italic f (forceplain) 2737 4716 w 10 /Times-Roman f (arguments are analogous.) 3173 4716 w (Before) 970 4872 w (Netpbm) 1274 4872 w (10.32) 1629 4872 w (\(February) 1887 4872 w (2006\),) 2313 4872 w 10 /Times-Bold f (libnetpbm) 2604 4872 w 10 /Times-Roman f (did) 3077 4872 w (not) 3238 4872 w (ignore) 3400 4872 w (the) 3689 4872 w (plainness.) 3845 4872 w (This) 4301 4872 w (caused) 4513 4872 w (many) 4818 4872 w (programs) 970 4992 w (to) 1377 4992 w (behave) 1485 4992 w (poorly,) 1797 4992 w (producing) 2113 4992 w (plain) 2548 4992 w (format) 2777 4992 w (output) 3072 4992 w (when) 3357 4992 w (they) 3602 4992 w (should,) 3803 4992 w (for) 4124 4992 w (backward) 4269 4992 w (compati\255) 4685 4992 w (bility at the very least, produce raw format output.) 970 5112 w (A) 970 5268 w (common) 1077 5268 w (way) 1462 5268 w (to) 1663 5268 w (use) 1776 5268 w (this) 1945 5268 w (member) 2126 5268 w (is) 2489 5268 w (to) 2592 5268 w (copy) 2706 5268 w (it) 2936 5268 w (and) 3028 5268 w (the) 3208 5268 w 10 /Times-Bold f (plainformat) 3366 5268 w 10 /Times-Roman f (member) 3913 5268 w (from) 4276 5268 w (a) 4506 5268 w (pam) 4586 5268 w (for) 4794 5268 w (an) 4946 5268 w (input) 970 5388 w (image) 1206 5388 w (to) 1480 5388 w (a) 1588 5388 w (pam) 1662 5388 w (for) 1863 5388 w (an) 2008 5388 w (output) 2131 5388 w (image.) 2416 5388 w (When) 2739 5388 w (you) 3006 5388 w (do) 3185 5388 w (that,) 3314 5388 w (your) 3518 5388 w (output) 3730 5388 w (image) 4015 5388 w (will) 4288 5388 w (be) 4473 5388 w (raw) 4596 5388 w (format) 4774 5388 w (regardless) 970 5508 w (of) 1410 5508 w (whether) 1530 5508 w (your) 1888 5508 w (input) 2108 5508 w (image) 2351 5508 w (was) 2632 5508 w (plain) 2824 5508 w (or) 3061 5508 w (raw,) 3181 5508 w (and) 3392 5508 w (this) 3573 5508 w (is) 3755 5508 w (the) 3859 5508 w (conventional) 4018 5508 w (behavior) 4571 5508 w (of) 4957 5508 w (Netpbm programs.) 970 5628 w 10 /Times-Bold f (plainformat) 970 5784 w 10 /Times-Roman f (This is a boolean value \(0 = false, 1 =) 1481 5784 w (true\),) 3011 5784 w (meaningful) 3250 5784 w (only) 3731 5784 w (when) 3935 5784 w (writing) 4177 5784 w (an) 4492 5784 w (image) 4612 5784 w (file.) 4882 5784 w (It) 1220 5904 w (means) 1313 5904 w (to) 1600 5904 w (write) 1710 5904 w (in) 1947 5904 w (the) 2057 5904 w (plain) 2211 5904 w (\(text\)) 2443 5904 w (version) 2691 5904 w (of) 3017 5904 w (the) 3132 5904 w (format) 3285 5904 w (indicated) 3582 5904 w (by) 3979 5904 w 10 /Times-Bold f (format) 4110 5904 w 10 /Times-Roman f (as) 4434 5904 w (oppposed) 4548 5904 w (to) 4962 5904 w (the) 1220 6024 w (raw) 1381 6024 w (\(binary\)) 1569 6024 w (version.) 1929 6024 w (Note) 2312 6024 w (that) 2546 6024 w (the) 2736 6024 w (format) 2898 6024 w (code) 3204 6024 w (in) 3432 6024 w 10 /Times-Bold f (format) 3550 6024 w 10 /Times-Roman f (would) 3883 6024 w (appear) 4173 6024 w (to) 4478 6024 w (completely) 4596 6024 w (specify) 1220 6144 w (the) 1536 6144 w (format,) 1686 6144 w (making) 2005 6144 w 10 /Times-Bold f (plainformat) 2333 6144 w 10 /Times-Roman f (redundant.) 2872 6144 w (But) 3349 6144 w (see) 3521 6144 w (the) 3675 6144 w (description) 3824 6144 w (of) 4295 6144 w 10 /Times-Bold f (format) 4405 6144 w 10 /Times-Roman f (for) 4725 6144 w (why) 4868 6144 w (that isn't true.) 1220 6264 w (Until) 970 6420 w (Netpbm) 1206 6420 w (10.32) 1558 6420 w (\(Februrary) 1814 6420 w (2006\),) 2271 6420 w (this) 2560 6420 w (was) 2736 6420 w (defined) 2922 6420 w (a) 3252 6420 w (little) 3327 6420 w (differently.) 3542 6420 w (The) 4044 6420 w 10 /Times-Bold f (format) 4230 6420 w 10 /Times-Roman f (member) 4554 6420 w (did) 4912 6420 w (in) 970 6540 w (fact) 1074 6540 w (completely) 1249 6540 w (identify the format and) 1719 6540 w 10 /Times-Bold f (plainformat) 2662 6540 w 10 /Times-Roman f (was redundant and existed as a separate mem\255) 3198 6540 w (ber) 970 6660 w (only) 1126 6660 w (for) 1333 6660 w (computational) 1478 6660 w (speed.) 2079 6660 w (But) 2385 6660 w (this) 2559 6660 w (was) 2733 6660 w (inconsistent) 2917 6660 w (with) 3424 6660 w (the) 3631 6660 w (older) 3782 6660 w 10 /Times-Bold f (libnetpbm) 4016 6660 w 10 /Times-Roman f (interface) 4485 6660 w (\(e.g.) 4863 6660 w 10 /Times-Bold f (pnm) 970 6780 w 10 /S f (_) 1165 6780 w 10 /Times-Bold f (writepnm\(\)) 1215 6780 w 10 /Times-Roman f (,) 1697 6780 w (and) 1755 6780 w (it) 1932 6780 w (made) 2021 6780 w (it) 2270 6780 w (difficult) 2359 6780 w (to) 2714 6780 w (write) 2824 6780 w (backward) 3061 6780 w (compatible) 3480 6780 w (programs.) 3956 6780 w (Before) 4415 6780 w (Netpbm) 4718 6780 w (10.32, it affected reading as well as writing.) 970 6900 w 10 /Times-Bold f (libnetpbm) 970 7056 w 10 /Times-Roman f (image) 1438 7056 w (reading) 1710 7056 w (functions) 2037 7056 w (set) 2437 7056 w (this) 2576 7056 w (field) 2749 7056 w (to) 2960 7056 w (false,) 3066 7056 w (for) 3307 7056 w (your) 3452 7056 w (convenience) 3664 7056 w (in) 4191 7056 w (building) 4298 7056 w (an) 4661 7056 w (output) 4784 7056 w (image pam from an input image pam.) 970 7176 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 10 /Times-Bold f (height) 970 840 w 10 /Times-Roman f (The height of the image in rows.) 1237 840 w 10 /Times-Bold f (width) 970 996 w 10 /Times-Roman f (The width of the image in number of columns \(tuples per row\).) 1220 996 w 10 /Times-Bold f (depth) 970 1152 w 10 /Times-Roman f (The depth of the image \(degree of or number of samples in each tuple\).) 1220 1152 w 10 /Times-Bold f (maxval) 970 1308 w 10 /Times-Roman f (The maxval of the image.) 1281 1308 w (See definitions in pam.) 2354 1308 w 10 /Times-Bold f (bytes) 970 1464 w 10 /S f (_) 1192 1464 w 10 /Times-Bold f (per) 1242 1464 w 10 /S f (_) 1386 1464 w 10 /Times-Bold f (sample) 1436 1464 w 10 /Times-Roman f (The) 1736 1464 w (number) 1918 1464 w (of) 2250 1464 w (bytes) 2360 1464 w (used) 2599 1464 w (to) 2810 1464 w (represent) 2916 1464 w (each) 3309 1464 w (sample) 3519 1464 w (in) 3830 1464 w (the) 3936 1464 w (image) 4086 1464 w (file.) 4358 1464 w (See) 4569 1464 w (the) 4741 1464 w (for\255) 4891 1464 w (mat) 1220 1584 w (definition) 1399 1584 w (in) 1817 1584 w (pam.) 1924 1584 w (This) 2175 1584 w (is) 2381 1584 w (entirely) 2476 1584 w (redundant) 2809 1584 w (with) 3236 1584 w 10 /Times-Bold f (maxval) 3442 1584 w 10 /Times-Roman f (.) 3753 1584 w (It) 3831 1584 w (exists) 3920 1584 w (as) 4176 1584 w (a) 4287 1584 w (separate) 4359 1584 w (member) 4713 1584 w (for computational speed.) 1220 1704 w 10 /Times-Bold f (tuple) 970 1860 w 10 /S f (_) 1187 1860 w 10 /Times-Bold f (type) 1237 1860 w 10 /Times-Roman f (The) 1420 1860 w (tuple) 1604 1860 w (type) 1833 1860 w (of) 2034 1860 w (the) 2146 1860 w (image.) 2297 1860 w (See) 2620 1860 w (definitions) 2793 1860 w (in) 3250 1860 w (pam.) 3357 1860 w (Netpbm) 3609 1860 w (does) 3961 1860 w (not) 4174 1860 w (define) 4332 1860 w (any) 4611 1860 w (values) 4785 1860 w (for) 1220 1980 w (this) 1375 1980 w (except) 1559 1980 w (the) 1858 1980 w (following,) 2019 1980 w (which) 2472 1980 w (are) 2755 1980 w (used) 2915 1980 w (for) 3136 1980 w (a) 3290 1980 w (PAM) 3372 1980 w (image) 3627 1980 w (which) 3909 1980 w (is) 4191 1980 w (really) 4296 1980 w (a) 4561 1980 w (view) 4643 1980 w (of) 4875 1980 w (a) 4996 1980 w (PBM,) 1220 2100 w (PGM,) 1527 2100 w (or) 1839 2100 w (PPM) 1993 2100 w (image:) 2265 2100 w 10 /Times-Bold f (PAM) 2608 2100 w 10 /S f (_) 2835 2100 w 10 /Times-Bold f (PBM) 2885 2100 w 10 /S f (_) 3107 2100 w 10 /Times-Bold f (TUPLETYPE) 3157 2100 w 10 /Times-Roman f (,) 3758 2100 w 10 /Times-Bold f (PAM) 3854 2100 w 10 /S f (_) 4081 2100 w 10 /Times-Bold f (PGM) 4131 2100 w 10 /S f (_) 4364 2100 w 10 /Times-Bold f (TUPLETYPE) 4414 2100 w 10 /Times-Roman f (,) 5015 2100 w 10 /Times-Bold f (PAM) 1220 2220 w 10 /S f (_) 1447 2220 w 10 /Times-Bold f (PPM) 1497 2220 w 10 /S f (_) 1713 2220 w 10 /Times-Bold f (TUPLETYPE) 1763 2220 w 10 /Times-Roman f (.) 2364 2220 w 10 /Times-Bold f (allocation) 970 2376 w 10 /S f (_) 1387 2376 w 10 /Times-Bold f (depth) 1437 2376 w 10 /Times-Roman f (The number of samples for which memory is allocated for any tuple associated with) 1682 2376 w (this PAM structure.) 1220 2496 w (This must be at least as great as) 2056 2496 w cleartomark showpage saveobj restore %%EndPage: 3 3 %%Trailer done %%DocumentFonts: Times-Roman LucidaSansUnicode20 LucidaSansUnicode22 Times-Italic Times-Bold S %%Pages: 3