Skip to content

[Bug] WASM Canvas 렌더 경로가 inline_tabs 무시 — #290 SVG 수정의 Canvas 버전 누락 #296

@edwardkim

Description

@edwardkim

배경

PR #292 (#290, merge commit 085beb0) 로 SVG 경로의 cross-run 탭 감지가 composed.tab_extended (inline_tabs) 를 존중하도록 수정됨 (resolve_last_tab_pending 헬퍼 + paragraph_layout.rs cross-run 블록 2곳).

그러나 WASM Canvas 렌더 경로에 동일 수정이 누락되어 브라우저에서는 여전히 samples/exam_math.hwp p.7 #18 "수열" 문항이 우측으로 밀림.

재현

근본 원인

src/renderer/layout/text_measurement.rsWasmTextMeasurer:

  • estimate_text_width (L524-700) — \t 처리 시 find_next_tab_stop (TabDef 전용) 만 호출
  • compute_char_positions (L598-) — 동일
  • composed.tab_extended (inline_tabs) 를 참조하는 경로 없음

따라서 #290 수정(paragraph_layout.rs 헬퍼 중앙화) 이 Canvas 경로에 적용되지 않음.

수정 방향

옵션 1 (권장) — Canvas 경로에도 resolve_last_tab_pending 적용

옵션 2 — 레이아웃 단계에서 최종 x 좌표를 주입

  • paragraph_layout.rs 가 이미 올바르게 계산한 x 를 Canvas 렌더가 그대로 사용하도록 경로 변경
  • 범위 큼

관련

우선순위

브라우저에서 사용자가 직접 보이는 증상 → 중간~높음.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions