-
Notifications
You must be signed in to change notification settings - Fork 359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Footnotes not supported #364
Comments
Hi @a-leithner, I think the page features are the strength of this project so I'd definitely like support for float bottom and footnotes. The bad news is that it will probably not be implemented in the near future, as I've still got to fix up the column support before moving onto other layout issues. |
Hi @danfickle This is such an amazing lib that's helping me a lot. Thanks! The only problem for me is: I can't figure out how to make footnotes. |
Test kindly provided by @a-leithner
Still struggling with correct counter-reset behavior.
Still needs loads of work but sample is rendering something.
Specifically, line boxes that meet with footnotes will now behave somewhat correctly.
I've opened pr #711. Comments welcome. |
Also box spliterator for descendants.
We are now using a normal layer rather than painting footnotes separately as that approach did not work when the footnote area went over multiple pages.
This is to deal with multi-page footnote areas, which are now mostly working. We now reserve entire pages when footnotes flow over multiple pages.
Plus: + Overhauled BlockBoxing while trying to fix issue. Now better performance and cleaner code. + Added benchmarks for BlockBoxing.
…tes. Also cleanup and documentation around styling code.
Table footer is overlapping footnote area.
Or even as the footnote element itself.
…eracting with footnotes. Minor fix to prevent anchor element being stripped from footnote calls which are floated.
With more work on correct boxing, so that images may now be used as footnote calls and footnote markers.
Since we wrap generated content correctly now, one can use a border on the generated content box (such as before or after) and get Chrome matching results, rather than a border on each item in the content property list. With test proof: + Test for pseudo elements with different display values. + Test for using an image as footnote-call. + Test for using an image as footnote-marker.
Tests non-paginated table content works inside footnote body as well as footnotes being called from inside an in-flow table. Also tests use of before and after pseudo elements in the footnote element.
Footnotes seem to cause problems with the destination of in-flow targets.
…ved. Problem was that when a pending box was added, then removed from a line, it link target was not being removed. Also some documentation and cleanup.
By processing them as non-footnote content.
Footnotes should be display: block, position: static, float: none and non-replaced. Treat invalid elements as normal content. With test proof.
Unsupported but does not cause infinite loop, OOM, etc.
So it picks up orphans and widows. Also proof for footnotes basic test.
Multi-page output is correct. Single page output produces footnotes in between content which is nonsensical but we are primarily a paged renderer.
Fixes #364 - Implement footnotes at bottom of page
The CSS Generated Content for Paged Media Level 3 Working Draft (May 2014) and also the Editor's Draft (March 2019) provide support for footnotes using the following HTML and CSS:
This should yield a result like this:
Source
However, the content of the footnote element will be displayed right behind the text it should augment, as if it was a normal span element (the
float: footnote;
property is being ignored).This makes it hard to use this library to create PDFs for (ex.) scientific papers (or most other documents where sources for citations are common to be placed in the footnotes section), which I would like to.
The text was updated successfully, but these errors were encountered: