1053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/* 259aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma * Copyright (C) 2008-2012 OMRON SOFTWARE Co., Ltd. 3053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 4053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * you may not use this file except in compliance with the License. 6053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * You may obtain a copy of the License at 7053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 8053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 10053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * See the License for the specific language governing permissions and 14053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * limitations under the License. 15053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 16053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 17053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#ifndef _NJ_DIC_H_ 18053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define _NJ_DIC_H_ 19053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 20053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_TYPE_JIRITSU 0x00000000 21053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_TYPE_FZK 0x00000001 22053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_TYPE_TANKANJI 0x00000002 23053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_TYPE_CUSTOM_COMPRESS 0x00000003 24053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_TYPE_STDFORE 0x00000004 25053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_TYPE_FORECONV 0x00000005 26053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_TYPE_YOMINASHI 0x00010000 27053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_TYPE_CUSTOM_INCOMPRESS 0x00020002 28053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_TYPE_USER 0x80030000 29053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_DIC_TYPE_RULE 0x000F0000 30053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 31053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_V2_F 0 32053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_SUUJI_B 14 33053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_BUNTOU_B 3 34053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_TANKANJI_F 4 35053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_TANKANJI_B 5 36053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_MEISI_F 6 37053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_MEISI_B 7 38053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_JINMEI_F 8 39053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_JINMEI_B 9 40053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_CHIMEI_F 10 41053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_CHIMEI_B 11 42053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_KIGOU_F 12 43053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_KIGOU_B 13 44053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_V1_F 15 45053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_HINSI_V3_F 16 46053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_RULE_TYPE_BTOF 0 47053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_RULE_TYPE_FTOB 1 48053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 49053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJD_SAME_INDEX_LIMIT 50 50053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 51053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_INT16_READ(in) \ 52053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project (((((NJ_INT16)((in)[0])) << 8) & 0xff00U) + ((in)[1] & 0xffU)) 53053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 54053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_INT32_READ(in) \ 55053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project (((((NJ_INT32)((in)[0])) << 24) & 0xff000000) | \ 56053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project ((((NJ_INT32)((in)[1])) << 16) & 0xff0000) | \ 57053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project ((((NJ_INT32)((in)[2])) << 8) & 0xff00) | \ 58053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project ((((NJ_INT32)((in)[3])) ) & 0xff)) 59053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 60053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_INT32_WRITE(to, from)\ 61053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project {(to)[0]=(NJ_UINT8)(((from)>>24) & 0x000000ff);\ 62053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project (to)[1]=(NJ_UINT8)(((from)>>16) & 0x000000ff);\ 63053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project (to)[2]=(NJ_UINT8)(((from)>>8) & 0x000000ff);\ 64053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project (to)[3]=(NJ_UINT8)((from) & 0x000000ff);} 65053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 66053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_INT16_WRITE(to, from)\ 67053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project {(to)[0]=(NJ_UINT8)(((from)>>8) & 0x00ff);\ 68053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project (to)[1]=(NJ_UINT8)((from) & 0x00ff);} 69053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 70053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_GET_MAX_YLEN(h) ((NJ_INT16)(NJ_INT16_READ((h)+0x16)/sizeof(NJ_CHAR))) 71053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 72053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_GET_MAX_KLEN(h) ((NJ_INT16)(NJ_INT16_READ((h)+0x1A)/sizeof(NJ_CHAR))) 73053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 74053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_GET_DIC_TYPE(h) ((NJ_UINT32)(NJ_INT32_READ((h)+8))) 75053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 76053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define F_HINSI_SET_CNT(h) ((NJ_UINT16)(NJ_INT16_READ((h)+0x1C))) 77053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define B_HINSI_SET_CNT(h) ((NJ_UINT16)(NJ_INT16_READ((h)+0x1E))) 78053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 79053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 80053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#endif 81