以 12x12 的汉字点阵字体为例,为了满足字节对齐的要求,一般采用 12x16 的格式来记录,每个字的大小是 24 Bytes 。如果只覆盖 GB 2312 的 6763 个汉字,再加上 ASCII 字符和其他一些常用符号,按 7000 字计算,需要占用 168 KB 。
为了节省空间,考虑到有效的数据其实只有 11x11 ,不进行字节对齐了,每个字的大小是 15 Bytes ,仍然需要 106 KB ,而且读取字库的代码量肯定会增加,索引效率也会降低。维基百科说 7-zip 的 LZMA 算法非常适于嵌入式设备,不知道 LZMA 的代码本身要用多少空间?
或者,不知道有没有什么更好的方法进行压缩?又如何从压缩数据中提取出一个字的点阵呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.