js/src/yarr/YarrCanonicalizeUCS2.cpp

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
     2  * vim: set ts=8 sts=4 et sw=4 tw=99:
     3  *
     4  * Copyright (C) 2012 Apple Inc. All rights reserved.
     5  *
     6  * Redistribution and use in source and binary forms, with or without
     7  * modification, are permitted provided that the following conditions
     8  * are met:
     9  * 1. Redistributions of source code must retain the above copyright
    10  *    notice, this list of conditions and the following disclaimer.
    11  * 2. Redistributions in binary form must reproduce the above copyright
    12  *    notice, this list of conditions and the following disclaimer in the
    13  *    documentation and/or other materials provided with the distribution.
    14  *
    15  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
    16  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    18  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
    19  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    20  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    21  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    22  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
    23  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    25  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    26  */
    28 // DO NOT EDIT! - this file autogenerated by YarrCanonicalizeUCS2.js
    30 #include "yarr/YarrCanonicalizeUCS2.h"
    32 #include <stddef.h>
    34 namespace JSC { namespace Yarr {
    36 const uint16_t ucs2CharacterSet0[] = { 0x01c4u, 0x01c5u, 0x01c6u, 0 };
    37 const uint16_t ucs2CharacterSet1[] = { 0x01c7u, 0x01c8u, 0x01c9u, 0 };
    38 const uint16_t ucs2CharacterSet2[] = { 0x01cau, 0x01cbu, 0x01ccu, 0 };
    39 const uint16_t ucs2CharacterSet3[] = { 0x01f1u, 0x01f2u, 0x01f3u, 0 };
    40 const uint16_t ucs2CharacterSet4[] = { 0x0392u, 0x03b2u, 0x03d0u, 0 };
    41 const uint16_t ucs2CharacterSet5[] = { 0x0395u, 0x03b5u, 0x03f5u, 0 };
    42 const uint16_t ucs2CharacterSet6[] = { 0x0398u, 0x03b8u, 0x03d1u, 0 };
    43 const uint16_t ucs2CharacterSet7[] = { 0x0345u, 0x0399u, 0x03b9u, 0x1fbeu, 0 };
    44 const uint16_t ucs2CharacterSet8[] = { 0x039au, 0x03bau, 0x03f0u, 0 };
    45 const uint16_t ucs2CharacterSet9[] = { 0x00b5u, 0x039cu, 0x03bcu, 0 };
    46 const uint16_t ucs2CharacterSet10[] = { 0x03a0u, 0x03c0u, 0x03d6u, 0 };
    47 const uint16_t ucs2CharacterSet11[] = { 0x03a1u, 0x03c1u, 0x03f1u, 0 };
    48 const uint16_t ucs2CharacterSet12[] = { 0x03a3u, 0x03c2u, 0x03c3u, 0 };
    49 const uint16_t ucs2CharacterSet13[] = { 0x03a6u, 0x03c6u, 0x03d5u, 0 };
    50 const uint16_t ucs2CharacterSet14[] = { 0x1e60u, 0x1e61u, 0x1e9bu, 0 };
    52 static const size_t UCS2_CANONICALIZATION_SETS = 15;
    53 const uint16_t* const characterSetInfo[UCS2_CANONICALIZATION_SETS] = {
    54     ucs2CharacterSet0,
    55     ucs2CharacterSet1,
    56     ucs2CharacterSet2,
    57     ucs2CharacterSet3,
    58     ucs2CharacterSet4,
    59     ucs2CharacterSet5,
    60     ucs2CharacterSet6,
    61     ucs2CharacterSet7,
    62     ucs2CharacterSet8,
    63     ucs2CharacterSet9,
    64     ucs2CharacterSet10,
    65     ucs2CharacterSet11,
    66     ucs2CharacterSet12,
    67     ucs2CharacterSet13,
    68     ucs2CharacterSet14,
    69 };
    71 const size_t UCS2_CANONICALIZATION_RANGES = 364;
    72 const UCS2CanonicalizationRange rangeInfo[UCS2_CANONICALIZATION_RANGES] = {
    73     { 0x0000u, 0x0040u, 0x0000u, CanonicalizeUnique },
    74     { 0x0041u, 0x005au, 0x0020u, CanonicalizeRangeLo },
    75     { 0x005bu, 0x0060u, 0x0000u, CanonicalizeUnique },
    76     { 0x0061u, 0x007au, 0x0020u, CanonicalizeRangeHi },
    77     { 0x007bu, 0x00b4u, 0x0000u, CanonicalizeUnique },
    78     { 0x00b5u, 0x00b5u, 0x0009u, CanonicalizeSet },
    79     { 0x00b6u, 0x00bfu, 0x0000u, CanonicalizeUnique },
    80     { 0x00c0u, 0x00d6u, 0x0020u, CanonicalizeRangeLo },
    81     { 0x00d7u, 0x00d7u, 0x0000u, CanonicalizeUnique },
    82     { 0x00d8u, 0x00deu, 0x0020u, CanonicalizeRangeLo },
    83     { 0x00dfu, 0x00dfu, 0x0000u, CanonicalizeUnique },
    84     { 0x00e0u, 0x00f6u, 0x0020u, CanonicalizeRangeHi },
    85     { 0x00f7u, 0x00f7u, 0x0000u, CanonicalizeUnique },
    86     { 0x00f8u, 0x00feu, 0x0020u, CanonicalizeRangeHi },
    87     { 0x00ffu, 0x00ffu, 0x0079u, CanonicalizeRangeLo },
    88     { 0x0100u, 0x012fu, 0x0000u, CanonicalizeAlternatingAligned },
    89     { 0x0130u, 0x0131u, 0x0000u, CanonicalizeUnique },
    90     { 0x0132u, 0x0137u, 0x0000u, CanonicalizeAlternatingAligned },
    91     { 0x0138u, 0x0138u, 0x0000u, CanonicalizeUnique },
    92     { 0x0139u, 0x0148u, 0x0000u, CanonicalizeAlternatingUnaligned },
    93     { 0x0149u, 0x0149u, 0x0000u, CanonicalizeUnique },
    94     { 0x014au, 0x0177u, 0x0000u, CanonicalizeAlternatingAligned },
    95     { 0x0178u, 0x0178u, 0x0079u, CanonicalizeRangeHi },
    96     { 0x0179u, 0x017eu, 0x0000u, CanonicalizeAlternatingUnaligned },
    97     { 0x017fu, 0x017fu, 0x0000u, CanonicalizeUnique },
    98     { 0x0180u, 0x0180u, 0x00c3u, CanonicalizeRangeLo },
    99     { 0x0181u, 0x0181u, 0x00d2u, CanonicalizeRangeLo },
   100     { 0x0182u, 0x0185u, 0x0000u, CanonicalizeAlternatingAligned },
   101     { 0x0186u, 0x0186u, 0x00ceu, CanonicalizeRangeLo },
   102     { 0x0187u, 0x0188u, 0x0000u, CanonicalizeAlternatingUnaligned },
   103     { 0x0189u, 0x018au, 0x00cdu, CanonicalizeRangeLo },
   104     { 0x018bu, 0x018cu, 0x0000u, CanonicalizeAlternatingUnaligned },
   105     { 0x018du, 0x018du, 0x0000u, CanonicalizeUnique },
   106     { 0x018eu, 0x018eu, 0x004fu, CanonicalizeRangeLo },
   107     { 0x018fu, 0x018fu, 0x00cau, CanonicalizeRangeLo },
   108     { 0x0190u, 0x0190u, 0x00cbu, CanonicalizeRangeLo },
   109     { 0x0191u, 0x0192u, 0x0000u, CanonicalizeAlternatingUnaligned },
   110     { 0x0193u, 0x0193u, 0x00cdu, CanonicalizeRangeLo },
   111     { 0x0194u, 0x0194u, 0x00cfu, CanonicalizeRangeLo },
   112     { 0x0195u, 0x0195u, 0x0061u, CanonicalizeRangeLo },
   113     { 0x0196u, 0x0196u, 0x00d3u, CanonicalizeRangeLo },
   114     { 0x0197u, 0x0197u, 0x00d1u, CanonicalizeRangeLo },
   115     { 0x0198u, 0x0199u, 0x0000u, CanonicalizeAlternatingAligned },
   116     { 0x019au, 0x019au, 0x00a3u, CanonicalizeRangeLo },
   117     { 0x019bu, 0x019bu, 0x0000u, CanonicalizeUnique },
   118     { 0x019cu, 0x019cu, 0x00d3u, CanonicalizeRangeLo },
   119     { 0x019du, 0x019du, 0x00d5u, CanonicalizeRangeLo },
   120     { 0x019eu, 0x019eu, 0x0082u, CanonicalizeRangeLo },
   121     { 0x019fu, 0x019fu, 0x00d6u, CanonicalizeRangeLo },
   122     { 0x01a0u, 0x01a5u, 0x0000u, CanonicalizeAlternatingAligned },
   123     { 0x01a6u, 0x01a6u, 0x00dau, CanonicalizeRangeLo },
   124     { 0x01a7u, 0x01a8u, 0x0000u, CanonicalizeAlternatingUnaligned },
   125     { 0x01a9u, 0x01a9u, 0x00dau, CanonicalizeRangeLo },
   126     { 0x01aau, 0x01abu, 0x0000u, CanonicalizeUnique },
   127     { 0x01acu, 0x01adu, 0x0000u, CanonicalizeAlternatingAligned },
   128     { 0x01aeu, 0x01aeu, 0x00dau, CanonicalizeRangeLo },
   129     { 0x01afu, 0x01b0u, 0x0000u, CanonicalizeAlternatingUnaligned },
   130     { 0x01b1u, 0x01b2u, 0x00d9u, CanonicalizeRangeLo },
   131     { 0x01b3u, 0x01b6u, 0x0000u, CanonicalizeAlternatingUnaligned },
   132     { 0x01b7u, 0x01b7u, 0x00dbu, CanonicalizeRangeLo },
   133     { 0x01b8u, 0x01b9u, 0x0000u, CanonicalizeAlternatingAligned },
   134     { 0x01bau, 0x01bbu, 0x0000u, CanonicalizeUnique },
   135     { 0x01bcu, 0x01bdu, 0x0000u, CanonicalizeAlternatingAligned },
   136     { 0x01beu, 0x01beu, 0x0000u, CanonicalizeUnique },
   137     { 0x01bfu, 0x01bfu, 0x0038u, CanonicalizeRangeLo },
   138     { 0x01c0u, 0x01c3u, 0x0000u, CanonicalizeUnique },
   139     { 0x01c4u, 0x01c6u, 0x0000u, CanonicalizeSet },
   140     { 0x01c7u, 0x01c9u, 0x0001u, CanonicalizeSet },
   141     { 0x01cau, 0x01ccu, 0x0002u, CanonicalizeSet },
   142     { 0x01cdu, 0x01dcu, 0x0000u, CanonicalizeAlternatingUnaligned },
   143     { 0x01ddu, 0x01ddu, 0x004fu, CanonicalizeRangeHi },
   144     { 0x01deu, 0x01efu, 0x0000u, CanonicalizeAlternatingAligned },
   145     { 0x01f0u, 0x01f0u, 0x0000u, CanonicalizeUnique },
   146     { 0x01f1u, 0x01f3u, 0x0003u, CanonicalizeSet },
   147     { 0x01f4u, 0x01f5u, 0x0000u, CanonicalizeAlternatingAligned },
   148     { 0x01f6u, 0x01f6u, 0x0061u, CanonicalizeRangeHi },
   149     { 0x01f7u, 0x01f7u, 0x0038u, CanonicalizeRangeHi },
   150     { 0x01f8u, 0x021fu, 0x0000u, CanonicalizeAlternatingAligned },
   151     { 0x0220u, 0x0220u, 0x0082u, CanonicalizeRangeHi },
   152     { 0x0221u, 0x0221u, 0x0000u, CanonicalizeUnique },
   153     { 0x0222u, 0x0233u, 0x0000u, CanonicalizeAlternatingAligned },
   154     { 0x0234u, 0x0239u, 0x0000u, CanonicalizeUnique },
   155     { 0x023au, 0x023au, 0x2a2bu, CanonicalizeRangeLo },
   156     { 0x023bu, 0x023cu, 0x0000u, CanonicalizeAlternatingUnaligned },
   157     { 0x023du, 0x023du, 0x00a3u, CanonicalizeRangeHi },
   158     { 0x023eu, 0x023eu, 0x2a28u, CanonicalizeRangeLo },
   159     { 0x023fu, 0x0240u, 0x2a3fu, CanonicalizeRangeLo },
   160     { 0x0241u, 0x0242u, 0x0000u, CanonicalizeAlternatingUnaligned },
   161     { 0x0243u, 0x0243u, 0x00c3u, CanonicalizeRangeHi },
   162     { 0x0244u, 0x0244u, 0x0045u, CanonicalizeRangeLo },
   163     { 0x0245u, 0x0245u, 0x0047u, CanonicalizeRangeLo },
   164     { 0x0246u, 0x024fu, 0x0000u, CanonicalizeAlternatingAligned },
   165     { 0x0250u, 0x0250u, 0x2a1fu, CanonicalizeRangeLo },
   166     { 0x0251u, 0x0251u, 0x2a1cu, CanonicalizeRangeLo },
   167     { 0x0252u, 0x0252u, 0x2a1eu, CanonicalizeRangeLo },
   168     { 0x0253u, 0x0253u, 0x00d2u, CanonicalizeRangeHi },
   169     { 0x0254u, 0x0254u, 0x00ceu, CanonicalizeRangeHi },
   170     { 0x0255u, 0x0255u, 0x0000u, CanonicalizeUnique },
   171     { 0x0256u, 0x0257u, 0x00cdu, CanonicalizeRangeHi },
   172     { 0x0258u, 0x0258u, 0x0000u, CanonicalizeUnique },
   173     { 0x0259u, 0x0259u, 0x00cau, CanonicalizeRangeHi },
   174     { 0x025au, 0x025au, 0x0000u, CanonicalizeUnique },
   175     { 0x025bu, 0x025bu, 0x00cbu, CanonicalizeRangeHi },
   176     { 0x025cu, 0x025fu, 0x0000u, CanonicalizeUnique },
   177     { 0x0260u, 0x0260u, 0x00cdu, CanonicalizeRangeHi },
   178     { 0x0261u, 0x0262u, 0x0000u, CanonicalizeUnique },
   179     { 0x0263u, 0x0263u, 0x00cfu, CanonicalizeRangeHi },
   180     { 0x0264u, 0x0264u, 0x0000u, CanonicalizeUnique },
   181     { 0x0265u, 0x0265u, 0xa528u, CanonicalizeRangeLo },
   182     { 0x0266u, 0x0267u, 0x0000u, CanonicalizeUnique },
   183     { 0x0268u, 0x0268u, 0x00d1u, CanonicalizeRangeHi },
   184     { 0x0269u, 0x0269u, 0x00d3u, CanonicalizeRangeHi },
   185     { 0x026au, 0x026au, 0x0000u, CanonicalizeUnique },
   186     { 0x026bu, 0x026bu, 0x29f7u, CanonicalizeRangeLo },
   187     { 0x026cu, 0x026eu, 0x0000u, CanonicalizeUnique },
   188     { 0x026fu, 0x026fu, 0x00d3u, CanonicalizeRangeHi },
   189     { 0x0270u, 0x0270u, 0x0000u, CanonicalizeUnique },
   190     { 0x0271u, 0x0271u, 0x29fdu, CanonicalizeRangeLo },
   191     { 0x0272u, 0x0272u, 0x00d5u, CanonicalizeRangeHi },
   192     { 0x0273u, 0x0274u, 0x0000u, CanonicalizeUnique },
   193     { 0x0275u, 0x0275u, 0x00d6u, CanonicalizeRangeHi },
   194     { 0x0276u, 0x027cu, 0x0000u, CanonicalizeUnique },
   195     { 0x027du, 0x027du, 0x29e7u, CanonicalizeRangeLo },
   196     { 0x027eu, 0x027fu, 0x0000u, CanonicalizeUnique },
   197     { 0x0280u, 0x0280u, 0x00dau, CanonicalizeRangeHi },
   198     { 0x0281u, 0x0282u, 0x0000u, CanonicalizeUnique },
   199     { 0x0283u, 0x0283u, 0x00dau, CanonicalizeRangeHi },
   200     { 0x0284u, 0x0287u, 0x0000u, CanonicalizeUnique },
   201     { 0x0288u, 0x0288u, 0x00dau, CanonicalizeRangeHi },
   202     { 0x0289u, 0x0289u, 0x0045u, CanonicalizeRangeHi },
   203     { 0x028au, 0x028bu, 0x00d9u, CanonicalizeRangeHi },
   204     { 0x028cu, 0x028cu, 0x0047u, CanonicalizeRangeHi },
   205     { 0x028du, 0x0291u, 0x0000u, CanonicalizeUnique },
   206     { 0x0292u, 0x0292u, 0x00dbu, CanonicalizeRangeHi },
   207     { 0x0293u, 0x0344u, 0x0000u, CanonicalizeUnique },
   208     { 0x0345u, 0x0345u, 0x0007u, CanonicalizeSet },
   209     { 0x0346u, 0x036fu, 0x0000u, CanonicalizeUnique },
   210     { 0x0370u, 0x0373u, 0x0000u, CanonicalizeAlternatingAligned },
   211     { 0x0374u, 0x0375u, 0x0000u, CanonicalizeUnique },
   212     { 0x0376u, 0x0377u, 0x0000u, CanonicalizeAlternatingAligned },
   213     { 0x0378u, 0x037au, 0x0000u, CanonicalizeUnique },
   214     { 0x037bu, 0x037du, 0x0082u, CanonicalizeRangeLo },
   215     { 0x037eu, 0x0385u, 0x0000u, CanonicalizeUnique },
   216     { 0x0386u, 0x0386u, 0x0026u, CanonicalizeRangeLo },
   217     { 0x0387u, 0x0387u, 0x0000u, CanonicalizeUnique },
   218     { 0x0388u, 0x038au, 0x0025u, CanonicalizeRangeLo },
   219     { 0x038bu, 0x038bu, 0x0000u, CanonicalizeUnique },
   220     { 0x038cu, 0x038cu, 0x0040u, CanonicalizeRangeLo },
   221     { 0x038du, 0x038du, 0x0000u, CanonicalizeUnique },
   222     { 0x038eu, 0x038fu, 0x003fu, CanonicalizeRangeLo },
   223     { 0x0390u, 0x0390u, 0x0000u, CanonicalizeUnique },
   224     { 0x0391u, 0x0391u, 0x0020u, CanonicalizeRangeLo },
   225     { 0x0392u, 0x0392u, 0x0004u, CanonicalizeSet },
   226     { 0x0393u, 0x0394u, 0x0020u, CanonicalizeRangeLo },
   227     { 0x0395u, 0x0395u, 0x0005u, CanonicalizeSet },
   228     { 0x0396u, 0x0397u, 0x0020u, CanonicalizeRangeLo },
   229     { 0x0398u, 0x0398u, 0x0006u, CanonicalizeSet },
   230     { 0x0399u, 0x0399u, 0x0007u, CanonicalizeSet },
   231     { 0x039au, 0x039au, 0x0008u, CanonicalizeSet },
   232     { 0x039bu, 0x039bu, 0x0020u, CanonicalizeRangeLo },
   233     { 0x039cu, 0x039cu, 0x0009u, CanonicalizeSet },
   234     { 0x039du, 0x039fu, 0x0020u, CanonicalizeRangeLo },
   235     { 0x03a0u, 0x03a0u, 0x000au, CanonicalizeSet },
   236     { 0x03a1u, 0x03a1u, 0x000bu, CanonicalizeSet },
   237     { 0x03a2u, 0x03a2u, 0x0000u, CanonicalizeUnique },
   238     { 0x03a3u, 0x03a3u, 0x000cu, CanonicalizeSet },
   239     { 0x03a4u, 0x03a5u, 0x0020u, CanonicalizeRangeLo },
   240     { 0x03a6u, 0x03a6u, 0x000du, CanonicalizeSet },
   241     { 0x03a7u, 0x03abu, 0x0020u, CanonicalizeRangeLo },
   242     { 0x03acu, 0x03acu, 0x0026u, CanonicalizeRangeHi },
   243     { 0x03adu, 0x03afu, 0x0025u, CanonicalizeRangeHi },
   244     { 0x03b0u, 0x03b0u, 0x0000u, CanonicalizeUnique },
   245     { 0x03b1u, 0x03b1u, 0x0020u, CanonicalizeRangeHi },
   246     { 0x03b2u, 0x03b2u, 0x0004u, CanonicalizeSet },
   247     { 0x03b3u, 0x03b4u, 0x0020u, CanonicalizeRangeHi },
   248     { 0x03b5u, 0x03b5u, 0x0005u, CanonicalizeSet },
   249     { 0x03b6u, 0x03b7u, 0x0020u, CanonicalizeRangeHi },
   250     { 0x03b8u, 0x03b8u, 0x0006u, CanonicalizeSet },
   251     { 0x03b9u, 0x03b9u, 0x0007u, CanonicalizeSet },
   252     { 0x03bau, 0x03bau, 0x0008u, CanonicalizeSet },
   253     { 0x03bbu, 0x03bbu, 0x0020u, CanonicalizeRangeHi },
   254     { 0x03bcu, 0x03bcu, 0x0009u, CanonicalizeSet },
   255     { 0x03bdu, 0x03bfu, 0x0020u, CanonicalizeRangeHi },
   256     { 0x03c0u, 0x03c0u, 0x000au, CanonicalizeSet },
   257     { 0x03c1u, 0x03c1u, 0x000bu, CanonicalizeSet },
   258     { 0x03c2u, 0x03c3u, 0x000cu, CanonicalizeSet },
   259     { 0x03c4u, 0x03c5u, 0x0020u, CanonicalizeRangeHi },
   260     { 0x03c6u, 0x03c6u, 0x000du, CanonicalizeSet },
   261     { 0x03c7u, 0x03cbu, 0x0020u, CanonicalizeRangeHi },
   262     { 0x03ccu, 0x03ccu, 0x0040u, CanonicalizeRangeHi },
   263     { 0x03cdu, 0x03ceu, 0x003fu, CanonicalizeRangeHi },
   264     { 0x03cfu, 0x03cfu, 0x0008u, CanonicalizeRangeLo },
   265     { 0x03d0u, 0x03d0u, 0x0004u, CanonicalizeSet },
   266     { 0x03d1u, 0x03d1u, 0x0006u, CanonicalizeSet },
   267     { 0x03d2u, 0x03d4u, 0x0000u, CanonicalizeUnique },
   268     { 0x03d5u, 0x03d5u, 0x000du, CanonicalizeSet },
   269     { 0x03d6u, 0x03d6u, 0x000au, CanonicalizeSet },
   270     { 0x03d7u, 0x03d7u, 0x0008u, CanonicalizeRangeHi },
   271     { 0x03d8u, 0x03efu, 0x0000u, CanonicalizeAlternatingAligned },
   272     { 0x03f0u, 0x03f0u, 0x0008u, CanonicalizeSet },
   273     { 0x03f1u, 0x03f1u, 0x000bu, CanonicalizeSet },
   274     { 0x03f2u, 0x03f2u, 0x0007u, CanonicalizeRangeLo },
   275     { 0x03f3u, 0x03f4u, 0x0000u, CanonicalizeUnique },
   276     { 0x03f5u, 0x03f5u, 0x0005u, CanonicalizeSet },
   277     { 0x03f6u, 0x03f6u, 0x0000u, CanonicalizeUnique },
   278     { 0x03f7u, 0x03f8u, 0x0000u, CanonicalizeAlternatingUnaligned },
   279     { 0x03f9u, 0x03f9u, 0x0007u, CanonicalizeRangeHi },
   280     { 0x03fau, 0x03fbu, 0x0000u, CanonicalizeAlternatingAligned },
   281     { 0x03fcu, 0x03fcu, 0x0000u, CanonicalizeUnique },
   282     { 0x03fdu, 0x03ffu, 0x0082u, CanonicalizeRangeHi },
   283     { 0x0400u, 0x040fu, 0x0050u, CanonicalizeRangeLo },
   284     { 0x0410u, 0x042fu, 0x0020u, CanonicalizeRangeLo },
   285     { 0x0430u, 0x044fu, 0x0020u, CanonicalizeRangeHi },
   286     { 0x0450u, 0x045fu, 0x0050u, CanonicalizeRangeHi },
   287     { 0x0460u, 0x0481u, 0x0000u, CanonicalizeAlternatingAligned },
   288     { 0x0482u, 0x0489u, 0x0000u, CanonicalizeUnique },
   289     { 0x048au, 0x04bfu, 0x0000u, CanonicalizeAlternatingAligned },
   290     { 0x04c0u, 0x04c0u, 0x000fu, CanonicalizeRangeLo },
   291     { 0x04c1u, 0x04ceu, 0x0000u, CanonicalizeAlternatingUnaligned },
   292     { 0x04cfu, 0x04cfu, 0x000fu, CanonicalizeRangeHi },
   293     { 0x04d0u, 0x0527u, 0x0000u, CanonicalizeAlternatingAligned },
   294     { 0x0528u, 0x0530u, 0x0000u, CanonicalizeUnique },
   295     { 0x0531u, 0x0556u, 0x0030u, CanonicalizeRangeLo },
   296     { 0x0557u, 0x0560u, 0x0000u, CanonicalizeUnique },
   297     { 0x0561u, 0x0586u, 0x0030u, CanonicalizeRangeHi },
   298     { 0x0587u, 0x109fu, 0x0000u, CanonicalizeUnique },
   299     { 0x10a0u, 0x10c5u, 0x1c60u, CanonicalizeRangeLo },
   300     { 0x10c6u, 0x1d78u, 0x0000u, CanonicalizeUnique },
   301     { 0x1d79u, 0x1d79u, 0x8a04u, CanonicalizeRangeLo },
   302     { 0x1d7au, 0x1d7cu, 0x0000u, CanonicalizeUnique },
   303     { 0x1d7du, 0x1d7du, 0x0ee6u, CanonicalizeRangeLo },
   304     { 0x1d7eu, 0x1dffu, 0x0000u, CanonicalizeUnique },
   305     { 0x1e00u, 0x1e5fu, 0x0000u, CanonicalizeAlternatingAligned },
   306     { 0x1e60u, 0x1e61u, 0x000eu, CanonicalizeSet },
   307     { 0x1e62u, 0x1e95u, 0x0000u, CanonicalizeAlternatingAligned },
   308     { 0x1e96u, 0x1e9au, 0x0000u, CanonicalizeUnique },
   309     { 0x1e9bu, 0x1e9bu, 0x000eu, CanonicalizeSet },
   310     { 0x1e9cu, 0x1e9fu, 0x0000u, CanonicalizeUnique },
   311     { 0x1ea0u, 0x1effu, 0x0000u, CanonicalizeAlternatingAligned },
   312     { 0x1f00u, 0x1f07u, 0x0008u, CanonicalizeRangeLo },
   313     { 0x1f08u, 0x1f0fu, 0x0008u, CanonicalizeRangeHi },
   314     { 0x1f10u, 0x1f15u, 0x0008u, CanonicalizeRangeLo },
   315     { 0x1f16u, 0x1f17u, 0x0000u, CanonicalizeUnique },
   316     { 0x1f18u, 0x1f1du, 0x0008u, CanonicalizeRangeHi },
   317     { 0x1f1eu, 0x1f1fu, 0x0000u, CanonicalizeUnique },
   318     { 0x1f20u, 0x1f27u, 0x0008u, CanonicalizeRangeLo },
   319     { 0x1f28u, 0x1f2fu, 0x0008u, CanonicalizeRangeHi },
   320     { 0x1f30u, 0x1f37u, 0x0008u, CanonicalizeRangeLo },
   321     { 0x1f38u, 0x1f3fu, 0x0008u, CanonicalizeRangeHi },
   322     { 0x1f40u, 0x1f45u, 0x0008u, CanonicalizeRangeLo },
   323     { 0x1f46u, 0x1f47u, 0x0000u, CanonicalizeUnique },
   324     { 0x1f48u, 0x1f4du, 0x0008u, CanonicalizeRangeHi },
   325     { 0x1f4eu, 0x1f50u, 0x0000u, CanonicalizeUnique },
   326     { 0x1f51u, 0x1f51u, 0x0008u, CanonicalizeRangeLo },
   327     { 0x1f52u, 0x1f52u, 0x0000u, CanonicalizeUnique },
   328     { 0x1f53u, 0x1f53u, 0x0008u, CanonicalizeRangeLo },
   329     { 0x1f54u, 0x1f54u, 0x0000u, CanonicalizeUnique },
   330     { 0x1f55u, 0x1f55u, 0x0008u, CanonicalizeRangeLo },
   331     { 0x1f56u, 0x1f56u, 0x0000u, CanonicalizeUnique },
   332     { 0x1f57u, 0x1f57u, 0x0008u, CanonicalizeRangeLo },
   333     { 0x1f58u, 0x1f58u, 0x0000u, CanonicalizeUnique },
   334     { 0x1f59u, 0x1f59u, 0x0008u, CanonicalizeRangeHi },
   335     { 0x1f5au, 0x1f5au, 0x0000u, CanonicalizeUnique },
   336     { 0x1f5bu, 0x1f5bu, 0x0008u, CanonicalizeRangeHi },
   337     { 0x1f5cu, 0x1f5cu, 0x0000u, CanonicalizeUnique },
   338     { 0x1f5du, 0x1f5du, 0x0008u, CanonicalizeRangeHi },
   339     { 0x1f5eu, 0x1f5eu, 0x0000u, CanonicalizeUnique },
   340     { 0x1f5fu, 0x1f5fu, 0x0008u, CanonicalizeRangeHi },
   341     { 0x1f60u, 0x1f67u, 0x0008u, CanonicalizeRangeLo },
   342     { 0x1f68u, 0x1f6fu, 0x0008u, CanonicalizeRangeHi },
   343     { 0x1f70u, 0x1f71u, 0x004au, CanonicalizeRangeLo },
   344     { 0x1f72u, 0x1f75u, 0x0056u, CanonicalizeRangeLo },
   345     { 0x1f76u, 0x1f77u, 0x0064u, CanonicalizeRangeLo },
   346     { 0x1f78u, 0x1f79u, 0x0080u, CanonicalizeRangeLo },
   347     { 0x1f7au, 0x1f7bu, 0x0070u, CanonicalizeRangeLo },
   348     { 0x1f7cu, 0x1f7du, 0x007eu, CanonicalizeRangeLo },
   349     { 0x1f7eu, 0x1fafu, 0x0000u, CanonicalizeUnique },
   350     { 0x1fb0u, 0x1fb1u, 0x0008u, CanonicalizeRangeLo },
   351     { 0x1fb2u, 0x1fb7u, 0x0000u, CanonicalizeUnique },
   352     { 0x1fb8u, 0x1fb9u, 0x0008u, CanonicalizeRangeHi },
   353     { 0x1fbau, 0x1fbbu, 0x004au, CanonicalizeRangeHi },
   354     { 0x1fbcu, 0x1fbdu, 0x0000u, CanonicalizeUnique },
   355     { 0x1fbeu, 0x1fbeu, 0x0007u, CanonicalizeSet },
   356     { 0x1fbfu, 0x1fc7u, 0x0000u, CanonicalizeUnique },
   357     { 0x1fc8u, 0x1fcbu, 0x0056u, CanonicalizeRangeHi },
   358     { 0x1fccu, 0x1fcfu, 0x0000u, CanonicalizeUnique },
   359     { 0x1fd0u, 0x1fd1u, 0x0008u, CanonicalizeRangeLo },
   360     { 0x1fd2u, 0x1fd7u, 0x0000u, CanonicalizeUnique },
   361     { 0x1fd8u, 0x1fd9u, 0x0008u, CanonicalizeRangeHi },
   362     { 0x1fdau, 0x1fdbu, 0x0064u, CanonicalizeRangeHi },
   363     { 0x1fdcu, 0x1fdfu, 0x0000u, CanonicalizeUnique },
   364     { 0x1fe0u, 0x1fe1u, 0x0008u, CanonicalizeRangeLo },
   365     { 0x1fe2u, 0x1fe4u, 0x0000u, CanonicalizeUnique },
   366     { 0x1fe5u, 0x1fe5u, 0x0007u, CanonicalizeRangeLo },
   367     { 0x1fe6u, 0x1fe7u, 0x0000u, CanonicalizeUnique },
   368     { 0x1fe8u, 0x1fe9u, 0x0008u, CanonicalizeRangeHi },
   369     { 0x1feau, 0x1febu, 0x0070u, CanonicalizeRangeHi },
   370     { 0x1fecu, 0x1fecu, 0x0007u, CanonicalizeRangeHi },
   371     { 0x1fedu, 0x1ff7u, 0x0000u, CanonicalizeUnique },
   372     { 0x1ff8u, 0x1ff9u, 0x0080u, CanonicalizeRangeHi },
   373     { 0x1ffau, 0x1ffbu, 0x007eu, CanonicalizeRangeHi },
   374     { 0x1ffcu, 0x2131u, 0x0000u, CanonicalizeUnique },
   375     { 0x2132u, 0x2132u, 0x001cu, CanonicalizeRangeLo },
   376     { 0x2133u, 0x214du, 0x0000u, CanonicalizeUnique },
   377     { 0x214eu, 0x214eu, 0x001cu, CanonicalizeRangeHi },
   378     { 0x214fu, 0x215fu, 0x0000u, CanonicalizeUnique },
   379     { 0x2160u, 0x216fu, 0x0010u, CanonicalizeRangeLo },
   380     { 0x2170u, 0x217fu, 0x0010u, CanonicalizeRangeHi },
   381     { 0x2180u, 0x2182u, 0x0000u, CanonicalizeUnique },
   382     { 0x2183u, 0x2184u, 0x0000u, CanonicalizeAlternatingUnaligned },
   383     { 0x2185u, 0x24b5u, 0x0000u, CanonicalizeUnique },
   384     { 0x24b6u, 0x24cfu, 0x001au, CanonicalizeRangeLo },
   385     { 0x24d0u, 0x24e9u, 0x001au, CanonicalizeRangeHi },
   386     { 0x24eau, 0x2bffu, 0x0000u, CanonicalizeUnique },
   387     { 0x2c00u, 0x2c2eu, 0x0030u, CanonicalizeRangeLo },
   388     { 0x2c2fu, 0x2c2fu, 0x0000u, CanonicalizeUnique },
   389     { 0x2c30u, 0x2c5eu, 0x0030u, CanonicalizeRangeHi },
   390     { 0x2c5fu, 0x2c5fu, 0x0000u, CanonicalizeUnique },
   391     { 0x2c60u, 0x2c61u, 0x0000u, CanonicalizeAlternatingAligned },
   392     { 0x2c62u, 0x2c62u, 0x29f7u, CanonicalizeRangeHi },
   393     { 0x2c63u, 0x2c63u, 0x0ee6u, CanonicalizeRangeHi },
   394     { 0x2c64u, 0x2c64u, 0x29e7u, CanonicalizeRangeHi },
   395     { 0x2c65u, 0x2c65u, 0x2a2bu, CanonicalizeRangeHi },
   396     { 0x2c66u, 0x2c66u, 0x2a28u, CanonicalizeRangeHi },
   397     { 0x2c67u, 0x2c6cu, 0x0000u, CanonicalizeAlternatingUnaligned },
   398     { 0x2c6du, 0x2c6du, 0x2a1cu, CanonicalizeRangeHi },
   399     { 0x2c6eu, 0x2c6eu, 0x29fdu, CanonicalizeRangeHi },
   400     { 0x2c6fu, 0x2c6fu, 0x2a1fu, CanonicalizeRangeHi },
   401     { 0x2c70u, 0x2c70u, 0x2a1eu, CanonicalizeRangeHi },
   402     { 0x2c71u, 0x2c71u, 0x0000u, CanonicalizeUnique },
   403     { 0x2c72u, 0x2c73u, 0x0000u, CanonicalizeAlternatingAligned },
   404     { 0x2c74u, 0x2c74u, 0x0000u, CanonicalizeUnique },
   405     { 0x2c75u, 0x2c76u, 0x0000u, CanonicalizeAlternatingUnaligned },
   406     { 0x2c77u, 0x2c7du, 0x0000u, CanonicalizeUnique },
   407     { 0x2c7eu, 0x2c7fu, 0x2a3fu, CanonicalizeRangeHi },
   408     { 0x2c80u, 0x2ce3u, 0x0000u, CanonicalizeAlternatingAligned },
   409     { 0x2ce4u, 0x2ceau, 0x0000u, CanonicalizeUnique },
   410     { 0x2cebu, 0x2ceeu, 0x0000u, CanonicalizeAlternatingUnaligned },
   411     { 0x2cefu, 0x2cffu, 0x0000u, CanonicalizeUnique },
   412     { 0x2d00u, 0x2d25u, 0x1c60u, CanonicalizeRangeHi },
   413     { 0x2d26u, 0xa63fu, 0x0000u, CanonicalizeUnique },
   414     { 0xa640u, 0xa66du, 0x0000u, CanonicalizeAlternatingAligned },
   415     { 0xa66eu, 0xa67fu, 0x0000u, CanonicalizeUnique },
   416     { 0xa680u, 0xa697u, 0x0000u, CanonicalizeAlternatingAligned },
   417     { 0xa698u, 0xa721u, 0x0000u, CanonicalizeUnique },
   418     { 0xa722u, 0xa72fu, 0x0000u, CanonicalizeAlternatingAligned },
   419     { 0xa730u, 0xa731u, 0x0000u, CanonicalizeUnique },
   420     { 0xa732u, 0xa76fu, 0x0000u, CanonicalizeAlternatingAligned },
   421     { 0xa770u, 0xa778u, 0x0000u, CanonicalizeUnique },
   422     { 0xa779u, 0xa77cu, 0x0000u, CanonicalizeAlternatingUnaligned },
   423     { 0xa77du, 0xa77du, 0x8a04u, CanonicalizeRangeHi },
   424     { 0xa77eu, 0xa787u, 0x0000u, CanonicalizeAlternatingAligned },
   425     { 0xa788u, 0xa78au, 0x0000u, CanonicalizeUnique },
   426     { 0xa78bu, 0xa78cu, 0x0000u, CanonicalizeAlternatingUnaligned },
   427     { 0xa78du, 0xa78du, 0xa528u, CanonicalizeRangeHi },
   428     { 0xa78eu, 0xa78fu, 0x0000u, CanonicalizeUnique },
   429     { 0xa790u, 0xa791u, 0x0000u, CanonicalizeAlternatingAligned },
   430     { 0xa792u, 0xa79fu, 0x0000u, CanonicalizeUnique },
   431     { 0xa7a0u, 0xa7a9u, 0x0000u, CanonicalizeAlternatingAligned },
   432     { 0xa7aau, 0xff20u, 0x0000u, CanonicalizeUnique },
   433     { 0xff21u, 0xff3au, 0x0020u, CanonicalizeRangeLo },
   434     { 0xff3bu, 0xff40u, 0x0000u, CanonicalizeUnique },
   435     { 0xff41u, 0xff5au, 0x0020u, CanonicalizeRangeHi },
   436     { 0xff5bu, 0xffffu, 0x0000u, CanonicalizeUnique },
   437 };
   439 const size_t LATIN_CANONICALIZATION_RANGES = 20;
   440 const LatinCanonicalizationRange latinRangeInfo[LATIN_CANONICALIZATION_RANGES] = {
   441     { 0x0000u, 0x0040u, 0x0000u, CanonicalizeLatinSelf },
   442     { 0x0041u, 0x005au, 0x0000u, CanonicalizeLatinMask0x20 },
   443     { 0x005bu, 0x0060u, 0x0000u, CanonicalizeLatinSelf },
   444     { 0x0061u, 0x007au, 0x0000u, CanonicalizeLatinMask0x20 },
   445     { 0x007bu, 0x00bfu, 0x0000u, CanonicalizeLatinSelf },
   446     { 0x00c0u, 0x00d6u, 0x0000u, CanonicalizeLatinMask0x20 },
   447     { 0x00d7u, 0x00d7u, 0x0000u, CanonicalizeLatinSelf },
   448     { 0x00d8u, 0x00deu, 0x0000u, CanonicalizeLatinMask0x20 },
   449     { 0x00dfu, 0x00dfu, 0x0000u, CanonicalizeLatinSelf },
   450     { 0x00e0u, 0x00f6u, 0x0000u, CanonicalizeLatinMask0x20 },
   451     { 0x00f7u, 0x00f7u, 0x0000u, CanonicalizeLatinSelf },
   452     { 0x00f8u, 0x00feu, 0x0000u, CanonicalizeLatinMask0x20 },
   453     { 0x00ffu, 0x00ffu, 0x0000u, CanonicalizeLatinSelf },
   454     { 0x0100u, 0x0177u, 0x0000u, CanonicalizeLatinInvalid },
   455     { 0x0178u, 0x0178u, 0x00ffu, CanonicalizeLatinOther },
   456     { 0x0179u, 0x039bu, 0x0000u, CanonicalizeLatinInvalid },
   457     { 0x039cu, 0x039cu, 0x00b5u, CanonicalizeLatinOther },
   458     { 0x039du, 0x03bbu, 0x0000u, CanonicalizeLatinInvalid },
   459     { 0x03bcu, 0x03bcu, 0x00b5u, CanonicalizeLatinOther },
   460     { 0x03bdu, 0xffffu, 0x0000u, CanonicalizeLatinInvalid },
   461 };
   463 } } // JSC::Yarr

mercurial