CN101131687A - 产生字型的方法 - Google Patents
产生字型的方法 Download PDFInfo
- Publication number
- CN101131687A CN101131687A CNA2006101215487A CN200610121548A CN101131687A CN 101131687 A CN101131687 A CN 101131687A CN A2006101215487 A CNA2006101215487 A CN A2006101215487A CN 200610121548 A CN200610121548 A CN 200610121548A CN 101131687 A CN101131687 A CN 101131687A
- Authority
- CN
- China
- Prior art keywords
- stroke
- font
- point
- character
- code
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 16
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 claims 1
- 239000007787 solid Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 22
- 241001269238 Data Species 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
产生字型包含记录一笔划的关键点、起始点与结束点,及相对应于该笔划的一笔划程序根据该笔划的关键点、起始点与结束点来绘制出该笔划的单线结构。在绘制出该笔划的单线结构后,再调整该笔划的粗细。
Description
技术领域
本发明提供一种产生字型的方法,尤其指一种提升小字型显示质量的方法。
背景技术
目前的高质量中文字型大都使用笔划组字技术来完成,笔划组字技术将每一个字的字型视为是一个由许多笔划组成的结构性图形,而每一笔划则是由该笔划的外形轮廓所构成的子图形来代表。中文字的笔划种类并不多,但是在不同的字中或是一个字的不同部位,即使是相同笔划也会有长、短、胖、瘦或是角度的差异。但是如果属于同一种笔划,例如「一」,即使是有这些差异,它们的外形轮廓特征也多半是相同的。因此如果代表一个笔划的长、短、角度以及位置的关键点以及代表一个笔划不同部位胖、瘦的宽度值能被个别的标定出来,则一个笔划的外形轮廓就可以很容易的用一个笔划程序计算出来并加以绘制。
基本上,每一种笔划都设有预定个数的关键点及宽度值,而且每一种笔划都可用一个笔划程序来绘制该笔划。笔划程序是用「图形描述语言」(graphic description language)写成的,它可根据给定的各个关键点及宽度值将一个笔划的外形轮廓绘制在一个方框内,而一个字的字型就是将它所有的笔划由各笔划的笔划程序逐一绘制在一个方框内所构成。
请参考图1;图1为先前笔划对照表10的数据结构。笔划对照表10包含各个笔划的笔划码14,以及对应于各个笔划的笔划程序12。在绘制笔划时,系统会依据一个笔划的笔划码来取出相对应的笔划程序,然后再利用该笔划程序依据该笔划的关键点及宽度值将该笔划的外形轮廓绘制在一个方框内。
请参考图2及图3;图2为笔划20的外形轮廓以及各个关键点及宽度值的位置,而图3为笔划20的数据结构24。笔划20设有三个关键点(x1,y1)、(x2,y2)和(x3,y3)以及两个宽度值w1和w2,因此数据结构24包含有笔划20的笔划码(ID7)以及各个关键点和宽度值。
请参考图4;图4为先前字型描述档28的数据结构。字型描述档28是用来记录每一个字型是由那些笔划所组成,以及每个笔划的笔划码、关键点和宽度值等笔划数据。字型描述档28包含有一索引表30以及每个字的笔划描述表32。索引表30内含有每个字型的字码(WID)以及相对应的笔划描述表32的地址。而笔划描述表32则是由一字型的各个笔划的数据结构所组成,就如同图3所示的数据结构24,其内含有各个笔划的笔划数据:笔划码、关键点和宽度值。这些笔划数据是依照一个预定的顺序来排列,例如像是写字时所用的笔顺。在绘制一个字型的时候,只要找出该字型的字码,系统就会利用字型描述档28的索引表30将该字型的笔划描述表32找出,然后再配合前述的笔划对照表10将该字型的所有笔划逐一绘制在一个方框内以完成该字型的外框,最后利用涂黑程序将该字型涂黑,即完成该字型的绘制。
请参阅图5;图5为先前技术使用笔划组字技术显示小字型的示意图。笔划组字技术用于显示小的字型时,各笔划之间的距离可能太近或太宽,造成小字型的显示质量较差。
发明内容
本发明公开一种产生字型的方法,包含建立一笔划对照表,其包含多个笔划码,及多个笔划程序,相对应于该多个笔划码,每一笔划码有其所对应的起始点及结束点;建立多个笔划描述表,用来描述多个文字,每一笔划描述表包含对应于一文字的笔划码,以及相对应于该文字的各笔划码的多个关键点;根据一字型码,取得对应于该字型码的笔划描述表;根据对应于该字型码的笔划描述表中的笔划码,其所对应的多个关键点、笔划程序、起始点及结束点,绘制对应于该字型码的文字。
附图说明
图1为先前笔划对照表的数据结构。
图2为先前技术中一笔划的外形轮廓以及各个关键点及宽度值的示意图。
图3为图2笔划的数据结构的示意图。
图4为先前字型描述档的数据结构的示意图。
图5为先前技术使用笔划组字技术显示小字型的示意图。
图6至图10为选择笔划的起始点与结束点的示意图。
图11为本发明所绘制出各字型的单线结构的示意图。
图12至图14为调整笔划粗细的示意图。
图15与图16分别为本发明以图12与图14的方式调整笔划粗细后的字型的示意图。
图17为本发明笔划的数据结构的示意图。
图18为本发明笔划对照表的示意图。
第19图为本发明字型描述档的数据结构的示意图。
图20为本发明绘制字型的流程图。
主要元件符号说明
12笔划程序 14笔划码
20笔划 30索引表
46起始点 47结束点
10、40笔划对照表
24、44笔划数据结构
28、48字型描述档
32、42笔划描述表
具体实施方式
本发明产生字型的单线结构后,再调整该字型各笔划的粗细,以达到显示高质量的小字型。
首先,取得每一个笔划的单线结构的起始点(initial point)与结束点(end point)。利用现有组字技术中的字型数据,如笔划外框字型(其为外框内已至少部份涂黑的笔划)或纯外框字型(其为外框内未涂黑,而仅有外框的笔划),这些字型是可以调整其大小的,一般来说,大约使用300至500个笔划即可组出一套中文繁体的字型数据。将这些笔划的粗细设定为零并绘制出来,即可得到笔划的单线结构,如何选取笔划的单线结构的起始点与结束点,在后有详细的说明。
请参阅图6;图6为笔划「一」的外框结构,由于在绘制笔划外框字型时,先前技术的笔划程序会根据该笔划的关键点与宽度值,计算出外框结构的曲线,只要笔划的粗细不为零,则笔划的外框结构必为一封闭曲线,因此从点A沿着箭头的方向绘制出图6的外框结构。请参阅图7;图7为图6中笔划粗细为零的示意图。若笔划的粗细设为零,先前技术的绘制路径为从点B向点C绘制,再从点C向点B绘制,不论粗细为何,先前技术的笔划程序的绘制方式是将每一笔划视为一封闭曲线。本发明根据图7的单线结构设定该笔划的起始点为B而结束点为C。因此当本发明使用笔划程序绘制如图7的单线结构时,笔划程序只根据原本的关键点与所设定的起始点B与结束点C,从点B绘制到点C便停止,不会再从点C向点B绘制回去。
在本实施例中,大多数笔划的起始点为该笔划的第一个关键点,且大多数笔划的结束点为该笔划的最后第一个关键点。而其余笔划的起始点与结束点则系由人工定义。请参阅图8至图10。图8为一非直线的笔划,从点D沿着箭头的方向绘制。将图8的笔划的粗细设为零,可得到图9的单线结构,由于先前技术绘制粗细为零的非直线笔划仍要计算图8外框结构的双边曲线,因此虚线部分内的曲线不会重迭为单一曲线。因此当本发明绘制此非直线笔划的单线结构时,笔划程序会根据原本的关键点与所设定的起始点E与结束点F,从点E绘制到点F便停止,即可得到图10的单线结构,因此解决了图9中曲线不重迭的问题。
请参阅图11;图11为本发明所绘制出各字型的单线结构的示意图。接着只要调整各字型中每一笔划的粗细,即完成字型的绘制。调整笔划粗细有以下几种方式。
请参阅图12;图12为调整笔划粗细的示意图。图12中的笔划为点G至点H的直线笔划,以点G至点H所包含的每一个点(以黑点为标记)往右、往下以及往右下延伸出另外三个点(以「叉」为标记),即画出宽度为两点的字型。利用延伸的方式来调整笔划的粗细,所延伸的宽度与方向可依所需的字型大小而定。
请参阅图13;图13为调整笔划粗细的示意图。图13中的笔划为点I至点J的直线笔划,以点I至点J所包含的每一个点为圆心,两点之间的距离为半径画实心圆,即画出宽度为两点的字型。以画实心圆的方式来调整笔划的粗细,半径的选取则视所需的字型大小而定。
请参阅图14;图14为调整笔划粗细的示意图。图14中的笔划为点K至点L的直线笔划,以点K至点L的直线笔划为基准,以灰度值渐减的方式向下延伸。利用不同灰度值大小来显示字型,灰度值渐减的程度与宽度可视所需的字型大小而定。
请参阅图15与图16,分别为以图12与图14的方式调整笔划粗细后的字型的示意图。图15与图16显示小字型的质量比图5的显示质量更好,因此通过本发明可提高小字型的显示质量。本发明调整笔划粗细的方式并不局限于上述的方式,其他任何可调整笔划粗细的方法亦为本发明所采用。
当一显示系统显示字型在一显示幕时,可以先判断字型的大小,若属于大字型,则选择先前技术的组字技术来绘制大字型;若属于小字型,则选择本发明的组字技术来绘制小字型,以提升小字型的显示质量。以一套以先前技术需要1.2MB的数据量的繁体字为例,由于本发明绘制小字型时需增加各个笔划的起始点与结束点数据,因此该显示系统大约会增加1.2KB(byte)的数据量。
或者,不论字型的大小,皆以本发明的组字技术来绘制,因此不须储存原有的各笔划的宽度值,也就是图3数据结构24中的宽度值。请参阅图17至图19,图17为本发明所需要的笔划数据结构44;图18为本发明笔划对照表40的示意图;图19为本发明字型描述档48的示意图。图17的笔划数据结构44与图19的笔划描述表42中没有宽度值这项数据,因此整个数据量可从先前技术的1.2MB降至1.0-1.1MB。
此外,本发明只需计算原本笔划外框字型的单边曲线,以及使用简易的方式调整笔划粗细,相较于先前技术计算封闭曲线内的点,本发明产生字型的速度可大幅提升。
请参阅图20;图20为本发明绘制字型的流程图,步骤如下:
步骤100:先判断所要显示的字型大小,若为大字型,则进入步骤104;若为小字型,则进入步骤102;
步骤102:根据该字型的字型码WID,取得相对应的笔划描述表42,再根据笔划描述表42中各笔划的起始点46、结束点47、关键点以及笔划程序,绘制出该字型的单线结构,接着进入步骤106;
步骤104:使用先前技术的笔划组字技术,绘制出该字型的外框,接着进入步骤108;
步骤106:调整该字型中各笔划的粗细,接着进入步骤110;
步骤108:利用涂黑程序将该字型涂黑,接着进入步骤110;
步骤110:输出该字型,结束。
当然,图20也可省略步骤100,将所有字型皆以本发明的绘制方法来绘制字型。
本发明提供一种产生字型的方法,笔划程序根据笔划的关键点、起始点与结束点来绘制出笔划的单线结构,待整个字型单线结构绘制完成后,再调整各笔划的粗细即可。本发明的优点有:所需增加的数据量小,约1.2KB,产生字型的速度快,以及小字型的显示质量高。此外,本发明不只可应用于中文字型,其他结构性图形也可应用的。
以上所述仅为本发明的优选实施例,凡依本发明权利要求所进行的等效变化与修改,皆应属本发明的涵盖范围。
Claims (7)
1.一种产生字型的方法,包含:
建立一笔划对照表,其包含多个笔划码,及多个笔划程序,相对应于该多个笔划码,每一笔划码有其所对应的起始点及结束点;
建立多个笔划描述表,用来描述多个文字,每一笔划描述表包含对应于一文字的笔划码,以及相对应于该文字的各笔划码的多个关键点;
根据一字型码,取得对应于该字型码的笔划描述表;及
根据对应于该字型码的笔划描述表中的笔划码,其所对应的多个关键点、笔划程序、起始点及结束点,绘制对应于该字型码的文字。
2.如权利要求1所述的方法,还包含在一笔划码的外框字型的宽度为零时,绘制相对应的笔划,及根据该笔划的第一个关键点设定该笔划的起始点,并根据该笔划的最后一个关键点设定该笔划的结束点。
3.如权利要求1所述的方法,还包含在一笔划码的纯外框字型的宽度为零时,绘制相对应的笔划,及根据该笔划的第一个关键点设定该笔划的起始点,并根据该笔划的最后一个关键点设定该笔划的结束点。
4.如权利要求1所述的方法,其中绘制对应于该字型码的文字包含调整该文字的各个笔划的粗细。
5.如权利要求4所述的方法,其中调整该文字的各个笔划的粗细包含自该文字的各个笔划所包含的点往多个方向延伸。
6.如权利要求4所述的方法,其中调整该文字的各个笔划的粗细包含以该文字的各个笔划所包含的点为圆心绘制实心圆。
7.如权利要求4所述的方法,其中调整该文字的各个笔划的粗细包含自该文字的各个笔划以灰度值渐减的方式向一预定方向延伸。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101215487A CN101131687A (zh) | 2006-08-22 | 2006-08-22 | 产生字型的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101215487A CN101131687A (zh) | 2006-08-22 | 2006-08-22 | 产生字型的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101131687A true CN101131687A (zh) | 2008-02-27 |
Family
ID=39128957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101215487A Pending CN101131687A (zh) | 2006-08-22 | 2006-08-22 | 产生字型的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101131687A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010006512A1 (zh) * | 2008-07-18 | 2010-01-21 | 常州华文印刷新技术有限公司 | 文字的显示方法、检索方法及显示设备 |
CN103700363A (zh) * | 2012-09-27 | 2014-04-02 | 文鼎科技开发股份有限公司 | 显示器的字型产生系统和显示器的字型产生方法 |
CN104699394A (zh) * | 2013-12-09 | 2015-06-10 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
WO2019119443A1 (zh) * | 2017-12-22 | 2019-06-27 | 深圳市柔宇科技有限公司 | 一种笔迹调整的方法以及显示设备 |
-
2006
- 2006-08-22 CN CNA2006101215487A patent/CN101131687A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010006512A1 (zh) * | 2008-07-18 | 2010-01-21 | 常州华文印刷新技术有限公司 | 文字的显示方法、检索方法及显示设备 |
CN101630311B (zh) * | 2008-07-18 | 2011-05-04 | 常州华文印刷新技术有限公司 | 一种文字的显示方法及显示设备 |
CN103700363A (zh) * | 2012-09-27 | 2014-04-02 | 文鼎科技开发股份有限公司 | 显示器的字型产生系统和显示器的字型产生方法 |
CN104699394A (zh) * | 2013-12-09 | 2015-06-10 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104699394B (zh) * | 2013-12-09 | 2018-08-31 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
WO2019119443A1 (zh) * | 2017-12-22 | 2019-06-27 | 深圳市柔宇科技有限公司 | 一种笔迹调整的方法以及显示设备 |
CN111201508A (zh) * | 2017-12-22 | 2020-05-26 | 深圳市柔宇科技有限公司 | 一种笔迹调整的方法以及显示设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488339B (zh) | 一种个性化汉字数字墨水的生成方法 | |
US10489051B2 (en) | Handwriting input apparatus and control method thereof | |
TW486642B (en) | Glyph-based outline font generation independent of resolution | |
CN107610200B (zh) | 一种基于特征模板的字库快速生成方法 | |
CN101630311B (zh) | 一种文字的显示方法及显示设备 | |
US11640685B2 (en) | Technology for managing graphic design using metadata relationships | |
KR20130066511A (ko) | 필기 문자들을 미화변형 하기 위한 방법 및 장치 | |
US9921719B2 (en) | Touch display apparatus and wallpaper replacing method thereof | |
CN110383269A (zh) | 基于多轴可变字体的动画字形 | |
CN113590000B (zh) | 笔迹处理方法、笔迹处理装置、存储介质 | |
CN101216944B (zh) | 在排版过程中实现渐变底纹的方法及装置 | |
CN101131687A (zh) | 产生字型的方法 | |
JP2015228021A (ja) | マンマシンインターフェースのグラフィック表示用の文字列の処理技術 | |
JP2017003987A (ja) | 文字を囲む枠の少なくとも1つの区分の大きさを変更することによるフォント変形方法 | |
US20110286662A1 (en) | System for building a personalized-character database and method thereof | |
EP3654164A1 (en) | Technology for enabling elastic graphic design | |
US11138647B2 (en) | Method, device, and computer-readable storage medium for managing variations of a graphic design within a framework | |
KR100933707B1 (ko) | 사용자 필적 조합 시스템 | |
TWI310522B (en) | Method for generating characters | |
CN112818145A (zh) | 一种智能字体风格渲染系统 | |
US12277634B2 (en) | Technology for managing graphic design using metadata relationships | |
CN111294659A (zh) | 轨迹播放速度的控制方法及装置、介质、处理设备 | |
CN114585992B (zh) | 书写轨迹处理方法、触控设备、书写系统及存储介质 | |
TWI274257B (en) | Method for generating a bitmap character by scaling strokes of the character | |
JP4834642B2 (ja) | 図形変化装置、図形変化方法、コンピュータプログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080227 |