这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » WINML2和ZINC6下的中英文混合显示方法

共1条 1/1 1 跳转至

WINML2和ZINC6下的中英文混合显示方法

菜鸟
2007-09-08 22:37:15     打赏

首先感谢ahbbshenfeng,从他的程序里我实现了WINML2(+CP2)和ZINC6.0的中英文混合显示,我把他的东西再结合我的开发过程给大家做一下介绍,希望大家都少走点弯路,本来就是些软件应用的问题也没有什么机密可言,希望大家也能够多多把自己的东西共享一下!经过实践发现在WINDML3.0里也可以用该方法实现汉字显示!
      按理说ahbbshenfeng提供的udbmffnt.c已经实现了不包含UNICODE的中英文混合显示,但是我的WINML2和ZINC6.0都加入了UNICODE的支持。所以我的WINML2下可以实现中英文混合显示,就是采用uglTextDraw(gc, leftText, topText, -1, fillLine)时WINML2下可以实现中英文混合显示,但是加入了UNICODE的支持ZINC6.0就不可以,经过查阅发现加入了UNICODE的支持就用的是
uglTextDrawW(gc, leftText, topText, -1, (const UGL_WCHAR *)fillLineW)来显示字体!
在最关键的程序udbmffnt.c里实现了单字节的中英文字符判断但是没有加双字节的函数。经过考虑我把uglBMFTextDraw和uglBMFTextSizeGet里ahbbshenfeng提供的修改的东西原封不动的拷贝到uglBMFTextSizeGetW和uglBMFTextDrawW里,就可以了!大家可以把ahbbshenfeng提供的ahbbshenfeng提供的udbmffnt.c和自己安装生成的udbmffnt.c比较看看就知道ahbbshenfeng修改了哪里!
就是说ahbbshenfeng提供的udbmffnt.c的已经很完整了就差在双字节的函数里加判断了!自己加就可以了很简单!从程序里面看只要汉字后面有不同的符号就可以判断是12点阵,16点阵,24点阵的字体!
例如:“我~”是12点阵!“我^”是24点阵!不加后缀是16点阵。
这样的话在程序里就可以自由实现字体的变换很是方便!
汉化原码在这里下:
http://www.cevx.com/bbs/dispbbs.asp?BoardID=6&ID=7677&replyID=&skin=1
转自Tony嵌入式 http://Cevx.Com    http://Cevx.Net
本人是原作者!

 




关键词: WINML2     ZINC6     中英文     混合     显示     方法    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]