]>
git.proxmox.com Git - rustc.git/blob - src/libcore/unicode/printable.rs
1 // NOTE: The following code was generated by "src/libcore/unicode/printable.py",
2 // do not edit directly!
4 fn check(x
: u16, singletonuppers
: &[(u8, u8)], singletonlowers
: &[u8], normal
: &[u8]) -> bool
{
5 let xupper
= (x
>> 8) as u8;
6 let mut lowerstart
= 0;
7 for &(upper
, lowercount
) in singletonuppers
{
8 let lowerend
= lowerstart
+ lowercount
as usize;
10 for &lower
in &singletonlowers
[lowerstart
..lowerend
] {
15 } else if xupper
< upper
{
18 lowerstart
= lowerend
;
22 let mut normal
= normal
.iter().cloned();
23 let mut current
= true;
24 while let Some(v
) = normal
.next() {
25 let len
= if v
& 0x80 != 0 {
26 ((v
& 0x7f) as i32) << 8 | normal
.next().unwrap() as i32
39 pub(crate) fn is_printable(x
: char) -> bool
{
43 check(lower
, SINGLETONS0U
, SINGLETONS0L
, NORMAL0
)
44 } else if x
< 0x20000 {
45 check(lower
, SINGLETONS1U
, SINGLETONS1L
, NORMAL1
)
47 if 0x2a6de <= x
&& x
< 0x2a700 {
50 if 0x2b735 <= x
&& x
< 0x2b740 {
53 if 0x2b81e <= x
&& x
< 0x2b820 {
56 if 0x2cea2 <= x
&& x
< 0x2ceb0 {
59 if 0x2ebe1 <= x
&& x
< 0x2f800 {
62 if 0x2fa1e <= x
&& x
< 0x30000 {
65 if 0x3134b <= x
&& x
< 0xe0100 {
68 if 0xe01f0 <= x
&& x
< 0x110000 {
76 const SINGLETONS0U
: &[(u8, u8)] = &[
120 const SINGLETONS0L
: &[u8] = &[
121 0xad, 0x78, 0x79, 0x8b, 0x8d, 0xa2, 0x30, 0x57,
122 0x58, 0x8b, 0x8c, 0x90, 0x1c, 0x1d, 0xdd, 0x0e,
123 0x0f, 0x4b, 0x4c, 0xfb, 0xfc, 0x2e, 0x2f, 0x3f,
124 0x5c, 0x5d, 0x5f, 0xb5, 0xe2, 0x84, 0x8d, 0x8e,
125 0x91, 0x92, 0xa9, 0xb1, 0xba, 0xbb, 0xc5, 0xc6,
126 0xc9, 0xca, 0xde, 0xe4, 0xe5, 0xff, 0x00, 0x04,
127 0x11, 0x12, 0x29, 0x31, 0x34, 0x37, 0x3a, 0x3b,
128 0x3d, 0x49, 0x4a, 0x5d, 0x84, 0x8e, 0x92, 0xa9,
129 0xb1, 0xb4, 0xba, 0xbb, 0xc6, 0xca, 0xce, 0xcf,
130 0xe4, 0xe5, 0x00, 0x04, 0x0d, 0x0e, 0x11, 0x12,
131 0x29, 0x31, 0x34, 0x3a, 0x3b, 0x45, 0x46, 0x49,
132 0x4a, 0x5e, 0x64, 0x65, 0x84, 0x91, 0x9b, 0x9d,
133 0xc9, 0xce, 0xcf, 0x0d, 0x11, 0x29, 0x45, 0x49,
134 0x57, 0x64, 0x65, 0x8d, 0x91, 0xa9, 0xb4, 0xba,
135 0xbb, 0xc5, 0xc9, 0xdf, 0xe4, 0xe5, 0xf0, 0x0d,
136 0x11, 0x45, 0x49, 0x64, 0x65, 0x80, 0x84, 0xb2,
137 0xbc, 0xbe, 0xbf, 0xd5, 0xd7, 0xf0, 0xf1, 0x83,
138 0x85, 0x8b, 0xa4, 0xa6, 0xbe, 0xbf, 0xc5, 0xc7,
139 0xce, 0xcf, 0xda, 0xdb, 0x48, 0x98, 0xbd, 0xcd,
140 0xc6, 0xce, 0xcf, 0x49, 0x4e, 0x4f, 0x57, 0x59,
141 0x5e, 0x5f, 0x89, 0x8e, 0x8f, 0xb1, 0xb6, 0xb7,
142 0xbf, 0xc1, 0xc6, 0xc7, 0xd7, 0x11, 0x16, 0x17,
143 0x5b, 0x5c, 0xf6, 0xf7, 0xfe, 0xff, 0x80, 0x0d,
144 0x6d, 0x71, 0xde, 0xdf, 0x0e, 0x0f, 0x1f, 0x6e,
145 0x6f, 0x1c, 0x1d, 0x5f, 0x7d, 0x7e, 0xae, 0xaf,
146 0xbb, 0xbc, 0xfa, 0x16, 0x17, 0x1e, 0x1f, 0x46,
147 0x47, 0x4e, 0x4f, 0x58, 0x5a, 0x5c, 0x5e, 0x7e,
148 0x7f, 0xb5, 0xc5, 0xd4, 0xd5, 0xdc, 0xf0, 0xf1,
149 0xf5, 0x72, 0x73, 0x8f, 0x74, 0x75, 0x96, 0x2f,
150 0x5f, 0x26, 0x2e, 0x2f, 0xa7, 0xaf, 0xb7, 0xbf,
151 0xc7, 0xcf, 0xd7, 0xdf, 0x9a, 0x40, 0x97, 0x98,
152 0x30, 0x8f, 0x1f, 0xc0, 0xc1, 0xce, 0xff, 0x4e,
153 0x4f, 0x5a, 0x5b, 0x07, 0x08, 0x0f, 0x10, 0x27,
154 0x2f, 0xee, 0xef, 0x6e, 0x6f, 0x37, 0x3d, 0x3f,
155 0x42, 0x45, 0x90, 0x91, 0xfe, 0xff, 0x53, 0x67,
156 0x75, 0xc8, 0xc9, 0xd0, 0xd1, 0xd8, 0xd9, 0xe7,
160 const SINGLETONS1U
: &[(u8, u8)] = &[
201 const SINGLETONS1L
: &[u8] = &[
202 0x0c, 0x27, 0x3b, 0x3e, 0x4e, 0x4f, 0x8f, 0x9e,
203 0x9e, 0x9f, 0x06, 0x07, 0x09, 0x36, 0x3d, 0x3e,
204 0x56, 0xf3, 0xd0, 0xd1, 0x04, 0x14, 0x18, 0x36,
205 0x37, 0x56, 0x57, 0x7f, 0xaa, 0xae, 0xaf, 0xbd,
206 0x35, 0xe0, 0x12, 0x87, 0x89, 0x8e, 0x9e, 0x04,
207 0x0d, 0x0e, 0x11, 0x12, 0x29, 0x31, 0x34, 0x3a,
208 0x45, 0x46, 0x49, 0x4a, 0x4e, 0x4f, 0x64, 0x65,
209 0x5c, 0xb6, 0xb7, 0x1b, 0x1c, 0x07, 0x08, 0x0a,
210 0x0b, 0x14, 0x17, 0x36, 0x39, 0x3a, 0xa8, 0xa9,
211 0xd8, 0xd9, 0x09, 0x37, 0x90, 0x91, 0xa8, 0x07,
212 0x0a, 0x3b, 0x3e, 0x66, 0x69, 0x8f, 0x92, 0x6f,
213 0x5f, 0xee, 0xef, 0x5a, 0x62, 0x9a, 0x9b, 0x27,
214 0x28, 0x55, 0x9d, 0xa0, 0xa1, 0xa3, 0xa4, 0xa7,
215 0xa8, 0xad, 0xba, 0xbc, 0xc4, 0x06, 0x0b, 0x0c,
216 0x15, 0x1d, 0x3a, 0x3f, 0x45, 0x51, 0xa6, 0xa7,
217 0xcc, 0xcd, 0xa0, 0x07, 0x19, 0x1a, 0x22, 0x25,
218 0x3e, 0x3f, 0xc5, 0xc6, 0x04, 0x20, 0x23, 0x25,
219 0x26, 0x28, 0x33, 0x38, 0x3a, 0x48, 0x4a, 0x4c,
220 0x50, 0x53, 0x55, 0x56, 0x58, 0x5a, 0x5c, 0x5e,
221 0x60, 0x63, 0x65, 0x66, 0x6b, 0x73, 0x78, 0x7d,
222 0x7f, 0x8a, 0xa4, 0xaa, 0xaf, 0xb0, 0xc0, 0xd0,
223 0xae, 0xaf, 0x79, 0xcc, 0x6e, 0x6f, 0x93,
226 const NORMAL0
: &[u8] = &[
368 const NORMAL1
: &[u8] = &[
471 0x80, 0xc4, 0x8a, 0xbc,
472 0x84, 0x2f, 0x8f, 0xd1,
473 0x82, 0x47, 0xa1, 0xb9,
493 0x81, 0x8c, 0x89, 0x04,