资讯动态

Flipper Zero中文乱码怎么救?3步让中文字体跑起来

发布时间:2026/9/10 20:57:38 来源:尧图企业网站定制
Flipper Zero中文乱码怎么救3步让中文字体跑起来【免费下载链接】flipperzero-firmwareFlipper Zero firmware source code项目地址: https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware把 Flipper Zero 切到带中文的应用第一屏弹出来心就凉了一半菜单全是小方格刚捕获的卡片名也变成了豆腐块。这不是硬件坏了只是固件自带的字体表里根本没有中文字形。好在 flipperzero-firmware 是开源的把中文补进去、重新编译这事就能自己搞定。中文显示问题在哪这个仓库能解决什么项目定位Flipper Zero 的官方固件源码内核、系统服务、全部内置应用都在这一个仓库里显示层基于 U8g2 库一个轻量嵌入式图形库屏幕上的每个字都是按字模表查出来的中文字体其实已经内置lib/u8g2/ 里就有 wqy 文泉驿和 unifont 两套中文数据只是 GUI 默认没启用适合谁想在文件名、笔记、自定义应用里正经打中文的玩家一分钟看懂原理把字体系统想成一本系统级字形字典画文字时前端拿字符编码去当前字典里翻页翻到就把那个点阵画出来翻不到就画个方框占位。字典本身就在仓库里躺着你要做的只是告诉画图模块翻到中文那一页。字体注册发生在 GUI 服务的 canvas.c核心就一个canvas_set_font()if (font FontPrimary) { u8g2_SetFont(canvas-fb, u8g2_font_helvB08_tr); } else if (font FontSecondary) { u8g2_SetFont(canvas-fb, u8g2_font_haxrcorp4089_tr); }这两个都是拉丁字体。而 u8g2.h 里中文符号早就声明好了extern const uint8_t u8g2_font_wqy12_t_gb2312[] U8G2_FONT_SECTION(u8g2_font_wqy12_t_gb2312);所以改造目标很明确给canvas_set_font()加一个中文字体分支再让应用切过去。动手三步走第一步拉固件源码git clone https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware cd flipperzero-firmware第二步把中文字体接进画布打开applications/services/gui/canvas.c在字体枚举里加一个FontChinese然后在canvas_set_font()里补一行} else if (font FontChinese) { u8g2_SetFont(canvas-fb, u8g2_font_wqy12_t_gb2312); }你的应用里调canvas_set_font(canvas, FontChinese)即可。字少就够用 wqy12想要大一号把符号换成 wqy14 或 wqy16 系列。第三步一条命令编译加一条命令刷入./fbt ./fbt flash_usbfbt是仓库自带的构建入口对 SCons 的封装flash_usb直接通过 USB 把固件写进设备不用开 dev board。验证字体是否生效插上 USB 等设备自动重启打开你改过的应用。肉眼可见的成功标志菜单和正文显示为清晰的汉字而不是方格且单行文字没有超出文本框被裁掉。这是设备跑起应用后的实机画面踩坑记录方格还在出现现象常用字正常生僻字、异体字仍是方框原因wqy 的 gb2312 分卷只覆盖国标字符集解法换覆盖更广的 unifont 中文字体或同时挂上 gb2312a/b 分卷编译直接报找不到字体符号现象加了分支后./fbt报 undefined reference原因符号名抄错或文件里没包含u8g2.h解法符号名从 u8g2.h 原样复制注意U8G2_FONT_SECTION声明是现成的不需要再定义数组刷完一切正常但界面还是拉丁字现象编译通过、刷机成功中文却不出现原因应用绘制路径还在用 FontPrimary/FontSecondary 默认值解法每个画布都要显式canvas_set_font()顺着你的应用的绘制函数把调用链检查一遍往深挖想更进一步两个目录值得花时间applications/services/locale/ 是本地化服务管日期格式、时间制式、度量单位做整套系统级中文要从这里扩展lib/u8g2/ 里的 u8g2_fonts.c 是全部字模数据想新增一套中文字体本质就是重新生成这个文件并更新 u8g2.h 的声明。现在就可以动手写个只画中 文 测三个字的小应用跑通它再谈别的。【免费下载链接】flipperzero-firmwareFlipper Zero firmware source code项目地址: https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价