Skip to content

셀 내부 paragraph 첫줄 inline TAC Shape 의 margin_left + first-line indent 누락 (Task #547 후속) #548

@planet6897

Description

@planet6897

문제

페이지 8 보기 표 (pi=167) 셀 5 (병합 셀, 본문) 의 첫 줄 시작 위치에 있는 [푸코] inline shape 이 cell 좌측 가장자리 (x=131.04 px) 에 렌더되어 PDF (한컴 2010, x≈155.6 px) 보다 약 24.6 px 좌측에 있음.

본질

src/renderer/layout/table_layout.rs:1486-1497 의 셀 안 inline TAC Shape 렌더링용 inline_x 초기화에 paragraph 의 margin_left + first_line_indent 미반영.

paragraph_layout (텍스트 경로) 와 table_layout (shape 경로) 가 inline shape 위치를 다르게 계산:

경로 x 산식 셀 5 line 0 결과
paragraph_layout (텍스트) col_x + effective_margin_left + ... 131.04 + 24.56 = 155.60 px ✓
table_layout (shape) inner_area.x (margin/indent 미적용) 131.04 px ✗

paragraph_layout.set_inline_shape_position(...) 가 정확한 좌표를 등록하지만, cell shape 는 shape_layout::layout_shape 가 아닌 table_layout::layout_cell_shape 경로로 렌더되어 inline_pos 무시.

검증 기준

  • 페이지 8 보기 표 셀 5 line 1 [푸코] box 좌측 x = PDF 기대값 (≈155.6 px) ±2 px 일치
  • 텍스트 "는" 위치 (paragraph_layout) 보존 (≈185.83 px)
  • 광범위 회귀 검증 (6 샘플) 텍스트 음의 시프트 0건
  • 1121 단위 테스트 무회귀
  • positive indent / negative indent (hanging) / margin_left=0 케이스 분기 검증

관련

메모리 룰

  • [feedback_pdf_not_authoritative]: 한컴 2010 PDF 정합 + 한컴 2020/한컴독스 비교 권고
  • [feedback_essential_fix_regression_risk]: 광범위 샘플 검증 (6 샘플)
  • [feedback_rule_not_heuristic]: paragraph effective_margin_left 단일 룰 (텍스트/shape 동일)

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