Fossil SCM

Update internal tables to Unicode 7.0.

jan.nijtmans 2014-07-16 08:09 UTC trunk
Commit e17f7304ddb7ace60c807a5a0a9d4fa587797b0b
2 files changed +131 -118 +132 -120
+131 -118
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -143493,88 +143493,95 @@
143493143493
const static unsigned int aEntry[] = {
143494143494
0x00000030, 0x0000E807, 0x00016C06, 0x0001EC2F, 0x0002AC07,
143495143495
0x0002D001, 0x0002D803, 0x0002EC01, 0x0002FC01, 0x00035C01,
143496143496
0x0003DC01, 0x000B0804, 0x000B480E, 0x000B9407, 0x000BB401,
143497143497
0x000BBC81, 0x000DD401, 0x000DF801, 0x000E1002, 0x000E1C01,
143498
- 0x000FD801, 0x00120808, 0x00156806, 0x00162402, 0x00163C01,
143499
- 0x00164437, 0x0017CC02, 0x00180005, 0x00181816, 0x00187802,
143500
- 0x00192C15, 0x0019A804, 0x0019C001, 0x001B5001, 0x001B580F,
143501
- 0x001B9C07, 0x001BF402, 0x001C000E, 0x001C3C01, 0x001C4401,
143502
- 0x001CC01B, 0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804,
143503
- 0x00206C09, 0x00209403, 0x0020A405, 0x0020C00F, 0x00216403,
143504
- 0x00217801, 0x0023901B, 0x00240004, 0x0024E803, 0x0024F812,
143505
- 0x00254407, 0x00258804, 0x0025C001, 0x00260403, 0x0026F001,
143506
- 0x0026F807, 0x00271C02, 0x00272C03, 0x00275C01, 0x00278802,
143507
- 0x0027C802, 0x0027E802, 0x00280403, 0x0028F001, 0x0028F805,
143508
- 0x00291C02, 0x00292C03, 0x00294401, 0x0029C002, 0x0029D401,
143509
- 0x002A0403, 0x002AF001, 0x002AF808, 0x002B1C03, 0x002B2C03,
143510
- 0x002B8802, 0x002BC002, 0x002C0403, 0x002CF001, 0x002CF807,
143511
- 0x002D1C02, 0x002D2C03, 0x002D5802, 0x002D8802, 0x002DC001,
143512
- 0x002E0801, 0x002EF805, 0x002F1803, 0x002F2804, 0x002F5C01,
143513
- 0x002FCC08, 0x00300403, 0x0030F807, 0x00311803, 0x00312804,
143514
- 0x00315402, 0x00318802, 0x0031FC01, 0x00320802, 0x0032F001,
143515
- 0x0032F807, 0x00331803, 0x00332804, 0x00335402, 0x00338802,
143516
- 0x00340802, 0x0034F807, 0x00351803, 0x00352804, 0x00355C01,
143517
- 0x00358802, 0x0035E401, 0x00360802, 0x00372801, 0x00373C06,
143518
- 0x00375801, 0x00376008, 0x0037C803, 0x0038C401, 0x0038D007,
143519
- 0x0038FC01, 0x00391C09, 0x00396802, 0x003AC401, 0x003AD006,
143520
- 0x003AEC02, 0x003B2006, 0x003C041F, 0x003CD00C, 0x003DC417,
143521
- 0x003E340B, 0x003E6424, 0x003EF80F, 0x003F380D, 0x0040AC14,
143522
- 0x00412806, 0x00415804, 0x00417803, 0x00418803, 0x00419C07,
143523
- 0x0041C404, 0x0042080C, 0x00423C01, 0x00426806, 0x0043EC01,
143524
- 0x004D740C, 0x004E400A, 0x00500001, 0x0059B402, 0x005A0001,
143525
- 0x005A6C02, 0x005BAC03, 0x005C4803, 0x005CC805, 0x005D4802,
143526
- 0x005DC802, 0x005ED023, 0x005F6004, 0x005F7401, 0x0060000F,
143527
- 0x0062A401, 0x0064800C, 0x0064C00C, 0x00650001, 0x00651002,
143528
- 0x0066C011, 0x00672002, 0x00677822, 0x00685C05, 0x00687802,
143529
- 0x0069540A, 0x0069801D, 0x0069FC01, 0x006A8007, 0x006AA006,
143530
- 0x006C0005, 0x006CD011, 0x006D6823, 0x006E0003, 0x006E840D,
143531
- 0x006F980E, 0x006FF004, 0x00709014, 0x0070EC05, 0x0071F802,
143532
- 0x00730008, 0x00734019, 0x0073B401, 0x0073C803, 0x00770027,
143498
+ 0x000FD801, 0x00120808, 0x00156806, 0x00162402, 0x00163403,
143499
+ 0x00164437, 0x0017CC02, 0x0018001D, 0x00187802, 0x00192C15,
143500
+ 0x0019A804, 0x0019C001, 0x001B5001, 0x001B580F, 0x001B9C07,
143501
+ 0x001BF402, 0x001C000E, 0x001C3C01, 0x001C4401, 0x001CC01B,
143502
+ 0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804, 0x00206C09,
143503
+ 0x00209403, 0x0020A405, 0x0020C00F, 0x00216403, 0x00217801,
143504
+ 0x00239020, 0x0024E803, 0x0024F812, 0x00254407, 0x00258804,
143505
+ 0x0025C001, 0x00260403, 0x0026F001, 0x0026F807, 0x00271C02,
143506
+ 0x00272C03, 0x00275C01, 0x00278802, 0x0027C802, 0x0027E802,
143507
+ 0x00280403, 0x0028F001, 0x0028F805, 0x00291C02, 0x00292C03,
143508
+ 0x00294401, 0x0029C002, 0x0029D401, 0x002A0403, 0x002AF001,
143509
+ 0x002AF808, 0x002B1C03, 0x002B2C03, 0x002B8802, 0x002BC002,
143510
+ 0x002C0403, 0x002CF001, 0x002CF807, 0x002D1C02, 0x002D2C03,
143511
+ 0x002D5802, 0x002D8802, 0x002DC001, 0x002E0801, 0x002EF805,
143512
+ 0x002F1803, 0x002F2804, 0x002F5C01, 0x002FCC08, 0x00300004,
143513
+ 0x0030F807, 0x00311803, 0x00312804, 0x00315402, 0x00318802,
143514
+ 0x0031FC01, 0x00320403, 0x0032F001, 0x0032F807, 0x00331803,
143515
+ 0x00332804, 0x00335402, 0x00338802, 0x00340403, 0x0034F807,
143516
+ 0x00351803, 0x00352804, 0x00355C01, 0x00358802, 0x0035E401,
143517
+ 0x00360802, 0x00372801, 0x00373C06, 0x00375801, 0x00376008,
143518
+ 0x0037C803, 0x0038C401, 0x0038D007, 0x0038FC01, 0x00391C09,
143519
+ 0x00396802, 0x003AC401, 0x003AD006, 0x003AEC02, 0x003B2006,
143520
+ 0x003C041F, 0x003CD00C, 0x003DC417, 0x003E340B, 0x003E6424,
143521
+ 0x003EF80F, 0x003F380D, 0x0040AC14, 0x00412806, 0x00415804,
143522
+ 0x00417803, 0x00418803, 0x00419C07, 0x0041C404, 0x0042080C,
143523
+ 0x00423C01, 0x00426806, 0x0043EC01, 0x004D740C, 0x004E400A,
143524
+ 0x00500001, 0x0059B402, 0x005A0001, 0x005A6C02, 0x005BAC03,
143525
+ 0x005C4803, 0x005CC805, 0x005D4802, 0x005DC802, 0x005ED023,
143526
+ 0x005F6004, 0x005F7401, 0x0060000F, 0x0062A401, 0x0064800C,
143527
+ 0x0064C00C, 0x00650001, 0x00651002, 0x0066C011, 0x00672002,
143528
+ 0x00677822, 0x00685C05, 0x00687802, 0x0069540A, 0x0069801D,
143529
+ 0x0069FC01, 0x006A8007, 0x006AA006, 0x006AC00F, 0x006C0005,
143530
+ 0x006CD011, 0x006D6823, 0x006E0003, 0x006E840D, 0x006F980E,
143531
+ 0x006FF004, 0x00709014, 0x0070EC05, 0x0071F802, 0x00730008,
143532
+ 0x00734019, 0x0073B401, 0x0073C803, 0x0073E002, 0x00770036,
143533143533
0x0077F004, 0x007EF401, 0x007EFC03, 0x007F3403, 0x007F7403,
143534
- 0x007FB403, 0x007FF402, 0x00800065, 0x0081A806, 0x0081E805,
143535
- 0x00822805, 0x0082801A, 0x00834021, 0x00840002, 0x00840C04,
143534
+ 0x007FB403, 0x007FF402, 0x00800065, 0x0081980A, 0x0081E805,
143535
+ 0x00822805, 0x0082801E, 0x00834021, 0x00840002, 0x00840C04,
143536143536
0x00842002, 0x00845001, 0x00845803, 0x00847806, 0x00849401,
143537143537
0x00849C01, 0x0084A401, 0x0084B801, 0x0084E802, 0x00850005,
143538
- 0x00852804, 0x00853C01, 0x00864264, 0x00900027, 0x0091000B,
143539
- 0x0092704E, 0x00940200, 0x009C0475, 0x009E53B9, 0x00AD400A,
143540
- 0x00B39406, 0x00B3BC03, 0x00B3E404, 0x00B3F802, 0x00B5C001,
143541
- 0x00B5FC01, 0x00B7804F, 0x00B8C00C, 0x00BA001A, 0x00BA6C59,
143542
- 0x00BC00D6, 0x00BFC00C, 0x00C00005, 0x00C02019, 0x00C0A807,
143543
- 0x00C0D802, 0x00C0F403, 0x00C26404, 0x00C28001, 0x00C3EC01,
143544
- 0x00C64002, 0x00C6580A, 0x00C70024, 0x00C8001F, 0x00C8A81E,
143545
- 0x00C94001, 0x00C98020, 0x00CA2827, 0x00CB003F, 0x00CC0100,
143546
- 0x01370040, 0x02924037, 0x0293F802, 0x02983403, 0x0299BC10,
143547
- 0x029A7C01, 0x029BC008, 0x029C0017, 0x029C8002, 0x029E2402,
143548
- 0x02A00801, 0x02A01801, 0x02A02C01, 0x02A08C09, 0x02A0D804,
143549
- 0x02A1D004, 0x02A20002, 0x02A2D011, 0x02A33802, 0x02A38012,
143550
- 0x02A3E003, 0x02A4980A, 0x02A51C0D, 0x02A57C01, 0x02A60004,
143551
- 0x02A6CC1B, 0x02A77802, 0x02A8A40E, 0x02A90C01, 0x02A93002,
143552
- 0x02A97004, 0x02A9DC03, 0x02A9EC01, 0x02AAC001, 0x02AAC803,
143553
- 0x02AADC02, 0x02AAF802, 0x02AB0401, 0x02AB7802, 0x02ABAC07,
143554
- 0x02ABD402, 0x02AF8C0B, 0x03600001, 0x036DFC02, 0x036FFC02,
143555
- 0x037FFC01, 0x03EC7801, 0x03ECA401, 0x03EEC810, 0x03F4F802,
143556
- 0x03F7F002, 0x03F8001A, 0x03F88007, 0x03F8C023, 0x03F95013,
143557
- 0x03F9A004, 0x03FBFC01, 0x03FC040F, 0x03FC6807, 0x03FCEC06,
143558
- 0x03FD6C0B, 0x03FF8007, 0x03FFA007, 0x03FFE405, 0x04040003,
143559
- 0x0404DC09, 0x0405E411, 0x0406400C, 0x0407402E, 0x040E7C01,
143560
- 0x040F4001, 0x04215C01, 0x04247C01, 0x0424FC01, 0x04280403,
143538
+ 0x00852804, 0x00853C01, 0x0086426B, 0x00900027, 0x0091000B,
143539
+ 0x0092704E, 0x00940276, 0x009E53E0, 0x00ADD820, 0x00AE6022,
143540
+ 0x00AEF40C, 0x00AF2808, 0x00B39406, 0x00B3BC03, 0x00B3E404,
143541
+ 0x00B3F802, 0x00B5C001, 0x00B5FC01, 0x00B7804F, 0x00B8C013,
143542
+ 0x00BA001A, 0x00BA6C59, 0x00BC00D6, 0x00BFC00C, 0x00C00005,
143543
+ 0x00C02019, 0x00C0A807, 0x00C0D802, 0x00C0F403, 0x00C26404,
143544
+ 0x00C28001, 0x00C3EC01, 0x00C64002, 0x00C6580A, 0x00C70024,
143545
+ 0x00C8001F, 0x00C8A81E, 0x00C94001, 0x00C98020, 0x00CA2827,
143546
+ 0x00CB003F, 0x00CC0100, 0x01370040, 0x02924037, 0x0293F802,
143547
+ 0x02983403, 0x0299BC10, 0x029A7C01, 0x029BC008, 0x029C0017,
143548
+ 0x029C8002, 0x029E2402, 0x02A00801, 0x02A01801, 0x02A02C01,
143549
+ 0x02A08C09, 0x02A0D804, 0x02A1D004, 0x02A20002, 0x02A2D011,
143550
+ 0x02A33802, 0x02A38012, 0x02A3E003, 0x02A4980A, 0x02A51C0D,
143551
+ 0x02A57C01, 0x02A60004, 0x02A6CC1B, 0x02A77802, 0x02A79401,
143552
+ 0x02A8A40E, 0x02A90C01, 0x02A93002, 0x02A97004, 0x02A9DC03,
143553
+ 0x02A9EC03, 0x02AAC001, 0x02AAC803, 0x02AADC02, 0x02AAF802,
143554
+ 0x02AB0401, 0x02AB7802, 0x02ABAC07, 0x02ABD402, 0x02AD6C01,
143555
+ 0x02AF8C0B, 0x03600001, 0x036DFC02, 0x036FFC02, 0x037FFC01,
143556
+ 0x03EC7801, 0x03ECA401, 0x03EEC810, 0x03F4F802, 0x03F7F002,
143557
+ 0x03F8001A, 0x03F8800E, 0x03F8C023, 0x03F95013, 0x03F9A004,
143558
+ 0x03FBFC01, 0x03FC040F, 0x03FC6807, 0x03FCEC06, 0x03FD6C0B,
143559
+ 0x03FF8007, 0x03FFA007, 0x03FFE405, 0x04040003, 0x0404DC09,
143560
+ 0x0405E411, 0x04063001, 0x0406400C, 0x04068001, 0x0407402E,
143561
+ 0x040B8001, 0x040DD805, 0x040E7C01, 0x040F4001, 0x0415BC01,
143562
+ 0x04215C01, 0x0421DC02, 0x04247C01, 0x0424FC01, 0x04280403,
143561143563
0x04281402, 0x04283004, 0x0428E003, 0x0428FC01, 0x04294009,
143562
- 0x0429FC01, 0x042CE407, 0x04400003, 0x0440E016, 0x04420003,
143563
- 0x0442C012, 0x04440003, 0x04449C0E, 0x04450004, 0x04460003,
143564
- 0x0446CC0E, 0x04471404, 0x045AAC0D, 0x0491C004, 0x05BD442E,
143565
- 0x05BE3C04, 0x074000F6, 0x07440027, 0x0744A4B5, 0x07480046,
143566
- 0x074C0057, 0x075B0401, 0x075B6C01, 0x075BEC01, 0x075C5401,
143567
- 0x075CD401, 0x075D3C01, 0x075DBC01, 0x075E2401, 0x075EA401,
143568
- 0x075F0C01, 0x07BBC002, 0x07C0002C, 0x07C0C064, 0x07C2800F,
143569
- 0x07C2C40E, 0x07C3040F, 0x07C3440F, 0x07C4401F, 0x07C4C03C,
143570
- 0x07C5C02B, 0x07C7981D, 0x07C8402B, 0x07C90009, 0x07C94002,
143571
- 0x07CC0021, 0x07CCC006, 0x07CCDC46, 0x07CE0014, 0x07CE8025,
143572
- 0x07CF1805, 0x07CF8011, 0x07D0003F, 0x07D10001, 0x07D108B6,
143573
- 0x07D3E404, 0x07D4003E, 0x07D50004, 0x07D54018, 0x07D7EC46,
143574
- 0x07D9140B, 0x07DA0046, 0x07DC0074, 0x38000401, 0x38008060,
143575
- 0x380400F0,
143564
+ 0x0429FC01, 0x042B2001, 0x042B9402, 0x042BC007, 0x042CE407,
143565
+ 0x042E6404, 0x04400003, 0x0440E016, 0x0441FC04, 0x0442C012,
143566
+ 0x04440003, 0x04449C0E, 0x04450004, 0x0445CC03, 0x04460003,
143567
+ 0x0446CC0E, 0x04471404, 0x04473401, 0x0448B012, 0x044B7C0C,
143568
+ 0x044C0403, 0x044CF001, 0x044CF807, 0x044D1C02, 0x044D2C03,
143569
+ 0x044D5C01, 0x044D8802, 0x044D9807, 0x044DC005, 0x0452C014,
143570
+ 0x04531801, 0x0456BC07, 0x0456E012, 0x0458C014, 0x045AAC0D,
143571
+ 0x0491C005, 0x05A9B802, 0x05ABC006, 0x05ACC010, 0x05AD1002,
143572
+ 0x05BD442E, 0x05BE3C04, 0x06F27008, 0x074000F6, 0x07440027,
143573
+ 0x0744A4B5, 0x07480046, 0x074C0057, 0x075B0401, 0x075B6C01,
143574
+ 0x075BEC01, 0x075C5401, 0x075CD401, 0x075D3C01, 0x075DBC01,
143575
+ 0x075E2401, 0x075EA401, 0x075F0C01, 0x07A34007, 0x07BBC002,
143576
+ 0x07C0002C, 0x07C0C064, 0x07C2800F, 0x07C2C40F, 0x07C3040F,
143577
+ 0x07C34425, 0x07C4401F, 0x07C4C03C, 0x07C5C02B, 0x07C7981D,
143578
+ 0x07C8402B, 0x07C90009, 0x07C94002, 0x07CC002D, 0x07CCC04E,
143579
+ 0x07CE004F, 0x07CF5024, 0x07D000FF, 0x07D4004B, 0x07D5402A,
143580
+ 0x07D5EC29, 0x07D6949E, 0x07D9148B, 0x07DB800D, 0x07DBC004,
143581
+ 0x07DC0074, 0x07DE0055, 0x07E0000C, 0x07E04038, 0x07E1400A,
143582
+ 0x07E18028, 0x07E2401E, 0x38000401, 0x38008060, 0x380400F0,
143576143583
};
143577143584
static const unsigned int aAscii[4] = {
143578143585
0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001,
143579143586
};
143580143587
@@ -143702,12 +143709,12 @@
143702143709
unsigned char flags;
143703143710
unsigned char nRange;
143704143711
} aEntry[] = {
143705143712
{65, 14, 26}, {181, 64, 1}, {192, 14, 23},
143706143713
{216, 14, 7}, {256, 1, 48}, {306, 1, 6},
143707
- {313, 1, 16}, {330, 1, 46}, {376, 116, 1},
143708
- {377, 1, 6}, {383, 104, 1}, {385, 50, 1},
143714
+ {313, 1, 16}, {330, 1, 46}, {376, 126, 1},
143715
+ {377, 1, 6}, {383, 114, 1}, {385, 50, 1},
143709143716
{386, 1, 4}, {390, 44, 1}, {391, 0, 1},
143710143717
{393, 42, 2}, {395, 0, 1}, {398, 32, 1},
143711143718
{399, 38, 1}, {400, 40, 1}, {401, 0, 1},
143712143719
{403, 42, 1}, {404, 46, 1}, {406, 52, 1},
143713143720
{407, 48, 1}, {408, 0, 1}, {412, 52, 1},
@@ -143716,61 +143723,64 @@
143716143723
{428, 0, 1}, {430, 60, 1}, {431, 0, 1},
143717143724
{433, 58, 2}, {435, 1, 4}, {439, 62, 1},
143718143725
{440, 0, 1}, {444, 0, 1}, {452, 2, 1},
143719143726
{453, 0, 1}, {455, 2, 1}, {456, 0, 1},
143720143727
{458, 2, 1}, {459, 1, 18}, {478, 1, 18},
143721
- {497, 2, 1}, {498, 1, 4}, {502, 122, 1},
143722
- {503, 134, 1}, {504, 1, 40}, {544, 110, 1},
143728
+ {497, 2, 1}, {498, 1, 4}, {502, 132, 1},
143729
+ {503, 144, 1}, {504, 1, 40}, {544, 120, 1},
143723143730
{546, 1, 18}, {570, 70, 1}, {571, 0, 1},
143724
- {573, 108, 1}, {574, 68, 1}, {577, 0, 1},
143725
- {579, 106, 1}, {580, 28, 1}, {581, 30, 1},
143731
+ {573, 118, 1}, {574, 68, 1}, {577, 0, 1},
143732
+ {579, 116, 1}, {580, 28, 1}, {581, 30, 1},
143726143733
{582, 1, 10}, {837, 36, 1}, {880, 1, 4},
143727
- {886, 0, 1}, {902, 18, 1}, {904, 16, 3},
143728
- {908, 26, 1}, {910, 24, 2}, {913, 14, 17},
143729
- {931, 14, 9}, {962, 0, 1}, {975, 4, 1},
143730
- {976, 140, 1}, {977, 142, 1}, {981, 146, 1},
143731
- {982, 144, 1}, {984, 1, 24}, {1008, 136, 1},
143732
- {1009, 138, 1}, {1012, 130, 1}, {1013, 128, 1},
143733
- {1015, 0, 1}, {1017, 152, 1}, {1018, 0, 1},
143734
- {1021, 110, 3}, {1024, 34, 16}, {1040, 14, 32},
143735
- {1120, 1, 34}, {1162, 1, 54}, {1216, 6, 1},
143736
- {1217, 1, 14}, {1232, 1, 88}, {1329, 22, 38},
143737
- {4256, 66, 38}, {4295, 66, 1}, {4301, 66, 1},
143738
- {7680, 1, 150}, {7835, 132, 1}, {7838, 96, 1},
143739
- {7840, 1, 96}, {7944, 150, 8}, {7960, 150, 6},
143740
- {7976, 150, 8}, {7992, 150, 8}, {8008, 150, 6},
143741
- {8025, 151, 8}, {8040, 150, 8}, {8072, 150, 8},
143742
- {8088, 150, 8}, {8104, 150, 8}, {8120, 150, 2},
143743
- {8122, 126, 2}, {8124, 148, 1}, {8126, 100, 1},
143744
- {8136, 124, 4}, {8140, 148, 1}, {8152, 150, 2},
143745
- {8154, 120, 2}, {8168, 150, 2}, {8170, 118, 2},
143746
- {8172, 152, 1}, {8184, 112, 2}, {8186, 114, 2},
143747
- {8188, 148, 1}, {8486, 98, 1}, {8490, 92, 1},
143748
- {8491, 94, 1}, {8498, 12, 1}, {8544, 8, 16},
143749
- {8579, 0, 1}, {9398, 10, 26}, {11264, 22, 47},
143750
- {11360, 0, 1}, {11362, 88, 1}, {11363, 102, 1},
143751
- {11364, 90, 1}, {11367, 1, 6}, {11373, 84, 1},
143752
- {11374, 86, 1}, {11375, 80, 1}, {11376, 82, 1},
143753
- {11378, 0, 1}, {11381, 0, 1}, {11390, 78, 2},
143754
- {11392, 1, 100}, {11499, 1, 4}, {11506, 0, 1},
143755
- {42560, 1, 46}, {42624, 1, 24}, {42786, 1, 14},
143756
- {42802, 1, 62}, {42873, 1, 4}, {42877, 76, 1},
143757
- {42878, 1, 10}, {42891, 0, 1}, {42893, 74, 1},
143758
- {42896, 1, 4}, {42912, 1, 10}, {42922, 72, 1},
143734
+ {886, 0, 1}, {895, 36, 1}, {902, 18, 1},
143735
+ {904, 16, 3}, {908, 26, 1}, {910, 24, 2},
143736
+ {913, 14, 17}, {931, 14, 9}, {962, 0, 1},
143737
+ {975, 4, 1}, {976, 150, 1}, {977, 152, 1},
143738
+ {981, 156, 1}, {982, 154, 1}, {984, 1, 24},
143739
+ {1008, 146, 1}, {1009, 148, 1}, {1012, 140, 1},
143740
+ {1013, 138, 1}, {1015, 0, 1}, {1017, 162, 1},
143741
+ {1018, 0, 1}, {1021, 120, 3}, {1024, 34, 16},
143742
+ {1040, 14, 32}, {1120, 1, 34}, {1162, 1, 54},
143743
+ {1216, 6, 1}, {1217, 1, 14}, {1232, 1, 96},
143744
+ {1329, 22, 38}, {4256, 66, 38}, {4295, 66, 1},
143745
+ {4301, 66, 1}, {7680, 1, 150}, {7835, 142, 1},
143746
+ {7838, 106, 1}, {7840, 1, 96}, {7944, 160, 8},
143747
+ {7960, 160, 6}, {7976, 160, 8}, {7992, 160, 8},
143748
+ {8008, 160, 6}, {8025, 161, 8}, {8040, 160, 8},
143749
+ {8072, 160, 8}, {8088, 160, 8}, {8104, 160, 8},
143750
+ {8120, 160, 2}, {8122, 136, 2}, {8124, 158, 1},
143751
+ {8126, 110, 1}, {8136, 134, 4}, {8140, 158, 1},
143752
+ {8152, 160, 2}, {8154, 130, 2}, {8168, 160, 2},
143753
+ {8170, 128, 2}, {8172, 162, 1}, {8184, 122, 2},
143754
+ {8186, 124, 2}, {8188, 158, 1}, {8486, 108, 1},
143755
+ {8490, 102, 1}, {8491, 104, 1}, {8498, 12, 1},
143756
+ {8544, 8, 16}, {8579, 0, 1}, {9398, 10, 26},
143757
+ {11264, 22, 47}, {11360, 0, 1}, {11362, 98, 1},
143758
+ {11363, 112, 1}, {11364, 100, 1}, {11367, 1, 6},
143759
+ {11373, 94, 1}, {11374, 96, 1}, {11375, 90, 1},
143760
+ {11376, 92, 1}, {11378, 0, 1}, {11381, 0, 1},
143761
+ {11390, 88, 2}, {11392, 1, 100}, {11499, 1, 4},
143762
+ {11506, 0, 1}, {42560, 1, 46}, {42624, 1, 28},
143763
+ {42786, 1, 14}, {42802, 1, 62}, {42873, 1, 4},
143764
+ {42877, 86, 1}, {42878, 1, 10}, {42891, 0, 1},
143765
+ {42893, 82, 1}, {42896, 1, 4}, {42902, 1, 20},
143766
+ {42922, 76, 1}, {42923, 72, 1}, {42924, 74, 1},
143767
+ {42925, 78, 1}, {42928, 84, 1}, {42929, 80, 1},
143759143768
{65313, 14, 26},
143760143769
};
143761143770
static const unsigned short aiOff[] = {
143762143771
1, 2, 8, 15, 16, 26, 28, 32,
143763143772
37, 38, 40, 48, 63, 64, 69, 71,
143764143773
79, 80, 116, 202, 203, 205, 206, 207,
143765143774
209, 210, 211, 213, 214, 217, 218, 219,
143766
- 775, 7264, 10792, 10795, 23228, 23256, 30204, 54721,
143767
- 54753, 54754, 54756, 54787, 54793, 54809, 57153, 57274,
143768
- 57921, 58019, 58363, 61722, 65268, 65341, 65373, 65406,
143769
- 65408, 65410, 65415, 65424, 65436, 65439, 65450, 65462,
143770
- 65472, 65476, 65478, 65480, 65482, 65488, 65506, 65511,
143771
- 65514, 65521, 65527, 65528, 65529,
143775
+ 775, 7264, 10792, 10795, 23217, 23221, 23228, 23231,
143776
+ 23254, 23256, 23278, 30204, 54721, 54753, 54754, 54756,
143777
+ 54787, 54793, 54809, 57153, 57274, 57921, 58019, 58363,
143778
+ 61722, 65268, 65341, 65373, 65406, 65408, 65410, 65415,
143779
+ 65424, 65436, 65439, 65450, 65462, 65472, 65476, 65478,
143780
+ 65480, 65482, 65488, 65506, 65511, 65514, 65521, 65527,
143781
+ 65528, 65529,
143772143782
};
143773143783
143774143784
int ret = c;
143775143785
143776143786
assert( c>=0 );
@@ -143806,10 +143816,13 @@
143806143816
if( bRemoveDiacritic ) ret = remove_diacritic(ret);
143807143817
}
143808143818
143809143819
else if( c>=66560 && c<66600 ){
143810143820
ret = c + 40;
143821
+ }
143822
+ else if( c>=71840 && c<71872 ){
143823
+ ret = c + 32;
143811143824
}
143812143825
143813143826
return ret;
143814143827
}
143815143828
#endif /* defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4) */
143816143829
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -143493,88 +143493,95 @@
143493 const static unsigned int aEntry[] = {
143494 0x00000030, 0x0000E807, 0x00016C06, 0x0001EC2F, 0x0002AC07,
143495 0x0002D001, 0x0002D803, 0x0002EC01, 0x0002FC01, 0x00035C01,
143496 0x0003DC01, 0x000B0804, 0x000B480E, 0x000B9407, 0x000BB401,
143497 0x000BBC81, 0x000DD401, 0x000DF801, 0x000E1002, 0x000E1C01,
143498 0x000FD801, 0x00120808, 0x00156806, 0x00162402, 0x00163C01,
143499 0x00164437, 0x0017CC02, 0x00180005, 0x00181816, 0x00187802,
143500 0x00192C15, 0x0019A804, 0x0019C001, 0x001B5001, 0x001B580F,
143501 0x001B9C07, 0x001BF402, 0x001C000E, 0x001C3C01, 0x001C4401,
143502 0x001CC01B, 0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804,
143503 0x00206C09, 0x00209403, 0x0020A405, 0x0020C00F, 0x00216403,
143504 0x00217801, 0x0023901B, 0x00240004, 0x0024E803, 0x0024F812,
143505 0x00254407, 0x00258804, 0x0025C001, 0x00260403, 0x0026F001,
143506 0x0026F807, 0x00271C02, 0x00272C03, 0x00275C01, 0x00278802,
143507 0x0027C802, 0x0027E802, 0x00280403, 0x0028F001, 0x0028F805,
143508 0x00291C02, 0x00292C03, 0x00294401, 0x0029C002, 0x0029D401,
143509 0x002A0403, 0x002AF001, 0x002AF808, 0x002B1C03, 0x002B2C03,
143510 0x002B8802, 0x002BC002, 0x002C0403, 0x002CF001, 0x002CF807,
143511 0x002D1C02, 0x002D2C03, 0x002D5802, 0x002D8802, 0x002DC001,
143512 0x002E0801, 0x002EF805, 0x002F1803, 0x002F2804, 0x002F5C01,
143513 0x002FCC08, 0x00300403, 0x0030F807, 0x00311803, 0x00312804,
143514 0x00315402, 0x00318802, 0x0031FC01, 0x00320802, 0x0032F001,
143515 0x0032F807, 0x00331803, 0x00332804, 0x00335402, 0x00338802,
143516 0x00340802, 0x0034F807, 0x00351803, 0x00352804, 0x00355C01,
143517 0x00358802, 0x0035E401, 0x00360802, 0x00372801, 0x00373C06,
143518 0x00375801, 0x00376008, 0x0037C803, 0x0038C401, 0x0038D007,
143519 0x0038FC01, 0x00391C09, 0x00396802, 0x003AC401, 0x003AD006,
143520 0x003AEC02, 0x003B2006, 0x003C041F, 0x003CD00C, 0x003DC417,
143521 0x003E340B, 0x003E6424, 0x003EF80F, 0x003F380D, 0x0040AC14,
143522 0x00412806, 0x00415804, 0x00417803, 0x00418803, 0x00419C07,
143523 0x0041C404, 0x0042080C, 0x00423C01, 0x00426806, 0x0043EC01,
143524 0x004D740C, 0x004E400A, 0x00500001, 0x0059B402, 0x005A0001,
143525 0x005A6C02, 0x005BAC03, 0x005C4803, 0x005CC805, 0x005D4802,
143526 0x005DC802, 0x005ED023, 0x005F6004, 0x005F7401, 0x0060000F,
143527 0x0062A401, 0x0064800C, 0x0064C00C, 0x00650001, 0x00651002,
143528 0x0066C011, 0x00672002, 0x00677822, 0x00685C05, 0x00687802,
143529 0x0069540A, 0x0069801D, 0x0069FC01, 0x006A8007, 0x006AA006,
143530 0x006C0005, 0x006CD011, 0x006D6823, 0x006E0003, 0x006E840D,
143531 0x006F980E, 0x006FF004, 0x00709014, 0x0070EC05, 0x0071F802,
143532 0x00730008, 0x00734019, 0x0073B401, 0x0073C803, 0x00770027,
143533 0x0077F004, 0x007EF401, 0x007EFC03, 0x007F3403, 0x007F7403,
143534 0x007FB403, 0x007FF402, 0x00800065, 0x0081A806, 0x0081E805,
143535 0x00822805, 0x0082801A, 0x00834021, 0x00840002, 0x00840C04,
143536 0x00842002, 0x00845001, 0x00845803, 0x00847806, 0x00849401,
143537 0x00849C01, 0x0084A401, 0x0084B801, 0x0084E802, 0x00850005,
143538 0x00852804, 0x00853C01, 0x00864264, 0x00900027, 0x0091000B,
143539 0x0092704E, 0x00940200, 0x009C0475, 0x009E53B9, 0x00AD400A,
143540 0x00B39406, 0x00B3BC03, 0x00B3E404, 0x00B3F802, 0x00B5C001,
143541 0x00B5FC01, 0x00B7804F, 0x00B8C00C, 0x00BA001A, 0x00BA6C59,
143542 0x00BC00D6, 0x00BFC00C, 0x00C00005, 0x00C02019, 0x00C0A807,
143543 0x00C0D802, 0x00C0F403, 0x00C26404, 0x00C28001, 0x00C3EC01,
143544 0x00C64002, 0x00C6580A, 0x00C70024, 0x00C8001F, 0x00C8A81E,
143545 0x00C94001, 0x00C98020, 0x00CA2827, 0x00CB003F, 0x00CC0100,
143546 0x01370040, 0x02924037, 0x0293F802, 0x02983403, 0x0299BC10,
143547 0x029A7C01, 0x029BC008, 0x029C0017, 0x029C8002, 0x029E2402,
143548 0x02A00801, 0x02A01801, 0x02A02C01, 0x02A08C09, 0x02A0D804,
143549 0x02A1D004, 0x02A20002, 0x02A2D011, 0x02A33802, 0x02A38012,
143550 0x02A3E003, 0x02A4980A, 0x02A51C0D, 0x02A57C01, 0x02A60004,
143551 0x02A6CC1B, 0x02A77802, 0x02A8A40E, 0x02A90C01, 0x02A93002,
143552 0x02A97004, 0x02A9DC03, 0x02A9EC01, 0x02AAC001, 0x02AAC803,
143553 0x02AADC02, 0x02AAF802, 0x02AB0401, 0x02AB7802, 0x02ABAC07,
143554 0x02ABD402, 0x02AF8C0B, 0x03600001, 0x036DFC02, 0x036FFC02,
143555 0x037FFC01, 0x03EC7801, 0x03ECA401, 0x03EEC810, 0x03F4F802,
143556 0x03F7F002, 0x03F8001A, 0x03F88007, 0x03F8C023, 0x03F95013,
143557 0x03F9A004, 0x03FBFC01, 0x03FC040F, 0x03FC6807, 0x03FCEC06,
143558 0x03FD6C0B, 0x03FF8007, 0x03FFA007, 0x03FFE405, 0x04040003,
143559 0x0404DC09, 0x0405E411, 0x0406400C, 0x0407402E, 0x040E7C01,
143560 0x040F4001, 0x04215C01, 0x04247C01, 0x0424FC01, 0x04280403,
 
 
143561 0x04281402, 0x04283004, 0x0428E003, 0x0428FC01, 0x04294009,
143562 0x0429FC01, 0x042CE407, 0x04400003, 0x0440E016, 0x04420003,
143563 0x0442C012, 0x04440003, 0x04449C0E, 0x04450004, 0x04460003,
143564 0x0446CC0E, 0x04471404, 0x045AAC0D, 0x0491C004, 0x05BD442E,
143565 0x05BE3C04, 0x074000F6, 0x07440027, 0x0744A4B5, 0x07480046,
143566 0x074C0057, 0x075B0401, 0x075B6C01, 0x075BEC01, 0x075C5401,
143567 0x075CD401, 0x075D3C01, 0x075DBC01, 0x075E2401, 0x075EA401,
143568 0x075F0C01, 0x07BBC002, 0x07C0002C, 0x07C0C064, 0x07C2800F,
143569 0x07C2C40E, 0x07C3040F, 0x07C3440F, 0x07C4401F, 0x07C4C03C,
143570 0x07C5C02B, 0x07C7981D, 0x07C8402B, 0x07C90009, 0x07C94002,
143571 0x07CC0021, 0x07CCC006, 0x07CCDC46, 0x07CE0014, 0x07CE8025,
143572 0x07CF1805, 0x07CF8011, 0x07D0003F, 0x07D10001, 0x07D108B6,
143573 0x07D3E404, 0x07D4003E, 0x07D50004, 0x07D54018, 0x07D7EC46,
143574 0x07D9140B, 0x07DA0046, 0x07DC0074, 0x38000401, 0x38008060,
143575 0x380400F0,
 
 
 
 
 
143576 };
143577 static const unsigned int aAscii[4] = {
143578 0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001,
143579 };
143580
@@ -143702,12 +143709,12 @@
143702 unsigned char flags;
143703 unsigned char nRange;
143704 } aEntry[] = {
143705 {65, 14, 26}, {181, 64, 1}, {192, 14, 23},
143706 {216, 14, 7}, {256, 1, 48}, {306, 1, 6},
143707 {313, 1, 16}, {330, 1, 46}, {376, 116, 1},
143708 {377, 1, 6}, {383, 104, 1}, {385, 50, 1},
143709 {386, 1, 4}, {390, 44, 1}, {391, 0, 1},
143710 {393, 42, 2}, {395, 0, 1}, {398, 32, 1},
143711 {399, 38, 1}, {400, 40, 1}, {401, 0, 1},
143712 {403, 42, 1}, {404, 46, 1}, {406, 52, 1},
143713 {407, 48, 1}, {408, 0, 1}, {412, 52, 1},
@@ -143716,61 +143723,64 @@
143716 {428, 0, 1}, {430, 60, 1}, {431, 0, 1},
143717 {433, 58, 2}, {435, 1, 4}, {439, 62, 1},
143718 {440, 0, 1}, {444, 0, 1}, {452, 2, 1},
143719 {453, 0, 1}, {455, 2, 1}, {456, 0, 1},
143720 {458, 2, 1}, {459, 1, 18}, {478, 1, 18},
143721 {497, 2, 1}, {498, 1, 4}, {502, 122, 1},
143722 {503, 134, 1}, {504, 1, 40}, {544, 110, 1},
143723 {546, 1, 18}, {570, 70, 1}, {571, 0, 1},
143724 {573, 108, 1}, {574, 68, 1}, {577, 0, 1},
143725 {579, 106, 1}, {580, 28, 1}, {581, 30, 1},
143726 {582, 1, 10}, {837, 36, 1}, {880, 1, 4},
143727 {886, 0, 1}, {902, 18, 1}, {904, 16, 3},
143728 {908, 26, 1}, {910, 24, 2}, {913, 14, 17},
143729 {931, 14, 9}, {962, 0, 1}, {975, 4, 1},
143730 {976, 140, 1}, {977, 142, 1}, {981, 146, 1},
143731 {982, 144, 1}, {984, 1, 24}, {1008, 136, 1},
143732 {1009, 138, 1}, {1012, 130, 1}, {1013, 128, 1},
143733 {1015, 0, 1}, {1017, 152, 1}, {1018, 0, 1},
143734 {1021, 110, 3}, {1024, 34, 16}, {1040, 14, 32},
143735 {1120, 1, 34}, {1162, 1, 54}, {1216, 6, 1},
143736 {1217, 1, 14}, {1232, 1, 88}, {1329, 22, 38},
143737 {4256, 66, 38}, {4295, 66, 1}, {4301, 66, 1},
143738 {7680, 1, 150}, {7835, 132, 1}, {7838, 96, 1},
143739 {7840, 1, 96}, {7944, 150, 8}, {7960, 150, 6},
143740 {7976, 150, 8}, {7992, 150, 8}, {8008, 150, 6},
143741 {8025, 151, 8}, {8040, 150, 8}, {8072, 150, 8},
143742 {8088, 150, 8}, {8104, 150, 8}, {8120, 150, 2},
143743 {8122, 126, 2}, {8124, 148, 1}, {8126, 100, 1},
143744 {8136, 124, 4}, {8140, 148, 1}, {8152, 150, 2},
143745 {8154, 120, 2}, {8168, 150, 2}, {8170, 118, 2},
143746 {8172, 152, 1}, {8184, 112, 2}, {8186, 114, 2},
143747 {8188, 148, 1}, {8486, 98, 1}, {8490, 92, 1},
143748 {8491, 94, 1}, {8498, 12, 1}, {8544, 8, 16},
143749 {8579, 0, 1}, {9398, 10, 26}, {11264, 22, 47},
143750 {11360, 0, 1}, {11362, 88, 1}, {11363, 102, 1},
143751 {11364, 90, 1}, {11367, 1, 6}, {11373, 84, 1},
143752 {11374, 86, 1}, {11375, 80, 1}, {11376, 82, 1},
143753 {11378, 0, 1}, {11381, 0, 1}, {11390, 78, 2},
143754 {11392, 1, 100}, {11499, 1, 4}, {11506, 0, 1},
143755 {42560, 1, 46}, {42624, 1, 24}, {42786, 1, 14},
143756 {42802, 1, 62}, {42873, 1, 4}, {42877, 76, 1},
143757 {42878, 1, 10}, {42891, 0, 1}, {42893, 74, 1},
143758 {42896, 1, 4}, {42912, 1, 10}, {42922, 72, 1},
 
 
143759 {65313, 14, 26},
143760 };
143761 static const unsigned short aiOff[] = {
143762 1, 2, 8, 15, 16, 26, 28, 32,
143763 37, 38, 40, 48, 63, 64, 69, 71,
143764 79, 80, 116, 202, 203, 205, 206, 207,
143765 209, 210, 211, 213, 214, 217, 218, 219,
143766 775, 7264, 10792, 10795, 23228, 23256, 30204, 54721,
143767 54753, 54754, 54756, 54787, 54793, 54809, 57153, 57274,
143768 57921, 58019, 58363, 61722, 65268, 65341, 65373, 65406,
143769 65408, 65410, 65415, 65424, 65436, 65439, 65450, 65462,
143770 65472, 65476, 65478, 65480, 65482, 65488, 65506, 65511,
143771 65514, 65521, 65527, 65528, 65529,
 
143772 };
143773
143774 int ret = c;
143775
143776 assert( c>=0 );
@@ -143806,10 +143816,13 @@
143806 if( bRemoveDiacritic ) ret = remove_diacritic(ret);
143807 }
143808
143809 else if( c>=66560 && c<66600 ){
143810 ret = c + 40;
 
 
 
143811 }
143812
143813 return ret;
143814 }
143815 #endif /* defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4) */
143816
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -143493,88 +143493,95 @@
143493 const static unsigned int aEntry[] = {
143494 0x00000030, 0x0000E807, 0x00016C06, 0x0001EC2F, 0x0002AC07,
143495 0x0002D001, 0x0002D803, 0x0002EC01, 0x0002FC01, 0x00035C01,
143496 0x0003DC01, 0x000B0804, 0x000B480E, 0x000B9407, 0x000BB401,
143497 0x000BBC81, 0x000DD401, 0x000DF801, 0x000E1002, 0x000E1C01,
143498 0x000FD801, 0x00120808, 0x00156806, 0x00162402, 0x00163403,
143499 0x00164437, 0x0017CC02, 0x0018001D, 0x00187802, 0x00192C15,
143500 0x0019A804, 0x0019C001, 0x001B5001, 0x001B580F, 0x001B9C07,
143501 0x001BF402, 0x001C000E, 0x001C3C01, 0x001C4401, 0x001CC01B,
143502 0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804, 0x00206C09,
143503 0x00209403, 0x0020A405, 0x0020C00F, 0x00216403, 0x00217801,
143504 0x00239020, 0x0024E803, 0x0024F812, 0x00254407, 0x00258804,
143505 0x0025C001, 0x00260403, 0x0026F001, 0x0026F807, 0x00271C02,
143506 0x00272C03, 0x00275C01, 0x00278802, 0x0027C802, 0x0027E802,
143507 0x00280403, 0x0028F001, 0x0028F805, 0x00291C02, 0x00292C03,
143508 0x00294401, 0x0029C002, 0x0029D401, 0x002A0403, 0x002AF001,
143509 0x002AF808, 0x002B1C03, 0x002B2C03, 0x002B8802, 0x002BC002,
143510 0x002C0403, 0x002CF001, 0x002CF807, 0x002D1C02, 0x002D2C03,
143511 0x002D5802, 0x002D8802, 0x002DC001, 0x002E0801, 0x002EF805,
143512 0x002F1803, 0x002F2804, 0x002F5C01, 0x002FCC08, 0x00300004,
143513 0x0030F807, 0x00311803, 0x00312804, 0x00315402, 0x00318802,
143514 0x0031FC01, 0x00320403, 0x0032F001, 0x0032F807, 0x00331803,
143515 0x00332804, 0x00335402, 0x00338802, 0x00340403, 0x0034F807,
143516 0x00351803, 0x00352804, 0x00355C01, 0x00358802, 0x0035E401,
143517 0x00360802, 0x00372801, 0x00373C06, 0x00375801, 0x00376008,
143518 0x0037C803, 0x0038C401, 0x0038D007, 0x0038FC01, 0x00391C09,
143519 0x00396802, 0x003AC401, 0x003AD006, 0x003AEC02, 0x003B2006,
143520 0x003C041F, 0x003CD00C, 0x003DC417, 0x003E340B, 0x003E6424,
143521 0x003EF80F, 0x003F380D, 0x0040AC14, 0x00412806, 0x00415804,
143522 0x00417803, 0x00418803, 0x00419C07, 0x0041C404, 0x0042080C,
143523 0x00423C01, 0x00426806, 0x0043EC01, 0x004D740C, 0x004E400A,
143524 0x00500001, 0x0059B402, 0x005A0001, 0x005A6C02, 0x005BAC03,
143525 0x005C4803, 0x005CC805, 0x005D4802, 0x005DC802, 0x005ED023,
143526 0x005F6004, 0x005F7401, 0x0060000F, 0x0062A401, 0x0064800C,
143527 0x0064C00C, 0x00650001, 0x00651002, 0x0066C011, 0x00672002,
143528 0x00677822, 0x00685C05, 0x00687802, 0x0069540A, 0x0069801D,
143529 0x0069FC01, 0x006A8007, 0x006AA006, 0x006AC00F, 0x006C0005,
143530 0x006CD011, 0x006D6823, 0x006E0003, 0x006E840D, 0x006F980E,
143531 0x006FF004, 0x00709014, 0x0070EC05, 0x0071F802, 0x00730008,
143532 0x00734019, 0x0073B401, 0x0073C803, 0x0073E002, 0x00770036,
143533 0x0077F004, 0x007EF401, 0x007EFC03, 0x007F3403, 0x007F7403,
143534 0x007FB403, 0x007FF402, 0x00800065, 0x0081980A, 0x0081E805,
143535 0x00822805, 0x0082801E, 0x00834021, 0x00840002, 0x00840C04,
143536 0x00842002, 0x00845001, 0x00845803, 0x00847806, 0x00849401,
143537 0x00849C01, 0x0084A401, 0x0084B801, 0x0084E802, 0x00850005,
143538 0x00852804, 0x00853C01, 0x0086426B, 0x00900027, 0x0091000B,
143539 0x0092704E, 0x00940276, 0x009E53E0, 0x00ADD820, 0x00AE6022,
143540 0x00AEF40C, 0x00AF2808, 0x00B39406, 0x00B3BC03, 0x00B3E404,
143541 0x00B3F802, 0x00B5C001, 0x00B5FC01, 0x00B7804F, 0x00B8C013,
143542 0x00BA001A, 0x00BA6C59, 0x00BC00D6, 0x00BFC00C, 0x00C00005,
143543 0x00C02019, 0x00C0A807, 0x00C0D802, 0x00C0F403, 0x00C26404,
143544 0x00C28001, 0x00C3EC01, 0x00C64002, 0x00C6580A, 0x00C70024,
143545 0x00C8001F, 0x00C8A81E, 0x00C94001, 0x00C98020, 0x00CA2827,
143546 0x00CB003F, 0x00CC0100, 0x01370040, 0x02924037, 0x0293F802,
143547 0x02983403, 0x0299BC10, 0x029A7C01, 0x029BC008, 0x029C0017,
143548 0x029C8002, 0x029E2402, 0x02A00801, 0x02A01801, 0x02A02C01,
143549 0x02A08C09, 0x02A0D804, 0x02A1D004, 0x02A20002, 0x02A2D011,
143550 0x02A33802, 0x02A38012, 0x02A3E003, 0x02A4980A, 0x02A51C0D,
143551 0x02A57C01, 0x02A60004, 0x02A6CC1B, 0x02A77802, 0x02A79401,
143552 0x02A8A40E, 0x02A90C01, 0x02A93002, 0x02A97004, 0x02A9DC03,
143553 0x02A9EC03, 0x02AAC001, 0x02AAC803, 0x02AADC02, 0x02AAF802,
143554 0x02AB0401, 0x02AB7802, 0x02ABAC07, 0x02ABD402, 0x02AD6C01,
143555 0x02AF8C0B, 0x03600001, 0x036DFC02, 0x036FFC02, 0x037FFC01,
143556 0x03EC7801, 0x03ECA401, 0x03EEC810, 0x03F4F802, 0x03F7F002,
143557 0x03F8001A, 0x03F8800E, 0x03F8C023, 0x03F95013, 0x03F9A004,
143558 0x03FBFC01, 0x03FC040F, 0x03FC6807, 0x03FCEC06, 0x03FD6C0B,
143559 0x03FF8007, 0x03FFA007, 0x03FFE405, 0x04040003, 0x0404DC09,
143560 0x0405E411, 0x04063001, 0x0406400C, 0x04068001, 0x0407402E,
143561 0x040B8001, 0x040DD805, 0x040E7C01, 0x040F4001, 0x0415BC01,
143562 0x04215C01, 0x0421DC02, 0x04247C01, 0x0424FC01, 0x04280403,
143563 0x04281402, 0x04283004, 0x0428E003, 0x0428FC01, 0x04294009,
143564 0x0429FC01, 0x042B2001, 0x042B9402, 0x042BC007, 0x042CE407,
143565 0x042E6404, 0x04400003, 0x0440E016, 0x0441FC04, 0x0442C012,
143566 0x04440003, 0x04449C0E, 0x04450004, 0x0445CC03, 0x04460003,
143567 0x0446CC0E, 0x04471404, 0x04473401, 0x0448B012, 0x044B7C0C,
143568 0x044C0403, 0x044CF001, 0x044CF807, 0x044D1C02, 0x044D2C03,
143569 0x044D5C01, 0x044D8802, 0x044D9807, 0x044DC005, 0x0452C014,
143570 0x04531801, 0x0456BC07, 0x0456E012, 0x0458C014, 0x045AAC0D,
143571 0x0491C005, 0x05A9B802, 0x05ABC006, 0x05ACC010, 0x05AD1002,
143572 0x05BD442E, 0x05BE3C04, 0x06F27008, 0x074000F6, 0x07440027,
143573 0x0744A4B5, 0x07480046, 0x074C0057, 0x075B0401, 0x075B6C01,
143574 0x075BEC01, 0x075C5401, 0x075CD401, 0x075D3C01, 0x075DBC01,
143575 0x075E2401, 0x075EA401, 0x075F0C01, 0x07A34007, 0x07BBC002,
143576 0x07C0002C, 0x07C0C064, 0x07C2800F, 0x07C2C40F, 0x07C3040F,
143577 0x07C34425, 0x07C4401F, 0x07C4C03C, 0x07C5C02B, 0x07C7981D,
143578 0x07C8402B, 0x07C90009, 0x07C94002, 0x07CC002D, 0x07CCC04E,
143579 0x07CE004F, 0x07CF5024, 0x07D000FF, 0x07D4004B, 0x07D5402A,
143580 0x07D5EC29, 0x07D6949E, 0x07D9148B, 0x07DB800D, 0x07DBC004,
143581 0x07DC0074, 0x07DE0055, 0x07E0000C, 0x07E04038, 0x07E1400A,
143582 0x07E18028, 0x07E2401E, 0x38000401, 0x38008060, 0x380400F0,
143583 };
143584 static const unsigned int aAscii[4] = {
143585 0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001,
143586 };
143587
@@ -143702,12 +143709,12 @@
143709 unsigned char flags;
143710 unsigned char nRange;
143711 } aEntry[] = {
143712 {65, 14, 26}, {181, 64, 1}, {192, 14, 23},
143713 {216, 14, 7}, {256, 1, 48}, {306, 1, 6},
143714 {313, 1, 16}, {330, 1, 46}, {376, 126, 1},
143715 {377, 1, 6}, {383, 114, 1}, {385, 50, 1},
143716 {386, 1, 4}, {390, 44, 1}, {391, 0, 1},
143717 {393, 42, 2}, {395, 0, 1}, {398, 32, 1},
143718 {399, 38, 1}, {400, 40, 1}, {401, 0, 1},
143719 {403, 42, 1}, {404, 46, 1}, {406, 52, 1},
143720 {407, 48, 1}, {408, 0, 1}, {412, 52, 1},
@@ -143716,61 +143723,64 @@
143723 {428, 0, 1}, {430, 60, 1}, {431, 0, 1},
143724 {433, 58, 2}, {435, 1, 4}, {439, 62, 1},
143725 {440, 0, 1}, {444, 0, 1}, {452, 2, 1},
143726 {453, 0, 1}, {455, 2, 1}, {456, 0, 1},
143727 {458, 2, 1}, {459, 1, 18}, {478, 1, 18},
143728 {497, 2, 1}, {498, 1, 4}, {502, 132, 1},
143729 {503, 144, 1}, {504, 1, 40}, {544, 120, 1},
143730 {546, 1, 18}, {570, 70, 1}, {571, 0, 1},
143731 {573, 118, 1}, {574, 68, 1}, {577, 0, 1},
143732 {579, 116, 1}, {580, 28, 1}, {581, 30, 1},
143733 {582, 1, 10}, {837, 36, 1}, {880, 1, 4},
143734 {886, 0, 1}, {895, 36, 1}, {902, 18, 1},
143735 {904, 16, 3}, {908, 26, 1}, {910, 24, 2},
143736 {913, 14, 17}, {931, 14, 9}, {962, 0, 1},
143737 {975, 4, 1}, {976, 150, 1}, {977, 152, 1},
143738 {981, 156, 1}, {982, 154, 1}, {984, 1, 24},
143739 {1008, 146, 1}, {1009, 148, 1}, {1012, 140, 1},
143740 {1013, 138, 1}, {1015, 0, 1}, {1017, 162, 1},
143741 {1018, 0, 1}, {1021, 120, 3}, {1024, 34, 16},
143742 {1040, 14, 32}, {1120, 1, 34}, {1162, 1, 54},
143743 {1216, 6, 1}, {1217, 1, 14}, {1232, 1, 96},
143744 {1329, 22, 38}, {4256, 66, 38}, {4295, 66, 1},
143745 {4301, 66, 1}, {7680, 1, 150}, {7835, 142, 1},
143746 {7838, 106, 1}, {7840, 1, 96}, {7944, 160, 8},
143747 {7960, 160, 6}, {7976, 160, 8}, {7992, 160, 8},
143748 {8008, 160, 6}, {8025, 161, 8}, {8040, 160, 8},
143749 {8072, 160, 8}, {8088, 160, 8}, {8104, 160, 8},
143750 {8120, 160, 2}, {8122, 136, 2}, {8124, 158, 1},
143751 {8126, 110, 1}, {8136, 134, 4}, {8140, 158, 1},
143752 {8152, 160, 2}, {8154, 130, 2}, {8168, 160, 2},
143753 {8170, 128, 2}, {8172, 162, 1}, {8184, 122, 2},
143754 {8186, 124, 2}, {8188, 158, 1}, {8486, 108, 1},
143755 {8490, 102, 1}, {8491, 104, 1}, {8498, 12, 1},
143756 {8544, 8, 16}, {8579, 0, 1}, {9398, 10, 26},
143757 {11264, 22, 47}, {11360, 0, 1}, {11362, 98, 1},
143758 {11363, 112, 1}, {11364, 100, 1}, {11367, 1, 6},
143759 {11373, 94, 1}, {11374, 96, 1}, {11375, 90, 1},
143760 {11376, 92, 1}, {11378, 0, 1}, {11381, 0, 1},
143761 {11390, 88, 2}, {11392, 1, 100}, {11499, 1, 4},
143762 {11506, 0, 1}, {42560, 1, 46}, {42624, 1, 28},
143763 {42786, 1, 14}, {42802, 1, 62}, {42873, 1, 4},
143764 {42877, 86, 1}, {42878, 1, 10}, {42891, 0, 1},
143765 {42893, 82, 1}, {42896, 1, 4}, {42902, 1, 20},
143766 {42922, 76, 1}, {42923, 72, 1}, {42924, 74, 1},
143767 {42925, 78, 1}, {42928, 84, 1}, {42929, 80, 1},
143768 {65313, 14, 26},
143769 };
143770 static const unsigned short aiOff[] = {
143771 1, 2, 8, 15, 16, 26, 28, 32,
143772 37, 38, 40, 48, 63, 64, 69, 71,
143773 79, 80, 116, 202, 203, 205, 206, 207,
143774 209, 210, 211, 213, 214, 217, 218, 219,
143775 775, 7264, 10792, 10795, 23217, 23221, 23228, 23231,
143776 23254, 23256, 23278, 30204, 54721, 54753, 54754, 54756,
143777 54787, 54793, 54809, 57153, 57274, 57921, 58019, 58363,
143778 61722, 65268, 65341, 65373, 65406, 65408, 65410, 65415,
143779 65424, 65436, 65439, 65450, 65462, 65472, 65476, 65478,
143780 65480, 65482, 65488, 65506, 65511, 65514, 65521, 65527,
143781 65528, 65529,
143782 };
143783
143784 int ret = c;
143785
143786 assert( c>=0 );
@@ -143806,10 +143816,13 @@
143816 if( bRemoveDiacritic ) ret = remove_diacritic(ret);
143817 }
143818
143819 else if( c>=66560 && c<66600 ){
143820 ret = c + 40;
143821 }
143822 else if( c>=71840 && c<71872 ){
143823 ret = c + 32;
143824 }
143825
143826 return ret;
143827 }
143828 #endif /* defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4) */
143829
+132 -120
--- src/unicode.c
+++ src/unicode.c
@@ -43,89 +43,95 @@
4343
static const unsigned int aEntry[] = {
4444
0x00000030, 0x0000E807, 0x00016C06, 0x0001EC2F, 0x0002AC07,
4545
0x0002D001, 0x0002D803, 0x0002EC01, 0x0002FC01, 0x00035C01,
4646
0x0003DC01, 0x000B0804, 0x000B480E, 0x000B9407, 0x000BB401,
4747
0x000BBC81, 0x000DD401, 0x000DF801, 0x000E1002, 0x000E1C01,
48
- 0x000FD801, 0x00120808, 0x00156806, 0x00162402, 0x00163C01,
49
- 0x00164437, 0x0017CC02, 0x00180005, 0x00181816, 0x00187802,
50
- 0x00192C15, 0x0019A804, 0x0019C001, 0x001B5001, 0x001B580F,
51
- 0x001B9C07, 0x001BF402, 0x001C000E, 0x001C3C01, 0x001C4401,
52
- 0x001CC01B, 0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804,
53
- 0x00206C09, 0x00209403, 0x0020A405, 0x0020C00F, 0x00216403,
54
- 0x00217801, 0x0023901B, 0x00240004, 0x0024E803, 0x0024F812,
55
- 0x00254407, 0x00258804, 0x0025C001, 0x00260403, 0x0026F001,
56
- 0x0026F807, 0x00271C02, 0x00272C03, 0x00275C01, 0x00278802,
57
- 0x0027C802, 0x0027E802, 0x00280403, 0x0028F001, 0x0028F805,
58
- 0x00291C02, 0x00292C03, 0x00294401, 0x0029C002, 0x0029D401,
59
- 0x002A0403, 0x002AF001, 0x002AF808, 0x002B1C03, 0x002B2C03,
60
- 0x002B8802, 0x002BC002, 0x002C0403, 0x002CF001, 0x002CF807,
61
- 0x002D1C02, 0x002D2C03, 0x002D5802, 0x002D8802, 0x002DC001,
62
- 0x002E0801, 0x002EF805, 0x002F1803, 0x002F2804, 0x002F5C01,
63
- 0x002FCC08, 0x00300403, 0x0030F807, 0x00311803, 0x00312804,
64
- 0x00315402, 0x00318802, 0x0031FC01, 0x00320802, 0x0032F001,
65
- 0x0032F807, 0x00331803, 0x00332804, 0x00335402, 0x00338802,
66
- 0x00340802, 0x0034F807, 0x00351803, 0x00352804, 0x00355C01,
67
- 0x00358802, 0x0035E401, 0x00360802, 0x00372801, 0x00373C06,
68
- 0x00375801, 0x00376008, 0x0037C803, 0x0038C401, 0x0038D007,
69
- 0x0038FC01, 0x00391C09, 0x00396802, 0x003AC401, 0x003AD006,
70
- 0x003AEC02, 0x003B2006, 0x003C041F, 0x003CD00C, 0x003DC417,
71
- 0x003E340B, 0x003E6424, 0x003EF80F, 0x003F380D, 0x0040AC14,
72
- 0x00412806, 0x00415804, 0x00417803, 0x00418803, 0x00419C07,
73
- 0x0041C404, 0x0042080C, 0x00423C01, 0x00426806, 0x0043EC01,
74
- 0x004D740C, 0x004E400A, 0x00500001, 0x0059B402, 0x005A0001,
75
- 0x005A6C02, 0x005BAC03, 0x005C4803, 0x005CC805, 0x005D4802,
76
- 0x005DC802, 0x005ED023, 0x005F6004, 0x005F7401, 0x0060000F,
77
- 0x0062A401, 0x0064800C, 0x0064C00C, 0x00650001, 0x00651002,
78
- 0x0066C011, 0x00672002, 0x00677822, 0x00685C05, 0x00687802,
79
- 0x0069540A, 0x0069801D, 0x0069FC01, 0x006A8007, 0x006AA006,
80
- 0x006C0005, 0x006CD011, 0x006D6823, 0x006E0003, 0x006E840D,
81
- 0x006F980E, 0x006FF004, 0x00709014, 0x0070EC05, 0x0071F802,
82
- 0x00730008, 0x00734019, 0x0073B401, 0x0073C803, 0x00770027,
48
+ 0x000FD801, 0x00120808, 0x00156806, 0x00162402, 0x00163403,
49
+ 0x00164437, 0x0017CC02, 0x0018001D, 0x00187802, 0x00192C15,
50
+ 0x0019A804, 0x0019C001, 0x001B5001, 0x001B580F, 0x001B9C07,
51
+ 0x001BF402, 0x001C000E, 0x001C3C01, 0x001C4401, 0x001CC01B,
52
+ 0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804, 0x00206C09,
53
+ 0x00209403, 0x0020A405, 0x0020C00F, 0x00216403, 0x00217801,
54
+ 0x00239020, 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, 0x00355C01, 0x00358802, 0x0035E401,
67
+ 0x00360802, 0x00372801, 0x00373C06, 0x00375801, 0x00376008,
68
+ 0x0037C803, 0x0038C401, 0x0038D007, 0x0038FC01, 0x00391C09,
69
+ 0x00396802, 0x003AC401, 0x003AD006, 0x003AEC02, 0x003B2006,
70
+ 0x003C041F, 0x003CD00C, 0x003DC417, 0x003E340B, 0x003E6424,
71
+ 0x003EF80F, 0x003F380D, 0x0040AC14, 0x00412806, 0x00415804,
72
+ 0x00417803, 0x00418803, 0x00419C07, 0x0041C404, 0x0042080C,
73
+ 0x00423C01, 0x00426806, 0x0043EC01, 0x004D740C, 0x004E400A,
74
+ 0x00500001, 0x0059B402, 0x005A0001, 0x005A6C02, 0x005BAC03,
75
+ 0x005C4803, 0x005CC805, 0x005D4802, 0x005DC802, 0x005ED023,
76
+ 0x005F6004, 0x005F7401, 0x0060000F, 0x0062A401, 0x0064800C,
77
+ 0x0064C00C, 0x00650001, 0x00651002, 0x0066C011, 0x00672002,
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,
8383
0x0077F004, 0x007EF401, 0x007EFC03, 0x007F3403, 0x007F7403,
84
- 0x007FB403, 0x007FF402, 0x00800065, 0x0081A806, 0x0081E805,
85
- 0x00822805, 0x0082801A, 0x00834021, 0x00840002, 0x00840C04,
84
+ 0x007FB403, 0x007FF402, 0x00800065, 0x0081980A, 0x0081E805,
85
+ 0x00822805, 0x0082801E, 0x00834021, 0x00840002, 0x00840C04,
8686
0x00842002, 0x00845001, 0x00845803, 0x00847806, 0x00849401,
8787
0x00849C01, 0x0084A401, 0x0084B801, 0x0084E802, 0x00850005,
88
- 0x00852804, 0x00853C01, 0x00864264, 0x00900027, 0x0091000B,
89
- 0x0092704E, 0x00940200, 0x009C0475, 0x009E53B9, 0x00AD400A,
90
- 0x00B39406, 0x00B3BC03, 0x00B3E404, 0x00B3F802, 0x00B5C001,
91
- 0x00B5FC01, 0x00B7804F, 0x00B8C00C, 0x00BA001A, 0x00BA6C59,
92
- 0x00BC00D6, 0x00BFC00C, 0x00C00005, 0x00C02019, 0x00C0A807,
93
- 0x00C0D802, 0x00C0F403, 0x00C26404, 0x00C28001, 0x00C3EC01,
94
- 0x00C64002, 0x00C6580A, 0x00C70024, 0x00C8001F, 0x00C8A81E,
95
- 0x00C94001, 0x00C98020, 0x00CA2827, 0x00CB003F, 0x00CC0100,
96
- 0x01370040, 0x02924037, 0x0293F802, 0x02983403, 0x0299BC10,
97
- 0x029A7C01, 0x029BC008, 0x029C0017, 0x029C8002, 0x029E2402,
98
- 0x02A00801, 0x02A01801, 0x02A02C01, 0x02A08C09, 0x02A0D804,
99
- 0x02A1D004, 0x02A20002, 0x02A2D011, 0x02A33802, 0x02A38012,
100
- 0x02A3E003, 0x02A4980A, 0x02A51C0D, 0x02A57C01, 0x02A60004,
101
- 0x02A6CC1B, 0x02A77802, 0x02A8A40E, 0x02A90C01, 0x02A93002,
102
- 0x02A97004, 0x02A9DC03, 0x02A9EC01, 0x02AAC001, 0x02AAC803,
103
- 0x02AADC02, 0x02AAF802, 0x02AB0401, 0x02AB7802, 0x02ABAC07,
104
- 0x02ABD402, 0x02AF8C0B, 0x03600001, 0x036DFC02, 0x036FFC02,
105
- 0x037FFC02, 0x03E3FC01, 0x03EC7801, 0x03ECA401, 0x03EEC810,
106
- 0x03F4F802, 0x03F7F002, 0x03F8001A, 0x03F88007, 0x03F8C023,
107
- 0x03F95013, 0x03F9A004, 0x03FBFC01, 0x03FC040F, 0x03FC6807,
108
- 0x03FCEC06, 0x03FD6C0B, 0x03FF8007, 0x03FFA007, 0x03FFE405,
109
- 0x04040003, 0x0404DC09, 0x0405E411, 0x0406400C, 0x0407402E,
110
- 0x040E7C01, 0x040F4001, 0x04215C01, 0x04247C01, 0x0424FC01,
111
- 0x04280403, 0x04281402, 0x04283004, 0x0428E003, 0x0428FC01,
112
- 0x04294009, 0x0429FC01, 0x042CE407, 0x04400003, 0x0440E016,
113
- 0x04420003, 0x0442C012, 0x04440003, 0x04449C0E, 0x04450004,
114
- 0x04460003, 0x0446CC0E, 0x04471404, 0x045AAC0D, 0x0491C004,
115
- 0x05BD442E, 0x05BE3C04, 0x074000F6, 0x07440027, 0x0744A4B5,
116
- 0x07480046, 0x074C0057, 0x075B0401, 0x075B6C01, 0x075BEC01,
117
- 0x075C5401, 0x075CD401, 0x075D3C01, 0x075DBC01, 0x075E2401,
118
- 0x075EA401, 0x075F0C01, 0x07BBC002, 0x07C0002C, 0x07C0C064,
119
- 0x07C2800F, 0x07C2C40E, 0x07C3040F, 0x07C3440F, 0x07C4401F,
120
- 0x07C4C03C, 0x07C5C02B, 0x07C7981D, 0x07C8402B, 0x07C90009,
121
- 0x07C94002, 0x07CC0021, 0x07CCC006, 0x07CCDC46, 0x07CE0014,
122
- 0x07CE8025, 0x07CF1805, 0x07CF8011, 0x07D0003F, 0x07D10001,
123
- 0x07D108B6, 0x07D3E404, 0x07D4003E, 0x07D50004, 0x07D54018,
124
- 0x07D7EC46, 0x07D9140B, 0x07DA0046, 0x07DC0074, 0x38000401,
125
- 0x38008060, 0x380400F0, 0x3C000001, 0x3FFFF401, 0x40000001,
126
- 0x43FFF401,
88
+ 0x00852804, 0x00853C01, 0x0086426B, 0x00900027, 0x0091000B,
89
+ 0x0092704E, 0x00940276, 0x009E53E0, 0x00ADD820, 0x00AE6022,
90
+ 0x00AEF40C, 0x00AF2808, 0x00B39406, 0x00B3BC03, 0x00B3E404,
91
+ 0x00B3F802, 0x00B5C001, 0x00B5FC01, 0x00B7804F, 0x00B8C013,
92
+ 0x00BA001A, 0x00BA6C59, 0x00BC00D6, 0x00BFC00C, 0x00C00005,
93
+ 0x00C02019, 0x00C0A807, 0x00C0D802, 0x00C0F403, 0x00C26404,
94
+ 0x00C28001, 0x00C3EC01, 0x00C64002, 0x00C6580A, 0x00C70024,
95
+ 0x00C8001F, 0x00C8A81E, 0x00C94001, 0x00C98020, 0x00CA2827,
96
+ 0x00CB003F, 0x00CC0100, 0x01370040, 0x02924037, 0x0293F802,
97
+ 0x02983403, 0x0299BC10, 0x029A7C01, 0x029BC008, 0x029C0017,
98
+ 0x029C8002, 0x029E2402, 0x02A00801, 0x02A01801, 0x02A02C01,
99
+ 0x02A08C09, 0x02A0D804, 0x02A1D004, 0x02A20002, 0x02A2D011,
100
+ 0x02A33802, 0x02A38012, 0x02A3E003, 0x02A4980A, 0x02A51C0D,
101
+ 0x02A57C01, 0x02A60004, 0x02A6CC1B, 0x02A77802, 0x02A79401,
102
+ 0x02A8A40E, 0x02A90C01, 0x02A93002, 0x02A97004, 0x02A9DC03,
103
+ 0x02A9EC03, 0x02AAC001, 0x02AAC803, 0x02AADC02, 0x02AAF802,
104
+ 0x02AB0401, 0x02AB7802, 0x02ABAC07, 0x02ABD402, 0x02AD6C01,
105
+ 0x02AF8C0B, 0x03600001, 0x036DFC02, 0x036FFC02, 0x037FFC01,
106
+ 0x03EC7801, 0x03ECA401, 0x03EEC810, 0x03F4F802, 0x03F7F002,
107
+ 0x03F8001A, 0x03F8800E, 0x03F8C023, 0x03F95013, 0x03F9A004,
108
+ 0x03FBFC01, 0x03FC040F, 0x03FC6807, 0x03FCEC06, 0x03FD6C0B,
109
+ 0x03FF8007, 0x03FFA007, 0x03FFE405, 0x04040003, 0x0404DC09,
110
+ 0x0405E411, 0x04063001, 0x0406400C, 0x04068001, 0x0407402E,
111
+ 0x040B8001, 0x040DD805, 0x040E7C01, 0x040F4001, 0x0415BC01,
112
+ 0x04215C01, 0x0421DC02, 0x04247C01, 0x0424FC01, 0x04280403,
113
+ 0x04281402, 0x04283004, 0x0428E003, 0x0428FC01, 0x04294009,
114
+ 0x0429FC01, 0x042B2001, 0x042B9402, 0x042BC007, 0x042CE407,
115
+ 0x042E6404, 0x04400003, 0x0440E016, 0x0441FC04, 0x0442C012,
116
+ 0x04440003, 0x04449C0E, 0x04450004, 0x0445CC03, 0x04460003,
117
+ 0x0446CC0E, 0x04471404, 0x04473401, 0x0448B012, 0x044B7C0C,
118
+ 0x044C0403, 0x044CF001, 0x044CF807, 0x044D1C02, 0x044D2C03,
119
+ 0x044D5C01, 0x044D8802, 0x044D9807, 0x044DC005, 0x0452C014,
120
+ 0x04531801, 0x0456BC07, 0x0456E012, 0x0458C014, 0x045AAC0D,
121
+ 0x0491C005, 0x05A9B802, 0x05ABC006, 0x05ACC010, 0x05AD1002,
122
+ 0x05BD442E, 0x05BE3C04, 0x06F27008, 0x074000F6, 0x07440027,
123
+ 0x0744A4B5, 0x07480046, 0x074C0057, 0x075B0401, 0x075B6C01,
124
+ 0x075BEC01, 0x075C5401, 0x075CD401, 0x075D3C01, 0x075DBC01,
125
+ 0x075E2401, 0x075EA401, 0x075F0C01, 0x07A34007, 0x07BBC002,
126
+ 0x07C0002C, 0x07C0C064, 0x07C2800F, 0x07C2C40F, 0x07C3040F,
127
+ 0x07C34425, 0x07C4401F, 0x07C4C03C, 0x07C5C02B, 0x07C7981D,
128
+ 0x07C8402B, 0x07C90009, 0x07C94002, 0x07CC002D, 0x07CCC04E,
129
+ 0x07CE004F, 0x07CF5024, 0x07D000FF, 0x07D4004B, 0x07D5402A,
130
+ 0x07D5EC29, 0x07D6949E, 0x07D9148B, 0x07DB800D, 0x07DBC004,
131
+ 0x07DC0074, 0x07DE0055, 0x07E0000C, 0x07E04038, 0x07E1400A,
132
+ 0x07E18028, 0x07E2401E, 0x38000401, 0x38008060, 0x380400F0,
127133
};
128134
static const unsigned int aAscii[4] = {
129135
0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001,
130136
};
131137
@@ -253,12 +259,12 @@
253259
unsigned char flags;
254260
unsigned char nRange;
255261
} aEntry[] = {
256262
{65, 14, 26}, {181, 64, 1}, {192, 14, 23},
257263
{216, 14, 7}, {256, 1, 48}, {306, 1, 6},
258
- {313, 1, 16}, {330, 1, 46}, {376, 116, 1},
259
- {377, 1, 6}, {383, 104, 1}, {385, 50, 1},
264
+ {313, 1, 16}, {330, 1, 46}, {376, 126, 1},
265
+ {377, 1, 6}, {383, 114, 1}, {385, 50, 1},
260266
{386, 1, 4}, {390, 44, 1}, {391, 0, 1},
261267
{393, 42, 2}, {395, 0, 1}, {398, 32, 1},
262268
{399, 38, 1}, {400, 40, 1}, {401, 0, 1},
263269
{403, 42, 1}, {404, 46, 1}, {406, 52, 1},
264270
{407, 48, 1}, {408, 0, 1}, {412, 52, 1},
@@ -267,61 +273,64 @@
267273
{428, 0, 1}, {430, 60, 1}, {431, 0, 1},
268274
{433, 58, 2}, {435, 1, 4}, {439, 62, 1},
269275
{440, 0, 1}, {444, 0, 1}, {452, 2, 1},
270276
{453, 0, 1}, {455, 2, 1}, {456, 0, 1},
271277
{458, 2, 1}, {459, 1, 18}, {478, 1, 18},
272
- {497, 2, 1}, {498, 1, 4}, {502, 122, 1},
273
- {503, 134, 1}, {504, 1, 40}, {544, 110, 1},
278
+ {497, 2, 1}, {498, 1, 4}, {502, 132, 1},
279
+ {503, 144, 1}, {504, 1, 40}, {544, 120, 1},
274280
{546, 1, 18}, {570, 70, 1}, {571, 0, 1},
275
- {573, 108, 1}, {574, 68, 1}, {577, 0, 1},
276
- {579, 106, 1}, {580, 28, 1}, {581, 30, 1},
281
+ {573, 118, 1}, {574, 68, 1}, {577, 0, 1},
282
+ {579, 116, 1}, {580, 28, 1}, {581, 30, 1},
277283
{582, 1, 10}, {837, 36, 1}, {880, 1, 4},
278
- {886, 0, 1}, {902, 18, 1}, {904, 16, 3},
279
- {908, 26, 1}, {910, 24, 2}, {913, 14, 17},
280
- {931, 14, 9}, {962, 0, 1}, {975, 4, 1},
281
- {976, 140, 1}, {977, 142, 1}, {981, 146, 1},
282
- {982, 144, 1}, {984, 1, 24}, {1008, 136, 1},
283
- {1009, 138, 1}, {1012, 130, 1}, {1013, 128, 1},
284
- {1015, 0, 1}, {1017, 152, 1}, {1018, 0, 1},
285
- {1021, 110, 3}, {1024, 34, 16}, {1040, 14, 32},
286
- {1120, 1, 34}, {1162, 1, 54}, {1216, 6, 1},
287
- {1217, 1, 14}, {1232, 1, 88}, {1329, 22, 38},
288
- {4256, 66, 38}, {4295, 66, 1}, {4301, 66, 1},
289
- {7680, 1, 150}, {7835, 132, 1}, {7838, 96, 1},
290
- {7840, 1, 96}, {7944, 150, 8}, {7960, 150, 6},
291
- {7976, 150, 8}, {7992, 150, 8}, {8008, 150, 6},
292
- {8025, 151, 8}, {8040, 150, 8}, {8072, 150, 8},
293
- {8088, 150, 8}, {8104, 150, 8}, {8120, 150, 2},
294
- {8122, 126, 2}, {8124, 148, 1}, {8126, 100, 1},
295
- {8136, 124, 4}, {8140, 148, 1}, {8152, 150, 2},
296
- {8154, 120, 2}, {8168, 150, 2}, {8170, 118, 2},
297
- {8172, 152, 1}, {8184, 112, 2}, {8186, 114, 2},
298
- {8188, 148, 1}, {8486, 98, 1}, {8490, 92, 1},
299
- {8491, 94, 1}, {8498, 12, 1}, {8544, 8, 16},
300
- {8579, 0, 1}, {9398, 10, 26}, {11264, 22, 47},
301
- {11360, 0, 1}, {11362, 88, 1}, {11363, 102, 1},
302
- {11364, 90, 1}, {11367, 1, 6}, {11373, 84, 1},
303
- {11374, 86, 1}, {11375, 80, 1}, {11376, 82, 1},
304
- {11378, 0, 1}, {11381, 0, 1}, {11390, 78, 2},
305
- {11392, 1, 100}, {11499, 1, 4}, {11506, 0, 1},
306
- {42560, 1, 46}, {42624, 1, 24}, {42786, 1, 14},
307
- {42802, 1, 62}, {42873, 1, 4}, {42877, 76, 1},
308
- {42878, 1, 10}, {42891, 0, 1}, {42893, 74, 1},
309
- {42896, 1, 4}, {42912, 1, 10}, {42922, 72, 1},
284
+ {886, 0, 1}, {895, 36, 1}, {902, 18, 1},
285
+ {904, 16, 3}, {908, 26, 1}, {910, 24, 2},
286
+ {913, 14, 17}, {931, 14, 9}, {962, 0, 1},
287
+ {975, 4, 1}, {976, 150, 1}, {977, 152, 1},
288
+ {981, 156, 1}, {982, 154, 1}, {984, 1, 24},
289
+ {1008, 146, 1}, {1009, 148, 1}, {1012, 140, 1},
290
+ {1013, 138, 1}, {1015, 0, 1}, {1017, 162, 1},
291
+ {1018, 0, 1}, {1021, 120, 3}, {1024, 34, 16},
292
+ {1040, 14, 32}, {1120, 1, 34}, {1162, 1, 54},
293
+ {1216, 6, 1}, {1217, 1, 14}, {1232, 1, 96},
294
+ {1329, 22, 38}, {4256, 66, 38}, {4295, 66, 1},
295
+ {4301, 66, 1}, {7680, 1, 150}, {7835, 142, 1},
296
+ {7838, 106, 1}, {7840, 1, 96}, {7944, 160, 8},
297
+ {7960, 160, 6}, {7976, 160, 8}, {7992, 160, 8},
298
+ {8008, 160, 6}, {8025, 161, 8}, {8040, 160, 8},
299
+ {8072, 160, 8}, {8088, 160, 8}, {8104, 160, 8},
300
+ {8120, 160, 2}, {8122, 136, 2}, {8124, 158, 1},
301
+ {8126, 110, 1}, {8136, 134, 4}, {8140, 158, 1},
302
+ {8152, 160, 2}, {8154, 130, 2}, {8168, 160, 2},
303
+ {8170, 128, 2}, {8172, 162, 1}, {8184, 122, 2},
304
+ {8186, 124, 2}, {8188, 158, 1}, {8486, 108, 1},
305
+ {8490, 102, 1}, {8491, 104, 1}, {8498, 12, 1},
306
+ {8544, 8, 16}, {8579, 0, 1}, {9398, 10, 26},
307
+ {11264, 22, 47}, {11360, 0, 1}, {11362, 98, 1},
308
+ {11363, 112, 1}, {11364, 100, 1}, {11367, 1, 6},
309
+ {11373, 94, 1}, {11374, 96, 1}, {11375, 90, 1},
310
+ {11376, 92, 1}, {11378, 0, 1}, {11381, 0, 1},
311
+ {11390, 88, 2}, {11392, 1, 100}, {11499, 1, 4},
312
+ {11506, 0, 1}, {42560, 1, 46}, {42624, 1, 28},
313
+ {42786, 1, 14}, {42802, 1, 62}, {42873, 1, 4},
314
+ {42877, 86, 1}, {42878, 1, 10}, {42891, 0, 1},
315
+ {42893, 82, 1}, {42896, 1, 4}, {42902, 1, 20},
316
+ {42922, 76, 1}, {42923, 72, 1}, {42924, 74, 1},
317
+ {42925, 78, 1}, {42928, 84, 1}, {42929, 80, 1},
310318
{65313, 14, 26},
311319
};
312320
static const unsigned short aiOff[] = {
313321
1, 2, 8, 15, 16, 26, 28, 32,
314322
37, 38, 40, 48, 63, 64, 69, 71,
315323
79, 80, 116, 202, 203, 205, 206, 207,
316324
209, 210, 211, 213, 214, 217, 218, 219,
317
- 775, 7264, 10792, 10795, 23228, 23256, 30204, 54721,
318
- 54753, 54754, 54756, 54787, 54793, 54809, 57153, 57274,
319
- 57921, 58019, 58363, 61722, 65268, 65341, 65373, 65406,
320
- 65408, 65410, 65415, 65424, 65436, 65439, 65450, 65462,
321
- 65472, 65476, 65478, 65480, 65482, 65488, 65506, 65511,
322
- 65514, 65521, 65527, 65528, 65529,
325
+ 775, 7264, 10792, 10795, 23217, 23221, 23228, 23231,
326
+ 23254, 23256, 23278, 30204, 54721, 54753, 54754, 54756,
327
+ 54787, 54793, 54809, 57153, 57274, 57921, 58019, 58363,
328
+ 61722, 65268, 65341, 65373, 65406, 65408, 65410, 65415,
329
+ 65424, 65436, 65439, 65450, 65462, 65472, 65476, 65478,
330
+ 65480, 65482, 65488, 65506, 65511, 65514, 65521, 65527,
331
+ 65528, 65529,
323332
};
324333
325334
int ret = c;
326335
327336
assert( c>=0 );
@@ -357,9 +366,12 @@
357366
if( bRemoveDiacritic ) ret = unicode_remove_diacritic(ret);
358367
}
359368
360369
else if( c>=66560 && c<66600 ){
361370
ret = c + 40;
371
+ }
372
+ else if( c>=71840 && c<71872 ){
373
+ ret = c + 32;
362374
}
363375
364376
return ret;
365377
}
366378
--- src/unicode.c
+++ src/unicode.c
@@ -43,89 +43,95 @@
43 static const unsigned int aEntry[] = {
44 0x00000030, 0x0000E807, 0x00016C06, 0x0001EC2F, 0x0002AC07,
45 0x0002D001, 0x0002D803, 0x0002EC01, 0x0002FC01, 0x00035C01,
46 0x0003DC01, 0x000B0804, 0x000B480E, 0x000B9407, 0x000BB401,
47 0x000BBC81, 0x000DD401, 0x000DF801, 0x000E1002, 0x000E1C01,
48 0x000FD801, 0x00120808, 0x00156806, 0x00162402, 0x00163C01,
49 0x00164437, 0x0017CC02, 0x00180005, 0x00181816, 0x00187802,
50 0x00192C15, 0x0019A804, 0x0019C001, 0x001B5001, 0x001B580F,
51 0x001B9C07, 0x001BF402, 0x001C000E, 0x001C3C01, 0x001C4401,
52 0x001CC01B, 0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804,
53 0x00206C09, 0x00209403, 0x0020A405, 0x0020C00F, 0x00216403,
54 0x00217801, 0x0023901B, 0x00240004, 0x0024E803, 0x0024F812,
55 0x00254407, 0x00258804, 0x0025C001, 0x00260403, 0x0026F001,
56 0x0026F807, 0x00271C02, 0x00272C03, 0x00275C01, 0x00278802,
57 0x0027C802, 0x0027E802, 0x00280403, 0x0028F001, 0x0028F805,
58 0x00291C02, 0x00292C03, 0x00294401, 0x0029C002, 0x0029D401,
59 0x002A0403, 0x002AF001, 0x002AF808, 0x002B1C03, 0x002B2C03,
60 0x002B8802, 0x002BC002, 0x002C0403, 0x002CF001, 0x002CF807,
61 0x002D1C02, 0x002D2C03, 0x002D5802, 0x002D8802, 0x002DC001,
62 0x002E0801, 0x002EF805, 0x002F1803, 0x002F2804, 0x002F5C01,
63 0x002FCC08, 0x00300403, 0x0030F807, 0x00311803, 0x00312804,
64 0x00315402, 0x00318802, 0x0031FC01, 0x00320802, 0x0032F001,
65 0x0032F807, 0x00331803, 0x00332804, 0x00335402, 0x00338802,
66 0x00340802, 0x0034F807, 0x00351803, 0x00352804, 0x00355C01,
67 0x00358802, 0x0035E401, 0x00360802, 0x00372801, 0x00373C06,
68 0x00375801, 0x00376008, 0x0037C803, 0x0038C401, 0x0038D007,
69 0x0038FC01, 0x00391C09, 0x00396802, 0x003AC401, 0x003AD006,
70 0x003AEC02, 0x003B2006, 0x003C041F, 0x003CD00C, 0x003DC417,
71 0x003E340B, 0x003E6424, 0x003EF80F, 0x003F380D, 0x0040AC14,
72 0x00412806, 0x00415804, 0x00417803, 0x00418803, 0x00419C07,
73 0x0041C404, 0x0042080C, 0x00423C01, 0x00426806, 0x0043EC01,
74 0x004D740C, 0x004E400A, 0x00500001, 0x0059B402, 0x005A0001,
75 0x005A6C02, 0x005BAC03, 0x005C4803, 0x005CC805, 0x005D4802,
76 0x005DC802, 0x005ED023, 0x005F6004, 0x005F7401, 0x0060000F,
77 0x0062A401, 0x0064800C, 0x0064C00C, 0x00650001, 0x00651002,
78 0x0066C011, 0x00672002, 0x00677822, 0x00685C05, 0x00687802,
79 0x0069540A, 0x0069801D, 0x0069FC01, 0x006A8007, 0x006AA006,
80 0x006C0005, 0x006CD011, 0x006D6823, 0x006E0003, 0x006E840D,
81 0x006F980E, 0x006FF004, 0x00709014, 0x0070EC05, 0x0071F802,
82 0x00730008, 0x00734019, 0x0073B401, 0x0073C803, 0x00770027,
83 0x0077F004, 0x007EF401, 0x007EFC03, 0x007F3403, 0x007F7403,
84 0x007FB403, 0x007FF402, 0x00800065, 0x0081A806, 0x0081E805,
85 0x00822805, 0x0082801A, 0x00834021, 0x00840002, 0x00840C04,
86 0x00842002, 0x00845001, 0x00845803, 0x00847806, 0x00849401,
87 0x00849C01, 0x0084A401, 0x0084B801, 0x0084E802, 0x00850005,
88 0x00852804, 0x00853C01, 0x00864264, 0x00900027, 0x0091000B,
89 0x0092704E, 0x00940200, 0x009C0475, 0x009E53B9, 0x00AD400A,
90 0x00B39406, 0x00B3BC03, 0x00B3E404, 0x00B3F802, 0x00B5C001,
91 0x00B5FC01, 0x00B7804F, 0x00B8C00C, 0x00BA001A, 0x00BA6C59,
92 0x00BC00D6, 0x00BFC00C, 0x00C00005, 0x00C02019, 0x00C0A807,
93 0x00C0D802, 0x00C0F403, 0x00C26404, 0x00C28001, 0x00C3EC01,
94 0x00C64002, 0x00C6580A, 0x00C70024, 0x00C8001F, 0x00C8A81E,
95 0x00C94001, 0x00C98020, 0x00CA2827, 0x00CB003F, 0x00CC0100,
96 0x01370040, 0x02924037, 0x0293F802, 0x02983403, 0x0299BC10,
97 0x029A7C01, 0x029BC008, 0x029C0017, 0x029C8002, 0x029E2402,
98 0x02A00801, 0x02A01801, 0x02A02C01, 0x02A08C09, 0x02A0D804,
99 0x02A1D004, 0x02A20002, 0x02A2D011, 0x02A33802, 0x02A38012,
100 0x02A3E003, 0x02A4980A, 0x02A51C0D, 0x02A57C01, 0x02A60004,
101 0x02A6CC1B, 0x02A77802, 0x02A8A40E, 0x02A90C01, 0x02A93002,
102 0x02A97004, 0x02A9DC03, 0x02A9EC01, 0x02AAC001, 0x02AAC803,
103 0x02AADC02, 0x02AAF802, 0x02AB0401, 0x02AB7802, 0x02ABAC07,
104 0x02ABD402, 0x02AF8C0B, 0x03600001, 0x036DFC02, 0x036FFC02,
105 0x037FFC02, 0x03E3FC01, 0x03EC7801, 0x03ECA401, 0x03EEC810,
106 0x03F4F802, 0x03F7F002, 0x03F8001A, 0x03F88007, 0x03F8C023,
107 0x03F95013, 0x03F9A004, 0x03FBFC01, 0x03FC040F, 0x03FC6807,
108 0x03FCEC06, 0x03FD6C0B, 0x03FF8007, 0x03FFA007, 0x03FFE405,
109 0x04040003, 0x0404DC09, 0x0405E411, 0x0406400C, 0x0407402E,
110 0x040E7C01, 0x040F4001, 0x04215C01, 0x04247C01, 0x0424FC01,
111 0x04280403, 0x04281402, 0x04283004, 0x0428E003, 0x0428FC01,
112 0x04294009, 0x0429FC01, 0x042CE407, 0x04400003, 0x0440E016,
113 0x04420003, 0x0442C012, 0x04440003, 0x04449C0E, 0x04450004,
114 0x04460003, 0x0446CC0E, 0x04471404, 0x045AAC0D, 0x0491C004,
115 0x05BD442E, 0x05BE3C04, 0x074000F6, 0x07440027, 0x0744A4B5,
116 0x07480046, 0x074C0057, 0x075B0401, 0x075B6C01, 0x075BEC01,
117 0x075C5401, 0x075CD401, 0x075D3C01, 0x075DBC01, 0x075E2401,
118 0x075EA401, 0x075F0C01, 0x07BBC002, 0x07C0002C, 0x07C0C064,
119 0x07C2800F, 0x07C2C40E, 0x07C3040F, 0x07C3440F, 0x07C4401F,
120 0x07C4C03C, 0x07C5C02B, 0x07C7981D, 0x07C8402B, 0x07C90009,
121 0x07C94002, 0x07CC0021, 0x07CCC006, 0x07CCDC46, 0x07CE0014,
122 0x07CE8025, 0x07CF1805, 0x07CF8011, 0x07D0003F, 0x07D10001,
123 0x07D108B6, 0x07D3E404, 0x07D4003E, 0x07D50004, 0x07D54018,
124 0x07D7EC46, 0x07D9140B, 0x07DA0046, 0x07DC0074, 0x38000401,
125 0x38008060, 0x380400F0, 0x3C000001, 0x3FFFF401, 0x40000001,
126 0x43FFF401,
 
 
 
 
 
 
127 };
128 static const unsigned int aAscii[4] = {
129 0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001,
130 };
131
@@ -253,12 +259,12 @@
253 unsigned char flags;
254 unsigned char nRange;
255 } aEntry[] = {
256 {65, 14, 26}, {181, 64, 1}, {192, 14, 23},
257 {216, 14, 7}, {256, 1, 48}, {306, 1, 6},
258 {313, 1, 16}, {330, 1, 46}, {376, 116, 1},
259 {377, 1, 6}, {383, 104, 1}, {385, 50, 1},
260 {386, 1, 4}, {390, 44, 1}, {391, 0, 1},
261 {393, 42, 2}, {395, 0, 1}, {398, 32, 1},
262 {399, 38, 1}, {400, 40, 1}, {401, 0, 1},
263 {403, 42, 1}, {404, 46, 1}, {406, 52, 1},
264 {407, 48, 1}, {408, 0, 1}, {412, 52, 1},
@@ -267,61 +273,64 @@
267 {428, 0, 1}, {430, 60, 1}, {431, 0, 1},
268 {433, 58, 2}, {435, 1, 4}, {439, 62, 1},
269 {440, 0, 1}, {444, 0, 1}, {452, 2, 1},
270 {453, 0, 1}, {455, 2, 1}, {456, 0, 1},
271 {458, 2, 1}, {459, 1, 18}, {478, 1, 18},
272 {497, 2, 1}, {498, 1, 4}, {502, 122, 1},
273 {503, 134, 1}, {504, 1, 40}, {544, 110, 1},
274 {546, 1, 18}, {570, 70, 1}, {571, 0, 1},
275 {573, 108, 1}, {574, 68, 1}, {577, 0, 1},
276 {579, 106, 1}, {580, 28, 1}, {581, 30, 1},
277 {582, 1, 10}, {837, 36, 1}, {880, 1, 4},
278 {886, 0, 1}, {902, 18, 1}, {904, 16, 3},
279 {908, 26, 1}, {910, 24, 2}, {913, 14, 17},
280 {931, 14, 9}, {962, 0, 1}, {975, 4, 1},
281 {976, 140, 1}, {977, 142, 1}, {981, 146, 1},
282 {982, 144, 1}, {984, 1, 24}, {1008, 136, 1},
283 {1009, 138, 1}, {1012, 130, 1}, {1013, 128, 1},
284 {1015, 0, 1}, {1017, 152, 1}, {1018, 0, 1},
285 {1021, 110, 3}, {1024, 34, 16}, {1040, 14, 32},
286 {1120, 1, 34}, {1162, 1, 54}, {1216, 6, 1},
287 {1217, 1, 14}, {1232, 1, 88}, {1329, 22, 38},
288 {4256, 66, 38}, {4295, 66, 1}, {4301, 66, 1},
289 {7680, 1, 150}, {7835, 132, 1}, {7838, 96, 1},
290 {7840, 1, 96}, {7944, 150, 8}, {7960, 150, 6},
291 {7976, 150, 8}, {7992, 150, 8}, {8008, 150, 6},
292 {8025, 151, 8}, {8040, 150, 8}, {8072, 150, 8},
293 {8088, 150, 8}, {8104, 150, 8}, {8120, 150, 2},
294 {8122, 126, 2}, {8124, 148, 1}, {8126, 100, 1},
295 {8136, 124, 4}, {8140, 148, 1}, {8152, 150, 2},
296 {8154, 120, 2}, {8168, 150, 2}, {8170, 118, 2},
297 {8172, 152, 1}, {8184, 112, 2}, {8186, 114, 2},
298 {8188, 148, 1}, {8486, 98, 1}, {8490, 92, 1},
299 {8491, 94, 1}, {8498, 12, 1}, {8544, 8, 16},
300 {8579, 0, 1}, {9398, 10, 26}, {11264, 22, 47},
301 {11360, 0, 1}, {11362, 88, 1}, {11363, 102, 1},
302 {11364, 90, 1}, {11367, 1, 6}, {11373, 84, 1},
303 {11374, 86, 1}, {11375, 80, 1}, {11376, 82, 1},
304 {11378, 0, 1}, {11381, 0, 1}, {11390, 78, 2},
305 {11392, 1, 100}, {11499, 1, 4}, {11506, 0, 1},
306 {42560, 1, 46}, {42624, 1, 24}, {42786, 1, 14},
307 {42802, 1, 62}, {42873, 1, 4}, {42877, 76, 1},
308 {42878, 1, 10}, {42891, 0, 1}, {42893, 74, 1},
309 {42896, 1, 4}, {42912, 1, 10}, {42922, 72, 1},
 
 
310 {65313, 14, 26},
311 };
312 static const unsigned short aiOff[] = {
313 1, 2, 8, 15, 16, 26, 28, 32,
314 37, 38, 40, 48, 63, 64, 69, 71,
315 79, 80, 116, 202, 203, 205, 206, 207,
316 209, 210, 211, 213, 214, 217, 218, 219,
317 775, 7264, 10792, 10795, 23228, 23256, 30204, 54721,
318 54753, 54754, 54756, 54787, 54793, 54809, 57153, 57274,
319 57921, 58019, 58363, 61722, 65268, 65341, 65373, 65406,
320 65408, 65410, 65415, 65424, 65436, 65439, 65450, 65462,
321 65472, 65476, 65478, 65480, 65482, 65488, 65506, 65511,
322 65514, 65521, 65527, 65528, 65529,
 
323 };
324
325 int ret = c;
326
327 assert( c>=0 );
@@ -357,9 +366,12 @@
357 if( bRemoveDiacritic ) ret = unicode_remove_diacritic(ret);
358 }
359
360 else if( c>=66560 && c<66600 ){
361 ret = c + 40;
 
 
 
362 }
363
364 return ret;
365 }
366
--- src/unicode.c
+++ src/unicode.c
@@ -43,89 +43,95 @@
43 static const unsigned int aEntry[] = {
44 0x00000030, 0x0000E807, 0x00016C06, 0x0001EC2F, 0x0002AC07,
45 0x0002D001, 0x0002D803, 0x0002EC01, 0x0002FC01, 0x00035C01,
46 0x0003DC01, 0x000B0804, 0x000B480E, 0x000B9407, 0x000BB401,
47 0x000BBC81, 0x000DD401, 0x000DF801, 0x000E1002, 0x000E1C01,
48 0x000FD801, 0x00120808, 0x00156806, 0x00162402, 0x00163403,
49 0x00164437, 0x0017CC02, 0x0018001D, 0x00187802, 0x00192C15,
50 0x0019A804, 0x0019C001, 0x001B5001, 0x001B580F, 0x001B9C07,
51 0x001BF402, 0x001C000E, 0x001C3C01, 0x001C4401, 0x001CC01B,
52 0x001E980B, 0x001FAC09, 0x001FD804, 0x00205804, 0x00206C09,
53 0x00209403, 0x0020A405, 0x0020C00F, 0x00216403, 0x00217801,
54 0x00239020, 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, 0x00355C01, 0x00358802, 0x0035E401,
67 0x00360802, 0x00372801, 0x00373C06, 0x00375801, 0x00376008,
68 0x0037C803, 0x0038C401, 0x0038D007, 0x0038FC01, 0x00391C09,
69 0x00396802, 0x003AC401, 0x003AD006, 0x003AEC02, 0x003B2006,
70 0x003C041F, 0x003CD00C, 0x003DC417, 0x003E340B, 0x003E6424,
71 0x003EF80F, 0x003F380D, 0x0040AC14, 0x00412806, 0x00415804,
72 0x00417803, 0x00418803, 0x00419C07, 0x0041C404, 0x0042080C,
73 0x00423C01, 0x00426806, 0x0043EC01, 0x004D740C, 0x004E400A,
74 0x00500001, 0x0059B402, 0x005A0001, 0x005A6C02, 0x005BAC03,
75 0x005C4803, 0x005CC805, 0x005D4802, 0x005DC802, 0x005ED023,
76 0x005F6004, 0x005F7401, 0x0060000F, 0x0062A401, 0x0064800C,
77 0x0064C00C, 0x00650001, 0x00651002, 0x0066C011, 0x00672002,
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 0x0077F004, 0x007EF401, 0x007EFC03, 0x007F3403, 0x007F7403,
84 0x007FB403, 0x007FF402, 0x00800065, 0x0081980A, 0x0081E805,
85 0x00822805, 0x0082801E, 0x00834021, 0x00840002, 0x00840C04,
86 0x00842002, 0x00845001, 0x00845803, 0x00847806, 0x00849401,
87 0x00849C01, 0x0084A401, 0x0084B801, 0x0084E802, 0x00850005,
88 0x00852804, 0x00853C01, 0x0086426B, 0x00900027, 0x0091000B,
89 0x0092704E, 0x00940276, 0x009E53E0, 0x00ADD820, 0x00AE6022,
90 0x00AEF40C, 0x00AF2808, 0x00B39406, 0x00B3BC03, 0x00B3E404,
91 0x00B3F802, 0x00B5C001, 0x00B5FC01, 0x00B7804F, 0x00B8C013,
92 0x00BA001A, 0x00BA6C59, 0x00BC00D6, 0x00BFC00C, 0x00C00005,
93 0x00C02019, 0x00C0A807, 0x00C0D802, 0x00C0F403, 0x00C26404,
94 0x00C28001, 0x00C3EC01, 0x00C64002, 0x00C6580A, 0x00C70024,
95 0x00C8001F, 0x00C8A81E, 0x00C94001, 0x00C98020, 0x00CA2827,
96 0x00CB003F, 0x00CC0100, 0x01370040, 0x02924037, 0x0293F802,
97 0x02983403, 0x0299BC10, 0x029A7C01, 0x029BC008, 0x029C0017,
98 0x029C8002, 0x029E2402, 0x02A00801, 0x02A01801, 0x02A02C01,
99 0x02A08C09, 0x02A0D804, 0x02A1D004, 0x02A20002, 0x02A2D011,
100 0x02A33802, 0x02A38012, 0x02A3E003, 0x02A4980A, 0x02A51C0D,
101 0x02A57C01, 0x02A60004, 0x02A6CC1B, 0x02A77802, 0x02A79401,
102 0x02A8A40E, 0x02A90C01, 0x02A93002, 0x02A97004, 0x02A9DC03,
103 0x02A9EC03, 0x02AAC001, 0x02AAC803, 0x02AADC02, 0x02AAF802,
104 0x02AB0401, 0x02AB7802, 0x02ABAC07, 0x02ABD402, 0x02AD6C01,
105 0x02AF8C0B, 0x03600001, 0x036DFC02, 0x036FFC02, 0x037FFC01,
106 0x03EC7801, 0x03ECA401, 0x03EEC810, 0x03F4F802, 0x03F7F002,
107 0x03F8001A, 0x03F8800E, 0x03F8C023, 0x03F95013, 0x03F9A004,
108 0x03FBFC01, 0x03FC040F, 0x03FC6807, 0x03FCEC06, 0x03FD6C0B,
109 0x03FF8007, 0x03FFA007, 0x03FFE405, 0x04040003, 0x0404DC09,
110 0x0405E411, 0x04063001, 0x0406400C, 0x04068001, 0x0407402E,
111 0x040B8001, 0x040DD805, 0x040E7C01, 0x040F4001, 0x0415BC01,
112 0x04215C01, 0x0421DC02, 0x04247C01, 0x0424FC01, 0x04280403,
113 0x04281402, 0x04283004, 0x0428E003, 0x0428FC01, 0x04294009,
114 0x0429FC01, 0x042B2001, 0x042B9402, 0x042BC007, 0x042CE407,
115 0x042E6404, 0x04400003, 0x0440E016, 0x0441FC04, 0x0442C012,
116 0x04440003, 0x04449C0E, 0x04450004, 0x0445CC03, 0x04460003,
117 0x0446CC0E, 0x04471404, 0x04473401, 0x0448B012, 0x044B7C0C,
118 0x044C0403, 0x044CF001, 0x044CF807, 0x044D1C02, 0x044D2C03,
119 0x044D5C01, 0x044D8802, 0x044D9807, 0x044DC005, 0x0452C014,
120 0x04531801, 0x0456BC07, 0x0456E012, 0x0458C014, 0x045AAC0D,
121 0x0491C005, 0x05A9B802, 0x05ABC006, 0x05ACC010, 0x05AD1002,
122 0x05BD442E, 0x05BE3C04, 0x06F27008, 0x074000F6, 0x07440027,
123 0x0744A4B5, 0x07480046, 0x074C0057, 0x075B0401, 0x075B6C01,
124 0x075BEC01, 0x075C5401, 0x075CD401, 0x075D3C01, 0x075DBC01,
125 0x075E2401, 0x075EA401, 0x075F0C01, 0x07A34007, 0x07BBC002,
126 0x07C0002C, 0x07C0C064, 0x07C2800F, 0x07C2C40F, 0x07C3040F,
127 0x07C34425, 0x07C4401F, 0x07C4C03C, 0x07C5C02B, 0x07C7981D,
128 0x07C8402B, 0x07C90009, 0x07C94002, 0x07CC002D, 0x07CCC04E,
129 0x07CE004F, 0x07CF5024, 0x07D000FF, 0x07D4004B, 0x07D5402A,
130 0x07D5EC29, 0x07D6949E, 0x07D9148B, 0x07DB800D, 0x07DBC004,
131 0x07DC0074, 0x07DE0055, 0x07E0000C, 0x07E04038, 0x07E1400A,
132 0x07E18028, 0x07E2401E, 0x38000401, 0x38008060, 0x380400F0,
133 };
134 static const unsigned int aAscii[4] = {
135 0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001,
136 };
137
@@ -253,12 +259,12 @@
259 unsigned char flags;
260 unsigned char nRange;
261 } aEntry[] = {
262 {65, 14, 26}, {181, 64, 1}, {192, 14, 23},
263 {216, 14, 7}, {256, 1, 48}, {306, 1, 6},
264 {313, 1, 16}, {330, 1, 46}, {376, 126, 1},
265 {377, 1, 6}, {383, 114, 1}, {385, 50, 1},
266 {386, 1, 4}, {390, 44, 1}, {391, 0, 1},
267 {393, 42, 2}, {395, 0, 1}, {398, 32, 1},
268 {399, 38, 1}, {400, 40, 1}, {401, 0, 1},
269 {403, 42, 1}, {404, 46, 1}, {406, 52, 1},
270 {407, 48, 1}, {408, 0, 1}, {412, 52, 1},
@@ -267,61 +273,64 @@
273 {428, 0, 1}, {430, 60, 1}, {431, 0, 1},
274 {433, 58, 2}, {435, 1, 4}, {439, 62, 1},
275 {440, 0, 1}, {444, 0, 1}, {452, 2, 1},
276 {453, 0, 1}, {455, 2, 1}, {456, 0, 1},
277 {458, 2, 1}, {459, 1, 18}, {478, 1, 18},
278 {497, 2, 1}, {498, 1, 4}, {502, 132, 1},
279 {503, 144, 1}, {504, 1, 40}, {544, 120, 1},
280 {546, 1, 18}, {570, 70, 1}, {571, 0, 1},
281 {573, 118, 1}, {574, 68, 1}, {577, 0, 1},
282 {579, 116, 1}, {580, 28, 1}, {581, 30, 1},
283 {582, 1, 10}, {837, 36, 1}, {880, 1, 4},
284 {886, 0, 1}, {895, 36, 1}, {902, 18, 1},
285 {904, 16, 3}, {908, 26, 1}, {910, 24, 2},
286 {913, 14, 17}, {931, 14, 9}, {962, 0, 1},
287 {975, 4, 1}, {976, 150, 1}, {977, 152, 1},
288 {981, 156, 1}, {982, 154, 1}, {984, 1, 24},
289 {1008, 146, 1}, {1009, 148, 1}, {1012, 140, 1},
290 {1013, 138, 1}, {1015, 0, 1}, {1017, 162, 1},
291 {1018, 0, 1}, {1021, 120, 3}, {1024, 34, 16},
292 {1040, 14, 32}, {1120, 1, 34}, {1162, 1, 54},
293 {1216, 6, 1}, {1217, 1, 14}, {1232, 1, 96},
294 {1329, 22, 38}, {4256, 66, 38}, {4295, 66, 1},
295 {4301, 66, 1}, {7680, 1, 150}, {7835, 142, 1},
296 {7838, 106, 1}, {7840, 1, 96}, {7944, 160, 8},
297 {7960, 160, 6}, {7976, 160, 8}, {7992, 160, 8},
298 {8008, 160, 6}, {8025, 161, 8}, {8040, 160, 8},
299 {8072, 160, 8}, {8088, 160, 8}, {8104, 160, 8},
300 {8120, 160, 2}, {8122, 136, 2}, {8124, 158, 1},
301 {8126, 110, 1}, {8136, 134, 4}, {8140, 158, 1},
302 {8152, 160, 2}, {8154, 130, 2}, {8168, 160, 2},
303 {8170, 128, 2}, {8172, 162, 1}, {8184, 122, 2},
304 {8186, 124, 2}, {8188, 158, 1}, {8486, 108, 1},
305 {8490, 102, 1}, {8491, 104, 1}, {8498, 12, 1},
306 {8544, 8, 16}, {8579, 0, 1}, {9398, 10, 26},
307 {11264, 22, 47}, {11360, 0, 1}, {11362, 98, 1},
308 {11363, 112, 1}, {11364, 100, 1}, {11367, 1, 6},
309 {11373, 94, 1}, {11374, 96, 1}, {11375, 90, 1},
310 {11376, 92, 1}, {11378, 0, 1}, {11381, 0, 1},
311 {11390, 88, 2}, {11392, 1, 100}, {11499, 1, 4},
312 {11506, 0, 1}, {42560, 1, 46}, {42624, 1, 28},
313 {42786, 1, 14}, {42802, 1, 62}, {42873, 1, 4},
314 {42877, 86, 1}, {42878, 1, 10}, {42891, 0, 1},
315 {42893, 82, 1}, {42896, 1, 4}, {42902, 1, 20},
316 {42922, 76, 1}, {42923, 72, 1}, {42924, 74, 1},
317 {42925, 78, 1}, {42928, 84, 1}, {42929, 80, 1},
318 {65313, 14, 26},
319 };
320 static const unsigned short aiOff[] = {
321 1, 2, 8, 15, 16, 26, 28, 32,
322 37, 38, 40, 48, 63, 64, 69, 71,
323 79, 80, 116, 202, 203, 205, 206, 207,
324 209, 210, 211, 213, 214, 217, 218, 219,
325 775, 7264, 10792, 10795, 23217, 23221, 23228, 23231,
326 23254, 23256, 23278, 30204, 54721, 54753, 54754, 54756,
327 54787, 54793, 54809, 57153, 57274, 57921, 58019, 58363,
328 61722, 65268, 65341, 65373, 65406, 65408, 65410, 65415,
329 65424, 65436, 65439, 65450, 65462, 65472, 65476, 65478,
330 65480, 65482, 65488, 65506, 65511, 65514, 65521, 65527,
331 65528, 65529,
332 };
333
334 int ret = c;
335
336 assert( c>=0 );
@@ -357,9 +366,12 @@
366 if( bRemoveDiacritic ) ret = unicode_remove_diacritic(ret);
367 }
368
369 else if( c>=66560 && c<66600 ){
370 ret = c + 40;
371 }
372 else if( c>=71840 && c<71872 ){
373 ret = c + 32;
374 }
375
376 return ret;
377 }
378

Keyboard Shortcuts

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