3 # Copyright (C) 2000-2003 Simon Huggins
4 # reformats longer lengths after the substitutions have taken place
6 # This program is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by the Free
8 # Software Foundation; either version 2 of the License, or (at your option)
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 # You should have received a copy of the GNU General Public License along
17 # with this program; if not, write to the Free Software Foundation, Inc., 59
18 # Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 unless (eval "use Text::Balanced qw(gen_extract_tagged);1;") {
25 print STDERR "Text::Balanced not available, reformat plugin will not work\n";
34 # Remove whitespace at the end of lines but not newlines themselves.
35 # And don't remove the space if it comes directly after a -- which is
36 # anchored at the beginning of a line.
38 $text =~ s/(?<!^--)[ ]*$//mg;
40 # Remove any newlines from the very end of the string.
47 my ($ext,$end,$beg,$otag,$ctag,$stuff);
48 my $process = gen_extract_tagged('<(?:CENTER|RIGHT|LEFT)\d+>',
50 '(?s).*(?=<(?:CENTER|RIGHT|LEFT)\d+>)',
51 {reject => ['<(?:CENTER|RIGHT|LEFT)\d+>']} );
53 ($stuff, $end, $beg, $otag, $ext, $ctag) = &$process($text);
54 if (not defined $stuff) {
55 if ($text =~ /<(?:CENTER|RIGHT|LEFT)\d+>/) {
56 nicedie($@->{'error'});
62 $size =~ s/<(?:CENTER|RIGHT|LEFT)//;
66 $align =~ s/^.(.).*$/$1/;
68 my $c = chunksizealign($ext, $size, $align);
70 $stuff=quotemeta($stuff);
71 $text =~ s/$stuff/$c/;
76 my ($tag,$sig,$newsig);
77 open(SIG, "<$cfg{'tmpsigfile'}")
78 or htagdie "$0: Could not open $cfg{'tmpsigfile'}: $!\n";
84 $sig = reformat($sig);
85 $sig = remove_space($sig);
87 open(SIG, ">$cfg{'tmpsigfile'}")
89 "$0: Could not open $cfg{'tmpsigfile'}: $!\n";