打算写个9860G的电子书软件。。。
貌似还有人很期待中文字库,我也不好去挖上次那个坟,所以单开一个帖子说下最近的成果。。。。9860G这些计算器并没有内建中文字库,所以要让系统界面显示中文,应该是没什么可能了。但是自己写程序显示中文,确实没有什么困难的。我前一段时间写的那个输入区位码显示汉字的程序,原理很简单。我找了一个UCDOS的点阵汉字库,所谓点阵汉字库就是6000多个汉字的单色图片,输入区位码(汉字库中这些“图片”是按照区位码的顺序来存的),然后对应找到汉字库的地址,读出这个图片,然后用SDK里面带的标准库函数把它画出来就行了。当时用的汉字库是16*16点阵的,261K,其实这对Slim的存储容量(差不多1.5M)来说不算什么。后来我比较忙,也就没再继续改。
今天稍微改了一下那个程序,可以读取一个文本文件的内容,然后显示出来,这样还有点实际意义(比如当个电子书阅读器之类的),而且把汉字库换成了12*12的(191K),我倒不是为了少占用多少内存,主要是16*16的汉字对这128*64的屏幕来说太大了。。。没法忍了,如果用16*16的汉字库,整个屏幕才能显示32个字。。。。现在改12*12的汉字库,就能显示50个字了(10*5),而且两边还能剩点空隙,不用充满整个屏幕。
还有个问题,那就是文本里面会有英文字母和数字,虽然9860G可以直接显示,但是它显示的字符是8*6的。。。虽然宽度和汉字的一半一样,但是其高度要矮一些,这样不仅影响美观,而且没法显示多行文字。。。于是我又找了个12*6的ASCII字符库放了进去,实现了中英文的混合显示。
如图所示
模拟器的截图
真机上的结果。
第一行的66是那个文本文件的长度,用本身的字符集输出的,后面四行是用程序带的字符集输出的,我还比较满意。。只是C的左半边被切掉了(这个问题很好解决,我懒得弄了),现在放假了,有时间折腾这些东西,过两天可能弄个电子书软件出来。。。
程序是个半成品,写得很乱,而且也有些问题,我就不贴出来了。那个SDK很容易搞明白的。。。稍微学过一点编程都会写 关于那些汉字库,没必要自己去整理,到处都有现成的。。。
我发上来一个UCDOS的字库,HZK16是16点阵的汉字库,HZK12和ASC12分别是12点阵的汉字库和ASCII字符库,注意这些字库都只支持GB2312里面的6763个汉字,例如囧、喆之类的都没有。。。
另外我把编译好的程序也放在里面了,如果要想自己试试的话可以把abc.g1a,HZK12,ASC12和r.txt传到计算器上。。。r.txt就是要显示的内容,你可以自己修改(连续打在一行上就行了,不能有回车,也不要有上述的不支持的汉字),还有点问题就是退出之后不能马上运行,随便进入一个其它的功能就可以再次运行了。。。
这是个半成品,不要挑太多毛病哦。。。呵呵 顶了!下下来看看~ 期待楼主写sdk教程 期待源程序。。十分想改成CP的。。不知是否通用。。 应该是可以的 怎么翻页?
为什么按任意键会跳出? 不知道怎么用。。 囧了计算器中文化了 这是...
程序g1a进去之后按任何键就退出
囧 LZ可以放心,退出不能重进是一个普遍的问题,不必在意。 卡西欧王国很多软件退出就不能重进,像时间软件,还有的退出以后进入别的软件直接爆机的 不过也有可以重进的:比如TXT EDIT。 楼主啊,你能不能写个教程啦,你写出来了我们全论坛的人都会感谢你的啦,弄不好还给你个官当 期待源程序。。。CP的SDK貌似有点复杂。。还有我是学PASCAL的。。C++有点麻烦。。 建议楼主进一步缩小字号 一般来说缩小不了了。 貌似是字库的关系 楼主可以把txtreader的代码改一下 楼主你能不能修正一下那些“懒得弄”的小毛病呢?
比如按任意键退出..
我等你修正等了1个半月了
页:
[1]
2