pua_oldhangul U+F53A 매핑 제거 — hwpspec '매핑 표 외' 정합#737
Conversation
- 0xF53A 항목 제거: hwpspec Basic-out "(매핑 표 외)" 영역이므로 자모 시퀀스 매핑 금지 - 한컴 정답지와 동일하게 빈 공백 출력으로 정합 - 매핑 표 크기 5660 → 5659 갱신 - hwpspec "매핑 표 외" 교차 검증 테스트 추가 (재발 방지) Closes edwardkim#615
There was a problem hiding this comment.
Pull request overview
src/renderer/pua_oldhangul.rs의 옛한글 PUA 매핑에서 hwpspec 상 “매핑 표 외(Basic-out)”로 정의된 U+F53A를 제거하여, 한컴 정답지(빈 공백 출력)와의 시각 정합을 맞추는 PR입니다.
Changes:
- PUA 옛한글 매핑 테이블에서 U+F53A 항목 제거
- 매핑 테이블 크기/테스트 기대값을 5659로 갱신
- hwpspec “매핑 표 외” 코드포인트가 테이블에 포함되지 않음을 검증하는 회귀 테스트 추가
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -25,7 +25,7 @@ | |||
| //! 5,660 매핑 (U+E0BC ~ U+F8F7), 출력 자모는 Hangul Jamo (U+1100-11FF) | |||
| (0xF537, &['\u{1112}', '\u{119E}']), | ||
| (0xF538, &['\u{1112}', '\u{119E}', '\u{11A8}']), | ||
| (0xF539, &['\u{1112}', '\u{119E}', '\u{11C3}']), | ||
| (0xF53A, &['\u{1112}', '\u{119E}', '\u{11AB}']), | ||
| // 0xF53A 제거: hwpspec 매핑 표 "Basic-out (매핑 표 외)" — 한컴 정답지와 정합 (#615) | ||
| (0xF53B, &['\u{1112}', '\u{119E}', '\u{11AE}']), |
… 외' 정합 PR #737 (@oksure) 옵션 A 처리 — 2 commits cherry-pick + no-ff merge. 본질 정정 (1 file, +24/-4): - src/renderer/pua_oldhangul.rs (+24/-4): · U+F53A 매핑 항목 제거 (line 5022) — hwpspec "Basic-out (매핑 표 외)" 정합 · 매핑 수 5660 → 5659 동기화 (헤더 doc + test_map_size) · 자동 생성 안전성 코멘트 추가 (scripts/gen_pua_oldhangul_rs.py 영역 영역 재생성 시 주의) · 회귀 가드 신규: test_hwpspec_unmapped_codepoints_not_in_table (재삽입 차단) 본질 (Issue #615): - samples/pua-test.hwp 영역 U+F53A 처리 영역 영역 한컴 정답지 (hwpspec "Basic-out, 매핑 표 외", 빈 공백) 영역 정합 부재 - 본 환경 영역 영역 임의 매핑 (자모 시퀀스 ᄒᆞᆫ, [\u{1112}, \u{119E}, \u{11AB}]) 영역 영역 옛한글 자모 글리프 미렌더 영역 영역 박스 표시 영역 영역 - 매핑 단순 제거 영역 영역 한컴 정답지 정합 (빈 공백) Copilot 리뷰 반영 (commit `efe1867e`): 헤더 매핑 수 5660→5659 + 재생성 안전성 코멘트. PR supersede 체인 — 별 패턴: - PR #600 (closes #513, @oksure) Supplementary PUA-A 시각 판정 중 발견된 별 결함 영역 영역 별 PR 영역 영역 분리 후속 자기 검증: - cherry-pick 충돌 0건 - cargo build/test --release ✅ ALL GREEN - pua tests ✅ 13 PASS (신규 1건 + 기존 12건, map_size 5659) - 광범위 sweep 7 fixture / 170 페이지 / 회귀 0 ✅ - WASM 빌드 4.66 MB - 작업지시자 SVG 시각 판정 ✅ 통과 (samples/pua-test.hwp 영역 영역 빈 공백 정합) opt-in 정합: - 단일 코드포인트 영역 영역 case 가드 (feedback_hancom_compat_specific_over_general 정합) - 다른 PUA 매핑 5658개 영역 영역 보존 - HWP3 한자 영역 (johab_map.rs) 영역 영역 무관 (별 영역) closes #615
- mydocs/pr/archives/pr_737_review.md: 검토 문서 archives 이동 - mydocs/pr/archives/pr_737_report.md: 처리 보고서 작성 · pua_oldhangul U+F53A 매핑 제거 (Issue #615 closes) · hwpspec "Basic-out, 매핑 표 외" 정합 (한컴 PDF 정답지 영역 빈 공백 정합) · 자동 재생성 영역 영역 안전성 코멘트 + 회귀 가드 (재삽입 차단) · 작업지시자 SVG 시각 판정 ✅ 통과 - mydocs/orders/20260510.md: PR #737 항목 추가 (5/10 사이클 영역 영역 10건 처리)
|
@oksure 님, 검토 + 머지 완료했습니다. 처리 결과옵션 A (2 commits cherry-pick + no-ff merge `6ea6f851`) 로 처리. 충돌 0건. 자기 검증
작업지시자 SVG 시각 판정 ✅ 통과`samples/pua-test.hwp` 영역 SVG 출력 영역 영역 빈 공백 정합 (한컴 PDF 정답지 영역 영역 정합) 영역 영역 작업지시자 점검 ✅. 본질 정정hwpspec 매핑 표 영역 "Basic-out, (매핑 표 외)" 영역 영역 한컴 정답지 영역 영역 정합. 매핑 단순 제거 (line 5022) + 매핑 수 5660 → 5659 동기화 + 자동 생성 안전성 코멘트 + 회귀 가드 (재삽입 차단). PR supersede 체인 — 별 패턴 (`feedback_pr_supersede_chain` 정합):
단일 코드포인트 영역 영역 case 가드다른 PUA 매핑 5658개 영역 영역 보존 + HWP3 한자 영역 영역 (`johab_map.rs:4969` U+F53A → 慽) 영역 영역 별 포맷 영역 영역 무관 영역 영역. `feedback_hancom_compat_specific_over_general` 정합 — 일반화 매핑 영역 영역 회귀 본질 영역 영역. 처리 보고서: `mydocs/pr/archives/pr_737_report.md`. @oksure 님 20+ 사이클 컨트리뷰션 영역 — 5/10 사이클 영역 영역 PR #720/#723/#725/#728/#729/#730/#732/#734/#735/#737 영역 10건 처리 완료 영역. |
변경 사항
pua_oldhangul.rs에서 U+F53A 항목을 제거합니다.Basic-out, (매핑 표 외)로 명시되어 한컴 정답지가 매핑을 지원하지 않는 코드포인트ᄒᆞᆫ으로 임의 변환하여 한컴 정답지(빈 공백)와 시각 정합 불일치 발생옵션 A + B 모두 반영
테스트
cargo test --lib -- pua: 13 passed (신규 테스트 포함)cargo clippy -- -D warnings: 경고 없음test_hwpspec_unmapped_codepoints_not_in_table: hwpspec "매핑 표 외" 코드포인트가 매핑 표에 없는지 검증 (재발 방지)Closes #615
감사합니다.