Mercurial > hg > sv-dependency-builds
view src/fftw-3.3.8/doc/FAQ/m-lout.pl @ 169:223a55898ab9 tip default
Add null config files
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Mon, 02 Mar 2020 14:03:47 +0000 |
parents | bd3cc4d1df30 |
children |
line wrap: on
line source
## Lout output # Copyright (C) 1993-1995 Ian Jackson. # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # It is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with GNU Emacs; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # (Note: I do not consider works produced using these BFNN processing # tools to be derivative works of the tools, so they are NOT covered # by the GPL. However, I would appreciate it if you credited me if # appropriate in any documents you format using BFNN.) sub lout_init { open(LOUT,">$prefix.lout"); chop($dprint= `date '+%d %B %Y'`); $dprint =~ s/^0//; } sub lout_startup { local ($lbs) = &lout_sanitise($user_brieftitle); print LOUT <<END; \@SysInclude{ fontdefs } \@SysInclude{ langdefs } \@SysInclude{ dl } \@SysInclude{ docf } \@Use { \@DocumentLayout \@OddTop { \@Null } \@EvenTop { \@Null } \@StartOddTop { \@Null } \@StartEvenTop { \@Null } \@OddFoot { { $lbs } \@Centre{ - \@PageNum - } \@Right{ $dprint } } \@EvenFoot { { $lbs } \@Centre{ - \@PageNum - } \@Right{ $dprint } } \@StartOddFoot { { $lbs } \@Centre{ - \@PageNum - } \@Right{ $dprint } } \@StartEvenFoot { { $lbs } \@Centre{ - \@PageNum - } \@Right{ $dprint } } \@ParaGap { 1.70vx } \@InitialBreak { 1.0fx ragged hyphen } } \@Use { \@OrdinaryLayout } END $lout_textstatus= 'p'; } sub lout_pageref { print LOUT "Q$_[1] (page {\@PageOf{$_[0]}}) "; &lout_text("\`"); } sub lout_endpageref { &lout_text("'"); } sub lout_finish { print LOUT "\@End \@Text\n"; close(L); } sub lout_startmajorheading { $lout_styles .= 'h'; print LOUT <<END \@CNP { newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.2 ft rlineto xsize neg 0 rlineto closepath fill } \@Graphic { //1.6f \@HAdjust \@Heading{ END ; $endh= "}\n{\@PageMark s_$_[0]}\n/1.0fo\n"; &lout_text($_[0] ? "Section $_[0]. " : ''); } sub lout_startminorheading { $lout_styles .= 'h'; print LOUT "//0.2f \@CNP {\@PageMark $_[0]} \@Heading{\n"; $endh= ''; } sub lout_endheading { $lout_styles =~ s/.$//; print LOUT "}\n$endh"; $lout_status= 'p'; } sub lout_endmajorheading { &lout_endheading(@_); } sub lout_endminorheading { &lout_endheading(@_); } sub lout_courier { $lout_styles .= 'f'; print LOUT "{{0.7 1.0} \@Scale {Courier Bold} \@Font {"; } sub lout_endcourier { $lout_styles =~ s/.$//; print LOUT "}}"; } sub lout_italic { $lout_styles .= 'f'; print LOUT "{Slope \@Font {"; } sub lout_enditalic { $lout_styles =~ s/.$//; print LOUT "}}"; } sub lout_startindent { $lout_styles .= 'i'; print LOUT "\@IndentedDisplay {\n"; } sub lout_endindent { &lout_endpara; $lout_styles =~ s/.$//; print LOUT "}\n\@LP\n"; } sub lout_startpackedlist { $lout_plc=-1; } sub lout_endpackedlist { &lout_newline if !$lout_plc; } sub lout_packeditem { &lout_newline if !$lout_plc; &lout_tab(($lout_plc>0)*40+5); $lout_plc= !$lout_plc; } sub lout_startlist { &lout_endpara; print LOUT "\@RawIndentedList style {\@Bullet} indent {0.5i} gap {1.1vx}\n"; $lout_styles .= 'l'; $lout_status= ''; } sub lout_endlist { &lout_endpara; print LOUT "\@EndList\n\n"; $lout_styles =~ s/.$//; } sub lout_item { &lout_endpara; print LOUT "\@ListItem{"; $lout_styles.= 'I'; } sub lout_startindex { print LOUT "//0.0fe\n"; } sub lout_endindex { $lout_status='p'; } sub lout_startindexmainitem { $lout_marker= $_[0]; $lout_status= ''; print LOUT "//0.3vx Bold \@Font \@HAdjust { \@HContract { { $_[1] } |3cx {"; $lout_iiendheight= '1.00'; $lout_styles .= 'X'; } sub lout_startindexitem { $lout_marker= $_[0]; print LOUT "\@HAdjust { \@HContract { { $_[1] } |3cx {"; $lout_iiendheight= '0.95'; $lout_styles .= 'X'; } sub lout_endindexitem { print LOUT "} } |0c \@PageOf { $lout_marker } } //${lout_iiendheight}vx\n"; $lout_styles =~ s/.$//; } sub lout_email { &lout_courier; &lout_text('<'); } sub lout_endemail { &lout_text('>'); &lout_endcourier; } sub lout_ftpon { &lout_courier; } sub lout_endftpon { &lout_endcourier; } sub lout_ftpin { &lout_courier; } sub lout_endftpin { &lout_endcourier; } sub lout_docref { } sub lout_enddocref { } sub lout_ftpsilent { $lout_ignore++; } sub lout_endftpsilent { $lout_ignore--; } sub lout_newsgroup { &lout_courier; } sub lout_endnewsgroup { &lout_endcourier; } sub lout_text { return if $lout_ignore; $lout_status= 'p'; $_= &lout_sanitise($_[0]); s/ $/\n/ unless $lout_styles =~ m/[fhX]/; print LOUT $_; } sub lout_tab { local ($size) = $_[0]*0.5; print LOUT " |${size}ft "; } sub lout_newline { print LOUT " //1.0vx\n"; } sub lout_sanitise { local ($in) = @_; local ($out); $in= ' '.$in.' '; $out=''; while ($in =~ m/(\s)(\S*[\@\/|\\\"\^\&\{\}\#]\S*)(\s)/) { $out .= $`.$1; $in = $3.$'; $_= $2; s/[\\\"]/\\$&/g; $out .= '"'.$_.'"'; } $out .= $in; $out =~ s/^ //; $out =~ s/ $//; $out; } sub lout_endpara { return if $lout_status eq ''; if ($lout_styles eq '') { print LOUT "\@LP\n\n"; } elsif ($lout_styles =~ s/I$//) { print LOUT "}\n"; } $lout_status= ''; } sub lout_startverbatim { print LOUT "//0.4f\n\@RawIndentedDisplay lines \@Break". " { {0.7 1.0} \@Scale {Courier Bold} \@Font {\n"; } sub lout_verbatim { $_= $_[0]; s/^\s*//; print LOUT &lout_sanitise($_),"\n"; } sub lout_endverbatim { print LOUT "}\n}\n//0.4f\n"; } 1;