/* * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _NJ_DIC_H_ #define _NJ_DIC_H_ #define NJ_DIC_TYPE_JIRITSU 0x00000000 #define NJ_DIC_TYPE_FZK 0x00000001 #define NJ_DIC_TYPE_TANKANJI 0x00000002 #define NJ_DIC_TYPE_CUSTOM_COMPRESS 0x00000003 #define NJ_DIC_TYPE_STDFORE 0x00000004 #define NJ_DIC_TYPE_FORECONV 0x00000005 #define NJ_DIC_TYPE_YOMINASHI 0x00010000 #define NJ_DIC_TYPE_CUSTOM_INCOMPRESS 0x00020002 #define NJ_DIC_TYPE_USER 0x80030000 #define NJ_DIC_TYPE_RULE 0x000F0000 #define NJ_HINSI_V2_F 0 #define NJ_HINSI_SUUJI_B 14 #define NJ_HINSI_BUNTOU_B 3 #define NJ_HINSI_TANKANJI_F 4 #define NJ_HINSI_TANKANJI_B 5 #define NJ_HINSI_MEISI_F 6 #define NJ_HINSI_MEISI_B 7 #define NJ_HINSI_JINMEI_F 8 #define NJ_HINSI_JINMEI_B 9 #define NJ_HINSI_CHIMEI_F 10 #define NJ_HINSI_CHIMEI_B 11 #define NJ_HINSI_KIGOU_F 12 #define NJ_HINSI_KIGOU_B 13 #define NJ_HINSI_V1_F 15 #define NJ_HINSI_V3_F 16 #define NJ_RULE_TYPE_BTOF 0 #define NJ_RULE_TYPE_FTOB 1 #define NJD_SAME_INDEX_LIMIT 50 #define NJ_INT16_READ(in) \ (((((NJ_INT16)((in)[0])) << 8) & 0xff00U) + ((in)[1] & 0xffU)) #define NJ_INT32_READ(in) \ (((((NJ_INT32)((in)[0])) << 24) & 0xff000000) | \ ((((NJ_INT32)((in)[1])) << 16) & 0xff0000) | \ ((((NJ_INT32)((in)[2])) << 8) & 0xff00) | \ ((((NJ_INT32)((in)[3])) ) & 0xff)) #define NJ_INT32_WRITE(to, from)\ {(to)[0]=(NJ_UINT8)(((from)>>24) & 0x000000ff);\ (to)[1]=(NJ_UINT8)(((from)>>16) & 0x000000ff);\ (to)[2]=(NJ_UINT8)(((from)>>8) & 0x000000ff);\ (to)[3]=(NJ_UINT8)((from) & 0x000000ff);} #define NJ_INT16_WRITE(to, from)\ {(to)[0]=(NJ_UINT8)(((from)>>8) & 0x00ff);\ (to)[1]=(NJ_UINT8)((from) & 0x00ff);} #define NJ_GET_MAX_YLEN(h) ((NJ_INT16)(NJ_INT16_READ((h)+0x16)/sizeof(NJ_CHAR))) #define NJ_GET_MAX_KLEN(h) ((NJ_INT16)(NJ_INT16_READ((h)+0x1A)/sizeof(NJ_CHAR))) #define NJ_GET_DIC_TYPE(h) ((NJ_UINT32)(NJ_INT32_READ((h)+8))) #define F_HINSI_SET_CNT(h) ((NJ_UINT16)(NJ_INT16_READ((h)+0x1C))) #define B_HINSI_SET_CNT(h) ((NJ_UINT16)(NJ_INT16_READ((h)+0x1E))) #endif