summaryrefslogtreecommitdiffstats
path: root/doc/tools/texi2www/texi2dvi
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doc/tools/texi2www/texi2dvi218
1 files changed, 0 insertions, 218 deletions
diff --git a/doc/tools/texi2www/texi2dvi b/doc/tools/texi2www/texi2dvi
deleted file mode 100644
index 913904a921..0000000000
--- a/doc/tools/texi2www/texi2dvi
+++ /dev/null
@@ -1,218 +0,0 @@
-#!/usr/bin/perl
-#
-# $Id$
-#
-
-$version = <<END_VERSION;
-Jan 2 1996
-END_VERSION
-
-$copyright = <<END_COPYRIGHT;
-texi2dvi - converts texinfo to dvi
-Copyright (C) 1996 Tim Singletary
-
-This program is freely distributable under the terms of the GNU
-GENERAL PUBLIC LICENSE. In particular, modified versions of this
-program must retain this copyright notice and must remain freely
-distributable.
-END_COPYRIGHT
-
-$usage = <<END_USAGE;
-Usage: texi2dvi [option ...] texinfo_file ...
- -k (-nocleanup) -- don't ``rm -f'' the intermediate files.
- -v (-verbose) -- print additional output.
- -copyright -- print the copyright and die.
- -version -- print the version and die.
-Generates a .dvi file from each texinfo (.texi or .texinfo) file.
-Understands texi2www extensions (\@gif, etc.).
-END_USAGE
-
-unless ($tex = $ENV{TEX}) {$tex = tex;}
-unless ($texindex = $ENV{TEXINDEX}) {$texindex = texindex;}
-$texinputs = $ENV{TEXINPUTS};
-
-$cleanup = 1;
-while ($ARGV[0] =~ /^-/) {
- $_ = shift;
- if (/-k$/ || /-nocleanup/) {$cleanup = 0; next;}
- if (/-v$/ || /-verbose/) {$verbose = 1; next;}
- if (/-d$/ || /-vv$/ || /-debug/) {$verbose = 2; next;}
- if (/-copyright/) {die $copyright;}
- if (/-version/) {die $version;}
- die $usage;
-}
-
-$font_prefix = "xx";
-while (&prefix_in_use($font_prefix)) {
- ++$font_prefix;
- if (length($font_prefix) > 2) {
- $font_prefix = "aa";
- }
-}
-
-$unique_base = "_" . $$ . "a-";
-while (&prefix_in_use($unique_base)) {++$unique_base;}
-
-print "Generated files will begin with \`$unique_base\'\n" if $verbose;
-
-$arg_index = 'a';
-foreach $raw_texi (@ARGV) {
- $base = $unique_base . $arg_index;
- ++$arg_index;
-
- # $tawtexifile is a texinfo file; suffix must be either `.texi' or
- # `.texinfo'. If arg is in a different directory, adjust
- # TEXINPUTS environment variable to include that (and the current)
- # directory.
- unless ($raw_texi =~ /(.*).texi(nfo)?$/) {
- print "skipping $raw_texi -- has unknown extension!\n";
- next;
- }
- $raw_texi_base = $1;
- if ($raw_texi_base =~ m|^(.*)/([^/]*)$|) {
- $raw_texi_base = $2;
- $ENV{TEXINPUTS} = ".:$1:$texinputs";
- } else {
- $ENV{TEXINPUTS} = ".:$texinputs";
- }
-
- unless (-r $raw_texi) {
- print "skipping $raw_texi -- not readable or doesn't exist!\n";
- next;
- }
-
- # Preprocesses the $rawtexifile (because of @gif{} and other extensions)
- $processed_texi = "$base.texi";
- print "Preprocessing $raw_texi into $processed_texi:\n" if $verbose;
- &preprocess_texinfo($raw_texi,$processed_texi,$base);
-
- print "$tex $processed_texi\n" if $verbose;
- if (system("$tex $processed_texi") == 0) {
-
- # @possible_index_file = <$base.??>; only works for the
- # first value of $base ... so,
- opendir(DIR,".") || die "Couldn't read current directory -- $!\n";
- @possible_index_files = ();
- while ($_ = readdir(DIR)) {
- if (/^$base\...$/) {
- push(@possible_index_files,$_);
- }
- }
- closedir(DIR);
-
- @index_files = ();
- foreach $possible_index_file (@possible_index_files) {
- print "DEBUG: possible_index_file $possible_index_file\n"
- if ($verbose > 1);
- next unless (-s $possible_index_file);
- push(@index_files,$possible_index_file);
- }
-
- if (@index_files > 0) {
- $texindex_cmd = "$texindex " . join(' ',@index_files);
- print "$texindex_cmd\n" if $verbose;
- if (system($texindex_cmd) == 0) {
- print "$tex $processed_texi\n" if $verbose;
- system("$tex $processed_texi");
- }
- }
- }
-
- # At this point, $base.dvi should exist -- rename it
- # to $raw_texi_base.dvi
- if (-e "$base.dvi") {
- rename("$base.dvi","$raw_texi_base.dvi")
- || die "rename $base.dvi $raw_texi_base.dvi -- $!\n";
- }
-}
-if ($cleanup) {unlink(<$base*>);}
-
-sub preprocess_texinfo
-{
- local ($infile,$outfile,$b) = @_;
-
- open(IN,"<$infile") || die "Couldn't open $infile -- $!\n";
- open(OUT,">$outfile") || die "Couldn't open $outfile -- $!\n";
-
- $gif_index = 'a';
- while (<IN>) {
-
- # @gif{gif} or @gif{html_gif, tex_gif}
- if (/(.*)\@gif\{([^{]*)\}(.*)/) {
- $prefix = $1;
- $arg = $2;
- $suffix = $3;
- print OUT "$prefix\n" if $prefix;
-
- while (1) {
- $gif_base = $b . $gif_index;
- last unless (-e $gif_base . ".gif");
- ++$gif_index;
- }
-
- $gif_file = '';
- if ($arg =~ /.*,(..*\.gif)/) {
- $gif_file = $1;
- $font_base = $gif_file;
- } else {
- $font_base = $arg;
- $gif_file = $gif_base . ".gif";
- print "Scaling $arg into $gif_file:\n" if $verbose;
- $scale_cmd = "giftopnm $arg | pnmscale 2 | pnmnlfilt 2 1 "
- . "| ppmquant 255 | ppmtogif > $gif_file";
- print "$scale_cmd\n" if $verbose;
- if (system($scale_cmd) != 0) {
- print "$scale_cmd failed\n";
- $gif_file = '';
- }
- }
-
- if ($gif_file =~ /.*\.gif/) {
-
-
- $font_base =~ s|.*/||;
- $font_base =~ s|\..*||;
-
- # $font_base, due to bm2font requirements, can't be more
- # than six characters long and must consist entirely of
- # lower case letters.
- $font_base =~ s/[^a-z]//g;
- $font_base = $font_prefix . substr($font_base,0,5);
- while (&prefix_in_use($font_base)) {++$font_base;}
-
- $bm2font_cmd = "bm2font -f$font_base $gif_file";
- print "$bm2font_cmd\n" if $verbose;
- if (system($bm2font_cmd) != 0) {
- print "$bm2font_cmd failed\n";
- } else {
- print OUT "\@tex\n";
- print OUT "\\input $font_base.tex\n";
- print OUT "\\set$font_base\n";
- print OUT "\@end tex\n";
- }
- }
-
- print OUT "$suffix \n" if $suffix;
- } else {
- print OUT "$_";
- }
- }
- close OUT;
- close IN;
-}
-
-sub prefix_in_use
-{
- local ($p) = @_;
-
- # Returns true or false; returns true if any file in the current
- # directory begins with $p. This function is here because
- # `<$p*>' only works for the first value of $p!
-
- opendir(DIR,".") || die "Couldn't read current directory -- $!\n";
- while ($_ = readdir(DIR)) {
- last if /^$p/;
- }
- closedir(DIR);
- $rc = /^$p/;
-}