0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【AWTK使用经验】如何添加中文输入法

ZLG致远电子 2024-06-20 08:25 次阅读

AWTK是基于C语言开发的跨平台GUI框架。《AWTK使用经验》系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何加载外部资源?如何设计自定义进度条?这些都会在系列文章进行解答。

假设目前需要在AWTK程序中用到中文输入法,并且要自定义输入法的联想词,此时需要用到AWStudio添加软键盘和输入法。下面将介绍如何使用AWStudio在项目中添加中文输入法以及如何修改联想词,并且如何移植到嵌入式设备中。下图是实现中文输入法并移植到 ZTP800示教器 的效果图:
875f8fba-2e9b-11ef-a655-92fbcf53809c.png图1ZTP800中文输入法效果图

使用AWStudio添加软键盘

在AWStudio中带有软键盘的默认样式,用户可以直接使用该软键盘样式。创建该默认软键盘也比较简单,只需点击AWStudio的“新建窗体”按钮,接着选择“Keyboard”,确定后即可看到软键盘的UI文件生成。87838b2c-2e9b-11ef-a655-92fbcf53809c.png图2AWStudio添加默认软键盘接着还需要从awtk/3rd/gpinyin/data目录将gpinyin.dat文件添加到项目资源目录的data目录下,例如:res/assets/default/raw/data,这里可以在AWStudio的资源管理器中点击“导入”按钮添加到“其他数据”分类中。最后将软键盘与控件关联,修改edit控件的“keyboard”属性指定刚刚创建的软键盘窗体。

879d8342-2e9b-11ef-a655-92fbcf53809c.png图3使用AWStudio导入gpinyin.dat

修改中文输入法联想词

联想词是指在输入了某个汉字或词组后,输入法根据该汉字或词组提供其常用的组词。如果想要修改联想词的顺序或是增加新的词语等,需要修改awtk/3rd/gpinyin/data目录下的配置文件rawdict_utf16_65105_freq.txt。配置文件中包含了各个词语的汉字、使用频率和对应的拼音,使用频率数值越大,对应的联想词越靠前。例如:下图的“爸爸”使用频率数值大于“巴巴”,那么当输入“baba”拼音时,“爸爸”的显示顺序会比“巴巴”靠前。

87c3f4aa-2e9b-11ef-a655-92fbcf53809c.png图4 联想字库配置文件

修改完配置文件后,在awtk目录下打开终端,执行以下命令,该程序会生成一个新的gpinyin.dat,按照前面步骤拷贝到项目资源目录,如:assets/default/raw/data/。

./bin/gpinyingen

将中文输入法移植到嵌入式Linux平台

嵌入式Linux的官方移植层awtk-linux-fb默认加入了中文输入法,用户在PC上根据文章前面步骤添加好中文输入法,使用AWStudio打包资源,将项目拷贝到交叉编译环境下使用awtk-linux-fb交叉编译应用即可。

将中文输入法移植到RTOS平台

将中文输入法代码文件加入编译

对于其它平台如RTOS平台添加中文输入法的步骤会复杂一些,需要将中文输入法相关的代码文件加入编译(比如将这些代码文件添加到keil编译),详细步骤如下:

  1. 加入以下目录的代码文件:awtk/3rd/gpinyin/src;
  2. 加入代码文件:awtk/src/input_engines/input_engine_pinyin.cpp;
  3. 去掉下面的代码文件,不加入编译:awtk/src/input_engines/input_engine_null.cpp;
  4. 加入下面的include路径:awtk/3rd/gpinyin/include;
  5. 加入gpinyin.dat到应用资源目录data文件夹内。

添加输入法宏

  • 在平台对应移植层的awtk_config.h文件内定义宏:

WITH_IME_PINYIN

另外还需要取消以下两个宏的定义:

  • WITH_NULL_IMWITHOUT_INPUT_METHOD

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软键盘
    +关注

    关注

    0

    文章

    10

    浏览量

    6345
  • 示教器
    +关注

    关注

    2

    文章

    29

    浏览量

    3742
  • awtk
    +关注

    关注

    0

    文章

    42

    浏览量

    216
收藏 人收藏

    评论

    相关推荐

    中文输入法在B超系统中的应用

    中文输入法在B超系统中的应用本文对中文输入法在B超系统中的实现进行了介绍。 在计算机迅速发展和普及的今天,用计算机对汉字进行输入、编辑和处理已经非常普遍了。在医疗电子产品中,越来越多的场合需要显示
    发表于 11-30 10:15

    在Labview中如何控制输入法

    在写程序中遇到一个问题:如何在进入程序时将输入法更改为英文输入法,一般默认是中文输入法,当按下键时,输入法会跳出来,而程序则不会响应这个按键。所以想在进入程序时,将系统
    发表于 11-26 15:47

    Orange Pi 4开发板在Ubuntu系统下如何安装中文输入法

    弹出的窗口中勾选Control,去掉Super前面的勾,然后点击Apply。再点击ok。【图9】回到上一个窗口,点击 Input Method。【图10】如下图,只有英文。点击Add添加中文输入法
    发表于 05-19 15:13

    求wince中文输入法

    各位大神,求一个wince的免费中文输入法,能分享一下吗
    发表于 06-24 08:50

    如何实现ARM-LINUX嵌入式设备上的中文输入法

    如何实现ARM-LINUX嵌入式设备上的中文输入法
    发表于 12-23 06:15

    如何去实现RK3399 ARM开发板添加中文输入法的功能呢

    如何去实现RK3399 ARM开发板添加中文输入法的功能呢?
    发表于 03-07 06:53

    KICAD6与中文输入法冲突

    目前在多台电脑试过,windows10开中文输入法,即使是英文输入状态,操作KICAD6会卡死,现象就是鼠标没反应了,啥也做不了,只能结束进程。多台电脑验证过了。windows11开中文输入法,KICAD6不崩溃,两台电脑验证过
    发表于 04-30 11:55

    【飞凌RK3568开发板试用体验】添加中文输入法

    由于英文版的ubuntu20没有安装拼音、五笔输入法,经过查询资料,把中文输入法解决了,这里记录一下,以便后来查询:1、先把fcitx彻底卸载:sudo apt remove fcitxsudo
    发表于 11-29 20:57

    嵌入式中文输入法设计

    本文比较了嵌入式系统中拼音输入法和笔画输入法的优缺点,介绍了嵌入式系统中的中文输入法的基本设计思想。本文重点介绍拼音输入法的设计思想,并针对传统拼音
    发表于 06-19 08:29 41次下载

    手机中文输入法

    手机中文输入法              中文输入法
    发表于 12-19 13:58 542次阅读

    掌上电脑中文输入法有哪些?

    掌上电脑中文输入法有哪些?             掌上电脑有多种文
    发表于 12-21 17:36 1721次阅读

    电脑辞典中文输入法及其他功能

    电脑辞典中文输入法及其他功能  中文输入法     
    发表于 12-22 11:45 854次阅读

    中文输入法在B超系统中的实现

    本文对中文输入法在B超系统中的实现进行了介绍。 字库设计 通常的汉字显示方式是:先用字模软件提取所需要的汉字点阵,取得的数据可放入ASM汇编文件中,接着
    发表于 09-16 11:12 1031次阅读
    <b class='flag-5'>中文输入法</b>在B超系统中的实现

    基于Qt/E的中文输入法的设计

    随着嵌人式系统在信息家电、移动通信、手持设备以及工业控制等众多领域的广泛应用,国内用户对支持中文输入法的轻量级GUI的需求日益迫切。
    的头像 发表于 12-06 07:44 4649次阅读
    基于Qt/E的<b class='flag-5'>中文输入法</b>的设计

    AWTK使用经验】如何使用系统输入法与开启最大化窗口功能

    在Windows运行的桌面程序。在使用AWTK开发Windows平台程序时,有些用户可能想使用系统自带的输入法,而不是AWTK内置的输入法。此时需要对项目应用类型进行一些设置
    的头像 发表于 11-14 01:05 114次阅读
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>经验</b>】如何使用系统<b class='flag-5'>输入法</b>与开启最大化窗口功能