Changes_When_Casefolded.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275
  1. // Copyright 2019 Mathias Bynens. All rights reserved.
  2. // This code is governed by the BSD license found in the LICENSE file.
  3. /*---
  4. author: Mathias Bynens
  5. description: >
  6. Unicode property escapes for `Changes_When_Casefolded`
  7. info: |
  8. Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests
  9. Unicode v12.1.0
  10. esid: sec-static-semantics-unicodematchproperty-p
  11. features: [regexp-unicode-property-escapes]
  12. includes: [regExpUtils.js]
  13. ---*/
  14. const matchSymbols = buildString({
  15. loneCodePoints: [
  16. 0x0000B5,
  17. 0x000100,
  18. 0x000102,
  19. 0x000104,
  20. 0x000106,
  21. 0x000108,
  22. 0x00010A,
  23. 0x00010C,
  24. 0x00010E,
  25. 0x000110,
  26. 0x000112,
  27. 0x000114,
  28. 0x000116,
  29. 0x000118,
  30. 0x00011A,
  31. 0x00011C,
  32. 0x00011E,
  33. 0x000120,
  34. 0x000122,
  35. 0x000124,
  36. 0x000126,
  37. 0x000128,
  38. 0x00012A,
  39. 0x00012C,
  40. 0x00012E,
  41. 0x000130,
  42. 0x000132,
  43. 0x000134,
  44. 0x000136,
  45. 0x000139,
  46. 0x00013B,
  47. 0x00013D,
  48. 0x00013F,
  49. 0x000141,
  50. 0x000143,
  51. 0x000145,
  52. 0x000147,
  53. 0x00014C,
  54. 0x00014E,
  55. 0x000150,
  56. 0x000152,
  57. 0x000154,
  58. 0x000156,
  59. 0x000158,
  60. 0x00015A,
  61. 0x00015C,
  62. 0x00015E,
  63. 0x000160,
  64. 0x000162,
  65. 0x000164,
  66. 0x000166,
  67. 0x000168,
  68. 0x00016A,
  69. 0x00016C,
  70. 0x00016E,
  71. 0x000170,
  72. 0x000172,
  73. 0x000174,
  74. 0x000176,
  75. 0x00017B,
  76. 0x00017D,
  77. 0x00017F,
  78. 0x000184,
  79. 0x0001A2,
  80. 0x0001A4,
  81. 0x0001A9,
  82. 0x0001AC,
  83. 0x0001B5,
  84. 0x0001BC,
  85. 0x0001CD,
  86. 0x0001CF,
  87. 0x0001D1,
  88. 0x0001D3,
  89. 0x0001D5,
  90. 0x0001D7,
  91. 0x0001D9,
  92. 0x0001DB,
  93. 0x0001DE,
  94. 0x0001E0,
  95. 0x0001E2,
  96. 0x0001E4,
  97. 0x0001E6,
  98. 0x0001E8,
  99. 0x0001EA,
  100. 0x0001EC,
  101. 0x0001EE,
  102. 0x0001F4,
  103. 0x0001FA,
  104. 0x0001FC,
  105. 0x0001FE,
  106. 0x000200,
  107. 0x000202,
  108. 0x000204,
  109. 0x000206,
  110. 0x000208,
  111. 0x00020A,
  112. 0x00020C,
  113. 0x00020E,
  114. 0x000210,
  115. 0x000212,
  116. 0x000214,
  117. 0x000216,
  118. 0x000218,
  119. 0x00021A,
  120. 0x00021C,
  121. 0x00021E,
  122. 0x000220,
  123. 0x000222,
  124. 0x000224,
  125. 0x000226,
  126. 0x000228,
  127. 0x00022A,
  128. 0x00022C,
  129. 0x00022E,
  130. 0x000230,
  131. 0x000232,
  132. 0x000241,
  133. 0x000248,
  134. 0x00024A,
  135. 0x00024C,
  136. 0x00024E,
  137. 0x000345,
  138. 0x000370,
  139. 0x000372,
  140. 0x000376,
  141. 0x00037F,
  142. 0x000386,
  143. 0x00038C,
  144. 0x0003C2,
  145. 0x0003D8,
  146. 0x0003DA,
  147. 0x0003DC,
  148. 0x0003DE,
  149. 0x0003E0,
  150. 0x0003E2,
  151. 0x0003E4,
  152. 0x0003E6,
  153. 0x0003E8,
  154. 0x0003EA,
  155. 0x0003EC,
  156. 0x0003EE,
  157. 0x0003F7,
  158. 0x000460,
  159. 0x000462,
  160. 0x000464,
  161. 0x000466,
  162. 0x000468,
  163. 0x00046A,
  164. 0x00046C,
  165. 0x00046E,
  166. 0x000470,
  167. 0x000472,
  168. 0x000474,
  169. 0x000476,
  170. 0x000478,
  171. 0x00047A,
  172. 0x00047C,
  173. 0x00047E,
  174. 0x000480,
  175. 0x00048A,
  176. 0x00048C,
  177. 0x00048E,
  178. 0x000490,
  179. 0x000492,
  180. 0x000494,
  181. 0x000496,
  182. 0x000498,
  183. 0x00049A,
  184. 0x00049C,
  185. 0x00049E,
  186. 0x0004A0,
  187. 0x0004A2,
  188. 0x0004A4,
  189. 0x0004A6,
  190. 0x0004A8,
  191. 0x0004AA,
  192. 0x0004AC,
  193. 0x0004AE,
  194. 0x0004B0,
  195. 0x0004B2,
  196. 0x0004B4,
  197. 0x0004B6,
  198. 0x0004B8,
  199. 0x0004BA,
  200. 0x0004BC,
  201. 0x0004BE,
  202. 0x0004C3,
  203. 0x0004C5,
  204. 0x0004C7,
  205. 0x0004C9,
  206. 0x0004CB,
  207. 0x0004CD,
  208. 0x0004D0,
  209. 0x0004D2,
  210. 0x0004D4,
  211. 0x0004D6,
  212. 0x0004D8,
  213. 0x0004DA,
  214. 0x0004DC,
  215. 0x0004DE,
  216. 0x0004E0,
  217. 0x0004E2,
  218. 0x0004E4,
  219. 0x0004E6,
  220. 0x0004E8,
  221. 0x0004EA,
  222. 0x0004EC,
  223. 0x0004EE,
  224. 0x0004F0,
  225. 0x0004F2,
  226. 0x0004F4,
  227. 0x0004F6,
  228. 0x0004F8,
  229. 0x0004FA,
  230. 0x0004FC,
  231. 0x0004FE,
  232. 0x000500,
  233. 0x000502,
  234. 0x000504,
  235. 0x000506,
  236. 0x000508,
  237. 0x00050A,
  238. 0x00050C,
  239. 0x00050E,
  240. 0x000510,
  241. 0x000512,
  242. 0x000514,
  243. 0x000516,
  244. 0x000518,
  245. 0x00051A,
  246. 0x00051C,
  247. 0x00051E,
  248. 0x000520,
  249. 0x000522,
  250. 0x000524,
  251. 0x000526,
  252. 0x000528,
  253. 0x00052A,
  254. 0x00052C,
  255. 0x00052E,
  256. 0x000587,
  257. 0x0010C7,
  258. 0x0010CD,
  259. 0x001E00,
  260. 0x001E02,
  261. 0x001E04,
  262. 0x001E06,
  263. 0x001E08,
  264. 0x001E0A,
  265. 0x001E0C,
  266. 0x001E0E,
  267. 0x001E10,
  268. 0x001E12,
  269. 0x001E14,
  270. 0x001E16,
  271. 0x001E18,
  272. 0x001E1A,
  273. 0x001E1C,
  274. 0x001E1E,
  275. 0x001E20,
  276. 0x001E22,
  277. 0x001E24,
  278. 0x001E26,
  279. 0x001E28,
  280. 0x001E2A,
  281. 0x001E2C,
  282. 0x001E2E,
  283. 0x001E30,
  284. 0x001E32,
  285. 0x001E34,
  286. 0x001E36,
  287. 0x001E38,
  288. 0x001E3A,
  289. 0x001E3C,
  290. 0x001E3E,
  291. 0x001E40,
  292. 0x001E42,
  293. 0x001E44,
  294. 0x001E46,
  295. 0x001E48,
  296. 0x001E4A,
  297. 0x001E4C,
  298. 0x001E4E,
  299. 0x001E50,
  300. 0x001E52,
  301. 0x001E54,
  302. 0x001E56,
  303. 0x001E58,
  304. 0x001E5A,
  305. 0x001E5C,
  306. 0x001E5E,
  307. 0x001E60,
  308. 0x001E62,
  309. 0x001E64,
  310. 0x001E66,
  311. 0x001E68,
  312. 0x001E6A,
  313. 0x001E6C,
  314. 0x001E6E,
  315. 0x001E70,
  316. 0x001E72,
  317. 0x001E74,
  318. 0x001E76,
  319. 0x001E78,
  320. 0x001E7A,
  321. 0x001E7C,
  322. 0x001E7E,
  323. 0x001E80,
  324. 0x001E82,
  325. 0x001E84,
  326. 0x001E86,
  327. 0x001E88,
  328. 0x001E8A,
  329. 0x001E8C,
  330. 0x001E8E,
  331. 0x001E90,
  332. 0x001E92,
  333. 0x001E94,
  334. 0x001E9E,
  335. 0x001EA0,
  336. 0x001EA2,
  337. 0x001EA4,
  338. 0x001EA6,
  339. 0x001EA8,
  340. 0x001EAA,
  341. 0x001EAC,
  342. 0x001EAE,
  343. 0x001EB0,
  344. 0x001EB2,
  345. 0x001EB4,
  346. 0x001EB6,
  347. 0x001EB8,
  348. 0x001EBA,
  349. 0x001EBC,
  350. 0x001EBE,
  351. 0x001EC0,
  352. 0x001EC2,
  353. 0x001EC4,
  354. 0x001EC6,
  355. 0x001EC8,
  356. 0x001ECA,
  357. 0x001ECC,
  358. 0x001ECE,
  359. 0x001ED0,
  360. 0x001ED2,
  361. 0x001ED4,
  362. 0x001ED6,
  363. 0x001ED8,
  364. 0x001EDA,
  365. 0x001EDC,
  366. 0x001EDE,
  367. 0x001EE0,
  368. 0x001EE2,
  369. 0x001EE4,
  370. 0x001EE6,
  371. 0x001EE8,
  372. 0x001EEA,
  373. 0x001EEC,
  374. 0x001EEE,
  375. 0x001EF0,
  376. 0x001EF2,
  377. 0x001EF4,
  378. 0x001EF6,
  379. 0x001EF8,
  380. 0x001EFA,
  381. 0x001EFC,
  382. 0x001EFE,
  383. 0x001F59,
  384. 0x001F5B,
  385. 0x001F5D,
  386. 0x001F5F,
  387. 0x002126,
  388. 0x002132,
  389. 0x002183,
  390. 0x002C60,
  391. 0x002C67,
  392. 0x002C69,
  393. 0x002C6B,
  394. 0x002C72,
  395. 0x002C75,
  396. 0x002C82,
  397. 0x002C84,
  398. 0x002C86,
  399. 0x002C88,
  400. 0x002C8A,
  401. 0x002C8C,
  402. 0x002C8E,
  403. 0x002C90,
  404. 0x002C92,
  405. 0x002C94,
  406. 0x002C96,
  407. 0x002C98,
  408. 0x002C9A,
  409. 0x002C9C,
  410. 0x002C9E,
  411. 0x002CA0,
  412. 0x002CA2,
  413. 0x002CA4,
  414. 0x002CA6,
  415. 0x002CA8,
  416. 0x002CAA,
  417. 0x002CAC,
  418. 0x002CAE,
  419. 0x002CB0,
  420. 0x002CB2,
  421. 0x002CB4,
  422. 0x002CB6,
  423. 0x002CB8,
  424. 0x002CBA,
  425. 0x002CBC,
  426. 0x002CBE,
  427. 0x002CC0,
  428. 0x002CC2,
  429. 0x002CC4,
  430. 0x002CC6,
  431. 0x002CC8,
  432. 0x002CCA,
  433. 0x002CCC,
  434. 0x002CCE,
  435. 0x002CD0,
  436. 0x002CD2,
  437. 0x002CD4,
  438. 0x002CD6,
  439. 0x002CD8,
  440. 0x002CDA,
  441. 0x002CDC,
  442. 0x002CDE,
  443. 0x002CE0,
  444. 0x002CE2,
  445. 0x002CEB,
  446. 0x002CED,
  447. 0x002CF2,
  448. 0x00A640,
  449. 0x00A642,
  450. 0x00A644,
  451. 0x00A646,
  452. 0x00A648,
  453. 0x00A64A,
  454. 0x00A64C,
  455. 0x00A64E,
  456. 0x00A650,
  457. 0x00A652,
  458. 0x00A654,
  459. 0x00A656,
  460. 0x00A658,
  461. 0x00A65A,
  462. 0x00A65C,
  463. 0x00A65E,
  464. 0x00A660,
  465. 0x00A662,
  466. 0x00A664,
  467. 0x00A666,
  468. 0x00A668,
  469. 0x00A66A,
  470. 0x00A66C,
  471. 0x00A680,
  472. 0x00A682,
  473. 0x00A684,
  474. 0x00A686,
  475. 0x00A688,
  476. 0x00A68A,
  477. 0x00A68C,
  478. 0x00A68E,
  479. 0x00A690,
  480. 0x00A692,
  481. 0x00A694,
  482. 0x00A696,
  483. 0x00A698,
  484. 0x00A69A,
  485. 0x00A722,
  486. 0x00A724,
  487. 0x00A726,
  488. 0x00A728,
  489. 0x00A72A,
  490. 0x00A72C,
  491. 0x00A72E,
  492. 0x00A732,
  493. 0x00A734,
  494. 0x00A736,
  495. 0x00A738,
  496. 0x00A73A,
  497. 0x00A73C,
  498. 0x00A73E,
  499. 0x00A740,
  500. 0x00A742,
  501. 0x00A744,
  502. 0x00A746,
  503. 0x00A748,
  504. 0x00A74A,
  505. 0x00A74C,
  506. 0x00A74E,
  507. 0x00A750,
  508. 0x00A752,
  509. 0x00A754,
  510. 0x00A756,
  511. 0x00A758,
  512. 0x00A75A,
  513. 0x00A75C,
  514. 0x00A75E,
  515. 0x00A760,
  516. 0x00A762,
  517. 0x00A764,
  518. 0x00A766,
  519. 0x00A768,
  520. 0x00A76A,
  521. 0x00A76C,
  522. 0x00A76E,
  523. 0x00A779,
  524. 0x00A77B,
  525. 0x00A780,
  526. 0x00A782,
  527. 0x00A784,
  528. 0x00A786,
  529. 0x00A78B,
  530. 0x00A78D,
  531. 0x00A790,
  532. 0x00A792,
  533. 0x00A796,
  534. 0x00A798,
  535. 0x00A79A,
  536. 0x00A79C,
  537. 0x00A79E,
  538. 0x00A7A0,
  539. 0x00A7A2,
  540. 0x00A7A4,
  541. 0x00A7A6,
  542. 0x00A7A8,
  543. 0x00A7B6,
  544. 0x00A7B8,
  545. 0x00A7BA,
  546. 0x00A7BC,
  547. 0x00A7BE,
  548. 0x00A7C2
  549. ],
  550. ranges: [
  551. [0x000041, 0x00005A],
  552. [0x0000C0, 0x0000D6],
  553. [0x0000D8, 0x0000DF],
  554. [0x000149, 0x00014A],
  555. [0x000178, 0x000179],
  556. [0x000181, 0x000182],
  557. [0x000186, 0x000187],
  558. [0x000189, 0x00018B],
  559. [0x00018E, 0x000191],
  560. [0x000193, 0x000194],
  561. [0x000196, 0x000198],
  562. [0x00019C, 0x00019D],
  563. [0x00019F, 0x0001A0],
  564. [0x0001A6, 0x0001A7],
  565. [0x0001AE, 0x0001AF],
  566. [0x0001B1, 0x0001B3],
  567. [0x0001B7, 0x0001B8],
  568. [0x0001C4, 0x0001C5],
  569. [0x0001C7, 0x0001C8],
  570. [0x0001CA, 0x0001CB],
  571. [0x0001F1, 0x0001F2],
  572. [0x0001F6, 0x0001F8],
  573. [0x00023A, 0x00023B],
  574. [0x00023D, 0x00023E],
  575. [0x000243, 0x000246],
  576. [0x000388, 0x00038A],
  577. [0x00038E, 0x00038F],
  578. [0x000391, 0x0003A1],
  579. [0x0003A3, 0x0003AB],
  580. [0x0003CF, 0x0003D1],
  581. [0x0003D5, 0x0003D6],
  582. [0x0003F0, 0x0003F1],
  583. [0x0003F4, 0x0003F5],
  584. [0x0003F9, 0x0003FA],
  585. [0x0003FD, 0x00042F],
  586. [0x0004C0, 0x0004C1],
  587. [0x000531, 0x000556],
  588. [0x0010A0, 0x0010C5],
  589. [0x0013F8, 0x0013FD],
  590. [0x001C80, 0x001C88],
  591. [0x001C90, 0x001CBA],
  592. [0x001CBD, 0x001CBF],
  593. [0x001E9A, 0x001E9B],
  594. [0x001F08, 0x001F0F],
  595. [0x001F18, 0x001F1D],
  596. [0x001F28, 0x001F2F],
  597. [0x001F38, 0x001F3F],
  598. [0x001F48, 0x001F4D],
  599. [0x001F68, 0x001F6F],
  600. [0x001F80, 0x001FAF],
  601. [0x001FB2, 0x001FB4],
  602. [0x001FB7, 0x001FBC],
  603. [0x001FC2, 0x001FC4],
  604. [0x001FC7, 0x001FCC],
  605. [0x001FD8, 0x001FDB],
  606. [0x001FE8, 0x001FEC],
  607. [0x001FF2, 0x001FF4],
  608. [0x001FF7, 0x001FFC],
  609. [0x00212A, 0x00212B],
  610. [0x002160, 0x00216F],
  611. [0x0024B6, 0x0024CF],
  612. [0x002C00, 0x002C2E],
  613. [0x002C62, 0x002C64],
  614. [0x002C6D, 0x002C70],
  615. [0x002C7E, 0x002C80],
  616. [0x00A77D, 0x00A77E],
  617. [0x00A7AA, 0x00A7AE],
  618. [0x00A7B0, 0x00A7B4],
  619. [0x00A7C4, 0x00A7C6],
  620. [0x00AB70, 0x00ABBF],
  621. [0x00FB00, 0x00FB06],
  622. [0x00FB13, 0x00FB17],
  623. [0x00FF21, 0x00FF3A],
  624. [0x010400, 0x010427],
  625. [0x0104B0, 0x0104D3],
  626. [0x010C80, 0x010CB2],
  627. [0x0118A0, 0x0118BF],
  628. [0x016E40, 0x016E5F],
  629. [0x01E900, 0x01E921]
  630. ]
  631. });
  632. testPropertyEscapes(
  633. /^\p{Changes_When_Casefolded}+$/u,
  634. matchSymbols,
  635. "\\p{Changes_When_Casefolded}"
  636. );
  637. testPropertyEscapes(
  638. /^\p{CWCF}+$/u,
  639. matchSymbols,
  640. "\\p{CWCF}"
  641. );
  642. const nonMatchSymbols = buildString({
  643. loneCodePoints: [
  644. 0x0000D7,
  645. 0x000101,
  646. 0x000103,
  647. 0x000105,
  648. 0x000107,
  649. 0x000109,
  650. 0x00010B,
  651. 0x00010D,
  652. 0x00010F,
  653. 0x000111,
  654. 0x000113,
  655. 0x000115,
  656. 0x000117,
  657. 0x000119,
  658. 0x00011B,
  659. 0x00011D,
  660. 0x00011F,
  661. 0x000121,
  662. 0x000123,
  663. 0x000125,
  664. 0x000127,
  665. 0x000129,
  666. 0x00012B,
  667. 0x00012D,
  668. 0x00012F,
  669. 0x000131,
  670. 0x000133,
  671. 0x000135,
  672. 0x00013A,
  673. 0x00013C,
  674. 0x00013E,
  675. 0x000140,
  676. 0x000142,
  677. 0x000144,
  678. 0x000146,
  679. 0x000148,
  680. 0x00014B,
  681. 0x00014D,
  682. 0x00014F,
  683. 0x000151,
  684. 0x000153,
  685. 0x000155,
  686. 0x000157,
  687. 0x000159,
  688. 0x00015B,
  689. 0x00015D,
  690. 0x00015F,
  691. 0x000161,
  692. 0x000163,
  693. 0x000165,
  694. 0x000167,
  695. 0x000169,
  696. 0x00016B,
  697. 0x00016D,
  698. 0x00016F,
  699. 0x000171,
  700. 0x000173,
  701. 0x000175,
  702. 0x000177,
  703. 0x00017A,
  704. 0x00017C,
  705. 0x00017E,
  706. 0x000180,
  707. 0x000183,
  708. 0x000185,
  709. 0x000188,
  710. 0x000192,
  711. 0x000195,
  712. 0x00019E,
  713. 0x0001A1,
  714. 0x0001A3,
  715. 0x0001A5,
  716. 0x0001A8,
  717. 0x0001AD,
  718. 0x0001B0,
  719. 0x0001B4,
  720. 0x0001B6,
  721. 0x0001C6,
  722. 0x0001C9,
  723. 0x0001CC,
  724. 0x0001CE,
  725. 0x0001D0,
  726. 0x0001D2,
  727. 0x0001D4,
  728. 0x0001D6,
  729. 0x0001D8,
  730. 0x0001DA,
  731. 0x0001DF,
  732. 0x0001E1,
  733. 0x0001E3,
  734. 0x0001E5,
  735. 0x0001E7,
  736. 0x0001E9,
  737. 0x0001EB,
  738. 0x0001ED,
  739. 0x0001F3,
  740. 0x0001F5,
  741. 0x0001F9,
  742. 0x0001FB,
  743. 0x0001FD,
  744. 0x0001FF,
  745. 0x000201,
  746. 0x000203,
  747. 0x000205,
  748. 0x000207,
  749. 0x000209,
  750. 0x00020B,
  751. 0x00020D,
  752. 0x00020F,
  753. 0x000211,
  754. 0x000213,
  755. 0x000215,
  756. 0x000217,
  757. 0x000219,
  758. 0x00021B,
  759. 0x00021D,
  760. 0x00021F,
  761. 0x000221,
  762. 0x000223,
  763. 0x000225,
  764. 0x000227,
  765. 0x000229,
  766. 0x00022B,
  767. 0x00022D,
  768. 0x00022F,
  769. 0x000231,
  770. 0x00023C,
  771. 0x000242,
  772. 0x000247,
  773. 0x000249,
  774. 0x00024B,
  775. 0x00024D,
  776. 0x000371,
  777. 0x000387,
  778. 0x00038B,
  779. 0x00038D,
  780. 0x000390,
  781. 0x0003A2,
  782. 0x0003D7,
  783. 0x0003D9,
  784. 0x0003DB,
  785. 0x0003DD,
  786. 0x0003DF,
  787. 0x0003E1,
  788. 0x0003E3,
  789. 0x0003E5,
  790. 0x0003E7,
  791. 0x0003E9,
  792. 0x0003EB,
  793. 0x0003ED,
  794. 0x0003EF,
  795. 0x0003F6,
  796. 0x0003F8,
  797. 0x000461,
  798. 0x000463,
  799. 0x000465,
  800. 0x000467,
  801. 0x000469,
  802. 0x00046B,
  803. 0x00046D,
  804. 0x00046F,
  805. 0x000471,
  806. 0x000473,
  807. 0x000475,
  808. 0x000477,
  809. 0x000479,
  810. 0x00047B,
  811. 0x00047D,
  812. 0x00047F,
  813. 0x00048B,
  814. 0x00048D,
  815. 0x00048F,
  816. 0x000491,
  817. 0x000493,
  818. 0x000495,
  819. 0x000497,
  820. 0x000499,
  821. 0x00049B,
  822. 0x00049D,
  823. 0x00049F,
  824. 0x0004A1,
  825. 0x0004A3,
  826. 0x0004A5,
  827. 0x0004A7,
  828. 0x0004A9,
  829. 0x0004AB,
  830. 0x0004AD,
  831. 0x0004AF,
  832. 0x0004B1,
  833. 0x0004B3,
  834. 0x0004B5,
  835. 0x0004B7,
  836. 0x0004B9,
  837. 0x0004BB,
  838. 0x0004BD,
  839. 0x0004BF,
  840. 0x0004C2,
  841. 0x0004C4,
  842. 0x0004C6,
  843. 0x0004C8,
  844. 0x0004CA,
  845. 0x0004CC,
  846. 0x0004D1,
  847. 0x0004D3,
  848. 0x0004D5,
  849. 0x0004D7,
  850. 0x0004D9,
  851. 0x0004DB,
  852. 0x0004DD,
  853. 0x0004DF,
  854. 0x0004E1,
  855. 0x0004E3,
  856. 0x0004E5,
  857. 0x0004E7,
  858. 0x0004E9,
  859. 0x0004EB,
  860. 0x0004ED,
  861. 0x0004EF,
  862. 0x0004F1,
  863. 0x0004F3,
  864. 0x0004F5,
  865. 0x0004F7,
  866. 0x0004F9,
  867. 0x0004FB,
  868. 0x0004FD,
  869. 0x0004FF,
  870. 0x000501,
  871. 0x000503,
  872. 0x000505,
  873. 0x000507,
  874. 0x000509,
  875. 0x00050B,
  876. 0x00050D,
  877. 0x00050F,
  878. 0x000511,
  879. 0x000513,
  880. 0x000515,
  881. 0x000517,
  882. 0x000519,
  883. 0x00051B,
  884. 0x00051D,
  885. 0x00051F,
  886. 0x000521,
  887. 0x000523,
  888. 0x000525,
  889. 0x000527,
  890. 0x000529,
  891. 0x00052B,
  892. 0x00052D,
  893. 0x0010C6,
  894. 0x001E01,
  895. 0x001E03,
  896. 0x001E05,
  897. 0x001E07,
  898. 0x001E09,
  899. 0x001E0B,
  900. 0x001E0D,
  901. 0x001E0F,
  902. 0x001E11,
  903. 0x001E13,
  904. 0x001E15,
  905. 0x001E17,
  906. 0x001E19,
  907. 0x001E1B,
  908. 0x001E1D,
  909. 0x001E1F,
  910. 0x001E21,
  911. 0x001E23,
  912. 0x001E25,
  913. 0x001E27,
  914. 0x001E29,
  915. 0x001E2B,
  916. 0x001E2D,
  917. 0x001E2F,
  918. 0x001E31,
  919. 0x001E33,
  920. 0x001E35,
  921. 0x001E37,
  922. 0x001E39,
  923. 0x001E3B,
  924. 0x001E3D,
  925. 0x001E3F,
  926. 0x001E41,
  927. 0x001E43,
  928. 0x001E45,
  929. 0x001E47,
  930. 0x001E49,
  931. 0x001E4B,
  932. 0x001E4D,
  933. 0x001E4F,
  934. 0x001E51,
  935. 0x001E53,
  936. 0x001E55,
  937. 0x001E57,
  938. 0x001E59,
  939. 0x001E5B,
  940. 0x001E5D,
  941. 0x001E5F,
  942. 0x001E61,
  943. 0x001E63,
  944. 0x001E65,
  945. 0x001E67,
  946. 0x001E69,
  947. 0x001E6B,
  948. 0x001E6D,
  949. 0x001E6F,
  950. 0x001E71,
  951. 0x001E73,
  952. 0x001E75,
  953. 0x001E77,
  954. 0x001E79,
  955. 0x001E7B,
  956. 0x001E7D,
  957. 0x001E7F,
  958. 0x001E81,
  959. 0x001E83,
  960. 0x001E85,
  961. 0x001E87,
  962. 0x001E89,
  963. 0x001E8B,
  964. 0x001E8D,
  965. 0x001E8F,
  966. 0x001E91,
  967. 0x001E93,
  968. 0x001E9F,
  969. 0x001EA1,
  970. 0x001EA3,
  971. 0x001EA5,
  972. 0x001EA7,
  973. 0x001EA9,
  974. 0x001EAB,
  975. 0x001EAD,
  976. 0x001EAF,
  977. 0x001EB1,
  978. 0x001EB3,
  979. 0x001EB5,
  980. 0x001EB7,
  981. 0x001EB9,
  982. 0x001EBB,
  983. 0x001EBD,
  984. 0x001EBF,
  985. 0x001EC1,
  986. 0x001EC3,
  987. 0x001EC5,
  988. 0x001EC7,
  989. 0x001EC9,
  990. 0x001ECB,
  991. 0x001ECD,
  992. 0x001ECF,
  993. 0x001ED1,
  994. 0x001ED3,
  995. 0x001ED5,
  996. 0x001ED7,
  997. 0x001ED9,
  998. 0x001EDB,
  999. 0x001EDD,
  1000. 0x001EDF,
  1001. 0x001EE1,
  1002. 0x001EE3,
  1003. 0x001EE5,
  1004. 0x001EE7,
  1005. 0x001EE9,
  1006. 0x001EEB,
  1007. 0x001EED,
  1008. 0x001EEF,
  1009. 0x001EF1,
  1010. 0x001EF3,
  1011. 0x001EF5,
  1012. 0x001EF7,
  1013. 0x001EF9,
  1014. 0x001EFB,
  1015. 0x001EFD,
  1016. 0x001F5A,
  1017. 0x001F5C,
  1018. 0x001F5E,
  1019. 0x002C61,
  1020. 0x002C68,
  1021. 0x002C6A,
  1022. 0x002C6C,
  1023. 0x002C71,
  1024. 0x002C81,
  1025. 0x002C83,
  1026. 0x002C85,
  1027. 0x002C87,
  1028. 0x002C89,
  1029. 0x002C8B,
  1030. 0x002C8D,
  1031. 0x002C8F,
  1032. 0x002C91,
  1033. 0x002C93,
  1034. 0x002C95,
  1035. 0x002C97,
  1036. 0x002C99,
  1037. 0x002C9B,
  1038. 0x002C9D,
  1039. 0x002C9F,
  1040. 0x002CA1,
  1041. 0x002CA3,
  1042. 0x002CA5,
  1043. 0x002CA7,
  1044. 0x002CA9,
  1045. 0x002CAB,
  1046. 0x002CAD,
  1047. 0x002CAF,
  1048. 0x002CB1,
  1049. 0x002CB3,
  1050. 0x002CB5,
  1051. 0x002CB7,
  1052. 0x002CB9,
  1053. 0x002CBB,
  1054. 0x002CBD,
  1055. 0x002CBF,
  1056. 0x002CC1,
  1057. 0x002CC3,
  1058. 0x002CC5,
  1059. 0x002CC7,
  1060. 0x002CC9,
  1061. 0x002CCB,
  1062. 0x002CCD,
  1063. 0x002CCF,
  1064. 0x002CD1,
  1065. 0x002CD3,
  1066. 0x002CD5,
  1067. 0x002CD7,
  1068. 0x002CD9,
  1069. 0x002CDB,
  1070. 0x002CDD,
  1071. 0x002CDF,
  1072. 0x002CE1,
  1073. 0x002CEC,
  1074. 0x00A641,
  1075. 0x00A643,
  1076. 0x00A645,
  1077. 0x00A647,
  1078. 0x00A649,
  1079. 0x00A64B,
  1080. 0x00A64D,
  1081. 0x00A64F,
  1082. 0x00A651,
  1083. 0x00A653,
  1084. 0x00A655,
  1085. 0x00A657,
  1086. 0x00A659,
  1087. 0x00A65B,
  1088. 0x00A65D,
  1089. 0x00A65F,
  1090. 0x00A661,
  1091. 0x00A663,
  1092. 0x00A665,
  1093. 0x00A667,
  1094. 0x00A669,
  1095. 0x00A66B,
  1096. 0x00A681,
  1097. 0x00A683,
  1098. 0x00A685,
  1099. 0x00A687,
  1100. 0x00A689,
  1101. 0x00A68B,
  1102. 0x00A68D,
  1103. 0x00A68F,
  1104. 0x00A691,
  1105. 0x00A693,
  1106. 0x00A695,
  1107. 0x00A697,
  1108. 0x00A699,
  1109. 0x00A723,
  1110. 0x00A725,
  1111. 0x00A727,
  1112. 0x00A729,
  1113. 0x00A72B,
  1114. 0x00A72D,
  1115. 0x00A733,
  1116. 0x00A735,
  1117. 0x00A737,
  1118. 0x00A739,
  1119. 0x00A73B,
  1120. 0x00A73D,
  1121. 0x00A73F,
  1122. 0x00A741,
  1123. 0x00A743,
  1124. 0x00A745,
  1125. 0x00A747,
  1126. 0x00A749,
  1127. 0x00A74B,
  1128. 0x00A74D,
  1129. 0x00A74F,
  1130. 0x00A751,
  1131. 0x00A753,
  1132. 0x00A755,
  1133. 0x00A757,
  1134. 0x00A759,
  1135. 0x00A75B,
  1136. 0x00A75D,
  1137. 0x00A75F,
  1138. 0x00A761,
  1139. 0x00A763,
  1140. 0x00A765,
  1141. 0x00A767,
  1142. 0x00A769,
  1143. 0x00A76B,
  1144. 0x00A76D,
  1145. 0x00A77A,
  1146. 0x00A77C,
  1147. 0x00A77F,
  1148. 0x00A781,
  1149. 0x00A783,
  1150. 0x00A785,
  1151. 0x00A78C,
  1152. 0x00A791,
  1153. 0x00A797,
  1154. 0x00A799,
  1155. 0x00A79B,
  1156. 0x00A79D,
  1157. 0x00A79F,
  1158. 0x00A7A1,
  1159. 0x00A7A3,
  1160. 0x00A7A5,
  1161. 0x00A7A7,
  1162. 0x00A7A9,
  1163. 0x00A7AF,
  1164. 0x00A7B5,
  1165. 0x00A7B7,
  1166. 0x00A7B9,
  1167. 0x00A7BB,
  1168. 0x00A7BD,
  1169. 0x00A7C3
  1170. ],
  1171. ranges: [
  1172. [0x00DC00, 0x00DFFF],
  1173. [0x000000, 0x000040],
  1174. [0x00005B, 0x0000B4],
  1175. [0x0000B6, 0x0000BF],
  1176. [0x0000E0, 0x0000FF],
  1177. [0x000137, 0x000138],
  1178. [0x00018C, 0x00018D],
  1179. [0x000199, 0x00019B],
  1180. [0x0001AA, 0x0001AB],
  1181. [0x0001B9, 0x0001BB],
  1182. [0x0001BD, 0x0001C3],
  1183. [0x0001DC, 0x0001DD],
  1184. [0x0001EF, 0x0001F0],
  1185. [0x000233, 0x000239],
  1186. [0x00023F, 0x000240],
  1187. [0x00024F, 0x000344],
  1188. [0x000346, 0x00036F],
  1189. [0x000373, 0x000375],
  1190. [0x000377, 0x00037E],
  1191. [0x000380, 0x000385],
  1192. [0x0003AC, 0x0003C1],
  1193. [0x0003C3, 0x0003CE],
  1194. [0x0003D2, 0x0003D4],
  1195. [0x0003F2, 0x0003F3],
  1196. [0x0003FB, 0x0003FC],
  1197. [0x000430, 0x00045F],
  1198. [0x000481, 0x000489],
  1199. [0x0004CE, 0x0004CF],
  1200. [0x00052F, 0x000530],
  1201. [0x000557, 0x000586],
  1202. [0x000588, 0x00109F],
  1203. [0x0010C8, 0x0010CC],
  1204. [0x0010CE, 0x0013F7],
  1205. [0x0013FE, 0x001C7F],
  1206. [0x001C89, 0x001C8F],
  1207. [0x001CBB, 0x001CBC],
  1208. [0x001CC0, 0x001DFF],
  1209. [0x001E95, 0x001E99],
  1210. [0x001E9C, 0x001E9D],
  1211. [0x001EFF, 0x001F07],
  1212. [0x001F10, 0x001F17],
  1213. [0x001F1E, 0x001F27],
  1214. [0x001F30, 0x001F37],
  1215. [0x001F40, 0x001F47],
  1216. [0x001F4E, 0x001F58],
  1217. [0x001F60, 0x001F67],
  1218. [0x001F70, 0x001F7F],
  1219. [0x001FB0, 0x001FB1],
  1220. [0x001FB5, 0x001FB6],
  1221. [0x001FBD, 0x001FC1],
  1222. [0x001FC5, 0x001FC6],
  1223. [0x001FCD, 0x001FD7],
  1224. [0x001FDC, 0x001FE7],
  1225. [0x001FED, 0x001FF1],
  1226. [0x001FF5, 0x001FF6],
  1227. [0x001FFD, 0x002125],
  1228. [0x002127, 0x002129],
  1229. [0x00212C, 0x002131],
  1230. [0x002133, 0x00215F],
  1231. [0x002170, 0x002182],
  1232. [0x002184, 0x0024B5],
  1233. [0x0024D0, 0x002BFF],
  1234. [0x002C2F, 0x002C5F],
  1235. [0x002C65, 0x002C66],
  1236. [0x002C73, 0x002C74],
  1237. [0x002C76, 0x002C7D],
  1238. [0x002CE3, 0x002CEA],
  1239. [0x002CEE, 0x002CF1],
  1240. [0x002CF3, 0x00A63F],
  1241. [0x00A66D, 0x00A67F],
  1242. [0x00A69B, 0x00A721],
  1243. [0x00A72F, 0x00A731],
  1244. [0x00A76F, 0x00A778],
  1245. [0x00A787, 0x00A78A],
  1246. [0x00A78E, 0x00A78F],
  1247. [0x00A793, 0x00A795],
  1248. [0x00A7BF, 0x00A7C1],
  1249. [0x00A7C7, 0x00AB6F],
  1250. [0x00ABC0, 0x00DBFF],
  1251. [0x00E000, 0x00FAFF],
  1252. [0x00FB07, 0x00FB12],
  1253. [0x00FB18, 0x00FF20],
  1254. [0x00FF3B, 0x0103FF],
  1255. [0x010428, 0x0104AF],
  1256. [0x0104D4, 0x010C7F],
  1257. [0x010CB3, 0x01189F],
  1258. [0x0118C0, 0x016E3F],
  1259. [0x016E60, 0x01E8FF],
  1260. [0x01E922, 0x10FFFF]
  1261. ]
  1262. });
  1263. testPropertyEscapes(
  1264. /^\P{Changes_When_Casefolded}+$/u,
  1265. nonMatchSymbols,
  1266. "\\P{Changes_When_Casefolded}"
  1267. );
  1268. testPropertyEscapes(
  1269. /^\P{CWCF}+$/u,
  1270. nonMatchSymbols,
  1271. "\\P{CWCF}"
  1272. );