Skip to content

[bug] HWP5 시험지 page 2 문14 multi-line equation (cases) off-by-one line 매핑 overlap #960

@jangster77

Description

@jangster77

개요

samples/3-11월_실전_통합_2022.hwp page 2 (단 1, 우측 단) 의 문14 의 multi-line equation (cases 수식) 과 paragraph text 가 시각 overlap.

증상

문14 pi=117 의 4 line_segs:

  • ls[0]: 다항함수 [f(x)] 에 대하여 함수 [g(x)] 를 다음과 같이
  • ls[1]: 정의한다.\t\t[cases formula g(x)={...}]
  • ls[2]: 함수 [h(x) = lim...] 에 대하여
  • ls[3]: 보기에서 옳은 것만...

실제 emit 좌표 (off-by-one 매핑)

수식 예상 ls 예상 y 실제 emit y 차이
f(x) ls[0] ~330 330
g(x) ls[0] ~330 330
cases g(x)={...} ls[1] ~347 380 +33
h(x)=lim ls[2] ~379 329 -50

→ cases 와 h(x)=lim 수식이 잘못된 line_seg 에 매핑. cases 가 ls[2] 영역에 emit, h(x)=lim 이 ls[0] 영역에 emit (header text 와 overlap).

X 위치는 정확 (해당 text line 우측). Y 만 잘못.

Root cause 추정

src/renderer/layout/paragraph_layout.rs 또는 src/renderer/composer.rs 의 multi-line equation 처리 영역에서:

  • composer 가 paragraph 의 controls 를 line_segs 에 매핑할 때 off-by-one
  • 또는 multi-line equation 의 height 가 다음 line 의 vpos 계산을 corrupt

관련 정보

  • pi=117 의 cases 수식 size=13339×1935 HU (178×25.8px) — 2 line stacked
  • pi=117 ls[1] lh=1935 (25.8px) — cases 수식 높이 정확 matches
  • 문제는 layout_box.height 가 27.6px (= 2 rows + gap) — hwp_eq_h (25.8) 보다 큼

관련 작업

권위 자료

마일스톤

M100 / 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