Created
September 29, 2022 15:12
-
-
Save ManyTheFish/2e05698d1c76c0504c3f7738de40c95d to your computer and use it in GitHub Desktop.
Naive implementation of a function that returns `true` if the provided character is a [nonspacing mark](https://www.compart.com/en/unicode/category/Mn)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fn is_nonspacing_mark(c: char) -> bool { | |
matches!(c, | |
'\u{1D242}'..='\u{1D244}' | | |
'\u{0483}'..='\u{0484}' | | |
'\u{0487}' | | |
'\u{2DE0}'..='\u{2DFF}' | | |
'\u{A66F}' | | |
'\u{A674}'..='\u{A67D}' | | |
'\u{A69E}'..='\u{A69F}' | | |
'\u{FE2E}'..='\u{FE2F}' | | |
'\u{1E08F}' | | |
'\u{0591}'..='\u{05BD}' | | |
'\u{05BF}' | | |
'\u{05C1}'..='\u{05C2}' | | |
'\u{05C4}'..='\u{05C5}' | | |
'\u{05C7}' | | |
'\u{FB1E}' | | |
'\u{0610}'..='\u{061A}' | | |
'\u{0656}'..='\u{065F}' | | |
'\u{06D6}'..='\u{06DC}' | | |
'\u{06DF}'..='\u{06E4}' | | |
'\u{06E7}'..='\u{06E8}' | | |
'\u{06EA}'..='\u{06ED}' | | |
'\u{0898}'..='\u{089F}' | | |
'\u{08CA}'..='\u{08E1}' | | |
'\u{08E3}'..='\u{08FF}' | | |
'\u{10EFD}'..='\u{10EFF}' | | |
'\u{0711}' | | |
'\u{0730}'..='\u{074A}' | | |
'\u{07A6}'..='\u{07B0}' | | |
'\u{0900}'..='\u{0902}' | | |
'\u{093A}' | | |
'\u{093C}' | | |
'\u{0941}'..='\u{0948}' | | |
'\u{094D}' | | |
'\u{0955}'..='\u{0957}' | | |
'\u{0962}'..='\u{0963}' | | |
'\u{A8E0}'..='\u{A8F1}' | | |
'\u{A8FF}' | | |
'\u{0981}' | | |
'\u{09BC}' | | |
'\u{09C1}'..='\u{09C4}' | | |
'\u{09CD}' | | |
'\u{09E2}'..='\u{09E3}' | | |
'\u{09FE}' | | |
'\u{0A01}'..='\u{0A02}' | | |
'\u{0A3C}' | | |
'\u{0A41}'..='\u{0A42}' | | |
'\u{0A47}'..='\u{0A48}' | | |
'\u{0A4B}'..='\u{0A4D}' | | |
'\u{0A51}' | | |
'\u{0A70}'..='\u{0A71}' | | |
'\u{0A75}' | | |
'\u{0A81}'..='\u{0A82}' | | |
'\u{0ABC}' | | |
'\u{0AC1}'..='\u{0AC5}' | | |
'\u{0AC7}'..='\u{0AC8}' | | |
'\u{0ACD}' | | |
'\u{0AE2}'..='\u{0AE3}' | | |
'\u{0AFA}'..='\u{0AFF}' | | |
'\u{0B01}' | | |
'\u{0B3C}' | | |
'\u{0B3F}' | | |
'\u{0B41}'..='\u{0B44}' | | |
'\u{0B4D}' | | |
'\u{0B55}'..='\u{0B56}' | | |
'\u{0B62}'..='\u{0B63}' | | |
'\u{0B82}' | | |
'\u{0BC0}' | | |
'\u{0BCD}' | | |
'\u{0C00}' | | |
'\u{0C04}' | | |
'\u{0C3C}' | | |
'\u{0C3E}'..='\u{0C40}' | | |
'\u{0C46}'..='\u{0C48}' | | |
'\u{0C4A}'..='\u{0C4D}' | | |
'\u{0C55}'..='\u{0C56}' | | |
'\u{0C62}'..='\u{0C63}' | | |
'\u{0C81}' | | |
'\u{0CBC}' | | |
'\u{0CBF}' | | |
'\u{0CC6}' | | |
'\u{0CCC}'..='\u{0CCD}' | | |
'\u{0CE2}'..='\u{0CE3}' | | |
'\u{0D00}'..='\u{0D01}' | | |
'\u{0D3B}'..='\u{0D3C}' | | |
'\u{0D41}'..='\u{0D44}' | | |
'\u{0D4D}' | | |
'\u{0D62}'..='\u{0D63}' | | |
'\u{0D81}' | | |
'\u{0DCA}' | | |
'\u{0DD2}'..='\u{0DD4}' | | |
'\u{0DD6}' | | |
'\u{0E31}' | | |
'\u{0E34}'..='\u{0E3A}' | | |
'\u{0E47}'..='\u{0E4E}' | | |
'\u{0EB1}' | | |
'\u{0EB4}'..='\u{0EBC}' | | |
'\u{0EC8}'..='\u{0ECE}' | | |
'\u{0F18}'..='\u{0F19}' | | |
'\u{0F35}' | | |
'\u{0F37}' | | |
'\u{0F39}' | | |
'\u{0F71}'..='\u{0F7E}' | | |
'\u{0F80}'..='\u{0F84}' | | |
'\u{0F86}'..='\u{0F87}' | | |
'\u{0F8D}'..='\u{0F97}' | | |
'\u{0F99}'..='\u{0FBC}' | | |
'\u{0FC6}' | | |
'\u{102D}'..='\u{1030}' | | |
'\u{1032}'..='\u{1037}' | | |
'\u{1039}'..='\u{103A}' | | |
'\u{103D}'..='\u{103E}' | | |
'\u{1058}'..='\u{1059}' | | |
'\u{105E}'..='\u{1060}' | | |
'\u{1071}'..='\u{1074}' | | |
'\u{1082}' | | |
'\u{1085}'..='\u{1086}' | | |
'\u{108D}' | | |
'\u{109D}' | | |
'\u{A9E5}' | | |
'\u{AA7C}' | | |
'\u{135D}'..='\u{135F}' | | |
'\u{17B4}'..='\u{17B5}' | | |
'\u{17B7}'..='\u{17BD}' | | |
'\u{17C6}' | | |
'\u{17C9}'..='\u{17D3}' | | |
'\u{17DD}' | | |
'\u{180B}'..='\u{180D}' | | |
'\u{180F}' | | |
'\u{1885}'..='\u{1886}' | | |
'\u{18A9}' | | |
'\u{0300}'..='\u{036F}' | | |
'\u{0485}'..='\u{0486}' | | |
'\u{064B}'..='\u{0655}' | | |
'\u{0670}' | | |
'\u{0951}'..='\u{0954}' | | |
'\u{1AB0}'..='\u{1ABD}' | | |
'\u{1ABF}'..='\u{1ACE}' | | |
'\u{1CD0}'..='\u{1CD2}' | | |
'\u{1CD4}'..='\u{1CE0}' | | |
'\u{1CE2}'..='\u{1CE8}' | | |
'\u{1CED}' | | |
'\u{1CF4}' | | |
'\u{1CF8}'..='\u{1CF9}' | | |
'\u{1DC0}'..='\u{1DFF}' | | |
'\u{20D0}'..='\u{20DC}' | | |
'\u{20E1}' | | |
'\u{20E5}'..='\u{20F0}' | | |
'\u{302A}'..='\u{302D}' | | |
'\u{3099}'..='\u{309A}' | | |
'\u{FE00}'..='\u{FE0F}' | | |
'\u{FE20}'..='\u{FE2D}' | | |
'\u{101FD}' | | |
'\u{102E0}' | | |
'\u{1133B}' | | |
'\u{1CF00}'..='\u{1CF2D}' | | |
'\u{1CF30}'..='\u{1CF46}' | | |
'\u{1D167}'..='\u{1D169}' | | |
'\u{1D17B}'..='\u{1D182}' | | |
'\u{1D185}'..='\u{1D18B}' | | |
'\u{1D1AA}'..='\u{1D1AD}' | | |
'\u{E0100}'..='\u{E01EF}' | | |
'\u{1712}'..='\u{1714}' | | |
'\u{1732}'..='\u{1733}' | | |
'\u{1752}'..='\u{1753}' | | |
'\u{1772}'..='\u{1773}' | | |
'\u{1920}'..='\u{1922}' | | |
'\u{1927}'..='\u{1928}' | | |
'\u{1932}' | | |
'\u{1939}'..='\u{193B}' | | |
'\u{1A17}'..='\u{1A18}' | | |
'\u{1A1B}' | | |
'\u{2CEF}'..='\u{2CF1}' | | |
'\u{1E000}'..='\u{1E006}' | | |
'\u{1E008}'..='\u{1E018}' | | |
'\u{1E01B}'..='\u{1E021}' | | |
'\u{1E023}'..='\u{1E024}' | | |
'\u{1E026}'..='\u{1E02A}' | | |
'\u{2D7F}' | | |
'\u{A802}' | | |
'\u{A806}' | | |
'\u{A80B}' | | |
'\u{A825}'..='\u{A826}' | | |
'\u{A82C}' | | |
'\u{10A01}'..='\u{10A03}' | | |
'\u{10A05}'..='\u{10A06}' | | |
'\u{10A0C}'..='\u{10A0F}' | | |
'\u{10A38}'..='\u{10A3A}' | | |
'\u{10A3F}' | | |
'\u{1B00}'..='\u{1B03}' | | |
'\u{1B34}' | | |
'\u{1B36}'..='\u{1B3A}' | | |
'\u{1B3C}' | | |
'\u{1B42}' | | |
'\u{1B6B}'..='\u{1B73}' | | |
'\u{07EB}'..='\u{07F3}' | | |
'\u{07FD}' | | |
'\u{1B80}'..='\u{1B81}' | | |
'\u{1BA2}'..='\u{1BA5}' | | |
'\u{1BA8}'..='\u{1BA9}' | | |
'\u{1BAB}'..='\u{1BAD}' | | |
'\u{1C2C}'..='\u{1C33}' | | |
'\u{1C36}'..='\u{1C37}' | | |
'\u{A8C4}'..='\u{A8C5}' | | |
'\u{A926}'..='\u{A92D}' | | |
'\u{A947}'..='\u{A951}' | | |
'\u{AA29}'..='\u{AA2E}' | | |
'\u{AA31}'..='\u{AA32}' | | |
'\u{AA35}'..='\u{AA36}' | | |
'\u{AA43}' | | |
'\u{AA4C}' | | |
'\u{1A56}' | | |
'\u{1A58}'..='\u{1A5E}' | | |
'\u{1A60}' | | |
'\u{1A62}' | | |
'\u{1A65}'..='\u{1A6C}' | | |
'\u{1A73}'..='\u{1A7C}' | | |
'\u{1A7F}' | | |
'\u{AAB0}' | | |
'\u{AAB2}'..='\u{AAB4}' | | |
'\u{AAB7}'..='\u{AAB8}' | | |
'\u{AABE}'..='\u{AABF}' | | |
'\u{AAC1}' | | |
'\u{13440}' | | |
'\u{13447}'..='\u{13455}' | | |
'\u{0816}'..='\u{0819}' | | |
'\u{081B}'..='\u{0823}' | | |
'\u{0825}'..='\u{0827}' | | |
'\u{0829}'..='\u{082D}' | | |
'\u{A6F0}'..='\u{A6F1}' | | |
'\u{A980}'..='\u{A982}' | | |
'\u{A9B3}' | | |
'\u{A9B6}'..='\u{A9B9}' | | |
'\u{A9BC}'..='\u{A9BD}' | | |
'\u{AAEC}'..='\u{AAED}' | | |
'\u{AAF6}' | | |
'\u{ABE5}' | | |
'\u{ABE8}' | | |
'\u{ABED}' | | |
'\u{11080}'..='\u{11081}' | | |
'\u{110B3}'..='\u{110B6}' | | |
'\u{110B9}'..='\u{110BA}' | | |
'\u{110C2}' | | |
'\u{1BE6}' | | |
'\u{1BE8}'..='\u{1BE9}' | | |
'\u{1BED}' | | |
'\u{1BEF}'..='\u{1BF1}' | | |
'\u{11001}' | | |
'\u{11038}'..='\u{11046}' | | |
'\u{11070}' | | |
'\u{11073}'..='\u{11074}' | | |
'\u{1107F}' | | |
'\u{0859}'..='\u{085B}' | | |
'\u{11100}'..='\u{11102}' | | |
'\u{11127}'..='\u{1112B}' | | |
'\u{1112D}'..='\u{11134}' | | |
'\u{16F4F}' | | |
'\u{16F8F}'..='\u{16F92}' | | |
'\u{11180}'..='\u{11181}' | | |
'\u{111B6}'..='\u{111BE}' | | |
'\u{111C9}'..='\u{111CC}' | | |
'\u{111CF}' | | |
'\u{116AB}' | | |
'\u{116AD}' | | |
'\u{116B0}'..='\u{116B5}' | | |
'\u{116B7}' | | |
'\u{16AF0}'..='\u{16AF4}' | | |
'\u{1BC9D}'..='\u{1BC9E}' | | |
'\u{11300}'..='\u{11301}' | | |
'\u{1133C}' | | |
'\u{11340}' | | |
'\u{11366}'..='\u{1136C}' | | |
'\u{11370}'..='\u{11374}' | | |
'\u{16B30}'..='\u{16B36}' | | |
'\u{1122F}'..='\u{11231}' | | |
'\u{11234}' | | |
'\u{11236}'..='\u{11237}' | | |
'\u{1123E}' | | |
'\u{11241}' | | |
'\u{11173}' | | |
'\u{10AE5}'..='\u{10AE6}' | | |
'\u{1E8D0}'..='\u{1E8D6}' | | |
'\u{11633}'..='\u{1163A}' | | |
'\u{1163D}' | | |
'\u{1163F}'..='\u{11640}' | | |
'\u{10376}'..='\u{1037A}' | | |
'\u{115B2}'..='\u{115B5}' | | |
'\u{115BC}'..='\u{115BD}' | | |
'\u{115BF}'..='\u{115C0}' | | |
'\u{115DC}'..='\u{115DD}' | | |
'\u{112DF}' | | |
'\u{112E3}'..='\u{112EA}' | | |
'\u{114B3}'..='\u{114B8}' | | |
'\u{114BA}' | | |
'\u{114BF}'..='\u{114C0}' | | |
'\u{114C2}'..='\u{114C3}' | | |
'\u{1171D}'..='\u{1171F}' | | |
'\u{11722}'..='\u{11725}' | | |
'\u{11727}'..='\u{1172B}' | | |
'\u{1DA00}'..='\u{1DA36}' | | |
'\u{1DA3B}'..='\u{1DA6C}' | | |
'\u{1DA75}' | | |
'\u{1DA84}' | | |
'\u{1DA9B}'..='\u{1DA9F}' | | |
'\u{1DAA1}'..='\u{1DAAF}' | | |
'\u{1E944}'..='\u{1E94A}' | | |
'\u{11C30}'..='\u{11C36}' | | |
'\u{11C38}'..='\u{11C3D}' | | |
'\u{11C3F}' | | |
'\u{11C92}'..='\u{11CA7}' | | |
'\u{11CAA}'..='\u{11CB0}' | | |
'\u{11CB2}'..='\u{11CB3}' | | |
'\u{11CB5}'..='\u{11CB6}' | | |
'\u{11438}'..='\u{1143F}' | | |
'\u{11442}'..='\u{11444}' | | |
'\u{11446}' | | |
'\u{1145E}' | | |
'\u{11D31}'..='\u{11D36}' | | |
'\u{11D3A}' | | |
'\u{11D3C}'..='\u{11D3D}' | | |
'\u{11D3F}'..='\u{11D45}' | | |
'\u{11D47}' | | |
'\u{11A51}'..='\u{11A56}' | | |
'\u{11A59}'..='\u{11A5B}' | | |
'\u{11A8A}'..='\u{11A96}' | | |
'\u{11A98}'..='\u{11A99}' | | |
'\u{11A01}'..='\u{11A0A}' | | |
'\u{11A33}'..='\u{11A38}' | | |
'\u{11A3B}'..='\u{11A3E}' | | |
'\u{11A47}' | | |
'\u{1182F}'..='\u{11837}' | | |
'\u{11839}'..='\u{1183A}' | | |
'\u{11D90}'..='\u{11D91}' | | |
'\u{11D95}' | | |
'\u{11D97}' | | |
'\u{11EF3}'..='\u{11EF4}' | | |
'\u{10D24}'..='\u{10D27}' | | |
'\u{10F46}'..='\u{10F50}' | | |
'\u{119D4}'..='\u{119D7}' | | |
'\u{119DA}'..='\u{119DB}' | | |
'\u{119E0}' | | |
'\u{1E130}'..='\u{1E136}' | | |
'\u{1E2EC}'..='\u{1E2EF}' | | |
'\u{1193B}'..='\u{1193C}' | | |
'\u{1193E}' | | |
'\u{11943}' | | |
'\u{16FE4}' | | |
'\u{10EAB}'..='\u{10EAC}' | | |
'\u{10F82}'..='\u{10F85}' | | |
'\u{1E2AE}' | | |
'\u{11F00}'..='\u{11F01}' | | |
'\u{11F36}'..='\u{11F3A}' | | |
'\u{11F40}' | | |
'\u{11F42}' | | |
'\u{1E4EC}'..='\u{1E4EF}' | |
) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment