iPad HWP/HWPX 문서 뷰어 + Apple Pencil 주석 — App Store 무료 출시 · 다운로드
iPad 전용 한컴 한글 (HWP / HWPX) 및 PDF 문서 뷰어. Apple Pencil 손글씨 주석을 페이지 좌표에 anchor 한 .hopa 패키지로 보존하며, iCloud Drive 동기화를 지원합니다. 오픈소스 rhwp Rust 엔진 (MIT) 위에 빌드됨.
📱 App Store: https://apps.apple.com/app/id6773033442 · 🌐 Landing: https://hwpad.calidalab.ai/ · 📄 Privacy: https://hwpad.calidalab.ai/privacy.html
| 라이브러리 | Apple Pencil 주석 |
|---|---|
![]() |
![]() |
본 앱은 (주)한글과컴퓨터 와 무관한 독립 개발 앱입니다. HWP / HWPX 는 (주)한글과컴퓨터의 파일 형식이며, 본 앱은 공개 명세에 기반한 오픈소스 엔진 rhwp 을 사용합니다. "한글", "한컴" 등은 각 권리자의 등록상표이며, 본 앱은 호환성 표시 목적으로만 해당 명칭을 사실 그대로 인용합니다.
| 영역 | 상태 |
|---|---|
| 한글 (.hwp / .hwpx) 문서 뷰어 | ✅ |
| PDF 문서 뷰어 | ✅ |
| Apple Pencil 주석 (펜·연필·형광펜) | ✅ |
| 페이지 좌표 기반 anchor — 줌/스크롤 invariant | ✅ |
.hopa 패키지 영속화 + UIDocument autosave |
✅ |
| iCloud Drive 동기화 | ✅ |
| 페이지 썸네일 사이드바 + 목차 + 북마크 | ✅ |
| 빠른 키워드 검색 (rhwp bbox 기반) | ✅ |
| 라이트 / 세피아 / 다크 테마 | ✅ |
| PDF / AirPrint / .hopa 공유 | ✅ |
| 표 / 그림 / 수식 (분수·적분·행렬) 렌더링 | ✅ |
| STIX Two Math + Source Han Sans/Serif KR 번들 | ✅ |
| 데이터 수집 0 / 광고 0 / 자체 서버 0 | ✅ |
HWPADApp (SwiftUI)
└─ ContentView
└─ LibraryScreen ← 사이드바 + 카드 grid + UIDocumentPicker
└─ ViewerScreen ← UIKit modal (SwiftUI lifecycle 우회)
├─ TopBar ← 뒤로/사이드바/제목/검색/북마크/공유/펜/설정
├─ pageArea ← ZoomablePageView + PencilKit overlay
├─ penToolbar ← floating annotation tools
├─ bottomScrubber
└─ sheets ← Sidebar/Search/Share/Settings/Info
Core/
├─ Rhwp/ ← Swift wrapper for RhwpNative.xcframework (Rust C ABI)
├─ Rendering/ ← PageLayerTree → CGContext + EquationRenderer (LayoutBox)
├─ Document/ ← .hopa UIDocument package (HWP + PKDrawing per-page)
└─ ...
rust-extensions/ ← rhwp 위에 동작하는 C ABI 확장 (Cargo path dep)
external/rhwp/ ← git submodule, READ-ONLY (v0.7.12 pinned)
자세한 아키텍처는 Documentation/Dev-plan 참조.
- App: Swift 5.9+, SwiftUI, UIKit, Combine, async/await
- Document Engine: rhwp (Rust → XCFramework)
- Rendering: Core Graphics + Core Text (no Skia)
- Annotation: PencilKit (PKCanvasView / PKDrawing / PKToolPicker)
- PDF: PDFKit (composite output)
- Storage: UIDocument (per-document
.hopapackage) - Sync: iCloud Drive (NSFileCoordinator)
- Target: iPadOS 17+ · iPad Pro M-series / iPad Air / iPad mini
rustup target add aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios
# Xcode 15.2+ / Swift 5.9+git submodule update --init external/rhwp
./scripts/build-xcframework.sh # rhwp + rust-extensions → Dist/RhwpNative.xcframework
open HWPAD.xcodeprojxcodebuild \
-project HWPAD.xcodeproj \
-scheme HWPAD \
-destination 'platform=iOS Simulator,name=iPad Pro (13-inch) (M4)' \
buildXcode → Product → Archive (Any iOS Device (arm64)) → Distribute App → App Store Connect.
필요: Calida Lab Inc. (DEVELOPMENT_TEAM 8677QL77VJ) Apple Developer 계정.
./scripts/deploy-homepage.sh
# → rsync to Digital Ocean droplet + nginx reload
# → https://hwpad.calidalab.ai/| 문서 | 내용 |
|---|---|
| Documentation/CONVENTION.md | 코딩 컨벤션 |
| Documentation/Dev-plan | v0.5 마스터 아키텍처 |
| Documentation/Backlog-v1.1.md | v1.1+ 백로그 |
| Documentation/AppStore-Metadata.md | App Store Connect 메타데이터 |
| Documentation/TO-DO | TODO 진행 / 해결 기록 |
- HWPad app: MIT — © 2026 Calida Lab Inc. (see LICENSE)
- rhwp engine (embedded via XCFramework): MIT © edwardkim/rhwp — attribution in app's About screen
- 번들 폰트:
- Source Han Sans KR / Source Han Serif KR — Apache 2.0 © Adobe
- STIX Two Math — OFL 1.1 © STI Pub Companies
- Pretendard (landing page only) — OFL 1.1 © Kil Hyung-jin
- Apple frameworks (PencilKit, PDFKit, StoreKit): Apple SDK license
- 한컴 폰트: 미사용 (라이선스 미보유, Apple SD Gothic Neo 등으로 대체 렌더링)
Kennt Kim · Calida Lab · kenntkim66@gmail.com

