%!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 (User) 1983 1230 w (manual) 2252 1230 w (for) 2670 1230 w (old pgm) 2853 1230 w (functions) 3301 1230 w 10 /Times-Bold f (pgm Functions) 720 1920 w 10 /Times-Roman f (Updated: 22 July 2004) 720 2076 w (Table Of Contents) 720 2196 w 10 /Times-Bold f (NAME) 720 2436 w 10 /Times-Roman f (libpgm \255 libnetpbm functions to read and write PGM image files) 720 2592 w 10 /Times-Bold f (SYNOPSIS) 720 2832 w (#include ) 720 2988 w 10 /S f (<) 1107 2988 w 10 /Times-Bold f (pgm.h) 1162 2988 w 10 /S f (>) 1432 2988 w 10 /Times-Bold f (void pgm) 720 3144 w 10 /S f (_) 1118 3144 w 10 /Times-Bold f (init\( int *) 1168 3144 w 10 /Times-Italic f (argcP) 1563 3144 w 10 /Times-Bold f (, char *) 1807 3144 w 10 /Times-Italic f (argv) 2126 3144 w 10 /Times-Bold f ([] \);) 2309 3144 w (gray ** pgm) 720 3300 w 10 /S f (_) 1253 3300 w 10 /Times-Bold f (allocarray\( int) 1303 3300 w 10 /Times-Italic f (cols) 1941 3300 w 10 /Times-Bold f (, int) 2102 3300 w 10 /Times-Italic f (rows) 2294 3300 w 10 /Times-Bold f (\);) 2514 3300 w (gray * pgm) 720 3456 w 10 /S f (_) 1203 3456 w 10 /Times-Bold f (allocrow\( int) 1253 3456 w 10 /Times-Italic f (cols) 1794 3456 w 10 /Times-Bold f (\);) 1980 3456 w (void pgm) 720 3612 w 10 /S f (_) 1118 3612 w 10 /Times-Bold f (freearray\( gray **) 1168 3612 w 10 /Times-Italic f (grays) 1948 3612 w 10 /Times-Bold f (, int) 2170 3612 w 10 /Times-Italic f (rows) 2337 3612 w 10 /Times-Bold f (\);) 2557 3612 w (void pgm) 720 3768 w 10 /S f (_) 1118 3768 w 10 /Times-Bold f (freerow\( gray *) 1168 3768 w 10 /Times-Italic f (grayrow) 1826 3768 w 10 /Times-Bold f (\);) 2165 3768 w (void pgm) 720 3924 w 10 /S f (_) 1118 3924 w 10 /Times-Bold f (readpgminit\( FILE *) 1168 3924 w 10 /Times-Italic f (fp) 2063 3924 w 10 /Times-Bold f (, int *) 2141 3924 w 10 /Times-Italic f (colsP) 2383 3924 w 10 /Times-Bold f (, int *) 2605 3924 w 10 /Times-Italic f (rowsP) 2847 3924 w 10 /Times-Bold f (, gray *) 3103 3924 w 10 /Times-Italic f (maxvalP) 3422 3924 w 10 /Times-Bold f (, int *) 3771 3924 w 10 /Times-Italic f (formatP) 4013 3924 w 10 /Times-Bold f (\);) 4366 3924 w (void pgm) 720 4080 w 10 /S f (_) 1118 4080 w 10 /Times-Bold f (readpgmrow\( FILE *) 1168 4080 w 10 /Times-Italic f (fp) 2084 4080 w 10 /Times-Bold f (, gray *) 2162 4080 w 10 /Times-Italic f (grayrow) 2481 4080 w 10 /Times-Bold f (, int) 2820 4080 w 10 /Times-Italic f (cols) 3012 4080 w 10 /Times-Bold f (, gray) 3173 4080 w 10 /Times-Italic f (maxval) 3442 4080 w 10 /Times-Bold f (, int) 3730 4080 w 10 /Times-Italic f (format) 3922 4080 w 10 /Times-Bold f (\);) 4214 4080 w (gray ** pgm) 720 4236 w 10 /S f (_) 1253 4236 w 10 /Times-Bold f (readpgm\( FILE *) 1303 4236 w 10 /Times-Italic f (fp) 2053 4236 w 10 /Times-Bold f (, int *) 2131 4236 w 10 /Times-Italic f (colsP) 2373 4236 w 10 /Times-Bold f (, int *) 2595 4236 w 10 /Times-Italic f (rowsP) 2837 4236 w 10 /Times-Bold f (, gray *) 3093 4236 w 10 /Times-Italic f (maxvalP) 3412 4236 w 10 /Times-Bold f (\);) 3786 4236 w (void pgm) 720 4392 w 10 /S f (_) 1118 4392 w 10 /Times-Bold f (writepgminit\( FILE *) 1168 4392 w (fp , int) 2140 4392 w 10 /Times-Italic f (cols) 2446 4392 w 10 /Times-Bold f (, int) 2607 4392 w 10 /Times-Italic f (rows) 2799 4392 w 10 /Times-Bold f (, gray) 2994 4392 w 10 /Times-Italic f (maxval) 3263 4392 w 10 /Times-Bold f (, int) 3551 4392 w 10 /Times-Italic f (forceplain) 3743 4392 w 10 /Times-Bold f (\);) 4179 4392 w (void pgm) 720 4548 w 10 /S f (_) 1118 4548 w 10 /Times-Bold f (writepgmrow\( FILE *) 1168 4548 w 10 /Times-Italic f (fp) 2111 4548 w 10 /Times-Bold f (, gray *) 2189 4548 w 10 /Times-Italic f (grayrow) 2508 4548 w 10 /Times-Bold f (, int cols) 2847 4548 w 10 /Times-Italic f (,) 3200 4548 w 10 /Times-Bold f (gray) 3250 4548 w 10 /Times-Italic f (maxval) 3469 4548 w 10 /Times-Bold f (, int) 3757 4548 w 10 /Times-Italic f (forceplain) 3949 4548 w 10 /Times-Bold f (\);) 4385 4548 w (void pgm) 720 4704 w 10 /S f (_) 1118 4704 w 10 /Times-Bold f (writepgm\( FILE *) 1168 4704 w 10 /Times-Italic f (fp) 1945 4704 w 10 /Times-Bold f (, gray **) 2023 4704 w 10 /Times-Italic f (grays) 2417 4704 w 10 /Times-Bold f (, int) 2639 4704 w 10 /Times-Italic f (cols) 2831 4704 w 10 /Times-Bold f (, int) 2992 4704 w 10 /Times-Italic f (rows) 3184 4704 w 10 /Times-Bold f (, gray) 3379 4704 w 10 /Times-Italic f (maxval) 3648 4704 w 10 /Times-Bold f (, int) 3936 4704 w 10 /Times-Italic f (forceplain) 4128 4704 w 10 /Times-Bold f (\);) 4564 4704 w (void pgm) 720 4860 w 10 /S f (_) 1118 4860 w 10 /Times-Bold f (writepgm\( FILE *) 1168 4860 w 10 /Times-Italic f (fp) 1945 4860 w 10 /Times-Bold f (, gray **) 2023 4860 w 10 /Times-Italic f (grays) 2392 4860 w 10 /Times-Bold f (, int) 2614 4860 w 10 /Times-Italic f (cols) 2806 4860 w 10 /Times-Bold f (, int) 2967 4860 w 10 /Times-Italic f (rows) 3159 4860 w 10 /Times-Bold f (, gray) 3354 4860 w 10 /Times-Italic f (maxval) 3623 4860 w 10 /Times-Bold f (, int) 3911 4860 w 10 /Times-Italic f (forceplain) 4103 4860 w 10 /Times-Bold f (\);) 4539 4860 w (void pgm) 720 5016 w 10 /S f (_) 1118 5016 w 10 /Times-Bold f (nextimage\( FILE *) 1168 5016 w 10 /Times-Italic f (file) 1973 5016 w 10 /Times-Bold f (, int * const) 2101 5016 w 10 /Times-Italic f (eofP) 2615 5016 w 10 /Times-Bold f (\);) 2798 5016 w (void) 720 5172 w (pgm) 934 5172 w 10 /S f (_) 1123 5172 w 10 /Times-Bold f (check\() 1173 5172 w (FILE) 1481 5172 w (*) 1746 5172 w 10 /Times-Italic f (file) 1827 5172 w 10 /Times-Bold f (,) 1955 5172 w (const) 2011 5172 w (enum) 2264 5172 w (pm) 2534 5172 w 10 /S f (_) 2673 5172 w 10 /Times-Bold f (check) 2723 5172 w 10 /S f (_) 2967 5172 w 10 /Times-Bold f (type) 3017 5172 w 10 /Times-Italic f (check) 3231 5172 w 10 /S f (_) 3457 5172 w 10 /Times-Italic f (type) 3507 5172 w 10 /Times-Bold f (,) 3673 5172 w (const) 3729 5172 w (int) 3982 5172 w 10 /Times-Italic f (format) 4130 5172 w 10 /Times-Bold f (,) 4397 5172 w (const) 4453 5172 w (int) 4706 5172 w 10 /Times-Italic f (cols) 4854 5172 w 10 /Times-Bold f (,) 5015 5172 w (const int) 720 5292 w 10 /Times-Italic f (rows) 1109 5292 w 10 /Times-Bold f (, const int) 1304 5292 w 10 /Times-Italic f (maxval) 1743 5292 w 10 /Times-Bold f (, enum pm) 2031 5292 w 10 /S f (_) 2484 5292 w 10 /Times-Bold f (check) 2534 5292 w 10 /S f (_) 2778 5292 w 10 /Times-Bold f (code * const) 2828 5292 w 10 /Times-Italic f (retval) 3369 5292 w 10 /Times-Bold f (\);) 3602 5292 w (typedef ... gray;) 720 5448 w (#define PGM) 720 5604 w 10 /S f (_) 1289 5604 w 10 /Times-Bold f (MAXMAXVAL ...) 1339 5604 w (#define PGM) 720 5760 w 10 /S f (_) 1289 5760 w 10 /Times-Bold f (OVERALLMAXVAL ...) 1339 5760 w (extern gray pgm) 720 5916 w 10 /S f (_) 1424 5916 w 10 /Times-Bold f (pbmmaxval;) 1474 5916 w (#define PGM) 720 6072 w 10 /S f (_) 1289 6072 w 10 /Times-Bold f (FORMAT ...) 1339 6072 w (#define RPGM) 720 6228 w 10 /S f (_) 1361 6228 w 10 /Times-Bold f (FORMAT ...) 1411 6228 w (#define PGM) 720 6384 w 10 /S f (_) 1289 6384 w 10 /Times-Bold f (TYPE PGM) 1339 6384 w 10 /S f (_) 1864 6384 w 10 /Times-Bold f (FORMAT) 1914 6384 w (#define PGM) 720 6540 w 10 /S f (_) 1289 6540 w 10 /Times-Bold f (FORMAT) 1339 6540 w 10 /S f (_) 1783 6540 w 10 /Times-Bold f (TYPE\() 1833 6540 w 10 /Times-Italic f (format) 2133 6540 w 10 /Times-Bold f (\)) 2400 6540 w (DESCRIPTION) 720 6780 w 10 /Times-Roman f (These library functions are part of Netpbm.) 720 6972 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 /Times-Bold f (TYPES AND CONSTANTS) 720 840 w 10 /Times-Roman f (Each) 720 1032 w 10 /Times-Bold f (gray) 1022 1032 w 10 /Times-Roman f (should) 1319 1032 w (contain) 1689 1032 w (only) 2086 1032 w (the) 2367 1032 w (values) 2592 1032 w (between) 2950 1032 w 10 /Times-Bold f (0) 3386 1032 w 10 /Times-Roman f (and) 3540 1032 w 10 /Times-Bold f (PGM) 3788 1032 w 10 /S f (_) 4021 1032 w 10 /Times-Bold f (OVERALLMAXVAL) 4071 1032 w 10 /Times-Roman f (.) 5015 1032 w 10 /Times-Bold f (pgm) 720 1152 w 10 /S f (_) 909 1152 w 10 /Times-Bold f (pbmmaxval) 959 1152 w 10 /Times-Roman f (is) 1494 1152 w (the) 1590 1152 w (maxval) 1741 1152 w (used) 2064 1152 w (when) 2276 1152 w (a) 2521 1152 w (PGM) 2594 1152 w (program) 2840 1152 w (reads) 3207 1152 w (a) 3446 1152 w (PBM) 3519 1152 w (file.) 3760 1152 w (Normally) 3972 1152 w (it) 4384 1152 w (is) 4469 1152 w (1;) 4565 1152 w (however,) 4672 1152 w (for some programs, a larger value gives better results.) 720 1272 w 10 /Times-Bold f (PGM) 720 1428 w 10 /S f (_) 953 1428 w 10 /Times-Bold f (OVERALLMAXVAL) 1003 1428 w 10 /Times-Roman f (is) 1977 1428 w (the) 2074 1428 w (maximum) 2226 1428 w (value) 2663 1428 w (of) 2910 1428 w (a) 3024 1428 w (maxval) 3099 1428 w (in) 3424 1428 w (a) 3533 1428 w (PGM) 3608 1428 w (file.) 3856 1428 w 10 /Times-Bold f (PGM) 4070 1428 w 10 /S f (_) 4303 1428 w 10 /Times-Bold f (MAXMAXVAL) 4353 1428 w 10 /Times-Roman f (is) 720 1548 w (the) 825 1548 w (maximum) 985 1548 w (value) 1429 1548 w (of) 1683 1548 w (a) 1804 1548 w (maxval) 1886 1548 w (in) 2218 1548 w (a) 2334 1548 w (PGM) 2416 1548 w (file) 2671 1548 w (that) 2841 1548 w (is) 3028 1548 w (compatible) 3132 1548 w (with) 3613 1548 w (the) 3828 1548 w (PGM) 3987 1548 w (format) 4241 1548 w (as) 4544 1548 w (it) 4664 1548 w (existed) 4757 1548 w (before) 720 1668 w (April) 1007 1668 w (2000.) 1251 1668 w (It) 1534 1668 w (is) 1628 1668 w (also) 1728 1668 w (the) 1922 1668 w (maximum) 2077 1668 w (value) 2516 1668 w (of) 2765 1668 w (a) 2881 1668 w (maxval) 2958 1668 w (that) 3286 1668 w (results) 3470 1668 w (in) 3765 1668 w (the) 3877 1668 w (minimum) 4033 1668 w (possible) 4457 1668 w (raster) 4819 1668 w (size) 720 1788 w (for) 903 1788 w (a) 1047 1788 w (particular) 1119 1788 w (image.) 1529 1788 w (I.e) 1851 1788 w (an) 1981 1788 w (image) 2103 1788 w (with) 2375 1788 w (a) 2581 1788 w (maxval) 2653 1788 w (higher) 2975 1788 w (than) 3258 1788 w 10 /Times-Bold f (PGM) 3458 1788 w 10 /S f (_) 3691 1788 w 10 /Times-Bold f (MAXMAXVAL) 3741 1788 w 10 /Times-Roman f (cannot) 4455 1788 w (be) 4748 1788 w (read) 4869 1788 w (or generated by old PGM processing programs and requires more file space.) 720 1908 w 10 /Times-Bold f (PGM) 720 2064 w 10 /S f (_) 953 2064 w 10 /Times-Bold f (FORMAT) 1003 2064 w 10 /Times-Roman f (is) 1498 2064 w (the) 1591 2064 w (format) 1739 2064 w (code) 2031 2064 w (for) 2245 2064 w (a) 2387 2064 w (Plain) 2457 2064 w (PGM) 2689 2064 w (format) 2932 2064 w (image) 3224 2064 w (file.) 3495 2064 w 10 /Times-Bold f (RPGM) 3705 2064 w 10 /S f (_) 4010 2064 w 10 /Times-Bold f (FORMAT) 4060 2064 w 10 /Times-Roman f (is) 4531 2064 w (the) 4625 2064 w (format) 4774 2064 w (code) 720 2184 w (for) 950 2184 w (a) 1108 2184 w (Raw) 1194 2184 w (PGM) 1419 2184 w (format) 1678 2184 w (image) 1986 2184 w (file.) 2272 2184 w 10 /Times-Bold f (PGM) 2496 2184 w 10 /S f (_) 2729 2184 w 10 /Times-Bold f (TYPE) 2779 2184 w 10 /Times-Roman f (is) 3112 2184 w (the) 3220 2184 w (format) 3383 2184 w (type) 3690 2184 w (code) 3903 2184 w (for) 4132 2184 w (the) 4289 2184 w (PGM) 4452 2184 w (formats.) 4710 2184 w 10 /Times-Bold f (PGM) 720 2304 w 10 /S f (_) 953 2304 w 10 /Times-Bold f (FORMAT) 1003 2304 w 10 /S f (_) 1447 2304 w 10 /Times-Bold f (TYPE) 1497 2304 w 10 /Times-Roman f (is) 1802 2304 w (a) 1907 2304 w (macro) 1989 2304 w (that) 2276 2304 w (generates) 2464 2304 w (code) 2878 2304 w (to) 3104 2304 w (compute) 3220 2304 w (the) 3602 2304 w (format) 3762 2304 w (type) 4066 2304 w (code) 4276 2304 w (of) 4502 2304 w (a) 4623 2304 w (PBM) 4706 2304 w (or) 4957 2304 w (PGM format from the format code which is its argument.) 720 2424 w 10 /Times-Bold f (INITIALIZATION) 720 2664 w (pgm) 720 2856 w 10 /S f (_) 909 2856 w 10 /Times-Bold f (init) 959 2856 w 10 /Times-Roman f (is identical to) 1129 2856 w 10 /Times-Bold f (pm) 1693 2856 w 10 /S f (_) 1832 2856 w 10 /Times-Bold f (init\(\)) 1882 2856 w 10 /Times-Roman f (.) 2093 2856 w 10 /Times-Bold f (MEMORY MANAGEMENT) 720 3096 w (pgm) 720 3252 w 10 /S f (_) 909 3252 w 10 /Times-Bold f (allocarray\(\)) 959 3252 w 10 /Times-Roman f (allocates an array of grays.) 1488 3252 w 10 /Times-Bold f (pgm) 720 3408 w 10 /S f (_) 909 3408 w 10 /Times-Bold f (allocrow\(\)) 959 3408 w 10 /Times-Roman f (allocates a row of the given number of grays.) 1416 3408 w 10 /Times-Bold f (pgm) 720 3564 w 10 /S f (_) 909 3564 w 10 /Times-Bold f (freearray\(\)) 959 3564 w 10 /Times-Roman f (frees the array allocated with) 1453 3564 w 10 /Times-Bold f (pgm) 2635 3564 w 10 /S f (_) 2824 3564 w 10 /Times-Bold f (allocarray\(\)) 2874 3564 w 10 /Times-Roman f (containing the given number of rows.) 3403 3564 w 10 /Times-Bold f (pgm) 720 3720 w 10 /S f (_) 909 3720 w 10 /Times-Bold f (freerow\(\)) 959 3720 w 10 /Times-Roman f (frees a row of grays allocated with) 1381 3720 w 10 /Times-Bold f (pgm) 2785 3720 w 10 /S f (_) 2974 3720 w 10 /Times-Bold f (allocrow\(\)) 3024 3720 w 10 /Times-Roman f (.) 3456 3720 w 10 /Times-Bold f (READING FILES) 720 3960 w 10 /Times-Roman f (If) 720 4152 w (a) 812 4152 w (function) 882 4152 w (in) 1241 4152 w (this) 1345 4152 w (section) 1516 4152 w (is) 1825 4152 w (called) 1918 4152 w (on) 2183 4152 w (a) 2310 4152 w (PBM) 2381 4152 w (format) 2620 4152 w (file,) 2913 4152 w (it) 3098 4152 w (translates) 3181 4152 w (the) 3585 4152 w (PBM) 3734 4152 w (file) 3973 4152 w (into) 4133 4152 w (a) 4316 4152 w (PGM) 4387 4152 w (file) 4631 4152 w (on) 4791 4152 w (the) 4918 4152 w (fly) 720 4272 w (and) 888 4272 w (functions) 1089 4272 w (as) 1517 4272 w (if) 1656 4272 w (it) 1773 4272 w (were) 1885 4272 w (called) 2134 4272 w (on) 2428 4272 w (the) 2584 4272 w (equivalent) 2762 4272 w (PGM) 3234 4272 w (file.) 3507 4272 w (The) 3746 4272 w 10 /Times-Italic f (format) 3957 4272 w 10 /Times-Roman f (value) 4280 4272 w (returned) 4552 4272 w (by) 4940 4272 w 10 /Times-Bold f (pgm) 720 4392 w 10 /S f (_) 909 4392 w 10 /Times-Bold f (readpgminit\(\)) 959 4392 w 10 /Times-Roman f (is, however, not translated.) 1578 4392 w (It represents the actual format of the PBM file.) 2704 4392 w 10 /Times-Bold f (pgm) 720 4548 w 10 /S f (_) 909 4548 w 10 /Times-Bold f (readpgminit\(\)) 959 4548 w 10 /Times-Roman f (reads the header of a PGM file, returning all the information from) 1578 4548 w (the) 4232 4548 w (header) 4380 4548 w (and) 4671 4548 w (leav\255) 4841 4548 w (ing the file positioned just after the header.) 720 4668 w 10 /Times-Bold f (pgm) 720 4824 w 10 /S f (_) 909 4824 w 10 /Times-Bold f (readpgmrow\(\)) 959 4824 w 10 /Times-Roman f (reads a row of grays into the) 1599 4824 w 10 /Times-Italic f (grayrow) 2760 4824 w 10 /Times-Roman f (array.) 745 4944 w 10 /Times-Italic f (format) 1024 4944 w 10 /Times-Roman f (,) 1291 4944 w 10 /Times-Italic f (cols) 1341 4944 w 10 /Times-Roman f (, and) 1502 4944 w 10 /Times-Italic f (maxval) 1721 4944 w 10 /Times-Roman f (are the values returned by) 2059 4944 w 10 /Times-Bold f (pgm) 3114 4944 w 10 /S f (_) 3303 4944 w 10 /Times-Bold f (readpgminit\(\)) 3353 4944 w 10 /Times-Roman f (.) 3947 4944 w 10 /Times-Bold f (pgm) 720 5100 w 10 /S f (_) 909 5100 w 10 /Times-Bold f (readpgm\(\)) 959 5100 w 10 /Times-Roman f (reads) 1437 5100 w (an) 1676 5100 w (entire) 1799 5100 w (PGM) 2055 5100 w (image) 2301 5100 w (into) 2574 5100 w (memory,) 2759 5100 w (returning) 3146 5100 w (the) 3542 5100 w (allocated) 3694 5100 w (array) 4084 5100 w (as) 4318 5100 w (its) 4431 5100 w (return) 4556 5100 w (value) 4824 5100 w (and) 720 5220 w (returning) 919 5220 w (the) 1340 5220 w (information) 1517 5220 w (from) 2044 5220 w (the) 2293 5220 w (header) 2470 5220 w (as) 2790 5220 w 10 /Times-Italic f (rows) 2928 5220 w 10 /Times-Roman f (,) 3123 5220 w 10 /Times-Italic f (cols) 3203 5220 w 10 /Times-Roman f (,) 3364 5220 w (and) 3444 5220 w 10 /Times-Italic f (maxval) 3643 5220 w 10 /Times-Roman f (.) 3931 5220 w (This) 4036 5220 w (function) 4269 5220 w (combines) 4657 5220 w 10 /Times-Bold f (pgm) 720 5340 w 10 /S f (_) 909 5340 w 10 /Times-Bold f (readpgminit\(\)) 959 5340 w 10 /Times-Roman f (,) 1553 5340 w 10 /Times-Bold f (pgm) 1603 5340 w 10 /S f (_) 1792 5340 w 10 /Times-Bold f (allocarray\(\)) 1842 5340 w 10 /Times-Roman f (, and) 2346 5340 w 10 /Times-Bold f (pgm) 2565 5340 w 10 /S f (_) 2754 5340 w 10 /Times-Bold f (readpgmrow\(\)) 2804 5340 w 10 /Times-Roman f (.) 3419 5340 w 10 /Times-Bold f (pgm) 720 5496 w 10 /S f (_) 909 5496 w 10 /Times-Bold f (readpgminit\(\)) 959 5496 w 10 /Times-Roman f (and) 1585 5496 w 10 /Times-Bold f (pgm) 1761 5496 w 10 /S f (_) 1950 5496 w 10 /Times-Bold f (readpgm) 2000 5496 w 10 /Times-Roman f (abort) 2415 5496 w (the) 2652 5496 w (program) 2806 5496 w (with) 3176 5496 w (a) 3386 5496 w (message) 3462 5496 w (to) 3832 5496 w (Standard) 3943 5496 w (Error) 4331 5496 w (if) 4574 5496 w (the) 4668 5496 w (PGM) 4823 5496 w (image) 720 5616 w (header) 991 5616 w (is) 1283 5616 w (not) 1377 5616 w (syntactically) 1532 5616 w (valid,) 2064 5616 w (including) 2316 5616 w (if) 2721 5616 w (it) 2809 5616 w (contains) 2892 5616 w (a) 3252 5616 w (number) 3322 5616 w (too) 3653 5616 w (large) 3807 5616 w (to) 4032 5616 w (be) 4136 5616 w (processed) 4256 5616 w (using) 4675 5616 w (the) 4918 5616 w (system's normal data structures \(to wit, a number that won't fit in a C 'int'\).) 720 5736 w 10 /Times-Bold f (WRITING FILES) 720 5976 w (pgm) 720 6132 w 10 /S f (_) 909 6132 w 10 /Times-Bold f (writepgminit\(\)) 959 6132 w 10 /Times-Roman f (writes the header for a PGM file and leaves it positioned just after the header.) 1605 6132 w 10 /Times-Italic f (forceplain) 720 6288 w 10 /Times-Roman f (is) 1161 6288 w (a) 1258 6288 w (logical) 1332 6288 w (value) 1634 6288 w (that) 1880 6288 w (tells) 2060 6288 w 10 /Times-Bold f (pgm) 2257 6288 w 10 /S f (_) 2446 6288 w 10 /Times-Bold f (writepgminit\(\)) 2496 6288 w 10 /Times-Roman f (to) 3172 6288 w (write) 3280 6288 w (a) 3515 6288 w (header) 3589 6288 w (for) 3884 6288 w (a) 4031 6288 w (plain) 4106 6288 w (PGM) 4337 6288 w (format) 4585 6288 w (file,) 4882 6288 w (as opposed to a raw PGM format file.) 720 6408 w 10 /Times-Bold f (pgm) 720 6564 w 10 /S f (_) 909 6564 w 10 /Times-Bold f (writepgmrow\(\)) 959 6564 w 10 /Times-Roman f (writes the row) 1626 6564 w 10 /Times-Italic f (grayrow) 2222 6564 w 10 /Times-Roman f (to a) 2586 6564 w (PGM) 2759 6564 w (file.) 3002 6564 w (For) 3211 6564 w (meaningful) 3376 6564 w (results,) 3857 6564 w 10 /Times-Italic f (cols) 4169 6564 w 10 /Times-Roman f (,) 4330 6564 w 10 /Times-Italic f (maxval) 4381 6564 w 10 /Times-Roman f (,) 4669 6564 w (and) 4720 6564 w 10 /Times-Italic f (for\255) 4890 6564 w (ceplain) 720 6684 w 10 /Times-Roman f (must be the same as was used with) 1039 6684 w 10 /Times-Bold f (pgm) 2454 6684 w 10 /S f (_) 2643 6684 w 10 /Times-Bold f (writepgminit\(\)) 2693 6684 w 10 /Times-Roman f (.) 3314 6684 w 10 /Times-Bold f (pgm) 720 6840 w 10 /S f (_) 909 6840 w 10 /Times-Bold f (writepgm\(\)) 959 6840 w 10 /Times-Roman f (write) 1514 6840 w (the) 1798 6840 w (header) 2000 6840 w (and) 2345 6840 w (all) 2569 6840 w (data) 2749 6840 w (for) 2995 6840 w (a) 3191 6840 w (PGM) 3315 6840 w (image.) 3612 6840 w (This) 3986 6840 w (function) 4244 6840 w (combines) 4657 6840 w 10 /Times-Bold f (pgm) 720 6960 w 10 /S f (_) 909 6960 w 10 /Times-Bold f (writepgminit\(\)) 959 6960 w 10 /Times-Roman f (and) 1605 6960 w 10 /Times-Bold f (pgm) 1774 6960 w 10 /S f (_) 1963 6960 w 10 /Times-Bold f (writepgmrow\(\)) 2013 6960 w 10 /Times-Roman f (.) 2655 6960 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 (MISCELLANEOUS) 720 840 w (pgm) 720 1032 w 10 /S f (_) 909 1032 w 10 /Times-Bold f (nextimage\(\)) 959 1032 w 10 /Times-Roman f (positions) 1536 1032 w (a) 1971 1032 w (PGM) 2088 1032 w (input) 2378 1032 w (file) 2657 1032 w (to) 2864 1032 w (the) 3016 1032 w (next) 3212 1032 w (image) 3458 1032 w (in) 3776 1032 w (it) 3928 1032 w (\(so) 4058 1032 w (that) 4254 1032 w (a) 4478 1032 w (subsequent) 4596 1032 w 10 /Times-Bold f (pgm) 720 1152 w 10 /S f (_) 909 1152 w 10 /Times-Bold f (readpgminit\(\)) 959 1152 w 10 /Times-Roman f (reads its header\).) 1578 1152 w 10 /Times-Bold f (pgm) 720 1308 w 10 /S f (_) 909 1308 w 10 /Times-Bold f (nextimage\(\)) 959 1308 w 10 /Times-Roman f (is analogous to) 1488 1308 w 10 /Times-Bold f (pbm) 2113 1308 w 10 /S f (_) 2308 1308 w 10 /Times-Bold f (nextimage\(\)) 2358 1308 w 10 /Times-Roman f (, but works on PGM and PBM files.) 2862 1308 w 10 /Times-Bold f (pgm) 720 1464 w 10 /S f (_) 909 1464 w 10 /Times-Bold f (check\(\)) 959 1464 w 10 /Times-Roman f (checks) 1323 1464 w (for) 1623 1464 w (the) 1768 1464 w (common) 1919 1464 w (file) 2298 1464 w (integrity) 2460 1464 w (error) 2828 1464 w (where) 3050 1464 w (the) 3322 1464 w (file) 3474 1464 w (is) 3637 1464 w (the) 3734 1464 w (wrong) 3886 1464 w (size) 4171 1464 w (to) 4356 1464 w (contain) 4464 1464 w (all) 4788 1464 w (the) 4918 1464 w (image data.) 720 1584 w 10 /Times-Bold f (pgm) 720 1740 w 10 /S f (_) 909 1740 w 10 /Times-Bold f (check\(\)) 959 1740 w 10 /Times-Roman f (is analogous to) 1319 1740 w 10 /Times-Bold f (pbm) 1944 1740 w 10 /S f (_) 2139 1740 w 10 /Times-Bold f (check\(\)) 2189 1740 w 10 /Times-Roman f (, but works on PGM and PBM files.) 2499 1740 w 10 /Times-Bold f (SEE ALSO) 720 1980 w (libpbm) 720 2136 w 10 /Times-Roman f (,) 1027 2136 w 10 /Times-Bold f (libppm) 1077 2136 w 10 /Times-Roman f (,) 1384 2136 w 10 /Times-Bold f (libpnm) 1434 2136 w 10 /S1 f (________________________________________________________________________) 720 2256 w 10 /Times-Bold f (Table Of Contents) 720 2496 w 10 /LucidaSansUnicode22 f (\031) 720 2688 w 10 /Times-Roman f (NAME) 970 2688 w 10 /LucidaSansUnicode22 f (\031) 720 2844 w 10 /Times-Roman f (SYNOPSIS) 970 2844 w 10 /LucidaSansUnicode22 f (\031) 720 3000 w 10 /Times-Roman f (DESCRIPTION) 970 3000 w 10 /LucidaSansUnicode22 f (\031) 720 3156 w 10 /Times-Roman f (TYPES AND CONSTANTS) 970 3156 w 10 /LucidaSansUnicode22 f (\031) 720 3312 w 10 /Times-Roman f (INITIALIZATION) 970 3312 w 10 /LucidaSansUnicode22 f (\031) 720 3468 w 10 /Times-Roman f (MEMORY MANAGEMENT) 970 3468 w 10 /LucidaSansUnicode22 f (\031) 720 3624 w 10 /Times-Roman f (READING FILES) 970 3624 w 10 /LucidaSansUnicode22 f (\031) 720 3780 w 10 /Times-Roman f (WRITING FILES) 970 3780 w 10 /LucidaSansUnicode22 f (\031) 720 3936 w 10 /Times-Roman f (MISCELLANEOUS) 970 3936 w 10 /LucidaSansUnicode22 f (\031) 720 4128 w 10 /Times-Roman f (SEE ALSO) 970 4128 w cleartomark showpage saveobj restore %%EndPage: 3 3 %%Trailer done %%DocumentFonts: Times-Roman LucidaSansUnicode22 Times-Italic Times-Bold S1 S %%Pages: 3