找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1463|回复: 1
收起左侧

关于Arduino的U8G2字库的问题

[复制链接]
ID:16255 发表于 2024-3-8 22:40 | 显示全部楼层 |阅读模式
最近在研究ESP8266,用Arduino IDE编程会更方便。那其中当然会接触到U8G2库。就此,有几个疑问:
①U8G2的编码是怎样的?
以前没有使用U8G2的时候,都是用取模软件为文字取模,这个取模过程很明显能理解得到。
现在,查看U8G2字库的内容,全是另一种看不懂的编码。
那么请问,U8G2是如何的编码规则?
②U8G2有多节省空间?
既然U8G2使用如此复杂的编码方式,那肯定是有他的优势,其中一个必然是节省空间。
那么,相比传统的取模,他能节省多少空间?比如说多少多少比例什么的。
③如何更方便的制作专属的U8G2字库?
官方U8G2库中提供的中文字库有5种,其中GB2312的全字库太大,其他4个又不全,所以需要制作自己的字库。
在网上找了一些操作方法,操作步骤都很繁琐,任何一步做错都会令结果失败,而且不到最后都不知道是否成功。
有没有一些更简便的方法?比如说把输入我想要的文字,简单几步就生成结果。
④为什么制作出来的字效果不好?
如下,是两种方式分别生成出来的效果,其中所使用的字体是同样的字体(宋体)。
使用传统取模方式生成的点阵文字  使用网上方法生成的U8G2文字
2.jpg 1.jpg
可见,左边方式生成的文字笔划清晰,横平竖直;右边方式生成的文字笔划间间距不一,部分笔划还糊成一块,效果没有左边的好。
虽说并不影响正常阅读,但是否有办法可以得到如左图这样的效果呢?
回复

使用道具 举报

ID:57925 发表于 2024-11-11 19:53 | 显示全部楼层
我可以回复字库的问题,即[问题3].

简单来说,就是使用取模软件把要用的字,生成XBM格式,然后在U8G2中调用drawXBM()方法来绘制即可.

取模软件使用PC2LCD2002,这个软件是免费软件(应该是吧?):

githubcom/fishjump/PCtoLCD2002_exe

使用流程,软件配置,以及示例代码:

https://blog.csdn.net/qq_33593411/article/details/120906466

这样的话,只需要把生成的数组放进去即可,用到哪些字就生成哪些,不需要带那巨大但不全的字库了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表