001_ucGUI/emWin字体制作(FontCvt.exe)

001_ucGUI/emWin字体制作(FontCvt.exe)

1 下载工具

FontCvt.exe是官方提供的字体转换工具,可以把电脑上的字体转换为对应像素字体。 但是这个工具需要官网授权才能正常使用,否则生成的字体会有一个黑色的边框。ST公司已经获得Segger的授权,在使用ST公司的产品(如STM32)时可以直接使用链接及目录如下:

  • 已授权下载地址:FontCvt.exe
  • STemWin下载地址:FontCvtST.exe
  • STemWin下工具目录:STemWin_Library_V1.2.0\Libraries\STemWinLibrary532\Software/FontCvtST.exe
    1_下载STemWin
    2_STemWin工具目录

2.安装字体

安装字体的方式有很多种(如:自己制作字体、网上下载字体、字体安装软件等)。

2.1 自己下载字体(如下载时钟体)

2.1.1 百度下载时钟字体

3_下载时钟体

2.1.2 解压下载的时钟字体放到字体文件夹

4_拷贝字体到字体文件夹

2.2 通过字体管家安装字体

  • 下载安装“字体管家”软件
  • 选择自己所需的字体,点击“一键安装”
    5_选择字体一键安装

3.选择字体及生成的字体类型

6_选择字体

3.1 字体生成格式:

  • Standard:标准比例字体(如: 6x8, 8x16, 12x24,16x32等),每个字符的高度相同,宽度可能不同, 像素信息保存为1bpp(即1位1个像素),包含对应比例的所有像素点(如:8x16字体上下空白处也算在一个字符之内)
  • Antialiased,2bpp:2bpp抗锯齿,就相当把字符变得圆滑,其它的和Standard一样
  • Antialiased,4bpp:4bpp抗锯齿,其它的和Standard一样
  • Extended:与Standard不同的是每个字符的宽度和高度可能不一样且不包含上下的空行
  • Extended,framed:在某些情况下 (例如编译时背景颜色未知),可以使用带边框的字体。带边框的字体始终在透明模式下绘制,与当前设置无关。字符像素按当前所选的前景颜色绘制,边框按背景颜色绘制。前景颜色和背景颜色之间明显的对比可以确保能够阅读文本,而与背景无关。请注意,这种类型的字体不适用于复合字符,例如泰语。另外,也不适用于Arabic字体。
  • Extended,antialiased,2bpp:2bpp抗锯齿,其它和Extended一样
  • Extended,antialiased,4bpp:4bpp抗锯齿,其它和Extended一样

3.2 字体编码格式:

编码格式这里不细讲,有兴趣的可以自己百度相应的字体编码格式,这里我们选择16 Bit UNICODE即可。

  • 16 Bit UNICODE
  • 8 Bit ASCII + ISO 8859
  • 8/16 Bit SHIFT_JIS

3.3 选择字体

选择我们刚才下载的字体、字形和大小。如下图所示:
8_选择字体

3.4 选择自己单片需要用到的字符(如:我只要0-9这10字符)

3.4.1 方式1
  • 先屏蔽所有字符

9_屏蔽所有字符

  • 选择自己需要的字符,白色的表示自己选中的字符,黑色表示自己没有选中的字符,“Toggle character”表示反向选择(白色的变为灰色,灰色的变为白色),“Enable block”表示选中整行,“Disable block”表示整行不选中。
    10_选择自己需要的字符
3.4.2 方式2
  • 和方式1一样先屏蔽所有的字符
  • 新建记事本,写入自己需要的字符
    11_记事本写入需要的字符
  • 记事本另存为 unicode编码
    12_另存为unicode编码
  • 读取刚刚保存好的文件,选择之后,对应的字符就会变为白色(即我们需要的字符),如果你刚刚写入的字符当前字体种找不到对应的字符,就会报错。
    13_读取需要的字符文件

3.5 保存字体为C格式文件

注意:保存为C格式文件的文件名不要有中文

14_保存生成的字体为C格式文件

3.6 拷贝生成的字体文件到自己的工程文件,添加到工程,并引用字体

#include "Digitaldream32.c"
extern GUI_CONST_STORAGE GUI_FONT GUI_FontDigitaldream32;

写博客不容易,需要大家多多支持。想了解更多,本人也可以提供有赏服务
在这里插入图片描述

<think>好的,我现在需要处理用户关于汉字字库的查询。用户提到了三个具体问题:下载、使用方法和格式转换。首先,我要回忆之前提供的引用内容,看看有没有相关的信息。引用[1]提到了LVGL字库的种类,包括内部大数组和外部bin文件,特别指出中文字体常用外部bin文件。引用[2]则涉及ucGUI/emWin的自定义字库,提到了导入字库的步骤和工具的使用。 接下来,我需要分别回答用户的三个问题。关于下载,用户可能需要免费和商业字库的来源。记得常见的免费资源如Google Fonts、思源字体,商业的有方正、汉仪等。同时,开源项目如LVGL可能需要特定格式的字库,这点要提到。 使用方法方面,引用[1]和[2]都提到了不同环境下的应用。比如LVGL使用外部bin,ucGUI/emWin通过工具导入。需要分点说明,包括嵌入步骤、工具使用和编码匹配,确保用户了解不同场景下的操作。 格式转换部分,用户可能需要转换工具的信息。FontForge是开源的,支持多种格式。在线转换工具如CloudConvert方便快捷。另外,引用中提到的专用工具如LVGL的font convert和emWinFontCvt,这些是关键点,必须包含进去。同时,转换时的注意事项如版权和参数设置也要提醒。 最后,检查是否需要补充其他资源,比如文档链接或社区支持。确保每个部分都引用了正确的来源,比如引用[1]和[2]对应的内容。回答结构要清晰,分点列出,让用户容易理解。同时,语言要口语化,避免使用技术术语过多,必要时解释步骤。确保所有信息准确,特别是工具名称和使用方法,避免误导用户。</think>### 汉字字库相关资源与信息解答 #### 1. 汉字字库下载 汉字字库的下载渠道可分为免费资源和商业授权两类: - **免费资源**: - Google Fonts、Adobe Fonts 提供部分开源中文字体(如思源黑体、思源宋体)[^1]。 - GitHub 开源项目(如 `LXGW WenKai` 等)提供矢量或点阵字库文件。 - **商业授权**: - 方正字库、汉仪字库等厂商提供专业中文字体,需购买授权后下载。 - **嵌入式系统专用**: - LVGL 中文字库通常需自行生成(如使用 `LVGL font convert` 工具将 TTF 转为 `.bin` 文件)。 #### 2. 汉字字库使用方法 不同场景下的使用方法差异较大: - **嵌入式系统(如LVGL)**: 1. 将字库文件(`.bin` 或数组)嵌入工程。 2. 通过 API 指定字体路径或名称,例如: ```c lv_font_t * my_font = lv_font_load("path/to/font.bin"); lv_obj_set_style_text_font(obj, my_font, LV_PART_MAIN); ``` 3. 确保编码格式(如 UTF-8)与字库匹配。 - **图形界面框架(如ucGUI/emWin)**: 使用 `FontCvt` 工具将字库转换为 `.c` 文件,并通过 `GUI_UC_SetEncodeUTF8()` 设置编码[^2]。 #### 3. 汉字字库格式转换 常用工具与方法: - **通用工具**: - **FontForge**:开源字体编辑器,支持 TTF、OTF、BDF 等格式互转。 - **在线转换**:CloudConvert、OnlineFontConverter 支持基础格式转换。 - **嵌入式专用工具**: - **LVGL Font Converter**:将 TTF 转换为 LVGL 兼容的 `.bin` 或 C 数组。 - **emWin FontCvt**:生成适用于 ucGUI/emWin 的 `.c` 格式点阵或矢量字库。 - **注意事项**: - 转换时需指定编码范围(如 GB2312、Unicode)。 - 点阵字库需固定像素大小(如 16x16),矢量字库需保留缩放信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值