vivliostyle / vivliostyle.js

📖 The power of CSS typesetting, right at your fingertips.
https://vivliostyle.org
GNU Affero General Public License v3.0
606 stars 53 forks source link

breakable table cell + footnote stops vivliostyle.js #406

Open kmuto opened 6 years ago

kmuto commented 6 years ago

When long table cell crosses over pages and footnote exists on next page, vivliostyle.js (master, 4c2a3d83e92ea5bd1c18c457ac79b3c191685230) hangs up.

test.html

<html>
<head>
  <link rel="stylesheet" type="text/css" href="test-table.css"/>
</head>
<body>
<table>
<tr><td>
1<br/>
2<br/>
3<br/>
4<br/>
5<br/>
6<br/>
7<br/>
8<br/>
9<br/>
10<br/>
11<br/>
12<br/>
13<br/>
14<br/>
15<br/>
16<br/>
</td></tr>
</table>

<p>paragraph<span class="footnote" id="fn1">FOOTNOTE-TEXT</span></p>

</body>
</html>

test-table.css

@page {
  writing-mode: horizontal-tb;
  size: 148mm 210mm;
}

body {
  counter-reset: footnote 0;
}

table {
  border-collapse: collapse;
  border: solid 1px;
  font-size: 30pt;
}

th {
  border: solid 1px;
  background-color: rgb(192,192,192);
}

td {
  border: solid 1px;
}

span.footnote {
  float: footnote;
  counter-increment: footnote;
  font-size: 6pt;
}

.footnote::footnote-call {
  content: "*" counter(footnote,decimal) ")";
  font-size: 4.5pt;
  vertical-align: super;
  position: relative;
}

.footnote::footnote-marker {
  content: "*" counter(footnote,decimal) ") ";
  font-size: 6pt;
}
kwkbtr commented 6 years ago

Thank you for reporting the issue. I confirmed the bug and found out the cause. We will do our best to deliver the fix as soon as possible.

kmuto commented 6 years ago

It seems be fixed in VersaType 2018.5.