handwriter.ttf  by hsfzxjy

Handwriting synthesizer using Harfbuzz WASM

Created 1 year ago
485 stars

Top 62.9% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a proof-of-concept for runtime handwriting synthesis using Harfbuzz WASM shaper and a lightweight RNN model. It targets developers and researchers interested in novel font rendering techniques and offers a unique approach to generating dynamic, personalized text styles.

How It Works

The system synthesizes handwriting by employing an RNN model that predicts sequential pen strokes based on input text. These strokes are then rasterized using Bresenham's line algorithm and mapped to glyph offsets. This approach prioritizes low runtime latency, making it suitable for dynamic generation, unlike more complex, recent models.

Quick Start & Requirements

  • Install/Run: make run (fetches Docker image and starts modified gedit).
  • Prerequisites: Linux with X11 (WSL compatible), Docker, Git LFS.
  • Setup: Requires cloning the repository and running the make command.

Highlighted Details

  • Leverages Harfbuzz WASM shaper for runtime font synthesis.
  • Employs a ~14MiB RNN model for stroke generation.
  • Achieves 0.08 sec/character performance on Intel Ultra 125H.
  • Requires a custom-built libharfbuzz with experimental WASM shaper enabled.

Maintenance & Community

The project is a personal proof-of-concept by hsfzxjy. No community channels or roadmap are explicitly mentioned.

Licensing & Compatibility

Licensed under Apache 2.0. Compatible with commercial use and closed-source linking.

Limitations & Caveats

Requires a custom-built libharfbuzz with experimental WASM shaper support, which is not available in standard product builds. Some generated strokes may appear "cursed" due to model limitations.

Health Check
Last Commit

1 year ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.