Show HN: Handwritten.js – Convert typed text to realistic handwriting
github.com
github.com
When I looked at the example image in the original submission, the same letters all look basically identical to me -- I can't figure out why it's JavaScript rather than just a font.
Yours actually looks like real handwriting. It's quite slow, though -- like the actual speed it takes to write. Was just wondering if you slowed it down intentionally for effect, or if that's just how long the NN takes?
Also, I'm not familiar with the space, but this feels like something you could commercialize as a plugin for Illustrator or something like that -- particularly if you had a range of sliders to really fine-tune the desired text properties (width, weight, weight variation, etc.).
(Just kidding)
A couple of times, using Style #2, it generated a bunch of loops at the end:
Text: "The quick brown fox, etc" Image: https://pasteboard.co/Jn0O17a.png
Still - nifty, and fun to play with. Makes me want to find an application / excuse to use it :)
Like, how does one letter it doesn't know how to write well make it skip/mess up the following ones too? I mean, "derail" seems a fitting description to what I'm seeing, but how?
I can't think of a practical use for this, but that's not stopped me wasting the last 15 minutes getting my machine to write out expletives in neater cursive than I could manage...
- ed
Oh, and this is by far the best digital 'handwriting' I've ever seen, despite the occasional glitches and believe me - I've been interested in this sort of thing for decades.
I've been dicking around with it for an hour or two and I'm getting results that - if i mingle outputs - are to my eye completely human in nature.
Honestly, as an ex sort of still designer who still engages with that sort of community, i see a tool like this that makes neat scripty vector paths (and I think that is particularly important) as being super-useful. It outputs unique forms that are individual in nature. I'm thinking all the graphic designers who makes stuff for weddings and invites and whatnot.
Needs work, and I have absolutely no concept of how complex it is to refine things, but what you have here is a helluva start to something I think could be immensely useful to some people.
- minor eds
- ed ed
Can you manage the stroke widths through the cursive forms, thinner when drawn quicker and straighter, fatter when slower around corners, for example?
Could you create a 'written test' type thing - a couple of pages of selected forms of repeated instances of glyphs and interactons - that would be used as input and to learn a passable subset of one's own handwriting?
A random FYI: the demo seems to consistently fail on the letter x when using style #9 and typing out:
The quick brown fox jumps over the lazy dog
I tried a few different spots on the legibility slider with similar results..
It draws the first "top left to bottom right" line, but then instead of a "top right to bottom left" it draws another "top left to bottom right" next to it..
Also, is there any chance we can fine tune the model for each user by taking their handwriting in a predetermined template file?
I checked the console and it was indeed throwing an error
"Error: Backend name 'webgl' not found in registry"
I am only running Pi-Hole on my network but then again if that was a problem it would not have worked on my MacBook either
Sadly, the screenshot looks obviously artificial to me. Like handwriting fonts, I'd be very surprised if anybody thought it was really handwritten.
It's not open source (because it is my handwriting (because my progressive MS means I can't do it manually)), but here's my hack: https://imgur.com/a/frqG0cu
As sjv says above, there are still plenty of tells in mine. So I think this module is very unconvincing.
Maybe I've spent too much time being finicky or am just being braggy (definitely not beyond me, sorry), but 'realistic'?
Most of the people I know do this. Myself, I have never ever written with joined letters except when required to in school.
I consider it a leftover from the era of fountain pens (which are terrible UX for me as a left-handed writing LTR languages).
Even my signature is based on separate letters (tho blurred together as sigs usually do).
Can I ask what age-group you/they are? And it sounds like you had to write joined-up at school. Why would you stop? Isn't it so much faster?
I went to a snooty high school where fountain pens were compulsory (this was the 80s, not the 50s!). But writing was taught joined-up from pencils in infant school, from when you knew your whole alphabet. It never occurred to me to not join. It would have looked like a very small child's writing. Interesting though that has changed.
My wife is a grade school teacher, and disagrees, but I totally think that teaching handwriting is a waste of time. I wasn't anywhere near as fast writing as typing. I would have been much more productive with a laptop in school.
Anyway. I'm rambling now. Thanks for the response! I stand corrected.
That was some 33 years ago but I have an 8yr old now and that part of the curriculum is basically the same.
Both then and now kids only need use pencils for this, thankfully :)
For myself, written joined up is more effort and slower than just individual letters. I don't know if that's due to less practice in it, or due to left handed needing to push the pen(cil) more when writing in that style.
I'm way faster touch typing (tho not on a screen keyboard!). If it were up to me, kids today would learn the easiest handwriting method (I believe that's individual letters) and typing, instead of two ways of writing.
Thanks for sharing your thoughts! Always interesting to find how somr things I take for granted are done/seem elsewhere!
As an anecdata, Alfred Wainwright did all his books like that (and justified the text, to boot.)
cf https://www.ramblers.org.uk/-/media/Images/Walk%20magazine/F...
I think this was more his graphic design style for his books. As you say, the justification shows there's nothing impromptu about it. Here's how he wrote his letters, notes, drafts and so on: https://www.grough.co.uk/lib/img/editorial/wainwrightmanuscr...
I'm not splitting hairs on what 'handwriting' means. I'm fascinated by that era when books with complex text/visual interactions were far cheaper to create by hand. An example of an old magic book I have: https://imgur.com/a/8Bu9ML1 It's hard to beat Wainwright though.
I’m very envious of my son, in his classes they distribute the materials via Google drive and spend the class time in discussion and working out problems.
Forgers are not good imitating signatures, but they discovered how to create the celebrity handwriting using an autopen, which means is harder everyday to distinguish real ones from fake ones. Collectors are used to them - and we track eBay sellers, buyers, etc, so we have an idea of who is who, but people who just want to buy a signed book for a birthday present, may end paying thousdans of dollars but something fake that has no value.
I see the importance of projects like this, but in the other hand, I cant help thinking that every piece of tech that imitates human behaviour can be used for bad.
Does it not support a glyph? Just add it. Produces weird output? It's a bug, not a black box issue, just read the code. Want to use it or port it? It's just character substitution, go ahead.
A fun twist on the idea would be to generate an SVG path for each character and then apply some morphing to the path so character strokes are unique.
I'm left wondering if there is some new innovation here combined with popularity in some marketing newsletter.
I went looking for the device that could do this and have come up empty-handed. Does anyone know what could create such?
I know a font can define unique ligatures for every character combo, but that would still mean the same combos like "fi" always look the same. Nice thing about this low-tech solution is that it can be trivially scaled up to introduce its own ligatures yet pick from them randomly, just at the expense of chore work (making the images).
Of course, at that point, it would be tempting to start looking for a more general solution.
In theory, yes, OpenType Contextual Alternates can do this.
See "Introducing variety" on this page: https://www.typenetwork.com/news/article/opentype-at-work-co...