Coding My Handwriting

He coded his cursive—now everyone wants to write code in it

TLDR: A coder turned their own cursive into a smart, joinable digital font, complete with rules so letters connect cleanly. Commenters split between wanting it in a code editor today, raising legibility and accessibility concerns, and pushing for a neural‑network version—proof that handwriting still hits a nerve in the age of screens

The maker said cursive was “too much work”… then did it anyway, tracing their own pen strokes into a digital font by plotting points, smoothing the lines, and teaching letters how to link arms without tripping. Think: a DIY tool in p5.js for tracing letters, a little math magic via Chaikin’s curve, and a clever system that tells each letter how to join the next at the right height. It’s nerdy, nostalgic, and surprisingly gorgeous.

But the comments came to play. One camp is screaming “demo or it didn’t happen,” with readers begging to see curly braces in cursive and whether a code editor could survive the vibe. Another angle turned the feel-good story into a real talk on readability: a commenter with dysgraphia praised the clean style but said they’d need randomness (RNG, a random number generator) to keep letter shapes varied—and warned that without alignment they might blur together. Accessibility vs aesthetics: enter the drama.

Meanwhile, the “robots, take the wheel” crew chimed in, dreaming of neural networks (NNs) auto-learning a personal handwriting style instead of hand-tuning points. It’s Team Handcrafted vs Team Train-It, with memes about “Make Cursive Great Again” and jokes about commit messages looking like love letters. Consensus? This project slaps; now show it in a real coding session

Key Points

  • The author previously built a block-print alphabet by defining key points, smoothing with Chaikin’s curve, creating variable-width shapes, and drawing with p5.js.
  • For cursive, they built a p5.js editor tool to place and edit control points, output path coordinates, and trace letters from an image of their handwriting.
  • Each letter has 2–3 path options; paths are represented as arrays of (x,y) points that are later smoothed and shaped.
  • Cursive letter joining posed challenges (e.g., ‘na’, ‘ti’), revealing that ad hoc point edits for specific pairs were not robust.
  • A join-class system (0–3) at the start/end of each letter path was introduced to govern connection behavior at baseline/x-height levels.

Hottest takes

I thought this would end with an example of using this font for code — egonschiele
If i were doing this id need to use rng to pick alternates of the same letter. — tedtimbrell
I've always wanted to do something similar, but with NNs — nxobject
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.