An offline workbench for composing, comparing and exporting Chinese and Japanese calligraphy.
简体中文 · 日本語 · Live demo · Download v0.7.1
Stage: Alpha. Automated checks and release artifacts exist; independent installation, upgrade and sustained user validation remain outstanding. Current application manifests and published downloads are version 0.7.1, but default-branch changes are not automatically included in those downloads.
- Chinese and Japanese traditions are separated by default; cross-tradition exploration is explicit.
- Compose up to 1,000 characters, replace glyphs, adjust layout and ink, then save project JSON or export artwork. Long-roll mode arranges up to 20,000 characters across pages.
- Visual Profile compares shape, ink density, balance and spacing. Scores help compare candidates; they do not measure artistic quality.
- Bundled fonts and samples work without an account or mandatory API. Sources and applicable rights stay attached to projects and historical-artwork exports.
Japanese sources include Yuji, Klee One, a labelled Source Han Serif JP coverage subset and 20 attributed CODH historical crops. Fonts are contemporary interpretations, not manuscript originals. See Japanese coverage, data sources and Visual Profile for evidence and boundaries.
| Platform | v0.7.1 package | Start |
|---|---|---|
| Windows x64 | Installer or portable executable | Install or run the portable executable |
| Web | Offline ZIP | Extract and serve over local HTTP |
| Android | APK | Android 7.0+ |
Historical filenames still use CalligraphyStudio. Check downloads against SHA256SUMS.txt; on Windows use Get-FileHash <file> -Algorithm SHA256. Windows packages are unsigned. Android uses the persistent v0.7.1 signing key; physical-device storage, sharing and lifecycle acceptance is pending. See signing details.
For the offline Web ZIP, keep the extracted directories together and run this inside the extracted folder:
python -m http.server 8080Open http://localhost:8080. This local server needs Python 3; editing needs no internet after download. Double-clicking index.html is not the supported launch method. The hosted demo first downloads its assets from GitHub Pages; use a downloaded package for explicit offline operation.
- Open the demo or a local package. Select Chinese or Japanese, enter text and choose a layout.
- Generate a composition. Select a glyph to inspect its source, compare alternatives and preview a replacement.
- Save project JSON to continue editing, or export artwork. Back up projects before upgrading; see schema migrations.
Drafts and caches stay on the current device. Export files for backup or transfer. Long-roll results last only for the current session: export the page ZIP before refreshing.
Use Node.js 22 (the CI version) and npm:
git clone https://github.com/styayur/calligra.git
cd calligra/apps/web
npm ci
npm run dev -- --mode desktopOpen the URL printed by Vite, normally http://localhost:5173. Desktop mode uses bundled static assets; the optional FastAPI/SQLite corpus service is not required. Its development dependencies need Python 3.11+; installation and test commands follow below. See architecture and contributing for corpus and platform development.
From apps/web:
npm run typecheck
npm run test:visual
npm run build:desktopFor the optional API, from apps/api:
python -m pip install -r requirements.txt -r requirements-dev.txt
python -m pytest -qThe Verify workflow also runs dependency audits, asset/provenance checks, built-browser regressions, packaged Windows renderer checks and Android package builds. CodeForge regression is an existing development gate. Windows x64, Web and Android have release artifacts; builds and automated renderer checks do not establish installer, upgrade or physical-device acceptance.
- Japanese text uses glyph cells. Full kinsoku, connected-kana continuity, tate-chū-yoko, arbitrary IVS and complete mixed-script vertical orientation are not implemented.
- Historical samples and orthographic mappings are limited; Korean is not supported. The UI is primarily Chinese, with English and selected Japanese terms. README translations do not imply a translated application.
- Large ZIP exports are assembled in memory; rendering can vary between platforms. Long-roll mode does not provide individual glyph dragging.
- Windows installer, upgrade and IME acceptance, plus physical Android storage, sharing and lifecycle checks, remain unverified. Older clients may discard v2 project fields when resaving.
Next work includes reviewed Japanese mappings and vertical layout coverage, easier local corpus installation, and native-device export validation. Composition presets and tablet input remain future directions. Phase gates distinguish implemented work from conditional research; no delivery dates are promised.
Read CONTRIBUTING.md for development and asset provenance rules. Report reproducible bugs through Issues; use SECURITY.md for vulnerabilities. Do not commit local databases, caches, exports or unlicensed assets.
Application code is GPL-3.0-or-later, as declared by current manifests. Fonts, images, datasets and software retain their own terms: OFL-1.1 fonts, CC BY-SA 4.0 CODH crops and derivatives, MIT NCCU samples, and ARPHIC-licensed Hanzi Writer structural data. Restricted MCCD/HCSU data and the full CODH corpus are not bundled.
See font licenses, asset policy and third-party inventory. Current generated notices take the application license from its manifest, correcting stale MIT labels after the recorded GPL adoption. Historical downloads are not rebuilt or retroactively relicensed; review the terms included in the version you obtain. Third-party license texts and receipts retain their own terms.
