文本显示方法以及系统的制作方法

文档序号:6365883阅读:216来源:国知局

专利名称::文本显示方法以及系统的制作方法
技术领域
:本发明是关于一种文本显示方法以及系统,特别是关于一种应用在Linux系统中,使用者在简单媒体层系统开发环境中显示文本内容的方法与系统。
背景技术
:现今计算机操作系统中,除微软的视窗操作系统外,较常使用的操作系统就是Linux操作系统(OperatingSystemLinux),Linux操作系统是一免费的32位操作系统,大部分的发展依赖GNU工具与环境。Linux操作系统可以在x86的兼容机器上执行,符合UNIX便携式操作系统接口(PortableOperatingSystemInterfaceforUNIX;POSIX)的标准,所以几乎所有可在UNIX上执行的程序都可以移转到Linux操作系统上执行。Linux操作系统的发展环境很成熟,如C++,Java等程序语言一应俱全,也可以读取大部分个人计算机上常见的系统文件格式,包括磁盘操作系统(DiskOperatingSystem;DOS)、文件分配表(FileAllocationTable;FAT)、视窗(Windows)95的虚拟文件分配表(VirtualFileAllocationTable;VFAT)以及第二代操作系统(OperatingSystem2;OS2)的高性能文件系统(HighPerformanceFileSystem;HPFS)等,还可以安装X视窗(XWindow)系统使用图形用户界面(GraphicalUserInterface;GUI)。另一方面,Linux操作系统也可用于各种国际互联网(Internet)服务主机,例如文件传输协议(FileTransferProtocol;FTP)、终端机仿真程序(telnet)、电子邮件(email)及新闻(news)等服务器,甚至有「修补的服务器」(Apatchyserver谐音为Apache)等免费的全球信息网(WorldWideWeb;WWW)服务器程序可以使用。当然也可以当基本的传输控制协议/国际互联网协议(TransmissionControlProtocol/InternetProtocol;TCP/IP)服务主机,例如路由器(router)、网关器(gateway)、桥接器(bridge)、分布式网络系统(DistributedNetworkSystem;DNS)及点对点协议(PointtoPointProtocol;PPP)等。此外,目前已有中文XWindow服务器及应用软件。承前所述,纵然Linux操作系统具有相当的兼容性与发展性,但在某些软件开发的过程中仍有不小的困难存在。举例而言,用Linux操作系统进行XWindow的开发主要是使用X函数库(Xlib),但X函数库的接口主要是进行点、线与面的操作,使用者若要设计的图形接口比较复杂时,就必须通过更高等级的C语言函数库,如QT、GTK或SDL等编辑器,以进行图形接口的开发,特别是其中的简单媒体层(SimpleDirect-MediaLayer;SDL)编辑器,由于它和视窗操作系统下的DirectX相似,故较为适合游戏开发,但其中并未包括文本显示功能,因此要在Linux操作系统下通过简单媒体层编辑器编辑图形的同时显示文本内容,是一个亟待解决的问题。
发明内容为克服上述现有技术的缺点,本发明的主要目的在于提供一种文本显示方法以及系统,提供使用者在Linux操作系统下,通过简单媒体层编辑器,可同时显示文本内容。为达成上述目的,本发明的文本显示系统包括一文本转换模块,用以将不同字符集的混合文本内容加以分类,并在分类完成后将要显示的文本内容挑选出来,再将挑选出的文本内容转换成在Linux操作系统中能显示的字符集文本内容;一图像编辑模块,用以依据使用者设定的图像生成数据创建文本内容的背景图像;一文本编辑模块,用以依据该文本转换模块转换的能够被Linux系统识别的字符集的文本内容,进行文本图形结构编辑的;以及一文本生成模块,用以依据该图像编辑模块及该文本编辑模块编辑完成的背景图像与文本图形结构,在显示屏幕上生成该文本内容。通过该文本显示系统,进行文本显示的方法是令该文本转换模块将不同字符集的文本内容加以分类,并在挑选出要显示的文本内容后,将它转换成Linux系统能够识别的字符集;其次,令该图像编辑模块依据使用者设定的图像生成数据,创建文本内容的背景图像;接着,令该文本编辑模块依据该文本转换模块转换的能够被Linux系统识别的字符集的文本内容进行文本图形结构的编辑;以及,令该文本生成模块依据该图像编辑模块及该文本编辑模块编辑完成的背景图像与文本图形结构,在显示屏幕上生成该文本内容。与现有在Linux操作系统下通过简单媒体层编辑器编辑图形、并显示文本内容的困难性相比,本发明的文本显示方法以及系统,能够提供使用者在Linux操作系统下通过简单媒体层编辑器同时显示文本内容。图1是一系统架构方块示意图,显示本发明的文本显示系统的系统架构;以及图2是一流程图,显示本发明的文本显示方法,在执行文本显示时的流程步骤。具体实施例方式实施例在以下实施例中,本发明的文本显示方法以及系统是应用在Linux操作系统下,通过简单媒体层(SimpleDirect-MediaLayer;SDL)编辑器及一X函数库(Xlib)编辑图形,并在Linux操作系统中显示文本内容。此外,本发明的文本显示方法以及系统是在一个人计算机系统100中加以使用、执行,其中该个人计算机系统100至少包括一用以提供该个人计算机系统100提取、译码及执行指令的功能,并能够通过数据传输路径如总线等从其它资源处传递及接收资料的中央处理单元102以及一用以提供该个人计算机系统100的其它模块快速存取所需数据的随机存储器(RandomAccessMemory;RAM)104,它可以是动态随机存储器(DynamicRandomAccessMemory;DRAM)、同步动态随机存储器(SynchronousDynamicRandomAccessMemory;SDRAM)或双读取率同步动态随机存取内存(DoubleDataRateSynchronousDynamicRandomAccessMemory;DDRSDRAM)等。以下所述的本发明的文本显示系统的各模块是软件应用程序、并储存在一个如硬盘的储存单元106中。由于上述中央处理单元102、随机存储器104以及储存单元106均为现有技术,故不再重复说明,且功能与个人计算机系统100的数据处理装置或系统相似,如笔记本型计算机、掌上型计算机、个人数字助理、服务器系统、工作站等,均能够运用本发明的文本显示方法以及系统。请参阅图1,其中显示本发明的文本显示系统的基本架构,该文本显示系统包括一文本转换模块110、一图像编辑模块120、一文本编辑模块130以及一文本生成模块140。该文本转换模块110是将不同字符集的混合文本内容经过分类,并在分类完成后,将要显示的文本内容挑选出来,再将挑选出的文本内容转换成在Linux操作系统中能显示的字符集文本内容。在本实施例中,以简体中文字符集为例,它应包括ASCII码或国标扩展码(GuoBiaoKuoZhanCode;GBK)等,再以其中的国标扩展码为例,由于其无法显示在Linux操作系统中,若要在Linux操作系统中显示简体汉字字符集的文本内容,必须将该国标扩展码转换为国标2312(GuoBiaoCode2312;GB2312)码,才能够在Linux操作系统中显示符合国标扩展码简体汉字字符集的文本内容。另一方面,在Linux操作系统下是通过14项的识别码表示一个字体名称,该14项分别为制造商(foundry)、名字(family)、字重(weight)、斜体与否(slant)、类型(style)、附加类型(addstyle)、字体像素大小(pixelsize)、字体点大小(pointsize)、水平分辨率(resolutionX)、垂直分辨率(resolutionY)、间隙(spacing)、平均宽度(averagewidth)、字符集(charsetregistry)及编码集(charsetencoding)等。其中的每一项识别码不同,即代表不同的字体,在实际进行字体选择时,通常仅会选择其中较为重要的几项,如名字、字重、斜体与否、字体大小以及字符集等。为增加实际寻找所需字体的效率,应预先将每一项目赋予一加权值,每当满足某一项目时就增加该权值,当所有项目均处理完成后会出现一总分,当处理完所有的字体后,加权值总分最高的字体就是最接近使用者所要寻找的字体。承前所述,在本实施例中,该文本转换模块110首先将不同字符集的混合文本内容加以分类,也就是将可能包括有国标扩展码与ASCII码等不同字符集在内的混合文本内容加以分类,并在分类完成后将所要显示的文本内容挑选出来,再将所挑选出的文本内容转换成在Linux操作系统中能显示的字符集文本内容。因此,若挑选出来的文本内容属于国标扩展码字符集,则必须通过该文本转换模块110,将该国标扩展码的文本内容转换成国标2312码的文本内容,并依据使用者的要求,寻找出最接近使用者要求的字体。其转换方式是通过字符集对照的方式查找出相对应的文本内容并进行转换。该图像编辑模块120用以依据使用者设定的图像生成数据,创建文本内容的背景图像。在本实施例中,该图像编辑模块120利用该X函数库的函数创建如「图形上下文」(GraphicContext;GC),也就是用以在X视窗下进行图形操作和显示的结构,其中应包括如前景色、背景色或线宽等;「象素映射」(pixmap)也就是主要用以在Linux操作系统中表示图形的结构,其中包括图形的宽度与高度;取得各文本的宽度与高度,其中应分别对单字节与双字节进行操作,以计算出文本内容的最大高度与总宽度,以及填充文本区的背景色等。依据该文本转换模块110转换为Linux系统识别的字符集的文本内容及该图像编辑模块120创建文本内容的背景图像,该文本编辑模块130进行文本图形结构的编辑。承前所述,在本实施例中,该文本编辑模块130将该文本转换模块110寻找出的字体置入在该「图形上下文」中,并将该图像编辑模块120计算出的文本内容的最大高度与总宽度显示在象素映射上。该文本生成模块140用以依据该图像编辑模块120及该文本编辑模块130编辑完成的背景图像与文本图形结构,在显示屏幕上生成该文本内容。承前所述,在本实施例中,该文本生成模块140用以取得依据该文本编辑模块130显示在该象素映射上的像素数据,接着依据该像素数据创建一表面,并视该文本内容是否为透明决定显示在该个人计算机系统100的屏幕上的内容,是包括背景色表面还是不包括背景色表面,在该个人计算机系统100的屏幕上显示文本内容。请参阅图2,其中显示执行本发明的文本显示方法的流程步骤在步骤S201中,该文本转换模块110将不同字符集的混合文本内容加以分类,也就是将可能包括有国标扩展码与ASCII码等不同字符集在内的混合文本内容加以分类,并在分类完成后将要显示的文本内容挑选出来,再将挑选出的文本内容转换成在Linux操作系统中能显示的字符集文本内容,接着进行步骤S202。在步骤S202中,令该图像编辑模块120利用该X函数库的函数″XcreateGC″,借以创建如「图形上下文」,也就是用以在X视窗下进行图形操作和显示的结构,其中包括如前景色、背景色或线宽等,接着进行步骤S203。在步骤S203中,令该图像编辑模块120利用该X函数库的函数″XcreatePixmap″,借以创建「象素映射」,也就是主要用以在Linux操作系统中表示图形的结构,其中包括图形的宽度与高度,接着进行步骤S204。在步骤S204中,令该图像编辑模块120利用该X函数库的函数″XTextExtent″及″XtextExtent16″,取得各文本的宽度与高度,其中该″XTextExtent″是对单字节进行操作;而该″XtextExtent16″则是对双字节进行操作,以计算出文本内容的最大高度与总宽度,接着进行步骤S205。在步骤S205中,令该图像编辑模块120利用该X函数库的函数″XFillRectangle″,填充文本区为背景色,接着进行步骤S206。在步骤S206中,令该文本编辑模块130将该文本转换模块110寻找出的字体,通过X函数库的函数″XLoadFont″与″XSetFont″,置入该「图形上下文」中,并将该图像编辑模块120计算出的文本内容的最大高度与总宽度,通过X函数库的函数″XDrawString″与″XdrawString16″,显示在「象素映射」上,接着进行步骤S207。在步骤S207中,令该文本生成模块140在文本内容有底线或删除线时,通过X函数库的函数″XDrawLine″,生成该底线或删除线,并通过X函数库的函数″XGetImage″,取得依据该文本编辑模块130显示在该「象素映射」上的像素数据,接着进行步骤S208。在步骤S208中,令该文本生成模块140取得依据该文本编辑模块130显示在该「象素映射」上的像素数据,并通过SDL函数库的函数″SDL_CreateRGBSufaceFrom″,生成一表面,接着进行步骤S209。在步骤S209中,令该文本生成模块140视该文本内容是否为透明,决定显示在屏幕上的内容,是包括背景色表面还是不包括背景色表面,显示文本内容在该个人计算机系统100的屏幕上。通过上述本发明的文本显示方法以及系统,能够提供使用者在Linux操作系统下通过简单媒体层编辑器同时显示文本内容。权利要求1.一种文本显示方法,应用在一数据处理系统中,提供该数据处理系统在操作系统下显示文本,其特征在于,该文本显示方法包括令一文本转换模块将不同字符集的文本内容加以分类,在挑选出要显示的文本内容后,将其转换成该操作系统能够识别的字符集,并令一图像编辑模块依据使用者设定的图像生成数据,创建文本内容的背景图像;令一文本编辑模块依据该文本转换模块转换得到的能够被该操作系统识别的字符集的文本内容及该图像编辑模块创建的文本内容的背景图像,进行文本图形结构编辑;以及令一文本生成模块依据该图像编辑模块及该文本编辑模块编辑完成的背景图像与文本图形结构,在该数据处理系统的显示屏幕上生成该文本内容。2.如权利要求1所述的方法,其特征在于,该图像编辑模块在创建文本内容的背景图像时还包括以下步骤令该图像编辑模块利用一函数库的函数,进行至少包括如前景色、背景色及线宽其中任一种的图形操作和显示的结构;令该图像编辑模块利用该函数库的函数,创建用以在该操作系统环境中至少用以表示宽度与高度的图形结构;令该图像编辑模块利用该函数库的函数,取得各文本的宽度与高度,借以计算出文本内容的最大高度与总宽度;以及令该图像编辑模块利用该函数库的函数,将文本区填充为背景色。3.如权利要求2所述的方法,其特征在于,该函数库是X函数库。4.如权利要求1或2所述的方法,其特征在于,该文本生成模块依据该图像编辑模块及该文本编辑模块,编辑完成的背景图像与文本图形结构时还包括令该文本生成模块在文本内容有底线或删除线时,通过该函数库的函数,生成该底线或删除线,并通过该函数库的函数取得依据该文本编辑模块显示在该图像上的像素数据;令该文本生成模块取得依据该文本编辑模块显示在该图像上的像素数据,并通过另一函数库的函数生成一表面;以及令该文本生成模块视该文本内容是否为透明,决定显示在屏幕上的内容是包括背景色表面还是不包括背景色表面,在该数据处理系统的显示屏幕上显示文本内容。5.如权利要求4所述的方法,其特征在于,该函数库是一X函数库及简单媒体层函数库中的任一个。6.如权利要求1所述的方法,其特征在于,该操作系统是一LINUX操作系统。7.一种文本显示系统,应用在一数据处理系统中,提供该数据处理系统在操作系统中显示文本,其特征在于,该文本显示系统包括一文本转换模块,其用以将不同字符集的混合文本内容加以分类,并在分类完成后将要显示的文本内容挑选出来,再将挑选出的文本内容转换成在该操作系统中能显示的字符集文本内容;一图像编辑模块,其用以依据使用者设定的图像生成数据,创建文本内容的背景图像;一文本编辑模块,其用以依据该文本转换模块转换后得到的能够被该操作系统识别的字符集的文本内容,及该图像编辑模块创建文本内容的背景图像,进行文本图形结构编辑;以及一文本生成模块,其用以依据该图像编辑模块及该文本编辑模块编辑完成的背景图像与文本图形结构,在该数据处理系统的显示屏幕上生成该文本内容。8.如权利要求7所述的系统,其特征在于,该数据处理系统可以是个人计算机、笔记本型计算机、掌上型计算机、个人数字助理、平板型计算机、服务器系统、工作站中的任一个。9.如权利要求7所述的系统,其特征在于,该操作系统是一LINUX操作系统。10.如权利要求7所述的系统,其特征在于,该文本转换模块、图像编辑模块、文本编辑模块以及文本生成模块是通过一X函数库及简单媒体层函数库中任一个,进行文本内容与图像的生成。全文摘要一种文本显示方法以及系统,令一文本转换模块将不同字符集的文本内容分类,在挑选出要显示的文本内容后,将其转换成Linux系统能够识别的字符集,并令一图像编辑模块依据使用者设定的图像生成数据创建文本内容的背景图像;接着,令一文本编辑模块依据该文本转换模块转换的能够被Linux系统识别的字符集的文本内容进行文本图形结构的编辑;再有,令一文本生成模块依据该图像编辑模块及该文本编辑模块编辑完成的背景图像与文本图形结构,在显示屏幕上生成该文本内容。该文本显示方法以及系统能够应用在Linux系统中,可在简单媒体层系统开发环境中显示文本内容。文档编号G06F9/45GK1553324SQ0313857公开日2004年12月8日申请日期2003年5月30日优先权日2003年5月30日发明者叶宝军,林光信申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1