Skip to content

fix(form_fit): let closing punctuation start a line after a tab - #513

Merged
airmang merged 1 commit into
mainfrom
fix/form-fit-closing-punctuation-after-a-tab
Oct 18, 2026
Merged

airmang merged 1 commit into
mainfrom
fix/form-fit-closing-punctuation-after-a-tab

Conversation

@airmang

@airmang airmang commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

무엇

닫는 문장 부호() . ! ? % 」 등)는 바로 앞 글자와 함께 다음 줄로 내려가지만, 빈칸 뒤에서는 줄을 시작할 수 있다(#499).
한/글은 탭 뒤에서도 같다: 줄이 그 자리에서 나뉘면 탭은 앞 줄에 남고 부호가 다음 줄을 시작한다.
FormFit은 탭 뒤의 부호도 앞 글자에 붙은 것으로 보아 탭까지 다음 줄로 보냈다(줄 위치가 한 탭만큼 어긋남).

  • hancom_line_starts의 줄 시작 후보: 앞 글자가 빈칸이거나 탭이면 닫는 부호에서도 줄을 시작할 수 있다.

(실험) 줄 배치 정보 쓰기도 이 줄 나눔을 쓰므로, 고치기 전에는 그런 문단에 한/글과 다른 줄 시작을 쓸 수 있었다(한/글이 그대로 믿어 글자가 눌릴 수 있음).

시험

  • test_closing_punctuation_may_start_a_line_after_a_tab: 탭 뒤 )는 다음 줄을 시작, 빈칸 뒤는 전처럼, 글자 뒤는 전처럼 함께 내려감(첫 줄은 고치기 전 실패).
  • HANCOM_LAID_OUT에 한/글이 저장한 line_cache_tab_punctuation.hwpx(탭 1~4개 뒤 닫는 부호가 줄 끝에 걸리는 문단들) 추가.

🤖 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.

Reviewed exact head d0c968f.

Reviewed the tab exception in closing-punctuation break selection and its surrounding opening-punctuation/space/word guards. Existing character-attached closing marks retain their behavior. Direct tab/space/character comparisons and the saved-Hancom cache fixture exercise the new exception. All 203 local FormFit/cache tests pass. No unresolved code finding. All 13 current CI checks pass; verified workflow head SHA and read its test/lint/type/hygiene log (6,931 passed, 18 skipped, 1 xfailed; coverage 90.04%).

Merge held: after #506 and #512 merged, git merge-tree against current main 73d68a7 reproduces content conflicts in CHANGELOG.md and tests/test_layout_line_cache.py. Resolve preserving both PRs' changes and fixture coverage, then revalidate the updated head and combined tree. No conflicted integration-test pass is claimed. COMMENT because this account owns the PR.

Closing punctuation moves down with the character before it but may start
a line after a space. Hancom treats a tab as it does a space there: the
tab stays on its line and the mark starts the next one. FormFit moved
the tab down with the mark.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@airmang
airmang force-pushed the fix/form-fit-closing-punctuation-after-a-tab branch from d0c968f to 8854930 Compare October 18, 2026 00:07

@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.

Re-reviewed exact head 8854930. Range-diff confirms the same closing-punctuation-after-tab fix, preserving the existing space/character/opening-mark rules, with the #512 space-run fixture retained in the merged fixture list. No unresolved finding; prior conflict is resolved.

All 206 local FormFit/cache tests pass at this head. All 13 current CI checks pass; workflow head SHA verified and test/lint/type/hygiene logs inspected (6,934 passed, 18 skipped, 1 xfailed; coverage 90.04%). After #508 merged, scratch integration with main 7ffd44c was clean; all 1,673 FormFit/cache/page-estimate tests passed. Tested tree ac80c45b0703f527a2b9e8abd2008c9116157c39. Ready for expected-head-SHA squash merge. COMMENT because this account owns the PR.

@airmang
airmang merged commit 45b9541 into main Oct 18, 2026
13 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