--!----------------------------------------------------------------------------- --! Postscript filter for EiffelStudio documentation output. --!----------------------------------------------------------------------------- --! $Date$ --! $Revision$ --!----------------------------------------------------------------------------- Suffix |ps -- Major syntactical constructs Cluster_declaration, Class_declaration |% %%%!PS-Adobe-1.0%N% %%%%%Creator: $generator$%N% %%%%%DocumentFonts: Times-Roman Times-Italic Times-Bold Times-BoldItalic%N% %%N% %/inch {72 mul} def%N% %/leftmargin 1 inch def%N% %/rightmargin 8 inch def%N% %/bottommargin 1 inch def%N% %/topmargin 10 inch def%N% %/linespacing 11 def%N% %/font_size 10 def%N% %/tablength 4 def%N% %%N% %/normalfont {%N% % /Times-Roman findfont font_size scalefont setfont%N% %} def%N% %%N% %/italicfont {%N% % /Times-Italic findfont font_size scalefont setfont%N% %} def%N% %%N% %/boldfont {%N% % /Times-Bold findfont font_size scalefont setfont%N% %} def%N% %%N% %/bolditalicfont {%N% % /Times-BoldItalic findfont font_size scalefont setfont%N% %} def%N% %%N% %/new_line {%N% % currentpoint linespacing sub%N% % dup bottommargin lt%N% % {pop pop newpage}%N% % {exch pop leftmargin exch moveto} %N% % ifelse%N% %} def%N% %%N% %/newpage {%N% % showpage leftmargin topmargin moveto%N% %} def%N% %%N% %/append { %% string char => string%N% % /char exch def%N% % /oldstring exch def%N% % /newstring oldstring length 1 add string def%N% % newstring 0 oldstring putinterval%N% % newstring dup dup length 1 sub char put%N% %} def%N% %%N% %/print_next_line {%N% % /word () def%N% % { currentfile read not%N% % {exit} %N% % if%N% % /char2 exch def%N% % char2 13 ne char2 10 ne char2 12 ne and and %% New Line character%N% % { char2 32 eq char2 9 eq or %% Tab or Space%N% % { word length 0 ne%N% % {word print_word%N% % /word () def} %N% % if%N% % char2 32 eq%N% % {( ) show}%N% % {print_tab}%N% % ifelse%N% % }%N% % {/word word char2 append def} %N% % ifelse%N% % }%N% % {%N% % word print_word%N% % /word () def%N% % exit%N% % } %N% % ifelse%N% % } loop%N% % italicfont%N% %} def%N% %%N% %/print_word { %% string => -%N% % /theword exch def%N% % theword stringwidth pop currentpoint pop add rightmargin gt%N% % {%N% % rightmargin leftmargin sub theword stringwidth pop lt%N% % {theword print_character}%N% % {new_line theword show} %N% % ifelse%N% % }%N% % {theword show} %N% % ifelse%N% %} def%N% %%N% %/print_character { %% print the string character by character%N% % {%N% % () exch append%N% % dup stringwidth pop currentpoint pop add%N% % rightmargin gt%N% % {new_line} %N% % if%N% % show%N% % } forall%N% %} def%N% %%N% %/print_tab { %% - => -%N% % %% Move to the next tabulation mark%N% % ( ) dup 0 110 put %% char (110) = 'n'%N% % stringwidth pop tablength mul dup%N% % currentpoint pop leftmargin sub dup%N% % 4 -1 roll div%N% % %% patch: remove errors due to computation%N% % %% imprecisions (0.99999 instead of 1.0)%N% % 1 tablength div 3 div add%N% % floor 1 add%N% % 3 -1 roll mul exch sub 0 rmoveto%N% %} def%N% %%N% %%%%%EndProlog%N% %%N% %leftmargin topmargin moveto%N% %normalfont print_next_line%N% % %T%T%T%-%- Automatic generation produced by ISE Eiffel %-%-%N% %new_line%N% %italicfont print_next_line%N% %*%N% %new_line%N% %normalfont print_next_line%N% % %T%T%T%-%- Generated by ISE Eiffel %-%-%N% %new_line%N% %normalfont print_next_line%N% % %T%T%T%-%- For more details: http://www.eiffel.com %-%-%N% %italicfont print_next_line%N%N% %showpage%N -- General specifications Keyword |%Nbolditalicfont print_next_line%N*%N% %italicfont print_next_line%N Symbol |%Nnormalfont print_next_line%N*%N% %italicfont print_next_line%N Comment |%Nnormalfont print_next_line%N*%N% %italicfont print_next_line%N Tab |%Nprint_tab%Nitalicfont print_next_line%N New_line |%Nnew_line%Nitalicfont print_next_line%N -- Symbols . |%Nboldfont (.) dup stringwidth pop 2 div dup%N% %0 rmoveto exch show 0 rmoveto%N% %italicfont print_next_line%N - |%Nnormalfont (-) dup dup stringwidth pop 3 div exch%N% %show neg 0 rmoveto show%Nitalicfont print_next_line%N %* |%Nnormalfont font_size 8 div dup%N% %neg 0 exch rmoveto (%*) show 0 exch rmoveto%N% %italicfont print_next_line%N --!----------------------------------------------------------------------------- --! Eiffel Software --! 356 Storke Road, Goleta, CA 93117 USA --! Telephone 805-685-1006, Fax 805-685-6869 --! Website http://www.eiffel.com --! Customer support http://support.eiffel.com --!-----------------------------------------------------------------------------