CN1159666C - 基于笔划中心线技术的曲线字形的还原显示方法 - Google Patents

基于笔划中心线技术的曲线字形的还原显示方法 Download PDF

Info

Publication number
CN1159666C
CN1159666C CNB021038244A CN02103824A CN1159666C CN 1159666 C CN1159666 C CN 1159666C CN B021038244 A CNB021038244 A CN B021038244A CN 02103824 A CN02103824 A CN 02103824A CN 1159666 C CN1159666 C CN 1159666C
Authority
CN
China
Prior art keywords
stroke
coordinate
word
parts
section
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
Application number
CNB021038244A
Other languages
English (en)
Other versions
CN1388462A (zh
Inventor
¬ƽ��
卢平忠
孙海东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI HANFENG INFORMATION SCI-TECH Co Ltd
Original Assignee
SHANGHAI HANFENG INFORMATION SCI-TECH Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI HANFENG INFORMATION SCI-TECH Co Ltd filed Critical SHANGHAI HANFENG INFORMATION SCI-TECH Co Ltd
Priority to CNB021038244A priority Critical patent/CN1159666C/zh
Publication of CN1388462A publication Critical patent/CN1388462A/zh
Priority to JP2003580999A priority patent/JP2005521903A/ja
Priority to EP03711808A priority patent/EP1517231A4/en
Priority to PCT/CN2003/000230 priority patent/WO2003083640A2/zh
Priority to AU2003221239A priority patent/AU2003221239A1/en
Priority to KR1020047015463A priority patent/KR100643849B1/ko
Priority to US10/509,142 priority patent/US7437384B2/en
Priority to CA002480653A priority patent/CA2480653A1/en
Application granted granted Critical
Publication of CN1159666C publication Critical patent/CN1159666C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/246Generation of individual character patterns of ideographic or arabic-like characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

一种使用笔划中心线技术描述的自定义字形数据格式的曲线汉字字形还原显示方法,可应用到任何计算机操作系统上以增加处理多文种字符和多字体汉字的功能,使用的笔划用其中心线为基础描述,引入笔划厚度和曲率变化参数,保证字形精美,笔划组部件、部件组字使字体数据多重复用,使字形数据库和还原程序存储容量极小、还原速度快,该方法可生成字形发生器芯片产品,可嵌入CPU中而使系统直接中文化并实现零开销,大大降低嵌入式设备的造价因而特别适应嵌入式的应用,应用前景非常广阔。

Description

基于笔划中心线技术的曲线字形的还原显示方法
技术领域:
本发明涉及一种由数字数据处理,尤其涉及一种用于将所要处理的数据转变成计算机能够处理的数据形式的字库的字形还原显示,以用于计算机汉字信息输出处理。
背景技术:
字库和字形的还原显示是计算机操作系统的重要组成部分之一,因为汉字数量大,中文字符集大,字库则是中文信息处理的基础,在计算机上输入输出汉字、字符依赖字库。
传统的字库技术有点阵字库、矢量字库和轮廓曲线字库。
点阵字库有制作简单、还原解释模块简单等优点,但其缺点是不能放大、缩小(放大、缩小效果奇差),而且,大点阵字库的容量成几何倍数增加,一个应用需要多种不同尺寸规格的字库,所占的存储容量非常大,因而,点阵字库只是在早期的计算机系统和一些用字少、输出字形质量要求不高的简单的嵌入式专用设备上使用。
矢量字库和轮廓曲线字库是目前计算机使用的字库的主流,主要有TTF格式字库和POSTSCRIPT格式字库,目前在PC机市场上大部分使用这两种字库,其优点是技术成熟、字形优美、可放大缩小、可满足在PC以上的计算机上使用;其缺点是:数据格式复杂、字形还原发生器复杂、小尺寸字效果差、还原速度较慢、字体所占的存储容量大,不能满足其在嵌入式系统的上使用,且这两种格式的字库都是美国公司发明,其发生器不仅攒取我国大量金钱,而且妨碍我国对中文信息处理技术发展,我国在汉字字库技术领域受制于外国是不正常的。
首先,现在市场上还没有一种能够满足嵌入式系统使用的轮廓曲线字库,这是因为嵌入式系统一般存储容量小,增加存储器势必增加成本,一种GB18030字体的TTF格式字库需要20M左右的存储空间,用4种要80M,而现在高档的嵌入式系统一般只有16M的存储空间,操作系统要占用一部分,给应用要留一部分,就根本不能放汉字字库,目前许多较高档的西文PDA或手机都因没有中文化不能投入到中国使用,因而,目前较高挡的中文嵌入式系统就找不到合适的技术解决方案。
发明内容:
本发明的目的在于:研制一个不论大小尺寸的图形汉字都字形优美、可无级放大缩小并无级变字的厚度、数据格式清晰、还原发生器装置清晰适用、图形字形还原显示输出速度快,并在上述前提下所占的存储容量小特别适于中文嵌入式系统的一个性价比极高的新型字库产品及其显示发生器装置就非常必要了。
另外,我们必须研制一种中国自定义格式的字库,自行研制其中国自主版权的字形发生器,并使其成为国家标准,形成外国公司的嵌入式产品进入中国的技术屏障,保障我国在嵌入式系统的中文信息处理应用技术领域的领先地位。
本发明首先根据汉字字形学自定义生成字体的曲线字形的数据格式:一个以笔划中心线为基准的笔划数据库、一个由笔划构部件的部件参数数据库、一个由部件构汉字的字参数数据库;然后设计一套汉字还原显示的方法和数学模型,由笔划中心线生成笔划第一轮廓线和笔划的第二轮廓线,两条轮廓线构成一笔划的闭合曲线区域并对其进行填充从而实现笔划还原显示;
本发明提供了两种构字方案:
第一是部件构字,步骤如下:首先每种字体要定义并制做一个笔划数据库、一个由笔划组部件的参数库和一个由部件组字的字参数库,这一工作是使用我们自主知识产权(字库制作工具,已取得软件登记证书)的另一个工具实现的;然后,使用笔划构部件的部件参数数据对构成部件每一个笔划实现笔划图形在计算机屏幕上还原显示,对组成部件的笔划数循环从而实现部件的还原显示;又使用部件构汉字的参数数据对构成汉字的每一个部件实现部件还原显示,用构成字的部件数循环,多重循环从而实现汉字字形的还原显示。
第二是直接由笔划构字,则定义一个由笔划直接构汉字的字参数数据库;使用笔划直接构字的字参数数据对汉字每一个笔划实现在计算机屏幕上的笔划图形还原显示,对构成汉字的笔划数循环从而实现汉字字形的还原显示。
本发明的创新点即难点如下:创建一种全新的中国自定义格式的参数化、结构化字库,这种描述符合汉字字形生成的特点和规律而特别省存储容量,而我们的发明目的是如何使用计算机图形学的原理及方法建立还原显示输出图形汉字所需的数学模型并编制计算机模块和中文操作系统调用的接口,根据计算机中文操作系统调用汉字字形的外部调用数据并与参数化、结构化字库数据结合进行数据处理,以改善和提高图形汉字显示输出的精度和质量,并实现图形汉字输出在计算机操作系统系统级的支持,甚至在操作系统之上的计算机CPU上直接地支持,以满足一切中文信息处理应用,特别是解决目前嵌入式设备上利用少量计算机资源解决高质量高精度的中文信息处理输出的难题。
本发明的字库及其汉字字形发生器装置创新点之一是笔划中心线技术,传统的轮廓曲线字库是不描述中心线的,只整字描述组成字的轮廓曲线,中心线技术是先生成笔划中心骨架线,然后相对于中心线再生成轮廓线,字形的放大缩小只作用于中心线,独立引入笔划厚度系数的概念,笔划分段以保证对汉字各字体的修饰的描述,引入笔划的曲率变化参数,以保证对同类的不同尺寸、不同曲率变化的笔划的完全拟合和特别是复合笔划的完全拟合,减少参数化基准笔划的数量,这些都为构造一个符合汉字特点的参数化、结构化汉字字库及其高精度还原显示发生器装置准备了条件,传统曲线字库生成技术要提高字形质量必然要增加字库存储容量,我们的创新技术要在保证字形质量的前提下极大地节省存储容量,而且是节省百份之九十以上,这被看作不可思义的通过我们的全新的技术方案实现,由于我们采用了与传统轮廓曲线字库不同的笔划中心线技术并以该技术为基础定义了适合汉字组字特征的一套参数化、结构化的字库数据格式,并对这些结构数据使用我们发明的计算方法进行数据处理并根据数据处理方法研制成功计算机操作系统核心接口装置实现在计算机屏幕上高质量高精度图汉字的输出,保证还原显示的字形的高精度;
创新点之二是:传统的曲线字库技术(TTF字库等)无法解决小尺寸字的字形质量,小尺寸曲线字特别难看,只好在曲线字库中嵌入多种点阵字库(例如嵌入12×12到18×18等7种以上的点阵字库),使本来已经占用很大的存储容量的字库还要增加很大的存储空间,由于我们采用了与传统轮廓曲线字库不同的笔划中心线技术,我们用同一套参数化、结构化曲线字库不仅使大尺寸的汉字字形精美替代TTF字库也能逼近小尺寸点阵字库达到其显示效果并取而代之;
创新点之三是:传统的曲线字库对不同笔划厚度的字库要做多套字库,而我们的字库可无级的变笔划厚度使一套字库能替代多套不同厚度的字库;
创新点之四是:以往也有很多人探讨过做部件结构字库,但是一个部件使用在不同的字时,部件的大小会不同,构成部件的轮廓曲线是绝对坐标,由于对部件的缩放而使部件各部件厚度不能一致而使字形非常难看,靠无穷地增加部件则丧失其技术优势,从而只好放弃或半途而废,而我们使用了笔划中心线技术并把笔划的厚度参数独立出来,在笔划和部件缩放时保持笔划厚度的一致性和厚度可调性从而能保证字形的任意精确度。因此也使得该技术能够生产出合格的产品来。
本发明的实现过程:在制造构建了我们的参数化、结构化的字库数据文件的基础上,依据计算机图形学原理建立一套高精度字形还原显示的数学模型,然后首先使用标准C编程在PC机的WINDOWS操作系统上实现,然后又已在嵌入式操作系统NUCLEUS上实现并固化在存储器上(试验产品),并在不久的将来将其做成字库芯片和字库发生器芯片并固化在嵌入式CPU中。
本发明与现有技术相比的优点:
本发明与现有技术相比的优点在于:在保证字形的精美的前提下做到最省存储容量,一种字体的GB18030字库(含27590个汉字和1136个半角全角字符,共28726个编码)的标准格式字库文件为1.1M字节(而目前市场上使用的TTF格式字库20M字节左右);所谓标准格式即一种字体都有各自的数据文件,即由各自不同的字参数库、部件参数库和笔划库组成,本字库一种字体的紧凑格式占800K字节;所谓共享紧凑格式字库,即多种字体可共享部分数据的字库,四种字体共享紧凑格式字库:宋体为800K,仿宋、黑体、楷体各为600K,四种字体共为2600K字节(2.6M);七种字体为4.5M字节(而使用TTF格式需要超过100M);
本发明的字形发生器清晰,特别优化,所占存储少,执行代码仅40K字节左右,还原速度快;本发明使用标准C编程,核心模块全部使用整数运算,易于与任何计算机操作系统接口;本发明字库除可任意缩放外,还增加了可无级改变字体笔划粗细的功能,这是现有字库做不到的;特别在存储器资源有限的嵌入式应用中本发明技术可显示无可比拟的优越性,为较高挡的中文嵌入式系统就找到了合适的不可替代的技术解决方案;因而本发明应用前景非常广阔。
附图说明:
图1:主流程图,即根据ZGX字库字号还原显示笔划构部件并部件构字流程图,
图2:将字库数据文件读入内存各数组流程图,
图3:由汉字字符的国际码或Unicode编码转换到ZGX字库的字号(下列框图以国际码为例)的流程图,
图4:根据ZGX字库字号还原显示笔划构字流程图,
图5:在计算机屏幕上画笔划的还原显示步骤流程图,
图6:使用递归调用生成贝塞尔曲线的流程图,
图7:用一条或多条贝塞尔曲线画一笔划中心线或轮廓线的一笔划段的流程图,
图8:用一条或多条直线画一笔划中心线或轮廓线的一笔划段的流程图,
图9:由基准字转换到实际字宽、字长的画直线流程图,
图10:画直线的流程图,
图11:在内存缓冲区中实现画点位图中的点的流程图,
图12:对闭合曲线区域填充的流程图,
图13:建立闭合曲线区域边的分类表(E表)的流程图,
图14:将某边的分类表(E表)中的某一项的所有边插入AE活化边表中,并按cxBotoom升序排列的流程图;
图15:参数化笔划数据文件数据格式,
图16:参数化笔划数据格式,
图17:笔划中心线各段控制字数据格式,
图18:笔划轮廓线各段控制字数据格式,
图19:部件数据文件数据格式,
图20:笔划构字的数据文件数据格式,
图21:笔划构字的参数数据块数据格式,
图22:部件构字的索引表,
图23:部件构字的字参数库数据格式,
图24:部件构字的部件参数库数据格式,
图25:部件构字的笔划库数据格式,
图26:多字体部分共享部件构字的字参数库数据格式,
图27:多字体部分共享部件构字的部件参数库数据格式,
图28:多字体部分共享部件构字的的笔划库数据格式,
图29:计算机屏幕坐标系,
图30:字坐标系,
图31:汉字部件坐标系,
图32:笔划坐标系。
具体实施方式:
按照图1-32所示来描述本发明的实施,图1-14是在计算机屏幕上实现汉字字形的还原显示的流程图,各流程是本发明根据计算机图形学原理发明的算法并实现字形生成还原显示在计算机屏幕上的全过程。图15-28是本技术方案实现所需的参数化、结构化的字形结构的各类数据格式的数据库文件。图29-32是所描述的输入/输出设备以及数据变换赖以生成的空间即各种坐标系。
一、概述
本技术属计算机汉字信息输出处理范畴。本技术首先自定义一种独特的曲线轮廓字库数据格式,这种数据格式是依据本发明所定义的笔划和部件;然后根据这种数据格式使用发生器装置还原所需要的精美的汉字字符字形;本发明的特点在于:在保证字形的精美的前提下做到最省存储容量,一种字体的GB18030字库(含27590个汉字和1136个半角全角字符,共28726个编码)的标准格式字库文件为1.1M字节(而目前市场上使用的TTF格式字库超过15M);紧凑格式为800K;四种字体共享紧凑格式字库:宋体为800K,仿宋、黑体、楷体各为600K,四种字体共为2600K(2.6M);七种字体为4.5M(而使用TTF格式需要超过100M)。特别在存储器资源有限的嵌入式应用中本发明技术可显示无可比拟的优越性,因而应用前景非常广阔。
1.ZGX字库笔划
ZGX字库笔划是构成字的最基本的元素。不同的笔划用笔划号来标示,汉字的笔划有横、竖、撇、捺、点等五大类,约30多种,但在ZGX字库上根据不同的需要,要制作1000多个不同的笔划。笔划由笔划中心线、笔划段构成,各笔划段用轮廓线描述,最后组成笔划的外轮廓闭合曲线。
笔划中心线是笔划的骨架线,它包括笔划各段的控制点,本身又由直线和贝塞尔曲线构成;笔划段分为头段、正常段(主干段)、拐段、尾段,各段以笔划中心线定义的控制点为基准用相对于控制点的坐标来描述其各段的轮廓线,轮廓线由直线和贝塞尔曲线构成;笔划段段号是指笔划正常段所属的段号,从0到最大的段号;笔划段曲率变化方式是指头段、尾段、某正常段随方式的不同,其控制点坐标位置会发生变化。曲率变化方式有15种,从1到15;曲变段号和曲变方式将在笔划库的索引文件中给出。
笔划中心线技术及其在计算机屏幕坐标系下笔划的还原显示步骤参见附图5-14。
不同的字体有各自的不同的笔划库。
2.ZGX字库部件
ZGX字库部件是由若干笔划构成的,以所构成的笔划数来分类成:1笔划部件、2笔划部件、3笔划部件…最多为31笔划部件;部件由元素(指几笔划部件)和在该元中的部件号来标示。在多字体字库产品中这些数据是可以共享的。
组成部件的各笔划的参数数据由笔划号、笔划厚度系数、笔划中心在部件坐标系下的坐标、笔划在x方向和y方向上的缩放系数、笔划在x方向和y方向上的曲率变化增量构成。
组成部件的笔划号在多字体字库产品中这些数据是可以共享的。
笔划中心在部件坐标系下的坐标限制在-128到+127,用一个字节表示,这些数据是在定制字库产品时确定的。
笔划厚度系数作用于笔划的轮廓曲线,厚度系数的不同会使笔划有不同的粗细,也会改变特殊段,从而改变字体的修饰。
笔划在x方向和y方向上的缩放系数只作用于笔划中心线的各控制点,而不影响笔划的粗细,从而保障了字体笔划粗细的一致性;笔划在x方向和y方向上的缩放系数也是在定制字库产品时确定的,限制在0到255,各用一个字节表示,128表示缩放系数为1倍;在紧凑格式中也可以用6位表示,限制在32到95之间,存放格式为上述数字减32,故在0到63之间,64表示缩放系数为1倍。
笔划在x方向和y方向上的曲率变化增量是指笔划头段、尾段和某正常段的曲率变化,曲率变化方式有15种,分别同时作用于头、尾和正常段中的一段或两段(最多两段),例如:头段的x坐标增量或尾段的y坐标增量是其中一种曲变方式,某正常段曲率x坐标增量和曲率y坐标增量也是其中一种曲率变化方式;前者解决复合笔划(例如:横折)的横段和折段的不同比例的问题,后者解决笔划在不同的部件中曲率不同的问题。引入曲率变化增量使ZGX字库的字形可以完全精确的逼近任意字体模板,从而保证了字库字形的精确和精美。曲率变化增量在-128到127之间,各用一个字节表示,在紧凑格式中曲率变化增量可以用6位格式表示,因为曲率变化增量一般较小。
每字体有各自不同的部件库。
部件的还原显示参见附图1和附图4。
3.ZGX字库的字
ZGX字库的字是用字号来标示,字号从1到N(N可以是一个长整数),所以本字库对字的数目是没有限制,可以做成超大字库。ZGX字库可以以Unicode编码排序,也可以以国标(GB2312、GBK、GB18030)编码来排序。
ZGX字库的字是可以由若干部件构成,也可以直接由若干笔划构成,前者称为部件构字,后者称为笔划构字。
笔划构字是指字由若干个笔划构成,其参数数据由构成该字的每个笔划的笔划号、笔划厚度、笔划中心在字坐标系下的坐标、笔划在x方向和y方向的缩放系数、笔划在x方向和y方向上的曲率变化增量构成。笔划构字的各参数说明同
一、2中ZGX字库部件的描述。
每种字体有各自不同的笔划组字的字参数库.
笔划组字的还原显示参见四和附图4。
部件构字是指字由若干个部件构成,其参数数据由组成该字的各部件所在的元数(几笔划部件)和部件号、该部件中心坐标在字坐标系下的坐标、该部件在x方向和y方向的缩放系数、该部件的厚度系数。而部件又由笔划构成,於一、2中所述。
组成该字的各部件所在的元数(几笔划部件)和部件号在多字体字库产品中是可以共享的数据,只要在一种字体的字库文件里存在就可以了。
部件中心坐标在字坐标系下的坐标,该坐标是由该部件的结构位置号所确定的,结构位置号有31种,例如:左右结构、上下结构、包围结构等,这些是在定制字库产品时所确定的。
部件在x方向和y方向的缩放系数限定在0到255之间,各用一个字节表示,在紧凑格式中用0到63表示32到95,用6位表示,缩放系数64表示为1倍。
每种字体有各自不同的部件组字的字参数库。
部件组字的还原显示参见四和附图1。
4.字生成外部调用参数
参见四、1数据结构定义,定义了生成字的外部调用参数,在设备坐标系下生成字,使用的参数如下:字的字体号、字的国标编码(或Unicode编码)、字的长度(以像素点为单位)、字的宽度(以像素点为单位)、字的厚度系数、字的前景色、字的显示方式(字的旋转、加粗、倾斜、填充方式等);在缓冲区返回字的点位图数据。
字生成的外部调用参数中字的长度、宽度、厚度数据原则上没有限制,这就意味着一种字体可以以任意长度、宽度、厚度生成长体字、扁体字和任意粗细的字,一种字体可以作为数种字体使用。
5.ZGX字库产品的技术指标
ZGX字库在保证字形精确和精美的前提下,可以最大限度的节省存储容量和加快还原速度。
标准格式是指每种字体都有各自独立数据文件,即各自不同的字参数库、部件库、笔划库;紧凑格式是指对数据进行一定的压缩表示,例如原用8位表示的参数使用6位,多字体共享指有一部分数据多种字体可以做得相同实现共享。
一种字体的GB18030字库(含27590个汉字和1136个半角全角字符,共28726个编码)的标准格式字库文件为1.1M字节(TTF格式字库超过15M);紧凑格式为800K;四种字体共享紧凑格式字库:宋体为800K,仿宋、黑体、楷体各为600K,四种字体共为2600K(2.6M);七种字体为4.5M。
ZGX字库的还原算法优于TTF字库,因为填充针对笔划进行,而不是整字,填充速度整体要快,加上ZGX字库索引简单直接,数学运算均采用整数运算并进行了全面优化。
6.由字库参数数据实现在计算机上还原显示字形的详细说明
从(1)到(5)为字形数据库描述,分别为笔划库、直接笔划构字的字参数库、部件库、部件组字的字参数库和多字体共享格式部件构字参数库的描述和数据格式;(6)到(9)分别为笔划、笔划构字、笔划构部件、部件构字在计算机上实现还原显示的方法步骤;(10)到(12)为字形显示应用到计算机上的接口的实现的具体步骤。
(1).一种基于笔划中心线的基准笔划库,每种不同的字体有各自的笔划库,数据格式详见附图15-18;每一个笔划根据其形状分为若干笔划段,分别为笔划头段、正常段、拐段和为尾段,正常段和拐段可以有若干段,先用直线或贝塞尔曲线各特征点坐标描述该笔划的中心线的各笔划段,又以该笔划中心线各段的关健点为各笔划段的控制点,各笔划段以各段控制点为基准的相对位置描述各笔划段的轮廓曲线的各特征点坐标;特征点对于直线就是起点和终点,对于二次贝塞尔曲线是起点、中间线外点和终点,笔划数据为不等长,用尾段数据位标示该笔划结束;
笔划库的数据格式为:总笔划数占2个字节;
笔划头数据:总笔划数*4字节,每个笔划用4个字节,前3个字节为各笔划数据位置指针,后一个字节描述曲率变化的占4位的方式和占4位的段号;
笔划数据:含笔划各段中心线数据、笔划各段轮廓线数据。
每种不同的字体笔划数不同,为保证字形的优美,一般有1000个左右,每个笔划数据的长度一般在20~100字节左右。
(2).一种由笔划直接构造的字库,每种不同的字体有各自的字参数库;详见附图20-21,其数据格式为:
相对于文件头的笔划库数据起始位置:4字节;
字库所含汉字或字符总数:4字节;
汉字或字符索引表:占4乘所含汉字或字符总数得到的字节数,每个字占4字节,前一个字节为该字所用笔划数,后3个字节为构成该汉字的各笔划的描述参数数据的位置指针;
字参数数据:8*形成该汉字或字符的笔划数得到的字节,每个笔划参数数据为8个字节,分别为:占2字节笔划号、占1字节厚度系数、占2字节笔划位置、占12位的笔划放大缩小系数、占12位的笔划曲率变化增量;笔划库:如前1中所描述笔划库数据格式。
(3).一种由笔划构造的汉字部件库,每种不同的字体有各自的部件参数库;详见附图19,其数据格式为:
部件库所含最多笔数构造的部件的笔划数:如附图19所述总元数n,占4字节,一般为20~29,即一个部件最多由20~29个笔划构成,部件的排列是按2笔划部件、3笔划部件、直到n笔划部件依次排列;
n笔划部件索引表:设最多笔划数为n各笔划数所构造的部件数据的位置指针占4*n字节,每种笔划数部件位置占4字节,分别为2笔划部件位置、3笔划部件位置直到n笔划部件位置,每笔划数部件有若干个,从1号到到该笔划数部件总数为止排序,每个2笔划部件参数数据占2*8个字节,每个3笔划部件参数数据占3*8个字节,依此类推;
部件参数数据:8*形成该部件的笔划数得到的字节,每个笔划参数数据为8个字节,分别为:占2字节的笔划号、占1字节的厚度系数、占2字节的笔划位置、占12位的笔划放大缩小系数、占12位的笔划曲率变化增量。
(4).一种由部件构造的汉字字形参数库,每种不同的字体有各自的字参数库;见附图22-25,其数据格式为:
版本信息:4字节,前2字节为公司标志简称,第三字节为字体标志,第四字节字符集标志;
字参数区起始位置:4字节;
部件参数区起始位置:4字节;
笔划数据区起始位置:4字节;
字索引数据表:4*总字数加1的和得到的字节,第一个4字节为总字数,以后每4字节表示每个字的索引,其中前3个字节表示字参数数据位置,后1字节为构成该字的部件数;字参数数据:描述构成字的每一个部件的参数占6个字节,分别为占11位的部件号、该部件所含占5位的笔划数、占2字节的部件位置、占12位的部件缩小放大系数、占6位的部件的厚度系数;部件参数数据:参见(3);笔划库:参见(1)。
(5).多字体紧凑共享格式字库,各种字体构成每一个字的部件元数和部件号是相同的,各种字体构成部件的笔划号是相同的,这一部分数据只要在一种基本字体中描述,而其他字体共享这部分数据,其数据格式描述如下:
基本字体的格式已在(4)中描述;
其他字体的数据格式描述如下:见附图26-28;
字参数区起始位置:4字节;
部件参数区起始位置:4字节;
笔划数据区起始位置:4字节;
字索引数据表:4*(总字数加1)的和得到的字节,第一个4字节为总字数,以后每4字节表示每个字的索引,其中前3个字节表示字参数数据位置,后1字节为构成该字的部件数;字参数数据:描述构成字的每一个部件的参数占4个字节,分别为、占2字节的部件位置、占12位的部件缩小放大系数、占4位的部件的厚度系数;
部件参数数据:参见(3),但去掉笔划号;
笔划库:参见(1)。
(6).笔划中心线技术和在计算机屏幕坐标系下高精度还原显示输出笔划图形的方法,参见附图5-14、附图15-18和附图29-32,它是笔划生成汉字字形的基础与核心,不论笔划直接组字、还是由笔划组部件由部件组字都最终归结于在计算机屏幕上划笔划图形;在计算机屏幕坐标系下还原显示汉字的每一个笔划的图形以部件构字为例,其计算公式如三、1.(6)所述;
一个部件组字里的一个参数化笔划数据还原成汉字里的实际笔划图形并显示在计算机屏幕上的数据处理过程详细步骤如下:
第一步根据笔划号在参数化笔划库里取出该参数化笔划数据,即划中心线各段的数据和轮廓线各段数据,这些数据是相对于笔划坐标系的坐标数据;
由于使用上述笔划组成汉字部件,是部件里的一个笔划,所以第二步就是将组成该笔划的各坐标由笔划坐标系转换到部件坐标系下,并且要结合部件调用该笔划的外部调用参数进行数据处理;
汉字是由多个部件构成的,每一个部件的大小、位置都不同,所以第三步就是将组成该笔划的在部件坐标下的各坐标再转换到字坐标系下,并且要结合字调用该笔划所属的部件的外部调用参数进行数据处理;
而汉字的每一笔划的图形最终是要显示在计算机的屏幕上的,所以第四步就是将组成该笔划在字坐标下的各坐标再转换到计算机屏幕坐标系下,并且要结合外部调用该字的参数进行数据处理;
以上四步是由计算公式如三、1.(6)完成的。
第五步就是实现笔划在计算机屏幕上还原显示,参见附图5,附图6至14都是为附图5服务的;
具体步骤如下:根据外部调用笔划号读出描述该笔划数据中心线各特征点数据,经以上四步和计算公式三、1.(6)转换到屏幕坐标系下,如果是有曲率变化的段则在该段的相应点上加上坐标的外部调用参数曲率变化增量,然后根据各段段标志和划线方式用直线或贝塞尔曲线划中心线各段,划直线参见附图8、附图9和附图10,划贝塞尔曲线参见附图7和附图6,中心线有时并不要显示到屏幕上,但在小尺寸时则只显示中心线,划完中心线各段,然后根据相应算法划相对于中心线划笔划各轮廓线的与中心线相对应的各段;轮廓线各段的坐标是相对于中心线各相应的控制点的,这些相对坐标乘以笔划外部调用参数厚度系数,加上中心线各相应的控制点坐标,形成划轮廓线各段的在屏幕坐标系下的坐标,然后根据各段段标志和划线方式用直线或贝塞尔曲线划轮廓线各段,按顺时方向从头段到尾段划第一轮廓线,然后从尾段到头段划第二轮廓线,两条轮廓线组成一个笔划的闭合区域,划轮廓线也要使用划直线和划贝塞尔曲线子模块,可以直接显示在计算器的屏幕上,也可以先在内存中划轮廓线,在存储器中生成点位图的点参见附图11,组成笔划闭合区域后可调用填充子模块实现笔划填充(参见附图12和附图11),而填充子模块要依据建立分类表(ET表)子模块(参见附图13)和将该边的分类表(ET)中某一项的所有边插入活化边中并按CXBOTTOM升序排列子模块(参见附图14),若在一块内存缓冲区实现则后可使用计算机块拷贝快速实现在显示器上的显示;贝塞尔曲线递归调用模块参见附图7和附图6,划直线参见附图8、附图9、附图10和附图11,填充子模块参见附图12、附图11、附图13和附图14。
中心线技术能在任何情况下对字形的任一笔划都能保证精美精确,因为还原显示方法对笔划的放大缩小只对中心线各控制点起作用,对轮廓线及特殊段不直接起作用,轮廓线则是相对于中心线控制点相对变化,独立引入厚度参数,在厚度参数不变的情况下,对字的放大缩小不影响字每一个笔划的厚度,从而保证字形各笔划厚度的一致性,厚度参数作用于相对变化的轮廓线,笔划可因厚度参数而无级变化,从而保证一种字体可代替粗、中、细多种字体,特别在厚度为0时只划线体中心线,经过高精度计算等处理从而保证小尺寸字的精美,厚度参数也作用于特殊段,从而保证汉字修饰特征精美和精确;由于引入了曲率变化参数,从而保证字形还原后可完全拟合高精度的精美字模,例如新华印刷厂字形专家书写的字模,从而保证字形质量符合国家标准,国家GB18030标准含27500多汉字,由32万个笔划构成,我们用基准笔划库的1000个参数化笔划经过上述数据处理由带参数的外部调用划笔划由基准笔划库经计算机图形学描述的数学变换在计算机上完全拟合汉字字形中无级变化的每个尺寸32万个至更多个汉字笔划的各种不同尺寸、不同厚度、不同特征实际的形状笔划图形,从而保证还原显示的图形汉字字形的精美。
(7).由笔划直接组字还原显示汉字字形的方法如下:参见四、附图4及附图20、21,先根据外部调用的汉字编码和汉字还原数组的汉字的厚度、汉字的宽度、汉字的长度、汉字显示的颜色或灰度、汉字的显示方式等外部调用参数;然后依据汉字的编码的索引从笔划直接组字字库文件取出组成该字的笔划数和每一个笔划的参数数据,这些参数是笔划号、厚度系数、笔划位置、笔划放大缩小系数、笔划曲率变化增量,由汉字的外部调用参数和构成该汉字的每一个笔划的参数经坐标变换等数据处理计算在屏幕坐标下还原显示每一个笔划的外部调用参数,对每一个笔划按(6)的步骤生成每一个不同的在计算机屏幕里显示的笔划,所有笔划显示完成则一个汉字显示完成。
(8).由笔划组汉字部件还原显示汉字部件的方法如下:参见附图19和附图4及四、3,先根据外部调用参数,这些参数是部件元数、部件号、部件位置、部件放大缩小系数、部件厚度系数,依据汉字部件的元数和在该元所属的部件号的索引从笔划组部件库文件取出组成该部件的笔划数和每一个笔划的参数数据,这些参数是笔划号、厚度系数、笔划位置、笔划放大缩小系数、笔划曲率变化增量,根据部件的外部调用参数和部件的每一个笔划的参数经坐标变换等数据处理计算在屏幕坐标下还原显示每一个笔划的外部调用参数,对每一个笔划按(6)的步骤生成每一个的在屏幕里显示的笔划,所有笔划显示完成则一个汉字部件还原显示完成;国家GB18030字符集标准含27500多汉字每种字体约由5000多个参数化汉字部件构成。
(9).由汉字部件库组字还原显示汉字字形的步骤如下:参见四、3、附图1和附图22-25,先根据外部调用的汉字编码和汉字还原数组的汉字的厚度、汉字的宽度、汉字的长度、汉字显示的颜色或灰度、汉字的显示方式等外部调用参数;依据汉字的编码的索引从部件组字字库文件取出组成该字的部件数和每一个部件的参数数据,每一个部件的参数数据是部件元数、部件号、部件坐标、部件缩放系数和部件厚度系数,根据汉字的外部调用参数和组成该汉字的每一个部件的参数经坐标变换等数据处理计算在屏幕坐标下还原显示每一个部件的外部调用参数,对每一个部件按(8)的步骤生成每一个在屏幕里显示的部件,所有部件还原显示完成则一个汉字还原显示完成;本发明的一个实例是由笔划库约1000个参数化基准笔划构成5000多个汉字部件,又由参数化的5000多个部件生成GB18030标准字符集的27500个或更多的各种不同尺寸的、不同笔划厚度的高精度汉字字形。
(10).一种以笔划中心线技术描述的高精度汉字字符还原显示的方法,可应用到计算机操作系统或直接应用到计算机CPU上,首先使用标准C编程在PC机的WINDOWS操作系统上实现,并在嵌入式操作系统NUCLEUS上实现并固化在存储器上,并能将其做成字库芯片和字形还原显示发生器芯片并固化到嵌入式CPU中的操作系统中或直接嵌入到CPU上,包括由参数化字库数据,使用各种字形还原显示的方法生成高分辨率曲线的曲线字形步骤在(6)到(9)中描述。
(11).计算机应用调用汉字字符还原显示的接口,参见四、ZGX字形调用接口模块,该模块由三个接口调用模块构成,一个字体初始化模块,详细参见四、2及附图2;一个汉字字符还原显示接口,详细参见四、3;一个显示汉字字符串的接口;详细参见四、4。
字体初始化模块的输入数据是字体号,分别代表GB18030的宋体、仿宋、楷体、黑体的部件组字或笔划组字,或韩国字、日文汉字各字体,或英文字符,或全角字符,或UNICODE字符全集,或GB2312的各种字体的字库文件;
输出是返回的是一个指针数组指针,即各字体的字参数数据、部件参数数组、笔划数据数组的指针,这些指针是给汉字字符还原显示模块使用,该模块调用的作用是将外部的参数化字体文件读入内存数组;如果这些字库数据文件固化在内存里,这些指针则是预先设计好的常数,这些指针则可直接写入汉字字符还原显示模块中供其使用,字体初始化模块则可省略。
汉字字符还原显示从计算机外部调用输入数据为:汉字的编码-国标内码或UNICODE编码、字体号、汉字字符还原显示外部调用参数数组、返回参数类型、输出汉字字型的点位图的内存缓冲区指针;
返回到计算机的输出数据是:根据返回参数类型所指出的汉字字形还原显示数据,一般为输出的汉字字型的点位图数据,可供高速块拷贝显示输出汉字字形;
该接口使用用部件组字方法(参见附图1和上面(9))、直接笔划组字的方法(参见附图4和上面(7))并使用笔划组部件(参见附图4和下面(8))、划笔划(参见附图5和上面(6))并使用由字体初始化模块调用获取的指针数组指针的全局变量。
(12).显示汉字字符串,参见四、4,输入数据是一个汉字字符串、汉字串在计算机屏幕上显示的左上角坐标、汉字还原参数数组(在四、1里定义的汉字还原数组,给出汉字外部调用参数:字宽、字长等);
输出则是在计算机屏幕上按外部调用参数显示一个汉字字符串字形。
参见四、3所述的接口实现。
二、字库数据格式
1.笔划数据文件:见附图15。
笔划数据格式:见附图16。
笔划中心线各段控制字数据格式,用一字节表示,该字节的位的约定如下:见附图17。
笔划中心线各段数据:头段坐标(2字节),段控制字(1字节),正常段数据(2×z00字节)…,尾段控制字。
笔划轮廓线各段数据:笔划轮廓线各段控制字数据格式,用一字节表示,该字节的位的约定如下:见附图18。
笔划轮廓线各段数据:段控制字(1字节),第一边轮廓线坐标增量(2字节)第二边轮廓线坐标增量(2字节),头段其它点坐标(2×tqy字节),正常段数据(含第一、二边轮廓线各点坐标4×z00字节);拐段控制字(1字节),第一轮廓线坐标增量(2字节),第二轮廓线坐标增量(2字节),拐段其它点坐标(2×tqy字节),正常段数据(含第一、二轮廓线各点坐标4×z00字节);…尾段控制字,尾段其它点坐标(2×tqy字节)。
2.部件数据文件:见附图19。
3.笔划生成字的数据文件
前四字节为笔划数据起始位置(相对于文件头);
次四个字节为汉字(字符)总数;
接下来每个汉字参数数据索引占四个字节,按一定编码顺序排列,前一个字节为该汉字(字符)所含的笔划数,后三字节为笔划数据在笔划参数文件中的位置,见附图20。
该数据块长度为4*汉字(字符)总数;
接下来是笔划结构参数数据块:每个笔划占八个字节,第一、二个字节为该笔划的笔划号,第三字节为该笔划的厚度,其后五字节分别为该笔划的X、Y、SX、SY、QX、QY如附图21所示。
该数据块存储容量为:所有汉字(字符)所用笔划总数*8个字节;
接下来为笔划生成数据块,组成如下:
总笔划数:2字节,
笔划数据索引:4*总笔划数,笔划数据。(如附图15笔划数据文件紧凑格式)
4.部件生成字数据格式
基本字体文件主要由以下部分组成:索引表、字参数、部件参数、笔划数据。各部分的详细数据格式描述如下:
索引表:见附图22。
字参数数据:见附图23。
部件参数数据:见附图24。
笔划数据:见附图25。
5.多字体部分共享部件构字格式
其他字体文件主要由以下部分组成:索引表、字参数、部件参数、笔划数据。各部分的详细数据格式描述如下:
索引表:见附图22。
字参数数据:见附图26。
部件参数数据:见附图27。
笔划数据:见附图28。
三、数学模型及其字形在计算机屏幕上还原显示的方法实现步骤流程图
1.  坐标系、由各坐标系转换到设备坐标系转换的转换公式
ZGX字形还原显示使用了以下各种坐标系:设备坐标系(对于显示打印或其它设备)、字坐标系、部件坐标系、笔划坐标系。
(1)设备坐标系
以计算机显示器为例:屏幕坐标系定义如附图29:
屏幕左上角坐标原点是(0,0),  向下为y轴,向右为x轴。VGA显示方式分辩为640×480,因此屏幕右下角坐标为(639,479)。
(2)字坐标系如附图30:x1o1y1为坐标系,图中xoy坐标系是设备坐标系。在设备坐标系下为字的中心坐标。显示一个字,只要给出字号、x方向和y方向的缩放系数(基准字为256×256是分辨率)及字中心坐标o1(x0,y0)(该点为字坐标系原点o1),就可以在屏幕的给定位置显示该字。
(3)部件坐标系
如附图31:x2o2y2为部件坐标系;它是相对于字坐标下相对坐标系;o2为一部件的坐标中心;每一部件有一个相对与字坐标系下的部件坐标系;显示一个字是通过显示若干部件实现的;显示该字只要从字结构文件中取出各部件号和各部件在x,y方向的缩放倍数及o2点在坐标系的相对坐标(x10,y10)。
(4)笔划坐标系
如附图32:x3o3y3为笔划坐标系;笔划坐标系是相对于部件坐标系x2oy2的相对坐标系。生成一个部件是通过显示若干笔划实现的;生成一个部件要从部件结构文件中取出;各笔划号及各笔划在x,y方向缩放倍数及o3点在x2o2y2坐标系下的相对坐标(x20,y20)即可实现。同样,每一个笔划显示都有一个笔划坐标系。
如何画笔划呢,就是根据在笔划坐标下,该笔划的坐标点数及曲线拟合参数(根据相应笔划号从笔划文件中取出)采用填充算法获得。
(5)贝塞尔二次曲线拟合
如附图32:短撇分为1、2、3段,每段都用一个贝塞尔二次曲线拟合。
第一段使用①、②、③点坐标;其中第②段是第①、③段的切线的交点。
第二段使用③、④、⑤点坐标;其中第④是为第③、⑤的切线交点。
第三段使用⑤、⑥、①点坐标;其中第⑥是为第⑤、①的切线交点。
第①、③点连线为直线,第②点可在直线上任意点。
公式如下:
Figure C0210382400191
式中(x1,y1),(x2,y2),(x3y3)分别为首端点、中间点及末端点的坐标。
这样贝塞尔曲线拟合也只要存储①到⑥点的相对坐标。与折线拟合的数据格式一致,所不同总是记录偶数个点的坐标值。且第偶数个点的值为前后两端点的切线交点。在填充计算时采用不同的方法。
(6)在设备上生成一个字的坐标变换
每一个部件的每一个笔划的各坐标点由在各坐标系转换到设备坐标系的坐标变换公式如下:
X kij = ( ( X 2 i + S xBi × X 3 j ÷ 128 ) × B xk ÷ 128 + X k 1 ) × Z xs ÷ 128 + X 0
Y kij = ( ( X 2 i + S yBi × Y 2 j ÷ 128 ) × B yk ÷ 128 + Y k 1 ) × Z ys ÷ 128 + Y 0
式中,
(Xkij,Ykij)为i笔划各坐标点在字坐标系下的坐标,
(Zxs,Zys)为整字的缩放系数,
(X0,Y0)为字中心在屏幕坐标系下的坐标;
(X3j,Y3j)为i笔划各坐标点在笔划坐标系下的坐标,
(Xk1,yk1)为第k部件中心在字坐标下的坐标,
(Bxk,Byk)为第k部件在X和Y方向上的缩放系数,
(X2i,Y2i)为第k部件的第I笔划中心在该字元坐标系下的坐标,
(SxBi,SyBi)为k部件的第I笔划在X和Y方向上缩放系数,
k=1到该字元所含部件数:i=1到第k部件所含的笔划数:
j=1到第k部件的第i笔划所含的点数;
当K恒等于1时为1部件字,即为直接由笔划构字,笔划构字的坐标变换也就用此公式。
2.ZGX字形还原显示的方法流程
其模块流程图如下:
(1)主模块流程图,见附图1。
(2)将字库数据文件读入内存数组,见附图2。
(3)从汉字(字符)的国标码(或Unicode编码)转换到ZGX字库的字号(下列框图以国标码为例),见附图3。
(4)根据ZGX字库字号划笔划字,见附图4。
(5)根据ZGX字号划部件字,见主模块流程图,即附图1。
(6)划笔划流程图,见附图例5。
(7)贝塞尔曲线递归调用模块,见附图6。
(8)用一条或多条贝塞尔曲线划一笔划段的子模块,见附图7。
(9)用一条或多条直线划一笔划段子模块,见附图8。
(10)划直线转换子模块,见附图9。
(11)划直线子模块,见附图10。
(12)在内存缓冲区中划点位图中的点的子模块,见附图11。
(13)填充算法子模块,见附图12。
(14)建立边的分类表(ET表)的子模块,见附图13。
(15)将该边的分类表ET)中某一项的所有边插入AEL活化边表中,并按cxBottom升序排列,见附图14。
四、ZGX字形调用接口
1.数据结构定义
(1)字体初始化返回指针数组
typedef struct fhzz
{
long*zys;
long*zics;
long*zrcs;
long*bhcs;
}fhzz,far*lpfhzz;
zys:字索引参数数据指针;
zics:字体之字参数数据指针;
zrcs:字体之部件参数数据指针;
zhcs:字体之笔划参数数据指针。
(2)汉字(字符)还原数组
typedef struct hzfycs
{
unsigned char zhd;
unsigned char zkd;
unsigned char zcd;
unsigned char zys;
unsigned char zfs;
}hzfycs,far*lphzfycs;
zhd:汉字的厚度参数,1字节,标准为32。
zkd:汉字的宽度参数,1字节,以象素点为单位。
zcd:汉字的长度参数,1字节,以象素点为单位。
zys:汉字的颜色或灰度,1字节。
zfs:汉字的显式方式参数,1字节;
参数值约定如下:
0位和1位为旋转方式:00为常规(不旋转),01为旋转90度,10为旋转180度,11为旋转270度;
2位为加粗与否:0为常规,1为加粗;
3位为倾斜与否:0为常规,1为倾斜;
4位为加下划线与否:0为常规,1为加下划线;
5和6位为汉字填充方式:00为只划中心线即实现线体字,01为实现以或方式填充的汉字,10为实现以与方式填充的汉字;11为实现以异或方式填充的汉字;
7位为字符显示方式,0为半角,1为全角,汉字为1。
2.字体初始化
(1)接口模块
HZ_S(zth,lpfhzz);
zth:字体号,字符变量,此为入口参数;
参数值约定如下:
0:GB-2312的16*16点阵字库;
1:GB18030-2000宋体(汉字)曲线字库;
2:GB18030黑体(汉字)曲线字库;
3:GB18030仿宋(汉字)曲线字库;
4:GB18030楷体(汉字)曲线字库;
5:GB18030字符曲线字库;
6:…
Lpfhzz:返回参数,指针数组指针。
(2)实现方法:
根据字体号打开相应字体文件名,例如GB-2312的16*16点阵字库文件名为DW16D,GB18030-2000宋体曲线字库文件名为DWSTQ,GB-2312黑体曲线字库文件名为DWHTQ,字符库文件名为DWQZFK;
定义12个内存数组分别为GB-2312的16*16点阵字库数组,GB18030-2000宋体曲线字库字索引参数数组、字体之字参数数组、部件参数数组和笔划参数数组,黑体曲线字库字索引参数数组、字体之字参数数组、部件参数数组和笔划参数数组,仿宋、楷体、字符库等的各参数数组;
将各字体文件数据读入相应的数组;
返回各数组指针。
3.汉字(字符)还原显示实现
(1)接口模块
HZ_X(hz$,zth,hzfycs,fclx,zbuf);
Hzh:字体号;
hz$:一个汉字(字符)的国标码内码,通常为2字节。
hzfycs:汉字的还原参数数组,5字节。
Fclx:返回参数类型(字符型变量),0为点位图,1为轮廓矢量数组,2为TTF格式数据格式,3为PS格式数据格式。
Zbuf:返回汉字(字符)点位图及其他类数据缓冲区指针;此为返回参数;
汉字(字符)点位图数据存储方式为每象素点为1位,每一个字所占字节数=[((zkd*zcd)+7)/8]。
(2)实现方法:
根据字体号找到相应数组指针;
根据汉字(字符)内码计算汉字字号,计算公式如下:即
设内码高字节为C1,低字节为C2(C1,C2为无符号整数),
若C1=0,则转半角字符处理;
当hz$在字符编码的范围内,即但字国标编码在(0X1F-0X80、A1A1-A1FE到A9A1-A9FE、A840-A87E到A880-A8FE到A940-A97E到A980-A9FE共1136个编码)内时,调字符字库文件DWQZFK,曲线字库为两级结构笔划构字,笔划还原子模块不用修改,只需改调用曲线字符库文件,处理字符结构文件,根据字符编码换算出在字符库的顺序号ZH:
if(hz$>=0x1f && hz$<=0x80)ZH=hz$-0x1f;
else if(c0>=0xa1 && c0<=0xa9 && c1>=0xa1 && c1<=0xfe)
ZH=99+(c0-0xa 1)*94+c1-0xa1;
else if(c0>=0xa8 && c0<=0xa9 && c1>=0x40 && c1<=0xa0)
{
ZH=945+(c0-0xa8)*96+c1-0x40;
if(c1>0x7f)ZH--;
     }
否则为汉字字库转相应字体文件先做如下处理:
若C1大于等于0XB0且小于等于0XF7且C2大于等于0XA1时(即GB2312汉字或双字节2区):字号=(C1-176)*94+C2-161;
若C1大于等于0X81且C2小于0XA1时(即双字节3区):当C2大于0X7F时C2--,字号=(C1-129)*190+C2-64+6768;
若C1大于等于0XAA且C2小于0XA1时(即双字节4区):当C2大于0X7F时C2--,字号=(C1-170)*96+C2-64+12848;
四字节字字号为21008-27589。
根据字号找到描述该字的数据,
若为16*16点阵字,该字的数据指针为:点阵字数据指针+(字号-1)*32;
若为曲线字,则根据字索引文件和字号找到描述该字的字参数数据,然后根据字参数数据找到描述该字的各字元参数数据,然后根据字元参数数据找到描述各字元的各笔划数据。
计算各笔划数据的坐标。
调用划笔划子模块。
划笔划子模块调用划直线子模块和划贝塞尔曲线子模块,最后调用填充模块。
另外还有汉字(字符)的旋转、加粗、加下划线、倾斜子模块。
(3)设计
设计要求成一个接口模块和划笔划子模块、划直线子模块、划贝塞尔曲线子模块,填充子模块。
笔划画线和填充子模块要求在内存缓冲区内实现。
划字控制的计算都在256*256的矩形上,划中心线和轮廓线时再缩放(先均以字长和字宽为256,在划笔划中心线和轮廓线时先将点的相对字中心坐标的X坐标*字宽/256,相对字中心坐标的Y坐标*字长/256)。小于等于20*20的字用线体字(指均小于,即只划中心线),等于16*16且为GB2312国标汉字用点阵字(其余字仍用线体字)。
返回为字的点位图、矢量轮廓、TTF格式或PS格式。
容错,任何字在任何分辩下显示不出错、不失真、不越界。
4.显示字符串
(1)接口模块
HZ_C(hzc$,zth,zxx,zyy,hzfycs);
Hzh:字体号;
hzc$:一个(或一组)汉字(字符)的内码字符串。
Zxx:汉字(字符)串显示的左上角屏幕X坐标。
zyy:汉字(字符)串显示的左上角屏幕Y坐标。
hzfycs:汉字的还原参数数组,5字节。

Claims (2)

1、一种用笔划中心线技术描述的部件构字的曲线字形实现字形还原显示的方法,其特征在于:
A.一种基于笔划中心线描述的笔划库,每一个笔划根据其形状分为若干不同属性的笔划段,分别为笔划头段、正常段、拐段和尾段,正常段和拐段可以有若干段,在笔划坐标系下先用直线或贝塞尔曲线的特征点坐标描述该笔划的中心线的各笔划段,又以该笔划中心线各段的关健点为各笔划段的控制点,各笔划段以各段控制点为基准的相对坐标位置描述各笔划段的轮廓曲线;特征点对于直线就是起点和终点,对于二次贝塞尔曲线是起点、中间线外点和终点,笔划数据为不等长,用尾段数据位标示该笔划结束;
基准笔划库构成包括:字体所含笔划总数,占2个字节;笔划头数据含笔划总数*4个字节,每个笔划占4个字节,前3字节为各笔划数据位置指针,后一个字节为该笔划曲率变化的占4位的方式和占4位的段号;及各笔划数据含笔划各段中心线数据、笔划各段轮廓线数据,数据只含组成直线或贝塞尔曲线的特征点在笔划坐标系下的坐标;
每种不同的字体有各自不同的笔划库;
B.一种由笔划构造的汉字部件库,其数据格式包括:
部件库所含最多笔划数构造的部件的笔划数设为n,一般为20~29,即一个部件最多由n个笔划构成,部件的排列是按2笔划部件、3笔划部件、直到n笔划部件依次排列;
n笔划部件索引表:设最多笔划数为n,各笔划数所构造的部件数据的位置指针,分别为2笔划部件位置、3笔划部件位置直到n笔划部件位置,每笔划数部件有若干个,从1号到到该笔划数部件总数为止排序,每个2笔划部件参数数据占2*8个字节,每个3笔划部件参数数据占3*8个字节,依此类推;
部件参数数据:组成该部件的笔划数;每个笔划参数数据分别为:笔划号、厚度系数、笔划位置、笔划放大缩小系数、笔划曲率变化增量;每种字体有各自的部件参数库;
C.一种由汉字部件库组字的汉字库,含笔划构造的汉字部件库,其数据格式包括:
版本信息;字参数区起始位置;部件参数区起始位置;笔划数据区起始位置;
字索引数据表:含总字数,以后每4字节表示每个字的索引,其中前3个字节表示字参数数据位置,后1字节为构成该字的部件数;
各汉字字参数数据:描述构成字的每一个部件的参数,分别为部件号、该部件所含笔划数、部件位置、部件缩小放大系数、部件的厚度系数;
由于部件库组字其部件可为多个字复用,而在笔划组部件时其笔划可为多个部件复用,所不同的是参数数据;每种字体有各自的字参数库;
D.多字体紧凑共享格式字库,各种字体构成每一个字的部件元数和部件号是相同的,各种字体构成部件的笔划号是相同的,这一部分数据只要在一种基本字体中描述,而其他字体共享这部分数据,其数据格式描述如下:
基本字体的格式已在C中描述,
其它字体的数据格式描述如下:在字参数数据中省掉部件元数和部件号,在部件参数数据中省掉头笔划号;
E.以笔划中心线技术描述的笔划在计算机屏幕坐标系下高精度还原显示笔划图形的步骤,即一个部件组字的部件里的一个笔划数据还原成汉字字形里的实际笔划图形并显示在计算机屏幕上的数据处理过程的步骤如下:
第一步在参数化笔划库里取出该参数化基准笔划数据,即划中心线各段的数据和轮廓线各段数据,这些数据是相对于笔划坐标系的坐标数据;
由于使用笔划组成汉字部件,第二步就是将组成笔划的各点坐标由笔划坐标系转换到部件坐标系下,并且要结合部件调用该笔划的外部调用参数进行数据处理,这些外部调用参数是笔划厚度参数、放大倍数、笔划中心坐标在部件坐标系下的坐标和曲率变化参数;
汉字是由多个部件构成的,每一个部件的大小、位置都不同,第三步就是将组成笔划的在部件坐标下的各坐标再转换到字坐标系下,并且要结合该汉字调用该笔划所属的部件的外部调用参数进行数据处理,这些外部调用参数是部件厚度参数、放大倍数、部件中心坐标在字坐标系下的坐标;
汉字的每一笔划图形最终是要显示在计算机屏幕上的,第四步就是将组成笔划的在字坐标下的各点坐标再转换到计算机屏幕坐标系下,并且要结合外部调用该字的参数进行数据处理,这些外部调用参数是字的长度、宽度、字的放大倍数、字中心坐标在屏幕坐标系下的坐标、字显示的前景色和背景色、字形点位图内存映像数组指针,每一个部件的每一个笔划的各坐标点由各坐标系转换到设备坐标系的坐标变换公式如下:
X kij = ( ( X 2 i + S xBi × X 3 j ÷ 128 ) × B xk ÷ 128 + X k 1 ) × Z xs ÷ 128 + X 0
Y kij = ( ( Y 2 i + S yBi × Y 3 j ÷ 128 ) × B yk ÷ 128 + Y k 1 ) × Z ys ÷ 128 + Y 0
式中,
(Xkij,Ykij)为i笔划各坐标点在字坐标系下的坐标,
(Zxs,Zys)为整字的缩放系数,
(X0,Y0)为字中心在屏幕坐标系下的坐标;
(X3j,Y3j)为i笔划各坐标点在笔划坐标系下的坐标,
(Xk1,Yk1)为第k部件中心在字坐标下的坐标,
(Bxk,Byk)为第k部件在X和Y方向上的缩放系数,
(X2i,Y2i)为第k部件的第I笔划中心在该字元坐标系下的坐标,
(SxBi,SyBi)为k部件的第I笔划在X和Y方向上缩放系数,
k=1到该字元所含部件数;i=1到第k部件所含的笔划数;
j=1到第k部件的第i笔划所含的点数;
第五步是最终在计算机屏幕上输出显示笔划图形的步骤:经过上述的数据处理和坐标变换后,形成了划笔划中心线各段的点在屏幕坐标系下的坐标,首先在计算机上划笔划中心线的各段,如果是有曲率变化的段则在该段的相应点上加上坐标的外部调用参数曲率变化增量,然后根据各段段标志和划线方式用直线或贝塞尔曲线划中心线各段,划直线或贝塞尔曲线使用公知的算法,各段全部划完后产生笔划的中心笔划骨架线;划好笔划中心线后以中心线各段的段控制点为基准,结合笔划厚度参数和各段曲率变化参数,再以顺时针方向从头段到尾段计算出第一轮廓线生成各段的点在屏幕坐标下的坐标数据,并在计算机上划笔划第一轮廓线各段,然后由尾段到头段划第二轮廓线各段,轮廓线各段的坐标是相对于中心线各相应的控制点的,这些相对坐标乘以笔划外部调用参数厚度系数,加上中心线各相应的控制点坐标,形成划轮廓线各段的在屏幕坐标系下的坐标,然后根据各段段标志和划线方式用直线或贝塞尔曲线划轮廓线各段,各段全部划完后产生笔划的轮廓线;两条轮廓线构成一个闭合区域,对该闭合区域使用公知的填充算法填充,这样一个汉字笔划图形显示完成;
F.由笔划组汉字部件还原显示图形汉字部件的步骤如下:先根据外部调用参数,这些参数是部件元数、部件号、部件位置、部件放大缩小系数、部件厚度系数,依据汉字部件的元数和在该元所属的部件号的索引从笔划组部件库文件取出组成该部件的笔划数和每一个笔划的参数数据,这些参数是笔划号、厚度系数、笔划位置、笔划放大缩小系数、笔划曲率变化增量,根据部件的外部调用参数和部件的每一个笔划的参数经坐标变换数据处理计算在屏幕坐标下的笔划各点坐标,并还原显示每一个笔划图形,对组成该部件的笔划数循环,对每一个笔划按E中的步骤生成每一个的在屏幕里显示的笔划图形,所有笔划显示完成则一个汉字部件还原显示完成;
G.由汉字部件库组字还原显示图形汉字字形的步骤如下:先根据外部调用的汉字编码和汉字还原数组的汉字的厚度、汉字的宽度、汉字的长度、汉字显示的颜色或灰度、汉字的显示方式外部调用参数;依据汉字的编码的索引对应到字形的字号,根据字形字号从部件组字字库文件中取出组成该字的部件数和每一个部件的参数数据,每一个部件的参数数据是部件元数、部件号、部件中心坐标、部件缩放系数和部件厚度系数,对部件数循环,根据汉字的外部调用参数和组成该汉字的每一个部件的参数经坐标变换数据处理计算在屏幕坐标下还原显示每一个部件的图形,对每一个部件按F中的步骤生成每一个在屏幕里显示的部件,所有部件还原显示完成则一个汉字还原显示完成。
2、一种用笔划中心线技术描述的直接由笔划构字的曲线字形实现还原显示的方法,其特征在于:
A.一种基于笔划中心线描述的笔划库,每一个笔划根据其形状分为若干不同属性的笔划段,分别为笔划头段、正常段、拐段和尾段,正常段和拐段可以有若干段,在笔划坐标系下先用直线或贝塞尔曲线的特征点坐标描述该笔划的中心线的各笔划段,又以该笔划中心线各段的关健点为各笔划段的控制点,各笔划段以各段控制点为基准的相对坐标位置描述各笔划段的轮廓曲线;特征点对于直线就是起点和终点,对于二次贝塞尔曲线是起点、中间线外点和终点,笔划数据为不等长,用尾段数据位标示该笔划结束;
基准笔划库构成包括:字体所含笔划总数,占2个字节;笔划头数据含笔划总数*4个字节,每个笔划占4个字节,前3字节为各笔划数据位置指针,后一个字节该笔划曲率变化的占4位的方式和占4位的段号;及各笔划数据含笔划各段中心线数据、笔划各段轮廓线数据,数据只含组成直线或贝塞尔曲线的特征点在笔划坐标系下的坐标;
每种不同的字体笔划数不同,每种不同的字体有不同的笔划库;
B.一种由笔划直接构造的字库,其数据格式包括:
相对于字库文件头的笔划库数据起始位置;该字库所含汉字总数;汉字索引表,含每一字参数数据的指针和该字所用笔划数;各汉字字参数数据及A中所述笔划库:
各汉字参数数据:组成该汉字的笔划数;每个笔划参数数据分别为:笔划号、厚度系数、笔划位置、笔划放大缩小系数、笔划曲率变化增量;这些都是生成字形的参数,并不能直接代表实际的字形,要通过这些外部参数经数学变换按笔划组汉字步骤的才能实现还原显示图形汉字字形;每种字体有自己的字参数库;
C.以笔划中心线技术描述的笔划在计算机屏幕坐标系下高精度还原显示输出笔划图形的步骤,即一个笔划组字的笔划数据还原成汉字字形里的实际笔划图形并显示在计算机屏幕上的数据处理过程的步骤释如下:
第一步在参数化笔划库里取出该参数化基准笔划数据,即划中心线各段的数据和轮廓线各段数据,这些数据是相对于笔划坐标系的坐标数据;
汉字是由多笔划成的,每一个部件的大小、位置都不同,第二步就是将笔划的在笔划坐标下的各坐标转换到字坐标系下,并且要结合该汉字调用该笔划的外部调用参数进行数据处理,这些外部调用参数是笔划厚度参数、放大倍数、笔划中心坐标和曲率变化增量;
汉字的每一笔划图形最终是要显示在计算机屏幕上的,第三步就是将组成笔划的在字坐标下的各点坐标再转换到计算机屏幕坐标系下,并且要结合外部调用该字的参数进行数据处理,这些外部调用参数是字的长度、宽度、字的放大倍数、字中心坐标在屏幕坐标系下的坐标、字显示的前景色和背景色、字形点位图内存映像数组指针,汉字的每一个笔划的各坐标点由各坐标系转换到设备坐标系的坐标变换公式如下:
X kij = ( ( X 2 i + S xBi × X 3 j ÷ 128 ) × B xk ÷ 128 + X k 1 ) × Z xs ÷ 128 + X 0
Y kij = ( ( Y 2 i + S yBi × Y 3 j ÷ 128 ) × B yk ÷ 128 + Y k 1 ) × Z ys ÷ 128 + Y 0
式中,
(Xkij,Ykij)为i笔划各坐标点在字坐标系下的坐标,
(Zxs,Zys)为整字的缩放系数,
(X0,Y0)为字中心在屏幕坐标系下的坐标;
(X3j,Y3j)为i笔划各坐标点在笔划坐标系下的坐标,
(Xk1,Yk1)为第k部件中心在字坐标下的坐标,
(Bxk,Byk)为第k部件在X和Y方向上的缩放系数,
(X2i,Y2i)为第k部件的第I笔划中心在该字元坐标系下的坐标,
(SxBi,SxBi)  为k部件的第I笔划在X和Y方向上缩放系数,
k恒等于1,即该汉字由1个部件构成;i=1到第该部件所含的笔划数;j=1到该部件即该汉字的第i笔划所含的点数;
第四步是最终在计算机屏幕上输出显示笔划图形:经过上述的数据处理和坐标变换后,形成了划笔划中心线各段的点在屏幕坐标系下的坐标,首先在计算机上划笔划中心线的各段,如果是有曲率变化的段则在该段的相应点上加上坐标的外部调用参数曲率变化增量,然后根据各段段标志和划线方式用直线或贝塞尔曲线划中心线各段,划直线或贝塞尔曲线使用公知的算法,各段全部划完后产生笔划的中心笔划骨架线;划好笔划中心线后以中心线各段的段控制点为基准,结合笔划厚度参数和各段曲率变化参数,再以顺时针方向从头段到尾段计算出第一轮廓线生成各段的点在屏幕坐标下的坐标数据,并在计算机上划笔划第一轮廓线各段,然后由尾段到头段划第二轮廓线各段,轮廓线各段的坐标是相对于中心线各相应的控制点的,这些相对坐标乘以笔划外部调用参数厚度系数,加上中心线各相应的控制点坐标,形成划轮廓线各段的在屏幕坐标系下的坐标,然后根据各段段标志和划线方式用直线或贝塞尔曲线划轮廓线各段,各段全部划完后产生笔划的轮廓线;两条轮廓线构成一个闭合区域,对该闭合区域使用公知的填充算法填充,这样一个汉字笔划图形显示完成;
D.由笔划直接组字还原显示汉字字形的步骤如下:先根据外部调用的汉字编码和汉字还原数组的汉字的厚度、汉字的宽度、汉字的长度、汉字显示的颜色或灰度、汉字的显示方式等外部调用参数;然后依据汉字的编码的索引得到字形的字号,根据字形字号从笔划直接组字字库文件取出组成该字的笔划数和每一个笔划的参数数据,这些参数是笔划号、厚度系数、笔划位置、笔划放大缩小系数、笔划曲率变化增量,由汉字的外部调用参数和构成该汉字的每一个笔划的参数经坐标变换数据处理计算在屏幕坐标下还原显示每一个笔划图形,对生成该汉字字形的笔划数循环,对每一个笔划按C中的步骤生成每一个不同的在屏幕里显示输出的笔划图形,所有笔划图形显示输出完成则一个汉字显示输出完成。
CNB021038244A 2002-03-29 2002-03-29 基于笔划中心线技术的曲线字形的还原显示方法 Expired - Fee Related CN1159666C (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CNB021038244A CN1159666C (zh) 2002-03-29 2002-03-29 基于笔划中心线技术的曲线字形的还原显示方法
AU2003221239A AU2003221239A1 (en) 2002-03-29 2003-03-28 Embedded curve chinese character library described based on stroke central line
EP03711808A EP1517231A4 (en) 2002-03-29 2003-03-28 CHINESE DRAWING LIBRARY WITH EMBEDDED CURVE, DESCRIBED BASED ON THE BARRIER LINE
PCT/CN2003/000230 WO2003083640A2 (fr) 2002-03-29 2003-03-28 Banque de caracteres chinois a courbes integrees decrites sur la base de l'axe de reference
JP2003580999A JP2005521903A (ja) 2002-03-29 2003-03-28 ストローク中心線技術に基づく曲線字形の復元表示方法
KR1020047015463A KR100643849B1 (ko) 2002-03-29 2003-03-28 스트로크 중심선에 기초하여 표시되는 내장형 곡선의중문라이브러리
US10/509,142 US7437384B2 (en) 2002-03-29 2003-03-28 Revivifivation display method for outline fonts based on stroke centerlines technology
CA002480653A CA2480653A1 (en) 2002-03-29 2003-03-28 Revivifivation display method for outline fonts based on stroke centerlines technology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB021038244A CN1159666C (zh) 2002-03-29 2002-03-29 基于笔划中心线技术的曲线字形的还原显示方法

Publications (2)

Publication Number Publication Date
CN1388462A CN1388462A (zh) 2003-01-01
CN1159666C true CN1159666C (zh) 2004-07-28

Family

ID=4739910

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021038244A Expired - Fee Related CN1159666C (zh) 2002-03-29 2002-03-29 基于笔划中心线技术的曲线字形的还原显示方法

Country Status (8)

Country Link
US (1) US7437384B2 (zh)
EP (1) EP1517231A4 (zh)
JP (1) JP2005521903A (zh)
KR (1) KR100643849B1 (zh)
CN (1) CN1159666C (zh)
AU (1) AU2003221239A1 (zh)
CA (1) CA2480653A1 (zh)
WO (1) WO2003083640A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100354860C (zh) * 2004-09-17 2007-12-12 华南理工大学 一种含书写时序信息的动态汉字字库的处理方法
CN100435140C (zh) * 2006-11-22 2008-11-19 北京北大方正电子有限公司 一种无衬线字形笔画接合处的对齐方法
CN102662922A (zh) * 2012-04-12 2012-09-12 董月夕 一种以笔画为基本构件的智能中文字体设计方法和系统

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4198098B2 (ja) * 2004-07-23 2008-12-17 シャープ株式会社 表示装置、プログラムおよび記録媒体
TWI310522B (en) * 2006-08-11 2009-06-01 Arphic Technology Co Ltd Method for generating characters
CN100476799C (zh) * 2007-06-15 2009-04-08 中国科学院软件研究所 字库字形标准性的检测方法
CN101593172B (zh) * 2008-05-28 2012-05-23 北京飞漫软件技术有限公司 一种字体文件
CN101594480B (zh) * 2008-05-30 2013-06-05 新奥特(北京)视频技术有限公司 一种字幕数据处理的方法
US8306328B2 (en) * 2009-01-26 2012-11-06 Mitsubishi Electric Research Laboratories Method for converting outline characters to stylized stroke characters
US20110202150A1 (en) * 2009-10-16 2011-08-18 Newport Controls Controller system adapted for SPA
CN101986289B (zh) * 2010-11-03 2014-08-13 中兴通讯股份有限公司 一种提高浏览器页面渲染速度的方法和装置
CN102467386A (zh) * 2010-11-17 2012-05-23 北大方正集团有限公司 用于软件界面适配不同分辨率的方法和装置
CN102467385A (zh) * 2010-11-17 2012-05-23 北大方正集团有限公司 用于软件界面适配不同分辨率的方法和装置
CN104461564A (zh) * 2014-12-24 2015-03-25 浪潮(北京)电子信息产业有限公司 一种基于字体生成图标的方法及装置
KR101641282B1 (ko) * 2015-03-02 2016-07-29 (주)한양정보통신 다중 마스터 글리프 생성 시스템 및 방법
CN108304356B (zh) * 2018-01-30 2021-02-09 深圳市茁壮网络股份有限公司 一种字符显示方法及装置
CN109635883B (zh) * 2018-11-19 2023-04-18 北京大学 基于深度堆叠网络的结构信息指导的中文字库生成方法
CN112784531B (zh) * 2019-11-05 2024-02-27 北京大学 一种基于深度学习和部件拼接的中文字形及字库生成方法
CN111369441B (zh) * 2020-03-09 2022-11-15 稿定(厦门)科技有限公司 文字处理方法、介质、设备及装置
CN111539873B (zh) * 2020-05-06 2023-10-20 中国科学院自动化研究所 个人风格书法字字库生成方法及系统
CN114065701A (zh) * 2020-07-31 2022-02-18 华为技术有限公司 文本显示方法、编译方法及相关设备
CN113763514B (zh) * 2021-07-15 2024-04-02 北京字节跳动网络技术有限公司 笔顺动画的生成方法、装置、系统及电子设备
CN114663551B (zh) * 2022-04-08 2024-07-05 深圳软牛科技集团股份有限公司 一种在墨迹画板中创建图案笔划的方法、装置及相关组件

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6165290A (ja) * 1984-09-07 1986-04-03 株式会社日立製作所 ベクトル文字フオントの作成装置
JP2962937B2 (ja) * 1992-07-14 1999-10-12 キヤノン株式会社 文字処理装置及び方法
AU2132997A (en) * 1997-02-24 1998-09-09 Zining Fu Representation and restoration method of font information
US6288725B1 (en) * 1997-02-24 2001-09-11 Zining Fu Representation and restoration method of font information
KR20050088414A (ko) * 2002-12-09 2005-09-06 코닌클리케 필립스 일렉트로닉스 엔.브이. 부분 문자 세트 생성기를 구비한 상호동작 텔레비전 시스템
US7369702B2 (en) * 2003-11-07 2008-05-06 Microsoft Corporation Template-based cursive handwriting recognition

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100354860C (zh) * 2004-09-17 2007-12-12 华南理工大学 一种含书写时序信息的动态汉字字库的处理方法
CN100435140C (zh) * 2006-11-22 2008-11-19 北京北大方正电子有限公司 一种无衬线字形笔画接合处的对齐方法
CN102662922A (zh) * 2012-04-12 2012-09-12 董月夕 一种以笔画为基本构件的智能中文字体设计方法和系统

Also Published As

Publication number Publication date
US7437384B2 (en) 2008-10-14
US20050234899A1 (en) 2005-10-20
CN1388462A (zh) 2003-01-01
CA2480653A1 (en) 2003-10-09
EP1517231A4 (en) 2010-04-14
KR20050012228A (ko) 2005-01-31
KR100643849B1 (ko) 2006-11-10
WO2003083640A2 (fr) 2003-10-09
JP2005521903A (ja) 2005-07-21
AU2003221239A1 (en) 2003-10-13
EP1517231A1 (en) 2005-03-23

Similar Documents

Publication Publication Date Title
CN1159666C (zh) 基于笔划中心线技术的曲线字形的还原显示方法
CN1238819C (zh) 三维字符生成设备及三维图形数据生成设备
CN1094624C (zh) 图像数据处理设备和方法
CN1293518C (zh) 具有割截与支援框线模式的三角形描绘方法与装置
CN1126025C (zh) 窗口显示装置
CN1179312C (zh) 显示方法
CN1059225A (zh) 用于结构运算的运算单元
CN1749958A (zh) 使用形状的公用图表
CN1567174A (zh) 对象表示和处理的方法及其装置
CN1752963A (zh) 文档信息处理设备、文档信息处理方法及处理程序
CN100337183C (zh) 用于显示图表和图形的图形显示控制装置
CN1526098A (zh) 与二维或三维几何实体相关的数据的输出方法和系统
CN1108590C (zh) 信息处理装置
CN1290065C (zh) 在n维空间产生m次图形的方法和设备
CN1048343C (zh) 自由组合码汉字输入方法及键盘
CN1235122C (zh) 计算机汉字活码输入法及其键盘
CN1025896C (zh) 新概念编码计算机汉字输入键盘
CN1198214C (zh) 于不同平台间存取任意位范围的数据的方法
CN85104927A (zh) 产生比例合适的字形数据的方法
CN1102488A (zh) 中文数码电脑汉字输入法及其键盘
CN1037603A (zh) 在关系数据库产品中对单字节与双字节混合数据的支持
CN1826595A (zh) 数据处理装置、数据处理方法、数据处理程序及记录了数据处理程序的计算机可读取的记录介质
CN1604017A (zh) 基于一健一字的汉字特征定位编码复合输入方法
CN1281178A (zh) 黎明形意类字母汉字多功能输入编码技术
CN1110806A (zh) 智能五笔双拼码字—词链环式定位联想输入方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C57 Notification of unclear or unknown address
DD01 Delivery of document by public notice

Addressee: Shanghai Hanfeng Information Sci-Tech Co., Ltd.

Document name: Notice of conformity

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
DD01 Delivery of document by public notice

Addressee: Shanghai Hanfeng Information Sci-Tech Co., Ltd.

Document name: Notification to Pay the Fees

DD01 Delivery of document by public notice

Addressee: Shanghai Hanfeng Information Sci-Tech Co., Ltd.

Document name: Notification to Pay the Fees

DD01 Delivery of document by public notice

Addressee: Shanghai Hanfeng Information Sci-Tech Co., Ltd.

Document name: Notification to Pay the Fees

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Shanghai Hanfeng Information Sci-Tech Co., Ltd.

Document name: Notification of Termination of Patent Right

DD01 Delivery of document by public notice
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040728

Termination date: 20180329