龙空技术网

《点阵字库》压缩,为灰度字库护航

武字天书 55

前言:

如今兄弟们对“c语言输出点阵”大概比较关怀,各位老铁们都需要知道一些“c语言输出点阵”的相关文章。那么小编同时在网摘上汇集了一些关于“c语言输出点阵””的相关内容,希望兄弟们能喜欢,咱们一起来了解一下吧!

点阵字库压缩是一件非常有趣的事情,利用更少的资源,去实现自己预期的目标,特别在空间紧张的情形下,哪怕牺牲些许性能。给大家分享一下最近的研究成果:

说明:Arial 字体, 32点阵,字符数:2815,等高模式(336K)与 W0 压缩(240K)比较,相差近 100K

当然为了不影响显示效果,点阵字库只能是无损压缩,常见处理方式如下:

一、去除无效数据

1、优化检索表

尽量去除检索表中的空白检索信息。如编码多且不连续,可以通过分段的方式,减少空白检索信息;若编码少,可通过记录有效编码,然后根据编码建立对应的检索信息。

2、优化点阵信息

去除字符点阵中的外围白边信息。只记录有效像素区域信息,点阵越大,效果越发明显。具体可参考:BDF点阵文件格式 ,Not Fixed文件格式详解。

说明:

1、bpp = 1,size = 32,拉丁文字符。

2、注意等高与去白边的空间差异。

二、重新编码

由于考虑点阵字库其特殊性,主要对单个字符的点阵信息逐个进行重新编码压缩。处理方法:利用特殊的编码方式记录冗余数据。如下图示:

说明:

a、zip = 0,表示不压缩, zip > 0,表示压缩,不同数字表示不同的压缩方式。( 1=LZO, 2=WJG0, 3=WJG1, 4=WJG9 )

b、若是压缩数据,需要先解压再显示。

c、压缩效率与点阵大小位深度相关。如下图示:

注意:小点阵,不适宜压缩。

说明:

1、文件名为xxx-z.bin,表示压缩文件。

2、点阵像素越大,位深度越高,压缩效率越高。

总结:是否需要压缩,怎么压缩,完全取决于自己的应用场景。

武字天书,感恩一路有您!!!

标签: #c语言输出点阵 #c语言点阵字模