
Flipper Zero 中文显示速成改字体加 locale 的 4 个动作【免费下载链接】flipperzero-firmwareFlipper Zero firmware source code项目地址: https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware一句话结果你做完能得到什么flipperzero-firmware 是 Flipper Zero 的官方固件仓库默认字体只覆盖拉丁字符中文显示在屏上就是一排方框或空白。走完这篇的操作✅ 你会得到一台屏幕能正常显示汉字的 Flipper自写应用里画进去的你好完整渲染时钟页面的日期也能按年月日格式显示不再有问号。三分钟跑通最小可行路径先跑通原版固件拿到中文显示改造的基线。克隆仓库务必带--recursive屏幕绘制依赖的 u8g2 等库都在子模块里。编译固件./fbt首次会拉取工具链耐心等。设备开机、USB 线连上刷入./fbt flash_usb。开机后进入 设置 → 时钟确认时间和日期正常显示这就是你改造前的对照基线。git clone --recursive https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware cd flipperzero-firmware ./fbt ./fbt flash_usb30 秒搞懂原理屏幕像一块白板每个字符都是按字体库里的一张模版描出来的。默认模版只有拉丁字母和数字你写中文当然全是空白。解法先做一套汉字模版u8g2 字体文件交给 canvas.c负责屏幕绘制的模块绘制时调canvas_set_custom_u8g2_font换模版再由 locale.c告诉系统日期该用哪种格式的文件管格式两者配合中文显示才完整。完整操作从改到验选字体挑一款适合 128x64 屏幕的 CJK 点阵字体常用 3500 字够用字库太大挤占 Flash。转成 u8g2 格式用 u8g2 字体转换工具把字体转成二进制数组就是那种\277\0\2...的转义串。导出时选 GB2312 或常用汉字集别选纯拉丁集。放进你的应用参考 applications/examples/example_custom_font/定义字体数组、切字体、画字符串的完整写法都在里面照抄结构即可。绘制时换字体核心调用只有两行这是你唯一要写的真实代码canvas_set_custom_u8g2_font(canvas, u8g2_font_cn_cjk); canvas_draw_str_aligned(canvas, 64, 32, AlignCenter, AlignTop, 你好Flipper);顺手调日期格式想显示年月日就调locale_set_date_format(LocaleDateFormatYMD)该设置在 locale.c 里持久化重启不丢。编译验证跑./fbt再./fbt flash_usb。设备屏幕中央应出现你好Flipper时钟页日期变成 2026-09-09 的样式。还是方框就先查字集覆盖别急着改代码。翻车速查高频报错 按出现频率排序先对号入座症状原因修复中文显示方框或空白默认字体helvB08 等只含拉丁字符用canvas_set_custom_u8g2_font换成含 CJK 的字体部分汉字缺、部分正常字体导出时选错字集选了拉丁集重新选常用汉字集导出转换./fbt编译失败、缺文件克隆时漏了--recursive子模块没拉下来删掉目录重新带--recursive克隆./fbt flash_usb报错设备没开机或数据线没连好先开机再连接或接调试器改用./fbt flash进阶玩法组合与串联把中文字体和 locale 串起来字体生效后顺手把日期格式设成年月日时钟页立刻像原生中文界面两步改动省掉一半打磨时间。字体数组跨应用复用把转换好的中文字体存成头文件以后每个自写应用#include进来就能用皮肤只做一次处处生效。收束 行动清单开头的承诺兑现了屏幕上的方框没了中文显示真正跑在你自己的固件里。读 documentation/AppManifests.md动手写一个自己的中文皮肤应用过一遍 CONTRIBUTING.md 和 CODING_STYLE.md让改动符合仓库规范深入 applications/services/locale/ 源码看懂设置项是怎么读写的【免费下载链接】flipperzero-firmwareFlipper Zero firmware source code项目地址: https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考