배경
Task #417(HWP3 파서)와 Task #425(혼합 단락 겹침 수정)에서 렌더러 내부에 HWP3 전용 분기를 추가했다.
주인 프로젝트가 렌더러를 지속 수정 중이므로 이 접근 방식은 충돌 위험이 높다.
목표
src/parser/hwp3/ 에서 HWP5/HWPX 와 동일한 IR을 생성하여 렌더러가 포맷을 구분하지 않아도 정상 출력되도록 한다.
수정 내용
1단계: 렌더러 HWP3 전용 코드 제거
2단계: 파서에서 처리
- AutoNumber: 파서에서 U+FFFC -> " " (HWP5 패턴) 변환
- 혼합 단락: 마지막 그림-위쪽 LINE_SEG line_height를 그림 하단까지 확장하여 순차 y+=line_height로 겹침 해소
결과
렌더러에 HWP3 전용 코드 전무. HWP3 문서가 HWP5/HWPX 와 동일한 경로로 렌더링됨.
배경
Task #417(HWP3 파서)와 Task #425(혼합 단락 겹침 수정)에서 렌더러 내부에 HWP3 전용 분기를 추가했다.
주인 프로젝트가 렌더러를 지속 수정 중이므로 이 접근 방식은 충돌 위험이 높다.
목표
src/parser/hwp3/에서 HWP5/HWPX 와 동일한 IR을 생성하여 렌더러가 포맷을 구분하지 않아도 정상 출력되도록 한다.수정 내용
1단계: 렌더러 HWP3 전용 코드 제거
paragraph_layout.rs: U+FFFC AutoNumber 분기 제거paragraph_layout.rs: hwp3_vpos_base + hwp3_fig_zone 블록 제거 (Task HWP3: 혼합 단락(텍스트+Para-relative 그림) 내 텍스트/그림 겹침 (vpos 미사용) #425 Stage 1/3)typeset.rs: is_hwp3 필드 + pre-check + hwp3_text_h 제거 (Task HWP3: 혼합 단락(텍스트+Para-relative 그림) 내 텍스트/그림 겹침 (vpos 미사용) #425 Stage 2)pagination.rs/pagination/engine.rs: is_hwp3 제거rendering.rs: set_is_hwp3() 호출 제거2단계: 파서에서 처리
결과
렌더러에 HWP3 전용 코드 전무. HWP3 문서가 HWP5/HWPX 와 동일한 경로로 렌더링됨.