#[derive(Clone, Copy, Debug, Hash, Eq, PartialEq)]
pub enum JoiningGroup {
AfricanFeh,
AfricanNoon,
AfricanQaf,
Ain,
Alaph,
Alef,
Beh,
Beth,
BurushaskiYehBarree,
Dal,
DalathRish,
E,
FarsiYeh,
Fe,
Feh,
FinalSemkath,
Gaf,
Gamal,
Hah,
HamzaOnHehGoal,
HanifiRohingyaKinnaYa,
HanifiRohingyaPa,
He,
Heh,
HehGoal,
Heth,
Kaf,
Kaph,
Khaph,
KnottedHeh,
Lam,
Lamadh,
MalayalamBha,
MalayalamJa,
MalayalamLla,
MalayalamLlla,
MalayalamNga,
MalayalamNna,
MalayalamNnna,
MalayalamNya,
MalayalamRa,
MalayalamSsa,
MalayalamTta,
ManichaeanAleph,
ManichaeanAyin,
ManichaeanBeth,
ManichaeanDaleth,
ManichaeanDhamedh,
ManichaeanFive,
ManichaeanGimel,
ManichaeanHeth,
ManichaeanHundred,
ManichaeanKaph,
ManichaeanLamedh,
ManichaeanMem,
ManichaeanNun,
ManichaeanOne,
ManichaeanPe,
ManichaeanQoph,
ManichaeanResh,
ManichaeanSadhe,
ManichaeanSamekh,
ManichaeanTaw,
ManichaeanTen,
ManichaeanTeth,
ManichaeanThamedh,
ManichaeanTwenty,
ManichaeanWaw,
ManichaeanYodh,
ManichaeanZayin,
Meem,
Mim,
NoJoiningGroup,
Noon,
Nun,
Nya,
Pe,
Qaf,
Qaph,
Reh,
ReversedPe,
RohingyaYeh,
Sad,
Sadhe,
Seen,
Semkath,
Shin,
StraightWaw,
SwashKaf,
SyriacWaw,
Tah,
Taw,
TehMarbuta,
Teth,
Waw,
Yeh,
YehBarree,
YehWithTail,
Yudh,
YudhHe,
Zain,
Zhain,
}
#[allow(dead_code)]
pub const JOINING_GROUP: &'static [(u32, u32, JoiningGroup)] = &[
(0, 1567, JoiningGroup::NoJoiningGroup),
(1568, 1568, JoiningGroup::Yeh),
(1569, 1569, JoiningGroup::NoJoiningGroup),
(1570, 1571, JoiningGroup::Alef),
(1572, 1572, JoiningGroup::Waw),
(1573, 1573, JoiningGroup::Alef),
(1574, 1574, JoiningGroup::Yeh),
(1575, 1575, JoiningGroup::Alef),
(1576, 1576, JoiningGroup::Beh),
(1577, 1577, JoiningGroup::TehMarbuta),
(1578, 1579, JoiningGroup::Beh),
(1580, 1582, JoiningGroup::Hah),
(1583, 1584, JoiningGroup::Dal),
(1585, 1586, JoiningGroup::Reh),
(1587, 1588, JoiningGroup::Seen),
(1589, 1590, JoiningGroup::Sad),
(1591, 1592, JoiningGroup::Tah),
(1593, 1594, JoiningGroup::Ain),
(1595, 1596, JoiningGroup::Gaf),
(1597, 1599, JoiningGroup::FarsiYeh),
(1600, 1600, JoiningGroup::NoJoiningGroup),
(1601, 1601, JoiningGroup::Feh),
(1602, 1602, JoiningGroup::Qaf),
(1603, 1603, JoiningGroup::Kaf),
(1604, 1604, JoiningGroup::Lam),
(1605, 1605, JoiningGroup::Meem),
(1606, 1606, JoiningGroup::Noon),
(1607, 1607, JoiningGroup::Heh),
(1608, 1608, JoiningGroup::Waw),
(1609, 1610, JoiningGroup::Yeh),
(1611, 1645, JoiningGroup::NoJoiningGroup),
(1646, 1646, JoiningGroup::Beh),
(1647, 1647, JoiningGroup::Qaf),
(1648, 1648, JoiningGroup::NoJoiningGroup),
(1649, 1651, JoiningGroup::Alef),
(1652, 1652, JoiningGroup::NoJoiningGroup),
(1653, 1653, JoiningGroup::Alef),
(1654, 1655, JoiningGroup::Waw),
(1656, 1656, JoiningGroup::Yeh),
(1657, 1664, JoiningGroup::Beh),
(1665, 1671, JoiningGroup::Hah),
(1672, 1680, JoiningGroup::Dal),
(1681, 1689, JoiningGroup::Reh),
(1690, 1692, JoiningGroup::Seen),
(1693, 1694, JoiningGroup::Sad),
(1695, 1695, JoiningGroup::Tah),
(1696, 1696, JoiningGroup::Ain),
(1697, 1702, JoiningGroup::Feh),
(1703, 1704, JoiningGroup::Qaf),
(1705, 1705, JoiningGroup::Gaf),
(1706, 1706, JoiningGroup::SwashKaf),
(1707, 1707, JoiningGroup::Gaf),
(1708, 1710, JoiningGroup::Kaf),
(1711, 1716, JoiningGroup::Gaf),
(1717, 1720, JoiningGroup::Lam),
(1721, 1724, JoiningGroup::Noon),
(1725, 1725, JoiningGroup::Nya),
(1726, 1726, JoiningGroup::KnottedHeh),
(1727, 1727, JoiningGroup::Hah),
(1728, 1728, JoiningGroup::TehMarbuta),
(1729, 1730, JoiningGroup::HehGoal),
(1731, 1731, JoiningGroup::HamzaOnHehGoal),
(1732, 1739, JoiningGroup::Waw),
(1740, 1740, JoiningGroup::FarsiYeh),
(1741, 1741, JoiningGroup::YehWithTail),
(1742, 1742, JoiningGroup::FarsiYeh),
(1743, 1743, JoiningGroup::Waw),
(1744, 1745, JoiningGroup::Yeh),
(1746, 1747, JoiningGroup::YehBarree),
(1748, 1748, JoiningGroup::NoJoiningGroup),
(1749, 1749, JoiningGroup::TehMarbuta),
(1750, 1773, JoiningGroup::NoJoiningGroup),
(1774, 1774, JoiningGroup::Dal),
(1775, 1775, JoiningGroup::Reh),
(1776, 1785, JoiningGroup::NoJoiningGroup),
(1786, 1786, JoiningGroup::Seen),
(1787, 1787, JoiningGroup::Sad),
(1788, 1788, JoiningGroup::Ain),
(1789, 1790, JoiningGroup::NoJoiningGroup),
(1791, 1791, JoiningGroup::KnottedHeh),
(1792, 1807, JoiningGroup::NoJoiningGroup),
(1808, 1808, JoiningGroup::Alaph),
(1809, 1809, JoiningGroup::NoJoiningGroup),
(1810, 1810, JoiningGroup::Beth),
(1811, 1812, JoiningGroup::Gamal),
(1813, 1814, JoiningGroup::DalathRish),
(1815, 1815, JoiningGroup::He),
(1816, 1816, JoiningGroup::SyriacWaw),
(1817, 1817, JoiningGroup::Zain),
(1818, 1818, JoiningGroup::Heth),
(1819, 1820, JoiningGroup::Teth),
(1821, 1821, JoiningGroup::Yudh),
(1822, 1822, JoiningGroup::YudhHe),
(1823, 1823, JoiningGroup::Kaph),
(1824, 1824, JoiningGroup::Lamadh),
(1825, 1825, JoiningGroup::Mim),
(1826, 1826, JoiningGroup::Nun),
(1827, 1827, JoiningGroup::Semkath),
(1828, 1828, JoiningGroup::FinalSemkath),
(1829, 1829, JoiningGroup::E),
(1830, 1830, JoiningGroup::Pe),
(1831, 1831, JoiningGroup::ReversedPe),
(1832, 1832, JoiningGroup::Sadhe),
(1833, 1833, JoiningGroup::Qaph),
(1834, 1834, JoiningGroup::DalathRish),
(1835, 1835, JoiningGroup::Shin),
(1836, 1836, JoiningGroup::Taw),
(1837, 1837, JoiningGroup::Beth),
(1838, 1838, JoiningGroup::Gamal),
(1839, 1839, JoiningGroup::DalathRish),
(1840, 1868, JoiningGroup::NoJoiningGroup),
(1869, 1869, JoiningGroup::Zhain),
(1870, 1870, JoiningGroup::Khaph),
(1871, 1871, JoiningGroup::Fe),
(1872, 1878, JoiningGroup::Beh),
(1879, 1880, JoiningGroup::Hah),
(1881, 1882, JoiningGroup::Dal),
(1883, 1883, JoiningGroup::Reh),
(1884, 1884, JoiningGroup::Seen),
(1885, 1887, JoiningGroup::Ain),
(1888, 1889, JoiningGroup::Feh),
(1890, 1892, JoiningGroup::Gaf),
(1893, 1894, JoiningGroup::Meem),
(1895, 1897, JoiningGroup::Noon),
(1898, 1898, JoiningGroup::Lam),
(1899, 1900, JoiningGroup::Reh),
(1901, 1901, JoiningGroup::Seen),
(1902, 1903, JoiningGroup::Hah),
(1904, 1904, JoiningGroup::Seen),
(1905, 1905, JoiningGroup::Reh),
(1906, 1906, JoiningGroup::Hah),
(1907, 1908, JoiningGroup::Alef),
(1909, 1910, JoiningGroup::FarsiYeh),
(1911, 1911, JoiningGroup::Yeh),
(1912, 1913, JoiningGroup::Waw),
(1914, 1915, JoiningGroup::BurushaskiYehBarree),
(1916, 1916, JoiningGroup::Hah),
(1917, 1918, JoiningGroup::Seen),
(1919, 1919, JoiningGroup::Kaf),
(1920, 2143, JoiningGroup::NoJoiningGroup),
(2144, 2144, JoiningGroup::MalayalamNga),
(2145, 2145, JoiningGroup::MalayalamJa),
(2146, 2146, JoiningGroup::MalayalamNya),
(2147, 2147, JoiningGroup::MalayalamTta),
(2148, 2148, JoiningGroup::MalayalamNna),
(2149, 2149, JoiningGroup::MalayalamNnna),
(2150, 2150, JoiningGroup::MalayalamBha),
(2151, 2151, JoiningGroup::MalayalamRa),
(2152, 2152, JoiningGroup::MalayalamLla),
(2153, 2153, JoiningGroup::MalayalamLlla),
(2154, 2154, JoiningGroup::MalayalamSsa),
(2155, 2207, JoiningGroup::NoJoiningGroup),
(2208, 2209, JoiningGroup::Beh),
(2210, 2210, JoiningGroup::Hah),
(2211, 2211, JoiningGroup::Tah),
(2212, 2212, JoiningGroup::Feh),
(2213, 2213, JoiningGroup::Qaf),
(2214, 2214, JoiningGroup::Lam),
(2215, 2215, JoiningGroup::Meem),
(2216, 2217, JoiningGroup::Yeh),
(2218, 2218, JoiningGroup::Reh),
(2219, 2219, JoiningGroup::Waw),
(2220, 2220, JoiningGroup::RohingyaYeh),
(2221, 2221, JoiningGroup::NoJoiningGroup),
(2222, 2222, JoiningGroup::Dal),
(2223, 2223, JoiningGroup::Sad),
(2224, 2224, JoiningGroup::Gaf),
(2225, 2225, JoiningGroup::StraightWaw),
(2226, 2226, JoiningGroup::Reh),
(2227, 2227, JoiningGroup::Ain),
(2228, 2228, JoiningGroup::Kaf),
(2229, 2229, JoiningGroup::NoJoiningGroup),
(2230, 2232, JoiningGroup::Beh),
(2233, 2233, JoiningGroup::Reh),
(2234, 2234, JoiningGroup::Yeh),
(2235, 2235, JoiningGroup::AfricanFeh),
(2236, 2236, JoiningGroup::AfricanQaf),
(2237, 2237, JoiningGroup::AfricanNoon),
(2238, 2240, JoiningGroup::Beh),
(2241, 2241, JoiningGroup::Hah),
(2242, 2242, JoiningGroup::Gaf),
(2243, 2243, JoiningGroup::Ain),
(2244, 2244, JoiningGroup::AfricanQaf),
(2245, 2246, JoiningGroup::Hah),
(2247, 2247, JoiningGroup::Lam),
(2248, 68287, JoiningGroup::NoJoiningGroup),
(68288, 68288, JoiningGroup::ManichaeanAleph),
(68289, 68290, JoiningGroup::ManichaeanBeth),
(68291, 68292, JoiningGroup::ManichaeanGimel),
(68293, 68293, JoiningGroup::ManichaeanDaleth),
(68294, 68294, JoiningGroup::NoJoiningGroup),
(68295, 68295, JoiningGroup::ManichaeanWaw),
(68296, 68296, JoiningGroup::NoJoiningGroup),
(68297, 68298, JoiningGroup::ManichaeanZayin),
(68299, 68300, JoiningGroup::NoJoiningGroup),
(68301, 68301, JoiningGroup::ManichaeanHeth),
(68302, 68302, JoiningGroup::ManichaeanTeth),
(68303, 68303, JoiningGroup::ManichaeanYodh),
(68304, 68306, JoiningGroup::ManichaeanKaph),
(68307, 68307, JoiningGroup::ManichaeanLamedh),
(68308, 68308, JoiningGroup::ManichaeanDhamedh),
(68309, 68309, JoiningGroup::ManichaeanThamedh),
(68310, 68310, JoiningGroup::ManichaeanMem),
(68311, 68311, JoiningGroup::ManichaeanNun),
(68312, 68312, JoiningGroup::ManichaeanSamekh),
(68313, 68314, JoiningGroup::ManichaeanAyin),
(68315, 68316, JoiningGroup::ManichaeanPe),
(68317, 68317, JoiningGroup::ManichaeanSadhe),
(68318, 68320, JoiningGroup::ManichaeanQoph),
(68321, 68321, JoiningGroup::ManichaeanResh),
(68322, 68323, JoiningGroup::NoJoiningGroup),
(68324, 68324, JoiningGroup::ManichaeanTaw),
(68325, 68330, JoiningGroup::NoJoiningGroup),
(68331, 68331, JoiningGroup::ManichaeanOne),
(68332, 68332, JoiningGroup::ManichaeanFive),
(68333, 68333, JoiningGroup::ManichaeanTen),
(68334, 68334, JoiningGroup::ManichaeanTwenty),
(68335, 68335, JoiningGroup::ManichaeanHundred),
(68336, 68865, JoiningGroup::NoJoiningGroup),
(68866, 68866, JoiningGroup::HanifiRohingyaPa),
(68867, 68872, JoiningGroup::NoJoiningGroup),
(68873, 68873, JoiningGroup::HanifiRohingyaPa),
(68874, 68888, JoiningGroup::NoJoiningGroup),
(68889, 68889, JoiningGroup::HanifiRohingyaKinnaYa),
(68890, 68891, JoiningGroup::NoJoiningGroup),
(68892, 68892, JoiningGroup::HanifiRohingyaPa),
(68893, 68893, JoiningGroup::NoJoiningGroup),
(68894, 68894, JoiningGroup::HanifiRohingyaKinnaYa),
(68895, 68895, JoiningGroup::NoJoiningGroup),
(68896, 68896, JoiningGroup::HanifiRohingyaKinnaYa),
(68897, 68898, JoiningGroup::NoJoiningGroup),
(68899, 68899, JoiningGroup::HanifiRohingyaKinnaYa),
(68900, 1114111, JoiningGroup::NoJoiningGroup),
];