# Mongolian character tables #
This document lists the per-character shaping information needed to
[shape Mongolian text](../opentype-shaping-mongolian.md).
**Contents**
- [Mongolian character table](#mongolian-character-table)
- [Mongolian Supplement character table](#mongolian-supplement-character-table)
- [Miscellaneous character table](#miscellaneous-character-table)
## Mongolian character table ##
Mongolian glyphs should be classified as in the following
table. Codepoints in the Mongolian block with no assigned meaning are
designated as _unassigned_ in the _Unicode category_ column.
The _Joining type_ column indicates whether each codepoint is defined
as joining with adjacent characters on the left side, right side, left
and right sides ("DUAL"), or neither side ("NON_JOINING"). Codepoints
designated TRANSPARENT in the _Joining type_ column do not join with
adjacent characters and, in addition, do not affect the joining
behavior of surrounding characters. Non-spacing marks are of type
TRANSPARENT. Codepoints designated JOIN_CAUSING force adjacent
characters to join.
The _Joining group_ column lists the fundamental letter that the
listed codepoint behaves like for joining purposes.
Assigned codepoints with a _null_ in the _Joining group_
column evoke no special behavior from the shaping engine during the
join-computation stage.
The _Mark class_ column indicates the Canonical Combining Class
for the codepoint. Marks are assigned non-zero combining classes so
that sequences of adjacent marks can be reordered as required by the
orthography.
For Mongolian, a subset of marks in the 220 and 230 classes are also
designated _Modifier Combining Marks_ (MCM). These are denoted with
_220_MCM_ and _230_MCM_ in the _Mark class_ column. The MCM marks are
treated differently during the mark-reordering stage.
:::{table} Mongolian character table
| Codepoint | Unicode category | Joining type | Joining group | Mark class | Glyph |
|:----------|:-----------------|:-------------|:---------------------|:-----------|-----------------------------------------------|
|`U+1800` | Punctuation | NON_JOINING | _null_ | _0_ | ᠀ Mongolian Birga |
|`U+1801` | Punctuation | NON_JOINING | _null_ | _0_ | ᠁ Mongolian Ellipsis |
|`U+1802` | Punctuation | NON_JOINING | _null_ | _0_ | ᠂ Mongolian Comma |
|`U+1803` | Punctuation | NON_JOINING | _null_ | _0_ | ᠃ Mongolian Full Stop |
|`U+1804` | Punctuation | NON_JOINING | _null_ | _0_ | ᠄ Mongolian Colon |
|`U+1805` | Punctuation | NON_JOINING | _null_ | _0_ | ᠅ Mongolian Four Dots |
|`U+1806` | Punctuation [Pd] | NON_JOINING | _null_ | _0_ | ᠆ Todo Soft Hyphen |
|`U+1807` | Punctuation | DUAL | _null_ | _0_ | ᠇ Sibe Syllable Boundary Mark |
|`U+1808` | Punctuation | NON_JOINING | _null_ | _0_ | ᠈ Manchu Comma |
|`U+1809` | Punctuation | NON_JOINING | _null_ | _0_ | ᠉ Manchu Full Stop |
|`U+180A` | Punctuation | JOIN_CAUSING | _null_ | _0_ | ᠊ Mongolian Nirugu |
|`U+180B` | Mark [Mn] | TRANSPARENT | _null_ | _0_ | ᠋ Free Variation Selector One |
|`U+180C` | Mark [Mn] | TRANSPARENT | _null_ | _0_ | ᠌ Free Variation Selector Two |
|`U+180D` | Mark [Mn] | TRANSPARENT | _null_ | _0_ | ᠍ Free Variation Selector Three |
|`U+180E` | Formatting | NON_JOINING | _null_ | _0_ | Mongolian Vowel Separator |
|`U+180F` | Mark [Mn] | TRANSPARENT | _null_ | _0_ | ᠏ Free Variation Selector Four |
| | | | | |
|`U+1810` | Number | NON_JOINING | _null_ | _0_ | ᠐ Digit Zero |
|`U+1811` | Number | NON_JOINING | _null_ | _0_ | ᠑ Digit One |
|`U+1812` | Number | NON_JOINING | _null_ | _0_ | ᠒ Digit Two |
|`U+1813` | Number | NON_JOINING | _null_ | _0_ | ᠓ Digit Three |
|`U+1814` | Number | NON_JOINING | _null_ | _0_ | ᠔ Digit Four |
|`U+1815` | Number | NON_JOINING | _null_ | _0_ | ᠕ Digit Five |
|`U+1816` | Number | NON_JOINING | _null_ | _0_ | ᠖ Digit Six |
|`U+1817` | Number | NON_JOINING | _null_ | _0_ | ᠗ Digit Seven |
|`U+1818` | Number | NON_JOINING | _null_ | _0_ | ᠘ Digit Eight |
|`U+1819` | Number | NON_JOINING | _null_ | _0_ | ᠙ Digit Nine |
|`U+181A` | _unassigned_ | | | | |
|`U+181B` | _unassigned_ | | | | |
|`U+181C` | _unassigned_ | | | | |
|`U+181D` | _unassigned_ | | | | |
|`U+181E` | _unassigned_ | | | | |
|`U+181F` | _unassigned_ | | | | |
| | | | | |
|`U+1820` | Letter | DUAL | _null_ | _0_ | ᠠ A |
|`U+1821` | Letter | DUAL | _null_ | _0_ | ᠡ E |
|`U+1822` | Letter | DUAL | _null_ | _0_ | ᠢ I |
|`U+1823` | Letter | DUAL | _null_ | _0_ | ᠣ O |
|`U+1824` | Letter | DUAL | _null_ | _0_ | ᠤ U |
|`U+1825` | Letter | DUAL | _null_ | _0_ | ᠥ Oe |
|`U+1827` | Letter | DUAL | _null_ | _0_ | ᠦ Ue |
|`U+1827` | Letter | DUAL | _null_ | _0_ | ᠧ Ee |
|`U+1828` | Letter | DUAL | _null_ | _0_ | ᠨ Na |
|`U+1829` | Letter | DUAL | _null_ | _0_ | ᠩ Ang |
|`U+182A` | Letter | DUAL | _null_ | _0_ | ᠪ Ba |
|`U+182B` | Letter | DUAL | _null_ | _0_ | ᠫ Pa |
|`U+182C` | Letter | DUAL | _null_ | _0_ | ᠬ Qa |
|`U+182D` | Letter | DUAL | _null_ | _0_ | ᠭ Ga |
|`U+182E` | Letter | DUAL | _null_ | _0_ | ᠮ Ma |
|`U+182F` | Letter | DUAL | _null_ | _0_ | ᠯ La |
| | | | | |
|`U+1830` | Letter | DUAL | _null_ | _0_ | ᠰ Sa |
|`U+1831` | Letter | DUAL | _null_ | _0_ | ᠱ Sha |
|`U+1832` | Letter | DUAL | _null_ | _0_ | ᠲ Ta |
|`U+1833` | Letter | DUAL | _null_ | _0_ | ᠳ Da |
|`U+1834` | Letter | DUAL | _null_ | _0_ | ᠴ Cha |
|`U+1835` | Letter | DUAL | _null_ | _0_ | ᠵ Ja |
|`U+1836` | Letter | DUAL | _null_ | _0_ | ᠶ Ya |
|`U+1837` | Letter | DUAL | _null_ | _0_ | ᠷ Ra |
|`U+1838` | Letter | DUAL | _null_ | _0_ | ᠸ Wa |
|`U+1839` | Letter | DUAL | _null_ | _0_ | ᠹ Fa |
|`U+183A` | Letter | DUAL | _null_ | _0_ | ᠺ Ka |
|`U+183B` | Letter | DUAL | _null_ | _0_ | ᠻ Kha |
|`U+183C` | Letter | DUAL | _null_ | _0_ | ᠼ Tsa |
|`U+183D` | Letter | DUAL | _null_ | _0_ | ᠽ Za |
|`U+183E` | Letter | DUAL | _null_ | _0_ | ᠾ Haa |
|`U+183F` | Letter | DUAL | _null_ | _0_ | ᠿ Zra |
| | | | | |
|`U+1840` | Letter | DUAL | _null_ | _0_ | ᡀ Lha |
|`U+1841` | Letter | DUAL | _null_ | _0_ | ᡁ Zhi |
|`U+1842` | Letter | DUAL | _null_ | _0_ | ᡂ Chi |
|`U+1843` | Letter | DUAL | _null_ | _0_ | ᡃ Todo Long Vowel Sign |
|`U+1844` | Letter | DUAL | _null_ | _0_ | ᡄ Todo E |
|`U+1845` | Letter | DUAL | _null_ | _0_ | ᡅ Todo I |
|`U+1846` | Letter | DUAL | _null_ | _0_ | ᡆ Todo O |
|`U+1847` | Letter | DUAL | _null_ | _0_ | ᡇ Todo U |
|`U+1848` | Letter | DUAL | _null_ | _0_ | ᡈ Todo Oe |
|`U+1849` | Letter | DUAL | _null_ | _0_ | ᡉ Todo Ue |
|`U+184A` | Letter | DUAL | _null_ | _0_ | ᡊ Todo Ang |
|`U+184B` | Letter | DUAL | _null_ | _0_ | ᡋ Todo Ba |
|`U+184C` | Letter | DUAL | _null_ | _0_ | ᡌ Todo Pa |
|`U+184D` | Letter | DUAL | _null_ | _0_ | ᡍ Todo Qa |
|`U+184E` | Letter | DUAL | _null_ | _0_ | ᡎ Todo Ga |
|`U+184F` | Letter | DUAL | _null_ | _0_ | ᡏ Todo Ma |
| | | | | |
|`U+1850` | Letter | DUAL | _null_ | _0_ | ᡐ Todo Ta |
|`U+1851` | Letter | DUAL | _null_ | _0_ | ᡑ Todo Da |
|`U+1852` | Letter | DUAL | _null_ | _0_ | ᡒ Todo Cha |
|`U+1853` | Letter | DUAL | _null_ | _0_ | ᡓ Todo Ja |
|`U+1854` | Letter | DUAL | _null_ | _0_ | ᡔ Todo Tsa |
|`U+1855` | Letter | DUAL | _null_ | _0_ | ᡕ Todo Ya |
|`U+1856` | Letter | DUAL | _null_ | _0_ | ᡖ Todo Wa |
|`U+1857` | Letter | DUAL | _null_ | _0_ | ᡗ Todo Ka |
|`U+1858` | Letter | DUAL | _null_ | _0_ | ᡘ Todo Gaa |
|`U+1859` | Letter | DUAL | _null_ | _0_ | ᡙ Todo Haa |
|`U+185A` | Letter | DUAL | _null_ | _0_ | ᡚ Todo Jia |
|`U+185B` | Letter | DUAL | _null_ | _0_ | ᡛ Todo Nia |
|`U+185C` | Letter | DUAL | _null_ | _0_ | ᡜ Todo Dza |
|`U+185D` | Letter | DUAL | _null_ | _0_ | ᡝ Sibe E |
|`U+185E` | Letter | DUAL | _null_ | _0_ | ᡞ Sibe I |
|`U+185F` | Letter | DUAL | _null_ | _0_ | ᡟ Sibe Iy |
| | | | | |
|`U+1860` | Letter | DUAL | _null_ | _0_ | ᡠ Sibe Ue |
|`U+1861` | Letter | DUAL | _null_ | _0_ | ᡡ Sibe U |
|`U+1862` | Letter | DUAL | _null_ | _0_ | ᡢ Sibe Ang |
|`U+1863` | Letter | DUAL | _null_ | _0_ | ᡣ Sibe Ka |
|`U+1864` | Letter | DUAL | _null_ | _0_ | ᡤ Sibe Ga |
|`U+1865` | Letter | DUAL | _null_ | _0_ | ᡥ Sibe Ha |
|`U+1866` | Letter | DUAL | _null_ | _0_ | ᡦ Sibe Pa |
|`U+1867` | Letter | DUAL | _null_ | _0_ | ᡧ Sibe Sha |
|`U+1868` | Letter | DUAL | _null_ | _0_ | ᡨ Sibe Ta |
|`U+1869` | Letter | DUAL | _null_ | _0_ | ᡩ Sibe Da |
|`U+186A` | Letter | DUAL | _null_ | _0_ | ᡪ Sibe Ja |
|`U+186B` | Letter | DUAL | _null_ | _0_ | ᡫ Sibe Fa |
|`U+186C` | Letter | DUAL | _null_ | _0_ | ᡬ Sibe Gaa |
|`U+186D` | Letter | DUAL | _null_ | _0_ | ᡭ Sibe Haa |
|`U+186E` | Letter | DUAL | _null_ | _0_ | ᡮ Sibe Tsa |
|`U+186F` | Letter | DUAL | _null_ | _0_ | ᡯ Sibe Za |
| | | | | |
|`U+1870` | Letter | DUAL | _null_ | _0_ | ᡰ Sibe Raa |
|`U+1871` | Letter | DUAL | _null_ | _0_ | ᡱ Sibe Cha |
|`U+1872` | Letter | DUAL | _null_ | _0_ | ᡲ Sibe Zha |
|`U+1873` | Letter | DUAL | _null_ | _0_ | ᡳ Manchu I |
|`U+1874` | Letter | DUAL | _null_ | _0_ | ᡴ Manchu Ka |
|`U+1875` | Letter | DUAL | _null_ | _0_ | ᡵ Manchu Ra |
|`U+1876` | Letter | DUAL | _null_ | _0_ | ᡶ Manchu Fa |
|`U+1877` | Letter | DUAL | _null_ | _0_ | ᡷ Manchu Zha |
|`U+1878` | Letter | DUAL | _null_ | _0_ | ᡸ Cha With Two Dots |
|`U+1879` | _unassigned_ | | | | |
|`U+187A` | _unassigned_ | | | | |
|`U+187B` | _unassigned_ | | | | |
|`U+187C` | _unassigned_ | | | | |
|`U+187D` | _unassigned_ | | | | |
|`U+187E` | _unassigned_ | | | | |
|`U+187F` | _unassigned_ | | | | |
| | | | | |
|`U+1880` | Letter | NON_JOINING | _null_ | _0_ | ᢀ Ali Gali Anusvara One |
|`U+1881` | Letter | NON_JOINING | _null_ | _0_ | ᢁ Ali Gali Visarga One |
|`U+1882` | Letter | NON_JOINING | _null_ | _0_ | ᢂ Ali Gali Damaru |
|`U+1883` | Letter | NON_JOINING | _null_ | _0_ | ᢃ Ali Gali Ubadama |
|`U+1884` | Letter | NON_JOINING | _null_ | _0_ | ᢄ Ali Gali Inverted Ubadama |
|`U+1885` | Mark [Mn] | TRANSPARENT | _null_ | _0_ | ᢅ Ali Gali Baluda |
|`U+1886` | Mark [Mn] | TRANSPARENT | _null_ | _0_ | ᢆ Ali Gali Three Baluda |
|`U+1887` | Letter | DUAL | _null_ | _0_ | ᢇ Ali Gali A |
|`U+1888` | Letter | DUAL | _null_ | _0_ | ᢈ Ali Gali I |
|`U+1889` | Letter | DUAL | _null_ | _0_ | ᢉ Ali Gali Ka |
|`U+188A` | Letter | DUAL | _null_ | _0_ | ᢊ Ali Gali Nga |
|`U+188B` | Letter | DUAL | _null_ | _0_ | ᢋ Ali Gali Ca |
|`U+188C` | Letter | DUAL | _null_ | _0_ | ᢌ Ali Gali Tta |
|`U+188D` | Letter | DUAL | _null_ | _0_ | ᢍ Ali Gali Ttha |
|`U+188E` | Letter | DUAL | _null_ | _0_ | ᢎ Ali Gali Dda |
|`U+188F` | Letter | DUAL | _null_ | _0_ | ᢏ Ali Gali Nna |
| | | | | |
|`U+1890` | Letter | DUAL | _null_ | _0_ | ᢐ Ali Gali Ta |
|`U+1891` | Letter | DUAL | _null_ | _0_ | ᢑ Ali Gali Da |
|`U+1892` | Letter | DUAL | _null_ | _0_ | ᢒ Ali Gali Pa |
|`U+1893` | Letter | DUAL | _null_ | _0_ | ᢓ Ali Gali Pha |
|`U+1894` | Letter | DUAL | _null_ | _0_ | ᢔ Ali Gali Ssa |
|`U+1895` | Letter | DUAL | _null_ | _0_ | ᢕ Ali Gali Zha |
|`U+1896` | Letter | DUAL | _null_ | _0_ | ᢖ Ali Gali Za |
|`U+1897` | Letter | DUAL | _null_ | _0_ | ᢗ Ali Gali Ah |
|`U+1898` | Letter | DUAL | _null_ | _0_ | ᢘ Todo Ali Gali Ta |
|`U+1899` | Letter | DUAL | _null_ | _0_ | ᢙ Todo Ali Gali Zha |
|`U+189A` | Letter | DUAL | _null_ | _0_ | ᢚ Manchu Ali Gali Gha |
|`U+189B` | Letter | DUAL | _null_ | _0_ | ᢛ Manchu Ali Gali Nga |
|`U+189C` | Letter | DUAL | _null_ | _0_ | ᢜ Manchu Ali Gali Ca |
|`U+189D` | Letter | DUAL | _null_ | _0_ | ᢝ Manchu Ali Gali Jha |
|`U+189E` | Letter | DUAL | _null_ | _0_ | ᢞ Manchu Ali Gali Tta |
|`U+189F` | Letter | DUAL | _null_ | _0_ | ᢟ Manchu Ali Gali Ddha |
| | | | | |
|`U+18A0` | Letter | DUAL | _null_ | _0_ | ᢠ Manchu Ali Gali Ta |
|`U+18A1` | Letter | DUAL | _null_ | _0_ | ᢡ Manchu Ali Gali Dha |
|`U+18A2` | Letter | DUAL | _null_ | _0_ | ᢢ Manchu Ali Gali Ssa |
|`U+18A3` | Letter | DUAL | _null_ | _0_ | ᢣ Manchu Ali Gali Cya |
|`U+18A4` | Letter | DUAL | _null_ | _0_ | ᢤ Manchu Ali Gali Zha |
|`U+18A5` | Letter | DUAL | _null_ | _0_ | ᢥ Manchu Ali Gali Za |
|`U+18A6` | Letter | DUAL | _null_ | _0_ | ᢦ Ali Gali Half U |
|`U+18A7` | Letter | DUAL | _null_ | _0_ | ᢧ Ali Gali Half Ya |
|`U+18A8` | Letter | DUAL | _null_ | _0_ | ᢨ Manchu Ali Gali Bha |
|`U+18A9` | Mark [Mn] | TRANSPARENT | _null_ | 228 | ᢩ Ali Gali Dagalga |
|`U+18AA` | Letter | DUAL | _null_ | _0_ | ᢪ Manchu Ali Gali Lha |
|`U+18AB` | _unassigned_ | | | | |
|`U+18AC` | _unassigned_ | | | | |
|`U+18AD` | _unassigned_ | | | | |
|`U+18AE` | _unassigned_ | | | | |
|`U+18AF` | _unassigned_ | | | | |
:::
## Mongolian Supplement character table ##
The Mongolian Supplement block includes variants of the _birga_ mark
used to denote the beginning of a text.
:::{table} Mongolian Supplement character table
| Codepoint | Unicode category | Joining type | Joining group | Mark class | Glyph |
|:----------|:-----------------|:-------------|:---------------------|:-----------|-----------------------------------------------|
|`U+11660` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙠 Birga with Ornament |
|`U+11661` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙡 Rotated Birga |
|`U+11662` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙢 Double Birga with Ornament |
|`U+11663` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙣 Triple Birga with Ornament |
|`U+11664` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙤 Birga with Double Ornament |
|`U+11665` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙥 Rotated Birga with Ornament |
|`U+11666` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙦 Rotated Birga with Double Ornament |
|`U+11667` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙧 Inverted Birga |
|`U+11668` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙨 Inverted Birga with Double Ornament |
|`U+11669` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙩 Swirl Birga |
|`U+1166A` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙪 Swirl Birga with Ornament |
|`U+1166B` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙫 Swirl Birga with Double Ornament |
|`U+1166C` | Punctuation | NON_JOINING | _null_ | _0_ | 𑙬 Turned Swirl Birga with Double Ornament|
|`U+1166D` | _unassigned_ | | | | |
|`U+1166E` | _unassigned_ | | | | |
|`U+1166F` | _unassigned_ | | | | |
| | | | | |
|`U+11670` | _unassigned_ | | | | |
|`U+11671` | _unassigned_ | | | | |
|`U+11672` | _unassigned_ | | | | |
|`U+11673` | _unassigned_ | | | | |
|`U+11674` | _unassigned_ | | | | |
|`U+11675` | _unassigned_ | | | | |
|`U+11676` | _unassigned_ | | | | |
|`U+11677` | _unassigned_ | | | | |
|`U+11678` | _unassigned_ | | | | |
|`U+11679` | _unassigned_ | | | | |
|`U+1167A` | _unassigned_ | | | | |
|`U+1167B` | _unassigned_ | | | | |
|`U+1167C` | _unassigned_ | | | | |
|`U+1167D` | _unassigned_ | | | | |
|`U+1167E` | _unassigned_ | | | | |
|`U+1167F` | _unassigned_ | | | | |
:::
## Miscellaneous character table ##
Other important characters that may be encountered when shaping runs
of Mongolian text include the dotted-circle placeholder (`U+25CC`), the
combining grapheme joiner (`U+034F`), the zero-width joiner (`U+200D`)
and zero-width non-joiner (`U+200C`), the left-to-right text marker
(`U+200E`) and right-to-left text marker (`U+200F`), and the no-break
space (`U+00A0`).
The dotted-circle placeholder is frequently used when displaying a
combining mark in isolation. Real-world text syllables may also use
other characters, such as hyphens or dashes, in a similar placeholder
fashion; shaping engines should cope with this situation gracefully.
:::{table} Miscellaneous character table
| Codepoint | Unicode category | Joining type | Joining group | Mark class | Glyph |
|:----------|:-----------------|:-------------|:---------------------|:-----------|--------------------------------|
|`U+00A0` | Separator | NON_JOINING | _null_ | _0_ | No-break space |
|`U+200C` | Other | NON_JOINING | _null_ | _0_ | Zero-width non-joiner |
|`U+200D` | Other | JOIN_CAUSING | _null_ | _0_ | Zero-width joiner |
|`U+2010` | Punctuation | NON_JOINING | _null_ | _0_ | ‐ Hyphen |
|`U+2011` | Punctuation | NON_JOINING | _null_ | _0_ | ‑ No-break hyphen |
|`U+2012` | Punctuation | NON_JOINING | _null_ | _0_ | ‒ Figure dash |
|`U+2013` | Punctuation | NON_JOINING | _null_ | _0_ | – En dash |
|`U+2014` | Punctuation | NON_JOINING | _null_ | _0_ | — Em dash |
|`U+202F` | Separator | NON_JOINING | _null_ | _0_ | Narrow No-Break Space |
|`U+25CC` | Symbol | NON_JOINING | _null_ | _0_ | ◌ Dotted circle |
| | | | | | |
:::
The zero-width joiner (ZWJ) is primarily used to force the usage of the
cursive connecting form of a letter even when the context of the
adjoining letters would not trigger the connecting form.
For example, to show the initial form of a letter in isolation (such
as for displaying it in a table of forms), the sequence "_Letter_,ZWJ"
would be used. To show the medial form of a letter in isolation, the
sequence "ZWJ,_Letter_,ZWJ" would be used.
The no-break space is primarily used to display those codepoints that
are defined as non-spacing (such as vowel or diacritical marks and "Hamza") in an
isolated context, as an alternative to displaying them superimposed on
the dotted-circle placeholder.
The narrow no-break space is used in Mongolian to insert a small gap
between a word and its suffix.