midad

# مداد **محرر مفتوح المصدر للخط العربي.** تكتب العبارة، فيرسمها المحرك بخط حقيقي، ثم تختار لكل حرف شكله، وتمدّ الوصلات، وتحرّك الحروف وتكبّرها وتميلها، وتصدّر النتيجة رسمًا متجهًا (SVG) أو صورة. يعمل في المتصفح وعلى سطح المكتب (ويندوز، ماك، لينكس) بالكود نفسه.

Midad

An open-source editor for Arabic calligraphy. Type a phrase, pick the shape of every letter, stretch joins with kashida, move, scale and slant letters, and export vector artwork. The same engine runs in the browser and in the desktop app.

The Midad editor: the meem is selected, its alternate shapes are listed in the panel, and the join between beh and seen is stretched.

What makes it different

Quick start

# prerequisites: Rust (stable), Node 20+, wasm-bindgen-cli 0.2.129
cargo install wasm-bindgen-cli --version 0.2.129 --locked
npm ci
npm run build:wasm
npm run dev            # → http://localhost:5173

Desktop: npm run desktop:dev (needs the Tauri prerequisites).

Command line:

cargo run -p midad-cli -- render -s styles/naskh-amiri -t "بسم الله الرحمن الرحيم" -o basmala.svg

Repository

Path  
crates/midad-core The engine (Rust): shaping, alternates, kashida, documents, SVG export
crates/midad-wasm WebAssembly bindings
crates/midad-cli midad command-line tool
apps/web Editor UI (React + TypeScript + Vite)
apps/desktop Desktop app (Tauri 2)
styles/ Style packages (naskh-amiri)
tools/ Style compiler (Python + fontTools)
docs/ Documentation

Documentation

License