精华内容
下载资源
问答
  • 多国语言简称

    2012-08-07 22:32:45
    在做多国语言输入法需要对应的缩写,这里集合了常见的语言缩写
  • 多国语言字库原理

    千次阅读 2011-05-05 20:02:00
    多国语言字库原理 多国语言字库原理 一、 移植多国语言 移植多国语言主要牵涉到对mmi_features.h(整个工程的宏控定义文件)、fontres.c(字体资源文件)的修改,并添加相应的字库文件。...

    多国语言字库原理

    多国言字原理

    一、        移植多国
    移植多国言主要牵涉mmi_features.h(整个工程的宏控定文件)fontres.c(字体源文件)的修改,并添加相的字文件。
    1
           言宏控的修改
    mmi_features.h文件中,用于控制各种语言的开关似于__MMI_LANG_ENGLISH__的宏,打开该宏,那工程就支持该种语 言。侯,需要同该语言相的一些宏,比如阿拉伯编码模式、汉语编码模式。(当然编码模式一般都是置好了的,但也有些例外,自己 看着
    2
           文件的添加
    mtk中,字主要是两个文件,一个是*.h文件,有一个是对应fontres.c文件。

    两个方式:1)直接去网上找对应语言的字文件。2)自己利用mtk公司所提供的MCT 6.0工具来制作字。不mct6.0制作字需要.bdf的点源文件,而网上能找的基本上都是.ttf的矢量字文件,就存在一个需要将 ttf文件转换bdf文件的第三方件,并且转换的好坏将直接影响到最mct6.0生成的字文件(目前我用的是otf2bdf3,免的,因此 效果不是很好)。
           
    的使用。首先我们查看下mtk版本中自的英文字L_1_Pluto_Large.h是存放在什位置的,然后将我*.h也放入相同的文件 下;接下来我需要将我fontres.c文件与mtk中原有的fontres.c文件合并一个fontres.c文件:合并的方法就参考原有的 fontres.c文件中英文字的代分布方式,将我fontres.c文件里面的代利用言宏控拷入mtk原有的fontres.c文件中。
           3
    、修改默认显
           
    个只需要修改C//NEOTEL26_06B_W07.20.MP.V21_MMI//custom//app//NEOTEL26_
    06B_BB
    个目下面的nvram_cust_pack.c文件(不同的版本,文件所位置不一里是6225的版本)。文件里面有如下一
       0x00,         /* NVRAM_SETTING_LANG,//17 */
    0x00指的就是言界面某种语言所的位置。如果我想修改默认显为简体中文,而言界面中文在第6的位置,那0x000x05即可。

    二、        移植zi入法
    1
    、打zi开关
           1
    )文件:..//make//ZTENC26_07B_GPRS.mak
    修改入法MMI_ZI;
             INPUT_METHOD = MMI_ZI                # Input methods: NONE, MMI_T9, or MMI_ZI

           2
    )在mmi_features.h里面打zi入法宏开关,形如__MMI_ZI_PRC_ENG
    LISH__


    2、添加zi
     ..//zi  
     Zi
    添加到工程根目.
    3
    、添加zi编译选项
     
    工程文件要最makefile编译成目文件,个模编译路径都写入编译中。
     
    ..//make//zi  包含文件:
    zi.def
    zi.inc
    zi.lis
    zi.pth

    另外几个模用到了zi的文件,因此必zi文件目:zi//include 包含到下面几个文件中,否则编译时报错不能打xxx.h文件。(个是07b版本中修改遇到编译错误后再加上去的,其他版本也可以似地修改)
    make//gdi_arm//gdi_arm.inc
    make//mmiresource//mmiresource.inc
    make//vendorapp//vendorapp.inc
    make//plutommi//conn_app.inc
    make//plutommi//inet_app.inc
    make//plutommi//media_app.inc
    make//plutommi//mmi_framework.inc
    4
    、添加zi入法文件
     
    make//option.mak文件里面,MMI_ZI,找到似如下代
     ifeq ($(strip $(INPUT_METHOD)),MMI_ZI)
       CUSTOM_COMMINC  +=      
    vendor//InputMethod//ZI//project//$(strip $(INPUT_METHOD_BASE))//v6_official//inc
       COMPOBJS          +=
    vendor//InputMethod//ZI//project//$(strip $(INPUT_METHOD_BASE))//v6_official//lib//zi8clib.a
    CUS_REL_OBJ_LIST          +=
    vendor//InputMethod//ZI//project//$(strip $(INPUT_METHOD_BASE))//v6_official//lib//zi8clib.a
       CUS_INPUTMETHOD_BASE         =
    vendor//InputMethod//ZI//project//$(strip $(INPUT_METHOD_BASE))//v6_official
     endif

     
    从上面的脚本中可以看到,zi入法的文件的存放位置:
     C://ZTENC26_07B_V4//vendor//InputMethod//ZI//project//plutommi//v6_official//lib
     
    文件存放位置:
     C://ZTENC26_07B_V4//vendor//InputMethod//ZI//project//plutommi//v6_official//inc

     
    因此我们开始添加zi入法的文件和文件到上面的目,如果目不存在,自己建。其中,文件放在inc文件下,.lib.a文件放在lib文件下。

    (当然,版本不同,文件和文件存放的路径也不同,到参照上面的步骤就是了,上面的展示是依据07b的。)

    三、        移植手写hanwang入法
    1
    、打hanwang开关
     
    文件:..//make//ZTENC26_07B_GPRS.mak
    修改手写入法MMI_HANWANG;
     HAND_WRITING    = MMI_HANWANG # MMI_HANWANG,  MMI_PENPOWER
    2
    、添加hanwang
     ..//hanwang  
     hanwang
    添加到工程根目.
    3
    、添加hanwang编译选项
     
    工程文件要最makefile编译成目文件,个模编译路径都写入编译中。
     
    ..//make//hanwang  包含文件:
    hanwang.def
    hanwang.inc
    hanwang.lis
    hanwang.pth

    4
    、添加hanwang入法文件
     
    make//option.mak文件里面,MMI_HANWANG,找到似如下代
     ifeq ($(strip $(HAND_WRITING)),MMI_HANWANG)
       COM_DEFS    += __MMI_HANWANG__
       COMPLIST    += hanwang
       CUS_REL_SRC_COMP += hanwang
       COMPOBJS    += vendor//handwriting//hanwang//v1_official//lib//hw.a
       CUS_REL_OBJ_LIST    += vendor//handwriting//hanwang//v1_official//lib//hw.a
       CUS_REL_OBJ_LIST    += vendor//handwriting//hanwang//v1_official//lib//hw.lib
       CUS_REL_OBJ_LIST    += vendor//handwriting//hanwang//v1_official//lib//hw.dll
       CUS_REL_OBJ_LIST    += vendor//handwriting//hanwang//v1_official//lib//hws.lib
       CUSTOM_COMMINC  +=        vendor//handwriting//hanwang//v1_official//inc
     endif
     
    从上面的脚本中可以看到,hanwang入法的文件的存放位置:
     C://ZTENC26_07B_V4//vendor// handwriting//hanwang//v1_official//lib
     
    文件存放位置:
     C://ZTENC26_07B_V4//vendor// handwriting//hanwang//v1_official//inc

     
    因此我们开始添加hanwang入法的文件和文件到上面的目,如果目不存在,自己建。其中,文件放在inc文件下,.lib.a文件放在lib文件下。

    (当然,版本不同,文件和文件存放的路径也不同,到参照上面的步骤就是了,上面的展示是依据07b的。)

    四、打MTK带输入法支持
    mmi_features.h里面打形如__MMI_MULTITAP_THAI__的宏开关每种语言都对应着一个宏开关,根据需要打

    五、添加不同入法的虚拟键盘
    1
    、添加虚拟键盘
           
    这种文件比特殊,目前我没有去研究自己怎制作这种文件,我用的字文件来源主要是07b上面的虚拟键盘(因07b上面虚拟键盘很全)。同,我也试过直接用我自己生成的普通字果虚拟键盘示出方框,明字不支持。
           
    按照07b上的代模式,直接把对应于虚拟键盘的所有代贝过来就是。
    2
    、添加虚拟键盘布局
           
    个主要是要去修改Wgui_virtual_keyboard.c文件,里面有写好的键盘布局模式,可以参考其代自己写其他言的虚拟键盘 局模式。另外我也可以比07b的代,将对应的虚拟键盘布局代贝过来即可。注意,加漏了,个文件里面有好几都需要添加代的,自己搜言宏 控来加代就是了。
    3
    、虚拟键盘示与
           
    拟键盘示与藏主要体入法的切方面,因此需要修改代的地方在个叫EditorPen.c里面。主要修改的函数是 mmi_pen_editor_vk_show mmi_pen_editor_set_virtual_keyboard_by_input_mode。大家按照函数里面已写好的代模式很容易就加 上其他言虚拟键盘的支持代的。

    六、入界面底部条中间输入法提示符的
           
    个主要用的是EditorPen.c文件中的mmi_pen_editor_set_CSK_content函数来行文字、图标置以及制的。如果入界面底部条中入法提示符的示出现问题,大家调试该函数就是了。

    七、入界面左上角入法提示符的
           
    个主要用的是wgui_categories_inputs.c文件中的wgui_get_inputbox_information_ic
    on
    函数和wgui_redraw_input_information_bar函数,具体的步骤哪个地方出问题了,就大家用模器打断点

    展开全文
  • 移植多国语言

    2009-10-09 13:18:00
    一、 移植多国语言移植多国语言主要牵涉到对mmi_features.h(整个工程的宏控定义文件)、fontres.c(字体资源文件)的修改,并添加相应的字库文件。1、 语言宏控的修改在mmi_features.h文件中,用于控制各种语言的开关...

    一、        移植多国语言
    移植多国语言主要牵涉到对mmi_features.h(整个工程的宏控定义文件)、fontres.c(字体资源文件)的修改,并添加相应的字库文件。
    1、        语言宏控的修改
    在 mmi_features.h文件中,用于控制各种语言的开关是类似于__MMI_LANG_ENGLISH__的宏,打开该宏,那么工程就支持该种语 言。有时侯,需要同时打开与该语言相关的一些宏,比如阿拉伯语的编码模式、汉语的编码模式。(当然这个编码模式一般都是设置好了的,但也有些许例外,自己 看着办)
    2、        字库文件的添加
    在mtk中,字库主要是两个文件,一个是*.h文件,还有一个是对应的fontres.c文件。
    ①字库的获取
    有 两个方式:1)直接去网上找对应语言的字库文件。2)自己利用mtk公司所提供的MCT 6.0工具来制作字库。不过mct6.0制作字库需要.bdf的点阵字库源文件,而网上能找的基本上都是.ttf的矢量字库文件,这就存在一个需要将 ttf文件转换成bdf文件的第三方软件,并且转换的好坏将直接影响到最终用mct6.0生成的字库文件(目前我们用的是otf2bdf3,免费的,因此 效果不是很好)。
            ②字库的使用。首先我们查看下mtk版本中自带的英文字库L_1_Pluto_Large.h是存放在什么位置的,然后将我们的*.h也放入相同的文件夹 下;接下来我们需要将我们的fontres.c文件与mtk中原有的fontres.c文件合并为一个fontres.c文件:合并的方法就参考原有的 fontres.c文件中英文字库的代码分布方式,将我们的fontres.c文件里面的代码利用语言宏控拷入mtk原有的fontres.c文件中。
            3、修改默认显示语言
            这个只需要修改C://NEOTEL26_06B_W07.20.MP.V21_MMI//custom//app//NEOTEL26 _
    06B_BB这个目录下面的nvram_cust_pack.c文件(不同的版本,该文件所处位置不一样,这里是6225的版本)。在该文件里面有如下一处:
        0x00,         /* NVRAM_SETTING_LANG,//17 */
    这个0x00值指的就是设置语言界面某种语言所处的位置。如果我们想修改默认显示语言为简体中文,而设置语言界面中文在第6的位置,那么我们将0x00这个值改为0x05即可。

    二、        移植zi输入法
    1、打开zi开关
            1)文件:..//make//ZTENC26_07B_GPRS.mak
    修改输入法为MMI_ZI;
              INPUT_METHOD = MMI_ZI                # Input methods: NONE, MMI_T9, or MMI_ZI

            2)在mmi_features.h里面打开相应的zi语言输入法宏开关,形如__MMI_ZI_PRC_ENG
    LISH__。

    2、添加zi代码
      ..//zi  
      Zi目录添加到工程根目录.
    3、添加zi的编译选项
      工程文件要最终通过makefile编译成目标文件,每个模块的编译路径都写入该模块的编译目录中。
      ..//make//zi  包含文件:
    zi.def
    zi.inc
    zi.lis
    zi.pth

    另外几个模块用到了zi的文件,因此必须把zi的头文件目录:zi//include 包含到下面几个文件中,否则编译时候报错“不能打开xxx.h文件”。(这个是07b版本中修改遇到编译错误后再加上去的,其他版本也可以类似地修改)
    make//gdi_arm//gdi_arm.inc
    make//mmiresource//mmiresource.inc
    make//vendorapp//vendorapp.inc
    make//plutommi//conn_app.inc
    make//plutommi//inet_app.inc
    make//plutommi//media_app.inc
    make//plutommi//mmi_framework.inc
    4、添加zi输入法库文件
      在make//option.mak文件里面,查找MMI_ZI,找到类似如下代码:
      ifeq ($(strip $(INPUT_METHOD)),MMI_ZI)
        CUSTOM_COMMINC  +=       
    vendor//InputMethod//ZI//project//$(strip $(INPUT_METHOD_BASE))//v6_official//inc
        COMPOBJS          +=
    vendor//InputMethod//ZI//project//$(strip $(INPUT_METHOD_BASE))//v6_official//lib//zi8clib.a
    CUS_REL_OBJ_LIST          +=
    vendor//InputMethod//ZI//project//$(strip $(INPUT_METHOD_BASE))//v6_official//lib//zi8clib.a
        CUS_INPUTMETHOD_BASE         =
    vendor//InputMethod//ZI//project//$(strip $(INPUT_METHOD_BASE))//v6_official
      endif

      从上面的脚本中可以看到,zi输入法的库文件的存放位置:
      C://ZTENC26_07B_V4//vendor//InputMethod//ZI//project//plutommi//v6_official//lib
      头文件存放位置:
      C://ZTENC26_07B_V4//vendor//InputMethod//ZI//project//plutommi//v6_official//inc
     
      因此我们开始添加zi输入法的库文件和头文件到上面的目录,如果目录不存在,则自己创建。其中,头文件放在inc文件夹下,.lib和.a文件放在lib文件夹下。

    (当然,版本不同,库文件和头文件存放的路径也许不同,到时参照上面的步骤就是了,上面的展示是依据07b来说的。)

    三、        移植手写hanwang输入法
    1、打开hanwang开关
      文件:..//make//ZTENC26_07B_GPRS.mak
    修改手写输入法为MMI_HANWANG;
      HAND_WRITING    = MMI_HANWANG # MMI_HANWANG,  MMI_PENPOWER
    2、添加hanwang代码
      ..//hanwang  
      hanwang目录添加到工程根目录.
    3、添加hanwang的编译选项
      工程文件要最终通过makefile编译成目标文件,每个模块的编译路径都写入该模块的编译目录中。
      ..//make//hanwang  包含文件:
    hanwang.def
    hanwang.inc
    hanwang.lis
    hanwang.pth

    4、添加hanwang输入法库文件
      在make//option.mak文件里面,查找MMI_HANWANG,找到类似如下代码:
      ifeq ($(strip $(HAND_WRITING)),MMI_HANWANG)
        COM_DEFS    += __MMI_HANWANG__
        COMPLIST    += hanwang
        CUS_REL_SRC_COMP += hanwang
        COMPOBJS    += vendor//handwriting//hanwang//v1_official//lib//hw.a
        CUS_REL_OBJ_LIST    += vendor//handwriting//hanwang//v1_official//lib//hw.a
        CUS_REL_OBJ_LIST    += vendor//handwriting//hanwang//v1_official//lib//hw.lib
        CUS_REL_OBJ_LIST    += vendor//handwriting//hanwang//v1_official//lib//hw.dll
        CUS_REL_OBJ_LIST    += vendor//handwriting//hanwang//v1_official//lib//hws.lib
        CUSTOM_COMMINC  +=        vendor//handwriting//hanwang//v1_official//inc
      endif
      从上面的脚本中可以看到,hanwang输入法的库文件的存放位置:
      C://ZTENC26_07B_V4//vendor// handwriting//hanwang//v1_official//lib
      头文件存放位置:
      C://ZTENC26_07B_V4//vendor// handwriting//hanwang//v1_official//inc
     
      因此我们开始添加hanwang输入法的库文件和头文件到上面的目录,如果目录不存在,则自己创建。其中,头文件放在inc文件夹下,.lib和.a文件放在lib文件夹下。

    (当然,版本不同,库文件和头文件存放的路径也许不同,到时参照上面的步骤就是了,上面的展示是依据07b来说的。)

    四、打开MTK自带输入法支持
    在mmi_features.h里面打开形如__MMI_MULTITAP_THAI__的宏开关,每种语言都对应着一个宏开关,根据需要打开。

    五、添加不同语言输入法的虚拟键盘
    1、添加虚拟键盘字库
            这种字库文件比较特殊,目前我们没有去研究自己怎么制作这种字库文件,我们用的字库文件来源主要是07b上面的虚拟键盘字库(因为07b上面虚拟键盘字库很全)。同时,我也试过直接用我们自己生成的普通字库,结果虚拟键盘上显示出方框,说明字库不支持。
            按照07b上的代码模式,直接把对应的关于虚拟键盘字库的所有代码拷贝过来就是。
    2、添加虚拟键盘布局
            这个主要是要去修改Wgui_virtual_keyboard.c文件,这里面有写好的标准键盘布局模式,可以参考其代码自己写其他语言的虚拟键盘布局 模式。另外我们也可以比较07b的代码,将对应的虚拟键盘布局代码拷贝过来即可。注意,别加漏了,这个文件里面有好几处都需要添加代码的,自己搜语言宏控 来加代码就是了。
    3、虚拟键盘的显示与隐藏
            虚拟键盘的显示与隐藏主要体现在输入法的切换方面,因此需要修改代码的地方在这个叫EditorPen.c里面。主要修改的函数是 mmi_pen_editor_vk_show和 mmi_pen_editor_set_virtual_keyboard_by_input_mode。大家按照函数里面已经写好的代码模式很容易就加 上其他语言虚拟键盘的支持代码的。

    六、输入界面底部条中间输入法提示符的显示
            这个主要调用的是EditorPen.c文件中的mmi_pen_editor_set_CSK_content函数来进行文字、图标的设置以及绘制的。如果输入界面底部条中间的输入法提示符的显示出现问题,大家调试该函数就是了。

    七、输入界面左上角输入法提示符的显示
            这个主要调用的是wgui_categories_inputs.c文件中的wgui_get_inputbox_information_ic
    on函数和wgui_redraw_input_information_bar函数,具体的绘制步骤哪个地方出问题了,就请大家用模拟器打断点调吧。

     

     

    http://www.52rd.com/Blog/Detail_RD.Blog_lovebean_18957.html

     

     

     

     

     

    展开全文
  • 一、 移植多国语言 移植多国语言主要牵涉到对mmi_features.h(整个工程的宏控定义文件)、fontres.c(字体资源文件)的修改,并添加相应的字库文件。 1、 语言宏控的修改 在mmi_features.h文件中,用于控制各种语言...
     
    

    一、        移植多国语言

    移植多国语言主要牵涉到对mmi_features.h(整个工程的宏控定义文件)、fontres.c(字体资源文件)的修改,并添加相应的字库文件。

    1、        语言宏控的修改

    在mmi_features.h文件中,用于控制各种语言的开关是类似于__MMI_LANG_ENGLISH__的宏,打开该宏,那么工程就支持该种语言。有时侯,需要同时打开与该语言相关的一些宏,比如阿拉伯语的编码模式、汉语的编码模式。(当然这个编码模式一般都是设置好了的,但也有些许例外,自己看着办)

    2、        字库文件的添加

    在mtk中,字库主要是两个文件,一个是*.h文件,还有一个是对应的fontres.c文件。

    ①字库的获取

    有两个方式:1)直接去网上找对应语言的字库文件。2)自己利用mtk公司所提供的MCT 6.0工具来制作字库。不过mct6.0制作字库需要.bdf的点阵字库源文件,而网上能找的基本上都是.ttf的矢量字库文件,这就存在一个需要将ttf文件转换成bdf文件的第三方软件,并且转换的好坏将直接影响到最终用mct6.0生成的字库文件(目前我们用的是otf2bdf3,免费的,因此效果不是很好)。

            ②字库的使用。首先我们查看下mtk版本中自带的英文字库L_1_Pluto_Large.h是存放在什么位置的,然后将我们的*.h也放入相同的文件夹下;接下来我们需要将我们的fontres.c文件与mtk中原有的fontres.c文件合并为一个fontres.c文件:合并的方法就参考原有的fontres.c文件中英文字库的代码分布方式,将我们的fontres.c文件里面的代码利用语言宏控拷入mtk原有的fontres.c文件中。

            3、修改默认显示语言

            这个只需要修改C:\\NEOTEL26_06B_W07.20.MP.V21_MMI\\custom\\app\\NEOTEL26_

    06B_BB这个目录下面的nvram_cust_pack.c文件(不同的版本,该文件所处位置不一样,这里是6225的版本)。在该文件里面有如下一处:

        0x00,         /* NVRAM_SETTING_LANG,//17 */

    这个0x00值指的就是设置语言界面某种语言所处的位置。如果我们想修改默认显示语言为简体中文,而设置语言界面中文在第6的位置,那么我们将0x00这个值改为0x05即可。

    二、        移植zi输入法

    1、打开zi开关

            1)文件:..\\make\\ZTENC26_07B_GPRS.mak

    修改输入法为MMI_ZI;

              INPUT_METHOD = MMI_ZI                # Input methods: NONE, MMI_T9, or MMI_ZI

            2)在mmi_features.h里面打开相应的zi语言输入法宏开关,形如__MMI_ZI_PRC_ENG

    LISH__。

    2、添加zi代码

      ..\\zi  

      Zi目录添加到工程根目录.

    3、添加zi的编译选项

      工程文件要最终通过makefile编译成目标文件,每个模块的编译路径都写入该模块的编译目录中。

      ..\\make\\zi  包含文件:

    zi.def

    zi.inc

    zi.lis

    zi.pth

    另外几个模块用到了zi的文件,因此必须把zi的头文件目录:zi\\include 包含到下面几个文件中,否则编译时候报错“不能打开xxx.h文件”。(这个是07b版本中修改遇到编译错误后再加上去的,其他版本也可以类似地修改)

    make\\gdi_arm\\gdi_arm.inc

    make\\mmiresource\\mmiresource.inc

    make\\vendorapp\\vendorapp.inc

    make\\plutommi\\conn_app.inc

    make\\plutommi\\inet_app.inc

    make\\plutommi\\media_app.inc

    make\\plutommi\\mmi_framework.inc

    4、添加zi输入法库文件

      在make\\option.mak文件里面,查找MMI_ZI,找到类似如下代码:

      ifeq ($(strip $(INPUT_METHOD)),MMI_ZI)

        CUSTOM_COMMINC  +=       

    vendor\\InputMethod\\ZI\\project\\$(strip $(INPUT_METHOD_BASE))\\v6_official\\inc

        COMPOBJS          +=

    vendor\\InputMethod\\ZI\\project\\$(strip $(INPUT_METHOD_BASE))\\v6_official\\lib\\zi8clib.a

    CUS_REL_OBJ_LIST          +=

    vendor\\InputMethod\\ZI\\project\\$(strip $(INPUT_METHOD_BASE))\\v6_official\\lib\\zi8clib.a

        CUS_INPUTMETHOD_BASE         =

    vendor\\InputMethod\\ZI\\project\\$(strip $(INPUT_METHOD_BASE))\\v6_official

      endif

      从上面的脚本中可以看到,zi输入法的库文件的存放位置:

      C:\\ZTENC26_07B_V4\\vendor\\InputMethod\\ZI\\project\\plutommi\\v6_official\\lib

      头文件存放位置:

      C:\\ZTENC26_07B_V4\\vendor\\InputMethod\\ZI\\project\\plutommi\\v6_official\\inc

     

      因此我们开始添加zi输入法的库文件和头文件到上面的目录,如果目录不存在,则自己创建。其中,头文件放在inc文件夹下,.lib和.a文件放在lib文件夹下。

    (当然,版本不同,库文件和头文件存放的路径也许不同,到时参照上面的步骤就是了,上面的展示是依据07b来说的。)

    三、        移植手写hanwang输入法

    1、打开hanwang开关

      文件:..\\make\\ZTENC26_07B_GPRS.mak

    修改手写输入法为MMI_HANWANG;

      HAND_WRITING    = MMI_HANWANG # MMI_HANWANG,  MMI_PENPOWER

    2、添加hanwang代码

      ..\\hanwang  

      hanwang目录添加到工程根目录.

    3、添加hanwang的编译选项

      工程文件要最终通过makefile编译成目标文件,每个模块的编译路径都写入该模块的编译目录中。

      ..\\make\\hanwang  包含文件:

    hanwang.def

    hanwang.inc

    hanwang.lis

    hanwang.pth

    4、添加hanwang输入法库文件

      在make\\option.mak文件里面,查找MMI_HANWANG,找到类似如下代码:

      ifeq ($(strip $(HAND_WRITING)),MMI_HANWANG)

        COM_DEFS    += __MMI_HANWANG__

        COMPLIST    += hanwang

        CUS_REL_SRC_COMP += hanwang

        COMPOBJS    += vendor\\handwriting\\hanwang\\v1_official\\lib\\hw.a

        CUS_REL_OBJ_LIST    += vendor\\handwriting\\hanwang\\v1_official\\lib\\hw.a

        CUS_REL_OBJ_LIST    += vendor\\handwriting\\hanwang\\v1_official\\lib\\hw.lib

        CUS_REL_OBJ_LIST    += vendor\\handwriting\\hanwang\\v1_official\\lib\\hw.dll

        CUS_REL_OBJ_LIST    += vendor\\handwriting\\hanwang\\v1_official\\lib\\hws.lib

        CUSTOM_COMMINC  +=        vendor\\handwriting\\hanwang\\v1_official\\inc

      endif

      从上面的脚本中可以看到,hanwang输入法的库文件的存放位置:

      C:\\ZTENC26_07B_V4\\vendor\\ handwriting\\hanwang\\v1_official\\lib

      头文件存放位置:

      C:\\ZTENC26_07B_V4\\vendor\\ handwriting\\hanwang\\v1_official\\inc

     

      因此我们开始添加hanwang输入法的库文件和头文件到上面的目录,如果目录不存在,则自己创建。其中,头文件放在inc文件夹下,.lib和.a文件放在lib文件夹下。

    (当然,版本不同,库文件和头文件存放的路径也许不同,到时参照上面的步骤就是了,上面的展示是依据07b来说的。)

    四、打开MTK自带输入法支持

    在mmi_features.h里面打开形如__MMI_MULTITAP_THAI__的宏开关,每种语言都对应着一个宏开关,根据需要打开。

    五、添加不同语言输入法的虚拟键盘

    1、添加虚拟键盘字库

            这种字库文件比较特殊,目前我们没有去研究自己怎么制作这种字库文件,我们用的字库文件来源主要是07b上面的虚拟键盘字库(因为07b上面虚拟键盘字库很全)。同时,我也试过直接用我们自己生成的普通字库,结果虚拟键盘上显示出方框,说明字库不支持。

            按照07b上的代码模式,直接把对应的关于虚拟键盘字库的所有代码拷贝过来就是。

    2、添加虚拟键盘布局

            这个主要是要去修改Wgui_virtual_keyboard.c文件,这里面有写好的标准键盘布局模式,可以参考其代码自己写其他语言的虚拟键盘布局模式。另外我们也可以比较07b的代码,将对应的虚拟键盘布局代码拷贝过来即可。注意,别加漏了,这个文件里面有好几处都需要添加代码的,自己搜语言宏控来加代码就是了。

    3、虚拟键盘的显示与隐藏

            虚拟键盘的显示与隐藏主要体现在输入法的切换方面,因此需要修改代码的地方在这个叫EditorPen.c里面。主要修改的函数是mmi_pen_editor_vk_show和mmi_pen_editor_set_virtual_keyboard_by_input_mode。大家按照函数里面已经写好的代码模式很容易就加上其他语言虚拟键盘的支持代码的。

    六、输入界面底部条中间输入法提示符的显示

            这个主要调用的是EditorPen.c文件中的mmi_pen_editor_set_CSK_content函数来进行文字、图标的设置以及绘制的。如果输入界面底部条中间的输入法提示符的显示出现问题,大家调试该函数就是了。

    七、输入界面左上角输入法提示符的显示

            这个主要调用的是wgui_categories_inputs.c文件中的wgui_get_inputbox_information_ic

    on函数和wgui_redraw_input_information_bar函数,具体的绘制步骤哪个地方出问题了,就请大家用模拟器打断点调吧。

    展开全文
  • 使用字符串面板编写多国语言文字的工作流程 「字符串」面板可让您建立与更新多国语言内容。您可以指定合并多国语言的文字字段内容,并让 Flash 根据执行 Flash Player 计算机所用的语言,自动决定显示的内容。 下列...
    
    

    可以设定 FLA档,视播放 Flash内容的操作系统的语言而定,以不同语言显示文字。

    使用字符串面板编写多国语言文字的工作流程

    「字符串」面板可让您建立与更新多国语言内容。您可以指定合并多国语言的文字字段内容,并让 Flash根据执行 Flash Player计算机所用的语言,自动决定显示的内容。

    下列步骤说明了一般的工作流程:

    1                    1.以一种语言编写 FLA文件。

    2                    2.          在「字符串」面板的「设定」对话框中,选取您想要并入的语言,并选取其中一项做为默认语言。

     

    任何您想要以另一种语言来输入的文字,都必须放在动态或输入文字字段中。

    「字符串」面板中就会加入该语言栏。当您储存、测试或发布应用程序时,就会针对每一种语言建立一个包含 XML档的文件夹。

    1                    3.在「字符串」面板中,为每一个含有 ID的文字字符串编码。

    2                    4.          发布应用程序

     

    针对您所选取的每种语言都会建立一个文件夹,每种语言的文件夹中就是用于该语言的 XML文件。

    5.将发布的 FLA檔和 XML文件夹以及档案传送给译者。

    您可以使用自己的语言来编写,并让译者进行翻译。译者可以直接在 XML檔或 FLA文件中使用翻译软件。

    6.当您从译者那里收到翻译之后,请将翻译后的 XML檔汇入 FLA檔。

    选取并移除翻译的语言

    「舞台」上最多可以显示 100种不同的语言,并放在「字符串」面板中以供翻译。每种选取的语言在「字符串」面板都会有一个字段。若要用选取的任何语言在「舞台」上显示文字,请变更「舞台」语言。当您发布或测试档案时,会显示所选的语言。

    在选取语言时,您可以使用弹出式选单中提供的任何语言,以及其它任何支持 Unicode的语言。

    更多帮助主题

    348页「发布概观」

    选取语言

    1选取「窗口 >其他面板 >字符串」,然后单击「设定」。2执行下列步骤之一以新增语言:

                        •             在「语言」方块中,反白标示以选取某个语言,然后单击「增加」。

                        如果该语言没有出现在「语言」方块中,请在「语言」方块下方的空白字段中,输入格式为 xx 的语言代码 (该语言代码是由 ISO 639-1所订定)。单击「新增」。

     

    3  重复先前步骤,直到已新增所有想要的语言为止。

    4从「默认运行时间语言」选单中,选取默认语言。这个语言会在不含某个您选取之作用中语言的系统上显示。5如果想在运行时间从不同的 URL为语言加载 XML文件,请在 URL文本框中输入该 URL后单击「确定」。

    在「字符串」面板中会显示每种选取语言的语言栏。语言栏会依照字母顺序出现。

    6储存 FLA檔。储存 FLA档时,会将所选取之每种语言的文件夹建立在 SWF发布路径所指定的相同文件夹内。如果没有选取任何 SWF的发布路径,它就会建立在 FLA档所在的文件夹内。每一个语言文件中建立的 XML档都会用于加载已翻译的文字。

    移除语言

    1选取「窗口 >其他面板 >字符串」,然后单击「设定」。2在「作用中的语言」字段中,反白标示某一语言并单击「移除」。3重复步骤 3,直到已移除所有想要移除的语言为止。4移除语言完成之后,单击「确定」。

    在「字符串」面板中就不会再显示已移除语言的语言栏。

    备注:当您从「字符串」面板中移除某个语言时,并不会将该语言的 XML文件从本机文件系统中删除。这种作法可以让您利用之前的 XML文件,将该语言新增回「字符串」面板,以避免无心的删除动作。若要完全移除该语言,您必须删除或取代该语言的XML文件。

    在字符串面板中新增字符串

    您可以使用下列方式将文字字符串指定到「文字」面板:

                        将字符串 ID 指定到动态或输入文字字段

                        新增字符串 ID 至字符串面板而不指定到文字字段

                        将现有的字符串 ID 指定到现有的动态或输入文字字段

     

    更多帮助主题

    225页「使用 Text Layout Framework (TLF)文字」

    将字符串 ID指定到文字字段

    1选取「窗口 > 其它面板 >字符串」。

    2  选取「文字」工具。在舞台上,建立输入或动态文字字段。

    3当选取文字字段时,在「字符串」面板的 ID 字段中输入唯一的 ID

    4   单击「设定」按钮,并从「设定」对话框的列表中选取一种或多种语言。您所选取的语言应该包括您想要使用的默认语言,以及您打算用来发布工作的任何其它语言。

    5  单击「套用」。

    备注:如果在「舞台」上选取静态文本框,则「字符串」面板上的「舞台」文字选取部分会显示「静态文字没有相关的 ID」讯息。如果选取了非文字项目或多个项目,就会显示「目前的选取范围没有相关的 ID」讯息。

    新增字符串 ID至字符串面板而不指定到文字字段

    1选取「窗口 >其它面板 >字符串」。

    2   单击「设定」按钮,并从「设定」对话框的列表中选取一种或多种语言。您所选取的语言应该包括您想要使用的默认语言,以及您打算用来发布工作的任何其它语言。

    3在「字符串」面板中输入新的字符串 ID以及新的字符串,然后单击「套用」。

    将现有的 ID指定到文字字段

    1  选取「文字」工具。在舞台上,建立输入或动态文字字段。

    2在「字符串」面板上的 ID区域中,输入现有 ID的名称,然后单击「套用」。

    备注:您可以按 Shift+Enter,将 ID 套用至文字字段;或者,如果焦点在 ID字段上的话,请直接按Enter 即可。

    在字符串面板中编辑字符串

    当您在「字符串」面板中输入文字字符串之后,请使用下列其中一种方法编辑这些文字字符串:

                        •             直接在「字符串」面板的单元格中进行编辑。

                        •             在以选取做为「舞台」语言之语言所显示的「舞台」上,使用如寻找、取代和拼字检查这类功能进行编辑。使用这些功能变更的文字,也会在「舞台」上以及「字符串」面板中变更。

                        直接编辑 XML 檔。

     

    更多帮助主题

    256页「在字符串面板或 XML文件中翻译文字」第49页「寻找和取代」第240页「拼字检查」


    变更舞台上显示的语言

    1选取「窗口 >其它面板 >字符串」。2在「舞台语言」选单中,选取「舞台」语言要使用的语言。该语言必须是已新增的可用语言。

    变更舞台语言之后,您在舞台上新输入的任何文字都会以该语言显示。如果您先前已经在「字符串」面板中输入该语言的文字字符串,则「舞台」上的任何文字都会以选取的语言显示。如果没有,则已经在舞台上的文字字段会变空白。

    在西欧键盘上输入亚洲字符

    Flash中,您可以使用「输入法编辑器」(IME)和标准的西欧键盘在「舞台」上输入亚洲字符。Flash能支持超过二十多种不同的 IME

    例如,若要建立亚洲使用者都可以检视的网站,您可以使用标准西欧 (QWERTY)键盘并变更 IME以建立中文、日文和韩文文字。

    备注:这只会影响「舞台」上的文字输入,而不会影响在「动作」面板中输入的文字。所有支持的 Windows操作系统及Mac OS X都有这项功能。

    1选取「编辑 > 偏好设定」(Windows)或「Flash >偏好设定」(Macintosh),然后单击「类别」列表中的「文字」。

    2   在「输入方法」底下,选取其中一个选项以使用西欧键盘输入字符。默认的选项为「中文和日文」,而且针对西欧语言,也应该选取此选项。

    发布多国语言 FLA档案

    当您储存、发布或测试 FLA档时,会针对在「字符串」面板中所选取的每种可用语言建立包含 XML文件的文件夹。XML文件夹与档案的默认位置与指定的 SWF发布路径位于相同的文件夹内。如果尚未选取 SWF发布路径,XML文件夹和档案将会储存在 FLA档所在的文件夹。例如,如果您在 mystuff文件夹中有一个名为 Test的档案,且已选取英文 (en)、德文 (de) 和西班牙文 (es)做为作用中的语言,不过还没有选取 SWF的发布路径,那么当您储存 FLA档时,就会建立下列文件夹结构:

    \mystuff\Test.fla \mystuff\de\Test_de.xml \mystuff\en\Test_en.xml \mystuff\es\Test_es.xml

    当您在启动 SWF档案时,也必须启动相关的 XML档案,以及包含在内之 Web服务器中的字符串翻译。包含文字的第一个影格要在 XML档整个下载完毕后才能显示。

    更多帮助主题

    348页「发布 Flash文件」

    在发布阶段手动取代字符串

    发布 Flash SWF档时,您可以使用「舞台」语言手动取代字符串。这个方法会使用「舞台」语言,取代包含相关字符串 ID之输入和动态文字的所有实体。在这样的情况下,文字字符串只会在发布 SWF档时才更新。由于语言侦测并不会自动进行,所以您必须为每种要支持的语言发布 SWF文件。

    1选取「窗口 >其他面板 >字符串」,然后单击「设定」。2在「取代字符串」复选框中,选取「在运行时间自动执行」。

    搭配默认语言使用自动语言侦测

    您可以将默认运行时间语言变更为任何已选取的可用语言。当开启自动语言侦测功能,而且您在使用该语言的系统中检视SWF时,所有其语言设定为其中一个作用中语言以外的系统都会使用默认的语言。例如,如果您将默认语言设定为英文,同时选取 jaen以及 fr做为作用中的语言,那么系统语言设定为日文、英文或法文的使用者,便会自动看到以他们语言所显示的文字字符串。然而,用户如果将系统语言设定为瑞典文,由于瑞典文并不在您所选的语言之列,用户会看见系统自动以您所选的默认语言显示文字字符串,在这个范例中即是以英文来显示。

    1选取「窗口 >其他面板 >字符串」,然后单击「设定」。

    2在「默认」语言选单中,选取默认语言。该语言必须是已新增的可用语言。

    3若要启用自动语言侦测功能,请在「取代字符串」复选框中选取「在运行时间自动执行」,并单击「确定」。

    Flash会产生下列 ActionScript®,储存语言 XML 文件的路径。您可以将这个程序代码视为自己的语言侦测 Script起点来使用。

    import mx.lang.Locale;
    Locale.setFlaName("<flaFileName>");
    Locale.setDefaultLang("langcode");
    Locale.addXMLPath("langcode", "url/langcode/flaname_langcode.xml");

    备注:「字符串」面板产生的 ActionScript程序代码并不会使用Locale.initialize函数。您必须根据项目所需的语言侦测自定义内容,决定呼叫这个函数的方式。

    使用自定义语言侦测

    若要存取语言 XML文件以便在指定的时间控制取代文字,请建立您自己的自定义组件,或使用 ActionScript程序代码。例如,您可

    能会建立弹出式选单,让使用者选取检视内容时使用的语言。如需有关撰写 ActionScript程序代码建立自定义语言侦测的详细信息,请参阅学习 Adobe Flash 中的 ActionScript 2.0 中的「关于字符串面板」。

    1选取「窗口 >其他面板 >字符串」,然后单击「设定」。2在「默认」语言选单中,选取默认语言。该语言必须是已新增的可用语言。3选取「取代字符串」中的「在运行时间透过 ActionScript」,然后单击「确定」。Flash会产生下列 ActionScript,储存语言 XML 文件的路径。您可以将这个程序代码视为自己的语言侦测 Script起点来使用。

    import mx.lang.Locale;
    Locale.setFlaName("<flaFileName>");
    Locale.setDefaultLang("langcode");
    Locale.addXMLPath("langcode", "url/langcode/flaname_langcode.xml");

    备注:「字符串」面板产生的 ActionScript并不会使用Locale.initialize函数。您必须根据项目所需的语言侦测自定义内容,决定呼叫这个函数的方式。


    展开全文
  • 多国语言问题

    2013-01-30 15:18:30
    当用户用葡萄牙输入法,输入字符时,EDit的OnChar函数会响应. OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 1.但是这个nChar里面的值是什么编码? 2.用MultiByteToWideChar和WideCharToMultiByte搞了半天也没...
  • 目前市场上面的数字对讲机大多数采用液晶屏来实现人机交互及短信传递,高通科技进一步优化设计全套对讲机汉显解决方案,在原有条件下给对讲机汉字显示提供了多款字库芯片,进一步完善了中文菜单显示,多国语言菜单...
  • 1 右键 res 目录,依次选择 New->Android Resource Directory 2 选择 locale ,再按一下 箭头 3 找到 zh: Chinese 4 如果在 Android 选项下看不到,切换到Project选项后添加文件 再切回来 ...
  • 在ARM平台的WinCE6.0上测试通过,支持 0401:阿拉伯语(Arabic) 040d:希伯来语(Hebrew) 041f:土耳其语(Turkish) 0409:英语(English_United_States)。
  • 多国语言,国际化开发需求分析

    千次阅读 2008-10-24 15:20:00
    引言要确定工作内容,评估工作时间,首先我们要对需求及问题进行分析,下面给出对多国语言支持,这个需求的分析步骤、结果及一些参考资料。 我们最终的目的是:在用户当前的操作系统环境下1、 可以正常的显示软件...
  • App Store 中很多流行的应用程序有多种语言版本。虽然这些应用程序可能因为很多因素而变得流行,但是具有多种本地化版本,肯定是其中一个因素。越多的人可以理解并使用您的应用程序,潜在的买家也就越多。 若要让您...
  • WINCE6.0多国语言支持定制方法

    千次阅读 2011-10-13 14:44:11
    1. 在Project菜单选择xxx Property…在弹出的对话框中点击左边的Configuration Properties点击Locale里选择需要支持的语言,并选择默认的语言。这里选了中文和英文语言。 2. 在”Catalog Item V
  • 安卓中切换到不同的输入法状态下,系统相应的翻译应该修改过来。这个系统是自动适配的,不需要添加对应的代码。只需要在res目录下建立相应的values-zh-rCN文件夹并添加对应的string资源即可。 原文链接:...
  • 多国语言输入法用来输入各种文字,日,韩,法,土耳其。。。等等
  • 请确定已选定“在菜单栏中显示输入法菜单”。 现在,您可以在菜单栏中选取一种简体中文输入源,以将其设为活跃的输入源。 关于字符串文件 字符串文件 包含文本项,这些文本项已本地...
  • Qt的多国语言支持主要来源于Qt Linguist这个翻译程序,按照Qt本身的设计,这个程序甚至是交由翻译人员去使用的,和程序员无关,程序方面只需要记得在代码里面的字符串加tr()就行,然后通过lupdate(在上面的例子中用...
  • 选中表单,按F4(黄老师说的高手快捷键),在Language中选择你要设的语言. 我先设个简体中文 然后把各控件的TEXT或相关属性修改成需要的文字(我忘记修改FORM1.TEXT) 好啦..再来个繁体中文 繁体中文也做好啦(有人...
  • 这篇教程解释了如何配置多语言输入法的方法。这个是为 Ubuntu 18.04 LTS 特别打造的,但是它可以在其它类 Ubuntu 系统例如 Linux mint、Ele...
  • 俄文字母键盘输入布局,制作多国语言输入法时可以参考。比如在emwin中使用键盘控件创建键盘布局。新版的EMWIN 有新的键盘控件功能。
  • 今天接到一个波兰的客户说有个APP在英文...如下图所示:进入到【设置】-【语言输入法】-【语言】列表后,我就傻眼了,哪个是波兰语呢?本文将介绍如何在列表中找到相应语言所对应的列表项。(【Settings】-【Langua
  • 本来编译移植Qt主要是要跑多国语言输入法,看看能不能成功运行。这是最开始的一步了,相对比以前的x11环境搭建,效率快多了,就算是错了,删了等15分钟又是一条好汉 =v= 开始 1、准备工作 官网下载源码压缩包 ...
  • //安装scim输入法,SCIM支持多国语言输入法,默认支持英语键盘、智能拼音、五笔字型、自然码、二笔等。 $ sudo apt-get install scim-pinyin -y $ scim //输入scim对输入法进行激活 //安装ibus输入法 $ sudo apt...
  • 今天接到一个波兰的客户说有个APP在英文状态下一切运行正常,但是当系统语言切换到波兰语言的时候,程序奔溃了。所以首先我得把系统的语言切换到波兰...如下图所示:进入到【设置】-【语言输入法】-【语言】列表后...
  • Fedora 9 的中文输入法

    2008-09-01 18:25:00
    转自http://www.linuxdiyf.com/viewarticle.php?id=96572Fedora 9在...开启Fedora的输入法,需要找到:“系统 - 首选项 - 个人 - 输入法”然后在 IM Chooser - 输入法配置工具 中 启用输入法特性 ,方可使用多国语言
  • 今天接到一个波兰的客户说有个APP在英文状态下一切运行正常,但是当系统语言切换到波兰语言的时候,程序奔溃了。...如下图所示:进入到【设置】-【语言输入法】-【语言】列表后,我就傻眼了,哪个是波兰...
  • Ghost XP 精简多国语言输入功能,导致用户无法安装或启用微软的多国文字服务。为此研究Windows XP 注册表功能,发现通过修改注册表和拷贝相关键盘映射文件可以实现ghost 系统的多国语言文字输入。整理出来供大家分享
  • MTK 移植泰文输入法

    2019-07-08 16:20:11
    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) &...
  • 树莓派3 中文输入法安装教程

    千次阅读 2018-01-02 12:20:45
    这里介绍三款输入法的安装教程,分别是Fcitx输入法、SCIM输入法、Ibus输入法 1. 安装Fcitx输入法,google拼音输入法 sudo apt-getinstall fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin 2. ...
  • 输入法大比拼

    2008-03-12 02:46:00
    谷歌繁体输入法支持繁体输入和 GBK 大字库 不论是人名、地名,还是古文中出现的生僻字词,拼写时用到繁体字、特殊字在所难免。谷歌拼音输入法不仅支持繁体输入,还提供了强大的 GBK 大字库资源,满足您全方位的拼写...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 677
精华内容 270
热门标签
关键字:

多国语言输入法