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

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

3天内不再提示

【AWTK使用经验】如何裁剪字库以及如何使用点阵字

ZLG致远电子 2024-10-10 08:05 次阅读

AWTK是基于C语言开发的跨平台GUI框架。AWTK使用经验系列文章将介绍开发AWTK过程中一些常见问题与解决方案。

AWTK如何裁剪字库

在AWTK应用开发过程中可能会遇到添加了某个字符但是显示不出来,比如摄氏度符号“ ℃ ”,这种情况有可能是字库文件被裁剪不完整的问题。本章节将以此为例介绍遇到这种情况的解决方法。

字库裁剪与还原

字库裁剪是指在一个原本完整的字库文件可能用不到那么多字符数据,于是将用不到的字符数据裁剪,保留需要的字符。在AWTK中,字库裁剪是借用Python脚本实现的,AWTK不仅提供了裁剪功能,同时也提供了还原功能,可以将使用AWStudio裁剪后的字库还原成完整的字库。

添加保留的字符

首先打开AWStudio的“项目设置”-“主题设置”界面,在左侧主题的字体列表选择需要裁剪的字体后,再到右侧“保留的字符”编辑框编辑需要裁剪的字符。

上面的例子由于是缺少“℃”字符,因此只需要将它添加到“保留的字符”编辑框内,前提要确保原本的字体文件有这个字符的字模。

5a66ff36-869b-11ef-bb4b-92fbcf53809c.png

图1AWStudio项目设置添加裁剪字符

还原与裁剪字体

修改设置后保存并返回AWStudio主页面,在左下角资源管理器找到上方修改的字体,并依次点击“还原字体”和“裁剪字体”两个按钮。此时前面添加的“ ℃ ”符号便可正常显示。

5a8cb37a-869b-11ef-bb4b-92fbcf53809c.png

图2重新还原与裁剪字体


如何在AWTK使用点阵字

AWTK在显示矢量字体前需要解码,这个过程会有性能消耗,因此在一些性能比较低的平台中解析ttf矢量字体可能会耗时比较久,此时可以选择使用点阵字的形式显示。

点阵字在显示时无需进行解码,加载速度相比较矢量字体更快。相应的,由于点阵字需要提前解码好,所以会占用较大空间,因此这个方案相当于用空间换时间。本章节将介绍如何在AWTK中使用并显示点阵字体。

首先,在AWStudio打开“项目设置”,将设置中的资源打包方式改为"文件+常量",资源的常量格式修改为带有"位图数据"的选项。

5ab20648-869b-11ef-bb4b-92fbcf53809c.png

图3修改资源打包方式与资源常量格式

接着再到“主题”设置页面,将裁剪格式设置为“Bitmap”,再根据实际情况选择字模每像素的位数、保留的字号、以及保留的字符。

5ad4ecda-869b-11ef-bb4b-92fbcf53809c.png

图4主题字体相关设置

在AWStudio点击“打包”按钮等待资源打包结束,在工程字体资源目录(res/assets/default/inc/fonts)看到.data的文件代表打包点阵字体资源文件成功。

最后在编译awtk与程序时需要进行下面操作才能启用点阵字体:

定义 WITH_BITMAP_FONT 宏;

关闭 WITH_TRUETYPE_FONT 宏。

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

    关注

    180

    文章

    7604

    浏览量

    136650
  • 应用开发
    +关注

    关注

    0

    文章

    58

    浏览量

    9356
  • awtk
    +关注

    关注

    0

    文章

    44

    浏览量

    226
收藏 人收藏

    评论

    相关推荐

    AWTK使用经验】如何响应物理按键

    AWTK是基于C语言开发的跨平台GUI框架。《AWTK使用经验》系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何加载外部资源?如何设计自定义进度条?这些都会在系列文章
    的头像 发表于 06-06 08:25 788次阅读
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>经验</b>】如何响应物理按键

    AWTK使用经验】如何更换AWTK SDK与渲染模式

    AWTK是基于C语言开发的跨平台GUI框架。《AWTK使用经验》系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何播放摄像头画面?如何更换
    的头像 发表于 08-01 08:25 1064次阅读
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>经验</b>】如何更换<b class='flag-5'>AWTK</b> SDK与渲染模式

    点阵字库的规范应用

    ,还有东南亚国家如泰国,越南的文字等等。GT22L16A1Y这款芯片就有包含中日韩的文字,以及欧美多国的外文字库。通过使用点阵字库芯片,可以节省研发人员在此方面的精力和消耗,并可寻找厂商以提供较为专业
    发表于 04-14 09:32

    点阵字库在行业中的应用

    的阿拉伯文,还有东南亚国家如泰国,越南的文字等等。GT22L16A1Y这款芯片就有包含中日韩的文字,以及欧美多国的外文字库。通过使用点阵字库芯片,可以节省研发人员在此方面的精力和消耗,并可寻找厂商以提供
    发表于 04-21 09:56

    使用UCDOS的点阵字库

    1 引 言  单片机控制的LED、LCD显示屏均涉及到各种字体的汉字显示。建立单片机汉字字库的传统方法有使用硬件字库或者使用UCDOS的点阵字库。这些字库均非矢量
    发表于 11-18 06:05

    汉字字库点阵提取程序

    汉字字库点阵提取程序可以从汉字字库中提取汉字的点阵,是一个编写液晶显示汉字的软件工具。
    发表于 08-05 08:51 115次下载
    汉字<b class='flag-5'>字库</b>的<b class='flag-5'>点阵</b>提取程序

    ViewChr 程序 16*16点阵字库

    ViewChr 程序 16*16点阵字库 ViewChr 程序使用说明: 本程序可方便浏览和调用 Hzk16(16*16中文点阵字库)和Asc16(8*16中文点阵字库)内容。
    发表于 04-22 16:48 167次下载

    中文点阵字库的使用方法

    在嵌入式设备LCD 上显示的汉字大多数都属于点阵汉字。常用的点阵字库来自UCDOS。大家可以去网上下载一个UCDOS 的完全安装版本,里面可以找到很多点阵字库文件。
    发表于 04-17 14:39 78次下载
    中文<b class='flag-5'>点阵字库</b>的使用方法

    点阵字库生成器使用说明

    点阵字库生成器使用说明资料,很好的学习资料,快来下载吧
    发表于 02-17 11:52 0次下载

    高通MP3字库、音响字库解决方案 ——包含多国外文点阵字库

    简繁体及173国多国外文点阵字库,单颗芯片搞定内外销。在提供优秀的软件内容同时,以MASKROM为载体,充分保证数据稳定性,不再担忧廉价FLASH烧录所带来的麻烦及费用。针对MP3行业,此款芯片具有
    发表于 10-31 22:43 1025次阅读

    显示屏点阵字库

    显示屏点阵字库
    发表于 04-06 09:19 7次下载

    AWTK使用经验】如何设计立体电池进度条?

    AWTK是基于C语言开发的跨平台GUI框架。《AWTK使用经验》系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何加载外部资源?如何设计自定义进度条?这些都会在系列文章
    的头像 发表于 04-18 08:25 445次阅读
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>经验</b>】如何设计立体电池进度条?

    AWTK使用经验】加载和释放外部图片

    AWTK是基于C语言开发的跨平台GUI框架。《AWTK使用经验》系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何加载外部资源?如何设计自定义进度条?这些都会在系列文章
    的头像 发表于 04-26 08:25 464次阅读
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>经验</b>】加载和释放外部图片

    AWTK使用经验】如何播放视频或摄像头画面

    AWTK是基于C语言开发的跨平台GUI框架。《AWTK使用经验》系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何加载外部资源?如何设计自定义进度条?这些都会在系列文章
    的头像 发表于 07-04 08:25 601次阅读
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>经验</b>】如何播放视频或摄像头画面

    AWTK使用经验】如何在AWTK显示阿拉伯文本

    AWTK是基于C语言开发的跨平台GUI框架。AWTK使用经验系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何播放视频或摄像头画面?如何播放序列帧动画?这些都会在系列文
    的头像 发表于 09-12 08:07 343次阅读
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>经验</b>】如何在<b class='flag-5'>AWTK</b>显示阿拉伯文本