專利名稱:高速產(chǎn)生傾斜字和任意角度旋轉(zhuǎn)字的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于漢字信息處理技術(shù)領(lǐng)域。
在歐洲專利EP0095536中我們用輪廓向量形式的壓縮信息來(lái)表示字形,這樣在作傾斜和旋轉(zhuǎn)時(shí),只要計(jì)算出向量節(jié)點(diǎn)傾斜和旋轉(zhuǎn)后的坐標(biāo),便能得到傾斜和旋轉(zhuǎn)后的字形的輪廓折線表示,然后按EP0095536的復(fù)原步驟把輪廓向量轉(zhuǎn)換成標(biāo)記點(diǎn)陣和最終點(diǎn)陣。這一原理不難想到,但在實(shí)際上有一系列的問(wèn)題需要解決。
1.傾斜后的節(jié)點(diǎn)坐標(biāo)的計(jì)算公式假定左傾和右傾都以字的左上角為支點(diǎn),如圖2所示。傾斜前的點(diǎn)記為A點(diǎn)(x,y),傾斜后的點(diǎn)記為A′點(diǎn)(x′,y′);傾斜角度為θ,則(x′,y′)與(x,y)有下述關(guān)系(1)左傾時(shí)x′=x+tanθ·yy′=y(tǒng)(2)右傾時(shí)x′=x-tanθ·yy′=y(tǒng)實(shí)際應(yīng)用中,θ>45°就沒有什么意義,因字形傾斜程度過(guò)大將變得很難看。θ取整數(shù)就夠了,這樣θ值的種類是不多的,僅十幾種或幾十種,我們可以把各種θ值對(duì)應(yīng)的tanθ事先算好,放在一個(gè)E-PROM(或PROM,或ROM)內(nèi)(稱為GC,見圖1的〔25〕),然后查表獲得,這樣可以減少操作,提高速度。
2.旋轉(zhuǎn)后的節(jié)點(diǎn)坐標(biāo)的計(jì)算公式假定旋轉(zhuǎn)以字的左上角為支點(diǎn),順時(shí)針?lè)较蛐D(zhuǎn),旋轉(zhuǎn)角度為θ,取整數(shù),0≤θ≤360°,如圖3所示(注意y軸向下,而不是習(xí)慣的向上),則旋轉(zhuǎn)后的一點(diǎn)的坐標(biāo)(x′,y′)與旋轉(zhuǎn)前的坐標(biāo)(x,y)有下述關(guān)系x′=xcosθ-ysinθy′=xsinθ+ycosθ為了加快速度,可以把360個(gè)θ對(duì)應(yīng)的sinθ,cosθ都事先算好,存在GC中,然后查表獲得。為了減少GC的容量,實(shí)際上只需存0≤θ<90共90個(gè)θ值所對(duì)應(yīng)的sinθ值就行了。其他θ對(duì)應(yīng)的sinθ,和所有的cosθ都可以換算得到。例如若90≤θ<180,,則sinθ=sin(180-θ),而180-θ現(xiàn)在在〔0,90)范圍內(nèi),可以查表得到;例如cosθ=sin(90+θ)。依靠這些替換公式,可以減少所需的GC單元。
GC〔25〕是一只讀存儲(chǔ)器,接受Am29116來(lái)的地址,查表結(jié)果輸出到Am29116。為了控制GC讀出,譯碼器DSDecoder〔11〕需增加向GC〔25〕發(fā)GCOE信號(hào)的輸出通路。
上述1,2兩點(diǎn)的原理很簡(jiǎn)單。本發(fā)明的關(guān)鍵在于如何高速度實(shí)現(xiàn)字形的傾斜和旋轉(zhuǎn),以及如何保證文字質(zhì)量,這是下面需要詳細(xì)敘述的。
3.必須先對(duì)向量節(jié)點(diǎn)進(jìn)行變大變小的變倍,然后再計(jì)算節(jié)點(diǎn)傾斜和旋轉(zhuǎn)后的x,y坐標(biāo)。
EP0095536第11頁(yè)的下半部敘述了字形變倍方法,區(qū)分規(guī)則筆劃和不規(guī)則筆劃兩種情況,并采取不同的變倍方法以保證質(zhì)量。宋體橫的變倍采用EP0095536第11頁(yè)第43~46行的(a)是十分重要的,決不能采用(b),在專利85100285中變倍是通過(guò)訪問(wèn)PROMAT〔10〕實(shí)現(xiàn)的。另外,旋轉(zhuǎn)90°,180°,270°是最常見的,必須保證這幾種情況下宋體橫、豎變倍后寬度的勻稱性。采用先變倍再旋轉(zhuǎn)的做法能確保文字質(zhì)量。
4.傾斜和旋轉(zhuǎn)后向量的△x,△y值計(jì)算傾斜和旋轉(zhuǎn)前,并且尚未變倍(變大或變小)的向量記作EF,其增量記為△x,△y;變倍而且傾斜和旋轉(zhuǎn)后的向量記作E′F′,其增量記為△x′,△y′;E點(diǎn)的坐標(biāo)記為(xE,yE);F點(diǎn)坐標(biāo)記為(xF,yF);E′點(diǎn)坐標(biāo)記為(x′E,y′E);F′點(diǎn)坐標(biāo)記為x′F,y′F)。這里E點(diǎn)和E′點(diǎn)的坐標(biāo)均在29116的快速RAM寄存器中存放。△x′,△y′的計(jì)算步驟如下(1)xF=xE+△x;yF=y(tǒng)E+△y(2)對(duì)xF,yF進(jìn)行變倍,根據(jù)當(dāng)前字號(hào)查變倍表(AT),得到變倍后的值,記作x*F,y*F(3)把x*F,y*F作為x,y代入前面1所述的公式,得到傾斜或旋轉(zhuǎn)后的值x′F,y′F(4)由于E′點(diǎn)的坐標(biāo)已經(jīng)保存,因此△x′=x′F-x′E,△′y=y(tǒng)′F-y′E,然后F′點(diǎn)的坐標(biāo)又作為下一向量的始點(diǎn)在29116RAM中保存。
一個(gè)筆劃(封閉曲線)的起始點(diǎn)在變倍、傾斜和旋轉(zhuǎn)后的坐標(biāo),記作(x′be,y′be),只需作上述(2)(3)步即能得到。
5.坐標(biāo)原點(diǎn)(即漢字左上角)在標(biāo)記點(diǎn)陣存儲(chǔ)器WS[7]中的x方向和y方向平移值的計(jì)算歐洲專利EP0095536提出了標(biāo)記點(diǎn)陣的形式,以及如何把字形壓縮信息復(fù)原成標(biāo)記點(diǎn)陣,再把標(biāo)記點(diǎn)陣復(fù)原成最終點(diǎn)陣的方法。中國(guó)專利CN85100285給出了一個(gè)具體實(shí)現(xiàn)。
需要注意,當(dāng)沒有傾斜和旋轉(zhuǎn)時(shí),漢字左上角永遠(yuǎn)對(duì)應(yīng)標(biāo)記點(diǎn)陣WS的0地址;現(xiàn)在情況不同了,根據(jù)上述1和2,x′,y′可能變負(fù),而WS地址是不許負(fù)值的,x和y也不許負(fù)值,否則產(chǎn)生的ws地址不正確。因此新的ws0地址應(yīng)對(duì)準(zhǔn)x′min,y′min,這里x′min指的是傾斜和旋轉(zhuǎn)后x坐標(biāo)的最小值,y′min指的是傾斜和旋轉(zhuǎn)后y坐標(biāo)的最小值。
如何計(jì)算x′min,y′min?一個(gè)最簡(jiǎn)單的辦法是在生成每個(gè)漢字前,根據(jù)當(dāng)前的字號(hào),算出下面三個(gè)點(diǎn)先變倍,再傾斜和旋轉(zhuǎn)以后的坐標(biāo)值。這三個(gè)點(diǎn)是①漢字右上角,即圖4的B點(diǎn);
②漢字右下角,即圖4的C點(diǎn);
③漢字左下角,即圖4的D點(diǎn)。
這三點(diǎn)的坐標(biāo)值是由當(dāng)前字號(hào)唯一確定的,他們對(duì)應(yīng)的變倍、且傾斜和旋轉(zhuǎn)后的坐標(biāo)值稱為x′B,y′B;x′C,y′C;x′D,y′D。
于是x′min=min(0,x′B,x′C,x′D)y′min=min(0,y′B,y′C,y′D)顯然,x′min≤0,y′min≤0。我們?cè)谏擅總€(gè)漢字前,把|x′min|,|y′min|算出并存放在Am29116〔1〕或SS〔4〕中的工作單元暫存。以后在計(jì)算每個(gè)向量節(jié)點(diǎn)傾斜和變倍后的坐標(biāo)時(shí),都要把按前面1,2得到的x′和y′(可能為負(fù)),分別加上|x′min|和|y′min|,結(jié)果坐標(biāo)≥0,保證x和y≥0,能夠得到正確的WS地址。
實(shí)際上,并不需要對(duì)每個(gè)節(jié)點(diǎn)傾斜和旋轉(zhuǎn)后的坐標(biāo)作上述修正,只需對(duì)一個(gè)筆劃(即封閉曲線)的始點(diǎn)的傾斜和旋轉(zhuǎn)后的坐標(biāo)作一次修正,x′be+|x′min|,y′be+|y′min|,并送入x,y計(jì)數(shù)器〔8-1〕,〔8-2〕中就行了。因?yàn)橐院笥玫降氖窍蛄績(jī)A斜和旋轉(zhuǎn)后對(duì)應(yīng)的△x,△y值,記為△x′△y′△x′=|向量終點(diǎn)傾斜和旋轉(zhuǎn)后的x坐標(biāo)-向量始點(diǎn)傾斜和旋轉(zhuǎn)后的x坐標(biāo)|△y′=|向量終點(diǎn)傾斜和旋轉(zhuǎn)后的y坐標(biāo)-向量始點(diǎn)傾斜和旋轉(zhuǎn)后的y坐標(biāo)|上面減法的兩個(gè)分量可以是負(fù)值,沒有必要對(duì)這兩個(gè)分量作|x′min|和|y′min|的修正,因?yàn)樾拚虿恍拚?,得到的△x和△y是完全一樣的。
基于上述討論,我們只對(duì)筆劃始點(diǎn)作上述修正。
x′min和y′min的計(jì)算還可以優(yōu)化,并不需要每次都算出x′B,x′C,x′D,y′B,y′C,y′D,然后進(jìn)行比較。
例如當(dāng)旋轉(zhuǎn)角θ<90°時(shí),x′min=x′D,y′min=0;
例如當(dāng)旋轉(zhuǎn)角θ在〔270,360)范圍內(nèi)時(shí),x′min=0,y′min=y(tǒng)′B。
6.標(biāo)記點(diǎn)陣存儲(chǔ)器WS〔7〕中x方向和y方向最大點(diǎn)數(shù)的計(jì)算CN85100285第22頁(yè)指出,需把x方向最大點(diǎn)數(shù)除以4送入x計(jì)數(shù)器,此數(shù)將用于全等比較,產(chǎn)生END電位。
現(xiàn)在x方向和y方向最大點(diǎn)數(shù)將作下述修正x方向最大點(diǎn)數(shù)=x′max-x′miny方向最大點(diǎn)數(shù)=y(tǒng)′max-y′min這里x′max=max(0,x′B,x′C,x′D)y′max=max(0,y′B,y′C,y′D)y方向最大點(diǎn)數(shù)將用于控制WS中有多少線的標(biāo)記點(diǎn)陣需要轉(zhuǎn)換成最終點(diǎn)陣。
7.計(jì)算WS0地址對(duì)應(yīng)的SS掃描緩沖區(qū)地址軟件給出每個(gè)漢字左上角在書或報(bào)紙版面上的x,y坐標(biāo),漢字字形發(fā)生器和掃描控制器將根據(jù)軟件給出的這一坐標(biāo),計(jì)算出漢字左上角對(duì)應(yīng)的SS掃描緩沖區(qū)地址。
當(dāng)沒有傾斜和旋轉(zhuǎn)時(shí),漢字左上角(即WS0地址)對(duì)應(yīng)的SS掃描緩沖區(qū)地址=y(tǒng)×掃描一線所占單元數(shù)+SS掃描緩沖區(qū)始址+(x÷16后取整數(shù))上述公式中,掃描一線所占單元數(shù)由版面是4開,8開還是16開所決定,SS掃描緩沖區(qū)始址一般是一常數(shù)。
當(dāng)有傾斜和旋轉(zhuǎn)時(shí),軟件給出的仍是該漢字傾斜和旋轉(zhuǎn)前左上角在版面上的x,y坐標(biāo),但現(xiàn)在WS0地址對(duì)應(yīng)的是(x′min,y′min)點(diǎn)。在把標(biāo)記點(diǎn)陣轉(zhuǎn)換成最終點(diǎn)陣并送入SS掃描緩沖區(qū)時(shí),需要的是(x′min,y′min)點(diǎn)在版面上的x,y坐標(biāo),我們稱為x′,y′??梢杂孟率龉接?jì)算x′,y′x′=x-|x′min|y′=y(tǒng)-|y′min|現(xiàn)在,(x′min,y′min)點(diǎn),也即WS0地址,對(duì)應(yīng)的SS掃描緩沖區(qū)地址=y(tǒng)′×掃描-線所占單元數(shù)+ss掃描緩沖區(qū)始址+(x′÷16后取整數(shù))8.對(duì)旋轉(zhuǎn)90°,180°,270°這三種情況作判別和加速處理在電子出版系統(tǒng)中,經(jīng)常要求讓一個(gè)子版面旋轉(zhuǎn)90°,例如用一張A4紙出兩頁(yè)32開版面,此時(shí)要求兩頁(yè)32開版面均旋轉(zhuǎn)90°;有時(shí)表格橫向很寬,豎向較窄,旋轉(zhuǎn)90°后可以在A4紙上輸出。這類旋轉(zhuǎn)要求速度很高,應(yīng)和不旋轉(zhuǎn)時(shí)速度相關(guān)不多。本發(fā)明采取下述辦法(1)在Am29116〔1〕或其他微處理機(jī)某個(gè)快速RAM單元中辟出兩位,表示下列四種情況
①子版面不旋轉(zhuǎn);
②子版面作90°旋轉(zhuǎn);
③子版面作180°旋轉(zhuǎn);
④子版面作270°旋轉(zhuǎn)。
(2)在Am29116〔1〕或其他微處理機(jī)RAM單元(最好是快速RAM)中有若干位表示當(dāng)前漢字是否有傾斜或有非90°,非180°,非270°的旋轉(zhuǎn)。
(3)當(dāng)單純地旋轉(zhuǎn)90°,180°,270°時(shí),直接從傾斜和旋轉(zhuǎn)前的向量EF的△x,△y,得到傾斜和旋轉(zhuǎn)后的向量E′F′的△x′,△y′。
用Xs,Ys表示EF所處象限(見CN85100285第12頁(yè)的定義),用X′s,Y′s表示E′F′所處象限,有下列關(guān)系。
①旋轉(zhuǎn)90°時(shí)|△x′|=|△y||△y′|=|△x|Xs′,Ys′與Xs,Ys的關(guān)系如下XsYsXs′ Ys′0010010010111101②旋轉(zhuǎn)270°時(shí)|△x′|=|△y||△y′|=|△x|Xs′,Ys′與Xs,Ys的關(guān)系如下
XsYsXs′ Ys′0001011110001110③旋轉(zhuǎn)180°時(shí)|△x′|=|△x||△y′|=|△y|x′s=Xsy′s=y(tǒng)s上述運(yùn)算十分簡(jiǎn)單,速度很高,無(wú)須乘法運(yùn)算。這里關(guān)鍵是要有(2)所述的判別。還需要強(qiáng)調(diào),本發(fā)明說(shuō)明書3所述的‘先變倍,后旋轉(zhuǎn)’的方法結(jié)合這里所述的|△x′|和|△y′|計(jì)算方法確保了小字在旋轉(zhuǎn)90°,270°時(shí)在筆劃寬度方面沒有絲毫失真,與不旋轉(zhuǎn)時(shí)的質(zhì)量完全相同,這是很重要的。另外,對(duì)90°,180°,270°這三種特殊情況,x′min,y′min,x和y方向最大點(diǎn)數(shù)的計(jì)算可以大大簡(jiǎn)化。
9.使旋轉(zhuǎn)和傾斜和處理絲毫不影響“無(wú)旋轉(zhuǎn),無(wú)傾斜”這種最常見情況的處理速度的方法在CN85100285圖1上增加一個(gè)觸發(fā)器IR0〔14〕和Am29116→IR0的傳送,IR0實(shí)際上是四位的IR中的一位,IR還有其他用途。IR0的輸出接到CCS〔11〕的輸入,也即IR0也是CC的來(lái)源之一,Am2910可以檢測(cè)IR0的狀態(tài)。4位IR實(shí)際上在中國(guó)專利申請(qǐng)89101483.7“一種適合單路和多路掃描的照排機(jī)輸出正陽(yáng)、正陰、反陽(yáng)、反陰圖的控制設(shè)備”中已提到過(guò)。
在生成一個(gè)漢字點(diǎn)陣之前,置好IR0的狀態(tài)如下
當(dāng)無(wú)傾斜、無(wú)旋轉(zhuǎn),也沒有子版面90°,180°,270°的旋轉(zhuǎn)時(shí),IR0=0;其余情況IR0=1。
CN85100285第13頁(yè)已指出,Am29116,Am2910與外加邏輯電路是平行工作的。
因此,Am2910的下列操作“檢查IR0,若IR0=1則轉(zhuǎn)<根據(jù)△x,△y計(jì)算傾斜和旋轉(zhuǎn)時(shí)的△x′,△y′>;若IR0=0則繼續(xù)”可以很容易地加在某個(gè)地方,而不需要任何附加的判別拍節(jié),現(xiàn)在我們把這一Am2910操作加在剛剛得到△x,△y時(shí)的那條指令上,本來(lái)那條指令上Am2910的操作是“繼續(xù)下條”,現(xiàn)改成上述操作。
當(dāng)IR0=0時(shí),繼續(xù)下條;當(dāng)IR0=1轉(zhuǎn)向<根據(jù)△x,△y計(jì)算傾斜和旋轉(zhuǎn)時(shí)的△x′,△y′>,該程序入口時(shí)首先判是否只有單純的90°,180°,270°旋轉(zhuǎn),若是,則作上面6所述的快速處理后即返回;若不是,才按照本發(fā)明說(shuō)明書1,2所述,作比較復(fù)雜的計(jì)算。這種做法,對(duì)于IR0=0這種最最常見的情況,并未增加任何拍節(jié),速度絲毫不受判別和傾斜、旋轉(zhuǎn)處理的影響。
我們?cè)谥袊?guó)專利85103268“高分辨率字形高速旋轉(zhuǎn)的方法”中給出了一種高速旋轉(zhuǎn)90°,180°,270°的方法,該方法所增加的電路比較多,尤其是使門陣列WI比較復(fù)雜,另外微程序也比較復(fù)雜。與CN85103268相比,本發(fā)明不僅提供了任意角度的高速旋轉(zhuǎn)方法,而且對(duì)于90°,180°,270°旋轉(zhuǎn)這三種情況,旋轉(zhuǎn)速度并不比CN85103268的方案低,而WI的設(shè)備卻減少,微程序也比較簡(jiǎn)單。
CN85103268把0°,90°,180°,270°旋轉(zhuǎn)所需的不同處理放在中國(guó)專利CN85100285第7頁(yè)1所述的復(fù)原步驟(c)上,而保持復(fù)原步驟(b)相同;而本發(fā)明則把各種旋轉(zhuǎn)所需處理統(tǒng)統(tǒng)放在復(fù)原步驟(b)上,保持復(fù)原步驟(c)相同。為此需要堅(jiān)持“先變倍,后旋轉(zhuǎn)”的原則,并給出坐標(biāo)原點(diǎn)在WS中的平移值,WS中x方向和y方向最大點(diǎn)數(shù)的計(jì)算方法,以及WS0地址對(duì)應(yīng)的ss掃描緩沖區(qū)地址的計(jì)算方法;為了保證0°,90°,180°,270°這幾種特殊情況的高速處理,需增加IR0和相應(yīng)的處理手段。
本發(fā)明的圖1與CN85100285圖1相比,增加了EPROM GC〔25〕,增加了譯碼器DS Decoder〔13〕向GC〔25〕輸出GCOE的通路。還增加了IR寄存器和Am29116→IR傳送通路,以及IR0的輸出接到CCS〔11〕的輸入的通路。
權(quán)利要求
1.以CN85100285“高分辨率漢字字形發(fā)生器”為基礎(chǔ),適用于歐洲專利EP0095536所述的輪廓向量形式表示的字形的一種高速產(chǎn)生傾斜和任意角度旋轉(zhuǎn)字的方法,該方法在形成標(biāo)記點(diǎn)陣,即在執(zhí)行復(fù)原步驟(b)時(shí),具有以下特征a.先變倍(變大或變小)然后作傾斜和旋轉(zhuǎn)得到的向量
的增量Δx′,Δy′是根據(jù)下述步驟計(jì)算的(1)xF=xE+Δx;yF=yE+Δy這里變倍和傾斜、旋轉(zhuǎn)操作前的向量記為
,其始點(diǎn)坐標(biāo)記作(xE,yE),終點(diǎn)坐標(biāo)記作(xF,yF),增量記作Δx,Δy;(2)對(duì)(xF,yF)進(jìn)行變倍(變大或變小),根據(jù)當(dāng)前字號(hào)查變倍表得到向量終點(diǎn)變倍后的值,記作x*F,y*F;(3)把x*F,y*F作為x,y值代入①向左傾斜公式
得到的x′,y′即向左傾斜時(shí)向量終點(diǎn)傾斜后的坐標(biāo),記作x′F,y′F;②向右傾斜公式
得到的x′,y′即向右傾斜時(shí)向量終點(diǎn)傾斜后的坐作x′F,y′F;③旋轉(zhuǎn)公式
得到的x′,y′即向量終點(diǎn)旋轉(zhuǎn)后的坐標(biāo),記作x′F,y′F(上面的θ是傾斜角或旋轉(zhuǎn)角);本向量變倍、傾斜和旋轉(zhuǎn)后的終點(diǎn)坐標(biāo)(x′F,y′F),即下一向量的始點(diǎn)坐標(biāo)(x′F,y′F);而一個(gè)筆劃(封閉曲線)起始點(diǎn)在變倍、傾斜和旋轉(zhuǎn)后的坐標(biāo),記作(x′be,y′be),只需作上述(2),(3)兩步即能得到;(4)Δx′=x′F-y′F;Δy′=y′F-y′F;b.對(duì)于每個(gè)筆劃的起始點(diǎn)坐標(biāo)(指變倍然后傾斜和旋轉(zhuǎn)后的坐標(biāo))作如下修正,再送x坐標(biāo)計(jì)數(shù)器[8-1]和y坐標(biāo)計(jì)數(shù)器[8-2]x′be+|x′min︱→x坐標(biāo)計(jì)數(shù)器y′be+|y′min|→y坐標(biāo)計(jì)數(shù)器這里x′min=min(0,x′B,x′C,x′D)y′min=min(0,y′B,y′C,y′D)(x′B,y′B)為字形右上角那點(diǎn),即B點(diǎn),變倍并傾斜和旋轉(zhuǎn)后的坐標(biāo),(x′C,y′C)為字形右下角那點(diǎn),即C點(diǎn),變倍并傾斜和旋轉(zhuǎn)后的坐標(biāo),(x′D,y′D)為字形左下角那點(diǎn),即D點(diǎn),變倍并傾斜和旋轉(zhuǎn)后的坐標(biāo);c.標(biāo)記點(diǎn)陣存儲(chǔ)器WS[7]中x方向和y方向最大點(diǎn)數(shù)按下述公式計(jì)算x方向最大點(diǎn)數(shù)=x′max-x′miny方向最大點(diǎn)數(shù)=y′max-y′min這里x′max=max(0,x′B,x′C,X′D)y′max=max(0,y′B,y′C,y′D)d.標(biāo)記點(diǎn)陣存儲(chǔ)器ws的0單元對(duì)應(yīng)的ss掃描緩沖區(qū)地址按照下述公式計(jì)算ws的0單元對(duì)應(yīng)的ss地址=(y-|y|min|)×掃描一線所占單元數(shù)+ss掃描緩沖區(qū)始址+[(x-|x′min|)÷16后取整數(shù)]這里的x,y是由軟件給出的漢字左上角那點(diǎn)(原點(diǎn))在版上的x,y坐標(biāo)。
2.根據(jù)權(quán)利要求1所述的方法,一個(gè)進(jìn)一步區(qū)分旋轉(zhuǎn)90°,180°,270°這三種特殊情況以提高速度的方法,其特征在于按照下述公式直接從旋轉(zhuǎn)前向量EF△x,△y得到旋轉(zhuǎn)后向量E′F′△x′,△y′a.旋轉(zhuǎn)90°時(shí)|△x′|=|△y||△y′|=|△x|xsysx′sy′s0 0 1 00 1 0 01 0 1 11 1 0 1這里xs,ys表示
所處象限,x′s,y′s表示
所處象限(下同);b.旋轉(zhuǎn)270°時(shí)|△x′|=|△y||△y′|=|△x|x′s,y′s與xs,ys的關(guān)系如下xsysx′sy′s0 0 0 10 1 1 11 0 0 01 1 1 0c.旋轉(zhuǎn)180°時(shí)|△x′|=|△x||△y′|=|△y|x′s=Xsy′s=y(tǒng)s
3.根據(jù)權(quán)利要求2所述的方法,一個(gè)依賴于檢測(cè)IR0觸發(fā)器〔14〕,進(jìn)一步提高無(wú)傾斜,無(wú)旋轉(zhuǎn)時(shí)的速度的方法,其特征在于a.當(dāng)無(wú)傾斜、無(wú)旋轉(zhuǎn)(包括無(wú)90°,180°,270°的旋轉(zhuǎn))時(shí),置IR0為0;其余情況置IR0為1;b.在微程序中得到向量EF的△x,△y時(shí),Am2910的操作安排為“檢查IR0,若IR0=1則轉(zhuǎn)<根據(jù)△x,△y計(jì)算傾斜和旋轉(zhuǎn)后的△x′,△y′>;若IR0=0則繼續(xù)”。
4.根據(jù)權(quán)利要求1所述步驟,一個(gè)減少旋轉(zhuǎn)和傾斜時(shí)操作的方法,其特征在于有一個(gè)只讀存儲(chǔ)器GC〔25〕,用來(lái)存放事先計(jì)算好的各種θ值所對(duì)應(yīng)的tanθ和sinθ,并采用查GC表的方法直接得到權(quán)利要求1a(3)①,②,③三個(gè)公式中所需的tanθ和sinθ。
全文摘要
高速產(chǎn)生傾斜字和任意角度旋轉(zhuǎn)字的方法屬于漢字信息處理技術(shù)領(lǐng)域,在專利CN85100285設(shè)備的基礎(chǔ)上,用來(lái)對(duì)歐洲專利EP0095536所表示的字形作高速旋轉(zhuǎn)和傾斜。這一方法對(duì)于90°,180°,270°旋轉(zhuǎn),速度特別快。為了旋轉(zhuǎn)和傾斜所增加的處理,絲毫不影響不旋轉(zhuǎn)時(shí)的處理速度。
文檔編號(hào)G09G1/02GK1037413SQ89103388
公開日1989年11月22日 申請(qǐng)日期1989年5月26日 優(yōu)先權(quán)日1989年5月26日
發(fā)明者王選, 呂之敏 申請(qǐng)人:北京大學(xué)