教程不断更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429
前面用了四个章节讲解emWin的字体显示问题,本章节是将这五种方式做一个简单的总结,方便用户在项目中选择合适的方式。
33.1 五种字体显示方式简单总结说明
33.2 总结
这种方式最大的特点是可以生成小字库,如果项目中需要的字符不多的话,这种方式非常合适,占用空间小。这种方式的全字库实战性不大,主要是因为C格式的全字库太占空间了,内部Flash基本放不下,不过这种C格式的全字库用在模拟器上面测试是可以的。
XBF格式字库可以存储到任何外部存储介质中,带不带文件系统都没有关系,且XBF格式字体支持抗锯齿效果,显示大字体的时候效果非常棒。实际项目中推荐将XBF格式全字库存储到不需要文件系统的外部存储介质中,比如SPI Flash,NOR Flash都是可以的,实际效果比较好,不建议存到SD卡中(使用SD卡基本都需要配文件系统的),字体稍大点就比较卡机。
SIF格式字体适合用于总线方式寻址的存储设备中,比如SDRAM,SRAM,NOR Flash等,如果内部Flash或者SRAM的空间够,存储到内部也是没有问题的。相比XBF格式字体的优势就是速度稍快点,因为是总线方式读取。虽然XBF格式的字体也可以存储到总线方式寻址的存储器中,但是由于XBF格式字体读取的时候要有一个专门的回调函数去处理,要耽误些时间,所以要稍慢些。根据官方的意思,如果是总线接口方式寻址的存储设备,推荐使用SIF格式字体,如果是SPI Flash,SD卡,NAND Flash等,推荐使用XBF格式字体。
对于不习惯XBF格式和SIF格式的Unicode编码全字库的用户来说,使用GB2312编码是很好的选择,很适合初学者,汉字操作方式与大家使用裸机代码(没有使用GUI)时是一样的。
前面四种方式都是点阵字体,矢量字体最大的好处就是可以任意放大或者缩小字体,而且字体的显示效果不失真。矢量字体也是有缺点的,即非常消耗内存,所以实际项目中推荐使用32位SDRAM,并且容量在32MB及其以上。
本章节做了一些简单的总结,实际项目还是要以实际测试情况为准,本章节的建议可以作为参考。