Hacker News new | past | comments | ask | show | jobs | submit login
Coding My Handwriting (amygoodchild.com)
833 points by tobr 22 days ago | hide | past | favorite | 73 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 :)


Needs a way to try without having to fill out an account creation form first


That's a good one!


Thanks!


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.


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


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.



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 :)


> 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.


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?


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.


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


In the 90s, I learned D'Nealian cursive: https://en.wikipedia.org/wiki/D%27Nealian


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.


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.


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.


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.


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 |


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


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).


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/


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?


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.


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 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


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


It looks like the Victor Mono italic font is semi-joined.

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)


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.


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!


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.


There is no "one cursive" https://en.wikipedia.org/wiki/Cursive. It looks to me that hers would be under the Italic family. I personally changed my handwriting to a similar style and find it much more legible.

Depending on the country you have studied in, you might have learned a particular style of cursive. For example, in the UK they teach joined writing https://nha-handwriting.org.uk/wp-content/uploads/woocommerc....


It's just not cursive. This is not controversial, there was a huge debate ~15 years ago when cursive instruction was removed from the curriculum in the US.


What is the point of arguing definitions in this case? It seems you think one thing. The Wikipedia article says another.

Are you claiming there is only one internally-consistent way of defining terms? Hopefully not.

Do you think that definitions exist "out there" as objective realities? Hopefully not, as they exist in your head. On what basis is the definition in your head better than Wikipedia's? Or vice versa?

Are you claiming definitions are determined by authorities? Hopefully not. What do you think the editors of dictionaries themselves have to say about that? As I understand it, they view themselves as collecting popular usage.

Does popular usage serve as the "proper" and "fixed" definition? If so, does that mean usage {1, 10, 100, 1000} years ago was wrong?

Are you making some kind of statistical claim; e.g. "most people would think that cursive is..."?

The trope of "No, Thing X is not Y, see Source S" is rather myopic. There is often no disagreement once you speak clearly about what you _mean_.


Did you read the first sentence of the Wikipedia article? It contrasts cursive with block letters.

Anyway, you're of course free to call block letters cursive. It's not the traditional meaning, and it's interesting to observe that people don't even know that anymore.


First, I refer you to https://news.ycombinator.com/newsguidelines.html

> Please don't comment on whether someone read an article. "Did you even read the article? It mentions that" can be shortened to "The article mentions that".

Second, please recognize that my comment was based on what you wrote above: "It's just not cursive." But it seems my point didn't get across.


No, your point came across. You think every sort of handwriting is cursive, and I don't think I can help you with that :)


> No, your point came across. You think every sort of handwriting is cursive, and I don't think I can help you with that :)

No, that was not my point.

I'll try it a different way with two questions and a comment: what is the point of arguing definitions? What does it get you? If your point is communication and persuasion, pointing to a definition and asserting that it settles the issue isn't a great strategy.

And by the way, it is incorrect to claim I something like a complete relativist regarding definitions; I am not saying anything goes. For example, I said above that internal consistency matters.) Very important is a particular focusing goal other citing authority (such as effective communication) which involves 2+ parties.


Typo fixes: "And by the way, it is incorrect to claim I'm something like a complete relativist regarding definitions; I'm not saying anything goes. For example, I said above that internal consistency matters. It is important to have a particular focusing goal other than promoting one definition over another. For example, if your goal is effective communication you probably won't be tempted to say things like "It's just not cursive."


Wikipedia itself calls it "semi-cursive".


No it doesn't. The only time "semi-cursive" is ever mentioned on that page, or the subpage for it itself is when talking about Chinese calligraphy.

https://en.wikipedia.org/wiki/Semi-cursive_script


The description of "italic script", that the parent claimed was "one of the many types or cursive", explicitly says

> Italic script, also known as chancery cursive and Italic hand, is a semi-cursive, slightly sloped style of handwriting and calligraphy that was developed during the Renaissance in Italy.


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.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: