diff --git a/scripts/unicode.py b/scripts/unicode.py index 1d7b6c5..096c253 100755 --- a/scripts/unicode.py +++ b/scripts/unicode.py @@ -350,7 +350,7 @@ pub struct Slice { """) - emit_table(f, "general_category_mark", combine, "&'static [(char, char)]", is_pub=False, + emit_table(f, "general_category_mark", general_category_mark, "&'static [(char, char)]", is_pub=False, pfun=lambda x: "(%s,%s)" % (escape_char(x[0]), escape_char(x[1]))) f.write(""" diff --git a/src/tables.rs b/src/tables.rs index 0473fe7..665862a 100644 --- a/src/tables.rs +++ b/src/tables.rs @@ -10670,339 +10670,256 @@ pub struct Slice { } const general_category_mark: &'static [(char, char)] = &[ - ('\u{300}','\u{314}'), - ('\u{315}','\u{315}'), - ('\u{316}','\u{319}'), - ('\u{31a}','\u{31a}'), - ('\u{31b}','\u{31b}'), - ('\u{31c}','\u{320}'), - ('\u{321}','\u{322}'), - ('\u{323}','\u{326}'), - ('\u{327}','\u{328}'), - ('\u{329}','\u{333}'), - ('\u{334}','\u{338}'), - ('\u{339}','\u{33c}'), - ('\u{33d}','\u{344}'), - ('\u{345}','\u{345}'), - ('\u{346}','\u{346}'), - ('\u{347}','\u{349}'), - ('\u{34a}','\u{34c}'), - ('\u{34d}','\u{34e}'), - ('\u{350}','\u{352}'), - ('\u{353}','\u{356}'), - ('\u{357}','\u{357}'), - ('\u{358}','\u{358}'), - ('\u{359}','\u{35a}'), - ('\u{35b}','\u{35b}'), - ('\u{35c}','\u{35c}'), - ('\u{35d}','\u{35e}'), - ('\u{35f}','\u{35f}'), - ('\u{360}','\u{361}'), - ('\u{362}','\u{362}'), - ('\u{363}','\u{36f}'), - ('\u{483}','\u{487}'), - ('\u{591}','\u{591}'), - ('\u{592}','\u{595}'), - ('\u{596}','\u{596}'), - ('\u{597}','\u{599}'), - ('\u{59a}','\u{59a}'), - ('\u{59b}','\u{59b}'), - ('\u{59c}','\u{5a1}'), - ('\u{5a2}','\u{5a7}'), - ('\u{5a8}','\u{5a9}'), - ('\u{5aa}','\u{5aa}'), - ('\u{5ab}','\u{5ac}'), - ('\u{5ad}','\u{5ad}'), - ('\u{5ae}','\u{5ae}'), - ('\u{5af}','\u{5af}'), - ('\u{5b0}','\u{5b0}'), - ('\u{5b1}','\u{5b1}'), - ('\u{5b2}','\u{5b2}'), - ('\u{5b3}','\u{5b3}'), - ('\u{5b4}','\u{5b4}'), - ('\u{5b5}','\u{5b5}'), - ('\u{5b6}','\u{5b6}'), - ('\u{5b7}','\u{5b7}'), - ('\u{5b8}','\u{5b8}'), - ('\u{5b9}','\u{5ba}'), - ('\u{5bb}','\u{5bb}'), - ('\u{5bc}','\u{5bc}'), - ('\u{5bd}','\u{5bd}'), + ('\u{300}','\u{36f}'), + ('\u{483}','\u{489}'), + ('\u{591}','\u{5bd}'), ('\u{5bf}','\u{5bf}'), - ('\u{5c1}','\u{5c1}'), - ('\u{5c2}','\u{5c2}'), - ('\u{5c4}','\u{5c4}'), - ('\u{5c5}','\u{5c5}'), + ('\u{5c1}','\u{5c2}'), + ('\u{5c4}','\u{5c5}'), ('\u{5c7}','\u{5c7}'), - ('\u{610}','\u{617}'), - ('\u{618}','\u{618}'), - ('\u{619}','\u{619}'), - ('\u{61a}','\u{61a}'), - ('\u{64b}','\u{64b}'), - ('\u{64c}','\u{64c}'), - ('\u{64d}','\u{64d}'), - ('\u{64e}','\u{64e}'), - ('\u{64f}','\u{64f}'), - ('\u{650}','\u{650}'), - ('\u{651}','\u{651}'), - ('\u{652}','\u{652}'), - ('\u{653}','\u{654}'), - ('\u{655}','\u{656}'), - ('\u{657}','\u{65b}'), - ('\u{65c}','\u{65c}'), - ('\u{65d}','\u{65e}'), - ('\u{65f}','\u{65f}'), + ('\u{610}','\u{61a}'), + ('\u{64b}','\u{65f}'), ('\u{670}','\u{670}'), ('\u{6d6}','\u{6dc}'), - ('\u{6df}','\u{6e2}'), - ('\u{6e3}','\u{6e3}'), - ('\u{6e4}','\u{6e4}'), + ('\u{6df}','\u{6e4}'), ('\u{6e7}','\u{6e8}'), - ('\u{6ea}','\u{6ea}'), - ('\u{6eb}','\u{6ec}'), - ('\u{6ed}','\u{6ed}'), + ('\u{6ea}','\u{6ed}'), ('\u{711}','\u{711}'), - ('\u{730}','\u{730}'), - ('\u{731}','\u{731}'), - ('\u{732}','\u{733}'), - ('\u{734}','\u{734}'), - ('\u{735}','\u{736}'), - ('\u{737}','\u{739}'), - ('\u{73a}','\u{73a}'), - ('\u{73b}','\u{73c}'), - ('\u{73d}','\u{73d}'), - ('\u{73e}','\u{73e}'), - ('\u{73f}','\u{741}'), - ('\u{742}','\u{742}'), - ('\u{743}','\u{743}'), - ('\u{744}','\u{744}'), - ('\u{745}','\u{745}'), - ('\u{746}','\u{746}'), - ('\u{747}','\u{747}'), - ('\u{748}','\u{748}'), - ('\u{749}','\u{74a}'), - ('\u{7eb}','\u{7f1}'), - ('\u{7f2}','\u{7f2}'), - ('\u{7f3}','\u{7f3}'), + ('\u{730}','\u{74a}'), + ('\u{7a6}','\u{7b0}'), + ('\u{7eb}','\u{7f3}'), ('\u{816}','\u{819}'), ('\u{81b}','\u{823}'), ('\u{825}','\u{827}'), ('\u{829}','\u{82d}'), ('\u{859}','\u{85b}'), ('\u{8d4}','\u{8e1}'), - ('\u{8e3}','\u{8e3}'), - ('\u{8e4}','\u{8e5}'), - ('\u{8e6}','\u{8e6}'), - ('\u{8e7}','\u{8e8}'), - ('\u{8e9}','\u{8e9}'), - ('\u{8ea}','\u{8ec}'), - ('\u{8ed}','\u{8ef}'), - ('\u{8f0}','\u{8f0}'), - ('\u{8f1}','\u{8f1}'), - ('\u{8f2}','\u{8f2}'), - ('\u{8f3}','\u{8f5}'), - ('\u{8f6}','\u{8f6}'), - ('\u{8f7}','\u{8f8}'), - ('\u{8f9}','\u{8fa}'), - ('\u{8fb}','\u{8ff}'), - ('\u{93c}','\u{93c}'), - ('\u{94d}','\u{94d}'), - ('\u{951}','\u{951}'), - ('\u{952}','\u{952}'), - ('\u{953}','\u{954}'), + ('\u{8e3}','\u{903}'), + ('\u{93a}','\u{93c}'), + ('\u{93e}','\u{94f}'), + ('\u{951}','\u{957}'), + ('\u{962}','\u{963}'), + ('\u{981}','\u{983}'), ('\u{9bc}','\u{9bc}'), - ('\u{9cd}','\u{9cd}'), + ('\u{9be}','\u{9c4}'), + ('\u{9c7}','\u{9c8}'), + ('\u{9cb}','\u{9cd}'), + ('\u{9d7}','\u{9d7}'), + ('\u{9e2}','\u{9e3}'), + ('\u{a01}','\u{a03}'), ('\u{a3c}','\u{a3c}'), - ('\u{a4d}','\u{a4d}'), + ('\u{a3e}','\u{a42}'), + ('\u{a47}','\u{a48}'), + ('\u{a4b}','\u{a4d}'), + ('\u{a51}','\u{a51}'), + ('\u{a70}','\u{a71}'), + ('\u{a75}','\u{a75}'), + ('\u{a81}','\u{a83}'), ('\u{abc}','\u{abc}'), - ('\u{acd}','\u{acd}'), + ('\u{abe}','\u{ac5}'), + ('\u{ac7}','\u{ac9}'), + ('\u{acb}','\u{acd}'), + ('\u{ae2}','\u{ae3}'), + ('\u{b01}','\u{b03}'), ('\u{b3c}','\u{b3c}'), - ('\u{b4d}','\u{b4d}'), - ('\u{bcd}','\u{bcd}'), - ('\u{c4d}','\u{c4d}'), - ('\u{c55}','\u{c55}'), - ('\u{c56}','\u{c56}'), + ('\u{b3e}','\u{b44}'), + ('\u{b47}','\u{b48}'), + ('\u{b4b}','\u{b4d}'), + ('\u{b56}','\u{b57}'), + ('\u{b62}','\u{b63}'), + ('\u{b82}','\u{b82}'), + ('\u{bbe}','\u{bc2}'), + ('\u{bc6}','\u{bc8}'), + ('\u{bca}','\u{bcd}'), + ('\u{bd7}','\u{bd7}'), + ('\u{c00}','\u{c03}'), + ('\u{c3e}','\u{c44}'), + ('\u{c46}','\u{c48}'), + ('\u{c4a}','\u{c4d}'), + ('\u{c55}','\u{c56}'), + ('\u{c62}','\u{c63}'), + ('\u{c81}','\u{c83}'), ('\u{cbc}','\u{cbc}'), - ('\u{ccd}','\u{ccd}'), - ('\u{d4d}','\u{d4d}'), + ('\u{cbe}','\u{cc4}'), + ('\u{cc6}','\u{cc8}'), + ('\u{cca}','\u{ccd}'), + ('\u{cd5}','\u{cd6}'), + ('\u{ce2}','\u{ce3}'), + ('\u{d01}','\u{d03}'), + ('\u{d3e}','\u{d44}'), + ('\u{d46}','\u{d48}'), + ('\u{d4a}','\u{d4d}'), + ('\u{d57}','\u{d57}'), + ('\u{d62}','\u{d63}'), + ('\u{d82}','\u{d83}'), ('\u{dca}','\u{dca}'), - ('\u{e38}','\u{e39}'), - ('\u{e3a}','\u{e3a}'), - ('\u{e48}','\u{e4b}'), - ('\u{eb8}','\u{eb9}'), - ('\u{ec8}','\u{ecb}'), + ('\u{dcf}','\u{dd4}'), + ('\u{dd6}','\u{dd6}'), + ('\u{dd8}','\u{ddf}'), + ('\u{df2}','\u{df3}'), + ('\u{e31}','\u{e31}'), + ('\u{e34}','\u{e3a}'), + ('\u{e47}','\u{e4e}'), + ('\u{eb1}','\u{eb1}'), + ('\u{eb4}','\u{eb9}'), + ('\u{ebb}','\u{ebc}'), + ('\u{ec8}','\u{ecd}'), ('\u{f18}','\u{f19}'), ('\u{f35}','\u{f35}'), ('\u{f37}','\u{f37}'), ('\u{f39}','\u{f39}'), - ('\u{f71}','\u{f71}'), - ('\u{f72}','\u{f72}'), - ('\u{f74}','\u{f74}'), - ('\u{f7a}','\u{f7d}'), - ('\u{f80}','\u{f80}'), - ('\u{f82}','\u{f83}'), - ('\u{f84}','\u{f84}'), + ('\u{f3e}','\u{f3f}'), + ('\u{f71}','\u{f84}'), ('\u{f86}','\u{f87}'), + ('\u{f8d}','\u{f97}'), + ('\u{f99}','\u{fbc}'), ('\u{fc6}','\u{fc6}'), - ('\u{1037}','\u{1037}'), - ('\u{1039}','\u{103a}'), - ('\u{108d}','\u{108d}'), + ('\u{102b}','\u{103e}'), + ('\u{1056}','\u{1059}'), + ('\u{105e}','\u{1060}'), + ('\u{1062}','\u{1064}'), + ('\u{1067}','\u{106d}'), + ('\u{1071}','\u{1074}'), + ('\u{1082}','\u{108d}'), + ('\u{108f}','\u{108f}'), + ('\u{109a}','\u{109d}'), ('\u{135d}','\u{135f}'), - ('\u{1714}','\u{1714}'), - ('\u{1734}','\u{1734}'), - ('\u{17d2}','\u{17d2}'), + ('\u{1712}','\u{1714}'), + ('\u{1732}','\u{1734}'), + ('\u{1752}','\u{1753}'), + ('\u{1772}','\u{1773}'), + ('\u{17b4}','\u{17d3}'), ('\u{17dd}','\u{17dd}'), + ('\u{180b}','\u{180d}'), + ('\u{1885}','\u{1886}'), ('\u{18a9}','\u{18a9}'), - ('\u{1939}','\u{1939}'), - ('\u{193a}','\u{193a}'), - ('\u{193b}','\u{193b}'), - ('\u{1a17}','\u{1a17}'), - ('\u{1a18}','\u{1a18}'), - ('\u{1a60}','\u{1a60}'), - ('\u{1a75}','\u{1a7c}'), + ('\u{1920}','\u{192b}'), + ('\u{1930}','\u{193b}'), + ('\u{1a17}','\u{1a1b}'), + ('\u{1a55}','\u{1a5e}'), + ('\u{1a60}','\u{1a7c}'), ('\u{1a7f}','\u{1a7f}'), - ('\u{1ab0}','\u{1ab4}'), - ('\u{1ab5}','\u{1aba}'), - ('\u{1abb}','\u{1abc}'), - ('\u{1abd}','\u{1abd}'), - ('\u{1b34}','\u{1b34}'), - ('\u{1b44}','\u{1b44}'), - ('\u{1b6b}','\u{1b6b}'), - ('\u{1b6c}','\u{1b6c}'), - ('\u{1b6d}','\u{1b73}'), - ('\u{1baa}','\u{1bab}'), - ('\u{1be6}','\u{1be6}'), - ('\u{1bf2}','\u{1bf3}'), - ('\u{1c37}','\u{1c37}'), + ('\u{1ab0}','\u{1abe}'), + ('\u{1b00}','\u{1b04}'), + ('\u{1b34}','\u{1b44}'), + ('\u{1b6b}','\u{1b73}'), + ('\u{1b80}','\u{1b82}'), + ('\u{1ba1}','\u{1bad}'), + ('\u{1be6}','\u{1bf3}'), + ('\u{1c24}','\u{1c37}'), ('\u{1cd0}','\u{1cd2}'), - ('\u{1cd4}','\u{1cd4}'), - ('\u{1cd5}','\u{1cd9}'), - ('\u{1cda}','\u{1cdb}'), - ('\u{1cdc}','\u{1cdf}'), - ('\u{1ce0}','\u{1ce0}'), - ('\u{1ce2}','\u{1ce8}'), + ('\u{1cd4}','\u{1ce8}'), ('\u{1ced}','\u{1ced}'), - ('\u{1cf4}','\u{1cf4}'), + ('\u{1cf2}','\u{1cf4}'), ('\u{1cf8}','\u{1cf9}'), - ('\u{1dc0}','\u{1dc1}'), - ('\u{1dc2}','\u{1dc2}'), - ('\u{1dc3}','\u{1dc9}'), - ('\u{1dca}','\u{1dca}'), - ('\u{1dcb}','\u{1dcc}'), - ('\u{1dcd}','\u{1dcd}'), - ('\u{1dce}','\u{1dce}'), - ('\u{1dcf}','\u{1dcf}'), - ('\u{1dd0}','\u{1dd0}'), - ('\u{1dd1}','\u{1df5}'), - ('\u{1dfb}','\u{1dfb}'), - ('\u{1dfc}','\u{1dfc}'), - ('\u{1dfd}','\u{1dfd}'), - ('\u{1dfe}','\u{1dfe}'), - ('\u{1dff}','\u{1dff}'), - ('\u{20d0}','\u{20d1}'), - ('\u{20d2}','\u{20d3}'), - ('\u{20d4}','\u{20d7}'), - ('\u{20d8}','\u{20da}'), - ('\u{20db}','\u{20dc}'), - ('\u{20e1}','\u{20e1}'), - ('\u{20e5}','\u{20e6}'), - ('\u{20e7}','\u{20e7}'), - ('\u{20e8}','\u{20e8}'), - ('\u{20e9}','\u{20e9}'), - ('\u{20ea}','\u{20eb}'), - ('\u{20ec}','\u{20ef}'), - ('\u{20f0}','\u{20f0}'), + ('\u{1dc0}','\u{1df5}'), + ('\u{1dfb}','\u{1dff}'), + ('\u{20d0}','\u{20f0}'), ('\u{2cef}','\u{2cf1}'), ('\u{2d7f}','\u{2d7f}'), ('\u{2de0}','\u{2dff}'), - ('\u{302a}','\u{302a}'), - ('\u{302b}','\u{302b}'), - ('\u{302c}','\u{302c}'), - ('\u{302d}','\u{302d}'), - ('\u{302e}','\u{302f}'), + ('\u{302a}','\u{302f}'), ('\u{3099}','\u{309a}'), - ('\u{a66f}','\u{a66f}'), + ('\u{a66f}','\u{a672}'), ('\u{a674}','\u{a67d}'), ('\u{a69e}','\u{a69f}'), ('\u{a6f0}','\u{a6f1}'), + ('\u{a802}','\u{a802}'), ('\u{a806}','\u{a806}'), - ('\u{a8c4}','\u{a8c4}'), + ('\u{a80b}','\u{a80b}'), + ('\u{a823}','\u{a827}'), + ('\u{a880}','\u{a881}'), + ('\u{a8b4}','\u{a8c5}'), ('\u{a8e0}','\u{a8f1}'), - ('\u{a92b}','\u{a92d}'), - ('\u{a953}','\u{a953}'), - ('\u{a9b3}','\u{a9b3}'), - ('\u{a9c0}','\u{a9c0}'), + ('\u{a926}','\u{a92d}'), + ('\u{a947}','\u{a953}'), + ('\u{a980}','\u{a983}'), + ('\u{a9b3}','\u{a9c0}'), + ('\u{a9e5}','\u{a9e5}'), + ('\u{aa29}','\u{aa36}'), + ('\u{aa43}','\u{aa43}'), + ('\u{aa4c}','\u{aa4d}'), + ('\u{aa7b}','\u{aa7d}'), ('\u{aab0}','\u{aab0}'), - ('\u{aab2}','\u{aab3}'), - ('\u{aab4}','\u{aab4}'), + ('\u{aab2}','\u{aab4}'), ('\u{aab7}','\u{aab8}'), ('\u{aabe}','\u{aabf}'), ('\u{aac1}','\u{aac1}'), - ('\u{aaf6}','\u{aaf6}'), - ('\u{abed}','\u{abed}'), + ('\u{aaeb}','\u{aaef}'), + ('\u{aaf5}','\u{aaf6}'), + ('\u{abe3}','\u{abea}'), + ('\u{abec}','\u{abed}'), ('\u{fb1e}','\u{fb1e}'), - ('\u{fe20}','\u{fe26}'), - ('\u{fe27}','\u{fe2d}'), - ('\u{fe2e}','\u{fe2f}'), + ('\u{fe00}','\u{fe0f}'), + ('\u{fe20}','\u{fe2f}'), ('\u{101fd}','\u{101fd}'), ('\u{102e0}','\u{102e0}'), ('\u{10376}','\u{1037a}'), - ('\u{10a0d}','\u{10a0d}'), - ('\u{10a0f}','\u{10a0f}'), - ('\u{10a38}','\u{10a38}'), - ('\u{10a39}','\u{10a39}'), - ('\u{10a3a}','\u{10a3a}'), + ('\u{10a01}','\u{10a03}'), + ('\u{10a05}','\u{10a06}'), + ('\u{10a0c}','\u{10a0f}'), + ('\u{10a38}','\u{10a3a}'), ('\u{10a3f}','\u{10a3f}'), - ('\u{10ae5}','\u{10ae5}'), - ('\u{10ae6}','\u{10ae6}'), - ('\u{11046}','\u{11046}'), - ('\u{1107f}','\u{1107f}'), - ('\u{110b9}','\u{110b9}'), - ('\u{110ba}','\u{110ba}'), + ('\u{10ae5}','\u{10ae6}'), + ('\u{11000}','\u{11002}'), + ('\u{11038}','\u{11046}'), + ('\u{1107f}','\u{11082}'), + ('\u{110b0}','\u{110ba}'), ('\u{11100}','\u{11102}'), - ('\u{11133}','\u{11134}'), + ('\u{11127}','\u{11134}'), ('\u{11173}','\u{11173}'), - ('\u{111c0}','\u{111c0}'), - ('\u{111ca}','\u{111ca}'), - ('\u{11235}','\u{11235}'), - ('\u{11236}','\u{11236}'), - ('\u{112e9}','\u{112e9}'), - ('\u{112ea}','\u{112ea}'), + ('\u{11180}','\u{11182}'), + ('\u{111b3}','\u{111c0}'), + ('\u{111ca}','\u{111cc}'), + ('\u{1122c}','\u{11237}'), + ('\u{1123e}','\u{1123e}'), + ('\u{112df}','\u{112ea}'), + ('\u{11300}','\u{11303}'), ('\u{1133c}','\u{1133c}'), - ('\u{1134d}','\u{1134d}'), + ('\u{1133e}','\u{11344}'), + ('\u{11347}','\u{11348}'), + ('\u{1134b}','\u{1134d}'), + ('\u{11357}','\u{11357}'), + ('\u{11362}','\u{11363}'), ('\u{11366}','\u{1136c}'), ('\u{11370}','\u{11374}'), - ('\u{11442}','\u{11442}'), - ('\u{11446}','\u{11446}'), - ('\u{114c2}','\u{114c2}'), - ('\u{114c3}','\u{114c3}'), - ('\u{115bf}','\u{115bf}'), - ('\u{115c0}','\u{115c0}'), - ('\u{1163f}','\u{1163f}'), - ('\u{116b6}','\u{116b6}'), - ('\u{116b7}','\u{116b7}'), - ('\u{1172b}','\u{1172b}'), - ('\u{11c3f}','\u{11c3f}'), + ('\u{11435}','\u{11446}'), + ('\u{114b0}','\u{114c3}'), + ('\u{115af}','\u{115b5}'), + ('\u{115b8}','\u{115c0}'), + ('\u{115dc}','\u{115dd}'), + ('\u{11630}','\u{11640}'), + ('\u{116ab}','\u{116b7}'), + ('\u{1171d}','\u{1172b}'), + ('\u{11c2f}','\u{11c36}'), + ('\u{11c38}','\u{11c3f}'), + ('\u{11c92}','\u{11ca7}'), + ('\u{11ca9}','\u{11cb6}'), ('\u{16af0}','\u{16af4}'), ('\u{16b30}','\u{16b36}'), - ('\u{1bc9e}','\u{1bc9e}'), - ('\u{1d165}','\u{1d166}'), - ('\u{1d167}','\u{1d169}'), - ('\u{1d16d}','\u{1d16d}'), - ('\u{1d16e}','\u{1d172}'), + ('\u{16f51}','\u{16f7e}'), + ('\u{16f8f}','\u{16f92}'), + ('\u{1bc9d}','\u{1bc9e}'), + ('\u{1d165}','\u{1d169}'), + ('\u{1d16d}','\u{1d172}'), ('\u{1d17b}','\u{1d182}'), - ('\u{1d185}','\u{1d189}'), - ('\u{1d18a}','\u{1d18b}'), + ('\u{1d185}','\u{1d18b}'), ('\u{1d1aa}','\u{1d1ad}'), ('\u{1d242}','\u{1d244}'), + ('\u{1da00}','\u{1da36}'), + ('\u{1da3b}','\u{1da6c}'), + ('\u{1da75}','\u{1da75}'), + ('\u{1da84}','\u{1da84}'), + ('\u{1da9b}','\u{1da9f}'), + ('\u{1daa1}','\u{1daaf}'), ('\u{1e000}','\u{1e006}'), ('\u{1e008}','\u{1e018}'), ('\u{1e01b}','\u{1e021}'), ('\u{1e023}','\u{1e024}'), ('\u{1e026}','\u{1e02a}'), ('\u{1e8d0}','\u{1e8d6}'), - ('\u{1e944}','\u{1e949}'), - ('\u{1e94a}','\u{1e94a}'), + ('\u{1e944}','\u{1e94a}'), + ('\u{e0100}','\u{e01ef}'), ]; diff --git a/src/test.rs b/src/test.rs index 59c04c0..50b329c 100644 --- a/src/test.rs +++ b/src/test.rs @@ -8,7 +8,11 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use UnicodeNormalization; + +use std::char; +use super::UnicodeNormalization; +use super::char::is_combining_mark; + #[test] fn test_nfd() { @@ -154,3 +158,24 @@ fn test_official() { } } } + + + +#[test] +fn test_is_combining_mark_ascii() { + for cp in 0..0x7f { + assert!(!is_combining_mark(char::from_u32(cp).unwrap())); + } +} + +#[test] +fn test_is_combining_mark_misc() { + // https://github.com/unicode-rs/unicode-normalization/issues/16 + // U+11C3A BHAIKSUKI VOWEL SIGN O + // Category: Mark, Nonspacing [Mn] + assert!(is_combining_mark('\u{11C3A}')); + + // U+11C3F BHAIKSUKI SIGN VIRAMA + // Category: Mark, Nonspacing [Mn] + assert!(is_combining_mark('\u{11C3F}')); +}