Skip to content

Task #321~#332 통합 정리 + vpos correction/cell padding 회귀 해소 #342

@planet6897

Description

@planet6897

배경

Task #321~#332 누적 작업을 devel 기준 단일 squash 커밋으로 정리하고,
그 과정에서 발견된 3건의 렌더링 회귀를 추가로 수정한다.

정리 대상 작업

발견된 회귀와 수정

1) Task #332 stage3a/3b (src/renderer/layout.rs)

  • stage3a: vpos_end = vp + lh + ls= vp + lh 로 변경하여 다음 문단
    시작이 trail_ls(716 HU=9.55px) 만큼 앞당겨짐. HWP 가 명시한 다음 문단
    vpos 와 불일치.
    • 증상: 21_언어 p1 좌측 pi=7→pi=8 줄간격 13.92px (정상 24.21px)
  • stage3b: vpos correction 의 backward 가드를 line_height*3 으로 완화
    하여 collapse 가드 무력화.
    • 증상: exam_math.hwp p2 우측 pi=66 이 pi=64 와 같은 y 로 겹침
  • 수정: 두 변경을 핀포인트로 역적용. stage4a/4b/5 는 다른 파일/위치라
    영향 없음.

2) Task #13 resolve_cell_padding (src/renderer/layout/table_layout.rs)

  • apply_inner_margin=false 인 셀에 셀 고유 패딩을 적용하도록 변경되었으나
    HWP 스펙은 aim=false → 표 기본 패딩 사용.
  • height_measurer 는 aim 플래그를 존중하는데 layout 만 무시하여 셀
    visible height 보다 콘텐츠가 pad_top + pad_bottom 만큼 커짐.
  • 증상: 21_언어 p2 좌측 표 셀 마지막 줄 "해결하고자 한다" 가 cell-clip
    밖으로 밀려 잘림.
  • 수정: HWP 스펙에 맞게 aim 플래그 존중하도록 복원.

검증

  • cargo test --lib: 992 passed, 0 failed
  • 시각 검증: exam_math p2, 21_언어 p1·p2 모두 정상

마일스톤

v1.0.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions