Skip to content

복학원서.hwp s0:pi=0 의 BehindText 그림 컨트롤 출력 누락 #514

@edwardkim

Description

@edwardkim

증상

samples/복학원서.hwp 첫 페이지 s0:pi=0 (작업지시자 1-base 표기로는 pi=1 문단) 에 attach 된 그림 컨트롤이 SVG 출력에 그려지지 않는다. 본 그림은 글뒤로 (BehindText) 배치 의 자필 서명/도장 이미지로 추정되며, 한컴 출력에서는 정상으로 나타난다.

IR 데이터 (rhwp dump samples/복학원서.hwp -s 0 -p 0)

--- 문단 0.0 --- cc=25, text_len=0, controls=3 [구역나누기]
  [0] 구역정의: 용지 210.0×297.0mm, 세로
  [1] 단정의: 1단, 유형=일반, 간격=0.0mm
  [2] 그림: bin_id=1, common=5776×6592 (20.4×23.3mm), orig=5776×6592, cur=5776×6592, tac=false
      위치: 가로=단 오프셋=2.3mm(660) 정렬=Left, 세로=문단 오프셋=3.0mm(840) 정렬=Top
      배치: 글뒤로, 글자처럼=false, z=1

dump-pages 결과

=== 페이지 1 (global_idx=0, section=0, page_num=1) ===
  body_area: x=56.7 y=37.8 w=687.9 h=1046.9
  단 0 (items=21, ...)
    FullParagraph  pi=0  h=13.3  vpos=0  "(빈)"
    Shape          pi=0 ci=2  그림 tac=false  vpos=0
    FullParagraph  pi=1  h=13.3  vpos=1400  "(빈)"
    ...

레이아웃 단계까지는 Shape 항목이 정상으로 들어가 있으나, SVG 출력에서 누락된다.

재현

rhwp export-svg samples/복학원서.hwp -o output/svg/issue_repro/
rhwp export-svg samples/복학원서.hwp -o output/debug/issue_repro/ --debug-overlay

생성된 SVG 의 좌상단 영역 (page x≈82138, y≈48120 px 추정 — 단 오프셋 2.3mm + 페이지 좌여백 15mm) 에 그림이 없음.

비교 자료

가설

  • BehindText (글뒤로) wrap 모드의 그림이 조판 트리는 통과하지만 SVG paint op 단계에서 emit 누락
  • 또는 pi=0 의 [0]/[1] 구역정의/단정의 컨트롤이 ci=2 의 그림 emit 을 차단

본질 진단은 src/paint/ + src/renderer/ 의 BehindText 처리 경로 (ImageNode 또는 PaintOp::Image 의 z-order 0/배경 평면 emit) 에서 시작.

환경

  • 버전: v0.7.9 (devel branch, commit 79e87b9)
  • 샘플: samples/복학원서.hwp (114 KB)
  • 정답지: 한컴 2010 + 한컴 2022

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions