1/* 2 * Copyright (C) 2008-2012 OMRON SOFTWARE Co., Ltd. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#ifndef _NJ_DIC_H_ 18#define _NJ_DIC_H_ 19 20#define NJ_DIC_TYPE_JIRITSU 0x00000000 21#define NJ_DIC_TYPE_FZK 0x00000001 22#define NJ_DIC_TYPE_TANKANJI 0x00000002 23#define NJ_DIC_TYPE_CUSTOM_COMPRESS 0x00000003 24#define NJ_DIC_TYPE_STDFORE 0x00000004 25#define NJ_DIC_TYPE_FORECONV 0x00000005 26#define NJ_DIC_TYPE_YOMINASHI 0x00010000 27#define NJ_DIC_TYPE_CUSTOM_INCOMPRESS 0x00020002 28#define NJ_DIC_TYPE_USER 0x80030000 29#define NJ_DIC_TYPE_RULE 0x000F0000 30 31#define NJ_HINSI_V2_F 0 32#define NJ_HINSI_SUUJI_B 14 33#define NJ_HINSI_BUNTOU_B 3 34#define NJ_HINSI_TANKANJI_F 4 35#define NJ_HINSI_TANKANJI_B 5 36#define NJ_HINSI_MEISI_F 6 37#define NJ_HINSI_MEISI_B 7 38#define NJ_HINSI_JINMEI_F 8 39#define NJ_HINSI_JINMEI_B 9 40#define NJ_HINSI_CHIMEI_F 10 41#define NJ_HINSI_CHIMEI_B 11 42#define NJ_HINSI_KIGOU_F 12 43#define NJ_HINSI_KIGOU_B 13 44#define NJ_HINSI_V1_F 15 45#define NJ_HINSI_V3_F 16 46#define NJ_RULE_TYPE_BTOF 0 47#define NJ_RULE_TYPE_FTOB 1 48 49#define NJD_SAME_INDEX_LIMIT 50 50 51#define NJ_INT16_READ(in) \ 52 (((((NJ_INT16)((in)[0])) << 8) & 0xff00U) + ((in)[1] & 0xffU)) 53 54#define NJ_INT32_READ(in) \ 55 (((((NJ_INT32)((in)[0])) << 24) & 0xff000000) | \ 56 ((((NJ_INT32)((in)[1])) << 16) & 0xff0000) | \ 57 ((((NJ_INT32)((in)[2])) << 8) & 0xff00) | \ 58 ((((NJ_INT32)((in)[3])) ) & 0xff)) 59 60#define NJ_INT32_WRITE(to, from)\ 61 {(to)[0]=(NJ_UINT8)(((from)>>24) & 0x000000ff);\ 62 (to)[1]=(NJ_UINT8)(((from)>>16) & 0x000000ff);\ 63 (to)[2]=(NJ_UINT8)(((from)>>8) & 0x000000ff);\ 64 (to)[3]=(NJ_UINT8)((from) & 0x000000ff);} 65 66#define NJ_INT16_WRITE(to, from)\ 67 {(to)[0]=(NJ_UINT8)(((from)>>8) & 0x00ff);\ 68 (to)[1]=(NJ_UINT8)((from) & 0x00ff);} 69 70#define NJ_GET_MAX_YLEN(h) ((NJ_INT16)(NJ_INT16_READ((h)+0x16)/sizeof(NJ_CHAR))) 71 72#define NJ_GET_MAX_KLEN(h) ((NJ_INT16)(NJ_INT16_READ((h)+0x1A)/sizeof(NJ_CHAR))) 73 74#define NJ_GET_DIC_TYPE(h) ((NJ_UINT32)(NJ_INT32_READ((h)+8))) 75 76#define F_HINSI_SET_CNT(h) ((NJ_UINT16)(NJ_INT16_READ((h)+0x1C))) 77#define B_HINSI_SET_CNT(h) ((NJ_UINT16)(NJ_INT16_READ((h)+0x1E))) 78 79 80#endif 81