tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Diacritic.js (11113B)


      1 // Copyright 2025 Mathias Bynens. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 author: Mathias Bynens
      6 description: >
      7  Unicode property escapes for `Diacritic`
      8 info: |
      9  Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests
     10  Unicode v17.0.0
     11 esid: sec-static-semantics-unicodematchproperty-p
     12 features: [regexp-unicode-property-escapes]
     13 includes: [regExpUtils.js]
     14 ---*/
     15 
     16 const matchSymbols = buildString({
     17  loneCodePoints: [
     18    0x00005E,
     19    0x000060,
     20    0x0000A8,
     21    0x0000AF,
     22    0x0000B4,
     23    0x00037A,
     24    0x000559,
     25    0x0005BF,
     26    0x0005C7,
     27    0x00093C,
     28    0x00094D,
     29    0x000971,
     30    0x0009BC,
     31    0x0009CD,
     32    0x000A3C,
     33    0x000A4D,
     34    0x000ABC,
     35    0x000ACD,
     36    0x000B3C,
     37    0x000B4D,
     38    0x000B55,
     39    0x000BCD,
     40    0x000C3C,
     41    0x000C4D,
     42    0x000CBC,
     43    0x000CCD,
     44    0x000D4D,
     45    0x000DCA,
     46    0x000E3A,
     47    0x000E4E,
     48    0x000EBA,
     49    0x000F35,
     50    0x000F37,
     51    0x000F39,
     52    0x000FC6,
     53    0x001037,
     54    0x00108F,
     55    0x001734,
     56    0x0017DD,
     57    0x001A60,
     58    0x001A7F,
     59    0x001B34,
     60    0x001B44,
     61    0x001BE6,
     62    0x001CED,
     63    0x001CF4,
     64    0x001FBD,
     65    0x002E2F,
     66    0x0030FC,
     67    0x00A66F,
     68    0x00A67F,
     69    0x00A7F1,
     70    0x00A806,
     71    0x00A82C,
     72    0x00A8C4,
     73    0x00A953,
     74    0x00A9B3,
     75    0x00A9C0,
     76    0x00A9E5,
     77    0x00AAF6,
     78    0x00FB1E,
     79    0x00FF3E,
     80    0x00FF40,
     81    0x00FF70,
     82    0x00FFE3,
     83    0x0102E0,
     84    0x010A3F,
     85    0x010D4E,
     86    0x010EFA,
     87    0x011046,
     88    0x011070,
     89    0x011173,
     90    0x0111C0,
     91    0x01134D,
     92    0x011442,
     93    0x011446,
     94    0x01163F,
     95    0x01172B,
     96    0x011943,
     97    0x0119E0,
     98    0x011A34,
     99    0x011A47,
    100    0x011A99,
    101    0x011C3F,
    102    0x011D42,
    103    0x011D97,
    104    0x011DD9,
    105    0x011F5A,
    106    0x01612F,
    107    0x01E2AE
    108  ],
    109  ranges: [
    110    [0x0000B7, 0x0000B8],
    111    [0x0002B0, 0x00034E],
    112    [0x000350, 0x000357],
    113    [0x00035D, 0x000362],
    114    [0x000374, 0x000375],
    115    [0x000384, 0x000385],
    116    [0x000483, 0x000487],
    117    [0x000591, 0x0005BD],
    118    [0x0005C1, 0x0005C2],
    119    [0x0005C4, 0x0005C5],
    120    [0x00064B, 0x000652],
    121    [0x000657, 0x000658],
    122    [0x0006DF, 0x0006E0],
    123    [0x0006E5, 0x0006E6],
    124    [0x0006EA, 0x0006EC],
    125    [0x000730, 0x00074A],
    126    [0x0007A6, 0x0007B0],
    127    [0x0007EB, 0x0007F5],
    128    [0x000818, 0x000819],
    129    [0x000898, 0x00089F],
    130    [0x0008C9, 0x0008D2],
    131    [0x0008E3, 0x0008FE],
    132    [0x000951, 0x000954],
    133    [0x000AFD, 0x000AFF],
    134    [0x000D3B, 0x000D3C],
    135    [0x000E47, 0x000E4C],
    136    [0x000EC8, 0x000ECC],
    137    [0x000F18, 0x000F19],
    138    [0x000F3E, 0x000F3F],
    139    [0x000F82, 0x000F84],
    140    [0x000F86, 0x000F87],
    141    [0x001039, 0x00103A],
    142    [0x001063, 0x001064],
    143    [0x001069, 0x00106D],
    144    [0x001087, 0x00108D],
    145    [0x00109A, 0x00109B],
    146    [0x00135D, 0x00135F],
    147    [0x001714, 0x001715],
    148    [0x0017C9, 0x0017D3],
    149    [0x001939, 0x00193B],
    150    [0x001A75, 0x001A7C],
    151    [0x001AB0, 0x001ABE],
    152    [0x001AC1, 0x001ACB],
    153    [0x001ACF, 0x001ADD],
    154    [0x001AE0, 0x001AEB],
    155    [0x001B6B, 0x001B73],
    156    [0x001BAA, 0x001BAB],
    157    [0x001BF2, 0x001BF3],
    158    [0x001C36, 0x001C37],
    159    [0x001C78, 0x001C7D],
    160    [0x001CD0, 0x001CE8],
    161    [0x001CF7, 0x001CF9],
    162    [0x001D2C, 0x001D6A],
    163    [0x001D9B, 0x001DBE],
    164    [0x001DC4, 0x001DCF],
    165    [0x001DF5, 0x001DFF],
    166    [0x001FBF, 0x001FC1],
    167    [0x001FCD, 0x001FCF],
    168    [0x001FDD, 0x001FDF],
    169    [0x001FED, 0x001FEF],
    170    [0x001FFD, 0x001FFE],
    171    [0x002CEF, 0x002CF1],
    172    [0x00302A, 0x00302F],
    173    [0x003099, 0x00309C],
    174    [0x00A67C, 0x00A67D],
    175    [0x00A69C, 0x00A69D],
    176    [0x00A6F0, 0x00A6F1],
    177    [0x00A700, 0x00A721],
    178    [0x00A788, 0x00A78A],
    179    [0x00A7F8, 0x00A7F9],
    180    [0x00A8E0, 0x00A8F1],
    181    [0x00A92B, 0x00A92E],
    182    [0x00AA7B, 0x00AA7D],
    183    [0x00AABF, 0x00AAC2],
    184    [0x00AB5B, 0x00AB5F],
    185    [0x00AB69, 0x00AB6B],
    186    [0x00ABEC, 0x00ABED],
    187    [0x00FE20, 0x00FE2F],
    188    [0x00FF9E, 0x00FF9F],
    189    [0x010780, 0x010785],
    190    [0x010787, 0x0107B0],
    191    [0x0107B2, 0x0107BA],
    192    [0x010A38, 0x010A3A],
    193    [0x010AE5, 0x010AE6],
    194    [0x010D22, 0x010D27],
    195    [0x010D69, 0x010D6D],
    196    [0x010EFD, 0x010EFF],
    197    [0x010F46, 0x010F50],
    198    [0x010F82, 0x010F85],
    199    [0x0110B9, 0x0110BA],
    200    [0x011133, 0x011134],
    201    [0x0111CA, 0x0111CC],
    202    [0x011235, 0x011236],
    203    [0x0112E9, 0x0112EA],
    204    [0x01133B, 0x01133C],
    205    [0x011366, 0x01136C],
    206    [0x011370, 0x011374],
    207    [0x0113CE, 0x0113D0],
    208    [0x0113D2, 0x0113D3],
    209    [0x0113E1, 0x0113E2],
    210    [0x0114C2, 0x0114C3],
    211    [0x0115BF, 0x0115C0],
    212    [0x0116B6, 0x0116B7],
    213    [0x011839, 0x01183A],
    214    [0x01193D, 0x01193E],
    215    [0x011D44, 0x011D45],
    216    [0x011F41, 0x011F42],
    217    [0x013447, 0x013455],
    218    [0x016AF0, 0x016AF4],
    219    [0x016B30, 0x016B36],
    220    [0x016D6B, 0x016D6C],
    221    [0x016F8F, 0x016F9F],
    222    [0x016FF0, 0x016FF1],
    223    [0x01AFF0, 0x01AFF3],
    224    [0x01AFF5, 0x01AFFB],
    225    [0x01AFFD, 0x01AFFE],
    226    [0x01CF00, 0x01CF2D],
    227    [0x01CF30, 0x01CF46],
    228    [0x01D167, 0x01D169],
    229    [0x01D16D, 0x01D172],
    230    [0x01D17B, 0x01D182],
    231    [0x01D185, 0x01D18B],
    232    [0x01D1AA, 0x01D1AD],
    233    [0x01E030, 0x01E06D],
    234    [0x01E130, 0x01E136],
    235    [0x01E2EC, 0x01E2EF],
    236    [0x01E5EE, 0x01E5EF],
    237    [0x01E8D0, 0x01E8D6],
    238    [0x01E944, 0x01E946],
    239    [0x01E948, 0x01E94A]
    240  ]
    241 });
    242 testPropertyEscapes(
    243  /^\p{Diacritic}+$/u,
    244  matchSymbols,
    245  "\\p{Diacritic}"
    246 );
    247 testPropertyEscapes(
    248  /^\p{Dia}+$/u,
    249  matchSymbols,
    250  "\\p{Dia}"
    251 );
    252 
    253 const nonMatchSymbols = buildString({
    254  loneCodePoints: [
    255    0x00005F,
    256    0x00034F,
    257    0x0005BE,
    258    0x0005C0,
    259    0x0005C3,
    260    0x0005C6,
    261    0x000E4D,
    262    0x000F36,
    263    0x000F38,
    264    0x000F85,
    265    0x001038,
    266    0x00108E,
    267    0x001FBE,
    268    0x00A67E,
    269    0x00FF3F,
    270    0x010786,
    271    0x0107B1,
    272    0x0113D1,
    273    0x011D43,
    274    0x01AFF4,
    275    0x01AFFC,
    276    0x01E947
    277  ],
    278  ranges: [
    279    [0x00DC00, 0x00DFFF],
    280    [0x000000, 0x00005D],
    281    [0x000061, 0x0000A7],
    282    [0x0000A9, 0x0000AE],
    283    [0x0000B0, 0x0000B3],
    284    [0x0000B5, 0x0000B6],
    285    [0x0000B9, 0x0002AF],
    286    [0x000358, 0x00035C],
    287    [0x000363, 0x000373],
    288    [0x000376, 0x000379],
    289    [0x00037B, 0x000383],
    290    [0x000386, 0x000482],
    291    [0x000488, 0x000558],
    292    [0x00055A, 0x000590],
    293    [0x0005C8, 0x00064A],
    294    [0x000653, 0x000656],
    295    [0x000659, 0x0006DE],
    296    [0x0006E1, 0x0006E4],
    297    [0x0006E7, 0x0006E9],
    298    [0x0006ED, 0x00072F],
    299    [0x00074B, 0x0007A5],
    300    [0x0007B1, 0x0007EA],
    301    [0x0007F6, 0x000817],
    302    [0x00081A, 0x000897],
    303    [0x0008A0, 0x0008C8],
    304    [0x0008D3, 0x0008E2],
    305    [0x0008FF, 0x00093B],
    306    [0x00093D, 0x00094C],
    307    [0x00094E, 0x000950],
    308    [0x000955, 0x000970],
    309    [0x000972, 0x0009BB],
    310    [0x0009BD, 0x0009CC],
    311    [0x0009CE, 0x000A3B],
    312    [0x000A3D, 0x000A4C],
    313    [0x000A4E, 0x000ABB],
    314    [0x000ABD, 0x000ACC],
    315    [0x000ACE, 0x000AFC],
    316    [0x000B00, 0x000B3B],
    317    [0x000B3D, 0x000B4C],
    318    [0x000B4E, 0x000B54],
    319    [0x000B56, 0x000BCC],
    320    [0x000BCE, 0x000C3B],
    321    [0x000C3D, 0x000C4C],
    322    [0x000C4E, 0x000CBB],
    323    [0x000CBD, 0x000CCC],
    324    [0x000CCE, 0x000D3A],
    325    [0x000D3D, 0x000D4C],
    326    [0x000D4E, 0x000DC9],
    327    [0x000DCB, 0x000E39],
    328    [0x000E3B, 0x000E46],
    329    [0x000E4F, 0x000EB9],
    330    [0x000EBB, 0x000EC7],
    331    [0x000ECD, 0x000F17],
    332    [0x000F1A, 0x000F34],
    333    [0x000F3A, 0x000F3D],
    334    [0x000F40, 0x000F81],
    335    [0x000F88, 0x000FC5],
    336    [0x000FC7, 0x001036],
    337    [0x00103B, 0x001062],
    338    [0x001065, 0x001068],
    339    [0x00106E, 0x001086],
    340    [0x001090, 0x001099],
    341    [0x00109C, 0x00135C],
    342    [0x001360, 0x001713],
    343    [0x001716, 0x001733],
    344    [0x001735, 0x0017C8],
    345    [0x0017D4, 0x0017DC],
    346    [0x0017DE, 0x001938],
    347    [0x00193C, 0x001A5F],
    348    [0x001A61, 0x001A74],
    349    [0x001A7D, 0x001A7E],
    350    [0x001A80, 0x001AAF],
    351    [0x001ABF, 0x001AC0],
    352    [0x001ACC, 0x001ACE],
    353    [0x001ADE, 0x001ADF],
    354    [0x001AEC, 0x001B33],
    355    [0x001B35, 0x001B43],
    356    [0x001B45, 0x001B6A],
    357    [0x001B74, 0x001BA9],
    358    [0x001BAC, 0x001BE5],
    359    [0x001BE7, 0x001BF1],
    360    [0x001BF4, 0x001C35],
    361    [0x001C38, 0x001C77],
    362    [0x001C7E, 0x001CCF],
    363    [0x001CE9, 0x001CEC],
    364    [0x001CEE, 0x001CF3],
    365    [0x001CF5, 0x001CF6],
    366    [0x001CFA, 0x001D2B],
    367    [0x001D6B, 0x001D9A],
    368    [0x001DBF, 0x001DC3],
    369    [0x001DD0, 0x001DF4],
    370    [0x001E00, 0x001FBC],
    371    [0x001FC2, 0x001FCC],
    372    [0x001FD0, 0x001FDC],
    373    [0x001FE0, 0x001FEC],
    374    [0x001FF0, 0x001FFC],
    375    [0x001FFF, 0x002CEE],
    376    [0x002CF2, 0x002E2E],
    377    [0x002E30, 0x003029],
    378    [0x003030, 0x003098],
    379    [0x00309D, 0x0030FB],
    380    [0x0030FD, 0x00A66E],
    381    [0x00A670, 0x00A67B],
    382    [0x00A680, 0x00A69B],
    383    [0x00A69E, 0x00A6EF],
    384    [0x00A6F2, 0x00A6FF],
    385    [0x00A722, 0x00A787],
    386    [0x00A78B, 0x00A7F0],
    387    [0x00A7F2, 0x00A7F7],
    388    [0x00A7FA, 0x00A805],
    389    [0x00A807, 0x00A82B],
    390    [0x00A82D, 0x00A8C3],
    391    [0x00A8C5, 0x00A8DF],
    392    [0x00A8F2, 0x00A92A],
    393    [0x00A92F, 0x00A952],
    394    [0x00A954, 0x00A9B2],
    395    [0x00A9B4, 0x00A9BF],
    396    [0x00A9C1, 0x00A9E4],
    397    [0x00A9E6, 0x00AA7A],
    398    [0x00AA7E, 0x00AABE],
    399    [0x00AAC3, 0x00AAF5],
    400    [0x00AAF7, 0x00AB5A],
    401    [0x00AB60, 0x00AB68],
    402    [0x00AB6C, 0x00ABEB],
    403    [0x00ABEE, 0x00DBFF],
    404    [0x00E000, 0x00FB1D],
    405    [0x00FB1F, 0x00FE1F],
    406    [0x00FE30, 0x00FF3D],
    407    [0x00FF41, 0x00FF6F],
    408    [0x00FF71, 0x00FF9D],
    409    [0x00FFA0, 0x00FFE2],
    410    [0x00FFE4, 0x0102DF],
    411    [0x0102E1, 0x01077F],
    412    [0x0107BB, 0x010A37],
    413    [0x010A3B, 0x010A3E],
    414    [0x010A40, 0x010AE4],
    415    [0x010AE7, 0x010D21],
    416    [0x010D28, 0x010D4D],
    417    [0x010D4F, 0x010D68],
    418    [0x010D6E, 0x010EF9],
    419    [0x010EFB, 0x010EFC],
    420    [0x010F00, 0x010F45],
    421    [0x010F51, 0x010F81],
    422    [0x010F86, 0x011045],
    423    [0x011047, 0x01106F],
    424    [0x011071, 0x0110B8],
    425    [0x0110BB, 0x011132],
    426    [0x011135, 0x011172],
    427    [0x011174, 0x0111BF],
    428    [0x0111C1, 0x0111C9],
    429    [0x0111CD, 0x011234],
    430    [0x011237, 0x0112E8],
    431    [0x0112EB, 0x01133A],
    432    [0x01133D, 0x01134C],
    433    [0x01134E, 0x011365],
    434    [0x01136D, 0x01136F],
    435    [0x011375, 0x0113CD],
    436    [0x0113D4, 0x0113E0],
    437    [0x0113E3, 0x011441],
    438    [0x011443, 0x011445],
    439    [0x011447, 0x0114C1],
    440    [0x0114C4, 0x0115BE],
    441    [0x0115C1, 0x01163E],
    442    [0x011640, 0x0116B5],
    443    [0x0116B8, 0x01172A],
    444    [0x01172C, 0x011838],
    445    [0x01183B, 0x01193C],
    446    [0x01193F, 0x011942],
    447    [0x011944, 0x0119DF],
    448    [0x0119E1, 0x011A33],
    449    [0x011A35, 0x011A46],
    450    [0x011A48, 0x011A98],
    451    [0x011A9A, 0x011C3E],
    452    [0x011C40, 0x011D41],
    453    [0x011D46, 0x011D96],
    454    [0x011D98, 0x011DD8],
    455    [0x011DDA, 0x011F40],
    456    [0x011F43, 0x011F59],
    457    [0x011F5B, 0x013446],
    458    [0x013456, 0x01612E],
    459    [0x016130, 0x016AEF],
    460    [0x016AF5, 0x016B2F],
    461    [0x016B37, 0x016D6A],
    462    [0x016D6D, 0x016F8E],
    463    [0x016FA0, 0x016FEF],
    464    [0x016FF2, 0x01AFEF],
    465    [0x01AFFF, 0x01CEFF],
    466    [0x01CF2E, 0x01CF2F],
    467    [0x01CF47, 0x01D166],
    468    [0x01D16A, 0x01D16C],
    469    [0x01D173, 0x01D17A],
    470    [0x01D183, 0x01D184],
    471    [0x01D18C, 0x01D1A9],
    472    [0x01D1AE, 0x01E02F],
    473    [0x01E06E, 0x01E12F],
    474    [0x01E137, 0x01E2AD],
    475    [0x01E2AF, 0x01E2EB],
    476    [0x01E2F0, 0x01E5ED],
    477    [0x01E5F0, 0x01E8CF],
    478    [0x01E8D7, 0x01E943],
    479    [0x01E94B, 0x10FFFF]
    480  ]
    481 });
    482 testPropertyEscapes(
    483  /^\P{Diacritic}+$/u,
    484  nonMatchSymbols,
    485  "\\P{Diacritic}"
    486 );
    487 testPropertyEscapes(
    488  /^\P{Dia}+$/u,
    489  nonMatchSymbols,
    490  "\\P{Dia}"
    491 );
    492 
    493 reportCompare(0, 0);