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