Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit c527366

Browse files
committed
Add missing Unicode support for Cyrillic encodings.
Patches contributed by Victor Wagner.
1 parent 82511e3 commit c527366

File tree

9 files changed

+972
-7
lines changed

9 files changed

+972
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
static pg_local_to_utf LUmapALT[ 128 ] = {
2+
{0x0080, 0xd090},
3+
{0x0081, 0xd091},
4+
{0x0082, 0xd092},
5+
{0x0083, 0xd093},
6+
{0x0084, 0xd094},
7+
{0x0085, 0xd095},
8+
{0x0086, 0xd096},
9+
{0x0087, 0xd097},
10+
{0x0088, 0xd098},
11+
{0x0089, 0xd099},
12+
{0x008a, 0xd09a},
13+
{0x008b, 0xd09b},
14+
{0x008c, 0xd09c},
15+
{0x008d, 0xd09d},
16+
{0x008e, 0xd09e},
17+
{0x008f, 0xd09f},
18+
{0x0090, 0xd0a0},
19+
{0x0091, 0xd0a1},
20+
{0x0092, 0xd0a2},
21+
{0x0093, 0xd0a3},
22+
{0x0094, 0xd0a4},
23+
{0x0095, 0xd0a5},
24+
{0x0096, 0xd0a6},
25+
{0x0097, 0xd0a7},
26+
{0x0098, 0xd0a8},
27+
{0x0099, 0xd0a9},
28+
{0x009a, 0xd0aa},
29+
{0x009b, 0xd0ab},
30+
{0x009c, 0xd0ac},
31+
{0x009d, 0xd0ad},
32+
{0x009e, 0xd0ae},
33+
{0x009f, 0xd0af},
34+
{0x00a0, 0xd0b0},
35+
{0x00a1, 0xd0b1},
36+
{0x00a2, 0xd0b2},
37+
{0x00a3, 0xd0b3},
38+
{0x00a4, 0xd0b4},
39+
{0x00a5, 0xd0b5},
40+
{0x00a6, 0xd0b6},
41+
{0x00a7, 0xd0b7},
42+
{0x00a8, 0xd0b8},
43+
{0x00a9, 0xd0b9},
44+
{0x00aa, 0xd0ba},
45+
{0x00ab, 0xd0bb},
46+
{0x00ac, 0xd0bc},
47+
{0x00ad, 0xd0bd},
48+
{0x00ae, 0xd0be},
49+
{0x00af, 0xd0bf},
50+
{0x00b0, 0xe29691},
51+
{0x00b1, 0xe29692},
52+
{0x00b2, 0xe29693},
53+
{0x00b3, 0xe29482},
54+
{0x00b4, 0xe294a4},
55+
{0x00b5, 0xe295a1},
56+
{0x00b6, 0xe295a2},
57+
{0x00b7, 0xe29596},
58+
{0x00b8, 0xe29595},
59+
{0x00b9, 0xe295a3},
60+
{0x00ba, 0xe29591},
61+
{0x00bb, 0xe29597},
62+
{0x00bc, 0xe2959d},
63+
{0x00bd, 0xe2959c},
64+
{0x00be, 0xe2959b},
65+
{0x00bf, 0xe29490},
66+
{0x00c0, 0xe29494},
67+
{0x00c1, 0xe294b4},
68+
{0x00c2, 0xe294ac},
69+
{0x00c3, 0xe2949c},
70+
{0x00c4, 0xe29480},
71+
{0x00c5, 0xe294bc},
72+
{0x00c6, 0xe2959e},
73+
{0x00c7, 0xe2959f},
74+
{0x00c8, 0xe2959a},
75+
{0x00c9, 0xe29594},
76+
{0x00ca, 0xe295a9},
77+
{0x00cb, 0xe295a6},
78+
{0x00cc, 0xe295a0},
79+
{0x00cd, 0xe29590},
80+
{0x00ce, 0xe295ac},
81+
{0x00cf, 0xe295a7},
82+
{0x00d0, 0xe295a8},
83+
{0x00d1, 0xe295a4},
84+
{0x00d2, 0xe295a5},
85+
{0x00d3, 0xe29599},
86+
{0x00d4, 0xe29598},
87+
{0x00d5, 0xe29592},
88+
{0x00d6, 0xe29593},
89+
{0x00d7, 0xe295ab},
90+
{0x00d8, 0xe295aa},
91+
{0x00d9, 0xe29498},
92+
{0x00da, 0xe2948c},
93+
{0x00db, 0xe29688},
94+
{0x00dc, 0xe29684},
95+
{0x00dd, 0xe2968c},
96+
{0x00de, 0xe29690},
97+
{0x00df, 0xe29680},
98+
{0x00e0, 0xd180},
99+
{0x00e1, 0xd181},
100+
{0x00e2, 0xd182},
101+
{0x00e3, 0xd183},
102+
{0x00e4, 0xd184},
103+
{0x00e5, 0xd185},
104+
{0x00e6, 0xd186},
105+
{0x00e7, 0xd187},
106+
{0x00e8, 0xd188},
107+
{0x00e9, 0xd189},
108+
{0x00ea, 0xd18a},
109+
{0x00eb, 0xd18b},
110+
{0x00ec, 0xd18c},
111+
{0x00ed, 0xd18d},
112+
{0x00ee, 0xd18e},
113+
{0x00ef, 0xd18f},
114+
{0x00f0, 0xd081},
115+
{0x00f1, 0xd191},
116+
{0x00f2, 0xd084},
117+
{0x00f3, 0xd194},
118+
{0x00f4, 0xd087},
119+
{0x00f5, 0xd197},
120+
{0x00f6, 0xd08e},
121+
{0x00f7, 0xd19e},
122+
{0x00f8, 0xc2b0},
123+
{0x00f9, 0xe28899},
124+
{0x00fa, 0xc2b7},
125+
{0x00fb, 0xe2889a},
126+
{0x00fc, 0xe28496},
127+
{0x00fd, 0xc2a4},
128+
{0x00fe, 0xe296a0},
129+
{0x00ff, 0xc2a0}
130+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
static pg_local_to_utf LUmapKOI8[ 128 ] = {
2+
{0x0080, 0xe29480},
3+
{0x0081, 0xe29482},
4+
{0x0082, 0xe2948c},
5+
{0x0083, 0xe29490},
6+
{0x0084, 0xe29494},
7+
{0x0085, 0xe29498},
8+
{0x0086, 0xe2949c},
9+
{0x0087, 0xe294a4},
10+
{0x0088, 0xe294ac},
11+
{0x0089, 0xe294b4},
12+
{0x008a, 0xe294bc},
13+
{0x008b, 0xe29680},
14+
{0x008c, 0xe29684},
15+
{0x008d, 0xe29688},
16+
{0x008e, 0xe2968c},
17+
{0x008f, 0xe29690},
18+
{0x0090, 0xe29691},
19+
{0x0091, 0xe29692},
20+
{0x0092, 0xe29693},
21+
{0x0093, 0xe28ca0},
22+
{0x0094, 0xe296a0},
23+
{0x0095, 0xe28899},
24+
{0x0096, 0xe2889a},
25+
{0x0097, 0xe28988},
26+
{0x0098, 0xe289a4},
27+
{0x0099, 0xe289a5},
28+
{0x009a, 0xc2a0},
29+
{0x009b, 0xe28ca1},
30+
{0x009c, 0xc2b0},
31+
{0x009d, 0xc2b2},
32+
{0x009e, 0xc2b7},
33+
{0x009f, 0xc3b7},
34+
{0x00a0, 0xe29590},
35+
{0x00a1, 0xe29591},
36+
{0x00a2, 0xe29592},
37+
{0x00a3, 0xd191},
38+
{0x00a4, 0xe29593},
39+
{0x00a5, 0xe29594},
40+
{0x00a6, 0xe29595},
41+
{0x00a7, 0xe29596},
42+
{0x00a8, 0xe29597},
43+
{0x00a9, 0xe29598},
44+
{0x00aa, 0xe29599},
45+
{0x00ab, 0xe2959a},
46+
{0x00ac, 0xe2959b},
47+
{0x00ad, 0xe2959c},
48+
{0x00ae, 0xe2959d},
49+
{0x00af, 0xe2959e},
50+
{0x00b0, 0xe2959f},
51+
{0x00b1, 0xe295a0},
52+
{0x00b2, 0xe295a1},
53+
{0x00b3, 0xd081},
54+
{0x00b4, 0xe295a2},
55+
{0x00b5, 0xe295a3},
56+
{0x00b6, 0xe295a4},
57+
{0x00b7, 0xe295a5},
58+
{0x00b8, 0xe295a6},
59+
{0x00b9, 0xe295a7},
60+
{0x00ba, 0xe295a8},
61+
{0x00bb, 0xe295a9},
62+
{0x00bc, 0xe295aa},
63+
{0x00bd, 0xe295ab},
64+
{0x00be, 0xe295ac},
65+
{0x00bf, 0xc2a9},
66+
{0x00c0, 0xd18e},
67+
{0x00c1, 0xd0b0},
68+
{0x00c2, 0xd0b1},
69+
{0x00c3, 0xd186},
70+
{0x00c4, 0xd0b4},
71+
{0x00c5, 0xd0b5},
72+
{0x00c6, 0xd184},
73+
{0x00c7, 0xd0b3},
74+
{0x00c8, 0xd185},
75+
{0x00c9, 0xd0b8},
76+
{0x00ca, 0xd0b9},
77+
{0x00cb, 0xd0ba},
78+
{0x00cc, 0xd0bb},
79+
{0x00cd, 0xd0bc},
80+
{0x00ce, 0xd0bd},
81+
{0x00cf, 0xd0be},
82+
{0x00d0, 0xd0bf},
83+
{0x00d1, 0xd18f},
84+
{0x00d2, 0xd180},
85+
{0x00d3, 0xd181},
86+
{0x00d4, 0xd182},
87+
{0x00d5, 0xd183},
88+
{0x00d6, 0xd0b6},
89+
{0x00d7, 0xd0b2},
90+
{0x00d8, 0xd18c},
91+
{0x00d9, 0xd18b},
92+
{0x00da, 0xd0b7},
93+
{0x00db, 0xd188},
94+
{0x00dc, 0xd18d},
95+
{0x00dd, 0xd189},
96+
{0x00de, 0xd187},
97+
{0x00df, 0xd18a},
98+
{0x00e0, 0xd0ae},
99+
{0x00e1, 0xd090},
100+
{0x00e2, 0xd091},
101+
{0x00e3, 0xd0a6},
102+
{0x00e4, 0xd094},
103+
{0x00e5, 0xd095},
104+
{0x00e6, 0xd0a4},
105+
{0x00e7, 0xd093},
106+
{0x00e8, 0xd0a5},
107+
{0x00e9, 0xd098},
108+
{0x00ea, 0xd099},
109+
{0x00eb, 0xd09a},
110+
{0x00ec, 0xd09b},
111+
{0x00ed, 0xd09c},
112+
{0x00ee, 0xd09d},
113+
{0x00ef, 0xd09e},
114+
{0x00f0, 0xd09f},
115+
{0x00f1, 0xd0af},
116+
{0x00f2, 0xd0a0},
117+
{0x00f3, 0xd0a1},
118+
{0x00f4, 0xd0a2},
119+
{0x00f5, 0xd0a3},
120+
{0x00f6, 0xd096},
121+
{0x00f7, 0xd092},
122+
{0x00f8, 0xd0ac},
123+
{0x00f9, 0xd0ab},
124+
{0x00fa, 0xd097},
125+
{0x00fb, 0xd0a8},
126+
{0x00fc, 0xd0ad},
127+
{0x00fd, 0xd0a9},
128+
{0x00fe, 0xd0a7},
129+
{0x00ff, 0xd0aa}
130+
};

src/backend/utils/mb/Unicode/Makefile

+10-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
# Copyright 2001 by PostgreSQL Global Development Group
66
#
7-
# $Header: /cvsroot/pgsql/src/backend/utils/mb/Unicode/Makefile,v 1.1 2000/10/30 10:40:29 ishii Exp $
7+
# $Header: /cvsroot/pgsql/src/backend/utils/mb/Unicode/Makefile,v 1.2 2001/04/29 07:27:38 ishii Exp $
88
#
99
#-------------------------------------------------------------------------
1010

@@ -17,16 +17,21 @@ ISO8859MAPS=iso8859_2_to_utf8.map iso8859_3_to_utf8.map \
1717
utf8_to_iso8859_2.map utf8_to_iso8859_3.map \
1818
utf8_to_iso8859_4.map utf8_to_iso8859_5.map
1919

20-
MAPS= $(ISO8859MAPS) \
20+
21+
CYRILLICMAPS=KOI8_to_utf8.map WIN_to_utf8.map ALT_to_utf8.map\
22+
utf8_to_KOI8.map utf8_to_WIN.map utf8_to_ALT.map
23+
24+
MAPS= $(ISO8859MAPS) $(CYRILLICMAPS)\
2125
big5_to_utf8.map euc_cn_to_utf8.map euc_jp_to_utf8.map \
2226
euc_kr_to_utf8.map euc_tw_to_utf8.map sjis_to_utf8.map \
2327
utf8_to_big5.map utf8_to_euc_cn.map utf8_to_euc_jp.map \
2428
utf8_to_euc_kr.map utf8_to_euc_tw.map utf8_to_iso8859_2.map \
2529
utf8_to_sjis.map
2630

2731
ISO8859TEXTS= 8859-2.TXT 8859-3.TXT 8859-4.TXT 8859-5.TXT
32+
CYRILLICTEXTS=cp866.txt cp1251.txt koi8-r.txt
2833

29-
TEXTS=$(ISO8859TEXTS) \
34+
TEXTS=$(ISO8859TEXTS) $(CYRILLICTEXTS) \
3035
BIG5.TXT CNS11643.TXT GB2312.TXT \
3136
JIS0201.TXT JIS0208.TXT JIS0212.TXT \
3237
OLD5601.TXT SHIFTJIS.TXT
@@ -35,6 +40,8 @@ all: $(MAPS)
3540

3641
$(ISO8859MAPS) : $(ISO8859TEXTS)
3742
./UCS_to_8859.pl
43+
$(CYRILLICMAPS) : $(CYRILLICTEXTS)
44+
./UCS_to_cyrillic.pl
3845

3946
euc_jp_to_utf8.map utf8_to_euc_jp.map : JIS0201.TXT JIS0208.TXT JIS0212.TXT
4047
./UCS_to_EUC_JP.pl

0 commit comments

Comments
 (0)