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 23static 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 34static const u_int16_t mac_chinese_simp_uni2_page1e[][2] = { 35 /* 0x1e3 */ { 0x8000, 11 }, 36}; 37 38static const u_int16_t mac_chinese_simp_uni2_page20[][2] = { 39 /* 0x201 */ { 0x0070, 12 }, { 0x0040, 15 }, { 0x4000, 16 }, 40}; 41 42static const u_int16_t mac_chinese_simp_uni2_page21[][2] = { 43 /* 0x212 */ { 0x0004, 17 }, 44}; 45 46static const u_int16_t mac_chinese_simp_uni2_page22[][2] = { 47 /* 0x22e */ { 0x8000, 18 }, 48}; 49 50static 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 57static const u_int16_t mac_chinese_simp_uni2_pagee0[][2] = { 58 /* 0xe00 */ { 0x07ff, 21 }, 59}; 60 61static const u_int16_t mac_chinese_simp_uni2_pagef8[][2] = { 62 /* 0xf88 */ { 0x0003, 32 }, 63}; 64 65static const u_int16_t mac_chinese_simp_uni2_pagefe[][2] = { 66 /* 0xfe3 */ { 0xfffa, 34 }, { 0x001f, 48 }, 67}; 68 69static 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 75static 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 }, NULL } 87}; 88 89static 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 100static 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 105static 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 110static 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 115static const u_int16_t mac_chinese_simp_2uni_pagea6[][2] = { 116 /* 0xa6d */ { 0xfe00, 16 }, { 0xffff, 23 }, { 0x003f, 39 }, 117}; 118 119static const u_int16_t mac_chinese_simp_2uni_pagea8[][2] = { 120 /* 0xa8b */ { 0xf800, 45 }, { 0x0001, 50 }, 121}; 122 123static 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 }, NULL } 130}; 131 132static 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 142static const u_int32_t mac_chinese_simp_compose[] = { 143 0x00fcf87f, 0x22eff87e, 0x3001f87e, 0x3002f87e, 144 0x3016f87e, 0x3017f87e, 0xff01f87e, 0xff0cf87e, 145 0xff1af87e, 0xff1bf87e, 0xff1ff87e, 146}; 147