Conversation
…empty paragraph Several objects placed top and bottom from the top of a paragraph holding nothing else were refused as "an object with text or other objects in its paragraph". Hancom places them one by one on the first page, from the paragraph's on, where they fit below the earlier ones they overlap across (on the paragraph's page at their offset or below them, whichever is lower); one fitting on no page starts at the top of the page after the last one used, a table taller than a page split over the pages after (between lines when it splits by cell, row by row otherwise). The paragraph's line and the lines after take the first places clear of them. _stack measures each object (_Stacked: offset, span across the column, height with outer margins, a table's rows) and _Paginator._stacked places them, adding them to the frame's bands so that _lay keeps every line clear of them. The paginator keeps its own copy of the bands it is given. Columns, and a first object not fitting on the paragraph's page, are still refused. Eighteen Hancom-saved documents: tables and pictures one below another, offset down, side by side, with outer margins, past the page's foot, a middle table going on to the next page while a later one fits on the first, tables taller than a page by cell and by row, and four tables over four pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…flows from there The first of the objects stacked in an empty paragraph, fitting on no page below the paragraph's top, was refused. Hancom starts it where it stands and splits it at the page's foot as a flowing table (between lines when it splits by cell, row by row otherwise); the later ones follow on the pages it goes on to, which it fills, and the paragraph's line goes to the first place clear of them, on the next page's top when its own page has no room left. _Paginator._stacked now places the line itself (_lay would keep it on a fresh page even when the objects leave it no room), and _stack_spot finds an object's page. A picture or drawing past the page's foot is still refused. Four more Hancom-saved documents: the paragraph low on its page with two tables split by cell or by row, a small second table, and a first table taller than a page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The refusals for objects stacked in an empty paragraph now name the case: in columns, beside notes or a table's band, or on a page holding other objects. A flowing table reaching such objects on a page is no longer reported as reaching an object placed on the paper. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…f the earlier ones Objects stacked in an empty paragraph on a page holding an earlier such paragraph's objects were refused. Hancom places them, and the paragraph's line, clear of those too: each goes to the first page where it fits below the objects there it overlaps across, the earlier paragraphs' included, and the pages holding such objects count as used. A table going on over a page end still goes on at the next page's top, across whatever is there. The paginator now keeps each stacked object's span (_Paginator.stacked) to place the next ones by. Four more Hancom-saved documents: two such paragraphs one after the other (one over four pages, as in a form), and such a paragraph followed by a flowing table and by text going on over two pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
커밋
|
…jects-stacked-in-a-paragraph # Conflicts: # src/hwpx/layout/pages.py
Owner
Author
…t page A line moved below an object's band on a fresh page took that page however tall it was, as a line at a page's top does, and overflowed it. Hancom skips the page instead: only a line at the top takes a page it is taller than. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
커밋
한/글 저장본 넷을 더했고, 그 가운데 둘은 이 고침이 없으면 실패합니다. 본문과 변경 로그를 고쳤습니다. 전체 테스트와 게이트를 다시 통과했습니다. |
This branch has not been deployed
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.
바뀐 점
쪽 수 추정(실험,
estimate_pages)이 빈 문단에 문단 위 기준으로 둔 위아래 개체 여럿(표·그림)을 따른다.an object with text or other objects in its paragraph)이었다._stack이 개체마다_Stacked를 만든다. 띄움, 단 안의 가로 자리, 바깥 여백을 넣은 높이(표는 행으로 잰 높이), 표의 행을 담는다._Paginator._stacked가 개체를 쪽에 놓고(_stack_spot) 그 쪽의 띠(bands)에 넣는다. 그래서 뒤 줄은_lay의_band_hit가 개체 밖으로 옮긴다. 쪽보다 긴 표는_flow_table로 나눈다._Paginator.stacked), 뒤 문단의 개체를 놓을 때 쓴다._lay_section이 종이 개체의 띠가 안정됐는지 견주는 사전을 건드리지 않기 위해서다._stacked가 직접 놓는다._lay는 새 쪽에서는 넘치는 줄도 그 쪽에 두는데, 개체가 자리를 다 쓴 쪽이면 한/글은 줄을 다음 쪽으로 보낸다._lay도 띠 아래로 옮긴 줄이 들어가지 않으면 새 쪽이라도 다음 쪽으로 보낸다(below). 쪽보다 높아도 그 쪽에 두는 것은 쪽 맨 위 줄뿐이다.테스트
tests/test_layout_page_estimate.py에 한/글 저장본 서른을 더한다(STACKED_PAGES). 모두 빈 문단에 문단 위 기준으로 둔 위아래 개체다.HANCOM_PAGES가 아니라 따로 된 테스트로 둔다.below없이도 실패한다.🤖 Generated with Claude Code