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  * This Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this
5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 
7 /* Generated by make_unicode.py DO NOT MODIFY */
8 /* Unicode version: 10.0.0 */
9 
10 #ifndef util_UnicodeNonBMP_h
11 #define util_UnicodeNonBMP_h
12 
13 // |MACRO| receives the following arguments
14 //   MACRO(FROM, TO, LEAD, TRAIL_FROM, TRAIL_TO, DIFF)
15 //     FROM:       code point where the range starts
16 //     TO:         code point where the range ends
17 //     LEAD:       common lead surrogate of FROM and TO
18 //     TRAIL_FROM: trail surrogate of FROM
19 //     TRAIL_FROM: trail surrogate of TO
20 //     DIFF:       the difference between the code point in the range and
21 //                 converted code point
22 
23 // U+10400 DESERET CAPITAL LETTER LONG I .. U+10427 DESERET CAPITAL LETTER EW
24 // U+104B0 OSAGE CAPITAL LETTER A .. U+104D3 OSAGE CAPITAL LETTER ZHA
25 // U+10C80 OLD HUNGARIAN CAPITAL LETTER A .. U+10CB2 OLD HUNGARIAN CAPITAL LETTER US
26 // U+118A0 WARANG CITI CAPITAL LETTER NGAA .. U+118BF WARANG CITI CAPITAL LETTER VIYO
27 // U+1E900 ADLAM CAPITAL LETTER ALIF .. U+1E921 ADLAM CAPITAL LETTER SHA
28 #define FOR_EACH_NON_BMP_LOWERCASE(MACRO) \
29     MACRO(0x10400, 0x10427, 0xd801, 0xdc00, 0xdc27, 40) \
30     MACRO(0x104b0, 0x104d3, 0xd801, 0xdcb0, 0xdcd3, 40) \
31     MACRO(0x10c80, 0x10cb2, 0xd803, 0xdc80, 0xdcb2, 64) \
32     MACRO(0x118a0, 0x118bf, 0xd806, 0xdca0, 0xdcbf, 32) \
33     MACRO(0x1e900, 0x1e921, 0xd83a, 0xdd00, 0xdd21, 34)
34 
35 // U+10428 DESERET SMALL LETTER LONG I .. U+1044F DESERET SMALL LETTER EW
36 // U+104D8 OSAGE SMALL LETTER A .. U+104FB OSAGE SMALL LETTER ZHA
37 // U+10CC0 OLD HUNGARIAN SMALL LETTER A .. U+10CF2 OLD HUNGARIAN SMALL LETTER US
38 // U+118C0 WARANG CITI SMALL LETTER NGAA .. U+118DF WARANG CITI SMALL LETTER VIYO
39 // U+1E922 ADLAM SMALL LETTER ALIF .. U+1E943 ADLAM SMALL LETTER SHA
40 #define FOR_EACH_NON_BMP_UPPERCASE(MACRO) \
41     MACRO(0x10428, 0x1044f, 0xd801, 0xdc28, 0xdc4f, -40) \
42     MACRO(0x104d8, 0x104fb, 0xd801, 0xdcd8, 0xdcfb, -40) \
43     MACRO(0x10cc0, 0x10cf2, 0xd803, 0xdcc0, 0xdcf2, -64) \
44     MACRO(0x118c0, 0x118df, 0xd806, 0xdcc0, 0xdcdf, -32) \
45     MACRO(0x1e922, 0x1e943, 0xd83a, 0xdd22, 0xdd43, -34)
46 
47 // U+10400 DESERET CAPITAL LETTER LONG I .. U+10427 DESERET CAPITAL LETTER EW
48 // U+104B0 OSAGE CAPITAL LETTER A .. U+104D3 OSAGE CAPITAL LETTER ZHA
49 // U+10C80 OLD HUNGARIAN CAPITAL LETTER A .. U+10CB2 OLD HUNGARIAN CAPITAL LETTER US
50 // U+118A0 WARANG CITI CAPITAL LETTER NGAA .. U+118BF WARANG CITI CAPITAL LETTER VIYO
51 // U+1E900 ADLAM CAPITAL LETTER ALIF .. U+1E921 ADLAM CAPITAL LETTER SHA
52 #define FOR_EACH_NON_BMP_CASE_FOLDING(MACRO) \
53     MACRO(0x10400, 0x10427, 0xd801, 0xdc00, 0xdc27, 40) \
54     MACRO(0x104b0, 0x104d3, 0xd801, 0xdcb0, 0xdcd3, 40) \
55     MACRO(0x10c80, 0x10cb2, 0xd803, 0xdc80, 0xdcb2, 64) \
56     MACRO(0x118a0, 0x118bf, 0xd806, 0xdca0, 0xdcbf, 32) \
57     MACRO(0x1e900, 0x1e921, 0xd83a, 0xdd00, 0xdd21, 34)
58 
59 // U+10428 DESERET SMALL LETTER LONG I .. U+1044F DESERET SMALL LETTER EW
60 // U+104D8 OSAGE SMALL LETTER A .. U+104FB OSAGE SMALL LETTER ZHA
61 // U+10CC0 OLD HUNGARIAN SMALL LETTER A .. U+10CF2 OLD HUNGARIAN SMALL LETTER US
62 // U+118C0 WARANG CITI SMALL LETTER NGAA .. U+118DF WARANG CITI SMALL LETTER VIYO
63 // U+1E922 ADLAM SMALL LETTER ALIF .. U+1E943 ADLAM SMALL LETTER SHA
64 #define FOR_EACH_NON_BMP_REV_CASE_FOLDING(MACRO) \
65     MACRO(0x10428, 0x1044f, 0xd801, 0xdc28, 0xdc4f, -40) \
66     MACRO(0x104d8, 0x104fb, 0xd801, 0xdcd8, 0xdcfb, -40) \
67     MACRO(0x10cc0, 0x10cf2, 0xd803, 0xdcc0, 0xdcf2, -64) \
68     MACRO(0x118c0, 0x118df, 0xd806, 0xdcc0, 0xdcdf, -32) \
69     MACRO(0x1e922, 0x1e943, 0xd83a, 0xdd22, 0xdd43, -34)
70 
71 #endif /* util_UnicodeNonBMP_h */
72