红孩儿编辑器的开发 1 字体库的生成过程

红孩儿编辑器的开发 1  字体库的生成过程

采用了位图的方式,以后的优化过程中,会改为矢量图的方式来实现。
现在采用的是16*16的点阵数据,先在EXCEL软件中,手工地把字的
形状画出来。有点的位置为1,无点的位置为0,一行计算成一个数据,
它的值小于等于65535。所以一个字的点阵图像表示成如下的16个数据
的数组,来表示这16行的情况。例如 如下的一行数据,代表汉字“一”
[0,0,0,0,0,0,0,8188,0,0,0,0,0,0,0,0],

如上是汉字的字体库的编码过程。
在编辑器上进行渲染的过程是解码的过程。例如显示第五行第六列的位置,
取数组中的第五个数据,进行二进制化,从最高位开始取第六位,是1,
则打印点,否则不显示。

这种方式,编码与解码过程都是最简单的。缺点也是明显的,工作量比较大,
而且在高分辨率的情况下,会失真,出现锯齿状。但是,系统的最初的版本时,
比较适合用这个解决方案,快速地开发,实现相应的功能。再进行相关的优化操作。

以上的工作思路是在未学习相关的知识的情况下,自发的领悟采用的方法,
经过相关的理论学习后,得知,位图与矢量图是信息在编码的过程中,采用了不同
的数据结构,即位图,用的是栅格结构,矢量图使用矢量数据结构。
我采用的编码方法叫做直接栅格编码。是栅格编码的方法中最简单的一种。

小结:理论学习与计算机的系统开发实践,必须紧密地结合到一起。只学习理论
对理论的领悟与理解得不会深刻与透彻。只埋头实践,不学习理论,必须是低层次,
低效率的开发,因为有些技术已经很成熟了,可以有大量的现成的成熟方法可以直接使用,
在使用中,快速地掌握它。

猜你喜欢

转载自blog.csdn.net/gggwfn1982/article/details/84037038