개요
Visual Diff 파이프라인(한컴 PDF ↔ rhwp SVG 페이지별 픽셀 비교)으로 발견한 렌더링 불일치 3건을 수정한다.
문제 현상
1. PUA 심볼 문자 렌더링 오류
- Wingdings 등 심볼 폰트의 PUA 영역(U+F000~F0FF) 문자가 □(두부 문자)로 표시됨
- 영향 렌더러: SVG, Canvas, HTML 세 경로 모두
2. 문단 테두리/배경 여백 미반영
border_fill 렌더링 시 문단의 margin_left / margin_right를 무시
- 테두리 박스가 텍스트 영역보다 넓게 그려짐
3. 표 외곽 테두리 누락
table.border_fill_id가 설정된 경우 외곽 테두리를 그리지 않음
- 셀로 커버되지 않는 영역(여백 등)에만 fallback 적용 필요
수정 내용
| 항목 |
파일 |
내용 |
| PUA 변환 |
src/renderer/svg.rs 외 |
U+F000~F0FF → 유니코드 표준 문자 매핑 |
| 문단 테두리 |
src/renderer/layout/ |
border_fill 렌더링에 paragraph margin 반영 |
| 표 외곽 테두리 |
src/renderer/table.rs |
border_fill_id fallback + 셀 커버 영역 제외 |
검증
cargo test 793개 전체 통과
- Visual Diff 파이프라인으로 한컴 렌더링과 페이지별 비교 검증
참고
- Visual Diff 파이프라인:
visual-diff/ 디렉토리
개요
Visual Diff 파이프라인(한컴 PDF ↔ rhwp SVG 페이지별 픽셀 비교)으로 발견한 렌더링 불일치 3건을 수정한다.
문제 현상
1. PUA 심볼 문자 렌더링 오류
2. 문단 테두리/배경 여백 미반영
border_fill렌더링 시 문단의margin_left/margin_right를 무시3. 표 외곽 테두리 누락
table.border_fill_id가 설정된 경우 외곽 테두리를 그리지 않음수정 내용
src/renderer/svg.rs외src/renderer/layout/src/renderer/table.rs검증
cargo test793개 전체 통과참고
visual-diff/디렉토리