fix: 문자 컨트롤 0x18/0x1E 매핑 swap (하이픈 ↔ 묶음 빈칸)#587
Closed
planet6897 wants to merge 1 commit into
Closed
Conversation
HWP 5.0 스펙 표 7 (문자 컨트롤) 과 반대로 매핑되어 있던 두 코드를 정정:
| 코드 | 스펙 (표 7) | 수정 전 | 수정 후 |
|--------|-------------|------------------|------------------|
| 0x18 | 하이픈 | U+00A0 (nbsp) | '-' (hyphen) |
| 0x1E | 묶음 빈칸 | '-' (hyphen) | U+00A0 (nbsp) |
자체 테스트 (src/parser/body_text/tests.rs:117,120) 의 주석은 이미 정답을
가리키고 있었음 — 구현만 swap 되어 있었다.
증상: exam_eng.hwp / exam_kor.hwp 등 시험지 문서에서 문제 번호("1.", "①" 등)
다음의 묶음 빈칸이 하이픈으로 잘못 표시됨. 한컴 PDF 와 비교하여 확인.
회귀 검증 (export-svg `>-</text>` 글리프 출현 횟수):
- exam_eng: 366 → 39 (-327)
- exam_kor: 444 → 33 (-411)
- exam_science: 37 → 18 (-19)
- exam_math/exam_social: 변화 없음 (해당 코드 미사용)
남은 '-' 글리프는 영어 단어 내 실제 하이픈 등 정상 케이스.
src/parser/tags.rs 의 CHAR_HYPHEN / CHAR_NBSPACE 상수도 같이 swap.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
edwardkim
added a commit
that referenced
this pull request
May 4, 2026
edwardkim
added a commit
that referenced
this pull request
May 4, 2026
…planet6897 1 commit + 시각 판정 ★ 통과)
Owner
|
본 PR 의 단일 commit 통합 결과2 file (+10/-10) — 충돌 0. 본질 평가HWP 5.0 스펙 표 7 정합 + 자체 테스트 주석 ( 결정적 검증
시각 회귀 측정 — 100% 재현
757 개의 잘못된 하이픈 제거. 시각 판정 ★ 통과WASM 빌드 (4,582,545 bytes) + studio sync 후 SVG 와 웹 에디터 양쪽에서 메인테이너가 직접 확인했습니다. exam_eng/exam_kor 의 "1." 문제 번호 다음의 잘못된 하이픈이 묶음 빈칸으로 정합 회복되었습니다. 본 PR 은 cherry-pick 통합 완료로 close 합니다. |
edwardkim
added a commit
that referenced
this pull request
May 4, 2026
본 환경의 rhwp.js 가 이미 tracked 상태인 것과 일관성 정합 — WASM 빌드 산출물 sync 시 .d.ts 도 함께 tracked. PR #587 처리 사이클의 WASM 빌드 sync 중 누락 발견.
edwardkim
added a commit
that referenced
this pull request
May 5, 2026
- 처리 보고서 추가: mydocs/pr/archives/pr_600_report.md PR #600 (closes #513, @oksure) commit 단위 cherry-pick 2 commits + 결정적 검증 + 광범위 sweep (164 fixture / 1,614 페이지 / 회귀 0) + SVG 정량 (pua-test 0→9 / mel-001 +14 / kps-ai +2 / KTX 변경 없음) + 시각 판정 ★ 통과 - 검토 보고서 archives 이동: mydocs/pr/pr_600_review.md → mydocs/pr/archives/pr_600_review.md - 5/5 orders 갱신: PR #600 + Issue #615 항목 추가 별개 영역 발견 + 후속 이슈: - Issue #615: pua-test U+F53A 가 pua_oldhangul.rs:5022 에서 자모 시퀀스 (ᄒᆞᆫ) 로 임의 변환되지만 한컴 PDF 정답지는 "Basic-out, 매핑 표 외" 빈 공백 처리 — pua_oldhangul.rs 매핑 한컴 정합 안 함 PUA 회귀 패턴 인식 — 작업지시자 안내 "PUA 가 계속 회귀되는 현상": PR #587/#562/#592/#600 + Issue #615 누적의 두더지 잡기 패턴. PUA 매핑 표 통합 재검증 별도 광범위 task 후보.
edwardkim
added a commit
that referenced
this pull request
May 5, 2026
v0.7.9 후속 patch 사이클 (5/4 ~ 5/6). ## 신규 기능 - **CLI 바이너리 릴리즈** (Issue #608/#612, @almet 의 요청) - 4 플랫폼 GitHub Release 자산 첨부 (Linux x86_64 / macOS x86_64+aarch64 / Windows x86_64) + SHA-256 체크섬 - **PNG raster backend** (PR #599, @seo-rii) — render P4 단계 - native Skia 기반 PageLayerTree → PNG export, native-skia feature gate - **AI 파이프라인 + VLM 연동 도입** (메인테이너 후속 정정): - --vlm-target claude (1568 longest edge / 1.15 MP, Claude Vision 정합) - --scale / --max-dimension (자동 scale 계산) - export-png CLI 명령 + 매뉴얼 (한글 + 영문 dual) - 한글 폰트 fallback chain + char 단위 fallback (공백 두부 정정) + --font-path 동적 로딩 ## 외부 PR cherry-pick (13 PR / 7 컨트리뷰터) - @planet6897 / Jaeook Ryu (협업): PR #587/#589/#561/#564/#570/#575/ #580/#584/#592/#593/#567 - @oksure (Hyunwoo Park): PR #600 (closes #513) - @seo-rii: PR #599 (refs #536) - @cskwork / @johndoekim / @nameofSEOKWONHONG / @jangster77 — 사이클 누적 ## 메인테이너 정정 Skia 폰트 영역 5개 정정 (한글 fallback / font-path / char-fallback / VLM 옵션 / export-png CLI). ## 인프라 - CI 빌드 안정성 (Cargo.toml [[example]] required-features) - 광범위 페이지네이션 회귀 sweep 도구 (164 fixture / 1,614 페이지 자동) ## 후속 이슈 - #613 (VLM 프리셋 확장) - #614 (DPI 메타데이터) - #615 (pua_oldhangul.rs U+F53A 한컴 정합) - #598 (rhwp-studio 각주 삭제, 외부 컨트리뷰터 공개) ## 잔여 PR (v0.7.11 후속 patch) PR #601, #602 (@oksure) / PR #607 (@dicebattle) / PR #609 (@jangster77, Task #604) / PR #611 (@kihyunnn). 상세: CHANGELOG.md (한글) / CHANGELOG_EN.md (영문).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
HWP 5.0 스펙 표 7 (문자 컨트롤) 과 반대로 매핑되어 있던 두 코드를 정정합니다.
U+00A0(nbsp)-(hyphen)-(hyphen)U+00A0(nbsp)자체 테스트 (
src/parser/body_text/tests.rs:117,120) 의 주석은 이미 정답을 가리키고 있었습니다 — 구현만 swap 되어 있던 상태입니다.증상
samples/exam_eng.hwp,samples/exam_kor.hwp등 시험지 문서에서 문제 번호 다음에 하이픈이 잘못 표시되었습니다. 한컴 PDF (samples/exam_eng.pdf등) 와 비교 시 확인 가능합니다.rhwp dump samples/exam_eng.hwp -s 0 -p 2로 확인.회귀 검증
export-svg결과의>-</text>글리프 출현 횟수 비교:수정 후 남은
-글리프는 영어 단어 내 실제 하이픈, 표 구분자 등 정상 케이스입니다. exam_math / exam_social 은 해당 코드를 미사용하는 문서라 변화 없음.변경 파일
src/parser/body_text.rs:328-348— 0x18 ↔ 0x1E 매핑 swap (parse_para_text)src/parser/tags.rs:128-131—CHAR_HYPHEN/CHAR_NBSPACE상수 swap (외부 참조 없음)테스트 계획
cargo test --release --lib1125 passedcargo test --release --lib parser::body_text22 passedrhwp dump samples/exam_eng.hwp -s 0 -p 2결과 확인🤖 Generated with Claude Code