Skip to content

Handwriting Studio

The custom-base branch of Simon's fork combines a React / TypeScript workspace, a Python / FastAPI rendering service, and an Electron desktop app. Enter text, convert LaTeX, tune the handwriting, then export a zip of PNGs or a PDF.

This documentation site does not provide a generation API. To use the app, run it locally, self-host, or use the desktop app. main mirrors upstream; the separate flutter branch maintains the Flutter / Rust migration.

What it does

  • Custom fonts

    Upload your own font, or select a server font. Interface typography is independent of the handwriting font.

  • Math and text conversion

    Convert LaTeX, clean Markdown, and lay out fractions, radicals, and scripts. See Architecture and Technology Stack for module responsibilities.

  • Background image

    Upload your own background. Without one, just give a width and height and the app generates ruled paper for you.

  • Tunable parameters

    Font size, line spacing, all four margins, underlines — plus jitter for character spacing, size, line spacing, stroke offset, rotation, ink depth and strikethroughs.

  • Layout markers

    --- on its own line forces a page break; a leading >>> right-aligns a line (handy for signatures and dates).

  • Chinese letter layout

    One click tidies the text into a compact Chinese letter: two-space paragraph indent, no blank lines between paragraphs, signature and date pushed to the right.

  • Import documents

    Upload .docx / .pdf / .txt / .rtf and have the text extracted for you.

  • Preview and export

    Preview the result, then export every page as PNGs (zipped) or as a single PDF.

  • Built-in preset

    Apply built-in handwriting presets, or save and load your own settings.

Start here

Credits

This project is based on 14790897/handwriting-web. See LICENSE for the code license. Fonts carry their own licenses.