VHS: Vector Handwriting System

Study

My handwriting sucks. I have a plotter. That makes VHS part of From Pixel to Pen, but also part of Writing by Hand, because the machine immediately points back at the hand.

That was enough to start.

Handwriting fonts looked wrong once the plotter drew them. The same letter came back again and again. The second t was the first t shifted sideways. The spacing was too clean. This is where a plotter becomes useful as a critic: it repeats exactly, so the fake parts become easy to see.

So I tried the obvious dumb thing: capture my own letters several times and let the machine pick between them.

That helped. Repeated letters stopped looking cloned.

The first small win was stupidly personal: the trigram Uwe. Seeing my own name come back as plotted strokes did something. Small thing. Enough.

Before that, what looked bad?

Everything.

Then spacing became the main annoyance. A letter is not a rectangle. In te, the e can sit partly under the crossbar of the t. If the system treats every glyph like a box, the word looks typeset again.

I used a frequency table of German and English letter pairs because I did not want to capture every possible pair like a lunatic. Start with the pairs that show up all the time: en, er, ch, te, ei, ie, sch, chen, icht.

The plotter taught me something boring and expensive. Handwriting is spacing, pressure, rhythm, wobble, tiny ugly things, and the places where letters almost collide. Ductus picks up the movement part of that. Tracer picks up the pressure-aware capture part for images.

A plotted VHS sample using the opening of Moby-Dick

First longer test: Call me Ishmael. Weirdly convincing from a normal distance. Close up, it is still a machine doing an impression of my hand. Fair.

A full-page VHS handwriting sample

A page-length sample is a better stress test than a single phrase. Repeated letters, line rhythm, paragraph spacing, and little changes in the baseline have more room to betray the trick. This one gets closer to the thing I wanted: a page that behaves like someone wrote it, not like a font renderer made it tidy.

Parts

VHS has two main parts:

  • a browser collector for drawing glyph variants with a stylus
  • an assembler that turns text into plotter-ready SVG

The collector records pointer coordinates, pressure data when the device gives it, and several versions of each glyph. The assembler picks variants, smooths curves, lays out the text in millimetres, and writes single-stroke SVG. That SVG can move into Gantry, with PPCT as the boring check before wasting paper.

VHS glyph collector on a phone, capturing a capital A

The collector is not glamorous. Good. It needs to work on the sofa with a stylus, one slightly wonky A at a time. That same local-browser, stylus-first habit later shows up in Ductus and Tracer.

What changed

I thought the problem was character generation.

It was mostly spacing.

Kerning had to look at the shape of the letters. Advance width was too stupid. The assembler now uses zone-aware optical kerning, so strokes can come closer when they do not collide. Greedy matching lets captured combinations like sch or ch replace separate letters when that looks better. It is typography, but very grubby typography: collision, overlap, and what the pen can get away with.

The alphabet got me started. The pairs made the page look less dead.

Some of it still looks fake. Probably kerning. Maybe too much stabilizer. Maybe too many or too aggressive Bezier curves. Handwriting seems to need a bit of wobble. Annoying, but true.

Current state

The collector and assembler are usable. My glyph library covers Latin letters, German special characters, and a set of common combinations. The assembler supports paper sizes, margins, line height, word wrapping, live preview, smoothing, jitter, and pagination.

The public gallery is still thin. I need more plotted samples with different pens, papers, line heights, and texts. The trick is easier to judge when you can see where it holds and where it falls apart.

Launch the Glyph Collector to capture your own glyphs in the browser. Use a stylus if you can. Mouse input works, but the strokes usually look stiff. If the goal is to practise the movement rather than automate the output, Ductus is the nearby tool.

Source: github.com/utrost/VHS

See also: Ductus, Tracer, Writing by Hand, From Pixel to Pen, Gantry, PPCT, Generative Art, CityPlot, SVGToolBox, SVG2WaterColor, Vectorize, Primitive, Studies

Next

My handwriting may still suck. Now it is automated.

Next I want to make the machine write less flat. Try a fountain pen. Toy around with pressure through the plotter’s real Z axis. If the machine can move up and down, VHS should probably use that instead of keeping pressure as unused metadata. That probably becomes Gantry work, because the plotter should not learn pressure inside a glyph collector.

And then there is the other question: can I learn to write better by practising the movement itself? That is where Ductus comes in.