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 (including combining accents).
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. [1]
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 (in contrast to some older combining character sets such as ANSEL), 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.
The following blocks are dedicated specifically to combining characters:
Combining characters are not limited to these blocks; for instance, the combining dakuten (U+3099) and combining handakuten (U+309A) 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" ("Mark").
Combining Diacritical Marks [1] Official Unicode Consortium code chart (PDF) | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
U+030x | ◌̀ | ◌́ | ◌̂ | ◌̃ | ◌̄ | ◌̅ | ◌̆ | ◌̇ | ◌̈ | ◌̉ | ◌̊ | ◌̋ | ◌̌ | ◌̍ | ◌̎ | ◌̏ |
U+031x | ◌̐ | ◌̑ | ◌̒ | ◌̓ | ◌̔ | ◌̕ | ◌̖ | ◌̗ | ◌̘ | ◌̙ | ◌̚ | ◌̛ | ◌̜ | ◌̝ | ◌̞ | ◌̟ |
U+032x | ◌̠ | ◌̡ | ◌̢ | ◌̣ | ◌̤ | ◌̥ | ◌̦ | ◌̧ | ◌̨ | ◌̩ | ◌̪ | ◌̫ | ◌̬ | ◌̭ | ◌̮ | ◌̯ |
U+033x | ◌̰ | ◌̱ | ◌̲ | ◌̳ | ◌̴ | ◌̵ | ◌̶ | ◌̷ | ◌̸ | ◌̹ | ◌̺ | ◌̻ | ◌̼ | ◌̽ | ◌̾ | ◌̿ |
U+034x | ◌̀ | ◌́ | ◌͂ | ◌̓ | ◌̈́ | ◌ͅ | ◌͆ | ◌͇ | ◌͈ | ◌͉ | ◌͊ | ◌͋ | ◌͌ | ◌͍ | ◌͎ | CGJ |
U+035x | ◌͐ | ◌͑ | ◌͒ | ◌͓ | ◌͔ | ◌͕ | ◌͖ | ◌͗ | ◌͘ | ◌͙ | ◌͚ | ◌͛ | ◌͜◌ | ◌͝◌ | ◌͞◌ | ◌͟◌ |
U+036x | ◌͠◌ | ◌͡◌ | ◌͢◌ | ◌ͣ | ◌ͤ | ◌ͥ | ◌ͦ | ◌ͧ | ◌ͨ | ◌ͩ | ◌ͪ | ◌ͫ | ◌ͬ | ◌ͭ | ◌ͮ | ◌ͯ |
Notes
|
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" (CGJ) 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 (Early) New High German umlaut notation, such as uͤ for Modern German ü.
Combining Diacritical Marks Extended [1] [2] Official Unicode Consortium code chart (PDF) | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
U+1ABx | ◌᪰ | ◌᪱ | ◌᪲ | ◌᪳ | ◌᪴ | ◌᪵ | ◌᪶ | ◌᪷ | ◌᪸ | ◌᪹ | ◌᪺ | ◌᪻ | ◌᪼ | ◌᪽ | ◌᪾ | ◌ᪿ |
U+1ACx | ◌ᫀ | ◌᫁ | ◌᫂ | ◌᫃ | ◌᫄ | ◌᫅ | ◌᫆ | ◌᫇ | ◌᫈ | ◌᫉ | ◌᫊ | ◌᫋ | ◌ᫌ | ◌ᫍ | ◌ᫎ | |
U+1ADx | ||||||||||||||||
U+1AEx | ||||||||||||||||
U+1AFx | ||||||||||||||||
Notes |
Combining Diacritical Marks Supplement [1] Official Unicode Consortium code chart (PDF) | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
U+1DCx | ◌᷀ | ◌᷁ | ◌᷂ | ◌᷃ | ◌᷄ | ◌᷅ | ◌᷆ | ◌᷇ | ◌᷈ | ◌᷉ | ◌᷊ | ◌᷋ | ◌᷌ | ◌᷍ | ◌᷎ | ◌᷏ |
U+1DDx | ◌᷐ | ◌᷑ | ◌᷒ | ◌ᷓ | ◌ᷔ | ◌ᷕ | ◌ᷖ | ◌ᷗ | ◌ᷘ | ◌ᷙ | ◌ᷚ | ◌ᷛ | ◌ᷜ | ◌ᷝ | ◌ᷞ | ◌ᷟ |
U+1DEx | ◌ᷠ | ◌ᷡ | ◌ᷢ | ◌ᷣ | ◌ᷤ | ◌ᷥ | ◌ᷦ | ◌ᷧ | ◌ᷨ | ◌ᷩ | ◌ᷪ | ◌ᷫ | ◌ᷬ | ◌ᷭ | ◌ᷮ | ◌ᷯ |
U+1DFx | ◌ᷰ | ◌ᷱ | ◌ᷲ | ◌ᷳ | ◌ᷴ | ◌᷵ | ◌᷶ | ◌᷷ | ◌᷸ | ◌᷹ | ◌᷺ | ◌᷻ | ◌᷼ | ◌᷽ | ◌᷾ | ◌᷿ |
Notes
|
Combining Diacritical Marks for Symbols [1] [2] Official Unicode Consortium code chart (PDF) | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
U+20Dx | ◌⃐ | ◌⃑ | ◌⃒ | ◌⃓ | ◌⃔ | ◌⃕ | ◌⃖ | ◌⃗ | ◌⃘ | ◌⃙ | ◌⃚ | ◌⃛ | ◌⃜ | ◌⃝ | ◌⃞ | ◌⃟ |
U+20Ex | ◌⃠ | ◌⃡ | ◌⃢ | ◌⃣ | ◌⃤ | ◌⃥ | ◌⃦ | ◌⃧ | ◌⃨ | ◌⃩ | ◌⃪ | ◌⃫ | ◌⃬ | ◌⃭ | ◌⃮ | ◌⃯ |
U+20Fx | ◌⃰ | |||||||||||||||
Notes |
Combining Half Marks [1] Official Unicode Consortium code chart (PDF) | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
U+FE2x | ◌︠ | ◌︡ | ◌︢ | ◌︣ | ◌︤ | ◌︥ | ◌︦ | ◌︧ | ◌︨ | ◌︩ | ◌︪ | ◌︫ | ◌︬ | ◌︭ | ◌︮ | ◌︯ |
Notes
|
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.
Combining characters have been used to create Zalgo text, which is text that appears "corrupted" or "creepy" due to an overuse of combining characters. This causes the text to extend vertically, overlapping other text. [2] This is mostly used in horror contexts on the Internet. It is typically very challenging for most software to render, so the combining marks are often reduced or completely stripped off.
A cedilla, or cedille, is a hook or tail added under certain letters to indicate that their pronunciation is modified. In Catalan, French, and Portuguese it is used only under the letter ⟨c⟩, and the entire letter is called, respectively, c trencada, c cédille, and c cedilhado. It is used to mark vowel nasalization in many languages of Sub-Saharan Africa, including Vute from Cameroon.
The tilde is a grapheme ⟨˜⟩ or ⟨~⟩ with a number of uses. The name of the character came into English from Spanish tilde, which in turn came from the Latin titulus, meaning 'title' or 'superscription'. Its primary use is as a diacritic (accent) in combination with a base letter. Its freestanding form is used in modern texts mainly to indicate approximation.
The Romanian alphabet is a variant of the Latin alphabet used for writing the Romanian language. It is a modification of the classical Latin alphabet and consists of 31 letters, five of which have been modified from their Latin originals for the phonetic requirements of the language.
A dead key is a special kind of modifier key on a mechanical typewriter, or computer keyboard, that is typically used to attach a specific diacritic to a base letter. The dead key does not generate a (complete) character by itself, but modifies the character generated by the key struck immediately after. Thus, a dedicated key is not needed for each possible combination of a diacritic and a letter, but rather only one dead key for each diacritic is needed, in addition to the normal base letter keys.
A precomposed character is a Unicode entity that can also be defined as a sequence of one or more other characters. A precomposed character may typically represent a letter with a diacritical mark, such as é. Technically, é (U+00E9) is a character that can be decomposed into an equivalent string of the base letter e (U+0065) and combining acute accent (U+0301). Similarly, ligatures are precompositions of their constituent letters or graphemes.
The International Alphabet of Sanskrit Transliteration (IAST) is a transliteration scheme that allows the lossless romanisation of Indic scripts as employed by Sanskrit and related Indic languages. It is based on a scheme that emerged during the 19th century from suggestions by Charles Trevelyan, William Jones, Monier Monier-Williams and other scholars, and formalised by the Transliteration Committee of the Geneva Oriental Congress, in September 1894. IAST makes it possible for the reader to read the Indic text unambiguously, exactly as if it were in the original Indic script. It is this faithfulness to the original scripts that accounts for its continuing popularity amongst scholars.
Vietnamese Quoted-Readable, also known as Vietnet, is a convention for writing Vietnamese using ASCII characters encoded in only 7 bits, making possible for Vietnamese to be supported in computing and communication systems at the time. Because the Vietnamese alphabet contains a complex system of diacritical marks, VIQR requires the user to type in a base letter, followed by one or two characters that represent the diacritical marks.
Apple Symbols is a font introduced in Mac OS X 10.3 “Panther”. This is a TrueType font intended to provide coverage for characters defined as symbols in the Unicode Standard. It continues to ship with Mac OS X as part of the default installation. Prior to Mac OS X 10.5, its path was /Library/Fonts/Apple Symbols.ttf
. From Mac OS X 10.5 onward, it is to be found at /System/Library/Fonts/Apple Symbols.ttf
, meaning it is now considered an essential part of the system software, not to be deleted by users.
Unicode has subscripted and superscripted versions of a number of characters including a full set of Arabic numerals. These characters allow any polynomial, chemical and certain other equations to be represented in plain text without using any form of markup like HTML or TeX.
As of Unicode version 16.0, Cyrillic script is encoded across several blocks:
Diacritical marks of two dots¨, placed side-by-side over or under a letter, are used in several languages for several different purposes. The most familiar to English-language speakers are the diaeresis and the umlaut, though there are numerous others. For example, in Albanian, ë represents a schwa. Such diacritics are also sometimes used for stylistic reasons.
L, or l, is the twelfth letter of the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is el, plural els.
Unicode supports several phonetic scripts and notation systems through its existing scripts and the addition of extra blocks with phonetic characters. These phonetic characters are derived from an existing script, usually Latin, Greek or Cyrillic. Apart from the International Phonetic Alphabet (IPA), extensions to the IPA and obsolete and nonstandard IPA symbols, these blocks also contain characters from the Uralic Phonetic Alphabet and the Americanist Phonetic Alphabet.
Macron below is a combining diacritical mark that is used in various orthographies.
Unicode equivalence is the specification by the Unicode character encoding standard that some sequences of code points represent essentially the same character. This feature was introduced in the standard to allow compatibility with pre-existing standard character sets, which often included similar or identical characters.
The Unicode Consortium and the ISO/IEC JTC 1/SC 2/WG 2 jointly collaborate on the list of the characters in the Universal Coded Character Set. The Universal Coded Character Set, most commonly called the Universal Character Set, is an international standard to map characters, discrete symbols used in natural language, mathematics, music, and other domains, to unique machine-readable data values. By creating this mapping, the UCS enables computer software vendors to interoperate, and transmit—interchange—UCS-encoded text strings from one to another. Because it is a universal map, it can be used to represent multiple languages at the same time. This avoids the confusion of using multiple legacy character encodings, which can result in the same sequence of codes having multiple interpretations depending on the character encoding in use, resulting in mojibake if the wrong one is chosen.
In Unicode and the UCS, a compatibility character is a character that is encoded solely to maintain round-trip convertibility with other, often older, standards. As the Unicode Glossary says:
A character that would not have been encoded except for compatibility and round-trip convertibility with other standards
In Unicode, a script is a collection of letters and other written signs used to represent textual information in one or more writing systems. Some scripts support one and only one writing system and language, for example, Armenian. Other scripts support many different writing systems; for example, the Latin script supports English, French, German, Italian, Vietnamese, Latin itself, and several other languages. Some languages make use of multiple alternate writing systems and thus also use several scripts; for example, in Turkish, the Arabic script was used before the 20th century but transitioned to Latin in the early part of the 20th century. More or less complementary to scripts are symbols and Unicode control characters.
Many scripts in Unicode, such as Arabic, have special orthographic rules that require certain combinations of letterforms to be combined into special ligature forms. In English, the common ampersand (&) developed from a ligature in which the handwritten Latin letters e and t were combined. The rules governing ligature formation in Arabic can be quite complex, requiring special script-shaping technologies such as the Arabic Calligraphic Engine by Thomas Milo's DecoType.
IPA Extensions is a block (U+0250–U+02AF) of the Unicode standard that contains full size letters used in the International Phonetic Alphabet (IPA). Both modern and historical characters are included, as well as former and proposed IPA signs and non-IPA phonetic letters. Additional characters employed for phonetics, like the palatalization sign, are encoded in the blocks Phonetic Extensions (1D00–1D7F) and Phonetic Extensions Supplement (1D80–1DBF). Diacritics are found in the Spacing Modifier Letters (02B0–02FF) and Combining Diacritical Marks (0300–036F) blocks. Its block name in Unicode 1.0 was Standard Phonetic.