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

发布时间:2026/9/10 20:57:47
Flipper Zero中文乱码怎么救?3步让中文字体跑起来 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),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询