打印
[应用相关]

LCD的字符显示字库生成

[复制链接]
3719|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在使用stm32显示文本时,首先要使用字模软件生成字库,如下:



这里,使用的是Consolas字体,点阵大小为16*16(汉字),此时英文字体的大小为8*16,宽度为汉字字体的一半,然后设置选项参数(包括阴码、逐行扫描、十六进制等),具体配置如下:



然后就可以生成字库,首先生成ASCII字库:



会生成两个文件,即字库 + 索引:



       因为ASCII编码表的0 ~ 31是不可见字符,从32(空格)33(感叹号!)...开始才是文本字符,因此为了节省空间,直接删去前面多余不用的不可见字符,操作如下:



删除后:



然后利用PCtoLCD取模软件重新加载txt文件生成字库:



       利用WinHex软件打开字库,来看一下数据,如果生成正确的话,第一个16字节(英文为16,中文为32)应该为空格,第二个为感叹号:



直接验证一下,这个生成的字符图案的正确性:
/* 生成的字模数据 */
uint8_t test_module[] = {
        0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,
        0x18,0x08,0x00,0X08,0X18,0X00,0X00,0X00
};


void Display_char_test(void)
{
        uint8_t i = 0, j = 0, k = 0;
       
        /* 字模数据有16行 */
        for (i = 0; i < 16; i++)
        {
                /* 每行16列,2字节 */
                for (j = 0; j < 1; j++)
                {
                        /* 每个字节8位 */
                        for (k = 0; k < 8; k++)
                        {
                                /* 对每个数据字节从高位到低位进行遍历 */
                                if ((test_module[i * 1 + j] & (0X80 >> (k))) != 0)
                                {
                                        printf("*");
                                }
                                else
                                {
                                        printf(" ");
                                }
                        }
                }
                printf("\n");
        }
}
————————————————

串口打印结果如下:

这和取模软件的图案一致:

接下来,生成中文GB2312 宋体 的字库:

同样的,看一下生成的字库数据:

同理,根据生成的数据,尝试打印“顿号”:

至此,字库数据生成完毕。


版权声明:本文为CSDN博主「小小刘木子」的原创**,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/dingyc_ee/article/details/102651664


使用特权

评论回复
沙发
木木guainv| | 2021-8-6 18:06 | 只看该作者
其他字模软件生成的字库也可以用吗

使用特权

评论回复
板凳
xiaoqizi| | 2021-8-6 18:09 | 只看该作者
一般这种生成的字库都多大啊

使用特权

评论回复
地板
wowu| | 2021-8-6 18:13 | 只看该作者
这个工具是st的出品吗

使用特权

评论回复
5
usysm| | 2021-8-7 16:35 | 只看该作者
ASCII码字库的显示   

使用特权

评论回复
6
usysm| | 2021-8-7 16:37 | 只看该作者
uCGUI字符串显示吗   

使用特权

评论回复
7
typeof| | 2021-8-7 16:37 | 只看该作者
字库怎么加载  

使用特权

评论回复
8
yujielun| | 2021-8-7 16:38 | 只看该作者

谁给个特殊字符的字库

使用特权

评论回复
9
kkzz| | 2021-8-7 16:39 | 只看该作者
显示多个汉字和字符吗   

使用特权

评论回复
10
pklong| | 2021-8-7 16:39 | 只看该作者
OLED实验和汉字显示实验修改的吧  

使用特权

评论回复
11
touser| | 2021-8-7 16:39 | 只看该作者
显示的内容是预先设定的?   

使用特权

评论回复
12
myiclife| | 2021-8-7 16:40 | 只看该作者
12864带字库显示屏自定义字符显示

使用特权

评论回复
13
uytyu| | 2021-8-7 16:40 | 只看该作者
STM32自带GB2312字库显示汉字_

使用特权

评论回复
14
iyoum| | 2021-8-7 16:41 | 只看该作者
带字库12864自定义字符怎样显示?

使用特权

评论回复
15
jkl21| | 2021-8-7 16:41 | 只看该作者
看看字模点阵字库生成器(FontMaker)  

使用特权

评论回复
16
myiclife| | 2021-8-7 16:42 | 只看该作者
emwin使用自定义字库显示字母及汉字特殊字符  

使用特权

评论回复
17
touser| | 2021-8-7 16:42 | 只看该作者
所有只要把所要用到的汉字做成字库  

使用特权

评论回复
18
pklong| | 2021-8-7 16:42 | 只看该作者
字符显示器的字库中存放着字形的列点阵  

使用特权

评论回复
19
kkzz| | 2021-8-7 16:42 | 只看该作者

利用LCD602 的自定义字库显示汉字  

使用特权

评论回复
20
yujielun| | 2021-8-7 16:42 | 只看该作者
如何读取字库(ttf文件)里包含的所有字符  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

2076

帖子

2

粉丝