里飞网

 找回密码
 立即注册
查看: 72361|回复: 112
打印 上一主题 下一主题

LvglFontTool字体工具更新V0.4版本

  [复制链接]

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
跳转到指定楼层
#
发表于 2020-8-14 18:28:49 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
LvglFontTool更新V0.4


V0.4
1、增加FreeType TTF的支持,生成抗锯齿字体更加圆润、光滑。
2、修复后面AWESOME图标不能添加问题。
3、优化了下查找算法。
4、增加了直接存文件的选项,解决文字多时转换死机或慢的问题。
5、增加了用户自己输入包含include。


FreeType TTF使用方法
1、勾选FreeType TTF选项。
2、使用选择字体按钮进入TTF字体界面,选择一个TTF且设置大小。
3、输入文字即可转换了。









LvglFontTool_V0.4.rar (7.92 MB, 下载次数: 37761)
回复

使用道具 举报

0

主题

1

帖子

14

积分

新手上路

Rank: 1

积分
14
112#
发表于 2024-11-12 18:21:03 | 只看该作者
lovemengx 发表于 2021-10-14 17:47
LZ,我们使用的 LVGL 8.0.0 版本,运行在 Linux 系统中,使用 LvglFontTool V0.4 生成的 XBF 外部 BIN 文件 ...

你好,我遇到了同样的问题,我确定字库加了中文,请问你最后怎么解决的
回复

使用道具 举报

0

主题

3

帖子

30

积分

新手上路

Rank: 1

积分
30
111#
发表于 2024-5-21 08:29:53 | 只看该作者
阿里兄 发表于 2021-8-24 23:54
外部XBF字体可以直接支持,内部字体要修改一点点。

//Roboto,,-1
//字模高度:35
//内部字体
//使用排序和二分查表
lv_font_t FNT_R30 = {
    .dsc = &font_dsc,
    .get_glyph_bitmap = __user_font_get_bitmap,
    .get_glyph_dsc = __user_font_get_glyph_dsc,
    .line_height = 35,
    .base_line = 0,
};

还要把__user_font_get_bitmap, __user_font_get_glyph_dsc, 这两个函数换成lv_font_get_glyph_dsc_fmt_txt,lv_font_get_bitmap_fmt_txt, 才行吧???
回复

使用道具 举报

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
110#
 楼主| 发表于 2024-4-23 14:03:38 | 只看该作者
hjhj7591418 发表于 2024-4-23 13:52
阿里兄,我LVGL使用V8.3.5版本,使用LvglFontTool_V0.4导出“XBF字体,外部bin文件”使用,
但是卡死在“lv ...

很大可能是你读取函数有问题,建议你先使用内部XBF测试一下先,XBF是支持的。
回复

使用道具 举报

0

主题

3

帖子

30

积分

新手上路

Rank: 1

积分
30
109#
发表于 2024-4-23 13:52:56 | 只看该作者
阿里兄,我LVGL使用V8.3.5版本,使用LvglFontTool_V0.4导出“XBF字体,外部bin文件”使用,
但是卡死在“lv_obj_set_style_text_font(Labal, &RobotoR20, 0);”这句。

请问这是不支持V8以上版本吗??
回复

使用道具 举报

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
108#
 楼主| 发表于 2024-4-8 21:59:11 | 只看该作者
limhanfeng 发表于 2024-4-8 15:08
阿里兄 我用XBF字体,外部bin文件,才10个阿拉伯数字10个英文字符4个汉字,抗锯齿开到4,结果生成的bin文件就有 ...

XBF格式,是使用你所输入文字中unicode最大值和最小值之间所有字符都会添加到索引,用于快速查表,也就是空间换时间的做法,XBF格式字体适用于有大空间的场景使用。
回复

使用道具 举报

0

主题

5

帖子

30

积分

新手上路

Rank: 1

积分
30
107#
发表于 2024-4-8 15:08:25 | 只看该作者
阿里兄 我用XBF字体,外部bin文件,才10个阿拉伯数字10个英文字符4个汉字,抗锯齿开到4,结果生成的bin文件就有120KB,这正常吗 二进制文件这么大的吗
回复

使用道具 举报

0

主题

5

帖子

30

积分

新手上路

Rank: 1

积分
30
106#
发表于 2024-4-8 09:39:56 | 只看该作者
admin 发表于 2024-4-7 16:56
使用内部字体是否正常?这种情况基本是读取或BIN文件写到FLASH时有问题。

重新试了下,发现使用XBF字体,内部大数组也是同样现象,而使用官网的字体转换是能正常显示的
回复

使用道具 举报

0

主题

5

帖子

30

积分

新手上路

Rank: 1

积分
30
105#
发表于 2024-4-7 17:35:50 | 只看该作者
admin 发表于 2024-4-7 16:56
使用内部字体是否正常?这种情况基本是读取或BIN文件写到FLASH时有问题。

使用内部.c文件是正常的
回复

使用道具 举报

0

主题

2

帖子

84

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
84
104#
发表于 2024-4-7 16:56:00 | 只看该作者
limhanfeng 发表于 2024-4-7 15:54
这个我复制错了 重新修改了下 麻烦大佬再看下呗

使用内部字体是否正常?这种情况基本是读取或BIN文件写到FLASH时有问题。
回复

使用道具 举报

0

主题

5

帖子

30

积分

新手上路

Rank: 1

积分
30
103#
发表于 2024-4-7 15:54:59 | 只看该作者
admin 发表于 2024-4-7 15:48
__user_font_getdata中的bFirstIn有问题,init_font也重新定义了一个bFirstIn,这两个都是static属于只对 ...

这个我复制错了 重新修改了下 麻烦大佬再看下呗
回复

使用道具 举报

0

主题

2

帖子

84

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
84
102#
发表于 2024-4-7 15:48:43 | 只看该作者
limhanfeng 发表于 2024-4-7 15:43
我采用XBF字体,外部bin文件,放到了linux系统中的flash中,我的LVGL是8.0.0版本,经过烧录后,UI符号和中英文都 ...

__user_font_getdata中的bFirstIn有问题,init_font也重新定义了一个bFirstIn,这两个都是static属于只对本函数内有效,它们没有任何关系,要换成全局变量,你这C语言不过关啊
回复

使用道具 举报

0

主题

5

帖子

30

积分

新手上路

Rank: 1

积分
30
101#
发表于 2024-4-7 15:43:04 | 只看该作者
本帖最后由 limhanfeng 于 2024-4-7 15:47 编辑

我采用XBF字体,外部bin文件,放到了linux系统中的flash中,我的LVGL是8.0.0版本,经过烧录后,UI符号和中英文都没有显示,大佬门帮看下会是为何原因呀
修改__user_font_getdata接口实现如下:
  1. char *Font_buff = NULL;

  2. static void init_font(void)
  3. {
  4.         FILE *fileFont = fopen("/mnt/custom/data/Picture/lv_font_siyuansongti_normal.bin", "r");
  5.         if (fileFont == NULL)
  6.         {
  7.                 printf("Failed to open file for reading");
  8.                 return;
  9.         }
  10.         fseek(fileFont, 0, SEEK_END);
  11.         long lFontSize = ftell(fileFont);
  12.         rewind(fileFont);
  13.         Font_buff = (char *)malloc(sizeof(char) * lFontSize);
  14.         fread(Font_buff, 1, lFontSize, fileFont);
  15.         fclose(fileFont);
  16. }

  17. static uint8_t *__user_font_getdata(int offset, int size)
  18. {
  19.         //如字模保存在SPI FLASH, SPIFLASH_Read(__g_font_buf,offset,size);
  20.         //如字模已加载到SDRAM,直接返回偏移地址即可如:return (uint8_t*)(sdram_fontddr+offset);
  21.         static bool bFirstIn = true;
  22.         if (bFirstIn)
  23.         {
  24.                 bFirstIn = false;
  25.                 init_font();
  26.         }
  27.         return (uint8_t*)(Font_buff + offset);
  28. }
复制代码

字体为外部的思源宋体,生成前的设置如下:



回复

使用道具 举报

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
100#
 楼主| 发表于 2024-4-5 19:19:03 | 只看该作者
sutaojin 发表于 2024-3-15 14:01
楼主,0.5测试版本里面,还是存在字体大并且字数多的时候转换卡死的情况

字体大建议使用0.4版本的XBF格式。
回复

使用道具 举报

0

主题

1

帖子

18

积分

新手上路

Rank: 1

积分
18
99#
发表于 2024-3-15 14:01:34 | 只看该作者
楼主,0.5测试版本里面,还是存在字体大并且字数多的时候转换卡死的情况
回复

使用道具 举报

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
98#
 楼主| 发表于 2024-3-11 18:47:02 | 只看该作者
Juszou 发表于 2024-3-11 18:30
比如阿拉伯语,拉丁文,缅甸文,似乎再左边都看不到

左边看不到,那就是字体没有这些文字,可以选宋体或微软雅黑试试;
回复

使用道具 举报

0

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
97#
发表于 2024-3-11 18:30:57 | 只看该作者
阿里兄 发表于 2024-3-11 18:29
这需要看你选的字体支持字符情况;字符多生成也很慢、可以直接生成文件;有部分是双unicode编码的文字可 ...

比如阿拉伯语,拉丁文,缅甸文,似乎再左边都看不到
回复

使用道具 举报

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
96#
 楼主| 发表于 2024-3-11 18:29:00 | 只看该作者
Juszou 发表于 2024-3-11 18:20
你好,我想知道 v0.4 支持阿拉伯语等除了中日韩英文以外的语言吗?我是用 python 脚本写入 0x0-0xFFFF 所有 ...

这需要看你选的字体支持字符情况;字符多生成也很慢、可以直接生成文件;有部分是双unicode编码的文字可能不支持。
回复

使用道具 举报

0

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
95#
发表于 2024-3-11 18:20:51 | 只看该作者
你好,我想知道 v0.4 支持阿拉伯语等除了中日韩英文以外的语言吗?我是用 python 脚本写入 0x0-0xFFFF 所有字符,但是工具并不能显示,并且也无法生成;工具是有最大的字符数量限制,还是语言限制?
回复

使用道具 举报

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
94#
 楼主| 发表于 2024-1-9 15:16:09 | 只看该作者

字库是乱码的
回复

使用道具 举报

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
93#
 楼主| 发表于 2024-1-9 11:34:59 | 只看该作者
yuechaofu 发表于 2024-1-9 11:33
附件是我测试的中文字库,帮忙看看有问题,谢谢

没看到附件,你可以先用内部字体进行测试。
回复

使用道具 举报

0

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
92#
发表于 2024-1-9 11:33:28 | 只看该作者
附件是我测试的中文字库,帮忙看看有问题,谢谢
回复

使用道具 举报

0

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
91#
发表于 2024-1-9 11:19:22 | 只看该作者
lovemengx 发表于 2021-10-16 11:19
感谢大佬,原因是因为所选的字体不包含中文。按照大佬说的话,带中文至少 1M 以上。大伙如果也有遇到这种 ...

我的字库2MB多,包含了中文,还是显示不出来,系统的自带的中文字库可以,请问这个是什么问题?
回复

使用道具 举报

1

主题

10

帖子

43

积分

新手上路

Rank: 1

积分
43
90#
发表于 2023-12-12 11:08:13 | 只看该作者
阿里兄 发表于 2023-12-12 11:06
就结构体变了一下,这个想一下就能想到了

好的好的,我再去看看,感谢回复
回复

使用道具 举报

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
89#
 楼主| 发表于 2023-12-12 11:06:11 | 只看该作者
feziLee 发表于 2023-12-12 11:00
下边用到这两个参数的怎么处理啊



就结构体变了一下,这个想一下就能想到了
回复

使用道具 举报

1

主题

10

帖子

43

积分

新手上路

Rank: 1

积分
43
88#
发表于 2023-12-12 11:00:43 | 只看该作者
阿里兄 发表于 2021-8-24 23:54
外部XBF字体可以直接支持,内部字体要修改一点点。

下边用到这两个参数的怎么处理啊
回复

使用道具 举报

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
87#
 楼主| 发表于 2022-12-28 08:32:39 | 只看该作者
duan 发表于 2022-12-25 16:23
阿里哥,我用文件系统读的很慢,正常吗,20几个字读了10S

尽量不要使用文件系统,如果字库放文件系统,那这个字库文件打开后不能关闭,因为字库读取是非常频繁的,当然最好不要用文件系统,直接spi读会好很多,直接把字库文件读到内存就更好了。
回复

使用道具 举报

1

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
86#
发表于 2022-12-25 16:23:29 | 只看该作者
本帖最后由 duan 于 2022-12-25 16:29 编辑
阿里兄 发表于 2021-10-30 17:17
可以的,打开一次,不关闭文件。不过建议用spi flash,不使用文件系统。

阿里哥,我用文件系统读的很慢,正常吗,20几个字读了10S
回复

使用道具 举报

0

主题

3

帖子

12

积分

新手上路

Rank: 1

积分
12
85#
发表于 2022-7-25 21:12:26 | 只看该作者
感谢楼主抽空回答;我自己在摸索摸索;
回复

使用道具 举报

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
84#
 楼主| 发表于 2022-7-23 11:52:06 | 只看该作者
find_shell 发表于 2022-7-23 11:32
感谢楼主抽空回复,但是我去测试了下;您说的“宋体”是指的哪个字库呢?我在当前系统没有找到您说的类似的 ...

可能是QT处理的,并不是默认单一个TTF。
回复

使用道具 举报

0

主题

3

帖子

12

积分

新手上路

Rank: 1

积分
12
83#
发表于 2022-7-23 11:32:23 | 只看该作者
感谢楼主抽空回复,但是我去测试了下;您说的“宋体”是指的哪个字库呢?我在当前系统没有找到您说的类似的;是不是该字库已经集成到了您这个工具里面了?你说的这个宋体字库文件可以发下我邮箱(wenjinzaime@163.com)或则给一个下载地址吗?谢谢;

font2.png (206.58 KB, 下载次数: 3400)

font2.png

font1.png (42.48 KB, 下载次数: 3424)

font1.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|里飞网  

GMT+8, 2024-11-23 15:26 , Processed in 0.147871 second(s), 6 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表