Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
1547a03c
Commit
1547a03c
authored
Dec 25, 2003
by
bar@bar.intranet.mysql.r18.ru
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 1552:
TIS620 to Unicode and Unicode to TIS620 conversion check.
parent
105fae05
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
384 additions
and
2 deletions
+384
-2
mysql-test/include/have_tis620.inc
mysql-test/include/have_tis620.inc
+4
-0
mysql-test/r/ctype_tis620.result
mysql-test/r/ctype_tis620.result
+113
-0
mysql-test/r/have_tis620.require
mysql-test/r/have_tis620.require
+2
-0
mysql-test/t/ctype_tis620.test
mysql-test/t/ctype_tis620.test
+64
-0
strings/ctype-tis620.c
strings/ctype-tis620.c
+201
-2
No files found.
mysql-test/include/have_tis620.inc
0 → 100644
View file @
1547a03c
--
require
r
/
have_tis620
.
require
disable_query_log
;
show
collation
like
"tis620_thai_ci"
;
enable_query_log
;
mysql-test/r/ctype_tis620.result
0 → 100644
View file @
1547a03c
drop table if exists t1;
SET @pl0= _tis620 0x000102030405060708090A0B0C0D0E0F;
SET @pl1= _tis620 0x101112131415161718191A1B1C1D1E1F;
SET @pl2= _tis620 0x202122232425262728292A2B2C2D2E2F;
SET @pl3= _tis620 0x303132333435363738393A3B3C3D3E3F;
SET @pl4= _tis620 0x404142434445464748494A4B4C4D4E4F;
SET @pl5= _tis620 0x505152535455565758595A5B5C5D5E5F;
SET @pl6= _tis620 0x606162636465666768696A6B6C6D6E6F;
SET @pl7= _tis620 0x707172737475767778797A7B7C7D7E7F;
SET @pl8= _tis620 0x808182838485868788898A8B8C8D8E8F;
SET @pl9= _tis620 0x909192939495969798999A9B9C9D9E9F;
SET @plA= _tis620 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAF;
SET @plB= _tis620 0xB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF;
SET @plC= _tis620 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF;
SET @plD= _tis620 0xD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF;
SET @plE= _tis620 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF;
SET @plF= _tis620 0xF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF;
SELECT hex(@u0:=convert(@pl0 using utf8));
hex(@u0:=convert(@pl0 using utf8))
000102030405060708090A0B0C0D0E0F
SELECT hex(@u1:=convert(@pl1 using utf8));
hex(@u1:=convert(@pl1 using utf8))
101112131415161718191A1B1C1D1E1F
SELECT hex(@u2:=convert(@pl2 using utf8));
hex(@u2:=convert(@pl2 using utf8))
202122232425262728292A2B2C2D2E2F
SELECT hex(@u3:=convert(@pl3 using utf8));
hex(@u3:=convert(@pl3 using utf8))
303132333435363738393A3B3C3D3E3F
SELECT hex(@u4:=convert(@pl4 using utf8));
hex(@u4:=convert(@pl4 using utf8))
404142434445464748494A4B4C4D4E4F
SELECT hex(@u5:=convert(@pl5 using utf8));
hex(@u5:=convert(@pl5 using utf8))
505152535455565758595A5B5C5D5E5F
SELECT hex(@u6:=convert(@pl6 using utf8));
hex(@u6:=convert(@pl6 using utf8))
606162636465666768696A6B6C6D6E6F
SELECT hex(@u7:=convert(@pl7 using utf8));
hex(@u7:=convert(@pl7 using utf8))
707172737475767778797A7B7C7D7E7F
SELECT hex(@u8:=convert(@pl8 using utf8));
hex(@u8:=convert(@pl8 using utf8))
C280C281C282C283C284C285C286C287C288C289C28AC28BC28CC28DC28EC28F
SELECT hex(@u9:=convert(@pl9 using utf8));
hex(@u9:=convert(@pl9 using utf8))
C290C291C292C293C294C295C296C297C298C299C29AC29BC29CC29DC29EC29F
SELECT hex(@uA:=convert(@plA using utf8));
hex(@uA:=convert(@plA using utf8))
EFBFBDE0B881E0B882E0B883E0B884E0B885E0B886E0B887E0B888E0B889E0B88AE0B88BE0B88CE0B88DE0B88EE0B88F
SELECT hex(@uB:=convert(@plB using utf8));
hex(@uB:=convert(@plB using utf8))
E0B890E0B891E0B892E0B893E0B894E0B895E0B896E0B897E0B898E0B899E0B89AE0B89BE0B89CE0B89DE0B89EE0B89F
SELECT hex(@uC:=convert(@plC using utf8));
hex(@uC:=convert(@plC using utf8))
E0B8A0E0B8A1E0B8A2E0B8A3E0B8A4E0B8A5E0B8A6E0B8A7E0B8A8E0B8A9E0B8AAE0B8ABE0B8ACE0B8ADE0B8AEE0B8AF
SELECT hex(@uD:=convert(@plD using utf8));
hex(@uD:=convert(@plD using utf8))
E0B8B0E0B8B1E0B8B2E0B8B3E0B8B4E0B8B5E0B8B6E0B8B7E0B8B8E0B8B9E0B8BAEFBFBDEFBFBDEFBFBDEFBFBDE0B8BF
SELECT hex(@uE:=convert(@plE using utf8));
hex(@uE:=convert(@plE using utf8))
E0B980E0B981E0B982E0B983E0B984E0B985E0B986E0B987E0B988E0B989E0B98AE0B98BE0B98CE0B98DE0B98EE0B98F
SELECT hex(@uF:=convert(@plF using utf8));
hex(@uF:=convert(@plF using utf8))
E0B990E0B991E0B992E0B993E0B994E0B995E0B996E0B997E0B998E0B999E0B99AE0B99BEFBFBDEFBFBDEFBFBDEFBFBD
SELECT hex(convert(@u0 USING tis620));
hex(convert(@u0 USING tis620))
000102030405060708090A0B0C0D0E0F
SELECT hex(convert(@u1 USING tis620));
hex(convert(@u1 USING tis620))
101112131415161718191A1B1C1D1E1F
SELECT hex(convert(@u2 USING tis620));
hex(convert(@u2 USING tis620))
202122232425262728292A2B2C2D2E2F
SELECT hex(convert(@u3 USING tis620));
hex(convert(@u3 USING tis620))
303132333435363738393A3B3C3D3E3F
SELECT hex(convert(@u4 USING tis620));
hex(convert(@u4 USING tis620))
404142434445464748494A4B4C4D4E4F
SELECT hex(convert(@u5 USING tis620));
hex(convert(@u5 USING tis620))
505152535455565758595A5B5C5D5E5F
SELECT hex(convert(@u6 USING tis620));
hex(convert(@u6 USING tis620))
606162636465666768696A6B6C6D6E6F
SELECT hex(convert(@u7 USING tis620));
hex(convert(@u7 USING tis620))
707172737475767778797A7B7C7D7E7F
SELECT hex(convert(@u8 USING tis620));
hex(convert(@u8 USING tis620))
808182838485868788898A8B8C8D8E8F
SELECT hex(convert(@u9 USING tis620));
hex(convert(@u9 USING tis620))
909192939495969798999A9B9C9D9E9F
SELECT hex(convert(@uA USING tis620));
hex(convert(@uA USING tis620))
FFA1A2A3A4A5A6A7A8A9AAABACADAEAF
SELECT hex(convert(@uB USING tis620));
hex(convert(@uB USING tis620))
B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
SELECT hex(convert(@uC USING tis620));
hex(convert(@uC USING tis620))
C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
SELECT hex(convert(@uD USING tis620));
hex(convert(@uD USING tis620))
D0D1D2D3D4D5D6D7D8D9DAFFFFFFFFDF
SELECT hex(convert(@uE USING tis620));
hex(convert(@uE USING tis620))
E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
SELECT hex(convert(@uF USING tis620));
hex(convert(@uF USING tis620))
F0F1F2F3F4F5F6F7F8F9FAFBFFFFFFFF
mysql-test/r/have_tis620.require
0 → 100644
View file @
1547a03c
Collation Charset Id Default Compiled Sortlen
tis620_thai_ci tis620 18 Yes Yes 4
mysql-test/t/ctype_tis620.test
0 → 100644
View file @
1547a03c
--
source
include
/
have_tis620
.
inc
#
# Tests with the big5 character set
#
--
disable_warnings
drop
table
if
exists
t1
;
--
enable_warnings
#
# Bug 1552: tis620 <-> unicode conversion crashed
# Check tis620 -> utf8 -> tis620 round trip conversion
#
SET
@
pl0
=
_tis620
0x000102030405060708090A0B0C0D0E0F
;
SET
@
pl1
=
_tis620
0x101112131415161718191A1B1C1D1E1F
;
SET
@
pl2
=
_tis620
0x202122232425262728292A2B2C2D2E2F
;
SET
@
pl3
=
_tis620
0x303132333435363738393A3B3C3D3E3F
;
SET
@
pl4
=
_tis620
0x404142434445464748494A4B4C4D4E4F
;
SET
@
pl5
=
_tis620
0x505152535455565758595A5B5C5D5E5F
;
SET
@
pl6
=
_tis620
0x606162636465666768696A6B6C6D6E6F
;
SET
@
pl7
=
_tis620
0x707172737475767778797A7B7C7D7E7F
;
SET
@
pl8
=
_tis620
0x808182838485868788898A8B8C8D8E8F
;
SET
@
pl9
=
_tis620
0x909192939495969798999A9B9C9D9E9F
;
SET
@
plA
=
_tis620
0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAF
;
SET
@
plB
=
_tis620
0xB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
;
SET
@
plC
=
_tis620
0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
;
SET
@
plD
=
_tis620
0xD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF
;
SET
@
plE
=
_tis620
0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
;
SET
@
plF
=
_tis620
0xF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
;
SELECT
hex
(
@
u0
:=
convert
(
@
pl0
using
utf8
));
SELECT
hex
(
@
u1
:=
convert
(
@
pl1
using
utf8
));
SELECT
hex
(
@
u2
:=
convert
(
@
pl2
using
utf8
));
SELECT
hex
(
@
u3
:=
convert
(
@
pl3
using
utf8
));
SELECT
hex
(
@
u4
:=
convert
(
@
pl4
using
utf8
));
SELECT
hex
(
@
u5
:=
convert
(
@
pl5
using
utf8
));
SELECT
hex
(
@
u6
:=
convert
(
@
pl6
using
utf8
));
SELECT
hex
(
@
u7
:=
convert
(
@
pl7
using
utf8
));
SELECT
hex
(
@
u8
:=
convert
(
@
pl8
using
utf8
));
SELECT
hex
(
@
u9
:=
convert
(
@
pl9
using
utf8
));
SELECT
hex
(
@
uA
:=
convert
(
@
plA
using
utf8
));
SELECT
hex
(
@
uB
:=
convert
(
@
plB
using
utf8
));
SELECT
hex
(
@
uC
:=
convert
(
@
plC
using
utf8
));
SELECT
hex
(
@
uD
:=
convert
(
@
plD
using
utf8
));
SELECT
hex
(
@
uE
:=
convert
(
@
plE
using
utf8
));
SELECT
hex
(
@
uF
:=
convert
(
@
plF
using
utf8
));
SELECT
hex
(
convert
(
@
u0
USING
tis620
));
SELECT
hex
(
convert
(
@
u1
USING
tis620
));
SELECT
hex
(
convert
(
@
u2
USING
tis620
));
SELECT
hex
(
convert
(
@
u3
USING
tis620
));
SELECT
hex
(
convert
(
@
u4
USING
tis620
));
SELECT
hex
(
convert
(
@
u5
USING
tis620
));
SELECT
hex
(
convert
(
@
u6
USING
tis620
));
SELECT
hex
(
convert
(
@
u7
USING
tis620
));
SELECT
hex
(
convert
(
@
u8
USING
tis620
));
SELECT
hex
(
convert
(
@
u9
USING
tis620
));
SELECT
hex
(
convert
(
@
uA
USING
tis620
));
SELECT
hex
(
convert
(
@
uB
USING
tis620
));
SELECT
hex
(
convert
(
@
uC
USING
tis620
));
SELECT
hex
(
convert
(
@
uD
USING
tis620
));
SELECT
hex
(
convert
(
@
uE
USING
tis620
));
SELECT
hex
(
convert
(
@
uF
USING
tis620
));
strings/ctype-tis620.c
View file @
1547a03c
...
...
@@ -701,6 +701,205 @@ void ThNormalize(uchar* ptr, uint field_length, const uchar* from, uint length)
}
#endif
/* NOT_NEEDED */
static
unsigned
short
cs_to_uni
[
256
]
=
{
0x0000
,
0x0001
,
0x0002
,
0x0003
,
0x0004
,
0x0005
,
0x0006
,
0x0007
,
0x0008
,
0x0009
,
0x000A
,
0x000B
,
0x000C
,
0x000D
,
0x000E
,
0x000F
,
0x0010
,
0x0011
,
0x0012
,
0x0013
,
0x0014
,
0x0015
,
0x0016
,
0x0017
,
0x0018
,
0x0019
,
0x001A
,
0x001B
,
0x001C
,
0x001D
,
0x001E
,
0x001F
,
0x0020
,
0x0021
,
0x0022
,
0x0023
,
0x0024
,
0x0025
,
0x0026
,
0x0027
,
0x0028
,
0x0029
,
0x002A
,
0x002B
,
0x002C
,
0x002D
,
0x002E
,
0x002F
,
0x0030
,
0x0031
,
0x0032
,
0x0033
,
0x0034
,
0x0035
,
0x0036
,
0x0037
,
0x0038
,
0x0039
,
0x003A
,
0x003B
,
0x003C
,
0x003D
,
0x003E
,
0x003F
,
0x0040
,
0x0041
,
0x0042
,
0x0043
,
0x0044
,
0x0045
,
0x0046
,
0x0047
,
0x0048
,
0x0049
,
0x004A
,
0x004B
,
0x004C
,
0x004D
,
0x004E
,
0x004F
,
0x0050
,
0x0051
,
0x0052
,
0x0053
,
0x0054
,
0x0055
,
0x0056
,
0x0057
,
0x0058
,
0x0059
,
0x005A
,
0x005B
,
0x005C
,
0x005D
,
0x005E
,
0x005F
,
0x0060
,
0x0061
,
0x0062
,
0x0063
,
0x0064
,
0x0065
,
0x0066
,
0x0067
,
0x0068
,
0x0069
,
0x006A
,
0x006B
,
0x006C
,
0x006D
,
0x006E
,
0x006F
,
0x0070
,
0x0071
,
0x0072
,
0x0073
,
0x0074
,
0x0075
,
0x0076
,
0x0077
,
0x0078
,
0x0079
,
0x007A
,
0x007B
,
0x007C
,
0x007D
,
0x007E
,
0x007F
,
0x0080
,
0x0081
,
0x0082
,
0x0083
,
0x0084
,
0x0085
,
0x0086
,
0x0087
,
0x0088
,
0x0089
,
0x008A
,
0x008B
,
0x008C
,
0x008D
,
0x008E
,
0x008F
,
0x0090
,
0x0091
,
0x0092
,
0x0093
,
0x0094
,
0x0095
,
0x0096
,
0x0097
,
0x0098
,
0x0099
,
0x009A
,
0x009B
,
0x009C
,
0x009D
,
0x009E
,
0x009F
,
0xFFFD
,
0x0E01
,
0x0E02
,
0x0E03
,
0x0E04
,
0x0E05
,
0x0E06
,
0x0E07
,
0x0E08
,
0x0E09
,
0x0E0A
,
0x0E0B
,
0x0E0C
,
0x0E0D
,
0x0E0E
,
0x0E0F
,
0x0E10
,
0x0E11
,
0x0E12
,
0x0E13
,
0x0E14
,
0x0E15
,
0x0E16
,
0x0E17
,
0x0E18
,
0x0E19
,
0x0E1A
,
0x0E1B
,
0x0E1C
,
0x0E1D
,
0x0E1E
,
0x0E1F
,
0x0E20
,
0x0E21
,
0x0E22
,
0x0E23
,
0x0E24
,
0x0E25
,
0x0E26
,
0x0E27
,
0x0E28
,
0x0E29
,
0x0E2A
,
0x0E2B
,
0x0E2C
,
0x0E2D
,
0x0E2E
,
0x0E2F
,
0x0E30
,
0x0E31
,
0x0E32
,
0x0E33
,
0x0E34
,
0x0E35
,
0x0E36
,
0x0E37
,
0x0E38
,
0x0E39
,
0x0E3A
,
0xFFFD
,
0xFFFD
,
0xFFFD
,
0xFFFD
,
0x0E3F
,
0x0E40
,
0x0E41
,
0x0E42
,
0x0E43
,
0x0E44
,
0x0E45
,
0x0E46
,
0x0E47
,
0x0E48
,
0x0E49
,
0x0E4A
,
0x0E4B
,
0x0E4C
,
0x0E4D
,
0x0E4E
,
0x0E4F
,
0x0E50
,
0x0E51
,
0x0E52
,
0x0E53
,
0x0E54
,
0x0E55
,
0x0E56
,
0x0E57
,
0x0E58
,
0x0E59
,
0x0E5A
,
0x0E5B
,
0xFFFD
,
0xFFFD
,
0xFFFD
,
0xFFFD
};
static
unsigned
char
pl00
[
256
]
=
{
0x0000
,
0x0001
,
0x0002
,
0x0003
,
0x0004
,
0x0005
,
0x0006
,
0x0007
,
0x0008
,
0x0009
,
0x000A
,
0x000B
,
0x000C
,
0x000D
,
0x000E
,
0x000F
,
0x0010
,
0x0011
,
0x0012
,
0x0013
,
0x0014
,
0x0015
,
0x0016
,
0x0017
,
0x0018
,
0x0019
,
0x001A
,
0x001B
,
0x001C
,
0x001D
,
0x001E
,
0x001F
,
0x0020
,
0x0021
,
0x0022
,
0x0023
,
0x0024
,
0x0025
,
0x0026
,
0x0027
,
0x0028
,
0x0029
,
0x002A
,
0x002B
,
0x002C
,
0x002D
,
0x002E
,
0x002F
,
0x0030
,
0x0031
,
0x0032
,
0x0033
,
0x0034
,
0x0035
,
0x0036
,
0x0037
,
0x0038
,
0x0039
,
0x003A
,
0x003B
,
0x003C
,
0x003D
,
0x003E
,
0x003F
,
0x0040
,
0x0041
,
0x0042
,
0x0043
,
0x0044
,
0x0045
,
0x0046
,
0x0047
,
0x0048
,
0x0049
,
0x004A
,
0x004B
,
0x004C
,
0x004D
,
0x004E
,
0x004F
,
0x0050
,
0x0051
,
0x0052
,
0x0053
,
0x0054
,
0x0055
,
0x0056
,
0x0057
,
0x0058
,
0x0059
,
0x005A
,
0x005B
,
0x005C
,
0x005D
,
0x005E
,
0x005F
,
0x0060
,
0x0061
,
0x0062
,
0x0063
,
0x0064
,
0x0065
,
0x0066
,
0x0067
,
0x0068
,
0x0069
,
0x006A
,
0x006B
,
0x006C
,
0x006D
,
0x006E
,
0x006F
,
0x0070
,
0x0071
,
0x0072
,
0x0073
,
0x0074
,
0x0075
,
0x0076
,
0x0077
,
0x0078
,
0x0079
,
0x007A
,
0x007B
,
0x007C
,
0x007D
,
0x007E
,
0x007F
,
0x0080
,
0x0081
,
0x0082
,
0x0083
,
0x0084
,
0x0085
,
0x0086
,
0x0087
,
0x0088
,
0x0089
,
0x008A
,
0x008B
,
0x008C
,
0x008D
,
0x008E
,
0x008F
,
0x0090
,
0x0091
,
0x0092
,
0x0093
,
0x0094
,
0x0095
,
0x0096
,
0x0097
,
0x0098
,
0x0099
,
0x009A
,
0x009B
,
0x009C
,
0x009D
,
0x009E
,
0x009F
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
};
static
unsigned
char
pl0E
[
256
]
=
{
0x0000
,
0x00A1
,
0x00A2
,
0x00A3
,
0x00A4
,
0x00A5
,
0x00A6
,
0x00A7
,
0x00A8
,
0x00A9
,
0x00AA
,
0x00AB
,
0x00AC
,
0x00AD
,
0x00AE
,
0x00AF
,
0x00B0
,
0x00B1
,
0x00B2
,
0x00B3
,
0x00B4
,
0x00B5
,
0x00B6
,
0x00B7
,
0x00B8
,
0x00B9
,
0x00BA
,
0x00BB
,
0x00BC
,
0x00BD
,
0x00BE
,
0x00BF
,
0x00C0
,
0x00C1
,
0x00C2
,
0x00C3
,
0x00C4
,
0x00C5
,
0x00C6
,
0x00C7
,
0x00C8
,
0x00C9
,
0x00CA
,
0x00CB
,
0x00CC
,
0x00CD
,
0x00CE
,
0x00CF
,
0x00D0
,
0x00D1
,
0x00D2
,
0x00D3
,
0x00D4
,
0x00D5
,
0x00D6
,
0x00D7
,
0x00D8
,
0x00D9
,
0x00DA
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00DF
,
0x00E0
,
0x00E1
,
0x00E2
,
0x00E3
,
0x00E4
,
0x00E5
,
0x00E6
,
0x00E7
,
0x00E8
,
0x00E9
,
0x00EA
,
0x00EB
,
0x00EC
,
0x00ED
,
0x00EE
,
0x00EF
,
0x00F0
,
0x00F1
,
0x00F2
,
0x00F3
,
0x00F4
,
0x00F5
,
0x00F6
,
0x00F7
,
0x00F8
,
0x00F9
,
0x00FA
,
0x00FB
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
};
static
unsigned
char
plFF
[
256
]
=
{
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00FF
,
0x0000
,
0x0000
};
static
unsigned
char
*
uni_to_cs
[
256
]
=
{
pl00
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
pl0E
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
plFF
};
static
int
my_mb_wc_tis620
(
CHARSET_INFO
*
cs
,
my_wc_t
*
wc
,
const
unsigned
char
*
str
,
const
unsigned
char
*
end
__attribute__
((
unused
)))
{
if
(
str
>=
end
)
return
MY_CS_TOOFEW
(
0
);
*
wc
=
cs_to_uni
[
*
str
];
return
(
!
wc
[
0
]
&&
str
[
0
])
?
MY_CS_ILSEQ
:
1
;
}
static
int
my_wc_mb_tis620
(
CHARSET_INFO
*
cs
,
my_wc_t
wc
,
unsigned
char
*
str
,
unsigned
char
*
end
__attribute__
((
unused
)))
{
unsigned
char
*
pl
;
if
(
str
>=
end
)
return
MY_CS_TOOSMALL
;
pl
=
uni_to_cs
[(
wc
>>
8
)
&
0xFF
];
str
[
0
]
=
pl
?
pl
[
wc
&
0xFF
]
:
'\0'
;
return
(
!
str
[
0
]
&&
wc
)
?
MY_CS_ILUNI
:
1
;
}
static
MY_COLLATION_HANDLER
my_collation_ci_handler
=
{
...
...
@@ -721,8 +920,8 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_numchars_8bit
,
my_charpos_8bit
,
my_lengthsp_8bit
,
my_mb_wc_
8bit
,
/* mb_wc */
my_wc_mb_
8bit
,
/* wc_mb */
my_mb_wc_
tis620
,
/* mb_wc */
my_wc_mb_
tis620
,
/* wc_mb */
my_caseup_str_8bit
,
my_casedn_str_8bit
,
my_caseup_8bit
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment