Skip to content

pua_oldhangul U+F53A 매핑 제거 — hwpspec '매핑 표 외' 정합#737

Closed
oksure wants to merge 2 commits into
edwardkim:develfrom
oksure:contrib/pua-oldhangul-fix
Closed

pua_oldhangul U+F53A 매핑 제거 — hwpspec '매핑 표 외' 정합#737
oksure wants to merge 2 commits into
edwardkim:develfrom
oksure:contrib/pua-oldhangul-fix

Conversation

@oksure

@oksure oksure commented May 9, 2026

Copy link
Copy Markdown
Contributor

변경 사항

pua_oldhangul.rs에서 U+F53A 항목을 제거합니다.

  • hwpspec 매핑 표에서 U+F53A는 Basic-out, (매핑 표 외)로 명시되어 한컴 정답지가 매핑을 지원하지 않는 코드포인트
  • 기존 코드는 자모 시퀀스 ᄒᆞᆫ으로 임의 변환하여 한컴 정답지(빈 공백)와 시각 정합 불일치 발생
  • 매핑 제거 후 한컴 정답지와 동일하게 빈 공백 출력으로 정합

옵션 A + B 모두 반영

  • 옵션A: U+F53A 항목 제거 (단일 정합)
  • 옵션B: hwpspec "매핑 표 외" 코드포인트 교차 검증 테스트 추가 — BMP PUA 범위에서는 U+F53A가 유일한 "매핑 표 외" 항목으로 확인됨

테스트

  • cargo test --lib -- pua: 13 passed (신규 테스트 포함)
  • cargo clippy -- -D warnings: 경고 없음
  • 신규 테스트 test_hwpspec_unmapped_codepoints_not_in_table: hwpspec "매핑 표 외" 코드포인트가 매핑 표에 없는지 검증 (재발 방지)

Closes #615

감사합니다.

- 0xF53A 항목 제거: hwpspec Basic-out "(매핑 표 외)" 영역이므로 자모 시퀀스 매핑 금지
- 한컴 정답지와 동일하게 빈 공백 출력으로 정합
- 매핑 표 크기 5660 → 5659 갱신
- hwpspec "매핑 표 외" 교차 검증 테스트 추가 (재발 방지)

Closes edwardkim#615
Copilot AI review requested due to automatic review settings May 9, 2026 11:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/renderer/pua_oldhangul.rs Outdated
@@ -25,7 +25,7 @@
//! 5,660 매핑 (U+E0BC ~ U+F8F7), 출력 자모는 Hangul Jamo (U+1100-11FF)
Comment on lines 5019 to 5023
(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}']),
edwardkim added a commit that referenced this pull request May 10, 2026
… 외' 정합

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
edwardkim added a commit that referenced this pull request May 10, 2026
- 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건 처리)
@edwardkim

Copy link
Copy Markdown
Owner

@oksure 님, 검토 + 머지 완료했습니다.

처리 결과

옵션 A (2 commits cherry-pick + no-ff merge `6ea6f851`) 로 처리. 충돌 0건.

자기 검증

  • `cargo build/test --release` ✅ ALL GREEN
  • pua tests ✅ 13 PASS (신규 `test_hwpspec_unmapped_codepoints_not_in_table` + 기존 12건)
  • 광범위 sweep (7 fixture / 170 페이지) ✅ 170 same / 0 diff (U+F53A 영역 영역 7 fixture 영역 영역 사용 부재 영역 영역 영향 부재 입증)
  • WASM 빌드 ✅ 4.66 MB

작업지시자 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`.

@oksure20+ 사이클 컨트리뷰션 영역 — 5/10 사이클 영역 영역 PR #720/#723/#725/#728/#729/#730/#732/#734/#735/#737 영역 10건 처리 완료 영역.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants