專利名稱:帶有對(duì)裝入的字體進(jìn)行選擇性訪問的字體管理程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及對(duì)安裝在計(jì)算機(jī)上的字體進(jìn)行的管理方法,更具體地,涉及當(dāng)作出對(duì)在計(jì)算機(jī)上運(yùn)行的應(yīng)用程序中使用的字體進(jìn)行選擇時(shí)確定提供給用戶的字體的方法。
個(gè)人計(jì)算機(jī)上圖形用戶環(huán)境的日益普及及字處理與桌面印刷能以“所見即所得(WYSIWYG)”的方法實(shí)現(xiàn)的方便已使人們知道可用在這些程序中的各式各樣的字體。隨著人們對(duì)字體的更多理解,他們開始認(rèn)識(shí)到外觀大致相似的字體之間的微妙差別。再者,適用于新聞報(bào)道的字體并不適用于技術(shù)文件。從而,為特定的應(yīng)用采用“合適”的字體是重要的。結(jié)果,熱切的計(jì)算機(jī)用戶想要在他們的收集中不斷地增加字體并可能發(fā)現(xiàn)他們已名義上在他們的系統(tǒng)上裝入了成百種字體。
保持這些字體安裝著以便能夠立即使用它們保證永遠(yuǎn)能得到所需要的字體,但也能使為在特定應(yīng)用中使用而選擇一種想要的字體的任務(wù)有些令人膽怯。通常,允許選擇字體的應(yīng)用向用戶提供裝入的所有字體的菜單供進(jìn)行選擇。從安裝在系統(tǒng)上的數(shù)百種字體中取出一種的難度足以令人泄氣,而最終引導(dǎo)用戶在選擇字體菜單時(shí)通過刪除(卸掉)許多字體而減少列出的字體數(shù)目。以前裝入以后刪除的字體仍繼續(xù)作為原始字體數(shù)據(jù)文件存在于計(jì)算機(jī)的硬盤驅(qū)動(dòng)器上,但它們不裝在圖形用戶系統(tǒng)中,因而在應(yīng)用中有必要選擇一種字體時(shí)不能提供給用戶。
然而,通過卸掉一些字體來對(duì)付太多字體問題存在著明顯的缺點(diǎn)。如果在減少了裝入的一些字體之后,隨后用戶運(yùn)行需要原先裝入但后來又刪掉的字體之一的應(yīng)用時(shí),用戶必須重新裝入字體。例如,如果用戶需要打開包含原先裝入后來又刪掉的字體之一的文件時(shí),必須重新裝入該字體。然而如果經(jīng)常重復(fù),字體的裝入與卸掉可能是令人厭煩的。作為替代,用戶能接受操作系統(tǒng)從依然裝入的字體中選擇一種替代字體,但替代字體可能與原來字體匹配甚差以致不能接受。此外,替代字體可能產(chǎn)生長(zhǎng)度不同的行而導(dǎo)致分頁(yè)的改變。
很清楚,所需要的是能提供用戶以短而可管理的字體清單但并不需要卸掉從這一短清單中排除的字體并因而在應(yīng)用需要時(shí)可以得到該字體的一種字體管理程序。需要裝入的字體的任何應(yīng)用,即使該字體不在提供給用戶的清單中仍應(yīng)提供給指定該字體的文件使用。對(duì)于未安裝的字體,應(yīng)提供與所要求的字體最相似的替代字體。字體的特征應(yīng)定義得客觀,從而在選擇一種字體供特殊使用時(shí)不致強(qiáng)制用戶單純依靠聽起來相似的名稱。再者,在從可供利用的字體中為特定作業(yè)選擇“正確”的字體時(shí),應(yīng)向用戶提供幫助。本發(fā)明致力于這些問題。
按照本發(fā)明,提供了用于管理裝在運(yùn)行在計(jì)算機(jī)上的系統(tǒng)中的多種字體的方法。該方法包括下述步驟使用戶能夠通過從這多種字體中選擇特定的字體而建立裝在系統(tǒng)上的多種字體的一個(gè)子集。即使不包含在該子集中,這多種字體也能供運(yùn)行在計(jì)算機(jī)上的應(yīng)用在文件中訪問與使用。用戶能在子集中分別增加或刪除字體,不影響裝在系統(tǒng)上的多種字體且不影響運(yùn)行在計(jì)算機(jī)上的應(yīng)用在文件中使用這多種字體的可獲得性。當(dāng)用戶決定為應(yīng)用選擇一種在文件中使用的字體時(shí),只顯示用戶所定義的字體子集。由于選擇能從少于裝在系統(tǒng)上的許多字體中作出,這樣顯示的字體子集減少用戶在選擇一種字體中的困惑。
本方法還包括定義多種不同字體子集的步驟,各子集中包含用戶選擇的供運(yùn)行在計(jì)算機(jī)上的對(duì)應(yīng)的不同類型的應(yīng)用在文件中使用的字體。在計(jì)算機(jī)上運(yùn)行的應(yīng)用在文件中使用裝在系統(tǒng)上的多種字體中任何要求的字體,其中包含該子集中所不包含的字體。
使用戶能選擇一種字體的步驟還包括用圖形將多個(gè)字體參數(shù)提供給用戶的步驟。用戶選擇特定的字體參數(shù)來確定要包含在子集中的字體。
此外,本方法包括建立裝在系統(tǒng)上的多種字體的與用戶作出的任何選擇無關(guān)的應(yīng)用專用的子集的步驟。當(dāng)用戶決定選擇一種對(duì)應(yīng)的應(yīng)用在文件中使用的字體時(shí),便將該應(yīng)用專用的子集提供給用戶。用戶可對(duì)應(yīng)用專用的字體子集進(jìn)行改變。
本方法的另一步驟為使用戶能在使用以前從未曾裝在系統(tǒng)上的多種特殊字體中選擇字體以包含在子集中。然而,這些字體只是列出在裝在系統(tǒng)上的多種字體中。當(dāng)用戶從子集中選擇一種特殊字體供運(yùn)行在計(jì)算機(jī)上的應(yīng)用在文件中使用時(shí),所選擇的特殊字體是利用定義該特殊字體的特征的數(shù)據(jù)“實(shí)時(shí)”(on-the-fly)生成的。
又另一步驟為顯示裝在系統(tǒng)上的多種字體的樣品使用戶能從裝在系統(tǒng)上的多種字體中選擇包含在子集中的字體。這時(shí),這種選擇是基于字體的視覺外觀的。
將子集中的字體提供給用戶最好供在計(jì)算機(jī)上的圖形操作系統(tǒng)下運(yùn)行的應(yīng)用在文件中使用。本方法可以包含提供字體顧問程序(fontadvisor)的步驟,該字體顧問程序推薦包含到子集中的特定字體供在對(duì)應(yīng)的特定類型文件中使用。這時(shí)使用戶能夠選擇字體的步驟還包括使用戶能從影響字體顧問程序所推薦的特定字體的多種風(fēng)格中進(jìn)行進(jìn)一步選擇的步驟。
通過參考下面結(jié)合附圖所作的詳細(xì)描述更好地理解本發(fā)明時(shí),其上述方面及許多伴隨的優(yōu)點(diǎn)會(huì)更易理解,附圖中
圖1為展示先有技術(shù)中如何進(jìn)行字體管理的方框圖;圖2為展示包含本發(fā)明所提供的改進(jìn)的字體管理系統(tǒng)的方框圖;圖3為展示按照本發(fā)明如何將字體菜單清單提供給用戶及如何為應(yīng)用得到字體的流程圖;圖4為展示在新的字體管理系統(tǒng)中如何將字體菜單清單提供給用戶的詳細(xì)的流程圖;圖5為展示如何得到供在應(yīng)用中使用的字體的流程圖;圖6為展示如何得到替代字體的流程圖;圖7為展示使用戶能改變字體菜單清單的步驟的流程圖;圖8示出使用戶能在菜單清單中增加字體的步驟的進(jìn)一步細(xì)節(jié);圖9為使用戶能夠選擇增加到字體菜單清單中的字體而提供的屏幕顯示;以及圖10為在用戶啟動(dòng)字體顧問程序來為一種特殊類型的應(yīng)用協(xié)助選擇一種字體時(shí)所實(shí)現(xiàn)的步驟的流程圖。
圖1為在功能上展示先有技術(shù)中用于在諸如個(gè)人計(jì)算機(jī)等計(jì)算機(jī)上管理字體的選擇與使用的字體管理范例的方框圖。通常將字體,即用名稱標(biāo)識(shí)字體的文件及描述與定義構(gòu)成字體的字符的外形或形狀的原始字體數(shù)據(jù)文件,存儲(chǔ)在計(jì)算機(jī)的硬盤10中。在計(jì)算機(jī)上運(yùn)行的操作系統(tǒng)中提供了裝入應(yīng)用程序12及系統(tǒng)字體管理程序14供裝入選中的存儲(chǔ)在硬盤10上的字體。具體地,在建立諸如微軟公司的視窗(WINDOWSTM)圖形用戶接口操作系統(tǒng)等圖形用戶接口操作系統(tǒng)時(shí),用戶利用系統(tǒng)字體管理程序14來裝入存儲(chǔ)在硬盤10上的所選擇的字體作為原始字體數(shù)據(jù)。當(dāng)系統(tǒng)字體管理程序14令裝入應(yīng)用程序12裝入一種特定字體時(shí),便將該字體加入所裝入的字體文件16的字體清單中。在視窗圖形用戶接口操作系統(tǒng)中,這一文件便是win.ini文件。文件16中裝入的字體便是在計(jì)算機(jī)上運(yùn)行的應(yīng)用程序可得到的字體。具體地,供給程序(supplier)20提供應(yīng)用程序18與文件16中裝入的字體之間的接口。供給程序20是構(gòu)成圖形用戶接口系統(tǒng)的軟件的一部分。
當(dāng)諸如字處理程序等應(yīng)用18的任何一種請(qǐng)求一種字體時(shí),供給程序20在文件16中列出的裝入字體中搜索所請(qǐng)求的字體,并在可以得到時(shí),將所請(qǐng)求的字體提供給應(yīng)用。如果所請(qǐng)求的字體不在文件16中的裝入字體清單中,供給程序20提供通常由圖形接口操作系統(tǒng)根據(jù)所請(qǐng)求的字體與裝入字體的名稱之間的相似性選擇的一種替代字體。
通過選擇器24將文件16中的裝入字體的訪問權(quán)給予諸如字處理程序等應(yīng)用18之一的用戶22。例如當(dāng)用字處理應(yīng)用編寫文件時(shí),在字處理應(yīng)用中激活字體菜單時(shí)用戶便能選擇列出的字體之一。然后用戶在激活字體菜單時(shí)顯示的文件16中的裝入字體中選擇一種,然后字處理程序請(qǐng)求選擇程序24通過供給程序20提供選中的字體。
從圖1中可知應(yīng)用18與用戶22只能訪問文件16中列出的裝入字體,再者,這一裝入字體清單可以也可以不包括包含在硬盤10上的所有字體。從而,如果應(yīng)用18之一通過供給程序20請(qǐng)求一種并非文件16中裝入字體之一但為存儲(chǔ)在硬盤10上的字體之一的字體,該應(yīng)用便不能使用該字體。而是供給程序20從文件16中的裝入字體清單中選擇一種替代品。類似地,選擇程序24在用戶激活字體菜單時(shí)只使文件16中的裝入字體清單可供用戶22用于選擇,但該清單中可以不包括所有存儲(chǔ)在硬盤10上的字體。
為了使用戶與應(yīng)用能夠使用存儲(chǔ)在硬盤10上但不包含在文件16中的裝入字體清單中的字體,首先必須用系統(tǒng)字體管理程序14及裝入程序12裝入該字體。另一方面,如果裝入的字體清單16變得太長(zhǎng)使得用戶22難于從諸如列出上百種裝入字體的菜單中選擇一種字體,通常會(huì)利用系統(tǒng)字體管理程序14與裝入程序12卸掉某些字體。如在上面發(fā)明背景中所述,一旦卸掉了一種字體,除非重新裝入,它便不再能被應(yīng)用或用戶利用。
如上文中的討論所述,在先有技術(shù)字體管理程序系統(tǒng)中,當(dāng)選擇了一個(gè)字體菜單項(xiàng)時(shí)必須頻繁地使用系統(tǒng)字體管理程序14及裝入程序12來維護(hù)提供給用戶的一張可管理的字體清單及提供各種應(yīng)用中所建立的文件中所需要的字體。換言之,在先有技術(shù)字體管理系統(tǒng)中,存在著頻繁地裝入與卸掉字體的趨勢(shì),這通常是一種令人厭煩與耗時(shí)的工作。
圖2的方框圖示出本發(fā)明如何解決這一問題。具體地,本發(fā)明包括一個(gè)生成字體菜單清單28的字體管理程序26、一個(gè)選擇程序30及一個(gè)供給程序32。如同圖1中所示的先有技術(shù)系統(tǒng),原始字體數(shù)據(jù)文件是存儲(chǔ)在硬盤驅(qū)動(dòng)器34上的,并且用與裝入程序38結(jié)合的系統(tǒng)字體管理程序36將字體裝入列出裝入的字體的文件40中(諸如視窗圖形用戶接口操作系統(tǒng)的win.ini文件中)。然而與先有技術(shù)字體管理系統(tǒng)不同,字體管理程序26生成文件40中列出的裝入字體全體的子集的字體菜單清單。當(dāng)應(yīng)用42中任何一個(gè)的用戶22激活字體菜單來選擇字體時(shí),選擇程序30只使字體菜單向用戶顯示包含在字體菜單清單28之一中的字體。從而,通過利用字體管理程序26建立適當(dāng)組合與確定尺寸的字體菜單清單28,向用戶提供特別適用于要選擇的字體的應(yīng)用的更易管理的字體清單。
即使向用戶提供的是作為裝入字體40的子集的字體菜單清單,應(yīng)用42仍可通過供給程序32訪問文件40中全部裝入的字體。考慮諸如這樣一種情況,在其中利用字處理程序來操作包含一種或多種不包含在字體菜單清單28中但包含在裝入字體清單40中的字體的文件。字處理程序通過經(jīng)由供給程序32訪問它們而能在諸如打印文件中使用這些字體,即使它們?cè)诩せ钭痔幚沓绦虻淖煮w菜單時(shí)不在顯示給用戶的字體中。
為了提供應(yīng)用程序42對(duì)存儲(chǔ)在硬盤34中的字體的全方位訪問,系統(tǒng)字體管理程序36及裝入程序38被用來將硬驅(qū)動(dòng)器34上的所有字體裝入文件40中的裝入字體清單中。然后,應(yīng)用40便可經(jīng)由供給程序32對(duì)所有裝入字體40進(jìn)行訪問。即使非常大數(shù)量的字體存在于裝入字體清單40中,也能用字體管理程序26來建立顯示給用戶在任何特定的應(yīng)用42中有選擇使用的較小的、更易管理的字體菜單清單。最好字體菜單清單28中包括通用字體菜單清單及應(yīng)用專用的字體群,在通用字體菜單清單中包括不考慮應(yīng)用的較常用的字體。字體管理程序26能有選擇地生成缺省的通用字體菜單清單及缺省的應(yīng)用專用字體群。一個(gè)應(yīng)用的缺省的應(yīng)用專用字體群可以只包含在該應(yīng)用初始裝入圖形用戶操作系統(tǒng)時(shí)裝入的字體。另外,包含在一個(gè)應(yīng)用專用字體群中的字體也能使用列出多個(gè)應(yīng)用42與對(duì)應(yīng)的適用于這些應(yīng)用中各個(gè)的推薦字體的查找表(未示出)來確定,來為各裝在硬盤上的應(yīng)用生成應(yīng)用專用群,在各該群中包含同時(shí)裝在硬盤上且列出在文件40中的推薦字體。然后用戶能使用字體管理程序26通過在缺省的字體群中增加或刪除用戶選擇的字體而修正任何字體菜單清單28。也曾設(shè)想包含在應(yīng)用專用的群中的字體能根據(jù)適用于裝在圖形用戶操作系統(tǒng)中的各種應(yīng)用的裝入字體的特定特征來確定。例如,某些包含書寫公式中使用的數(shù)字符號(hào)的字體可包含在字體管理程序26為用于解數(shù)學(xué)問題的應(yīng)用程序MATHCADTM生成的應(yīng)用專用字體群中(如果包含在裝入字體中)。
現(xiàn)在已經(jīng)一般性地描述了本發(fā)明,下面將參照其余的圖更詳細(xì)地描述本發(fā)明。圖3為展示選擇程序30及供給程序32的操作的流程圖。應(yīng)用42生成的字體命令被字體管理系統(tǒng)截獲。在較佳實(shí)施例中,在視窗圖形用戶接口操作系統(tǒng)中裝入的構(gòu)成本發(fā)明的軟件改變System.ini文件,使得應(yīng)用或用戶之一每一次試圖選擇一種字體時(shí),便發(fā)生這種截獲。這一過程示出在每當(dāng)截獲一條字體命令50時(shí)開始執(zhí)行的圖3的流程圖中。如果用戶請(qǐng)求激活字體菜單來選擇一種字體,便檢索出字體菜單清單28之一并顯示給用戶,如一般性地用框52與54示出的,它們表示選擇程序30執(zhí)行的步驟。另一方面,如果一個(gè)應(yīng)用請(qǐng)求一種特殊字體,使用供給程序32檢索該字體(或者所請(qǐng)求的字體未裝在文件40中時(shí),一種替代字體),如一般性地用框56與58所示。
更具體地,在截獲字體命令50時(shí),邏輯首先判定該字體命令是否請(qǐng)求將字體清單列舉顯示給用戶,如詢問60所示。如果是,便從字體菜單清單28中檢索出應(yīng)用專用字體群(對(duì)應(yīng)于當(dāng)時(shí)運(yùn)行的應(yīng)用的)或通用字體菜單清單(框52)。圖4中示出如何完成這一步驟的細(xì)節(jié)。在收到一條“列舉”命令62時(shí),便檢索字體菜單清單28中的應(yīng)用專用的字體群,如框64所示。然后在詢問66中,作出判定是否存在用于生成該“列舉”命令的應(yīng)用的應(yīng)用專用字體群。如果存在對(duì)應(yīng)的應(yīng)用專用字體群,便將該應(yīng)用專用字體群格式化以作為字體菜單清單顯示,如框68所示。然后將格式化的菜單返回給生成“列舉”命令的應(yīng)用,如框70所示,使顯示給用戶的輸出為格式化的字體菜單清單54。
反之,如果在詢問66判定并不存在對(duì)應(yīng)于作出“列舉”命令的特定應(yīng)用的應(yīng)用專用字體群,便將包含在字體菜單清單28的清單中的常用字體菜單清單格式化成菜單,如框72所示。然后在框70中將這一常用字體菜單清單返回,作為格式化的字體菜單清單顯示給用戶。
如果字體命令50并非請(qǐng)求列舉字體清單,程序控制從詢問60流至詢問74(圖3)。在詢問74,作出關(guān)于該字體命令50是否是請(qǐng)求使用特殊字體X的判定。如果是,從操作系統(tǒng)得出裝入字體的清單40。具體地,如框58中所示,從文件40中所列的裝入字體中檢索出所請(qǐng)求的字體X,或者如果字體X不存在于文件40中所列出的裝入字體中時(shí),則或者實(shí)時(shí)(on-the-fly)生成適當(dāng)?shù)淖煮w(“專用字體”)或者從裝入字體清單中得出替代字體。下面討論在框58中實(shí)現(xiàn)的這些代替品的細(xì)節(jié)。
圖5中的流程圖示出專門用于檢索字體的步驟。框76中請(qǐng)求字體X的字體命令首先通過判定字體X是否是用必須專門處理的關(guān)鍵字所標(biāo)識(shí)而加以處理。例如,在圖5中所示的較佳實(shí)施例中,字“OTHER”(“其它”)可以是包含在字體菜單清單28中的作為提供或顯示給用戶的可能選擇之一的一個(gè)關(guān)鍵字。如果選擇了這一選擇項(xiàng),便允許用戶選擇沒有用字體菜單清單28之一中的名稱專門列出的一種字體。反之,向用戶提供確定字體的外觀的各種參數(shù)的屏幕顯示,使得用戶能通過從這些參數(shù)中選擇來指定字體。圖9中示出為這一目的提供給用戶的屏幕的一個(gè)實(shí)例。如果用戶不知道想要的字體的名稱但知道想要的字體的外觀時(shí),他可以選擇“OTHER”(“其它”)。以這一方式,即使將通常相對(duì)地小的字體菜單清單28之一提供給用戶,通過選擇“OTHER”項(xiàng),用戶也能得到對(duì)其它字體的訪問,諸如所有裝入的字體40或?qū)崟r(shí)生成的特殊字體之一。具體地,在詢問78中,作出關(guān)于字體X是否是“OTHER”選擇的判定。如果是,向用戶提供象圖9中那樣擴(kuò)展的字體菜單屏幕,對(duì)此下面要詳細(xì)討論,并使用戶能選擇或指定一種實(shí)際字休,如框80所示。另外,通過選擇“OTHER”,將向用戶提供文件40中所有裝入字體的清單。在初始選擇“OTHER”的基礎(chǔ)上選擇或指定一種實(shí)際字體X時(shí),能夠有選擇地將選擇的或指定的字體加在用戶選擇“OTHER”的特定字體菜單清單28上。也可以只是簡(jiǎn)單地檢索或?qū)崟r(shí)生成所選擇的字體而不將該字體加到字體菜單清單上。
不管怎樣,如圖5的流程圖中其余的步驟所示的那樣得到所選擇的字體X。如果在判定框78中判定出并未選擇“OTHER”選擇項(xiàng),則執(zhí)行這些步驟來得到字體X。首先,如判定框82所示,作出關(guān)于字體X是否裝在文件40中的字體清單中的判定。如果裝入了字體X,便從裝入字體中檢索該字體。具體地,向操作系統(tǒng)作出對(duì)字體X的請(qǐng)求,如框84中所示。然后,如框86中所示,將所請(qǐng)求的字體返回給生成請(qǐng)求字體命令的應(yīng)用42,并且圖5中所示的過程的輸出為一種字體,如框88所示。
反之,如果在判定框82中判定出字體X不在文件40中列出的裝入字體中,便試圖實(shí)時(shí)生成該字體。具體地,用本發(fā)明的軟件提供某些特殊字體并將其加在文件40中列出的裝入字體中,但并不實(shí)際定義或描述在硬盤驅(qū)動(dòng)器上的諸如傳統(tǒng)的TRUE TYPETM字體等用于大多數(shù)其它字體的類型的任何原始數(shù)據(jù)文件中。反之,提供包括PANOSETM數(shù)及其它非傳統(tǒng)規(guī)范數(shù)據(jù)的字體生成數(shù)據(jù)90用于實(shí)時(shí)地生成這些特殊字體的所有字符。一種字體的PANOSETM數(shù)是一個(gè)多位數(shù),其每一位指定該字體的一種特定特征。字體生成數(shù)據(jù)90的其余部分為精調(diào)PANOSETM數(shù)的使用來更精確地確定包含在文件40中的字體清單中的特殊字體的各字符的參數(shù)。存儲(chǔ)字體生成數(shù)據(jù)而不是象傳統(tǒng)字體那樣全部裝入特殊字體的優(yōu)點(diǎn)在于這些特殊字體的字體生成數(shù)據(jù)只需要數(shù)千字節(jié)數(shù)據(jù)而不是用于定義傳統(tǒng)字體的字符所需的數(shù)十或數(shù)百千字節(jié)數(shù)據(jù),從而使用較少的系統(tǒng)硬盤驅(qū)動(dòng)器存儲(chǔ)器用于各特殊字體。具體地,在框92中,檢索字體生成數(shù)據(jù)。然后在判定框94中作出關(guān)于字體X是否能從字體生成數(shù)據(jù)90生成的判定。如果是,便根據(jù)字體生成數(shù)據(jù)90實(shí)時(shí)生成該字體,如在框96中所示。然后將生成的字體返回給請(qǐng)求該字體的應(yīng)用,如框86所示。
反之,如果在判定框94判定字體X不能從字體生成數(shù)據(jù)90生成,可能是因?yàn)樗?qǐng)求的字體不在過去裝入的特殊字體中,便確定一種替代字體,如框98所示。圖6的流程圖中示出用于得出替代字體的特定步驟。參見該圖,在接收到替代字體X的請(qǐng)求100時(shí),首先作出關(guān)于用戶選擇了哪一個(gè)字體替代過程的判定,如框102所示。在圖6中所示的較佳實(shí)施例中,或者指定供給程序32來找出替代字體,或者要求圖形用戶接口操作系統(tǒng)來得出替代字體,這取決于用戶的早先選擇。如果已選擇了圖形用戶接口操作系統(tǒng)來找出替代字體,它遵循傳統(tǒng)的步驟,如框104所示,導(dǎo)致輸出替代字體,如框108所示。
通常,圖形用戶接口操作系統(tǒng)根據(jù)字體名稱關(guān)聯(lián)映射過程從文件40中的裝入字體清單中尋找替代字體。不幸的是,這種方案通常不能產(chǎn)生。與所請(qǐng)求的字體非常好的匹配,并且替代字體的外觀可能與所要的差別很大。結(jié)果,替代字體的寬度經(jīng)常與所請(qǐng)求的不同,從而改變了使用該字體的文件的行的總體對(duì)齊,導(dǎo)致采用替代字體的文件中的頁(yè)碼改變。字體特征中的這一改變及其在頁(yè)碼上的后果能在這些文件的外觀上產(chǎn)生明顯的影響,并且在諸如這些文件內(nèi)的圖表或其它插圖的放置上具有明顯的影響。
從而,用戶通常希望令供給程序32提供使用由本發(fā)明提供的更復(fù)雜的替代過程的一種替代字體。在圖6中所示的較佳實(shí)施例中,供給程序32首先確定是否能生成一種替代字體,如判定框110中所示。如果否,供給程序按照框112通過比較所請(qǐng)求的字體的PANOSETM數(shù)與裝入的字體的PANOSETM數(shù),傳統(tǒng)的與特殊的兩者,來確定一種替代字體,而在裝入字體中找出最佳匹配。對(duì)于文件40中列出的任何裝入字體的PANOSETM數(shù)的請(qǐng)求字體替代字體將在PANOSETM數(shù)的特定位之間具有最小的差別。通過使用這一PANOSETM映射技術(shù),選擇裝入字體中最接近的匹配字體作為所請(qǐng)求的字體的替代字體,如框114所示。然后邏輯進(jìn)行到框108,產(chǎn)生替代字體。
反之,如果在判定框110中能生成替代字體,便實(shí)時(shí)生成一種字體,如框116所示。具體地,利用由所請(qǐng)求的字體的PANOSETM數(shù)構(gòu)成的字體生成數(shù)據(jù)90來生成與請(qǐng)求的字體的矩陣匹配的替代字體,即總體高度與寬度,及它的許多其它特征。不管如何得到替代字體,圖6所示的進(jìn)程的輸出為替代字體,如框108中所示。
如果在圖3中的判定框74中判定出字體命令50并不請(qǐng)求一種字體,則在框118中將字體命令50傳遞給圖形用戶接口操作系統(tǒng)去實(shí)現(xiàn)與本發(fā)明無關(guān)的功能。在這一情況中,字體命令既非“列舉”命令也非“請(qǐng)求字體”命令。該字體命令是在框120中實(shí)現(xiàn)的。
參照?qǐng)D7中的流程圖描述字體管理程序26生成字體菜單清單28的操作。字體管理程序26使用戶能增加或刪除包含在應(yīng)用專用字體群與通用字體菜單清單中的字體。通過改變字體菜單清單28,用戶便能定制選擇程序30提供給用戶的字體清單。圖7中所示的進(jìn)程從用戶作出的字體菜單改變請(qǐng)求130開始。在判定框132與134中分別對(duì)關(guān)于用戶要?jiǎng)h除還是增加一種字體到一個(gè)特定的字體菜單清單中作出判定。如果用戶并不想刪除或增加字體,用戶便輸入了不適當(dāng)?shù)恼?qǐng)求。在這一情況中,進(jìn)程的輸出便是框136中的一個(gè)出錯(cuò)指示。
如果在判定框132中判定出用戶想要?jiǎng)h除一種特定字體X,便從字體菜單清單28中選擇的一張中去掉該字體,如框138中所示。用戶應(yīng)答字體管理程序26中的對(duì)話來選擇要改變的字體菜單清單,而選擇特定字體菜單清單的步驟并未具體示出在圖7中。從選定的字體菜單清單中去掉字體X之后,便發(fā)送一條指令到使用這一字體菜單清單的所有應(yīng)用來更新它們的字體菜單,如框140中所示。該進(jìn)程的輸出為框142中的一條字體菜單更新指令。如果在判定框134中判定出用戶請(qǐng)求增加一種字體,便要求用戶選擇或指定要增加的字體X,如框144中一般性地指出的。
用戶選擇了要增加的一種字體之后遵循的實(shí)際步驟示出在圖8的流程圖中,它從框150中的一個(gè)“增加字體”菜單改變請(qǐng)求開始。向用戶提供用于選擇要增加到菜單清單中的字體的字體選擇接口的選擇,如框152所示。圖8示出兩種不同字體選擇接口的進(jìn)程。一種字體選擇接口提供文件40中列出的所有裝入字體的名稱并使用戶能選擇裝入字體之一供增加到菜單清單中。另一字體選擇接口向用戶提供顯示多個(gè)字體參數(shù)的屏幕,用戶從中選擇來指定字體。圖9中示出這一屏幕的示范拷貝。
如果采用字體名稱接口格式,便顯示文件40中列出的所有裝入字體的菜單,如框154中所示。這一字體選擇接口還向用戶提供用圖形顯示列出的字體的樣品,借此使用戶能根據(jù)字體的外觀進(jìn)行選擇,以及還能根據(jù)字體的名稱選擇。顯示在菜單中的字體名稱清單可包含實(shí)時(shí)生成的特殊字體,如前面說明的。要求用戶從框156中列出的字體中選擇一種,而所選擇的字體便是圖8中所示的進(jìn)程的輸出,如框158中所示。
反之如果選擇了參數(shù)字體選擇接口格式,框160的步驟導(dǎo)致顯示字體參數(shù)選擇接口屏幕。圖9示出字體參數(shù)選擇接口的一種可能的格式。圖9中所示的顯示屏幕包含允許用戶在各種字體參數(shù)中進(jìn)行指定或選擇的屏幕162。圖9中所示的參數(shù)164中包含重量、對(duì)比度、筆劃寬度、比例、襯線方式及X高度。提供了一條FIND(尋找)命令166來令字體管理程序從文件40中的裝入字體中尋找與所選擇的參數(shù)匹配的一種特定的字體或多種字體。如果尋找到一種或多種符合選定的字體參數(shù)的字體,便提供一個(gè)圖形展示窗口168來顯示各該字體170的名稱,連同展示由找到的字體之一構(gòu)成的各種字符的樣品172。在屏幕162的窗口174中示出了字體的大寫與小寫字符的放大圖。還提供了其它圖形選擇項(xiàng)來幫助用戶選擇與設(shè)定字體參數(shù)。例如,如窗口176與178所示,在諸如用鼠標(biāo)器在字體參數(shù)輸入面板之一上“卡嗒”時(shí),窗口176便打開,顯示改變比例字符間隔參數(shù)時(shí)字體的外觀如何變化,并且窗口178打開以圖形來顯示能用鼠標(biāo)在所示樣品之一上“卡嗒”來選擇的各種襯線方式。
不論采用什么特定的參數(shù)選擇接口,用戶都必須選擇特定的字體參數(shù),如圖8的框182中所示。然后在判定框184中,作出關(guān)于文件40中所列出的任何裝入字體是否與用戶選擇的特定參數(shù)設(shè)定值匹配的判定。如果是,便向用戶提供這些匹配字體的清單并要求用戶選擇字體之一,如框186所示。匹配的字體清單也能作為圖9中所示的字體選擇接口屏幕的一部分提供。
反之,如果在判定框184判定出沒有與用戶選擇的特定參數(shù)設(shè)定值匹配的裝入字體,便利用字體生成數(shù)據(jù)90(從選擇的字體參數(shù)的對(duì)應(yīng)PANOSETM數(shù)中導(dǎo)出的)實(shí)時(shí)生成與設(shè)定值匹配的字體,如框188所示。然后將生成的字體加在文件40中列出的裝入字體清單中,如框190所示。不論在圖8的流程中跟隨通過哪一條路徑,框158中的進(jìn)程的輸出為要加在用戶選擇的特定菜單清單上的字體。在圖7中的框194中將選擇的字體加到菜單清單中。將字體加到菜單清單中之后,便指示使用該字體菜單清單的應(yīng)用更新它們的字體菜單,如框140所示。
字體管理程序26提供幫助用戶為一種特定類型的文件選擇一種字體的另一特征。具體地,用戶能啟動(dòng)一個(gè)字體顧問程序,如圖10中框200中所示。一旦選定,字體顧問程序功能便向用戶顯示若干不同類型的文件清單,其中包括新聞通訊,電子表格、圖象、報(bào)告、簡(jiǎn)歷、日程、標(biāo)號(hào)、菜單、雜志、信件/備忘錄、書本、傳真等。同時(shí)顯示的還有使用戶能夠選擇正式或非正式形式的按鈕及使用戶能選擇所要求的效果的兩個(gè)清單框。效果中包含現(xiàn)代官方、老式、傳統(tǒng)嚴(yán)肅、柔和、奇異、漂亮、黯淡、優(yōu)雅、鮮艷、友好、有趣、結(jié)實(shí)等。所列出的各種類型文件及風(fēng)格效果是從字體顧問數(shù)據(jù)庫(kù)204中抽取的。響應(yīng)用戶作出的選擇,字體管理程序利用從字體顧問數(shù)據(jù)庫(kù)中抽取的信息確定適用于用戶所選擇的文件類型及風(fēng)格的多個(gè)字體對(duì),如框206中所示。按照框208將推薦的字體對(duì)顯示給用戶,從而用戶能選擇要使用的字體對(duì)。顯示中包含字體的樣品以幫助用戶作出選擇。各字體對(duì)包含適用于選擇的文件類型中的一種顯示字體及一種正文字體。
將用戶選擇的字體對(duì)加到字體菜單清單28中,如框210中所示。然后字體管理程序指示在計(jì)算機(jī)上運(yùn)行的應(yīng)用更新它們各自的字體菜單,如框212中所示。框214提供實(shí)現(xiàn)這一指示的結(jié)果為更新了字體菜單。
已經(jīng)公開了本發(fā)明的較佳實(shí)施例供與WINDOWSTM圖形用戶接口操作系統(tǒng)結(jié)合使用。然而,也設(shè)想本發(fā)明結(jié)合裝在其它操作系統(tǒng)中的管理字體也是有用的,諸如蘋果公司的SYSTEM7TM操作系統(tǒng),以及甚至不是真正圖形用戶接口類型的操作系統(tǒng)中。
雖然已例示與描述了本發(fā)明的較佳實(shí)施例,可以理解能夠作出各種改變而不脫離本發(fā)明的精神與范圍。
權(quán)利要求
1.一種管理裝在計(jì)算機(jī)上運(yùn)行的操作系統(tǒng)中的多種字體的方法,包括下述步驟(a)使用戶能夠通過從所述多種字體中選擇特定的字體而建立裝在操作系統(tǒng)中的多種字體的一個(gè)子集,所述多種字體即使不包含在該子集中也能供運(yùn)行在計(jì)算機(jī)上的應(yīng)用程序在文件中得到訪問與使用;(b)使用戶能夠在子集中分別增加與刪除字體,而不影響裝在操作系統(tǒng)中的多種字體且不影響在計(jì)算機(jī)上運(yùn)行的任何應(yīng)用在文件中得到使用這多種字體;以及(c)當(dāng)用戶決定選擇一種字體在文件中使用時(shí),只顯示用戶定義的字體子集,所述子集通過在用戶選擇字體時(shí)顯示比裝在操作系統(tǒng)中的全體多種字體少的字體而減少用戶在選擇所述字體中的困惑。
2.根據(jù)權(quán)利要求1的方法,還包括定義多種不同子集的步驟,各子集中包含用戶選擇來供計(jì)算機(jī)上運(yùn)行的對(duì)應(yīng)不同應(yīng)用在文件中使用的字體。
3.權(quán)利要求1的方法,其中在計(jì)算機(jī)上運(yùn)行的應(yīng)用使用來自裝在系統(tǒng)上的包括在子集中不包含的字體在內(nèi)的多種字體的應(yīng)用需要在文件中使用的任何字體。
4.權(quán)利要求1的方法,其中使用戶能夠選擇字體的步驟進(jìn)一步包括用圖形將多個(gè)字體參數(shù)提供給用戶的步驟,用戶指定與選擇字體參數(shù)來確定要包含在子集中的字體。
5.權(quán)利要求1的方法,其中使用戶能夠選擇字體的步驟進(jìn)一步包括用圖形將多個(gè)字體參數(shù)提供給用戶的步驟,用戶指定與選擇字體參數(shù)來確定將在文件中使用的字體。
6.權(quán)利要求5的方法,其中該子集包含一個(gè)非字體項(xiàng),用戶選擇該非字體項(xiàng)來指明文件中使用的字體將通過用戶指定與選擇字體參數(shù)來確定。
7.權(quán)利要求1的方法,還包括建立至少開始時(shí)與用戶作出的任何字體選擇無關(guān)的裝在系統(tǒng)上的多種字體的一個(gè)應(yīng)用專用子集,當(dāng)用戶在運(yùn)行對(duì)應(yīng)的應(yīng)用時(shí)決定選擇要使用的字體時(shí),便將所述應(yīng)用專用子集顯示給用戶。
8.權(quán)利要求1的方法,還包括使用戶能夠從在使用以前未裝在系統(tǒng)上而只不過是列出在裝在系統(tǒng)上的多種字體之中的多種專用字體中選擇供包含在子集中的字體的步驟,用戶從子集中選擇所述專用字體之一供計(jì)算機(jī)上運(yùn)行的應(yīng)用之一在文件中使用,使得利用定義所述那種專用字體的特征的數(shù)據(jù)實(shí)時(shí)地生成所述那種專用字體。
9.權(quán)利要求1的方法,還包括顯示裝在系統(tǒng)上的多種字體的樣品,使用戶能根據(jù)字體的視覺外觀從裝在系統(tǒng)上的多種字體中選擇供包含在子集中的字體的步驟。
10.權(quán)利要求1的方法,其中該操作系統(tǒng)包括一個(gè)圖形用戶接口。
11.權(quán)利要求1的方法,還包括提供推薦包含在子集中的專用字體供對(duì)應(yīng)的特定類型應(yīng)用在不同類型的文件中使用的字體顧問程序的步驟。
12.權(quán)利要求11的方法,還包括使用戶能從多個(gè)字體對(duì)中進(jìn)行選擇的步驟,各所述字體對(duì)包括一種正文字體及一種顯示字體供在用戶標(biāo)識(shí)的文件類型中使用。
13.權(quán)利要求1的方法,還包括當(dāng)選擇的所述字體不在裝在操作系統(tǒng)中的多種字體中時(shí),生成具有與用戶選擇的字體相匹配的特征的替代字體以包含在子集中的步驟。
14.權(quán)利要求13的方法,其中的替代字體是根據(jù)用戶選擇的字體的PANOSETM數(shù)實(shí)時(shí)生成的。
15.權(quán)利要求1的方法,還包括當(dāng)所請(qǐng)求的所述字體不在裝在操作系統(tǒng)中的多種字體中時(shí),生成具有與應(yīng)用之一所請(qǐng)求的字體匹配的特征的替代字體的步驟。
16.權(quán)利要求15的方法,其中的替代字體是根據(jù)一個(gè)應(yīng)用程序所請(qǐng)求的字體的PANOSETM數(shù)實(shí)時(shí)生成的。
17.一種用于管理字體及用于選擇字體供在計(jì)算機(jī)上的圖形操作系統(tǒng)下運(yùn)行的應(yīng)用使用的方法,包括下述步驟(a)向用戶提供裝在圖形操作系統(tǒng)中的字體的清單;(b)使用戶能隱藏裝在圖形操作系統(tǒng)中的至少一種字體,以定義包含少于所有裝在圖形操作系統(tǒng)中的字體的一張字體菜單;(c)使用戶能改變字體菜單中的字體;以及(d)使裝在圖形操作系統(tǒng)上的字體,即使所述字體是隱藏的及并不包含在字體菜單中,也能被請(qǐng)求它們的任何應(yīng)用得到供在文件中使用。
18.權(quán)利要求17的方法,其中使用戶隱藏所述至少一種字體的步驟包括使用戶能通過從裝在圖形操作系統(tǒng)中的字體清單選擇要包含的字體而用圖形識(shí)別要包含在字體菜單中的字體的步驟。
19.權(quán)利要求17的方法,其中裝在系統(tǒng)上的字體的清單中包含沒有裝在圖形操作系統(tǒng)中的特殊字體,除名稱外,而是由在計(jì)算機(jī)上運(yùn)行的應(yīng)用在文件中使用時(shí)實(shí)時(shí)生成的特殊字體。
20.權(quán)利要求19的方法,其中的特殊字體是用指定影響各特殊字體的視覺外觀的特征的數(shù)據(jù)定義的,所述數(shù)據(jù)的大小明顯地小于定義裝在圖形操作系統(tǒng)中的傳統(tǒng)字體的字符集所需的數(shù)據(jù)。
21.權(quán)利要求20的方法,其中該數(shù)據(jù)包括PANOSETM數(shù)。
22.權(quán)利要求21的方法,還包括為未曾裝在圖形操作系統(tǒng)中但應(yīng)用程序在使用文件時(shí)請(qǐng)求的一種特殊字體指定一種替代字體的步驟,所述替代字體是通過根據(jù)所請(qǐng)求的特定字體與替代字體的PANOSETM數(shù),從包含在字體清單中的字體中選擇一種特殊字體而指定的,使得替代字體基本上與應(yīng)用程序?yàn)樵谖募惺褂枚?qǐng)求的所述特定字體匹配。
23.權(quán)利要求17的方法,還包括將來自裝在圖形操作系統(tǒng)中的多種字體中的選擇的字體組合成多個(gè)不同的群的步驟,其中構(gòu)成各所述群的字體是根據(jù)用戶選擇的字體特征確定的。
24.權(quán)利要求17的方法,還包括用圖形向用戶顯示多個(gè)不同字體參數(shù)的步驟,使用戶能從多個(gè)字體參數(shù)中選擇與設(shè)定特定的參數(shù)以確定包含在字體菜單中的字體。
25.權(quán)利要求17的方法,還包括建議用戶采用特定的字體供在計(jì)算機(jī)上運(yùn)行的一個(gè)應(yīng)用程序使用的步驟。
26.權(quán)利要求17的方法,還包括使在計(jì)算機(jī)上運(yùn)行的一個(gè)應(yīng)用程序能夠確定裝在圖形操作系統(tǒng)中的字體的一個(gè)子集供在文件中使用的步驟,所述子集包含在運(yùn)行該應(yīng)用程序時(shí)提供給用戶供在文件中選擇與使用的一張字體菜單中。
27.權(quán)利要求17的方法,還包括在計(jì)算機(jī)上運(yùn)行的一個(gè)應(yīng)用程序請(qǐng)求一種特定字體供在文件中使用時(shí),為未曾裝在操作系統(tǒng)中的該特定字體生成一種替代字體的步驟,該替代字體是用該特定字體的PANOSETM數(shù)產(chǎn)生的。
28.權(quán)利要求17的方法,還包括在用戶選擇一種特定字體供在文件中使用時(shí),為未曾裝入操作系統(tǒng)中的該特定字體生成一種替代字體的步驟,該替代字體是利用該特定字體的PANOSETM數(shù)產(chǎn)生的。
29.權(quán)利要求17的方法,還包括向用戶顯示多個(gè)字體特征,及使用戶能通過選擇與設(shè)定字體特征指定供計(jì)算機(jī)上運(yùn)行的一個(gè)應(yīng)用在文件中使用的一種字體的步驟。
30.權(quán)利要求29的方法,其中的多個(gè)字體特征是響應(yīng)用戶在字體菜單中選擇一個(gè)非字體名稱項(xiàng)而顯示給用戶的。
全文摘要
一種用于管理裝在計(jì)算機(jī)上的多種不同字體的方法。多種字體的原始數(shù)據(jù)存儲(chǔ)在計(jì)算機(jī)硬盤(34)上的文件中。至少某些用原始數(shù)據(jù)定義的字符集的字體是裝在運(yùn)行在計(jì)算機(jī)上的圖形用戶接口操作系統(tǒng)中的。裝入的字體列出在一個(gè)文件(40)中。本方法使用戶(22)能建立每當(dāng)想要選擇一種字體供應(yīng)用在文件中使用時(shí)便顯示給用戶的一個(gè)或多個(gè)字體菜單清單(28)。字體菜單清單為裝在操作系統(tǒng)上的字體的完整的清單的子集。應(yīng)用(42)能訪問裝在系統(tǒng)上的任何字體,但每當(dāng)用戶必須選擇一種字體供文件中使用時(shí),所顯示的是當(dāng)時(shí)在計(jì)算機(jī)上運(yùn)行的應(yīng)用所適用的字體的較有限的清單,減少了關(guān)于應(yīng)考慮的適用字體的困惑。如果在應(yīng)用需要在文件中使用的字體未曾裝入時(shí),也利用PANOSE
文檔編號(hào)G06F17/21GK1149345SQ95193179
公開日1997年5月7日 申請(qǐng)日期1995年3月29日 優(yōu)先權(quán)日1994年4月1日
發(fā)明者C·D·麥昆三世, B·P·包爾邁斯特, J·L·施塔切克, M·S·迪勞倫提斯, G·G·布魯斯 申請(qǐng)人:惠普公司