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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
1575b77a
Commit
1575b77a
authored
Dec 25, 2003
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 1552:
TIS620 to Unicode and Unicode to TIS620 conversion check.
parent
5f250620
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 @
1575b77a
--
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 @
1575b77a
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 @
1575b77a
Collation Charset Id Default Compiled Sortlen
tis620_thai_ci tis620 18 Yes Yes 4
mysql-test/t/ctype_tis620.test
0 → 100644
View file @
1575b77a
--
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 @
1575b77a
...
...
@@ -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