Skip to content

feat(layout): write line caches for paragraphs whose runs differ in face - #496

Merged
airmang merged 1 commit into
mainfrom
feat/layout-line-caches-mixed-looks
Oct 17, 2026
Merged

airmang merged 1 commit into
mainfrom
feat/layout-line-caches-mixed-looks

Conversation

@airmang

@airmang airmang commented Oct 16, 2026

Copy link
Copy Markdown
Owner

Stacked on #495.

Summary

  • write_line_caches now also writes the cache of a paragraph whose runs differ in face, 장평 or 자간.
  • Each character breaks the lines at its own run's advance. This is how the page estimate lays such a paragraph out, and how Hancom Office does.
  • Such a paragraph's line breaks count as sure only when every character's advance comes from a glyph table for that character's own face.
  • A tab in such a paragraph still leaves the paragraph for Hancom.
  • A Hancom-saved fixture holds paragraphs of runs in several faces.
  • The module description is reorganized to cover the paragraphs each change has added.

Test plan

  • The new test fails before the change and passes after it
  • Lint, format, type checks and the other repository gates
  • Full test suite: no new failures

🤖 Generated with Claude Code

@airmang airmang left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

9de71f9099360120d7922798b68b6dfcd7c89b84에서 광고된 선행 브랜치 대비 diff와 서로 다른 글꼴·장평·자간의 글자별 폭/줄 높이 계산과 글리프 확인 경로를 검토했습니다. 별도 체크아웃의 줄 캐시 회귀 테스트 19개가 통과했고, 정확한 head의 모든 CI 검사 및 Python 3.12 로그(6866 passed, 18 skipped, 1 xfailed; coverage 기준, Ruff·mypy·Pyright·공개 게이트 통과)를 확인했습니다. 이 PR 고유 변경에서 추가로 재현한 결함은 없습니다. 다만 이 브랜치는 미병합 #491에 연쇄 의존하며, 그 PR의 캐시 작성 후 문단 위치 변경 결함이 여전히 재현되고 리뷰 스레드도 미해결입니다. 선행 #495에서도 다중 컨트롤 textpos 계산 결함이 확인됐습니다. 선행 문제가 수정·병합된 뒤 최신 base/head와 통합 결과를 재검증할 때까지 보류합니다.

@airmang
airmang force-pushed the feat/layout-line-caches-mixed-looks branch from 9de71f9 to d7f1639 Compare October 17, 2026 11:38
@airmang
airmang force-pushed the feat/layout-line-caches-section-controls branch 2 times, most recently from a5f4a30 to c7742f9 Compare October 17, 2026 11:39
write_line_caches now also writes the cache of a paragraph whose runs
differ in face, 장평 or 자간: each character breaks the lines at its own
run's advance, as the page estimate lays such a paragraph out and as
Hancom Office does. Its line breaks count as sure only when every
character's advance comes from a glyph table for its own run's face. A
tab in such a paragraph still leaves it for Hancom.

A Hancom-saved fixture holds paragraphs of runs in several faces.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@airmang
airmang force-pushed the feat/layout-line-caches-mixed-looks branch from d7f1639 to b4197c4 Compare October 17, 2026 11:40
@airmang
airmang changed the base branch from feat/layout-line-caches-section-controls to main October 17, 2026 11:40
@airmang
airmang merged commit a8fb966 into main Oct 17, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant