%!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 (Netpbm) 1584 1230 w (subroutine) 2027 1230 w (library:) 2612 1230 w (pm) 3043 1230 w 12 /S f (_) 3210 1230 w 12 /Times-Bold f (tmpfile\(\)) 3270 1230 w (function) 3748 1230 w 10 /Times-Bold f (pm) 720 1920 w 10 /S f (_) 859 1920 w 10 /Times-Bold f (tmpfile\(\)) 909 1920 w 10 /Times-Roman f (Updated: 22 July 2004) 720 2076 w 10 /Times-Bold f (NAME) 720 2316 w 10 /Times-Roman f (pm) 720 2472 w 10 /S f (_) 848 2472 w 10 /Times-Roman f (tmpfile\(\) \255 tempfile creation routine using TMPFILE) 898 2472 w 10 /Times-Bold f (SYNOPSIS) 720 2712 w 10 /Times-Roman f (#include ) 720 2928 w (FILE *) 720 3048 w (pm) 720 3168 w 10 /S f (_) 848 3168 w 10 /Times-Roman f (tmpfile\(void\);) 898 3168 w 10 /Times-Bold f (EXAMPLE) 720 3468 w 10 /Times-Roman f (This) 720 3660 w (simple) 932 3660 w (example) 1233 3660 w (creates) 1605 3660 w (a) 1915 3660 w (temporary) 1993 3660 w (file,) 2437 3660 w (writes) 2629 3660 w ("hello) 2907 3660 w (world") 3182 3660 w (to) 3490 3660 w (it,) 3602 3660 w (then) 3717 3660 w (reads) 3923 3660 w (back) 4167 3660 w (and) 4389 3660 w (prints) 4567 3660 w (those) 4829 3660 w (contents.) 720 3780 w (#include ) 720 3960 w (FILE * myfile;) 720 4080 w (myfile = pm) 720 4200 w 10 /S f (_) 1215 4200 w 10 /Times-Roman f (tmpfile\(\);) 1265 4200 w (fprintf\(myfile, "hello world0\);) 720 4320 w (fseek\(myfile, 0, SEEK) 720 4440 w 10 /S f (_) 1624 4440 w 10 /Times-Roman f (SET\);) 1674 4440 w (fread\(buffer, sizeof\(buffer\), 1, myfile\);) 720 4560 w (fprintf\(STDOUT, "temp file contains '%s'0, buffer\);) 720 4680 w (fclose\(myfile\);) 720 4800 w 10 /Times-Bold f (DESCRIPTION) 720 5100 w 10 /Times-Roman f (This library function is part of Netpbm.) 720 5292 w 10 /Times-Bold f (pm) 720 5448 w 10 /S f (_) 859 5448 w 10 /Times-Bold f (tmpfile\(\)) 909 5448 w 10 /Times-Roman f (creates and opens an unnamed temporary file.) 1305 5448 w (It is basically the same thing as) 3186 5448 w (the) 4461 5448 w (standard) 4609 5448 w (C) 4973 5448 w (library) 720 5568 w 10 /Times-Bold f (tmpfile\(\)) 1012 5568 w 10 /Times-Roman f (function,) 1409 5568 w (except) 1793 5568 w (that) 2079 5568 w (it) 2255 5568 w (uses) 2337 5568 w (the) 2535 5568 w 10 /Times-Bold f (TMPFILE) 2683 5568 w 10 /Times-Roman f (environment) 3165 5568 w (variable) 3696 5568 w (to) 4043 5568 w (decide where to create) 4147 5568 w (the) 720 5688 w (temporary) 873 5688 w (file.) 1314 5688 w (If) 1528 5688 w 10 /Times-Bold f (TMPFILE) 1625 5688 w 10 /Times-Roman f (is) 2113 5688 w (not) 2212 5688 w (set) 2372 5688 w (or) 2515 5688 w (is) 2630 5688 w (set) 2729 5688 w (to) 2872 5688 w (something) 2982 5688 w (unusable) 3431 5688 w (\(e.g.) 3818 5688 w (too) 4052 5688 w (long\),) 4212 5688 w 10 /Times-Bold f (pm) 4480 5688 w 10 /S f (_) 4619 5688 w 10 /Times-Bold f (tmpfile\(\)) 4669 5688 w 10 /Times-Roman f (falls back to the value of the standard C library symbol) 720 5808 w 10 /Times-Bold f (P) 2942 5808 w 10 /S f (_) 3003 5808 w 10 /Times-Bold f (tmpdir) 3053 5808 w 10 /Times-Roman f (, just like) 3353 5808 w 10 /Times-Bold f (tmpfile\(\)) 3748 5808 w 10 /Times-Roman f (.) 4119 5808 w (Unlike) 720 5964 w 10 /Times-Bold f (tmpfile\(\)) 1022 5964 w 10 /Times-Roman f (,) 1393 5964 w 10 /Times-Bold f (pm) 1449 5964 w 10 /S f (_) 1588 5964 w 10 /Times-Bold f (tmpfile\(\)) 1638 5964 w 10 /Times-Roman f (never) 2040 5964 w (returns) 2292 5964 w (NULL.) 2600 5964 w (If) 2947 5964 w (it) 3044 5964 w (fails,) 3131 5964 w (it) 3359 5964 w (issues) 3446 5964 w (a) 3716 5964 w (message) 3791 5964 w (to) 4160 5964 w (Standard) 4269 5964 w (Error) 4655 5964 w (and) 4896 5964 w (aborts the program, like most libnetpbm routines do.) 720 6084 w 10 /Times-Bold f (HISTORY) 720 6324 w (pm) 720 6480 w 10 /S f (_) 859 6480 w 10 /Times-Bold f (tmpfile\(\)) 909 6480 w 10 /Times-Roman f (was introduced in Netpbm 10.20 \(January 2004\).) 1305 6480 w cleartomark showpage saveobj restore %%EndPage: 1 1 %%Trailer done %%DocumentFonts: Times-Roman Times-Bold S %%Pages: 1