Show HN: Handwriter.ttf – Handwriting Synthesis with Harfbuzz WASM
The handwriter.ttf GitHub repository features a handwriting synthesizer using a compact RNN model, requiring Linux with X11, and activates in gedit with lines starting with `#`.
Read original articleThe GitHub repository **handwriter.ttf** features a handwriting synthesizer that employs the Harfbuzz WASM Shaper. The project aims to generate handwriting-style fonts in real-time using a compact recurrent neural network (RNN) model, which is approximately 14 MiB in size. It draws inspiration from the llama.ttf project and investigates the capabilities of WASM shapers for font synthesis. To use the project, users must clone the repository on a Linux system with X11, navigate to the directory, and run the project. Typing in the pop-up gedit window requires each line to start with a `#` to activate the shaper. The underlying RNN model is based on Alex Graves's research, and the project utilizes Bresenham's line algorithm for stroke rasterization, achieving a character generation speed of 0.08 seconds on an Intel Ultra 125H. Additional resources include a demonstration video on YouTube and related projects like Harfbuzz-WASM-Fantasy. The project is licensed under the Apache 2.0 License.
- The project synthesizes handwriting-style fonts using a lightweight RNN model.
- It requires a Linux system with X11 for installation and usage.
- Users must prefix lines with `#` in gedit to trigger the handwriting synthesis.
- The RNN model is inspired by Alex Graves's research on sequence generation.
- The project is licensed under the Apache 2.0 License.
Related
Llama.ttf: A font which is also an LLM
The llama.ttf font file acts as a language model and inference engine for text generation in Wasm-enabled HarfBuzz-based applications. Users can download and integrate the font for local text generation.
Amiga 500 "Topaz" font updated for the 21st century
A modernized version of the classic Amiga 500 font "Topaz" called "topaz-unicode" on GitLab, created on January 25, 2024, with 24 commits. The project aims to update the nostalgic font for contemporary use.
Handwritten Text Recognition for Xournal++ Using Deep Learning
The Xournal++ HTR project enhances the Xournal++ app with handwritten text recognition, prioritizing user privacy. It supports community contributions and future improvements in HTR performance through various development strategies.
ASCII 3D Renderer for JavaScript
The GitHub repository features an ASCII 3D Renderer in JavaScript, with a live demo available. Installation requires `pnpm`, and the project is licensed under the MIT License for open use.
An open source Claude Artifacts – generate small apps with one prompt
Llama Coder is an open-source tool that generates small applications from a single prompt using the Llama 3 405B model, aiming to assist developers in rapid application development with future enhancements planned.
- Many users express confusion about the functionality and practical applications of the synthesizer.
- Some commenters highlight the potential for using this technology in creative or deceptive ways, such as faking documents.
- There is a desire for better development tools for handwriting input in programming environments.
- Several users are impressed by the underlying technology, particularly the use of RNNs and real-time font synthesis.
- Some comments reflect a humorous or critical take on the future of fonts and their implications.
In the year 2077, when each font will run it's own virtual machine on WASM containing a "minimal" Ubuntu image, some enlightened blogger will suggest server side rendered fonts as a performance improvement.
Without trying to steal the thread, what I would care is actually the opposite direction.
Neither in Swift Playgrounds, nor in any other programming development environment apps for both mobile OSes, have I found a good development experience using pen instead of keyboard.
Given how many of us "program" in paper notebooks, it is quite incredible that besides a couple of research projects done by PhD students, no one cares to actually make it more widespread in a usable way.
as the demo video shows, it's probably not something you want to have in between you and the ability to scroll a web page or close a tab. but i guess using harfbuzz now means we're buying into a turing-complete virtual machine running an arbitrary program in order to display a glyph. how seriously crippled are the harfbuzzless rendering paths? i'm assuming opting out of harfbuzz means opting out of arabic, devanagari and other indic scripts, etc.? is there a less out-of-control alternative that doesn't leave two billion people out in the cold?
We built a WebGL text renderer with full CJK support using Harfbuzz for our production whiteboard web app. I thought that was complicated until now.
The llama.ttf video does a pretty good job explaining what the heck is going on
I love it.
I can't wait for the next beautiful nightmare. Maybe someone should mix font rendering with PDF rendering. Of course, with a LLM doing something in the middle.
Related
Llama.ttf: A font which is also an LLM
The llama.ttf font file acts as a language model and inference engine for text generation in Wasm-enabled HarfBuzz-based applications. Users can download and integrate the font for local text generation.
Amiga 500 "Topaz" font updated for the 21st century
A modernized version of the classic Amiga 500 font "Topaz" called "topaz-unicode" on GitLab, created on January 25, 2024, with 24 commits. The project aims to update the nostalgic font for contemporary use.
Handwritten Text Recognition for Xournal++ Using Deep Learning
The Xournal++ HTR project enhances the Xournal++ app with handwritten text recognition, prioritizing user privacy. It supports community contributions and future improvements in HTR performance through various development strategies.
ASCII 3D Renderer for JavaScript
The GitHub repository features an ASCII 3D Renderer in JavaScript, with a live demo available. Installation requires `pnpm`, and the project is licensed under the MIT License for open use.
An open source Claude Artifacts – generate small apps with one prompt
Llama Coder is an open-source tool that generates small applications from a single prompt using the Llama 3 405B model, aiming to assist developers in rapid application development with future enhancements planned.