嵌入式设备及其在OSD界面显示语言文字的方法技术

技术编号:6028277 阅读:389 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种嵌入式设备及其在OSD界面显示语言字符的方法。所述方法包括:读取待显示的UNICODE编码字符数据;根据字符数据的UNICODE编码值判断字符数据所在的字库;将字符数据的UNICODE编码值和字库中的UNICODE编码向量表中的UNICODE编码逐一比较,得到字符在UNICODE编码向量表中对应UNICODE编码值的索引值;通过索引值进行地址运算,得到对应的字符点阵数据偏移地址;通过偏移地址找到字符的点阵数据、实际宽度和高度数据;调用OSD显示函数以根据字符的点阵数据、宽度和高度数据显示字符。本发明专利技术能够高效、方便、低成本地实现在嵌入式设备的OSD界面进行各种语言文字显示功能。

【技术实现步骤摘要】

本专利技术涉及嵌入式设备
,特别是涉及嵌入式设备及其在OSD界面显示语 言文字的方法备。
技术介绍
目前数字电视机顶盒在世界各地逐渐普及,对机顶盒屏幕菜单式调节方式(0SD, on-screen display)界面上要求显示的语言种类也越来越多,需要在OSD界面中采用准 确、高效的多语言显示方法来配合,以同时支持多国语言显示。多语言的显示涉及到字符编码的技术,世界上存在着多种编码方式,同一个二进 制数字可以被解释成不同的符号。在电脑操作系统中,要想打开一个文本文件,就必须预先 知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。目前传统的软件一般有两 种技术方案去实现支持多语言用户操作界面1) 一种是是针对客户对于某种语言的需求,单独的为这种语言的字符做一个字 库,有多少种语言需要实现的话就存在多少种字库。字库中包括字符向量表和字符数据表, 这里所说的字符数据表用于提供存放字符的点阵数据,所提供的字符向量表用于提供字符 数据的存放地址。程序通过地址偏移去找到字符对应的点阵数据,再通过OSD函数将点阵 数据进行显示;2)另外一种传统的软件方式利用某些语言中相当数量的字符文字相同,编码之前 先将这些语言进行一个统计,找到所有可能用到的字符,然后将这些字符统一做出一个字 库,供机顶盒OSD显示函数调用。上述的两种方法都存在明显的缺点,第一种方法为每种语言都设计一个单独的字 库,这样不但浪费大量的程序的存储空间,而且同一种语言可能包括几种编码格式,还需要 为同一种语言做多个字库。例如俄罗斯语可能使用IS08859-5编码,也有可能使用CP1251 编码。这些都增加软件设计和维护的工作量。第二种方法虽然通过编码设计前的统计去掉 一些冗余字符,节省程序空间和代码量,但是这样做的方法会牺牲字库的通用性和标准化, 同一个字库中包含多种编码方式的字符,字库可能会被设计的比较庞大,这样代码中查找 要显示的字符的点阵数据也不方便,效率不高,还增加软件设计和维护的工作量。而且这种 方法只是针对某些存在相当数量相同字符的语系的语言有用,比如英语,法语、德语、意大 利语、西班牙语等拉丁语系的语言。对于某些字符相差较大的语言却不管用,比如阿拉伯 语,俄罗斯语、越南语等归属于不同语系的语言。
技术实现思路
本专利技术主要解决的技术问题是提供一种嵌入式设备及其在OSD界面显示语言文 字的方法,能够高效、方便、低成本地实现在嵌入式设备的OSD界面进行各种语言文字显示 功能。为解决上述技术问题,本专利技术采用的一个技术方案是提供一种在嵌入式设备OSD界面显示语言文字的方法,包括读取待显示的统一码UNICODE编码格式的字符数据; 根据所述字符数据的UNICODE编码值判断所述字符数据所在的字库;将所述字符数据的 UNICODE编码值和其所在字库中的字符数据UNICODE编码向量表中的UNICODE编码逐一比 较,得到所述字符在UNICODE编码向量表中对应UNICODE编码值的索引值;通过所述索引值 进行地址运算,得到对应的字符点阵数据偏移地址;通过所述偏移地址找到字符的点阵数 据、实际宽度和高度数据;调用OSD显示函数以根据所述字符的点阵数据、宽度和高度数据 显示字符。其中,所述将字符数据的UNICODE编码值和其所在字库中的字符数据UNICODE编 码向量表中的UNICODE编码逐一比较的步骤包括将所述字符数据的UNICODE编码值和其 所在字库中的字符数据UNICODE编码向量表中的UNICODE编码通过二分法逐一比较。其中,在所述读取待显示的字符数据步骤之后、判断所述字符数据的编码是否为 统一码UNICODE编码步骤之前,包括判断输入的字符数据所对应的字符串是否为有效的 统一码文本格式(UTF)字符串;在所对应的字符串为有效的UTF字符串时,将所述UTF字符 串转换成UNICODE编码格式的字符串;在转换成UNICODE编码格式的字符串后,得到所述字 符串的前两个字节,合并所述两个字节的数值得到字符UNICODE编码值。其中,所述在转换成UNICODE编码格式的字符串后、得到所述字符串的前两个字 节、合并所述两个字节的数值得到字符UNICODE编码值步骤包括在转换成UNICODE编码格 式的字符串后,将字符指针指向所述字符串的第一个字符,其中在字符串的末尾设0x0000 以指示字符串末尾;通过所述字符指针得到字符串的前两个字节;合并所述两个字节的数 值得到第一个字符的UNICODE编码值;判断得到的UNICODE编码值是否为0x0000,在是 0x0000时判定当前字符指针已指向至字符串的末尾,直接进入判断所述字符数据的编码是 否为统一码UNICODE编码步骤。为解决上述技术问题,本专利技术采用的另一个技术方案是提供一种嵌入式设备,包 括字符数据读取单元,用于读取待显示的统一码UNICODE编码格式的字符数据;字符字库 判断单元,用于根据所述字符数据的UNICODE编码值判断所述字符数据所在的字库;索引 值获取单元,用于将所述字符数据的UNICODE编码值和其所在字库中的字符数据UNICODE 编码向量表中的UNI CODE编码逐一比较,得到所述字符在UNI CODE编码向量表中对应 UNICODE编码值的索引值;偏移地址获取单元,用于通过所述索引值进行地址运算,得到对 应的字符点阵数据偏移地址;点阵数据获取单元,用于通过所述偏移地址找到字符的点阵 数据、实际宽度和高度数据;字符显示单元,用于调用OSD显示函数以根据所述字符的点阵 数据、宽度和高度数据显示字符。其中,包括UTF码判断单元,用于在所述读取待显示的统一码UNICODE编码格式 的字符数据步骤之后、判断所述字符数据所在的字库步骤之前,判断输入的字符数据所对 应的字符串是否为有效的统一码文本格式UTF字符串;编码转换单元,用于在所对应的字 符串为有效的统一码文本格式UTF字符串时,将所述UTF字符串转换成UNICODE编码格式 的字符串;字节合并单元,用于在转换成UNICODE编码格式的字符串后,得到所述字符串的 前两个字节,合并所述两个字节的数值得到字符UNICODE编码值。其中,包括多语言字符串表生成单元,用于将每一种语言的字符串都生成各自独 立的多语言字符串数据表,其中使用UTF-8编码作为字符串中每个字符的编码,数据表由字符串向量和字符串的UTF-8编码数据组成,所述字符串向量用于提供每个字符串数据的 存放相对偏移地址,所述UTF-8编码数据用于存放每一个字符串转换成UTF-8编码后的字 符数据。其中,包括位图文件生成单元,用于从Windows操作系统自带的矢量字库文件中 提取指定大小的字体,并将该字体以位图的格式存放得到字符的位图文件;多语言字库生 成单元,用于将所述位图文件转换成字库的C语言头文件,使所述C语言头文件中字符的内 部数据结构包括所述字符数据UNICODE编码向量表、字符宽度向量表以及字符点阵数据向 量表,并且使字库中每个字符的UNICODE编码向量表、字符宽度向量表和字符点阵数据向 量表中的顺序一致。其中,所述嵌入式设备是机顶盒。本专利技术的有益效果是区别于现有技术机顶盒为实现OSD显示字符而浪费大量 存储空间或者牺牲字库的通用性和标准化的本文档来自技高网
...

【技术保护点】
1.一种在嵌入式设备OSD界面显示语言文字的方法,其特征在于,包括:读取待显示的统一码UNICODE编码格式的字符数据;根据所述字符数据的UNICODE编码值判断所述字符数据所在的字库;将所述字符数据的UNICODE编码值和其所在字库中的字符数据UNICODE编码向量表中的UNICODE编码逐一比较,得到所述字符在UNICODE编码向量表中对应UNICODE编码值的索引值;通过所述索引值进行地址运算,得到对应的字符点阵数据偏移地址;通过所述偏移地址找到字符的点阵数据、实际宽度和高度数据;调用屏幕菜单式调节方式OSD显示函数以根据所述字符的点阵数据、宽度和高度数据显示字符。

【技术特征摘要】

【专利技术属性】
技术研发人员:林志军
申请(专利权)人:深圳创维数字技术股份有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1