1*aef5731fSOliver Tappe /* 2*aef5731fSOliver Tappe * Copyright (C) 2001, 2004 Free Software Foundation, Inc. 3*aef5731fSOliver Tappe * This file is part of the GNU LIBICONV Library. 4*aef5731fSOliver Tappe * 5*aef5731fSOliver Tappe * The GNU LIBICONV Library is free software; you can redistribute it 6*aef5731fSOliver Tappe * and/or modify it under the terms of the GNU Library General Public 7*aef5731fSOliver Tappe * License as published by the Free Software Foundation; either version 2 8*aef5731fSOliver Tappe * of the License, or (at your option) any later version. 9*aef5731fSOliver Tappe * 10*aef5731fSOliver Tappe * The GNU LIBICONV Library is distributed in the hope that it will be 11*aef5731fSOliver Tappe * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 12*aef5731fSOliver Tappe * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13*aef5731fSOliver Tappe * Library General Public License for more details. 14*aef5731fSOliver Tappe * 15*aef5731fSOliver Tappe * You should have received a copy of the GNU Library General Public 16*aef5731fSOliver Tappe * License along with the GNU LIBICONV Library; see the file COPYING.LIB. 17*aef5731fSOliver Tappe * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, 18*aef5731fSOliver Tappe * Fifth Floor, Boston, MA 02110-1301, USA. 19*aef5731fSOliver Tappe */ 20*aef5731fSOliver Tappe 21*aef5731fSOliver Tappe /* Combining characters used in Vietnamese encodings CP1258, TCVN. */ 22*aef5731fSOliver Tappe 23*aef5731fSOliver Tappe #ifndef _VIETCOMB_H 24*aef5731fSOliver Tappe #define _VIETCOMB_H 25*aef5731fSOliver Tappe 26*aef5731fSOliver Tappe /* Relevant combining characters: 27*aef5731fSOliver Tappe 0x0300, 0x0301, 0x0303, 0x0309, 0x0323. */ 28*aef5731fSOliver Tappe 29*aef5731fSOliver Tappe /* Composition tables for each of the relevant combining characters. */ 30*aef5731fSOliver Tappe static const struct { unsigned short base; unsigned short composed; } viet_comp_table_data[] = { 31*aef5731fSOliver Tappe #define viet_comp_table0300_idx 0 32*aef5731fSOliver Tappe #define viet_comp_table0300_len 31 33*aef5731fSOliver Tappe { 0x0041, 0x00C0 }, 34*aef5731fSOliver Tappe { 0x0045, 0x00C8 }, 35*aef5731fSOliver Tappe { 0x0049, 0x00CC }, 36*aef5731fSOliver Tappe { 0x004E, 0x01F8 }, 37*aef5731fSOliver Tappe { 0x004F, 0x00D2 }, 38*aef5731fSOliver Tappe { 0x0055, 0x00D9 }, 39*aef5731fSOliver Tappe { 0x0057, 0x1E80 }, 40*aef5731fSOliver Tappe { 0x0059, 0x1EF2 }, 41*aef5731fSOliver Tappe { 0x0061, 0x00E0 }, 42*aef5731fSOliver Tappe { 0x0065, 0x00E8 }, 43*aef5731fSOliver Tappe { 0x0069, 0x00EC }, 44*aef5731fSOliver Tappe { 0x006E, 0x01F9 }, 45*aef5731fSOliver Tappe { 0x006F, 0x00F2 }, 46*aef5731fSOliver Tappe { 0x0075, 0x00F9 }, 47*aef5731fSOliver Tappe { 0x0077, 0x1E81 }, 48*aef5731fSOliver Tappe { 0x0079, 0x1EF3 }, 49*aef5731fSOliver Tappe { 0x00A8, 0x1FED }, 50*aef5731fSOliver Tappe { 0x00C2, 0x1EA6 }, 51*aef5731fSOliver Tappe { 0x00CA, 0x1EC0 }, 52*aef5731fSOliver Tappe { 0x00D4, 0x1ED2 }, 53*aef5731fSOliver Tappe { 0x00DC, 0x01DB }, 54*aef5731fSOliver Tappe { 0x00E2, 0x1EA7 }, 55*aef5731fSOliver Tappe { 0x00EA, 0x1EC1 }, 56*aef5731fSOliver Tappe { 0x00F4, 0x1ED3 }, 57*aef5731fSOliver Tappe { 0x00FC, 0x01DC }, 58*aef5731fSOliver Tappe { 0x0102, 0x1EB0 }, 59*aef5731fSOliver Tappe { 0x0103, 0x1EB1 }, 60*aef5731fSOliver Tappe /*{ 0x0112, 0x1E14 },*/ 61*aef5731fSOliver Tappe /*{ 0x0113, 0x1E15 },*/ 62*aef5731fSOliver Tappe /*{ 0x014C, 0x1E50 },*/ 63*aef5731fSOliver Tappe /*{ 0x014D, 0x1E51 },*/ 64*aef5731fSOliver Tappe { 0x01A0, 0x1EDC }, 65*aef5731fSOliver Tappe { 0x01A1, 0x1EDD }, 66*aef5731fSOliver Tappe { 0x01AF, 0x1EEA }, 67*aef5731fSOliver Tappe { 0x01B0, 0x1EEB }, 68*aef5731fSOliver Tappe #define viet_comp_table0301_idx (viet_comp_table0300_idx+viet_comp_table0300_len) 69*aef5731fSOliver Tappe #define viet_comp_table0301_len 64 70*aef5731fSOliver Tappe { 0x0041, 0x00C1 }, 71*aef5731fSOliver Tappe { 0x0043, 0x0106 }, 72*aef5731fSOliver Tappe { 0x0045, 0x00C9 }, 73*aef5731fSOliver Tappe { 0x0047, 0x01F4 }, 74*aef5731fSOliver Tappe { 0x0049, 0x00CD }, 75*aef5731fSOliver Tappe { 0x004B, 0x1E30 }, 76*aef5731fSOliver Tappe { 0x004C, 0x0139 }, 77*aef5731fSOliver Tappe { 0x004D, 0x1E3E }, 78*aef5731fSOliver Tappe { 0x004E, 0x0143 }, 79*aef5731fSOliver Tappe { 0x004F, 0x00D3 }, 80*aef5731fSOliver Tappe { 0x0050, 0x1E54 }, 81*aef5731fSOliver Tappe { 0x0052, 0x0154 }, 82*aef5731fSOliver Tappe { 0x0053, 0x015A }, 83*aef5731fSOliver Tappe { 0x0055, 0x00DA }, 84*aef5731fSOliver Tappe { 0x0057, 0x1E82 }, 85*aef5731fSOliver Tappe { 0x0059, 0x00DD }, 86*aef5731fSOliver Tappe { 0x005A, 0x0179 }, 87*aef5731fSOliver Tappe { 0x0061, 0x00E1 }, 88*aef5731fSOliver Tappe { 0x0063, 0x0107 }, 89*aef5731fSOliver Tappe { 0x0065, 0x00E9 }, 90*aef5731fSOliver Tappe { 0x0067, 0x01F5 }, 91*aef5731fSOliver Tappe { 0x0069, 0x00ED }, 92*aef5731fSOliver Tappe { 0x006B, 0x1E31 }, 93*aef5731fSOliver Tappe { 0x006C, 0x013A }, 94*aef5731fSOliver Tappe { 0x006D, 0x1E3F }, 95*aef5731fSOliver Tappe { 0x006E, 0x0144 }, 96*aef5731fSOliver Tappe { 0x006F, 0x00F3 }, 97*aef5731fSOliver Tappe { 0x0070, 0x1E55 }, 98*aef5731fSOliver Tappe { 0x0072, 0x0155 }, 99*aef5731fSOliver Tappe { 0x0073, 0x015B }, 100*aef5731fSOliver Tappe { 0x0075, 0x00FA }, 101*aef5731fSOliver Tappe { 0x0077, 0x1E83 }, 102*aef5731fSOliver Tappe { 0x0079, 0x00FD }, 103*aef5731fSOliver Tappe { 0x007A, 0x017A }, 104*aef5731fSOliver Tappe { 0x00A5, 0x0385 }, 105*aef5731fSOliver Tappe { 0x00A8, 0x1FEE }, 106*aef5731fSOliver Tappe { 0x00C2, 0x1EA4 }, 107*aef5731fSOliver Tappe { 0x00C5, 0x01FA }, 108*aef5731fSOliver Tappe { 0x00C6, 0x01FC }, 109*aef5731fSOliver Tappe { 0x00C7, 0x1E08 }, 110*aef5731fSOliver Tappe { 0x00CA, 0x1EBE }, 111*aef5731fSOliver Tappe { 0x00CF, 0x1E2E }, 112*aef5731fSOliver Tappe { 0x00D4, 0x1ED0 }, 113*aef5731fSOliver Tappe { 0x00D5, 0x1E4C }, 114*aef5731fSOliver Tappe { 0x00D8, 0x01FE }, 115*aef5731fSOliver Tappe { 0x00DC, 0x01D7 }, 116*aef5731fSOliver Tappe { 0x00E2, 0x1EA5 }, 117*aef5731fSOliver Tappe { 0x00E5, 0x01FB }, 118*aef5731fSOliver Tappe { 0x00E6, 0x01FD }, 119*aef5731fSOliver Tappe { 0x00E7, 0x1E09 }, 120*aef5731fSOliver Tappe { 0x00EA, 0x1EBF }, 121*aef5731fSOliver Tappe { 0x00EF, 0x1E2F }, 122*aef5731fSOliver Tappe { 0x00F4, 0x1ED1 }, 123*aef5731fSOliver Tappe { 0x00F5, 0x1E4D }, 124*aef5731fSOliver Tappe { 0x00F8, 0x01FF }, 125*aef5731fSOliver Tappe { 0x00FC, 0x01D8 }, 126*aef5731fSOliver Tappe { 0x0102, 0x1EAE }, 127*aef5731fSOliver Tappe { 0x0103, 0x1EAF }, 128*aef5731fSOliver Tappe /*{ 0x0112, 0x1E16 },*/ 129*aef5731fSOliver Tappe /*{ 0x0113, 0x1E17 },*/ 130*aef5731fSOliver Tappe /*{ 0x014C, 0x1E52 },*/ 131*aef5731fSOliver Tappe /*{ 0x014D, 0x1E53 },*/ 132*aef5731fSOliver Tappe { 0x0168, 0x1E78 }, 133*aef5731fSOliver Tappe { 0x0169, 0x1E79 }, 134*aef5731fSOliver Tappe { 0x01A0, 0x1EDA }, 135*aef5731fSOliver Tappe { 0x01A1, 0x1EDB }, 136*aef5731fSOliver Tappe { 0x01AF, 0x1EE8 }, 137*aef5731fSOliver Tappe { 0x01B0, 0x1EE9 }, 138*aef5731fSOliver Tappe #define viet_comp_table0303_idx (viet_comp_table0301_idx+viet_comp_table0301_len) 139*aef5731fSOliver Tappe #define viet_comp_table0303_len 34 140*aef5731fSOliver Tappe { 0x0041, 0x00C3 }, 141*aef5731fSOliver Tappe { 0x0045, 0x1EBC }, 142*aef5731fSOliver Tappe { 0x0049, 0x0128 }, 143*aef5731fSOliver Tappe { 0x004E, 0x00D1 }, 144*aef5731fSOliver Tappe { 0x004F, 0x00D5 }, 145*aef5731fSOliver Tappe { 0x0055, 0x0168 }, 146*aef5731fSOliver Tappe { 0x0056, 0x1E7C }, 147*aef5731fSOliver Tappe { 0x0059, 0x1EF8 }, 148*aef5731fSOliver Tappe { 0x0061, 0x00E3 }, 149*aef5731fSOliver Tappe { 0x0065, 0x1EBD }, 150*aef5731fSOliver Tappe { 0x0069, 0x0129 }, 151*aef5731fSOliver Tappe { 0x006E, 0x00F1 }, 152*aef5731fSOliver Tappe { 0x006F, 0x00F5 }, 153*aef5731fSOliver Tappe { 0x0075, 0x0169 }, 154*aef5731fSOliver Tappe { 0x0076, 0x1E7D }, 155*aef5731fSOliver Tappe { 0x0079, 0x1EF9 }, 156*aef5731fSOliver Tappe { 0x00C2, 0x1EAA }, 157*aef5731fSOliver Tappe { 0x00CA, 0x1EC4 }, 158*aef5731fSOliver Tappe { 0x00D3, 0x1E4C }, 159*aef5731fSOliver Tappe { 0x00D4, 0x1ED6 }, 160*aef5731fSOliver Tappe { 0x00D6, 0x1E4E }, 161*aef5731fSOliver Tappe { 0x00DA, 0x1E78 }, 162*aef5731fSOliver Tappe { 0x00E2, 0x1EAB }, 163*aef5731fSOliver Tappe { 0x00EA, 0x1EC5 }, 164*aef5731fSOliver Tappe { 0x00F3, 0x1E4D }, 165*aef5731fSOliver Tappe { 0x00F4, 0x1ED7 }, 166*aef5731fSOliver Tappe { 0x00F6, 0x1E4F }, 167*aef5731fSOliver Tappe { 0x00FA, 0x1E79 }, 168*aef5731fSOliver Tappe { 0x0102, 0x1EB4 }, 169*aef5731fSOliver Tappe { 0x0103, 0x1EB5 }, 170*aef5731fSOliver Tappe { 0x01A0, 0x1EE0 }, 171*aef5731fSOliver Tappe { 0x01A1, 0x1EE1 }, 172*aef5731fSOliver Tappe { 0x01AF, 0x1EEE }, 173*aef5731fSOliver Tappe { 0x01B0, 0x1EEF }, 174*aef5731fSOliver Tappe #define viet_comp_table0309_idx (viet_comp_table0303_idx+viet_comp_table0303_len) 175*aef5731fSOliver Tappe #define viet_comp_table0309_len 24 176*aef5731fSOliver Tappe { 0x0041, 0x1EA2 }, 177*aef5731fSOliver Tappe { 0x0045, 0x1EBA }, 178*aef5731fSOliver Tappe { 0x0049, 0x1EC8 }, 179*aef5731fSOliver Tappe { 0x004F, 0x1ECE }, 180*aef5731fSOliver Tappe { 0x0055, 0x1EE6 }, 181*aef5731fSOliver Tappe { 0x0059, 0x1EF6 }, 182*aef5731fSOliver Tappe { 0x0061, 0x1EA3 }, 183*aef5731fSOliver Tappe { 0x0065, 0x1EBB }, 184*aef5731fSOliver Tappe { 0x0069, 0x1EC9 }, 185*aef5731fSOliver Tappe { 0x006F, 0x1ECF }, 186*aef5731fSOliver Tappe { 0x0075, 0x1EE7 }, 187*aef5731fSOliver Tappe { 0x0079, 0x1EF7 }, 188*aef5731fSOliver Tappe { 0x00C2, 0x1EA8 }, 189*aef5731fSOliver Tappe { 0x00CA, 0x1EC2 }, 190*aef5731fSOliver Tappe { 0x00D4, 0x1ED4 }, 191*aef5731fSOliver Tappe { 0x00E2, 0x1EA9 }, 192*aef5731fSOliver Tappe { 0x00EA, 0x1EC3 }, 193*aef5731fSOliver Tappe { 0x00F4, 0x1ED5 }, 194*aef5731fSOliver Tappe { 0x0102, 0x1EB2 }, 195*aef5731fSOliver Tappe { 0x0103, 0x1EB3 }, 196*aef5731fSOliver Tappe { 0x01A0, 0x1EDE }, 197*aef5731fSOliver Tappe { 0x01A1, 0x1EDF }, 198*aef5731fSOliver Tappe { 0x01AF, 0x1EEC }, 199*aef5731fSOliver Tappe { 0x01B0, 0x1EED }, 200*aef5731fSOliver Tappe #define viet_comp_table0323_idx (viet_comp_table0309_idx+viet_comp_table0309_len) 201*aef5731fSOliver Tappe #define viet_comp_table0323_len 50 202*aef5731fSOliver Tappe { 0x0041, 0x1EA0 }, 203*aef5731fSOliver Tappe { 0x0042, 0x1E04 }, 204*aef5731fSOliver Tappe { 0x0044, 0x1E0C }, 205*aef5731fSOliver Tappe { 0x0045, 0x1EB8 }, 206*aef5731fSOliver Tappe { 0x0048, 0x1E24 }, 207*aef5731fSOliver Tappe { 0x0049, 0x1ECA }, 208*aef5731fSOliver Tappe { 0x004B, 0x1E32 }, 209*aef5731fSOliver Tappe { 0x004C, 0x1E36 }, 210*aef5731fSOliver Tappe { 0x004D, 0x1E42 }, 211*aef5731fSOliver Tappe { 0x004E, 0x1E46 }, 212*aef5731fSOliver Tappe { 0x004F, 0x1ECC }, 213*aef5731fSOliver Tappe { 0x0052, 0x1E5A }, 214*aef5731fSOliver Tappe { 0x0053, 0x1E62 }, 215*aef5731fSOliver Tappe { 0x0054, 0x1E6C }, 216*aef5731fSOliver Tappe { 0x0055, 0x1EE4 }, 217*aef5731fSOliver Tappe { 0x0056, 0x1E7E }, 218*aef5731fSOliver Tappe { 0x0057, 0x1E88 }, 219*aef5731fSOliver Tappe { 0x0059, 0x1EF4 }, 220*aef5731fSOliver Tappe { 0x005A, 0x1E92 }, 221*aef5731fSOliver Tappe { 0x0061, 0x1EA1 }, 222*aef5731fSOliver Tappe { 0x0062, 0x1E05 }, 223*aef5731fSOliver Tappe { 0x0064, 0x1E0D }, 224*aef5731fSOliver Tappe { 0x0065, 0x1EB9 }, 225*aef5731fSOliver Tappe { 0x0068, 0x1E25 }, 226*aef5731fSOliver Tappe { 0x0069, 0x1ECB }, 227*aef5731fSOliver Tappe { 0x006B, 0x1E33 }, 228*aef5731fSOliver Tappe { 0x006C, 0x1E37 }, 229*aef5731fSOliver Tappe { 0x006D, 0x1E43 }, 230*aef5731fSOliver Tappe { 0x006E, 0x1E47 }, 231*aef5731fSOliver Tappe { 0x006F, 0x1ECD }, 232*aef5731fSOliver Tappe { 0x0072, 0x1E5B }, 233*aef5731fSOliver Tappe { 0x0073, 0x1E63 }, 234*aef5731fSOliver Tappe { 0x0074, 0x1E6D }, 235*aef5731fSOliver Tappe { 0x0075, 0x1EE5 }, 236*aef5731fSOliver Tappe { 0x0076, 0x1E7F }, 237*aef5731fSOliver Tappe { 0x0077, 0x1E89 }, 238*aef5731fSOliver Tappe { 0x0079, 0x1EF5 }, 239*aef5731fSOliver Tappe { 0x007A, 0x1E93 }, 240*aef5731fSOliver Tappe { 0x00C2, 0x1EAC }, 241*aef5731fSOliver Tappe { 0x00CA, 0x1EC6 }, 242*aef5731fSOliver Tappe { 0x00D4, 0x1ED8 }, 243*aef5731fSOliver Tappe { 0x00E2, 0x1EAD }, 244*aef5731fSOliver Tappe { 0x00EA, 0x1EC7 }, 245*aef5731fSOliver Tappe { 0x00F4, 0x1ED9 }, 246*aef5731fSOliver Tappe { 0x0102, 0x1EB6 }, 247*aef5731fSOliver Tappe { 0x0103, 0x1EB7 }, 248*aef5731fSOliver Tappe { 0x01A0, 0x1EE2 }, 249*aef5731fSOliver Tappe { 0x01A1, 0x1EE3 }, 250*aef5731fSOliver Tappe { 0x01AF, 0x1EF0 }, 251*aef5731fSOliver Tappe { 0x01B0, 0x1EF1 }, 252*aef5731fSOliver Tappe }; 253*aef5731fSOliver Tappe static const struct { unsigned int len; unsigned int idx; } viet_comp_table[] = { 254*aef5731fSOliver Tappe { viet_comp_table0300_len, viet_comp_table0300_idx }, 255*aef5731fSOliver Tappe { viet_comp_table0301_len, viet_comp_table0301_idx }, 256*aef5731fSOliver Tappe { viet_comp_table0303_len, viet_comp_table0303_idx }, 257*aef5731fSOliver Tappe { viet_comp_table0309_len, viet_comp_table0309_idx }, 258*aef5731fSOliver Tappe { viet_comp_table0323_len, viet_comp_table0323_idx }, 259*aef5731fSOliver Tappe }; 260*aef5731fSOliver Tappe 261*aef5731fSOliver Tappe /* Decomposition table for the relevant Unicode characters. */ 262*aef5731fSOliver Tappe struct viet_decomp { unsigned short composed; unsigned int base : 12; int comb1 : 4; }; 263*aef5731fSOliver Tappe static const struct viet_decomp viet_decomp_table[] = { 264*aef5731fSOliver Tappe { 0x00B4, 0x0020, 1 }, /* compatibility decomposition - for TCVN only */ 265*aef5731fSOliver Tappe { 0x00C0, 0x0041, 0 }, 266*aef5731fSOliver Tappe { 0x00C1, 0x0041, 1 }, 267*aef5731fSOliver Tappe { 0x00C3, 0x0041, 2 }, 268*aef5731fSOliver Tappe { 0x00C8, 0x0045, 0 }, 269*aef5731fSOliver Tappe { 0x00C9, 0x0045, 1 }, 270*aef5731fSOliver Tappe { 0x00CC, 0x0049, 0 }, 271*aef5731fSOliver Tappe { 0x00CD, 0x0049, 1 }, 272*aef5731fSOliver Tappe { 0x00D1, 0x004E, 2 }, 273*aef5731fSOliver Tappe { 0x00D2, 0x004F, 0 }, 274*aef5731fSOliver Tappe { 0x00D3, 0x004F, 1 }, 275*aef5731fSOliver Tappe { 0x00D5, 0x004F, 2 }, 276*aef5731fSOliver Tappe { 0x00D9, 0x0055, 0 }, 277*aef5731fSOliver Tappe { 0x00DA, 0x0055, 1 }, 278*aef5731fSOliver Tappe { 0x00DD, 0x0059, 1 }, 279*aef5731fSOliver Tappe { 0x00E0, 0x0061, 0 }, 280*aef5731fSOliver Tappe { 0x00E1, 0x0061, 1 }, 281*aef5731fSOliver Tappe { 0x00E3, 0x0061, 2 }, 282*aef5731fSOliver Tappe { 0x00E8, 0x0065, 0 }, 283*aef5731fSOliver Tappe { 0x00E9, 0x0065, 1 }, 284*aef5731fSOliver Tappe { 0x00EC, 0x0069, 0 }, 285*aef5731fSOliver Tappe { 0x00ED, 0x0069, 1 }, 286*aef5731fSOliver Tappe { 0x00F1, 0x006E, 2 }, 287*aef5731fSOliver Tappe { 0x00F2, 0x006F, 0 }, 288*aef5731fSOliver Tappe { 0x00F3, 0x006F, 1 }, 289*aef5731fSOliver Tappe { 0x00F5, 0x006F, 2 }, 290*aef5731fSOliver Tappe { 0x00F9, 0x0075, 0 }, 291*aef5731fSOliver Tappe { 0x00FA, 0x0075, 1 }, 292*aef5731fSOliver Tappe { 0x00FD, 0x0079, 1 }, 293*aef5731fSOliver Tappe { 0x0106, 0x0043, 1 }, 294*aef5731fSOliver Tappe { 0x0107, 0x0063, 1 }, 295*aef5731fSOliver Tappe { 0x0128, 0x0049, 2 }, 296*aef5731fSOliver Tappe { 0x0129, 0x0069, 2 }, 297*aef5731fSOliver Tappe { 0x0139, 0x004C, 1 }, 298*aef5731fSOliver Tappe { 0x013A, 0x006C, 1 }, 299*aef5731fSOliver Tappe { 0x0143, 0x004E, 1 }, 300*aef5731fSOliver Tappe { 0x0144, 0x006E, 1 }, 301*aef5731fSOliver Tappe { 0x0154, 0x0052, 1 }, 302*aef5731fSOliver Tappe { 0x0155, 0x0072, 1 }, 303*aef5731fSOliver Tappe { 0x015A, 0x0053, 1 }, 304*aef5731fSOliver Tappe { 0x015B, 0x0073, 1 }, 305*aef5731fSOliver Tappe { 0x0168, 0x0055, 2 }, 306*aef5731fSOliver Tappe { 0x0169, 0x0075, 2 }, 307*aef5731fSOliver Tappe { 0x0179, 0x005A, 1 }, 308*aef5731fSOliver Tappe { 0x017A, 0x007A, 1 }, 309*aef5731fSOliver Tappe { 0x01D7, 0x00DC, 1 }, 310*aef5731fSOliver Tappe { 0x01D8, 0x00FC, 1 }, 311*aef5731fSOliver Tappe { 0x01DB, 0x00DC, 0 }, 312*aef5731fSOliver Tappe { 0x01DC, 0x00FC, 0 }, 313*aef5731fSOliver Tappe { 0x01F4, 0x0047, 1 }, 314*aef5731fSOliver Tappe { 0x01F5, 0x0067, 1 }, 315*aef5731fSOliver Tappe { 0x01F8, 0x004E, 0 }, 316*aef5731fSOliver Tappe { 0x01F9, 0x006E, 0 }, 317*aef5731fSOliver Tappe { 0x01FA, 0x00C5, 1 }, 318*aef5731fSOliver Tappe { 0x01FB, 0x00E5, 1 }, 319*aef5731fSOliver Tappe { 0x01FC, 0x00C6, 1 }, 320*aef5731fSOliver Tappe { 0x01FD, 0x00E6, 1 }, 321*aef5731fSOliver Tappe { 0x01FE, 0x00D8, 1 }, 322*aef5731fSOliver Tappe { 0x01FF, 0x00F8, 1 }, 323*aef5731fSOliver Tappe { 0x02DC, 0x0020, 2 }, /* compatibility decomposition - for TCVN only */ 324*aef5731fSOliver Tappe { 0x0385, 0x00A5, 1 }, 325*aef5731fSOliver Tappe { 0x1E04, 0x0042, 4 }, 326*aef5731fSOliver Tappe { 0x1E05, 0x0062, 4 }, 327*aef5731fSOliver Tappe { 0x1E08, 0x00C7, 1 }, 328*aef5731fSOliver Tappe { 0x1E09, 0x00E7, 1 }, 329*aef5731fSOliver Tappe { 0x1E0C, 0x0044, 4 }, 330*aef5731fSOliver Tappe { 0x1E0D, 0x0064, 4 }, 331*aef5731fSOliver Tappe { 0x1E24, 0x0048, 4 }, 332*aef5731fSOliver Tappe { 0x1E25, 0x0068, 4 }, 333*aef5731fSOliver Tappe { 0x1E2E, 0x00CF, 1 }, 334*aef5731fSOliver Tappe { 0x1E2F, 0x00EF, 1 }, 335*aef5731fSOliver Tappe { 0x1E30, 0x004B, 1 }, 336*aef5731fSOliver Tappe { 0x1E31, 0x006B, 1 }, 337*aef5731fSOliver Tappe { 0x1E32, 0x004B, 4 }, 338*aef5731fSOliver Tappe { 0x1E33, 0x006B, 4 }, 339*aef5731fSOliver Tappe { 0x1E36, 0x004C, 4 }, 340*aef5731fSOliver Tappe { 0x1E37, 0x006C, 4 }, 341*aef5731fSOliver Tappe { 0x1E3E, 0x004D, 1 }, 342*aef5731fSOliver Tappe { 0x1E3F, 0x006D, 1 }, 343*aef5731fSOliver Tappe { 0x1E42, 0x004D, 4 }, 344*aef5731fSOliver Tappe { 0x1E43, 0x006D, 4 }, 345*aef5731fSOliver Tappe { 0x1E46, 0x004E, 4 }, 346*aef5731fSOliver Tappe { 0x1E47, 0x006E, 4 }, 347*aef5731fSOliver Tappe { 0x1E4C, 0x00D3, 2 }, /*{ 0x1E4C, 0x00D5, 1 },*/ /*{ 0x1E4C, 0x004F, 1, 2 },*/ 348*aef5731fSOliver Tappe { 0x1E4D, 0x00F3, 2 }, /*{ 0x1E4D, 0x00F5, 1 },*/ /*{ 0x1E4D, 0x006F, 1, 2 },*/ 349*aef5731fSOliver Tappe { 0x1E4E, 0x00D6, 2 }, 350*aef5731fSOliver Tappe { 0x1E4F, 0x00F6, 2 }, 351*aef5731fSOliver Tappe { 0x1E54, 0x0050, 1 }, 352*aef5731fSOliver Tappe { 0x1E55, 0x0070, 1 }, 353*aef5731fSOliver Tappe { 0x1E5A, 0x0052, 4 }, 354*aef5731fSOliver Tappe { 0x1E5B, 0x0072, 4 }, 355*aef5731fSOliver Tappe { 0x1E62, 0x0053, 4 }, 356*aef5731fSOliver Tappe { 0x1E63, 0x0073, 4 }, 357*aef5731fSOliver Tappe { 0x1E6C, 0x0054, 4 }, 358*aef5731fSOliver Tappe { 0x1E6D, 0x0074, 4 }, 359*aef5731fSOliver Tappe { 0x1E78, 0x00DA, 2 }, /*{ 0x1E78, 0x0168, 1 },*/ /*{ 0x1E78, 0x0055, 1, 2 },*/ 360*aef5731fSOliver Tappe { 0x1E79, 0x00FA, 2 }, /*{ 0x1E79, 0x0169, 1 },*/ /*{ 0x1E79, 0x0075, 1, 2 },*/ 361*aef5731fSOliver Tappe { 0x1E7C, 0x0056, 2 }, 362*aef5731fSOliver Tappe { 0x1E7D, 0x0076, 2 }, 363*aef5731fSOliver Tappe { 0x1E7E, 0x0056, 4 }, 364*aef5731fSOliver Tappe { 0x1E7F, 0x0076, 4 }, 365*aef5731fSOliver Tappe { 0x1E80, 0x0057, 0 }, 366*aef5731fSOliver Tappe { 0x1E81, 0x0077, 0 }, 367*aef5731fSOliver Tappe { 0x1E82, 0x0057, 1 }, 368*aef5731fSOliver Tappe { 0x1E83, 0x0077, 1 }, 369*aef5731fSOliver Tappe { 0x1E88, 0x0057, 4 }, 370*aef5731fSOliver Tappe { 0x1E89, 0x0077, 4 }, 371*aef5731fSOliver Tappe { 0x1E92, 0x005A, 4 }, 372*aef5731fSOliver Tappe { 0x1E93, 0x007A, 4 }, 373*aef5731fSOliver Tappe { 0x1EA0, 0x0041, 4 }, 374*aef5731fSOliver Tappe { 0x1EA1, 0x0061, 4 }, 375*aef5731fSOliver Tappe { 0x1EA2, 0x0041, 3 }, 376*aef5731fSOliver Tappe { 0x1EA3, 0x0061, 3 }, 377*aef5731fSOliver Tappe { 0x1EA4, 0x00C2, 1 }, 378*aef5731fSOliver Tappe { 0x1EA5, 0x00E2, 1 }, 379*aef5731fSOliver Tappe { 0x1EA6, 0x00C2, 0 }, 380*aef5731fSOliver Tappe { 0x1EA7, 0x00E2, 0 }, 381*aef5731fSOliver Tappe { 0x1EA8, 0x00C2, 3 }, 382*aef5731fSOliver Tappe { 0x1EA9, 0x00E2, 3 }, 383*aef5731fSOliver Tappe { 0x1EAA, 0x00C2, 2 }, 384*aef5731fSOliver Tappe { 0x1EAB, 0x00E2, 2 }, 385*aef5731fSOliver Tappe { 0x1EAC, 0x00C2, 4 }, 386*aef5731fSOliver Tappe { 0x1EAD, 0x00E2, 4 }, 387*aef5731fSOliver Tappe { 0x1EAE, 0x0102, 1 }, 388*aef5731fSOliver Tappe { 0x1EAF, 0x0103, 1 }, 389*aef5731fSOliver Tappe { 0x1EB0, 0x0102, 0 }, 390*aef5731fSOliver Tappe { 0x1EB1, 0x0103, 0 }, 391*aef5731fSOliver Tappe { 0x1EB2, 0x0102, 3 }, 392*aef5731fSOliver Tappe { 0x1EB3, 0x0103, 3 }, 393*aef5731fSOliver Tappe { 0x1EB4, 0x0102, 2 }, 394*aef5731fSOliver Tappe { 0x1EB5, 0x0103, 2 }, 395*aef5731fSOliver Tappe { 0x1EB6, 0x0102, 4 }, 396*aef5731fSOliver Tappe { 0x1EB7, 0x0103, 4 }, 397*aef5731fSOliver Tappe { 0x1EB8, 0x0045, 4 }, 398*aef5731fSOliver Tappe { 0x1EB9, 0x0065, 4 }, 399*aef5731fSOliver Tappe { 0x1EBA, 0x0045, 3 }, 400*aef5731fSOliver Tappe { 0x1EBB, 0x0065, 3 }, 401*aef5731fSOliver Tappe { 0x1EBC, 0x0045, 2 }, 402*aef5731fSOliver Tappe { 0x1EBD, 0x0065, 2 }, 403*aef5731fSOliver Tappe { 0x1EBE, 0x00CA, 1 }, 404*aef5731fSOliver Tappe { 0x1EBF, 0x00EA, 1 }, 405*aef5731fSOliver Tappe { 0x1EC0, 0x00CA, 0 }, 406*aef5731fSOliver Tappe { 0x1EC1, 0x00EA, 0 }, 407*aef5731fSOliver Tappe { 0x1EC2, 0x00CA, 3 }, 408*aef5731fSOliver Tappe { 0x1EC3, 0x00EA, 3 }, 409*aef5731fSOliver Tappe { 0x1EC4, 0x00CA, 2 }, 410*aef5731fSOliver Tappe { 0x1EC5, 0x00EA, 2 }, 411*aef5731fSOliver Tappe { 0x1EC6, 0x00CA, 4 }, 412*aef5731fSOliver Tappe { 0x1EC7, 0x00EA, 4 }, 413*aef5731fSOliver Tappe { 0x1EC8, 0x0049, 3 }, 414*aef5731fSOliver Tappe { 0x1EC9, 0x0069, 3 }, 415*aef5731fSOliver Tappe { 0x1ECA, 0x0049, 4 }, 416*aef5731fSOliver Tappe { 0x1ECB, 0x0069, 4 }, 417*aef5731fSOliver Tappe { 0x1ECC, 0x004F, 4 }, 418*aef5731fSOliver Tappe { 0x1ECD, 0x006F, 4 }, 419*aef5731fSOliver Tappe { 0x1ECE, 0x004F, 3 }, 420*aef5731fSOliver Tappe { 0x1ECF, 0x006F, 3 }, 421*aef5731fSOliver Tappe { 0x1ED0, 0x00D4, 1 }, 422*aef5731fSOliver Tappe { 0x1ED1, 0x00F4, 1 }, 423*aef5731fSOliver Tappe { 0x1ED2, 0x00D4, 0 }, 424*aef5731fSOliver Tappe { 0x1ED3, 0x00F4, 0 }, 425*aef5731fSOliver Tappe { 0x1ED4, 0x00D4, 3 }, 426*aef5731fSOliver Tappe { 0x1ED5, 0x00F4, 3 }, 427*aef5731fSOliver Tappe { 0x1ED6, 0x00D4, 2 }, 428*aef5731fSOliver Tappe { 0x1ED7, 0x00F4, 2 }, 429*aef5731fSOliver Tappe { 0x1ED8, 0x00D4, 4 }, 430*aef5731fSOliver Tappe { 0x1ED9, 0x00F4, 4 }, 431*aef5731fSOliver Tappe { 0x1EDA, 0x01A0, 1 }, 432*aef5731fSOliver Tappe { 0x1EDB, 0x01A1, 1 }, 433*aef5731fSOliver Tappe { 0x1EDC, 0x01A0, 0 }, 434*aef5731fSOliver Tappe { 0x1EDD, 0x01A1, 0 }, 435*aef5731fSOliver Tappe { 0x1EDE, 0x01A0, 3 }, 436*aef5731fSOliver Tappe { 0x1EDF, 0x01A1, 3 }, 437*aef5731fSOliver Tappe { 0x1EE0, 0x01A0, 2 }, 438*aef5731fSOliver Tappe { 0x1EE1, 0x01A1, 2 }, 439*aef5731fSOliver Tappe { 0x1EE2, 0x01A0, 4 }, 440*aef5731fSOliver Tappe { 0x1EE3, 0x01A1, 4 }, 441*aef5731fSOliver Tappe { 0x1EE4, 0x0055, 4 }, 442*aef5731fSOliver Tappe { 0x1EE5, 0x0075, 4 }, 443*aef5731fSOliver Tappe { 0x1EE6, 0x0055, 3 }, 444*aef5731fSOliver Tappe { 0x1EE7, 0x0075, 3 }, 445*aef5731fSOliver Tappe { 0x1EE8, 0x01AF, 1 }, 446*aef5731fSOliver Tappe { 0x1EE9, 0x01B0, 1 }, 447*aef5731fSOliver Tappe { 0x1EEA, 0x01AF, 0 }, 448*aef5731fSOliver Tappe { 0x1EEB, 0x01B0, 0 }, 449*aef5731fSOliver Tappe { 0x1EEC, 0x01AF, 3 }, 450*aef5731fSOliver Tappe { 0x1EED, 0x01B0, 3 }, 451*aef5731fSOliver Tappe { 0x1EEE, 0x01AF, 2 }, 452*aef5731fSOliver Tappe { 0x1EEF, 0x01B0, 2 }, 453*aef5731fSOliver Tappe { 0x1EF0, 0x01AF, 4 }, 454*aef5731fSOliver Tappe { 0x1EF1, 0x01B0, 4 }, 455*aef5731fSOliver Tappe { 0x1EF2, 0x0059, 0 }, 456*aef5731fSOliver Tappe { 0x1EF3, 0x0079, 0 }, 457*aef5731fSOliver Tappe { 0x1EF4, 0x0059, 4 }, 458*aef5731fSOliver Tappe { 0x1EF5, 0x0079, 4 }, 459*aef5731fSOliver Tappe { 0x1EF6, 0x0059, 3 }, 460*aef5731fSOliver Tappe { 0x1EF7, 0x0079, 3 }, 461*aef5731fSOliver Tappe { 0x1EF8, 0x0059, 2 }, 462*aef5731fSOliver Tappe { 0x1EF9, 0x0079, 2 }, 463*aef5731fSOliver Tappe { 0x1FED, 0x00A8, 0 }, 464*aef5731fSOliver Tappe { 0x1FEE, 0x00A8, 1 }, 465*aef5731fSOliver Tappe }; 466*aef5731fSOliver Tappe 467*aef5731fSOliver Tappe #endif /* _VIETCOMB_H */ 468