CN1272710C - 文本显示方法以及系统 - Google Patents
文本显示方法以及系统 Download PDFInfo
- Publication number
- CN1272710C CN1272710C CN 03138576 CN03138576A CN1272710C CN 1272710 C CN1272710 C CN 1272710C CN 03138576 CN03138576 CN 03138576 CN 03138576 A CN03138576 A CN 03138576A CN 1272710 C CN1272710 C CN 1272710C
- Authority
- CN
- China
- Prior art keywords
- text
- module
- content
- picture editting
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种文本显示方法以及系统,令一文本转换模块将不同字符集的文本内容分类,在挑选出要显示的文本内容后,将其转换成Linux系统能够识别的字符集,并令一图像编辑模块依据使用者设定的图像生成数据创建文本内容的背景图像;接着,令一文本编辑模块依据该文本转换模块转换的能够被Linux系统识别的字符集的文本内容进行文本图形结构的编辑;再有,令一文本生成模块依据该图像编辑模块及该文本编辑模块编辑完成的背景图像与文本图形结构,在显示屏幕上生成该文本内容。该文本显示方法以及系统能够应用在Linux系统中,可在简单媒体层系统开发环境中显示文本内容。
Description
技术领域
本发明是关于一种文本显示方法以及系统,特别是关于一种应用在Linux系统中,使用者在简单媒体层系统开发环境中显示文本内容的方法与系统。
背景技术
现今计算机操作系统中,除微软的视窗操作系统外,较常使用的操作系统就是Linux操作系统(Operating System Linux),Linux操作系统是一免费的32位操作系统,大部分的发展依赖GNU工具与环境。Linux操作系统可以在x86的兼容机器上执行,符合UNIX便携式操作系统接口(Portable Operating System Interface for UNIX;POSIX)的标准,所以几乎所有可在UNIX上执行的程序都可以移转到Linux操作系统上执行。
Linux操作系统的发展环境很成熟,如C++,Java等程序语言一应俱全,也可以读取大部分个人计算机上常见的系统文件格式,包括磁盘操作系统(Disk Operating System;DOS)、文件分配表(File AllocationTable;FAT)、视窗(Windows)95的虚拟文件分配表(Virtual File AllocationTable;VFAT)以及第二代操作系统(Operating System 2;OS2)的高性能文件系统(High Performance File System;HPFS)等,还可以安装X视窗(X Window)系统使用图形用户界面(Graphical User Interface;GUI)。
另一方面,Linux操作系统也可用于各种国际互联网(Internet)服务主机,例如文件传输协议(File Transfer Protocol;FTP)、终端机仿真程序(telnet)、电子邮件(email)及新闻(news)等服务器,甚至有「修补的服务器」(A patchy server谐音为Apache)等免费的全球信息网(WorldWide Web;WWW)服务器程序可以使用。当然也可以当基本的传输控制协议/国际互联网协议(Transmission Control Protocol/InternetProtocol;TCP/IP)服务主机,例如路由器(router)、网关器(gateway)、桥接器(bridge)、分布式网络系统(Distributed Network System;DNS)及点对点协议(Point to Point Protocol;PPP)等。此外,目前已有中文XWindow服务器及应用软件。
承前所述,纵然Linux操作系统具有相当的兼容性与发展性,但在某些软件开发的过程中仍有不小的困难存在。举例而言,用Linux操作系统进行X Window的开发主要是使用X函数库(Xlib),但X函数库的接口主要是进行点、线与面的操作,使用者若要设计的图形接口比较复杂时,就必须通过更高等级的C语言函数库,如QT、GTK或SDL等编辑器,以进行图形接口的开发,特别是其中的简单媒体层(Simple Direct-Media Layer;SDL)编辑器,由于它和视窗操作系统下的DirectX相似,故较为适合游戏开发,但其中并未包括文本显示功能,因此要在Linux操作系统下通过简单媒体层编辑器编辑图形的同时显示文本内容,是一个亟待解决的问题。
发明内容
为克服上述现有技术的缺点,本发明的主要目的在于提供一种文本显示方法以及系统,提供使用者在Linux操作系统下,通过简单媒体层编辑器,可同时显示文本内容。
为达成上述目的,本发明的文本显示系统包括:一文本转换模块,用以将不同字符集的混合文本内容加以分类,并在分类完成后将要显示的文本内容挑选出来,再将挑选出的文本内容转换成在Linux操作系统中能显示的字符集文本内容;一图像编辑模块,用以依据使用者设定的图像生成数据创建文本内容的背景图像;一文本编辑模块,用以依据该文本转换模块转换的能够被Linux系统识别的字符集的文本内容,进行文本图形结构编辑的;以及一文本生成模块,用以依据该图像编辑模块及该文本编辑模块编辑完成的背景图像与文本图形结构,在显示屏幕上生成该文本内容。
通过该文本显示系统,进行文本显示的方法是:令该文本转换模块将不同字符集的文本内容加以分类,并在挑选出要显示的文本内容后,将它转换成Linux系统能够识别的字符集;其次,令该图像编辑模块依据使用者设定的图像生成数据,创建文本内容的背景图像;接着,令该文本编辑模块依据该文本转换模块转换的能够被Linux系统识别的字符集的文本内容进行文本图形结构的编辑;以及,令该文本生成模块依据该图像编辑模块及该文本编辑模块编辑完成的背景图像与文本图形结构,在显示屏幕上生成该文本内容。
与现有在Linux操作系统下通过简单媒体层编辑器编辑图形、并显示文本内容的困难性相比,本发明的文本显示方法以及系统,能够提供使用者在Linux操作系统下通过简单媒体层编辑器同时显示文本内容。
附图说明
图1是一系统架构方块示意图,显示本发明的文本显示系统的系统架构;以及
图2是一流程图,显示本发明的文本显示方法,在执行文本显示时的流程步骤。
具体实施方式
实施例
在以下实施例中,本发明的文本显示方法以及系统是应用在Linux操作系统下,通过简单媒体层(Simple Direct-Media Layer;SDL)编辑器及一X函数库(X lib)编辑图形,并在Linux操作系统中显示文本内容。此外,本发明的文本显示方法以及系统是在一个人计算机系统100中加以使用、执行,其中该个人计算机系统100至少包括一用以提供该个人计算机系统100提取、译码及执行指令的功能,并能够通过数据传输路径如总线等从其它资源处传递及接收资料的中央处理单元102以及一用以提供该个人计算机系统100的其它模块快速存取所需数据的随机存储器(Random Access Memory;RAM)104,它可以是动态随机存储器(Dynamic Random Access Memory;DRAM)、同步动态随机存储器(Synchronous Dynamic Random Access Memory;SDRAM)或双读取率同步动态随机存取内存(Double Data Rate Synchronous DynamicRandom Access Memory;DDRSDRAM)等。
以下所述的本发明的文本显示系统的各模块是软件应用程序、并储存在一个如硬盘的储存单元106中。由于上述中央处理单元102、随机存储器104以及储存单元106均为现有技术,故不再重复说明,且功能与个人计算机系统100的数据处理装置或系统相似,如笔记本型计算机、掌上型计算机、个人数字助理、服务器系统、工作站等,均能够运用本发明的文本显示方法以及系统。
请参阅图1,其中显示本发明的文本显示系统的基本架构,该文本显示系统包括:一文本转换模块110、一图像编辑模块120、一文本编辑模块130以及一文本生成模块140。
该文本转换模块110是将不同字符集的混合文本内容经过分类,并在分类完成后,将要显示的文本内容挑选出来,再将挑选出的文本内容转换成在Linux操作系统中能显示的字符集文本内容。在本实施例中,以简体中文字符集为例,它应包括ASCII码或国标扩展码(GuoBiao Kuo Zhan Code;GBK)等,再以其中的国标扩展码为例,由于其无法显示在Linux操作系统中,若要在Linux操作系统中显示简体汉字字符集的文本内容,必须将该国标扩展码转换为国标2312(Guo BiaoCode 2312;GB 2312)码,才能够在Linux操作系统中显示符合国标扩展码简体汉字字符集的文本内容。
另一方面,在Linux操作系统下是通过14项的识别码表示一个字体名称,该14项分别为:制造商(foundry)、名字(family)、字重(weight)、斜体与否(slant)、类型(style)、附加类型(add style)、字体像素大小(pixelsize)、字体点大小(point size)、水平分辨率(resolution X)、垂直分辨率(resolution Y)、间隙(spacing)、平均宽度(average width)、字符集(char setregistry)及编码集(char set encoding)等。其中的每一项识别码不同,即代表不同的字体,在实际进行字体选择时,通常仅会选择其中较为重要的几项,如名字、字重、斜体与否、字体大小以及字符集等。为增加实际寻找所需字体的效率,应预先将每一项目赋予一加权值,每当满足某一项目时就增加该权值,当所有项目均处理完成后会出现一总分,当处理完所有的字体后,加权值总分最高的字体就是最接近使用者所要寻找的字体。
承前所述,在本实施例中,该文本转换模块110首先将不同字符集的混合文本内容加以分类,也就是将可能包括有国标扩展码与ASCII码等不同字符集在内的混合文本内容加以分类,并在分类完成后将所要显示的文本内容挑选出来,再将所挑选出的文本内容转换成在Linux操作系统中能显示的字符集文本内容。因此,若挑选出来的文本内容属于国标扩展码字符集,则必须通过该文本转换模块110,将该国标扩展码的文本内容转换成国标2312码的文本内容,并依据使用者的要求,寻找出最接近使用者要求的字体。其转换方式是通过字符集对照的方式查找出相对应的文本内容并进行转换。
该图像编辑模块120用以依据使用者设定的图像生成数据,创建文本内容的背景图像。在本实施例中,该图像编辑模块120利用该X函数库的函数创建如「图形上下文」(Graphic Context;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操作系统下通过简单媒体层编辑器同时显示文本内容。
Claims (8)
1.一种文本显示方法,应用在一数据处理系统中,提供该数据处理系统在Linux操作系统下显示文本,其特征在于,该文本显示方法包括:
令一文本转换模块将不同字符集的文本内容加以分类,在挑选出要显示的文本内容后,将其转换成该操作系统能够识别的字符集,并令一图像编辑模块依据使用者设定的图像生成数据,创建文本内容的背景图像;
令一文本编辑模块依据该文本转换模块转换得到的能够被该操作系统识别的字符集的文本内容及该图像编辑模块创建的文本内容的背景图像,进行文本图形结构编辑;以及
令一文本生成模块依据该图像编辑模块及该文本编辑模块编辑完成的背景图像与文本图形结构,在该数据处理系统的显示屏幕上生成该文本内容。
2.如权利要求1所述的方法,其特征在于,该图像编辑模块在创建文本内容的背景图像时还包括以下步骤:
令该图像编辑模块利用一函数库的函数,进行至少包括如前景色、背景色及线宽其中任一种的图形操作和显示的结构;
令该图像编辑模块利用该函数库的函数,创建用以在该操作系统环境中至少用以表示宽度与高度的图形结构;
令该图像编辑模块利用该函数库的函数,取得各文本的宽度与高度,借以计算出文本内容的最大高度与总宽度;以及
令该图像编辑模块利用该函数库的函数,将文本区填充为背景色。
3.如权利要求2所述的方法,其特征在于,该函数库是X函数库。
4.如权利要求1或2所述的方法,其特征在于,该文本生成模块依据该图像编辑模块及该文本编辑模块,编辑完成的背景图像与文本图形结构时还包括:
令该文本生成模块在文本内容有底线或删除线时,通过该函数库的函数,生成该底线或删除线,并通过该函数库的函数取得依据该文本编辑模块显示在该图像上的像素数据;
令该文本生成模块取得依据该文本编辑模块显示在该图像上的像素数据,并通过另一函数库的函数生成一表面;以及
令该文本生成模块视该文本内容是否为透明,决定显示在屏幕上的内容是包括背景色表面还是不包括背景色表面,在该数据处理系统的显示屏幕上显示文本内容。
5.如权利要求4所述的方法,其特征在于,该函数库是一X函数库及简单媒体层函数库中的任一个。
6.一种文本显示系统,应用在一数据处理系统中,提供该数据处理系统在Linux操作系统中显示文本,其特征在于,该文本显示系统包括:
一文本转换模块,其是用以将不同字符集的混合文本内容加以分类,并在分类完成后将要显示的文本内容挑选出来,再将挑选出的文本内容转换成在该操作系统中能显示的字符集文本内容;
一图像编辑模块,其是用以依据使用者设定的图像生成数据,创建文本内容的背景图像;
一文本编辑模块,其是用以依据该文本转换模块转换后得到的能够被该操作系统识别的字符集的文本内容,及该图像编辑模块创建文本内容的背景图像,进行文本图形结构编辑;以及
一文本生成模块,其是用以依据该图像编辑模块及该文本编辑模块编辑完成的背景图像与文本图形结构,在该数据处理系统的显示屏幕上生成该文本内容。
7.如权利要求6所述的系统,其特征在于,该数据处理系统可以是个人计算机、笔记本型计算机、掌上型计算机、个人数字助理、平板型计算机、服务器系统、工作站中的任一个。
8.如权利要求6所述的系统,其特征在于,该文本转换模块、图像编辑模块、文本编辑模块以及文本生成模块是通过一X函数库及简单媒体层函数库中任一个,进行文本内容与图像的生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03138576 CN1272710C (zh) | 2003-05-30 | 2003-05-30 | 文本显示方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03138576 CN1272710C (zh) | 2003-05-30 | 2003-05-30 | 文本显示方法以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1553324A CN1553324A (zh) | 2004-12-08 |
CN1272710C true CN1272710C (zh) | 2006-08-30 |
Family
ID=34323746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03138576 Expired - Fee Related CN1272710C (zh) | 2003-05-30 | 2003-05-30 | 文本显示方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1272710C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100437591C (zh) * | 2007-07-20 | 2008-11-26 | 中国建设银行股份有限公司 | 一种unix/linux字符终端的文件显示方法及装置 |
CN101826034A (zh) * | 2010-05-13 | 2010-09-08 | 中兴通讯股份有限公司 | Linux系统中语言的切换方法及装置 |
CN102012894B (zh) * | 2010-11-19 | 2012-10-10 | 百度在线网络技术(北京)有限公司 | 一种终端文档显示方法及系统 |
CN105608723B (zh) * | 2015-12-18 | 2018-07-20 | 长城信息产业股份有限公司 | 一种国产计算机平台下Qt画图性能的优化方法 |
-
2003
- 2003-05-30 CN CN 03138576 patent/CN1272710C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1553324A (zh) | 2004-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100214911B1 (ko) | 지시장치를 이용한 대량 데이타의 탐색 방법 | |
US7061498B2 (en) | Screen display processing apparatus, screen display processing method and computer program | |
JPH07160608A (ja) | プログラム・アプリケーションを表示するためのシステムおよび方法 | |
US20020093683A1 (en) | Method and system for virtual machine rendering of non-latin1 unicode glyphs | |
US6499034B1 (en) | Bristlelines: a visualization for discovery relationships between sorted web documents and their usage data | |
CN1262748A (zh) | 获取、处理和发送包含在一个图形用户界面窗口中的数据的装置和方法 | |
KR20050111434A (ko) | 디스플레이 시스템 및 그 가상 작업공간 관리방법 | |
US6075532A (en) | Efficient redrawing of animated windows | |
US5731814A (en) | Method and apparatus for identifying an object selected on a computer output display | |
JP4852012B2 (ja) | 画像を処理する装置、画像の更新を検出する方法およびプログラム | |
CN111221596A (zh) | 字体渲染方法、装置及计算机可读存储介质 | |
EP2733623A1 (en) | Rapid localized language development for video matrix switching system | |
CN1272710C (zh) | 文本显示方法以及系统 | |
KR101773316B1 (ko) | 소스 비트맵들로부터 2d 패턴들을 식별 및 추출함에 의한 비트맵 리모팅 가속화 | |
US20070168855A1 (en) | Screen splitting for Web browsers | |
US6734855B2 (en) | Image editing system and method, image processing system and method, and recording media therefor | |
JP2003531429A (ja) | デジタルドキュメント処理 | |
US6023558A (en) | Graphics compression for an emulation system | |
KR100247720B1 (ko) | 그래픽 사용자 인터페이스에서 윈도우의 스캔 라인 압축을 사용하여 글로벌 히트 테스트 데이타 구조를 생성하기 위한 방법 및 시스템 | |
US20040100495A1 (en) | Apparatus, system and method of enabling a user to configure a desktop | |
Dykstra | X11 in virtual environments | |
KR19990078635A (ko) | 컴퓨터 모니터의 바탕화면을 이용한 광고방법 | |
TW200424876A (en) | Text display method and system thereof | |
KR20160069281A (ko) | 웹툰의 다국어 지원 시스템 및 방법 | |
CN117234655B (zh) | 基于安卓系统运行Linux桌面程序的方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060830 Termination date: 20110530 |