
An attempt to make a font look more handwritten - zdw
https://jvns.ca/blog/2020/08/08/handwritten-font/
======
kace91
Looking at the results as compared to the actual handwritten text, things that
come to mind as missing:

\- Direction of the text (we don't write exactly left to right, we strive for
that but end up going slightly up or down, usually correcting the tilt of one
word in the next as we notice the deviation).

\- irregular spacing

\- Some letters invade the others' space (the g's for example end up going a
bit under the previous letter).

The combination of those three is, I think, what gives the artificial text the
feeling of being a row of invisible boxes each filled with a character. Still,
the result is extremely cool!

~~~
nextaccountic
The "connect" in the first image is going upwards I think

[https://jvns.ca/images/font-sample-connect.png](https://jvns.ca/images/font-
sample-connect.png)

~~~
lodi
"Connect" is a picture of his actual handwriting; the black text is the first
version of the font.

------
thom
Shout out to everybody who, unlike the author, has mostly illegible
handwriting and wouldn’t want it immortalised in this way.

~~~
ksaj
Hah, that's actually why I want this. I'm a lefty, and that pretty much
guarantees sloppy handwriting. I like how using fonts makes it look so much
cleaner. The only problem I had before reading this was that the results were
_too_ clean.

~~~
gwright
> I'm a lefty, and that pretty much guarantees sloppy handwriting.

Is that true? Why would being lefty mean sloppier handwriting? Smudgier maybe
because of left-to-right writing system, but sloppier?

~~~
bbarnett
Pushing instead of pulling the pen, at least that seems part of it in my case.
I've seen people write 'top down', but...

Regardless, 'how people write' has typically been designed by righties.
Fascists. Oh how they mock us.

~~~
mehrdadn
Do you actually push instead of pulling for English as a leftie? I ask because
you definitely don't need to "push instead of pull" for RTL languages if
you're right-handed (though I'm not suggesting nobody does; I'm sure some
fraction of people do), so it's hard for me to see why that would be true for
left-handed folks in English.

~~~
ksaj
Look at the angle of the pen/pencil when a right handed and a left handed
person is writing. The lefty is indeed pushing the point into the paper. Right
handed people drag it.

The lefties who try not to push it curl their wrists into that weird lefty-
pose. That way does allow them to drag it. I don't do that, thankfully. It
looks pretty bizarre, because writing shouldn't require such acrobatics.

~~~
mehrdadn
I think I miscommunicated my thoughts, but I was neither trying to say there
aren't left-handed folks who push, nor that there aren't ones who pull with a
weird pose. Rather, I was wondering if these are actually needed, or if one
could do it differently (yet comfortably). Because I believe for LTR and RTL
languages, people comfortably write with their right hands holding the pen at
basically the same angle regardless of the text direction. Compare [1] with
[2] for instance. In both cases the pen tip points to the "north northwest"
(so to speak), yet the languages go in opposite directions.

[1]
[https://www.youtube.com/watch?v=QG-i9yA_OHs&t=3m59s](https://www.youtube.com/watch?v=QG-i9yA_OHs&t=3m59s)

[2]
[https://www.youtube.com/watch?v=AwUkseFmqb4&t=1m19s](https://www.youtube.com/watch?v=AwUkseFmqb4&t=1m19s)

~~~
ksaj
Yes, I see.

I worked in Riyadh for a while. When it came to numbers, since they would
generally be writing in Arabic, they'd leave a gap, and then write Western
numbers LtoR, before going back to the start of the number and continuing on
RtoL in Arabic. That's when it hit me that people who write Arabic push the
pencil in the same way that lefties push it in LtoR languages.

Interestingly I didn't see even one adopt the Lefty-hook hand with their right
hand. Unfortunately I never noticed anyone there writing Arabic left-handedly.
And I watched for it on purpose, because I was genuinely curious about that.

One thing though, is that Arabic letters are formed in a different way than
Western letters are. I suppose Western cursive gets close - but cursive is
where lefties push the pencil most, and where writing begins to suffer. (Yes,
as per other comments, there ARE lefties who can be tidy. But that's like
saying there are grandma's out there that can't cook. Of course you can find
examples if you look for them.)

Incidentally, I don't do the lefty-hook thing either. But I'm well aware of it
since it is part of so many lefty jokes, and I have seen quite a few people
who do it.

------
egypturnash
I have a font that I made based on my own handwriting that does this. Three
variants is really not enough to feel organic, five or six is.

Spending a while tweaking kerning in Glyphs helps too. When I’m using it in
something, then every time I notice some bad kerning, I’ll dump the text into
Glyph’s preview window and tweak things. It is an ongoing process. Still needs
a bunch of characters, too, I think it’s missing numbers and some important
punctuation...

(Also looking at my blog the last time I fucked with it was probably around
2015.
[https://egypt.urnash.com/blog/tag/font/](https://egypt.urnash.com/blog/tag/font/)
)

~~~
egypturnash
I think the first chunk of code in
[https://forums.adobe.com/message/1785905#1785905](https://forums.adobe.com/message/1785905#1785905)
has what I used to make it cycle between multiple copies of each letter.

The "programmatically generate a lot of ligature pairs with random choices as
to which variant" is clever, but I feel like it's gonna be pretty obvious -
you'd get the same ligas a lot in common words like 'the' and the eye would
pick that out very quickly!

(also man this font I was working on has some crazy ideas in it, I really like
the 'switch to italic glyphs by putting a slash at the front of the word'
idea. No faffing around with a separate font. Very weird but very useful for
the case of "lettering my comics".)

One major difference in how I approached this problem was to work from an
existing corpus of letters drawn with the natural rhythms of handwriting, too.
I took a bunch of hand-lettering I'd done and worked from that instead of
drawing each letter in a little box for a program to parse...

~~~
infogulch
> switch to italic glyphs by putting a slash at the front of the word

Wait, are you saying it might be possible to implement typesetting rules by
_creating a font that interprets syntax_?! As in egypturnashs-markdown-
renderer-font.ttf??? That is both horrifying and wondrous.

~~~
egypturnash
Yep!

OpenType can do some very very complicated things; I would honestly be
surprised if it's _not_ Turing-complete. But it is also one of those languages
where a lot of things are _possible_ but actually doing them is pretty
tedious. Take a look at some of the links at the end of my notes on this font
and you'll see what kind of repetitive horrors have to be generated to do
Weird Stuff.

------
open-source-ux
Making a font can be very detailed process and often a slow process. I really
admire font makers and type designers who put so much effort in creating
fonts.

Here is a very informative and enjoyable look at how one visual designer went
about creating their first handwritten font:

 _The process for making and selling a font:_

[https://www.youtube.com/watch?v=jtSZqhtSjpk](https://www.youtube.com/watch?v=jtSZqhtSjpk)

------
ksaj
This is great. I attempted a couple of handwriting fonts before, but could
never get them to look like my actual writing which is never nearly so uniform
(even if I tried). I wrote a letter to my sister who, even after mix-n-
matching the fonts to make it as realistic as possible, said it looked like it
came from robot-me. I'm going to try your method, because I still have
application for a more hand-written looking font.

------
mrnuclear
I once spent some effort to make my handwriting very legible, without concern
for calligraphic sensibilities. For example I had serifs on several but not
all letters. Perhaps such handwriting (and similar efforts) would lend
themselves more to handwriting fonts than digitizing handwriting that is not
practiced for legibility. I mean: perhaps it would look handwritten when
digitized more so than fonts based on handwriting not optimized for legibility
(optimized in the sense of my effort). The author’s handwriting looks quite
legible. I wonder how they approached their own handwriting before
digitization.

~~~
thaumasiotes
> I once spent some effort to make my handwriting very legible, without
> concern for calligraphic sensibilities. For example I had serifs on several
> but not all letters.

As far as I'm aware, it's perfectly normal to write 'I' with serifs and
everything else without.

------
aasasd
I've seen this problem discussed multiple times. People want ‘handwritten’
fonts for one reason or another, but then once you notice identical letters
you can't unsee them.

The thing about ligatures is that they don't permit true randomness, but you
can cycle through a set of glyphs for a letter—if I understand correctly, you
don't even need neighboring letters for that. However, people stop after
adding just a few variations, and that still looks mechanical because the same
letters occur many times in a paragraph. For good results, you should just
keep throwing more variations in—like a couple dozens I think (maybe depending
on the frequency of a letter, but then if you come upon ‘QQQQQQQ Inc.’, the
effect will be ruined).

Also, invariably people tune kenning in ‘handwritten’ fonts. Why? Pretty sure
they don't do that with actual writing, do they? If anything, I'd add some
subtle sloppiness to the font generator's output.

------
twodave
I often get mail from AT&T or some other big-corp with a handwriting-like font
on it, but they aren't sophisticated enough to vary the letters, so it's a
dead giveaway that it's just junk mail. Sadly, the day those guys manage to
apply this tech convincingly is the day I'm going to end up opening a lot more
junk mail.

------
zimpenfish
I remember back in the dark ages (before the 2000s) playing with Postscript to
add random perturbations to letters in order to generate semi-convincing "not
obviously printed" address labels (for competition entries.)

Occasionally it would perturb too hard and you'd end up with one or more legs
of your letter at some distance. Most aggravating.

------
dbjacobs
If you took this to the extreme and added glyphs and rules for for each letter
combination (e.g., aa, ab, ac, ad ...), that would probably get you something
that looked pretty natural for text that didn't have repeated words too close
to each other (since the same word will look identical).

------
alblue
On a slight tangent, back in the day it was easy to knock up a Java GUI for an
app, only to present it to a client who would then mistakenly think it was the
finished product.

There was a pluggable look-and-feel for Java Swing called the NapkinLAF, which
presented the UI using a pseudo hand written font and irregular lines.

Clearly writing Java GUIs have been dead for a while, but the project lives on
at [http://napkinlaf.sourceforge.net/](http://napkinlaf.sourceforge.net/) and
has some screenshots of what it made the GUI look like.

~~~
userbinator
Yes, back when OS/app appearance was still very customisable, themes like that
were not uncommon.

...and if sites which contained lots of mobile screenshots like
damnyouautocorrect.com (seems to have disappeared, and I can't find anything
on what happened to it...?) were any indication, it seems a lot of people like
script fonts too.

------
mawise
The introduction to OpenType options is awesome! Sounds like we could set up a
font to display smart quotes while still copy-pasting code snippets as dumb
quotes!

------
moralestapia
It would be interesting to see if an AI can learn about the movements that
trace someone's particular handwriting, perhaps it can identify and reproduce
the different "styles" involved (i.e from person to person).

~~~
sjv
This problem was more or less solved with neural networks in 2013, see
[https://arxiv.org/abs/1308.0850](https://arxiv.org/abs/1308.0850). I've
implemented a similar model in javascript that you can interact with:
[https://seanvasquez.com/handwriting-
generation/](https://seanvasquez.com/handwriting-generation/)

------
from
As a highschooler, sites like Calligraphr and this advice have been a blessing
in circumventing arbitrary "you must handwrite this" requirements for
assignments.

------
thawk1
I've seen some interesting things done with Rune. For example:
[https://observablehq.com/@illus0r/calligraphy](https://observablehq.com/@illus0r/calligraphy)

------
powerlogic31
Not related but your website loads instantly it's refreshing.

------
abdullahkhalids
Is there a software that draws text as if someone is writing it? each letter
drawn starting from one point and slowly going to the other end, words written
drawn one letter at a time.

~~~
sjv
Perhaps something like this? [https://seanvasquez.com/handwriting-
generation](https://seanvasquez.com/handwriting-generation)

~~~
sings
This is awesome. The fact that it writes the same word very differently each
time is impressive. Would be interesting to know the underlying mechanics.

------
Solstinox
Neat! With real writing it’s nice to be able to use the random variations and
patterns in writing as landmarks.

I always thought that would be useful on a screen.

