u8g2添加自定义字库

一、准备工作(注:这个方法不太好,建议直接用u8g2_font_tool这个exe直接生成,不仅可以汉字、数字、英文都可以,还很方便)

参考哔哩哔哩up:智迪华幼

  1. 官方的bdfconv.exe
  2. 转换-16.bat文件
  3. guiTools
  4. 自己需要的字体
  5. 自己需要的字库
    在这里插入图片描述
    这些文件需要下载的点击这里

二、生成map文件

菜鸟工具将中文转换成unicode字符。
在这里插入图片描述
将生成的Unicode字符复制到新建的文本文档中,命名随意。
在这里插入图片描述
还需要对生成的unicode字符进行处理:

  • 将"\u"替换成",$"
### U8G2 使用自定义字库方法 为了在U8G2库中使用自定义字库,需经历几个重要环节。首先是获取所需的字体文件并将其转换成适用于U8G2的格式。这通常涉及BDF(Bitmap Distribution Format)或PCF(Portable Compiled Font)等位图字体文件。 对于具体的实现过程,在官方提供的工具`bdfconv.exe`的帮助下可以完成这一目标[^1]。此工具位于u8g2项目的特定路径下:`\tools\font\bdfconv\`。通过该程序能够把选定的字体文件转化为C语言源码形式的数组,进而方便嵌入至Arduino项目之中用于显示设备上文字渲染之用途。 当准备好了自定义字库之后,则可以在ESP8266平台上的Arduino环境中集成这些资源来驱动墨水屏等硬件组件[^2]。具体操作如下: #### 准备工作 确保已安装好必要的开发环境以及依赖项,比如PlatformIO IDE和对应的板级支持包。 #### 转换字体文件 假设已经下载了一个名为`myFont.bdf`的字体文件,那么可以通过命令行调用上述提到过的转换工具来进行处理: ```bash cd path/to/u8g2-master/tools/font/bdfconv/ ./bdfconv.exe myFont.bdf > ../fonts/myFont.c ``` 这段指令会读取指定位置处的`.bdf`文件,并输出一个新创建好的头文件保存于相对应的位置里。 #### 修改代码引入新的字型数据结构体变量声明部分 编辑器打开之前编译得到的新建`.c`文件查看其中的内容;找到类似于下面这样的宏定义语句: ```cpp #define MYFONT_FONT_MODE 0 /* or other value */ extern const uint8_t u8g2_font_myfont_u8f[]; ``` 接着把这些信息复制粘贴到自己的主程序开头附近适当的地方去以便后续引用它们作为全局常量表象出来即可。 #### 应用实例展示 最后一步就是在实际的应用场景里面利用刚刚加入系统的个性化字符集了。这里给出一段简单的例子说明如何设置及打印字符串消息给定屏幕对象关联起来。 ```cpp #include "U8g2lib.h" // Include the custom font header file here. #include "path_to_your_custom_font_file.h" void setup() { // Initialize your display object... // Set up and use the custom font with a given size, etc. u8g2.setFont(u8g2_font_myfont_u8f); } void loop() { u8g2.firstPage(); do { u8g2.drawStr(0, 10, "Hello Custom Fonts!"); } while (u8g2.nextPage()); } ``` 以上就是有关怎样基于U8G2框架构建属于自己的特殊样式化文本呈现方式的大致流程介绍。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值