Changes_When_Titlecased.js 20 KB

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