Z-variant


In Unicode, two glyphs are said to be Z-variants if they share the same etymology but have slightly different appearances and different Unicode code points. For example, the Unicode characters U+8AAA 說 and U+8AAC 説 are Z-variants. The notion of Z-variance is only applicable to the “CJKV scripts”—Chinese, Japanese, Korean and Vietnamese—and is a subtopic of Han unification.

Differences on the Z-axis

The Unicode philosophy of code point allocation for CJK languages is organized along three “axes.” The X-axis represents differences in semantics; for example, the Latin capital A and the Greek capital alpha are represented by two distinct code points in Unicode, and might be termed “X-variants”. The Y-axis represents significant differences in appearance though not in semantics; for example, the traditional Chinese character māo “cat” and the simplified Chinese character are Y-variants.
The Z-axis represents minor typographical differences. For example, the Chinese characters and are Z-variants, as are and. The glossary at Unicode.org defines “Z-variant” as “Two CJK unified ideographs with identical semantics and unifiable shapes,” where “unifiable” is taken in the sense of Han unification.
Thus, were Han unification perfectly successful, Z-variants would not exist. They exist in Unicode because it was deemed useful to be able to “round-trip” documents between Unicode and other CJK encodings such as Big5 and CCCII. For example, the character 莊 has CCCII encoding 21552D, while its Z-variant 荘 has CCCII encoding 2D552D. Therefore, these two variants were given distinct Unicode code points, so that converting a CCCII document to Unicode and back would be a lossless operation.

Confusion

There is some confusion over the exact definition of “Z-variant.” For example, in an Internet draft dated 2002, one finds “no” and described as “font variants,” the term “Z-variant” being apparently reserved for interlanguage pairs such as the Mandarin Chinese “rabbit” and the Japanese to “rabbit”. However, the Unicode Consortium's Unihan database treats both pairs as Z-variants.