描画装置、图像输出装置及程序的制作方法

文档序号:2545288阅读:155来源:国知局
专利名称:描画装置、图像输出装置及程序的制作方法
技术领域
本发明涉及对文字图像进行描画的技术。
技术背景在周知的作为文字的字形方式之中有轮廓字形方式。在这个轮廓字形 方式中,在位图存储器上描画文字的轮廓线,在这个轮廓线的内侧区域配 置描画色的像素后用描画色涂色该区域来显示文字。作为此时对轮廓线内 侧区域进行涂色的方法,有偶奇方法(也称奇偶判别法)、非零绕数方法 (也称非零涂色法)。偶奇方法,是向X轴方向扫描所描画的轮廓线的位图存储器,从扫描 开始点进行计数,从'奇数目'的轮廓线开始到下一个'偶数目'的轮廓 线为止进行涂色的方法。此外,非零绕数方法,是预设一个被称作'巻数'或'绕数'的、初始值为'0'的变量,在轮廓线与扫描线的交叉点上, 根据其轮廓线的描画方向使巻数增减,并对巻数不为零的区域进行涂色。 更具体而言,首先,按每个x轴方向的扫描线对描画了轮廓线的位图存储 器进行扫描,在其扫描线与文字的轮廓线的交叉点上,当轮廓线的描画方 向朝上(y坐标值增加的方向)时,在巻数上加4'。另一方面,当轮廓 线的描画方向朝下(y坐标值减少的方向)时,从其巻数中减'r。对所 有的扫描线与轮廓线的交叉点进行这些处理,来求出位于扫描线上的各像 素的巻数。其结果,如果巻数为'0',就判断对应该巻数的像素是在轮廓 线的外侧,如果巻数不为W',就判断是在轮廓线的内侧,然后在其内侧 的区域配置描画色的像素。相对于在偶奇方法中,在文字字画之间重叠的区域上发生漏涂的问 题,虽然在非零绕数方法中不会发生这样的漏涂,但存在字形设计者要重 新设计轮廓数据,在记述这些数据时非常麻烦的缺点。例如,在专利文献 1中,公开了在偶奇方法和非零绕数方法之间进行切换使用的技术。而且,在专利文献2中,公开了非零绕数方法有关的技术。根据专利 文献2,将构成轮廓线的像素有关的信息, 一个像素一个像素地存储到位 图存储器中,但此时,对于这些像素,将轮廓线的描画方向与该轮廓线重 叠次数结合起来的'绕数信息'(以下称W数信息)一并进行存储。然后, 一边顺序地对位图存储器进行扫描一边参照与各个像素一并存储的W数 信息,来求出各像素的W数(巻数),且用描画色的像素对该W数不为 '0'的区域进行涂色。另外,在该专利文献2中,还公开了这样的例子 在针对位图存储器上的各像素而准备的16位之中,将上3位作为上述的 W数信息的记述区域,而将下13位作为像素的x坐标值的记述区域。这 样,通过分配3位作为W数信息的数据量,就可以记述'O'、 '+l'、 '+2,、 f+3,、 '-l'、 、2'、 '-3,这样7个W数。专利文献1特开平6-251164号公报专利文献2特开平5-265428号公报由于多数字画重叠,当这些字画的轮廓线在同一个点产生若干个重叠 的情况下,如专利文献2所示,处理7个W数是方便的。但是,在轮廓 字形方式中,当多个字画连接在一起的情况下,由于可以用一个轮廓来表 现这些字画的总轮廓线,在几乎所有的文字样式中,W数、也就是'巻 数'的数据量用l位就足够了。于是,如专利文献2那样,即使准备了3 位作为巻数的记述区域,在多数情况下,3-1=2位都没有被使用。而且, 在位图存储器中,由于必须为这些多余的位来确保存储区域,因此,专利 文献2的技术,不能说有效地利用了位图存储器。另一方面,由于不能完 全排除需要用到2位以上巻数的情况,因此就不能说只要确保1位记述区 域就足够了。发明内容因此,本发明的目的在于提供一种在对文字轮廓线的内侧区域进行 涂色处理时,可以采用恰当的数据量的巻数来进行该处理的机构。为了解决上述课题,本发明提供一种描画装置,其特征为,具备轮 廓描画单元,其根据文字的轮廓线数据在描画区域描画文字的轮廓线;指 定单元,其当沿着规定的扫描线对描画了前述轮廓线的前述描画区域进行扫描时,对根据该轮廓线的描画方向进行增减的变量的数据量进行指定; 变量存储单元,其以前述扫描线单位对描画了前述轮廓线的前述描画区域 进行扫描,对位于各个前述扫描线上的各像素,求出由前述指定单元指定 的数据量的变量,进行存储;涂色单元,其根据由前述变量存储单元存储 的变量,特定前述描画区域的前述轮廓线的内侧的区域,并在特定后的区 域配置描画色的像素,以描画色对该区域进行涂色。
由此,在对文字的轮廓线的内侧区域进行涂色处理时,可以采用指定 的数据量的变量。
在本发明的优选方式中,前述变量存储单元,当前述变量溢出了由前 述指定单元所指定的数据量时,进行将该变量的值归零的环绕处理来求出 前述变量。
由此,因为当前述变量溢出了由前述指定单元所指定的数据量时,该 变量的值成为零,所以例如与变量溢出规定的数据量时进行停止处理等的 错误处理的情况相比,可以不停止处理。
在本发明的优选方式中,前述轮廓描画单元,当根据基于文字的轮廓 数据计算出的轮廓线的位置来在前述描画区域描画前述轮廓线时,判断该 轮廓线是否从前述描画区域的边缘多出,当前述的判断结果,前述轮廓线 是在前述描画区域的前述扫描线延伸的方向上多出时,则将多出的轮廓线 的位置作为前述描画区域的边缘的位置,当前述的判断结果,前述轮廓线 是在与前述描或区域的前述扫描线延伸的方向正交的方向上多出时,则除 去多出的轮廓线。
由此,当根据基于文字的轮廓数据计算的轮廓线的位置,并根据计算 出的位置描画轮廓线时,即使该轮廓线从描画区域的边缘多出来,也可以 对该轮廓线的内侧区域进行涂色。
在本发明的优选方式中,指示变量的数据量的指示信息被记述在程序 中,前述指定单元,将记述在前述程序中的指示信息所指示的数据量作为 前述变量的数据量来进行指定。
由此,可以将记述在程序中的指示信息所指示的数据量作为变量的数 据量来进行指定。
在本发明的优选方式中,在前述轮廓数据中,包含有指示变量的数据量的指示信息,前述指定单元,将包含在前述轮廓数据中的指示信息所指 示的数据量作为前述变量的数据量来进行指定。
由此,可以将包含在轮廓数据中的指示信息所指示的数据量作为变量 的数据量来进行指定。
在本发明的优选方式中,前述指定单元,将由用户的操作所指示的数 据量作为前述变量的数据量来进行指定。
由此,可以将用户指示的数据量作为变量的数据量来进行指定。
而且,本发明提供一种图像输出装置,其特征为,具备上述的任一 项的描画装置;输出单元,其将由前述描画装置的前述涂色单元以描画色 进行涂色后的结果作为文字图像来进行输出。
由此,当对文字的轮廓线的内侧区域进行涂色处理时,可以采用指定 的数据量的变量,进而,例如可以用显示或印刷等方式将由涂色而得到的 文字图像进行输出。
而且,本发明提供一种程序,驱使计算机实现如下的功能 轮廓描画单元,根据文字的轮廓数据在描画区域描画文字的轮廓线; 指定单元,当沿着规定的扫描线对描画了前述轮廓线的前述描画区域进行 扫描时,对根据该轮廓线的描画方向进行增减的变量的数据量进行指定; 变量存储单元,以前述扫描线单位对描画了前述轮廓线的前述描画区域进 行扫描,对位于各个前述扫描线上的各像素,求出由前述指定单元指定的 数据量的变量,进行存储;和涂色单元,根据由前述变量存储单元存储的 变量,特定前述描画区域的前述轮廓线的内侧的区域,并在特定后的区域 配置描画色的像素,以描画色对该区域进行涂色。
由此,当对文字的轮廓线的内侧区域进行涂色时,可以采用指定的数 据量的变量。


图1是对控制点和显示在图像显示装置上的图像的例子进行说明的图。
图2是对连结控制点的周线进行说明的图。 图3是对字形数据的构造进行说明的图。图4是表示用周线形成轮廓并在其内侧进行涂色的情况的图。
图5是表示本发明的实施方式的图像显示装置的构成图。
图6是表示字形处理器的构成图。
图7是表示轮廓计算模块的动作的流程图。
图8是表示轮廓计算模块的动作的流程图。
图9是表示轮廓计算模块的动作的流程图。
图IO是表示轮廓计算模块的动作的流程图。
图11是表示轮廓计算模块的动作的流程图。
图12是表示涂色 背景合成 转送模块的动作的流程图。
图13是表示变形例1的轮廓计算模块的动作的流程图。
图14是在变形例2中对描画A这个文字的轮廓的处理的示例图。
图中
1-图像显示装置(图像输出装置),ll-CPU(指定单元), 12-R0M, 13-RAM, 14-VRAM, 15-存储性液晶显示体,16-显示控制装置,17-电源,18-电源控制装置,19-连接器,20-存储控制装置,21-1/0, 22-键,23-存储装置,24-存储介质,25-字形处理器,252-字形描画控制器 (指定单元),253-轮廓计算模块,254-轮廓描画模块(轮廓描画单元), 255-涂色 背景合成 转送模块(涂色单元),256-工作存储器(描画区 域、变量存储单元),rl、 r2-寄存器(变量存储单元)
具体实施例方式
以下,对实施本发明的最佳方式进行说明。 (1)字形数据的说明 首先,对本实施方式中作为轮廓数据使用的字形数据进行说明。这里, 采用轮廓线方式的字形数据,特别是被称为TTF(True Type Font)的字形数据。
图1是对TTF的内容进行说明的图。图1的上段是由TTF表示'口' 这个字(汉字)的图。沿着文字的轮廓线周围,配置着矩形和圆形的图形, 这些均被称之为'控制点,。矩形图形为位于曲线上控制点(on curve point),圆形图形为不在曲线上控制点(offcurvepoint)(在以下的图中同样)。在TTF中,文字的轮廓线由一条或多条周线来显示。所谓周线是通 过连结直线或贝塞尔(Bezier)曲线来表示的封闭线图,并由该线图来表 现文字的轮廓线。例如,当位于曲线上控制点为连续时,由直线连结这些 相邻的两个控制点。另一方面,当出现不在曲线上控制点时,用2次贝塞 尔曲线来连结与该不在曲线上控制点相邻的两个位于曲线上控制点。此 外,当两个不在曲线上控制点相邻时,位于曲线上在它们的中点补上位于 曲线上控制点,并由两个2次贝塞尔曲线进行连结即可。
图2是在位图存储器上的描画区域中对文字的轮廓线进行描画的情况 的说明图。
如果将在图2中例示的控制点A、 B、 C、 E作为位于曲线上控制点, 而控制点D作为不在曲线上控制点,则直线A-B、 2次贝塞尔曲线C-D-E 分别作为由以下的公式所表现的点P的集合(直线)、点Q的集合(2次 贝塞尔曲线)来显示。
P = ( 1 —t)A + tB
Q = (l-t)2C + 2t(l-t)D + t2E
t是在0^t^1的范围内连续变化的介质变量。在直线A-B中,当1=0 时,点P与点A—致,当t-l时,点P与点B—致。同样,在2次贝塞 尔曲线C-D-E中,当t=0时,点Q与点C 一致,当1=1时,点Q与点E一致。
图3是表示某一文字的字形数据的示例图。
如图3所示,字形数据是通过控制点信息的集合来表示的,该控制点 信息的集合是由对各控制点以升顺分配的'控制点编号';该控制点的 类别(位于曲线上控制点或不在曲线上控制点);和该控制点的平面上的 '位置'(x、y坐标)所构成。由这些字形数据来表示一个文字的轮廓线。 进而,对于一个字形数据,包含在该字形数据中的周线总数与成为各周线 终端的控制点编号是相对应的。
这里,图4是对位图存储器上的描画区域中所描画的文字的轮廓线的 内侧进行涂色的情况的说明图。如图4所示,勺'这个字母的轮廓线,是 由两个周线Cl、 C2来表示的,因此,如图3所示的那样,周线总数为'2'。 此外,在周线C1中,成为周线终端的控制点编号是(7',在周线C2中,成为周线终端的控制点编号是'12'。于是,如图3所示那样,成为周线 终端的控制点编号就是<7、 12'。
对在位图存储器中所描画的文字的轮廓线的内侧进行涂色时的处理 如下所述。
首先,字形处理器等描画装置,将巻数w (初始值为0)保持在寄存 器或存储器中,然后,描画装置沿着规定的方向(通常是x轴方向)的扫 描线对已描画的文字轮廓线的描画区域进行扫描,并求出该扫描线与周线
交叉的点。此时,描画装置要判定在从小的控制点编号向大的控制点编 号推进的方向上所描画的周线,相对于扫描线是从下向上交叉的,还是从 上向下交叉的。描画装置,如果其判定结果是前者,则在巻数W上加1, 如果是后者,则在巻数W中减1。也就是,相对于构成描画方向为从下向 上的周线的各像素只将巻数W增加1而言,构成描画方向为从上向下的 周线的各像素只将巻数W减少1。此外,位于沿与扫描线相同方向延伸的
轮廓线上的像素不改变巻数w。把对这种巻数的'+r、 '-r、 '土o'的 增减值称为^巻数变化量'。这些'巻数'以及'巻数变化量'全都相当 于'沿着规定的扫描线对描画了轮廓线的描画区域进行扫描时,根据其轮 廓线的描画方向而增减的变量'。
这样,通过从各像素的巻数变化量求得巻数,图4所示的扫描线L1、 L2,就会区分为不同巻数的若干个区间。描画装置,在巻数w不为零的 区间(图中的W=l的区间)上配置描画色的像素,用颜色进行涂色,而 对于巻数w^0的区间,则不进行涂色处理。另外,这个程序的详述,被 公 开 在 例 如 网 页
http:〃developer,apple,com/textfonts/TTRefMan/RM02/chap2.html上。
遵照以上的规则,描画装置按照如图1上段配置的控制点形成周线, 进而若在其周线的内侧区域进行涂色,则如图l的下段所示,生成'口' 这个文字图像,并将这个图像显示在显示装置上,或通过印刷装置印刷出 来。另外,在这个图1的下段,图示了所谓位于曲线上控制点以及不在曲 线上控制点的各控制点,但是,这些都不过是辅助表示,并不在实际的文 字图像上显现。
(2)实施方式的构成接着,对本实施方式的构成进行具体地说明。图5是本实施方式的图像输出装置的一例,表示图像显示装置1的构 成的方块图。如图5所示,图像显示装置1,具备CPU(Central Processing Unit) 11 、 ROM(Read Only Memory) 12 、 RAM(Random Access Memory) 13 、 VRAM(Video Random Access Memory) 14、存储性液晶显示体15、显示控 制装置16、电源17、电源控制装置18、连接器19、存储控制装置20、I/O21、 键22、存储装置23、字形处理器25、总线26。 ROM12是读出专用存储 器,用于存储由CPU执行的程序、以轮廓线字形方式显示了多个文字的 轮廓线的字形数据。CPU11将存储在ROM12中的程序读出,在RAM13 中展开,且按照其程序中记述的顺序执行处理。在连接器19中,如所谓可拆装媒体那样的可移动式存储介质24是自 由装卸的。该存储介质24,例如可以是像SD(Secure Digital)卡那样的内 置闪存器的卡型存储介质,例如也可以是利用软盘(注册商标)等的磁介 质的磁盘型存储介质。存储装置23是闪存器或硬盘等非易失性存储设备。 在存储装置23或存储介质24中存储有文件数据。在存储控制装置20中,按照CPU11的指示,从装在连接器19上的 存储介质24或存储装置23中读出文件数据,转送到RAMI3中。CPU向 字形处理器25发出命令,使之描画根据该文件数据中包含的文字代码所 指定的文字。字形处理器25是描画文字的描画装置,根据CPU11的命令, 从ROM12中读出对应于上述文字代码的字形数据,并对其进行解释,变 换成位图形式的图像数据保存到VRAM14中。存储性液晶显示体15是利 用了胆留型(cholesteric)液晶或电泳等的显示单元,具有即使电力供应 停止也可以继续显示图像的存储性。已写入VRAM14中的图像数据,根 据CPUll的指示,被供给到显示控制装置16。显示控制装置16,对存储 性液晶显示体15进行控制,来显示基于上述图像数据的图像。键22是由使用者进行操作的操作单元,也可以包括笔输入设备或手 动控制器等的操作设备。1/021监视着键22的操作状态, 一旦由用户对键 22进行了操作,就将对应于该操作的信号供给到CPUll。电源17例如是 可充电电池,电源控制装置18,控制电源17的开关,或者对电力的余量 进行监视等进行各种电源管理。接着,图6是表示作为描画装置的字形处理器25的构成的方块图。如图6所示,字形处理器25具备主控制器251、字形描画控制器 252、轮廓计算模块253、轮廓描画模块254、涂色 背景合成 转送模块 255、工作储存器256、外部总线接口模块257、主总线258、子总线259。 在主总线258上,连接着主控制器251、字形描画控制器252、轮廓计 算模块253以及涂色 背景合成 转送模块255。在字形描画控制器252 上,连接着轮廓计算模块253、轮廓描画模块254以及涂色,背景合成*转 送模块255。在子总线259上,连接着轮廓描画模块254、涂色 背景 合成 转送模块255以及工作存储器256。外部总线接口模块257对经由 主总线258连接的轮廓计算模块253、轮廓描画模块254以及涂色 背景 合成转送模块255进行控制使之不能同时进行存取,或对总线26与主 总线258以及子总线259之间的数据交换进行控制。主控制器251对整个字形处理器25进行控制。工作存储器256是具 有用于描画文字的描画区域的存储单元。轮廓计算模块253、轮廓描画模 块254以及涂色 背景合成 转送模块255相互协同动作,在该工作存储 器256中描画文字。字形描画控制器252对这些轮廓计算模块253、轮廓 描画模块254以及涂色 背景合成 转送模块255进行控制。而且,该字 形描画控制器252,按照从CPU11来的指示或通知,向轮廓计算模块253 通知仿射变换参数等的通知,向轮廓描画模块254通知在工作存储器中可 以作为巻数变化量的存储区域来使用的位宽(数据量)等信息,对涂色, 景合成*转送模块255通知在工作存储器中可作为巻数的存储区域来使用 的位宽(数据量)、以及各像素的坐标值范围等信息。轮廓计算模块253、 轮廓描画模块254以及涂色 背景合成 转送模块255,根据经由字形描 画控制器252从CPU11通知的信息,执行各自的处理。以下,分别对轮廓计算模块253、轮廓描画模块254、以及涂色 背 景合成 转送模块255进行说明。 (2-1)轮廓计算模块253轮廓计算模块253,通过外部总线接口模块257以及主总线258获取 字形数据,并利用经由字形描画控制器252从CPU11通知的仿射变换参 数进行仿射变换。然后,轮廓计算模块253将由仿射变换得到的直线或贝塞尔曲线进行细化分割,并算出用于在工作存储器256的描画区域中描画 这些直线或贝塞尔曲线(即轮廓线)的各像素的x坐标值以及y坐标值。 该x坐标值以及y坐标值就是在工作存储器256的描画区域中的x-y坐标 上的坐标值。轮廓计算模块253,具备四个寄存器PO、 Pl、 P2、 P3,釆 用这些寄存器就具有以后入先出的方式(LIFO: Last In First Out)来保持 数据的堆栈功能。这些寄存器PO、 Pl、 P2、 P3的每一个,均具有可存储 前述的控制点信息的容量。另外,轮廓计算模块253在计算位于工作存储 器256中描画的文字的轮廓线上的各像素的坐标值时,要利用这个堆栈功 能。而且,轮廓计算模块253将算出的x坐标值以及y坐标值之中的各自 的最大值和最小值通知给涂色 背景合成 转送模块255。进而,轮廓计算模块253,还根据轮廓线的描画方向,对位于该轮廓 线上的各像素的巻数变化量也进行计算。g卩,位于描画方向从下朝上的轮 廓线上的各像素的巻数变化量为'+l',位于描画方向从上朝下的轮廓线 上的各像素的巻数变化量为'-l',位于描画方向与扫描方向相同的轮廓 线上的各像素的巻数变化量为'±0'。轮廓计算模块253,将求得的坐标 值以及巻数变化量移交给轮廓描画模块254。 (2-2)轮廓描画模块254轮廓描画模块254,在工作存储器256上的描画区域上,通过在与从 轮廓计算模块253接受到的坐标值对应的存储地址上排列描画色的像素, 描画基于字形数据的文字的轮廓线。此时,轮廓描画模块254,当为了描 画某个轮廓线而配置于描画区域的像素位置上已经存在了用于描画其它 轮廓线而配置的像素时,对在该位置上重叠的两个像素的巻数变化量进行 加法运算,写入到工作存储器256中。例如,在配置有巻数变化量'+r 的像素的位置上配置了巻数变化量'+l'的像素的情况下,轮廓描画模块 254将位于该位置上的巻数变化量定为1+1= (+2'。另外,在配置有巻数变化量为'+r的像素的位置上配置了巻数变化量为'-r的情况下,轮廓描画模块254将位于该位置的像素的巻数变化量定为l-l^士0,。另外, 在配置有巻数变化量为'±0,的像素的位置上配置了巻数变化量为'±0' 的情况下,轮廓描画模块254将位于这个位置的像素的巻数变化量定为 0+0= '±0,。当三个以上的像素在同一位置上重叠时,与上述同样。轮廓描画模块254具备用于对位于文字的轮廓线上的各像素的巻数变 化量进行加法运算的多个寄存器rl。该寄存器rl合计共有7个, 一个寄 存器rl保持l位的值。g卩,轮廓描画模块254,最大可存储7位的巻数变 化量。但是,轮廓描画模块254,在这些7位的寄存器rl之中,只使用与 经由字形描画控制器252由CPUU所指定的位宽相当的数目的寄存器rl 来存储巻数变化量,并由此对巻数变化量进行加法运算。例如,当指定'1 位'为位宽的情况下,轮廓描画模块254只使用一个寄存器rl,所以可处理的巻数变化量为<o'、 'r (或者、r) 2种。此外,当位宽被指定为'3位,的情况下,轮廓描画模块254使用三个寄存器rl,因此可处理的巻数变化量为'o,、 '+r、 (+2,、 '+3,、 、r、 (-2,、 (-3'的7种。此外,当位宽被指定为'7位'的情况下,轮廓描画模块254可以使用全部 7个寄存器rl,因此可处理的巻数变化量为127种。作为存储巻数变化量的寄存器rl的位宽,究竟采用1位、3位还是7 位这三种位宽之中的哪一种,被记述在存储于ROM12的程序中。这个程 序的设计者,在1位、3位或者7位之中,从图像显示装置1使用何种的 字形数据等的条件中指定一个被认为恰当的巻数变化量的位宽,并在该程 序编制之时,就把指示这个已特定的位宽的指示信息记述下来。CPU11 在从ROM12读出这个程序并执行时,把程序中记述的指示信息传递给字 形处理器25。字形处理器25的字形描画控制器252,将这个指示信息所 指示的位宽通知给轮廓描画模块254,并指定使用与这个位宽相符的寄存 器rl。(2-3)涂色 背景合成 转送模块255一旦由轮廓描画模块254在工作存储器256中描画了轮廓线,涂色*背 景合成'转送模块255就沿着x轴方向的扫描线对轮廓线进行扫描,并求 出该扫描线与轮廓线交叉的点,此时,涂色 背景合成 转送模块255保 持着巻数w(初始值为0),并把从工作存储器256读出的巻数变化量加到 这个扫描线上的各像素的位置上的巻数w上。这里,涂色 背景合成 转送模块255具备用于存储描画区域的各像 素的巻数w的多个寄存器r2。该寄存器r2与上述的轮廓描画模块254的 寄存器rl 一样,合计共有7个, 一个寄存器r2保持1位的值。即,涂色,背景合成辨送模块255最大可以存储7位的巻数。但是,涂色,背景合成辨 送模块255,在这些7位的寄存器r2之中,只使用与经由字形描画控制器 252由CPU11所指定的位宽相当的数目的寄存器r2来存储巻数。例如, 当位宽被指定为'l位'的情况下,涂色,背景合成,转送模块255只使 用一个寄存器r2,因此可处理的巻数变化量为'0'、 'T (或者2 种。此外,当位宽被指定为'3位'的情况下,涂色 背景合成 转送模 块255使用三个寄存器r2,因此可处理的巻数变化量为^'、 <+1'、 '+2'、 '+3'、 '-l'、 2'、 '-3'的7种。另外,当位宽被指定为'7位,的情 况下,涂色*背景合成*转送模块255可以使用全部7个寄存器1"2,因此 可处理的巻数变化量为127种的值。作为存储巻数的寄存器r2的位宽,究竟采用l位、3位还是7位这三 种位宽之中的哪一种,与上述的巻数变化量一样,被记述在存储于R0M12 的程序中。该程序的设计者,在1位、3位或者7位之中,从图像显示装 置1使用何种字形数据等的条件中指定一个被认为恰当的巻数的位宽,并 在该程序编制的时,就把指示这个已特定的位宽的指示信息记述下来。 CPU11在从ROM12读出这个程序并执行时,把程序中记述的指示信息传 递给字形处理器25。字形处理器25的字形描画控制器252,将这个指示 信息所指示的位宽通知给轮廓描画模块254,并指定使用与这个位宽相符 的寄存器r2。另外,涂色 背景合成 转送模块255,在各扫描线上对巻数w=0 的区间不作任何处理,而通过在巻数w不为0的区间配置描画色的像素, 以描画色对轮廓线内侧的区域进行涂色。涂色*背景合成*转送模块255, 一旦这样地对轮廓线内侧区域进行涂色而生成文字图像,则根据需要,生 成将这个文字图像与规定的背景图像合成后的图像数据之后,将指示转送 该图像数据的转送信号通知给CPUll。与此对应,CPU11把从涂色'背 景合成 转送模块255转送来的图像数据写入到VRAM14中。写入到 VRAM14中的图像数据,根据CPU11的指示,供给到显示控制装置16。 显示控制装置16控制存储性液晶显示体15来显示基于上述图像数据的图 像。(3)实施方式的动作以下,说明实施方式的动作。(3-1)轮廓计算模块253的主程序图7是说明轮廓计算模块253执行主程序的流程图。轮廓计算模块253 以其控制点编号升顺的方式顺序地接受经由外部总线接口模块257以及 主总线258而接受到的包含于字形数据中的控制点信息。轮廓计算模块 253,在获取的控制点信息之中,取出控制点编号最少的位于曲线上控制 点的控制点信息作为成为始点的位于曲线上控制点的控制点信息,并且, 取出仅次于上述的最少的控制点编号小的位于曲线上fe制点的控制点信 息作为终点位于曲线上控制点的控制点信息。轮廓计算模块253,如前所 述那样,具备4个寄存器P0 P3,并且将成为始点的位于曲线上控制点的 控制点信息存储在4个寄存器P0 P3之中的P0中,将成为终点的位于曲 线上控制点的控制点信息存储在寄存器P3中(步骤S1)。接着,轮廓计算模块253,对上述的始点和终点的位于曲线上控制点 之间的直线或者贝塞尔曲线的种类进行判定(步骤S2)。当此为直线的情 况下(步骤S2:直线),轮廓计算模块253就执行后述的图8的直线分割 程序(步骤S3)。此外,当此为2次贝塞尔曲线的情况下(步骤S2: 2次 贝塞尔曲线),轮廓计算模块253就会将位于始点与终点间的不在曲线上 控制点的控制点信息存储到寄存器Pl中(步骤S4),并执行后述的图9 的2次贝塞尔曲线分割程序(步骤S5)。而且,当此为3次贝塞尔曲线的 情况下(步骤S2: 3次贝塞尔曲线),轮廓计算模块253就会将位于始点 和终点之间的不在曲线上控制点之中,控制点编号小的不在曲线上控制点 的控制点信息存储到寄存器P1中,并将控制点编号大的不在曲线上控制 点存储到寄存器P2中(步骤S6)。然后,轮廓计算模块253,执行后述的 图10的3次贝塞尔曲线分割程序(步骤S7)。然后,轮廓计算模块253,在完成步骤S3、 S5、 S7的任何一步的处 理之后,再次返回到步骤Sl,这次将上述处理中作为终点进行了处理的 位于曲线上控制点的控制点信息作为始点的控制点信息存储到寄存器PO 中,并将仅次于该始点的控制点编号小的位于曲线上控制点的控制点信息 作为终点的控制点信息存储到寄存器P3中,然后反复进行上述的处理。 这样,轮廓计算模块253就对接受到的字形数据中所包含的所有的控制点信息进行上述的处理(3-2)轮廓计算模块253的直线分割程序图8是对轮廓计算模块253执行的直线分割程序进行说明的流程图。 在图8中,轮廓计算模块253算出存储在寄存器P0中的控制点信息所表 示的控制点与存储在寄存器P3中的控制点信息所表示的控制点之间、在 工作存储器256的描画区域上的距离,并判断这个距离是否在所定的规定 值以下,(步骤Sll)。此时采用的规定值,例如是相当于描画区域中的1 个像素的直径的尺寸。另外,在图8中,例如把在寄存器PO中存储的控 制点信息所示的控制点与在寄存器P3中存储的控制点信息所示的控制点 之间的距离,表现为'P0与P3的距离,(后述的图9以后相同)。当由步骤Sll算出的距离超过了规定值时(步骤S11: NO),由于两 个控制点间的距离大,为了描画这2点间的直线,需要对这个直线进行更 小地分割。此时,轮廓计算模块253,取出存储在寄存器P3中的控制点 信息,由堆栈功能对其进行保持(步骤S12)。然后,轮廓计算模块253 求出存储在寄存器P0中的控制点信息所表示的控制点与迄今为止存储在 寄存器P3中的控制点信息所表示的控制点之间的中点,并生成该中点的 控制点信息,存储到寄存器P3中(步骤S13)。然后,轮廓计算模块253 再次返回到步骤Sll的处理。S卩,轮廓计算模块253不断地对两个控制点 之间的直线进行1/2的分割处理,直到两个控制点间的距离足够小为止。另一方面,当在步骤S11中,算出的距离在规定值以下时(步骤S11: YES),则意味着两个控制点之间的距离已经足够小。此时,轮廓计算模 块253取出存储在寄存器P3中的控制点信息,从该控制点信息算出工作 存储器256的描画区域上的x坐标值以及y坐标值,并且根据从始点朝向 终点的方向(描画方向),算出该始点的巻数变化量。以后再详述这个巻 数变化量的算出处理。然后,轮廓计算模块253将算出的坐标值以及巻数 变化量输出到后段的模块即轮廓描画模块254中(步骤S14)。接着,轮廓计算模块253判断是否存在由堆桟功能保持的控制点信息 (步骤S15)。如果存在保持的控制点信息(步骤S15: YES),轮廓计算 模块253则将存储在寄存器P3中的控制点信息复制到寄存器P0中,并存 储在这个寄存器PO中(步骤S16)。然后,轮廓计算模块253取出由堆栈功能保持的控制点信息,存储到寄存器P3中(步骤S17)。然后,轮廓计 算模块253再次返回到步骤S11的处理,而后反复进行上述的处理。最终 在步骤S15中,当轮廓计算模块253判断保持的控制点信息没有时(步骤 S15: NO),则结束直线分割程序。(3-3)轮廓计算模块253的2次贝塞尔曲线分割程序图9是对轮廓计算模块253执行的2次贝塞尔曲线分割程序进行说明 的流程图。在图9中,轮廓计算模块253分别算出以下的几个距离,艮卩 存储在寄存器P0中的控制点信息所示的控制点与存储在寄存器P1中的控 制点信息所示的控制点之间的距离;存储在寄存器P1中的控制点信息所 示的控制点与存储在寄存器P3中的控制点信息所示的控制点之间的距 离;以及存储在寄存器PO中的控制点信息所示的控制点与存储在寄存器 P3中的控制点信息所示的控制点之间的距离,并判断各个距离是否在所 定的规定值以下(步骤S21)。此时采用的规定值与上述相同,例如相当 于1个像素的直径的尺寸。当这些距离的某一个超过了规定值时(步骤S21: NO),这三个控制 点之间的距离的任一个都大,因此需要对2次贝塞尔曲线进行分割。此时, 轮廓计算模块253,取出存储在寄存器P3中的控制点信息,由堆栈功能 对其进行保持(步骤S22)。然后,轮廓计算模块253求出存储在寄存器 Pl中的控制点信息表示的控制点与迄今为止存储在寄存器P3中的控制点 信息表示的控制点之间的中点,并生成其中点的控制点信息,存储到寄存 器P3中(步骤S23)。然后,轮廓计算模块253,取出存储在寄存器P3 中的控制点信息,由堆栈功能对其进行保持(步骤S24)。接着,轮廓计 算模块253求出存储在寄存器P0中的控制点信息表示的控制点与存储在 寄存器P1中的控制点信息表示的控制点之间的中点,并生成其中点的控 制点信息,存储到寄存器P1中(步骤S25)。接着,轮廓计算模块253求 出存储在寄存器P1中的控制点信息表示的控制点与存储在寄存器P3中的控制点信息表示的控制点之间的中点,并生成其中点的控制点信息,存储 到寄存器P3中(步骤S26)。然后,轮廓计算模块253,再次返回到步骤 S21的处理。另一方面,在步骤S21中,当算出的距离全部在规定值以下时(步骤S2h YES),轮廓计算模块253取出存储在寄存器P3中的控制点信息, 并从这个控制点信息算出工作存储器256的描画区域上的x坐标值以及y 坐标值,同时根据从始点朝向终点的方向(描画方向),算出该始点上的 巻数变化量。以后将详述这个巻数变化量的算出处理。然后,轮廓计算模 块253将算出的坐标值以及巻数变化量输出到后段的模块即轮廓描画模 块254中(步骤S27)。接着,轮廓计算模块253判断是否存在由堆栈功能保持的控制点信息 (步骤S28)。这里,如果存在保持的控制点信息(步骤S28: YES),则 轮廓计算模块253将存储在寄存器P3中的控制点信息复制到寄存器P0 中,并存储在该寄存器PO中(步骤S29)。然后,轮廓计算模块253顺序 取出由堆栈功能保持的两个控制点信息,分别存储到寄存器P1、P3中(步 骤S30)。然后,轮廓计算模块253再次返回到步骤S21的处理,而后反 复进行上述的处理。最终在步骤S28中,当轮廓计算模块253判断保持的 控制点信息没有时(步骤S28: NO),则结束2次贝塞尔曲线分割程序。 (3-4)轮廓计算模块253的3次贝塞尔曲线分割程序图10是对轮廓计算模块253执行的3次贝塞尔曲线分割程序进行说 明的流程图。在图10中,轮廓计算模块253分别算出以下的几个距离, 即存储在寄存器P0中的控制点信息所示的控制点与存储在寄存器Pl 中的控制点信息所示的控制点之间的距离;存储在寄存器P1中的控制点 信息所示的控制点与存储在寄存器P2中的控制点信息所示的控制点之间 的距离;存储在寄存器P2中的控制点信息所示的控制点与存储在寄存器 P3中的控制点信息所示的控制点之间的距离;以及存储在寄存器PO中的 控制点信息所示的控制点与存储在寄存器P3中的控制点信息所示的控制 点之间的距离,并判断各个距离是否在所定的规定值以下(步骤S31)。 此时采用的规定值与上述相同,例如相当于1个像素的直径的尺寸。当这些距离的某一个超过了规定值时(步骤S31: NO),这三个控制 点之间的距离的任一个都大,因此需要对3次贝塞尔曲线进行分割。此时, 轮廓计算模块253,取出存储在寄存器P3中的控制点信息,由堆栈功能 对其进行保持(步骤S32)。然后,轮廓计算模块253求出存储在寄存器 P2中的控制点信息表示的控制点与迄今为止存储在寄存器P3中的控制点信息表示的控制点之间的中点,并生成该中点的控制点信息,存储到寄存器P3中(步骤S33)。然后,轮廓计算模块253,取出存储在寄存器P3 中的控制点信息,由堆栈功能对其进行保持(步骤S34)。接着,轮廓计算模块253求出存储在寄存器Pl中的控制点信息表示 的控制点与存储在寄存器P2中的控制点信息表示的控制点之间的中点, 并生成该中点的控制点信息,存储到寄存器P2中(步骤S35)。接着,轮 廓计算模块253求出存储在寄存器P0中的控制点信息表示的控制点与存 储在寄存器P1中的控制点信息表示的控制点之间的中点,并生成该中点 的控制点信息,存储到寄存器P1中(步骤S36)。接着,轮廓计算模块253 求出存储在寄存器P2中的控制点信息表示的控制点与存储在寄存器P3 中的控制点信息表示的控制点之间的中点,并生成其中点的控制点信息, 存储到寄存器P3中(步骤S37)。然后,轮廓计算模块253,取出存储在 寄存器P3中的控制点信息,由堆桟功能对其进行保持(步骤S38)。接着,轮廓计算模块253求出存储在寄存器Pl中的控制点信息表示 的控制点与存储在寄存器P2中的控制点信息表示的控制点之间的中点, 并生成其中点的控制点信息,存储到寄存器P2中(步骤S39)。接着,轮 廓计算模块253求出存储在寄存器P2中的控制点信息表示的控制点与存 储在寄存器P3中的控制点信息表示的控制点之间的中点,并生成其中点 的控制点信息,存储到寄存器P3中(步骤S40)。然后,轮廓计算模块253, 再次返回到步骤S31的处理。在步骤S31中,当算出的距离全部在规定值以下时(步骤S31: YES), 轮廓计算模块253取出存储在寄存器P3中的控制点信息,并从该控制点 信息算出工作存储器256的描画区域上的x坐标值以及y坐标值,并且根 据从始点朝向终点的方向(描画方向),算出该始点的巻数变化量。以后 将详述这个巻数变化量的算出处理。然后,轮廓计算模块253将算出的坐 标值以及巻数变化量输出到后段的模块即轮廓描画模块254中(步骤 S41)。接着,轮廓计算模块253判断是否存在由堆栈功能保持的控制点信息 (步骤S42)。这里,如果存在保持的控制点信息(步骤S42: YES),轮 廓计算模块253则将存储在寄存器P3中的控制点信息复制到寄存器PO中(步骤S43)。然后,轮廓计算模块253顺序取出由堆栈功能保持的三 个控制点信息,并分别存储到寄存器P1、 P2、 P3中(步骤S44)。然后, 轮廓计算模块253再次返回到步骤S31的处理,并反复进行上述的处理。 最终在步骤S42中,当轮廓计算模块253判断保持的控制点信息没有时(步 骤S42: NO),则结束3次贝塞尔曲线分割程序。(3-5)轮廓计算模块253的巻数变化量算出程序以下,图11是说明轮廓计算模块的巻数变化量算出程序的流程图。 轮廓计算模块253,在图8的步骤S14、图9的步骤S27、图10的步骤 S41中,从存储在寄存器P3中的控制点信息算出x坐标值以及y坐标值 时,将相当于迄今为止的最小值的x坐标值以及y坐标值存储在本身没有 图示出来的寄存器中。然后,在图11中,轮廓计算模块253判断在寄存 器P3中保持的控制点信息所示的控制点的x坐标值是否小于迄今为止存 储在轮廓计算模块253中的x坐标值的最小值(步骤S51)。这里,当寄 存器P3中保持的控制点信息的x坐标值小于迄今为止存储的x坐标值的 最小值时(步骤S51: YES),轮廓计算模块253就会把保持在寄存器P3 中的控制点信息的x坐标值作为x坐标值的最小值来存储(步骤S52), 并移到步骤S55的处理。另一方面,当寄存器P3中保持的控制点信息所示的控制点的x坐标 值大于迄今为止存储的x坐标值的最小值时(步骤S51: NO),轮廓计算 模块253判断在寄存器P3中保持的控制点信息的x坐标值是否大于迄今 为止存储的x坐标值的最大值(步骤S53)。这里,当寄存器P3中保持的 控制点信息的x坐标值大于迄今为止存储的x坐标值的最大值时(步骤 S53: YES),轮廓计算模块253就把保持在寄存器P3中的控制点信息的 x坐标值作为x坐标值的最大值来存储(步骤S54),并移到步骤S55的处 理。此外,如果不是这样(步骤S53: NO),轮廓计算模块253直接移到 S55的处理。接着,轮廓计算模块253判断在寄存器P3中保持的控制点信息的y 坐标值是否小于迄今为止存储在轮廓计算模块253中的y坐标值的最小值 (步骤S55)。这里,当寄存器P3中保持的控制点信息的y坐标值小于迄 今为止存储的y坐标值的最小值时(步骤S55: YES),轮廓计算模块253就会将保持在寄存器P3中的控制点信息的y坐标值作为y坐标值的最小 值来存储(步骤S56),并移到步骤S59的处理。另一方面,当寄存器P3中保持的控制点信息的y坐标值大于迄今为 止存储的y坐标值的最小值时(步骤S55: NO),轮廓计算模块253判断 在寄存器P3中保持的控制点信息的y坐标值是否大于迄今为止存储的y 坐标值的最大值(步骤S57)。这里,当寄存器P3中保持的控制点信息的 y坐标值大于迄今为止存储的y坐标值的最大值时(步骤S57: YES),轮 廓计算模块253就把保持在寄存器P3中的控制点信息的y坐标值作为y 坐标值的最大值来存储(步骤S58),并移到步骤S59的处理。而如果不 是这样(步骤S57: NO),轮廓计算模块253直接移到S59的处理。以下,轮廓计算模块253,对上次处理的控制点的y坐标值与这次处 理的控制点的y坐标值进行比较(步骤S59),其结果,当这次控制点的y 坐标值大于上次控制点的y坐标值(步骤S59:这次的大),由于这意味 着轮廓线的描画方向为自下而上,因此轮廓计算模块253就会将相当于该 控制点的像素的巻数变化量设成+1 (步骤S60)。此外,当这次控制点的y 坐标值小于上次控制点的y坐标值(步骤S59:上次的大),由于这意味 着轮廓线的描画方向为自上而下,因此轮廓计算模块253就会将相当于其 控制点的像素的巻数变化量设成-1 (步骤S61)。另外,当这次控制点的y 坐标值等于上次控制点的y坐标值(步骤S59:相等),由于这意味着轮 廓线的描画方向为x轴方向,因此轮廓计算模块253就会将相当于该控制 点的像素的巻数变化量设成士O (步骤S62)。然后,轮廓计算模块253替 换上次的y坐标值将这次的y坐标值作为与下一次的y坐标值比较用,而 存储到自身的寄存器中(步骤S63)。轮廓计算模块253将如此求出的巻 数变化量与x坐标值以及y坐标值一起输出到轮廓描画模块254中。 (3-6)轮廓描画模块254的动作轮廓描画模块254,在工作存储器256上的描画区域中,通过在与从 轮廓计算模块253传递来的坐标值相对应的存储地址上配置描画色的像 素,来描画文字的轮廓线。此时,轮廓描画模块254,当在用于描画某个 轮廓线的描画区域上所配置的像素的位置上,已经存在用于描画其它轮廓 线而配置的像素的情况下,就将在这个位置上重叠的两个像素的巻数变化量相加,并将其存储到工作存储器256中。这个处理中所使用的寄存器rl, 只是在轮廓描画模块254所具有的7个寄存器rl当中,与经由字形描画 控制器252由CPU11通知的位宽相对应的数目的寄存器。 (3-7)涂色 背景合成 转送模块255的动作以下,图12是说明涂色 背景合成 转送模块255的涂色程序的流 程图。在图12中,首先,涂色 背景合成 转送模块255,把从轮廓计 算模块253通知的y坐标值的最小值代入到变量"y"中(步骤S71)。然后, 涂色 背景合成 转送模块255判断变量"y"是否在从轮廓计算模块253 通知的y坐标值的最大值以下(步骤S72),如果是在其以下(步骤S72: YES),则将初始值'0'代入到巻数w中。接着,涂色 背景合成 转送模块255,把从轮廓计算模块253通知 的x坐标值的最小值代入到变量"x"中(步骤S74),然后,涂色 背景合 成 转送模块255判断变量"x"是否在从轮廓计算模块253通知的x坐标 值的最大值以下(步骤S75),如果变量"x"是在x坐标值的最大值以下(步骤S75: YES),则读出存储在工作存储器256的描画区域中的某个 像素的坐标值和这个像素的巻数变化量(步骤S77),并写入自身的缓冲 区(步骤S78)。然后,涂色 背景合成 转送模块255从已写入缓冲区 的信息获取巻数变化量(步骤S79),并把它加到巻数w中写入自身的寄 存器r2 (步骤S80)。此加法 写入处理中所使用的寄存器r2,只是在涂 色 背景合成 转送模块255所具有的7个寄存器r2当中,与经由字形 描画控制器252从CPU11通知的位宽相对应的数目的寄存器。接着,涂色*背景合成*转送模块255,判断该相加后的结果、得到 的巻数w是否为(0,(步骤S81),如果巻数w为'0'(步骤S81: YES), 则涂色 背景合成 转送模块255就不进行涂色处理,而在巻数w上加1(步骤S83),返回到步骤S75的处理。另一方面,如果巻数不是《0,(步 骤S81: NO),则涂色,背景合成,转送模块255就在缓冲区上的该坐标 值的位置上配置描画色的像素(步骤S82),并移到步骤S83的处理。然 后,涂色 背景合成 转送模块255在变量"x"上加1 (步骤S83),返回 到步骤S75的处理。以后,涂色'背景合成'转送模块255在步骤S83中,通过一边使变量"x"的值一次一个地增加, 一边反复地进行步骤S75、 S77 S83的处理, 来以扫描线单位扫描工作存储器256上的描画区域,对位于其扫描线上的 各像素,求出指定的位宽的巻数w,并将其进行存储。然后,涂色,背景 合成*转送模块255,根据已存储的巻数是为'0'还是其它的值,在扫 描线上特定轮廓线内侧的区间,并在特定后的区间中配置描画色的像素, 用描画色涂色该区域。然后,涂色*背景合成*转送模块255,在步骤S76 中,通过使变量"y" —次一个地增加,对工作存储器256的描画区域上 的全部扫描线执行如上所述的扫描线单位的处理。由此,涂色 背景合 成,转送模块255对描画区域的轮廓线内侧的区域全部用描画色进行涂 色。根据以上说明的实施方式,作为存储变量(巻数变化量以及巻数)的 寄存器rl 、r2的位宽是在预先准备的多种位宽之中,使用由存储在ROM12 中的程序的设计者认为的作为上述变量的位宽是充分必要的恰当的位宽。 因此,与使用固定位宽的以往技术相比,可以根据字形数据的特性灵活地 变更位宽。这样,由于使用充分必要的位宽作为变量的位宽,所以对工作存储器 的使用没有浪费,其使用效率得以提高。例如,在工作存储器256存放不 下的大数据量的字形数据的情况下,是把这个字形数据分割成多个块进行 处理,但是,根据本实施方式,由于对工作存储器256的使用没有浪费, 大数据量的字形数据不用分割也可以进行描画。而且,当变量(巻数变化量以及巻数)的位宽为l位时,该变量的取 值成为两种,这与偶奇法(奇偶判别法)是一样的。即,根据本实施方式, 当作为变量的位宽指定为1位时,可以实现偶奇法(奇偶判别法)的涂色, 当变量的位宽指定为3位或者7位时,可以实现非零绕数法(非零涂色方 法)的涂色。(4)变形例上述实施方式的内容也可以进行如下的变形。 (4-l)变形例1轮廓计算模块253,可以由进行图13所示的处理来取代图7 9的处 理。这个图13的处理,是以3次贝塞尔曲线的分割处理来共用所有直线、2次曲线以及3次曲线的分割处理的方法。这样一来,可以减少字形处理 器25 (特别是轮廓计算模块253)的安装面积。在图13中,轮廓计算模块253按照其控制点编号由小到大的顺序依 次接受包含在字形数据中的控制点信息。轮廓计算模块253在接受到的控 制点信息中,取出控制点编号最小的位于曲线上控制点的控制点信息来作 为成为始点的位于曲线上控制点的控制点信息,此外,取出仅次于上述最 小的控制点编号小的位于曲线上控制点的控制点信息作为成为终点的位 于曲线上控制点的控制点信息。然后,轮廓计算模块253把成为始点的位 于曲线上控制点的控制点信息存储到4个寄存器P0 P3之中的寄存器P0 中,并把成为终点的位于曲线上控制点的控制点信息存储到寄存器P3 (步 骤S91)。接着,轮廓计算模块253对上述始点和终点的位于曲线上控制点之间 的直线或者贝塞尔曲线的种类进行判定(步骤S92)。如果它为直线时(步 骤S92:直线),轮廓计算模块253就把存储在寄存器P0中的控制点信息 复制到寄存器P1并存储(步骤S93)。接着,轮廓计算模块253把存储在 寄存器P3中的控制点信息复制到寄存器P2并存储(步骤S94)。而且,在步骤92的判定中,如果判定为2次贝塞尔曲线(步骤S92: 2次贝塞尔曲线),轮廓计算模块253就把处于始点与终点之间的位于曲 线上控制点的控制点信息存储到寄存器P1中(步骤S96)。然后,轮廓计 算模块253对存储在寄存器Pl中的控制点信息作乘2的运算,再加上存 储在寄存器P3中的控制点信息,再用它除以3,并将其存储到寄存器P2 中(步骤S97)。进而,轮廓计算模块253对存储在寄存器P1中的控制点 信息作乘2的运算,再加上存储在寄存器PO中的控制点信息,再用它除 以3,并将其存储到寄存器P1中(步骤S98)。而且,在步骤S92的判定中,当判定为3次贝塞尔曲线时(步骤S92: 3次贝塞尔曲线),轮廓计算模块253把位于始点与终点之间的位于曲线 上控制点之中,控制点编号小的位于曲线上控制点的控制点信息存储到寄 存器P1中,把控制点编号大的位于曲线上控制点存储到寄存器P2中(步 骤S99)。然后,轮廓计算模块253, 一旦结束步骤S94、步骤S98、步骤 S99的任一处理,就执行前述图10的3次贝塞尔曲线的分割程序(步骤95)。这样一来,就可以全部由3次贝塞尔曲线的分割处理来进行直线、2 次贝塞尔曲线以及3次贝塞尔的分割处理。 (4-2)变形例2当轮廓计算模块253根据字形数据对工作存储器256的描画区域中的 轮廓线位置进行计算,且轮廓描画模块254根据其计算后的位置进行轮廓 线的描画时,有时其轮廓线会从描画区域的边缘多出来。在此,轮廓描画模块254在根据计算后的位置进行轮廓线描画时,要 判断该轮廓线是否会从描画区域的边缘多出来。那么,当其判断结果,轮 廓线朝从描画区域的扫描线延伸的方向多出时,轮廓描画模块254就把多 出来的轮廓线的位置作为描画区域的边缘位置。而且,当上述判断结果, 轮廓线从与描画区域的扫描线延伸的方向正交的方向多出时,轮廓描画模 块254就删除多出来的轮廓线。这里,图14是对这个变形例2的处理进行示例的图。如图14所示,当在描画区域al描画了 'A'这个文字时,由点线所 示的轮廓线12、 13,在描画区域al的扫描方向(x轴方向)上多出来。 此时,轮廓描画模块254,在多出来的轮廓线12、 13的位置的坐标之中, 将x坐标值原样不变,而将y坐标值作为相当于描画区域边缘的y坐标值。 由此,轮廓线12、 13成为由实线表示的轮廓线121、 131。另一方面,轮 廓ll在与描画区域al的扫描方向正交的方向(y轴方向)上多出。此时, 轮廓描画模块254就删除多出来的轮廓线。由此,轮廓线ll就消失了, 但是,由于扫描方向为x轴方向,涂色*背景合成,转送模块255不管有 没有这个轮廓线11,都可以对A这个文字的轮廓线内侧进行涂色。由此,在根据字形数据来计算描画区域上的轮廓线的位置,并根据计 算后的位置来描画了轮廓线的情况下,即使该轮廓线从描画区域的边缘多 出来,也能涂色该轮廓线的内侧区域。 (4-3)变形例3如实施方式中说明的那样,即使是程序设计者认为是恰当的位宽,轮 廓计算模块254以及涂色*背景合成,转送模块255在求巻数变化量以及 巻数时,也可能会溢出该位宽。在这种情况下,以往是进行停止处理等的错误处理,但是这样一来,就会出现不希望的描画处理被停滞的情况。因此,轮廓描画模块254以及涂色*背景合成*转送模块255,在变量(巻 数变化量或巻数)溢出指定的数据量时,就进行把该变量的值归零('0') 的环绕式(wraparound)处理并继续进行处理。这种情况下,可以不必停 止描画处理,但是巻数成为没有预料的'0',有时会发生轮廓线内侧的一 部分区域没有涂色的情形。但是由于变量溢出数据量的区域只是很微少的 区域,因此不会造成画质缺陷等的大问题。另外,变量位宽的种类,并不限定于实施方式所述的1位、3位以及 7位,也可以是其它的位宽,而且其种类也可以是3种以外。 (4-4)变形例4在实施方式中,对于轮廓描画模块254求出巻数变化量时的寄存器rl 的位宽和涂色 背景合成 转送模块255求出巻数时的寄存器r2的位宽 分别进行了指定。但是,巻数变化量和巻数,作为寄存器的位宽,从以何 种程度来准备这个观点来看,由于是同种的变量,所以也可同时或一体地 指定巻数变化量和巻数。 (4-5)变形例5在实施方式中,指示巻数的数据量的指示信息被记述在程序中,字形 描画控制器252从CPU11接受该指示信息,并将指示信息所指示的数据 量作为巻数的数据量来进行了指定。这也可以做如下的变形。例如,在字形数据中,包含有指示巻数的数据量的指示信息,字形描 画控制器252也可以将包含在字形数据中的指示信息所指示的数据量作 为巻数的数据量来进行指定。这样,字形数据的设计者就可以任意地指定 巻数的位宽。而且,也可以由用户进行键22等操作部的操作来指示巻数的数据量, 字形描画控制器252,将指示的数据量作为巻数的数据量来指定。这样, 用户可以任意地指定巻数的位宽。 (4-6)变形例6可以把工作存储器256分割成多个工作存储器,成为可以由不同的模 块进行独立访问的结构,这样,通过交互地使用这些多个工作存储器,就 可以谋求处理的高速化。而且,在上述的实施方式中,轮廓计算模块253、轮廓描画模块254、涂色 背景合成 转送模块255是各自独立的模块, 但是也可以取而代之,采用一种实现同样功能的专用模块。 (4-7)变形例7在上述的实施方式中,对将涂色在轮廓线内侧的文字图像显示到存储 性液晶显示体15上的情况进行了说明,但是,只要是输出涂色结果的什 么都可以。例如,可以是把图像印刷到记录用纸上的构成。即,可以把实 施方式中的显示控制装置16置换成印刷控制装置,存储性液晶显示体15 置换成印刷部的构成。印刷控制部对印刷部进行控制,控制它把图像印刷 到用纸上。印刷部采用热复写方式或喷墨方式等把图像印刷到记录用纸 上。具体而言,例如把相当于印刷一张记录纸的文字的图像数据写入到 VRAM14上。然后,CPU11接受转送信号,把保存在VRAM14中的图像数据所示的图像转送到印刷控制部并指示图像的印刷。根据该指示,印刷 控制部让印刷部把转送来的图像数据所示的文字印刷出来。总之,只要是具备字形处理器25和把由该字形处理器25以描画色将 轮廓线的内侧区域涂色的结果作为文字图像输出的输出单元的图像输出 装置,都可适用本发明。 (4-8)变形例8在上述的实施方式中,对描画的文字为'口'、 'D'的情况进行了说 明,但该'文字,可以是平假名、片假名、汉字等的日本语,也可以是外 语的字母等。而且,文字也包含'+'、'-'等记号、圆或多边形等图形。 也就是,只要是取得字形数据,并根据这些数据来描画文字,都可适用本 发明。(4-9)变形例9本发明的描画装置或者图像输出装置,例如也可以适用于单个的个人 计算机,而且也可以适用于例如像PDA (Personal Digital Assistants)那样的平板型计算机。而且,能够以记录于磁带、磁盘、软盘(注册商标)、 光记录介质、光磁记录介质、CD(Compact Disk)、 DVD(Digital Versatile Disk)、 RAM等记录介质中的状态来提供记述了上述的各流程图所示的处 理步骤的程序、字形数据(周线数据)。此外,在实施方式中,轮廓计算模块253、轮廓描画模块254、涂色*背景合成,转送模块255分别由不同的硬件来实现,但是它们的一部分或者 全部也都可以作为CPU11执行的软件的功能来实现。也就是,如下所述 的一些功能,都可以编成驱使计算机运行的程序而成为构成本发明的程序,它们是轮廓描画单元,其根据文字的轮廓数据在描画区域上描画文 字的轮廓线;指定单元,其当沿着规定的扫描线对描画了前述轮廓线的前 述描画区域进行扫描时,对根据该轮廓线的描画方向增减的巻数的数据量 进行指定;巻数存储单元,其以前述扫描线单位对描画了前述轮廓线的前 述描画区域进行扫描,对位于各个前述扫描线上的各像素,求出由前述指 定单元所指定的数据量的巻数并进行存储;涂色单元,其根据由前述巻数 存储单元存储的巻数特定前述描画区域的前述轮廓线的内侧区域,并在特 定后的区域中配置描画色的像素,而后以描画色对该区域进行涂色。
权利要求
1.一种描画装置,其特征为,具备轮廓描画单元,其根据文字的轮廓数据在描画区域描画文字的轮廓线;指定单元,其当沿着规定的扫描线对描画了前述轮廓线的前述描画区域进行扫描时,对根据该轮廓线的描画方向进行增减的变量的数据量进行指定;变量存储单元,其以前述扫描线单位对描画了前述轮廓线的前述描画区域进行扫描,对位于各个前述扫描线上的各像素,求出由前述指定单元指定的数据量的变量,进行存储;和涂色单元,其根据由前述变量存储单元存储的变量,特定前述描画区域的前述轮廓线的内侧的区域,并在特定后的区域配置描画色的像素,以描画色对该区域进行涂色。
2. 如权利要求l所述的描画装置,其特征为, 前述变量存储单元,当前述变量溢出了由前述指定单元所指定的数据量时,进行将该变量 值归零的环绕处理来求出前述变量。
3. 如权利要求l所述的描画装置,其特征为, 前述轮廓描画单元,当根据基于文字的轮廓数据而计算出的轮廓线的位置来在前述描画 区域描画前述轮廓线时,判断该轮廓线是否从前述描画区域的边缘多出,当前述的判断结果,前述轮廓线是在前述描画区域的前述扫描线延伸 的方向上多出时,则将多出的轮廓线的位置作为前述描画区域的边缘的 位置,当前述的判断结果,前述轮廓线是在与前述描画区域的前述扫描线延 伸的方向正交的方向上多出时,则除去多出的轮廓线。
4. 如权利要求l所述的描画装置,其特征为, 指示变量的数据量的指示信息被记述在程序中,前述指定单元,将记述在前述程序中的指示信息所指示的数据量作为前述变量的数据量来进行指定。
5. 如权利要求l所述的描画装置,其特征为, 在前述轮廓数据中,包含有对变量的数据量进行指示的指示信息, 前述指定单元,将包含在前述轮廓数据中的指示信息所指示的数据量,作为前述变量的数据量来进行指定。
6. 如权利要求l所述的描画装置,其特征为前述指定单元,将由用户的操作所指示的数据量,作为前述变量的数 据量来进行指定。
7. —种图像输出装置,其特征为,具备 权利要求1 6的任一项所述的描画装置;以及输出单元,其将由前述描画装置的前述涂色单元以描画色进行涂色后的结果作为文字图像来进行输出。
8. —种程序,可驱使计算机完成如下功能轮廓描画单元,根据文字的轮廓数据在描画区域描画文字的轮廓线; 指定单元,当沿着规定的扫描线对描画了前述轮廓线的前述描画区域 进行扫描时,对根据该轮廓线的描画方向进行增减的变量的数据量进行指定;变量存储单元,以前述扫描线单位对描画了前述轮廓线的前述描画区 域进行扫描,对位于各个前述扫描线上的各像素,求出由前述指定单元指 定的数据量的变量,进行存储;和涂色单元,根据由前述变量存储单元存储的变量,特定前述描画区域 的前述轮廓线的内侧的区域,并在特定后的区域中配置描画色的像素,以 描画色对该区域进行涂色。
全文摘要
本发明提供一种采用恰当的数据量的卷数对文字轮廓线的内侧区域进行涂色处理的装置。涂色·背景合成·转送模块(255),具备用于对描画区域的各像素的卷数w进行存储的7个寄存器,一个寄存器保持1位的值。即涂色·背景合成·转送模块(255)最大可存储7位的卷数w。但是,这些寄存器之中,作为卷数变化量乃至卷数位宽,使用的是ROM(12)中存储的程序的设计者认为作为卷数变化量或卷数的位宽是恰当的寄存器。因此,与使用固定位宽的现有技术相比,可以根据字形数据的特性而灵活地变更位宽。描画装置、图象输出装置及程序。
文档编号G09G5/22GK101404089SQ20081016891
公开日2009年4月8日 申请日期2008年9月27日 优先权日2007年10月4日
发明者小野义之, 斋藤明, 泽崎高 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1