From 9a724d76180a2b62c99fbdaa067958cc7e7056a5 Mon Sep 17 00:00:00 2001 From: Dianne Skoll Date: Fri, 27 Feb 2026 23:47:19 -0500 Subject: [PATCH] Scale entry spacing as well as font size if we use --avoid-overfull. --- rem2pdf/bin/rem2pdf.in | 3 +++ rem2pdf/lib/Remind/PDF.pm | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/rem2pdf/bin/rem2pdf.in b/rem2pdf/bin/rem2pdf.in index 3340183c..88b68510 100644 --- a/rem2pdf/bin/rem2pdf.in +++ b/rem2pdf/bin/rem2pdf.in @@ -56,6 +56,7 @@ my $settings = { entry_size => 8, border_size => 4, + entry_spacing => 4, line_thickness => 1, margin_top => 36, @@ -188,6 +189,8 @@ if ($version) { exit(0); } +$settings->{entry_spacing} = $settings->{border_size}; + if ($settings->{avoid_overfull_boxes}) { $settings->{fill_entire_page} = 1; } diff --git a/rem2pdf/lib/Remind/PDF.pm b/rem2pdf/lib/Remind/PDF.pm index 409b9102..1a196707 100644 --- a/rem2pdf/lib/Remind/PDF.pm +++ b/rem2pdf/lib/Remind/PDF.pm @@ -610,6 +610,7 @@ sub draw_row next if ($day < 1); if ($settings->{avoid_overfull_boxes}) { my $old_entry_size = $settings->{entry_size}; + my $old_spacing = $settings->{entry_spacing}; my $drawn = 0; while ($settings->{entry_size} >= 2.0) { my $h = $self->draw_day($cr, $settings, $so_far, $day, $col, 0); @@ -619,11 +620,13 @@ sub draw_row last; } $settings->{entry_size} -= 0.125; + $settings->{entry_spacing} = $old_spacing * $settings->{entry_size} / $old_entry_size; } if (!$drawn) { $self->draw_day($cr, $settings, $so_far, $day, $col, $height); } $settings->{entry_size} = $old_entry_size; + $settings->{entry_spacing} = $old_spacing; } else { $self->draw_day($cr, $settings, $so_far, $day, $col, $height); } @@ -735,8 +738,8 @@ sub draw_day next; } if ($done) { - $so_far += $settings->{border_size}; - $entry_height += $settings->{border_size}; + $so_far += $settings->{entry_spacing}; + $entry_height += $settings->{entry_spacing}; } $done = 1; my $h2 = $entry->render($self, $cr, $settings, $so_far, $day, $col, $height);