]> arthur.barton.de Git - netatalk.git/blob - libatalk/unicode/charsets/mac_chinese_simp.h
105f1506835d4f7b212b165bca0fbe05ad6acb1a
[netatalk.git] / libatalk / unicode / charsets / mac_chinese_simp.h
1 /*
2  * MacChineseSimp
3  * Copyright (C) TSUBAKIMOTO Hiroya <zorac@4000do.co.jp> 2004
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  *
19  * Reference
20  * http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/
21  */
22
23 static const u_int16_t mac_chinese_simp_uni2_page00[][2] = {
24   /* 0x00a */ { 0x022d,    0 }, { 0x0080,    5 },
25   /* 0x00c */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 },
26   /* 0x010 */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 },
27   /* 0x014 */ { 0x0110,    6 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 },
28   /* 0x018 */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 },
29   /* 0x01c */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x0200,    8 },
30   /* 0x020 */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 },
31   /* 0x024 */ { 0x0000,    0 }, { 0x0002,    9 }, { 0x0002,   10 },
32 };
33
34 static const u_int16_t mac_chinese_simp_uni2_page1e[][2] = {
35   /* 0x1e3 */ { 0x8000,   11 },
36 };
37
38 static const u_int16_t mac_chinese_simp_uni2_page20[][2] = {
39   /* 0x201 */ { 0x0070,   12 }, { 0x0040,   15 }, { 0x4000,   16 },
40 };
41
42 static const u_int16_t mac_chinese_simp_uni2_page21[][2] = {
43   /* 0x212 */ { 0x0004,   17 },
44 };
45
46 static const u_int16_t mac_chinese_simp_uni2_page22[][2] = {
47   /* 0x22e */ { 0x8000,   18 },
48 };
49
50 static const u_int16_t mac_chinese_simp_uni2_page30[][2] = {
51   /* 0x301 */ { 0x1000,   19 }, { 0x0000,    0 }, { 0x0000,    0 },
52   /* 0x304 */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 },
53   /* 0x308 */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 },
54   /* 0x30c */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x0800,   20 },
55 };
56
57 static const u_int16_t mac_chinese_simp_uni2_pagee0[][2] = {
58   /* 0xe00 */ { 0x07ff,   21 },
59 };
60
61 static const u_int16_t mac_chinese_simp_uni2_pagef8[][2] = {
62   /* 0xf88 */ { 0x0003,   32 },
63 };
64
65 static const u_int16_t mac_chinese_simp_uni2_pagefe[][2] = {
66   /* 0xfe3 */ { 0xfffa,   34 }, { 0x001f,   48 },
67 };
68
69 static const u_int16_t mac_chinese_simp_uni2_pageff[][2] = {
70   /* 0xff5 */ { 0x4000,   53 }, { 0x0000,    0 }, { 0x0000,    0 },
71   /* 0xff8 */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 },
72   /* 0xffc */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x002b,   54 },
73 };
74
75 static const cjk_index_t mac_chinese_simp_uni2_index[] = {
76   { { 0x00a0, 0x026f }, mac_chinese_simp_uni2_page00 },
77   { { 0x1e30, 0x1e3f }, mac_chinese_simp_uni2_page1e },
78   { { 0x2010, 0x203f }, mac_chinese_simp_uni2_page20 },
79   { { 0x2120, 0x212f }, mac_chinese_simp_uni2_page21 },
80   { { 0x22e0, 0x22ef }, mac_chinese_simp_uni2_page22 },
81   { { 0x3010, 0x30ff }, mac_chinese_simp_uni2_page30 },
82   { { 0xe000, 0xe00f }, mac_chinese_simp_uni2_pagee0 },
83   { { 0xf880, 0xf88f }, mac_chinese_simp_uni2_pagef8 },
84   { { 0xfe30, 0xfe4f }, mac_chinese_simp_uni2_pagefe },
85   { { 0xff50, 0xffef }, mac_chinese_simp_uni2_pageff },
86   { { 0, 0 }, 0 }
87 };
88
89 static const u_int16_t mac_chinese_simp_uni2_charset[] = {
90   0x00a0, 0xa1e9, 0xa1ea, 0xa3a4, 0x00fd, 0xa1a4, 0xa8bd, 0xa8be,
91   0xa8bf, 0xa8bb, 0xa8c0, 0xa8bc, 0xa1aa, 0xffff, 0xa1ac, 0x00ff,
92   0xa3fe, 0x00fe, 0xa1ad, 0xa1ab, 0xffff, 0x0080, 0xa6f3, 0xa6db,
93   0xa6da, 0xa6ec, 0xa6ed, 0xa6de, 0xa6d9, 0xa6dc, 0xa6dd, 0xa6df,
94   0x0081, 0x0082, 0xa6f2, 0xa6f4, 0xa6f5, 0xa6e0, 0xa6e1, 0xa6f0,
95   0xa6f1, 0xa6e2, 0xa6e3, 0xa6ee, 0xa6ef, 0xa6e6, 0xa6e7, 0xa6e4,
96   0xa6e5, 0xa6e8, 0xa6e9, 0xa6ea, 0xa6eb, 0xffff, 0xffff, 0xffff,
97   0xffff, 0xffff,
98 };
99
100 static const u_int16_t mac_chinese_simp_2uni_page00[][2] = {
101   /* 0x008 */ { 0x0007,    0 }, { 0x0000,    0 }, { 0x0001,    3 }, { 0x0000,    0 },
102   /* 0x00c */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0xe000,    4 },
103 };
104
105 static const u_int16_t mac_chinese_simp_2uni_pagea1[][2] = {
106   /* 0xa1a */ { 0x3c10,    7 }, { 0x0000,    0 },
107   /* 0xa1c */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0600,   12 },
108 };
109
110 static const u_int16_t mac_chinese_simp_2uni_pagea3[][2] = {
111   /* 0xa3a */ { 0x0010,   14 }, { 0x0000,    0 },
112   /* 0xa3c */ { 0x0000,    0 }, { 0x0000,    0 }, { 0x0000,    0 }, { 0x4000,   15 },
113 };
114
115 static const u_int16_t mac_chinese_simp_2uni_pagea6[][2] = {
116   /* 0xa6d */ { 0xfe00,   16 }, { 0xffff,   23 }, { 0x003f,   39 },
117 };
118
119 static const u_int16_t mac_chinese_simp_2uni_pagea8[][2] = {
120   /* 0xa8b */ { 0xf800,   45 }, { 0x0001,   50 },
121 };
122
123 static const cjk_index_t mac_chinese_simp_2uni_index[] = {
124   { { 0x0080, 0x00ff }, mac_chinese_simp_2uni_page00 },
125   { { 0xa1a0, 0xa1ef }, mac_chinese_simp_2uni_pagea1 },
126   { { 0xa3a0, 0xa3ff }, mac_chinese_simp_2uni_pagea3 },
127   { { 0xa6d0, 0xa6ff }, mac_chinese_simp_2uni_pagea6 },
128   { { 0xa8b0, 0xa8cf }, mac_chinese_simp_2uni_pagea8 },
129   { { 0, 0 }, 0 }
130 };
131
132 static const u_int16_t mac_chinese_simp_2uni_charset[] = {
133   0xe000, 0xf880, 0xf881, 0x00a0, 0x00a9, 0x2122, 0x2026, 0x00b7,
134   0x2014, 0x301c, 0x2016, 0x22ef, 0x00a2, 0x00a3, 0x00a5, 0x203e,
135   0xe007, 0xe003, 0xe002, 0xe008, 0xe009, 0xe006, 0xe00a, 0xfe35,
136   0xfe36, 0xfe39, 0xfe3a, 0xfe3f, 0xfe40, 0xfe3d, 0xfe3e, 0xfe41,
137   0xfe42, 0xfe43, 0xfe44, 0xe004, 0xe005, 0xfe3b, 0xfe3c, 0xfe37,
138   0xfe38, 0xfe31, 0xe001, 0xfe33, 0xfe34, 0x0251, 0x1e3f, 0x0144,
139   0x0148, 0x01f9, 0x0261,
140 };
141
142 static const u_int32_t mac_chinese_simp_compose[] = {
143   0x00fcf87f, 0x22eff87e, 0x3001f87e, 0x3002f87e,
144   0x3016f87e, 0x3017f87e, 0xff01f87e, 0xff0cf87e,
145   0xff1af87e, 0xff1bf87e, 0xff1ff87e,
146 };