Skip to content

머리말/꼬리말 페이지 레이아웃 계산 오류 수정 요청 드립니다! #7441

Description

@shimverz-app

요약

글 뒤로(BehindText), 용지 기준(vertRelTo=Paper)인 표가 꼬리말 위에 전체가 들어가는데도 행 단위로 잘려 다음 페이지로 넘어갑니다.

재현

5행×2열 표. pageBreak=RowBreak(2), treatAsChar=false, textWrap=BehindText, vertRelTo=Paper, vertAlign=Top, restrictInPage=true.
용지 y≈728px, 표 높이≈262px, 끝≈990px. 같은 페이지 꼬리말 시작은 y≈1009px.
앞 3행(약 144px)만 앵커 페이지에 남고, 4–5행이 다음 페이지 상단으로 갑니다. 한컴에서는 다섯 행이 한 페이지에 있습니다.

원인

src/renderer/typeset.rs #4568 오버레이 분할:
anchor_y = current_height + vertical_offset
room = base_available_height() - anchor_y
vertical_offset은 용지 맨 위 기준인데, base_available_height()는 머릿말·꼬리말을 뺀 본문 높이입니다. 용지 y를 본문 높이에서 그대로 빼서, 표가 칸 바닥을 넘는다고 판단합니다.
예: 페이지 100, 머릿말·꼬리말 각 10이면 본문 높이는 80, 본문 범위는 10–90입니다. 표 시작 70, 높이 15면 끝은 85로 꼬리말(90) 위입니다. 현재 식은 남는 높이를 80-70=10으로 보아 15가 넘친다고 자릅니다.

수정

vertRelTo가 Paper 또는 Page이면 anchor_y를 paperY - body_area.y로 본문 칸 좌표에 맞춥니다. paperY + tableHeight가 꼬리말 시작보다 작으면 분할하지 않습니다. 꼬리말을 실제로 넘는 표만 기존처럼 행 단위로 넘기면 됩니다.

기대 결과

Image

실제 결과

Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinglayout문서 레이아웃/페이지네이션: 표·그림 배치, float/anchor, 줄·행 높이, 겹침·클리핑renderingSVG/Canvas/PDF 등 렌더 출력과 시각 표시: 그리기, 표시 누락, bbox, paint 정합성tabletable rendering and edit

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions