From c5cdbaeaf84bbd68b4ba18979c796f4f0f0f7cd7 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 12 Jun 2023 17:48:30 +0200 Subject: Fix bug with extra table lines Fixes #183 --- library/src/layout/table.rs | 4 ++++ tests/ref/bugs/table-lines.png | Bin 0 -> 1180 bytes tests/typ/bugs/table-lines.typ | 10 ++++++++++ 3 files changed, 14 insertions(+) create mode 100644 tests/ref/bugs/table-lines.png create mode 100644 tests/typ/bugs/table-lines.typ diff --git a/library/src/layout/table.rs b/library/src/layout/table.rs index 3235c790..357263f4 100644 --- a/library/src/layout/table.rs +++ b/library/src/layout/table.rs @@ -175,6 +175,10 @@ impl Layout for TableElem { // Add lines and backgrounds. for (frame, rows) in layout.fragment.iter_mut().zip(&layout.rows) { + if layout.cols.is_empty() || rows.is_empty() { + continue; + } + // Render table lines. if let Some(stroke) = &stroke { let thickness = stroke.thickness; diff --git a/tests/ref/bugs/table-lines.png b/tests/ref/bugs/table-lines.png new file mode 100644 index 00000000..600391cb Binary files /dev/null and b/tests/ref/bugs/table-lines.png differ diff --git a/tests/typ/bugs/table-lines.typ b/tests/typ/bugs/table-lines.typ new file mode 100644 index 00000000..7e954012 --- /dev/null +++ b/tests/typ/bugs/table-lines.typ @@ -0,0 +1,10 @@ +// Ensure no empty lines before a table that doesn't fit into the first page. + +--- +#set page(height: 50pt) + +Hello +#table( + columns: 4, + [1], [2], [3], [4] +) -- cgit v1.2.3