From: Sven Schöling Date: Thu, 25 Feb 2016 17:03:12 +0000 (+0100) Subject: PDF::Table: Proportional skalieren statt adaptiv X-Git-Tag: release-3.5.4~75^2~8 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=d11ebeaadf1c5d2d76b7bf5c93cba8a27f923290;p=kivitendo-erp.git PDF::Table: Proportional skalieren statt adaptiv --- diff --git a/modules/override/PDF/Table.pm b/modules/override/PDF/Table.pm index 0dc7e7d36..f6aa94796 100755 --- a/modules/override/PDF/Table.pm +++ b/modules/override/PDF/Table.pm @@ -939,32 +939,11 @@ sub CalcColumnWidths $calc_widths->[$j] = $col_props->[$j]->{min_w} || 0;; } - # Allow columns to expand to max_w before applying extra space equally. - my $is_last_iter; - for (;;) - { - my $span = ($avail_width - $min_width) / scalar( @$col_props); - last if $span <= 0; - - $min_width = 0; - my $next_will_be_last_iter = 1; - for(my $j = 0; $j < scalar(@$col_props); $j++ ) - { - my $new_w = $calc_widths->[$j] + $span; - - if (!$is_last_iter && $new_w > $col_props->[$j]->{max_w}) - { - $new_w = $col_props->[$j]->{max_w} - } - if ($calc_widths->[$j] != $new_w ) - { - $calc_widths->[$j] = $new_w; - $next_will_be_last_iter = 0; - } - $min_width += $new_w; - } - last if $is_last_iter; - $is_last_iter = $next_will_be_last_iter; + my $span = 0; + # Calculate how much can be added to every column to fit the available width + $span = ($avail_width - $min_width) / scalar( @$col_props); + for (my $j = 0; $j < scalar(@$col_props); $j++ ) { + $calc_widths->[$j] = $col_props->[$j]->{min_w} + $span; } return ($calc_widths,$avail_width);