증상
samples/exam_kor.hwp 1쪽 상단 가운데 헤더 이미지가 SVG에서는 국어 영역(A 형)으로 보이지만, 한컴이 만든 PDF(samples/exam_kor.pdf)는 국어 영역으로 보인다. PDF가 정답.
원인 (분석 완료)
- HWP 내부 BinData(bin_id=27) 원본 JPEG: 2320×354 (가로/세로 6.55) →
국어 영역(A 형) 박혀있음 (2014년 A형/B형 수능 시절 잔재로 추정)
- HWP 그림 컨트롤이 지정한 표시 박스: 57.8×15.0 mm (가로/세로 3.85)
- 한컴 PDF는 박스 비율(3.85)에 맞춰 원본의 우측을 잘라낸 1137×295 비트맵을 그림 →
(A 형) 부분이 잘려 국어 영역만 보임
- rhwp는 원본 이미지를 박스에 그대로 늘여 채워
(A 형)까지 보인다
해결 방향
원본 이미지 비율 vs 표시 박스 비율 비교 후, 비율 차이가 있으면 src 영역을 자동 클리핑(좌측·상단 정렬, 우측·하단 잘라냄)하는 동작을 추가. pic.crop이 명시된 경우는 기존 처리 유지.
영향 범위
src/renderer/svg.rs 이미지 그리기 부분
src/renderer/web_canvas.rs 동일 처리 부분
src/renderer/layout.rs crop 전달부
검증
samples/exam_kor.hwp 1/14/20쪽 헤더에서 (A 형) / (화법과 작문) / (언어와 매체) 부가 표시 정상 확인
- 다른 샘플 회귀 없음
증상
samples/exam_kor.hwp1쪽 상단 가운데 헤더 이미지가 SVG에서는국어 영역(A 형)으로 보이지만, 한컴이 만든 PDF(samples/exam_kor.pdf)는국어 영역으로 보인다. PDF가 정답.원인 (분석 완료)
국어 영역(A 형)박혀있음 (2014년 A형/B형 수능 시절 잔재로 추정)(A 형)부분이 잘려국어 영역만 보임(A 형)까지 보인다해결 방향
원본 이미지 비율 vs 표시 박스 비율 비교 후, 비율 차이가 있으면 src 영역을 자동 클리핑(좌측·상단 정렬, 우측·하단 잘라냄)하는 동작을 추가.
pic.crop이 명시된 경우는 기존 처리 유지.영향 범위
src/renderer/svg.rs이미지 그리기 부분src/renderer/web_canvas.rs동일 처리 부분src/renderer/layout.rscrop 전달부검증
samples/exam_kor.hwp1/14/20쪽 헤더에서(A 형)/(화법과 작문)/(언어와 매체)부가 표시 정상 확인