開發(fā)計算機(jī)程序時的許多挑戰(zhàn)中的一個挑戰(zhàn)在于,確保產(chǎn)生的應(yīng)用提供良好的用戶體驗。對于被廣泛分布的應(yīng)用,提供良好的用戶體驗涉及考慮那些用戶的許多不同的語言和其它能力。然而,軟件測試通常不能在經(jīng)濟(jì)上被具有與可能的用戶群相同的能力廣度的測試人員執(zhí)行。
用戶體驗的方面中的一個方面是應(yīng)用的圖形輸出數(shù)據(jù),諸如是它的圖形用戶界面中的顯示數(shù)據(jù)或者被輸出到打印機(jī)的數(shù)據(jù)。這樣的圖形輸出數(shù)據(jù)可以包括文本,所述文本當(dāng)被渲染時是字符與諸如是類型、大小、粗細(xì)和顏色的字體屬性的組合。其它圖形輸出數(shù)據(jù)可以包括圖像和其它用戶界面元素。開發(fā)人員可以定義針對該圖形輸出數(shù)據(jù)的規(guī)范,以確保例如可讀性、可見性和與主題或者品牌的一致性。由于計算機(jī)編程的本質(zhì)和可能存在針對不同市場和用戶類型的不同規(guī)范的事實,與這樣的規(guī)范的相符性可能無法總是出現(xiàn)。因此,與這樣的規(guī)范的相符性一般通過測試被驗證(如果有的話)。
針對圖形輸出數(shù)據(jù)與規(guī)范的相符性的測試由于幾個原因而可以是具有挑戰(zhàn)性的。人可能不能夠分辨輸出文本是否具有特定的字體大小或者其它字體屬性。人在特別如果他或者她不熟悉文本的語言的字符和那些字符應(yīng)當(dāng)如何采用給定的字體出現(xiàn)的情況下則可能不能夠分辨文本是否采用了特定的字體類型。人也可能不能夠分辨兩種非常相似的顏色之間的差別。輸出設(shè)備也可能不準(zhǔn)確地呈現(xiàn)顏色。圖形輸出數(shù)據(jù)的其它特性也可能不是可被人可見地檢測的。
技術(shù)實現(xiàn)要素:
提供本摘要以便以簡化形式介紹下面在詳細(xì)描述內(nèi)容中進(jìn)一步描述的概念的選摘。本摘要旨在既不標(biāo)識所要求保護(hù)的主題的關(guān)鍵或者基本特征也不限制所要求保護(hù)的主題的范圍。
輸出設(shè)備上的圖形輸出數(shù)據(jù)與規(guī)范的相符性可以被用于渲染所述圖形輸出數(shù)據(jù)的處理指令檢測,以確定根據(jù)那些指令被渲染的圖形輸出數(shù)據(jù)是否與所述規(guī)范相符。然后基于對相符性的該確定,渲染圖形輸出數(shù)據(jù),以使得所渲染的圖形輸出數(shù)據(jù)可見地區(qū)分相符的圖形輸出數(shù)據(jù)與不相符的圖形輸出數(shù)據(jù)。例如,可以采用一種顏色來呈現(xiàn)與指定的諸如是字體類型、大小、粗細(xì)、顏色和其它屬性的字體屬性相符的文本,并且可以利用另一種顏色呈現(xiàn)不相符的文本。這個過程可以在應(yīng)用內(nèi)當(dāng)該應(yīng)用渲染將被定向到輸出設(shè)備的圖形輸出數(shù)據(jù)時發(fā)生。這個過程可以在計算機(jī)的操作系統(tǒng)的渲染器內(nèi)發(fā)生,所述渲染器渲染用于在某些情況下同時在連接到計算機(jī)的一個或多個顯示器上顯示的一個或多個應(yīng)用的圖形用戶界面。這樣的處理可以在生成用于應(yīng)用(諸如用于打?。┑膱D形輸出數(shù)據(jù)的其它渲染器中發(fā)生。
可以使用各種各樣的技術(shù)來執(zhí)行相符性檢測。例如,在一種實現(xiàn)方式中,可以使用基于規(guī)則的處理來執(zhí)行相符性檢測。在另一種實現(xiàn)方式中,可以修改字體文件,以便為相符的文本提供采用一種顏色的字形數(shù)據(jù)并且為不相符的文本提供采用另一種顏色的字形數(shù)據(jù)。
相應(yīng)地,在一方面,圖形數(shù)據(jù)被接收到存儲器中。所述圖形數(shù)據(jù)包括用于渲染圖形輸出數(shù)據(jù)的指令。指示針對所渲染的圖形輸出數(shù)據(jù)的規(guī)范的數(shù)據(jù)也被接收到存儲器中。處理被包括在圖形數(shù)據(jù)中的指令,以確定根據(jù)那些指令被渲染的圖形輸出數(shù)據(jù)是否與所述規(guī)范相符。然后根據(jù)那些指令和關(guān)于相符性所作出的確定兩者渲染圖形輸出數(shù)據(jù),以使得所渲染的圖形輸出數(shù)據(jù)當(dāng)被呈現(xiàn)在輸出設(shè)備上(諸如是被顯示在顯示器上或者被打印在打印機(jī)上)時可見地區(qū)分相符的與不相符的圖形輸出數(shù)據(jù)。
在另一方面,渲染模塊具有用于從存儲器接收圖形數(shù)據(jù)的輸入。所述圖形數(shù)據(jù)包括用于渲染圖形輸出數(shù)據(jù)的指令。所述渲染模塊還具有用于從存儲器接收指示針對所渲染的圖形輸出數(shù)據(jù)的規(guī)范的數(shù)據(jù)的輸入。所述渲染模塊對指令進(jìn)行處理,以確定根據(jù)所述指令被渲染的圖形輸出數(shù)據(jù)是否與規(guī)范相符。然后根據(jù)所述指令和基于關(guān)于相符性所作出的確定兩者渲染圖形輸出數(shù)據(jù),以使得所渲染的圖形輸出數(shù)據(jù)當(dāng)被呈現(xiàn)在輸出設(shè)備上(諸如是被顯示在顯示器上或者被打印在打印機(jī)上)時可見地區(qū)分相符的與不相符的圖形輸出數(shù)據(jù)。
處理可以包括使用字體文件來渲染指令,其中,針對與圖形規(guī)范相符的諸如是類型、大小、粗細(xì)和顏色的字體屬性的集合的字形被編碼在顏色中,所述顏色當(dāng)被渲染時向用戶指示相符性。
圖形輸出數(shù)據(jù)可以包括具有字體屬性的集合的字符,并且規(guī)范包括可接受的字體屬性。例如,顯示數(shù)據(jù)可以包括采用一種字體類型(也被稱為外觀)的字符,并且規(guī)范可以包括可接受的字體類型。圖形輸出數(shù)據(jù)可以包括采用一種字體大小的字符,并且規(guī)范包括可接受的字體大小。圖形輸出數(shù)據(jù)可以包括采用一種顏色的字符,在此情況下,規(guī)范包括字符的可接受的顏色。也可以在規(guī)范中指定諸如是粗細(xì)、樣式、縮放因子、層、名稱等的其它屬性。
圖形輸出數(shù)據(jù)可以是針對計算機(jī)上的應(yīng)用或者操作系統(tǒng)的圖形用戶界面的??梢詮挠嬎銠C(jī)上的兩個或更多個應(yīng)用接收指令,在此情況下,可以由操作系統(tǒng)的顯示管理器針對全部兩個應(yīng)用執(zhí)行處理。圖形輸出數(shù)據(jù)也可以被定向到打印機(jī)或者其它輸出設(shè)備,并且可以出于除應(yīng)用的圖形用戶界面之外的目的。
如果確定了圖形輸出數(shù)據(jù)不與規(guī)范相符,則可以記錄關(guān)于任何用于渲染圖形輸出數(shù)據(jù)的指令的信息。
本發(fā)明可以被體現(xiàn)為計算機(jī)系統(tǒng)、這樣的計算機(jī)系統(tǒng)的任何單個部件、被這樣的計算機(jī)系統(tǒng)或者這樣的計算機(jī)系統(tǒng)的任何單個部件執(zhí)行的過程、或者包括計算機(jī)存儲裝置的制品,所述計算機(jī)存儲裝置具有存儲的計算機(jī)程序指令,并且所述計算機(jī)程序指令當(dāng)被計算機(jī)處理時將那些計算機(jī)配置為提供這樣的計算機(jī)系統(tǒng)或者這樣的計算機(jī)系統(tǒng)的任何單個部件。
在下面的描述內(nèi)容中參考了附圖,附圖形成所述描述內(nèi)容的一部分,并且在其中經(jīng)由圖示示出了該技術(shù)的具體示例實現(xiàn)方式。應(yīng)當(dāng)理解,可以使用其它實施例,并且可以作出結(jié)構(gòu)上的變更,而不脫離本公開的范圍。
附圖說明
圖1是在其中計算機(jī)系統(tǒng)支持對圖形輸出數(shù)據(jù)與規(guī)范的相符性的驗證的一個示例應(yīng)用環(huán)境的方框圖。
圖2是描述對圖形用戶界面進(jìn)行測試的一個示例過程的流程圖。
圖3是描述一個示例實現(xiàn)方式的數(shù)據(jù)流圖。
圖4是描述圖3的示例實現(xiàn)方式的操作的流程圖。
圖5是一個示例圖形用戶界面的圖。
圖6是描述一個示例實現(xiàn)方式的數(shù)據(jù)流圖。
圖7是描述圖6的示例實現(xiàn)方式的操作的流程圖。
圖8是可以利用其來實現(xiàn)這樣的系統(tǒng)的部件的一個示例計算機(jī)的方框圖。
具體實施方式
下面的小節(jié)描述了支持對圖形輸出數(shù)據(jù)與規(guī)范的相符性的驗證的一個示例計算機(jī)系統(tǒng)。
參考圖1,計算機(jī)系統(tǒng)的一個示例實現(xiàn)方式包括操作系統(tǒng)100,操作系統(tǒng)100是運(yùn)行在計算機(jī)上的管理由應(yīng)用102對該計算機(jī)的各種資源的訪問的計算機(jī)程序??梢源嬖诙鄠€應(yīng)用102。如下面結(jié)合圖8描述的那樣來實現(xiàn)所述計算機(jī)。各種資源包括存儲器、存儲裝置、輸入設(shè)備和輸出設(shè)備,諸如是顯示設(shè)備114和輸入設(shè)備116。
計算機(jī)可以是任何類型的通用或者專用計算機(jī),其諸如是平板型計算機(jī)、手持型計算機(jī)、智能電話、膝上型或者筆記本計算機(jī)、可穿戴計算設(shè)備或者任何其它的向輸出設(shè)備(諸如是顯示器或者打印機(jī))提供圖形輸出數(shù)據(jù)而不考慮大小或者環(huán)境的計算設(shè)備,下面結(jié)合圖8討論其更多細(xì)節(jié)和示例。
在結(jié)合圖1到7描述的示例實現(xiàn)方式中,圖形輸出數(shù)據(jù)是運(yùn)行在計算機(jī)上的應(yīng)用的圖形用戶界面的部分。在這個示例中,圖形輸出數(shù)據(jù)被顯示在顯示設(shè)備上,所述顯示設(shè)備是用戶通過其來使用應(yīng)用的用戶界面的部分。因此,在這個示例中,將被渲染以用于輸出的圖形數(shù)據(jù)被稱為用戶界面數(shù)據(jù)。在其它示例實現(xiàn)方式中,圖形輸出數(shù)據(jù)可以被定向到諸如是打印機(jī)的任何其它輸出設(shè)備。在打印機(jī)的情況下,將被渲染以用于輸出的圖形數(shù)據(jù)可以是將被渲染模塊渲染的打印數(shù)據(jù),所述渲染模塊是用于產(chǎn)生將被定向到打印機(jī)的圖形輸出數(shù)據(jù)的打印機(jī)驅(qū)動器的部分。
在圖1中的示例實現(xiàn)方式中,操作系統(tǒng)包括從應(yīng)用102接收用戶界面數(shù)據(jù)104的顯示管理器110。用戶界面數(shù)據(jù)是用于渲染顯示數(shù)據(jù)的指令的集合。假設(shè)該用戶界面數(shù)據(jù)104,則顯示管理器110對它進(jìn)行渲染以提供被提供給顯示設(shè)備114的顯示數(shù)據(jù)112。顯示設(shè)備114可以是連接到運(yùn)行操作系統(tǒng)100的計算機(jī)的顯示器,或者可以自身是從運(yùn)行操作系統(tǒng)100的計算機(jī)接收顯示數(shù)據(jù)112的另一個計算機(jī)的部分。類似地,應(yīng)用可以運(yùn)行在與渲染該應(yīng)用的用戶界面數(shù)據(jù)的應(yīng)用分離的計算機(jī)上,就像在基于瀏覽器的應(yīng)用的情況下那樣。正在查看顯示設(shè)備114的用戶還可以操縱一個或多個輸入設(shè)備116,以向應(yīng)用102提供各種輸入118。操作系統(tǒng)中的輸入句柄108一般將輸入118的分布處置為對各種應(yīng)用的輸入106。
在這個環(huán)境中,可以驗證顯示數(shù)據(jù)112與針對應(yīng)用102的圖形用戶界面的顯示數(shù)據(jù)定義的規(guī)范的相符性。例如作為個人的測試人員使用顯示設(shè)備114和輸入設(shè)備116通過這些應(yīng)用102的圖形用戶界面訪問計算機(jī)以使用應(yīng)用102。下面結(jié)合圖2詳細(xì)描述被這樣的測試人員使用的測試過程。
如將在下面結(jié)合圖3-7詳細(xì)描述的,顯示管理器110使用規(guī)范120來驗證圖形用戶界面中的顯示數(shù)據(jù)112(諸如是文本、圖像和其它用戶界面元素)與規(guī)范相符。具體地,用戶界面數(shù)據(jù)104被處理,以確定根據(jù)數(shù)據(jù)104被渲染的顯示數(shù)據(jù)112是否與規(guī)范120相符。然后基于對相符性的該確定,渲染顯示數(shù)據(jù)112,以使得所渲染的顯示數(shù)據(jù)可見地區(qū)分相符的顯示數(shù)據(jù)與不相符的顯示數(shù)據(jù)。例如,可以采用一種顏色來顯示與指定的字體類型、字體大小和字體顏色相符的文本,并且利用另一種顏色顯示不相符的文本。應(yīng)當(dāng)指出,顯示數(shù)據(jù)112不是如由用戶界面數(shù)據(jù)104指令的那樣被渲染,因為顯示數(shù)據(jù)112例如經(jīng)由具有特定的顏色來可見地指示該相符性。
參考圖2,現(xiàn)在將描述針對圖形用戶界面的測試過程的一個示例。類似的過程可以用于驗證被定向到打印機(jī)或者其它輸出設(shè)備的圖形輸出數(shù)據(jù)。一般地,測試人員導(dǎo)致應(yīng)用102啟動202所選擇的用戶場景的操作。例如,測試人員可以通過用戶輸入106調(diào)用搜索命令。應(yīng)用102以生成204包括響應(yīng)于所調(diào)用的命令的信息的用戶界面數(shù)據(jù)104對用戶輸入106作出響應(yīng)。顯示管理器110使用規(guī)范120對用戶界面數(shù)據(jù)110進(jìn)行處理206以生成顯示數(shù)據(jù)112,顯示數(shù)據(jù)112進(jìn)而又被導(dǎo)致顯示在顯示設(shè)備114上。測試人員可以繼續(xù)在這個場景中提供用戶輸入,如208處所指示的,這可以導(dǎo)致用戶界面被更新,并且生成用戶界面數(shù)據(jù)和使用規(guī)范120渲染用戶界面數(shù)據(jù)的過程重復(fù)進(jìn)行。如果顯示數(shù)據(jù)112指示顯示數(shù)據(jù)與規(guī)范的不相符性,則這樣的事件可以被記錄207。如210處所指示的,測試人員可以切換到另一個測試場景,并且生成用戶界面數(shù)據(jù)和使用規(guī)范120渲染用戶界面數(shù)據(jù)的過程重復(fù)進(jìn)行。測試人員可以具有各種各樣的記錄和跟蹤錯誤(即,顯示數(shù)據(jù)與標(biāo)準(zhǔn)的不相符性)的方法,可以向開發(fā)人員報告所述錯誤,以使得應(yīng)用可以被修改以糾正圖形用戶界面顯示數(shù)據(jù)。取決于實現(xiàn)方式,場景的操作、用戶輸入的提供以及用戶界面數(shù)據(jù)的相符性或者不相符性的記錄和報告可以是半自動化或者甚至自動化的。測試通常涉及創(chuàng)建使與應(yīng)用的交互自動化的腳本。
現(xiàn)在將結(jié)合圖3描述顯示管理器的一個示例實現(xiàn)方式的數(shù)據(jù)流圖。
在這個示例實現(xiàn)方式中,顯示管理器300包括具有用于從應(yīng)用接收用戶界面數(shù)據(jù)302的輸入的渲染模塊304。匹配模塊306也具有用于接收用戶界面數(shù)據(jù)302的輸入。匹配模塊具有用于接收規(guī)范308的另一個輸入。可以例如使用用于處理用戶界面數(shù)據(jù)302的規(guī)則或者任何其它適于允許匹配模塊306將用戶界面數(shù)據(jù)302與規(guī)范308進(jìn)行比較的信息來定義規(guī)范308。匹配模塊具有用于提供結(jié)果310的輸出,所述結(jié)果310指示用戶界面數(shù)據(jù)302在被渲染時是否產(chǎn)生與規(guī)范相符的顯示數(shù)據(jù)312。例如,響應(yīng)于用戶界面數(shù)據(jù),被渲染的顯示數(shù)據(jù)在如果該顯示數(shù)據(jù)與規(guī)范相符的情況下則可以具有第一顏色,并且在如果該顯示數(shù)據(jù)不與規(guī)范相符的情況下則可以具有第二顏色。第一和第二顏色是與彼此顯著不同的,以允許查看所述顯示的人輕松地在相符與不相符的顯示數(shù)據(jù)之間進(jìn)行區(qū)分。
現(xiàn)在參考圖4,現(xiàn)在將描述描述這個示例實現(xiàn)方式的操作的流程圖。
匹配模塊接收400用戶界面數(shù)據(jù),并且相對于規(guī)范對用戶界面數(shù)據(jù)進(jìn)行驗證402。驗證取決于規(guī)范數(shù)據(jù)的本質(zhì)而執(zhí)行,并且可以涉及對規(guī)則進(jìn)行處理、在查找表中查找值、對值的比較等。匹配模塊向渲染模塊輸出結(jié)果,所述渲染模塊根據(jù)驗證結(jié)果對用戶界面數(shù)據(jù)進(jìn)行渲染404??梢宰鳛橹T如是圖2中描述的過程的更大的測試過程部分包括圖4的過程,所述更大的測試過程涉及對用戶場景、用戶輸入、用戶界面數(shù)據(jù)和圖形用戶界面的顯示數(shù)據(jù)與規(guī)范的相符性或者不相符性的記錄和報告。
圖5中示出了搜索應(yīng)用的一個示例圖形用戶界面。在這個示例中,用戶界面數(shù)據(jù)定義出現(xiàn)在被渲染的顯示數(shù)據(jù)中的幾個元素,所述幾個元素包括:反映由用戶針對搜索而輸入的文本的文本框500,以及如在502處指示的針對搜索的文件名結(jié)果。在506處示出了搜索建議。在504處提供了與這個搜索界面相關(guān)的信息文本。在這個示例中,信息文本的語言采用了日語,并且搜索結(jié)果和建議采用了英語。在這個示例中,用紅色示出了相符的文本,而用灰色示出了不相符的文本。在不知道采用給定字體的字符看起來是怎樣的并且不知道在英語或者日語中的任一個中所使用的字符的情況下,任何個人可以輕松地確定在搜索文本框500和信息文本504中使用的字體與為這個應(yīng)用指定的規(guī)范相符。此外,那個個人可以輕松地確定在搜索建議506和搜索結(jié)果502中使用的字體不與規(guī)范相符。這個事實可以被渲染器自動地或者被個人記錄,并且然后被報告給應(yīng)用的開發(fā)人員,響應(yīng)于此,應(yīng)用可以被修改,以變更搜索結(jié)果和搜索建議的字體。
現(xiàn)在將結(jié)合圖6描述顯示管理器的另一個示例實現(xiàn)方式的數(shù)據(jù)流圖。在這個示例中,規(guī)范與由字體文件608中的數(shù)據(jù)所表示的諸如是字體類型(或者外觀)、大小、粗細(xì)、樣式、顏色、縮放因子、層、名稱等的字體屬性相關(guān)。可以使用本文中描述的技術(shù)來驗證任何可以在字體文件中設(shè)置并且在規(guī)范內(nèi)指定的字體屬性。
具體地,使用編輯器610和輸入614來修改將通常被渲染模塊604使用的規(guī)范字體文件612。字體文件612一般包括針對字體類型(包括采用該字體的字符的字形的位圖)、針對字體的不同大小和顏色以及其它可變參數(shù)的數(shù)據(jù)。開發(fā)人員可以例如使用標(biāo)準(zhǔn)的文本編輯器編輯字體文件612,以對字體文件612作出修改。經(jīng)修改的字體文件608然后被渲染模塊604用于渲染用戶界面數(shù)據(jù)602,以產(chǎn)生顯示數(shù)據(jù)606。
將對字體文件作出的修改一般包括變更顏色信息,以使得響應(yīng)于采用給定字體的給定字符而由字體文件向渲染模塊返回的字形在如果該字符與規(guī)范相符的情況下則具有第一顏色,并且載如果該字符不與規(guī)范相符的情況下則具有第二顏色。第一和第二顏色是與彼此顯著不同的,以允許查看顯示的人輕松地在相符與不相符的字體之間進(jìn)行區(qū)分。例如,第一和第二顏色可以具有不同的色調(diào)或者在顏色空間中的顯著不同的位置處。因此,顯示數(shù)據(jù)606當(dāng)被顯示在顯示器上時可見地區(qū)分相符與不相符的文本。
現(xiàn)在參考圖7,現(xiàn)在將描述描述這個示例實現(xiàn)方式的操作的流程圖。給定經(jīng)修改的字體文件,渲染模塊接收700將被渲染的用戶界面數(shù)據(jù)。為了這個示例的緣故,假設(shè)用戶界面數(shù)據(jù)中的任何文本將被呈現(xiàn)為文本段的集合,其中,每個文本段包括字符串、字體類型、字體大小和任何其它指定字體的數(shù)據(jù)。訪問702用戶界面數(shù)據(jù)中的任何接下來的文本段。然后訪問704字體文件,以獲得針對指定的字體的字形數(shù)據(jù)。如果文本段是與規(guī)范相符的,則該字形數(shù)據(jù)將采用第一顏色;如果文本段不是與規(guī)范相符的,則該字形數(shù)據(jù)將采用第二顏色。在生成706顯示數(shù)據(jù)時使用字形數(shù)據(jù)。如在708處指示的,如果任何文本段仍然剩余,所述過程針對接下來的文本段重復(fù)進(jìn)行。否則,如在710處指示的,針對用戶界面數(shù)據(jù)的該集合的文本處理被完成。
可以作為諸如是圖2中描述的過程的更大的測試過程的部分包括圖7的過程,所述更大的測試過程涉及對用戶場景、用戶輸入、用戶界面數(shù)據(jù)和圖形用戶界面的顯示數(shù)據(jù)與規(guī)范的相符性和不相符性的記錄和報告??梢允褂萌魏吾槍敵鲈O(shè)備對圖形數(shù)據(jù)的渲染來執(zhí)行這樣的測試過程。
還有可能檢測并且因此向測試人員傳達(dá)被渲染的圖形輸出數(shù)據(jù)是否部分上相符(或者部分上不相符)。例如,給定兩個字體屬性,可以在如果兩個屬性都是相符的情況下采用一種顏色、在如果兩個屬性都不是相符的情況下采用第二顏色或者在如果一個屬性是相符的并且另一個屬性不是相符的情況下利用特征的組合來渲染文本。例如,采用第二顏色的“光暈”效果可以包圍采用第一顏色的文本,以指示這樣的部分上的相符性??梢栽诒讳秩镜膱D形輸出數(shù)據(jù)中使用其它特征以指示部分上的相符性,只要當(dāng)被渲染的圖形輸出數(shù)據(jù)被呈現(xiàn)在輸出設(shè)備上時這樣的特征可以是可見地有區(qū)別的即可。
經(jīng)由在渲染時檢測被渲染的圖形輸出數(shù)據(jù)與規(guī)范的相符性和提供當(dāng)被呈現(xiàn)在輸出設(shè)備上時可見地區(qū)分相符與不相符的顯示數(shù)據(jù)的被渲染的圖形輸出數(shù)據(jù),解決了許多測試問題。例如,即使某個人不熟悉文本的語言的字符和那些字符應(yīng)當(dāng)如何采用給定的字體出現(xiàn),他或者她也可以更輕易地辨別文本是否與指定的字體屬性(諸如是可接受的字體類型、字體大小或者顏色)相符。
現(xiàn)在已描述了一個示例實現(xiàn)方式,圖8圖示出了可以利用其來實現(xiàn)圖1-7的系統(tǒng)的各種部件的一個示例計算機(jī)。所述計算機(jī)可以是各種各樣的通用或者專用計算硬件配置中的任一種計算硬件配置??梢员皇褂玫挠嬎銠C(jī)的類型的一些示例包括但不限于個人計算機(jī)、游戲控制臺、機(jī)頂盒、手持型或者膝上型設(shè)備(例如,媒體播放器、筆記本計算機(jī)、平板型計算機(jī)、蜂窩電話、個人數(shù)字助理、錄音機(jī))、服務(wù)器計算機(jī)、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、微型計算機(jī)、大型計算機(jī)和包括以上類型的計算機(jī)或者設(shè)備等中的任何項的分布式計算環(huán)境等等。
參考圖8,一個示例計算機(jī)800包括至少一個處理單元802和存儲器804。所述計算機(jī)可以具有多個處理單元802。處理單元802可以包括獨立于彼此操作的一個或多個處理核(未示出)。諸如是圖形處理單元820的附加的協(xié)處理單元也可以出現(xiàn)在所述計算機(jī)中。存儲器804可以是易失性的(諸如是動態(tài)隨機(jī)存取存儲器(DRAM)或者其它隨機(jī)存取存儲器設(shè)備)、非易失性的(諸如是只讀存儲器、閃存等)或者這兩者的某種組合。在圖8中由虛線806圖示出了存儲器的這種配置。計算機(jī)800可以包括附加的存儲裝置(可移除和/或非可移除的),所述附加的存儲裝置包括但不限于磁性地記錄或者光學(xué)地記錄的磁盤或者磁帶。在圖8中由可移除存儲裝置808和非可移除存儲裝置810圖示出了這樣的附加的存儲裝置。圖8中的各種部件一般經(jīng)由諸如是一個或多個總線830的互連機(jī)制被互連。
計算機(jī)存儲介質(zhì)是在其中可以在可被計算機(jī)尋址的物理存儲位置處存儲和檢索數(shù)據(jù)的任何介質(zhì)。計算機(jī)存儲介質(zhì)包括易失性和非易失性存儲器以及可移除和非可移除存儲介質(zhì)。存儲器804和806、可移除存儲器808和非可移除存儲裝置810全部是計算機(jī)存儲介質(zhì)的示例。計算機(jī)存儲介質(zhì)的一些示例是RAM、ROM、EEPROM、閃存或者其它存儲器技術(shù)、CD-ROM、數(shù)字多功能光盤(DVD)或者其它光學(xué)地或者磁光地記錄的存儲設(shè)備、盒式磁帶、磁帶、磁盤存儲裝置或者其它磁性存儲設(shè)備。計算機(jī)存儲介質(zhì)和通信介質(zhì)是互斥的介質(zhì)類別。
計算機(jī)800還可以包括允許該計算機(jī)通過通信介質(zhì)與其它設(shè)備通信的(一個或者多個)通信連接812。通信介質(zhì)通常經(jīng)由傳播諸如是載波的經(jīng)調(diào)制的數(shù)據(jù)信號或者其它通過物質(zhì)的傳輸機(jī)制來通過有線或者無線的物質(zhì)傳輸計算機(jī)程序指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其它數(shù)據(jù)。術(shù)語“經(jīng)調(diào)制的數(shù)據(jù)信號”表示這樣的信號,所述信號使它的特性中的一個或多個特性以這樣的方式被設(shè)置或者變更,即:使得將信息編碼在該信號中因此變更該信號的接收設(shè)備的配置或者狀態(tài)。作為示例而非限制,通信介質(zhì)包括諸如是有線網(wǎng)絡(luò)或者直接有線連接的有線介質(zhì)以及諸如是聲音、RF、紅外線和其它無線介質(zhì)的無線介質(zhì)。通信連接812是諸如是網(wǎng)絡(luò)接口或者無線電傳輸器的與通信介質(zhì)接合以通過通信介質(zhì)傳輸數(shù)據(jù)和從通信介質(zhì)接收數(shù)據(jù)的設(shè)備。
計算機(jī)800可以具有諸如是鍵盤、鼠標(biāo)、筆、照相機(jī)、觸摸輸入設(shè)備等的各種(一個或者多個)輸入設(shè)備814。也可以包括諸如是顯示器、揚(yáng)聲器、打印機(jī)等的(一個或者多個)輸出設(shè)備816。這些設(shè)備中的全部設(shè)備是本領(lǐng)域中公知的,并且不需要在這里被詳盡地討論。各種輸入和輸出設(shè)備可以實現(xiàn)自然用戶界面(NUI),自然用戶界面是任何使用戶能夠擺脫由諸如是鼠標(biāo)、鍵盤、遙控器等的輸入設(shè)備施加的人為約束而以“自然的”方式與設(shè)備交互的界面技術(shù)。
NUI方法的示例包括那些依賴于語音識別、觸摸和手寫筆識別、在屏幕之上和屏幕附近兩者處的手勢識別、空中手勢、頭部和眼睛跟蹤、話音和語音、視覺、觸摸、手勢和機(jī)器智能的方法,并且可以包括對觸摸敏感顯示器、話音和語音識別、意圖和目標(biāo)理解、使用深度照相機(jī)(諸如是立體照相機(jī)系統(tǒng)、紅外線照相機(jī)系統(tǒng)和其它照相機(jī)系統(tǒng)以及這些照相機(jī)系統(tǒng)的組合)進(jìn)行的運(yùn)動手勢檢測、使用加速度計或者陀螺儀進(jìn)行的運(yùn)動手勢檢測、臉部識別、三維顯示器、頭部、眼睛和凝視跟蹤、沉浸式增強(qiáng)現(xiàn)實和虛擬現(xiàn)實系統(tǒng)(這些項中的全部項提供更自然的界面)以及用于使用電場感應(yīng)電極來感應(yīng)腦活動的技術(shù)(EEG和相關(guān)的方法)的使用。
各種存儲裝置810、通信連接812、輸出設(shè)備816和輸入設(shè)備814可以與計算機(jī)的剩余部分一起被集成在機(jī)殼內(nèi),或者可以通過計算機(jī)上的輸入/輸出接口設(shè)備被連接,在此情況下,參考標(biāo)號810、812、814和816可以根據(jù)具體情況指示用于與設(shè)備的連接的接口或者設(shè)備自身。
諸如是上面在圖1中描述的系統(tǒng)中的、并且在計算機(jī)上操作的每個部件(其也可以被稱為“模塊”或者“引擎”等)可以使用計算機(jī)的一個或多個處理單元和被所述一個或多個處理單元處理的一個或多個計算機(jī)程序來實現(xiàn)。計算機(jī)程序包括諸如是程序模塊的計算機(jī)可執(zhí)行的指令和/或計算機(jī)解釋的指令,所述指令被計算機(jī)中的一個或多個處理單元處理。一般地,這樣的指令定義了當(dāng)被處理單元處理時指令該處理單元執(zhí)行對數(shù)據(jù)的操作或者將處理器或者計算機(jī)配置為實現(xiàn)各種組件或者數(shù)據(jù)結(jié)構(gòu)的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。
可以在分布式計算環(huán)境中實踐這個計算機(jī)系統(tǒng),在所述分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)鏈接的多個計算機(jī)執(zhí)行操作。在分布式計算環(huán)境中,計算機(jī)程序可以被放置在本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)兩者處。
替換地或者另外,本文中描述的各種部件中的一個或多個部件的功能可以至少部分上由一個或多個硬件邏輯部件執(zhí)行。例如而非限制性地,可以使用的硬件邏輯部件的說明性類型包括現(xiàn)場可編程門陣列(FPGA)、專用集成電路(ASIC)、專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)、片上系統(tǒng)系統(tǒng)(SOC)、復(fù)雜可編程邏輯設(shè)備(CPLD)等。
所附權(quán)利要求的前序中的術(shù)語“制品”、“過程”、“機(jī)器”和“組合物”旨在將權(quán)利要求限于被認(rèn)為落在由在35 U.S.C. §101中對這些術(shù)語的使用定義的可以取得專利的主題的范圍內(nèi)的主題。
應(yīng)當(dāng)理解,在所附權(quán)利要求中定義的主題不必限于上面描述的具體實現(xiàn)。僅作為示例公開了上面描述的具體實現(xiàn)。