搜索
bottom↓
回复: 25

【初折腾】给开源墨水屏换字体,并自制预览工具

[复制链接]

出200入2365汤圆

发表于 2021-2-20 06:16:10 | 显示全部楼层 |阅读模式
本帖最后由 t3486784401 于 2021-2-20 06:13 编辑

首先感谢版主的精美作品,开源墨水屏有了比较科幻的功能和设定。
按照之前折腾盖革计的流程,这里先拿时钟字体开刀。

v2.09 发布版的时钟字体为扁平样式,直接看起来有些浪费屏幕空间。
再说作为一介电工,怎能没有数码管字体,于是准备折腾。


【原理】
ESP32 的下载工具支持 FLASH 局部烧写,因而更换字体不需要重新编译主固件(况且我 Arduino 环境还没装好)。
版主比较给力的讲明了 fontnum48.bin 烧录位置为 0x790000,因而替换该文件并烧录即可。

至于字体文件编码格式,大致都能自行猜出来:
每个24x48字符占用空间:24*48/8 = 144 Bytes
整体 fontnum48.bin 文件尺寸:1584 Bytes = 11 *144 Bytes

也就是 fontnum48.bin 文件包含了共11个字符( 0~9、冒号 ),结合帖子中取模的描述,可以很容易分析出编码格式。


【更换字体】
既然 24*48 点阵并不算很大,直接画图板来重画一套数码管字体。画好 8 字符,其他都是复制粘贴所得:



按照之前分析的取模方式,生成全新的字体文件;使用烧录软件写入 0x790000 位置,直接就有了替换的效果。

烧录配置(仅更新字体):



运行效果 Before vs After:




附上现有的两种字体文件(原版+数码管版,0x790000位置):




【预览工具】
至此已经更换了时钟字体,但依旧不够完美。

由于字体文件属于编译好的字模数据,无法直观查看效果,故顺手用 VS 搭了一个预览工具。
在 Windows 系统下,直接加载 1584 Byte 的字体文件,可以直接预览字体样式。

具体原理无非是读取文件,按照字模数据在 Windows 窗口上绘制明暗像素点,我加了 2x 放大。

版主 v2.09 原版字体、新做的数码管字体对比如下:




按照惯例上传预览工具App以及VS源码:



----------------------------------------------------------------------------------------

以上,给开源墨水屏换了一套数码管字体,并自制了字体预览工具,一并分享来供大家参考。

最后祝大家折腾愉快!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出10入18汤圆

发表于 2021-2-20 06:55:04 | 显示全部楼层
我也提供一个字体网站,内容很全。
https://www.dafont.com/theme.php ... amp;text=0123456789

取模工具

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2021-2-20 08:37:13 | 显示全部楼层
赞,谢谢楼主~

出0入0汤圆

发表于 2021-2-20 10:52:14 | 显示全部楼层
感谢各位大佬的分享

出100入101汤圆

发表于 2021-2-20 10:53:52 来自手机 | 显示全部楼层
LZ出品必定精品

出12610入4088汤圆

发表于 2021-2-20 11:11:52 | 显示全部楼层
精华,打赏!

出0入0汤圆

发表于 2021-2-20 17:11:34 | 显示全部楼层
不错,支持,顶一下....

出200入2365汤圆

 楼主| 发表于 2021-2-20 18:41:07 | 显示全部楼层
感谢版主 2L 提供的字体资源链接,托这个的福我做一个立体数码管的效果。

原版字体名称:FakeHope,使用 40号字体,微调了宽度,并做了简单二值化(源字体是 TTF,不是点阵的)。
断点全靠手绘,结果还是时间仓促,有狗啃的豁子。改天好好整理下,也惠及一下盖革计。

字体文件(0x790000位置烧写):

运行效果:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出10入18汤圆

发表于 2021-2-20 21:59:59 | 显示全部楼层


汉字字库也可以更改。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入85汤圆

发表于 2021-2-20 22:57:09 | 显示全部楼层
t3486784401 发表于 2021-2-20 18:41
感谢版主 2L 提供的字体资源链接,托这个的福我做一个立体数码管的效果。

原版字体名称:FakeHope,使用 4 ...

喜欢这字体。

出0入85汤圆

发表于 2021-2-23 11:23:02 | 显示全部楼层
t3486784401 发表于 2021-2-20 18:41
感谢版主 2L 提供的字体资源链接,托这个的福我做一个立体数码管的效果。

原版字体名称:FakeHope,使用 4 ...

右下角的图是用什么软件显示的?

出200入2365汤圆

 楼主| 发表于 2021-2-23 14:08:30 | 显示全部楼层

感谢站长!

出200入2365汤圆

 楼主| 发表于 2021-2-23 14:09:21 | 显示全部楼层
网络孤客 发表于 2021-2-23 11:23
右下角的图是用什么软件显示的?

1L 自制的预览工具啊

出200入2365汤圆

 楼主| 发表于 2021-2-23 14:10:20 | 显示全部楼层
感谢大家的支持!

出0入0汤圆

发表于 2021-2-27 09:37:23 | 显示全部楼层
汉字字体也可以折腾不,如果不同大小的字体,是不是都要做不同的字库

出0入85汤圆

发表于 2021-2-27 10:45:00 | 显示全部楼层
mcu005 发表于 2021-2-27 09:37
汉字字体也可以折腾不,如果不同大小的字体,是不是都要做不同的字库

是的,不同大小字体要做成不同字库。

下图就换成楷体,但16点阵的效果不理想。

出200入2365汤圆

 楼主| 发表于 2021-2-27 12:36:02 来自手机 | 显示全部楼层
mcu005 发表于 2021-2-27 09:37
汉字字体也可以折腾不,如果不同大小的字体,是不是都要做不同的字库

字体分点阵体和矢量体,墨水屏用的是前者,涉及的每种字号都要做一套字库

出5入10汤圆

发表于 2021-8-5 14:21:29 | 显示全部楼层
t3486784401 发表于 2021-2-20 18:41
感谢版主 2L 提供的字体资源链接,托这个的福我做一个立体数码管的效果。

原版字体名称:FakeHope,使用 4 ...

楼主,从TTF文件提取想要的数字,只能通过手动画点吗?

出200入2365汤圆

 楼主| 发表于 2021-8-5 14:25:58 | 显示全部楼层
涵潇舒雅 发表于 2021-8-5 14:21
楼主,从TTF文件提取想要的数字,只能通过手动画点吗?

看样子你找到这个字体的帖子了。

有些工具可以部分替代手动画点,大多数是液晶取模类的软件。但效果很一般,就是强制二值化后的结果,轮廓狗啃一样。

因为是二值图,想要好看,基本需要手工画

出5入10汤圆

发表于 2021-8-5 14:28:42 | 显示全部楼层
t3486784401 发表于 2021-8-5 14:25
看样子你找到这个字体的帖子了。

有些工具可以部分替代手动画点,大多数是液晶取模类的软件。但效果很一 ...

恰巧看到您分享的这个字库bin文件了,打算先用下看看效果,实在不行就只能在您这个基础上手绘了

出5入10汤圆

发表于 2021-8-5 16:10:53 | 显示全部楼层
t3486784401 发表于 2021-8-5 14:25
看样子你找到这个字体的帖子了。

有些工具可以部分替代手动画点,大多数是液晶取模类的软件。但效果很一 ...

楼主,您手里有没有这个字体的bmp文件,刚试了下字体有点大,想在您的基础上缩放下 这样就不用一个点一个点的画了

出200入2365汤圆

 楼主| 发表于 2021-8-5 16:18:22 | 显示全部楼层
涵潇舒雅 发表于 2021-8-5 16:10
楼主,您手里有没有这个字体的bmp文件,刚试了下字体有点大,想在您的基础上缩放下 这样就不用一 ...

你要缩放二值图,确定不是闹着玩的?

二值图缩放以后必然是引入灰度,或者狗啃锯齿,缩放下基本就是要重画的节奏。

出200入2365汤圆

 楼主| 发表于 2021-8-5 16:23:13 | 显示全部楼层
涵潇舒雅 发表于 2021-8-5 16:10
楼主,您手里有没有这个字体的bmp文件,刚试了下字体有点大,想在您的基础上缩放下 这样就不用一 ...

图给你,这是取模前最后一步的 1bpp 二值图,缩不缩得好就看你功力了:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出5入10汤圆

发表于 2021-8-5 17:25:35 | 显示全部楼层
本帖最后由 涵潇舒雅 于 2021-8-5 17:28 编辑
t3486784401 发表于 2021-8-5 16:23
图给你,这是取模前最后一步的 1bpp 二值图,缩不缩得好就看你功力了:


非常感谢,缩放成20*40 感觉还可以

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出200入2365汤圆

 楼主| 发表于 2021-8-5 17:33:04 | 显示全部楼层
涵潇舒雅 发表于 2021-8-5 17:25
非常感谢,缩放成20*40 感觉还可以

看样子还行,偶尔有毛刺

出5入10汤圆

发表于 2021-8-5 17:36:11 | 显示全部楼层
t3486784401 发表于 2021-8-5 17:33
看样子还行,偶尔有毛刺

嗯嗯,大体能接受,个别有问题再简单修一修就可以,再次感谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2022-7-3 03:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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