diff --git a/library/src/layout/table.rs b/library/src/layout/table.rs index 3235c790b..357263f49 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 000000000..600391cb5 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 000000000..7e9540121 --- /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] +)