Scale entry spacing as well as font size if we use --avoid-overfull.

This commit is contained in:
Dianne Skoll
2026-02-27 23:47:19 -05:00
parent 1c20f54edb
commit 9a724d7618
2 changed files with 8 additions and 2 deletions

View File

@@ -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;
}

View File

@@ -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);