VxWorks汉字显示解决方案.docx
《VxWorks汉字显示解决方案.docx》由会员分享,可在线阅读,更多相关《VxWorks汉字显示解决方案.docx(15页珍藏版)》请在咨信网上搜索。
1、VxWorks汉字显示解决方案摘要:论述VxWorks上WindML对多字节码的显示支持,着重讨论其存储结构和意义,并给出汉字显示的实现方法。关键词:VxWorks操作系统 WindML组件 汉字点阵 国标编码1 VxWorks操作系统图形显示方案VxWorks作为嵌入式实时操作系统,在国内应用已非常广泛,但VxWorks原厂商没有直接提供完备的汉字显示解决方案。本文这个热点论题,通过对VxWorks显示组件的分析,具体给出一种汉字显示的方案。VxWorks的汉字显示首先需要一种图形解决方案,只有工作在图形模式下才可能显示汉字。VxWorks有三种显示方案可供选择。WindML+ZincWin
2、dML是Wind River Mutli-media Library的简称,其中包含UGL。该组件直接控制显示硬件,主要提供显示模式设置、标准输入输出控制、点线面作图等函数,编程接口很类似于Torbo C、Borland C里的图形库。Zinc基于WindML,提供了类Widnows风格的接口,有各种控件被封装于内,编程接口很类似于Windows编程。WindML+JworksJworks提供Java的支持,在VxWorks上启动Java虚拟机来解释Java语言;图形开发编程接口是Java语言,Java虚拟机的图形实现基于WindML。Web Server+WindML+Jworks+Brow
3、serWeb Werver使显示编程接口成为编写网页,可以通过远程的Browser来访问而使设备具有远程显示接口,也可以在本机做Browser使设备具有本机显示接口。该Browser的实现需要WindML或Jworks的支持。上述方案内,纯Web Server的方案不需要本地汉字显示,只要在网页上放国标码或Unicode码等,由远程的Browser去实现显示;其它方案基本上都需要WindML的支持,这是因为VxWorks系统里所有底层的显示操作都是通过WindML实现的。2 汉字显示方案实现本地汉字显示的方案一定会涉及到WindML,只是不同的方案对WindML的依赖程度有所不同,一般有如下几
4、种。利用WindML对双字节编码的支持,实现对汉字的点阵存储、点阵获取、点阵显示的全过程,并使用WindML的双字节显示函数实现汉辽码到汉字显示。这种方法使用了系统机制,最根本的解决方法,并使WindML的其它上层组件很方便地实现汉字显示。自己开发点阵存储、点阵获取、点阵显示,改造WindML的双字节和单字节显示函数,使其能判断汉字码,一旦判断出汉字码,则使用自己开发的点阵获取、点阵显示等把汉字显示出来。该方法对点阵的操作更加灵活,适合非标准的点阵算法,或者当开发者已有成熟的点阵操作方法时,把该方法绑接到WindML上。完全自己开发一套点阵存储、点阵获取、点阵显示、汉字显示函数,使用者使用特定
5、的汉字显示函数把汉字显示出来。该方法具有最大的灵活性,甚至不理睬WindML的任何机制,直接在上层组件里实现,但这种方法使程序的中英文混合显示变得复杂,程序可移植性也比较差。本文将就第一种显示方案和第一种汉字显示方案详细论述WindML的双字节编码机制,并利用该机制构建WindML汉字显示框架,并论述Zinc如何使用该框架。这些机制和思路其实是任何方案都需要考虑的,对绕开WindML的方案也具指导和借鉴意义。3 WindML的点阵参数每个字模都有一个占据的空间,该空间对于点阵字库里的每个字是一样大的,所有字符点阵的大小都不应该超过该空间,如果超过,显示时超出部分将被截掉。相关参数有maxAdv
6、ance最大宽度大小,以点为单位。MaxAscent,maxDescentmaxAscent+maxDescend是最大长度大小,两数的交界决定了一个baseline,maxAscent是baseline以上的长度,maxDescent是baseline以下的部分。Baseline对于定位具体字符点阵的打点起始位置非常重要,另外如果有一行来自同一个字符集的字符串,则这些字符的baseline是在一条线上的。maxAscent+maxDescent有时被称为字符表高度height,注意要与下面所述的字符高度区别开来。每个字符点阵也有一个范围大小,其大小与每个字符有关。该大小一般不会填满整个字模空
7、间。相关参数有width宽度。height高度。ascent点阵打点开始位置在baseline之上的偏移,如果是负数,则点阵在baseline之下开始打点。Ascent和height决定了点阵从字模的多少行开始打点,要打多少行。而列的打点起始位置,固定是0,即字模的最左边,所以只有width描述打点的宽度。字符横向和纵向都要有额外空间,以防止字符粘接重叠。相关参数有leading行间距。对字符的一些变换选项,字符读取的标志等。相关参数有pixelSixe平均行、列大小。weight行、列加粗属性。italic斜体属性。spacing字符行间距属性。charSet字符集标志。faceName字符
8、集名称。familyName字符集的家族名称。scalable字符放大缩小比例。WindML显示字符时,以maxAscent+maxDescend作为字符高度,以width作为字符宽度;根据字符ascent和字符height取出字符点阵数据,进行weight、italic、scalable等运算,然后输出到屏幕。4 WindML的点阵存储结构和操作方法WindML双字节编码显示的参数和实现思路集中体现在点阵存储文件的结构上,该文件的框架如下UGL_LOCAL const unsigned char UGL_FAR_DATApage0Data=/*0x0023(#)*/0,/*page*/0x2
9、3,/*index*/0,/*size(MSB)*/20,/*size(LSB)*/8,/*width*/16,/*high*/14,/*ascent*/0x00,0x00,0x00,0x00,0x44,0x44,0x44,0xfe,0x44,0x44,0x44,0xfe,0x44,0x44,0x44,0x00,/*数据*/*0x0024和其它字符*/*结束*/0,0,0,0/*西文扩展为双字节编码的点阵表*/*上表解析page+index就是该字符的ASCII编码,过扩成了双字节;size(MSB)+size(LSB)是该字节的点阵信息长度,注意实际描述体的长度是2+该长度+1,而ascen
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VxWorks 汉字 显示 解决方案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。