mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
colspec-fix.pl:
Script that takes the relative values in the colspec tags and converts them to absolute values.
This commit is contained in:
50
Docs/Support/colspec-fix.pl
Executable file
50
Docs/Support/colspec-fix.pl
Executable file
@ -0,0 +1,50 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
#
|
||||
# Script to rewrite colspecs from relative values to absolute values
|
||||
#
|
||||
|
||||
use strict;
|
||||
|
||||
my $table_width = 12.75; # cm
|
||||
my $gutter_width = 0.09; # cm
|
||||
|
||||
my $str = join '', <>;
|
||||
|
||||
$str =~ s{([\t ]*(<colspec colwidth=\".+?\" />\s*)+)}
|
||||
{&rel2abs($1)}ges;
|
||||
|
||||
print STDOUT $str;
|
||||
exit;
|
||||
|
||||
#
|
||||
# Definitions for helper sub-routines
|
||||
#
|
||||
|
||||
sub msg {
|
||||
print STDERR shift, "\n";
|
||||
}
|
||||
|
||||
sub rel2abs {
|
||||
my $str = shift;
|
||||
|
||||
my @widths = ();
|
||||
my $total = 0;
|
||||
my $output = '';
|
||||
|
||||
$str =~ /^(\s+)/;
|
||||
my $ws = $1;
|
||||
|
||||
while ($str =~ m/<colspec colwidth="(\d+)\*" \/>/g) {
|
||||
$total += $1;
|
||||
push @widths, $1;
|
||||
}
|
||||
|
||||
my $unit = ($table_width - ($#widths * $gutter_width)) / ($total);
|
||||
|
||||
foreach (@widths) {
|
||||
$output .= $ws . '<colspec colwidth="'. sprintf ("%0.2f", $_ * $unit) .'" />' . "\n";
|
||||
}
|
||||
|
||||
return $output . "\n$ws";
|
||||
}
|
Reference in New Issue
Block a user