Coding My Handwriting(amygoodchild.com)
amygoodchild.com
Coding My Handwriting
https://www.amygoodchild.com/blog/cursive-handwriting-in-javascript
80 comments
I am pretty convinced that coding my handwriting could be considered a one-way hash; there is no way to decipher what the hell I was trying to say when reading it.
Sounds like a challenge! https://www.handwritingocr.com :)
[deleted]
I had to unlearn cursive in college because of that.
Same here and even impossible to decrypt to myself after few hours
It's getting worse every time I am forced to write now too, since I do it so infrequently. I type nearly everything now, and I only write stuff with a pen (outside a signature) roughly two or three times a year, and every time I do it's more difficult to figure out what I actually wrote.
I wish there were an easy way to print stuff on the go, and then I'd never have to use a pen again; maybe as we get to a paperless society that'll be the case.
I wish there were an easy way to print stuff on the go, and then I'd never have to use a pen again; maybe as we get to a paperless society that'll be the case.
There is a very cool youtube video with something similar from Stuff Made Here:
https://www.youtube.com/watch?v=cQO2XTP7QDw
Was very fun to watch and he also explains the trials and errors, he did.
There is also a link to a very interesting repository of handwriting synthesis: https://github.com/sjvasquez/handwriting-synthesis
https://www.youtube.com/watch?v=cQO2XTP7QDw
Was very fun to watch and he also explains the trials and errors, he did.
There is also a link to a very interesting repository of handwriting synthesis: https://github.com/sjvasquez/handwriting-synthesis
The art at the end is quite beautiful. I wonder if the next step is putting this into a real font so that you can type with it in any program...
Plottable fonts are a thing! They're different from the "normal" font we think of, because they need to be a path to be traced instead of an outline to be filled.
If you already have curves, you can do that quite easily (maybe tediously, if you have to/want to do it manually).
Yes, but she uses different glyphs depending on which letters are next to each other, not sure if that is supported.
Fonts have supports for that. I know that the Urdu Jameel Noori Nastaleeq font, has hundreds (maybe more) of complete words hardcoded into the font.
You could use ligatures:
https://fonts.google.com/knowledge/glossary/ligature
https://fonts.google.com/knowledge/glossary/ligature
Yeah, even "normal" fonts have ligatures (a couple common ones in many fonts are fl and ti though they don't appear to be used in the font being used to render this comment), so this is definitely no technical obstacle if one really wants a font. Obviously a bunch of work to create, but pretty cool to have!
Arabic language letters change based on their position in the word. And there's multiple fonts for it.
Indeed, I love how she's blending technology and art here.
I am really confused about the point of joining letters not matching up. The whole point of cursive to me is that you do not take your pen off the paper, so the way to join letters is built in. Author seems to have had issues because she’s not actually writing that way?
That said, I really enjoy the whole rest of this writeup for just being the simplest possible way you can go about drawing a bunch of letters on screen without messing with fonts :)
That said, I really enjoy the whole rest of this writeup for just being the simplest possible way you can go about drawing a bunch of letters on screen without messing with fonts :)
> The whole point of cursive to me is that you do not take your pen off the paper, so the way to join letters is built in.
This is both correct in the way you word it here, and, incorrect regarding your interpretation. The connection between letters in cursive is context-dependent. A “b” followed by an “a” or an “o” will likely have variations since it improves the readability of what you write. Similarly there are times where you might not want to keep the pen on the paper between letters within a word, which doesn’t break the “rules” of cursive.
You may have been taught differently and maybe your teachings were correct. I’m not aware of any form of cursive where connections are not supposed to be context-dependent though.
This is both correct in the way you word it here, and, incorrect regarding your interpretation. The connection between letters in cursive is context-dependent. A “b” followed by an “a” or an “o” will likely have variations since it improves the readability of what you write. Similarly there are times where you might not want to keep the pen on the paper between letters within a word, which doesn’t break the “rules” of cursive.
You may have been taught differently and maybe your teachings were correct. I’m not aware of any form of cursive where connections are not supposed to be context-dependent though.
The point, which the author discusses at length, seems to be that different letter pairs match up in different ways, which needs to be accounted for.
I'm wondering if cursive has been taught differently over the last few decades -- I was taught in the 70s, and at that time the instruction was that letters always start and end at the same point. That instruction clearly does not match up to the article or some comments, but rather than quibbling over which of us is correct, I'm more curious how the teaching may have changed over the years?
For an extra data point, I was taught in 1995.
Zaner-Bloser looks the closest to what I was taught, but is not a perfect match.
I think I suffer from ‘what I was taught is correct’ syndrome. Of course multiple ways can be correct, but it certainly does address the ‘not matching up’ point
Zaner-Bloser looks the closest to what I was taught, but is not a perfect match.
I think I suffer from ‘what I was taught is correct’ syndrome. Of course multiple ways can be correct, but it certainly does address the ‘not matching up’ point
In the 90s, I learned D'Nealian cursive: https://en.wikipedia.org/wiki/D%27Nealian
Yes, there are lots of different styles of cursive that have been taught at various times and places over the last 100 years
there's https://en.wikipedia.org/wiki/Spencerian_script and https://en.wikipedia.org/wiki/Zaner-Bloser_(teaching_script) and https://en.wikipedia.org/wiki/Palmer_Method and https://en.wikipedia.org/wiki/D%27Nealian
probably more.
there's https://en.wikipedia.org/wiki/Spencerian_script and https://en.wikipedia.org/wiki/Zaner-Bloser_(teaching_script) and https://en.wikipedia.org/wiki/Palmer_Method and https://en.wikipedia.org/wiki/D%27Nealian
probably more.
No they don’t. At least in my cursive writing. Line from end of last letter to beginning of next letter is always correct, since you don’t take your pen off the paper. That’s not different between the code and the reality.
If your letters look wrong it’s because you are starting them in the wrong place. Or because you take your pen off the paper. Letters either end in the bottom right or top right, and begin in the upper left. A straight line should always be correct.
The issue with the a that looks like an e is because the author is trying to start writing her a on the left side of the character.
If your letters look wrong it’s because you are starting them in the wrong place. Or because you take your pen off the paper. Letters either end in the bottom right or top right, and begin in the upper left. A straight line should always be correct.
The issue with the a that looks like an e is because the author is trying to start writing her a on the left side of the character.
Obviously the letters connect, but where a given letter ends depends on the following letter, and where a given letter starts depends on the previous letter.
For example, in standard American cursive, b, o, v, and w have a top exit stroke, whereas the rest of the lowercase letters finish on the writing line. Combine this with the letter a, which has a top entry stroke, so the oa will join at the top, whereas ea will join from bottom to top.
For example, in standard American cursive, b, o, v, and w have a top exit stroke, whereas the rest of the lowercase letters finish on the writing line. Combine this with the letter a, which has a top entry stroke, so the oa will join at the top, whereas ea will join from bottom to top.
I don’t see how this matters? They’re splines right? Just quickly writing those down I see a very minor variation in how they connect, but ultimately that variance’d be hardly noticable.
Regardless, the end of the o or e, to the beginning of a is still a straight line.
Regardless, the end of the o or e, to the beginning of a is still a straight line.
The article gives explicit examples of where just connecting them with a straight line does not look right, and is noticeable.
Absolutely, and that’s how I can see that it has more to do with the form of the letter than the fact that joining without adjustment is impossible.
Anyhow, I doubt we’re going to convince each other here. Since the tool is right there I might just give it a try.
Anyhow, I doubt we’re going to convince each other here. Since the tool is right there I might just give it a try.
At this point I'm not sure what we're disagreeing about :)
Interesting. In the 90s in Germany I learned that for some letters you lift the pen, even though the result will look connected, e.g. "ac" would lift after the a, draw the c leftwards, touching the end of the a and then swing around to the next letter, kinda like this, but leaving no gap between the letters: /C
Also, t would be disconnected with itself, being written like /| followed by a - overlapping the |
Also, t would be disconnected with itself, being written like /| followed by a - overlapping the |
every pair of letters join in a different way
it's similar to kerning with even non-joining fonts, you need to encode how various sequences of letters appear
it's similar to kerning with even non-joining fonts, you need to encode how various sequences of letters appear
Is it possible to encode (in some existing program) for letter pairs where each code point is the right-hand side of the first letter of the pair plus the left-hand side of the second letter in the pair ?
I ask because upper-case Finnish has lots of really gnarly whitespace/kerning issues. Letter pairs like LJ and KY and YT and VY that could get special attention, even stroke joining, in a font such as I describe.
So a fragment like " KEVYT." could be encoded as (spc + lh-K), (rh-K + lh-E), (rh-E + lh-V), (rh-V + lh-Y), (rh-Y + lh-T), (rh-T + period).
I ask because upper-case Finnish has lots of really gnarly whitespace/kerning issues. Letter pairs like LJ and KY and YT and VY that could get special attention, even stroke joining, in a font such as I describe.
So a fragment like " KEVYT." could be encoded as (spc + lh-K), (rh-K + lh-E), (rh-E + lh-V), (rh-V + lh-Y), (rh-Y + lh-T), (rh-T + period).
An awesome project and great write up. This is what i come to HN to see.
Beautiful! I would like to see more cursive handwriting fonts. Here is my contribution from 2 years ago:
https://certik.github.io/slabikar-otf/
https://certik.github.io/slabikar-otf/
Wow, that bit at the end really sold it. Very cool
This is one of the best things I've seen on this site.
that's cool, I wish I had writing good enough to want my own font :)
< 14.5, but if I switch this to a default size of 200, the point could be defined as 145, removing one character (the decimal place).
I see a function called "adjust". I don't know font specs, but what if this were serialized differently? 0,{x:12.2,y:13.2} -> 0,[12.2,13.2] and transformed in the "adjust" function?
< 14.5, but if I switch this to a default size of 200, the point could be defined as 145, removing one character (the decimal place).
I see a function called "adjust". I don't know font specs, but what if this were serialized differently? 0,{x:12.2,y:13.2} -> 0,[12.2,13.2] and transformed in the "adjust" function?
Like any skill, handwriting can be improved with a bit of effort.
This would have been SO useful in school!
It was interesting to read the comments about how many different cursive styles there are.
[deleted]
This is really cool. I would love to have that power of typing my handwriting.
My handwriting is crap, I'd much rather type hers!
Improving your handwriting is pretty simple, it's just mildly time consuming. I journaled for a month and just focused on how I wrote each letter. At first it took me half an hour to fill an A5 page - but my handwriting looked so good! It only took a month for my muscle memory to pick up the adjustments, and now I can write quickly and legibly in cursive.
I tell everyone who mentions bad handwriting the same thing. Buy a cheap journal, grab a pen you like, throw on something to listen to (music, a podcast, the news, a game stream, could be anything) and just write. What you write doesn't matter, just focus on putting down each letter exactly as you want it to look, and take your time.
I tell everyone who mentions bad handwriting the same thing. Buy a cheap journal, grab a pen you like, throw on something to listen to (music, a podcast, the news, a game stream, could be anything) and just write. What you write doesn't matter, just focus on putting down each letter exactly as you want it to look, and take your time.
I did the same thing, and really focused on opening up loops and getting ascenders and descenders straight, and it made a huge difference
I just picked one of those all the letters in one sentence phrases and practiced on that during phone calls
Sphinx of black quartz judge my vow
I just picked one of those all the letters in one sentence phrases and practiced on that during phone calls
Sphinx of black quartz judge my vow
This is pretty amazing. I would love to get my hand-writing as a font!
I wonder if anyone's tried making a joined-up monospace font before.
Toshi Omagari’s Tabulamore is the most gorgeous connected monospace font I’ve seen so far. The rest of the fonts in that tabular type collection aren’t connected but still pretty good fonts and they’re all steals at the price he has them listed.
https://fonts.ilovetypography.com/fonts/tabular-type-foundry
https://fonts.ilovetypography.com/fonts/tabular-type-foundry
It looks like the Victor Mono italic font is semi-joined.
https://rubjo.github.io/victor-mono/
https://rubjo.github.io/victor-mono/
Cool project using Processing, I’ve always wanted to play with that.
I'd be lucky to have it during my school time
All the art at the end reminding me of a sea
this is awesome, and some excellent eye-bleach against the 3M article I just read.
It would be tough to model and/or mollify my handwriting in code or even ML because it really just depends on the day, and that's not usually a model input ;D
(TL;DR: it's somewhat inconsistent)
(TL;DR: it's somewhat inconsistent)
Awesome find. https://www.amygoodchild.com/blog
The HN homepage has two brilliant articles from Amy. The website is now on my RSS Watchlist. There are quite a few interesting articles about the soothing existence between Art and Programming.
The HN homepage has two brilliant articles from Amy. The website is now on my RSS Watchlist. There are quite a few interesting articles about the soothing existence between Art and Programming.
[deleted]
Type nerd reading the first part of the article "ugh oh my god the kerning oh ouch"
Nerd reading the whole article and looking at the crazy cool letter-form art at the end "wowwww".
Worth reading the whole article just to look at what an artist is doing with her tools from start to finish!
Nerd reading the whole article and looking at the crazy cool letter-form art at the end "wowwww".
Worth reading the whole article just to look at what an artist is doing with her tools from start to finish!
What I find most shocking is that this is not cursive at all, just print with some kind of cursive joinery.
s and z in particular look completely different in cursive, and b, f, l, k, and even h should also look quite different from this too. m and n are missing the extra arm.
Do Americans genuinely not know what cursive looks like? I understand it's been removed from their education for decades.
I do recognize however that the final result does indeed look quite close to natural print-style handwriting -- just don't call it cursive.
s and z in particular look completely different in cursive, and b, f, l, k, and even h should also look quite different from this too. m and n are missing the extra arm.
Do Americans genuinely not know what cursive looks like? I understand it's been removed from their education for decades.
I do recognize however that the final result does indeed look quite close to natural print-style handwriting -- just don't call it cursive.
Various childhood experiences convinced me that adults were stupid. One was wearing a belt I didn't need, because that's what one did, and scratching my Dad's guitar. This cost me a career of sex, drugs, and rock and roll.
I rejected cursive after one year, reverting to printing despite all pressures. I couldn't see any upside to cursive. It was harder to read, a concession to lazy adults with poor motor control. A few years later I won a penmanship contest.
What I want to do with these ideas is automate turning computer-generated animation into animation with a hand-drawn life, using machine learning to tune the parameters to express my tastes.
This is all connected: My brother and I were fascinated when we learned how animation worked. I then found myself deathly bored in an hour of school penmanship printing practice, so I worked on animating letter F's turning into letter G's, and so forth. The teacher left me alone until other kids asked what I was doing, and I taught them. She swiftly collected all papers, went to get a primitive projector that barely escaped incinerating our work, and praised various students' penmanship. My collaborators were trembling that they'd be chosen next. We didn't yet understand that one attempts to stop a revolution by cutting off the head.
I was stunned to realize that the ridicule didn't hurt. These experiences helped me learn to think independently as a mathematician.
I rejected cursive after one year, reverting to printing despite all pressures. I couldn't see any upside to cursive. It was harder to read, a concession to lazy adults with poor motor control. A few years later I won a penmanship contest.
What I want to do with these ideas is automate turning computer-generated animation into animation with a hand-drawn life, using machine learning to tune the parameters to express my tastes.
This is all connected: My brother and I were fascinated when we learned how animation worked. I then found myself deathly bored in an hour of school penmanship printing practice, so I worked on animating letter F's turning into letter G's, and so forth. The teacher left me alone until other kids asked what I was doing, and I taught them. She swiftly collected all papers, went to get a primitive projector that barely escaped incinerating our work, and praised various students' penmanship. My collaborators were trembling that they'd be chosen next. We didn't yet understand that one attempts to stop a revolution by cutting off the head.
I was stunned to realize that the ridicule didn't hurt. These experiences helped me learn to think independently as a mathematician.
The joinery, and the lack of it, are what makes cursive, cursive. Also makes the definition nebulous.
Americans genuinely do know what cursive looks like, and it's still taught to this day, source 3 kids who know how to write in cursive but weren't taught be me. Maybe broad inaccurate generalizations are the issue here, not American's cursive learnin'.
> Cursive ... is any style of penmanship in which characters are written joined in a flowing manner
So it seems like it is cursive.
So it seems like it is cursive.
skinbody(2)