Skip to content

task 1293: 공식 미주 모양 모델 정규화#1410

Merged
jangster77 merged 46 commits into
edwardkim:develfrom
jangster77:task_m100_1293
Jun 14, 2026
Merged

task 1293: 공식 미주 모양 모델 정규화#1410
jangster77 merged 46 commits into
edwardkim:develfrom
jangster77:task_m100_1293

Conversation

@jangster77

Copy link
Copy Markdown
Collaborator

이번 PR에서 완성한 것

  • FootnoteShape구분선 위, 구분선 아래, 미주 사이 의미를 공식 UI 기준 접근자와 주석으로 정리했습니다.
  • HWP5 HWPTAG_FOOTNOTE_SHAPE와 HWPX <hp:noteSpacing> 파서가 같은 정규화 의미를 제공하도록 검증을 보강했습니다.
  • 타입셋/렌더/height cursor의 미주 흐름 계산을 공식 설정값 기반으로 맞췄습니다.
  • no-separator, visible separator, default/large 미주 사이, 큰/기본 구분선 아래, rewind/title-tail, equation/TAC tail 흐름을 공통 계산식 기준으로 정리했습니다.
  • visual sweep에서 note shape, separator gap, question marker flow, line/large ink drift 지표를 보강했습니다.
  • 동일 HWP/PDF를 두 번 검사하던 2024-09-below20above20 중복 target을 제거했습니다.
  • rebase 후 clean sweep target 12개의 page count와 공식 미주 모양 profile 회귀 테스트를 추가했습니다.
  • issue_1082 sep20/20 가드는 Task #1274/#1284 후속: 공식 미주 모양 모델 정규화 #1293 최종 잔여 판단에 맞춰 40px 상한으로 조정했습니다.

추가 수정이 필요한 잔여물

이번 PR의 최종 sweep 잔여는 3개 key입니다. 공식 구분선 위, 구분선 아래, 미주 사이 계산식 자체의 직접 불일치로 판단한 후보는 없습니다.

target 최종 후보 후속 판단
2022-10 1/18 p14 question/tail 없음. 9px 수식/쉼표 bbox overlap 및 large ink coarse drift 후보입니다.
2024-09-below20-above20 3/23 p19/p20/p22 문28 본문/그림/수식 continuation 높이 차이의 tail/cascade 후보입니다.
2024-11-practice-above0-between20-below2 3/22 p17/p20/p21 문26/문28 본문 높이와 그림/수식 tail 잔여 후보입니다.

검증

  • cargo build --release
  • cargo test --release --lib
  • cargo test --profile release-test --tests
  • cargo fmt --check
  • PATH="$HOME/.cargo/bin:$PATH" wasm-pack build --target web --out-dir pkg
  • python3 scripts/task1274_visual_sweep.py --target all --out output/task1293_stage122_rebase_full_sweep
    • flagged=7/323
    • clean target 12개
    • 최종 잔여 key는 stage121/stage122/최종 보고서와 동일

산출물

  • 계획서: mydocs/plans/task_m100_1293.md
  • 구현 계획서: mydocs/plans/task_m100_1293_impl.md
  • 단계 문서: mydocs/working/task_m100_1293_stage1.md ~ mydocs/working/task_m100_1293_stage124.md
  • 최종 보고서: mydocs/report/task_m100_1293_report.md

Closes #1293

미주 모양 정규화 작업의 계획서, 단계별 분석 기록, sweep 판단, 프로젝트 메모리를 하나의 문서 커밋으로 정리한다.
공식 미주 모양 필드 정규화, render tree 진단, height cursor/typeset/layout의 미주 흐름 보정, 회귀 테스트를 하나의 구현 커밋으로 묶는다.
visible separator + 20mm betweenNotes에서 textless 수식 tail 뒤 delayed TAC head group의 저장 anchor gap을 렌더 위치에 반영했다.

p14 직접 TAC head와 no-separator 프로필은 제외해 기존 clean target 회귀를 막았다.

검증: cargo fmt --check; cargo build --bin rhwp; cargo test --test issue_1139_inline_picture_duplicate issue_1293_equation_control_is_not_always_treat_as_char -- --nocapture; scripts/task1274_visual_sweep.py targeted_v3
보이는 구분선과 큰 미주 사이 조합에서 마지막 단 하단의 큰 TAC 그림 뒤 한 줄 visible text tail만 다음 쪽으로 이월하도록 typeset fit 조건을 좁혀 추가했다.

Stage91 조사와 targeted sweep v3 결과를 작업 문서에 기록했다.
미주 사이 20mm 문서에서 마지막 단 문항 제목이 frame 안쪽에 남을 수 있는 경우를 분리해 새 쪽 advance를 억제한다.

검증: cargo fmt --check; cargo build --bin rhwp; targeted visual sweep stage109_targeted_v2; git diff --check
vpos rewind가 있는 큰 미주 사이 문항 제목이 마지막 단 frame 안에 들어가는 경우 fit/new advance에서 제외한다.

검증: cargo fmt; cargo fmt --check; cargo build --bin rhwp; targeted visual sweep stage110_targeted; git diff --check
stage110 이후 남은 p17/p20/p21 후보를 본문 높이와 tail 흐름 차이로 분리하고 미주 간격 추가 보정 대상에서 제외한다.

검증: git diff --check
stage109~111 이후 전체 visual sweep을 다시 실행해 14/346 잔여 후보와 다음 우선순위를 기록한다.

검증: task1274_visual_sweep --target all; git diff --check
2024-09 below20+above20 잔여 p19/p20/p22를 문28 본문 continuation 높이 차이와 후속 cascade로 분리한다.

검증: git diff --check
vpos rewind가 있는 첫 단 큰 separatorBelow 문항 제목은 large head group 판정보다 우선해 현재 단 하단에 남긴다.

검증: cargo fmt --check; cargo build --bin rhwp; targeted visual sweep stage114_targeted_v2; git diff --check
@edwardkim edwardkim added this to the v1.0.0 milestone Jun 14, 2026
@edwardkim edwardkim added the enhancement New feature or request label Jun 14, 2026
@jangster77 jangster77 merged commit a2a1b38 into edwardkim:devel Jun 14, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants