Repository navigation
Layout engine: multi-column layout, footnotes and endnotes - #845
Merged
Merged
Conversation
The page composer fills a section's newspaper columns at their gap, with a separator line where the section has one: a column, the next, then the next page. A column break starts the next column, and 한글's stored lines that started a column start one. Columns changing on a page (한글 다단 설정 나누기, Word's continuous section break) balance the columns before, the first ones taking the odd line as 한글 does; section ends are left as they are, as in 한글 and Word. Note references show their number raised, in the section's note format (한글 각주/미주 모양, now read from footNotePr/endNotePr), with 한글's own numbers. Footnotes stack at the foot of the page as 한글 sets them: each as high as its text without the spacing below its last line, the section's space between them and around the separator line (5 cm, 2 cm, a third of the column, the column, or a length); a line whose footnotes don't fit moves on with them. Endnotes start a page after the body, or follow the text where the section says so. Stored line starts move past note numbers and field text the model doesn't count, so paragraphs with fields keep 한글's lines too. Measured against 한글's own PDFs: hwplib's 각주미주 sample and hwpxlib's three-column sample have every line as 한글's, on 한글's pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Project 4 item Layout engine: multi-column layout, footnotes and endnotes, on top of the tables item (#842).
Columns
Footnotes and endnotes
hp:footNotePr/hp:endNotePr: the number type and the characters around it. 한글's stored note numbers are used; for other sources the notes are counted on through the document.beneathText).Measured against 한글 (PDFs exported by 한글 automation)
<I>,<II>under a full-width line at 한글's place; endnote on page 2 at 한글's baseline; footnotes within 0.8 ptThe render matrix's
columnsfeature now matches rhwp line for line. Fornotes, Filee follows 한글: the endnote goes on page 2 and the numbers use the section format. rhwp differs here, so that compare is allow-listed with the reason, and the feature expects 한글's 2 pages.Not yet (documented in docs/ENGINES.md)
sameSz="0") share the width equally.Tests
PageComposerTests: columns fill and flow; column break; separator; balance when columns change; footnotes at the page foot with 한글's spacing; a line pushed with its note; numbering and endnotes on a new page; section note formats and endnotes beneath the text.dotnet format.🤖 Generated with Claude Code