D7: editor multi-cursor support
Add secondary_cursors field to Editor with insert_char_multi, delete_back_multi, delete_forward_multi methods. Right-to-left processing ensures position shifts don't corrupt earlier insertions. 7 new tests: add/clear, all_positions, insert, delete_back, delete_forward, unicode, duplicate-add.
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
/* Test of uc_width() function.
|
||||
Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "uniwidth.h"
|
||||
|
||||
#include "macros.h"
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
ucs4_t uc;
|
||||
|
||||
/* Test width of ASCII characters. */
|
||||
for (uc = 0x0020; uc < 0x007F; uc++)
|
||||
ASSERT (uc_width (uc, "ISO-8859-2") == 1);
|
||||
|
||||
/* Test width of some non-spacing characters. */
|
||||
ASSERT (uc_width (0x0301, "UTF-8") == 0);
|
||||
ASSERT (uc_width (0x05B0, "UTF-8") == 0);
|
||||
|
||||
/* Test width of some format control characters. */
|
||||
ASSERT (uc_width (0x200E, "UTF-8") == 0);
|
||||
ASSERT (uc_width (0x2060, "UTF-8") == 0);
|
||||
ASSERT (uc_width (0xE0001, "UTF-8") == 0);
|
||||
ASSERT (uc_width (0xE0044, "UTF-8") == 0);
|
||||
|
||||
/* Test width of some zero width characters. */
|
||||
ASSERT (uc_width (0x200B, "UTF-8") == 0);
|
||||
ASSERT (uc_width (0xFEFF, "UTF-8") == 0);
|
||||
|
||||
/* Test width of some CJK characters. */
|
||||
ASSERT (uc_width (0x3000, "UTF-8") == 2);
|
||||
ASSERT (uc_width (0xB250, "UTF-8") == 2);
|
||||
ASSERT (uc_width (0xFF1A, "UTF-8") == 2);
|
||||
ASSERT (uc_width (0x20369, "UTF-8") == 2);
|
||||
ASSERT (uc_width (0x2F876, "UTF-8") == 2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
/* Test of uc_width() function.
|
||||
Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Bruno Haible <bruno@clisp.org>, 2008. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "uniwidth.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "macros.h"
|
||||
|
||||
/* One of 0, '0', '1', 'A', '2'. */
|
||||
static char current_width;
|
||||
/* The interval for which the current_width holds. */
|
||||
static ucs4_t current_start;
|
||||
static ucs4_t current_end;
|
||||
|
||||
static void
|
||||
finish_interval (void)
|
||||
{
|
||||
if (current_width != 0)
|
||||
{
|
||||
if (current_start == current_end)
|
||||
printf ("%04X\t\t%c\n", (unsigned) current_start, current_width);
|
||||
else
|
||||
printf ("%04X..%04X\t%c\n", (unsigned) current_start,
|
||||
(unsigned) current_end, current_width);
|
||||
current_width = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
add_to_interval (ucs4_t uc, char width)
|
||||
{
|
||||
if (current_width == width && uc == current_end + 1)
|
||||
current_end = uc;
|
||||
else
|
||||
{
|
||||
finish_interval ();
|
||||
current_width = width;
|
||||
current_start = current_end = uc;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
ucs4_t uc;
|
||||
|
||||
for (uc = 0; uc < 0x110000; uc++)
|
||||
{
|
||||
int w1 = uc_width (uc, "UTF-8");
|
||||
int w2 = uc_width (uc, "GBK");
|
||||
char width =
|
||||
(w1 == 0 && w2 == 0 ? '0' :
|
||||
w1 == 1 && w2 == 1 ? '1' :
|
||||
w1 == 1 && w2 == 2 ? 'A' :
|
||||
w1 == 2 && w2 == 2 ? '2' :
|
||||
0);
|
||||
if (width == 0)
|
||||
{
|
||||
/* uc must be a control character. */
|
||||
ASSERT (w1 < 0 && w2 < 0);
|
||||
}
|
||||
else
|
||||
add_to_interval (uc, width);
|
||||
}
|
||||
finish_interval ();
|
||||
|
||||
return 0;
|
||||
}
|
||||
+597
@@ -0,0 +1,597 @@
|
||||
#!/bin/sh
|
||||
|
||||
tmpfiles=""
|
||||
trap 'rm -fr $tmpfiles' 1 2 3 15
|
||||
|
||||
tmpfiles="$tmpfiles uc_width.out"
|
||||
./test-uc_width2${EXEEXT} | LC_ALL=C tr -d '\r' > uc_width.out
|
||||
|
||||
tmpfiles="$tmpfiles uc_width.ok"
|
||||
cat > uc_width.ok <<\EOF
|
||||
0000 0
|
||||
0020..007E 1
|
||||
00A0 1
|
||||
00A1..00AC A
|
||||
00AD 0
|
||||
00AE..02FF A
|
||||
0300..036F 0
|
||||
0370..0482 A
|
||||
0483..0489 0
|
||||
048A..0590 A
|
||||
0591..05BD 0
|
||||
05BE A
|
||||
05BF 0
|
||||
05C0 A
|
||||
05C1..05C2 0
|
||||
05C3 A
|
||||
05C4..05C5 0
|
||||
05C6 A
|
||||
05C7 0
|
||||
05C8..05FF A
|
||||
0600..0605 0
|
||||
0606..060F A
|
||||
0610..061A 0
|
||||
061B A
|
||||
061C 0
|
||||
061D..064A A
|
||||
064B..065F 0
|
||||
0660..066F A
|
||||
0670 0
|
||||
0671..06D5 A
|
||||
06D6..06DD 0
|
||||
06DE A
|
||||
06DF..06E4 0
|
||||
06E5..06E6 A
|
||||
06E7..06E8 0
|
||||
06E9 A
|
||||
06EA..06ED 0
|
||||
06EE..070E A
|
||||
070F 0
|
||||
0710 A
|
||||
0711 0
|
||||
0712..072F A
|
||||
0730..074A 0
|
||||
074B..07A5 A
|
||||
07A6..07B0 0
|
||||
07B1..07EA A
|
||||
07EB..07F3 0
|
||||
07F4..0815 A
|
||||
0816..0819 0
|
||||
081A A
|
||||
081B..0823 0
|
||||
0824 A
|
||||
0825..0827 0
|
||||
0828 A
|
||||
0829..082D 0
|
||||
082E..0858 A
|
||||
0859..085B 0
|
||||
085C..08E2 A
|
||||
08E3..0902 0
|
||||
0903..0939 A
|
||||
093A 0
|
||||
093B A
|
||||
093C 0
|
||||
093D..0940 A
|
||||
0941..0948 0
|
||||
0949..094C A
|
||||
094D 0
|
||||
094E..0950 A
|
||||
0951..0957 0
|
||||
0958..0961 A
|
||||
0962..0963 0
|
||||
0964..0980 A
|
||||
0981 0
|
||||
0982..09BB A
|
||||
09BC 0
|
||||
09BD..09C0 A
|
||||
09C1..09C4 0
|
||||
09C5..09CC A
|
||||
09CD 0
|
||||
09CE..09E1 A
|
||||
09E2..09E3 0
|
||||
09E4..0A00 A
|
||||
0A01..0A02 0
|
||||
0A03..0A3B A
|
||||
0A3C 0
|
||||
0A3D..0A40 A
|
||||
0A41..0A42 0
|
||||
0A43..0A46 A
|
||||
0A47..0A48 0
|
||||
0A49..0A4A A
|
||||
0A4B..0A4D 0
|
||||
0A4E..0A50 A
|
||||
0A51 0
|
||||
0A52..0A6F A
|
||||
0A70..0A71 0
|
||||
0A72..0A74 A
|
||||
0A75 0
|
||||
0A76..0A80 A
|
||||
0A81..0A82 0
|
||||
0A83..0ABB A
|
||||
0ABC 0
|
||||
0ABD..0AC0 A
|
||||
0AC1..0AC5 0
|
||||
0AC6 A
|
||||
0AC7..0AC8 0
|
||||
0AC9..0ACC A
|
||||
0ACD 0
|
||||
0ACE..0AE1 A
|
||||
0AE2..0AE3 0
|
||||
0AE4..0B00 A
|
||||
0B01 0
|
||||
0B02..0B3B A
|
||||
0B3C 0
|
||||
0B3D..0B3E A
|
||||
0B3F 0
|
||||
0B40 A
|
||||
0B41..0B44 0
|
||||
0B45..0B4C A
|
||||
0B4D 0
|
||||
0B4E..0B55 A
|
||||
0B56 0
|
||||
0B57..0B61 A
|
||||
0B62..0B63 0
|
||||
0B64..0B81 A
|
||||
0B82 0
|
||||
0B83..0BBF A
|
||||
0BC0 0
|
||||
0BC1..0BCC A
|
||||
0BCD 0
|
||||
0BCE..0BFF A
|
||||
0C00 0
|
||||
0C01..0C3D A
|
||||
0C3E..0C40 0
|
||||
0C41..0C45 A
|
||||
0C46..0C48 0
|
||||
0C49 A
|
||||
0C4A..0C4D 0
|
||||
0C4E..0C54 A
|
||||
0C55..0C56 0
|
||||
0C57..0C61 A
|
||||
0C62..0C63 0
|
||||
0C64..0C80 A
|
||||
0C81 0
|
||||
0C82..0CBB A
|
||||
0CBC 0
|
||||
0CBD..0CCB A
|
||||
0CCC..0CCD 0
|
||||
0CCE..0CE1 A
|
||||
0CE2..0CE3 0
|
||||
0CE4..0D00 A
|
||||
0D01 0
|
||||
0D02..0D40 A
|
||||
0D41..0D44 0
|
||||
0D45..0D4C A
|
||||
0D4D 0
|
||||
0D4E..0D61 A
|
||||
0D62..0D63 0
|
||||
0D64..0DC9 A
|
||||
0DCA 0
|
||||
0DCB..0DD1 A
|
||||
0DD2..0DD4 0
|
||||
0DD5 A
|
||||
0DD6 0
|
||||
0DD7..0E30 A
|
||||
0E31 0
|
||||
0E32..0E33 A
|
||||
0E34..0E3A 0
|
||||
0E3B..0E46 A
|
||||
0E47..0E4E 0
|
||||
0E4F..0EB0 A
|
||||
0EB1 0
|
||||
0EB2..0EB3 A
|
||||
0EB4..0EB9 0
|
||||
0EBA A
|
||||
0EBB..0EBC 0
|
||||
0EBD..0EC7 A
|
||||
0EC8..0ECD 0
|
||||
0ECE..0F17 A
|
||||
0F18..0F19 0
|
||||
0F1A..0F34 A
|
||||
0F35 0
|
||||
0F36 A
|
||||
0F37 0
|
||||
0F38 A
|
||||
0F39 0
|
||||
0F3A..0F70 A
|
||||
0F71..0F7E 0
|
||||
0F7F A
|
||||
0F80..0F84 0
|
||||
0F85 A
|
||||
0F86..0F87 0
|
||||
0F88..0F8C A
|
||||
0F8D..0F97 0
|
||||
0F98 A
|
||||
0F99..0FBC 0
|
||||
0FBD..0FC5 A
|
||||
0FC6 0
|
||||
0FC7..102C A
|
||||
102D..1030 0
|
||||
1031 A
|
||||
1032..1037 0
|
||||
1038 A
|
||||
1039..103A 0
|
||||
103B..103C A
|
||||
103D..103E 0
|
||||
103F..1057 A
|
||||
1058..1059 0
|
||||
105A..105D A
|
||||
105E..1060 0
|
||||
1061..1070 A
|
||||
1071..1074 0
|
||||
1075..1081 A
|
||||
1082 0
|
||||
1083..1084 A
|
||||
1085..1086 0
|
||||
1087..108C A
|
||||
108D 0
|
||||
108E..109C A
|
||||
109D 0
|
||||
109E..10FF A
|
||||
1100..115F 2
|
||||
1160..135C A
|
||||
135D..135F 0
|
||||
1360..1711 A
|
||||
1712..1714 0
|
||||
1715..1731 A
|
||||
1732..1734 0
|
||||
1735..1751 A
|
||||
1752..1753 0
|
||||
1754..1771 A
|
||||
1772..1773 0
|
||||
1774..17B3 A
|
||||
17B4..17B5 0
|
||||
17B6 A
|
||||
17B7..17BD 0
|
||||
17BE..17C5 A
|
||||
17C6 0
|
||||
17C7..17C8 A
|
||||
17C9..17D3 0
|
||||
17D4..17DC A
|
||||
17DD 0
|
||||
17DE..180A A
|
||||
180B..180E 0
|
||||
180F..18A8 A
|
||||
18A9 0
|
||||
18AA..191F A
|
||||
1920..1922 0
|
||||
1923..1926 A
|
||||
1927..1928 0
|
||||
1929..1931 A
|
||||
1932 0
|
||||
1933..1938 A
|
||||
1939..193B 0
|
||||
193C..1A16 A
|
||||
1A17..1A18 0
|
||||
1A19..1A1A A
|
||||
1A1B 0
|
||||
1A1C..1A55 A
|
||||
1A56 0
|
||||
1A57 A
|
||||
1A58..1A5E 0
|
||||
1A5F A
|
||||
1A60 0
|
||||
1A61 A
|
||||
1A62 0
|
||||
1A63..1A64 A
|
||||
1A65..1A6C 0
|
||||
1A6D..1A72 A
|
||||
1A73..1A7C 0
|
||||
1A7D..1A7E A
|
||||
1A7F 0
|
||||
1A80..1AAF A
|
||||
1AB0..1ABE 0
|
||||
1ABF..1AFF A
|
||||
1B00..1B03 0
|
||||
1B04..1B33 A
|
||||
1B34 0
|
||||
1B35 A
|
||||
1B36..1B3A 0
|
||||
1B3B A
|
||||
1B3C 0
|
||||
1B3D..1B41 A
|
||||
1B42 0
|
||||
1B43..1B6A A
|
||||
1B6B..1B73 0
|
||||
1B74..1B7F A
|
||||
1B80..1B81 0
|
||||
1B82..1BA1 A
|
||||
1BA2..1BA5 0
|
||||
1BA6..1BA7 A
|
||||
1BA8..1BA9 0
|
||||
1BAA A
|
||||
1BAB..1BAD 0
|
||||
1BAE..1BE5 A
|
||||
1BE6 0
|
||||
1BE7 A
|
||||
1BE8..1BE9 0
|
||||
1BEA..1BEC A
|
||||
1BED 0
|
||||
1BEE A
|
||||
1BEF..1BF1 0
|
||||
1BF2..1C2B A
|
||||
1C2C..1C33 0
|
||||
1C34..1C35 A
|
||||
1C36..1C37 0
|
||||
1C38..1CCF A
|
||||
1CD0..1CD2 0
|
||||
1CD3 A
|
||||
1CD4..1CE0 0
|
||||
1CE1 A
|
||||
1CE2..1CE8 0
|
||||
1CE9..1CEC A
|
||||
1CED 0
|
||||
1CEE..1CF3 A
|
||||
1CF4 0
|
||||
1CF5..1CF7 A
|
||||
1CF8..1CF9 0
|
||||
1CFA..1DBF A
|
||||
1DC0..1DF5 0
|
||||
1DF6..1DFB A
|
||||
1DFC..1DFF 0
|
||||
1E00..200A A
|
||||
200B..200F 0
|
||||
2010..2029 A
|
||||
202A..202E 0
|
||||
202F..205F A
|
||||
2060..2064 0
|
||||
2065 A
|
||||
2066..206F 0
|
||||
2070..20A8 A
|
||||
20A9 1
|
||||
20AA..20CF A
|
||||
20D0..20F0 0
|
||||
20F1..2328 A
|
||||
2329..232A 2
|
||||
232B..2CEE A
|
||||
2CEF..2CF1 0
|
||||
2CF2..2D7E A
|
||||
2D7F 0
|
||||
2D80..2DDF A
|
||||
2DE0..2DFF 0
|
||||
2E00..2E7F A
|
||||
2E80..3029 2
|
||||
302A..302D 0
|
||||
302E..303E 2
|
||||
303F A
|
||||
3040..3098 2
|
||||
3099..309A 0
|
||||
309B..4DBF 2
|
||||
4DC0..4DFF A
|
||||
4E00..A4CF 2
|
||||
A4D0..A66E A
|
||||
A66F..A672 0
|
||||
A673 A
|
||||
A674..A67D 0
|
||||
A67E..A69D A
|
||||
A69E..A69F 0
|
||||
A6A0..A6EF A
|
||||
A6F0..A6F1 0
|
||||
A6F2..A801 A
|
||||
A802 0
|
||||
A803..A805 A
|
||||
A806 0
|
||||
A807..A80A A
|
||||
A80B 0
|
||||
A80C..A824 A
|
||||
A825..A826 0
|
||||
A827..A8C3 A
|
||||
A8C4 0
|
||||
A8C5..A8DF A
|
||||
A8E0..A8F1 0
|
||||
A8F2..A925 A
|
||||
A926..A92D 0
|
||||
A92E..A946 A
|
||||
A947..A951 0
|
||||
A952..A97F A
|
||||
A980..A982 0
|
||||
A983..A9B2 A
|
||||
A9B3 0
|
||||
A9B4..A9B5 A
|
||||
A9B6..A9B9 0
|
||||
A9BA..A9BB A
|
||||
A9BC 0
|
||||
A9BD..A9E4 A
|
||||
A9E5 0
|
||||
A9E6..AA28 A
|
||||
AA29..AA2E 0
|
||||
AA2F..AA30 A
|
||||
AA31..AA32 0
|
||||
AA33..AA34 A
|
||||
AA35..AA36 0
|
||||
AA37..AA42 A
|
||||
AA43 0
|
||||
AA44..AA4B A
|
||||
AA4C 0
|
||||
AA4D..AA7B A
|
||||
AA7C 0
|
||||
AA7D..AAAF A
|
||||
AAB0 0
|
||||
AAB1 A
|
||||
AAB2..AAB4 0
|
||||
AAB5..AAB6 A
|
||||
AAB7..AAB8 0
|
||||
AAB9..AABD A
|
||||
AABE..AABF 0
|
||||
AAC0 A
|
||||
AAC1 0
|
||||
AAC2..AAEB A
|
||||
AAEC..AAED 0
|
||||
AAEE..AAF5 A
|
||||
AAF6 0
|
||||
AAF7..ABE4 A
|
||||
ABE5 0
|
||||
ABE6..ABE7 A
|
||||
ABE8 0
|
||||
ABE9..ABEC A
|
||||
ABED 0
|
||||
ABEE..ABFF A
|
||||
AC00..D7A3 2
|
||||
D7A4..F8FF A
|
||||
F900..FAFF 2
|
||||
FB00..FB1D A
|
||||
FB1E 0
|
||||
FB1F..FDFF A
|
||||
FE00..FE0F 0
|
||||
FE10..FE1F 2
|
||||
FE20..FE2F 0
|
||||
FE30..FE6F 2
|
||||
FE70..FEFE A
|
||||
FEFF 0
|
||||
FF00..FF60 2
|
||||
FF61..FFDF 1
|
||||
FFE0..FFE6 2
|
||||
FFE7..FFF8 1
|
||||
FFF9..FFFB 0
|
||||
FFFC..101FC 1
|
||||
101FD 0
|
||||
101FE..102DF 1
|
||||
102E0 0
|
||||
102E1..10375 1
|
||||
10376..1037A 0
|
||||
1037B..10A00 1
|
||||
10A01..10A03 0
|
||||
10A04 1
|
||||
10A05..10A06 0
|
||||
10A07..10A0B 1
|
||||
10A0C..10A0F 0
|
||||
10A10..10A37 1
|
||||
10A38..10A3A 0
|
||||
10A3B..10A3E 1
|
||||
10A3F 0
|
||||
10A40..10AE4 1
|
||||
10AE5..10AE6 0
|
||||
10AE7..11000 1
|
||||
11001 0
|
||||
11002..11037 1
|
||||
11038..11046 0
|
||||
11047..1107E 1
|
||||
1107F..11081 0
|
||||
11082..110B2 1
|
||||
110B3..110B6 0
|
||||
110B7..110B8 1
|
||||
110B9..110BA 0
|
||||
110BB..110BC 1
|
||||
110BD 0
|
||||
110BE..110FF 1
|
||||
11100..11102 0
|
||||
11103..11126 1
|
||||
11127..1112B 0
|
||||
1112C 1
|
||||
1112D..11134 0
|
||||
11135..11172 1
|
||||
11173 0
|
||||
11174..1117F 1
|
||||
11180..11181 0
|
||||
11182..111B5 1
|
||||
111B6..111BE 0
|
||||
111BF..111C9 1
|
||||
111CA..111CC 0
|
||||
111CD..1122E 1
|
||||
1122F..11231 0
|
||||
11232..11233 1
|
||||
11234 0
|
||||
11235 1
|
||||
11236..11237 0
|
||||
11238..112DE 1
|
||||
112DF 0
|
||||
112E0..112E2 1
|
||||
112E3..112EA 0
|
||||
112EB..112FF 1
|
||||
11300..11301 0
|
||||
11302..1133B 1
|
||||
1133C 0
|
||||
1133D..1133F 1
|
||||
11340 0
|
||||
11341..11365 1
|
||||
11366..1136C 0
|
||||
1136D..1136F 1
|
||||
11370..11374 0
|
||||
11375..114B2 1
|
||||
114B3..114B8 0
|
||||
114B9 1
|
||||
114BA 0
|
||||
114BB..114BE 1
|
||||
114BF..114C0 0
|
||||
114C1 1
|
||||
114C2..114C3 0
|
||||
114C4..115B1 1
|
||||
115B2..115B5 0
|
||||
115B6..115BB 1
|
||||
115BC..115BD 0
|
||||
115BE 1
|
||||
115BF..115C0 0
|
||||
115C1..115DB 1
|
||||
115DC..115DD 0
|
||||
115DE..11632 1
|
||||
11633..1163A 0
|
||||
1163B..1163C 1
|
||||
1163D 0
|
||||
1163E 1
|
||||
1163F..11640 0
|
||||
11641..116AA 1
|
||||
116AB 0
|
||||
116AC 1
|
||||
116AD 0
|
||||
116AE..116AF 1
|
||||
116B0..116B5 0
|
||||
116B6 1
|
||||
116B7 0
|
||||
116B8..1171C 1
|
||||
1171D..1171F 0
|
||||
11720..11721 1
|
||||
11722..11725 0
|
||||
11726 1
|
||||
11727..1172B 0
|
||||
1172C..16AEF 1
|
||||
16AF0..16AF4 0
|
||||
16AF5..16B2F 1
|
||||
16B30..16B36 0
|
||||
16B37..16F8E 1
|
||||
16F8F..16F92 0
|
||||
16F93..1BC9C 1
|
||||
1BC9D..1BC9E 0
|
||||
1BC9F 1
|
||||
1BCA0..1BCA3 0
|
||||
1BCA4..1D166 1
|
||||
1D167..1D169 0
|
||||
1D16A..1D172 1
|
||||
1D173..1D182 0
|
||||
1D183..1D184 1
|
||||
1D185..1D18B 0
|
||||
1D18C..1D1A9 1
|
||||
1D1AA..1D1AD 0
|
||||
1D1AE..1D241 1
|
||||
1D242..1D244 0
|
||||
1D245..1D9FF 1
|
||||
1DA00..1DA36 0
|
||||
1DA37..1DA3A 1
|
||||
1DA3B..1DA6C 0
|
||||
1DA6D..1DA74 1
|
||||
1DA75 0
|
||||
1DA76..1DA83 1
|
||||
1DA84 0
|
||||
1DA85..1DA9A 1
|
||||
1DA9B..1DA9F 0
|
||||
1DAA0 1
|
||||
1DAA1..1DAAF 0
|
||||
1DAB0..1E8CF 1
|
||||
1E8D0..1E8D6 0
|
||||
1E8D7..1FFFF 1
|
||||
20000..3FFFF 2
|
||||
40000..E0000 1
|
||||
E0001 0
|
||||
E0002..E001F 1
|
||||
E0020..E007F 0
|
||||
E0080..E00FF 1
|
||||
E0100..E01EF 0
|
||||
E01F0..10FFFF 1
|
||||
EOF
|
||||
|
||||
: ${DIFF=diff}
|
||||
${DIFF} uc_width.ok uc_width.out
|
||||
result=$?
|
||||
|
||||
rm -fr $tmpfiles
|
||||
|
||||
exit $result
|
||||
Reference in New Issue
Block a user