Mercurial > hg > sv-dependency-builds
diff src/fftw-3.3.3/doc/FAQ/m-html.pl @ 10:37bf6b4a2645
Add FFTW3
author | Chris Cannam |
---|---|
date | Wed, 20 Mar 2013 15:35:50 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/fftw-3.3.3/doc/FAQ/m-html.pl Wed Mar 20 15:35:50 2013 +0000 @@ -0,0 +1,337 @@ +## HTML 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.) + +%saniarray= ('<','lt', '>','gt', '&','amp', '"','quot'); + +sub html_init { + $html_prefix = './'.$prefix; + $html_prefix =~ s:^\.//:/:; + system('rm','-r',"$html_prefix.html"); + system('mkdir',"$html_prefix.html"); + open(HTML,">$html_prefix.html/index.html"); + print HTML "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\n"; + print HTML "<html>\n"; + $html_needpara= -1; + $html_end=''; + chop($html_date=`date '+%d %B %Y'`); + chop($html_year=`date '+%Y'`); +} + +sub html_startup { + print HTML <<END; +<head><title> +$user_title +</title> +<link rev="made" href="mailto:$user_authormail"> +<link rel="Contents" href="index.html"> +<link rel="Start" href="index.html"> +<META name="description" + content="Frequently asked questions and answers (FAQ) for FFTW."> +<link rel="Bookmark" title="FFTW FAQ" href="index.html"> +<LINK rel="Bookmark" title="FFTW Home Page" + href="http://www.fftw.org"> +<LINK rel="Bookmark" title="FFTW Manual" + href="http://www.fftw.org/doc/"> +</head><body text="#000000" bgcolor="#FFFFFF"><h1> +$user_title +</h1> +END + &html_readrefs($_[0]); + if (length($user_copyrightref)) { + local ($refn) = $qrefn{$user_copyrightref}; + if (!length($refn)) { + warn "unknown question (copyright) `$user_copyrightref'"; + } + $refn =~ m/(\d+)\.(\d+)/; + local ($s,$n) = ($1,$2); + $html_copyrighthref= ($s == $html_sectionn)?'':"section$s.html"; + $html_copyrighthref.= "#$qn2ref{$s,$n}"; + } +} + +sub html_close { + print HTML $html_end,"<address>\n$user_author\n"; + print HTML "- $html_date\n</address><br>\n"; + print HTML "Extracted from $user_title,\n"; + print HTML "<A href=\"$html_copyrighthref\">" if length($html_copyrighthref); + print HTML "Copyright © $html_year $user_copyholder."; + print HTML "</A>" if length($html_copyrighthref); + print HTML "\n</body></html>\n"; + close(HTML); +} + +sub html_startmajorheading { + local ($ref, $this,$next,$back) = @_; + local ($nextt,$backt); + $this =~ s/^Section /section/; $html_sectionn= $ref; + $next =~ s/^Section /section/ && ($nextt= $sn2title{$'}); + $back =~ s/^Section /section/ ? ($backt= $sn2title{$'}) : ($back=''); + if ($html_sectionn) { + &html_close; + open(HTML,">$html_prefix.html/$this.html"); + print HTML "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\n"; + print HTML "<html>\n"; + $html_end= "<hr>\n"; + $html_end.= "Next: <a href=\"$next.html\" rel=precedes>$nextt</a>.<br>\n" + if $next; + $html_end.= "Back: <a href=\"$back.html\" rev=precedes>$backt</a>.<br>\n" + if $back; + $html_end.= "<a href=\"index.html\" rev=subdocument>"; + $html_end.= "Return to contents</a>.<p>\n"; + print HTML <<END; +<head><title> +$user_brieftitle - Section $html_sectionn +</title> +<link rev="made" href="mailto:$user_authormail"> +<link rel="Contents" href="index.html"> +<link rel="Start" href="index.html"> +END + print HTML "<link rel=\"Next\" href=\"$next.html\">" if $next; + print HTML "<link rel=\"Previous\" href=\"$back.html\">" if $back; + print HTML <<END; +<link rel="Bookmark" title="FFTW FAQ" href="index.html"> +</head><body text="#000000" bgcolor="#FFFFFF"><h1> +$user_brieftitle - Section $html_sectionn <br> +END + $html_needpara= -1; + } + else { + print HTML "\n<h1>\n"; + $html_needpara=-1; + } +} + +sub html_endmajorheading { + print HTML "\n</h1>\n\n"; + $html_needpara=-1; +} + +sub html_startminorheading { + local ($ref, $this) = @_; + $html_needpara=0; + $this =~ m/^Question (\d+)\.(\d+)/; + local ($s,$n) = ($1,$2); + print HTML "\n<h2><A name=\"$qn2ref{$s,$n}\">\n"; +} + +sub html_endminorheading { + print HTML "\n</A></h2>\n\n"; + $html_needpara=-1; +} + +sub html_newsgroup { &arg('newsgroup'); } +sub html_endnewsgroup { &endarg('newsgroup'); } +sub html_do_newsgroup { + print HTML "<A href=\"news:$_[0]\"><code>$_[0]</code></A>"; +} + +sub html_email { &arg('email'); } +sub html_endemail { &endarg('email'); } +sub html_do_email { + print HTML "<A href=\"mailto:$_[0]\"><code>$_[0]</code></A>"; +} + +sub html_courier { print HTML "<code>" ; } +sub html_endcourier { print HTML "</code>"; } +sub html_italic { print HTML "<i>" ; } +sub html_enditalic { print HTML "</i>" ; } + +sub html_docref { &arg('docref'); } +sub html_enddocref { &endarg('docref'); } +sub html_do_docref { + if (!defined($html_refval{$_[0]})) { + warn "undefined HTML reference $_[0]"; + $html_refval{$n}='UNDEFINED'; + } + print HTML "<A href=\"$html_refval{$_[0]}\">"; + &recurse($_[0]); + print HTML "</A>"; +} + +sub html_readrefs { + local ($p); + open(HTMLREFS,"<$_[0]") || (warn("failed to open HTML refs $_[0]: $!"),return); + while(<HTMLREFS>) { + next if m/^\\\s/; + s/\s*\n$//; + if (s/^\\prefix\s*//) { + $p= $'; next; + } elsif (s/^\s*(\S.*\S)\s*\\\s*//) { + $_=$1; $v=$'; + s/\\\\/\\/g; + $html_refval{$_}= $p.$v; + } else { + warn("ununderstood line in HTML refs >$_<"); + } + } + close(HTMLREFS); +} + +sub html_ftpsilent { &arg('ftpsilent'); } +sub html_endftpsilent { &endarg('ftpsilent'); } +sub html_do_ftpsilent { + if ($_[0] =~ m/:/) { + $html_ftpsite= $`; + $html_ftpdir= $'.'/'; + } else { + $html_ftpsite= $_[0]; + $html_ftpdir= ''; + } +} + +sub html_ftpon { &arg('ftpon'); } +sub html_endftpon { &endarg('ftpon'); } +sub html_do_ftpon { +#print STDERR "ftpon($_[0])\n"; + $html_ftpsite= $_[0]; $html_ftpdir= ''; + print HTML "<code>"; + &recurse($_[0]); + print HTML "</code>"; +} + +sub html_ftpin { &arg('ftpin'); } +sub html_endftpin { &endarg('ftpin'); } +sub html_do_ftpin { +#print STDERR "ftpin($_[0])\n"; + print HTML "<A href=\"ftp://$html_ftpsite$html_ftpdir$_[0]\"><code>"; + &recurse($_[0]); + print HTML "</code></A>"; +} + +sub html_text { + print HTML "\n<p>\n" if $html_needpara > 0; + $html_needpara=0; + $html_stuff= &html_sanitise($_[0]); + while ($html_stuff =~ s/^(.{40,70}) //) { + print HTML "$1\n"; + } + print HTML $html_stuff; +} + +sub html_tab { + $htmltabignore++ || warn "html tab ignored"; +} + +sub html_newline { print HTML "<br>\n" ; } +sub html_startverbatim { print HTML "<pre>\n" ; } +sub html_verbatim { print HTML &html_sanitise($_[0]),"\n"; } +sub html_endverbatim { print HTML "</pre>\n" ; $html_needpara= -1; } + +sub html_endpara { + $html_needpara || $html_needpara++; +} + +sub html_finish { + &html_close; +} + +sub html_startindex { + print HTML "<ul>\n"; +} + +sub html_endindex { + print HTML "</ul><hr>\n"; +} + +sub html_startindexitem { + local ($ref,$qval) = @_; + $qval =~ m/Q(\d+)\.(\d+)/; + local ($s,$n) = ($1,$2); + print HTML "<li><a href=\""; + print HTML ($s == $html_sectionn)?'':"section$s.html"; + print HTML "#$qn2ref{$s,$n}\" rel=subdocument>Q$s.$n. "; + $html_indexunhead=''; +} + +sub html_startindexmainitem { + local ($ref,$s) = @_; + $s =~ m/\d+/; $s= $&; + print HTML "<br><br>" if ($s > 1); + print HTML "<li><b><font size=\"+2\"><a href=\"section$s.html\" rel=subdocument>Section $s. "; + $html_indexunhead='</font></b>'; +} + +sub html_endindexitem { + print HTML "</a>$html_indexunhead\n"; +} + +sub html_startlist { + print HTML "\n"; + $html_itemend="<ul>"; +} + +sub html_endlist { + print HTML "$html_itemend\n</ul>\n"; + $html_needpara=-1 +} + +sub html_item { + print HTML "$html_itemend\n<li>"; + $html_itemend=""; + $html_needpara=-1; +} + +sub html_startpackedlist { + print HTML "\n"; + $html_itemend="<dir>"; +} + +sub html_endpackedlist { + print HTML "$html_itemend\n</dir>\n"; + $html_needpara=-1; +} + +sub html_packeditem { + print HTML "$html_itemend\n<li>"; + $html_itemend=""; + $html_needpara=-1; +} + +sub html_startindent { print HTML "<blockquote>\n"; } +sub html_endindent { print HTML "</blockquote>\n"; } + +sub html_pageref { + local ($ref,$sq) = @_; + $sq =~ m/(\d+)\.(\d+)/; + local ($s,$n) = ($1,$2); + print HTML "<A href=\""; + print HTML ($s == $html_sectionn)?'':"section$s.html"; + print HTML "#$qn2ref{$s,$n}\">Q$sq \`"; +} + +sub html_endpageref { + print HTML "'</A>"; +} + +sub html_sanitise { + local ($in) = @_; + local ($out); + while ($in =~ m/[<>&"]/) { + $out.= $`. '&'. $saniarray{$&}. ';'; + $in=$'; + } + $out.= $in; + $out; +} + +1;