MTK 移植泰文输入法

1.移植zi输入法
1.1 在文件..\make\XXX_GPRS.mak中 讲输入方式改为MMI_ZI
XXX_LANGUAGE = EN_SM_THAI 
INPUT_METHOD =MMI_XI
1.2在MMI_feature.h 打开相应的ZI语言输入法的宏开关,
#if defined(CFG_MMI_LANG_THAI) && ((CFG_MMI_LANG_THAI == __ON__)||(CFG_MMI_LANG_THAI == __AUTO__))
#ifndef __MMI_LANG_THAI__
#define __MMI_LANG_THAI__
#endif
#endif
在MMI_featureswithXXXX.h中讲泰文语言宏开关打开
1.3添加zi代码
将zi目录增加到目录工程中
vendor\InputMethod
1.4增加zi的编译选项
make\zi
包含文件有zi.def zi.inc zi.lis zi.pth
1.5增加zi输入法的库文件
make\option.mak
ifeq ($(strip $(INPUT_METHOD)),MMI_ZI)
CUSTOM_COMMINC += vendor\InputMethod\ZI\project\$(strip $(INPUT_METHOD_BASE))\v7_official\inc
COMPOBJS += vendor\InputMethod\ZI\project\$(strip $(INPUT_METHOD_BASE))\v7_official\lib\zi8clib.a
CUS_REL_OBJ_LIST += vendor\InputMethod\ZI\project\$(strip $(INPUT_METHOD_BASE))\v7_official\lib\zi8clib.a
CUS_INPUTMETHOD_BASE = vendor\InputMethod\ZI\project\$(strip $(INPUT_METHOD_BASE))\v7_official
endif 2。移植捷通手写泰文输入法
2.1.在文件..\make\XXX_GPRS.mak中配置版本
涉及 XXX_LANGUAGE = EN_SM_THAI 
USE_JIETONG_HANDWRITING = TRUE //手写识别 打开这个宏的话,一定要把HAND_WRITING设为MMI_HANWANG _DEMO
HAND_WRITING =MMI_HANWANG _DEMO
打开所有的触摸屏支持
TOUCH_PANEL_SUPPORT = MT6301B
TOUCH_PANEL_SHORTCUT_SUPPORT = TRUE //TRUE for touch panel size need to be larger than LCD size
2.2 option.mak 增加相应的库
ifeq ($(strip $(HAND_WRITING)),MMI_HANWANG_DEMO)
COM_DEFS += __MMI_HANWANG__ __MMI_HANWANG_DEMO__
COMPLIST += hanwang
ifeq ($(strip $(USE_JIETONG_HANDWRITING)),TRUE)
COM_DEFS += __USE_JIETONG_HANDWRITING__ 
COMPOBJS += vendor\handwriting\hanwang\v1_official\lib\HZRecog.a
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_official\lib\HZRecog.a  else
COMPOBJS += vendor\handwriting\hanwang\v1_demo\lib\HWRE_MTL_OEM.a
COMPOBJS += vendor\handwriting\hanwang\v1_demo\lib\thaihw.a  COMPOBJS += vendor\handwriting\hanwang\v1_demo\lib\arabichw.a
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\HZRecog.a
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\hw.a
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\hw.lib
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\arabichw.a
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\arabichw.lib CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\HWRE_MTL_OEM.lib
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\HWRE_MTL_OEM.a
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\thaihw.a
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\thaihw.lib
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\hw.dll
CUS_REL_OBJ_LIST += vendor\handwriting\hanwang\v1_demo\lib\hws.lib
endif CUSTOM_COMMINC += vendor\handwriting\hanwang\v1_demo\inc  endif 2.3参照第三方提供的说明文档,讲文件增加到相应的文件位置 输入法的接口在hanwanginterface.c  mmi_ime_hand_writing_initialize(),增加捷通的方法就行了, #if defined(__USE_JIETONG_HANDWRITING__) 
  long lops;
FS_HANDLE fp;
switch (hw_type)
{
case IMM_HANDWRITING_TYPE_THAI: fp=FS_Open(L"C:\\jietong\\thai_jHWRDIC.DAT",FS_READ_ONLY);
break;
case IMM_HANDWRITING_TYPE_ARABIC:
fp=FS_Open(L"C:\\jietong\\Arabic_jHWRDic.dat",FS_READ_ONLY);
break;
//增加多国语言方法一样。 
default:
fp=FS_Open(L"C:\\jietong\\zh_jHWRDIC.DAT",FS_READ_ONLY);
//默认是中文字典
}  FS_Seek(fp,0,FS_FILE_END);  FS_GetFilePosition(fp,(UINT *)&lops);
hand_writing_data=(BYTE*)malloc(lops);
if(hand_writing_data==NULL)
{
return;}
FS_Seek(fp,0,FS_FILE_BEGIN);
FS_Read(fp,hand_writing_data,lops,NULL);
FS_Close(fp);
HZInitCharacterRecognition(hand_writing_data); #endif  剩下的就是自己编译调试了。

 

2010-2-2

于上海

posted on 2012-03-31 16:03  Jerry Zong  阅读(977)  评论(0编辑  收藏  举报

导航