專利名稱:用于縮放字體的布置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種方法、一種實(shí)施該方法的裝置、和一種系統(tǒng)、以及一種計(jì)算機(jī)軟件產(chǎn)品,以用于由電子裝置所使用的字體縮放,在該方法中,通過利用可縮放的矢量字體來表示字符。
已經(jīng)為計(jì)算機(jī)系統(tǒng)開發(fā)了所謂的基于字符的表示格式?;谧址某绦蚝徒涌诎ㄗ鳛樾》綁K陣列的顯示元件,這些小方塊中的每個(gè)可以包含一個(gè)字符。在這些基于字符的系統(tǒng)中,要顯示在顯示元件上的所有信息,例如字母、數(shù)字、空格、以及圖形符號(hào),都被理解為字符。
目前,在基于圖形的計(jì)算機(jī)程序中,術(shù)語“字符”通常表示字母、數(shù)字和標(biāo)點(diǎn)符號(hào)?;趫D形的計(jì)算機(jī)程序處理作為像素矩陣的顯示元件,該像素矩陣由數(shù)百萬的不同像素組成,并且通過點(diǎn)亮或者著色某些像素以在顯示元件上組成所期望的圖案,該像素矩陣被用來形成字符和其它對(duì)象。
不管表示方式如何,必須將字符轉(zhuǎn)換為對(duì)于計(jì)算機(jī)具有可理解意義的二進(jìn)制碼。在許多系統(tǒng)中,通過利用標(biāo)準(zhǔn)化編碼系統(tǒng)來實(shí)施這個(gè)轉(zhuǎn)換。與普通的通信語言一樣,標(biāo)準(zhǔn)化字符編碼系統(tǒng)使得傳遞信息以及在計(jì)算機(jī)和各種類型的其它電子裝置之間進(jìn)行通信成為可能。
存在各種標(biāo)準(zhǔn)化字符編碼系統(tǒng)。較老的基于字符的DOS(磁盤操作系統(tǒng))程序使用所謂的ASCII系統(tǒng)(美國信息交換標(biāo)準(zhǔn)碼)?;谖④浀腤indows操作系統(tǒng)的程序使用所謂的ANSI系統(tǒng)(美國國家標(biāo)準(zhǔn)學(xué)會(huì))。WWW瀏覽器(萬維網(wǎng))又典型地使用所謂的ISO Latin 1系統(tǒng)(國際標(biāo)準(zhǔn)組織),它的官方名稱是ISO-8859-1。也已經(jīng)開發(fā)了所謂的統(tǒng)一碼字符系統(tǒng),它的官方名稱是ISO-10646,并且它試圖覆蓋所有現(xiàn)有的字符語言以及還試圖表示所有的科學(xué)符號(hào)。例如,該統(tǒng)一碼字符系統(tǒng)被用于最新的Windows操作系統(tǒng)中。
所述字符系統(tǒng)同樣是已知的,并且將沒有必要在本文中對(duì)它們進(jìn)行更詳細(xì)的討論。
例如,當(dāng)在顯示裝置上或者通過打印機(jī)輸出字符時(shí),字體是指給定字符集的外部格式和類型。除了給定的字體類型之外,字體還定義字符的大小和間距。例如“Times New Roman”是定義使用所述類型的字符形式的字體類型,但是例如在不同的大小、斜體、粗體等方面,存在使用“Times New Roman”字體類型的不同字體。圖2示出常見字體的一些例子。
以前,由于計(jì)算機(jī)系統(tǒng)的基于字符的特性,所以字體的選擇相對(duì)較小。通常,所有的字母和符號(hào)由以固定間距的簡單字體來表示。目前,基于圖形的操作系統(tǒng)和應(yīng)用程序使得使用相當(dāng)大的字體選擇成為可能。大部分基于圖形的操作系統(tǒng)已經(jīng)包括大量的字體選擇,并且除此之外,還可以下載新字體以供操作系統(tǒng)稍后使用,例如與新打印機(jī)的安裝有關(guān)。
電子裝置,例如計(jì)算機(jī)、外圍設(shè)備、個(gè)人數(shù)字助理(PDA)和移動(dòng)電話,通常對(duì)于字體使用兩種不同的輸出格式位圖字體和矢量字體。當(dāng)使用位圖字體時(shí),通過使用點(diǎn)陣來表示每個(gè)字符,以及例如在位圖字體的打印中,打印機(jī)打印出包括在字符中的點(diǎn)。位圖字體的另一常用術(shù)語是柵格字體。位圖字體的邏輯大小是固定的,所以它在電子裝置的顯示器上或者在打印中的物理尺寸(寬×高)取決于該裝置的分辨率(例如每英寸的像素)。考慮到存儲(chǔ)器消耗,位圖字體沒有矢量字體效率高,因?yàn)樵陔娮友b置中位圖字體的實(shí)現(xiàn)需要為每個(gè)字體尺寸生成單獨(dú)的位圖集。尤其在帶有大量字符的語言版本中,這是有問題的,例如在漢字字符集中。位圖字體的優(yōu)點(diǎn)在于,它們?cè)谘b置的存儲(chǔ)器中易于存儲(chǔ)和易于從存儲(chǔ)器中檢索以及易于表示字體,因?yàn)榘ㄔ谧煮w中的信息基于位圖。位圖字體的缺點(diǎn)是它們的存儲(chǔ)器消耗,因?yàn)閷?duì)于每個(gè)字體尺寸都必須有單獨(dú)的字體集。
另一種字體表示形式是所謂的矢量字體。在矢量字體中,每個(gè)字符的形式是通過數(shù)學(xué)矢量按照幾何學(xué)定義的。例如,字符的形式可以通過連續(xù)的段以這樣的方式來定義,即通過連續(xù)的段,字符的形式可以通過相加矢量的和來按照數(shù)學(xué)產(chǎn)生。按照它們最簡單的形式,段可以是帶有定義的起點(diǎn)和終點(diǎn)的直線。定義矢量字體的外觀的屬性不包括尺寸;也就是,對(duì)于不同尺寸的字體,沒有單獨(dú)的定義。因?yàn)樗臄?shù)學(xué)性質(zhì),所以通過縮放定義該形式的段的起點(diǎn)和終點(diǎn)坐標(biāo)以及段的尺寸(長度、曲率等),可以容易地使矢量字體的形式成為不同的尺寸。結(jié)果,沒有必要如同位圖字體的情形那樣在電子裝置中為每個(gè)字體尺寸存儲(chǔ)單獨(dú)的字體集。矢量字體也非常適合于具有高分辨率的電子裝置,其中矢量字體的可縮放性發(fā)揮了自己的能力。
在本申請(qǐng)的上下文中,術(shù)語矢量字體也包括所謂的輪廓字體和筆劃字體。輪廓字體通常是由各種筆劃和曲率指令形成的,并且字體可以進(jìn)行縮放和旋轉(zhuǎn)。在輪廓字體的情況下,在定義了輪廓后,在它們之間留下的區(qū)域用像素填滿,以形成最終的字體描述。筆劃字體又由各種筆劃和曲率指令形成,但是筆劃字體沒有用于定義字符的輪廓以留下在字符之間要填滿的任何空間。筆劃字體可以以與輪廓字體相同的方式進(jìn)行縮放和旋轉(zhuǎn),但是由于它們更簡單的描述,所以對(duì)于筆劃字體描述所需的存儲(chǔ)容量比輪廓字體所需的小。
矢量字體也存在問題。當(dāng)繪制非常小的字符時(shí),有可能在相鄰線彼此接觸時(shí)字符變得不清楚。尤其在字符復(fù)雜并包括大量彼此接近的筆劃的語言中,這是主要問題,例如在漢字字符集中。
現(xiàn)有技術(shù)的裝置中的典型解決方案是包括位圖字體或者每個(gè)有問題字符的提示數(shù)據(jù)和字體尺寸。光柵器(rasterizer)是一種程序,它接收字體的描述作為它的輸入,并根據(jù)該描述來生成用于在顯示裝置上輸出的位圖描述。典型地,光柵器是電子裝置的操作系統(tǒng)或打印機(jī)應(yīng)用程序的一部分。當(dāng)為給定的字符生成位圖描述時(shí),光柵器進(jìn)行下列步驟-從電子裝置的存儲(chǔ)器中讀取給定字符的輪廓描述;-將該輪廓描述縮放到所期望的尺寸以及所期望的分辨率;-以這樣的方式可能地校正縮放的輪廓描述,即該輪廓描述按照它的輪廓盡可能均勻(即抗混疊);-用像素填充字符輪廓內(nèi)部剩余部分。
除了矢量字體外,如果在電子裝置的存儲(chǔ)器裝置中也發(fā)現(xiàn)了要產(chǎn)生的字符的嵌入位圖字體,那么典型地用嵌入位圖字體來代替矢量字體。嵌入位圖字體與除了矢量字體外已經(jīng)嵌入電子裝置的字體包中并且可用的位圖字體相關(guān),如果由光柵器產(chǎn)生的矢量字體的質(zhì)量太差的話。根據(jù)現(xiàn)有技術(shù)使用嵌入位圖字體的問題與僅僅使用位圖字體是一樣的,也就是,字體包的總尺寸相對(duì)增加,尤其是在具有大量字符的字體集中,因?yàn)楸仨毥o每個(gè)字體尺寸提供單獨(dú)的位圖。
在本發(fā)明的布置中,對(duì)于裝置的不同功能塊具有有限存儲(chǔ)容量的電子裝置涉及另一個(gè)問題。尤其是在諸如個(gè)人數(shù)字助理和移動(dòng)通信裝置之類的小型便攜式電子裝置中,目的是通過使實(shí)施該裝置所需的部件的數(shù)量和尺寸最小化來實(shí)現(xiàn)緊湊尺寸、低功耗和低制造成本。一個(gè)這樣的部件是電子裝置的存儲(chǔ)器。另一方面,目的是向裝置的用戶提供盡可能良好的操作環(huán)境、它的應(yīng)用程序和用于這些應(yīng)用程序的用戶界面選項(xiàng)。一個(gè)這樣的特征是字體,不同語言版本和字符的顯示在裝置的顯示器上盡可能清楚。
在現(xiàn)有技術(shù)的布置中,可能出現(xiàn)一種情況,其中字符的可讀性,尤其是對(duì)于小矢量字體和復(fù)雜字符集,是如此差以至于用戶在裝置的顯示器上不再能讀出它們,并且在這種問題的情況下,裝置的存儲(chǔ)器沒有空間來存儲(chǔ)和使用嵌入位圖字體。
現(xiàn)在已經(jīng)發(fā)明了對(duì)現(xiàn)有技術(shù)的改進(jìn),以改進(jìn)由電子裝置的操作系統(tǒng)所支持的字體大小的縮放。通過現(xiàn)在發(fā)明的本布置,在下述情況下改善了電子裝置的可用性,其中由電子裝置的操作系統(tǒng)所支持的字體包包括大量字符,必要時(shí)對(duì)于其應(yīng)該能夠生成幾種不同的字體尺寸。通過現(xiàn)在發(fā)明的本布置,利用嵌入矢量字體來改進(jìn)由電子裝置所使用的字體縮放。根據(jù)本發(fā)明由電子裝置使用的矢量字體包對(duì)于單個(gè)字符包括至少兩個(gè)矢量字體描述,所述描述對(duì)于不同大小的字體進(jìn)行優(yōu)化。以這種方式,完全避免了嵌入位圖字體的使用。在根據(jù)本發(fā)明的嵌入矢量字體的優(yōu)化過程中,將這些對(duì)于可理解性和可讀性最重要的字符的特性傳達(dá)給用戶是重要的。尤其是在基于筆劃的字符中,例如漢字字符,某些筆劃、筆劃的數(shù)量或方向比其它的更重要,并且目的是以字符的重要特征在每個(gè)嵌入矢量字體中突出顯示這樣的方式來強(qiáng)調(diào)這些。還有可能對(duì)于某些復(fù)雜字符創(chuàng)建比對(duì)于較簡單字符更大量的嵌入矢量字體,從而優(yōu)化存儲(chǔ)器消耗和字符的可讀性。
現(xiàn)在發(fā)明的本布置可以應(yīng)用于任何電子裝置和任何應(yīng)用程序。
根據(jù)本發(fā)明的第一方面,實(shí)施一種用于通過利用可縮放矢量字體來輸出字符的方法,其特征在于,對(duì)于所述可縮放矢量字體,定義至少第一和第二可縮放的矢量字體,它們可以代替彼此,以及為了優(yōu)化字符的可讀性,選擇所述的至少第一和第二可縮放的矢量字體之一以用于表示該字符。
根據(jù)本發(fā)明的第二方面,實(shí)施一種電子裝置,其包括在電子裝置中存儲(chǔ)可縮放矢量字體的裝置、以及定義通過利用可縮放矢量字體來輸出字符的方式的裝置,其特征在于,該電子裝置也包括對(duì)于所述矢量字體來定義至少第一和第二可替換、可縮放矢量字體的裝置,以及還為了優(yōu)化字符的可讀性,用于選擇所述至少第一和第二可縮放矢量字體中一種矢量字體以用來表示字符的裝置。
根據(jù)本發(fā)明的第三方面,實(shí)施一種計(jì)算機(jī)軟件產(chǎn)品,其包括通過利用可縮放矢量字體在電子裝置中生成字符的機(jī)器可執(zhí)行程序指令、用于表示字符的程序指令,其特征在于,該計(jì)算機(jī)軟件產(chǎn)品還包括用于下述的程序指令對(duì)于所述可縮放矢量字體,將至少第一和第二可縮放矢量字體定義為可以代替彼此,以及選擇所述至少第一和第二可縮放矢量字體中的一種矢量字體以用于輸出字符和用于優(yōu)化字符的可讀性。
根據(jù)本發(fā)明的第四方面,實(shí)施一種系統(tǒng),其包括服務(wù)器、至少一個(gè)電子裝置、用于在電子裝置和服務(wù)器之間提供數(shù)據(jù)傳輸連接的裝置、用于定義可縮放矢量字體的裝置、以及用于定義通過利用可縮放矢量字體來輸出字符的形式的裝置,其特征在于,該系統(tǒng)還包括對(duì)于所述矢量字體,將至少第一和第二可縮放矢量字體定義為可以代替彼此的裝置,用于將所述第一和第二可替換、可縮放的矢量字體從服務(wù)器傳送到電子裝置的裝置,以及除此以外,為了優(yōu)化字符的可讀性,用于選擇所述的至少第一和第二可縮放矢量字體中的一種矢量字體以用于字符的輸出的裝置。
通過本發(fā)明獲得了相當(dāng)多的優(yōu)點(diǎn)。當(dāng)應(yīng)用根據(jù)本發(fā)明的方法時(shí),有可能避免嵌入位圖字體的使用,以及尤其是在具有大量字符的基于筆劃的字符語言的使用中,有可能在顯示裝置或者打印機(jī)中產(chǎn)生比現(xiàn)有技術(shù)的矢量字體更好和更詳細(xì)的輸出格式。另外,由電子裝置中的字體包所需的存儲(chǔ)空間小于在現(xiàn)有技術(shù)的嵌入位圖字體情況下所需的存儲(chǔ)空間。
在下文中,將參考附圖更詳細(xì)地描述本發(fā)明,其中
圖1以簡圖示出了可以應(yīng)用本發(fā)明的布置,圖2示出一些不同尺寸的已知字體類型,圖3示出在顯示裝置上對(duì)于不同字體尺寸的現(xiàn)有技術(shù)縮放方法的視圖,圖4以簡化流程圖說明根據(jù)現(xiàn)有技術(shù)的方法,圖5以簡化流程圖說明根據(jù)本發(fā)明的一個(gè)實(shí)施例的方法,以及圖6以簡化框圖示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的電子裝置的功能,其對(duì)本發(fā)明是重要的。
參考圖1,以簡化框圖示出了可以應(yīng)用本發(fā)明的布置。電子裝置10包括顯示裝置1、用于控制電子裝置10的功能的處理器2、用于存儲(chǔ)應(yīng)用軟件和在使用電子裝置10期間需要的數(shù)據(jù)的存儲(chǔ)器裝置3、用于輸入數(shù)據(jù)的輸入裝置4、以及用于在電子裝置10和服務(wù)器7之間建立數(shù)據(jù)傳輸連接8的數(shù)據(jù)傳輸裝置6。提供打印機(jī)5以用于打印來自電子裝置10的數(shù)據(jù)。由電子裝置10使用的矢量字體也被存儲(chǔ)在存儲(chǔ)器裝置3中。服務(wù)器7包括用于定義和存儲(chǔ)矢量字體的裝置,以及服務(wù)器7可以是被布置成與電子裝置10進(jìn)行數(shù)據(jù)傳輸連接8的任何裝置。例如,通過利用無線連接RF(例如移動(dòng)通信網(wǎng)或者無線局域網(wǎng))、短程無線連接BT(例如Bluetooth)、紅外連接IR或者電纜連接COM可以實(shí)施數(shù)據(jù)傳輸連接6。在服務(wù)器7中也提供相應(yīng)的數(shù)據(jù)傳輸裝置(圖中未示出)。
參考圖2,示出了三種已知的字體類型。第一種字體是“Times New Roman”(由Monotype公司擁有的商標(biāo))字體21,它是所謂的“True Type”或者矢量字體。因此,第一種字體是通過利用具有第一字體尺寸的現(xiàn)有技術(shù)的標(biāo)準(zhǔn)矢量字體輸出的字符串“Times New Roman”。第二種字體是“Arial”(由Monotype公司擁有的商標(biāo))字體22,它也是所謂的“True Type”或者矢量字體,并且因此該行是通過利用具有第二字體尺寸的現(xiàn)有技術(shù)的標(biāo)準(zhǔn)矢量字體輸出的字符串“Arial”。第三種字體是“Arial”(Monotype公司的商標(biāo))字體23,它也是所謂的“True Type”或者矢量字體,并且因此該行是通過利用具有第三字體尺寸的現(xiàn)有技術(shù)的標(biāo)準(zhǔn)矢量字體輸出的字符串“Arial”。第四種字體是“Arial”(由Monotype公司擁有的商標(biāo))字體24,它也是所謂的“True Type”或者矢量字體,并且因此該行是通過利用具有第四字體尺寸的現(xiàn)有技術(shù)的標(biāo)準(zhǔn)矢量字體輸出的字符串“Arial”。正如可以從不同字體尺寸和類型中看到的,不管它們的尺寸如何,字符的可讀性在打印版本中也仍然保持相對(duì)較好。
圖3示出基于根據(jù)現(xiàn)有技術(shù)的可縮放矢量字體的字體尺寸的變化。圖3a以30個(gè)像素的高度示出可縮放矢量字體的字符。典型地,利用作為所謂的語音字符的拉丁字母和數(shù)字來實(shí)施在顯示裝置上顯示的大多數(shù)文本。在語音字符中,一個(gè)符號(hào)主要表示一個(gè)音素。其它已知的語音字符集例如包括西里爾、阿拉伯和希伯來字符。在圖3a-c中,頭七個(gè)字符是上述的拉丁字母a到g。除拉丁字符以外,已知其它字符也用于表示信息。例如,在中國使用單字字符,其中一個(gè)字符表示一個(gè)單字,以及在日本使用所謂的音節(jié)字符,其典型地表示一種音節(jié)。漢字和日文字符是基于筆劃的字符,它們的細(xì)節(jié)可能是復(fù)雜的,并且當(dāng)與拉丁字符集比較時(shí),不同字符的數(shù)量是多倍的。例如在中國,最常用的單字字符的數(shù)量幾乎是10,000。此外,幾種單字和音節(jié)字符比拉丁字符更復(fù)雜。因此,由常規(guī)的顯示或打印裝置輸出字符需要高分辨率以及一種以也在小字體尺寸維持字符的可讀性這樣的方式來安排字符縮放的方法。在圖3a中,在頭七個(gè)拉丁字符a到g之后,通過利用具有30個(gè)像素的高度的現(xiàn)有技術(shù)的可縮放矢量字體來顯示23個(gè)不同的基于筆劃的字符。在基于筆劃的字符中,尤其是在該行末端的字符中,存在幾條平行的水平和垂直筆劃排列成直線。在圖3a中,這些字符的可讀性仍然相對(duì)較好,并且所有的筆劃仍然可辨別。
在圖3b中,通過利用具有16個(gè)像素的高度的現(xiàn)有技術(shù)的可縮放矢量字體來顯示字符。為了說明字符的可讀性水平,所有的字符在縮放后被伸展200%。在圖3b中,在該行末端的復(fù)雜的基于筆劃的字符的可讀性已經(jīng)受到了影響,并且所有字符中的筆劃不再是清晰可辨的。
在圖3c中,以具有10個(gè)像素的高度的現(xiàn)有技術(shù)的可縮放矢量字體來顯示字符。為了說明字符的可讀性水平,所有的字符在縮放后被伸展400%。在圖3c中,在該行末端的復(fù)雜的基于筆劃的字符的可讀性已經(jīng)非常差了,并且一些筆劃根本不再可辨別了。
在現(xiàn)有技術(shù)的布置中,為了解決上述問題,對(duì)于大的字體尺寸,例如高度至少為16個(gè)像素的字符,使用了可縮放的矢量字體,以及對(duì)于較小的字體尺寸,例如高度小于16個(gè)像素的字符,使用了位圖字體。然而,在該布置中,對(duì)于每種字體尺寸必須有單獨(dú)的位圖字體,當(dāng)與僅僅可縮放矢量字體的情形相比時(shí),這使得存儲(chǔ)字體所需的存儲(chǔ)容量顯著增加。同樣,如果所有的位圖字體沒有被存儲(chǔ)在電子裝置10的存儲(chǔ)器裝置中,那么要顯示的字符的質(zhì)量受到影響。
圖4以簡化流程圖說明根據(jù)現(xiàn)有技術(shù)的方法。輸入到顯示裝置1或者打印機(jī)5的字符例如可以基于由用戶經(jīng)由電子裝置10的鍵盤4輸入的字符,或者基于由運(yùn)行在電子裝置10中的軟件產(chǎn)生的字符。如圖4所示,運(yùn)行在電子裝置10中的文本處理應(yīng)用程序接收作為輸入的命令以產(chǎn)生新的字符41。例如,基于在該應(yīng)用程序中上述的另一字符系統(tǒng)來識(shí)別新的字符,之后,基于由用戶或者由應(yīng)用程序自身提供的定義,應(yīng)用程序?yàn)樵撟址x擇42存儲(chǔ)在電子裝置10的存儲(chǔ)器裝置3中的可縮放矢量字體。在矢量字體的選擇42后,為要被表示的字符選擇字體尺寸43,以及所述的矢量字體通過現(xiàn)有技術(shù)的方法被縮放到所期望的尺寸。當(dāng)進(jìn)一步進(jìn)行到位圖字體的控制44時(shí),除了可縮放矢量字體外,應(yīng)用程序還檢查具有所述字體尺寸的位圖字體是否能在電子裝置10的存儲(chǔ)器裝置3中為所述字體找到。如果對(duì)于所述字體尺寸找到了位圖字體,那么通過使用位圖字體47在顯示裝置1上或者在打印機(jī)5中輸出所期望的字符,以及應(yīng)用程序進(jìn)行檢查46是否有更多的字符要輸出,并且必要時(shí)它返回到下一字符的生成41。如果沒有找到位圖字體,那么通過利用現(xiàn)有的可縮放矢量字體45由顯示裝置1或者由打印機(jī)5輸出字符,以及應(yīng)用程序進(jìn)行檢查46是否有更多的字符要輸出,并且必要時(shí)它返回到下一字符的生成41。對(duì)于復(fù)雜的字符,除了矢量字體外,在現(xiàn)有技術(shù)的布置中有必要實(shí)施幾種位圖字體。這甚至更加重了現(xiàn)有技術(shù)的問題,因?yàn)楦鶕?jù)每個(gè)尺寸為每個(gè)字符定義的位圖字體或提示對(duì)電子裝置的存儲(chǔ)器構(gòu)成了明顯的負(fù)擔(dān)。
圖5以簡化流程圖示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的方法。如圖4所示,輸入到顯示裝置1或者打印機(jī)5的字符例如可以基于由用戶經(jīng)由電子裝置10的鍵盤4輸入的字符,或者基于由運(yùn)行在電子裝置10中的軟件產(chǎn)生的字符。如圖5所示,運(yùn)行在電子裝置10中的文本處理程序接收作為輸入的命令以產(chǎn)生新的字符51。例如,基于在該應(yīng)用程序中上述的另一字符系統(tǒng)來識(shí)別新的字符,之后,基于由用戶或者由應(yīng)用程序自身提供的定義,應(yīng)用程序?yàn)樽址x擇52存儲(chǔ)在電子裝置10的存儲(chǔ)器裝置3中的可縮放矢量字體。在矢量字體的選擇52之后是對(duì)將要輸出的字符選擇字體尺寸53。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,基于字體的尺寸,電子裝置10的文本處理應(yīng)用程序檢查54對(duì)于所討論的矢量字體是否已經(jīng)定義了嵌入矢量字體。尤其是對(duì)于基于筆劃的矢量字體,有可能代替單個(gè)可縮放矢量字體來創(chuàng)建對(duì)于給定范圍的字體尺寸優(yōu)化的幾個(gè)嵌入矢量字體。對(duì)于給定范圍的字體尺寸優(yōu)化的矢量字體使得下述成為可能,尤其是對(duì)于基于筆劃的字符系統(tǒng),定義矢量字體所需的參數(shù)可以以這樣的方式進(jìn)行優(yōu)化,即基于筆劃的字符的可讀性在小字體尺寸中仍然也較好。對(duì)于最簡單的字符集,例如上述的拉丁字符,如上所述,如果期望的話有可能依然只使用一種基于可縮放矢量的字體。對(duì)于漢字字符集,用于單個(gè)字體的嵌入矢量字體的數(shù)量可以基于用戶對(duì)于字體愿意占據(jù)電子裝置10的多少存儲(chǔ)容量3來確定。
在該裝置的制造階段,所述的嵌入矢量字體可以被存儲(chǔ)在電子裝置10的存儲(chǔ)器3中,和/或后來可以提供選項(xiàng)以將嵌入矢量字體例如從服務(wù)器7加載到電子裝置10中。服務(wù)器7可以是在因特網(wǎng)中提供服務(wù)的系統(tǒng)或者任何可以用于定義可縮放矢量字體并將它們傳輸?shù)诫娮友b置10的裝置。根據(jù)本發(fā)明的一個(gè)實(shí)施例,電子裝置10是移動(dòng)通信裝置,并且服務(wù)器7是計(jì)算機(jī)。因此,通過利用計(jì)算機(jī),用戶可以根據(jù)某些參數(shù)從原始的可縮放矢量字體來創(chuàng)建必要的嵌入矢量字體,將它們存儲(chǔ)在計(jì)算機(jī)的存儲(chǔ)器中,并且將必要的可縮放矢量字體傳輸給移動(dòng)通信裝置。也可能用戶利用計(jì)算機(jī)從服務(wù)提供商下載所述的可縮放矢量字體并將它們存儲(chǔ)在隨后用作服務(wù)器7的計(jì)算機(jī)中,以用于用作電子裝置10的移動(dòng)通信裝置。根據(jù)一個(gè)實(shí)施例,也可能根據(jù)給定參數(shù)從原始的可縮放矢量字體在電子裝置中創(chuàng)建嵌入字體。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,將用于基于筆劃的字符的三種可縮放嵌入矢量字體存儲(chǔ)在電子裝置10的存儲(chǔ)器裝置3中。對(duì)于小尺寸字體,例如對(duì)于不高于12個(gè)像素的字符,優(yōu)化一種可縮放嵌入矢量字體,對(duì)于中等尺寸的字體,例如對(duì)于高度至少為13個(gè)像素但不超過20個(gè)像素的字體,優(yōu)化第二種可縮放嵌入矢量字體,以及對(duì)于大尺寸字體,例如對(duì)于高度至少為21個(gè)像素的字體,優(yōu)化第三種可縮放嵌入矢量字體。
如果對(duì)于所述字體存在嵌入矢量字體,那么根據(jù)確定的字體尺寸來選擇正確的嵌入矢量字體56。此后,利用所述的嵌入矢量字體將字符縮放57到所期望的字體尺寸,以及例如由顯示裝置1或者由打印機(jī)5輸出字符58。如果對(duì)于所討論的字體不存在嵌入矢量字體,那么通過利用所選擇的可縮放矢量字體將字符縮放55到所期望的字體尺寸,并且輸出字符58。如果有更多的字符59要表示,那么該過程再次從下一字符的創(chuàng)建51繼續(xù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,有可能對(duì)于在給定字符集內(nèi)的不同字符定義不同數(shù)量的嵌入矢量字體。例如,在基于筆劃的字符系統(tǒng)中,有可能對(duì)于一個(gè)給定字符定義僅僅一個(gè)可縮放矢量字體,以及對(duì)于一個(gè)包括許多細(xì)節(jié)的復(fù)雜字符定義幾個(gè)可縮放嵌入矢量字體。
在電子裝置的應(yīng)用程序中,如果用定義“微小(Micro)”、“小(Mini)”、“正常(Normal)”和“大(Maxi)”按照增加的順序來描述不同的字體尺寸,那么用于給定字符的可縮放矢量字體的定義例如可以服從下表
在這個(gè)例子中,“字符A”在其結(jié)構(gòu)和外觀上是簡單的,并且它可以通過僅僅利用一個(gè)可縮放矢量字體“正?!眮矶x。在這個(gè)例子中,“字符B”在其結(jié)構(gòu)和外觀上又是稍微更復(fù)雜的,并且在非常小的字體中,它的盡可能清楚的輸出將需要利用可縮放矢量字體“微小”。矢量字體“微小”被定義來用于比給定字體尺寸小的字符,以及矢量字體“正?!北欢x來用于比給定字體尺寸大的字符。在這個(gè)例子中,“字符C”在其結(jié)構(gòu)和外觀上也是稍微更復(fù)雜的,并且在小字體中,它的盡可能清楚的輸出將需要利用可縮放矢量字體“小”。矢量字體“小”被定義來用于給定范圍的字體尺寸,并且矢量字體“正?!北欢x來用于所述范圍的字體尺寸之外的字符。在這個(gè)例子中,“字符D”在其結(jié)構(gòu)和外觀上又是最復(fù)雜的字符,并且它的盡可能清楚的輸出將需要利用所有四種可縮放嵌入矢量字體“微小”、“小”、“正常”和“大”。對(duì)于每種矢量字體,定義了使用其的尺寸范圍。以這種方式,有可能相對(duì)于大字符集的字體描述甚至更好地優(yōu)化電子裝置10的存儲(chǔ)容量3的消耗。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,電子裝置10的文本應(yīng)用程序并不準(zhǔn)確地知道該裝置的字體定義,但是除了要輸出的字符和字體信息外,它還建議一個(gè)給定的字體尺寸。在上述四種矢量字體的情形中,對(duì)于“字符C”,應(yīng)用程序可建議字體尺寸“微小”,并且還沒有定義這樣一個(gè)可縮放嵌入矢量字體。因此根據(jù)本發(fā)明,有可能以這樣的方式使可縮放嵌入矢量字體相互鏈接,即在缺少明確建議的矢量字體的情況下,為它選擇補(bǔ)償鏈接的矢量字體。當(dāng)分別為“字符C”和“字符B”建議“小”和“大”時(shí),鏈接的補(bǔ)償矢量字體例如可以分別是“微小”和“正?!?。通過鏈接,有可能改善電子裝置10的模塊設(shè)計(jì),其中可以將應(yīng)用程序更容易地傳送到不同的功能環(huán)境。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,嵌入矢量字體不直接依賴于字體尺寸。代之以,對(duì)于給定字體來定義幾種嵌入矢量字體,以及在圖5的塊56中,電子裝置10的應(yīng)用程序比較在不同嵌入矢量字體的幫助下創(chuàng)建的字符的可讀性,并且基于此,對(duì)于給定的嵌入矢量字體的選擇作出決定。根據(jù)一個(gè)可能實(shí)施例,為字符定義對(duì)可讀性重要的細(xì)節(jié)。例如,在漢字字符的情形中,這種細(xì)節(jié)可以是平行筆劃的數(shù)量、在字符外緣上的突出部分、各種分支的數(shù)量等等。利用嵌入矢量字體創(chuàng)建的至少兩種不同字符可以彼此進(jìn)行比較,以從這些字符中選擇一種包括對(duì)可讀性重要的更多細(xì)節(jié)的字符。根據(jù)另一實(shí)施例,基于模式識(shí)別算法,可以將利用不同嵌入矢量字體創(chuàng)建的字符與存儲(chǔ)在電子裝置中的字符模板進(jìn)行比較,并且可以基于模式識(shí)別對(duì)要表示的字符作出選擇。
圖6示出對(duì)于本發(fā)明的實(shí)施是重要的電子裝置10的部件以及用于對(duì)由用戶或者由用于顯示裝置1或打印機(jī)5的電子裝置10的應(yīng)用程序產(chǎn)生的字符進(jìn)行轉(zhuǎn)換的步驟。如圖1所示,電子裝置10包括處理單元2,其可以利用一個(gè)或多個(gè)處理器以同樣已知的方式來實(shí)現(xiàn),所述處理器例如是微處理器、數(shù)字信號(hào)處理單元等等。也可以將這個(gè)處理單元2形成為所謂的專用集成電路(ASIC)的一部分,電子裝置的其它功能也可以在其中實(shí)現(xiàn)。對(duì)于數(shù)據(jù)存儲(chǔ),電子裝置具有存儲(chǔ)器3,例如只讀存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、和/或非易失性隨機(jī)存取存儲(chǔ)器。
運(yùn)行在控制單元2中的文本應(yīng)用程序61解釋由用戶或者由裝置中的應(yīng)用程序產(chǎn)生的數(shù)據(jù)流64,并基于所期望的字符系統(tǒng),從輸入的數(shù)據(jù)流中產(chǎn)生單個(gè)字符65。對(duì)于單個(gè)字符的編碼數(shù)據(jù),必要時(shí)由文本應(yīng)用程序從電子裝置10的存儲(chǔ)器裝置3中檢索字符系統(tǒng)的所需數(shù)據(jù)。當(dāng)形成字符65時(shí),文本應(yīng)用程序61通常為了字體參數(shù)數(shù)據(jù)67(字體信息)而搜索存儲(chǔ)器3,以初始化字體并應(yīng)用它??刂茊卧?中的光柵器62再接收將要輸出的字符以及關(guān)于將要輸出的字體類型和字體尺寸的數(shù)據(jù)作為它的輸入。光柵器62包括在顯示裝置1上或在打印機(jī)5中輸出文本所需的功能。光柵器62為了字體數(shù)據(jù)68(字體細(xì)節(jié))而搜索電子裝置10的存儲(chǔ)器裝置3,例如可用的矢量字體和精確的字符專用繪制信息,并基于該數(shù)據(jù),每次繪制一個(gè)字符。根據(jù)本發(fā)明,光柵器62選擇正確的嵌入矢量字體,然后通過使用所述的嵌入矢量字體將字體縮放到所期望的尺寸。此后,光柵器62通過使用顯示器或者打印機(jī)接口63將要表示的字符的光柵數(shù)據(jù)66(光柵流)傳送給顯示裝置1或者打印機(jī)5。典型地,對(duì)于該接口63,由光柵器傳送的光柵數(shù)據(jù)66被轉(zhuǎn)換為位圖格式。
本發(fā)明具有幾個(gè)優(yōu)于現(xiàn)有技術(shù)的布置的優(yōu)點(diǎn)。例如,本發(fā)明可以應(yīng)用于無線通信裝置、個(gè)人數(shù)字助理、便攜式計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)以及任何用于向用戶表示圖形字符并用于相對(duì)于字符的可讀性同時(shí)優(yōu)化由字符占據(jù)的存儲(chǔ)器容量的電子裝置。
在本文中,已經(jīng)通過實(shí)例的方式給出了本發(fā)明的執(zhí)行過程和實(shí)施例。對(duì)于本領(lǐng)域的技術(shù)人員來說顯而易見的是,本發(fā)明不限于上面給出的實(shí)施例的細(xì)節(jié),并且本發(fā)明也可以以其他形式來實(shí)施而不偏離本發(fā)明的特征。因此,所給出的實(shí)施例應(yīng)當(dāng)被認(rèn)為是說明性的而非限制性的。實(shí)現(xiàn)并利用本發(fā)明的可能性因此僅由所附權(quán)利要求書來限定。因此,由權(quán)利要求書限定的用于實(shí)現(xiàn)本發(fā)明的各種可選方式以及等同的實(shí)現(xiàn)方式也落在本發(fā)明的范圍內(nèi)。
權(quán)利要求
1.一種通過利用可縮放矢量字體來輸出字符的方法,其特征在于,對(duì)于所述的可縮放矢量字體,定義至少第一和第二可縮放矢量字體,它們可以代替彼此;以及為了優(yōu)化字符的可讀性,選擇所述的至少第一和第二可縮放矢量字體之一以用于表示字符。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,對(duì)于所述第一和第二可縮放矢量字體,定義尺寸范圍的界限;基于所期望的字體尺寸來選擇最合適的可縮放矢量字體;以及將所述可縮放矢量字體縮放到所期望的字體尺寸。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,通過利用第一可縮放矢量字體來形成所期望的字符;通過利用第二可縮放矢量字體來形成所期望的字符;定義對(duì)于字符的可讀性重要的細(xì)節(jié);將通過利用第一和第二可縮放矢量字體形成的字符彼此進(jìn)行比較;識(shí)別對(duì)于字符的可讀性重要的細(xì)節(jié)的存在;以及基于可識(shí)別細(xì)節(jié)的量來選擇將要使用的可縮放矢量字體。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,通過檢查彼此接近的筆劃的可區(qū)別性來檢查字符的可讀性。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,對(duì)于在輸出字符中要形成的筆劃定義重要性的順序,其中通過檢查在重要性的順序上被定義為更重要的筆劃的可區(qū)別性來檢查字符的可讀性。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,基于下列項(xiàng)中的至少一個(gè)來定義重要性的順序-平行筆劃的數(shù)量,-在字符外緣的突出部分,-各種分支的數(shù)量。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,存儲(chǔ)基于模式識(shí)別算法而產(chǎn)生的字符模板;其中在模式識(shí)別的幫助下,通過比較由利用不同可縮放矢量字體創(chuàng)建的字符與所存儲(chǔ)的字符模板來檢查字符的可讀性。
8.根據(jù)權(quán)利要求1所述的方法,其中使用包括至少第一字符和第二字符的字符集,其特征在于,對(duì)于所述的第一和第二字符,分別定義可縮放矢量字體的第一和第二數(shù)量,該第一數(shù)量與第二數(shù)量不同。
9.一種電子裝置(10),包括-用于在電子裝置中存儲(chǔ)可縮放矢量字體的裝置(3);以及-通過利用可縮放矢量字體來確定字符的格式的裝置(2),其特征在于,該電子裝置(10)還包括對(duì)于所述矢量字體,定義至少第一和第二可縮放矢量字體的裝置(2,3),所述第一和第二可縮放矢量字體可以代替彼此;以及還為了優(yōu)化字符的可讀性,用于選擇所述至少第一和第二可縮放矢量字體中的一種矢量字體以用于字符的輸出的裝置(2,3)。
10.根據(jù)權(quán)利要求9所述的電子裝置(10),其特征在于,該電子裝置還包括用于定義所述第一和第二可縮放矢量字體的尺寸范圍的界限的裝置(2),用于基于所期望的字體尺寸來選擇可縮放矢量字體的裝置(2),以及用于將所選擇的可縮放矢量字體縮放到所期望的字體尺寸的裝置(2,3)。
11.根據(jù)權(quán)利要求9所述的電子裝置(10),其特征在于,該電子裝置(10)還包括通過利用第一可縮放矢量字體來產(chǎn)生所期望的字符的裝置(2,3);通過利用第二可縮放矢量字體來產(chǎn)生所期望的字符的裝置(2,3),用于定義對(duì)字符的可讀性重要的細(xì)節(jié)的裝置(2,3),用于比較利用第一和第二可縮放矢量字體所產(chǎn)生的字符的裝置(2),用于識(shí)別對(duì)利用第一和第二可縮放矢量字體形成的字符的可讀性重要的細(xì)節(jié)的裝置(2),以及用于基于所識(shí)別的細(xì)節(jié)的數(shù)量來選擇將要使用的可縮放矢量字體的裝置(2)。
12.一種包括用于下述的機(jī)器可執(zhí)行程序指令的計(jì)算機(jī)軟件產(chǎn)品-通過利用可縮放矢量字體在電子裝置(10)中產(chǎn)生字符;-表示字符;其特征在于,該計(jì)算機(jī)軟件產(chǎn)品還包括用于下述的程序指令對(duì)于所述的可縮放矢量字體,將至少第一和第二可縮放矢量字體定義為可以代替彼此,以及選擇所述的至少第一和第二可縮放矢量字體中的一種矢量字體以用于表示字符和用于優(yōu)化字符的可讀性。
13.一種系統(tǒng),包括-服務(wù)器(7),-至少一個(gè)電子裝置(10),-用于在該電子裝置(10)和該服務(wù)器(7)之間提供數(shù)據(jù)傳輸連接的裝置(6,7,8),-用于定義可縮放矢量字體的裝置(3,7),以及-通過利用該可縮放矢量字體來確定字符輸出的格式的裝置(2),其特征在于,該系統(tǒng)還包括對(duì)于所述矢量字體,定義至少第一和第二可縮放矢量字體的裝置(7),所述第一和第二可縮放矢量字體可以代替彼此;將所述的第一和第二可替換、可縮放矢量字體從服務(wù)器(7)傳送到電子裝置(10)的裝置(6,8);以及還為了優(yōu)化字符的可讀性,用于從所述的至少第一和第二可縮放矢量字體中選擇一種矢量字體以用來表示字符的裝置(2,3)。
全文摘要
本發(fā)明涉及一種通過利用可縮放矢量字體來表示字符的方法。在該方法中,對(duì)于所述矢量字體,定義至少第一和第二可縮放矢量字體,它們可以代替彼此。為了優(yōu)化字符的可讀性,選擇所述至少第一和第二可縮放矢量字體之一以用來表示字符。本發(fā)明還涉及一種電子裝置(10)、一種計(jì)算機(jī)軟件產(chǎn)品和一種系統(tǒng)。
文檔編號(hào)G06K15/02GK1906659SQ200480039477
公開日2007年1月31日 申請(qǐng)日期2004年12月22日 優(yōu)先權(quán)日2003年12月31日
發(fā)明者A·科蒂蘭塔 申請(qǐng)人:諾基亞有限公司