专利名称:网络系统嵌入式字库处理方法
技术领域:
本发明涉及一种计算机系统文字处理方法,尤其涉及在网络环境嵌入式计算机系统中对曲线轮廓和点阵字库数据同时压缩存储处理方法,以及网络终端设备环境下多语种、多种风格字体正确显示的解决方案。
背景技术:
目前,在WIN CE或嵌入式操作系统的数字电视机、数字机顶盒、个人手持等网络终端设备的字体信息显示方面,由于设备硬件的限制,仅能安装一款字数有限的中文字体和少量的西文字体。随着信息家电产业的迅猛发展,信息平台上文字信息的往来已经超越单一语种,朝着多语种、多种风格字体的方向发展。如果以传统的技术解决此类问题,就面临要增加终端设备存储硬件和网络传输时间的成本。尽管采用在网络终端设备上扩充存储硬件和增加带宽的方法,但仍不能有效解决日益增加的多语种、多种风格字体正确显示的问题。
发明内容
本发明的目的在于提供一种字体信息显示解决方案,主要用于使用嵌入式操作系统的数字电视机、数字机顶盒、个人手持等网络终端设备。以曲线轮廓字库和点阵字库作为数据来源,以文字结构和图形结构体为基础,同时对曲线轮廓字体和点阵字体数据做压缩处理。在网络系统环境下文字信息传输时,提供一种采用压缩转换后的字库数据,来有效解决网络终端设备环境多语种、多种风格字体正确显示的方法。
该过程包括下述步骤1.以汉字的声旁、形旁固有特点为基础,统计其在曲线轮廓字库数据出现频率和笔划简繁程度以及与之相对应的多个固定尺寸点阵数据块的情况,以图形结构体为单位规定序号。同时创建以图形结构体为单位的构成整字的文字结构数据。
2.以图形结构体为单位规定曲线轮廓字数据和点阵字数据,按照图形结构体数据描述的特有的规则,将曲线轮廓字数据和点阵字数据,以二进制编码排列,连同文字结构数据形成一个文件名后缀为STC的数据压缩字库(格式见附图1)。
3.对文件名后缀为STC的字库再做处理,提供解决网络终端设备环境多语种、多种风格字体正确显示的方法。
文字结构的定义用于描述以图形结构体为基础的文字组成信息。每个文字由一个或多个图形结构体组成,文字结构用于描述组成文字的每个图形结构体的相关信息,包括编号、坐标以及缩放参数。(格式见附图3。)图形结构体的定义对字库中的字或字的一部分的信息,使用几何图形、图像数据来描述。一个字或字一部分的图形结构体是若干个不连续的直线、曲线、几何图形和图像数据的集合。(格式见附图5。)将统计后的以图形结构体方法描述的曲线轮廓字和点阵字数据按照特有的规则,以二进制编码压缩排列,连同文字结构数据顺序存储,形成一个文件名后缀为STC的数据压缩字库。字库中首先保存文件头信息(格式见附图2),然后依次为文字结构偏移量表、文字结构数据、图形结构体偏移量表和图形结构体数据,随后还有可选的字符编码表以及补字文字结构数据。
对文件名后缀为STC的字库再做处理,实现在计算机网络系统环境下,将要传输的多语种、多种风格字体信息,以压缩数据的方法形成的特有格式,来解决因网络中末站和主站字符集不一致,而导致末站不能快速的、正常显示字符的问题。
本发明的方法可以广泛的适用于WIN CE或嵌入式操作系统的数字电视机、数字机顶盒、个人手持等网络终端设备。
本发明的优点在于对字库数据中的曲线轮廓字和点阵字数据同时做压缩处理,使得字库数据在保持原字库风格特点的基础上,存储容量大大节省,用这种方法可有效的解决曲线轮廓字体在特定显示环境下小尺寸字体显示不好的缺点。28000个汉字和符号的字库,经过本发明的方法压缩处理后的曲线轮廓字数据所占存储空间为1M字节。另外一款16×16点阵的字库数据,经过本发明的方法压缩处理后所占存储空间为150K字节,是原有同尺寸点阵字库存储容量的约十四分之一。由于采用网络字体数据流传输的方法,也使得在网络终端设备环境应用多语种、多种风格字体时,文字传输数据量的显著减小,在不增加终端设备存储硬件和网络带宽的情况下,可以传输更多的字体信息。可以增强这些设备的使用功能,有效降低成本。为进一步节省存储成本,末站甚至可以不用安装字体的数据。
图1字库文件数据格式图2字库文件头数据格式图3文字结构数据格式图4文字结构标示信息数据格式图5图形结构体数据格式图6曲线轮廓命令代码列表图7文字结构偏移量表图8图形结构体偏移量表图9网络字体数据流格式图10解释程序主流程11图形结构体处理程序流程12曲线程序流程13直线程序流程14填充程序流程图具体实施方式
下面结合附图和具体实施方式
对本发明方法做进一步描述以汉字的声旁、形旁固有特点为基础,对曲线轮廓字库和点阵字库的数据进行分析,统计其出现频率、简繁程度以及与之相对应的多个固定尺寸点阵字数据块的情况,以图形结构体为单位描述,规定相应序号。同时创建以图形结构体为单位的构成整字的文字结构数据。将所需要的图形结构体,连同文字结构数据以及其它相关信息顺序存储,形成一个文件名后缀为STC的数据压缩字库。
28000个汉字和字符字库的图形结构体数量为6381种。图形结构体数据由两部分数据构成,分别为点阵数据块和曲线轮廓数据块。图形结构体的数据结构(格式见附图5)为首先记录图形结构体中点阵数据的长度,随后安排点阵数据块,以及曲线轮廓数据块。
为了适应图形结构体在不同字符中对应的不同缩放参数,点阵数据块中可以包含多个不同尺寸的点阵数据,其宽度和高度在点阵数据块的开始依次排列,随后依次排列不同尺寸的点阵数据信息。
曲线轮廓数据块中首先记录曲线轮廓的数量,随后依次为每一个曲线轮廓的数据。曲线轮廓数据主要由命令参数(列表见附图6)和对应的控制点坐标组成,按照一定的顺序进行排列,压缩存储。
在STC字库文件中存储有多个文字结构数据以及多个图形结构体数据,为了快速找到相应的数据,在STC字库文件中还保存有文字结构偏移量表(格式见附图7)以及图形结构体偏移量表(格式见附图8)。
另外为了适应处理不同的字符编码,字库文件中还可以保存相应的字符编码表,用于进行相应的字符编码解释。
图形结构体中的点阵数据是在图形结构体的曲线轮廓数据处理完成之后,对照每一个图形结构体曲线轮廓数据,按照图形结构体的缩放参数以数据块的方式提取,并以图像数据的方式来进行存储。
提取点阵数据的方法为1.选定图形结构体,找出调用该图形结构体的所有字符。
2.找出所有调用该图形结构体中X方向和Y方向缩放参数最靠近100%的字符。
3.按照该字符的图形结构体缩放参数以及图形结构体的实际所占矩形范围,计算在指定点阵尺寸下的图形结构体的实际矩形范围。使用计算出的矩形范围套准要提取的点阵字数据的相应位置,将其点阵内容提取到新的存储位置。
4.图形结构体相对应点阵数据块提取完毕,将所提取点阵数据以图像数据的方式添加到图形结构体的轮廓数据块前面,保存数据。
字库中每一个字符是由一个或多个图形结构体来组成的。图形结构体组成字符的相关数据保存在文字结构数据中。每一个图形结构体有其自身的序号,在整个字符中的坐标,以及整个字符中的缩放参数。例如,某个字符对应的文字结构数据格式如下(见附图3)首先记录字符的文字结构标示信息(见附图4),然后依次是每一个图形结构体序号、字符中的横纵坐标、字符中的缩放参数。
曲线轮廓数据字符还原处理方法(见附图10、11、12、13、14)1.根据输入的相关参数信息,设置相关处理参数,并初始化缓冲区。
2.处理编码信息,将输入字符的GB码或UNICODE码根据相应编码表转换为字符索引编号。
3.根据字符索引编号从文字结构偏移量表中获取字符的文字结构数据偏移量。
4.读取文字结构数据,每个文字是由多个图形结构体组成的,每个图形结构体对应有自己的坐标偏移量以及缩放参数。
5.按照图形结构体的数量进行循环,依次处理每一个图形结构体,根据读取的图形结构体的编号,在图形结构体偏移量表中获取图形结构体数据的偏移量,根据偏移量读取图形结构体数据。
6.按照曲线轮廓数据处理方法读取相应图形结构体的曲线轮廓数据,依次按照命令参数以及字形参数处理曲线轮廓坐标,并转换为直线与曲线使用相应的直线或曲线处理方法进行处理,最后进行填充写入缓冲区。
7.在完成所有图形结构体的处理后,返回字符数据以供显示。
点阵数据的还原处理方法基本流程与轮廓数据相同(见附图8),其区别主要为上述第6步处理改为使用点阵数据处理方法来进行处理,其基本方法如下1.读取相应图形结构体的点阵数据块。
2.经过图形结构体的坐标参数换算后,得到其在指定大小时的实际位置,也就是该点阵数据的左上角位置。根据点阵数据的宽高参数,还原点阵数据原形,存放到缓冲区。
3.根据图形结构体的缩放参数计算该图形结构体的实际宽、高,与相应的点阵数据宽、高比较,决定是否要对点阵数据做抽线或加线处理。
对压缩转换的字库再做处理,解决网络终端设备环境多语种、多种风格字体正确显示的问题,其方法如下1.当网络系统中要显示的字符字体和末站安装的字库字体不一致时。根据要显示字符的字体名称、编码、类型等参数,和主站已用本发明的方法创建的若干个不同的字库中相应的字体名称、类型参数进行匹配。如果匹配成功,再判断编码参数,在对应的字库数据中提取该字符的文字结构以及图形结构体数据,然后转换为末站能够处理的网络字库数据流格式(见附图9)嵌入到要发送给末站处理的文字信息流中。如果匹配不成功,则选择一款字体名称、类型接近的字库数据替代。
2.当网络系统中要显示的字符字体和末站安装的字库字体一致,但是主站所安装的字库使用的字符集大于末站字库使用的字符集,所要显示的字符刚好不在末站字库的字符集范围内,而在主站安装字库的字符集范围内。根据要显示字符的字体名称、编码、类型等参数,和主站已用本发明的方法创建的若干个不同的字库中相应的字体名称、类型参数进行匹配。根据编码参数,在对应的字库数据中提取该字符的文字结构以及图形结构体数据,然后转换为末站能够处理的网络字库数据流格式(见附图9)嵌入到要发送给末站处理的文字信息流中。由于主、末站所使用的字体一致,仅字符集不同,当组成字符的图形结构体也同时包含在末站字库中时,只需使用特殊图形结构体格式保存图形结构体数据即可,可大大减少数据量。
3.当网络系统中要显示的字符字体和末站安装的字库字体一致,但是要显示字符为主、末站字符集范围以外的未收录字符。使用在主站提供的补字编辑手段,以主站相同字体字库为基础,将字库中的图形结构体,以缩放、平移的方式做补字的拼字,并和对应的字符编码一起保存到主站的补字字库。根据编码参数,在补字字库数据中提取该字符的文字结构以及图形结构体数据,然后转换为末站能够处理的网络字库数据流格式(见附图9)嵌入到要发送给末站处理的文字信息流中。由于补字所使用的图形结构体,也可能同时包含在末站字库中时,当这种情况出现时,只需使用特殊图形结构体格式保存图形结构体数据即可,可大大减少数据量。
4.当末站接收到文字信息流后,依次处理每个字符,对于没有嵌入网络字库数据流的字符,使用正常处理方法从末站字库中读取字符数据,对于嵌入了网络字库数据流的字符,则将其嵌入的数据传递给解释程序,解释程序从中读取字符数据来进行字符还原。
补字编辑处理方法首先,在主站创建一个补字字库,该字库主要用于存放补字字符的对应编码、文字结构,以及已用本发明方法创建的不同字体的全部图形结构体数据。在补字编辑过程中,根据补字字符情况,选择所需要的图形结构体,经过平移、缩放等操作完成拼字的工作。然后,将该字符的文字结构相关信息转换为相应的数据格式,以该字符的编码为标示存放到补字字库中,下一次再用到此字符时就不必重新进行拼字工作,可以直接从补字字库中提取该字符的文字结构以及图形结构体数据。
该补字编辑处理的方法也可以嵌入到末站的系统中。其功能是主站补字编辑处理的方法的一个子集。
权利要求
1.一种网络系统嵌入式字库处理方法,包括字库数据压缩转换、解释还原处理方法,以及对文件名后缀为STC的字库再做处理,提供解决网络终端设各环境多语种、多种风格字体正确显示问题的方法。其特征在于该过程包括下述步骤1)以汉字的声旁、形旁固有特点为基础,统计其在曲线轮廓字库数据出现频率和笔划简繁程度以及与之相对应的多个固定尺寸点阵数据块的情况,以图形结构体为单位规定序号。同时创建以图形结构体为单位的构成整字的文字结构数据。2)以图形结构体为单位规定曲线轮廓字数据和点阵字数据,按照图形结构体数据描述的特有的规则,将曲线轮廓字数据和点阵字数据,以二进制编码排列,连同文字结构数据形成一个文件名后缀为STC的数据压缩字库。3)对文件名后缀为STC的字库再做处理,提供解决网络终端设备环境多语种、多种风格字体正确显示的方法。
2.如权力要求1所述的一种网络系统嵌入式字库处理方法,其特征在于所述根据曲线轮廓字库和点阵字库数据统计原始字库信息,产生图形结构体数据,文字结构数据。
3.如权力要求1所述的一种网络系统嵌入式字库处理方法,其特征在于对字库数据中的曲线轮廓数据做压缩处理、存储的方法。
4.如权力要求1所述的一种网络系统嵌入式字库处理方法,其特征在于对字库数据中的点阵字数据同时做压缩处理、存储的方法,包括以下操作1)选定图形结构体,找出调用该图形结构体的所有字符。2)找出所有调用该图形结构体中X方向和Y方向缩放参数最靠近100%的字符。3)按照该字符的图形结构体缩放参数以及图形结构体的实际所占矩形范围,计算在指定点阵尺寸下的图形结构体的实际矩形范围。使用计算出的矩形范围套准要提取的点阵字数据的相应位置,将其点阵内容提取到新的存储位置。4)图形结构体相对应点阵数据块提取完毕,将所提取点阵数据以图像数据的方式添加到图形结构体的轮廓数据块前面,保存数据。
5.如权力要求1所述的一种网络系统嵌入式字库处理方法,其特征在于对以图形结构体为基础的压缩存储字库的解释还原处理方法。
6.如权力要求1所述的一种网络系统嵌入式字库处理方法,其特征在于计算机网络系统环境下以字库压缩数据为基础的,多语种、多种风格字体正确显示的解决方法。包括以下操作1)当网络系统中要显示的字符字体和末站安装的字库字体不一致时。在对应的字库数据中提取该字符的文字结构以及图形结构体数据,然后转换为末站能够处理的网络字库数据流嵌入到要发送给末站处理的文字信息流中。2)当网络系统中要显示的字符字体和末站安装的字库字体一致,但是主站所安装的字库使用的字符集大于末站字库使用的字符集,所要显示的字符刚好不在末站字库的字符集范围内,而在主站安装字库的字符集范围内。在对应的字库数据中提取该字符的文字结构以及图形结构体数据,然后转换为末站能够处理的网络字库数据流嵌入到要发送给末站处理的文字信息流中。当组成字符的图形结构体也同时包含在末站字库中时,只需使用特殊图形结构体格式保存图形结构体数据即可,可大大减少数据量。3)当网络系统中要显示的字符字体和末站安装的字库字体一致,但是要显示字符为主、末站字符集范围以外的未收录字符。使用在主站提供的补字编辑手段,以主站相同字体字库为基础,将字库中的图形结构体,以缩放、平移的方式做补字的拼字,并和对应的字符编码一起保存到主站的补字字库。在补字字库数据中提取该字符的文字结构以及图形结构体数据,然后转换为末站能够处理的网络字库数据流嵌入到要发送给末站处理的文字信息流中。当补字所使用的图形结构体同时包含在末站字库中时,只需使用特殊图形结构体格式保存图形结构体数据即可,可大大减少数据量。4)当末站接收到文字信息流后,依次处理每个字符,对于没有嵌入网络字库数据流的字符,使用正常处理方法从末站字库中读取字符数据,对于嵌入了网络字库数据流的字符,则将其嵌入的数据传递给解释程序,解释程序从中读取字符数据来进行字符还原。
全文摘要
本发明公开了一种网络系统嵌入式字库处理方法。包括以曲线轮廓字库和点阵字库作为数据来源,以图形结构体为基础的压缩存储方法,用来将字库数据进行压缩,并将压缩后的字库数据和解释还原处理嵌入到计算机系统中使用。在WIN CE或嵌入式操作系统的数字电视机、数字机顶盒、个人手持等终端设备上,显著减少中文字库的数据量,保证字符在不同显示介质上字体的还原质量。同时采用网络字体数据流格式,在不增加终端设备存储硬件和网络带宽的情况下,可以传输更多的字体信息,提供一种有效解决网络终端设备环境多语种、多种风格字体正确显示的方法。
文档编号G06F17/30GK1912863SQ200510087728
公开日2007年2月14日 申请日期2005年8月8日 优先权日2005年8月8日
发明者黄克俭, 王建军, 刘申, 鲁承明, 王函 申请人:北京华文世纪科技有限公司