一、汉字字库的制作
汉字的取模采用软件ts3“点阵字库生成器3.8”模式用“横向取模方式1”,软件网上可以找到。用该软件可以制作任何字体和不大于32×32字号的汉字库。注意:做好的字库要用ULTRAEDIT或WINHEX等编辑软件,将字库从后面开始所有0X00的字节直到不含0x00的那些行删掉,以减少字库大小。
ASCII码取模,用PCtoLCD2002.exe软件制作,取模方式“顺向(高位在前)、逐行式”按16×16、24×24等方式取模,保存C文件,删除文件内的注释部份,只保存纯粹的16进制文件如:0x00,0x00,注意删除最后一个逗号,网上下载C文件转BIN软件,将ASCII的C文件转成字库文件.bin后缀文件。
二、图标字库的制作
在选择字体制作的时候,偶然选择了WINDOWS自带的WEBDINGS等4个字体,打开看到是一些图标字库,于是产生了制作图标字库用于液晶屏显示的想法,字库可不可以编辑修改,制作自己要求的图标呢?网上搜索果然有这样软件,下载字库编辑 FontCreator如下图:该软件非常容易上手,几分钟就可以熟练使用,十分方便。
1、我选择的是修改WEBDINGS字库,先备份WINDOWS\FONTS\WEBDINGS.TTF文件、然后删除该文件,用备份的文件复制一个取名为:WEB.TTF(因Webdings.ttf文件是WINDOWS系统管理的文件,无论你取什么名,最后复制粘贴安装的时候都会默认为Webdings.ttf名字)。
2、图标准备:可以选择任何后缀的图像文件,ICO、JPG、png等文件,用Photoshop等软件做去色处理,转换成黑白图像,转存为jpg后缀的文件,或者用矢量图制作软件CorelDraw、图标制作软件 IconWorkshop,无论什么图像只要是黑白的即可。用FontCreator软件开始每个字的修改,调整尺寸不超边界即可,FontCreator的任何设置不要修改,保持默认,你只要做插入图像、调整尺寸的排版工作。
3、特别说明:ASCII码的后128个图标,因为键盘无法输入(包括ALT+小键盘数字组合),不必修改,可以把你喜欢的复制到94个ASCII码的区域里。“””和“\”对应的图标可以不用修改,因为C编译器认为在输出字符串的时候为非法字符。
三、字库更新
说实话,刚转入STM32才接触到无处不在的结构体C语句,目前还不会使用,只好按照自己的想法,采用笨办法来更新字库,好在字库更新只做1、2次而已。用ULTRAEDIT打开字库文件,依次追加其他字库文件,需记住追加字库的名称和起始地址,如:宋体16×16的地址是0002DD90H------0006DBCFH那么把起始地址0002DD90H转换到10进制为:187792,后追加的字库如果不占整行,用00补齐。4.3寸的液晶屏的FLASH是W25Q16换成8M字节的W25Q64,SD卡的FATFS文件系统打不开大于2M字节的文件,因此制作了5个字库文件,每个大约1-1.7M左右,用开发板带的更新字库函数,分5次刷入FLASH中,注意:第二次以后刷入的时候,要修改文件名,屏蔽擦除整片FLASH的语句,修改写入地址即可。
四、汉字显示的实现
既然是单片机控制彩屏,那么单一的16×16的汉字显示,在界面设计上就显得力不从心了。尤其的4.3寸以上的彩屏,蝇头小字显得比例失调,因此就需要大字体来做显示,那末,如何实现大字体显示呢?
(后面内容请见附件说明)