In 1978, Japan's Ministry of Economy, Trade and Industry established the encoding that would later be known as JIS X 0208, which still serves as an important reference for all Japanese encodings. However, after the JIS standard was released, people noticed something strange — several of the added characters had no obvious sources, and nobody could tell what they meant or how they should be pronounced.
Nobody was sure where they came from. These are what came to be known as the ghost characters (幽霊文字).
The Investigation
For a long time, the ghost characters remained an unexplained and mostly forgotten curiosity. But in 1997, an investigation was launched to discover their origins.
All characters in the JIS standard were supposed to have a record of their sources, but even when it existed, it wasn't very specific — typically just listing the document it was sourced from. You'd think that listing the source would make tracking down the origins easy, but consider what counts as a "source":
One of the more common sources for the ghost characters was the "Overview of National Administrative Districts" (国土行政区画総覧), a comprehensive list of place names in Japan. The latest edition is a seven-volume set with each volume having roughly nine hundred pages. Imagine tracking down a single character without a page reference.
Despite the difficulty, the investigation was mostly successful. By interviewing the catalogers involved in creating the standard, investigators established that some characters were inadvertently invented as mistakes in the cataloging process.
How Do You Accidentally Invent a Character?
Consider 妛. This was an error introduced while trying to record "山 over 女" (mountain over woman). This combination occurs in the name of a particular place and was suitable for inclusion in the JIS standard.
But because they couldn't print it as one character yet, 山 and 女 were printed separately, cut out, and pasted onto a sheet of paper, which was then copied. When reading the copy, the line where the two pieces of paper met looked like a stroke and was added to the character by mistake.
The original character (𡚴) was not added to JIS or Unicode until much later.
The Core Ghost Characters
The core ghost characters are:
妛 挧 暃 椦 槞 蟐 袮 閠 駲 墸 壥 彁
In the end, only one character had neither a clear source nor any historical precedent: 彁.
The most likely explanation is that it was created as a misreading of the 彊 character, but no specific incident was ever uncovered. This character exists in Unicode today (U+5F41), used by approximately zero people, with a meaning that nobody knows, derived from a mistake that nobody can identify.
Into Unicode They Go
Following the general adoption of the JIS standards, these characters all made their way into Unicode. Unicode's goal of being a superset of all existing character encodings means that it must include every character from every standard, regardless of whether the character is a mistake.
This is actually the correct design decision. If Unicode excluded the ghost characters, any text using the JIS encoding that contained them would become unrepresentable. The characters might be ghosts, but they're ghosts that real systems have to handle.
The cost is small — a few code points wasted in a standard with over 150,000 assigned code points. But the ghost characters serve as a reminder of how encoding standards are created: by humans, with paper and scissors, making mistakes that get permanently encoded into the infrastructure of global computing.
Lessons for Developers
1. Backward compatibility is sacred. Unicode's decision to include ghost characters is the same decision that makes it possible to convert any legacy text to Unicode and back without loss. This principle — never break existing data — is why Unicode succeeded where previous attempts at universal encodings failed.
2. Standards accumulate irreversibility. Once a standard includes something, even a mistake, removing it risks breaking every system that depends on it. The ghost characters will be in Unicode forever. This is why careful design matters at the point of creation.
3. Data provenance is undervalued. The ghost characters exist because the source tracking was too vague. "This came from a 6,300-page book" is not a useful source citation. Modern data systems should learn from this: always record enough provenance to trace any datum back to its origin.
4. The physical world bleeds into the digital. A character was invented because someone cut paper with scissors and the copy machine saw a line that wasn't there. This kind of physical-to-digital artifact transmission is more common than we think — OCR errors, scan artifacts, encoding conversions. The digital world is never as clean as we pretend.
Based on the fascinating original article at dampfkraft.com. The story of Unicode's ghost characters is a perfect case study in how standards evolve, how mistakes become permanent, and why backward compatibility matters more than theoretical purity.
Top comments (0)