xorriso  1.5.4.pl02
About: GNU xorriso creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. It is suitable for incremental data backup and for production of bootable ISO 9660 images. GNU xorriso is a statical compilation of the libraries libburn, libisofs, libisoburn, and libjte.
  Fossies Dox: xorriso-1.5.4.pl02.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

hfsplus_decompose_old.c
Go to the documentation of this file.
1 #ifdef HAVE_CONFIG_H
2 #include "../config.h"
3 #endif
4 
5 #include "hfsplus.h"
6 
7 /*
8  Cased on tn1150 (HFS+ format specification)
9 */
10 
11 
12 static uint16_t page00[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
13  [0xc0] = { 0x0041, 0x0300, 0x0000 },
14  [0xc1] = { 0x0041, 0x0301, 0x0000 },
15  [0xc2] = { 0x0041, 0x0302, 0x0000 },
16  [0xc3] = { 0x0041, 0x0303, 0x0000 },
17  [0xc4] = { 0x0041, 0x0308, 0x0000 },
18  [0xc5] = { 0x0041, 0x030A, 0x0000 },
19  [0xc7] = { 0x0043, 0x0327, 0x0000 },
20  [0xc8] = { 0x0045, 0x0300, 0x0000 },
21  [0xc9] = { 0x0045, 0x0301, 0x0000 },
22  [0xca] = { 0x0045, 0x0302, 0x0000 },
23  [0xcb] = { 0x0045, 0x0308, 0x0000 },
24  [0xcc] = { 0x0049, 0x0300, 0x0000 },
25  [0xcd] = { 0x0049, 0x0301, 0x0000 },
26  [0xce] = { 0x0049, 0x0302, 0x0000 },
27  [0xcf] = { 0x0049, 0x0308, 0x0000 },
28  [0xd1] = { 0x004E, 0x0303, 0x0000 },
29  [0xd2] = { 0x004F, 0x0300, 0x0000 },
30  [0xd3] = { 0x004F, 0x0301, 0x0000 },
31  [0xd4] = { 0x004F, 0x0302, 0x0000 },
32  [0xd5] = { 0x004F, 0x0303, 0x0000 },
33  [0xd6] = { 0x004F, 0x0308, 0x0000 },
34  [0xd9] = { 0x0055, 0x0300, 0x0000 },
35  [0xda] = { 0x0055, 0x0301, 0x0000 },
36  [0xdb] = { 0x0055, 0x0302, 0x0000 },
37  [0xdc] = { 0x0055, 0x0308, 0x0000 },
38  [0xdd] = { 0x0059, 0x0301, 0x0000 },
39  [0xe0] = { 0x0061, 0x0300, 0x0000 },
40  [0xe1] = { 0x0061, 0x0301, 0x0000 },
41  [0xe2] = { 0x0061, 0x0302, 0x0000 },
42  [0xe3] = { 0x0061, 0x0303, 0x0000 },
43  [0xe4] = { 0x0061, 0x0308, 0x0000 },
44  [0xe5] = { 0x0061, 0x030A, 0x0000 },
45  [0xe7] = { 0x0063, 0x0327, 0x0000 },
46  [0xe8] = { 0x0065, 0x0300, 0x0000 },
47  [0xe9] = { 0x0065, 0x0301, 0x0000 },
48  [0xea] = { 0x0065, 0x0302, 0x0000 },
49  [0xeb] = { 0x0065, 0x0308, 0x0000 },
50  [0xec] = { 0x0069, 0x0300, 0x0000 },
51  [0xed] = { 0x0069, 0x0301, 0x0000 },
52  [0xee] = { 0x0069, 0x0302, 0x0000 },
53  [0xef] = { 0x0069, 0x0308, 0x0000 },
54  [0xf1] = { 0x006E, 0x0303, 0x0000 },
55  [0xf2] = { 0x006F, 0x0300, 0x0000 },
56  [0xf3] = { 0x006F, 0x0301, 0x0000 },
57  [0xf4] = { 0x006F, 0x0302, 0x0000 },
58  [0xf5] = { 0x006F, 0x0303, 0x0000 },
59  [0xf6] = { 0x006F, 0x0308, 0x0000 },
60  [0xf9] = { 0x0075, 0x0300, 0x0000 },
61  [0xfa] = { 0x0075, 0x0301, 0x0000 },
62  [0xfb] = { 0x0075, 0x0302, 0x0000 },
63  [0xfc] = { 0x0075, 0x0308, 0x0000 },
64  [0xfd] = { 0x0079, 0x0301, 0x0000 },
65  [0xff] = { 0x0079, 0x0308, 0x0000 },
66 };
67 
68 static uint16_t page01[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
69  [0x00] = { 0x0041, 0x0304, 0x0000 },
70  [0x01] = { 0x0061, 0x0304, 0x0000 },
71  [0x02] = { 0x0041, 0x0306, 0x0000 },
72  [0x03] = { 0x0061, 0x0306, 0x0000 },
73  [0x04] = { 0x0041, 0x0328, 0x0000 },
74  [0x05] = { 0x0061, 0x0328, 0x0000 },
75  [0x06] = { 0x0043, 0x0301, 0x0000 },
76  [0x07] = { 0x0063, 0x0301, 0x0000 },
77  [0x08] = { 0x0043, 0x0302, 0x0000 },
78  [0x09] = { 0x0063, 0x0302, 0x0000 },
79  [0x0a] = { 0x0043, 0x0307, 0x0000 },
80  [0x0b] = { 0x0063, 0x0307, 0x0000 },
81  [0x0c] = { 0x0043, 0x030C, 0x0000 },
82  [0x0d] = { 0x0063, 0x030C, 0x0000 },
83  [0x0e] = { 0x0044, 0x030C, 0x0000 },
84  [0x0f] = { 0x0064, 0x030C, 0x0000 },
85  [0x12] = { 0x0045, 0x0304, 0x0000 },
86  [0x13] = { 0x0065, 0x0304, 0x0000 },
87  [0x14] = { 0x0045, 0x0306, 0x0000 },
88  [0x15] = { 0x0065, 0x0306, 0x0000 },
89  [0x16] = { 0x0045, 0x0307, 0x0000 },
90  [0x17] = { 0x0065, 0x0307, 0x0000 },
91  [0x18] = { 0x0045, 0x0328, 0x0000 },
92  [0x19] = { 0x0065, 0x0328, 0x0000 },
93  [0x1a] = { 0x0045, 0x030C, 0x0000 },
94  [0x1b] = { 0x0065, 0x030C, 0x0000 },
95  [0x1c] = { 0x0047, 0x0302, 0x0000 },
96  [0x1d] = { 0x0067, 0x0302, 0x0000 },
97  [0x1e] = { 0x0047, 0x0306, 0x0000 },
98  [0x1f] = { 0x0067, 0x0306, 0x0000 },
99  [0x20] = { 0x0047, 0x0307, 0x0000 },
100  [0x21] = { 0x0067, 0x0307, 0x0000 },
101  [0x22] = { 0x0047, 0x0327, 0x0000 },
102  [0x23] = { 0x0067, 0x0327, 0x0000 },
103  [0x24] = { 0x0048, 0x0302, 0x0000 },
104  [0x25] = { 0x0068, 0x0302, 0x0000 },
105  [0x28] = { 0x0049, 0x0303, 0x0000 },
106  [0x29] = { 0x0069, 0x0303, 0x0000 },
107  [0x2a] = { 0x0049, 0x0304, 0x0000 },
108  [0x2b] = { 0x0069, 0x0304, 0x0000 },
109  [0x2c] = { 0x0049, 0x0306, 0x0000 },
110  [0x2d] = { 0x0069, 0x0306, 0x0000 },
111  [0x2e] = { 0x0049, 0x0328, 0x0000 },
112  [0x2f] = { 0x0069, 0x0328, 0x0000 },
113  [0x30] = { 0x0049, 0x0307, 0x0000 },
114  [0x34] = { 0x004A, 0x0302, 0x0000 },
115  [0x35] = { 0x006A, 0x0302, 0x0000 },
116  [0x36] = { 0x004B, 0x0327, 0x0000 },
117  [0x37] = { 0x006B, 0x0327, 0x0000 },
118  [0x39] = { 0x004C, 0x0301, 0x0000 },
119  [0x3a] = { 0x006C, 0x0301, 0x0000 },
120  [0x3b] = { 0x004C, 0x0327, 0x0000 },
121  [0x3c] = { 0x006C, 0x0327, 0x0000 },
122  [0x3d] = { 0x004C, 0x030C, 0x0000 },
123  [0x3e] = { 0x006C, 0x030C, 0x0000 },
124  [0x43] = { 0x004E, 0x0301, 0x0000 },
125  [0x44] = { 0x006E, 0x0301, 0x0000 },
126  [0x45] = { 0x004E, 0x0327, 0x0000 },
127  [0x46] = { 0x006E, 0x0327, 0x0000 },
128  [0x47] = { 0x004E, 0x030C, 0x0000 },
129  [0x48] = { 0x006E, 0x030C, 0x0000 },
130  [0x4c] = { 0x004F, 0x0304, 0x0000 },
131  [0x4d] = { 0x006F, 0x0304, 0x0000 },
132  [0x4e] = { 0x004F, 0x0306, 0x0000 },
133  [0x4f] = { 0x006F, 0x0306, 0x0000 },
134  [0x50] = { 0x004F, 0x030B, 0x0000 },
135  [0x51] = { 0x006F, 0x030B, 0x0000 },
136  [0x54] = { 0x0052, 0x0301, 0x0000 },
137  [0x55] = { 0x0072, 0x0301, 0x0000 },
138  [0x56] = { 0x0052, 0x0327, 0x0000 },
139  [0x57] = { 0x0072, 0x0327, 0x0000 },
140  [0x58] = { 0x0052, 0x030C, 0x0000 },
141  [0x59] = { 0x0072, 0x030C, 0x0000 },
142  [0x5a] = { 0x0053, 0x0301, 0x0000 },
143  [0x5b] = { 0x0073, 0x0301, 0x0000 },
144  [0x5c] = { 0x0053, 0x0302, 0x0000 },
145  [0x5d] = { 0x0073, 0x0302, 0x0000 },
146  [0x5e] = { 0x0053, 0x0327, 0x0000 },
147  [0x5f] = { 0x0073, 0x0327, 0x0000 },
148  [0x60] = { 0x0053, 0x030C, 0x0000 },
149  [0x61] = { 0x0073, 0x030C, 0x0000 },
150  [0x62] = { 0x0054, 0x0327, 0x0000 },
151  [0x63] = { 0x0074, 0x0327, 0x0000 },
152  [0x64] = { 0x0054, 0x030C, 0x0000 },
153  [0x65] = { 0x0074, 0x030C, 0x0000 },
154  [0x68] = { 0x0055, 0x0303, 0x0000 },
155  [0x69] = { 0x0075, 0x0303, 0x0000 },
156  [0x6a] = { 0x0055, 0x0304, 0x0000 },
157  [0x6b] = { 0x0075, 0x0304, 0x0000 },
158  [0x6c] = { 0x0055, 0x0306, 0x0000 },
159  [0x6d] = { 0x0075, 0x0306, 0x0000 },
160  [0x6e] = { 0x0055, 0x030A, 0x0000 },
161  [0x6f] = { 0x0075, 0x030A, 0x0000 },
162  [0x70] = { 0x0055, 0x030B, 0x0000 },
163  [0x71] = { 0x0075, 0x030B, 0x0000 },
164  [0x72] = { 0x0055, 0x0328, 0x0000 },
165  [0x73] = { 0x0075, 0x0328, 0x0000 },
166  [0x74] = { 0x0057, 0x0302, 0x0000 },
167  [0x75] = { 0x0077, 0x0302, 0x0000 },
168  [0x76] = { 0x0059, 0x0302, 0x0000 },
169  [0x77] = { 0x0079, 0x0302, 0x0000 },
170  [0x78] = { 0x0059, 0x0308, 0x0000 },
171  [0x79] = { 0x005A, 0x0301, 0x0000 },
172  [0x7a] = { 0x007A, 0x0301, 0x0000 },
173  [0x7b] = { 0x005A, 0x0307, 0x0000 },
174  [0x7c] = { 0x007A, 0x0307, 0x0000 },
175  [0x7d] = { 0x005A, 0x030C, 0x0000 },
176  [0x7e] = { 0x007A, 0x030C, 0x0000 },
177  [0xa0] = { 0x004F, 0x031B, 0x0000 },
178  [0xa1] = { 0x006F, 0x031B, 0x0000 },
179  [0xaf] = { 0x0055, 0x031B, 0x0000 },
180  [0xb0] = { 0x0075, 0x031B, 0x0000 },
181  [0xcd] = { 0x0041, 0x030C, 0x0000 },
182  [0xce] = { 0x0061, 0x030C, 0x0000 },
183  [0xcf] = { 0x0049, 0x030C, 0x0000 },
184  [0xd0] = { 0x0069, 0x030C, 0x0000 },
185  [0xd1] = { 0x004F, 0x030C, 0x0000 },
186  [0xd2] = { 0x006F, 0x030C, 0x0000 },
187  [0xd3] = { 0x0055, 0x030C, 0x0000 },
188  [0xd4] = { 0x0075, 0x030C, 0x0000 },
189  [0xd5] = { 0x0055, 0x0308, 0x0304, 0x0000 },
190  [0xd6] = { 0x0075, 0x0308, 0x0304, 0x0000 },
191  [0xd7] = { 0x0055, 0x0308, 0x0301, 0x0000 },
192  [0xd8] = { 0x0075, 0x0308, 0x0301, 0x0000 },
193  [0xd9] = { 0x0055, 0x0308, 0x030C, 0x0000 },
194  [0xda] = { 0x0075, 0x0308, 0x030C, 0x0000 },
195  [0xdb] = { 0x0055, 0x0308, 0x0300, 0x0000 },
196  [0xdc] = { 0x0075, 0x0308, 0x0300, 0x0000 },
197  [0xde] = { 0x0041, 0x0308, 0x0304, 0x0000 },
198  [0xdf] = { 0x0061, 0x0308, 0x0304, 0x0000 },
199  [0xe0] = { 0x0041, 0x0307, 0x0304, 0x0000 },
200  [0xe1] = { 0x0061, 0x0307, 0x0304, 0x0000 },
201  [0xe2] = { 0x00C6, 0x0304, 0x0000 },
202  [0xe3] = { 0x00E6, 0x0304, 0x0000 },
203  [0xe6] = { 0x0047, 0x030C, 0x0000 },
204  [0xe7] = { 0x0067, 0x030C, 0x0000 },
205  [0xe8] = { 0x004B, 0x030C, 0x0000 },
206  [0xe9] = { 0x006B, 0x030C, 0x0000 },
207  [0xea] = { 0x004F, 0x0328, 0x0000 },
208  [0xeb] = { 0x006F, 0x0328, 0x0000 },
209  [0xec] = { 0x004F, 0x0328, 0x0304, 0x0000 },
210  [0xed] = { 0x006F, 0x0328, 0x0304, 0x0000 },
211  [0xee] = { 0x01B7, 0x030C, 0x0000 },
212  [0xef] = { 0x0292, 0x030C, 0x0000 },
213  [0xf0] = { 0x006A, 0x030C, 0x0000 },
214  [0xf4] = { 0x0047, 0x0301, 0x0000 },
215  [0xf5] = { 0x0067, 0x0301, 0x0000 },
216  [0xfa] = { 0x0041, 0x030A, 0x0301, 0x0000 },
217  [0xfb] = { 0x0061, 0x030A, 0x0301, 0x0000 },
218  [0xfc] = { 0x00C6, 0x0301, 0x0000 },
219  [0xfd] = { 0x00E6, 0x0301, 0x0000 },
220  [0xfe] = { 0x00D8, 0x0301, 0x0000 },
221  [0xff] = { 0x00F8, 0x0301, 0x0000 },
222 };
223 
224 static uint16_t page02[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
225  [0x00] = { 0x0041, 0x030F, 0x0000 },
226  [0x01] = { 0x0061, 0x030F, 0x0000 },
227  [0x02] = { 0x0041, 0x0311, 0x0000 },
228  [0x03] = { 0x0061, 0x0311, 0x0000 },
229  [0x04] = { 0x0045, 0x030F, 0x0000 },
230  [0x05] = { 0x0065, 0x030F, 0x0000 },
231  [0x06] = { 0x0045, 0x0311, 0x0000 },
232  [0x07] = { 0x0065, 0x0311, 0x0000 },
233  [0x08] = { 0x0049, 0x030F, 0x0000 },
234  [0x09] = { 0x0069, 0x030F, 0x0000 },
235  [0x0a] = { 0x0049, 0x0311, 0x0000 },
236  [0x0b] = { 0x0069, 0x0311, 0x0000 },
237  [0x0c] = { 0x004F, 0x030F, 0x0000 },
238  [0x0d] = { 0x006F, 0x030F, 0x0000 },
239  [0x0e] = { 0x004F, 0x0311, 0x0000 },
240  [0x0f] = { 0x006F, 0x0311, 0x0000 },
241  [0x10] = { 0x0052, 0x030F, 0x0000 },
242  [0x11] = { 0x0072, 0x030F, 0x0000 },
243  [0x12] = { 0x0052, 0x0311, 0x0000 },
244  [0x13] = { 0x0072, 0x0311, 0x0000 },
245  [0x14] = { 0x0055, 0x030F, 0x0000 },
246  [0x15] = { 0x0075, 0x030F, 0x0000 },
247  [0x16] = { 0x0055, 0x0311, 0x0000 },
248  [0x17] = { 0x0075, 0x0311, 0x0000 },
249 };
250 
251 static uint16_t page03[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
252  [0x10] = { 0x0306, 0x0307, 0x0000 },
253  [0x40] = { 0x0300, 0x0000 },
254  [0x41] = { 0x0301, 0x0000 },
255  [0x43] = { 0x0313, 0x0000 },
256  [0x44] = { 0x0308, 0x030D, 0x0000 },
257  [0x74] = { 0x02B9, 0x0000 },
258  [0x7e] = { 0x003B, 0x0000 },
259  [0x85] = { 0x00A8, 0x030D, 0x0000 },
260  [0x86] = { 0x0391, 0x030D, 0x0000 },
261  [0x87] = { 0x00B7, 0x0000 },
262  [0x88] = { 0x0395, 0x030D, 0x0000 },
263  [0x89] = { 0x0397, 0x030D, 0x0000 },
264  [0x8a] = { 0x0399, 0x030D, 0x0000 },
265  [0x8c] = { 0x039F, 0x030D, 0x0000 },
266  [0x8e] = { 0x03A5, 0x030D, 0x0000 },
267  [0x8f] = { 0x03A9, 0x030D, 0x0000 },
268  [0x90] = { 0x03B9, 0x0308, 0x030D, 0x0000 },
269  [0xaa] = { 0x0399, 0x0308, 0x0000 },
270  [0xab] = { 0x03A5, 0x0308, 0x0000 },
271  [0xac] = { 0x03B1, 0x030D, 0x0000 },
272  [0xad] = { 0x03B5, 0x030D, 0x0000 },
273  [0xae] = { 0x03B7, 0x030D, 0x0000 },
274  [0xaf] = { 0x03B9, 0x030D, 0x0000 },
275  [0xb0] = { 0x03C5, 0x0308, 0x030D, 0x0000 },
276  [0xca] = { 0x03B9, 0x0308, 0x0000 },
277  [0xcb] = { 0x03C5, 0x0308, 0x0000 },
278  [0xcc] = { 0x03BF, 0x030D, 0x0000 },
279  [0xcd] = { 0x03C5, 0x030D, 0x0000 },
280  [0xce] = { 0x03C9, 0x030D, 0x0000 },
281  [0xd3] = { 0x03D2, 0x030D, 0x0000 },
282  [0xd4] = { 0x03D2, 0x0308, 0x0000 },
283 };
284 
285 static uint16_t page04[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
286  [0x01] = { 0x0415, 0x0308, 0x0000 },
287  [0x03] = { 0x0413, 0x0301, 0x0000 },
288  [0x07] = { 0x0406, 0x0308, 0x0000 },
289  [0x0c] = { 0x041A, 0x0301, 0x0000 },
290  [0x0e] = { 0x0423, 0x0306, 0x0000 },
291  [0x19] = { 0x0418, 0x0306, 0x0000 },
292  [0x39] = { 0x0438, 0x0306, 0x0000 },
293  [0x51] = { 0x0435, 0x0308, 0x0000 },
294  [0x53] = { 0x0433, 0x0301, 0x0000 },
295  [0x57] = { 0x0456, 0x0308, 0x0000 },
296  [0x5c] = { 0x043A, 0x0301, 0x0000 },
297  [0x5e] = { 0x0443, 0x0306, 0x0000 },
298  [0x76] = { 0x0474, 0x030F, 0x0000 },
299  [0x77] = { 0x0475, 0x030F, 0x0000 },
300  [0xc1] = { 0x0416, 0x0306, 0x0000 },
301  [0xc2] = { 0x0436, 0x0306, 0x0000 },
302  [0xd0] = { 0x0410, 0x0306, 0x0000 },
303  [0xd1] = { 0x0430, 0x0306, 0x0000 },
304  [0xd2] = { 0x0410, 0x0308, 0x0000 },
305  [0xd3] = { 0x0430, 0x0308, 0x0000 },
306  [0xd4] = { 0x00C6, 0x0000 },
307  [0xd5] = { 0x00E6, 0x0000 },
308  [0xd6] = { 0x0415, 0x0306, 0x0000 },
309  [0xd7] = { 0x0435, 0x0306, 0x0000 },
310  [0xd8] = { 0x018F, 0x0000 },
311  [0xd9] = { 0x0259, 0x0000 },
312  [0xda] = { 0x018F, 0x0308, 0x0000 },
313  [0xdb] = { 0x0259, 0x0308, 0x0000 },
314  [0xdc] = { 0x0416, 0x0308, 0x0000 },
315  [0xdd] = { 0x0436, 0x0308, 0x0000 },
316  [0xde] = { 0x0417, 0x0308, 0x0000 },
317  [0xdf] = { 0x0437, 0x0308, 0x0000 },
318  [0xe0] = { 0x01B7, 0x0000 },
319  [0xe1] = { 0x0292, 0x0000 },
320  [0xe2] = { 0x0418, 0x0304, 0x0000 },
321  [0xe3] = { 0x0438, 0x0304, 0x0000 },
322  [0xe4] = { 0x0418, 0x0308, 0x0000 },
323  [0xe5] = { 0x0438, 0x0308, 0x0000 },
324  [0xe6] = { 0x041E, 0x0308, 0x0000 },
325  [0xe7] = { 0x043E, 0x0308, 0x0000 },
326  [0xe8] = { 0x019F, 0x0000 },
327  [0xe9] = { 0x0275, 0x0000 },
328  [0xea] = { 0x019F, 0x0308, 0x0000 },
329  [0xeb] = { 0x0275, 0x0308, 0x0000 },
330  [0xee] = { 0x0423, 0x0304, 0x0000 },
331  [0xef] = { 0x0443, 0x0304, 0x0000 },
332  [0xf0] = { 0x0423, 0x0308, 0x0000 },
333  [0xf1] = { 0x0443, 0x0308, 0x0000 },
334  [0xf2] = { 0x0423, 0x030B, 0x0000 },
335  [0xf3] = { 0x0443, 0x030B, 0x0000 },
336  [0xf4] = { 0x0427, 0x0308, 0x0000 },
337  [0xf5] = { 0x0447, 0x0308, 0x0000 },
338  [0xf8] = { 0x042B, 0x0308, 0x0000 },
339  [0xf9] = { 0x044B, 0x0308, 0x0000 },
340 };
341 
342 static uint16_t page09[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
343  [0x29] = { 0x0928, 0x093C, 0x0000 },
344  [0x31] = { 0x0930, 0x093C, 0x0000 },
345  [0x34] = { 0x0933, 0x093C, 0x0000 },
346  [0x58] = { 0x0915, 0x093C, 0x0000 },
347  [0x59] = { 0x0916, 0x093C, 0x0000 },
348  [0x5a] = { 0x0917, 0x093C, 0x0000 },
349  [0x5b] = { 0x091C, 0x093C, 0x0000 },
350  [0x5c] = { 0x0921, 0x093C, 0x0000 },
351  [0x5d] = { 0x0922, 0x093C, 0x0000 },
352  [0x5e] = { 0x092B, 0x093C, 0x0000 },
353  [0x5f] = { 0x092F, 0x093C, 0x0000 },
354  [0xb0] = { 0x09AC, 0x09BC, 0x0000 },
355  [0xcb] = { 0x09C7, 0x09BE, 0x0000 },
356  [0xcc] = { 0x09C7, 0x09D7, 0x0000 },
357  [0xdc] = { 0x09A1, 0x09BC, 0x0000 },
358  [0xdd] = { 0x09A2, 0x09BC, 0x0000 },
359  [0xdf] = { 0x09AF, 0x09BC, 0x0000 },
360 };
361 
362 static uint16_t page0a[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
363  [0x59] = { 0x0A16, 0x0A3C, 0x0000 },
364  [0x5a] = { 0x0A17, 0x0A3C, 0x0000 },
365  [0x5b] = { 0x0A1C, 0x0A3C, 0x0000 },
366  [0x5c] = { 0x0A21, 0x0A3C, 0x0000 },
367  [0x5e] = { 0x0A2B, 0x0A3C, 0x0000 },
368 };
369 
370 static uint16_t page0b[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
371  [0x48] = { 0x0B47, 0x0B56, 0x0000 },
372  [0x4b] = { 0x0B47, 0x0B3E, 0x0000 },
373  [0x4c] = { 0x0B47, 0x0B57, 0x0000 },
374  [0x5c] = { 0x0B21, 0x0B3C, 0x0000 },
375  [0x5d] = { 0x0B22, 0x0B3C, 0x0000 },
376  [0x5f] = { 0x0B2F, 0x0B3C, 0x0000 },
377  [0x94] = { 0x0B92, 0x0BD7, 0x0000 },
378  [0xca] = { 0x0BC6, 0x0BBE, 0x0000 },
379  [0xcb] = { 0x0BC7, 0x0BBE, 0x0000 },
380  [0xcc] = { 0x0BC6, 0x0BD7, 0x0000 },
381 };
382 
383 static uint16_t page0c[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
384  [0x48] = { 0x0C46, 0x0C56, 0x0000 },
385  [0xc0] = { 0x0CBF, 0x0CD5, 0x0000 },
386  [0xc7] = { 0x0CC6, 0x0CD5, 0x0000 },
387  [0xc8] = { 0x0CC6, 0x0CD6, 0x0000 },
388  [0xca] = { 0x0CC6, 0x0CC2, 0x0000 },
389  [0xcb] = { 0x0CC6, 0x0CC2, 0x0CD5, 0x0000 },
390 };
391 
392 static uint16_t page0d[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
393  [0x4a] = { 0x0D46, 0x0D3E, 0x0000 },
394  [0x4b] = { 0x0D47, 0x0D3E, 0x0000 },
395  [0x4c] = { 0x0D46, 0x0D57, 0x0000 },
396 };
397 
398 static uint16_t page0e[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
399  [0x33] = { 0x0E4D, 0x0E32, 0x0000 },
400  [0xb3] = { 0x0ECD, 0x0EB2, 0x0000 },
401 };
402 
403 static uint16_t page0f[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
404  [0x43] = { 0x0F42, 0x0FB7, 0x0000 },
405  [0x4d] = { 0x0F4C, 0x0FB7, 0x0000 },
406  [0x52] = { 0x0F51, 0x0FB7, 0x0000 },
407  [0x57] = { 0x0F56, 0x0FB7, 0x0000 },
408  [0x5c] = { 0x0F5B, 0x0FB7, 0x0000 },
409  [0x69] = { 0x0F40, 0x0FB5, 0x0000 },
410  [0x73] = { 0x0F72, 0x0F71, 0x0000 },
411  [0x75] = { 0x0F74, 0x0F71, 0x0000 },
412  [0x76] = { 0x0FB2, 0x0F80, 0x0000 },
413  [0x77] = { 0x0FB2, 0x0F80, 0x0F71, 0x0000 },
414  [0x78] = { 0x0FB3, 0x0F80, 0x0000 },
415  [0x79] = { 0x0FB3, 0x0F80, 0x0F71, 0x0000 },
416  [0x81] = { 0x0F80, 0x0F71, 0x0000 },
417  [0x93] = { 0x0F92, 0x0FB7, 0x0000 },
418  [0x9d] = { 0x0F9C, 0x0FB7, 0x0000 },
419  [0xa2] = { 0x0FA1, 0x0FB7, 0x0000 },
420  [0xa7] = { 0x0FA6, 0x0FB7, 0x0000 },
421  [0xac] = { 0x0FAB, 0x0FB7, 0x0000 },
422  [0xb9] = { 0x0F90, 0x0FB5, 0x0000 },
423 };
424 
425 static uint16_t page1e[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
426  [0x00] = { 0x0041, 0x0325, 0x0000 },
427  [0x01] = { 0x0061, 0x0325, 0x0000 },
428  [0x02] = { 0x0042, 0x0307, 0x0000 },
429  [0x03] = { 0x0062, 0x0307, 0x0000 },
430  [0x04] = { 0x0042, 0x0323, 0x0000 },
431  [0x05] = { 0x0062, 0x0323, 0x0000 },
432  [0x06] = { 0x0042, 0x0331, 0x0000 },
433  [0x07] = { 0x0062, 0x0331, 0x0000 },
434  [0x08] = { 0x0043, 0x0327, 0x0301, 0x0000 },
435  [0x09] = { 0x0063, 0x0327, 0x0301, 0x0000 },
436  [0x0a] = { 0x0044, 0x0307, 0x0000 },
437  [0x0b] = { 0x0064, 0x0307, 0x0000 },
438  [0x0c] = { 0x0044, 0x0323, 0x0000 },
439  [0x0d] = { 0x0064, 0x0323, 0x0000 },
440  [0x0e] = { 0x0044, 0x0331, 0x0000 },
441  [0x0f] = { 0x0064, 0x0331, 0x0000 },
442  [0x10] = { 0x0044, 0x0327, 0x0000 },
443  [0x11] = { 0x0064, 0x0327, 0x0000 },
444  [0x12] = { 0x0044, 0x032D, 0x0000 },
445  [0x13] = { 0x0064, 0x032D, 0x0000 },
446  [0x14] = { 0x0045, 0x0304, 0x0300, 0x0000 },
447  [0x15] = { 0x0065, 0x0304, 0x0300, 0x0000 },
448  [0x16] = { 0x0045, 0x0304, 0x0301, 0x0000 },
449  [0x17] = { 0x0065, 0x0304, 0x0301, 0x0000 },
450  [0x18] = { 0x0045, 0x032D, 0x0000 },
451  [0x19] = { 0x0065, 0x032D, 0x0000 },
452  [0x1a] = { 0x0045, 0x0330, 0x0000 },
453  [0x1b] = { 0x0065, 0x0330, 0x0000 },
454  [0x1c] = { 0x0045, 0x0327, 0x0306, 0x0000 },
455  [0x1d] = { 0x0065, 0x0327, 0x0306, 0x0000 },
456  [0x1e] = { 0x0046, 0x0307, 0x0000 },
457  [0x1f] = { 0x0066, 0x0307, 0x0000 },
458  [0x20] = { 0x0047, 0x0304, 0x0000 },
459  [0x21] = { 0x0067, 0x0304, 0x0000 },
460  [0x22] = { 0x0048, 0x0307, 0x0000 },
461  [0x23] = { 0x0068, 0x0307, 0x0000 },
462  [0x24] = { 0x0048, 0x0323, 0x0000 },
463  [0x25] = { 0x0068, 0x0323, 0x0000 },
464  [0x26] = { 0x0048, 0x0308, 0x0000 },
465  [0x27] = { 0x0068, 0x0308, 0x0000 },
466  [0x28] = { 0x0048, 0x0327, 0x0000 },
467  [0x29] = { 0x0068, 0x0327, 0x0000 },
468  [0x2a] = { 0x0048, 0x032E, 0x0000 },
469  [0x2b] = { 0x0068, 0x032E, 0x0000 },
470  [0x2c] = { 0x0049, 0x0330, 0x0000 },
471  [0x2d] = { 0x0069, 0x0330, 0x0000 },
472  [0x2e] = { 0x0049, 0x0308, 0x0301, 0x0000 },
473  [0x2f] = { 0x0069, 0x0308, 0x0301, 0x0000 },
474  [0x30] = { 0x004B, 0x0301, 0x0000 },
475  [0x31] = { 0x006B, 0x0301, 0x0000 },
476  [0x32] = { 0x004B, 0x0323, 0x0000 },
477  [0x33] = { 0x006B, 0x0323, 0x0000 },
478  [0x34] = { 0x004B, 0x0331, 0x0000 },
479  [0x35] = { 0x006B, 0x0331, 0x0000 },
480  [0x36] = { 0x004C, 0x0323, 0x0000 },
481  [0x37] = { 0x006C, 0x0323, 0x0000 },
482  [0x38] = { 0x004C, 0x0323, 0x0304, 0x0000 },
483  [0x39] = { 0x006C, 0x0323, 0x0304, 0x0000 },
484  [0x3a] = { 0x004C, 0x0331, 0x0000 },
485  [0x3b] = { 0x006C, 0x0331, 0x0000 },
486  [0x3c] = { 0x004C, 0x032D, 0x0000 },
487  [0x3d] = { 0x006C, 0x032D, 0x0000 },
488  [0x3e] = { 0x004D, 0x0301, 0x0000 },
489  [0x3f] = { 0x006D, 0x0301, 0x0000 },
490  [0x40] = { 0x004D, 0x0307, 0x0000 },
491  [0x41] = { 0x006D, 0x0307, 0x0000 },
492  [0x42] = { 0x004D, 0x0323, 0x0000 },
493  [0x43] = { 0x006D, 0x0323, 0x0000 },
494  [0x44] = { 0x004E, 0x0307, 0x0000 },
495  [0x45] = { 0x006E, 0x0307, 0x0000 },
496  [0x46] = { 0x004E, 0x0323, 0x0000 },
497  [0x47] = { 0x006E, 0x0323, 0x0000 },
498  [0x48] = { 0x004E, 0x0331, 0x0000 },
499  [0x49] = { 0x006E, 0x0331, 0x0000 },
500  [0x4a] = { 0x004E, 0x032D, 0x0000 },
501  [0x4b] = { 0x006E, 0x032D, 0x0000 },
502  [0x4c] = { 0x004F, 0x0303, 0x0301, 0x0000 },
503  [0x4d] = { 0x006F, 0x0303, 0x0301, 0x0000 },
504  [0x4e] = { 0x004F, 0x0303, 0x0308, 0x0000 },
505  [0x4f] = { 0x006F, 0x0303, 0x0308, 0x0000 },
506  [0x50] = { 0x004F, 0x0304, 0x0300, 0x0000 },
507  [0x51] = { 0x006F, 0x0304, 0x0300, 0x0000 },
508  [0x52] = { 0x004F, 0x0304, 0x0301, 0x0000 },
509  [0x53] = { 0x006F, 0x0304, 0x0301, 0x0000 },
510  [0x54] = { 0x0050, 0x0301, 0x0000 },
511  [0x55] = { 0x0070, 0x0301, 0x0000 },
512  [0x56] = { 0x0050, 0x0307, 0x0000 },
513  [0x57] = { 0x0070, 0x0307, 0x0000 },
514  [0x58] = { 0x0052, 0x0307, 0x0000 },
515  [0x59] = { 0x0072, 0x0307, 0x0000 },
516  [0x5a] = { 0x0052, 0x0323, 0x0000 },
517  [0x5b] = { 0x0072, 0x0323, 0x0000 },
518  [0x5c] = { 0x0052, 0x0323, 0x0304, 0x0000 },
519  [0x5d] = { 0x0072, 0x0323, 0x0304, 0x0000 },
520  [0x5e] = { 0x0052, 0x0331, 0x0000 },
521  [0x5f] = { 0x0072, 0x0331, 0x0000 },
522  [0x60] = { 0x0053, 0x0307, 0x0000 },
523  [0x61] = { 0x0073, 0x0307, 0x0000 },
524  [0x62] = { 0x0053, 0x0323, 0x0000 },
525  [0x63] = { 0x0073, 0x0323, 0x0000 },
526  [0x64] = { 0x0053, 0x0301, 0x0307, 0x0000 },
527  [0x65] = { 0x0073, 0x0301, 0x0307, 0x0000 },
528  [0x66] = { 0x0053, 0x030C, 0x0307, 0x0000 },
529  [0x67] = { 0x0073, 0x030C, 0x0307, 0x0000 },
530  [0x68] = { 0x0053, 0x0323, 0x0307, 0x0000 },
531  [0x69] = { 0x0073, 0x0323, 0x0307, 0x0000 },
532  [0x6a] = { 0x0054, 0x0307, 0x0000 },
533  [0x6b] = { 0x0074, 0x0307, 0x0000 },
534  [0x6c] = { 0x0054, 0x0323, 0x0000 },
535  [0x6d] = { 0x0074, 0x0323, 0x0000 },
536  [0x6e] = { 0x0054, 0x0331, 0x0000 },
537  [0x6f] = { 0x0074, 0x0331, 0x0000 },
538  [0x70] = { 0x0054, 0x032D, 0x0000 },
539  [0x71] = { 0x0074, 0x032D, 0x0000 },
540  [0x72] = { 0x0055, 0x0324, 0x0000 },
541  [0x73] = { 0x0075, 0x0324, 0x0000 },
542  [0x74] = { 0x0055, 0x0330, 0x0000 },
543  [0x75] = { 0x0075, 0x0330, 0x0000 },
544  [0x76] = { 0x0055, 0x032D, 0x0000 },
545  [0x77] = { 0x0075, 0x032D, 0x0000 },
546  [0x78] = { 0x0055, 0x0303, 0x0301, 0x0000 },
547  [0x79] = { 0x0075, 0x0303, 0x0301, 0x0000 },
548  [0x7a] = { 0x0055, 0x0304, 0x0308, 0x0000 },
549  [0x7b] = { 0x0075, 0x0304, 0x0308, 0x0000 },
550  [0x7c] = { 0x0056, 0x0303, 0x0000 },
551  [0x7d] = { 0x0076, 0x0303, 0x0000 },
552  [0x7e] = { 0x0056, 0x0323, 0x0000 },
553  [0x7f] = { 0x0076, 0x0323, 0x0000 },
554  [0x80] = { 0x0057, 0x0300, 0x0000 },
555  [0x81] = { 0x0077, 0x0300, 0x0000 },
556  [0x82] = { 0x0057, 0x0301, 0x0000 },
557  [0x83] = { 0x0077, 0x0301, 0x0000 },
558  [0x84] = { 0x0057, 0x0308, 0x0000 },
559  [0x85] = { 0x0077, 0x0308, 0x0000 },
560  [0x86] = { 0x0057, 0x0307, 0x0000 },
561  [0x87] = { 0x0077, 0x0307, 0x0000 },
562  [0x88] = { 0x0057, 0x0323, 0x0000 },
563  [0x89] = { 0x0077, 0x0323, 0x0000 },
564  [0x8a] = { 0x0058, 0x0307, 0x0000 },
565  [0x8b] = { 0x0078, 0x0307, 0x0000 },
566  [0x8c] = { 0x0058, 0x0308, 0x0000 },
567  [0x8d] = { 0x0078, 0x0308, 0x0000 },
568  [0x8e] = { 0x0059, 0x0307, 0x0000 },
569  [0x8f] = { 0x0079, 0x0307, 0x0000 },
570  [0x90] = { 0x005A, 0x0302, 0x0000 },
571  [0x91] = { 0x007A, 0x0302, 0x0000 },
572  [0x92] = { 0x005A, 0x0323, 0x0000 },
573  [0x93] = { 0x007A, 0x0323, 0x0000 },
574  [0x94] = { 0x005A, 0x0331, 0x0000 },
575  [0x95] = { 0x007A, 0x0331, 0x0000 },
576  [0x96] = { 0x0068, 0x0331, 0x0000 },
577  [0x97] = { 0x0074, 0x0308, 0x0000 },
578  [0x98] = { 0x0077, 0x030A, 0x0000 },
579  [0x99] = { 0x0079, 0x030A, 0x0000 },
580  [0x9b] = { 0x017F, 0x0307, 0x0000 },
581  [0xa0] = { 0x0041, 0x0323, 0x0000 },
582  [0xa1] = { 0x0061, 0x0323, 0x0000 },
583  [0xa2] = { 0x0041, 0x0309, 0x0000 },
584  [0xa3] = { 0x0061, 0x0309, 0x0000 },
585  [0xa4] = { 0x0041, 0x0302, 0x0301, 0x0000 },
586  [0xa5] = { 0x0061, 0x0302, 0x0301, 0x0000 },
587  [0xa6] = { 0x0041, 0x0302, 0x0300, 0x0000 },
588  [0xa7] = { 0x0061, 0x0302, 0x0300, 0x0000 },
589  [0xa8] = { 0x0041, 0x0302, 0x0309, 0x0000 },
590  [0xa9] = { 0x0061, 0x0302, 0x0309, 0x0000 },
591  [0xaa] = { 0x0041, 0x0302, 0x0303, 0x0000 },
592  [0xab] = { 0x0061, 0x0302, 0x0303, 0x0000 },
593  [0xac] = { 0x0041, 0x0323, 0x0302, 0x0000 },
594  [0xad] = { 0x0061, 0x0323, 0x0302, 0x0000 },
595  [0xae] = { 0x0041, 0x0306, 0x0301, 0x0000 },
596  [0xaf] = { 0x0061, 0x0306, 0x0301, 0x0000 },
597  [0xb0] = { 0x0041, 0x0306, 0x0300, 0x0000 },
598  [0xb1] = { 0x0061, 0x0306, 0x0300, 0x0000 },
599  [0xb2] = { 0x0041, 0x0306, 0x0309, 0x0000 },
600  [0xb3] = { 0x0061, 0x0306, 0x0309, 0x0000 },
601  [0xb4] = { 0x0041, 0x0306, 0x0303, 0x0000 },
602  [0xb5] = { 0x0061, 0x0306, 0x0303, 0x0000 },
603  [0xb6] = { 0x0041, 0x0323, 0x0306, 0x0000 },
604  [0xb7] = { 0x0061, 0x0323, 0x0306, 0x0000 },
605  [0xb8] = { 0x0045, 0x0323, 0x0000 },
606  [0xb9] = { 0x0065, 0x0323, 0x0000 },
607  [0xba] = { 0x0045, 0x0309, 0x0000 },
608  [0xbb] = { 0x0065, 0x0309, 0x0000 },
609  [0xbc] = { 0x0045, 0x0303, 0x0000 },
610  [0xbd] = { 0x0065, 0x0303, 0x0000 },
611  [0xbe] = { 0x0045, 0x0302, 0x0301, 0x0000 },
612  [0xbf] = { 0x0065, 0x0302, 0x0301, 0x0000 },
613  [0xc0] = { 0x0045, 0x0302, 0x0300, 0x0000 },
614  [0xc1] = { 0x0065, 0x0302, 0x0300, 0x0000 },
615  [0xc2] = { 0x0045, 0x0302, 0x0309, 0x0000 },
616  [0xc3] = { 0x0065, 0x0302, 0x0309, 0x0000 },
617  [0xc4] = { 0x0045, 0x0302, 0x0303, 0x0000 },
618  [0xc5] = { 0x0065, 0x0302, 0x0303, 0x0000 },
619  [0xc6] = { 0x0045, 0x0323, 0x0302, 0x0000 },
620  [0xc7] = { 0x0065, 0x0323, 0x0302, 0x0000 },
621  [0xc8] = { 0x0049, 0x0309, 0x0000 },
622  [0xc9] = { 0x0069, 0x0309, 0x0000 },
623  [0xca] = { 0x0049, 0x0323, 0x0000 },
624  [0xcb] = { 0x0069, 0x0323, 0x0000 },
625  [0xcc] = { 0x004F, 0x0323, 0x0000 },
626  [0xcd] = { 0x006F, 0x0323, 0x0000 },
627  [0xce] = { 0x004F, 0x0309, 0x0000 },
628  [0xcf] = { 0x006F, 0x0309, 0x0000 },
629  [0xd0] = { 0x004F, 0x0302, 0x0301, 0x0000 },
630  [0xd1] = { 0x006F, 0x0302, 0x0301, 0x0000 },
631  [0xd2] = { 0x004F, 0x0302, 0x0300, 0x0000 },
632  [0xd3] = { 0x006F, 0x0302, 0x0300, 0x0000 },
633  [0xd4] = { 0x004F, 0x0302, 0x0309, 0x0000 },
634  [0xd5] = { 0x006F, 0x0302, 0x0309, 0x0000 },
635  [0xd6] = { 0x004F, 0x0302, 0x0303, 0x0000 },
636  [0xd7] = { 0x006F, 0x0302, 0x0303, 0x0000 },
637  [0xd8] = { 0x004F, 0x0323, 0x0302, 0x0000 },
638  [0xd9] = { 0x006F, 0x0323, 0x0302, 0x0000 },
639  [0xda] = { 0x004F, 0x031B, 0x0301, 0x0000 },
640  [0xdb] = { 0x006F, 0x031B, 0x0301, 0x0000 },
641  [0xdc] = { 0x004F, 0x031B, 0x0300, 0x0000 },
642  [0xdd] = { 0x006F, 0x031B, 0x0300, 0x0000 },
643  [0xde] = { 0x004F, 0x031B, 0x0309, 0x0000 },
644  [0xdf] = { 0x006F, 0x031B, 0x0309, 0x0000 },
645  [0xe0] = { 0x004F, 0x031B, 0x0303, 0x0000 },
646  [0xe1] = { 0x006F, 0x031B, 0x0303, 0x0000 },
647  [0xe2] = { 0x004F, 0x031B, 0x0323, 0x0000 },
648  [0xe3] = { 0x006F, 0x031B, 0x0323, 0x0000 },
649  [0xe4] = { 0x0055, 0x0323, 0x0000 },
650  [0xe5] = { 0x0075, 0x0323, 0x0000 },
651  [0xe6] = { 0x0055, 0x0309, 0x0000 },
652  [0xe7] = { 0x0075, 0x0309, 0x0000 },
653  [0xe8] = { 0x0055, 0x031B, 0x0301, 0x0000 },
654  [0xe9] = { 0x0075, 0x031B, 0x0301, 0x0000 },
655  [0xea] = { 0x0055, 0x031B, 0x0300, 0x0000 },
656  [0xeb] = { 0x0075, 0x031B, 0x0300, 0x0000 },
657  [0xec] = { 0x0055, 0x031B, 0x0309, 0x0000 },
658  [0xed] = { 0x0075, 0x031B, 0x0309, 0x0000 },
659  [0xee] = { 0x0055, 0x031B, 0x0303, 0x0000 },
660  [0xef] = { 0x0075, 0x031B, 0x0303, 0x0000 },
661  [0xf0] = { 0x0055, 0x031B, 0x0323, 0x0000 },
662  [0xf1] = { 0x0075, 0x031B, 0x0323, 0x0000 },
663  [0xf2] = { 0x0059, 0x0300, 0x0000 },
664  [0xf3] = { 0x0079, 0x0300, 0x0000 },
665  [0xf4] = { 0x0059, 0x0323, 0x0000 },
666  [0xf5] = { 0x0079, 0x0323, 0x0000 },
667  [0xf6] = { 0x0059, 0x0309, 0x0000 },
668  [0xf7] = { 0x0079, 0x0309, 0x0000 },
669  [0xf8] = { 0x0059, 0x0303, 0x0000 },
670  [0xf9] = { 0x0079, 0x0303, 0x0000 },
671 };
672 
673 static uint16_t page1f[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
674  [0x00] = { 0x03B1, 0x0313, 0x0000 },
675  [0x01] = { 0x03B1, 0x0314, 0x0000 },
676  [0x02] = { 0x03B1, 0x0313, 0x0300, 0x0000 },
677  [0x03] = { 0x03B1, 0x0314, 0x0300, 0x0000 },
678  [0x04] = { 0x03B1, 0x0313, 0x0301, 0x0000 },
679  [0x05] = { 0x03B1, 0x0314, 0x0301, 0x0000 },
680  [0x06] = { 0x03B1, 0x0313, 0x0342, 0x0000 },
681  [0x07] = { 0x03B1, 0x0314, 0x0342, 0x0000 },
682  [0x08] = { 0x0391, 0x0313, 0x0000 },
683  [0x09] = { 0x0391, 0x0314, 0x0000 },
684  [0x0a] = { 0x0391, 0x0313, 0x0300, 0x0000 },
685  [0x0b] = { 0x0391, 0x0314, 0x0300, 0x0000 },
686  [0x0c] = { 0x0391, 0x0313, 0x0301, 0x0000 },
687  [0x0d] = { 0x0391, 0x0314, 0x0301, 0x0000 },
688  [0x0e] = { 0x0391, 0x0313, 0x0342, 0x0000 },
689  [0x0f] = { 0x0391, 0x0314, 0x0342, 0x0000 },
690  [0x10] = { 0x03B5, 0x0313, 0x0000 },
691  [0x11] = { 0x03B5, 0x0314, 0x0000 },
692  [0x12] = { 0x03B5, 0x0313, 0x0300, 0x0000 },
693  [0x13] = { 0x03B5, 0x0314, 0x0300, 0x0000 },
694  [0x14] = { 0x03B5, 0x0313, 0x0301, 0x0000 },
695  [0x15] = { 0x03B5, 0x0314, 0x0301, 0x0000 },
696  [0x18] = { 0x0395, 0x0313, 0x0000 },
697  [0x19] = { 0x0395, 0x0314, 0x0000 },
698  [0x1a] = { 0x0395, 0x0313, 0x0300, 0x0000 },
699  [0x1b] = { 0x0395, 0x0314, 0x0300, 0x0000 },
700  [0x1c] = { 0x0395, 0x0313, 0x0301, 0x0000 },
701  [0x1d] = { 0x0395, 0x0314, 0x0301, 0x0000 },
702  [0x20] = { 0x03B7, 0x0313, 0x0000 },
703  [0x21] = { 0x03B7, 0x0314, 0x0000 },
704  [0x22] = { 0x03B7, 0x0313, 0x0300, 0x0000 },
705  [0x23] = { 0x03B7, 0x0314, 0x0300, 0x0000 },
706  [0x24] = { 0x03B7, 0x0313, 0x0301, 0x0000 },
707  [0x25] = { 0x03B7, 0x0314, 0x0301, 0x0000 },
708  [0x26] = { 0x03B7, 0x0313, 0x0342, 0x0000 },
709  [0x27] = { 0x03B7, 0x0314, 0x0342, 0x0000 },
710  [0x28] = { 0x0397, 0x0313, 0x0000 },
711  [0x29] = { 0x0397, 0x0314, 0x0000 },
712  [0x2a] = { 0x0397, 0x0313, 0x0300, 0x0000 },
713  [0x2b] = { 0x0397, 0x0314, 0x0300, 0x0000 },
714  [0x2c] = { 0x0397, 0x0313, 0x0301, 0x0000 },
715  [0x2d] = { 0x0397, 0x0314, 0x0301, 0x0000 },
716  [0x2e] = { 0x0397, 0x0313, 0x0342, 0x0000 },
717  [0x2f] = { 0x0397, 0x0314, 0x0342, 0x0000 },
718  [0x30] = { 0x03B9, 0x0313, 0x0000 },
719  [0x31] = { 0x03B9, 0x0314, 0x0000 },
720  [0x32] = { 0x03B9, 0x0313, 0x0300, 0x0000 },
721  [0x33] = { 0x03B9, 0x0314, 0x0300, 0x0000 },
722  [0x34] = { 0x03B9, 0x0313, 0x0301, 0x0000 },
723  [0x35] = { 0x03B9, 0x0314, 0x0301, 0x0000 },
724  [0x36] = { 0x03B9, 0x0313, 0x0342, 0x0000 },
725  [0x37] = { 0x03B9, 0x0314, 0x0342, 0x0000 },
726  [0x38] = { 0x0399, 0x0313, 0x0000 },
727  [0x39] = { 0x0399, 0x0314, 0x0000 },
728  [0x3a] = { 0x0399, 0x0313, 0x0300, 0x0000 },
729  [0x3b] = { 0x0399, 0x0314, 0x0300, 0x0000 },
730  [0x3c] = { 0x0399, 0x0313, 0x0301, 0x0000 },
731  [0x3d] = { 0x0399, 0x0314, 0x0301, 0x0000 },
732  [0x3e] = { 0x0399, 0x0313, 0x0342, 0x0000 },
733  [0x3f] = { 0x0399, 0x0314, 0x0342, 0x0000 },
734  [0x40] = { 0x03BF, 0x0313, 0x0000 },
735  [0x41] = { 0x03BF, 0x0314, 0x0000 },
736  [0x42] = { 0x03BF, 0x0313, 0x0300, 0x0000 },
737  [0x43] = { 0x03BF, 0x0314, 0x0300, 0x0000 },
738  [0x44] = { 0x03BF, 0x0313, 0x0301, 0x0000 },
739  [0x45] = { 0x03BF, 0x0314, 0x0301, 0x0000 },
740  [0x48] = { 0x039F, 0x0313, 0x0000 },
741  [0x49] = { 0x039F, 0x0314, 0x0000 },
742  [0x4a] = { 0x039F, 0x0313, 0x0300, 0x0000 },
743  [0x4b] = { 0x039F, 0x0314, 0x0300, 0x0000 },
744  [0x4c] = { 0x039F, 0x0313, 0x0301, 0x0000 },
745  [0x4d] = { 0x039F, 0x0314, 0x0301, 0x0000 },
746  [0x50] = { 0x03C5, 0x0313, 0x0000 },
747  [0x51] = { 0x03C5, 0x0314, 0x0000 },
748  [0x52] = { 0x03C5, 0x0313, 0x0300, 0x0000 },
749  [0x53] = { 0x03C5, 0x0314, 0x0300, 0x0000 },
750  [0x54] = { 0x03C5, 0x0313, 0x0301, 0x0000 },
751  [0x55] = { 0x03C5, 0x0314, 0x0301, 0x0000 },
752  [0x56] = { 0x03C5, 0x0313, 0x0342, 0x0000 },
753  [0x57] = { 0x03C5, 0x0314, 0x0342, 0x0000 },
754  [0x59] = { 0x03A5, 0x0314, 0x0000 },
755  [0x5b] = { 0x03A5, 0x0314, 0x0300, 0x0000 },
756  [0x5d] = { 0x03A5, 0x0314, 0x0301, 0x0000 },
757  [0x5f] = { 0x03A5, 0x0314, 0x0342, 0x0000 },
758  [0x60] = { 0x03C9, 0x0313, 0x0000 },
759  [0x61] = { 0x03C9, 0x0314, 0x0000 },
760  [0x62] = { 0x03C9, 0x0313, 0x0300, 0x0000 },
761  [0x63] = { 0x03C9, 0x0314, 0x0300, 0x0000 },
762  [0x64] = { 0x03C9, 0x0313, 0x0301, 0x0000 },
763  [0x65] = { 0x03C9, 0x0314, 0x0301, 0x0000 },
764  [0x66] = { 0x03C9, 0x0313, 0x0342, 0x0000 },
765  [0x67] = { 0x03C9, 0x0314, 0x0342, 0x0000 },
766  [0x68] = { 0x03A9, 0x0313, 0x0000 },
767  [0x69] = { 0x03A9, 0x0314, 0x0000 },
768  [0x6a] = { 0x03A9, 0x0313, 0x0300, 0x0000 },
769  [0x6b] = { 0x03A9, 0x0314, 0x0300, 0x0000 },
770  [0x6c] = { 0x03A9, 0x0313, 0x0301, 0x0000 },
771  [0x6d] = { 0x03A9, 0x0314, 0x0301, 0x0000 },
772  [0x6e] = { 0x03A9, 0x0313, 0x0342, 0x0000 },
773  [0x6f] = { 0x03A9, 0x0314, 0x0342, 0x0000 },
774  [0x70] = { 0x03B1, 0x0300, 0x0000 },
775  [0x71] = { 0x03B1, 0x0301, 0x0000 },
776  [0x72] = { 0x03B5, 0x0300, 0x0000 },
777  [0x73] = { 0x03B5, 0x0301, 0x0000 },
778  [0x74] = { 0x03B7, 0x0300, 0x0000 },
779  [0x75] = { 0x03B7, 0x0301, 0x0000 },
780  [0x76] = { 0x03B9, 0x0300, 0x0000 },
781  [0x77] = { 0x03B9, 0x0301, 0x0000 },
782  [0x78] = { 0x03BF, 0x0300, 0x0000 },
783  [0x79] = { 0x03BF, 0x0301, 0x0000 },
784  [0x7a] = { 0x03C5, 0x0300, 0x0000 },
785  [0x7b] = { 0x03C5, 0x0301, 0x0000 },
786  [0x7c] = { 0x03C9, 0x0300, 0x0000 },
787  [0x7d] = { 0x03C9, 0x0301, 0x0000 },
788  [0x80] = { 0x03B1, 0x0345, 0x0313, 0x0000 },
789  [0x81] = { 0x03B1, 0x0345, 0x0314, 0x0000 },
790  [0x82] = { 0x03B1, 0x0345, 0x0313, 0x0300, 0x0000 },
791  [0x83] = { 0x03B1, 0x0345, 0x0314, 0x0300, 0x0000 },
792  [0x84] = { 0x03B1, 0x0345, 0x0313, 0x0301, 0x0000 },
793  [0x85] = { 0x03B1, 0x0345, 0x0314, 0x0301, 0x0000 },
794  [0x86] = { 0x03B1, 0x0345, 0x0313, 0x0342, 0x0000 },
795  [0x87] = { 0x03B1, 0x0345, 0x0314, 0x0342, 0x0000 },
796  [0x88] = { 0x0391, 0x0345, 0x0313, 0x0000 },
797  [0x89] = { 0x0391, 0x0345, 0x0314, 0x0000 },
798  [0x8a] = { 0x0391, 0x0345, 0x0313, 0x0300, 0x0000 },
799  [0x8b] = { 0x0391, 0x0345, 0x0314, 0x0300, 0x0000 },
800  [0x8c] = { 0x0391, 0x0345, 0x0313, 0x0301, 0x0000 },
801  [0x8d] = { 0x0391, 0x0345, 0x0314, 0x0301, 0x0000 },
802  [0x8e] = { 0x0391, 0x0345, 0x0313, 0x0342, 0x0000 },
803  [0x8f] = { 0x0391, 0x0345, 0x0314, 0x0342, 0x0000 },
804  [0x90] = { 0x03B7, 0x0345, 0x0313, 0x0000 },
805  [0x91] = { 0x03B7, 0x0345, 0x0314, 0x0000 },
806  [0x92] = { 0x03B7, 0x0345, 0x0313, 0x0300, 0x0000 },
807  [0x93] = { 0x03B7, 0x0345, 0x0314, 0x0300, 0x0000 },
808  [0x94] = { 0x03B7, 0x0345, 0x0313, 0x0301, 0x0000 },
809  [0x95] = { 0x03B7, 0x0345, 0x0314, 0x0301, 0x0000 },
810  [0x96] = { 0x03B7, 0x0345, 0x0313, 0x0342, 0x0000 },
811  [0x97] = { 0x03B7, 0x0345, 0x0314, 0x0342, 0x0000 },
812  [0x98] = { 0x0397, 0x0345, 0x0313, 0x0000 },
813  [0x99] = { 0x0397, 0x0345, 0x0314, 0x0000 },
814  [0x9a] = { 0x0397, 0x0345, 0x0313, 0x0300, 0x0000 },
815  [0x9b] = { 0x0397, 0x0345, 0x0314, 0x0300, 0x0000 },
816  [0x9c] = { 0x0397, 0x0345, 0x0313, 0x0301, 0x0000 },
817  [0x9d] = { 0x0397, 0x0345, 0x0314, 0x0301, 0x0000 },
818  [0x9e] = { 0x0397, 0x0345, 0x0313, 0x0342, 0x0000 },
819  [0x9f] = { 0x0397, 0x0345, 0x0314, 0x0342, 0x0000 },
820  [0xa0] = { 0x03C9, 0x0345, 0x0313, 0x0000 },
821  [0xa1] = { 0x03C9, 0x0345, 0x0314, 0x0000 },
822  [0xa2] = { 0x03C9, 0x0345, 0x0313, 0x0300, 0x0000 },
823  [0xa3] = { 0x03C9, 0x0345, 0x0314, 0x0300, 0x0000 },
824  [0xa4] = { 0x03C9, 0x0345, 0x0313, 0x0301, 0x0000 },
825  [0xa5] = { 0x03C9, 0x0345, 0x0314, 0x0301, 0x0000 },
826  [0xa6] = { 0x03C9, 0x0345, 0x0313, 0x0342, 0x0000 },
827  [0xa7] = { 0x03C9, 0x0345, 0x0314, 0x0342, 0x0000 },
828  [0xa8] = { 0x03A9, 0x0345, 0x0313, 0x0000 },
829  [0xa9] = { 0x03A9, 0x0345, 0x0314, 0x0000 },
830  [0xaa] = { 0x03A9, 0x0345, 0x0313, 0x0300, 0x0000 },
831  [0xab] = { 0x03A9, 0x0345, 0x0314, 0x0300, 0x0000 },
832  [0xac] = { 0x03A9, 0x0345, 0x0313, 0x0301, 0x0000 },
833  [0xad] = { 0x03A9, 0x0345, 0x0314, 0x0301, 0x0000 },
834  [0xae] = { 0x03A9, 0x0345, 0x0313, 0x0342, 0x0000 },
835  [0xaf] = { 0x03A9, 0x0345, 0x0314, 0x0342, 0x0000 },
836  [0xb0] = { 0x03B1, 0x0306, 0x0000 },
837  [0xb1] = { 0x03B1, 0x0304, 0x0000 },
838  [0xb2] = { 0x03B1, 0x0345, 0x0300, 0x0000 },
839  [0xb3] = { 0x03B1, 0x0345, 0x0000 },
840  [0xb4] = { 0x03B1, 0x0345, 0x0301, 0x0000 },
841  [0xb6] = { 0x03B1, 0x0342, 0x0000 },
842  [0xb7] = { 0x03B1, 0x0345, 0x0342, 0x0000 },
843  [0xb8] = { 0x0391, 0x0306, 0x0000 },
844  [0xb9] = { 0x0391, 0x0304, 0x0000 },
845  [0xba] = { 0x0391, 0x0300, 0x0000 },
846  [0xbb] = { 0x0391, 0x0301, 0x0000 },
847  [0xbc] = { 0x0391, 0x0345, 0x0000 },
848  [0xbe] = { 0x03B9, 0x0000 },
849  [0xc1] = { 0x00A8, 0x0342, 0x0000 },
850  [0xc2] = { 0x03B7, 0x0345, 0x0300, 0x0000 },
851  [0xc3] = { 0x03B7, 0x0345, 0x0000 },
852  [0xc4] = { 0x03B7, 0x0345, 0x0301, 0x0000 },
853  [0xc6] = { 0x03B7, 0x0342, 0x0000 },
854  [0xc7] = { 0x03B7, 0x0345, 0x0342, 0x0000 },
855  [0xc8] = { 0x0395, 0x0300, 0x0000 },
856  [0xc9] = { 0x0395, 0x0301, 0x0000 },
857  [0xca] = { 0x0397, 0x0300, 0x0000 },
858  [0xcb] = { 0x0397, 0x0301, 0x0000 },
859  [0xcc] = { 0x0397, 0x0345, 0x0000 },
860  [0xcd] = { 0x1FBF, 0x0300, 0x0000 },
861  [0xce] = { 0x1FBF, 0x0301, 0x0000 },
862  [0xcf] = { 0x1FBF, 0x0342, 0x0000 },
863  [0xd0] = { 0x03B9, 0x0306, 0x0000 },
864  [0xd1] = { 0x03B9, 0x0304, 0x0000 },
865  [0xd2] = { 0x03B9, 0x0308, 0x0300, 0x0000 },
866  [0xd3] = { 0x03B9, 0x0308, 0x0301, 0x0000 },
867  [0xd6] = { 0x03B9, 0x0342, 0x0000 },
868  [0xd7] = { 0x03B9, 0x0308, 0x0342, 0x0000 },
869  [0xd8] = { 0x0399, 0x0306, 0x0000 },
870  [0xd9] = { 0x0399, 0x0304, 0x0000 },
871  [0xda] = { 0x0399, 0x0300, 0x0000 },
872  [0xdb] = { 0x0399, 0x0301, 0x0000 },
873  [0xdd] = { 0x1FFE, 0x0300, 0x0000 },
874  [0xde] = { 0x1FFE, 0x0301, 0x0000 },
875  [0xdf] = { 0x1FFE, 0x0342, 0x0000 },
876  [0xe0] = { 0x03C5, 0x0306, 0x0000 },
877  [0xe1] = { 0x03C5, 0x0304, 0x0000 },
878  [0xe2] = { 0x03C5, 0x0308, 0x0300, 0x0000 },
879  [0xe3] = { 0x03C5, 0x0308, 0x0301, 0x0000 },
880  [0xe4] = { 0x03C1, 0x0313, 0x0000 },
881  [0xe5] = { 0x03C1, 0x0314, 0x0000 },
882  [0xe6] = { 0x03C5, 0x0342, 0x0000 },
883  [0xe7] = { 0x03C5, 0x0308, 0x0342, 0x0000 },
884  [0xe8] = { 0x03A5, 0x0306, 0x0000 },
885  [0xe9] = { 0x03A5, 0x0304, 0x0000 },
886  [0xea] = { 0x03A5, 0x0300, 0x0000 },
887  [0xeb] = { 0x03A5, 0x0301, 0x0000 },
888  [0xec] = { 0x03A1, 0x0314, 0x0000 },
889  [0xed] = { 0x00A8, 0x0300, 0x0000 },
890  [0xee] = { 0x00A8, 0x0301, 0x0000 },
891  [0xef] = { 0x0060, 0x0000 },
892  [0xf2] = { 0x03C9, 0x0345, 0x0300, 0x0000 },
893  [0xf3] = { 0x03C9, 0x0345, 0x0000 },
894  [0xf4] = { 0x03BF, 0x0345, 0x0301, 0x0000 },
895  [0xf6] = { 0x03C9, 0x0342, 0x0000 },
896  [0xf7] = { 0x03C9, 0x0345, 0x0342, 0x0000 },
897  [0xf8] = { 0x039F, 0x0300, 0x0000 },
898  [0xf9] = { 0x039F, 0x0301, 0x0000 },
899  [0xfa] = { 0x03A9, 0x0300, 0x0000 },
900  [0xfb] = { 0x03A9, 0x0301, 0x0000 },
901  [0xfc] = { 0x03A9, 0x0345, 0x0000 },
902  [0xfd] = { 0x00B4, 0x0000 },
903 };
904 
905 static uint16_t page30[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
906  [0x4c] = { 0x304B, 0x3099, 0x0000 },
907  [0x4e] = { 0x304D, 0x3099, 0x0000 },
908  [0x50] = { 0x304F, 0x3099, 0x0000 },
909  [0x52] = { 0x3051, 0x3099, 0x0000 },
910  [0x54] = { 0x3053, 0x3099, 0x0000 },
911  [0x56] = { 0x3055, 0x3099, 0x0000 },
912  [0x58] = { 0x3057, 0x3099, 0x0000 },
913  [0x5a] = { 0x3059, 0x3099, 0x0000 },
914  [0x5c] = { 0x305B, 0x3099, 0x0000 },
915  [0x5e] = { 0x305D, 0x3099, 0x0000 },
916  [0x60] = { 0x305F, 0x3099, 0x0000 },
917  [0x62] = { 0x3061, 0x3099, 0x0000 },
918  [0x65] = { 0x3064, 0x3099, 0x0000 },
919  [0x67] = { 0x3066, 0x3099, 0x0000 },
920  [0x69] = { 0x3068, 0x3099, 0x0000 },
921  [0x70] = { 0x306F, 0x3099, 0x0000 },
922  [0x71] = { 0x306F, 0x309A, 0x0000 },
923  [0x73] = { 0x3072, 0x3099, 0x0000 },
924  [0x74] = { 0x3072, 0x309A, 0x0000 },
925  [0x76] = { 0x3075, 0x3099, 0x0000 },
926  [0x77] = { 0x3075, 0x309A, 0x0000 },
927  [0x79] = { 0x3078, 0x3099, 0x0000 },
928  [0x7a] = { 0x3078, 0x309A, 0x0000 },
929  [0x7c] = { 0x307B, 0x3099, 0x0000 },
930  [0x7d] = { 0x307B, 0x309A, 0x0000 },
931  [0x94] = { 0x3046, 0x3099, 0x0000 },
932  [0x9e] = { 0x309D, 0x3099, 0x0000 },
933  [0xac] = { 0x30AB, 0x3099, 0x0000 },
934  [0xae] = { 0x30AD, 0x3099, 0x0000 },
935  [0xb0] = { 0x30AF, 0x3099, 0x0000 },
936  [0xb2] = { 0x30B1, 0x3099, 0x0000 },
937  [0xb4] = { 0x30B3, 0x3099, 0x0000 },
938  [0xb6] = { 0x30B5, 0x3099, 0x0000 },
939  [0xb8] = { 0x30B7, 0x3099, 0x0000 },
940  [0xba] = { 0x30B9, 0x3099, 0x0000 },
941  [0xbc] = { 0x30BB, 0x3099, 0x0000 },
942  [0xbe] = { 0x30BD, 0x3099, 0x0000 },
943  [0xc0] = { 0x30BF, 0x3099, 0x0000 },
944  [0xc2] = { 0x30C1, 0x3099, 0x0000 },
945  [0xc5] = { 0x30C4, 0x3099, 0x0000 },
946  [0xc7] = { 0x30C6, 0x3099, 0x0000 },
947  [0xc9] = { 0x30C8, 0x3099, 0x0000 },
948  [0xd0] = { 0x30CF, 0x3099, 0x0000 },
949  [0xd1] = { 0x30CF, 0x309A, 0x0000 },
950  [0xd3] = { 0x30D2, 0x3099, 0x0000 },
951  [0xd4] = { 0x30D2, 0x309A, 0x0000 },
952  [0xd6] = { 0x30D5, 0x3099, 0x0000 },
953  [0xd7] = { 0x30D5, 0x309A, 0x0000 },
954  [0xd9] = { 0x30D8, 0x3099, 0x0000 },
955  [0xda] = { 0x30D8, 0x309A, 0x0000 },
956  [0xdc] = { 0x30DB, 0x3099, 0x0000 },
957  [0xdd] = { 0x30DB, 0x309A, 0x0000 },
958  [0xf4] = { 0x30A6, 0x3099, 0x0000 },
959  [0xf7] = { 0x30EF, 0x3099, 0x0000 },
960  [0xf8] = { 0x30F0, 0x3099, 0x0000 },
961  [0xf9] = { 0x30F1, 0x3099, 0x0000 },
962  [0xfa] = { 0x30F2, 0x3099, 0x0000 },
963  [0xfe] = { 0x30FD, 0x3099, 0x0000 },
964 };
965 
966 static uint16_t pagefb[256][HFSPLUS_MAX_DECOMPOSE_LEN + 1] = {
967  [0x1f] = { 0x05F2, 0x05B7, 0x0000 },
968  [0x2a] = { 0x05E9, 0x05C1, 0x0000 },
969  [0x2b] = { 0x05E9, 0x05C2, 0x0000 },
970  [0x2c] = { 0x05E9, 0x05BC, 0x05C1, 0x0000 },
971  [0x2d] = { 0x05E9, 0x05BC, 0x05C2, 0x0000 },
972  [0x2e] = { 0x05D0, 0x05B7, 0x0000 },
973  [0x2f] = { 0x05D0, 0x05B8, 0x0000 },
974  [0x30] = { 0x05D0, 0x05BC, 0x0000 },
975  [0x31] = { 0x05D1, 0x05BC, 0x0000 },
976  [0x32] = { 0x05D2, 0x05BC, 0x0000 },
977  [0x33] = { 0x05D3, 0x05BC, 0x0000 },
978  [0x34] = { 0x05D4, 0x05BC, 0x0000 },
979  [0x35] = { 0x05D5, 0x05BC, 0x0000 },
980  [0x36] = { 0x05D6, 0x05BC, 0x0000 },
981  [0x38] = { 0x05D8, 0x05BC, 0x0000 },
982  [0x39] = { 0x05D9, 0x05BC, 0x0000 },
983  [0x3a] = { 0x05DA, 0x05BC, 0x0000 },
984  [0x3b] = { 0x05DB, 0x05BC, 0x0000 },
985  [0x3c] = { 0x05DC, 0x05BC, 0x0000 },
986  [0x3e] = { 0x05DE, 0x05BC, 0x0000 },
987  [0x40] = { 0x05E0, 0x05BC, 0x0000 },
988  [0x41] = { 0x05E1, 0x05BC, 0x0000 },
989  [0x43] = { 0x05E3, 0x05BC, 0x0000 },
990  [0x44] = { 0x05E4, 0x05BC, 0x0000 },
991  [0x46] = { 0x05E6, 0x05BC, 0x0000 },
992  [0x47] = { 0x05E7, 0x05BC, 0x0000 },
993  [0x48] = { 0x05E8, 0x05BC, 0x0000 },
994  [0x49] = { 0x05E9, 0x05BC, 0x0000 },
995  [0x4a] = { 0x05EA, 0x05BC, 0x0000 },
996  [0x4b] = { 0x05D5, 0x05B9, 0x0000 },
997  [0x4c] = { 0x05D1, 0x05BF, 0x0000 },
998  [0x4d] = { 0x05DB, 0x05BF, 0x0000 },
999  [0x4e] = { 0x05E4, 0x05BF, 0x0000 },
1000 };
1001 
1003  [0x00] = page00,
1004  [0x01] = page01,
1005  [0x02] = page02,
1006  [0x03] = page03,
1007  [0x04] = page04,
1008  [0x09] = page09,
1009  [0x0a] = page0a,
1010  [0x0b] = page0b,
1011  [0x0c] = page0c,
1012  [0x0d] = page0d,
1013  [0x0e] = page0e,
1014  [0x0f] = page0f,
1015  [0x1e] = page1e,
1016  [0x1f] = page1f,
1017  [0x30] = page30,
1018  [0xfb] = pagefb,
1019 };
1020 
1022 {
1023  return;
1024 }
#define HFSPLUS_MAX_DECOMPOSE_LEN
Definition: hfsplus.h:187
static uint16_t page01[256][4+1]
static uint16_t page09[256][4+1]
static uint16_t page0a[256][4+1]
static uint16_t page04[256][4+1]
static uint16_t page0b[256][4+1]
static uint16_t page0c[256][4+1]
static uint16_t page0e[256][4+1]
static uint16_t page0d[256][4+1]
static uint16_t page30[256][4+1]
void make_hfsplus_decompose_pages()
static uint16_t page00[256][4+1]
static uint16_t page0f[256][4+1]
static uint16_t pagefb[256][4+1]
uint16_t(*[256] hfsplus_decompose_pages)[4+1]
static uint16_t page03[256][4+1]
static uint16_t page1e[256][4+1]
static uint16_t page02[256][4+1]
static uint16_t page1f[256][4+1]