Fossil SCM

Update internal Unicode character tables, used in regular expression handling, from version 9.0 to 10.0.

jan.nijtmans 2017-05-24 09:51 trunk
Commit 09bcc322f7bcf52fa001211a08d06a2f5802dbaca1dc7cfbc3d56206d2755fee
2 files changed +88 -86 +2
+88 -86
--- src/unicode.c
+++ src/unicode.c
@@ -52,103 +52,105 @@
5252
0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804, 0x00206C09,
5353
0x00209403, 0x0020A405, 0x0020C00F, 0x00216403, 0x00217801,
5454
0x00235030, 0x0024E803, 0x0024F812, 0x00254407, 0x00258804,
5555
0x0025C001, 0x00260403, 0x0026F001, 0x0026F807, 0x00271C02,
5656
0x00272C03, 0x00275C01, 0x00278802, 0x0027C802, 0x0027E802,
57
- 0x00280403, 0x0028F001, 0x0028F805, 0x00291C02, 0x00292C03,
58
- 0x00294401, 0x0029C002, 0x0029D401, 0x002A0403, 0x002AF001,
59
- 0x002AF808, 0x002B1C03, 0x002B2C03, 0x002B8802, 0x002BC002,
60
- 0x002C0403, 0x002CF001, 0x002CF807, 0x002D1C02, 0x002D2C03,
61
- 0x002D5802, 0x002D8802, 0x002DC001, 0x002E0801, 0x002EF805,
62
- 0x002F1803, 0x002F2804, 0x002F5C01, 0x002FCC08, 0x00300004,
63
- 0x0030F807, 0x00311803, 0x00312804, 0x00315402, 0x00318802,
64
- 0x0031FC01, 0x00320403, 0x0032F001, 0x0032F807, 0x00331803,
65
- 0x00332804, 0x00335402, 0x00338802, 0x00340403, 0x0034F807,
66
- 0x00351803, 0x00352804, 0x00353C01, 0x00355C01, 0x00358802,
67
- 0x0035E401, 0x00360802, 0x00372801, 0x00373C06, 0x00375801,
68
- 0x00376008, 0x0037C803, 0x0038C401, 0x0038D007, 0x0038FC01,
69
- 0x00391C09, 0x00396802, 0x003AC401, 0x003AD006, 0x003AEC02,
70
- 0x003B2006, 0x003C041F, 0x003CD00C, 0x003DC417, 0x003E340B,
71
- 0x003E6424, 0x003EF80F, 0x003F380D, 0x0040AC14, 0x00412806,
72
- 0x00415804, 0x00417803, 0x00418803, 0x00419C07, 0x0041C404,
73
- 0x0042080C, 0x00423C01, 0x00426806, 0x0043EC01, 0x004D740C,
74
- 0x004E400A, 0x00500001, 0x0059B402, 0x005A0001, 0x005A6C02,
75
- 0x005BAC03, 0x005C4803, 0x005CC805, 0x005D4802, 0x005DC802,
76
- 0x005ED023, 0x005F6004, 0x005F7401, 0x0060000F, 0x00621402,
77
- 0x0062A401, 0x0064800C, 0x0064C00C, 0x00650001, 0x00651002,
78
- 0x00677822, 0x00685C05, 0x00687802, 0x0069540A, 0x0069801D,
79
- 0x0069FC01, 0x006A8007, 0x006AA006, 0x006AC00F, 0x006C0005,
80
- 0x006CD011, 0x006D6823, 0x006E0003, 0x006E840D, 0x006F980E,
81
- 0x006FF004, 0x00709014, 0x0070EC05, 0x0071F802, 0x00730008,
82
- 0x00734019, 0x0073B401, 0x0073C803, 0x0073E002, 0x00770036,
83
- 0x0077EC05, 0x007EF401, 0x007EFC03, 0x007F3403, 0x007F7403,
84
- 0x007FB403, 0x007FF402, 0x00800065, 0x0081980A, 0x0081E805,
85
- 0x00822805, 0x0082801F, 0x00834021, 0x00840002, 0x00840C04,
86
- 0x00842002, 0x00845001, 0x00845803, 0x00847806, 0x00849401,
87
- 0x00849C01, 0x0084A401, 0x0084B801, 0x0084E802, 0x00850005,
88
- 0x00852804, 0x00853C01, 0x00862802, 0x0086426F, 0x00900027,
89
- 0x0091000B, 0x0092704E, 0x00940276, 0x009E53E0, 0x00ADD820,
90
- 0x00AE6022, 0x00AEF40C, 0x00AF2808, 0x00AFB004, 0x00B39406,
91
- 0x00B3BC03, 0x00B3E404, 0x00B3F802, 0x00B5C001, 0x00B5FC01,
92
- 0x00B7804F, 0x00B8C015, 0x00BA001A, 0x00BA6C59, 0x00BC00D6,
93
- 0x00BFC00C, 0x00C00005, 0x00C02019, 0x00C0A807, 0x00C0D802,
94
- 0x00C0F403, 0x00C26404, 0x00C28001, 0x00C3EC01, 0x00C64002,
95
- 0x00C6580A, 0x00C70024, 0x00C8001F, 0x00C8A81E, 0x00C94001,
96
- 0x00C98020, 0x00CA2827, 0x00CB003F, 0x00CC0100, 0x01370040,
97
- 0x02924037, 0x0293F802, 0x02983403, 0x0299BC10, 0x029A7802,
98
- 0x029BC008, 0x029C0017, 0x029C8002, 0x029E2402, 0x02A00801,
99
- 0x02A01801, 0x02A02C01, 0x02A08C09, 0x02A0D804, 0x02A1D004,
100
- 0x02A20002, 0x02A2D012, 0x02A33802, 0x02A38012, 0x02A3E003,
101
- 0x02A3F001, 0x02A4980A, 0x02A51C0D, 0x02A57C01, 0x02A60004,
102
- 0x02A6CC1B, 0x02A77802, 0x02A79401, 0x02A8A40E, 0x02A90C01,
103
- 0x02A93002, 0x02A97004, 0x02A9DC03, 0x02A9EC03, 0x02AAC001,
104
- 0x02AAC803, 0x02AADC02, 0x02AAF802, 0x02AB0401, 0x02AB7802,
105
- 0x02ABAC07, 0x02ABD402, 0x02AD6C01, 0x02AF8C0B, 0x03600001,
106
- 0x036DFC02, 0x036FFC02, 0x037FFC01, 0x03EC7801, 0x03ECA401,
107
- 0x03EEC810, 0x03F4F802, 0x03F7F002, 0x03F8001A, 0x03F88033,
108
- 0x03F95013, 0x03F9A004, 0x03FBFC01, 0x03FC040F, 0x03FC6807,
109
- 0x03FCEC06, 0x03FD6C0B, 0x03FF8007, 0x03FFA007, 0x03FFE405,
110
- 0x04040003, 0x0404DC09, 0x0405E411, 0x04063003, 0x0406400C,
111
- 0x04068001, 0x0407402E, 0x040B8001, 0x040DD805, 0x040E7C01,
112
- 0x040F4001, 0x0415BC01, 0x04215C01, 0x0421DC02, 0x04247C01,
113
- 0x0424FC01, 0x04280403, 0x04281402, 0x04283004, 0x0428E003,
114
- 0x0428FC01, 0x04294009, 0x0429FC01, 0x042B2001, 0x042B9402,
115
- 0x042BC007, 0x042CE407, 0x042E6404, 0x04400003, 0x0440E016,
116
- 0x0441FC04, 0x0442C012, 0x04440003, 0x04449C0E, 0x04450004,
117
- 0x0445CC03, 0x04460003, 0x0446CC0E, 0x04471409, 0x04476C01,
118
- 0x04477403, 0x0448B013, 0x044AA401, 0x044B7C0C, 0x044C0004,
119
- 0x044CF001, 0x044CF807, 0x044D1C02, 0x044D2C03, 0x044D5C01,
120
- 0x044D8802, 0x044D9807, 0x044DC005, 0x0450D412, 0x04512C05,
121
- 0x04516C01, 0x04517401, 0x0452C014, 0x04531801, 0x0456BC07,
122
- 0x0456E020, 0x04577002, 0x0458C014, 0x0459800D, 0x045AAC0D,
123
- 0x045C740F, 0x045CF004, 0x0470BC08, 0x0470E008, 0x04710405,
124
- 0x0471C002, 0x04724816, 0x0472A40E, 0x0491C005, 0x05A9B802,
125
- 0x05ABC006, 0x05ACC010, 0x05AD1002, 0x05BD442E, 0x05BE3C04,
126
- 0x06F27008, 0x074000F6, 0x07440027, 0x0744A4C0, 0x07480046,
127
- 0x074C0057, 0x075B0401, 0x075B6C01, 0x075BEC01, 0x075C5401,
128
- 0x075CD401, 0x075D3C01, 0x075DBC01, 0x075E2401, 0x075EA401,
129
- 0x075F0C01, 0x0760028C, 0x076A6C05, 0x076A840F, 0x07800007,
130
- 0x07802011, 0x07806C07, 0x07808C02, 0x07809805, 0x07A34007,
131
- 0x07A51007, 0x07A57802, 0x07BBC002, 0x07C0002C, 0x07C0C064,
132
- 0x07C2800F, 0x07C2C40F, 0x07C3040F, 0x07C34425, 0x07C4401F,
133
- 0x07C4C03C, 0x07C5C03D, 0x07C7981D, 0x07C8402C, 0x07C90009,
134
- 0x07C94002, 0x07CC03D3, 0x07DB800D, 0x07DBC007, 0x07DC0074,
135
- 0x07DE0055, 0x07E0000C, 0x07E04038, 0x07E1400A, 0x07E18028,
136
- 0x07E2401E, 0x07E4400F, 0x07E48008, 0x07E4C001, 0x07E4CC0C,
137
- 0x07E5000C, 0x07E5400F, 0x07E60012, 0x07E70001, 0x38000401,
138
- 0x38008060, 0x380400F0,
57
+ 0x0027F401, 0x00280403, 0x0028F001, 0x0028F805, 0x00291C02,
58
+ 0x00292C03, 0x00294401, 0x0029C002, 0x0029D401, 0x002A0403,
59
+ 0x002AF001, 0x002AF808, 0x002B1C03, 0x002B2C03, 0x002B8802,
60
+ 0x002BC002, 0x002BE806, 0x002C0403, 0x002CF001, 0x002CF807,
61
+ 0x002D1C02, 0x002D2C03, 0x002D5802, 0x002D8802, 0x002DC001,
62
+ 0x002E0801, 0x002EF805, 0x002F1803, 0x002F2804, 0x002F5C01,
63
+ 0x002FCC08, 0x00300004, 0x0030F807, 0x00311803, 0x00312804,
64
+ 0x00315402, 0x00318802, 0x0031FC01, 0x00320403, 0x0032F001,
65
+ 0x0032F807, 0x00331803, 0x00332804, 0x00335402, 0x00338802,
66
+ 0x00340004, 0x0034EC02, 0x0034F807, 0x00351803, 0x00352804,
67
+ 0x00353C01, 0x00355C01, 0x00358802, 0x0035E401, 0x00360802,
68
+ 0x00372801, 0x00373C06, 0x00375801, 0x00376008, 0x0037C803,
69
+ 0x0038C401, 0x0038D007, 0x0038FC01, 0x00391C09, 0x00396802,
70
+ 0x003AC401, 0x003AD006, 0x003AEC02, 0x003B2006, 0x003C041F,
71
+ 0x003CD00C, 0x003DC417, 0x003E340B, 0x003E6424, 0x003EF80F,
72
+ 0x003F380D, 0x0040AC14, 0x00412806, 0x00415804, 0x00417803,
73
+ 0x00418803, 0x00419C07, 0x0041C404, 0x0042080C, 0x00423C01,
74
+ 0x00426806, 0x0043EC01, 0x004D740C, 0x004E400A, 0x00500001,
75
+ 0x0059B402, 0x005A0001, 0x005A6C02, 0x005BAC03, 0x005C4803,
76
+ 0x005CC805, 0x005D4802, 0x005DC802, 0x005ED023, 0x005F6004,
77
+ 0x005F7401, 0x0060000F, 0x00621402, 0x0062A401, 0x0064800C,
78
+ 0x0064C00C, 0x00650001, 0x00651002, 0x00677822, 0x00685C05,
79
+ 0x00687802, 0x0069540A, 0x0069801D, 0x0069FC01, 0x006A8007,
80
+ 0x006AA006, 0x006AC00F, 0x006C0005, 0x006CD011, 0x006D6823,
81
+ 0x006E0003, 0x006E840D, 0x006F980E, 0x006FF004, 0x00709014,
82
+ 0x0070EC05, 0x0071F802, 0x00730008, 0x00734019, 0x0073B401,
83
+ 0x0073C803, 0x0073DC03, 0x0077003A, 0x0077EC05, 0x007EF401,
84
+ 0x007EFC03, 0x007F3403, 0x007F7403, 0x007FB403, 0x007FF402,
85
+ 0x00800065, 0x0081980A, 0x0081E805, 0x00822805, 0x00828020,
86
+ 0x00834021, 0x00840002, 0x00840C04, 0x00842002, 0x00845001,
87
+ 0x00845803, 0x00847806, 0x00849401, 0x00849C01, 0x0084A401,
88
+ 0x0084B801, 0x0084E802, 0x00850005, 0x00852804, 0x00853C01,
89
+ 0x00862802, 0x00864297, 0x0091000B, 0x0092704E, 0x00940276,
90
+ 0x009E53E0, 0x00ADD820, 0x00AE6022, 0x00AEF40C, 0x00AF2809,
91
+ 0x00AFB004, 0x00B39406, 0x00B3BC03, 0x00B3E404, 0x00B3F802,
92
+ 0x00B5C001, 0x00B5FC01, 0x00B7804F, 0x00B8C01A, 0x00BA001A,
93
+ 0x00BA6C59, 0x00BC00D6, 0x00BFC00C, 0x00C00005, 0x00C02019,
94
+ 0x00C0A807, 0x00C0D802, 0x00C0F403, 0x00C26404, 0x00C28001,
95
+ 0x00C3EC01, 0x00C64002, 0x00C6580A, 0x00C70024, 0x00C8001F,
96
+ 0x00C8A81E, 0x00C94001, 0x00C98020, 0x00CA2827, 0x00CB003F,
97
+ 0x00CC0100, 0x01370040, 0x02924037, 0x0293F802, 0x02983403,
98
+ 0x0299BC10, 0x029A7802, 0x029BC008, 0x029C0017, 0x029C8002,
99
+ 0x029E2402, 0x02A00801, 0x02A01801, 0x02A02C01, 0x02A08C09,
100
+ 0x02A0D804, 0x02A1D004, 0x02A20002, 0x02A2D012, 0x02A33802,
101
+ 0x02A38012, 0x02A3E003, 0x02A3F001, 0x02A4980A, 0x02A51C0D,
102
+ 0x02A57C01, 0x02A60004, 0x02A6CC1B, 0x02A77802, 0x02A79401,
103
+ 0x02A8A40E, 0x02A90C01, 0x02A93002, 0x02A97004, 0x02A9DC03,
104
+ 0x02A9EC03, 0x02AAC001, 0x02AAC803, 0x02AADC02, 0x02AAF802,
105
+ 0x02AB0401, 0x02AB7802, 0x02ABAC07, 0x02ABD402, 0x02AD6C01,
106
+ 0x02AF8C0B, 0x03600001, 0x036DFC02, 0x036FFC02, 0x037FFC01,
107
+ 0x03EC7801, 0x03ECA401, 0x03EEC810, 0x03F4F802, 0x03F7F002,
108
+ 0x03F8001A, 0x03F88033, 0x03F95013, 0x03F9A004, 0x03FBFC01,
109
+ 0x03FC040F, 0x03FC6807, 0x03FCEC06, 0x03FD6C0B, 0x03FF8007,
110
+ 0x03FFA007, 0x03FFE405, 0x04040003, 0x0404DC09, 0x0405E411,
111
+ 0x04063003, 0x0406400C, 0x04068001, 0x0407402E, 0x040B8001,
112
+ 0x040DD805, 0x040E7C01, 0x040F4001, 0x0415BC01, 0x04215C01,
113
+ 0x0421DC02, 0x04247C01, 0x0424FC01, 0x04280403, 0x04281402,
114
+ 0x04283004, 0x0428E003, 0x0428FC01, 0x04294009, 0x0429FC01,
115
+ 0x042B2001, 0x042B9402, 0x042BC007, 0x042CE407, 0x042E6404,
116
+ 0x04400003, 0x0440E016, 0x0441FC04, 0x0442C012, 0x04440003,
117
+ 0x04449C0E, 0x04450004, 0x0445CC03, 0x04460003, 0x0446CC0E,
118
+ 0x04471409, 0x04476C01, 0x04477403, 0x0448B013, 0x044AA401,
119
+ 0x044B7C0C, 0x044C0004, 0x044CF001, 0x044CF807, 0x044D1C02,
120
+ 0x044D2C03, 0x044D5C01, 0x044D8802, 0x044D9807, 0x044DC005,
121
+ 0x0450D412, 0x04512C05, 0x04516C01, 0x04517401, 0x0452C014,
122
+ 0x04531801, 0x0456BC07, 0x0456E020, 0x04577002, 0x0458C014,
123
+ 0x0459800D, 0x045AAC0D, 0x045C740F, 0x045CF004, 0x0468040A,
124
+ 0x0468CC07, 0x0468EC0D, 0x0469440B, 0x046A2813, 0x046A7805,
125
+ 0x0470BC08, 0x0470E008, 0x04710405, 0x0471C002, 0x04724816,
126
+ 0x0472A40E, 0x0474C406, 0x0474E801, 0x0474F002, 0x0474FC07,
127
+ 0x04751C01, 0x0491C005, 0x05A9B802, 0x05ABC006, 0x05ACC010,
128
+ 0x05AD1002, 0x05BD442E, 0x05BE3C04, 0x06F27008, 0x074000F6,
129
+ 0x07440027, 0x0744A4C0, 0x07480046, 0x074C0057, 0x075B0401,
130
+ 0x075B6C01, 0x075BEC01, 0x075C5401, 0x075CD401, 0x075D3C01,
131
+ 0x075DBC01, 0x075E2401, 0x075EA401, 0x075F0C01, 0x0760028C,
132
+ 0x076A6C05, 0x076A840F, 0x07800007, 0x07802011, 0x07806C07,
133
+ 0x07808C02, 0x07809805, 0x07A34007, 0x07A51007, 0x07A57802,
134
+ 0x07BBC002, 0x07C0002C, 0x07C0C064, 0x07C2800F, 0x07C2C40F,
135
+ 0x07C3040F, 0x07C34425, 0x07C4401F, 0x07C4C03C, 0x07C5C03D,
136
+ 0x07C7981D, 0x07C8402C, 0x07C90009, 0x07C94002, 0x07C98006,
137
+ 0x07CC03D5, 0x07DB800D, 0x07DBC009, 0x07DC0074, 0x07DE0055,
138
+ 0x07E0000C, 0x07E04038, 0x07E1400A, 0x07E18028, 0x07E2401E,
139
+ 0x07E4000C, 0x07E4402F, 0x07E5000D, 0x07E5401C, 0x07E60018,
140
+ 0x07E70001, 0x07E74017, 0x38000401, 0x38008060, 0x380400F0,
139141
};
140142
static const unsigned int aAscii[4] = {
141143
0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001,
142144
};
143145
144146
if( (unsigned int)c<128 ){
145
- return ( (aAscii[c >> 5] & (1 << (c & 0x001F)))==0 );
147
+ return ( (aAscii[c >> 5] & ((unsigned int)1 << (c & 0x001F)))==0 );
146148
}else if( (unsigned int)c<(1<<22) ){
147149
unsigned int key = (((unsigned int)c)<<10) | 0x000003FF;
148150
int iRes = 0;
149
- int iHi = count(aEntry) - 1;
151
+ int iHi = sizeof(aEntry)/sizeof(aEntry[0]) - 1;
150152
int iLo = 0;
151153
while( iHi>=iLo ){
152154
int iTest = (iHi + iLo) / 2;
153155
if( key >= aEntry[iTest] ){
154156
iRes = iTest;
@@ -201,11 +203,11 @@
201203
'e', 'i', 'o', 'u', 'y',
202204
};
203205
204206
unsigned int key = (((unsigned int)c)<<3) | 0x00000007;
205207
int iRes = 0;
206
- int iHi = count(aDia) - 1;
208
+ int iHi = sizeof(aDia)/sizeof(aDia[0]) - 1;
207209
int iLo = 0;
208210
while( iHi>=iLo ){
209211
int iTest = (iHi + iLo) / 2;
210212
if( key >= aDia[iTest] ){
211213
iRes = iTest;
@@ -348,11 +350,11 @@
348350
349351
if( c<128 ){
350352
if( c>='A' && c<='Z' ) ret = c + ('a' - 'A');
351353
}else if( c<65536 ){
352354
const struct TableEntry *p;
353
- int iHi = count(aEntry) - 1;
355
+ int iHi = sizeof(aEntry)/sizeof(aEntry[0]) - 1;
354356
int iLo = 0;
355357
int iRes = -1;
356358
357359
assert( c>aEntry[0].iCode );
358360
while( iHi>=iLo ){
359361
--- src/unicode.c
+++ src/unicode.c
@@ -52,103 +52,105 @@
52 0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804, 0x00206C09,
53 0x00209403, 0x0020A405, 0x0020C00F, 0x00216403, 0x00217801,
54 0x00235030, 0x0024E803, 0x0024F812, 0x00254407, 0x00258804,
55 0x0025C001, 0x00260403, 0x0026F001, 0x0026F807, 0x00271C02,
56 0x00272C03, 0x00275C01, 0x00278802, 0x0027C802, 0x0027E802,
57 0x00280403, 0x0028F001, 0x0028F805, 0x00291C02, 0x00292C03,
58 0x00294401, 0x0029C002, 0x0029D401, 0x002A0403, 0x002AF001,
59 0x002AF808, 0x002B1C03, 0x002B2C03, 0x002B8802, 0x002BC002,
60 0x002C0403, 0x002CF001, 0x002CF807, 0x002D1C02, 0x002D2C03,
61 0x002D5802, 0x002D8802, 0x002DC001, 0x002E0801, 0x002EF805,
62 0x002F1803, 0x002F2804, 0x002F5C01, 0x002FCC08, 0x00300004,
63 0x0030F807, 0x00311803, 0x00312804, 0x00315402, 0x00318802,
64 0x0031FC01, 0x00320403, 0x0032F001, 0x0032F807, 0x00331803,
65 0x00332804, 0x00335402, 0x00338802, 0x00340403, 0x0034F807,
66 0x00351803, 0x00352804, 0x00353C01, 0x00355C01, 0x00358802,
67 0x0035E401, 0x00360802, 0x00372801, 0x00373C06, 0x00375801,
68 0x00376008, 0x0037C803, 0x0038C401, 0x0038D007, 0x0038FC01,
69 0x00391C09, 0x00396802, 0x003AC401, 0x003AD006, 0x003AEC02,
70 0x003B2006, 0x003C041F, 0x003CD00C, 0x003DC417, 0x003E340B,
71 0x003E6424, 0x003EF80F, 0x003F380D, 0x0040AC14, 0x00412806,
72 0x00415804, 0x00417803, 0x00418803, 0x00419C07, 0x0041C404,
73 0x0042080C, 0x00423C01, 0x00426806, 0x0043EC01, 0x004D740C,
74 0x004E400A, 0x00500001, 0x0059B402, 0x005A0001, 0x005A6C02,
75 0x005BAC03, 0x005C4803, 0x005CC805, 0x005D4802, 0x005DC802,
76 0x005ED023, 0x005F6004, 0x005F7401, 0x0060000F, 0x00621402,
77 0x0062A401, 0x0064800C, 0x0064C00C, 0x00650001, 0x00651002,
78 0x00677822, 0x00685C05, 0x00687802, 0x0069540A, 0x0069801D,
79 0x0069FC01, 0x006A8007, 0x006AA006, 0x006AC00F, 0x006C0005,
80 0x006CD011, 0x006D6823, 0x006E0003, 0x006E840D, 0x006F980E,
81 0x006FF004, 0x00709014, 0x0070EC05, 0x0071F802, 0x00730008,
82 0x00734019, 0x0073B401, 0x0073C803, 0x0073E002, 0x00770036,
83 0x0077EC05, 0x007EF401, 0x007EFC03, 0x007F3403, 0x007F7403,
84 0x007FB403, 0x007FF402, 0x00800065, 0x0081980A, 0x0081E805,
85 0x00822805, 0x0082801F, 0x00834021, 0x00840002, 0x00840C04,
86 0x00842002, 0x00845001, 0x00845803, 0x00847806, 0x00849401,
87 0x00849C01, 0x0084A401, 0x0084B801, 0x0084E802, 0x00850005,
88 0x00852804, 0x00853C01, 0x00862802, 0x0086426F, 0x00900027,
89 0x0091000B, 0x0092704E, 0x00940276, 0x009E53E0, 0x00ADD820,
90 0x00AE6022, 0x00AEF40C, 0x00AF2808, 0x00AFB004, 0x00B39406,
91 0x00B3BC03, 0x00B3E404, 0x00B3F802, 0x00B5C001, 0x00B5FC01,
92 0x00B7804F, 0x00B8C015, 0x00BA001A, 0x00BA6C59, 0x00BC00D6,
93 0x00BFC00C, 0x00C00005, 0x00C02019, 0x00C0A807, 0x00C0D802,
94 0x00C0F403, 0x00C26404, 0x00C28001, 0x00C3EC01, 0x00C64002,
95 0x00C6580A, 0x00C70024, 0x00C8001F, 0x00C8A81E, 0x00C94001,
96 0x00C98020, 0x00CA2827, 0x00CB003F, 0x00CC0100, 0x01370040,
97 0x02924037, 0x0293F802, 0x02983403, 0x0299BC10, 0x029A7802,
98 0x029BC008, 0x029C0017, 0x029C8002, 0x029E2402, 0x02A00801,
99 0x02A01801, 0x02A02C01, 0x02A08C09, 0x02A0D804, 0x02A1D004,
100 0x02A20002, 0x02A2D012, 0x02A33802, 0x02A38012, 0x02A3E003,
101 0x02A3F001, 0x02A4980A, 0x02A51C0D, 0x02A57C01, 0x02A60004,
102 0x02A6CC1B, 0x02A77802, 0x02A79401, 0x02A8A40E, 0x02A90C01,
103 0x02A93002, 0x02A97004, 0x02A9DC03, 0x02A9EC03, 0x02AAC001,
104 0x02AAC803, 0x02AADC02, 0x02AAF802, 0x02AB0401, 0x02AB7802,
105 0x02ABAC07, 0x02ABD402, 0x02AD6C01, 0x02AF8C0B, 0x03600001,
106 0x036DFC02, 0x036FFC02, 0x037FFC01, 0x03EC7801, 0x03ECA401,
107 0x03EEC810, 0x03F4F802, 0x03F7F002, 0x03F8001A, 0x03F88033,
108 0x03F95013, 0x03F9A004, 0x03FBFC01, 0x03FC040F, 0x03FC6807,
109 0x03FCEC06, 0x03FD6C0B, 0x03FF8007, 0x03FFA007, 0x03FFE405,
110 0x04040003, 0x0404DC09, 0x0405E411, 0x04063003, 0x0406400C,
111 0x04068001, 0x0407402E, 0x040B8001, 0x040DD805, 0x040E7C01,
112 0x040F4001, 0x0415BC01, 0x04215C01, 0x0421DC02, 0x04247C01,
113 0x0424FC01, 0x04280403, 0x04281402, 0x04283004, 0x0428E003,
114 0x0428FC01, 0x04294009, 0x0429FC01, 0x042B2001, 0x042B9402,
115 0x042BC007, 0x042CE407, 0x042E6404, 0x04400003, 0x0440E016,
116 0x0441FC04, 0x0442C012, 0x04440003, 0x04449C0E, 0x04450004,
117 0x0445CC03, 0x04460003, 0x0446CC0E, 0x04471409, 0x04476C01,
118 0x04477403, 0x0448B013, 0x044AA401, 0x044B7C0C, 0x044C0004,
119 0x044CF001, 0x044CF807, 0x044D1C02, 0x044D2C03, 0x044D5C01,
120 0x044D8802, 0x044D9807, 0x044DC005, 0x0450D412, 0x04512C05,
121 0x04516C01, 0x04517401, 0x0452C014, 0x04531801, 0x0456BC07,
122 0x0456E020, 0x04577002, 0x0458C014, 0x0459800D, 0x045AAC0D,
123 0x045C740F, 0x045CF004, 0x0470BC08, 0x0470E008, 0x04710405,
124 0x0471C002, 0x04724816, 0x0472A40E, 0x0491C005, 0x05A9B802,
125 0x05ABC006, 0x05ACC010, 0x05AD1002, 0x05BD442E, 0x05BE3C04,
126 0x06F27008, 0x074000F6, 0x07440027, 0x0744A4C0, 0x07480046,
127 0x074C0057, 0x075B0401, 0x075B6C01, 0x075BEC01, 0x075C5401,
128 0x075CD401, 0x075D3C01, 0x075DBC01, 0x075E2401, 0x075EA401,
129 0x075F0C01, 0x0760028C, 0x076A6C05, 0x076A840F, 0x07800007,
130 0x07802011, 0x07806C07, 0x07808C02, 0x07809805, 0x07A34007,
131 0x07A51007, 0x07A57802, 0x07BBC002, 0x07C0002C, 0x07C0C064,
132 0x07C2800F, 0x07C2C40F, 0x07C3040F, 0x07C34425, 0x07C4401F,
133 0x07C4C03C, 0x07C5C03D, 0x07C7981D, 0x07C8402C, 0x07C90009,
134 0x07C94002, 0x07CC03D3, 0x07DB800D, 0x07DBC007, 0x07DC0074,
135 0x07DE0055, 0x07E0000C, 0x07E04038, 0x07E1400A, 0x07E18028,
136 0x07E2401E, 0x07E4400F, 0x07E48008, 0x07E4C001, 0x07E4CC0C,
137 0x07E5000C, 0x07E5400F, 0x07E60012, 0x07E70001, 0x38000401,
138 0x38008060, 0x380400F0,
 
 
139 };
140 static const unsigned int aAscii[4] = {
141 0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001,
142 };
143
144 if( (unsigned int)c<128 ){
145 return ( (aAscii[c >> 5] & (1 << (c & 0x001F)))==0 );
146 }else if( (unsigned int)c<(1<<22) ){
147 unsigned int key = (((unsigned int)c)<<10) | 0x000003FF;
148 int iRes = 0;
149 int iHi = count(aEntry) - 1;
150 int iLo = 0;
151 while( iHi>=iLo ){
152 int iTest = (iHi + iLo) / 2;
153 if( key >= aEntry[iTest] ){
154 iRes = iTest;
@@ -201,11 +203,11 @@
201 'e', 'i', 'o', 'u', 'y',
202 };
203
204 unsigned int key = (((unsigned int)c)<<3) | 0x00000007;
205 int iRes = 0;
206 int iHi = count(aDia) - 1;
207 int iLo = 0;
208 while( iHi>=iLo ){
209 int iTest = (iHi + iLo) / 2;
210 if( key >= aDia[iTest] ){
211 iRes = iTest;
@@ -348,11 +350,11 @@
348
349 if( c<128 ){
350 if( c>='A' && c<='Z' ) ret = c + ('a' - 'A');
351 }else if( c<65536 ){
352 const struct TableEntry *p;
353 int iHi = count(aEntry) - 1;
354 int iLo = 0;
355 int iRes = -1;
356
357 assert( c>aEntry[0].iCode );
358 while( iHi>=iLo ){
359
--- src/unicode.c
+++ src/unicode.c
@@ -52,103 +52,105 @@
52 0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804, 0x00206C09,
53 0x00209403, 0x0020A405, 0x0020C00F, 0x00216403, 0x00217801,
54 0x00235030, 0x0024E803, 0x0024F812, 0x00254407, 0x00258804,
55 0x0025C001, 0x00260403, 0x0026F001, 0x0026F807, 0x00271C02,
56 0x00272C03, 0x00275C01, 0x00278802, 0x0027C802, 0x0027E802,
57 0x0027F401, 0x00280403, 0x0028F001, 0x0028F805, 0x00291C02,
58 0x00292C03, 0x00294401, 0x0029C002, 0x0029D401, 0x002A0403,
59 0x002AF001, 0x002AF808, 0x002B1C03, 0x002B2C03, 0x002B8802,
60 0x002BC002, 0x002BE806, 0x002C0403, 0x002CF001, 0x002CF807,
61 0x002D1C02, 0x002D2C03, 0x002D5802, 0x002D8802, 0x002DC001,
62 0x002E0801, 0x002EF805, 0x002F1803, 0x002F2804, 0x002F5C01,
63 0x002FCC08, 0x00300004, 0x0030F807, 0x00311803, 0x00312804,
64 0x00315402, 0x00318802, 0x0031FC01, 0x00320403, 0x0032F001,
65 0x0032F807, 0x00331803, 0x00332804, 0x00335402, 0x00338802,
66 0x00340004, 0x0034EC02, 0x0034F807, 0x00351803, 0x00352804,
67 0x00353C01, 0x00355C01, 0x00358802, 0x0035E401, 0x00360802,
68 0x00372801, 0x00373C06, 0x00375801, 0x00376008, 0x0037C803,
69 0x0038C401, 0x0038D007, 0x0038FC01, 0x00391C09, 0x00396802,
70 0x003AC401, 0x003AD006, 0x003AEC02, 0x003B2006, 0x003C041F,
71 0x003CD00C, 0x003DC417, 0x003E340B, 0x003E6424, 0x003EF80F,
72 0x003F380D, 0x0040AC14, 0x00412806, 0x00415804, 0x00417803,
73 0x00418803, 0x00419C07, 0x0041C404, 0x0042080C, 0x00423C01,
74 0x00426806, 0x0043EC01, 0x004D740C, 0x004E400A, 0x00500001,
75 0x0059B402, 0x005A0001, 0x005A6C02, 0x005BAC03, 0x005C4803,
76 0x005CC805, 0x005D4802, 0x005DC802, 0x005ED023, 0x005F6004,
77 0x005F7401, 0x0060000F, 0x00621402, 0x0062A401, 0x0064800C,
78 0x0064C00C, 0x00650001, 0x00651002, 0x00677822, 0x00685C05,
79 0x00687802, 0x0069540A, 0x0069801D, 0x0069FC01, 0x006A8007,
80 0x006AA006, 0x006AC00F, 0x006C0005, 0x006CD011, 0x006D6823,
81 0x006E0003, 0x006E840D, 0x006F980E, 0x006FF004, 0x00709014,
82 0x0070EC05, 0x0071F802, 0x00730008, 0x00734019, 0x0073B401,
83 0x0073C803, 0x0073DC03, 0x0077003A, 0x0077EC05, 0x007EF401,
84 0x007EFC03, 0x007F3403, 0x007F7403, 0x007FB403, 0x007FF402,
85 0x00800065, 0x0081980A, 0x0081E805, 0x00822805, 0x00828020,
86 0x00834021, 0x00840002, 0x00840C04, 0x00842002, 0x00845001,
87 0x00845803, 0x00847806, 0x00849401, 0x00849C01, 0x0084A401,
88 0x0084B801, 0x0084E802, 0x00850005, 0x00852804, 0x00853C01,
89 0x00862802, 0x00864297, 0x0091000B, 0x0092704E, 0x00940276,
90 0x009E53E0, 0x00ADD820, 0x00AE6022, 0x00AEF40C, 0x00AF2809,
91 0x00AFB004, 0x00B39406, 0x00B3BC03, 0x00B3E404, 0x00B3F802,
92 0x00B5C001, 0x00B5FC01, 0x00B7804F, 0x00B8C01A, 0x00BA001A,
93 0x00BA6C59, 0x00BC00D6, 0x00BFC00C, 0x00C00005, 0x00C02019,
94 0x00C0A807, 0x00C0D802, 0x00C0F403, 0x00C26404, 0x00C28001,
95 0x00C3EC01, 0x00C64002, 0x00C6580A, 0x00C70024, 0x00C8001F,
96 0x00C8A81E, 0x00C94001, 0x00C98020, 0x00CA2827, 0x00CB003F,
97 0x00CC0100, 0x01370040, 0x02924037, 0x0293F802, 0x02983403,
98 0x0299BC10, 0x029A7802, 0x029BC008, 0x029C0017, 0x029C8002,
99 0x029E2402, 0x02A00801, 0x02A01801, 0x02A02C01, 0x02A08C09,
100 0x02A0D804, 0x02A1D004, 0x02A20002, 0x02A2D012, 0x02A33802,
101 0x02A38012, 0x02A3E003, 0x02A3F001, 0x02A4980A, 0x02A51C0D,
102 0x02A57C01, 0x02A60004, 0x02A6CC1B, 0x02A77802, 0x02A79401,
103 0x02A8A40E, 0x02A90C01, 0x02A93002, 0x02A97004, 0x02A9DC03,
104 0x02A9EC03, 0x02AAC001, 0x02AAC803, 0x02AADC02, 0x02AAF802,
105 0x02AB0401, 0x02AB7802, 0x02ABAC07, 0x02ABD402, 0x02AD6C01,
106 0x02AF8C0B, 0x03600001, 0x036DFC02, 0x036FFC02, 0x037FFC01,
107 0x03EC7801, 0x03ECA401, 0x03EEC810, 0x03F4F802, 0x03F7F002,
108 0x03F8001A, 0x03F88033, 0x03F95013, 0x03F9A004, 0x03FBFC01,
109 0x03FC040F, 0x03FC6807, 0x03FCEC06, 0x03FD6C0B, 0x03FF8007,
110 0x03FFA007, 0x03FFE405, 0x04040003, 0x0404DC09, 0x0405E411,
111 0x04063003, 0x0406400C, 0x04068001, 0x0407402E, 0x040B8001,
112 0x040DD805, 0x040E7C01, 0x040F4001, 0x0415BC01, 0x04215C01,
113 0x0421DC02, 0x04247C01, 0x0424FC01, 0x04280403, 0x04281402,
114 0x04283004, 0x0428E003, 0x0428FC01, 0x04294009, 0x0429FC01,
115 0x042B2001, 0x042B9402, 0x042BC007, 0x042CE407, 0x042E6404,
116 0x04400003, 0x0440E016, 0x0441FC04, 0x0442C012, 0x04440003,
117 0x04449C0E, 0x04450004, 0x0445CC03, 0x04460003, 0x0446CC0E,
118 0x04471409, 0x04476C01, 0x04477403, 0x0448B013, 0x044AA401,
119 0x044B7C0C, 0x044C0004, 0x044CF001, 0x044CF807, 0x044D1C02,
120 0x044D2C03, 0x044D5C01, 0x044D8802, 0x044D9807, 0x044DC005,
121 0x0450D412, 0x04512C05, 0x04516C01, 0x04517401, 0x0452C014,
122 0x04531801, 0x0456BC07, 0x0456E020, 0x04577002, 0x0458C014,
123 0x0459800D, 0x045AAC0D, 0x045C740F, 0x045CF004, 0x0468040A,
124 0x0468CC07, 0x0468EC0D, 0x0469440B, 0x046A2813, 0x046A7805,
125 0x0470BC08, 0x0470E008, 0x04710405, 0x0471C002, 0x04724816,
126 0x0472A40E, 0x0474C406, 0x0474E801, 0x0474F002, 0x0474FC07,
127 0x04751C01, 0x0491C005, 0x05A9B802, 0x05ABC006, 0x05ACC010,
128 0x05AD1002, 0x05BD442E, 0x05BE3C04, 0x06F27008, 0x074000F6,
129 0x07440027, 0x0744A4C0, 0x07480046, 0x074C0057, 0x075B0401,
130 0x075B6C01, 0x075BEC01, 0x075C5401, 0x075CD401, 0x075D3C01,
131 0x075DBC01, 0x075E2401, 0x075EA401, 0x075F0C01, 0x0760028C,
132 0x076A6C05, 0x076A840F, 0x07800007, 0x07802011, 0x07806C07,
133 0x07808C02, 0x07809805, 0x07A34007, 0x07A51007, 0x07A57802,
134 0x07BBC002, 0x07C0002C, 0x07C0C064, 0x07C2800F, 0x07C2C40F,
135 0x07C3040F, 0x07C34425, 0x07C4401F, 0x07C4C03C, 0x07C5C03D,
136 0x07C7981D, 0x07C8402C, 0x07C90009, 0x07C94002, 0x07C98006,
137 0x07CC03D5, 0x07DB800D, 0x07DBC009, 0x07DC0074, 0x07DE0055,
138 0x07E0000C, 0x07E04038, 0x07E1400A, 0x07E18028, 0x07E2401E,
139 0x07E4000C, 0x07E4402F, 0x07E5000D, 0x07E5401C, 0x07E60018,
140 0x07E70001, 0x07E74017, 0x38000401, 0x38008060, 0x380400F0,
141 };
142 static const unsigned int aAscii[4] = {
143 0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001,
144 };
145
146 if( (unsigned int)c<128 ){
147 return ( (aAscii[c >> 5] & ((unsigned int)1 << (c & 0x001F)))==0 );
148 }else if( (unsigned int)c<(1<<22) ){
149 unsigned int key = (((unsigned int)c)<<10) | 0x000003FF;
150 int iRes = 0;
151 int iHi = sizeof(aEntry)/sizeof(aEntry[0]) - 1;
152 int iLo = 0;
153 while( iHi>=iLo ){
154 int iTest = (iHi + iLo) / 2;
155 if( key >= aEntry[iTest] ){
156 iRes = iTest;
@@ -201,11 +203,11 @@
203 'e', 'i', 'o', 'u', 'y',
204 };
205
206 unsigned int key = (((unsigned int)c)<<3) | 0x00000007;
207 int iRes = 0;
208 int iHi = sizeof(aDia)/sizeof(aDia[0]) - 1;
209 int iLo = 0;
210 while( iHi>=iLo ){
211 int iTest = (iHi + iLo) / 2;
212 if( key >= aDia[iTest] ){
213 iRes = iTest;
@@ -348,11 +350,11 @@
350
351 if( c<128 ){
352 if( c>='A' && c<='Z' ) ret = c + ('a' - 'A');
353 }else if( c<65536 ){
354 const struct TableEntry *p;
355 int iHi = sizeof(aEntry)/sizeof(aEntry[0]) - 1;
356 int iLo = 0;
357 int iRes = -1;
358
359 assert( c>aEntry[0].iCode );
360 while( iHi>=iLo ){
361
--- www/changes.wiki
+++ www/changes.wiki
@@ -2,10 +2,12 @@
22
33
<a name='v2_3'></a>
44
<h2>Changes for Version 2.3 (2017-??-??)</h2>
55
66
* Update the built-in SQLite to version 3.19.0.
7
+ * Update internal Unicode character tables, used in regular expression
8
+ handling, from version 9.0 to 10.0.
79
810
<a name='v2_2'></a>
911
<h2>Changes for Version 2.2 (2017-04-11)</h2>
1012
1113
* GIT comment tags are now handled by Fossil during import/export.
1214
--- www/changes.wiki
+++ www/changes.wiki
@@ -2,10 +2,12 @@
2
3 <a name='v2_3'></a>
4 <h2>Changes for Version 2.3 (2017-??-??)</h2>
5
6 * Update the built-in SQLite to version 3.19.0.
 
 
7
8 <a name='v2_2'></a>
9 <h2>Changes for Version 2.2 (2017-04-11)</h2>
10
11 * GIT comment tags are now handled by Fossil during import/export.
12
--- www/changes.wiki
+++ www/changes.wiki
@@ -2,10 +2,12 @@
2
3 <a name='v2_3'></a>
4 <h2>Changes for Version 2.3 (2017-??-??)</h2>
5
6 * Update the built-in SQLite to version 3.19.0.
7 * Update internal Unicode character tables, used in regular expression
8 handling, from version 9.0 to 10.0.
9
10 <a name='v2_2'></a>
11 <h2>Changes for Version 2.2 (2017-04-11)</h2>
12
13 * GIT comment tags are now handled by Fossil during import/export.
14

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button