Combining character


In digital typography, combining characters are characters that are intended to modify other characters. The most common combining characters in the Latin script are the combining diacritical marks.
Unicode also contains many precomposed characters, so that in many cases it is possible to use both combining diacritics and precomposed characters, at the user's or application's choice. This leads to a requirement to perform Unicode normalization before comparing two Unicode strings and to carefully design encoding converters to correctly map all of the valid ways to represent a character in Unicode to a legacy encoding to avoid data loss.
In Unicode, the main block of combining diacritics for European languages and the International Phonetic Alphabet is U+0300–U+036F. Combining diacritical marks are also present in many other blocks of Unicode characters. In Unicode, diacritics are always added after the main character, and it is possible to add several diacritics to the same character, including stacked diacritics above and below, though some systems may not render these well.

Unicode ranges

The following blocks are dedicated specifically to combining characters:
Combining characters are not limited to these blocks; for instance, the combining dakuten and combining handakuten are in the Hiragana block, the Devanagari block contains combining vowel signs and other marks for use with that script, and so forth. Combining characters are assigned the Unicode major category "M".
Codepoints U+032A and U+0346-034A are IPA symbols:
Codepoints U+034B-034E are IPA diacritics for disordered speech:
U+034F is the "combining grapheme joiner" and has no visible glyph.
Codepoints U+035C-0362 are double diacritics, diacritic signs placed across two letters.
Codepoints U+0363-036F are medieval superscript letter diacritics, letters written directly above other letters appearing in medieval Germanic manuscripts, but in some instances in use until as late as the 19th century. For example, U+0364 is an e written above the preceding letter, to be used for New High German umlaut notation, such as for Modern German ü.

OpenType

has the ccmp "feature tag" to define glyphs that are compositions or decompositions involving combining characters, the mark tag to define the positioning of combining characters onto base glyph, and mkmk for the positionings of combining characters onto each other.

Zalgo text

Combining characters have been used to create so-called "Zalgo text", which is text that appears "corrupted" or "creepy" due to an overuse of diacritics. This causes the text to extend vertically, overlapping other text.