專利名稱:描畫裝置、圖像輸出裝置及程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對文字圖像進(jìn)行描畫的技術(shù)。
技術(shù)背景在周知的作為文字的字形方式之中有輪廓字形方式。在這個輪廓字形 方式中,在位圖存儲器上描畫文字的輪廓線,在這個輪廓線的內(nèi)側(cè)區(qū)域配 置描畫色的像素后用描畫色涂色該區(qū)域來顯示文字。作為此時對輪廓線內(nèi) 側(cè)區(qū)域進(jìn)行涂色的方法,有偶奇方法(也稱奇偶判別法)、非零繞數(shù)方法 (也稱非零涂色法)。偶奇方法,是向X軸方向掃描所描畫的輪廓線的位圖存儲器,從掃描 開始點進(jìn)行計數(shù),從'奇數(shù)目'的輪廓線開始到下一個'偶數(shù)目'的輪廓 線為止進(jìn)行涂色的方法。此外,非零繞數(shù)方法,是預(yù)設(shè)一個被稱作'巻數(shù)'或'繞數(shù)'的、初始值為'0'的變量,在輪廓線與掃描線的交叉點上, 根據(jù)其輪廓線的描畫方向使巻數(shù)增減,并對巻數(shù)不為零的區(qū)域進(jìn)行涂色。 更具體而言,首先,按每個x軸方向的掃描線對描畫了輪廓線的位圖存儲 器進(jìn)行掃描,在其掃描線與文字的輪廓線的交叉點上,當(dāng)輪廓線的描畫方 向朝上(y坐標(biāo)值增加的方向)時,在巻數(shù)上加4'。另一方面,當(dāng)輪廓 線的描畫方向朝下(y坐標(biāo)值減少的方向)時,從其巻數(shù)中減'r。對所 有的掃描線與輪廓線的交叉點進(jìn)行這些處理,來求出位于掃描線上的各像 素的巻數(shù)。其結(jié)果,如果巻數(shù)為'0',就判斷對應(yīng)該巻數(shù)的像素是在輪廓 線的外側(cè),如果巻數(shù)不為W',就判斷是在輪廓線的內(nèi)側(cè),然后在其內(nèi)側(cè) 的區(qū)域配置描畫色的像素。相對于在偶奇方法中,在文字字畫之間重疊的區(qū)域上發(fā)生漏涂的問 題,雖然在非零繞數(shù)方法中不會發(fā)生這樣的漏涂,但存在字形設(shè)計者要重 新設(shè)計輪廓數(shù)據(jù),在記述這些數(shù)據(jù)時非常麻煩的缺點。例如,在專利文獻(xiàn) 1中,公開了在偶奇方法和非零繞數(shù)方法之間進(jìn)行切換使用的技術(shù)。而且,在專利文獻(xiàn)2中,公開了非零繞數(shù)方法有關(guān)的技術(shù)。根據(jù)專利 文獻(xiàn)2,將構(gòu)成輪廓線的像素有關(guān)的信息, 一個像素一個像素地存儲到位 圖存儲器中,但此時,對于這些像素,將輪廓線的描畫方向與該輪廓線重 疊次數(shù)結(jié)合起來的'繞數(shù)信息'(以下稱W數(shù)信息)一并進(jìn)行存儲。然后, 一邊順序地對位圖存儲器進(jìn)行掃描一邊參照與各個像素一并存儲的W數(shù) 信息,來求出各像素的W數(shù)(巻數(shù)),且用描畫色的像素對該W數(shù)不為 '0'的區(qū)域進(jìn)行涂色。另外,在該專利文獻(xiàn)2中,還公開了這樣的例子 在針對位圖存儲器上的各像素而準(zhǔn)備的16位之中,將上3位作為上述的 W數(shù)信息的記述區(qū)域,而將下13位作為像素的x坐標(biāo)值的記述區(qū)域。這 樣,通過分配3位作為W數(shù)信息的數(shù)據(jù)量,就可以記述'O'、 '+l'、 '+2,、 f+3,、 '-l'、 、2'、 '-3,這樣7個W數(shù)。專利文獻(xiàn)1特開平6-251164號公報專利文獻(xiàn)2特開平5-265428號公報由于多數(shù)字畫重疊,當(dāng)這些字畫的輪廓線在同一個點產(chǎn)生若干個重疊 的情況下,如專利文獻(xiàn)2所示,處理7個W數(shù)是方便的。但是,在輪廓 字形方式中,當(dāng)多個字畫連接在一起的情況下,由于可以用一個輪廓來表 現(xiàn)這些字畫的總輪廓線,在幾乎所有的文字樣式中,W數(shù)、也就是'巻 數(shù)'的數(shù)據(jù)量用l位就足夠了。于是,如專利文獻(xiàn)2那樣,即使準(zhǔn)備了3 位作為巻數(shù)的記述區(qū)域,在多數(shù)情況下,3-1=2位都沒有被使用。而且, 在位圖存儲器中,由于必須為這些多余的位來確保存儲區(qū)域,因此,專利 文獻(xiàn)2的技術(shù),不能說有效地利用了位圖存儲器。另一方面,由于不能完 全排除需要用到2位以上巻數(shù)的情況,因此就不能說只要確保1位記述區(qū) 域就足夠了。發(fā)明內(nèi)容因此,本發(fā)明的目的在于提供一種在對文字輪廓線的內(nèi)側(cè)區(qū)域進(jìn)行 涂色處理時,可以采用恰當(dāng)?shù)臄?shù)據(jù)量的巻數(shù)來進(jìn)行該處理的機(jī)構(gòu)。為了解決上述課題,本發(fā)明提供一種描畫裝置,其特征為,具備輪 廓描畫單元,其根據(jù)文字的輪廓線數(shù)據(jù)在描畫區(qū)域描畫文字的輪廓線;指 定單元,其當(dāng)沿著規(guī)定的掃描線對描畫了前述輪廓線的前述描畫區(qū)域進(jìn)行掃描時,對根據(jù)該輪廓線的描畫方向進(jìn)行增減的變量的數(shù)據(jù)量進(jìn)行指定; 變量存儲單元,其以前述掃描線單位對描畫了前述輪廓線的前述描畫區(qū)域 進(jìn)行掃描,對位于各個前述掃描線上的各像素,求出由前述指定單元指定 的數(shù)據(jù)量的變量,進(jìn)行存儲;涂色單元,其根據(jù)由前述變量存儲單元存儲 的變量,特定前述描畫區(qū)域的前述輪廓線的內(nèi)側(cè)的區(qū)域,并在特定后的區(qū) 域配置描畫色的像素,以描畫色對該區(qū)域進(jìn)行涂色。
由此,在對文字的輪廓線的內(nèi)側(cè)區(qū)域進(jìn)行涂色處理時,可以采用指定 的數(shù)據(jù)量的變量。
在本發(fā)明的優(yōu)選方式中,前述變量存儲單元,當(dāng)前述變量溢出了由前 述指定單元所指定的數(shù)據(jù)量時,進(jìn)行將該變量的值歸零的環(huán)繞處理來求出 前述變量。
由此,因為當(dāng)前述變量溢出了由前述指定單元所指定的數(shù)據(jù)量時,該 變量的值成為零,所以例如與變量溢出規(guī)定的數(shù)據(jù)量時進(jìn)行停止處理等的 錯誤處理的情況相比,可以不停止處理。
在本發(fā)明的優(yōu)選方式中,前述輪廓描畫單元,當(dāng)根據(jù)基于文字的輪廓 數(shù)據(jù)計算出的輪廓線的位置來在前述描畫區(qū)域描畫前述輪廓線時,判斷該 輪廓線是否從前述描畫區(qū)域的邊緣多出,當(dāng)前述的判斷結(jié)果,前述輪廓線 是在前述描畫區(qū)域的前述掃描線延伸的方向上多出時,則將多出的輪廓線 的位置作為前述描畫區(qū)域的邊緣的位置,當(dāng)前述的判斷結(jié)果,前述輪廓線 是在與前述描或區(qū)域的前述掃描線延伸的方向正交的方向上多出時,則除 去多出的輪廓線。
由此,當(dāng)根據(jù)基于文字的輪廓數(shù)據(jù)計算的輪廓線的位置,并根據(jù)計算 出的位置描畫輪廓線時,即使該輪廓線從描畫區(qū)域的邊緣多出來,也可以 對該輪廓線的內(nèi)側(cè)區(qū)域進(jìn)行涂色。
在本發(fā)明的優(yōu)選方式中,指示變量的數(shù)據(jù)量的指示信息被記述在程序 中,前述指定單元,將記述在前述程序中的指示信息所指示的數(shù)據(jù)量作為 前述變量的數(shù)據(jù)量來進(jìn)行指定。
由此,可以將記述在程序中的指示信息所指示的數(shù)據(jù)量作為變量的數(shù) 據(jù)量來進(jìn)行指定。
在本發(fā)明的優(yōu)選方式中,在前述輪廓數(shù)據(jù)中,包含有指示變量的數(shù)據(jù)量的指示信息,前述指定單元,將包含在前述輪廓數(shù)據(jù)中的指示信息所指 示的數(shù)據(jù)量作為前述變量的數(shù)據(jù)量來進(jìn)行指定。
由此,可以將包含在輪廓數(shù)據(jù)中的指示信息所指示的數(shù)據(jù)量作為變量 的數(shù)據(jù)量來進(jìn)行指定。
在本發(fā)明的優(yōu)選方式中,前述指定單元,將由用戶的操作所指示的數(shù) 據(jù)量作為前述變量的數(shù)據(jù)量來進(jìn)行指定。
由此,可以將用戶指示的數(shù)據(jù)量作為變量的數(shù)據(jù)量來進(jìn)行指定。
而且,本發(fā)明提供一種圖像輸出裝置,其特征為,具備上述的任一 項的描畫裝置;輸出單元,其將由前述描畫裝置的前述涂色單元以描畫色 進(jìn)行涂色后的結(jié)果作為文字圖像來進(jìn)行輸出。
由此,當(dāng)對文字的輪廓線的內(nèi)側(cè)區(qū)域進(jìn)行涂色處理時,可以采用指定 的數(shù)據(jù)量的變量,進(jìn)而,例如可以用顯示或印刷等方式將由涂色而得到的 文字圖像進(jìn)行輸出。
而且,本發(fā)明提供一種程序,驅(qū)使計算機(jī)實現(xiàn)如下的功能 輪廓描畫單元,根據(jù)文字的輪廓數(shù)據(jù)在描畫區(qū)域描畫文字的輪廓線; 指定單元,當(dāng)沿著規(guī)定的掃描線對描畫了前述輪廓線的前述描畫區(qū)域進(jìn)行 掃描時,對根據(jù)該輪廓線的描畫方向進(jìn)行增減的變量的數(shù)據(jù)量進(jìn)行指定; 變量存儲單元,以前述掃描線單位對描畫了前述輪廓線的前述描畫區(qū)域進(jìn) 行掃描,對位于各個前述掃描線上的各像素,求出由前述指定單元指定的 數(shù)據(jù)量的變量,進(jìn)行存儲;和涂色單元,根據(jù)由前述變量存儲單元存儲的 變量,特定前述描畫區(qū)域的前述輪廓線的內(nèi)側(cè)的區(qū)域,并在特定后的區(qū)域 配置描畫色的像素,以描畫色對該區(qū)域進(jìn)行涂色。
由此,當(dāng)對文字的輪廓線的內(nèi)側(cè)區(qū)域進(jìn)行涂色時,可以采用指定的數(shù) 據(jù)量的變量。
圖1是對控制點和顯示在圖像顯示裝置上的圖像的例子進(jìn)行說明的圖。
圖2是對連結(jié)控制點的周線進(jìn)行說明的圖。 圖3是對字形數(shù)據(jù)的構(gòu)造進(jìn)行說明的圖。圖4是表示用周線形成輪廓并在其內(nèi)側(cè)進(jìn)行涂色的情況的圖。
圖5是表示本發(fā)明的實施方式的圖像顯示裝置的構(gòu)成圖。
圖6是表示字形處理器的構(gòu)成圖。
圖7是表示輪廓計算模塊的動作的流程圖。
圖8是表示輪廓計算模塊的動作的流程圖。
圖9是表示輪廓計算模塊的動作的流程圖。
圖IO是表示輪廓計算模塊的動作的流程圖。
圖11是表示輪廓計算模塊的動作的流程圖。
圖12是表示涂色 背景合成 轉(zhuǎn)送模塊的動作的流程圖。
圖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-存儲介質(zhì),25-字形處理器,252-字形描畫控制器 (指定單元),253-輪廓計算模塊,254-輪廓描畫模塊(輪廓描畫單元), 255-涂色 背景合成 轉(zhuǎn)送模塊(涂色單元),256-工作存儲器(描畫區(qū) 域、變量存儲單元),rl、 r2-寄存器(變量存儲單元)
具體實施例方式
以下,對實施本發(fā)明的最佳方式進(jìn)行說明。 (1)字形數(shù)據(jù)的說明 首先,對本實施方式中作為輪廓數(shù)據(jù)使用的字形數(shù)據(jù)進(jìn)行說明。這里, 采用輪廓線方式的字形數(shù)據(jù),特別是被稱為TTF(True Type Font)的字形數(shù)據(jù)。
圖1是對TTF的內(nèi)容進(jìn)行說明的圖。圖1的上段是由TTF表示'口' 這個字(漢字)的圖。沿著文字的輪廓線周圍,配置著矩形和圓形的圖形, 這些均被稱之為'控制點,。矩形圖形為位于曲線上控制點(on curve point),圓形圖形為不在曲線上控制點(offcurvepoint)(在以下的圖中同樣)。在TTF中,文字的輪廓線由一條或多條周線來顯示。所謂周線是通 過連結(jié)直線或貝塞爾(Bezier)曲線來表示的封閉線圖,并由該線圖來表 現(xiàn)文字的輪廓線。例如,當(dāng)位于曲線上控制點為連續(xù)時,由直線連結(jié)這些 相鄰的兩個控制點。另一方面,當(dāng)出現(xiàn)不在曲線上控制點時,用2次貝塞 爾曲線來連結(jié)與該不在曲線上控制點相鄰的兩個位于曲線上控制點。此 外,當(dāng)兩個不在曲線上控制點相鄰時,位于曲線上在它們的中點補(bǔ)上位于 曲線上控制點,并由兩個2次貝塞爾曲線進(jìn)行連結(jié)即可。
圖2是在位圖存儲器上的描畫區(qū)域中對文字的輪廓線進(jìn)行描畫的情況 的說明圖。
如果將在圖2中例示的控制點A、 B、 C、 E作為位于曲線上控制點, 而控制點D作為不在曲線上控制點,則直線A-B、 2次貝塞爾曲線C-D-E 分別作為由以下的公式所表現(xiàn)的點P的集合(直線)、點Q的集合(2次 貝塞爾曲線)來顯示。
P = ( 1 —t)A + tB
Q = (l-t)2C + 2t(l-t)D + t2E
t是在0^t^1的范圍內(nèi)連續(xù)變化的介質(zhì)變量。在直線A-B中,當(dāng)1=0 時,點P與點A—致,當(dāng)t-l時,點P與點B—致。同樣,在2次貝塞 爾曲線C-D-E中,當(dāng)t=0時,點Q與點C 一致,當(dāng)1=1時,點Q與點E一致。
圖3是表示某一文字的字形數(shù)據(jù)的示例圖。
如圖3所示,字形數(shù)據(jù)是通過控制點信息的集合來表示的,該控制點 信息的集合是由對各控制點以升順分配的'控制點編號';該控制點的 類別(位于曲線上控制點或不在曲線上控制點);和該控制點的平面上的 '位置'(x、y坐標(biāo))所構(gòu)成。由這些字形數(shù)據(jù)來表示一個文字的輪廓線。 進(jìn)而,對于一個字形數(shù)據(jù),包含在該字形數(shù)據(jù)中的周線總數(shù)與成為各周線 終端的控制點編號是相對應(yīng)的。
這里,圖4是對位圖存儲器上的描畫區(qū)域中所描畫的文字的輪廓線的 內(nèi)側(cè)進(jìn)行涂色的情況的說明圖。如圖4所示,勺'這個字母的輪廓線,是 由兩個周線Cl、 C2來表示的,因此,如圖3所示的那樣,周線總數(shù)為'2'。 此外,在周線C1中,成為周線終端的控制點編號是(7',在周線C2中,成為周線終端的控制點編號是'12'。于是,如圖3所示那樣,成為周線 終端的控制點編號就是<7、 12'。
對在位圖存儲器中所描畫的文字的輪廓線的內(nèi)側(cè)進(jìn)行涂色時的處理 如下所述。
首先,字形處理器等描畫裝置,將巻數(shù)w (初始值為0)保持在寄存 器或存儲器中,然后,描畫裝置沿著規(guī)定的方向(通常是x軸方向)的掃 描線對已描畫的文字輪廓線的描畫區(qū)域進(jìn)行掃描,并求出該掃描線與周線
交叉的點。此時,描畫裝置要判定在從小的控制點編號向大的控制點編 號推進(jìn)的方向上所描畫的周線,相對于掃描線是從下向上交叉的,還是從 上向下交叉的。描畫裝置,如果其判定結(jié)果是前者,則在巻數(shù)W上加1, 如果是后者,則在巻數(shù)W中減1。也就是,相對于構(gòu)成描畫方向為從下向 上的周線的各像素只將巻數(shù)W增加1而言,構(gòu)成描畫方向為從上向下的 周線的各像素只將巻數(shù)W減少1。此外,位于沿與掃描線相同方向延伸的
輪廓線上的像素不改變巻數(shù)w。把對這種巻數(shù)的'+r、 '-r、 '土o'的 增減值稱為^巻數(shù)變化量'。這些'巻數(shù)'以及'巻數(shù)變化量'全都相當(dāng) 于'沿著規(guī)定的掃描線對描畫了輪廓線的描畫區(qū)域進(jìn)行掃描時,根據(jù)其輪 廓線的描畫方向而增減的變量'。
這樣,通過從各像素的巻數(shù)變化量求得巻數(shù),圖4所示的掃描線L1、 L2,就會區(qū)分為不同巻數(shù)的若干個區(qū)間。描畫裝置,在巻數(shù)w不為零的 區(qū)間(圖中的W=l的區(qū)間)上配置描畫色的像素,用顏色進(jìn)行涂色,而 對于巻數(shù)w^0的區(qū)間,則不進(jìn)行涂色處理。另外,這個程序的詳述,被 公 開 在 例 如 網(wǎng) 頁
http:〃developer,apple,com/textfonts/TTRefMan/RM02/chap2.html上。
遵照以上的規(guī)則,描畫裝置按照如圖1上段配置的控制點形成周線, 進(jìn)而若在其周線的內(nèi)側(cè)區(qū)域進(jìn)行涂色,則如圖l的下段所示,生成'口' 這個文字圖像,并將這個圖像顯示在顯示裝置上,或通過印刷裝置印刷出 來。另外,在這個圖1的下段,圖示了所謂位于曲線上控制點以及不在曲 線上控制點的各控制點,但是,這些都不過是輔助表示,并不在實際的文 字圖像上顯現(xiàn)。
(2)實施方式的構(gòu)成接著,對本實施方式的構(gòu)成進(jìn)行具體地說明。圖5是本實施方式的圖像輸出裝置的一例,表示圖像顯示裝置1的構(gòu) 成的方塊圖。如圖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執(zhí)行的程序、以輪廓線字形方式顯示了多個文字的 輪廓線的字形數(shù)據(jù)。CPU11將存儲在ROM12中的程序讀出,在RAM13 中展開,且按照其程序中記述的順序執(zhí)行處理。在連接器19中,如所謂可拆裝媒體那樣的可移動式存儲介質(zhì)24是自 由裝卸的。該存儲介質(zhì)24,例如可以是像SD(Secure Digital)卡那樣的內(nèi) 置閃存器的卡型存儲介質(zhì),例如也可以是利用軟盤(注冊商標(biāo))等的磁介 質(zhì)的磁盤型存儲介質(zhì)。存儲裝置23是閃存器或硬盤等非易失性存儲設(shè)備。 在存儲裝置23或存儲介質(zhì)24中存儲有文件數(shù)據(jù)。在存儲控制裝置20中,按照CPU11的指示,從裝在連接器19上的 存儲介質(zhì)24或存儲裝置23中讀出文件數(shù)據(jù),轉(zhuǎn)送到RAMI3中。CPU向 字形處理器25發(fā)出命令,使之描畫根據(jù)該文件數(shù)據(jù)中包含的文字代碼所 指定的文字。字形處理器25是描畫文字的描畫裝置,根據(jù)CPU11的命令, 從ROM12中讀出對應(yīng)于上述文字代碼的字形數(shù)據(jù),并對其進(jìn)行解釋,變 換成位圖形式的圖像數(shù)據(jù)保存到VRAM14中。存儲性液晶顯示體15是利 用了膽留型(cholesteric)液晶或電泳等的顯示單元,具有即使電力供應(yīng) 停止也可以繼續(xù)顯示圖像的存儲性。已寫入VRAM14中的圖像數(shù)據(jù),根 據(jù)CPUll的指示,被供給到顯示控制裝置16。顯示控制裝置16,對存儲 性液晶顯示體15進(jìn)行控制,來顯示基于上述圖像數(shù)據(jù)的圖像。鍵22是由使用者進(jìn)行操作的操作單元,也可以包括筆輸入設(shè)備或手 動控制器等的操作設(shè)備。1/021監(jiān)視著鍵22的操作狀態(tài), 一旦由用戶對鍵 22進(jìn)行了操作,就將對應(yīng)于該操作的信號供給到CPUll。電源17例如是 可充電電池,電源控制裝置18,控制電源17的開關(guān),或者對電力的余量 進(jìn)行監(jiān)視等進(jìn)行各種電源管理。接著,圖6是表示作為描畫裝置的字形處理器25的構(gòu)成的方塊圖。如圖6所示,字形處理器25具備主控制器251、字形描畫控制器 252、輪廓計算模塊253、輪廓描畫模塊254、涂色 背景合成 轉(zhuǎn)送模塊 255、工作儲存器256、外部總線接口模塊257、主總線258、子總線259。 在主總線258上,連接著主控制器251、字形描畫控制器252、輪廓計 算模塊253以及涂色 背景合成 轉(zhuǎn)送模塊255。在字形描畫控制器252 上,連接著輪廓計算模塊253、輪廓描畫模塊254以及涂色,背景合成*轉(zhuǎn) 送模塊255。在子總線259上,連接著輪廓描畫模塊254、涂色 背景 合成 轉(zhuǎn)送模塊255以及工作存儲器256。外部總線接口模塊257對經(jīng)由 主總線258連接的輪廓計算模塊253、輪廓描畫模塊254以及涂色 背景 合成轉(zhuǎn)送模塊255進(jìn)行控制使之不能同時進(jìn)行存取,或?qū)偩€26與主 總線258以及子總線259之間的數(shù)據(jù)交換進(jìn)行控制。主控制器251對整個字形處理器25進(jìn)行控制。工作存儲器256是具 有用于描畫文字的描畫區(qū)域的存儲單元。輪廓計算模塊253、輪廓描畫模 塊254以及涂色 背景合成 轉(zhuǎn)送模塊255相互協(xié)同動作,在該工作存儲 器256中描畫文字。字形描畫控制器252對這些輪廓計算模塊253、輪廓 描畫模塊254以及涂色 背景合成 轉(zhuǎn)送模塊255進(jìn)行控制。而且,該字 形描畫控制器252,按照從CPU11來的指示或通知,向輪廓計算模塊253 通知仿射變換參數(shù)等的通知,向輪廓描畫模塊254通知在工作存儲器中可 以作為巻數(shù)變化量的存儲區(qū)域來使用的位寬(數(shù)據(jù)量)等信息,對涂色, 景合成*轉(zhuǎn)送模塊255通知在工作存儲器中可作為巻數(shù)的存儲區(qū)域來使用 的位寬(數(shù)據(jù)量)、以及各像素的坐標(biāo)值范圍等信息。輪廓計算模塊253、 輪廓描畫模塊254以及涂色 背景合成 轉(zhuǎn)送模塊255,根據(jù)經(jīng)由字形描 畫控制器252從CPU11通知的信息,執(zhí)行各自的處理。以下,分別對輪廓計算模塊253、輪廓描畫模塊254、以及涂色 背 景合成 轉(zhuǎn)送模塊255進(jìn)行說明。 (2-1)輪廓計算模塊253輪廓計算模塊253,通過外部總線接口模塊257以及主總線258獲取 字形數(shù)據(jù),并利用經(jīng)由字形描畫控制器252從CPU11通知的仿射變換參 數(shù)進(jìn)行仿射變換。然后,輪廓計算模塊253將由仿射變換得到的直線或貝塞爾曲線進(jìn)行細(xì)化分割,并算出用于在工作存儲器256的描畫區(qū)域中描畫 這些直線或貝塞爾曲線(即輪廓線)的各像素的x坐標(biāo)值以及y坐標(biāo)值。 該x坐標(biāo)值以及y坐標(biāo)值就是在工作存儲器256的描畫區(qū)域中的x-y坐標(biāo) 上的坐標(biāo)值。輪廓計算模塊253,具備四個寄存器PO、 Pl、 P2、 P3,釆 用這些寄存器就具有以后入先出的方式(LIFO: Last In First Out)來保持 數(shù)據(jù)的堆棧功能。這些寄存器PO、 Pl、 P2、 P3的每一個,均具有可存儲 前述的控制點信息的容量。另外,輪廓計算模塊253在計算位于工作存儲 器256中描畫的文字的輪廓線上的各像素的坐標(biāo)值時,要利用這個堆棧功 能。而且,輪廓計算模塊253將算出的x坐標(biāo)值以及y坐標(biāo)值之中的各自 的最大值和最小值通知給涂色 背景合成 轉(zhuǎn)送模塊255。進(jìn)而,輪廓計算模塊253,還根據(jù)輪廓線的描畫方向,對位于該輪廓 線上的各像素的巻數(shù)變化量也進(jìn)行計算。g卩,位于描畫方向從下朝上的輪 廓線上的各像素的巻數(shù)變化量為'+l',位于描畫方向從上朝下的輪廓線 上的各像素的巻數(shù)變化量為'-l',位于描畫方向與掃描方向相同的輪廓 線上的各像素的巻數(shù)變化量為'±0'。輪廓計算模塊253,將求得的坐標(biāo) 值以及巻數(shù)變化量移交給輪廓描畫模塊254。 (2-2)輪廓描畫模塊254輪廓描畫模塊254,在工作存儲器256上的描畫區(qū)域上,通過在與從 輪廓計算模塊253接受到的坐標(biāo)值對應(yīng)的存儲地址上排列描畫色的像素, 描畫基于字形數(shù)據(jù)的文字的輪廓線。此時,輪廓描畫模塊254,當(dāng)為了描 畫某個輪廓線而配置于描畫區(qū)域的像素位置上已經(jīng)存在了用于描畫其它 輪廓線而配置的像素時,對在該位置上重疊的兩個像素的巻數(shù)變化量進(jìn)行 加法運算,寫入到工作存儲器256中。例如,在配置有巻數(shù)變化量'+r 的像素的位置上配置了巻數(shù)變化量'+l'的像素的情況下,輪廓描畫模塊 254將位于該位置上的巻數(shù)變化量定為1+1= (+2'。另外,在配置有巻數(shù)變化量為'+r的像素的位置上配置了巻數(shù)變化量為'-r的情況下,輪廓描畫模塊254將位于該位置的像素的巻數(shù)變化量定為l-l^士0,。另外, 在配置有巻數(shù)變化量為'±0,的像素的位置上配置了巻數(shù)變化量為'±0' 的情況下,輪廓描畫模塊254將位于這個位置的像素的巻數(shù)變化量定為 0+0= '±0,。當(dāng)三個以上的像素在同一位置上重疊時,與上述同樣。輪廓描畫模塊254具備用于對位于文字的輪廓線上的各像素的巻數(shù)變 化量進(jìn)行加法運算的多個寄存器rl。該寄存器rl合計共有7個, 一個寄 存器rl保持l位的值。g卩,輪廓描畫模塊254,最大可存儲7位的巻數(shù)變 化量。但是,輪廓描畫模塊254,在這些7位的寄存器rl之中,只使用與 經(jīng)由字形描畫控制器252由CPUU所指定的位寬相當(dāng)?shù)臄?shù)目的寄存器rl 來存儲巻數(shù)變化量,并由此對巻數(shù)變化量進(jìn)行加法運算。例如,當(dāng)指定'1 位'為位寬的情況下,輪廓描畫模塊254只使用一個寄存器rl,所以可處理的巻數(shù)變化量為<o'、 'r (或者、r) 2種。此外,當(dāng)位寬被指定為'3位,的情況下,輪廓描畫模塊254使用三個寄存器rl,因此可處理的巻數(shù)變化量為'o,、 '+r、 (+2,、 '+3,、 、r、 (-2,、 (-3'的7種。此外,當(dāng)位寬被指定為'7位'的情況下,輪廓描畫模塊254可以使用全部 7個寄存器rl,因此可處理的巻數(shù)變化量為127種。作為存儲巻數(shù)變化量的寄存器rl的位寬,究竟采用1位、3位還是7 位這三種位寬之中的哪一種,被記述在存儲于ROM12的程序中。這個程 序的設(shè)計者,在1位、3位或者7位之中,從圖像顯示裝置1使用何種的 字形數(shù)據(jù)等的條件中指定一個被認(rèn)為恰當(dāng)?shù)膸啍?shù)變化量的位寬,并在該程 序編制之時,就把指示這個已特定的位寬的指示信息記述下來。CPU11 在從ROM12讀出這個程序并執(zhí)行時,把程序中記述的指示信息傳遞給字 形處理器25。字形處理器25的字形描畫控制器252,將這個指示信息所 指示的位寬通知給輪廓描畫模塊254,并指定使用與這個位寬相符的寄存 器rl。(2-3)涂色 背景合成 轉(zhuǎn)送模塊255一旦由輪廓描畫模塊254在工作存儲器256中描畫了輪廓線,涂色*背 景合成'轉(zhuǎn)送模塊255就沿著x軸方向的掃描線對輪廓線進(jìn)行掃描,并求 出該掃描線與輪廓線交叉的點,此時,涂色 背景合成 轉(zhuǎn)送模塊255保 持著巻數(shù)w(初始值為0),并把從工作存儲器256讀出的巻數(shù)變化量加到 這個掃描線上的各像素的位置上的巻數(shù)w上。這里,涂色 背景合成 轉(zhuǎn)送模塊255具備用于存儲描畫區(qū)域的各像 素的巻數(shù)w的多個寄存器r2。該寄存器r2與上述的輪廓描畫模塊254的 寄存器rl 一樣,合計共有7個, 一個寄存器r2保持1位的值。即,涂色,背景合成辨送模塊255最大可以存儲7位的巻數(shù)。但是,涂色,背景合成辨 送模塊255,在這些7位的寄存器r2之中,只使用與經(jīng)由字形描畫控制器 252由CPU11所指定的位寬相當(dāng)?shù)臄?shù)目的寄存器r2來存儲巻數(shù)。例如, 當(dāng)位寬被指定為'l位'的情況下,涂色,背景合成,轉(zhuǎn)送模塊255只使 用一個寄存器r2,因此可處理的巻數(shù)變化量為'0'、 'T (或者2 種。此外,當(dāng)位寬被指定為'3位'的情況下,涂色 背景合成 轉(zhuǎn)送模 塊255使用三個寄存器r2,因此可處理的巻數(shù)變化量為^'、 <+1'、 '+2'、 '+3'、 '-l'、 2'、 '-3'的7種。另外,當(dāng)位寬被指定為'7位,的情 況下,涂色*背景合成*轉(zhuǎn)送模塊255可以使用全部7個寄存器1"2,因此 可處理的巻數(shù)變化量為127種的值。作為存儲巻數(shù)的寄存器r2的位寬,究竟采用l位、3位還是7位這三 種位寬之中的哪一種,與上述的巻數(shù)變化量一樣,被記述在存儲于R0M12 的程序中。該程序的設(shè)計者,在1位、3位或者7位之中,從圖像顯示裝 置1使用何種字形數(shù)據(jù)等的條件中指定一個被認(rèn)為恰當(dāng)?shù)膸啍?shù)的位寬,并 在該程序編制的時,就把指示這個已特定的位寬的指示信息記述下來。 CPU11在從ROM12讀出這個程序并執(zhí)行時,把程序中記述的指示信息傳 遞給字形處理器25。字形處理器25的字形描畫控制器252,將這個指示 信息所指示的位寬通知給輪廓描畫模塊254,并指定使用與這個位寬相符 的寄存器r2。另外,涂色 背景合成 轉(zhuǎn)送模塊255,在各掃描線上對巻數(shù)w=0 的區(qū)間不作任何處理,而通過在巻數(shù)w不為0的區(qū)間配置描畫色的像素, 以描畫色對輪廓線內(nèi)側(cè)的區(qū)域進(jìn)行涂色。涂色*背景合成*轉(zhuǎn)送模塊255, 一旦這樣地對輪廓線內(nèi)側(cè)區(qū)域進(jìn)行涂色而生成文字圖像,則根據(jù)需要,生 成將這個文字圖像與規(guī)定的背景圖像合成后的圖像數(shù)據(jù)之后,將指示轉(zhuǎn)送 該圖像數(shù)據(jù)的轉(zhuǎn)送信號通知給CPUll。與此對應(yīng),CPU11把從涂色'背 景合成 轉(zhuǎn)送模塊255轉(zhuǎn)送來的圖像數(shù)據(jù)寫入到VRAM14中。寫入到 VRAM14中的圖像數(shù)據(jù),根據(jù)CPU11的指示,供給到顯示控制裝置16。 顯示控制裝置16控制存儲性液晶顯示體15來顯示基于上述圖像數(shù)據(jù)的圖 像。(3)實施方式的動作以下,說明實施方式的動作。(3-1)輪廓計算模塊253的主程序圖7是說明輪廓計算模塊253執(zhí)行主程序的流程圖。輪廓計算模塊253 以其控制點編號升順的方式順序地接受經(jīng)由外部總線接口模塊257以及 主總線258而接受到的包含于字形數(shù)據(jù)中的控制點信息。輪廓計算模塊 253,在獲取的控制點信息之中,取出控制點編號最少的位于曲線上控制 點的控制點信息作為成為始點的位于曲線上控制點的控制點信息,并且, 取出僅次于上述的最少的控制點編號小的位于曲線上fe制點的控制點信 息作為終點位于曲線上控制點的控制點信息。輪廓計算模塊253,如前所 述那樣,具備4個寄存器P0 P3,并且將成為始點的位于曲線上控制點的 控制點信息存儲在4個寄存器P0 P3之中的P0中,將成為終點的位于曲 線上控制點的控制點信息存儲在寄存器P3中(步驟S1)。接著,輪廓計算模塊253,對上述的始點和終點的位于曲線上控制點 之間的直線或者貝塞爾曲線的種類進(jìn)行判定(步驟S2)。當(dāng)此為直線的情 況下(步驟S2:直線),輪廓計算模塊253就執(zhí)行后述的圖8的直線分割 程序(步驟S3)。此外,當(dāng)此為2次貝塞爾曲線的情況下(步驟S2: 2次 貝塞爾曲線),輪廓計算模塊253就會將位于始點與終點間的不在曲線上 控制點的控制點信息存儲到寄存器Pl中(步驟S4),并執(zhí)行后述的圖9 的2次貝塞爾曲線分割程序(步驟S5)。而且,當(dāng)此為3次貝塞爾曲線的 情況下(步驟S2: 3次貝塞爾曲線),輪廓計算模塊253就會將位于始點 和終點之間的不在曲線上控制點之中,控制點編號小的不在曲線上控制點 的控制點信息存儲到寄存器P1中,并將控制點編號大的不在曲線上控制 點存儲到寄存器P2中(步驟S6)。然后,輪廓計算模塊253,執(zhí)行后述的 圖10的3次貝塞爾曲線分割程序(步驟S7)。然后,輪廓計算模塊253,在完成步驟S3、 S5、 S7的任何一步的處 理之后,再次返回到步驟Sl,這次將上述處理中作為終點進(jìn)行了處理的 位于曲線上控制點的控制點信息作為始點的控制點信息存儲到寄存器PO 中,并將僅次于該始點的控制點編號小的位于曲線上控制點的控制點信息 作為終點的控制點信息存儲到寄存器P3中,然后反復(fù)進(jìn)行上述的處理。 這樣,輪廓計算模塊253就對接受到的字形數(shù)據(jù)中所包含的所有的控制點信息進(jìn)行上述的處理(3-2)輪廓計算模塊253的直線分割程序圖8是對輪廓計算模塊253執(zhí)行的直線分割程序進(jìn)行說明的流程圖。 在圖8中,輪廓計算模塊253算出存儲在寄存器P0中的控制點信息所表 示的控制點與存儲在寄存器P3中的控制點信息所表示的控制點之間、在 工作存儲器256的描畫區(qū)域上的距離,并判斷這個距離是否在所定的規(guī)定 值以下,(步驟Sll)。此時采用的規(guī)定值,例如是相當(dāng)于描畫區(qū)域中的1 個像素的直徑的尺寸。另外,在圖8中,例如把在寄存器PO中存儲的控 制點信息所示的控制點與在寄存器P3中存儲的控制點信息所示的控制點 之間的距離,表現(xiàn)為'P0與P3的距離,(后述的圖9以后相同)。當(dāng)由步驟Sll算出的距離超過了規(guī)定值時(步驟S11: NO),由于兩 個控制點間的距離大,為了描畫這2點間的直線,需要對這個直線進(jìn)行更 小地分割。此時,輪廓計算模塊253,取出存儲在寄存器P3中的控制點 信息,由堆棧功能對其進(jìn)行保持(步驟S12)。然后,輪廓計算模塊253 求出存儲在寄存器P0中的控制點信息所表示的控制點與迄今為止存儲在 寄存器P3中的控制點信息所表示的控制點之間的中點,并生成該中點的 控制點信息,存儲到寄存器P3中(步驟S13)。然后,輪廓計算模塊253 再次返回到步驟Sll的處理。S卩,輪廓計算模塊253不斷地對兩個控制點 之間的直線進(jìn)行1/2的分割處理,直到兩個控制點間的距離足夠小為止。另一方面,當(dāng)在步驟S11中,算出的距離在規(guī)定值以下時(步驟S11: YES),則意味著兩個控制點之間的距離已經(jīng)足夠小。此時,輪廓計算模 塊253取出存儲在寄存器P3中的控制點信息,從該控制點信息算出工作 存儲器256的描畫區(qū)域上的x坐標(biāo)值以及y坐標(biāo)值,并且根據(jù)從始點朝向 終點的方向(描畫方向),算出該始點的巻數(shù)變化量。以后再詳述這個巻 數(shù)變化量的算出處理。然后,輪廓計算模塊253將算出的坐標(biāo)值以及巻數(shù) 變化量輸出到后段的模塊即輪廓描畫模塊254中(步驟S14)。接著,輪廓計算模塊253判斷是否存在由堆桟功能保持的控制點信息 (步驟S15)。如果存在保持的控制點信息(步驟S15: YES),輪廓計算 模塊253則將存儲在寄存器P3中的控制點信息復(fù)制到寄存器P0中,并存 儲在這個寄存器PO中(步驟S16)。然后,輪廓計算模塊253取出由堆棧功能保持的控制點信息,存儲到寄存器P3中(步驟S17)。然后,輪廓計 算模塊253再次返回到步驟S11的處理,而后反復(fù)進(jìn)行上述的處理。最終 在步驟S15中,當(dāng)輪廓計算模塊253判斷保持的控制點信息沒有時(步驟 S15: NO),則結(jié)束直線分割程序。(3-3)輪廓計算模塊253的2次貝塞爾曲線分割程序圖9是對輪廓計算模塊253執(zhí)行的2次貝塞爾曲線分割程序進(jìn)行說明 的流程圖。在圖9中,輪廓計算模塊253分別算出以下的幾個距離,艮卩 存儲在寄存器P0中的控制點信息所示的控制點與存儲在寄存器P1中的控 制點信息所示的控制點之間的距離;存儲在寄存器P1中的控制點信息所 示的控制點與存儲在寄存器P3中的控制點信息所示的控制點之間的距 離;以及存儲在寄存器PO中的控制點信息所示的控制點與存儲在寄存器 P3中的控制點信息所示的控制點之間的距離,并判斷各個距離是否在所 定的規(guī)定值以下(步驟S21)。此時采用的規(guī)定值與上述相同,例如相當(dāng) 于1個像素的直徑的尺寸。當(dāng)這些距離的某一個超過了規(guī)定值時(步驟S21: NO),這三個控制 點之間的距離的任一個都大,因此需要對2次貝塞爾曲線進(jìn)行分割。此時, 輪廓計算模塊253,取出存儲在寄存器P3中的控制點信息,由堆棧功能 對其進(jìn)行保持(步驟S22)。然后,輪廓計算模塊253求出存儲在寄存器 Pl中的控制點信息表示的控制點與迄今為止存儲在寄存器P3中的控制點 信息表示的控制點之間的中點,并生成其中點的控制點信息,存儲到寄存 器P3中(步驟S23)。然后,輪廓計算模塊253,取出存儲在寄存器P3 中的控制點信息,由堆棧功能對其進(jìn)行保持(步驟S24)。接著,輪廓計 算模塊253求出存儲在寄存器P0中的控制點信息表示的控制點與存儲在 寄存器P1中的控制點信息表示的控制點之間的中點,并生成其中點的控 制點信息,存儲到寄存器P1中(步驟S25)。接著,輪廓計算模塊253求 出存儲在寄存器P1中的控制點信息表示的控制點與存儲在寄存器P3中的控制點信息表示的控制點之間的中點,并生成其中點的控制點信息,存儲 到寄存器P3中(步驟S26)。然后,輪廓計算模塊253,再次返回到步驟 S21的處理。另一方面,在步驟S21中,當(dāng)算出的距離全部在規(guī)定值以下時(步驟S2h YES),輪廓計算模塊253取出存儲在寄存器P3中的控制點信息, 并從這個控制點信息算出工作存儲器256的描畫區(qū)域上的x坐標(biāo)值以及y 坐標(biāo)值,同時根據(jù)從始點朝向終點的方向(描畫方向),算出該始點上的 巻數(shù)變化量。以后將詳述這個巻數(shù)變化量的算出處理。然后,輪廓計算模 塊253將算出的坐標(biāo)值以及巻數(shù)變化量輸出到后段的模塊即輪廓描畫模 塊254中(步驟S27)。接著,輪廓計算模塊253判斷是否存在由堆棧功能保持的控制點信息 (步驟S28)。這里,如果存在保持的控制點信息(步驟S28: YES),則 輪廓計算模塊253將存儲在寄存器P3中的控制點信息復(fù)制到寄存器P0 中,并存儲在該寄存器PO中(步驟S29)。然后,輪廓計算模塊253順序 取出由堆棧功能保持的兩個控制點信息,分別存儲到寄存器P1、P3中(步 驟S30)。然后,輪廓計算模塊253再次返回到步驟S21的處理,而后反 復(fù)進(jìn)行上述的處理。最終在步驟S28中,當(dāng)輪廓計算模塊253判斷保持的 控制點信息沒有時(步驟S28: NO),則結(jié)束2次貝塞爾曲線分割程序。 (3-4)輪廓計算模塊253的3次貝塞爾曲線分割程序圖10是對輪廓計算模塊253執(zhí)行的3次貝塞爾曲線分割程序進(jìn)行說 明的流程圖。在圖10中,輪廓計算模塊253分別算出以下的幾個距離, 即存儲在寄存器P0中的控制點信息所示的控制點與存儲在寄存器Pl 中的控制點信息所示的控制點之間的距離;存儲在寄存器P1中的控制點 信息所示的控制點與存儲在寄存器P2中的控制點信息所示的控制點之間 的距離;存儲在寄存器P2中的控制點信息所示的控制點與存儲在寄存器 P3中的控制點信息所示的控制點之間的距離;以及存儲在寄存器PO中的 控制點信息所示的控制點與存儲在寄存器P3中的控制點信息所示的控制 點之間的距離,并判斷各個距離是否在所定的規(guī)定值以下(步驟S31)。 此時采用的規(guī)定值與上述相同,例如相當(dāng)于1個像素的直徑的尺寸。當(dāng)這些距離的某一個超過了規(guī)定值時(步驟S31: NO),這三個控制 點之間的距離的任一個都大,因此需要對3次貝塞爾曲線進(jìn)行分割。此時, 輪廓計算模塊253,取出存儲在寄存器P3中的控制點信息,由堆棧功能 對其進(jìn)行保持(步驟S32)。然后,輪廓計算模塊253求出存儲在寄存器 P2中的控制點信息表示的控制點與迄今為止存儲在寄存器P3中的控制點信息表示的控制點之間的中點,并生成該中點的控制點信息,存儲到寄存器P3中(步驟S33)。然后,輪廓計算模塊253,取出存儲在寄存器P3 中的控制點信息,由堆棧功能對其進(jìn)行保持(步驟S34)。接著,輪廓計算模塊253求出存儲在寄存器Pl中的控制點信息表示 的控制點與存儲在寄存器P2中的控制點信息表示的控制點之間的中點, 并生成該中點的控制點信息,存儲到寄存器P2中(步驟S35)。接著,輪 廓計算模塊253求出存儲在寄存器P0中的控制點信息表示的控制點與存 儲在寄存器P1中的控制點信息表示的控制點之間的中點,并生成該中點 的控制點信息,存儲到寄存器P1中(步驟S36)。接著,輪廓計算模塊253 求出存儲在寄存器P2中的控制點信息表示的控制點與存儲在寄存器P3 中的控制點信息表示的控制點之間的中點,并生成其中點的控制點信息, 存儲到寄存器P3中(步驟S37)。然后,輪廓計算模塊253,取出存儲在 寄存器P3中的控制點信息,由堆桟功能對其進(jìn)行保持(步驟S38)。接著,輪廓計算模塊253求出存儲在寄存器Pl中的控制點信息表示 的控制點與存儲在寄存器P2中的控制點信息表示的控制點之間的中點, 并生成其中點的控制點信息,存儲到寄存器P2中(步驟S39)。接著,輪 廓計算模塊253求出存儲在寄存器P2中的控制點信息表示的控制點與存 儲在寄存器P3中的控制點信息表示的控制點之間的中點,并生成其中點 的控制點信息,存儲到寄存器P3中(步驟S40)。然后,輪廓計算模塊253, 再次返回到步驟S31的處理。在步驟S31中,當(dāng)算出的距離全部在規(guī)定值以下時(步驟S31: YES), 輪廓計算模塊253取出存儲在寄存器P3中的控制點信息,并從該控制點 信息算出工作存儲器256的描畫區(qū)域上的x坐標(biāo)值以及y坐標(biāo)值,并且根 據(jù)從始點朝向終點的方向(描畫方向),算出該始點的巻數(shù)變化量。以后 將詳述這個巻數(shù)變化量的算出處理。然后,輪廓計算模塊253將算出的坐 標(biāo)值以及巻數(shù)變化量輸出到后段的模塊即輪廓描畫模塊254中(步驟 S41)。接著,輪廓計算模塊253判斷是否存在由堆棧功能保持的控制點信息 (步驟S42)。這里,如果存在保持的控制點信息(步驟S42: YES),輪 廓計算模塊253則將存儲在寄存器P3中的控制點信息復(fù)制到寄存器PO中(步驟S43)。然后,輪廓計算模塊253順序取出由堆棧功能保持的三 個控制點信息,并分別存儲到寄存器P1、 P2、 P3中(步驟S44)。然后, 輪廓計算模塊253再次返回到步驟S31的處理,并反復(fù)進(jìn)行上述的處理。 最終在步驟S42中,當(dāng)輪廓計算模塊253判斷保持的控制點信息沒有時(步 驟S42: NO),則結(jié)束3次貝塞爾曲線分割程序。(3-5)輪廓計算模塊253的巻數(shù)變化量算出程序以下,圖11是說明輪廓計算模塊的巻數(shù)變化量算出程序的流程圖。 輪廓計算模塊253,在圖8的步驟S14、圖9的步驟S27、圖10的步驟 S41中,從存儲在寄存器P3中的控制點信息算出x坐標(biāo)值以及y坐標(biāo)值 時,將相當(dāng)于迄今為止的最小值的x坐標(biāo)值以及y坐標(biāo)值存儲在本身沒有 圖示出來的寄存器中。然后,在圖11中,輪廓計算模塊253判斷在寄存 器P3中保持的控制點信息所示的控制點的x坐標(biāo)值是否小于迄今為止存 儲在輪廓計算模塊253中的x坐標(biāo)值的最小值(步驟S51)。這里,當(dāng)寄 存器P3中保持的控制點信息的x坐標(biāo)值小于迄今為止存儲的x坐標(biāo)值的 最小值時(步驟S51: YES),輪廓計算模塊253就會把保持在寄存器P3 中的控制點信息的x坐標(biāo)值作為x坐標(biāo)值的最小值來存儲(步驟S52), 并移到步驟S55的處理。另一方面,當(dāng)寄存器P3中保持的控制點信息所示的控制點的x坐標(biāo) 值大于迄今為止存儲的x坐標(biāo)值的最小值時(步驟S51: NO),輪廓計算 模塊253判斷在寄存器P3中保持的控制點信息的x坐標(biāo)值是否大于迄今 為止存儲的x坐標(biāo)值的最大值(步驟S53)。這里,當(dāng)寄存器P3中保持的 控制點信息的x坐標(biāo)值大于迄今為止存儲的x坐標(biāo)值的最大值時(步驟 S53: YES),輪廓計算模塊253就把保持在寄存器P3中的控制點信息的 x坐標(biāo)值作為x坐標(biāo)值的最大值來存儲(步驟S54),并移到步驟S55的處 理。此外,如果不是這樣(步驟S53: NO),輪廓計算模塊253直接移到 S55的處理。接著,輪廓計算模塊253判斷在寄存器P3中保持的控制點信息的y 坐標(biāo)值是否小于迄今為止存儲在輪廓計算模塊253中的y坐標(biāo)值的最小值 (步驟S55)。這里,當(dāng)寄存器P3中保持的控制點信息的y坐標(biāo)值小于迄 今為止存儲的y坐標(biāo)值的最小值時(步驟S55: YES),輪廓計算模塊253就會將保持在寄存器P3中的控制點信息的y坐標(biāo)值作為y坐標(biāo)值的最小 值來存儲(步驟S56),并移到步驟S59的處理。另一方面,當(dāng)寄存器P3中保持的控制點信息的y坐標(biāo)值大于迄今為 止存儲的y坐標(biāo)值的最小值時(步驟S55: NO),輪廓計算模塊253判斷 在寄存器P3中保持的控制點信息的y坐標(biāo)值是否大于迄今為止存儲的y 坐標(biāo)值的最大值(步驟S57)。這里,當(dāng)寄存器P3中保持的控制點信息的 y坐標(biāo)值大于迄今為止存儲的y坐標(biāo)值的最大值時(步驟S57: YES),輪 廓計算模塊253就把保持在寄存器P3中的控制點信息的y坐標(biāo)值作為y 坐標(biāo)值的最大值來存儲(步驟S58),并移到步驟S59的處理。而如果不 是這樣(步驟S57: NO),輪廓計算模塊253直接移到S59的處理。以下,輪廓計算模塊253,對上次處理的控制點的y坐標(biāo)值與這次處 理的控制點的y坐標(biāo)值進(jìn)行比較(步驟S59),其結(jié)果,當(dāng)這次控制點的y 坐標(biāo)值大于上次控制點的y坐標(biāo)值(步驟S59:這次的大),由于這意味 著輪廓線的描畫方向為自下而上,因此輪廓計算模塊253就會將相當(dāng)于該 控制點的像素的巻數(shù)變化量設(shè)成+1 (步驟S60)。此外,當(dāng)這次控制點的y 坐標(biāo)值小于上次控制點的y坐標(biāo)值(步驟S59:上次的大),由于這意味 著輪廓線的描畫方向為自上而下,因此輪廓計算模塊253就會將相當(dāng)于其 控制點的像素的巻數(shù)變化量設(shè)成-1 (步驟S61)。另外,當(dāng)這次控制點的y 坐標(biāo)值等于上次控制點的y坐標(biāo)值(步驟S59:相等),由于這意味著輪 廓線的描畫方向為x軸方向,因此輪廓計算模塊253就會將相當(dāng)于該控制 點的像素的巻數(shù)變化量設(shè)成士O (步驟S62)。然后,輪廓計算模塊253替 換上次的y坐標(biāo)值將這次的y坐標(biāo)值作為與下一次的y坐標(biāo)值比較用,而 存儲到自身的寄存器中(步驟S63)。輪廓計算模塊253將如此求出的巻 數(shù)變化量與x坐標(biāo)值以及y坐標(biāo)值一起輸出到輪廓描畫模塊254中。 (3-6)輪廓描畫模塊254的動作輪廓描畫模塊254,在工作存儲器256上的描畫區(qū)域中,通過在與從 輪廓計算模塊253傳遞來的坐標(biāo)值相對應(yīng)的存儲地址上配置描畫色的像 素,來描畫文字的輪廓線。此時,輪廓描畫模塊254,當(dāng)在用于描畫某個 輪廓線的描畫區(qū)域上所配置的像素的位置上,已經(jīng)存在用于描畫其它輪廓 線而配置的像素的情況下,就將在這個位置上重疊的兩個像素的巻數(shù)變化量相加,并將其存儲到工作存儲器256中。這個處理中所使用的寄存器rl, 只是在輪廓描畫模塊254所具有的7個寄存器rl當(dāng)中,與經(jīng)由字形描畫 控制器252由CPU11通知的位寬相對應(yīng)的數(shù)目的寄存器。 (3-7)涂色 背景合成 轉(zhuǎn)送模塊255的動作以下,圖12是說明涂色 背景合成 轉(zhuǎn)送模塊255的涂色程序的流 程圖。在圖12中,首先,涂色 背景合成 轉(zhuǎn)送模塊255,把從輪廓計 算模塊253通知的y坐標(biāo)值的最小值代入到變量"y"中(步驟S71)。然后, 涂色 背景合成 轉(zhuǎn)送模塊255判斷變量"y"是否在從輪廓計算模塊253 通知的y坐標(biāo)值的最大值以下(步驟S72),如果是在其以下(步驟S72: YES),則將初始值'0'代入到巻數(shù)w中。接著,涂色 背景合成 轉(zhuǎn)送模塊255,把從輪廓計算模塊253通知 的x坐標(biāo)值的最小值代入到變量"x"中(步驟S74),然后,涂色 背景合 成 轉(zhuǎn)送模塊255判斷變量"x"是否在從輪廓計算模塊253通知的x坐標(biāo) 值的最大值以下(步驟S75),如果變量"x"是在x坐標(biāo)值的最大值以下(步驟S75: YES),則讀出存儲在工作存儲器256的描畫區(qū)域中的某個 像素的坐標(biāo)值和這個像素的巻數(shù)變化量(步驟S77),并寫入自身的緩沖 區(qū)(步驟S78)。然后,涂色 背景合成 轉(zhuǎn)送模塊255從已寫入緩沖區(qū) 的信息獲取巻數(shù)變化量(步驟S79),并把它加到巻數(shù)w中寫入自身的寄 存器r2 (步驟S80)。此加法 寫入處理中所使用的寄存器r2,只是在涂 色 背景合成 轉(zhuǎn)送模塊255所具有的7個寄存器r2當(dāng)中,與經(jīng)由字形 描畫控制器252從CPU11通知的位寬相對應(yīng)的數(shù)目的寄存器。接著,涂色*背景合成*轉(zhuǎn)送模塊255,判斷該相加后的結(jié)果、得到 的巻數(shù)w是否為(0,(步驟S81),如果巻數(shù)w為'0'(步驟S81: YES), 則涂色 背景合成 轉(zhuǎn)送模塊255就不進(jìn)行涂色處理,而在巻數(shù)w上加1(步驟S83),返回到步驟S75的處理。另一方面,如果巻數(shù)不是《0,(步 驟S81: NO),則涂色,背景合成,轉(zhuǎn)送模塊255就在緩沖區(qū)上的該坐標(biāo) 值的位置上配置描畫色的像素(步驟S82),并移到步驟S83的處理。然 后,涂色 背景合成 轉(zhuǎn)送模塊255在變量"x"上加1 (步驟S83),返回 到步驟S75的處理。以后,涂色'背景合成'轉(zhuǎn)送模塊255在步驟S83中,通過一邊使變量"x"的值一次一個地增加, 一邊反復(fù)地進(jìn)行步驟S75、 S77 S83的處理, 來以掃描線單位掃描工作存儲器256上的描畫區(qū)域,對位于其掃描線上的 各像素,求出指定的位寬的巻數(shù)w,并將其進(jìn)行存儲。然后,涂色,背景 合成*轉(zhuǎn)送模塊255,根據(jù)已存儲的巻數(shù)是為'0'還是其它的值,在掃 描線上特定輪廓線內(nèi)側(cè)的區(qū)間,并在特定后的區(qū)間中配置描畫色的像素, 用描畫色涂色該區(qū)域。然后,涂色*背景合成*轉(zhuǎn)送模塊255,在步驟S76 中,通過使變量"y" —次一個地增加,對工作存儲器256的描畫區(qū)域上 的全部掃描線執(zhí)行如上所述的掃描線單位的處理。由此,涂色 背景合 成,轉(zhuǎn)送模塊255對描畫區(qū)域的輪廓線內(nèi)側(cè)的區(qū)域全部用描畫色進(jìn)行涂 色。根據(jù)以上說明的實施方式,作為存儲變量(巻數(shù)變化量以及巻數(shù))的 寄存器rl 、r2的位寬是在預(yù)先準(zhǔn)備的多種位寬之中,使用由存儲在ROM12 中的程序的設(shè)計者認(rèn)為的作為上述變量的位寬是充分必要的恰當(dāng)?shù)奈粚挕?因此,與使用固定位寬的以往技術(shù)相比,可以根據(jù)字形數(shù)據(jù)的特性靈活地 變更位寬。這樣,由于使用充分必要的位寬作為變量的位寬,所以對工作存儲器 的使用沒有浪費,其使用效率得以提高。例如,在工作存儲器256存放不 下的大數(shù)據(jù)量的字形數(shù)據(jù)的情況下,是把這個字形數(shù)據(jù)分割成多個塊進(jìn)行 處理,但是,根據(jù)本實施方式,由于對工作存儲器256的使用沒有浪費, 大數(shù)據(jù)量的字形數(shù)據(jù)不用分割也可以進(jìn)行描畫。而且,當(dāng)變量(巻數(shù)變化量以及巻數(shù))的位寬為l位時,該變量的取 值成為兩種,這與偶奇法(奇偶判別法)是一樣的。即,根據(jù)本實施方式, 當(dāng)作為變量的位寬指定為1位時,可以實現(xiàn)偶奇法(奇偶判別法)的涂色, 當(dāng)變量的位寬指定為3位或者7位時,可以實現(xiàn)非零繞數(shù)法(非零涂色方 法)的涂色。(4)變形例上述實施方式的內(nèi)容也可以進(jìn)行如下的變形。 (4-l)變形例1輪廓計算模塊253,可以由進(jìn)行圖13所示的處理來取代圖7 9的處 理。這個圖13的處理,是以3次貝塞爾曲線的分割處理來共用所有直線、2次曲線以及3次曲線的分割處理的方法。這樣一來,可以減少字形處理 器25 (特別是輪廓計算模塊253)的安裝面積。在圖13中,輪廓計算模塊253按照其控制點編號由小到大的順序依 次接受包含在字形數(shù)據(jù)中的控制點信息。輪廓計算模塊253在接受到的控 制點信息中,取出控制點編號最小的位于曲線上控制點的控制點信息來作 為成為始點的位于曲線上控制點的控制點信息,此外,取出僅次于上述最 小的控制點編號小的位于曲線上控制點的控制點信息作為成為終點的位 于曲線上控制點的控制點信息。然后,輪廓計算模塊253把成為始點的位 于曲線上控制點的控制點信息存儲到4個寄存器P0 P3之中的寄存器P0 中,并把成為終點的位于曲線上控制點的控制點信息存儲到寄存器P3 (步 驟S91)。接著,輪廓計算模塊253對上述始點和終點的位于曲線上控制點之間 的直線或者貝塞爾曲線的種類進(jìn)行判定(步驟S92)。如果它為直線時(步 驟S92:直線),輪廓計算模塊253就把存儲在寄存器P0中的控制點信息 復(fù)制到寄存器P1并存儲(步驟S93)。接著,輪廓計算模塊253把存儲在 寄存器P3中的控制點信息復(fù)制到寄存器P2并存儲(步驟S94)。而且,在步驟92的判定中,如果判定為2次貝塞爾曲線(步驟S92: 2次貝塞爾曲線),輪廓計算模塊253就把處于始點與終點之間的位于曲 線上控制點的控制點信息存儲到寄存器P1中(步驟S96)。然后,輪廓計 算模塊253對存儲在寄存器Pl中的控制點信息作乘2的運算,再加上存 儲在寄存器P3中的控制點信息,再用它除以3,并將其存儲到寄存器P2 中(步驟S97)。進(jìn)而,輪廓計算模塊253對存儲在寄存器P1中的控制點 信息作乘2的運算,再加上存儲在寄存器PO中的控制點信息,再用它除 以3,并將其存儲到寄存器P1中(步驟S98)。而且,在步驟S92的判定中,當(dāng)判定為3次貝塞爾曲線時(步驟S92: 3次貝塞爾曲線),輪廓計算模塊253把位于始點與終點之間的位于曲線 上控制點之中,控制點編號小的位于曲線上控制點的控制點信息存儲到寄 存器P1中,把控制點編號大的位于曲線上控制點存儲到寄存器P2中(步 驟S99)。然后,輪廓計算模塊253, 一旦結(jié)束步驟S94、步驟S98、步驟 S99的任一處理,就執(zhí)行前述圖10的3次貝塞爾曲線的分割程序(步驟95)。這樣一來,就可以全部由3次貝塞爾曲線的分割處理來進(jìn)行直線、2 次貝塞爾曲線以及3次貝塞爾的分割處理。 (4-2)變形例2當(dāng)輪廓計算模塊253根據(jù)字形數(shù)據(jù)對工作存儲器256的描畫區(qū)域中的 輪廓線位置進(jìn)行計算,且輪廓描畫模塊254根據(jù)其計算后的位置進(jìn)行輪廓 線的描畫時,有時其輪廓線會從描畫區(qū)域的邊緣多出來。在此,輪廓描畫模塊254在根據(jù)計算后的位置進(jìn)行輪廓線描畫時,要 判斷該輪廓線是否會從描畫區(qū)域的邊緣多出來。那么,當(dāng)其判斷結(jié)果,輪 廓線朝從描畫區(qū)域的掃描線延伸的方向多出時,輪廓描畫模塊254就把多 出來的輪廓線的位置作為描畫區(qū)域的邊緣位置。而且,當(dāng)上述判斷結(jié)果, 輪廓線從與描畫區(qū)域的掃描線延伸的方向正交的方向多出時,輪廓描畫模 塊254就刪除多出來的輪廓線。這里,圖14是對這個變形例2的處理進(jìn)行示例的圖。如圖14所示,當(dāng)在描畫區(qū)域al描畫了 'A'這個文字時,由點線所 示的輪廓線12、 13,在描畫區(qū)域al的掃描方向(x軸方向)上多出來。 此時,輪廓描畫模塊254,在多出來的輪廓線12、 13的位置的坐標(biāo)之中, 將x坐標(biāo)值原樣不變,而將y坐標(biāo)值作為相當(dāng)于描畫區(qū)域邊緣的y坐標(biāo)值。 由此,輪廓線12、 13成為由實線表示的輪廓線121、 131。另一方面,輪 廓ll在與描畫區(qū)域al的掃描方向正交的方向(y軸方向)上多出。此時, 輪廓描畫模塊254就刪除多出來的輪廓線。由此,輪廓線ll就消失了, 但是,由于掃描方向為x軸方向,涂色*背景合成,轉(zhuǎn)送模塊255不管有 沒有這個輪廓線11,都可以對A這個文字的輪廓線內(nèi)側(cè)進(jìn)行涂色。由此,在根據(jù)字形數(shù)據(jù)來計算描畫區(qū)域上的輪廓線的位置,并根據(jù)計 算后的位置來描畫了輪廓線的情況下,即使該輪廓線從描畫區(qū)域的邊緣多 出來,也能涂色該輪廓線的內(nèi)側(cè)區(qū)域。 (4-3)變形例3如實施方式中說明的那樣,即使是程序設(shè)計者認(rèn)為是恰當(dāng)?shù)奈粚?,?廓計算模塊254以及涂色*背景合成,轉(zhuǎn)送模塊255在求巻數(shù)變化量以及 巻數(shù)時,也可能會溢出該位寬。在這種情況下,以往是進(jìn)行停止處理等的錯誤處理,但是這樣一來,就會出現(xiàn)不希望的描畫處理被停滯的情況。因此,輪廓描畫模塊254以及涂色*背景合成*轉(zhuǎn)送模塊255,在變量(巻 數(shù)變化量或巻數(shù))溢出指定的數(shù)據(jù)量時,就進(jìn)行把該變量的值歸零('0') 的環(huán)繞式(wraparound)處理并繼續(xù)進(jìn)行處理。這種情況下,可以不必停 止描畫處理,但是巻數(shù)成為沒有預(yù)料的'0',有時會發(fā)生輪廓線內(nèi)側(cè)的一 部分區(qū)域沒有涂色的情形。但是由于變量溢出數(shù)據(jù)量的區(qū)域只是很微少的 區(qū)域,因此不會造成畫質(zhì)缺陷等的大問題。另外,變量位寬的種類,并不限定于實施方式所述的1位、3位以及 7位,也可以是其它的位寬,而且其種類也可以是3種以外。 (4-4)變形例4在實施方式中,對于輪廓描畫模塊254求出巻數(shù)變化量時的寄存器rl 的位寬和涂色 背景合成 轉(zhuǎn)送模塊255求出巻數(shù)時的寄存器r2的位寬 分別進(jìn)行了指定。但是,巻數(shù)變化量和巻數(shù),作為寄存器的位寬,從以何 種程度來準(zhǔn)備這個觀點來看,由于是同種的變量,所以也可同時或一體地 指定巻數(shù)變化量和巻數(shù)。 (4-5)變形例5在實施方式中,指示巻數(shù)的數(shù)據(jù)量的指示信息被記述在程序中,字形 描畫控制器252從CPU11接受該指示信息,并將指示信息所指示的數(shù)據(jù) 量作為巻數(shù)的數(shù)據(jù)量來進(jìn)行了指定。這也可以做如下的變形。例如,在字形數(shù)據(jù)中,包含有指示巻數(shù)的數(shù)據(jù)量的指示信息,字形描 畫控制器252也可以將包含在字形數(shù)據(jù)中的指示信息所指示的數(shù)據(jù)量作 為巻數(shù)的數(shù)據(jù)量來進(jìn)行指定。這樣,字形數(shù)據(jù)的設(shè)計者就可以任意地指定 巻數(shù)的位寬。而且,也可以由用戶進(jìn)行鍵22等操作部的操作來指示巻數(shù)的數(shù)據(jù)量, 字形描畫控制器252,將指示的數(shù)據(jù)量作為巻數(shù)的數(shù)據(jù)量來指定。這樣, 用戶可以任意地指定巻數(shù)的位寬。 (4-6)變形例6可以把工作存儲器256分割成多個工作存儲器,成為可以由不同的模 塊進(jìn)行獨立訪問的結(jié)構(gòu),這樣,通過交互地使用這些多個工作存儲器,就 可以謀求處理的高速化。而且,在上述的實施方式中,輪廓計算模塊253、輪廓描畫模塊254、涂色 背景合成 轉(zhuǎn)送模塊255是各自獨立的模塊, 但是也可以取而代之,采用一種實現(xiàn)同樣功能的專用模塊。 (4-7)變形例7在上述的實施方式中,對將涂色在輪廓線內(nèi)側(cè)的文字圖像顯示到存儲 性液晶顯示體15上的情況進(jìn)行了說明,但是,只要是輸出涂色結(jié)果的什 么都可以。例如,可以是把圖像印刷到記錄用紙上的構(gòu)成。即,可以把實 施方式中的顯示控制裝置16置換成印刷控制裝置,存儲性液晶顯示體15 置換成印刷部的構(gòu)成。印刷控制部對印刷部進(jìn)行控制,控制它把圖像印刷 到用紙上。印刷部采用熱復(fù)寫方式或噴墨方式等把圖像印刷到記錄用紙 上。具體而言,例如把相當(dāng)于印刷一張記錄紙的文字的圖像數(shù)據(jù)寫入到 VRAM14上。然后,CPU11接受轉(zhuǎn)送信號,把保存在VRAM14中的圖像數(shù)據(jù)所示的圖像轉(zhuǎn)送到印刷控制部并指示圖像的印刷。根據(jù)該指示,印刷 控制部讓印刷部把轉(zhuǎn)送來的圖像數(shù)據(jù)所示的文字印刷出來。總之,只要是具備字形處理器25和把由該字形處理器25以描畫色將 輪廓線的內(nèi)側(cè)區(qū)域涂色的結(jié)果作為文字圖像輸出的輸出單元的圖像輸出 裝置,都可適用本發(fā)明。 (4-8)變形例8在上述的實施方式中,對描畫的文字為'口'、 'D'的情況進(jìn)行了說 明,但該'文字,可以是平假名、片假名、漢字等的日本語,也可以是外 語的字母等。而且,文字也包含'+'、'-'等記號、圓或多邊形等圖形。 也就是,只要是取得字形數(shù)據(jù),并根據(jù)這些數(shù)據(jù)來描畫文字,都可適用本 發(fā)明。(4-9)變形例9本發(fā)明的描畫裝置或者圖像輸出裝置,例如也可以適用于單個的個人 計算機(jī),而且也可以適用于例如像PDA (Personal Digital Assistants)那樣的平板型計算機(jī)。而且,能夠以記錄于磁帶、磁盤、軟盤(注冊商標(biāo))、 光記錄介質(zhì)、光磁記錄介質(zhì)、CD(Compact Disk)、 DVD(Digital Versatile Disk)、 RAM等記錄介質(zhì)中的狀態(tài)來提供記述了上述的各流程圖所示的處 理步驟的程序、字形數(shù)據(jù)(周線數(shù)據(jù))。此外,在實施方式中,輪廓計算模塊253、輪廓描畫模塊254、涂色*背景合成,轉(zhuǎn)送模塊255分別由不同的硬件來實現(xiàn),但是它們的一部分或者 全部也都可以作為CPU11執(zhí)行的軟件的功能來實現(xiàn)。也就是,如下所述 的一些功能,都可以編成驅(qū)使計算機(jī)運行的程序而成為構(gòu)成本發(fā)明的程序,它們是輪廓描畫單元,其根據(jù)文字的輪廓數(shù)據(jù)在描畫區(qū)域上描畫文 字的輪廓線;指定單元,其當(dāng)沿著規(guī)定的掃描線對描畫了前述輪廓線的前 述描畫區(qū)域進(jìn)行掃描時,對根據(jù)該輪廓線的描畫方向增減的巻數(shù)的數(shù)據(jù)量 進(jìn)行指定;巻數(shù)存儲單元,其以前述掃描線單位對描畫了前述輪廓線的前 述描畫區(qū)域進(jìn)行掃描,對位于各個前述掃描線上的各像素,求出由前述指 定單元所指定的數(shù)據(jù)量的巻數(shù)并進(jìn)行存儲;涂色單元,其根據(jù)由前述巻數(shù) 存儲單元存儲的巻數(shù)特定前述描畫區(qū)域的前述輪廓線的內(nèi)側(cè)區(qū)域,并在特 定后的區(qū)域中配置描畫色的像素,而后以描畫色對該區(qū)域進(jìn)行涂色。
權(quán)利要求
1.一種描畫裝置,其特征為,具備輪廓描畫單元,其根據(jù)文字的輪廓數(shù)據(jù)在描畫區(qū)域描畫文字的輪廓線;指定單元,其當(dāng)沿著規(guī)定的掃描線對描畫了前述輪廓線的前述描畫區(qū)域進(jìn)行掃描時,對根據(jù)該輪廓線的描畫方向進(jìn)行增減的變量的數(shù)據(jù)量進(jìn)行指定;變量存儲單元,其以前述掃描線單位對描畫了前述輪廓線的前述描畫區(qū)域進(jìn)行掃描,對位于各個前述掃描線上的各像素,求出由前述指定單元指定的數(shù)據(jù)量的變量,進(jìn)行存儲;和涂色單元,其根據(jù)由前述變量存儲單元存儲的變量,特定前述描畫區(qū)域的前述輪廓線的內(nèi)側(cè)的區(qū)域,并在特定后的區(qū)域配置描畫色的像素,以描畫色對該區(qū)域進(jìn)行涂色。
2. 如權(quán)利要求l所述的描畫裝置,其特征為, 前述變量存儲單元,當(dāng)前述變量溢出了由前述指定單元所指定的數(shù)據(jù)量時,進(jìn)行將該變量 值歸零的環(huán)繞處理來求出前述變量。
3. 如權(quán)利要求l所述的描畫裝置,其特征為, 前述輪廓描畫單元,當(dāng)根據(jù)基于文字的輪廓數(shù)據(jù)而計算出的輪廓線的位置來在前述描畫 區(qū)域描畫前述輪廓線時,判斷該輪廓線是否從前述描畫區(qū)域的邊緣多出,當(dāng)前述的判斷結(jié)果,前述輪廓線是在前述描畫區(qū)域的前述掃描線延伸 的方向上多出時,則將多出的輪廓線的位置作為前述描畫區(qū)域的邊緣的 位置,當(dāng)前述的判斷結(jié)果,前述輪廓線是在與前述描畫區(qū)域的前述掃描線延 伸的方向正交的方向上多出時,則除去多出的輪廓線。
4. 如權(quán)利要求l所述的描畫裝置,其特征為, 指示變量的數(shù)據(jù)量的指示信息被記述在程序中,前述指定單元,將記述在前述程序中的指示信息所指示的數(shù)據(jù)量作為前述變量的數(shù)據(jù)量來進(jìn)行指定。
5. 如權(quán)利要求l所述的描畫裝置,其特征為, 在前述輪廓數(shù)據(jù)中,包含有對變量的數(shù)據(jù)量進(jìn)行指示的指示信息, 前述指定單元,將包含在前述輪廓數(shù)據(jù)中的指示信息所指示的數(shù)據(jù)量,作為前述變量的數(shù)據(jù)量來進(jìn)行指定。
6. 如權(quán)利要求l所述的描畫裝置,其特征為前述指定單元,將由用戶的操作所指示的數(shù)據(jù)量,作為前述變量的數(shù) 據(jù)量來進(jìn)行指定。
7. —種圖像輸出裝置,其特征為,具備 權(quán)利要求1 6的任一項所述的描畫裝置;以及輸出單元,其將由前述描畫裝置的前述涂色單元以描畫色進(jìn)行涂色后的結(jié)果作為文字圖像來進(jìn)行輸出。
8. —種程序,可驅(qū)使計算機(jī)完成如下功能輪廓描畫單元,根據(jù)文字的輪廓數(shù)據(jù)在描畫區(qū)域描畫文字的輪廓線; 指定單元,當(dāng)沿著規(guī)定的掃描線對描畫了前述輪廓線的前述描畫區(qū)域 進(jìn)行掃描時,對根據(jù)該輪廓線的描畫方向進(jìn)行增減的變量的數(shù)據(jù)量進(jìn)行指定;變量存儲單元,以前述掃描線單位對描畫了前述輪廓線的前述描畫區(qū) 域進(jìn)行掃描,對位于各個前述掃描線上的各像素,求出由前述指定單元指 定的數(shù)據(jù)量的變量,進(jìn)行存儲;和涂色單元,根據(jù)由前述變量存儲單元存儲的變量,特定前述描畫區(qū)域 的前述輪廓線的內(nèi)側(cè)的區(qū)域,并在特定后的區(qū)域中配置描畫色的像素,以 描畫色對該區(qū)域進(jìn)行涂色。
全文摘要
本發(fā)明提供一種采用恰當(dāng)?shù)臄?shù)據(jù)量的卷數(shù)對文字輪廓線的內(nèi)側(cè)區(qū)域進(jìn)行涂色處理的裝置。涂色·背景合成·轉(zhuǎn)送模塊(255),具備用于對描畫區(qū)域的各像素的卷數(shù)w進(jìn)行存儲的7個寄存器,一個寄存器保持1位的值。即涂色·背景合成·轉(zhuǎn)送模塊(255)最大可存儲7位的卷數(shù)w。但是,這些寄存器之中,作為卷數(shù)變化量乃至卷數(shù)位寬,使用的是ROM(12)中存儲的程序的設(shè)計者認(rèn)為作為卷數(shù)變化量或卷數(shù)的位寬是恰當(dāng)?shù)募拇嫫?。因此,與使用固定位寬的現(xiàn)有技術(shù)相比,可以根據(jù)字形數(shù)據(jù)的特性而靈活地變更位寬。描畫裝置、圖象輸出裝置及程序。
文檔編號G09G5/22GK101404089SQ20081016891
公開日2009年4月8日 申請日期2008年9月27日 優(yōu)先權(quán)日2007年10月4日
發(fā)明者小野義之, 齋藤明, 澤崎高 申請人:精工愛普生株式會社