%!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) 2383 1230 w (manual) 2988 1230 w 10 /Times-Bold f (libnetpbm) 720 1920 w 10 /Times-Roman f (Updated: December 2003) 720 2076 w () 1814 2196 w () 4940 2196 w () 720 2316 w 10 /Times-Bold f (libnetpbm) 720 2472 w 10 /Times-Roman f (is) 1187 2472 w (a) 1281 2472 w (C) 1352 2472 w (programming) 1446 2472 w (library) 2017 2472 w (for) 2310 2472 w (reading,) 2453 2472 w (writing,) 2804 2472 w (and) 3146 2472 w (manipulating) 3318 2472 w (Netpbm) 3874 2472 w (images.) 4224 2472 w (It) 4585 2472 w (also) 4674 2472 w (con\255) 4863 2472 w (tains) 720 2592 w (a) 945 2592 w (few) 1025 2592 w (general) 1209 2592 w (graphics) 1537 2592 w (manipulation) 1910 2592 w (tools,) 2473 2592 w (but) 2728 2592 w (it) 2891 2592 w (is) 2982 2592 w (not) 3084 2592 w (intended) 3247 2592 w (to) 3626 2592 w (be) 3739 2592 w (a) 3868 2592 w (graphics) 3947 2592 w (tools) 4320 2592 w (library.) 4550 2592 w (For) 4901 2592 w (graphics) 720 2712 w (tools,) 1085 2712 w (Netpbm) 1332 2712 w (expects) 1682 2712 w (you) 2009 2712 w (to) 2187 2712 w (run) 2293 2712 w (the) 2454 2712 w (Netpbm) 2604 2712 w (programs.) 2954 2712 w (From) 3409 2712 w (a) 3654 2712 w (C) 3726 2712 w (program,) 3821 2712 w (the) 4212 2712 w 10 /Times-Bold f (libnetpbm) 4362 2712 w 10 /Times-Roman f (func\255) 4830 2712 w (tion) 720 2832 w 10 /Times-Bold f (pm) 908 2832 w 10 /S f (_) 1047 2832 w 10 /Times-Bold f (system\(\)) 1097 2832 w 10 /Times-Roman f (makes) 1483 2832 w (this) 1770 2832 w (easy.) 1947 2832 w (However,) 2206 2832 w (since) 2628 2832 w (it) 2865 2832 w (creates) 2953 2832 w (a) 3261 2832 w (process) 3337 2832 w (and) 3668 2832 w (execs) 3844 2832 w (a) 4097 2832 w (program,) 4173 2832 w (this) 4567 2832 w (may) 4743 2832 w (be) 4946 2832 w (too heavyweight for some applications.) 720 2952 w (To) 720 3108 w (use) 857 3108 w 10 /Times-Bold f (libnetpbm) 1016 3108 w 10 /Times-Roman f (services) 1482 3108 w (in) 1829 3108 w (your) 1933 3108 w (C) 2143 3108 w (program,) 2237 3108 w (#include) 2627 3108 w (the) 2998 3108 w 10 /Times-Bold f (pam.h) 3147 3108 w 10 /Times-Roman f (interface) 3444 3108 w (header) 3819 3108 w (file.) 4111 3108 w (For) 4321 3108 w (historical) 4487 3108 w (rea\255) 4886 3108 w (sons,) 720 3228 w (you) 953 3228 w (can) 1133 3228 w (also) 1301 3228 w (get) 1492 3228 w (by) 1644 3228 w (in) 1773 3228 w (some) 1880 3228 w (cases) 2120 3228 w (with) 2359 3228 w 10 /Times-Bold f (pbm.h) 2566 3228 w 10 /Times-Roman f (,) 2842 3228 w 10 /Times-Bold f (pgm.h) 2896 3228 w 10 /Times-Roman f (,) 3166 3228 w 10 /Times-Bold f (ppm.h) 3220 3228 w 10 /Times-Roman f (,) 3496 3228 w (or) 3550 3228 w 10 /Times-Bold f (pnm.h) 3662 3228 w 10 /Times-Roman f (,) 3938 3228 w (but) 3992 3228 w (there's) 4149 3228 w (really) 4449 3228 w (no) 4705 3228 w (point) 4834 3228 w (to that anymore.) 720 3348 w (The) 720 3504 w 10 /Times-Bold f (libnetpbm) 900 3504 w 10 /Times-Roman f (functions are divided into these categories:) 1365 3504 w 10 /LucidaSansUnicode22 f (\031) 720 3660 w 10 /Times-Roman f (PBM functions.) 970 3660 w (These have names that start with) 1654 3660 w 10 /Times-Bold f (pbm) 2985 3660 w 10 /Times-Roman f (and work only on PBM images.) 3205 3660 w 10 /LucidaSansUnicode22 f (\031) 720 3816 w 10 /Times-Roman f (PGM functions.) 970 3816 w (These have names that start with) 1659 3816 w 10 /Times-Bold f (pgm) 2990 3816 w 10 /Times-Roman f (and work only on PGM images.) 3204 3816 w 10 /LucidaSansUnicode22 f (\031) 720 3972 w 10 /Times-Roman f (PPM functions.) 970 3972 w (These have names that start with) 1643 3972 w 10 /Times-Bold f (ppm) 2974 3972 w 10 /Times-Roman f (and work only on PPM images.) 3194 3972 w 10 /LucidaSansUnicode22 f (\031) 720 4128 w 10 /Times-Roman f (PNM functions.) 970 4128 w (These have names that start with) 1659 4128 w 10 /Times-Bold f (pnm) 2990 4128 w 10 /Times-Roman f (and work on PBM, PGM, and PPM images.) 3210 4128 w 10 /LucidaSansUnicode22 f (\031) 720 4284 w 10 /Times-Roman f (PAM) 970 4284 w (functions.) 1228 4284 w (These) 1691 4284 w (also) 1970 4284 w (have) 2172 4284 w (names) 2401 4284 w (that) 2697 4284 w (start) 2888 4284 w (with) 3101 4284 w 10 /Times-Bold f (pnm) 3320 4284 w 10 /Times-Roman f (and) 3556 4284 w (work) 3741 4284 w (on) 3987 4284 w (all) 4128 4284 w (the) 4269 4284 w (Netpbm) 4432 4284 w (image) 4796 4284 w (types.) 970 4404 w 10 /LucidaSansUnicode22 f (\031) 720 4560 w 10 /Times-Roman f (PM functions.) 970 4560 w (These are utility functions that aren't specific to any particular image format.) 1587 4560 w (For) 720 4752 w (new) 895 4752 w (programming,) 1097 4752 w (you) 1702 4752 w (rarely) 1888 4752 w (need) 2156 4752 w (to) 2380 4752 w (concern) 2494 4752 w (yourself) 2845 4752 w (with) 3208 4752 w (the) 3422 4752 w (PBM,) 3580 4752 w (PGM,) 3853 4752 w (PPM,) 4132 4752 w (and) 4395 4752 w (PNM) 4576 4752 w (func\255) 4830 4752 w (tions,) 720 4872 w (because) 969 4872 w (the) 1313 4872 w (newer) 1464 4872 w (PAM) 1736 4872 w (functions) 1982 4872 w (do) 2383 4872 w (the) 2512 4872 w (same) 2663 4872 w (thing) 2897 4872 w (and) 3132 4872 w (are) 3305 4872 w (easier) 3455 4872 w (to) 3716 4872 w (use.) 3823 4872 w (For) 4035 4872 w (certain) 4203 4872 w (processing) 4502 4872 w (of) 4957 4872 w (bi\255level images, the PBM functions are significantly more efficient, though.) 720 4992 w 10 /Times-Bold f (libnetpbm) 720 5148 w 10 /Times-Roman f (has a backward compatibility feature that means a function designed to read one format can) 1185 5148 w (read) 4869 5148 w (some) 720 5268 w (others) 965 5268 w (too,) 1243 5268 w (converting) 1430 5268 w (on) 1891 5268 w (the) 2025 5268 w (fly.) 2181 5268 w (In) 2376 5268 w (particular,) 2493 5268 w (a) 2934 5268 w (function) 3012 5268 w (that) 3379 5268 w (reads) 3562 5268 w (a) 3805 5268 w (PGM) 3882 5268 w (image) 4132 5268 w (will) 4409 5268 w (also) 4598 5268 w (read) 4792 5268 w (a) 4996 5268 w (PBM image, but converts it as it reads) 720 5388 w (it) 2273 5388 w (so) 2355 5388 w (that) 2470 5388 w (for) 2646 5388 w (programming) 2788 5388 w (purposes,) 3358 5388 w (it) 3764 5388 w (is) 3846 5388 w (a) 3939 5388 w (PGM) 4009 5388 w (image.) 4252 5388 w (Similarly,) 4572 5388 w (a) 4996 5388 w (function) 720 5508 w (that) 1083 5508 w (reads) 1263 5508 w (PPM) 1503 5508 w (can) 1734 5508 w (read) 1902 5508 w (PBM) 2103 5508 w (and) 2345 5508 w (PGM) 2519 5508 w (as) 2766 5508 w (well.) 2879 5508 w (And) 3131 5508 w (a) 3333 5508 w (function) 3407 5508 w (that) 3770 5508 w (reads) 3950 5508 w (PBM,) 4190 5508 w (PGM,) 4456 5508 w (or) 4727 5508 w (PPM) 4839 5508 w (can read a PAM that has an equivalent tuple type.) 720 5628 w (For) 720 5784 w (each) 888 5784 w (of) 1099 5784 w (the) 1211 5784 w (five) 1362 5784 w (classes) 1546 5784 w (of) 1852 5784 w 10 /Times-Bold f (libnetpbm) 1964 5784 w 10 /Times-Roman f (image) 2433 5784 w (processing) 2706 5784 w (functions,) 3162 5784 w 10 /Times-Bold f (libnetpbm) 3588 5784 w 10 /Times-Roman f (has) 4058 5784 w (in) 4221 5784 w (in\255memory) 4329 5784 w (repre\255) 4803 5784 w (sentation) 720 5904 w (for) 1112 5904 w (a) 1259 5904 w (pixel,) 1334 5904 w (a) 1590 5904 w (row,) 1665 5904 w (and) 1876 5904 w (a) 2051 5904 w (whole) 2126 5904 w (image.) 2401 5904 w (Do) 2726 5904 w (not) 2878 5904 w (confuse) 3036 5904 w (this) 3376 5904 w (format) 3551 5904 w (with) 3847 5904 w (the) 4055 5904 w (actual) 4207 5904 w (image) 4475 5904 w (format,) 4749 5904 w (as) 720 6024 w (you) 830 6024 w (would) 1007 6024 w (see) 1284 6024 w (in) 1438 6024 w (a) 1543 6024 w (file.) 1614 6024 w (The) 1824 6024 w 10 /Times-Bold f (libnetpbm) 2006 6024 w 10 /Times-Roman f (in\255memory) 2473 6024 w (format) 2944 6024 w (is) 3237 6024 w (designed) 3331 6024 w (to) 3713 6024 w (make) 3818 6024 w (programming) 4061 6024 w (very) 4633 6024 w (easy.) 4838 6024 w (It) 720 6144 w (is) 811 6144 w (sometimes) 908 6144 w (extremely) 1366 6144 w (inefficient,) 1795 6144 w (even) 2260 6144 w (more) 2478 6144 w (than) 2713 6144 w (the) 2915 6144 w (actual) 3067 6144 w (image) 3335 6144 w (format.) 3609 6144 w (For) 3955 6144 w (example,) 4123 6144 w (a) 4515 6144 w (pixel) 4588 6144 w (that) 4817 6144 w (a) 4996 6144 w (PPM) 720 6264 w (image) 959 6264 w (represents) 1241 6264 w (with) 1683 6264 w (3) 1899 6264 w (bytes,) 1987 6264 w 10 /Times-Bold f (libnetpbm) 2261 6264 w 10 /Times-Roman f ('s) 2701 6264 w (PAM) 2811 6264 w (functions) 3066 6264 w (represent) 3476 6264 w (with) 3879 6264 w (16) 4095 6264 w (bytes.) 4233 6264 w (A) 4532 6264 w (pixel) 4642 6264 w (in) 4880 6264 w (a) 4996 6264 w (PBM) 720 6384 w (image) 965 6384 w (is) 1242 6384 w (represented) 1342 6384 w (by) 1834 6384 w (a) 1967 6384 w (single) 2043 6384 w (bit,) 2314 6384 w (but) 2477 6384 w (the) 2637 6384 w (PNM) 2791 6384 w (functions) 3040 6384 w (represent) 3444 6384 w (that) 3841 6384 w (pixel) 4023 6384 w (in) 4255 6384 w (memory) 4365 6384 w (with) 4730 6384 w (96) 4940 6384 w (bits.) 720 6504 w (See Libnetpbm User's Manual for the basics on using) 720 6660 w 10 /Times-Bold f (libnetpbm) 2892 6660 w 10 /Times-Roman f (in a program.) 3357 6660 w (You can look up the reference information for a particular function in The libnetpbm Directory.) 720 6816 w (Before Netpbm release 10 \(June 2002\), this library was) 720 6972 w (split) 2955 6972 w (into) 3154 6972 w (four:) 3336 6972 w (libpbm,) 3556 6972 w (libpgm,) 3891 6972 w (libppm,) 4226 6972 w (and) 4561 6972 w (libpnm.) 4731 6972 w (That's largely the reason for the multiple sets of functions and scattered documentation.) 720 7092 w cleartomark showpage saveobj restore %%EndPage: 1 1 %%Trailer done %%DocumentFonts: Times-Roman LucidaSansUnicode20 LucidaSansUnicode22 Times-Bold S %%Pages: 1