[发明专利]基于嵌入式操作系统的汉字字符混合输出显示的实现方法在审
申请号: | 201811234915.3 | 申请日: | 2018-10-23 |
公开(公告)号: | CN109375962A | 公开(公告)日: | 2019-02-22 |
发明(设计)人: | 赵漫菲;姚蕊;李涛;张杨 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/448 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 王雪芬 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式操作系统 汉字字符 混合输出 西文 汉字 嵌入式软件技术 汉字编码 汉字库 驱动层 混排 字体 计算机 研究 | ||
1.一种基于嵌入式操作系统的汉字字符混合输出显示的实现方法,其特征在于,包括以下步骤:
第一步:修改字体驱动文件udbmffnt.c,同时要生成中文和字符合一的字体库;
第二步:通过用户调用,加载设备驱动、字体引擎;
第三步:基于第二步查找及设置字体属性;
第四步:基于第一步进行汉字和字符的混显输出。
2.如权利要求1所述的方法,其特征在于,第一步具体为:修改udbmffnt.c中的uglBMFTextDrawW()及uglBMFTextSizeGetW函数,然后生成需要的字体,并形成一个字库,并把字库形成的点阵数据按照windml中点阵字库的结构进行提取,最后形成汉字库适用于windml汉字库文件,并在该文件中加入英文及字符的定义,从而生成一个可以处理汉字及字符的字体驱动以及中文和字符合一的字体库。
3.如权利要求2所述的方法,其特征在于,第一步中,修改udbmffnt.c中的uglBMFTextDrawW()及uglBMFTextSizeGetW函数的方式为:将读入的双字节指针转换为一个单字节指针,之后对读入的文本内容进行解析,程序是对文本的机内码进行处理的,直接取16位汉字的低8位得到该汉字的机内码可以对应的位码,对于汉字来说,其机内码的高低字节都应该大于等于0xa1,小于0xa1的数按照字符或者英文进行处理,大于等于0xa1的数按汉字进行处理,记录数在页表中的位置,对于字符,则处理完后指针右移8位,得到的这个8位数是该汉字的机内码可以对应的区码,处理结束后指针按处理的不同类型指向下一个8位或16位的位置。
4.如权利要求3所述的方法,其特征在于,第一步中,用汉字库生成工具FontPicker.exe生成需要的字体。
5.如权利要求4所述的方法,其特征在于,第一步中,生成需要的字体后形成一个16*16的宋体字库。
6.如权利要求5所述的方法,其特征在于,第二步中加载设备驱动时调用一个结构体,该结构体定义了键盘、鼠标、字体这些设备驱动,在图形界面初始化时,加载设备驱动以及字体引擎。
7.如权利要求6所述的方法,其特征在于,第二步中,需要加载的设备会在UGL_DISPLAY_CFG结构体中写好,图形界面初始化时,用户的程序入口调用WindMl5.3开发组件中的uglInitialize()函数;这样通过读出结构体中的元素获知加载了哪些设备。
8.如权利要求7所述的方法,其特征在于,第三步中,加载完设备驱动及字体引擎之后,查找及设置字体属性,其中调用Windml开发组件中的函数uglFontFindString()、uglFontCreate()、uglFontSet()来设置用户需要的字体类型,大小属性。
9.如权利要求8所述的方法,其特征在于,第四步中,在用户应用程序中通过调用Windml组件中经第一步修改后的uglBMFTextDrawW()函数来完成对汉字和字符的混和输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811234915.3/1.html,转载请声明来源钻瓜专利网。