fix(layout): keep rows with vertical text as declared and their tables whole - #382
Merged
Merged
Conversation
…s whole A cell of vertical text (hp:subList@textDirection) was laid out like horizontal text across the cell's width, its lines making the row taller. Hancom lays such lines down the cell's height side by side across it and cuts what does not fit: the row stays as declared. A flowing table holding such a cell does not split over a page end either; it moves to the next page whole, as one set not to split, its anchor's line and the text after it staying on the page before. 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.
바뀐 점
쪽 수 추정(실험,
estimate_pages)이 세로쓰기 칸(hp:subList@textDirection="VERTICAL")의 글을 가로 글처럼 칸 폭에서 나누어 행을 키우던 것을 고친다.pageBreak="NONE")처럼 통째로 다음 쪽 맨 위로 간다. 한 쪽보다 높아도 그 쪽 바닥을 넘어 그린다._vertical(cell): 세로쓰기 칸이면,_cell_row가 그 칸을 선언 높이의 한 덩어리로 센다._page_break(table): 그런 칸이 있는 표의 쪽 나눔을NONE으로 본다. 흐르는 표를 만드는 네 곳이 쓴다.테스트
tests/test_layout_page_estimate.py에 한/글 저장본 아홉을 더한다. 흐르는 표의 첫 열이 세로쓰기 칸이고, 10pt 글에 줄 간격 160%다.HANCOM_PAGES(캐시 있음·없음)test_a_table_holding_vertical_text_moves_to_the_next_page_whole🤖 Generated with Claude Code