5. 字库API使用
5.1 获取字库库文件
通过 MindCraft 软件生成字库库文件
推荐用户使用 MindCraft 软件制作库文件,目前 MindCraft 软件仅支持制作使用 Keil5 的 AC5 编译环境下的 ARM32 和 C51 的工程。如果是其他的编译环境,请联系高通字库的技术人员。
MindCraft 字库芯片 Lib 助手界面
使用 MindCraft 制作库文件的步骤
-
首先打开 MindCraft 软件,点开应用,选择 字库芯片 Lib 助手。
-
基础设置:
- 处理器架构选择:根据客户的处理器来选择 ARM 或者 51 架构。
- 字库型号选择:根据需要选择字库型号。
- 选择本地编译器路径:ARM 选择 "…/keil/keil32/UV4/UV4.exe",51 选择 "…/keil/keil c51/UV4/UV4.exe"。
- 库文件生成路径:选择生成的库文件保存的路径。
- 工程参数导入:在客户提供了工程时选择导入工程的 .uvprojx 文件。导入后下面的配置会自动配置完成。如未提供示例工程则需要手动选择后点击生成文件。
- 点击 "生成文件",在弹窗点击 "打开生成文件"。
MindCraft Windows 版下载
MindCraft 官网
MindCraft 使用视频
5.2 使用字库库文件
字库芯片 API 接口调用说明
推荐用户使用 MindCraft 软件制作库文件,目前 MindCraft 软件仅支持制作使用 Keil5 的 AC5 编译环境下的 ARM32 和 C51 的工程。如果是其他的编译环境,请联系高通字库的技术人员。
在 MindCraft 生成的资料中,有一个 GTxxxx.h 和 GTxxxx.lib 或 GTxxxx.a 文件,将 h 文件和 lib 或 a 文件拷贝到项目文件中。将 lib 或 a 文件像 c 文件一样添加进入项目工程。
04_字库API函数接口
101_如何获取高通字库库文件.txt
GT21L16S2Y_readme.txt
GT21L16S2Y.h
GT21L16S2Y.lib
在 GTxxxx_readme.txt 文件中,写有本字库型号的函数 API 接口使用说明。
font_chip_api.c
/* ===== 字库芯片 API 使用示例 ===== */
#include "gt_font_lib.h"
/* 1. 初始化字库芯片 */
void FontChip_Init(void)
/* 2. 获取字符点阵数据
* pchCode — 字符编码 (GB2312 / Unicode)
* pBuf — 输出缓冲区
* fontSize — 点阵大小 (12/16/24/32)
*/
void FontChip_GetChar(uint16_t unicode, uint8_t *pBuf, uint8_t fontSize)
/* 3. 常用 API 函数一览 */
// FontChip_CalcAddr() — 计算字符在芯片中的存储地址
// FontChip_GetDataLen() — 获取指定字号的点阵数据长度
// ASCII_GetData() — 获取 ASCII 字符点阵
// GB2312_GetData() — 获取 GB2312 汉字点阵
// Unicode_GetData() — 获取 Unicode 字符点阵
5.3 使用示例
完整代码示例:LCD 上显示中英文混合字符
以下示例演示从初始化字库芯片到在 LCD 屏幕上显示中英文混合字符串的完整流程。
main.c
/* ===== 完整示例:在 LCD 上显示汉字 ===== */
#include "gt_font_lib.h"
#include "lcd_driver.h"
void LCD_ShowString(uint16_t x, uint16_t y, const char *str, uint8_t fontSize)
{
uint16_t unicode;
uint8_t buf[256]; // 最大 32×32 点阵 = 128 字节
uint8_t i, j;
while (*str)
{
// 1. 获取字符 Unicode
str = UTF8toUnicode(str, &unicode);
// 2. 从字库芯片读取点阵
FontChip_GetChar(unicode, buf, fontSize);
// 3. 逐行绘制到 LCD
for (i = 0; i < fontSize; i++)
}
x += fontSize; // 移动到下一个字符位置
}
}
int main(void)

