lovemengx 发表于 2021-10-15 17:03:38

阿里兄 发表于 2021-10-14 17:52
代码看起来没有问题,你是转换的全字库吗,bin文件是多大

“所有汉字”、“常用汉字”、自定义汉字,都试过,不行。

阿里兄 发表于 2021-10-15 17:08:56

lovemengx 发表于 2021-10-15 17:03
“所有汉字”、“常用汉字”、自定义汉字,都试过,不行。

bin格式没有问题的,很多人都在用;你的不显示肯定是哪里没对,选的字库是否带汉字,BIN文件的读取是否正确;加我QQ聊看:617622104

lovemengx 发表于 2021-10-16 11:19:50

阿里兄 发表于 2021-10-15 17:08
bin格式没有问题的,很多人都在用;你的不显示肯定是哪里没对,选的字库是否带汉字,BIN文件的读取是否正 ...

感谢大佬,原因是因为所选的字体不包含中文。按照大佬说的话,带中文至少 1M 以上。大伙如果也有遇到这种情况,可以选择系统自带的字库(如新宋体)确认一下。

复盘一下我的问题:

1. 可以显示数字,英文,但是无法显示汉字,只显示口字。
   点阵:无论是外部 bin 文件还是内部数字都不行
   矢量:使用 freetype 也不行

2. 使用 LVGL 内部字库可以正常显示中文。
    使用的是 lv_font_simsun_16_cjk 字库。

3. 排查过源文件的编码格式
    无论是 UTF-8 还是 ANSI 都不行,正确的是 UTF-8。

阿里兄 发表于 2021-10-16 11:22:54

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

:handshake

wrdt24435 发表于 2021-10-16 16:47:26

阿里兄 发表于 2021-10-14 23:28
不开源,多字号大小多转几下就可以了。

O... 那能请教下阿里兄,QT如何将TTF字库解成bpp可选的点阵吗?我看别人的也是用QT做的,需要像Python一样用一个什么库(或者叫包)吗?
我找了下Python有一种做法是将文字转成文字图片,然后再将图片转测点阵bitmap

阿里兄 发表于 2021-10-16 16:51:30

wrdt24435 发表于 2021-10-16 16:47
O... 那能请教下阿里兄,QT如何将TTF字库解成bpp可选的点阵吗?我看别人的也是用QT做的,需要像Python一 ...

QT有自带的字体处理API,也可以使用FreeType字体库,文字转成图片再解析图片像素也是一种方法。你加我QQ,方法都可以告诉你。

wrdt24435 发表于 2021-10-16 17:44:38

https://github.com/lvgl/lv_font_conv
害,找了那么久,原来官网就有这离线工具,这个支持命令行执行,这个是实际项目会需要的
图形化UI用起来虽然很爽,但多人开发的时候,要的还是一键生成更爽:lol

阿里兄 发表于 2021-10-16 18:07:32

wrdt24435 发表于 2021-10-16 17:44
https://github.com/lvgl/lv_font_conv
害,找了那么久,原来官网就有这离线工具,这个支持命令行执行,这 ...

嗯,合适就好

MsTS 发表于 2021-10-24 11:00:18

大神你好,我想请教一个问题,我用codeblocks搭的模拟环境,使用外部bin文件的方式来加载,为什么有的字只显示一半或完全不显示(不同的字体大小会有不同的显示问题)?
我已经把 LV_FONT_FMT_TXT_LARGE 改为1了,下面是显示的效果:

阿里兄 发表于 2021-10-24 11:21:46

MsTS 发表于 2021-10-24 11:00
大神你好,我想请教一个问题,我用codeblocks搭的模拟环境,使用外部bin文件的方式来加载,为什么有的字 ...

ttf吗,昨天一个网友也反馈了,你试试内部字体有没有问题,字形数据有没有缺失

MsTS 发表于 2021-10-24 11:43:36

阿里兄 发表于 2021-10-24 11:21
ttf吗,昨天一个网友也反馈了,你试试内部字体有没有问题,字形数据有没有缺失 ...

使用内部字体没有问题,但是flash没那么大呀,还是希望能通过bin文件的方式来外部导入:lol

MsTS 发表于 2021-10-24 12:05:32

阿里兄 发表于 2021-10-24 11:21
ttf吗,昨天一个网友也反馈了,你试试内部字体有没有问题,字形数据有没有缺失 ...

我又尝试了别的字体,内部字体都没问题,都是外部bin文件会有问题,每种字体每种大小,都会有不同的缺失

阿里兄 发表于 2021-10-24 12:08:21

MsTS 发表于 2021-10-24 12:05
我又尝试了别的字体,内部字体都没问题,都是外部bin文件会有问题,每种字体每种大小,都会有不同的缺失 ...

或是你读取有问题,外部bin那么多人用都没事,你贴图你是怎么转换的,还有字库bin和c上传上来,有空我试试

MsTS 发表于 2021-10-24 12:10:29

本帖最后由 MsTS 于 2021-10-24 12:13 编辑

这是.c和.bin文件,ttf文件我就用的系统自带的

阿里兄 发表于 2021-10-25 10:00:25

MsTS 发表于 2021-10-24 12:10
这是.c和.bin文件,ttf文件我就用的系统自带的
使用你上传上来的字库,实际测试没有问题。





static uint8_t *__user_font_getdata(int offset, int size){
    //如字模保存在SPI FLASH, SPIFLASH_Read(__g_font_buf,offset,size);
    //如字模已加载到SDRAM,直接返回偏移地址即可如:return (uint8_t*)(sdram_fontddr+offset);
    FILE *fp = NULL;
    fp = fopen("D:\\lvgl-sim\\myFont_26.bin", "rt+");
    fseek(fp, offset,0);
    memset(__g_font_buf,0,390);
    fread(__g_font_buf, size, 1, fp);
    fclose(fp);
    return __g_font_buf;
}

看了下你的读取代码,有问题,怎么能每次都打开关闭文件呢,这个函数调用的频率很多且很快的;模拟器就直接读取到内存。



ghong3298226 发表于 2021-10-28 17:59:07

请阿里兄,抽空把界面优化一下。转换结果我基本不看,希望“输入请包含”文本框尽量大,这个很实用,最好跟“转换结果”一样大,并增加自定义结束行。谢谢!

阿里兄 发表于 2021-10-28 18:03:58

ghong3298226 发表于 2021-10-28 17:59
请阿里兄,抽空把界面优化一下。转换结果我基本不看,希望“输入请包含”文本框尽量大,这个很实用,最好跟 ...

这个可以,不过近段暂时没有时间,太忙。

MsTS 发表于 2021-10-30 17:13:37

阿里兄 发表于 2021-10-25 10:00
使用你上传上来的字库,实际测试没有问题。




感谢,这个问题后来是因为我没有将文件以二进制方式打开而造成的,已经解决了。
在模拟器中内存足够是可以将字库一次性读出,但在实际使用情况下,硬件没有那么大内存,无法一次性全部读到内存,还是说只需要避免频繁打开关闭文件就行?比如在初始化时打开字符文件后不再关闭,每次调用user_font_getdata时只调用lseek函数就行?

阿里兄 发表于 2021-10-30 17:17:14

MsTS 发表于 2021-10-30 17:13
感谢,这个问题后来是因为我没有将文件以二进制方式打开而造成的,已经解决了。
在模拟器中内存足够 ...

可以的,打开一次,不关闭文件。不过建议用spi flash,不使用文件系统。

jialong 发表于 2021-11-3 10:51:23

本帖最后由 jialong 于 2021-11-3 10:54 编辑

请教阿里兄。
我用 0.4 版本转换 win7 自带的 楷体,48 像素,添加了所有汉字和awesome图标,生成内部字体 c 文件,设置直接存文件,但每次转换到90%左右,都报错,没有成功过,出错提示如下:



请帮看看大概是什么原因。

阿里兄 发表于 2021-11-3 10:58:22

jialong 发表于 2021-11-3 10:51
请教阿里兄。
我用 0.4 版本转换 win7 自带的 楷体,48 像素,添加了所有汉字和awesome图标,生成内部字体...

这个应该是生成的内容太多了,你试试内部XBF字体,实在不行就外部XBF,使用XBF生成的BIN直接转成C数组,读取函数直接返回&(C数组名)。

fsyzty 发表于 2021-12-11 19:28:25

阿里兄 发表于 2021-8-24 23:54
外部XBF字体可以直接支持,内部字体要修改一点点。






请问这样修改有没有问题?

阿里兄 发表于 2021-12-11 19:53:48

fsyzty 发表于 2021-12-11 19:28
请问这样修改有没有问题?

请看本贴22楼的回复。

fsyzty 发表于 2021-12-12 22:29:01



esp32 编译出错. 注释那几句后不报错,但是我没法确认上面的修改有没有问题.......

阿里兄 发表于 2021-12-12 22:34:21

fsyzty 发表于 2021-12-12 22:29
esp32 编译出错. 注释那几句后不报错,但是我没法确认上面的修改有没有问题.......
...

LV8这个其实就是字体结构体成员变了下,你跳转看看它的结构体就懂了。

fsyzty 发表于 2021-12-12 23:38:44

编程小白,只会跟着人家的教程做.

史莱姆 发表于 2021-12-17 00:21:08

大佬们,有没有方便加日文韩文的方法?

阿里兄 发表于 2021-12-17 08:34:12

史莱姆 发表于 2021-12-17 00:21
大佬们,有没有方便加日文韩文的方法?

这个百度一下日韩所以字符看看了。

shnd 发表于 2021-12-23 10:04:47

大家好,LvglFontTool_V0.4.rar 这个文件下载非常慢,几个小时下载不了,能发一下给我吗?e-mail:916359820@qq.com

shnd 发表于 2021-12-23 10:11:36

已经可以了,原来是UC浏览器的问题,换了浏览器就行了。谢谢。
页: 1 [2] 3 4
查看完整版本: LvglFontTool字体工具更新V0.4版本