1*91e1e26aSAlexander Pyhalov /* 2*91e1e26aSAlexander Pyhalov * CDDL HEADER START 3*91e1e26aSAlexander Pyhalov * 4*91e1e26aSAlexander Pyhalov * The contents of this file are subject to the terms of the 5*91e1e26aSAlexander Pyhalov * Common Development and Distribution License (the "License"). 6*91e1e26aSAlexander Pyhalov * You may not use this file except in compliance with the License. 7*91e1e26aSAlexander Pyhalov * 8*91e1e26aSAlexander Pyhalov * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE 9*91e1e26aSAlexander Pyhalov * or http://www.opensolaris.org/os/licensing. 10*91e1e26aSAlexander Pyhalov * See the License for the specific language governing permissions 11*91e1e26aSAlexander Pyhalov * and limitations under the License. 12*91e1e26aSAlexander Pyhalov * 13*91e1e26aSAlexander Pyhalov * When distributing Covered Code, include this CDDL HEADER in each 14*91e1e26aSAlexander Pyhalov * file and include the License file at src/OPENSOLARIS.LICENSE. 15*91e1e26aSAlexander Pyhalov * If applicable, add the following below this CDDL HEADER, with the 16*91e1e26aSAlexander Pyhalov * fields enclosed by brackets "[]" replaced with your own identifying 17*91e1e26aSAlexander Pyhalov * information: Portions Copyright [yyyy] [name of copyright owner] 18*91e1e26aSAlexander Pyhalov * 19*91e1e26aSAlexander Pyhalov * CDDL HEADER END 20*91e1e26aSAlexander Pyhalov */ 21*91e1e26aSAlexander Pyhalov 22*91e1e26aSAlexander Pyhalov /* 23*91e1e26aSAlexander Pyhalov * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24*91e1e26aSAlexander Pyhalov * Use is subject to license terms. 25*91e1e26aSAlexander Pyhalov */ 26*91e1e26aSAlexander Pyhalov 27*91e1e26aSAlexander Pyhalov #define GI_UG 0x41 /* gi-ug 'A' */ 28*91e1e26aSAlexander Pyhalov #define D_GI_UG 0x42 /* double gi-ug 'B' */ 29*91e1e26aSAlexander Pyhalov #define NI_UN 0x44 /* ni-un 'D' */ 30*91e1e26aSAlexander Pyhalov #define DI_GUD 0x47 /* di-gud 'G' */ 31*91e1e26aSAlexander Pyhalov #define D_DI_GUD 0x48 /* double di-gud 'H' */ 32*91e1e26aSAlexander Pyhalov #define RI_UL 0x49 /* ri-ul 'I' */ 33*91e1e26aSAlexander Pyhalov #define MI_UM 0x51 /* mi-um 'Q' */ 34*91e1e26aSAlexander Pyhalov #define BI_UB 0x52 /* bi-ub 'R' */ 35*91e1e26aSAlexander Pyhalov #define D_BI_UB 0x53 /* double bi-ub 'S' */ 36*91e1e26aSAlexander Pyhalov #define SI_OD 0x55 /* si-od 'U' */ 37*91e1e26aSAlexander Pyhalov #define D_SI_OD 0x56 /* double si-od 'V' */ 38*91e1e26aSAlexander Pyhalov #define YI_UNG 0x57 /* yi-ung 'W' */ 39*91e1e26aSAlexander Pyhalov #define JI_UD 0x58 /* ji-ud 'X' */ 40*91e1e26aSAlexander Pyhalov #define D_JI_UD 0x59 /* double ji-ud 'Y' */ 41*91e1e26aSAlexander Pyhalov #define CHI_UD 0x5a /* chi-ud 'Z' */ 42*91e1e26aSAlexander Pyhalov #define KI_UK 0x5b /* ki-uk '[' */ 43*91e1e26aSAlexander Pyhalov #define TI_GUT 0x5c /* ti-gut '\' */ 44*91e1e26aSAlexander Pyhalov #define PI_UP 0x5d /* pi-up ']' */ 45*91e1e26aSAlexander Pyhalov #define HI_UD 0x5e /* hi-ud '^' */ 46*91e1e26aSAlexander Pyhalov #define A 0x62 /* a 'b' */ 47*91e1e26aSAlexander Pyhalov #define AE 0x63 /* ae 'c' */ 48*91e1e26aSAlexander Pyhalov #define IA 0x64 /* ia 'd' */ 49*91e1e26aSAlexander Pyhalov #define IYAI 0x65 /* iyai 'e' */ 50*91e1e26aSAlexander Pyhalov #define E 0x66 /* e 'f' */ 51*91e1e26aSAlexander Pyhalov #define EA 0x67 /* ea 'g' */ 52*91e1e26aSAlexander Pyhalov #define IE 0x6a /* ie 'j' */ 53*91e1e26aSAlexander Pyhalov #define YEA 0x6b /* yea 'k' */ 54*91e1e26aSAlexander Pyhalov #define O 0x6c /* o 'l' */ 55*91e1e26aSAlexander Pyhalov #define YO 0x72 /* yo 'r' */ 56*91e1e26aSAlexander Pyhalov #define U 0x73 /* u 's' */ 57*91e1e26aSAlexander Pyhalov #define YU 0x77 /* yu 'g' */ 58*91e1e26aSAlexander Pyhalov #define EU 0x7a /* eu 'z' */ 59*91e1e26aSAlexander Pyhalov #define I 0x7c /* i '|' */ 60*91e1e26aSAlexander Pyhalov 61*91e1e26aSAlexander Pyhalov #define GIUG_SIOD 0x43 /* gi-ug and si-od 'C' */ 62*91e1e26aSAlexander Pyhalov #define NIUN_JIUD 0x45 /* ni-un and ji-ud 'E' */ 63*91e1e26aSAlexander Pyhalov #define NIUN_HIUD 0x46 /* ni-un and hi-ud 'F' */ 64*91e1e26aSAlexander Pyhalov #define RIUL_GIUG 0x4a /* ri_ul and gi_ug 'J' */ 65*91e1e26aSAlexander Pyhalov #define RIUL_MIUM 0x4b /* ri_ul and mi_um 'K' */ 66*91e1e26aSAlexander Pyhalov #define RIUL_BIUB 0x4c /* ri_ul and bi_ub 'L' */ 67*91e1e26aSAlexander Pyhalov #define RIUL_SIOD 0x4d /* ri_ul and si_od 'M' */ 68*91e1e26aSAlexander Pyhalov #define RIUL_TIGUT 0x4e /* ri_ul and ti_gut 'N' */ 69*91e1e26aSAlexander Pyhalov #define RIUL_PIUP 0x4f /* ri_ul and pi_up 'O' */ 70*91e1e26aSAlexander Pyhalov #define RIUL_HIUD 0x50 /* ri_ul and hi_ud 'P' */ 71*91e1e26aSAlexander Pyhalov #define BIUB_SIOD 0x54 /* bi_ub and si_od 'T' */ 72*91e1e26aSAlexander Pyhalov 73*91e1e26aSAlexander Pyhalov #define O_A 0x6d /* o and a 'm' */ 74*91e1e26aSAlexander Pyhalov #define O_AE 0x6e /* o and ae 'n' */ 75*91e1e26aSAlexander Pyhalov #define O_I 0x6f /* o and i 'o' */ 76*91e1e26aSAlexander Pyhalov #define U_E 0x74 /* u and e 't' */ 77*91e1e26aSAlexander Pyhalov #define U_EA 0x75 /* u and ea 'u' */ 78*91e1e26aSAlexander Pyhalov #define U_I 0x76 /* u and i 'v' */ 79*91e1e26aSAlexander Pyhalov #define EU_I 0x7b /* eu and i '{' */ 80*91e1e26aSAlexander Pyhalov 81*91e1e26aSAlexander Pyhalov #define ishaninit(c) (c>=0xa4a1&&c<=0xa4be) /* S000 */ 82*91e1e26aSAlexander Pyhalov #define ishanmid(c) (c>=0xa4bf&&c<=0xa4d3) 83*91e1e26aSAlexander Pyhalov 84*91e1e26aSAlexander Pyhalov #define INITIAL_SOUND(c) ((KCHAR)(c & 0x7c00) >> 10) 85*91e1e26aSAlexander Pyhalov #define MIDDLE_SOUND(c) ((KCHAR)(c & 0x03e0) >> 5) 86*91e1e26aSAlexander Pyhalov #define FINAL_SOUND(c) (c & 0x001f) 87*91e1e26aSAlexander Pyhalov 88*91e1e26aSAlexander Pyhalov #define BEG_OF_CONSO 0x40 /* S000 */ 89*91e1e26aSAlexander Pyhalov #define BEG_OF_VOW 0x60 90*91e1e26aSAlexander Pyhalov 91*91e1e26aSAlexander Pyhalov #define BYTE_MASK 0xff 92*91e1e26aSAlexander Pyhalov #define BIT_MASK 0x01 93*91e1e26aSAlexander Pyhalov #define MSB_MASK 0x8000 94*91e1e26aSAlexander Pyhalov #define K_ILLEGAL 0xffff 95*91e1e26aSAlexander Pyhalov 96*91e1e26aSAlexander Pyhalov typedef unsigned short KCHAR; 97