## Voronoi Font | ## by Erik Demaine and Martin Demaine, 2017 |

(puzzle)(puzzle) |

The **Voronoi
diagram** of a set of points (called **sites**)
decomposes the plane into cells, one for each point/site, according
to what points are closest to that site than any other site.
Equivalently, if you light a fire or grow a bacteria simultaneously
from all the sites, then the cells are where each fire/bacteria goes,
and the Voronoi diagram is where they meet each other.

We offer two typefaces are based on the Voronoi diagram.
•
In the “**Voronoi typeface**”, the sites are arranged
so that the Voronoi diagram looks like a letter or numeral.
Here we rely on hiding (dashing) all Voronoi edges that go
off to infinity (or more precisely, that exit the square frame).
In this case, we obtain a puzzle font by hiding the Voronoi diagram,
and just showing the sites; to decipher the letter/numeral, you have
to compute the Voronoi diagram.
•
In the “**Inverse typeface**”, the sites themselves are
arranged to form the letter or numeral. In this case, the Voronoi diagram
becomes the puzzle font: to decode the letter, you must reverse engineer
what sites would produce this Voronoi diagram.
This problem
can
be solved in polynomial time; see also the related case of
allowing additional sites.

There are several font variations for you to play with.
•
You can display each letter as a separate Voronoi diagram (as originally
designed), or combine them into one big Voronoi diagram via the
**One diagram** checkbox.
•
You can show/hide the **sites** and/or the **Voronoi diagram**,
in particular to produce **puzzle fonts**.
•
You can **color cells** with random colors. When enabled,
you can choose the range of allowed
hue, saturation,
and lightness using the sliders.
For example, tighten the hue range to approach single-color tilings;
lower the maximum saturation to 0 to make grayscale; or
increase the lightness range to simulate stained glass.
In the Voronoi font, you can use **Separate glyph cells**
to choose different ranges for cells that constitute the font's glyphs.
Tap on a cell (outside Draggable mode) to reroll its color.
•
You can toggle visibility of the **grid** that the sites were designed
on.
•
**Draggable** mode lets you play with modifying the letters by
dragging the points around, and having the Voronoi diagram dynamically
update. (Outside this mode, letter Voronoi diagrams are precomputed.)
All changes are temporary, and will be reset if the text or font change.
The **Reset** button will also reset all changes.
•
The **slider** allows you to scale the size of the letters/numerals.

These fonts were designed in our custom Voronoi Designer webapp. Try making your own letters! You can play with our font designs here: • Voronoi typeface: • Inverse typeface:

Our 2021 paper
“**More than Words: Fonts as Generative Art**”
explores making art prints and tilings using these fonts.
This is when we added the “one diagram” and coloring features.

Check out other mathematical and puzzle fonts. • Feedback or not working? Email Erik. • Source code on GitHub.