14時,活動元素12必須被與圖3a至3d 所示實施例相同的方式(即例如通過嘗試導航)激活。如上,在釋放下一段14之前,用戶 必須提供對一系列問題的正確答案。下一段14不大可能與當前段14有相同的長度。因 此,顯示下一段14之前,移動設備16分析段14的長度,并相應地調(diào)整文本大小,從而使段 14填滿顯示器18。調(diào)整文本大小不僅涉及改變字體大小,還涉及按比例重新計算行間距和 每行字符數(shù)。目標是重新調(diào)整文本格式以便填滿可用空間,而不需要滾動條來看整個文檔 10。就這一點而言,調(diào)整尺寸不僅僅是下一段14的文本的圖像的單純的放大操作,而是重 新調(diào)整格式以適應可用的查看屏幕尺寸。
[0060] 圖5中根據(jù)本發(fā)明的實施例示出用于包含查看控制機制的移動設備16的合適的 架構(gòu)的示例。諸如智能手機的設備16包含觸屏顯示器18,用戶可通過用戶接口(UI) 24的 方式操作觸屏顯示器18,用戶接口(UI) 24包含導航控件26 (例如,手勢指令或口頭指令) 和其他標準控件。通過處理引擎28控制在顯示器18上呈現(xiàn)的內(nèi)容,處理引擎28接收來自 內(nèi)容模塊30的原始數(shù)據(jù)。內(nèi)容模塊30與數(shù)據(jù)庫32進行通信,內(nèi)容模塊30從數(shù)據(jù)庫32中 提取電子文檔文件34。將文件34傳遞到處理引擎28,處理引擎28確定向用戶顯示的電子 文檔34的合適的部分20。
[0061] 在此實施例中,數(shù)據(jù)庫32被固定到屬于被用戶閱讀的內(nèi)容的提供者的遠程服務 器。例如,提供者可以是教育材料的制作人或刊登廣告的人。提供者將向用戶顯示的文件 34上傳到數(shù)據(jù)庫32中,因此使其對于移動設備16的內(nèi)容模塊30可用。文件34定義包含 活動元素12的文檔10,活動元素12將文檔10分成如上所述的預定段14。數(shù)據(jù)庫32還包 含一組可用于控制對文檔10的段14的訪問的問題和答案36。在可選的實施例中,在設備 16本身中提供數(shù)據(jù)庫32。數(shù)據(jù)文件可由文檔10的制作者上傳到數(shù)據(jù)庫32中,并以如上所 示地方式令其對用戶是可用的。
[0062] 處理引擎28保持對在顯示器18上呈現(xiàn)的內(nèi)容的全面控制,盡管用戶可以通過使 用n 24通過觸屏顯示器18提供反饋來影響處理引擎28。因此導航控件26適當?shù)匕瑱z 測在顯示器18上做的諸如滾動手勢的手勢指令的功能。這使得用戶能夠?qū)Ш皆诟鶕?jù)所使 用的控制制度通過處理引擎28施加的限制內(nèi)的文檔10。應注意,如果使用了圖4中所例證 的控制方法,則永久性禁用導航控件26,并且文檔10的導航完全被控制引擎28所控制。
[0063] 圖6中更詳細地示出控制引擎28,其中可看出控制引擎28包括五個關鍵組件。這 些組件包含活動元素檢測器38、遮蔽引擎40、縮放控制模塊42、問題產(chǎn)生器44和匹配引擎 46。這些組件在處理引擎28中相互交互,每一個被布置成處理特定任務,以使得處理引擎 28能夠如下所述地確定什么應被呈現(xiàn)在顯示器18上。
[0064] 活動元素檢測器38被布置成掃描電子文檔文件34的內(nèi)容,以識別活動元素12。通 過識別活動元素12和它們在文檔10中的位置,可確定文檔10的段14。使用對段14的認識 以根據(jù)要使用的控件的形式來確定要顯示的文檔10的部分20, 即,是要顯示單一段14,還 是如果利用還未釋放的段14的遮蔽來顯示多個段14。這信息還通知關于處理當用戶與導 航控件26進行交互時所產(chǎn)生的要求的決定,其中活動元素12的位置確定允許的滾動(如 果存在滾動的話)的范圍。在此實施例中,活動元素檢測器38被配置成通過來自n 24的 反饋來確定用戶與包含在文檔10中的活動元素12的交互的出現(xiàn)。在其他實施例中,用戶 交互可直接被n 24確定。
[0065] 遮蔽引擎40能夠?qū)崿F(xiàn)圖3a至3d中所示控制方法,方法中遮蔽了文檔10的未釋 放的段14。遮蔽引擎40接收到來自活動元素檢測器38的輸入,活動元素檢測器38指示顯 示的文檔10的部分20以及部分20里的活動元素12的位置。遮蔽引擎40使用此信息來 處理文檔10的部分20以掩蓋未被用戶通過如上所述的處理釋放的段14。已處理的部分 20然后被處理引擎28輸出,并被如圖3a至3d中所示地顯示。
[0066]縮放控制模塊42被用于放大或縮小文檔10的段14 (利用適當?shù)卣{(diào)整格式),從而 段14根據(jù)如上參考圖4所述的控制方式填滿設備16的顯示器18。因此,縮放控制模塊42 知道顯示器18的尺寸和分辨率,并且使用此信息,縮放控制模塊42能夠為將要顯示的文檔 段14計算正確的尺寸??s放控制模塊42從活動元素檢測器38接收將要顯示的段14,以及 然后檢測段14的當前尺寸并適當?shù)卣{(diào)整其大小和重定其格式。被調(diào)整大小和重定格式的 段14然后被處理引擎28輸出并如圖4中所示地顯示。
[0067] 問題產(chǎn)生器44被用于編輯問題以提給用戶,以便控制文檔10的段14之間的導 航。內(nèi)容模塊30讀取含在數(shù)據(jù)庫32中的問題和答案列表36,并將它們傳給問題產(chǎn)生器44。 問題產(chǎn)生器44然后根據(jù)用戶剛看過的段14的內(nèi)容選擇合適的問題以和一組用戶必須從中 選擇的可能的答案來使用。問題和可能的答案然后被處理引擎28輸出并在顯示器18上呈 現(xiàn)給用戶。處理引擎28還可以包含定時器,以定義答案接受周期,并且用戶可能被要求在 那個時間周期內(nèi)提供他們對問題的答案。如果用戶用的時間太長,則他們可能被認為已經(jīng) 回答錯誤。
[0068] 一旦用戶選擇了答案,通常通過按壓觸屏顯示器18來激活復選框或"單選按鈕" 類的選擇器,選擇被傳遞到匹配引擎。匹配引擎將被選擇的答案與存儲在數(shù)據(jù)庫32中的已 知正確答案進行比較,以確定用戶是否已經(jīng)正確回答。匹配引擎還記錄多少個正確或錯誤 的答案已被提供。如果匹配引擎接收到所要求數(shù)量的正確答案,則處理引擎28釋放文檔 10的下一段14??蛇x地,如果用戶超過了如被所接收到的錯誤答案的數(shù)量所示的關于回答 問題的錯誤嘗試的預定閾值,則處理引擎28確定用戶沒有理解當前段14的內(nèi)容。在此事 件中,不呈現(xiàn)更多的問題,并且為用戶重新顯示段14,以便給他們充分吸收內(nèi)容的另一個機 會。
[0069] 技術(shù)人員應理解,圖5和6中所示布置的元件可能需要被集成到諸如文字處理 器、電子數(shù)據(jù)表、文件閱讀器等常見的主程序。為了實施根據(jù)本發(fā)明實施例的查看控制 機制,必須向主軟件程序提供允許讀取包含活動元素12的文檔的功能。例如對于諸如 AdobeAcrobat?或MicrosoftWord?的程序,實現(xiàn)這個的一種方法可以是通過插件的方 式實施查看控制機制,插件即為被布置成與主程序進行交互以擴展其功能的子程序。這允 許如上所述的活動元素12的交互功能能夠被添加到常規(guī)的系統(tǒng)中。
[0070] 例如,此功能將使主程序能夠識別用戶與文檔10的交互、產(chǎn)生彈出窗口 22、記錄 用戶的響應并將其與預定答案進行比較。對于每個階段,插件提供相關的處理引擎28模 塊,并還允許對于數(shù)據(jù)庫32的訪問。為了額外的安全性,問題可被加密以防止好奇的用戶 在提出問題之前看答案。如果輸入的響應是正確的,則主應用程序出于連續(xù)閱讀目的能夠 對電子文檔10進行操作,或者使用戶能夠前進到學習的下一階段。否則,主應用程序問題 被正確回答之前阻止使用這些功能。該功能與在具有超鏈接的文檔中提供的功能相似,超 鏈接能致使啟動瀏覽器并自動導航到一個網(wǎng)頁。
[0071] 圖7概括地示出用于操作圖5和6的移動設備16的過程50。應注意,具有可用于 實施在諸如AdobeAcrobat?的常用文檔演示程序和包含活動元素12的電子文檔10之間 所需功能的技術(shù)人員的多種機制。這種實現(xiàn)將在技術(shù)人員的能力范圍之內(nèi)。因此沒有必要 提供關于實施此功能的方式詳細信息。
[0072] 如圖7中所示,過程50開始于內(nèi)容模塊30在步驟52中從數(shù)據(jù)庫32讀取文檔。文 檔可能是如上所述的文本文檔10,或者可選地是適合向用戶呈現(xiàn)的任何其他形式的電子媒 介。為了被處理引擎28快速訪問,文檔被存在諸如RAM模塊的本地存儲器中,直到過程50 結(jié)束或移動設備16關機。
[0073] -旦文檔被閱讀,處理引擎28的活動元素檢測器在步驟54中掃描文檔以識別第 一活動元素12,從而確定第一段14。由此,處理引擎28在步驟56中確定要顯示的文檔的 部分20,確保文本是可讀的。
[0074] -旦確定了部分20,處理引擎28然后在步驟58中對段14進行放大或遮蔽部分 20,從而使得隨后的段