Same Same But Different: Ransom Remixed

The Same Letters, Rearranged

Deconstructing language and rebuilding it with 118,000 glyphs

For a long time I’ve been interested in the idea that things can change dramatically while still remaining fundamentally the same. Water is a good example.

The water on Earth today is essentially the same water that has existed on this planet for billions of years. It hasn’t been created or destroyed; it simply moves through different states : solid liquid, gas continuously cycling through the environment, our. bodies and our lives. The form changes, but the substance remains. H20

In many ways, this same principle appears throughout human culture.

The architecture of the human brain has not changed significantly in tens of thousands of years. Yet the world we inhabit today looks radically different from the world of our ancestors. Technology evolves, societies reorganise themselves, and new systems of communication emerge. But the fundamental emotional and cognitive structures underneath these systems remain remarkably consistent. We are nothing but mammals .

Language is perhaps one of the most interesting examples of this phenomenon.

Languages evolve constantly. Words appear and disappear. Alphabets shift, spelling changes, grammar mutates, and entirely new linguistic structures emerge over time. But the emotions and ideas we attempt to communicate through language remain largely unchanged.

Love, fear, curiosity, grief, humor, jealousy, longing.

These are ancient experiences.

What changes is the symbolic system we use to express them.

We often treat language as though it belongs entirely to the culture that speaks it. Yet anyone who has learned another language knows the strange sensation of discovering a word that captures an emotion more precisely than any word in their native tongue. At the same time, the underlying experience being described is usually familiar.

The symbols differ.

The meaning persists.

This tension between change and continuity became the conceptual starting point for this project.


Language as Structure

Typography normally presents language as a stable visual system. When we open a font file, we are presented with a carefully designed typographic universe. Every letter has been crafted to fit within a coherent style. The proportions of the characters relate to each other. The curves, strokes, and spacing follow an internal logic that gives the typeface its identity.

A font is a complete system. It is meant to be used as a unified whole. But I began to wonder what would happen if that system were broken apart. What happens if we stop thinking about fonts as cohesive objects and instead treat them as collections of interchangeable parts?


Breaking Fonts Into Pieces

To explore this idea, I began with the entire Google Fonts repository. Rather than using the fonts directly, I decomposed them into their smallest possible components: individual glyphs. Every character in every font was extracted as its own vector shape.

Instead of working with fonts, I was now working with tens of thousands of typographic fragments:

  • every uppercase letter
  • every lowercase letter
  • every number
  • every punctuation mark
  • every mathematical symbol
  • every currency symbol

Each of these characters existed in hundreds or sometimes thousands of stylistic variations across different typefaces. At this point the project no longer looked like typography. It looked more like a warehouse. Inside that warehouse were bins filled with different visual versions of the same symbol.

One bin contained thousands of different A’s.

Another contained thousands of B’s.

Another contained percentage signs, ampersands, numbers, and so on.

Each bin represented a single semantic unit, but each contained many different visual interpretations of that unit.

This shift, from fonts to glyph collections, changed the way the system could behave.

Letters were no longer fixed.

They became probabilities.


Building a Generative System

Once the glyphs were organised, the next step was to build a system capable of recombining them. The resulting program functions as a kind of typographic remix machine. When text is entered into the interface, the system performs a sequence of relatively simple operations.

First; it breaks the sentence into individual characters. Then, for each character, it searches the glyph library for all visual representations of that symbol. From this collection, it randomly selects one glyph.That glyph is placed into a composition, and the process repeats for the next character.

Once every letter has been selected and positioned, the system exports the result as a single vector image. The process is computationally simple, but the visual results are surprisingly rich. A single phrase can be constructed from dozens of different typefaces simultaneously.

Every time the text is rendered, the output changes. – its pretty cool just to keep hitting the refresh button. The system never produces exactly the same typographic composition twice. (unless you tell it to by inputting the same seed value)


118,000 Variations

After processing the font repository, the system ended up with roughly 118,000 glyph variations. Each character might have hundreds or thousands of possible forms. This means that even a short phrase has an enormous number of potential visual outcomes. A sentence containing ten characters might draw from ten separate pools of glyphs. If each pool contains a thousand variations, the number of possible typographic combinations quickly becomes astronomical . In this sense the system transforms language into a generative medium. Words remain stable at the level of meaning, but they become fluid at the level of visual appearance.


Chaos Up Close

One of the most interesting aspects of the system is how it behaves visually. Up close, the compositions can appear chaotic. Serif and sans-serif glyphs collide with each other. Stroke weights vary dramatically. Some letters feel oversized while others appear compressed. Decorative fonts appear beside minimalist ones. The typographic harmony that normally exists within a single typeface disappears. What remains is a kind of visual noise. Yet something unexpected happens when the viewer steps back.

The brain begins to resolve the pattern. (We’re wired to see patterns. I mean, just look at how much of your brain is dedicated to processing the tiny surface area of your retina. Despite the visual inconsistencies, the underlying structure of the word becomes clear.

The text becomes readable again. Meaning survives the visual disruption.


Recognition and Pattern

Human perception is remarkably good at recognising patterns.

We do not read text by analyzing every individual stroke of every letter. Instead, we recognize clusters of shapes and use contextual information to interpret them quickly.

This is why messy handwriting can still be readable. It is why heavily stylized typography can still communicate meaning. And it is why this system works. Even when the visual language of the letters becomes inconsistent, the structure of the word remains intact.

Our brains reconstruct the intended meaning.


Language as Remix

At a deeper level, the project suggests that language itself might already function as a kind of remix system. Every alphabet is composed of reusable visual components. Every word is constructed from a limited set of symbols.

Across history, alphabets have been borrowed, adapted, simplified, and transformed by different cultures. Scripts evolve slowly, inheriting structures from earlier systems while introducing new variations. What we think of as stable writing systems are actually the result of centuries of continuous recombination. By breaking typography down into its smallest elements and recombining them algorithmically, this project makes that process visible . Language becomes less like a fixed structure and more like a dynamic assembly system and. more reflective of how it exists in the real world.


Building the Machine

The technical system behind the project is intentionally simple. A small web interface allows text to be entered and rendered.

Behind the interface is a rendering engine that:

  • maps characters to glyph libraries
  • randomly selects glyphs
  • arranges them within a layout
  • exports the final result as a vector image

The complexity of the project does not come from the algorithm itself but from the scale of the glyph library. Processing the fonts, organizing the glyph collections, and building an efficient indexing system required days of rendering and restructuring. But once the library existed, the generative system became surprisingly lightweight. The machine now simply recombines what is already there.


What Comes Next

Right now the system functions as a generative typographic engine. Where the underlying idea, that of breaking visual systems apart and reconstructing them algorithmically is a extension of our earlier Remix projects, the learnings from this project opens the door to many other directions. including working with Sound (MP3)


Current Location:
P18 P18v8 Python Ransom Note

Not sure where to go next? Try: