Combining character

From Wikipedia, the free encyclopedia

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 normalisation 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. It is thus possible to add several diacritics to the same character, although as of 2006, few applications support correct rendering of such combinations: Nisus Writer is a word processor notable for good handling of combining diacritics even when no predefined glyphs are present in the font.

Contents

[edit] OpenType

OpenType has the ccmp "feature tag" to define glyphs that are compositions or decompositions involving combining characters.

[edit] Unicode ranges

  • Combining Diacritical Marks (0300–036F)
  • Combining Diacritical Marks Supplement (1DC0–1DFF)
  • Combining Diacritical Marks for Symbols (20D0–20FF)
  • Combining Half Marks (FE20–FE2F)
Combining Diacritical Marks
Unicode.org chart (PDF)
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0300  ̀  ́  ̂  ̃  ̄  ̅  ̆  ̇  ̈  ̉  ̊  ̋  ̌  ̍  ̎  ̏
0310  ̐  ̑  ̒  ̓  ̔  ̕  ̖  ̗  ̘  ̙  ̚  ̛  ̜  ̝  ̞  ̟
0320  ̠  ̡  ̢  ̣  ̤  ̥  ̦  ̧  ̨  ̩  ̪  ̫  ̬  ̭  ̮  ̯
0330  ̰  ̱  ̲  ̳  ̴  ̵  ̶  ̷  ̸  ̹  ̺  ̻  ̼  ̽  ̾  ̿
0340  ̀  ́  ͂  ̓  ̈́  ͅ  ͆  ͇  ͈  ͉  ͊  ͋  ͌  ͍  ͎ CGJ
0350  ͐  ͑  ͒  ͓  ͔  ͕  ͖  ͗  ͘  ͙  ͚  ͛  ͜  ͝  ͞  ͟
0360  ͠  ͡  ͢  ͣ  ͤ  ͥ  ͦ  ͧ  ͨ  ͩ  ͪ  ͫ  ͬ  ͭ  ͮ  ͯ

Codepoints U+0346–034A are IPA symbols, U+0346 ͆: dentolabial; U+0347 ͇: alveolar; U+0348 ͈: strong articulation U+0349 ͉: weak articulation U+034A ͊: denasal Codepoints U+034B–034E are IPA diacritics for disordered speech: U+034B ͋: nasal escape; U+034C ͌: velopharyngeal friction; U+034D ͍: labial spreading; U+034E ͎: whistled articulation;

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 Modern High German umlaut notation, such as for Modern German ü.

Combining Diacritical Marks Supplement
Unicode.org chart (PDF)
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
1DC0  ᷀  ᷁  ᷂  ᷃  ᷄  ᷅  ᷆  ᷇  ᷈  ᷉  ᷊          
1DD0                                
1DE0                                
1DF0                              ᷾  ᷿
Combining Diacritical Marks for Symbols
Unicode.org chart (PDF)
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
20D0  ⃐  ⃑  ⃒  ⃓  ⃔  ⃕  ⃖  ⃗  ⃘  ⃙  ⃚  ⃛  ⃜  ⃝  ⃞  ⃟
20E0  ⃠  ⃡  ⃢  ⃣  ⃤  ⃥  ⃦  ⃧  ⃨  ⃩  ⃪  ⃫  ⃬  ⃭  ⃮  ⃯
20F0                                
Combining Half Marks
Unicode.org chart (PDF)
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
FE20  ︠  ︡  ︢  ︣                        

[edit] Tools

  • The Unicode text editor mined offers a wide range of Unicode support and provides, as a unique feature, a separated display mode in which the Unicode combining characters can optionally be displayed and handled separately (switchable with a mouse-click). Mined runs in text mode on Unix/Linux/MacOS (xterm, rxvt etc), Windows (with cygwin) and DOS.

[edit] Notes

  1. ^ For example, when converting between windows-1258 and VISCII, the former uses combining diacritics whilst the other has a large selection of precomposed characters so a converter using a simple mapping between code values and unicode code points will mess up text when converting between them.

[edit] See also

[edit] External links