J2me 游戏点阵字库引擎(六)之部分汉字库【续】
4,生成点阵字库。这里我需要向大家推荐一款点阵字库生成软件:《特大点阵字库制作软件》。?其软件的使用截图如下
:
图上的dd.hzk文件就是我们生成的GB2312编码的汉字点阵字库。
?
5.将汉字点阵字库加载到程序中,代码如下:
?
?6,通过汉字的机内码查找在dd.hzk中找到相应的汉字字形码,并将其和汉字的机内码一起做数据持久化。
??7.输出到相应的文件中
?
8.编写加载部分字库的函数
static void initFontByte() {try {InputStream inputStream = "".getClass().getResourceAsStream(ZK_PATH);DataInputStream dataInputStream = new DataInputStream(inputStream);fontHeight = dataInputStream.readByte();chineseCharWidth = dataInputStream.readByte();NUM_OF_CH_CHAR = dataInputStream.readInt();chineseFontCode = new int[NUM_OF_CH_CHAR];for (int i = 0; i < NUM_OF_CH_CHAR; i++) {chineseFontCode[i] = dataInputStream.readInt();}int oneChMSize = fontHeight * (((chineseCharWidth - 1) >> 3) + 1);int allSize = oneChMSize * NUM_OF_CH_CHAR;chineseShapeCode = new byte[allSize];dataInputStream.read(chineseShapeCode, 0, allSize); dataInputStream.close();} catch (IOException e) {e.printStackTrace();}}?
?10. 下面我需要最后添加一个函数,就是在对应的机内码集中将自己的汉字位置找出来。还记得上一节中,我们说的排序吗???? 这里在从机内码中将自己的汉字找出来,根据其排序采用二分查找,以此来加快程序的执行速度。根据机内码的位置,得到字形码的位置,将汉字绘制出来。
?????? 这个函数,我就不贴出来了,相信同仁是可以写出来的!!
??
?????? 谢谢大家的阅读!?
?
?
?
?