fix: right tab 선행 공백 처리 — 경로 1/2/3 통일 (Issue #267)#273
Merged
edwardkim merged 10 commits intoedwardkim:develfrom Apr 24, 2026
Merged
fix: right tab 선행 공백 처리 — 경로 1/2/3 통일 (Issue #267)#273edwardkim merged 10 commits intoedwardkim:develfrom
edwardkim merged 10 commits intoedwardkim:develfrom
Conversation
added 9 commits
April 24, 2026 08:39
수정 대상 5개 위치 확정:
- text_measurement.rs: EmbeddedTextMeasurer L324/L345, WasmTextMeasurer L656
- paragraph_layout.rs: pending_right_tab_est L809, pending_right_tab_render L1177
- 추가: eprintln!("[DEBUG_TAB_POS]") L347-348 제거 대상 확인
Stage 2-4 상세 수정 방안: - text_measurement.rs: seg_start 헬퍼 패턴 (3곳) + eprintln 제거 - paragraph_layout.rs: match arm 분리 + trim_start (2곳) - 검증: cargo test / clippy / KTX visual diff
3경로 모두 right tab 직후 선행 공백을 무시하고 실질 텍스트 폭으로 tab_pos 정렬: 경로 1 (compute_char_positions): seg_start 인덱스에서 공백 skip 후 measure_segment_from 호출 - EmbeddedTextMeasurer inline_tabs L324 - EmbeddedTextMeasurer tab_stops L345 (+ eprintln![DEBUG_TAB_POS] 제거) - WasmTextMeasurer tab_stops L656 경로 2 (pending_right_tab_est): right tab match arm에서 run.text.trim_start() 전달 경로 3 (pending_right_tab_render): right tab match arm에서 run.text.trim_start() 전달 center tab은 현행 동작 유지.
KTX.hwp 2페이지(목차) golden 추가: - samples/KTX.hwp 추가 - tests/svg_snapshot.rs: issue_267_ktx_toc_page 테스트 추가 - tests/golden_svg/issue-267/ktx-toc-page.svg: golden 생성
- README: devel 섹션 추가 (edwardkim#157/edwardkim#267/edwardkim#256 PR 반영) - plans/ → plans/archives/: task_m100_267{,_impl}.md 이동
# Conflicts: # mydocs/orders/20260424.md
edwardkim
approved these changes
Apr 24, 2026
Owner
edwardkim
left a comment
There was a problem hiding this comment.
리베이스 + devel 병합 후 재승인 — orders 문서 충돌만 메인테이너가 해결.
edwardkim
added a commit
that referenced
this pull request
Apr 24, 2026
edwardkim
added a commit
that referenced
this pull request
Apr 24, 2026
- 작성자: @seanshin (Task #267, PR #273) - Merge commit: 0aed531 (admin merge, orders 문서 충돌 직접 해결) - 이슈 #267 closed 처리 절차: - PR 브랜치에 origin/devel 머지 → orders 문서 충돌 해결 - seanshin/feature/task267에 push (maintainerCanModify 허용) - 재승인 + admin merge 검증: cargo test --lib 964 passed, clippy clean, svg_snapshot 5 passed 별도 관찰: KTX.hwp 2단 구성 TAC 표 위치 회귀 (본 PR 무관, 후속 핀셋 처리 예정) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
edwardkim
added a commit
that referenced
this pull request
Apr 24, 2026
…r 복구 (closes #275) - 작성자: @planet6897 (Task #275, PR #278) - Merge commit: 2a27b36 (admin merge, orders 문서 충돌 직접 해결) - 이슈 #275 closed - 커뮤니티 리뷰: @seanshin APPROVED 처리 절차: - PR 브랜치에 origin/devel 머지 → orders 문서 충돌 해결 (Task #275 섹션 "## 5" 재배치) - planet6897/local/task275에 push (maintainerCanModify 허용) - 재승인 + admin merge 검증: - cargo test --lib svg_fragment: 19 passed / 0 failed - cargo test --lib: 983 passed / 0 failed / 1 ignored (+19 신규 svg_fragment) - cargo clippy + wasm32 check: clean - svg_snapshot: 6 passed 파급 효과: WASM canvas 에서 OLE 네이티브 이미지/EMF/OOXML 차트/Placeholder 모두 복구 ===== 오늘 처리 5개 PR 완료 ===== #284 (#280) @planet6897 - 수식 폰트 스택 #285 (#283) @planet6897 - 수식 파렌 글리프 #266 (#157/#103) @seanshin - 비-TAC 표 out-of-flow #273 (#267) @seanshin - right tab 공백 처리 #277 (#147) @seanshin - MEMO 바탕쪽 오분류 #278 (#275) @planet6897 - WASM OLE RawSvg/Placeholder 별도 추적: 이슈 #291 (KTX.hwp 2단 TAC 표 회귀, 핀셋 처리 예정) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
edwardkim
added a commit
that referenced
this pull request
Apr 24, 2026
#297) - 작성자: @planet6897 (Task #297, PR #300, 오늘 6번째 기여) - Merge commit: 0e3fb02 (admin merge, orders 3구간 충돌 직접 해결) - 이슈 #297 CLOSED 처리 절차: - PR 브랜치에 origin/devel 머지 → orders 섹션 3구간 해결 (#295 "## 7", #296 "## 8", #297 "## 9") - planet6897/task297 에 push - 재승인 + admin merge 변경 (1파일): - src/renderer/layout/table_layout.rs +5 -2: - VertRelTo::Page => (col_area.y, col_area.height) [쪽 본문 영역] - VertRelTo::Paper => (0, page_h_approx) [용지 전체, 유지] - HWP 스펙 Page=쪽 본문, Paper=용지 전체 반영 성과: - pi=22 "* 확인 사항" 박스 y: 1371.5 → 1224.07 (PDF 1226.5 ±2 일치) - 145 샘플 중 본문 Page 표 13건 + 바탕쪽 5건 회귀 스캔 완료 (의도 범위 외 무회귀) 검증: - cargo test --lib: 992 passed - svg_snapshot: 6 passed (golden 유지) - 실제 SVG y 좌표 확인: 1224.07px (PDF 일치) #295 → #297 연결 모범 사례: PR #298 리뷰 중 사전 존재 버그로 분리 → 1시간 만에 PR #300 해결. 초기 가설(바탕쪽 Paper) 폐기 → pdftotext 실측으로 근본 원인(enum 미구분) 발견 → 1줄 수정. ===== 오늘 9번째 PR 머지 ===== #284 #285 #266 #273 #277 #278 #289 #292 #298 #300 + 메인테이너 핀셋 #296 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
seanshin
pushed a commit
to seanshin/rhwp
that referenced
this pull request
Apr 26, 2026
- 최근 변경: v0.7.3 → v0.7.6 (2026-04-26) 교체 - PR edwardkim#266 (Task edwardkim#157), edwardkim#273 (Task edwardkim#267), edwardkim#282 (Task edwardkim#279) by @seanshin - PR edwardkim#256, edwardkim#327, edwardkim#341, edwardkim#343 by @planet6897 - PR edwardkim#334, edwardkim#335 by @oksure, PR edwardkim#339 by @postmelee - devel 섹션: 머지된 항목 제거, 현재 분석 중(edwardkim#362/edwardkim#345) + 계획 중(edwardkim#150/edwardkim#253) 반영 - 테스트 수: 891+ → 1000+ - README_EN.md 동일 내용 영문 반영
edwardkim
added a commit
that referenced
this pull request
Apr 30, 2026
mydocs/feedback/: - manual_currency_audit.md (매뉴얼 현행화 감사 결정 요청 — 2026-04-23) - open_issues_priority.md (열린 이슈 37건 우선순위 — 2026-04-22) - pr165_merge_decisions.md (PR #165 Skia + Layered Renderer 머지 충돌 결정 — 2026-04-21) - self_censor_audit.md (외부 공개 문서 자기검열 감사 — 2026-04-22) mydocs/pr/: - archives/pr_256_review.md + review_impl.md (PR #256 검토 + 구현 계획) - pr_273_review.md (PR #273 Task #267 right tab 처리 검토) 이전 사이클 작성 후 미커밋 보관 — devel 머지 + push 진행 시 함께 커밋. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jangster77
pushed a commit
to jangster77/rhwp
that referenced
this pull request
Apr 30, 2026
mydocs/feedback/: - manual_currency_audit.md (매뉴얼 현행화 감사 결정 요청 — 2026-04-23) - open_issues_priority.md (열린 이슈 37건 우선순위 — 2026-04-22) - pr165_merge_decisions.md (PR edwardkim#165 Skia + Layered Renderer 머지 충돌 결정 — 2026-04-21) - self_censor_audit.md (외부 공개 문서 자기검열 감사 — 2026-04-22) mydocs/pr/: - archives/pr_256_review.md + review_impl.md (PR edwardkim#256 검토 + 구현 계획) - pr_273_review.md (PR edwardkim#273 Task edwardkim#267 right tab 처리 검토) 이전 사이클 작성 후 미커밋 보관 — devel 머지 + push 진행 시 함께 커밋. Co-Authored-By: Claude Opus 4.7 (1M context) <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.
Summary
Root Cause
right tab 정렬 코드가 3경로로 분산되어 있고 탭 직후 선행 공백 처리가 불일치:
text_measurement.rscompute_char_positionsparagraph_layout.rs:809pending_right_tab_estparagraph_layout.rs:1177pending_right_tab_render한컴 동작: right tab 직후 선행 공백을 무시하고 실질 텍스트의 우측 끝을 tab_pos에 맞춤.
Changes
text_measurement.rs— 경로 1 (3곳):eprintln![DEBUG_TAB_POS]제거)paragraph_layout.rs— 경로 2·3 (2곳):Test Results
cargo test: 963 passed, 0 failedcargo clippy --lib -- -D warnings: 0 warningsissue-267/ktx-toc-page.svg등록 (samples/KTX.hwppage 1)Closes #267