CN1489128A - 字体处理装置、终端装置、字体处理方法及程序 - Google Patents

字体处理装置、终端装置、字体处理方法及程序 Download PDF

Info

Publication number
CN1489128A
CN1489128A CNA031560083A CN03156008A CN1489128A CN 1489128 A CN1489128 A CN 1489128A CN A031560083 A CNA031560083 A CN A031560083A CN 03156008 A CN03156008 A CN 03156008A CN 1489128 A CN1489128 A CN 1489128A
Authority
CN
China
Prior art keywords
mentioned
row
cost
font
character font
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.)
Granted
Application number
CNA031560083A
Other languages
English (en)
Other versions
CN100367345C (zh
Inventor
桃Q幸信
桃薗幸信
胡桃泽孝
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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
Priority claimed from JP2002255258A external-priority patent/JP3815412B2/ja
Priority claimed from JP2002255257A external-priority patent/JP3815411B2/ja
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1489128A publication Critical patent/CN1489128A/zh
Application granted granted Critical
Publication of CN100367345C publication Critical patent/CN100367345C/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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/26Generation of individual character patterns for modifying the character dimensions, e.g. double width, double height
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography

Abstract

在字体的放大中,把成为放大·缩小对象的字体以行、列分割,根据每行、列的构成像素图案计算成本,在放大处理中成本表示线段量,成本小的行或者列,即具有接近线段的像素排列的行或者列难以被放大。另外,在缩小处理中成本表示和相邻的行、列的相似度,在附近有类似的像素图案的行或者列优先成为缩小的对象。因为根据实际成为放大、缩小对象的字体的像素构成,确定设为放大、缩小对象的行、列,所以可以得到自然的放大·缩小字体。另外,利用字体的放大、缩小进行字体的变形处理。

Description

字体处理装置、终端装置、字体处理方法及程序
技术领域
本发明涉及点阵字体(ビットマップフオント)的放大、缩小、变形处理。
背景技术
在便携电话、PDA(个人数字助理)等的装置中在文字等的显示中使用点阵字体。点阵字体,是以预先准备的像素的排列图案显示文字、符号等的字体。因为与作为矢量数据的集合显示文字、符号等的轮廓字体(字形)不同,点阵字体是简单的像素的排列图案,所以每1文字的数据量小。因此,在显示区域的像素数比较少的便携电话、PDA等中,使用点阵字体。
当在显示装置上显示文字、符号时,有时要求文字的放大和缩小。在被使用在便携电话、PAD等中的点阵字体的情况下,1文字的尺寸小,文字的粗细大多以1像素表示。在此情况下,如果通过根据原文字尺寸(大小)和放大后的文字尺寸的纵横比进行简单的座标变换的方法放大点阵字体,则在放大后的文字中有可能出现不自然的粗细的部分。另外,如果通过上述那样的简单的座标变换缩小同样小的点阵字体,则缩小后文字会走样,有时形成不自然粗细的线,出现文字的部分彼此不适当地错误连结的文字。
另外,当在显示装置上显示文字、符号时,有时要求文字的变形。例如,可能产生这种需求,即,把标准的纵横比相等的字体,在纵长、横长上变形显示。这样的需求,有由于例如纵长、横长的文字好看等这种用户喜好导致的情况。另外,也有依赖于显示装置具有的显示区域的形状,或者依赖于应该显示的图像的构成,主要是在显示装置的处理上,产生这样的要求的情况。还可能产生例如因为显示区域是纵长的所以文字也显示为纵长的容易看,或者因为在显示区域内和文章一起显示图像,所以在图像的显示面积和显示位置关系中想要改变文字形状显示等的要求。
发明内容
本发明就是鉴于以上问题而提出的,目的在于,自然地放大·缩小、变形在便携电话、PDA等中使用的尺寸小的点阵字体。
根据本发明的1个观点,在字体处理装置中具备:取得点阵字体的字体数据的数据取得装置;在纵向上分析上述字体数据像素构成的纵向分析装置;根据纵向的分析结果,在横向上放大或者缩小上述字体数据的横向放大/缩小装置;在横向上分析上述字体数据的像素构成的横向分析装置;根据横向的分析结果,在纵向上放大或者缩小上述字体数据的纵向放大/缩小装置。
另外,同样观点的字体处理方法包括:取得点阵字体的字体数据的数据取得步骤;在纵向上分析上述字体数据的像素构成的纵向分析步骤;根据纵向的分析结果,在横向上放大或者缩小上述字体数据的横向放大/缩小步骤;在横向上分析上述字体数据的像素构成的横向分析步骤;根据横向的分析结果,在纵向上放大或者缩小上述字体数据的纵向放大/缩小步骤。
上述的字体处理装置或者方法,以规定的放大率或者缩小率放大或者缩小点阵字体。首先,取得成为放大或者缩小对象的点阵字体的字体数据。而后,在纵向上分析字体数据,根据其分析结果,在横向上放大或者缩小字体数据。同样,在横向上分析点阵字体的字体数据,根据其分析结果在纵向上放大或者缩小字体数据。由此,因为可以根据成为放大/缩小对象的字体数据的像素构成,分别在纵向和横向上进行适宜的放大/缩小处理,所以可以防止处理后的字体数据变得不自然。
在上述的字体处理装置的一形态中,上述纵向分析装置包含:把上述字体数据分割成多行的分割装置;对上述每一行,计算表示像素构成的特征的成本的计算装置;其中,上述纵向放大/缩小装置,从上述成本小的行或者大的行开始顺序地对规定数目的行进行像素的放大或者缩小处理。
如果采用该字体处理装置,则构成字体数据的像素的行方向(纵向)的像素构成被数值化作为成本计算,根据该值进行放大/缩小处理。因而,可以通过简单的成本计算进行像素构成的分析,可以进行迅速的处理。
在上述字体处理装置的另一形态中,上述横向分析装置包含:把上述字体数据分割成多个列的分割装置;对上述每一列,计算表示像素构成特征的成本的计算装置;其中,上述纵向放大/缩小装置,从上述成本小的列或者大的列开始顺序对规定数目的列进行像素的放大或者缩小处理。
如果采用该字体处理装置,则构成字体数据的像素的列方向(横向)的像素构成被数值化作为成本被计算,根据该值进行放大/小处理。因而,可以通过简单的成本计算进行像素构成的分析,可以进行迅速的处理。
根据本发明的另一观点,字体处理装置具备:取得点阵字体的字体数据的数据取得装置;进行上述字体数据的横向放大处理的横向放大处理装置;进行上述字体数据的纵向放大处理的纵向放大处理装置;其中,上述横向放大处理装置包含:把上述字体数据分割成多个行的装置;对上述每行,计算表示像素构成的线段量的成本的成本计算装置;从上述成本小的行或者大的行开始,顺序地在横向上放大规定数目的行的装置;其中,上述纵向放大处理装置包含:把上述字体数据分割成多个列的装置;对上述每个列,计算表示像素构成的线段量的成本的成本计算装置;从上述成本小的列或者大的列开始,顺序地在纵向上放大规定数目的列的装置。
另外,同样观点的字体处理方法,具有:取得点阵字体的字体数据的数据取得步步骤;进行上述字体数据的横向放大处理的横向放大处理步骤;进行上述字体数据的纵向放大处理的纵向放大处理步骤;其中,上述横向放大处理步骤具有:把上述字体数据分割成多个行的步骤;对上述每行,计算表示像素构成的线段量的成本的成本计算步骤;从上述成本小的行或者大的行开始,顺序地在横向上放大规定数目的行的步骤;其中,上述纵向放大处理步骤包含:把上述字体数据分割成多个列的步骤;对上述每列,计算表示像素构成的线段量的成本的成本计算步骤;从上述成本小的列或者大的列开始,顺序地在纵向上放大规定数目的列的步骤。
如果采用上述字体处理装置或者方法,则把字体数据分割成多个行,为每行计算成本。在此,成本是像素的线段量的座标,即,是表示构成该行的像素接近仅是点或点的集合,还是接近线段的指标。而后,按照成本小的顺序或者大的顺序在横向上放大行。
由此,具有接近点、点的集合的像素构成的行被优先放大,具有接近线段的像素构成的行难以被放大。因而,构成文字的线段被放大至需要程度或以上,文字整体平衡不会失去,可以自然地放大。
同样,字体数据被分割成多列,对每列计算成本。在此,成本表示像素的线段量,按照成本小或者大的顺序在纵向上放大列。因而,具有接近点、点的集合的像素构成的列被优先放大,具有接近线段的像素构成的列难以被放大,可以自然地放大。
在上述的字体处理装置的一形态中,上述规定数目,由上述字体数据的纵向以及横向的像素数、上述字体数据的放大率确定。即,根据字体的放大率,确定对构成成为对象的字体的纵横的像素数分别增加几个像素即可,进行放大使得构成字体数据的纵以及横向的像素数增加该数目。
在上述的字体处理装置的另一形态中,上述成本计算装置具备:对上述每一行或者列,把构成该行或者列的像素数作为成本计算的装置;在上述成本上加算在该行或者列的方向上具有相邻像素的像素数的装置。
在上述的字体处理装置的另一形态中,上述成本计算装置具备:对上述每一行或者列,计算构成该行或者列的像素数的装置;在构成上述该行或者列的像素数上加算在该行或者列的方向上具有相邻像素的像素数,把加算的结果的倒数作为成本计算的装置。
如果采用这些形态,因为成本计算装置用简单的计算处理计算成本,所以可以以简单的构成迅速进行地字体放大处理。
在上述字体处理装置的再一形态中,上述字体数据,包含在该字体数据的放大处理中表示应该执行纵向放大处理和横向放大处理的顺序的处理顺序信息,字体处理装置进一步具备根据上述处理顺序信息,控制上述横向放大处理和纵向放大处理的执行顺序的顺序控制装置。
如果采用该形态,则对于成为放大对象的每一字体,预先确定先进行纵向放大处理和横向放大处理的哪一方可以得到更自然的放大字体,表示其顺序的处理顺序信息附加在字体数据上。因而,字体处理装置,通过参照该处理顺序信息确定纵向放大处理和横向放大处理的执行顺序,得到自然的放大字体。
在本发明的再一观点中,字体处理装置,具备:取得点阵字体的字体数据的数据取得装置;进行上述字体数据的横向缩小处理的横向缩小处理装置;进行上述字体数据的纵向缩小处理的纵向缩小处理装置;其中,上述横向缩小处理装置包含:把上述字体数据分割成多个行的装置;为上述每一行计算表示和相邻行的像素构成的相似程度的成本的成本计算装置;从上述成本小的行或者大的行开始顺序地在横向上缩小规定数目的行的装置;其中,上述纵向缩小处理装置包含:把上述字体数据分割成多个列的装置;为上述每一列计算表示和相邻列的像素构成的相似程度的成本的成本计算装置;从上述成本小的列或者大的列开始顺序地在纵向上缩小规定数目的列的装置。
另外,根据同样观点的字体处理装置,包括:取得点阵字体的字体数据的数据取得步骤;进行上述字体数据的横向缩小处理的横向缩小处理步骤;进行上述字体数据的纵向缩小处理的纵向缩小处理步骤;其中,上述横向缩小处理步骤包含:把上述字体数据分割成多个行的步骤;为上述每一行计算表示和相邻行的像素构成的相似程度的成本的成本计算步骤;从上述成本小的行或者大的行开始顺序地在横向上缩小规定数目的行的步骤;其中,上述纵向缩小处理步骤包含:把上述字体数据分割成多个列的步骤;为上述每一列计算表示和相邻列的像素构成的相似程度的成本的成本计算步骤;从上述成本小的列或者大的列开始顺序地在纵向上缩小规定数目的列的步骤。
如果采用上述的字体处理装置或者方法,则把字体数据分割成多个行,为每行计算成本。在此,成本表示和相邻行的像素构成的相似程度。而后,以成本小的顺序或者大的顺序在横向上放大行。由此,因为像素构成相似的行相邻的部分被优先放大,所以文字整体不会失去平衡,可以自然地放大。
同样,字体数据被分割成多个列,对每列计算成本。在此,成本也是表示和相邻列的像素构成的相似程度,以成本小的顺序或者大的顺序在纵向上放大列。因而,因为像素构成相似的列相邻的部分被优先放大,所以文字整体不会失去平衡,可以自然地放大。
在上述字体处理装置的一形态中,上述规定数目(数量),由上述字体数据的纵向以及横向的像素数、和上述字体数据的缩小率确定。即,对应字体的缩小率,对构成成为对象的字体的纵横的像素数确定分别减少多少像素即可,进行缩小使得构成字体数据的纵以及横向的像素数减少该数目。
在上述的字体处理装置的再一形态中,上述成本计算装置,对上述每一行或者列,根据该行或者列的像素构成、和与该行或者列相邻的行或者列的像素构成的“异”,计算成本。
如果采用该形态,因为成本计算装置,通过简单的加法处理计算成本,所以可以以简单的构成迅速地进行字体的放大处理。
在上述字体处理装置的再一形态中,上述字体数据,包含表示在该字体数据的缩小处理中应该执行纵向缩小处理和横向缩小处理的顺序的处理顺序信息,字体处理装置进一步具备根据上述处理顺序信息,控制上述横向缩小处理和纵向缩小处理的执行顺序的顺序控制装置。
如果采用该形态,则对于成为缩小对象的每一字体,预先确定先进行纵向缩小处理和横向缩小处理的哪一方可以得到更自然的缩小字体,表示其顺序的处理顺序信息附加在字体数据上。因而,字体处理装置,通过参照该处理顺序信息确定纵向缩小处理和横向缩小处理的执行顺序,得到自然的缩小字体。
根据本发明的再一观点,可以构成具备上述字体处理装置;存储由上述字体处理装置生成的字体数据的存储装置;显示由上述字体处理装置生成的字体数据的显示部的终端装置。该终端装置,例如可以是便携电话、PDA等的便携型终端装置。因为用本发明的字体处理装置,可以以简单的计算迅速地进行字体的放大、缩小,所以即使在这样的便携型终端装置中也可以进行自然的字体放大/缩小。
根据本发明的再一观点,一种在具备计算机的终端装置中执行的字体处理程序,使上述计算机具有作为以下装置的功能:取得点阵字体的字体数据的数据取得装置;在纵向上分析上述字体数据的像素构成的纵向分析装置;根据纵向分析结果,在横向上放大或者缩小上述字体数据的横向放大/缩小装置;在横向上分析上述字体数据的像素构成的横向分析装置;根据横向的分析结果,在纵向上放大或者缩小上述字体数据的纵向放大/缩小装置。
根据本发明的再一观点,一种在具备计算机的终端装置中执行的字体处理程序,使上述计算机具备作为以下装置的功能:取得点阵字体的字体数据的数据取得装置;进行上述字体数据的横向放大处理的横向放大处理装置;进行上述字体数据的纵向放大处理的纵向放大处理装置;其中,上述横向放大处理装置具备:把上述字体数据分割成多个行的装置;对上述每行计算表示像素构成的线段量的成本的成本计算装置;从上述成本小的行或者大的行开始顺序地,在横向上放大规定数目的行的装置;其中,上述纵向放大处理装置具备:把上述字体数据分割成多个列的装置;对上述每列计算表示像素构成的线段量的成本的成本计算装置;从上述成本小的列或者大的列开始顺序地,在纵向上放大规定数目的列的装置。
根据本发明的再一观点,一种在具备计算机的终端装置中执行的字体处理程序,使上述计算机具备作为以下装置的功能:取得点阵字体的字体数据的数据取得装置;进行上述字体数据的横向缩小处理的横向缩小处理装置;进行上述字体数据的纵向缩小处理的纵向缩小处理装置;其中,上述横向缩小处理装置具备:把上述字体数据分割成多行的装置;对上述每行计算表示和相邻行的像素构成的相似度的成本的成本计算装置;从上述成本小的行或者大的行开始顺序地,在横向上缩小规定数目的行的装置;其中,上述纵向缩小处理装置具备:把上述字体数据分割成多列的装置;对上述每列计算表示和相邻列的像素构成的相似度的成本的成本计算装置;从上述成本小的列或者大的列开始顺序地,在纵向上缩小规定数目的列的装置。
通过用终端装置内的计算机执行上述字体处理程序,可以实现上述的字体处理装置。
根据本发明的另一观点,一种字体处理装置具备:接收字体变形指示的装置;取得点阵字体的字体数据的数据取得装置;在上述字体变形指示包含字体的横向的变形时,在纵向上分析上述字体数据的像素构成,根据分析结果在横向上放大或者缩小上述字体数据的横向变形装置;在上述字体变形指示包含字体的纵向的变形时,在横向上分析上述字体数据的像素构成,根据分析结果在纵向上放大或者缩小上述字体数据的纵向变形装置。
另外,同样观点的字体处理方法包括:接收字体变形指示的步骤;取得点阵字体的字体数据的数据取得步骤;当上述字体变形指示包含字体的横向的变形时,在纵向上分析上述字体数据的像素构成,根据分析结果在横向上放大或者缩小上述字体数据的横向变形步骤;当上述字体变形指示包含字体的纵向的变形时,在横向上分析上述字体数据的像素构成,根据分析结果在纵向上放大或者缩小上述字体数据的纵向变形步骤。
上述字体处理装置或者方法,通过以规定的放大率或者缩小率放大或者缩小点阵字体,变形字体。首先,如果接收到字体变形指示,则取得成为变形对象的点阵字体的字体数据。当字体变形指示包含横向的变形时,在纵向上分析字体数据,根据其分析结果,在横向上放大或者缩小字体数据。同样,当字体指示包含纵向的变形时,在横向上分析字体数据,根据其分析结果在纵向上放大或者缩小字体数据。由此,因为通过根据成为变形对象的字体数据的像素构成,分别在纵向以及横向上进行适宜的放大/缩小处理,字体被变形,所以可以防止变形处理后的字体数据不自然。
在上述字体处理装置的一形态中,上述横向变形装置具备:把上述字体数据分割为多行的分割装置;对上述每一行,计算表示像素构成特征的成本的计算装置;从上述成本小的行或者大的行开始顺序地对规定数目的行进行像素的放大或者缩小的装置。
如果采用该形态,则构成字体数据的像素的行方向(纵向)的像素构成被数值化作为成本被计算,根据其值进行放大/缩小处理。因而,可以用简单的成本计算进行像素构成的分析,可以进行迅速的处理。
在上述字体处理装置的另一形态中,上述纵向变形装置具备:把上述字体数据分割为多列的分割装置;对上述每一列,计算表示像素构成特征的成本的计算装置;从上述成本小的列或者大的列开始顺序地对规定数目的列进行像素的放大或者缩小的装置。
在该形态中,构成字体数据的像素的列方向(横向)和像素构成被数值化作为成本被计算,根据其值进行放大/缩小处理。因而,可以用简单的成本计算进行像素构成的分析,可以进行迅速的处理。
根据本发明的另一观点,字体处理装置具备:接收包含纵向以及横向变形率的字体变形指示的装置;取得点阵字体的字体数据的数据取得装置;根据上述横向的变形率,进行上述字体数据的横向变形处理的横向变形装置;根据上述纵向的变形率,进行上述字体数据的纵向变形处理的纵向变形装置;其中,上述横向变形装置具备:把上述字体数据分割成多行的装置;对上述每行计算表示像素构成特征的成本的第1成本计算装置;从上述成本小的行或者大的行开始顺序地在横向上放大或者缩小第1规定数目的行;其中,上述纵向变形装置具备:把上述字体数据分割成多列的装置;对上述每列计算表示像素构成特征的成本的第2成本计算装置;从上述成本小的列或者大的列开始顺序地在横向上放大或者缩小第2规定数目的列的装置。
另外,同样观点的字体处理方法,包括:接收包含纵向以及横向的变形率的字体变形指示的步骤;取得点阵字体的字体数据的数据取得步骤;根据上述横向的变形率,进行上述字体数据的横向变形处理的横向变形步骤;根据上述纵向的变形率,进行上述字体数据的纵向变形处理的纵向变形步骤;其中,上述横向变形步骤包含:把上述字体数据分割成多行的步骤;对上述每行计算表示像素构成特征的成本的第1成本计算步骤;从上述成本小的行或者大的行开始顺序地在横向上放大或者缩小第1规定数目的行;其中,上述纵向变形步骤包含:把上述字体数据分割成多列的步骤;对上述每列计算表示像素构成特征的成本的第2成本计算步骤;从上述成本小的列或者大的列开始顺序地在纵向上放大或者缩小第2规定数目的列的步骤。
如果采用上述的字体处理装置或者方法,则把字体数据分割为多行,对每一行计算成本。另外,同样,把字体数据分割为多列,对每列计算成本。而后,根据成本,通过放大规定数目的行以及列进行字体的变形。
在上述的字体处理装置的一形态中,上述第1规定数目,由上述字体数据的纵向以及横向的像素数和上述横向的变形率确定,上述第2规定数目,由上述字体数据的纵向以及横向的像素数和上述纵向的变形率确定。因而,放大/缩小必要数目的行以及列,使得成为由字体变形指示指定的变形率。
在上述字体处理装置的再另一形态中,上述成本计算装置,在上述变形处理是放大时,对上述每一行或者列计算表示上述像素构成的线段量的成本,在上述变形处理是缩小时,对上述每一行或者列计算表示该行或者列的像素构成和相邻的行或者列的像素构成的相似度的成本。
如果采用该形态,则在为了字体变形而进行放大时,成本是像素的线段量,即,表示构成该行的像素是接近仅是点或者点的集合,还是接近线段的指标。而且,以成本小的顺序放大行或者列。因而,具有接近点、点集合的像素构成的列被优先放大,具有接近线段的像素构成的列难以被放大。另外,当为了进行字体的变形而进行缩小时,成本表示和相邻行的像素构成的相似度。而且,以成本小的顺序在横向上放大行。由此,因为像素构成类似的行相邻的部分被优先放大,所以文字整体不会失去平衡。这样,可以实现自然的字体变形。
在上述字体处理装置的再另一形态中,上述成本计算装置,在计算表示上述线段量的成本时,对上述每一行或者列,把构成该行或者列的像素数作为成本进行计算,进而,把在该行或者列方向上具有相邻像素的像素数加算到上述成本上。
另外,在上述字体处理装置的再另一形态中,上述成本计算装置,在计算表示上述线段量的成本时,对上述每一行或者列,计算构成相应行或者列的像素数,进而,把在相应行或者列方向上具有相邻像素的像素数加在构成上述相应行或者列的像素数上,把加算的结果的倒数作为成本计算。
另外,在上述字体处理装置的再另一形态中,上述成本计算装置,在计算表示上述相似度的成本时,对上述每一行和列,根据相应行或者列的像素构成、和与相应行或者列相邻的行或者列的像素构成的“异”,计算成本。
如果采用这些形态,因为成本计算装置,通过简单的加法处理计算成本,所以可以以简单的构成迅速地进行字体的放大处理。
在上述字体处理装置的再另一形态中,上述字体数据,包含在该字体数据的变形处理中表示应该执行纵向变形处理和横向变形处理的顺序的处理顺序信息,字体处理装置进一步具备根据上述处理顺序信息,控制上述横向变形处理和纵向变形处理的执行顺序的顺序控制装置。
如果采用该形态,则对于成为变形对象的每一字体,预先确定先进行纵向变形处理和横向变形处理的哪一方可以得到更自然的变形字体,表示其顺序的处理顺序信息附加在字体数据上。因而,字体处理装置,通过参照该处理顺序信息确定纵向变形处理和横向变形处理的执行顺序,得到自然的变形字体。
根据本发明的再另一观点,可以构成具备上述字体处理装置;存储由上述字体处理装置生成的字体数据的存储装置;显示由上述字体处理装置生成的字体数据的显示部的终端装置。该终端装置,例如可以是便携电话、PDA等的便携型终端装置。因为用本发明的字体处理装置,可以以简单的计算迅速地进行字体的变形,所以即使在这样的便携型终端装置中也可以进行自然的字体变形。
根据本发明的再另一观点,一种在具备计算机的终端装置中执行的字体处理程序,使上述计算机具备作为以下装置的功能:接收字体变形指示的装置;取得点阵字体的字体数据的数据取得装置;当上述字体变形指示包含字体横向的变形时,在纵向上方向分析上述字体数据的像素构成,根据分析结果在横向上放大或者缩小上述字体数据的横向变形装置;在上述字体变形指示包含字体横向的变形时,在横向上分析上述字体数据的像素构成,根据分析结果在纵向上放大或者缩小上述字体数据的纵向变形装置。
另外,根据本发明的再另一观点,一种由具有计算机的终端装置执行的字体处理程序,使上述计算机具有作为以下装置的功能:接收包含纵向以及横向的变形率的字体变形指示的装置;取得点阵字体的字体数据的数据取得装置;根据上述横向的变形率,进行上述字体数据的横向的变形处理的横向变形装置;根据上述纵向的变形率,进行上述字体数据的纵向的变形处理的纵向变形装置;其中,上述横向变形装置包含:把上述字体数据分割为多行的装置;对上述每一行,计算表示像素构成特征的成本的第1成本计算装置;从上述成本小的行或者大的行开始顺序地在横向上放大或者缩小第1规定数目的行的装置;其中,上述纵向变形装置包含:把上述字体数据分割为多列的装置;对上述每一列,计算表示像素构成特征的成本的第2成本计算装置;从上述成本小的列或者大的列开始顺序地在纵向上放大或者缩小第2规定数目的列的装置。
通过用终端装置内的计算机执行上述的字体处理程序,可以实现上述字体处理装置。
附图说明
图1展示适用了本发明实施方式1的点阵字体的放大·缩小处理的便携终端装置的概略构成。
图2是字体放大处理的流程图。
图3是行(列)方向放大处理的流程图。
图4是字体放大处理以及通过放大进行的字体变形处理中的成本计算处理的流程图。
图5是字体放大处理以及通过放大进行的字体变形处理中的成本计算处理例子的图。
图6是展示成本计算处理的例子的图。
图7是展示行(列)方向放大处理以及横(纵)方向放大处理例子的图。
图8是字体缩小处理的流程图。
图9是行(列)方向缩小处理的流程图。
图10是字体缩小处理以及通过缩小进行的字体变形处理中的成本计算处理例子的图。
图11是比较字体放大/缩小、变形处理,和采用单纯的座标变换的字体放大/缩小、变形处理的结果的图。
图12是展示行方向处理和列方向处理的处理顺序和处理结果的比较,以及,包含处理顺序信息的字体数据的数据结构例子的图。
图13展示适用了本发明实施方式2的点阵字体变形处理的便携终端装置的概略构成。
图14是字体变形处理的流程图。
图15是横(纵)方向放大处理的流程图。
图16是缩小的字体变形处理的流程图。
图17是横(纵)方向缩小处理的流程图。
具体实施方式
以下,参照附图说明本发明的优选实施方式。
实施方式1
首先,说明本发明的实施方式1。实施方式1涉及字体放大·缩小处理。
便携终端装置的构成
图1展示适用了本发明的实施方式的点阵字体的放大·缩小处理的便携终端装置的概略构成。在图1中,便携终端装置10,例如是便携电话、PDA等,图像显示区域比较小的终端装置。
便携终端装置10具备:显示部12、处理字体存储器14、CPU16、输入部18、程序ROM20、字体ROM22、RAM24。
显示部22,例如可以设置成LCD(Liquid Crystal Display:液晶显示装置)等的重量轻、薄型的显示装置,在显示区域内显示由点阵字体构成的文字。
输入部18,如果是便携电话则可以由各种操作按键等构成,如果是PDA则可以用检测触摸笔等的接触的输入板(タブレット)构成,可以在用户进行各种指示、选择时使用。对输入部18输入的指示、选择等,被变换为电气信号发送到CPU16。
程序ROM20,存储用于执行便携终端装置10的各种功能的各种程序,特别地本实施方式中,存储点阵字体的放大·缩小程序(以下,称为“字体放大·缩小程序”)、利用点阵字体的文字的显示程序等。
字体ROM22,存储点阵字体的原数据(还称为“字母数据”)。进而,点阵字体的原数据,一般是设置成例如16×16点等的,纵横比相等的字体(也称为“正方字体”)。
RAM24,在根据点阵字体的放大·缩小程序对点阵字体的原数据进行放大·缩小处理时作为工作用存储器使用。另一方面,处理字体存储器14,是暂时存储用点阵字体的放大·缩小程序通过放大或者缩小处理制成的字体(以下,还称为“处理字体”)的存储器。处理字体存储器14,通常可以由RAM、闪存等构成,直至便携终端装置10断开电源保持储存数据。
CPU16,通过执行被存储在程序ROM20内的各种程序,执行便携终端装置10的各种功能。特别地,在本实施方式中,通过读出被存储在程序ROM20内的文字显示程序进行执行,使文字显示在显示部12上。另外,同样通过读出被存储在程序ROM20内的字体放大·缩小程序进行执行,放大·缩小被存储在字体ROM22内的点阵字体的原数据生成处理字体。进而,CPU16,通过执行此外的各种程序实现便携终端装置10的各种功能,但是因为这些和本发明没有直接的关系,所以省略说明。
字体放大处理
以下,说明作为本发明的特征部分的字体放大缩小处理。字体放大缩小处理,如上所述通过CPU16执行被存储在程序ROM20中的字体放大缩小程序来进行。
以下,将顺序说明字体放大处理和字体缩小处理。
首先,参照图2至图7说明字体放大处理。图2至图4是字体放大处理的主例程(メインル一チル)以及子例程(サブル一チル)的流程图。图5至图7是用于说明字体放大处理的各步骤的图。
如果参照图2,则首先CPU1接收字体放大指示(步骤S1)。字体放大指示,当例如用户操作输入部18进行显示字体的尺寸(大小)的指定、选择、显示模式的指定、选择时,根据来自输入部18的指示生成。进而,即使在用户的指示以外的情况下,也有根据对显示部12上的显示内容需要字体的放大的情况。例如,在显示区域内显示特定的文字数据时,也有自动地要求文字显示程序自动地放大字体的情况。
如果进行字体的放大指示,则CPU1从字体ROM22中读出成为显示对象的字体的原数据,在作为工作存储器的RAM24展开(步骤S2)。而后,CPU1执行行方向放大处理,首先在行方向上放大成为对象的字体(步骤S3),接着执行列方向放大处理,进一步在列方向上放大在行方向上放大了的字体(步骤S4)。进而,在本例子的情况下,行方向的放大率和列方向的放大率被设置为相同。这样,如果在行方向以及列方向上字体的放大结束,则CPU1把放大后的字体数据作为处理字体暂时保存在处理字体存储器14中(步骤S5),进而显示在显示部12上(步骤S6)。这样,特定的字体被放大后显示在显示部12上。
以下,参照图3的流程图说明在步骤S3中进行的行方向放大处理的详细情况。在图3中,首先CPU1,把成为对象的字体分割为多个行(步骤S11)。而后,CPU1,对由分割得到的每一行,计算成本(步骤S12)。在此,所谓成本,是根据构成字体的像素的数以及相邻的像素的有无等求得的值,在字体放大处理中表示线段量(缐分量)。即,成本越大,意味在该行上没有点、点的集合,包含线段的程度高。
图4展示在步骤S12中成本计算处理的详细情况。在成本计算处理中,首先,如图5(a)所示,以行单位计数字体构成要素的数(步骤S21)。在图5(a)中,在各行之下所示的数字(从左开始是0,4,3,3,……)表示各行的成本。
以下,如图5(b)所示,进行具有相邻的字体构成像素的像素部分的加算(步骤S22)。在图5(b)的例子中,对于具有相邻的字体构成像素的每一字体构成像素,在成本上加算“2”。这样,在各行之下展示加算相邻像素部分的成本后得到的各行的成本。通过对具有相邻的像素的像素加算成本,可以在某种程度上区分存在于该行的字体构成像素是点,还是接近线段。即,即使包含在1行中的字体构成像素数相同,也可以说,成本越大的行,包含在该行中的字体构成要素越接近线段。而后,如后述,成本值大的行,即越接近线段的行越难以被放大。
以下,如图6(a)所示,进行考虑了空白(スペ一ス)的加权处理(步骤S23)。具体地说,对于各行,当两端的像素是空白(不存在字体构成像素。在图5以及图6中用空白表示)的情况下,对成本值进行“+2”。另外,当两端的像素的1像素内侧的像素是空白的情况下,对成本值进行“+1”。该处理,考虑把作为文字的平衡以及文字在横向上排列成文时的平衡的方面。例如平假名的“し”的文字等,如果是普通地放大则只是左右的空白部分被放大,构成文字的中央的字体构成像素不怎么被放大。
其结果,如果作为放大后的文章看,则其它的文字被放大,而只是文字“し”字体构成部分未被充分放大,看起来仍然小。为了防止这样的不良结果,进行考虑空白的加权。该处理的结果,在上下端上具有空白的行成本值增大,难以被放大。
以下,进行具有相同成本值的行的加权处理(步骤S24)。具体地说,对于某一行,比较相邻的行和字体构成像素的图案,对于相邻的行和字体构成像素的图案相同的行把成本值进行“+2”。此处理也是考虑作为文字的平衡的方面进行。
如果相邻的行的字体构成像素的图案是相同的,则在此前的成本计算中成本值相同。因而,如果具有该成本值的行通过后述的放大处理成为放大对象,则相邻的行两方被放大。其结果,由于具有相同的像素图案的行两方都被放大,因而只是1个文字中的一部分被放大到超过需要。因而,当相邻的行具有相同的图案的情况下,使成本值增加,通过使这些行难以被放大,防止只是1个文字中的特定位置偏颇地被放大。
这样,如果成本计算处理结束,则处理返回图3所示的行方向放大处理。而后,CPU1对于成为对象的字体的全部的行判定成本计算是否结束(步骤S13),当未结束时进行全部行的成本计算。当对于全部行成本计算结束时(步骤S13:Yes),CPU1如图7(a)所示,按照成本低的顺序将行排序(步骤S14)。在7(a)中,从成本小的行开始顺序地标注A、B、C、…。进而,在具有相同成本的行有多条的情况下,通过从接近文字中央的行开始顺序地标注上位顺序,放大的方向在左右方向上没有偏颇(偏向)。在图7(a)的例子中,成本是“3”的列有6个,对于它们如从中央开始顺序在左右上分散那样,排序为C、D、E、F、G。这样,如从文字的中央向左右方向平衡好地放大那样,标注成为放大对象的顺序。
如果以成本低的顺序,各行的排序结束,CPU1,确定根据放大率放大的行数(步骤S15)。在此,所谓放大率,通过此次的字体放大处理,指示放大点阵字体的原数据的比例。在步骤S1中当进行字体放大指示时,在该指示中包含放大率的信息。例如,当用户为了容易看文字而指示文字的放大时,选择其放大率(例如,120%,150%等)。另外,无论是否是用户的指示,即使在通过便携终端装置10的特定的处理自动地进行字体放大处理的情况下,也必须确定放大率。因而,根据其放大率,在成为对象的字体的行数中,确定放大几行。例如,在成为放大对象的字体的行数是15行(15点),放大率被确定为120%(1.2倍)的情况下,放大的行的数量成为15×1.2=18(行),只放大3行。图7(a)以及(b)的例子是此情况的例子。
这样,如果确定放大的行的数量(数目),则CPU1执行放大处理(步骤S16)。即,从成本小的行开始顺序地以放大的行的数量进行放大。这种情况下的放大,例如,通过在成为放大对象的行的傍边插入和成为放大对象的行相同的字体像素图案的行来进行。在图7(a)以及(b)的例子中,因为如上所述那样放大的行的数量是3行,所以从图7(a)所示的成本小的行开始顺序对3行(成本顺序是“A”、“B”、“C”的行),插入具有相同的字体构成像素图案的行。其结果,如图7(b)所示,通过插入3行,作为整体在横向得到18行(18点)的放大文字。
这样,如果行方向放大处理结束,则处理返回到图2所示的主例程。而后,CPU1,进行列方向放大处理(步骤S4)。进而,在该列方向放大处理中成为对象的字体,成为对行方向的放大处理后的字体。因而,在图7(a)以及(b)的例子中,对横向成为了18行(点)的字体进行。
列方向放大处理,不是每行而是每列进行基本上和图3所示的行方向放大处理一样的处理。即,每列地把成为放大对象的字体分割(步骤S11),对各列进行成本计算(步骤S12),对各列按照成本低的顺序排序(步骤S14),根据放大率确定成为放大对象的列的数量(步骤S15),对成为对象的列执行放大处理(步骤S16)。进而,在图4所示的成本计算处理中,执行在纵向上考虑了相邻像素的成本的加权(步骤S22)、考虑了空白的加权(步骤S23),以及具有相同成本的列的加权(步骤S24)。另外,在本例子的放大处理中,因为在纵向以及横向上以相同的放大率放大成为对象的字体,所以在步骤S15中使用的放大率和在行方向放大处理中使用的放大率相同。
这样,如果在行方向以及列方向上放大处理结束,则CPU1把得到的字体,即处理字体存储在处理字体存储器14中(步骤S5),根据需要在显示部12显示。这样,放大后的字体被显示在便携终端装置10的显示部12上。
如上所述,在本发明的字体放大处理中,根据成为对象的字体的构成(字体构成像素的图案)对每行、每列计算成本,根据成本放大适宜的行、列。具体地说,通过使接近线段的行、列难以被放大,因而防止文字中的线段部分被放大为超过需要(步骤S22)。另外,对于在端部上空白多的文字,防止只放大空白部分,文字部分的放大不充分的情况(步骤S23)。进而,当具有相同图案的行、列相邻时,使它们难以被放大,防止只有文字中的特定部分被放大到超过需要的情况(步骤S24)。通过这些处理,考虑构成文字的像素图案,放大后的文字平衡不会不自然,可以自然的放大。
进而,上述说明的字体放大处理,在确定应该显示在显示部12上的文字串(字符串)的时刻可以每1文字地执行。另外,当用户指定显示字体的尺寸变更等时,可以对于在字体ROM22内预先准备的全部的原数据进行放大处理把其结果存储在处理字体存储器14内。在任何情况下,因为如上所述字体放大处理自身以整数的简单运算完成,所以处理所需要的时间非常短,不需要用户感到不快的处理时间。
字体缩小处理
以下,说明字体缩小处理。图8展示字体缩小处理。
字体缩小处理,基本上和字体放大处理一样地进行。即,CPU1,如果接收字体缩小指示(步骤S41),则从字体ROM22抽出成为对象的字体的原数据,展开在作为工作存储器的RAM24中(步骤S42)。接着,CPU1进行行方向缩小处理(步骤S43),进而进行列方向缩小处理(步骤S44)。而后,如果制成处理字体,则CPU1,在把制作成的处理字体存储在处理字体存储器14中(步骤S45)的同时,显示在显示部12上(步骤S46)。这样进行字体缩小处理。
以下,参照图9说明在字体缩小处理中的行方向缩小处理。图9是行方向缩小处理的流程图。图9所示的行方向缩小处理,基本上以和图3所示的字体放大处理中的行方向放大处理同样的顺序进行。即,CPU1,把成为对象的字体以行单位分割(步骤S51),为每行计算成本(步骤S52),如果对全部的行得到成本(步骤S53:Yes),则按照成本低的顺序对行付与顺序(步骤S54)。接着,CPU1根据缩小率确定缩小的行的数量(步骤S55),对成为对象的行进行缩小处理。
这样,在字体缩小处理中的行方向缩小处理,基本流程和字体放大处理中的行方向放大处理一样。但是,在字体缩小处理中的行方向缩小处理,在步骤S52中的成本计算方法以及步骤S56中的缩小方法中,和字体放大处理的情况不同。以下说明该不同。
首先,说明成本计算。字体放大处理中的成本,是表示线段量,即是表示包含在各行或者列中的像素是接近线段,还是接近点的值。与此相对,在字体缩小处理中的成本,是表示相似度,即各行或者列与相邻的行或者列的相似程度的值。具体地说,CPU1对各行,计算出与相邻的行的“异”(XOR)。
“异”的值,如果相邻的像素相同则是“0”,如果相邻的像素不同则是“1”。因而,对于被包含在各行中的各字体构成像素求“异”,把该值为“1”的字体构成要素的数作为该行的成本。因而,成本越高,该行和相邻行的字体像素图案越不相似,成本越低,该行和相邻行的字体像素图案越类似。这样,成本是表示和相邻行的相似度(严格地说是非相似度)的值。
即,某一行的成本低意味着该行的字体像素图案和相邻行的字体像素图案相似。因而,通过把具有相似的像素图案的行优先作为缩小对象,删除类似的行。这是基于在相邻的行相互类似的情况下,即使优先删除它,对文字整体的影响、不协调感少的想法。由此,可以自然地缩小。
如果行方向缩小处理结束,则接着进行列方向缩小处理(步骤S44),这基本上和行方向缩小处理一样。把成为对象的字体以列单位分割(步骤S51),对每列计算成本(步骤S52),如果对于全部列得到成本(步骤S53:Yes),则按照成本低的顺序将列排序(步骤S54)。而后,CPU1,确定根据缩小率缩小的列的数量(步骤S55),对成为对象的列进行缩小处理。
图10(a)~(c)中展示列方向缩小处理的状态。首先,如图10(a)所示对各列进行成本计算,接着如图10(b)所示按照成本低的顺序进行列的排序,从成本低的列开始顺序地成为缩小的对象。在步骤S56的缩小处理中,例如如图10(c)所示,从成本低的列开始顺序地删除该行。在图10(c)的例子中,删除成本低的3个列(A,B,C)。
如上所述,在本发明的字体缩小处理中,把成为对象的字体在行方向以及列方向上进行分割,考虑分别相邻的行或者列的相似度进行缩小。因而,因为优先缩小(行或者列的删除)字体像素图案相似的行或者列相邻的部分,所以缩小后的字体不自然少。
在图11(a)以及(b)中,展示采用单纯坐标变换的字体放大·缩小处理、和通过本发明的字体放大·缩小处理得到的放大·缩小字体的例子。从图可以知道,在采用单纯坐标变换处理的放大·缩小字体中纵和横的笔画(ストロ一ク)通过放大而成为2重(“本”这一字的横线,“肌”这一字的右侧的纵线等),或者斜线看到锯齿。另外,通过缩小,文字的左右的平衡丧失(“本”这一字的左右的平衡),像素之间连结看起来成为另一文字(“肌”这一字的左侧未看成“月”而看成“目”)。与此相反,在本发明的字体放大·缩小处理中,不产生这样的问题,可以得到自然的放大·缩小字体。
行方向处理和列方向处理的顺序
以下,研究字体放大/缩小处理中的行方向放大/缩小处理,和列方向放大/缩小处理的顺序。在前面已说明的字体放大/缩小处理中,首先进行行方向的放大缩小处理,接着进行列方向的放大/缩小处理(即,首先在横向上放大/缩小,接着在纵向上放大/缩小)。但是,这是1个例子,也可以先进行列方向的放大/缩小处理,再进行行方向的放大/缩小处理。哪个理想呢,这依赖于成为处理对象的字体的构成。
在图12(a)以及(b)中展示相对相同的像素图案用不同的顺序进行放大的情况下的例子。图12(a)的例子,是首先进行纵向放大,而后进行横向放大的例子。在图12(a)中,在最左边的原数据50a中如果计算水平方向的成本则从上开始第2行最小。因而,如果从上开始把第2行在纵向上放大1像素则可以得到正中的数据50b。接着,在数据50b中如果计算垂直方向的成本则从左开始第4行以及第5行的成本最小。因而,如果将该一方在横向上放大1像素,则可以得到最右边的放大后数据50c。
另一方面,图12(b)的例子,是首先在横向上进行放大,而后在纵向上进行放大的例子。在图12(b)中,在最左边的原数据60a中如果计算垂直方向的成本,则从左开始第4以及第5行最小。因而,如果把其一方在横向上放大1像素则可以得到正中的数据60b。接着,在数据60b中如果计算水平方向的成本,则从上面开始第1行以及第3行的成本最小。因而,如果从上面开始把第1行在纵向上放大1像素,则可以得到最右边的放大后数据60c。
这样,即使原数据相同,通过按照纵→横顺序放大,或者按照横→纵顺序放大,作为结果得到的数据不同。在图12(a)以及(b)的例子中,对原数据如图12(a)所示以纵→横顺序放大的一方被自然放大。因而,为了对全部文字进行自然的放大,优选地对每个文字实验地进行以纵→横,以及横→纵的顺序进行放大处理,预先确定以哪个顺序进行放大可以得到自然的处理字体。而后,如图12(c)示意性地展示那样,当对各字体的原数据进行放大/缩小处理时,优选地把表示纵→横顺序好,还是横→纵顺序好的处理顺序信息(例如,标志等)作为属性数据附加。如果这样,则CPU16,在字体放大/缩小处理的执行时参照从字体ROM22读出的字体上附属的处理顺序信息,用其上表示的顺序进行字体的放大·缩小即可。进而,即使是相同的字体,因为还有在放大时理想的处理顺序,和在缩小时理想的处理顺序不同的情况,所以优选地,对于放大/缩小处理,各自准备处理顺序信息。进而,在由于放大率/缩小率理想的处理顺序不同的情况下,只要对每个放大率/缩小率准备处理顺序信息即可。
进而,在本实施方式中,虽然从成本小的行或者列顺序地进行像素的放大或者缩小,但本发明的适用范围不限于此,例如如果把取在本实施方式中使用的成本的倒数的成本定义为新意义的成本,则通过从成本大的行或者列顺序地进行像素的放大或者缩小处理,可以得到和本实施方式同样的效果。
实施方式2
以下,说明本发明的实施方式2。实施方式2,涉及字体变形处理。
便携终端装置的构成
图13展示适用了本发明的实施方式的点阵字体的变形处理的便携终端装置的概略构成。在图13中,便携终端装置100例如是便携电话、PDA等的图像显示区域比较小的终端装置。便携终端装置100具备:显示部112、变形字体存储器114、CPU116、输入部118、程序ROM120、字体ROM122、RAM124。
显示部22,可以设置成例如LCD(Liquid Crystal Display:液晶显示装置)等重量轻、薄型的显示装置,在显示装置内显示由点阵字体构成的文字。
输入部118,如果是便携电话则可以由各种操作按键等构成,如果是PDA则可以用检测触摸笔等的接触的输入板等构成,可以在用户进行各种指示、选择时使用。对输入部118输入的指示、选择等,被变换为电气信号送到CPU116。
程序ROM120,存储用于执行便携终端装置100的各种功能的各程序,特别地在本实施方式中存储点阵字体的变形程序(以下,称为“字体变形程序”),存储利用点阵字体的文字的显示程序等。
字体ROM122,存储点阵字体的原数据(还称为“字母数据”)。进而,点阵字体的原数据,一般是例如16×16点等的,纵横笔相等的字体(还称为“正方字体”)。
RAM124,在根据点阵字体的变形程序变形处理点阵字体的原数据时作为工作用存储器使用。另一方面,变形字体存储器114,是暂时存储通过根据点阵字体的变形程序的放大或者缩小处理制作的字体(以下,还称为“变形字体”)。变形字体存储器114,通常可以由RAM。闪存(フラッシユメモリ)等构成,直至便携终端装置100被切断电源保持存储内容。
CPU116,通过执行被存储在程序ROM120内的各种程序,执行便携终端装置100的各种功能。特别地在本实施方式中,通过读出被存储在程序ROM120内的文字显示程序进行执行,使文字显示在显示部112上。另外,同样通过读出被存储在程序ROM120内的字体变形程序进行执行,把被存储在字体ROM122内的点阵字体的原数据在纵向、横向上放大、缩小,生成变形字体。进而,CPU116,通过执行此外各种程序实现便携终端装置100的各种功能,这些因为和本发明没有直接关系,所以省略说明。
放大的字体变形处理
以下,说明作为本发明的特征部分的字体变形处理。字体变形处理,如上所述通过CPU116执行被存储在程序ROM120内的字体变形小程序进行。字体的变形,实际上通过在纵向或者横向上放大或者缩小字体数据实现。当特定字体的纵向的放大率或者缩小率,和横向的放大率或者缩小率一致时,为字体的单纯放大或者缩小,但当纵向的放大率或者缩小率,和横向的放大率或者缩小率不同时成为字体的变形。以下,作为字体变形处理,分为字体的放大的变形处理,和缩小的变形处理顺序地进行说明。
首先,参照图4至图7,图14以及图15说明放大的字体变形处理。图4、图14以及图15是放大的字体变形处理的主例程以及子例程的流程图。图5至图7,是用于说明放大的字体变形处理的各步骤的图。
如果参照图14,首先CPU116接收字体变形指示(步骤S101)。字体变形指示,在例如用户操作输入部118进行显示字体的纵横比的指定、选择和显示模式的指定、选择时,根据来自输入部118的指示生成。进而,即使在用户的指示以外的情况下,也有根据对显示部112的显示内容需要字体变形的情况。例如,在显示区域内显示特定的文字数据时,也有文字显示程序自动地要求字体变形的情况。在字体变形指示中包含纵向的放大率和横向的放大率。
如果进行字体的变形指示,则CPU116从字体ROM122中读出成为显示对象的字体的原数据,在作为工作存储器的RAM124中展开(步骤S102)。接着,CPU116,判定在步骤S1中输入的字体变形指示是否包含字体的横向的放大(步骤S103)。当包含字体的横向的放大时(步骤S103:Yes),CPU116执行横向放大处理,首先在横向上放大成为对象的字体(步骤S104)。进而,当在步骤S3中判定为字体变形指示不包含横向的放大时(S103:No),处理直接进入下一步骤。
接着,CPU116,判定在步骤S101中输入的字体变形指示,是否包含字体的纵向的放大(步骤S105)。当包含字体的纵向的放大时(步骤S105:Yes),CPU116执行纵向放大处理,在纵向上放大成为对象的字体(步骤S106)。进而,在步骤S105中当判定为字体变形指示不包含纵向的放大时(步骤S105:No),处理直接进入下一步骤。进而,行方向的放大率和列方向的放大率,分别被设定为在步骤S101指定的比例,通常两者不同。这样,如果在横向以及纵向上字体的放大结束,则CPU116把放大后的字体数据作为变形字体暂时保存在变形字体存储器114中(步骤S107),进而显示在显示部112上(步骤S108)。这样,特定的字体被变形并被显示在显示部112上。以下,参照图15的流程图说明在步骤S104中进行的横向放大处理的详细情况。在图15中,首先CPU16把成为对象的字体分割为多个行(步骤S111)。而后,CPU116,对由分割得到的每行计算成本(步骤S112)。在此,所谓成本是根据构成字体的像素数以及相邻的像素的有无等求得的值,在放大的字体变形处理中表示线段量。即,成本越大,意味着在该行上不是点和点的集合,而是包含线段的程度越高。进而,成本计算处理,因为和在实施方式1中参照图4至图6说明的处理相同,所以在此省略说明。
如果成本计算处理结束,则处理返回图15所示的横向放大处理。而后,CPU116判定对成为对象的字体全体的行成本计算是否已结束(步骤S113),当未结束时进行全部行的成本计算。当对全部行成本计算结束时(步骤S113:Yes),CPU116如图7(a)所示,按照成本的顺序对行排序(步骤S114)。在图7(a)中,从成本小的行开始顺序地付与A、B、C顺序。进而,当具有同样成本的行有多个时,从接近文字中央的行开始顺序地付与上位的顺序,由此放大的方向在左右方向上没有偏颇。在图7(a)的例子中,成本是“3”的列有6个,但对它们如从中央开始顺序地在左右分散那样排序为C、D、E、F、G、H。这样,如从文字的中央开始在左右上不失去平衡地进行放大那样,付与作为放大对象的顺序。
如果按照成本低的顺序各行的顺序付与结束,则CPU116,根据在步骤S101中指定的横向的放大率,确定放大的行的数量(步骤S115)。该放大率,指示通过此次的字体放大处理,把点阵字体的原数据在横向上放大的比例。如上所述,在步骤S1中当进行字体变形指示时,在该指示中,包含纵向以及横向的放大率信息。例如,用户为了容易看文字,当指示把文字变形为纵长时,纵向的放大率比横向的放大率大,当指示把文字变形为横长时,横向的放大率比纵向的放大率大。放大率,例如,作为120%,150%等的比例得到。另外,不管是否有用户的指示,在由便携终端装置100的特定的处理自动地进行字体变形处理的情况下,也必须确定纵向以及横向的放大率。这样,根据横向的放大率,在成为对象的字体的行数中,确定放大几行。例如,当成为放大对象的字体的行数是15行(15点),确定为横向的放大率是120%(1.2倍)的情况下,在横向上放大的行的数量是15×1.2=18(行),放大3行。图7(a)以及(b)的例子是此情况下的例子。
这样,如果在横向上放大的行的数量确定,则CPU116执行放大处理(步骤S116)。即,从成本小的行开始顺序地以放大的行的数量进行放大。这种情况下的放大,例如,通过把和成为放大对象的行相同的字体像素图案的行插入到成为放大对象的行的旁边来进行。在图7(a)以及(b)的例子中,因为如上所述放大的行的数量是3行,所以从图7(a)所示的成本小的行开始顺序对3个行(成本顺序是“A”、“B”、“C”的行),插入具有相同字体构成像素图案的行。其结果,如图7(b)所示,插入3个行,作为整体得到横向18行(18点)的放大文字。这样,如果横向放大处理结束,则处理返回图14所示的主例程。
以下,说明图14的步骤S6中的纵向放大处理。进而,在该纵向放大处理中成为对象的字体,成为对横向的放大处理后的字体。因而,在图7(a)以及(b)的例子中,对横向成为18行(点)的字体进行。
纵向放大处理,不是以每行,而是以每列进行基本上和图15所示的横向放大处理相同的处理。即,把成为放大对象的字体每列地分割(步骤S111),对各列进行成本计算(步骤S112),按照成本低的顺序对各列进行排序(步骤S114),根据纵向的放大率确定成为放大对象的列的数量(步骤S115),在成为对象的列上执行放大处理(步骤S116)。进而,在图4所示的成本计算处理中,执行考虑了在纵向上相邻像素的成本的加权(步骤S22),考虑了空白的加权(步骤S23),以及具有相同成本的列的加权(步骤S24)。
如上所述,在放大的字体变形处理中,根据成为对象的字体的构成(字体构成像素的图案)对每行、列计算成本,根据成本放大适宜的行、列。具体地说,通过使接近线段的行、列难以被放大,防止文字中的线段部分被放大到超过需要(步骤S22)。另外,对于端部上空白多的文字,防止只放大空白部分而文字部分的放大不充分的现象(步骤S23)。进而,当具有相同图案的行、列相邻时,使它们难以被放大,防止只有文字中的特定部分被放大到需要以上的现象(步骤S24)。通过这些处理,考虑构成文字的像素图案,使得放大后的文字的平衡没有不自然,可以进行自然的字体变形。
缩小的字体变形处理
以下,说明缩小的字体变形处理。图16展示缩小的字体变形处理。缩小的字体变形处理,基本上和放大的字体变形处理同样地进行。即,CPU116,如果接收字体变形指示(步骤S141),从字体ROM122抽出成为对象的字体的原数据,展开在作为工作存储器的RAM124中(步骤S142)。
接着,CPU116,判定步骤S1中的字体变形指示是否伴随横向的缩小(步骤S143),当伴随横向的缩小时进行横向缩小处理(步骤S144)。进而,CPU116,判定在步骤S1中的字体变形指示是否伴随纵向的缩小(步骤S145),当伴随纵向的缩小时进行纵向缩小处理(步骤S146)。而后,如果制成变形字体,则CPU116,在把制成的变形字体存储在变形字体存储器114中(步骤S147)的同时,显示在显示部112上(步骤S148)。这样,进行缩小的字体变形处理。
以下,参照图17说明在缩小的字体变形处理中的横向缩小处理。图17是横向缩小处理的流程图。图17所示的横向缩小处理,基本上以和采用图15所示的放大的字体变形处理中的横向放大处理一样的顺序进行。即,CPU116,把成为对象的字体以行单位分割(步骤S151),对每行计算成本(步骤S152),如果对于全部行得到成本(步骤S153:Yes),则以成本低的顺序对行排序(步骤S154)。接着,CPU116,根据横向的缩小率确定缩小的行的数量(步骤S155),对成为对象的行进行缩小处理。
这样,在缩小的字体变形处理中的横向缩小处理,基本的流程和放大的字体变形处理中的横向放大处理一样。但是,在缩小的字体变形处理中的横向缩小处理,在步骤S152中的成本计算方法以及在步骤S156中的缩小方法中,和放大的字体变形处理的情况不同。以下,说明该不同。
首先,说明成本计算。在放大的字体变形处理中的成本,是表示线段量,即表示包含在各行或者列中的像素是接近线段,还是接近点的值。与此相反,在缩小的字体变形处理中的成本,是表示相似度,即表示各行或者列,在相邻的行或者列中相似程度如何的值。具体地说,CPU116对各行,计算和相邻行的“异”(XOR)。“异”的值,如果相邻的像素是相同的则为“0”,如果相邻的像素是不同的则为“1”。因而,对于包含在各行中的各字体构成像素求“异”,把该值成为“1”的字体构成要素的数量作为该行的成本。因而,成本越高,该行和相邻的行的字体像素图案越不相似,成本越低,该行和相邻的行的字体像素越相似。这样,成本变为表示相邻行的相似度(严格地说,是非相似度)的值。
即,所谓某一行的成本低,意味着该行的字体像素图案和相邻行的字体像素图案相似。因而,通过把具有相似的像素图案的行优先作为缩小的对象,删除相似的行。这是基于,在相邻的行相互类似的情况下,即使优先删除它,对文字全体的影响、不协调感少的想法。由此,可以自然地缩小。
如果横向缩小结束,则接着进行纵向缩小处理(步骤S146),这和横向缩小处理基本上相同。把成为对象的字体以列单位分割(步骤S151),为每列计算成本(步骤S152),如果对全部列都得到成本(步骤S153:Yes),则按照成本低的顺序对列排序(步骤S154)。而后,CPU116,根据纵向缩小率确定缩小的列的数量(步骤S155),对成为对象的列进行缩小处理。
图10(a)~(c)展示纵向缩小处理的状态。首先,如图(a)所示对各列进行成本计算,接着如图10(b)所示以成本低的顺序进行列的排序,从成本低的列开始顺序地成为缩小对象。在步骤S56的缩小处理中,例如图10(c)所示,从成本低的列开始顺序地删除该行。在图10(c)的例子,删除成本低的3个列(A,B,C)。
如上所述,在本发明的缩小的字体变形处理中,把成为对象的字体在行方向以及列方向上分割,分别考虑相邻的行或者列的相似度进行缩小。因而,因为字体像素图案相似的行或者列相邻的部分优先进行缩小(行或者列的删除),所以减少变形后的字体的不自然。
在图11(a)以及(b)中,展示采用单纯的座标变换的字体变形处理、和由本发明的字体变形处理得到的变形字体(放大例子和缩小例子)的例子。进而,该例子,为了便于说明,展示在纵向和横向上以相同的放大率、缩小率变形的例子。从图可知,在采用单纯的座标变换处理的变形字体中横、纵的笔画由于放大而成2重(“本”这个字的横线,“肌”这个字右侧的纵线等),斜线看到锯齿状。另外,由于缩小,文字的左右平衡被打破(“本”这个字的左右平衡),像素之间相联结看起来像另一文字(“肌”这个字的左侧不是“月”而看成“目”)。与此相反,在本发明的字体变形处理中,不产生那样的问题,得到自然的变形字体。
进而,以上说明的字体变形处理,可以在确定应该显示在显示部112上的文字串的时刻每1文字地执行。另外,当用户指定显示字体的纵横比变更等时,也可以对于在字体ROM122内预先准备的全部的原数据进行字体变形处理,把其结果存储在变形字体存储器114内。无论在哪种情况下,如上所述因为字体变形处理自身以整数的简单的计算完成,所以处理所需要的时间非常短,不需要使用户感到不快的处理时间。
另外,在上述的说明中,把字体的变形分为放大的变形和缩小的变形进行了说明,但也可以组合两者生成变形字体。例如,可以把某一字体在纵向放大,在横向缩小生成纵长字体,或者在纵向缩小,在横向放大生成横长字体。这种情况下,对放大的方向适用采用上述放大的字体变形处理,对于缩小方向适用采用缩小的字体变形处理即可。
进而,从图14以及图16可知,只在纵向或者横向的一方上放大或者缩小字体生成变形字体当然也可以,这种情况下,只要在放大或者缩小的方向上进行处理即可。
横向处理和纵向处理的顺序
以下,研究在字体变形处理中的横向放大/缩小处理,和纵向放大/缩小处理的顺序。在前面说明的字体变形处理中,首先进行横向的放大/缩小处理,而后进行纵向的放缩大/小处理(即,首先在横向上放大缩小,而后在纵向上放大缩小)。但是,这是1个例子,也可以先进行纵向的放大/缩小处理,而后进行横向的放大/缩小处理。而后,哪个理想呢,这依赖于成为处理对象的字体的构成。
在图12(a)以及(b)中,展示对相同的像素图案以不同的顺序进行放大情况的例子。图12(a)的例子,是首先在纵向上进行放大,接着在横向上进行放大的例子。在图12(a)中,如果在最左边的原数据50a中计算水平方向的成本则从上开始第2行最小。因而,如果把从上边开始第2行在纵向上放大1像素则可以得到正中的数据50b。以下,如果在数据50b中计算垂直方向的成本则从左边开始第4行以及第5行的成本最小。因而,如果将该一方在横向上放大1像素,则可以得到最右边的放大后数据50c。
另一方面,图12(b)的例子,是首先进行横向放大,接着进行纵向放大的例子。在图12(b)的例子中,如果在最左边的原数据60a中计算垂直方向的成本,则从左开始第4行以及第5行最小。因而,如果把其一方在横向上放大1像素则可以得到正中的数据60b。接着,如果在数据60b中计算水平方向的成本,则从上边开始第1行以及第3行的成本最小。因而,如果从上面开始把第1行在纵向上放大1像素,则可以得到最右的放大后数据60c。
这样,即使原数据相同,由于以纵→横的顺序放大,或者以横→纵的顺序放大,作为结果得到的数据不同。在图12(a)以及(b)的例子中,对原数据如图12(a)所示以纵→横的顺序放大的一方被自然放大。因而,为了对全部的文字进行自然的放大,优选地,对每个文字试验地以纵→横,以及横→纵的顺序进行变形处理,预先确定以哪个顺序进行变形处理的一方可以得到自然的变形字体。而后,如图12(c)示意性地展示那样,在对各字体的原数据,进行字体变形处理的情况下,更理想的是把表示是纵→横的顺序好,还是横→纵的顺序好的处理顺序信息(例如,标志等)作为属性数据附加。如果这样,CPU116,在字体变形处理的执行时参照从字体ROM122读出的字体上附属的处理顺序信息,按照该信息表示的顺序进行字体的变形即可。进而,即使是相同的字体,因为在放大时理想的处理顺序,和缩小时理想的顺序有时也不同,所以优选地对于伴随放大的变形处理、和伴随缩小的变形处理分别准备处理顺序信息。进而,在由于放大率/缩小率不同而理想的处理顺序不同的情况下,只要为每个放大率/缩小率准备处理顺序信息即可。
进而,在本实施方式中,虽然从成本小的行或者列开始顺序进行像素的放大或者缩小处理,但本发明的适用范围并不限于此,例如如果把得在本实施方式中使用的成本的倒数得到的值定义为新的意义的成本,则通过从成本大的行或者列开始顺序地进行像素的放大或者缩小处理,可以得到和本实施方式同样的效果。

Claims (47)

1.一种字体处理装置,其特征在于,具备:
取得点阵字体的字体数据的数据取得装置;
在纵向分析上述字体数据的像素构成的纵向分析装置;
根据纵向的分析结果,在纵横上放大或者缩小上述字体数据的横向放大/缩小装置;
在横向上分析上述字体数据的像素构成的横向分析装置;以及根据横向的分析结果,在纵向放大或者缩小上述字体数据的纵向上放大/缩小装置。
2.根据权利要求1所述的字体处理装置,其特征在于,上述纵向分析装置具备:
把上述字体数据分割为多个行的分割装置;以及
对上述每行,计算表示像素构成的特征的成本的计算装置;
其中,上述横向放大/缩小装置,从上述成本小的行开始依次对规定数量的行进行像素的放大或者缩小处理。
3.根据权利要求1所述的字体处理装置,其特征在于,上述纵向分析装置具备:
把上述字体数据分割为多个行的分割装置;以及
对上述每行,计算表示像素构成的特征的成本的计算装置;
其中,上述横向放大/缩小装置,从上述成本大的行开始依次对规定数量的行进行像素的放大或者缩小处理。
4.根据权利要求1至3的任意一项所述的字体处理装置,其特征在于,上述横向分析装置具备:
把上述字体数据分割为多个列的分割装置;以及
对上述每列,计算表示像素构成的特征的成本的计算装置;
其中,上述纵向放大/缩小装置,从上述成本小的列开始依次对规定数量的列进行像素的放大或者缩小处理。
5.根据权利要求1至3所述的字体处理装置,其特征在于,上述横向分析装置具备:
把上述字体数据分割为多个列的分割装置;以及
对上述每列,计算表示像素构成的特征的成本的计算装置;
其中,上述纵向放大/缩小装置,从上述成本大的列开始依次对规定数量的列进行像素的放大或者缩小处理。
6.一种字体处理装置,其特征在于,具备:
取得点阵字体的字体数据的数据取得装置;
进行上述字体数据的横向放大处理的横向放大处理装置;以及
进行上述字体数据的纵向放大处理的纵向放大处理装置;
其中,上述横向放大处理装置,包含:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示像素构成的线段量的成本的成本计算装置;以及
从上述成本小的行开始依次在横向上放大规定数量的行的装置;
其中,上述纵向放大处理装置,包含:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示像素构成的线段量的成本的成本计算装置;以及
从上述成本小的列开始依次在横向上放大规定数量的列的装置。
7.一种字体处理装置,其特征在于,具备:
取得点阵字体的字体数据的数据取得装置;
进行上述字体数据的横向放大处理的横向放大处理装置;以及
进行上述字体数据的纵向放大处理的纵向放大处理装置;
其中,上述横向放大处理装置,包含:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示像素构成的线段量的成本的成本计算装置;以及
从上述成本大的行开始依次在横向上放大规定数量的行的装置;
其中,上述纵向放大处理装置,包含:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示像素构成的线段量的成本的成本计算装置;以及
从上述成本大的列开始依次在纵向上放大规定数量的列的装置。
8.根据权利要求6或者7的任意一项所述的字体处理装置,其特征在于:上述规定数量,由上述字体数据的纵向以及横向的像素数和上述字体数据的放大率确定。
9.根据权利要求6至8的任意一项所述的字体处理装置,其特征在于,上述成本计算装置具备:
对上述每行或者列,把构成该行或者列的像素数作为成本进行计算的装置;以及
在上述成本上加算在该行或者列的方向上具有相邻像素的像素数的装置。
10.根据权利要求6至8的任意一项所述的字体处理装置,其特征在于,上述成本计算装置具备:
对上述每行或者列,计算该行或者列的像素数的装置;以及
把在该行或者列的方向上具有相邻像素的像素数加算到构成上述该行或者列的像素数上,把加算结果的倒数作为成本进行计算的装置。
11.根据权利要求6至9的任意一项所述的字体处理装置,其特征在于:上述字体数据,包含在该字体数据的放大处理中表示应该执行纵向放大处理和横向放大处理的顺序的处理顺序信息;
所述字体处理装置进一步具备,根据上述处理顺序信息,控制上述横向放大处理和上述纵向放大处理的执行顺序的顺序控制装置。
12.一种字体处理装置,其特征在于,具备:
取得点阵字体的字体数据的数据取得装置;
进行上述字体数据的横向缩小处理的横向缩小处理装置;以及
进行上述字体数据的纵向缩小处理的纵向缩小处理装置;
其中,上述横向缩小处理装置,包含:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示和相邻行的像素构成的相似度的成本的成本计算装置;以及
从上述成本小的行开始依次在横向上缩小规定数量的行的装置;
其中,上述纵向缩小处理装置,包含:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示和相邻列的像素构成的相似度的成本的成本计算装置;以及
从上述成本小的列开始依次在纵向上缩小规定数量的列的装置。
13.一种字体处理装置,其特征在于,具备:
取得点阵字体的字体数据的数据取得装置;
进行上述字体数据的横向缩小处理的横向缩小处理装置;以及
进行上述字体数据的纵向缩小处理的纵向缩小处理装置;
其中,上述横向缩小处理装置,包含:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示和相邻行的像素构成的相似度的成本的成本计算装置;以及
从上述成本大的行开始依次在横向上缩小规定数量的行的装置;
其中,上述纵向缩小处理装置,包含:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示和相邻列的像素构成的相似度的成本的成本计算装置;以及
从上述成本大的列开始依次在纵向上缩小规定数量的列的装置。
14.根据权利要求12或者13所述的字体处理装置,其特征在于:上述规定数量,由上述字体数据的纵向以及横向的像素数,和上述字体数据的缩小率确定。
15.根据权利要求12至14的任意一项所述的字体处理装置,其特征在于:上述成本计算装置,对上述每行或者列,根据该行或者列的像素构成和与该行或者列相邻的行或者列的像素构成的“异”,计算成本。
16.根据权利要求12至15的任意一项所述的字体处理装置,其特征在于:上述字体数据,包含在该字体数据的缩小处理中表示应该执行纵向缩小处理和横向缩小处理的顺序的处理顺序信息;
所述字体处理装置进一步具备根据上述处理顺序信息,控制上述横向缩小处理和上述纵向缩小处理的执行顺序的顺序控制装置。
17.一种终端装置,其特征在于,具备:
上述根据权利要求1至16的任意一项的字体处理装置;
存储由上述字体处理装置生成的字体数据的存储装置;以及
显示由上述字体处理装置生成的字体数据的显示部。
18.一种字体处理方法,其特征在于,包括:
取得点阵字体的字体数据的数据取得步骤;
在纵向上分析上述字体数据的像素构成的纵向分析步骤;
根据纵向的分析结果,在横向上放大或者缩小上述字体数据的横向放大/缩小步骤;
在横向上分析上述字体数据的像素构成的横向分析步骤;以及
根据横向的分析结果,在纵向上放大或者缩小上述字体数据的纵向放大/缩小步骤。
19.一种字体处理方法,其特征在于,包括:
取得点阵字体的字体数据的数据取得步骤;
进行上述字体数据的横向放大处理的横向放大处理步骤;以及
进行上述字体数据的纵向放大处理的纵向放大处理步骤;
其中,上述横向放大处理步骤,包含:
把上述字体数据分割为多个行的步骤;
对上述每行,计算表示像素构成的线段量的成本的成本计算步骤;以及
从上述成本小的行开始依次在横向上放大规定数量的行的步骤;
其中,上述纵向放大处理步骤,包含:
把上述字体数据分割为多个列的步骤;
对上述每列,计算表示像素构成的线段量的成本的成本计算步骤;以及
从上述成本小的列开始依次在纵向上放大规定数量的列的步骤。
20.一种字体处理方法,其特征在于,包括:
取得点阵字体的字体数据的数据取得步骤;
进行上述字体数据的横向放大处理的横向放大处理步骤;以及
进行上述字体数据的纵向放大处理的纵向放大处理步骤;
其中,上述横向放大处理步骤,包含:
把上述字体数据分割为多个行的步骤;
对上述每行,计算表示像素构成的线段量的成本的成本计算步骤;以及
从上述成本大的行开始依次在横向上放大规定数量的行的步骤;
其中,上述纵向放大处理步骤,包含:
把上述字体数据分割为多个列的步骤;
对上述每列,计算表示像素构成的线段量的成本的成本计算步骤;以及
从上述成本大的列开始依次在纵向上放大规定数量的列的步骤。
21.一种字体处理方法,其特征在于,包括:
取得点阵字体的字体数据的数据取得步骤;
进行上述字体数据的横向缩小处理的横向缩小处理步骤;以及
进行上述字体数据的纵向缩小处理的纵向缩小处理步骤;
其中,上述横向缩小处理步骤,包含:
把上述字体数据分割为多个行的步骤;
对上述每行,计算表示与相邻行的像素构成的相似度的成本的成本计算步骤;以及
从上述成本小的行开始依次在横向上缩小规定数量的行的步骤;
其中,上述纵向缩小处理步骤,包含:
把上述字体数据分割为多个列的步骤;
对上述每列,计算表示和相邻的列的像素构成的相似度的成本的成本计算步骤;以及
从上述成本小的列开始依次在纵向上缩小规定数量的列的步骤。
22.一种字体处理方法,其特征在于,包括:
取得点阵字体的字体数据的数据取得步骤;
进行上述字体数据的横向缩小处理的横向缩小处理步骤;以及
进行上述字体数据的纵向缩小处理的纵向缩小处理步骤;
其中,上述横向缩小处理步骤,包含:
把上述字体数据分割为多个行的步骤;
对上述每行,计算表示和相邻行的像素构成的相似度的成本的成本计算步骤;以及
从上述成本大的行开始依次在横向上缩小规定数量的行的步骤;
其中,上述纵向缩小处理步骤,包含:
把上述字体数据分割为多个列的步骤;
对上述每列,计算表示和相邻列的像素构成的相似度的成本的成本计算步骤;以及
从上述成本大的列开始依次在纵向上缩小规定数量的列的步骤。
23.一种字体处理程序,是在具备计算机的终端装置中执行的字体处理程序,其特征在于,使上述计算机具有作为以下装置的功能:
取得点阵字体的字体数据的数据取得装置;
在纵向上分析上述字体数据的像素构成的纵向分析装置;
根据纵向的分析结果,在横向上放大或者缩小上述字体数据的横向放大/缩小装置,
在横向上分析上述字体数据的像素构成的横向分析装置;以及
根据横向的分析结果,在纵向上放大或者缩小上述字体数据的纵向放大/缩小装置。
24.一种字体处理程序,是在具备计算机的终端装置中执行的字体处理程序,其特征在于,使上述计算机具有作为以下装置的功能:
取得点阵字体的字体数据的数据取得装置;
进行上述字体数据的横向放大处理的横向放大处理装置;以及
进行上述字体数据的纵向放大处理的纵向放大处理装置;
其中,上述横向放大处理装置,具备:
把上述字体数据分为割为多个行的装置;
对上述每行,计算表示像素构成的线段量的成本的成本计算装置;以及
从上述成本小的行开始依次在横向上放大规定数量的行的装置;
其中,上述纵向放大处理装置,具备:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示像素构成的线段量的成本的成本计算装置;以及
从上述成本小的列开始依次在纵向上放大规定数量的列的装置。
25.一种字体处理程序,是在具备计算机的终端装置中执行的字体处理程序,其特征在于,使上述计算机具有作为以下装置的功能:
取得点阵字体的字体数据的数据取得装置;
进行上述字体数据的横向放大处理的横向放大处理装置;以及
进行上述字体数据的纵向放大处理的纵向放大处理装置;
其中,上述横向放大处理装置,具备:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示像素构成的线段量的成本的成本计算装置;以及
从上述成本大的行开始依次在横向上放大规定数量的行的装置;
其中,上述纵向放大处理装置,具备:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示像素构成的线段量的成本的成本计算装置;以及
从上述成本大的列开始依次在纵向上放大规定数量的列的装置。
26.一种字体处理程序,是在具备计算机的终端装置中执行的字体处理程序,其特征在于,使所述计算机具有作为以下装置的功能:
取得点阵字体的字体数据的数据取得装置;
进行上述字体数据的横向缩小处理的横向缩小处理装置;以及
进行上述字体数据的纵向缩小处理的纵向缩小处理装置;
其中,上述横向缩小处理装置,具备:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示和相邻行的像素构成的相似度的成本的成本计算装置;以及
从上述成本小的行开始依次在横向上缩小规定数量的行的装置;
其中,上述纵向缩小处理装置,具备:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示和相邻列的像素构成的相似度的成本的成本计算装置;以及
从上述成本小的列开始依次在纵向上缩小规定数量的列的装置。
27.一种字体处理程序,是在具备计算机的终端装置中执行的字体处理程序,其特征在于,使上述计算机具有作为以下装置的功能:
取得点阵字体的字体数据的数据取得装置;
进行上述字体数据的横向缩小处理的横向缩小处理装置;以及
进行上述字体数据的纵向缩小处理的纵向缩小处理装置;
其中,上述横向缩小处理装置,具备:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示和相邻行的像素构成的相似度的成本的成本计算装置;以及
从上述成本大的行开始依次在横向上缩小规定数量的行的装置;
其中,上述纵向缩小处理装置,具备:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示和相邻列的像素构成的相似度的成本的成本计算装置;以及
从上述成本大的列开始依次在纵向上缩小规定数量的列的装置。
28.一种字体处理装置,其特征在于,具备:
接收字体变形指示的装置;
取得点阵字体的字体数据的数据取得装置;
当上述字体变形指示包含字体的横向变形时,在纵向上分析上述字体数据的像素构成,根据分析结果在横向上放大或者缩小上述字体数据的横向变形装置;以及
当上述字体变形指示包含字体的纵向变形时,在横向上分析上述字体数据的像素构成,根据分析结果在纵向上放大或者缩小上述字体数据的纵向变形装置。
29.根据权利要求28所述的字体处理装置,其特征在于,上述横向变形装置具备:
把上述字体数据分割为多个行的分割装置;
对上述每行,计算表示像素构成的特征的成本的计算装置;以及
从上述成本小的行开始依次对规定数量的行进行像素的放大或者缩小处理的装置。
30.根据权利要求28所述的字体处理装置,其特征在于,上述横向变形装置具备:
把上述字体数据分割为多个行的分割装置;
对上述每行,计算表示像素构成的特征的成本的计算装置;以及
从上述成本大的行开始依次对规定数量的行进行像素的放大或者缩小处理的装置。
31.根据权利要求28至30的任意一项所述的字体处理装置,其特征在于,上述纵向变形装置具备:
把上述字体数据分割为多个列的分割装置;
对上述每列,计算表示像素构成的特征的成本的计算装置;以及
从上述成本小的列开始依次对规定数量的列进行像素的放大或者缩小处理的装置。
32.根据权利要求28至30的任意一项所述的字体处理装置,其特征在于,上述纵向变形装置具备:
把上述字体数据分割为多个列的分割装置;
对上述每列,计算表示像素构成的特征的成本的计算装置;以及
从上述成本大的列开始依次对规定数量的列进行像素的放大或者缩小处理的装置。
33.一种字体处理装置,其特征在于,具备:
接收包含纵向以及横向的变形率的字体变形指示的装置;
取得点阵字体的字体数据的数据取得装置;
根据上述横向的变形率,进行上述字体数据的横向的变形处理的横向变形装置;以及
根据上述纵向的变形率,进行上述字体数据的纵向的变形处理的纵向变形装置;
其中,上述横向变形装置,包含:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示像素构成的特征的成本的第1成本计算装置;以及
从上述成本小的行开始依次在横向上放大或者缩小第1规定数量的列的装置;
其中,上述纵向变形装置,包含:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示像素构成的特征的成本的第2成本计算装置;以及
从上述成本小的行开始依次在纵向上放大或者缩小第2规定数量的列的装置。
34.一种字体处理装置,其特征在于,具备:
接收包含纵向以及横向的变形率的字体变形指示的装置;
取得点阵字体的字体数据的数据取得装置;
根据上述横向的变形率,进行上述字体数据的横向的变形处理的横向变形装置;以及
根据上述纵向的变形率,进行上述字体数据的纵向的变形处理的纵向变形装置;
其中,上述横向变形装置,包含:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示像素构成的特征的成本的第1成本计算装置;以及
从上述成本大的行开始依次在横向上放大或者缩小第1规定数量的行的装置;
其中,上述纵向变形装置,包含:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示像素构成的特征的成本的第2成本计算装置;以及
从上述成本大的列开始依次在纵向上放大或者缩小第2规定数量的列的装置。
35.根据权利要求33或者34所述的字体处理装置,其特征在于:上述第1规定数量,由上述字体数据的纵向以及横向的像素数和上述横向的变形率确定;
上述第2规定数量,由上述字体数据的纵向以及横向的像素数和上述纵向的变形率确定。
36.根据权利要求33至35的任意一项所述的字体处理装置,其特征在于:上述成本计算装置,当上述变形处理是放大时,对上述每行或者列计算表示上述像素构成的线段量的成本,当上述变形处理是缩小时,对上述每行或者列计算表示该行或者列的像素构成和相邻的行或者列的像素构成的相似度的成本。
37.根据权利要求36所述的字体处理装置,其特征在于:上述成本计算装置,当计算表示上述线段量的成本时,对上述每行或者每列,把构成该行或者列的像素数作为成本进行计算,进而,把在该行或者列方向上具有相邻像素的像素数加算到上述成本中。
38.根据权利要求36所述的字体处理装置,其特征在于:上述成本计算装置,当计算表示上述线段量的成本时,对上述每行或者每列,计算构成该行或者列的像素数,进而,把在该行或者列方向上具有相邻像素的像素数加算到构成上述该行或者列的像素数中,把加算的结果的倒数作为成本进行计算。
39.根据权利要求36所述的字体处理装置,其特征在于:上述成本计算装置,当计算表示上述相似度的成本时,对上述每行或者列,根据该行或者列的像素构成,和与该行或者列相邻的行或者列的像素构成的“异”,计算成本。
40.根据权利要求33至39的任意一项所述的字体处理装置,其特征在于:上述字体数据包含表示在该字体数据的变形处理中应该执行纵向的变形处理和横向的变形处理的顺序的处理顺序信息;
所述字体处理装置,进一步具备根据上述处理顺序信息,控制上述横向的变形处理和上述纵向的变形处理的执行顺序的顺序控制装置。
41.一种终端装置,其特征在于,具备:
根据权利要求28至40的任意一项的字体处理装置;
存储由上述字体处理装置生成的字体数据的存储装置;以及
显示由上述字体处理装置生成的字体数据的显示部。
42.一种字体处理方法,其特征在于,包括:
接收字体变形指示的步骤;
取得点阵字体的字体数据的数据取得步骤;
当上述字体变形指示包含字体的横向的变形时,在纵向上分析上述字体数据的像素构成,根据分析结果在横向上放大或者缩小上述字体数据的横向变形步骤;
当上述字体变形指示包含字体的横向的变形时,在横向上分析上述字体数据的像素构成,根据分析结果在纵向上放大或者缩小上述字体数据的纵向变形步骤。
43.一种字体处理方法,其特征在于,包括:
接收包含纵向以及横向的变形率的字体变形指示的步骤;
取得点阵字体的字体数据的数据取得步骤;
根据上述横向的变形率,进行上述字体数据的横向的变形处理的横向变形步骤;以及
根据上述纵向的变形率,进行上述字体数据的纵向的变形处理的纵向变形步骤;
其中,上述横向变形步骤,包含:
把上述字体数据分割为多个行的步骤;
对上述每行,计算表示像素构成的特征的成本的第1成本计算步骤;以及
从上述成本小的行开始依次在横向上放大或者缩小第1规定数量的行的步骤;
其中,上述纵向变形步骤,包含:
把上述字体数据分割为多个列的步骤;
对上述每列,计算表示像素构成的特征的成本的第2成本计算步骤;以及
从上述成本小的列开始依次在纵向上放大或者缩小第2规定数量的列的步骤。
44.一种字体处理方法,其特征在于,包括:
接收包含纵向以及横向的变形率的字体变形指示的步骤;
取得点阵字体的字体数据的数据取得步骤;
根据上述横向的变形率,进行上述字体数据的横向的变形处理的横向变形步骤;以及
根据上述纵向的变形率,进行上述字体数据的纵向的变形处理的纵向变形步骤;
其中,上述横向变形步骤,包含:
把上述字体数据分割为多个行的步骤;
对上述每行,计算表示像素构成的特征的成本的第1成本计算步骤;以及
从上述成本大的行开始依次在横向上放大或者缩小第1规定数量的行的步骤:
其中,上述纵向变形步骤,包含:
把上述字体数据分割为多个列的步骤;
对上述每列,计算表示像素构成的特征的成本的第2成本计算步骤;以及
从上述成本大的列开始依次在纵向上放大或者缩小第2规定数量的列的步骤。
45.一种字体处理程序,是由具有计算机的终端装置执行的字体处理程序,其特征在于,使上述计算机具有作为以下装置的功能:
接收字体变形指示的装置;
取得点阵字体的字体数据的数据取得装置;
当上述字体变形指示包含字体的横向的变形时,在纵向上分析上述字体数据的像素构成,根据该分析结果在横向上放大或者缩小上述字体数据的横向变形装置;以及
当上述字体变形指示包含字体的横向的变形时,在横向上分析上述字体数据的像素构成,根据该分析结果在纵向上放大或者缩小上述字体数据的纵向变形装置。
46.一种字体处理程序,是由具有计算机的终端装置执行的字体处理程序,其特征在于,使上述计算机具有作为以下装置的功能:
接收包含纵向以及横向变形率的字体变形指示的装置;
取得点阵字体的字体数据的数据取得装置;
根据上述横向的变形率,进行上述字体数据的横向的变形处理的横向变形装置;以及
根据上述纵向的变形率,进行上述字体数据的纵向的变形处理的纵向变形装置;
其中,上述横向变形装置,包含:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示像素构成的特征的成本的第1成本计算装置;以及
从上述成本小的行开始依次在横向上放大或者缩小第1规定数量的行的装置;
其中,上述纵向变形装置,包含;
把上述字体数据分割为多个列的装置;
对上述每列,计算表示像素构成的特征的成本的第2成本计算装置;以及
从上述成本小的列开始依次在纵向上放大或者缩小第2规定数量的列的装置。
47.一种字体处理程序,是由具有计算机的终端装置执行的字体处理程序,其特征在于,使上述计算机具有作为以下装置的功能:
接收包含纵向以及横向的变形率的字体变形指示的装置;
取得点阵字体的字体数据的数据取得装置;
根据上述横向的变形率,进行上述字体数据的横向的变形处理的横向变形装置;以及
根据上述纵向的变形率,进行上述字体数据的纵向的变形处理的纵向变形装置;
其中,上述横向变形装置,包含:
把上述字体数据分割为多个行的装置;
对上述每行,计算表示像素构成的特征的成本的第1成本计算装置;以及
从上述成本大的行开始依次在横向上放大或者缩小第1规定数量的行的装置;
其中,上述纵向变形装置,包含:
把上述字体数据分割为多个列的装置;
对上述每列,计算表示像素构成的特征的成本的第2成本计算装置;以及
从上述成本大的列开始依次在纵向上放大或者缩小第2规定数量的列的装置。
CNB031560083A 2002-08-30 2003-08-28 字体处理装置、终端装置及字体处理方法 Expired - Fee Related CN100367345C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002255258A JP3815412B2 (ja) 2002-08-30 2002-08-30 フォント処理装置、端末装置、表示装置、フォント処理方法およびフォント処理プログラム
JP255258/2002 2002-08-30
JP2002255257A JP3815411B2 (ja) 2002-08-30 2002-08-30 フォント処理装置、端末装置、表示装置、フォント処理方法およびフォント処理プログラム
JP255257/2002 2002-08-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN 200610093194 Division CN1873773A (zh) 2002-08-30 2003-08-28 字体处理装置、终端装置及字体处理方法

Publications (2)

Publication Number Publication Date
CN1489128A true CN1489128A (zh) 2004-04-14
CN100367345C CN100367345C (zh) 2008-02-06

Family

ID=32232618

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB031560083A Expired - Fee Related CN100367345C (zh) 2002-08-30 2003-08-28 字体处理装置、终端装置及字体处理方法
CNU032086512U Expired - Lifetime CN2706801Y (zh) 2002-08-30 2003-08-29 字体处理装置、终端装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNU032086512U Expired - Lifetime CN2706801Y (zh) 2002-08-30 2003-08-29 字体处理装置、终端装置

Country Status (4)

Country Link
US (1) US6927773B2 (zh)
KR (1) KR100517162B1 (zh)
CN (2) CN100367345C (zh)
TW (1) TWI277058B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1763833B (zh) * 2004-10-20 2010-09-29 日本电气株式会社 终端设备与信息显示方法
CN101739663B (zh) * 2008-11-24 2011-12-28 康佳集团股份有限公司 一种点阵字缩放方法及设备
CN101727579B (zh) * 2008-10-15 2012-01-11 北大方正集团有限公司 变形字的检测方法、变形字中水印信息的确定方法及装置
CN106251280A (zh) * 2015-06-10 2016-12-21 文鼎科技开发股份有限公司 字体变形方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060050089A1 (en) * 2004-09-09 2006-03-09 Atousa Soroushi Method and apparatus for selecting pixels to write to a buffer when creating an enlarged image
JP4872214B2 (ja) * 2005-01-19 2012-02-08 富士ゼロックス株式会社 自動採点装置
US20070228259A1 (en) * 2005-10-20 2007-10-04 Hohenberger Roger T System and method for fusing an image
US7821515B2 (en) * 2007-06-27 2010-10-26 Monotype Imaging Inc. Method for automatic font character height restriction
KR101720704B1 (ko) 2010-03-12 2017-03-28 심보틱 엘엘씨 보충 및 주문 이행 시스템
CN102169572A (zh) * 2011-03-09 2011-08-31 深圳市融创天下科技发展有限公司 一种rgb数据缩放的方法、系统和终端设备
US9547628B2 (en) * 2013-10-31 2017-01-17 Adobe Systems Incorporated Method and apparatus for improving text legibility by automatically adjusting zoom level based on preferred font characteristics including height, weight, and condensation
TW201621705A (zh) * 2014-12-01 2016-06-16 富智康(香港)有限公司 頁面文字調整方法及系統
CN109218845B (zh) * 2017-07-01 2020-09-04 武汉斗鱼网络科技有限公司 优化弹幕显示效果的方法、存储介质、电子设备及系统
CN107393494A (zh) * 2017-08-17 2017-11-24 福建星网锐捷通讯股份有限公司 一种基于液晶显示屏的字体点阵显示方法及存储装置
CN109493820A (zh) * 2018-12-19 2019-03-19 惠科股份有限公司 显示数据处理方法及显示装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4959801A (en) * 1986-02-07 1990-09-25 Bitstream Inc. Outline-to-bitmap character generator
DE69117112T2 (de) * 1990-08-08 1996-06-27 Peerless Group Verfahren und Vorrichtung zur Bildwiedergabe
US5796409A (en) * 1993-04-06 1998-08-18 Ecole Polytechnique Federale De Lausanne Method for producing contrast-controlled grayscale characters
US5519824A (en) * 1994-03-18 1996-05-21 Timex Corporation System and method for storing and displaying font data representing fixed-width and compressed characters
JPH08160934A (ja) * 1994-12-07 1996-06-21 King Jim Co Ltd 文字情報処理装置
JP3319903B2 (ja) * 1995-03-07 2002-09-03 富士通株式会社 印刷制御方法及び印刷装置
JPH0950272A (ja) * 1995-08-08 1997-02-18 Sony Corp アウトラインフォント生成方法およびアウトラインフォント生成装置
JPH1011044A (ja) * 1996-06-19 1998-01-16 Nec Software Ltd 文字表示処理方式
US6288725B1 (en) * 1997-02-24 2001-09-11 Zining Fu Representation and restoration method of font information
CN1092369C (zh) * 1999-04-05 2002-10-09 英业达集团(上海)电子技术有限公司 字体缩放方法及其装置
US20040183802A1 (en) * 2003-03-19 2004-09-23 Chan Choong Cheng Bold font generator

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1763833B (zh) * 2004-10-20 2010-09-29 日本电气株式会社 终端设备与信息显示方法
CN101727579B (zh) * 2008-10-15 2012-01-11 北大方正集团有限公司 变形字的检测方法、变形字中水印信息的确定方法及装置
CN101739663B (zh) * 2008-11-24 2011-12-28 康佳集团股份有限公司 一种点阵字缩放方法及设备
CN106251280A (zh) * 2015-06-10 2016-12-21 文鼎科技开发股份有限公司 字体变形方法

Also Published As

Publication number Publication date
KR100517162B1 (ko) 2005-09-26
US20040090440A1 (en) 2004-05-13
CN100367345C (zh) 2008-02-06
CN2706801Y (zh) 2005-06-29
TWI277058B (en) 2007-03-21
KR20040020038A (ko) 2004-03-06
TW200405264A (en) 2004-04-01
US6927773B2 (en) 2005-08-09

Similar Documents

Publication Publication Date Title
CN2706801Y (zh) 字体处理装置、终端装置
CN1149468C (zh) 确定gui上菜单项布局的方法和装置
CN1258285C (zh) 多信道信息处理装置和多信道信息处理方法
CN1218265C (zh) 数据库检索装置及方法
CN1497938A (zh) 图像编辑方法、图像编辑装置、程序及存储介质
CN1748216A (zh) 用于执行表格布局的浏览器程序
CN1551018A (zh) 图像检索装置及图像检索程序
CN1848108A (zh) 包括手写数据的电子文档的显示装置及方法
CN1942899A (zh) 脸图像制作装置和方法
CN1609846A (zh) 用于识别,锚定和回流数字墨水注释的数字墨水注释方法和系统
CN1881170A (zh) 打印数据编辑装置和用于编辑打印数据的方法
CN101052182A (zh) 实现内容显示的方法、装置和终端
CN1276373C (zh) 信息处理设备和方法
CN1969314A (zh) 图像处理设备和方法、存储介质及其程序
CN1285058C (zh) 图像检索装置和图像检索方法
CN100346339C (zh) 图像检索方法及图像检索装置
CN1592881A (zh) 图形用户接口组件焦点目的设置装置和焦点移动装置
CN101036137A (zh) 显示装置、用于其的控制方法、以及信息存储介质
CN1147155C (zh) Dct运算装置
CN1846229A (zh) 图像处理设备、图像处理程序和计算机可读记录介质
CN1834854A (zh) 用于呈现信息的装置及其方法
CN1708094A (zh) 图像显示控制设备、图像显示设备、图像显示方法及其程序
CN1102278C (zh) 字符图形产生装置和方法
CN1318177A (zh) 图象处理装置、图象处理方法、以及图像处理程序记录媒体
CN1271846C (zh) 图像处理方法及图像处理装置

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080206

Termination date: 20200828

CF01 Termination of patent right due to non-payment of annual fee