From c5cdbaeaf84bbd68b4ba18979c796f4f0f0f7cd7 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 12 Jun 2023 17:48:30 +0200 Subject: [PATCH] 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 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 0000000000000000000000000000000000000000..600391cb54f16f5ea7c3d3d74fbe24e911c85110 GIT binary patch literal 1180 zcmeAS@N?(olHy`uVBq!ia0y~yU}OQZpK$;Q2C*4SUNbPTBzw9zhE&{od$&GgN~z3& zkNW(X9(ilzCtNroDfEIb+Td`4+1{1>l5LWKl1F|rU;CB&H`p*J%VWzcv44rBIZ^A_ zZe5s|`#1Tu#@jPXZkLubFU_^em~C%Y52E!IuIR5{_36Ec<@Q_q5B+~| z!2Y-W{PdnviNRZ|9!3CsHj1cc;ZZe&_aqcPaN$!MeyT`(JOY)=yLRxw^*s zU+m96a^cD%KQ8~&Y5BOjyn{!A_a?`}Xm^)$=huBW^K!%Oio)o(+-?feiH=K4e`G#h z6D|;EYE|DQ^K+p+_rp&;U#~rU`)WeCz^dLSTf^HwO8dNi-rsvz&uvDvf75j&yI zq67qs?rh9q!>X_4zwkq=yDzw#Ce(9SwuP+n`+IP0R`$93|Kp!GF)(o`G=PW-!Ng0J z9P#U}E6w4v3Eil($nnS9&fd?b>(4Z9NN;o&2&z8a!zFvDwK8$y@$O$af^2!&ldl{u z4vK1d@+PQVp~rOYuFs6JPK&#uN;JX^JRNh-z$NCF&nQupL6+Povu^--zgrO zv$nX-kP+FrsbXo_yJg?pV;U#C+ZnmMG{5KhwY8F$&i>sMb*H&t(F5nZR~K%)@u7Cr zOzWEa9n}KIPQ5OQQ98dSaQ@Bnyjwc61^%sAbAG3vgu$wu=Vdy5E=p6&U8`an3?BYZ zm~}Mhq0sG}?%}hSRaQ6Nd?3=I>b;di+N}G;#`3Qm>AmS+x>eQZ@~Lu{atJQoyj*=- z(SBX0>$8)UO3lB&5>n@^baX!QYl2PT8V6@zVZ7dTx(9Uueu%`l-PS4Ou>yh-K?NroQB# zwqlZu|J<}Zjq?IO)Ok7CtiQH4#lPg=#u8m*Q#xyBZDs3&S7auRPhyRr9DZWie#XQN W^S+k;tXK#tc067ET-G@yGywqC?E3Nm literal 0 HcmV?d00001 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] +)