Repository navigation
fix(layout): measure a label without a shape of its own in the paragraph end's - #473
Conversation
airmang
left a comment
There was a problem hiding this comment.
32aa36f 검토 완료. 문단 끝 run의 글자 모양 선택, 스타일 캐시 키와 첫 줄 높이 반영를 확인했습니다. 별도 Python 3.12 체크아웃에서 관련 테스트 13개가 통과했고 검토 범위에서 재현된 코드 결함은 찾지 못했습니다. 해당 head의 GitHub 검사 13개는 모두 성공했습니다. 다만 #470/#471 병합 뒤 최신 main dae1ee2c60014e3ed6d1c290bc79e7d64d73a710과의 병합 충돌이 있어 이번에는 보류합니다. git merge-tree와 GitHub의 CONFLICTING 상태로 확인했으며, 충돌 파일은 CHANGELOG.md입니다. main을 merge해 양쪽 변경을 보존하고 충돌을 해결한 최신 head에서 검사를 통과하면 다시 검토하겠습니다.
…aph end's A bullet or number label without a character shape of its own (hh:paraHead@charPrIDRef unset) takes the character shape of the paragraph's end, its last run, as Hancom Office lays it out: its room comes from that size, and that size counts in the first line's height. Before, the estimate took the shape of the paragraph's first character, so outline and numbered paragraphs mixing sizes broke their lines and set their first lines' height otherwise than Hancom. Hancom-saved fixtures hold outline paragraphs of several levels whose runs differ in size, some ending in an empty run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
32aa36f to
9765613
Compare
airmang
left a comment
There was a problem hiding this comment.
9765613 검토 완료. 문단 끝의 글자 모양을 라벨 측정과 첫 줄 높이에 사용하는 경로 및 캐시 키를 다시 확인했습니다. 이전 검토와 range-diff상 기능 변경 없이 main/변경 기록 위치가 갱신됐습니다. 해당 최신 head의 CI 전체 성공과 실제 Python 3.12 로그(6764 passed, 18 skipped, 1 xfailed; coverage 기준 및 Ruff·mypy·Pyright·공개 저장소 게이트 통과)를 확인했습니다. 검토 범위에서 재현된 코드 결함은 찾지 못했습니다. 다만 #475/#468/#472 병합 후 최신 main 0193c010218cb5c0abeed891be2aab4ec9de2f80과 CHANGELOG.md 내용 충돌이 발생함을 git merge-tree로 확인해 병합을 보류합니다. main의 변경 기록을 함께 보존하여 충돌을 해결한 뒤 새 head의 검사와 통합 결과를 다시 검증해야 합니다.
airmang
left a comment
There was a problem hiding this comment.
문단 마지막 run의 글자 모양으로 라벨 폭과 첫 줄 높이를 재는 경로 및 캐시 키를 검토했습니다. 충돌은 양쪽 기록과 테스트를 보존해 해결했고, 재배치 전후 함수·데코레이터·데이터의 의미가 같음을 대조했습니다. Python 3.10–3.14 전체 CI, CodeQL, 의존성 검사가 모두 성공했습니다. 같은 커밋의 중복 PR 테스트 실행은 취소하고 push 매트릭스 성공을 확인했습니다. 최종 통합본의 관련 테스트 1,692개도 통과했습니다. 검토한 head를 지정하여 squash 병합합니다.
What
A bullet or number label without a character shape of its own (
hh:paraHead@charPrIDRefunset) now takes the character shape of the paragraph's end (its last run), as Hancom Office lays it out:Before, the estimate took the shape of the paragraph's first character. So outline and numbered paragraphs that mix sizes (the template's outline paragraphs, say) broke their lines and set their first lines' height otherwise than Hancom.
text_style_from_refstakes the paragraph end's character shape as an optionalend_char_pr_id_ref; FormFit callers that do not pass it keep the text's shape.Tests
test_a_label_without_a_shape_of_its_own_takes_the_paragraph_endschecks the label's room in the text's and the end's shape.🤖 Generated with Claude Code