문제
KTX.hwp 2페이지 목차에서 소제목 페이지 번호가 ~9.33px 밀려 우측 정렬이 어긋남.
- 장제목 (Ⅰ, Ⅱ, Ⅲ): 페이지 번호 올바르게 우측 정렬 ✅
- 소제목 (1., 2., 3.): 페이지 번호 ~9.33px 왼쪽으로 밀림 ❌
재현 파일: KTX.hwp 2페이지 (셀[10] 내 목차)
원인
right tab 처리 경로가 3개로 분리되어 공백 처리 방식이 불일치:
| 경로 |
코드 위치 |
해당 케이스 |
| 1 |
compute_char_positions — seg_w |
탭이 run 중간 (소제목) |
| 2 |
pending_right_tab_est + estimate_text_width |
탭이 run 끝, 추정 패스 (장제목) |
| 3 |
pending_right_tab_render + estimate_text_width |
탭이 run 끝, 렌더 패스 (장제목) |
장제목은 경로 2/3, 소제목은 경로 1을 타므로 탭 후 선행 공백 처리가 달라 9.33px 불일치 발생.
이전 시도 (실패)
- 방안 A (
measure_segment_from 공백 제거): 경로 1만 개선, 경로 2/3 미적용
- 방안 B (
trimmed_seg_w 별도 계산): 경로 1만 적용, 경로 2/3 악화
- available_width 통일: 기존 문서 전체 정렬 변동 → revert
수정 방향 (방안 C)
3경로 모두에서 동일한 공백 처리 규칙 적용하여 결과를 통일.
visual diff (KTX.hwp pixelmatch + mutool stext)로 regression 검증.
참고
- 계획서:
mydocs/eng/plans/task_right_tab_align.md
- visual diff 파이프라인:
hwpx/visual-diff/
문제
KTX.hwp 2페이지 목차에서 소제목 페이지 번호가 ~9.33px 밀려 우측 정렬이 어긋남.
재현 파일:
KTX.hwp2페이지 (셀[10] 내 목차)원인
right tab 처리 경로가 3개로 분리되어 공백 처리 방식이 불일치:
compute_char_positions—seg_wpending_right_tab_est+estimate_text_widthpending_right_tab_render+estimate_text_width장제목은 경로 2/3, 소제목은 경로 1을 타므로 탭 후 선행 공백 처리가 달라 9.33px 불일치 발생.
이전 시도 (실패)
measure_segment_from공백 제거): 경로 1만 개선, 경로 2/3 미적용trimmed_seg_w별도 계산): 경로 1만 적용, 경로 2/3 악화수정 방향 (방안 C)
3경로 모두에서 동일한 공백 처리 규칙 적용하여 결과를 통일.
visual diff (KTX.hwp pixelmatch + mutool stext)로 regression 검증.
참고
mydocs/eng/plans/task_right_tab_align.mdhwpx/visual-diff/