Skip to content

Releases: edwardkim/rhwp

v0.7.11 — 5/10+5/11 사이클 누적 (Skia P8/P9 + HWP3 native + rhwp-studio editor 신규 기능)

10 May 19:50
a9dcdee

Choose a tag to compare

v0.7.11 PATCH 릴리즈 (2026-05-11)

5/10 + 5/11 사이클 누적 — 외부 기여자 다수 PR 30+ 머지.

핵심 변경

Skia native raster 단계적 진전 (Issue #536)

  • P8 (#761): Layer IR contract hardening (paint::schema + paint::resources blake3)
  • P9 (#769): text replay parity (char overlap, tab leader, decoration, shade/shadow, emphasis, vertical rotation, control mark + text_replay.rs 모듈 분리)

HWP3 native 렌더링 (#753)

hwp3-sample10.hwp Oracle 기술 문서 763 페이지 8 단계 정정 — HWP3 외부 file path 그림 IR + 사적 graphic char 매핑 + Hwp3TabDef 필드 순서 bug 정정 + 제목차례 자동 장식 inject + 차례 inline page 번호. Git LFS pdf-large/ 폴더 한정 격리 신규 도입.

페이지네이션 정정

  • Task #775 (#778): Task #703 다단 영역 InFrontOfText/BehindText 컬럼 분배 회귀 정정 (col_count == 1 가드)

rhwp-studio 인터랙션

  • PR #781: scrollbar drag-during-scroll 결함 정정
  • PR #786~#788: PR #739 (수식 신규 입력) + PR #745 (NewNumber Page) 후속 결함 정정 — chord 키 Ctrl+N → Ctrl+M (Chrome reserved shortcut 회피) + 한글 IME chord e.code 판별 + 표 셀 pattern_type 가드 + 도구 모음 mousedown preventDefault

rhwp-studio editor 신규 기능

  • 표 편집 Undo/Redo (#728) + 표 크기 조절 SnapshotCommand (#748)
  • 셀 편집 다수 (블록 합계/평균/곱/숫자 서식/높이·너비 균등화/블록 계산식)
  • 다단 설정 dialog (#750) + 새 번호로 시작 dialog (#760)
  • Ctrl/Cmd+Arrow / Ctrl/Cmd+O / Ctrl+E (지우기) 단축키

검증

  • cargo build/test/clippy --release ALL GREEN
  • 광범위 sweep 7 fixture / 170 페이지 회귀 0
  • WASM 4.68 MB
  • 작업지시자 시각 판정 다수 통과

컨트리뷰터

@oksure, @jangster77, @planet6897, @seo-rii, @postmelee 등 다수.

상세는 mydocs/pr/archives/ 및 rhwp-vscode/CHANGELOG.md 참고.

v0.7.10 — 외부 기여자 7명 + AI/VLM 연동 + CLI 바이너리 릴리즈

05 May 17:56

Choose a tag to compare

v0.7.9 후속 patch 사이클 — 외부 기여자 7명 흡수 (PR 13건 cherry-pick) + AI 파이프라인 / VLM 연동 도입 + CLI 바이너리 릴리즈 파이프라인.

신규 기능

CLI 바이너리 릴리즈 (Issue #608/#612, @almet 의 요청)

4 플랫폼 GitHub Release 자산 첨부 — 직접 빌드하지 않고 다운로드 + 실행 가능:

  • rhwp-v0.7.10-linux-x86_64.tar.gz
  • rhwp-v0.7.10-macos-x86_64.tar.gz
  • rhwp-v0.7.10-macos-aarch64.tar.gz
  • rhwp-v0.7.10-windows-x86_64.zip
  • SHA256SUMS.txt (체크섬)

각 아카이브 포함: rhwp 실행파일 + LICENSE + README.md + README_EN.md.

PNG raster backend (PR #599, @seo-rii) — render P4

native Skia 기반 PageLayerTree → PNG export. native-skia feature gate (기본 빌드 영향 0).

AI 파이프라인 + VLM (Vision-Language Model) 연동 도입 (메인테이너 후속 정정):

  • --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 컨트리뷰터)

후속 이슈

  • #613 — VLM 프리셋 확장 (GPT-4V / Gemini / Qwen-VL / LLaVA)
  • #614 — DPI 메타데이터 옵션 (--dpi PNG pHYs chunk)
  • #615pua_oldhangul.rs U+F53A 한컴 정합
  • #598 — rhwp-studio 각주 삭제 기능 (외부 컨트리뷰터 공개)

잔여 PR (v0.7.11 후속 patch 영역)


상세 변경 사항: CHANGELOG.md (한글) / CHANGELOG_EN.md (English).

🤖 Generated with Claude Code

v0.7.9 — Task #501 cell.padding 한컴 방어 로직 + PR cherry-pick 사이클

30 Apr 23:44
0fb3e67

Choose a tag to compare

v0.7.8 후속 패치 사이클.

회귀 정정 (메인테이너)

  • Task #501 — mel-001.hwp 2쪽 표 셀 높이 처리 회귀 정정 (closes #501)
    • 비정상 큰 cell.padding (1700 HU) > cell.height (1280 HU) 케이스의 한컴 자체 방어 로직 모방 가드 추가
    • 트러블슈팅 + 위키 (HWP 셀 Padding 방어 로직) 작성

외부 PR cherry-pick (4 PR / 18 commits)

  • PR #428 (@oksure) — 그룹 내 그림(Picture) 직렬화 구현
  • PR #494 (@DanMeon) — Paragraph::utf16_pos_to_char_idx 외부 노출 (#484)
  • PR #478 (@planet6897) — Layout 정합 + 수식 정정 합본
  • PR #498 (@seo-rii) — Canvas visual diff 파이프라인 (relates #364)
    • rhwp-studio E2E + GitHub Actions Render Diff workflow

분리된 후속 이슈

  • #502 — 문단 내 글상자 TextRun 처리 (Task #495 잔존)
  • #503 — Task #479 본질 정정 흡수 (한컴 2020 시각 판정 필수)

위키 갱신

검증

  • cargo test --lib: 1102 passed
  • cargo test --test svg_snapshot: 6/6
  • cargo test --test issue_418 / issue_501: PASS
  • cargo clippy --lib -- -D warnings: 0건
  • WASM 빌드 정합

외부 기여자 감사

본 사이클: @DanMeon, @oksure, @planet6897, @seo-rii

상세 변경: CHANGELOG.md / CHANGELOG_EN.md

v0.7.8 — 외부 컨트리뷰터 다수 + 메인테이너 회귀 정정

29 Apr 03:09
42cf91b

Choose a tag to compare

v0.7.7 후속 사이클 — 외부 컨트리뷰터 15 PR cherry-pick + 메인테이너 회귀 정정 3건 + 위키/README 정비

주요 변경

외부 PR cherry-pick (15 건)

라이브러리 본질 정정 (조판 / 페이지네이션 / 직렬화):

  • PR #391 다단 섹션 누적 공식 회귀 정정 (@planet6897)
  • PR #395 그림 밝기/대비 효과 SVG 반영 (@oksure)
  • PR #396 수식 렌더링 개선 — TAC 높이 + 한글 이탤릭 (@oksure)
  • PR #397 수식 ATOP 파싱 및 렌더링 보정 (@cskwork) — 본 저장소 첫 외부 컨트리뷰터
  • PR #400 HWPX 수식 직렬화 보존 (@cskwork)
  • PR #401 v2 표 페이지 분할 rowspan>1 셀 분할 단위 (@planet6897)
  • PR #406 동일 문단 inline TAC 그림 페이지네이션 정정 (@planet6897)
  • PR #408 heading-orphan vpos 기반 보정 (@planet6897)
  • PR #410 TopAndBottom Picture vert=Para chart 정정 + atomic TAC top-fit (@planet6897)
  • PR #415 dash 시퀀스 Justify 폭 부풀림 정정 (@planet6897)
  • PR #424 다단 우측 단 vpos 보정 anchor (@planet6897)
  • PR #427 SvgRenderer defs 중복 방지 HashSet 통합 (@oksure)
  • PR #434 그림 자동 크롭 공식 교정 + 테두리 inner padding (@planet6897)

API 추가 / 도구:

메인테이너 작업 (3 건)

  • Task #394 셀 진입 시 투명선 자동 ON 로직 비활성화 (한컴 출력 정합)
  • Task #416 find_bin_data 가드 결함 정정
  • Task #418 hwpspec.hwp p20 빈 문단 + TAC Picture 이중 emit 정정

정비 / 문서

  • 위키 페이지 한컴 PDF 환경 의존성 보강 (발견 정황 II)
  • README.md / README_EN.md 보강 — Contributing 섹션 + 신규 "위키 자료" 서브섹션
  • samples 정답지 자료 추가 (한컴 2010/2020/한컴독스 + 복학원서 + synam-001 + atop-equation-01)
  • CHANGELOG_EN.md 신규 (영문판, 전체 이전 버전 포함)

검증

  • cargo test --lib: 1066 passed (1008 → +58, 회귀 0건)
  • cargo test --test svg_snapshot: 6/6 passed
  • cargo test --test issue_418: 1/1 passed (Task #418 회귀 보존)
  • cargo clippy --lib -- -D warnings: 0건
  • WASM 빌드: 4,182,395 bytes
  • 광범위 byte 비교: 10 샘플 / 309 페이지 SVG 회귀 검증
  • 작업지시자 SVG + Canvas 양 경로 시각 판정 (한컴 정답지 직접 비교)

외부 기여자 감사

본 사이클 외부 기여자 (가나다순):
@cskwork, @DanMeon, @dyjung150605, @ggoban, @oksure, @planet6897, @seo-rii

특히 @cskwork 님은 본 저장소 첫 외부 컨트리뷰터 로 PR #397 / #400 두 건을 머지하셨고, @planet6897 님은 본 사이클 외부 PR 의 다수 (8 건) 를 진단 + 정정해주셨습니다.

상세 변경: CHANGELOG.md / CHANGELOG_EN.md

v0.7.7 — TypesetEngine 회귀 정정 사이클

27 Apr 04:21

Choose a tag to compare

v0.7.6 (TypesetEngine default 전환) 후 누락된 Paginator 시멘틱을 복원하여 페이지네이션 회귀를 정정했습니다.

수정

페이지네이션 — TypesetEngine 회귀 정정

  • #359 페이지네이션 fit 누적 drift 수정 + 단독 항목 페이지 차단
    • typeset 의 fit 판정과 누적 분리 (k-water-rfp LAYOUT_OVERFLOW 73→0)
  • #361 TypesetEngine page_num + PartialTable fit 안전마진
    • finalize_pages 의 NewNumber 적용 조건 정정 (Paginator 시멘틱 이식)
    • PartialTable 직후 fit 안전마진 비활성화
  • #362 kps-ai PartialTable + Square wrap 처리 (8 항목 누적)
    • wrap-around 메커니즘 (Square wrap) 이식 ★ — 외부 표 옆 paragraph 흡수
    • 외부 셀 vpos 가드, PartialTable nested 분할, 잔여 height 정확 계산
    • hide_empty_line, vpos-reset 가드 wrap zone 안 무시, 빈 paragraph skip 가드 강화
    • kps-ai 88→79 페이지, LAYOUT_OVERFLOW 60→5

보안

  • #354 rhwp-firefox/build.mjs CodeQL Alert #17 해소 (execSyncexecFileSync)

검증

  • cargo test --lib: 1008 passed, 0 failed
  • cargo test --test svg_snapshot: 6/6
  • WASM 빌드 통과
  • 작업지시자 시각 판정 통과 (kps-ai p56, p6770, p7273, k-water-rfp 전체)

상세는 CHANGELOG.md 참고.

v0.7.6 — 외부 기여자 다수 + 조판 정밀화

26 Apr 09:35
92c5b6b

Choose a tag to compare

v0.7.6 — 외부 기여자 다수 + 조판 정밀화 사이클

라이브러리

  • 라이브러리 (Cargo.toml / rhwp-vscode / @rhwp/editor / rhwp-studio): 0.7.3 → 0.7.6
  • Firefox 확장 (rhwp-firefox): 0.2.1 → 0.2.2 (AMO 재제출용)

외부 기여 PR (이번 사이클)

영역 기여자 PR
replaceOne API (#268) @oksure (신규 기여자) #334
목차 리더 도트 + 페이지번호 정렬 (#279) @seanshin #282
form-002 인너 표 페이지 분할 (#324) @planet6897 #327
SVG/HTML draw_image base64 임베딩 @oksure #335
Firefox AMO 워닝 해결 (#338) @postmelee #339
typeset 경로 정합 (#340) @planet6897 #341
Task #321~#332 통합 + 회귀 해소 (#342) @planet6897 #343

이번 사이클에 기여해주신 분들: @oksure, @planet6897, @postmelee, @seanshin.

주요 개선 영역

  • 조판 정밀화: 목차 리더 도트 (한컴 동등), 페이지번호 정렬 (한 자리/두 자리 무관), 셀 padding aim 정책 정합화, 인너 표 페이지 분할 결함 해소
  • API 추가: replaceOne(query, newText, caseSensitive) WASM API
  • 출력 정합: SVG/HTML 의 draw_image 가 placeholder 가 아닌 실제 base64 data URI 임베딩
  • Firefox 보안: AMO 검증 워닝 해소 (manifest strict_min_version 142, viewer 번들 보안 sanitize)

검증

  • cargo test --lib: 1000 passed
  • cargo test --test svg_snapshot: 6/6
  • cargo clippy --lib -- -D warnings: clean
  • cargo check --target wasm32: clean
  • web-ext lint --source-dir=rhwp-firefox/dist: errors 0
  • 7 핵심 샘플 + form-002 시각 검증 통과

후속 (별도 이슈)

  • #345: exam_eng.hwp 9 → 8 페이지 회귀 분석 + 수정

상세는 CHANGELOG.md 참조.

v0.7.3 (라이브러리) / v0.2.1 (확장)

19 Apr 12:38
c2e8a34

Choose a tag to compare

v0.7.3 — 라이브러리 / v0.2.1 — 확장

라이브러리 (Cargo, @rhwp/core, @rhwp/editor, rhwp-vscode, rhwp-studio): v0.7.3
확장 (rhwp-chrome / Edge / Safari): v0.2.1

라이브러리와 확장은 별도 버전 정책으로 운영합니다. 본 릴리스는 두 영역의 변경을 함께 묶었습니다.


🎯 사용자 직접 영향 (확장 v0.2.1)

버그 수정

  • 일반 파일 다운로드의 "마지막 저장 위치 기억" 동작 복원 — 확장 활성 시 바탕화면으로 떨어지던 문제 (chrome-fd-001 사용자 보고, #198)
  • 옵션 페이지 CSP 호환 수정 (#166)
  • DEXT5 류 다운로드 핸들러 에서 빈 뷰어 탭 차단 (#198)
  • Windows 한글 파일 경로 처리 오류 수정 (PR #152 by @dreamworker0)
  • 모바일 드롭다운 메뉴 아이콘/라벨 겹침 (PR #161 by @seunghan91)
  • 썸네일 로딩 스피너 + options CSP (PR #168 by @postmelee)

기능 개선

  • HWP 파일 Ctrl+S 시 같은 파일에 직접 덮어쓰기 — 저장 다이얼로그 매번 안 뜸 (PR #189 by @ahnbu)
  • 회전된 도형 리사이즈 + Flip 처리 개선 (PR #192 by @bapdodi)
  • HWPX 파일 열람 시 베타 안내 + 직접 저장 비활성화 — 데이터 손상 방지 (#196)
  • HWPX Serializer Document IR → HWPX 저장 (PR #170 by @seunghan91)
  • HWP 그림 효과 (그레이스케일/흑백) SVG 정확도 개선 (PR #149 by @marsimon)
  • HWPX ZIP 압축 한도 + strikeout shape 화이트리스트 + 도형 리사이즈 클램프 (PR #153, #154, #163 by @seunghan91)
  • 제품 정보 다이얼로그의 버전 표시 정상화

🛠 라이브러리 (v0.7.3)

본 릴리스는 다음 npm/마켓 패키지에 동시 배포됩니다:

  • @rhwp/core — WASM 파서/렌더러
  • @rhwp/editor — iframe 임베드 에디터
  • rhwp-vscode — VS Code Marketplace + Open VSX

라이브러리 측 변경은 본 사이클 외부 기여 기반 안정화가 중심.


⚠️ 알려진 한계

  • HWPX 직접 저장은 비활성화 — HWPX→HWP 완전 변환기 (#197) 완성 시까지. HWPX 파일 열람·편집은 정상이지만 저장은 막혀있습니다. 중요 HWPX 문서는 작업 전 백업해주세요.
  • 인쇄 미리보기 창 크기 비정상 확대 — 일부 환경 (Chrome about:blank 줌 메모리). Ctrl+0 으로 리셋 가능 (#199).

🙏 외부 기여자

이번 릴리스는 다음 분들의 기여로 완성되었습니다:

진심으로 감사드립니다 🎉


📦 다운로드 / 설치

채널 링크
Chrome Web Store (배포 진행 중)
Microsoft Edge Add-ons (배포 진행 중)
VS Code Marketplace https://marketplace.visualstudio.com/items?itemName=edwardkim.rhwp-vscode
Open VSX https://open-vsx.org/extension/edwardkim/rhwp-vscode
npm @rhwp/core npm install @rhwp/core
npm @rhwp/editor npm install @rhwp/editor
Demo (GitHub Pages) https://edwardkim.github.io/rhwp/

🔗 관련 자료

v0.7.2 — VS Code 컨텍스트 메뉴 + 한컴 단축키 + 커맨드 팔레트 + 양식 컨트롤

13 Apr 13:35
a8cc981

Choose a tag to compare

주요 변경사항

VS Code 익스텐션 — 컨텍스트 메뉴 (#132)

탐색기/에디터 탭에서 .hwp/.hwpx 파일 우클릭 시 4개 메뉴 추가:

  • HWP: 인쇄 — webview window.print() 호출
  • HWP: SVG로 내보내기 — 페이지별 SVG 파일 저장 + 진행률 표시
  • HWP: 디버그 오버레이 보기 — 문단/표 경계 시각화 (개발자용)
  • HWP: 문단 덤프 — ParaShape·LINE_SEG Output 채널 출력 (개발자용)

단축키 호환성 정비 (#131)

  • Ctrl+G 계열 보기 메뉴 단축키 완성
  • 브라우저 충돌 단축키 재매핑 (Ctrl+Shift+R/C/DAlt+Shift+H/C/D)
  • Ctrl+/ 커맨드 팔레트 — 152개 커맨드 검색 실행 (Notion/Linear 패턴)
  • 문서 미로드 상태에서 Alt+N 새 문서 생성

투명 선 토글 단축키 (#130)

  • Alt+V, T Chord 단축키로 투명 선 토글

양식 컨트롤 지원 (#110-#112)

  • HWPX checkBtn / btn / radioBtn / comboBox / edit 파싱
  • 양식 컨트롤 셀 커서 진입 + 체크박스 클릭 토글

보안 / 의존성

  • CodeQL XSS 경고 제거 — img.src URL 파싱 강화 (#128)
  • quick-xml 0.39, zip 8.5, TypeScript ^6.0, vite ^8.0.8

배포 대상

패키지 버전
@rhwp/core 0.7.2
@rhwp/editor 0.7.2
VS Code Marketplace (rhwp-vscode) 0.7.2
Open VSX (rhwp-vscode) 0.7.2
GitHub Pages 자동 배포

v0.7.0 — 조판 레이아웃 품질 개선 + 브라우저 확장

11 Apr 12:17

Choose a tag to compare

조판 개선

  • #101 표 캡션 current_height 보정 — LAYOUT_OVERFLOW 43→4건 수정
  • #102 PartialParagraph 페이지 경계 클리핑 방지 — 렌더링 단계 줄 y 클램핑
  • #62 [선][선][표][표] 레이아웃 오류 완전 수정

브라우저 확장 / 썸네일

  • #86 HWP/HWPX 썸네일 자동 추출 (CLI + Chrome 확장 연동)
  • #83/#84/#88 Safari 확장 재작성 + 보안 수정 (macOS 완성)

기타

  • 보안 감사 보고서 및 수정 계획 문서화
  • CLAUDE.md Git 워크플로우 정비

v0.6.0 — 조판 품질 개선 + 비기능성 기반 구축

06 Apr 21:01

Choose a tag to compare

"알을 깨고 세상으로"

v0.5.0 이후 조판 버그 14건 수정 + 비기능성 기반 7건 구축.

조판 개선

  • 같은 문단 TAC+블록 표 배치 (#41)
  • 머리말/꼬리말 Picture 렌더링 (#42)
  • 그림 자르기(crop) + 이미지 테두리선 (#43)
  • 분할 표 셀 세로 정렬 (#44)
  • TAC 표 trailing ls 경계 조건 (#40)
  • 통화 기호 렌더링 ₩€£¥ (#39)
  • Bold↔Normal 반각/전각 폭 정밀화 (#38)
  • 폰트 이름 JSON 이스케이프 (#37)
  • 머리말 표 셀 이미지 (#36)

비기능성

  • GitHub Actions CI (빌드 + 테스트 + Clippy 엄격 모드)
  • GitHub Pages 데모: https://edwardkim.github.io/rhwp/
  • README 리뉴얼 (로고, 슬로건, 스크린샷)
  • 이슈/PR 템플릿, CHANGELOG.md
  • CONTRIBUTING.md 보완
  • GitHub Sponsors 활성화
  • 한컴 HWP 공개 문서 참고 필수 문구 삽입

수치

  • 783+ 테스트 통과
  • Clippy 경고 0건

온라인 데모 | VS Code 확장