專利名稱:字符輸出方法
技術(shù)領(lǐng)域:
本發(fā)明與字符串的輸出方法有關(guān),特別是與由漢字、假名等組成的字符串的打印及顯示方法的改進有關(guān)。
在現(xiàn)有的打印系統(tǒng)或字處理器所用的字符輸出方法中,與字符界框?qū)?yīng)的字符圖形的大小及位置是按每個字符決定的。并且,這些在字符界框內(nèi)的字符圖形部份(有時稱其為字面)的大小及位置是在設(shè)計包括該字符圖形的字符集的字型時決定的。即,是按考慮了各字符的圖形特性、相同字型的多個字符間的平衡等問題后決定的字型圖形來確定的。
上述原有的技術(shù),在排列相同字型的字符時,是以具有好的平衡感覺為條件來考慮、設(shè)計該字型中各個字符圖形的大小和位置的。但是,實際上要確定字符圖形在與任意字符相鄰時都要有好的平衡感覺是很困難的。也就是說,具有完全相同圖形的字符,隨著與其相鄰的字符的不同,有時使人感到大小合適,有時使人感到稍大一點,而有時又使人感到稍小一點。圖3a及圖3b中“田”字的字符圖形是相同的,但在圖3a的字符串中,它使人感到大小合適,而在圖3(b)的字符串中,卻使人感到稍小一點。
要解決上述問題,就不能采用把不同大小的字符圖形混在一起使用的方法。這是因為,不同大小的字符,其字符界框的寬度是完全不同的,從而字符串的擺版設(shè)計將受到影響。圖5是表示這種情況的一個例子。為了解決圖5a中“田”字的字符圖形501過小的問題而用更大尺寸的字符圖形的例子如圖5b所示。圖5b中“田”字的字符圖形502,如只比較其大小尺寸的話,它與其他字符的平衡性是好的,但由于其字符界框的尺寸也變大了,其后續(xù)字符“さ”的排列位置就向右移動了。這就證明,要解決上述問題,原封不動地利用其它尺寸的字符圖形的方法是不能采用的。
本發(fā)明的目的旨在提供一種用于解決上述問題的字符輸出方法。這種方法的特點是在輸出具有指定尺寸的字符界框的字符圖形行時,可以改變該字符界框內(nèi)的字符圖形的大小及位置,按相鄰字符等條件來進行這種變更,從而可以提供不受字符排列等條件限制的平衡性好的字符圖形輸出。
上述目的是用以下所述裝置或方法來達到的。首先,配備有放大、縮小字符圖形的裝置,實現(xiàn)過程是,把標(biāo)準(zhǔn)字符圖形保存在字符字典中,當(dāng)在要輸出的字符串中有該字符的輸出時,從字符字典中取出該字符的字符圖形;當(dāng)?shù)玫街付ǔ叽绲淖址麍D形后,判斷是否需要對其作進一步的放大或縮小,如果必要的話,用上述放大縮小裝置進行放大或縮小;按放大縮小率對與該圖形對應(yīng)的字符字典中的放置位置信息進行修正,然后,把輸出字符圖形放置到顯示區(qū)域中。
字符字典中按每個字符存有表示字符種類的代碼、表示顯示圖形的字符筆劃的骨架點或輪廓點的座標(biāo)組及為字符界框內(nèi)字符圖形的放置基準(zhǔn)點的位置信息等。字符字典中也可以按每種字符尺寸來保存信息。放大、縮小字符圖形的裝置是以從字符字典讀入的字符圖形為基礎(chǔ)、用現(xiàn)有技術(shù)中的圖形處理方法對其進行變形的。字符代碼是用來檢索、取出存貯在字符字典中的字符圖形集合中作為處理對象的字符圖形。另外,字符尺寸在用來決定輸出字符界框大小的同時,還用于選擇字符字典或字符圖形。字符字典中作為字符圖形放置基準(zhǔn)點的位置信息用于決定把該字符界框定位于指定尺寸的字符行中的哪個位置。決定字符圖形放置位置的修正值的裝置用于決定移動字符圖形時的移動量值,從而能夠把放大縮小后的字符圖形高度平衡地放置在具有輸出尺寸的字符界框內(nèi)。字符圖形變更條件決定變更的方法及變更的有無等。作為該條件使用的有相鄰字符及輸出對象字符的代碼、字符圖形的性質(zhì)和變更對象字符集等。作為變更條件所用的字符圖形的特性基準(zhǔn)值信息,實際是成為通過把該信息與輸出對象字符圖形的性質(zhì)相比較以決定該字符的字符圖形的變更方法的基準(zhǔn)的信息。
通過進行上述處理,由于字符輸出時的變更只限于字符界框內(nèi)的字符圖形的變更,所以字符界框本身可以放置在預(yù)定的位置。這樣就可以在保持字符串的擺版設(shè)計的同時,得到字符大小平衡性能極佳的輸出結(jié)果。
以下,結(jié)合附圖詳細(xì)說明本發(fā)明的一個實施例。
圖1是表示本發(fā)明的一個實施例的字符輸出程序動作的流程圖,圖2是執(zhí)行圖1的字符輸出程序的輸出裝置結(jié)構(gòu)圖,圖3是字符圖形變更之前的輸出例子,圖4是對圖3的字符圖形進行變更改進后的例子,圖5是表示字符圖形輸出行與字符界框的安排之間的關(guān)系圖,圖6是字符圖形放置位置的詳細(xì)說明圖,圖7是骨架字符方式的說明圖,圖8、圖9、圖10、圖11、圖12、圖13及圖14是表示字符圖形變更替代處理的流程圖,圖15是對由黑地密度之比求得的放大縮小率進行修正處理的流程圖,圖16是字符字典的數(shù)據(jù)結(jié)構(gòu)圖,圖17是在使用放大縮小率閾值時的骨架點變化示意圖。
圖2是日語字處理器的結(jié)構(gòu)圖。圖中符號201是處理裝置,符號202是鍵盤,符號203是顯示器,符號204是打印機,符號205是磁盤存貯器,符號206是主存貯器。磁盤存貯器205存放字符輸出程序及收錄有各個字符的基本字符圖形的字符字典。字符輸出程序由磁盤存貯器205讀入到主存貯器206,然后由處理裝置201執(zhí)行。本程序與作為輸出對象的字符串有關(guān),它從鍵盤202讀入輸出字符尺寸、字符代碼及各種命令,并把輸入的值在顯示器203上顯示。本程序從磁盤存貯器讀入指定字符代碼的字符圖形。這時,如果在字典中保存有各種字符尺寸的字符圖形的話,就取出指定尺寸的字符圖形。另外,如果在字典中只保存有標(biāo)準(zhǔn)尺寸的字符圖形的話,就以它為基礎(chǔ)制作指定尺寸的字符圖形。按這種方法進行,待得到了指定尺寸的字符圖形后,本程序按變更條件,只變更字符界框內(nèi)的字符圖形,形成變更字符圖形,并放置于輸出字符圖形行上,在顯示器203或打印機204上輸出。
本程序的詳細(xì)動作,用圖1進行說明。圖1是表示用圖2的處理裝置201執(zhí)行的本發(fā)明的字符輸出程序動作的流程圖。
本實施例的字符字典的數(shù)據(jù)結(jié)構(gòu)如圖16所示。字符字典160中的字符圖形保存形式保存作為字符的各個筆劃種類167、該筆劃的骨架點座標(biāo)組170和粗細(xì)168等3種參數(shù)的信息組合的字符圖形,即是所謂的骨架字符方式。這種方式的例子在特開昭60-202476(特愿昭59-58263)中有記載。用圖7來對骨架字符方式進行說明。所謂骨架字符方式是用數(shù)個基本圖形的組合來表示一個字符圖形,我們把這種基本圖形稱作筆劃。對漢字而言,如果有達16種的筆劃的話,用這些筆劃的組合就可以表示出所有的漢字字符圖形。圖7的圖形表示構(gòu)成漢字所用筆劃之一的“撇”的圖形?!捌病笔菑纳舷蜃笙路揭苿庸P的筆劃,例如被用于漢字“休”的單人邊旁“亻”的第一畫。作為字符字典160的信息,保存有構(gòu)成字符的各個筆劃的種類167、該筆劃的骨架點座標(biāo)組170和粗細(xì)168等3種參數(shù)信息。圖7中S1、S2及S3表示骨架點。骨架點是用以字符界框的左下角為原點的直角座標(biāo)(X、Y)來表示的。從這些骨架點的位置與粗細(xì)參數(shù)W1、W2及W3產(chǎn)生出該種筆劃所特有的輪廓特征點P1、P2、P3、P4、P5及P6。按照筆劃的種類,用直線、仿樣(Spline)曲線及貝濟耶(Beziers)曲線等線段來連接這些輪廓特征點,作出筆劃的輪廓,然后涂滿其內(nèi)部以生成輪廓圖形。把用這種方法生成的筆劃輪廓圖形合在一起,就作成了一個字符的圖形。就骨架字符方式中的字符圖形的放大縮小方法來說,是考慮用先進行骨架圖形的放大縮小后再形成輪廓圖形的方法。即,將各個骨架點的座標(biāo)(x、y)乘上字符圖形的放大縮小率n來進行座標(biāo)的放大縮小,其結(jié)果是得到新骨架點座標(biāo)(nx、ny),再由它求出所希望的尺寸的骨架圖形信息。另外,即使對粗細(xì)參數(shù)來說,同樣可以用乘上由字符圖形的放大縮小率n所定的常數(shù)的方法來求得所希望尺寸的字符粗細(xì)。
就圖1來說,符號101是對輸出字符的代碼、相鄰字符的代碼及作為輸出字符的字符尺寸的字符界框的寬度w和高度h的讀入處理步驟。符號102是對字符字典讀出處理子程序部份提供上述輸出字符的字符大小及字符代碼,以求得字符圖形的各個骨架點座標(biāo)Pi(Xi,Yi)(1≤i≤骨架點總數(shù))及字符放置位置r的處理步驟。符號103是把字符代碼163用作關(guān)鍵字對字符字典160進行檢索,以讀入輸出字符圖形的黑地密度B(165)的處理步驟。這里,所謂字符圖形的黑地密度,就是字符的輸出圖形上的點數(shù)與標(biāo)準(zhǔn)字符圖形的字符界框內(nèi)的總點數(shù)之比。符號104是判斷在字符圖形變更表內(nèi)是否包含輸出字符的代碼,并按其結(jié)果進行轉(zhuǎn)移的處理步驟。符號105是當(dāng)步驟104的判定結(jié)果為“是”時,把相鄰字符代碼作為關(guān)鍵字對字符字典進行檢索,以讀入相鄰字符圖形的黑地密度C的處理步驟。符號106是求輸出字符的字符圖形黑地密度B與相鄰字符的字符圖形黑地密度C的比值m的處理步驟。符號107是讀入為字符圖形放大縮小條件的最小限值K的處理步驟。符號108是按由步驟106及107求得的m、k值來判斷是否有必要放大或縮小輸出字符圖形的處理步驟。符號109是當(dāng)步驟108的判定結(jié)果為“是”時,按由步驟106求得的黑地密度比值m來決定輸出字符的字符圖形放大縮小率n的處理步驟。符號110是暫時對字符圖形的骨架點座標(biāo)進行保護的處理步驟。符號111用由步驟109決定的倍率對字符圖形骨架點座標(biāo)進行放大縮小的處理步驟。符號112是用字符尺寸,即字符界框的寬度w及由步驟109決定的字符圖形放大縮小率n來決定伴隨字符圖形的放大縮小而發(fā)生的字符圖形移動所需要的x軸方向的放置位置修正值dx的處理步驟。符號113是與步驟112一樣,用字符放置位置r及字符圖形放大縮小率n來決定y軸方向的放置位置修正值dy的處理步驟。符號114是僅以由處理步驟112及113決定的修正值dx及dy為單位來移動字符圖形的骨架點座標(biāo)的處理步驟。符號115是判斷經(jīng)處理步驟114的移動后是否有任何骨架點超出輸出字符界框的處理步驟。符號116是當(dāng)步驟115的判定結(jié)果為“是”時,把字符圖形的骨架點座標(biāo)恢復(fù)成在步驟110處預(yù)先保存的變更前的值的處理步驟。符號117是當(dāng)步驟104的判斷結(jié)果為“否”或步驟108的判定結(jié)果或步驟115的判定結(jié)果為“否”的情況及接著處理步驟116后面執(zhí)行時,按各自確定的骨架點座標(biāo)Pi(Xi,Yi)作出輪廓、形成字符圖形、并放置在輸出字符界框內(nèi)的處理步驟。
由處理步驟101讀入的字符尺寸給出了輸出字符界框的大小,即寬度w和高度h。處理步驟102給字典讀出處理子程序提供該字符大小及字符代碼。字典讀出處理子程序當(dāng)字典中有該尺寸的字符圖形時,則從字典中取出該圖形,如果沒有的話,則對標(biāo)準(zhǔn)圖形進行放大縮小,以便達到該字符的尺寸。這里取出的字符圖形是用以字符界框的左下角為原點的直角座標(biāo)表示的字符筆劃的骨架點座標(biāo)Pi(Xi,Yi)的序列。用特愿昭59-58263號等敘述的方法可以由該序列形成筆劃的輪廓和字符的輸出圖形。即用直線或仿樣曲線把生成的輪廓點連接起來。另外,處理步驟102的字符放置位置r是按行布置字符界框時所必須的放置信息。本實施例的前提是橫寫輸出,它展示出必須在輸出行的基線上按置一條字符界框上y=r的線。對緊接著的處理步驟103中的字符圖形黑地密度的說明在以后敘述。處理步驟104參照字符圖形變更表,只在表中有該字符代碼存在時才決定對該字符圖形進行放大縮小。如果是經(jīng)普通設(shè)計而得到的字符字型,有必要進行對作為本專利目的的字符圖形進行變形的字符種類在該字符字型中占相當(dāng)一部份。由于象“日”、“目”、“田”等相當(dāng)多的字符的設(shè)計是很簡單的,所以在變更表中收錄這些因與相鄰字符的關(guān)系變化使字符圖形的大小視覺改變的字符代碼序列。也可以用其它方法來更新該表中的內(nèi)容。接著的處理步驟105到處理步驟116是字符圖形變更處理的主要部份,這將在后面作具體的說明。處理步驟117用原有的骨架方式中的字符圖形形成技術(shù)形成字符圖形,并放置于輸出行中。
這里,用圖4來表示字符圖形的變更方法的具體實例。關(guān)于其變更的必要性,已經(jīng)用圖3說明過了。圖3中圖3a及圖3b分別表示的“田”字的字符圖形是完全相同的字符圖形,但隨著相鄰字符的不同,在圖3a中使人感到大小合適,而在圖3b就使人感到大小了。因此,在保留字符界框大小的前提下對圖3b中的“田”字的字符圖形301進行放大,其結(jié)果得到了圖4b的“田”字的字符圖形401。圖4中的其它3個字符圖形301、302及303,與圖3中對應(yīng)的字符圖形是相同的。這里,上述圖4b中的“田”字的字符圖形401的放大率是由圖3b的“武”字的字符圖形303和“田”字的字符圖形301的黑地密度值之比值求得的。而且,通常情況是,如進行字符圖形的放大縮小,則應(yīng)配合輸出行上的基線進行放置的位置,即字符放置位置也將進行放大或縮小。但是,由于這里是希望使字符界框大小保持不變,而只對框中的字符圖形進行放大縮小。所以有必要對放大縮小后的字符放置位置進行調(diào)整。這個調(diào)整量值就是放置位置修正值。該值的決定方法將在后面敘述。
下面,用圖16具體說明從圖1的處理步驟105到處理步驟116的字符圖形變更處理。在圖16中,按為表示字符圖形特性信息之一的黑地密度165,對字符圖形進行變更。字符圖形的黑地密度165是用輸出字符圖形上的點數(shù)與標(biāo)準(zhǔn)字符圖形的字符界框內(nèi)的總點數(shù)的比值來表示的。把該黑地密度165預(yù)先存入字符字典160中,從而可按上述處理步驟103所敘述的那樣,用字符代碼163來檢索該黑地密度?,F(xiàn)在,作為用處理步驟103求得的結(jié)果,“田”字的字符圖形黑地密度B是31%。另外,在處理步驟105中求得已經(jīng)輸出的相鄰字符“武”字303的黑地密度C為32.8%。其結(jié)果是,相鄰字符與該字符的黑地密度之比m用32.8/31求得為m≈1.058。本實施例中,只在m-1的絕對值(即|m-1|)超出某個范圍時,才進行字符圖形的放大縮小處理。該閾值k是作為字符圖形變更的條件基準(zhǔn)值162而保存在字典中的,它由處理步驟107讀入。處理步驟108判斷式子(黑地密度比-1)>k。例如,定k=0.04,則由于|m-1|≈|1.058-1|=0.058>0.04,處理步驟108的判斷成立,有必要進行該字符圖形的放大縮小處理,故進行處理步驟109。在處理步驟109,求字符圖形的放大縮小率n。本實施例中,該值是以黑地密度比的平方根的形式求得的。即求n=m
。這樣當(dāng)黑地密度比大的時候縮小字符圖形,當(dāng)黑地密度比小的時候,放大字符圖形。在接下去的處理步驟110中,對所有的骨架點保護其變更前的字符圖形的骨架點座標(biāo)Pi(Xi,Yi),為后面的處理步驟116作準(zhǔn)備。在處理步驟111,將各個骨架點座標(biāo)Pi(Xi,Yi)乘上n倍。在接下去的處理步驟112與處理步驟113中,決定各個x軸方向及y軸方向的放置位置修正值。
這里,首先對放置位置的修正必要性作一下具體的說明。圖6a展示出該放置位置r是用來表示通過字符串顯示區(qū)的基線位置的?;€是用于統(tǒng)一排列字符串的基準(zhǔn)線。圖6b展示出“田”字的字符界框,變更前的字符圖形及放置位置r之間的關(guān)系。字符界框的尺寸包括寬度w及高度h。圖6b中,顯示了“田”字的字符圖形中作為代表性骨架點的一點Pi(Xi,Yi)。座標(biāo)是用以字符界框的左下角Q為原點的直角座標(biāo)系來表示的,其中,向右方向是x軸的正方向,向上方向是y軸的正方向。Pi表示字符的第i個骨架點。在輸出字符圖形時,在輸出行區(qū)域上設(shè)置基線,并且把該字符的字符界框上y=r(r為放置位置值)的線與該基線對中進行圖形放置。各個字符圖形是以此為前提在字符界框內(nèi)進行設(shè)計的。把字符圖形601放置到輸出行的例子如圖6e所示。
下面,用圖6來說明字符圖形的放大縮小與放置位置的變化之間的關(guān)系。如果把圖6b所示的字符圖形601用放大縮小率n放大,則該字符的任意骨架點Pi(Xi,Yi)經(jīng)圖1的處理步驟111移動到Pi(Xi,Yi)。其結(jié)果是字符圖形變成6c所示的樣子。按圖6c中實線所示的那樣,字符界框增為r倍,放置位置r也增為n倍。對整個輸出字符串來說,如前面所述的那樣,把字符界框尺寸增為n倍后再放置到輸出行中是不合適的。因此,從該字符界框中,表示出具有公用字符界框左下角原點Q的變形前的字符界框,即圖6c的虛線部份,以作為該字符的界框。該字符界框的尺寸是滿足輸出的目的的,并且圖5b所示的字符放置位置也未發(fā)生偏移。然而,雖然該字符界框中的字符圖形大小是合適的,但字符圖形占據(jù)字符界框內(nèi)的位置是不合適的,因此,放置位置修正的目的就是修正在該字符界框內(nèi)的字符圖形的位置,表示對x軸方向及y軸方向的修正大小程度的值就是放置位置修正值。按這個放置位置修正值,使字符圖形、即各個骨架點只在x軸方向平行移動dx,y軸方向平行移動dy,移到點Pi″(nXi-dx,hYi-dy)。這樣,字符圖形就被安放在該尺寸的字符界框中的適當(dāng)位置上,從而得到圖6d所示的圖形。這時,基線的放置位置nr回到原來位置r。對放置在輸出行上的字符串(e)進行的修正結(jié)果,如圖6f所示。
這里,就處理步驟112、113及114中的放置位置修正值的決定方法及按這種方法進行的對放置位置的修正進行說明。在處理步驟112,當(dāng)表示字符尺寸的字符界框?qū)挾葹閣時,x軸方向的放置位置修正值dx,用式dx=ω(n-1)/2(1)求得。這里n是由處理步驟109求得的放大縮小率。另外,在處理步驟113中,y軸方向的修正值dy,由式dy=γ(n-1)(2)求得,如果使用式(2)的話,則即使變更字符圖形,也不改變表示基線位置的放置位置γ。用該修正值dx,dy,在處理步驟114對字符圖形進行實際的平移。上述修正值的決定方法是x軸方向由為字符尺寸的字符界框的寬度w求得,y軸方向由字符放置位置求得,但還存在有y軸方向的修正值,按與x軸方向相同的方法,從表示字符尺寸的字符界框高度h求出的方法。這時,在步驟113中的y軸方向的修正值,由dy=h(n-1)/2(3)求得。如果采用式(1)及式(3)的方法,在進行放置位置修正后,放大縮小的字符圖形在輸出字符界框內(nèi)的x軸及y軸方向的位置都向中心安置。式(3)是式(2)使γ采用特殊值γ=h/2的式子。當(dāng)輸出放置在輸出字符界框中心的字符圖形序列時,存在有使輸出字符界框的縱向(豎寫等場合)或橫向的2等分線與輸出行區(qū)域上的基線重疊放置的方法。這可用上述式子(1)及(3)來實現(xiàn)。圖6g以及6h表示輸出字符界框的橫向及縱向的2等分線與輸出行的基線重疊放置的結(jié)果。它用上述修正值dx、dy,在步驟114,對放大縮小后的骨架點座標(biāo)值進行修正。
以上所述的圖1中直到處理步驟114的處理,是用來形成字符圖形變更后的數(shù)據(jù)。下面,就實施例中應(yīng)用上述放大縮小處理步驟(放大的場合),對字符圖形超出該字符界框尺寸時的處理情況進行說明。在這種情況下,就原封不動地使用放大縮小前的字符圖形。是否超出字符界框范圍的判定在處理步驟115進行。如判定為已超出范圍,則進行處理步驟116,恢復(fù)在處理步驟110保存起來的字符圖形,把它作為輸出字符圖形進入處理步驟117。另外,如用超界判定判定出是“否”,則把處理步驟114得到的字符圖形作為輸出字符圖形,進入處理步驟117。
下面說明如上所述的字符圖形超出該字符界框尺寸的情況,即在進行字符圖形的放大縮小之前,檢測出已超出字符界框的范圍時,修正放大縮小率n的方法。也就是考慮在處理步驟112,113中進行的放置位置的修正。當(dāng)在處理步驟119中求得的字符圖形的放大縮小率n比下式定義的閾值np還要大時,就用np替換n。在用(1)、(3)式修正放置位置的場合,nP= min(11-2xω,12xω-1,11-2yh,12Yh-1) (4)]]>當(dāng)用(1)、(2)式時,
np= min (11-2xω,12xω-1,11-yr,h-rY-r) (5)]]>這里,x、X、y、Y分別是骨架點座標(biāo)Pi(Xi、Yi)的下限值和上限值,它們由下式表示。
x=min(Xi),X=max(Xi)(6)y=min(Yi),Y=max(Yi)(7)這里,例如,x=min(Xi)表示用x座標(biāo)值Xi中的最小值代入x。但是,這假定骨架點座標(biāo)Pi(Xi,Yi)的下限、上限值在下述范圍內(nèi)min(Xi)< (ω)/2 , (ω)/2 <max(Xi) (8)min(Yi)< (h)/2 或γ, (h)/2 或γ<max(Yi) (9)上述的處理順序如圖15所示。處理步驟1501用上述式(4)或式(5)來求放大縮小率的閾值np。處理步驟1502對由黑地密度比求得的放大縮小率n與閾值np進行比較,如n比np還要大,則在處理步驟1503,用閾值np替換放大縮小率n。由于加上了圖15所示的處理,既使是不超出字符界框范圍的情況也由字符圖形的放大縮小率及放置位置的修正措施作了保證,圖1所示的處理步驟110、115及116就不需要了。
如圖15所示的用閾值np替換放大縮小率n時的骨架點的變化如圖17所示。由△標(biāo)志點171c、173c、172c及174c表示的各點,分別是字符圖形中的為X座標(biāo)最大、最小值,Y座標(biāo)最大、最小值的骨架點。由于字符圖形小于界框,所有點都包含在字符界框170中,但用本發(fā)明實施例中所述的放大縮小率n(>1)放大及對放置位置進行修正,使字符圖形增大后,成為用0標(biāo)志表示的符號,即171a、173a、172a及174a各點。由于放大縮小率n太大,符號171a點從字符界框超出。如用式(4)或式(5)所示的閾值np(1<np<n)來替換上述h,符號171a點就移動到字符界框170邊線上的位置171b處。其結(jié)果是包括其它3點172b、173b及174b的所有的骨架點都包含在字符界框內(nèi)了,而且,得到的字符圖形比用△標(biāo)志表示的初始字符圖形要大。
處理步驟117以用上述方法得到的輸出字符圖形為基礎(chǔ),用前面所述的特愿昭59-58263等中的方法,把骨架點變換成實際的輸出圖形,把放置位置與輸出字符圖形區(qū)域中的基線相重合后輸出。
下面,簡單敘述一下圖1所示方法的替換方法。
圖1是表示用字符圖形的黑地密度比作為字符圖形的變更條件的例子。以這個變更條件為基準(zhǔn),考慮下述其它各種情況。
(1)根據(jù)相鄰字符的種類,決定是否對該字符進行字符圖形的變更。預(yù)先設(shè)定為字符圖形變更對象的字符代碼組合,參照該組合判定是否進行字符圖形的變更。
(2)按相鄰字符的圖形特性來決定。用包圍標(biāo)準(zhǔn)字符圖形的最小凸多邊形的尺寸作為特性參數(shù)。算出相鄰字符的最小凸多邊形的大小尺寸,例如多邊形的面積,使其與本字符的值相比較,以決定是否進行字符圖形的變更。
(3)關(guān)于相鄰字符,用與(2)相同的特性,但不是在輸出時計算求得,而是用預(yù)先存貯的值的方法。
(4)對本字符,預(yù)先在字典中設(shè)定有表示是否進行字符圖形變更的標(biāo)志,按該標(biāo)志決定是否進行字符圖形的變更。
(5)預(yù)先匯總存貯應(yīng)變更字符圖形的字符代碼集合,如果本字符的代碼包含在其中的話,則對字符圖形進行變更。相反,也可以用預(yù)先存貯不允許變更的字符代碼集合的方法。并且,前者,即預(yù)先匯總存貯應(yīng)變更的字符代碼集合的方法,與圖1的處理步驟104是相同的。
(6)把預(yù)先設(shè)定的信息(例如黑地密度值)作為一個基準(zhǔn)值,把它與本字符的相關(guān)特性值相比較,按其大小關(guān)系來決定是否進行字符圖形的變更。
(7)按在有關(guān)的字符圖形的輸出之前設(shè)定的各種顯示方式(橫寫或豎寫方式,表示字符間間距的可變字符間距方式等)決定字符圖形的變更。
關(guān)于上述(1)到(7)的替換方法分別用圖8至圖14進行說明。但是,由于替換方法中與圖1的處理中公用的部份較多,以下的說明是以替換方法中特有的處理為中心進行圖示,并且就其前后的處理來說,則是附加對應(yīng)的圖1中的處理。
下面的敘述中,各圖所示的參照號與圖1中相同的地方表示處理過程與圖1中的相同。
替換方法(1)的例子如圖8所示。本處理步驟是用來替換圖1中的處理步驟103到109的。符號801是判斷在字符圖形變更表中是否包含有關(guān)的輸出字符代碼及在其前面的相鄰字符代碼的組合,并按判定結(jié)果轉(zhuǎn)移的處理。符號802是當(dāng)處理步驟801的判定結(jié)果為“是”的情況,從變更表讀入輸出字符的字符圖形放大縮小率n的處理。處理步驟801參照收錄有為字符圖形的變更對象的字符代碼組合與相關(guān)的字符圖形放大縮小率的變更表。規(guī)定只在變更表中存在有關(guān)字符及相鄰字符的代碼組合時,才對該字符圖形進行放大縮小。
替換方法(2)的例子如圖9所示。該處理步驟替代圖1中的處理步驟103到106。符號901是計算包圍輸出字符的字符圖形的最小凸多邊形的大小B的處理步驟。符號902是計算包圍相鄰字符的字符圖形的最小凸多邊形的大小C的處理步驟。符號903是求輸出字符和相鄰字符的字符圖形最小凸多邊形的比率m的處理步驟。處理步驟901從在處理步驟102讀入的輸出字符的各骨架點座標(biāo)求出包圍輸出字符圖形的最小凸多邊形,計算其大小B。這里所說的大小是指凸多邊形的面積。處理步驟902從相鄰字符的骨架點座標(biāo)計算包圍相鄰字符圖形的最小凸多邊形的大小C。這時,相鄰字符的骨架點座標(biāo)可以從在相鄰字符輸出時,預(yù)先存貯起來的信息中得到。
替代方法(3)的例子如圖10所示。本處理步驟用來替代圖1中的處理步驟103到106。符號1001是以輸出字符的代碼作為關(guān)鍵字來檢索字符字典,讀入輸出字符圖形的最小凸多邊形大小B的處理步驟。符號1002是以相鄰字符代碼作為關(guān)鍵字,檢索字符字典,讀入相鄰字符圖形的最小凸多邊形的大小C的處理步驟。符號1003是求輸出字符與相鄰字符的字符圖形的最小凸多邊形比率m的處理步驟。
替代方法(4)的例子如圖11所示。本處理步驟是用來替代圖1中的處理步驟104。符號1101是以輸出字符的代碼作為關(guān)鍵字、檢索字符字典,讀入決定是否變更輸出字符的字符圖形的標(biāo)志F的處理步驟。符號1002是根據(jù)在處理步驟1101讀入的決定是否變更的標(biāo)志F,判定是否有必要對輸出字符圖形進行變更的處理步驟。如果F=“1”,判定必須進行變更,則向“是”方向轉(zhuǎn)移,如果F≠“1”,判定不需變更,則向“否”方向轉(zhuǎn)移。
替代方法(5)中存貯不允許變更的字符代碼集合的例子如圖12所示。本處理是用來替代圖1中的處理步驟104。符號1201是判定輸出字符代碼是否未包含在字符圖形變更禁止表中,并按其結(jié)果轉(zhuǎn)移的處理步驟。在處理步驟1201,如果輸出字符代碼未包含在變更禁止表中,則判定為進行字符圖形的變更,向“是”方向轉(zhuǎn)移,相反,如果包含在變更禁止表中,則判定不進行字符圖形的變更,向“否”方向轉(zhuǎn)移。
替代方法(6)的例子如圖13所示。本處理步驟是用來替代圖1中的處理步驟104到106的。符號1301是讀入黑地密度的1個基準(zhǔn)值D的處理步驟。符號1302是求輸出字符的字符圖形黑地密度B與黑地密度基準(zhǔn)值D之比m的處理步驟。在處理步驟1301中參照的黑地密度基準(zhǔn)值,有用包含在字符集合內(nèi)的所有字符的平均值的方法,或用由該輸出字符的處理步驟之前已經(jīng)輸出的字符集合得到的平均值的方法。
替代方法(7)的例子如圖14所示。本處理步驟是用來替代圖1中的處理步驟104的。符號1401是讀入字符間距方式標(biāo)志E的處理步驟。符號1402是判定在處理步驟1401讀入的字符間距方式標(biāo)志E是否是可變間距方式,并按其判定結(jié)果轉(zhuǎn)移的處理步驟。在處理步驟1402,如果字符間距方式標(biāo)志E是可變間距方式的話,則斷定進行字符圖形的變更,向“是”方向轉(zhuǎn)移,如果相反字符間距方式標(biāo)志E是固定間距方式的話,則判定不進行字符圖形的變更,向“否”方向轉(zhuǎn)移。
在圖1所述的例子中,假定標(biāo)準(zhǔn)尺寸或各種尺寸的字符圖形是保存在字符字典中的,并假定對同一尺寸的字符界框來說,同一字符代碼、不同字符尺寸的字符圖形不作多個保存。
但是,關(guān)于這方面的情況,在別的實施例中進行了考慮。即在字符字典中預(yù)先保存多個具有相同尺寸的字符界框、不同字面尺寸的字符圖形。并具有按字符圖形的變更條件,選擇這些圖形之一的裝置。在這種場合,即使不對圖1的字符圖形進行放大縮小處理,而把所希望的字符圖形從字符字典讀入使用,也能達到本發(fā)明的目的。這種方法對采用點陣字符的字符圖形保存方式的字符輸出裝置等是可行的。
如果按照本實施例,按輸出對象字符圖形與相鄰字符圖形的黑地密度等特性、可以變更輸出對象字符圖形的字面尺寸,且能夠把它合適地放置到輸出行中。
按照本發(fā)明,由于能夠按字符圖形的變更條件來調(diào)整字符界框范圍中的字符圖形的尺寸及相應(yīng)的放置位置,所以將得到平衡性比采用現(xiàn)有技術(shù)更好的字符串排列的效果。這時,由于對字符界框的放置方法沒有影響,所以可以利用現(xiàn)存的放置程序及輸出裝置的功能。
權(quán)利要求
1.一種字符輸出方法,其特征在于根據(jù)形成與標(biāo)準(zhǔn)尺寸的字符圖形對應(yīng)的放大或縮小的字符圖形時所用的標(biāo)準(zhǔn)字符圖形信息,形成具有大小不超出由該標(biāo)準(zhǔn)尺寸的字符圖形決定的、字符界框范圍的該標(biāo)準(zhǔn)字符圖形的放大或縮小的字符圖形,并向與上述標(biāo)準(zhǔn)尺寸的字符界框大小相同的字符界框內(nèi)輸出該放大或縮小的字符圖形。
2.一種字符輸出方法,其特征在于根據(jù)表示標(biāo)準(zhǔn)字符圖形的標(biāo)準(zhǔn)圖形信息,形成放大縮小率不同于該標(biāo)準(zhǔn)圖形字符界框尺寸與給定尺寸的字符界框尺寸之比(所述給定尺寸的字符界框尺寸與標(biāo)準(zhǔn)圖形字符界框尺寸不同)、給定的放大或縮小的字符圖形,把該放大或縮小的字符圖形輸出到與該指定尺寸的字符界框尺寸相同的字符界框內(nèi)。
3.如權(quán)利要求1或2所述的字符輸出方法,其特征在于當(dāng)把按上述方法形成的放大或縮小的字符圖形輸出到該輸出字符界框內(nèi)時,用位于使該標(biāo)準(zhǔn)字符圖形的字符界框縱向2等分的線上的點來決定其水平方向的位置,以使其定位在使該輸出字符界框縱向2等分的線上。
4.如權(quán)利要求1或2所述的字符輸出方法,其特征在于當(dāng)把按上述方法形成的放大或縮小的字符圖形輸出到該輸出字符界框內(nèi)時,用位于使標(biāo)準(zhǔn)字符圖形的字符界框橫向2等分的線上的點來決定其垂直方向的位置,以使其定位在使該輸出字符界框橫向2等分的線上。
5.如權(quán)利要求1或2所述的字符輸出方法,其特征在于上述標(biāo)準(zhǔn)圖形信息中保存有提供字符界框水平方向位置的線段(即定位線位置的放大位置信息),而所謂輸出字符界框的定位線位置,是將該標(biāo)準(zhǔn)字符界框的定位線高度與該輸出字符界框和該標(biāo)準(zhǔn)字符界框的尺寸比率相同的比率相乘后得到的高度信息決定的,在把用上述方法形成的放大或縮小的字符圖形輸出到該輸出字符界框內(nèi)時,用該標(biāo)準(zhǔn)字符圖形的定位線上的點來決定其垂直方向的位置,以使圖形放置在該輸出字符界框的定位線上。
6.如權(quán)利要求3或4所述的字符輸出方法,其特征在于在按指定的字符尺寸和字符代碼序列輸出字符圖形的裝置中,在字符圖形行的輸出區(qū)域中設(shè)置基準(zhǔn)線,以輸出字符界框的縱向或橫向2等分線與該基準(zhǔn)線重合為目標(biāo)來設(shè)定該輸出字符界框的位置,然后,在輸出字符界框內(nèi)輸出放大或縮小的字符圖形。
7.如權(quán)利要求5所述的字符輸出方法,其特征在于在按指定字符尺寸及字符代碼序列輸出字符圖形行的裝置中,在字符圖形行的輸出區(qū)域中設(shè)置基準(zhǔn)線,以輸出字符界框的定位線與該基準(zhǔn)線重合為條件來設(shè)定該輸出字符界框的位置,然后在該輸出字符界框內(nèi)輸出放大或縮小的字符圖形。
8.如權(quán)利要求1或2所述的字符輸出方法,其特征在于在按指定字符尺寸與字符代碼序列輸出字符圖形行的裝置中,在形成輸出對象字符的字符圖形時,僅僅用和由該字符的給定字符尺寸決定的字符界框尺寸與該標(biāo)準(zhǔn)字符圖形的字符界框尺寸的比率決定的放大縮小率不同的放大縮小率來檢測應(yīng)形成輸出該標(biāo)準(zhǔn)字符圖形的放大或縮小的字符圖形的條件。
9.如權(quán)利要求8所述的字符輸出方法,其特征在于預(yù)先存好成對字符代碼集合,用判斷該集合中是否包含該字符與1相鄰字符的代碼組合來檢測所述條件而實現(xiàn)權(quán)利要求8所述的檢測。
10.如權(quán)利要求8所述的字符輸出方法,其特征在于在標(biāo)準(zhǔn)字符圖形信息中預(yù)先保存好表示各個字符圖形特性的特性值或在該字符的輸出字符圖形形成之前先進行計算,把該字符的特性值與該字符的相鄰字符的特性值進行比較,用判斷其差別是否大的方法來實現(xiàn)權(quán)利要求8所述的對條件的檢測。
11.如權(quán)利要求8所述的字符輸出方法,其特征在于用在標(biāo)準(zhǔn)字符圖形上,表示按每個字符代碼分別保存的字符圖形是否變更的信息來進行權(quán)利要求8所述的對條件的檢測。
12.如權(quán)利要求8所述的字符輸出方法,其特征在于通過判斷在預(yù)先存貯的字符代碼集合中是否包含該字符代碼的方法來進行權(quán)利要求8所述的對條件的檢測。
13.如權(quán)利要求8所述的字符輸出方法,其特征在于把預(yù)先設(shè)置的表示字符圖形特性的特性值的臨界值與該字符圖形的特性值進行比較,用其比較結(jié)果來判斷該條件是否成立來進行權(quán)利要求8所述的條件的檢測。
14.如權(quán)利要求8所述的字符輸出方法,其特征在于上述權(quán)利要求8所述的對條件的檢測,是用該字符圖形輸出之前設(shè)定的狀態(tài)信息來實現(xiàn)的。
15.一種字符形成方法,其特征在于除保存標(biāo)準(zhǔn)字符圖形的方法之外,還以與標(biāo)準(zhǔn)字符界框尺寸相同的字符界框尺寸,保存字符圖形大小不同的多種字符圖形信息,并根據(jù)字符圖形輸出時所檢測的條件,從該字符圖形中選擇一種字符圖形,以形成輸出字符圖形。
16.一種字符串輸出裝置,其特征在于為了實現(xiàn)上述權(quán)利要求1到15中任一種字符輸出方法,配備有帶有實現(xiàn)程序的計算機。
17.一種字符圖形的存貯裝置,其特征在于在標(biāo)準(zhǔn)字符圖形信息中保存有表示各個字符圖形特性的特性值及表示字符圖形是否需要變更的信息。
18.一種向給定尺寸的字符界框內(nèi)輸出字符圖形的字符輸出方法,其特征在于1)從字符字典中取出給定字符代碼的字符圖形顯示信息;(2)判斷是否對給定字符界框內(nèi)的字符圖形大小進行變更;(3)在對字符圖形大小進行變更時,按字符圖形顯示信息,計算出決定字符圖形放大縮小條件的參數(shù)值;(4)據(jù)該參數(shù)值,判斷是否對字符圖形進行放大縮小;(5)在對字符圖形進行放大縮小時,據(jù)該參數(shù)值決定字符圖形的放大縮小率;(6)用該字符圖形的放大縮小率,對包含在字符圖形信息中的字符圖形顯示座標(biāo)值進行放大或縮小,(7)為了使字符界框內(nèi)的特定的顯示位置不變,通過對上一步中求得的顯示座標(biāo)值進行修正后,再移動字符圖形;(8)根據(jù)由上述處理得到的字符圖形的顯示座標(biāo)值,形成顯示字符圖形所必需的詳細(xì)顯示信息,然后再輸出字符圖形。
19.如權(quán)利要求18所述的字符輸出方法,其特征在于用輸出字符的骨架點座標(biāo)及字符的粗細(xì)參數(shù)作為包含在字符圖形顯示信息中的顯示座標(biāo)值。
20.如權(quán)利要求18所述的字符輸出方法,其特征在于把字符圖形面積占字符界框面積的比率作為第(3)步的參數(shù)。
21.如權(quán)利要求18所述的字符輸出方法,其特征在于在第(5)步中,對該字符圖形的放大縮小率進行限制,以使字符圖形輸出到字符界框中。
全文摘要
把輸出字符代碼、相鄰字符代碼及字符尺寸讀入字處理器后,從存貯字符圖形信息及字符圖形放置基準(zhǔn)點的位置信息的字符字典讀出信息,把輸出字符的字符圖形與相鄰字符的字符圖形進行比較,決定輸出字符的字符圖形的放大縮小比率,修正輸出字符的字符圖形的放置位置以具有與相鄰字符之間良好平衡性的字符圖形把輸出字符輸出到字符界框內(nèi)。
文檔編號G09G5/24GK1039134SQ8910425
公開日1990年1月24日 申請日期1989年6月23日 優(yōu)先權(quán)日1988年6月24日
發(fā)明者鍵政秀子, 武田健二, 上原徹三, 下位憲司, 國西元英 申請人:株式會社日立制作所