Skip to content

[m100] exam_science.hwp 1쪽 상단 외곽표 셀 내부 인라인 sub-table 좌측 정렬 (cell halign=Center 미적용) #572

@planet6897

Description

@planet6897

증상

`samples/exam_science.hwp` 1쪽 상단 외곽 1×1 표 cell[0]의 4번째 paragraph (p[3]) 내부에 배치된 3 개의 인라인 sub-table (성명 1×2, 수험 번호 1×10, 제 [ ] 선택)이 cell halign=Center 임에도 cell 좌측에 붙어 출력됨.

SVG 실측 (Task #568 fix 후, byte-identical)

`output/svg/exam_science_after_dbg/exam_science_001.svg`:

  • 외곽 1×1 표 cell 폭 ≈ 887 px (본문 폭 전체)
  • 성명 sub-table 첫 글리프 "성" : x=86.39
  • 수험 번호 sub-table 첫 글리프 "수" : x=252.72
  • 제 [ ] 선택 sub-table 첫 글리프 "제" : x=594.96
  • 마지막 글리프 "택" : x=684.99

3 개 sub-table 합산 점유 폭 ≈ 600 px. cell halign=Center 라면 잔여 ≈250 px 가 좌우로 균등 (~125 px 씩) 분배되어야 하나, 현재 모두 우측에 ~250 px 잔존 → 좌측 0 px / 우측 250 px.

IR 데이터 (rhwp dump -s 0 -p 0)

```
[6] 표: 1행×1열, 셀=1, padding=(0,0,0,0)
[6] [common] size=66472×13322, valign=Top, halign=Center
[6] 셀[0] paras=4
[6] p[0] ps_id=21 ctrls=1 "2025학년도 ..."
[6] p[1] ps_id=22 ctrls=0 "과학탐구 영역(화학Ⅰ)"
[6] p[2] ps_id=27 ctrls=1 (사각형)
[6] p[3] ps_id=24 ctrls=3 text=" " (3 sub-tables)
[6] p[3] 내부표: 1행×2열 (성명)
[6] p[3] 내부표: 1행×10열 (수험 번호)
[6] p[3] 내부표: 1행×?열 (제 [ ] 선택)
```

p[3] 단락에 3 sub-table 이 인라인 + halign=Center 가 cell 또는 paragraph 에 적용되어야 한다.

본질 추정

`paragraph_layout.rs::layout_composed_paragraph` 또는 `layout_inline_table_paragraph` 의 인라인 sub-table 시퀀스 배치 로직이 cell halign / paragraph alignment 를 무시하고 좌단부터 배치. Center alignment 시 sub-table 시퀀스의 시작 x 를 `(cell_inner_width - sum_table_widths) / 2` 로 보정해야 함.

우선순위

수능 시험지 헤더의 시각 정렬 — 1 페이지 상단 한정. M100 milestone 후순위.

참고

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