(58)【調査した分野】(Int.Cl.,DB名)
前記第1の入力の検出に応じて、前記第1の挿入点が前記文書の表示部分の中心領域に位置するように前記文書をスクロールするための命令を含むことを特徴とする請求項1に記載の電子デバイス。
前記第1の入力の検出に応じて、前記第1の挿入点が前記文書の表示部分の中心領域に位置するように前記文書をスクロールするステップを含むことを特徴とする請求項8に記載の方法。
前記電子デバイスにより実行された場合に前記電子デバイスに、前記第1の入力の検出に応じて、前記第1の挿入点が前記文書の表示部分の中心領域に位置するように前記文書をスクロールさせるための命令群を含むことを特徴とする請求項15に記載のコンピュータプログラム。
前記電子デバイスにより実行された場合に前記電子デバイスに、前記第1の入力の検出に応じて文書編集モードを開始させるための命令群を含むことを特徴とする請求項15または16に記載のコンピュータプログラム。
前記電子デバイスにより実行された場合に前記電子デバイスに、前記文書編集モードの間にユーザ入力に応じて前記文書のテキストを編集させるための命令群を含むことを特徴とする請求項17に記載のコンピュータプログラム。
【発明を実施するための形態】
【0051】
以下において、ユーザが効率的に電子文書をナビゲート及び編集できるようにするデバイス及び方法を説明する。方法は、ハンドヘルドデバイス又はポケットサイズのデバイス(例えば、スマートフォン)を含む小型ディスプレイを有するポータブルデバイスにおいて特に有用である。そのようなポータブルデバイスの場合、ユーザは、文書内を移動する時、文書の全体像を得る非常に小さなテキスト表示サイズから編集テキストをはっきりと見れる大きなテキスト表示サイズまで常にテキスト表示サイズを手動で再調整する必要があることに気が付くだろう。これらの調整には、多数の入力及び視覚と手動操作とのかなりの協調が必要である。そのような調整は、ユーザにとってすぐに煩わしく且つ面倒になる。本明細書で説明される方法は、以下のことを含む。
【0052】
・文書編集モードを開始し、且つユーザ指定の挿入点において閲覧及び編集がしやすい目標テキスト表示サイズでテキストを表示する際にその挿入点を自動的に拡大する。
・デフォルト値からユーザ調整の値に目標テキスト表示サイズを容易に変更する。
・挿入点が文書中の異なるフォントサイズを有する領域間を移動する場合に目標テキスト表示サイズを維持するように表示倍率を自動的に調整する。
・選択されているテキストの全体を見るためにテキスト選択ジェスチャの完了時に自動的に縮小する。
・オブジェクトを収容するサイズでオブジェクトを表示するように自動的に変倍するか、あるいはオブジェクトが編集可能なテキストを含む場合にテキストを収容するサイズでオブジェクト内に編集可能なテキストを表示するように自動的に変倍する。
・文書表示モードにおけるユーザ指定の倍率レベルと編集モードにおける事前定義済みの文書編集倍率レベルとの間で自動的に切り替える。
【0053】
これらの方法により、文書をナビゲート及び編集するためにユーザが実行しなければならないステップの数は大幅に減少する。それにより、これらのタスクを実行する場合の効率及び操作性が向上する。
【0055】
例示的なデバイス
実施形態を詳細に参照する。実施形態の例を添付の図面に示す。以下の詳細な説明において、本発明を完全に理解できるように多くの特定の詳細を示す。しかし、本発明は、それら特定の詳細を含まずに実施されてもよいことが当業者には明らかとなるだろう。他の例において、実施形態の態様を不必要に曖昧にしないために、周知の方法、手順、構成要素、回路及びネットワークについては詳細に説明していない。
【0056】
本明細書において種々の要素を説明するために第1、第2等の用語が使用されてもよいが、それらの要素はこれらの用語により限定されるべきではないことが理解されるだろう。これらの用語は、1つの要素を別の要素と区別するためだけに使用される。例えば本発明の範囲から逸脱せずに、第1のコンタクトが第2のコンタクトと呼ばれてよく、同様に第2のコンタクトが第1のコンタクトと呼ばれてよい。第1のコンタクト及び第2のコンタクトは、双方ともコンタクトであるが同一のコンタクトではない。
【0057】
本明細書の本発明の説明において使用される専門用語は、特定の実施形態を説明するためだけのものであり、本発明を限定することを意図しない。本発明の説明及び添付の特許請求の範囲において使用されるように、特に指定のない限り、単数形は複数形も含むことを意図する。本明細書で使用されるような「及び/又は」という用語は、一覧表示された関連する項目の1つ以上のあらゆる全ての可能な組み合わせを参照し且つ含むことが理解されるだろう。「含む」及び/又は「備える」という用語は、本明細書で使用される場合、記載される特徴、数字、ステップ、動作、要素及び/又は構成要素の存在を特定するが、1つ以上の他の特徴、数字、ステップ、動作、要素、構成要素及び/又はそれらの集合の存在又は追加を除外しないことが更に理解されるだろう。
【0058】
本明細書で使用されるように、「場合」という用語は、状況に応じて「時」、あるいは「判定することに応じて」又は「検出することに応じて」を意味すると解釈されてもよい。同様に、「判定された場合」又は「[明示された状態又は事象]が検出された場合」という句は、状況に応じて「判定した時」又は「判定することに応じて」、あるいは「[明示された状態又は事象]を検出した時」又は「[明示された状態又は事象]を検出することに応じて」を意味すると解釈されてもよい。
【0059】
電子デバイス、そのようなデバイスに対するユーザインタフェース及びそのようなデバイスを使用するための関連する処理の実施形態を説明する。いくつかの実施形態において、デバイスは、PDA機能及び/又は音楽プレーヤ機能等の他の機能も含む移動電話等のポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態は、アップル社(Apple Inc.)(カリフォルニア州クパチーノ)のiPhone(r)デバイス、iPod Touch(r)デバイス及びiPad(r)デバイスを含むがこれらに限定されない。タッチセンシティブ面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するラップトップコンピュータ又はタブレットコンピュータ等の他のポータブル電子デバイスが更に使用されてもよい。いくつかの実施形態において、デバイスはポータブルデバイスではなくタッチセンシティブ面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するデスクトップコンピュータであることが理解されるべきである。
【0060】
以下の説明において、ディスプレイ及びタッチセンシティブ面を含む電子デバイスを説明する。しかし、電子デバイスは、物理的なキーボード、マウス及び/又はジョイスティック等の1つ以上の他の物理的なユーザインタフェースデバイスを含んでもよいことが理解されるべきである。
【0061】
一般にデバイスは、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、ワークアウトサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上等の種々のアプリケーションをサポートする。
【0062】
デバイスにおいて実行されてもよい種々のアプリケーションは、タッチセンシティブ面等の少なくとも1つの共通の物理的なユーザインタフェースデバイスを使用してもよい。タッチセンシティブ面の1つ以上の機能及びデバイスに表示された対応する情報は、1つのアプリケーションから次のアプリケーションへ及び/又は各アプリケーション内で調整及び/又は変更されてもよい。このように、デバイスの共通の物理的アーキテクチャ(タッチセンシティブ面等)は、直観的で且つユーザに透過的なユーザインタフェースにより種々のアプリケーションをサポートしてもよい。
【0063】
次に、タッチセンシティブディスプレイを有するポータブルデバイスの実施形態に注目する。
図1Aは、いくつかの実施形態に係るタッチセンシティブディスプレイ112を有するポータブル多機能デバイス100を示すブロック図である。タッチセンシティブディスプレイ112は、便宜上「タッチスクリーン」と呼ばれる場合があり、タッチセンシティブディスプレイシステムとして既知であるか又はタッチセンシティブディスプレイシステムと呼ばれてもよい。デバイス100は、メモリ102(1つ以上のコンピュータ可読記憶媒体を含んでもよい)と、メモリコントローラ122と、1つ以上の処理ユニット(CPU)120と、周辺インタフェース118と、RF回路網108と、オーディオ回路網110と、スピーカ111と、マイク113と、入出力(I/O)サブシステム106と、他の入力又は制御デバイス116と、外部ポート124とを含んでもよい。デバイス100は、1つ以上の光センサ164を含んでもよい。これらの構成要素は、1つ以上の通信バス又は信号線103を介して通信してもよい。
【0064】
デバイス100は、ポータブル多機能デバイスの単なる一例であり、デバイス100は、図示するより多くの又は少ない構成要素を有してもよく、2つ以上の構成要素を組み合わせてもよく、あるいは構成要素の異なる構成又は配置を有してもよいことが理解されるべきである。
図1Aに示した種々の構成要素は、1つ以上の信号処理及び/又は特定用途向け集積回路を含むハードウェア、ソフトウェア、あるいはハードウェア及びソフトウェア双方の組み合わせで実現されてもよい。
【0065】
メモリ102は、高速ランダムアクセスメモリを含んでもよく、1つ以上の磁気ディスク記憶装置、フラッシュメモリ素子又は他の不揮発性固体メモリ素子等の不揮発性メモリを更に含んでもよい。CPU120及び周辺インタフェース118等のデバイス100の他の構成要素によるメモリ102へのアクセスは、メモリコントローラ122により制御されてもよい。
【0066】
周辺インタフェース118は、デバイスの入出力周辺装置をCPU120及びメモリ102に結合するために使用されうる。1つ以上のプロセッサ120は、メモリ102に格納された種々のソフトウェアプログラム及び/又は命令の集合を実行し、デバイス100に対して種々の機能を実行し且つデータを処理する。
【0067】
いくつかの実施形態において、周辺インタフェース118、CPU120及びメモリコントローラ122は、チップ104等のシングルチップに実現されてもよい。いくつかの他の実施形態において、それらは別個のチップに実現されてもよい。
【0068】
RF(無線周波数)回路網108は、電磁信号とも呼ばれるRF信号を受信及び送出する。RF回路網108は、電気信号を電磁信号に及び電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路網108は、それらの機能を実行する既知の回路網を含んでもよい。回路網は、アンテナシステム、RFトランシーバ、1つ以上の増幅器、チューナ、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード及びメモリ等を含むがこれらに限定されない。RF回路網108は、ワールドワイドウェブ(WWW)とも呼ばれるインターネット、イントラネット、並びに/あるいは携帯電話網、無線ローカルエリアネットワーク(LAN)及び/又はメトロポリタンエリアネットワーク(MAN)等の無線ネットワーク等のネットワークと通信してもよく、無線通信により他のデバイスと通信してもよい。無線通信は、汎ヨーロッパデジタル移動通信システム(GSM)、GSMの拡張向け高速データ(EDGE)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、広帯域符号分割多元接続(W−CDMA)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth、Wi−Fi(Wireless Fidelity)(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g及び/又はIEEE802.11n)、VoIP(voice over IP(インターネットプロトコル))、Wi−MAX、電子メールに対するプロトコル(例えば、インターネットメッセージアクセスプロトコル(IMAP)及び/又は郵便局プロトコル(POP))、インスタントメッセージング(例えば、拡張可能メッセージング/プレゼンスプロトコル(XMPP)、SIMPLE(SIP(セッション開始プロトコル) for Instant Messaging and Presence Leveraging Extensions)、インスタントメッセージング/プレゼンスサービス(IMPS))及び/又はショートメッセージサービス(SMS)、あるいは本明細書の出願時点ではまだ開発されていない通信プロトコルを含む他のあらゆる適切な通信プロトコルを含むがこれらに限定されない複数の通信規格、プロトコル及び技術のいずれかを使用してもよい。
【0069】
オーディオ回路網110、スピーカ111及びマイク113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路網110は、周辺インタフェース118からオーディオデータを受信し、オーディオデータを電気信号に変換し、電気信号をスピーカ111に送信する。スピーカ111は、電気信号を可聴音波に変換する。オーディオ回路網110は、マイク113により音波から変換された電気信号を更に受信する。オーディオ回路網110は、電気信号をオーディオデータに変換し、オーディオデータを処理するために周辺インタフェース118に送信する。オーディオデータは、周辺インタフェース118によりメモリ102及び/又はRF回路網108から検索されてもよく且つ/又はメモリ102及び/又はRF回路網108に送信されてもよい。いくつかの実施形態において、オーディオ回路網110はヘッドセットジャック(例えば、
図2の212)を更に含む。ヘッドセットジャックは、出力のみのヘッドフォン又は出力(例えば、片耳又は両耳用ヘッドフォン)及び入力(例えば、マイク)の双方を有するヘッドセット等の取り外し可能オーディオ入出力周辺装置とオーディオ回路網110との間のインタフェースを提供する。
【0070】
I/Oサブシステム106は、タッチスクリーン112及び他の入力制御デバイス116等のデバイス100上の入出力周辺装置を周辺インタフェース118に結合する。I/Oサブシステム106は、ディスプレイコントローラ156及び他の入力又は制御デバイスに対する1つ以上の入力コントローラ160を含んでもよい。1つ以上の入力コントローラ160は、他の入力又は制御デバイス116から電気信号を受信し、他の入力又は制御デバイス116に電気信号を送出する。他の入力制御デバイス116は、物理的なボタン(例えば、押しボタン、ロッカーボタン等)、ダイヤル、スライダスイッチ、ジョイスティック及びクリックホイール等を含んでもよい。いくつかの別の実施形態において、入力コントローラ160は、キーボード、赤外線ポート、USBポート及びマウス等のポインタデバイスのいずれかに結合されてもよい(又はいずれにも結合されなくてもよい)。1つ以上のボタン(例えば、
図2の208)は、スピーカ111及び/又はマイク113の音量制御のための上下ボタンを含んでもよい。1つ以上のボタンは、押しボタン(例えば、
図2の206)を含んでもよい。
【0071】
タッチセンシティブディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112から電気信号を受信し且つ/又はタッチスクリーン112に電気信号を送出する。タッチスクリーン112は、ユーザに対して視覚出力を表示する。視覚出力は、グラフィックス、テキスト、アイコン、ビデオ及びそれらのあらゆる組み合わせ(総称して「グラフィックス」と呼ぶ)を含んでもよい。いくつかの実施形態において、視覚出力の一部分又は全てはユーザインタフェースオブジェクトに対応してもよい。
【0072】
タッチスクリーン112は、触覚及び/又は触感接触に基づいてユーザからの入力を受け入れるタッチセンシティブ面、センサ又はセンサの集合を有する。タッチスクリーン112及びディスプレイコントローラ156(メモリ102中のあらゆる関連するモジュール及び/又は命令の集合と共に)は、タッチスクリーン112に対する接触(及び接触のあらゆる移動又は中断)を検出し、検出した接触をタッチスクリーン112に表示されるユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ又は画像)との対話に変換する。例示的な一実施形態において、タッチスクリーン112とユーザとの間の接触点はユーザの指に対応する。
【0073】
タッチスクリーン112は、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術又はLED(発光ダイオード)技術を使用してもよいが、他のディスプレイ技術が他の実施形態において使用されてもよい。タッチスクリーン112及びディスプレイコントローラ156は、静電容量技術、抵抗技術、赤外線技術及び表面弾性波技術、並びに他の近接センサアレイ又はタッチスクリーン112との1つ以上の接触点を判定する他の要素を含むがこれらに限定されない現在既知であるか又は後で開発される複数のタッチ検知技術のいずれかを使用して接触及び接触のあらゆる移動又は中断を検出してもよい。例示的な一実施形態において、アップル社(Apple Inc.)(カリフォルニア州クパチーノ)のiPhone(r)、iPod Touch(r)及びiPad(r)において見られるような投影相互キャパシタンス感知技術が使用される。
【0074】
タッチスクリーン112は、100dpiを上回るビデオ解像度を有してもよい。いくつかの実施形態において、タッチスクリーンは、約160dpiのビデオ解像度を有する。ユーザは、スタイラス及び指等のあらゆる適切なオブジェクト又は付属品を使用してタッチスクリーン112と接触してもよい。いくつかの実施形態において、ユーザインタフェースは、主に指を使用した接触及びジェスチャで動作するように設計される。指を使用した接触及びジェスチャは、スタイラスを使用した入力と比較して、タッチスクリーンに対する指の接触領域が大きいため精度が低くなりうる。いくつかの実施形態において、デバイスは、指を使用した粗入力を高精度なポインタ/カーソル位置又はユーザの所望の動作を実行するためのコマンドに変換する。
【0075】
いくつかの実施形態において、タッチスクリーンに加えて、デバイス100は、特定の機能を起動又は停止するためのタッチパッド(不図示)を含んでもよい。いくつかの実施形態において、タッチパッドは、タッチスクリーンとは異なり視覚出力を表示しないデバイスのタッチセンシティブ領域である。タッチパッドは、タッチスクリーン112とは異なるタッチセンシティブ面であってもよく、あるいはタッチスクリーンにより形成されたタッチセンシティブ面の拡張部であってもよい。
【0076】
デバイス100は、種々の構成要素に電力を供給する電力系統162を更に含む。電力系統162は、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、充電システム、電源異常検出回路、電力コンバータ又は電力インバータ、電力状態表示器(例えば、発光ダイオード(LED))、並びにポータブルデバイスにおける電力の生成、管理及び配分と関連する他のあらゆる構成要素を含んでもよい。
【0077】
デバイス100は、1つ以上の光センサ164を更に含んでもよい。
図1Aは、I/Oサブシステム106の光センサコントローラ158に結合された光センサを示す。光センサ164は、電荷結合素子(CCD)又は相補型金属酸化膜半導体(CMOS)フォトトランジスタを含んでもよい。光センサ164は、1つ以上のレンズから投影される環境からの光を受け、その光を画像を表すデータに変換する。結像モジュール143(カメラモジュールとも呼ばれる)と共に、光センサ164は静止画又はビデオを撮影してもよい。いくつかの実施形態において、光センサは、タッチスクリーンディスプレイが静止画及び/又はビデオ画像を取得するためにファインダとして使用されてもよいようにデバイスの前面にあるタッチスクリーンディスプレイ112の反対側のデバイス100の裏面に配置される。いくつかの実施形態において、別の光センサは、ユーザの画像がテレビ会議のために取得されてもよく、その一方でユーザがタッチスクリーンディスプレイにおいて他のテレビ会議参加者を見れるようにデバイスの前面に配置される。
【0078】
デバイス100は、1つ以上の近接センサ166を更に含んでもよい。
図1Aは、周辺インタフェース118に結合された近接センサ166を示す。あるいは、近接センサ166は、I/Oサブシステム106の入力コントローラ160に結合されてもよい。いくつかの実施形態において、多機能デバイスがユーザの耳の近くに置かれた時(例えば、ユーザが電話をかけている時)、近接センサは、電源が落とされ、タッチスクリーン112を無効にする。
【0079】
デバイス100は、1つ以上の加速度計168を更に含んでもよい。
図1Aは、周辺インタフェース118に結合された加速度計168を示す。あるいは、加速度計168は、I/Oサブシステム106の入力コントローラ160に結合されてもよい。いくつかの実施形態において、情報は、1つ以上の加速度計から受信されるデータの解析に基づいて縦表示又は横表示でタッチスクリーンディスプレイに表示される。デバイス100は、加速度計168に加えて、デバイス100の場所及び向き(例えば、縦向き又は横向き)に関する情報を取得するために磁力計(不図示)及びGPS(あるいはGLONASS又は他のグローバルナビゲーションシステム)受信機(不図示)をオプションとして含む。
【0080】
いくつかの実施形態において、メモリ102に格納されたソフトウェアコンポーネントは、オペレーティングシステム126、通信モジュール(又は命令の集合)128、接触/動きモジュール(又は命令の集合)130、グラフィックスモジュール(又は命令の集合)132、テキスト入力モジュール(又は命令の集合)134、全地球測位システム(GPS)モジュール(又は命令の集合)135及びアプリケーション(又は命令の集合)136を含む。更にいくつかの実施形態において、
図1A及び
図3に示すように、メモリ102はデバイス/グローバル内部状態157を格納する。デバイス/グローバル内部状態157は、現在アクティブであるアプリケーションがある場合はそのアプリケーションを示すアクティブアプリケーション状態と、タッチスクリーンディスプレイ112の種々の領域を占有するアプリケーション、ビュー又は他の情報を示す表示状態と、デバイスの種々のセンサ及び入力制御デバイス116から取得される情報を含むセンサ状態と、デバイスの場所及び/又は姿勢に関する場所情報とのうちの1つ以上を含む。
【0081】
オペレーティングシステム126(例えば、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS又はVxWorks等の組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶装置制御、電力管理等)を制御及び管理する種々のソフトウェアコンポーネント及び/又はドライバを含み、種々のハードウェアコンポーネントとソフトウェアコンポーネントとの間の通信を容易にする。
【0082】
通信モジュール128は、1つ以上の外部ポート124を介する他のデバイスとの通信を容易にし、RF回路網108及び/又は外部ポート124により受信されたデータを処理するための種々のソフトウェアコンポーネントを更に含む。外部ポート124(例えば、USB(Universal Serial Bus)、FIREWIRE等)は、他のデバイスに直接結合するように構成されるか、あるいはネットワーク(例えば、インターネット、無線LAN等)を介して間接的に結合するように構成される。いくつかの実施形態において、外部ポートは、iPod(アップル社(Apple Inc.)の登録商標)デバイスで使用される30ピンコネクタと同一であるか、あるいはそれに類似し且つ/又は互換性がある複数ピン(例えば、30ピン)コネクタである。
【0083】
接触/動きモジュール130は、タッチスクリーン112(ディスプレイコントローラ156と共に)及び他のタッチセンシティブデバイス(例えば、タッチパッド又は物理的なクリックホイール)との接触を検出してもよい。接触/動きモジュール130は、接触が起こったかの判定(例えば、フィンガーダウン事象の検出)、接触の移動があるかの判定及びタッチセンシティブ面にわたる移動の追跡(例えば、1つ以上のフィンガードラッグ事象の検出)、並びに接触が中止されたかの判定(例えば、フィンガーアップ事象又は接触の中断の検出)等の接触の検出に関連する種々の動作を実行するための種々のソフトウェアコンポーネントを含む。接触/動きモジュール130は、タッチセンシティブ面から接触データを受信する。一連の接触データにより表される接触点の移動を判定することは、接触点の速度(speed)(大きさ)、速度(velocity)(大きさ及び方向)及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含んでもよい。これらの動作は、単一の接触(例えば、1本の指の接触)又は複数の同時の接触(例えば、「マルチタッチ」/複数本の指の接触)に適用されてもよい。いくつかの実施形態において、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッドに対する接触を検出する。
【0084】
接触/動きモジュール130は、ユーザにより入力されたジェスチャを検出してもよい。タッチセンシティブ面に対する種々のジェスチャは、種々の接触パターンを有する。従って、ジェスチャは特定の接触パターンを検出することにより検出されてもよい。例えばフィンガータップジェスチャを検出することは、フィンガーダウン事象を検出し、その後フィンガーダウン事象(例えば、アイコンの位置における)と同一の位置(又はほぼ同一の位置)におけるフィンガーアップ(リフトオフ)事象を検出することを含む。別の例として、タッチセンシティブ面でフィンガースワイプジェスチャを検出することは、フィンガーダウン事象を検出し、その後1つ以上のフィンガードラッグ事象を検出し、その後フィンガーアップ(リフトオフ)事象を検出することを含む。
【0085】
グラフィックスモジュール132は、表示されるグラフィックスの明度を変更するコンポーネントを含むタッチスクリーン112又は他のディスプレイ上にグラフィックスをレンダリング及び表示する種々の既知のソフトウェアコンポーネントを含む。本明細書で使用されるように、「グラフィックス」という用語はユーザに対して表示されうるあらゆるオブジェクトを含み、オブジェクトはテキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクト等)、デジタル画像、ビデオ及びアニメーション等を含むがこれらに限定されない。
【0086】
いくつかの実施形態において、グラフィックスモジュール132は、使用されるグラフィックスを表すデータを格納する。各グラフィックスは対応するコードに割り当てられてもよい。グラフィックスモジュール132は、必要に応じて座標データ及び他のグラフィックスプロパティデータと共に表示されるグラフィックスを特定する1つ以上のコードをアプリケーション等から受信し、ディスプレイコントローラ156に出力するためにスクリーン画像データを生成する。
【0087】
グラフィックスモジュール132の構成要素であってもよいテキスト入力モジュール134は、種々のアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147及びテキスト入力を必要とする他のあらゆるアプリケーション)にテキストを入力するためのソフトキーボードを提供する。
【0088】
GPSモジュール135は、デバイスの場所を判定し、種々のアプリケーションにおいて使用するためにその情報を提供する(例えば、場所を使用して電話をかける際に使用するために電話138に、ピクチャ/ビデオメタデータとしてカメラ143に、並びに天気ウィジェット、ローカル職業別電話帳ウィジェット及びマップ/ナビゲーションウィジェット等の場所を使用したサービスを提供するアプリケーションに)。
【0089】
アプリケーション136は、以下のモジュール(又は命令の集合)、あるいはそれらの部分集合又は上位集合を含んでもよい。
【0090】
・連絡先モジュール137(電話帳又は連絡先リストと呼ばれることもある)
・電話モジュール138
・テレビ会議モジュール139
・電子メールクライアントモジュール140
・インスタントメッセージング(IM)モジュール141
・ワークアウトサポートモジュール142
・静止画及び/又はビデオ画像のためのカメラモジュール143
・画像管理モジュール144
・ブラウザモジュール147
・カレンダモジュール148
・天気ウィジェット149−1、株価ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、辞書ウィジェット149−5及びユーザにより取得された他のウィジェット、並びにユーザ作成ウィジェット149−6のうちの1つ以上の含んでもよいウィジェットモジュール149
・ユーザ作成ウィジェット149−6を作成するウィジェットクリエータモジュール150
・検索モジュール151
・ビデオプレーヤモジュール及び音楽プレーヤモジュールから構成されてもよいビデオ及び音楽プレーヤモジュール152
・メモモジュール153
・マップモジュール154及び/又は
・オンラインビデオモジュール155
【0091】
メモリ102に格納されてもよい他のアプリケーション136の例は、他のワードプロセシングアプリケーション(例えば、ワードプロセッシングモジュール384)、他の画像編集アプリケーション、描画アプリケーション(例えば、描画モジュール380)、プレゼンテーションアプリケーション(プレゼンテーションモジュール382)、スプレッドシートアプリケーション(例えば、スプレッドシートモジュール390)、ウェブサイト作成アプリケーション(例えば、ウェブサイト作成モジュール386)、JAVA対応アプリケーション、暗号化、デジタル権利管理、音声認識及び音声複製を含む。
【0092】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックスモジュール132及びテキスト入力モジュール134と共に、連絡先モジュール137は、電話帳又は連絡先リスト(例えば、メモリ102又はメモリ370中の連絡先モジュール137のアプリケーション初期状態192に格納された)を管理するために使用されてもよい。これは、電話帳に名前を追加すること、電話帳から名前を削除すること、電話番号、電子メールアドレス、住所又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類及びソートすること、並びに電話138、テレビ会議139、電子メール140又はIM141による通信を開始及び/又は容易にするために電話番号又は電子メールアドレスを提供すること等を含む。
【0093】
RF回路網108、オーディオ回路網110、スピーカ111、マイク113、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックスモジュール132及びテキスト入力モジュール134と共に、電話モジュール138は、電話番号に対応する文字列を入力したり、電話帳137の1つ以上の電話番号にアクセスしたり、入力されている電話番号を修正したり、各電話番号をダイヤルしたり、会話をしたり、且つ会話が完了した場合に切断するか又は電話を切ったりするために使用されてもよい。上述したように、無線通信は、複数の通信規格、プロトコル及び技術のうちのいずれかを使用してもよい。
【0094】
RF回路網108、オーディオ回路網110、スピーカ111、マイク113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触モジュール130、グラフィックスモジュール132、テキスト入力モジュール134、連絡先リスト137及び電話モジュール138と共に、テレビ会議モジュール139は、ユーザ命令に従ってユーザと1人以上の他の参加者との間のテレビ会議を開始、実行及び終了する実行可能な命令を含む。
【0095】
RF回路網108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックスモジュール132及びテキスト入力モジュール134と共に、電子メールクライアントモジュール140は、ユーザ命令に応答して電子メールを作成、送出、受信及び管理する実行可能な命令を含む。画像管理モジュール144と共に、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画又はビデオ画像を含む電子メールの作成及び送出を非常に容易にする。
【0096】
RF回路網108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックスモジュール132及びテキスト入力モジュール134と共に、インスタントメッセージングモジュール141は、インスタントメッセージに対応する文字列を入力したり、以前に入力された文字を修正したり、各インスタントメッセージを送信したり(例えば、電話技術を使用したインスタントメッセージに対してショートメッセージサービス(SMS)又はマルチメディアメッセージサービス(MMS)プロトコルを使用するか、あるいはインターネットを使用したインスタントメッセージに対してXMPP、SIMPLE又はIMPSを使用して)、インスタントメッセージを受信したり、受信したインスタントメッセージを閲覧したりする実行可能な命令を含む。いくつかの実施形態において、送信及び/又は受信したインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(EMS)でサポートされるようなグラフィックス、写真、オーディオファイル、ビデオファイル及び/又は他の添付ファイルを含んでもよい。本明細書で使用されるように、「インスタントメッセージング」は、電話技術を使用したメッセージ(例えば、SMS又はMMSを使用して送出されたメッセージ)及びインターネットを使用したメッセージ(例えば、XMPP、SIMPLE又はIMPSを使用して送出されたメッセージ)を示す。
【0097】
RF回路網108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックスモジュール132、テキスト入力モジュール134、GPSモジュール135、マップモジュール154及び音楽プレーヤモジュール146と共に、ワークアウトサポートモジュール142は、ワークアウト(例えば、時間、距離及び/又はカロリー燃焼目標を含む)を作成したり、ワークアウトセンサ(スポーツデバイス)と通信したり、ワークアウトセンサデータを受信したり、ワークアウトを監視するために使用されるセンサを校正したり、ワークアウトのための音楽を選択及び再生したり、並びにワークアウトデータを表示、格納及び送信したりする実行可能な命令を含む。
【0098】
タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触モジュール130、グラフィックスモジュール132及び画像管理モジュール144と共に、カメラモジュール143は、静止画又はビデオ(ビデオストリームを含む)を撮影してそれらをメモリ102に格納したり、静止画又はビデオの特性を修正したり、あるいは静止画又はビデオをメモリ102から削除したりする実行可能な命令を含む。
【0099】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックスモジュール132、テキスト入力モジュール134及びカメラモジュール143と共に、画像管理モジュール144は、静止画及び/又はビデオ画像を整理、修正(例えば、編集)、あるいは操作、ラベル付け、削除、提示(例えば、デジタルスライドショー又はアルバムにおいて)及び格納する実行可能な命令を含む。
【0100】
RF回路網108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックスモジュール132及びテキスト入力モジュール134と共に、ブラウザモジュール147は、ウェブページ又はその一部分、並びにウェブページにリンクされた添付ファイル及び他のファイルを検索、リンク、受信及び表示することを含むユーザ命令に従ってインターネットをブラウズする実行可能な命令を含む。
【0101】
RF回路網108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックスモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140及びブラウザモジュール147と共に、カレンダモジュール148は、ユーザ命令に従ってカレンダ及びカレンダと関連付けられたデータ(例えば、カレンダエントリ、to doリスト等)を作成、表示、修正及び格納する実行可能な命令を含む。
【0102】
RF回路網108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックスモジュール132、テキスト入力モジュール134及びブラウザモジュール147と共に、ウィジェットモジュール149は、ユーザによりダウンロード及び使用されてもよいミニアプリケーション(例えば、天気ウィジェット149−1、株価ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4及び辞書ウィジェット149−5)、あるいはユーザにより作成されてもよいミニアプリケーション(例えば、ユーザ作成ウィジェット149−6)である。いくつかの実施形態において、ウィジェットは、HTML(ハイパーテキストマークアップ言語)ファイル、CSS(カスケーディングスタイルシート)ファイル及びJavaScriptファイルを含む。いくつかの実施形態において、ウィジェットは、XML(拡張マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
【0103】
RF回路網108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックスモジュール132、テキスト入力モジュール134及びブラウザモジュール147と共に、ウィジェットクリエータモジュール150は、ウィジェットを作成するためにユーザにより使用されてもよい(例えば、ウェブページのユーザ指定の部分をウィジェットにする)。
【0104】
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックスモジュール132及びテキスト入力モジュール134と共に、検索モジュール151は、ユーザ命令に従って1つ以上の検索基準(例えば、1つ以上のユーザ指定の検索語)に一致するメモリ102中のテキスト、音楽、サウンド、画像、ビデオ及び/又は他のファイルを検索する実行可能な命令を含む。
【0105】
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックスモジュール132、オーディオ回路網110、スピーカ111、RF回路網108及びブラウザモジュール147と共に、ビデオ及び音楽プレーヤモジュール152は、録音された音楽及びMP3ファイル又はAACファイル等の1つ以上のファイル形式で格納された他のサウンドファイルをユーザがダウンロード及び再生することを可能にする実行可能な命令、並びにビデオを表示、提示又は再生する(例えば、タッチスクリーン112又は外部ポート124を介して接続された外部ディスプレイにおいて)実行可能な命令を含む。いくつかの実施形態において、デバイス100は、iPod(アップル社(Apple Inc.)の登録商標)等のMP3プレーヤの機能性を含んでもよい。
【0106】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックスモジュール132及びテキスト入力モジュール134と共に、メモモジュール153は、ユーザ命令に従ってメモ及びto doリスト等を作成及び管理する実行可能な命令を含む。
【0107】
RF回路網108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックスモジュール132、テキスト入力モジュール134、GPSモジュール135及びブラウザモジュール147と共に、マップモジュール154は、ユーザ命令に従ってマップ及びマップと関連付けられたデータ(例えば、走行方向、特定の場所又はその近くの店舗及び他の地点情報に関するデータ、並びに他の場所に基づくデータ)を受信、表示、修正及び格納するために使用されてもよい。
【0108】
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックスモジュール132、オーディオ回路網110、スピーカ111、RF回路網108、テキスト入力モジュール134、電子メールクライアントモジュール140及びブラウザモジュール147と共に、オンラインビデオモジュール155は、ユーザが特定のオンラインビデオに対するリンクを含む電子メールにアクセスし、それをブラウズ、受信(例えば、ストリーミング及び/又はダウンロードすることにより)、再生(例えば、タッチスクリーン又は外部ポート124を介して接続された外部ディスプレイにおいて)、送出し、あるいはH.264等の1つ以上のファイル形式でオンラインビデオを管理することを可能にする命令を含む。いくつかの実施形態において、特定のオンラインビデオに対するリンクを送出するために、電子メールクライアントモジュール140ではなくインスタントメッセージングモジュール141が使用される。
【0109】
上記の識別されたモジュール及びアプリケーションの各々は、上述した1つ以上の機能及び本出願で説明された方法(例えば、コンピュータにより実現される方法及び本明細書で説明される他の情報処理方法)を実行する実行可能な命令の集合に対応する。これらのモジュール(すなわち、命令の集合)は、独立したソフトウェアプログラム、手順又はモジュールとして実現される必要はないため、種々の実施形態においてこれらのモジュールの種々の部分集合が組み合わされてもよく、あるいは再構成されてもよい。いくつかの実施形態において、メモリ102は、上記で識別されたモジュール及びデータ構造の部分集合を格納してもよい。更にメモリ102は、上述されていない追加のモジュール及びデータ構造を格納してもよい。
【0110】
いくつかの実施形態において、デバイス100は、デバイスにおける事前定義済みの機能の集合の動作がタッチスクリーン及び/又はタッチパッドを介して排他的に実行されるデバイスである。デバイス100の動作に対する主な入力制御デバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、デバイス100における物理的な入力制御デバイス(例えば、押しボタン及びダイヤル等)の数が減少されてもよい。
【0111】
タッチスクリーン及び/又はタッチパッドを介して排他的に実行されてもよい事前定義済みの機能の集合は、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態において、タッチパッドは、ユーザによりタッチされた場合にナビゲーションデバイス100に表示されてもよいあらゆるユーザインタフェースからメイン、ホーム又はルートメニューにデバイス100を操作する。そのような実施形態において、タッチパッドは「メニューボタン」と呼ばれてもよい。いくつかの他の実施形態において、メニューボタンは、タッチパッドではなく物理的な押しボタン又は他の物理的な入力制御デバイスであってもよい。
【0112】
図1Bは、いくつかの実施形態に係る事象処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態において、メモリ102(
図1A及び
図1Bの)又はメモリ370(
図3)は、事象ソータ170(例えば、オペレーティングシステム126における)及び各アプリケーション136−1(例えば、上述したアプリケーション137〜151、155、380〜390のうちのいずれか)を含む。
【0113】
事象ソータ170は、事象情報を受信し、アプリケーション136−1及び事象情報の配信先となるアプリケーション136−1のアプリケーションビュー191を判定する。事象ソータ170は、事象モニタ171及び事象ディスパッチャモジュール174を含む。いくつかの実施形態において、アプリケーション136−1はアプリケーション内部状態192を含み、これは、アプリケーションがアクティブであるか又は実行している場合にタッチセンシティブディスプレイ112に表示される現在のアプリケーションビューを示す。いくつかの実施形態において、デバイス/グローバル内部状態157は、現在アクティブであるアプリケーションを判定するために事象ソータ170により使用され、アプリケーション内部状態192は、事象情報の配信先となるアプリケーションビュー191を判定するために事象ソータ170により使用される。
【0114】
いくつかの実施形態において、アプリケーション内部状態192は、アプリケーション136−1が実行を再開する場合に使用される再開情報と、表示されている情報を示すか又はアプリケーション136−1による表示の準備が整っているユーザインタフェース状態情報と、ユーザが前の状態又はアプリケーション136−1のビューに戻ることを可能にする状態キューと、ユーザにより行われた前の動作のリドゥ/アンドゥキューとのうちの1つ以上等の追加の情報を含む。
【0115】
事象モニタ171は、周辺インタフェース118から事象情報を受信する。事象情報は、サブ事象(例えば、マルチタッチジェスチャの一部分であるタッチセンシティブディスプレイ112に対するユーザタッチ)に関する情報を含む。周辺インタフェース118は、近接センサ166等のセンサ、加速度計168及び/又はマイク113、あるいはI/Oサブシステム106から受信する(オーディオ回路網110を介して)情報を送信する。周辺インタフェース118がI/Oサブシステム106から受信する情報は、タッチセンシティブディスプレイ112又はタッチセンシティブ面からの情報を含む。
【0116】
いくつかの実施形態において、事象モニタ171は、所定の間隔で周辺インタフェース118に要求を送出する。それに応答して、周辺インタフェース118は事象情報を送信する。他の実施形態において、周辺インタフェース118は、重要な事象(例えば、所定の雑音閾値より高く且つ/又は所定の期間より長い期間の入力の受信)があった場合にのみ事象情報を送信する。
【0117】
いくつかの実施形態において、事象ソータ170は、ヒットビュー判定モジュール172及び/又はアクティブ事象レコグナイザ判定モジュール173を更に含む。
【0118】
ヒットビュー判定モジュール172は、タッチセンシティブディスプレイ112が2つ以上のビューを表示した場合にサブ事象が行われた1つ以上のビュー内の場所を判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイで見ることのできる制御及び他の要素から構成される。
【0119】
アプリケーションと関連付けられたユーザインタフェースの別の態様は、本明細書においてアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることもあるビューの集合であり、このビューにおいて、情報が表示され且つタッチジェスチャが発生する。タッチが検出されるアプリケーションビュー(各アプリケーションの)は、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応してもよい。例えばタッチが検出される最下位レベルのビューはヒットビューと呼ばれてもよく、適切な入力として認識される事象の集合は、タッチジェスチャを開始する最初のタッチのヒットビューに少なくとも部分的に基づいて判定されてもよい。
【0120】
ヒットビュー判定モジュール172は、タッチジェスチャのサブ事象に関連する情報を受信する。アプリケーションが階層に編成された複数のビューを有する場合、ヒットビュー判定モジュール172は、サブ事象を処理すべき階層の最下位のビューとしてヒットビューを識別する。殆どの状況において、ヒットビューは、開始サブ事象(すなわち、事象又は潜在的な事象を形成するサブ事象のシーケンスの第1のサブ事象)が発生する最下位レベルのビューである。ヒットビューは、ヒットビュー判定モジュールにより識別されると、一般に、ヒットビューとして識別された同一のタッチ又は入力ソースに関連する全てのサブ事象を受信する。
【0121】
アクティブ事象レコグナイザ判定モジュール173は、特定のサブ事象のシーケンスを受信すべきであるビュー階層内の1つ以上のビューを判定する。いくつかの実施形態において、アクティブ事象レコグナイザ判定モジュール173は、ヒットビューのみが特定のサブ事象のシーケンスを受信すべきであると判定する。他の実施形態において、アクティブ事象レコグナイザ判定モジュール173は、サブ事象の物理的な場所を含む全てのビューが能動的に関わるビューであると判定するため、能動的に関わる全てのビューが特定のサブ事象のシーケンスを受信すべきであると判定する。他の実施形態において、タッチサブ事象が1つの特定のビューと関連付けられた領域に全体的に制限される場合でも、階層の上位レベルのビューは能動的に関わるビューとして依然として存在する。
【0122】
事象ディスパッチャモジュール174は、事象情報を事象レコグナイザ(例えば、事象レコグナイザ180)にディスパッチする。アクティブ事象レコグナイザ判定モジュール173を含む実施形態において、事象ディスパッチャモジュール174は、アクティブ事象レコグナイザ判定モジュール173により判定された事象レコグナイザに事象情報を配信する。いくつかの実施形態において、事象ディスパッチャモジュール174は、各事象受信部モジュール182により検索される事象情報を事象キューに格納する。
【0123】
いくつかの実施形態において、オペレーティングシステム126は事象ソータ170を含む。あるいは、アプリケーション136−1は事象ソータ170を含む。更に他の実施形態において、事象ソータ170は、スタンドアロンモジュールであるか、あるいは接触/動きモジュール130等のメモリ102に格納された別のモジュールの一部分である。
【0124】
いくつかの実施形態において、アプリケーション136−1は、複数の事象ハンドラ190及び1つ以上のアプリケーションビュー191を含む。各アプリケーションビューは、アプリケーションのユーザインタフェースの各ビュー内で発生するタッチ事象を処理する命令を含む。アプリケーション136−1の各アプリケーションビュー191は、1つ以上の事象レコグナイザ180を含む。一般に、各アプリケーションビュー191は複数の事象レコグナイザ180を含む。他の実施形態において、1つ以上の事象レコグナイザ180は、ユーザインタフェースキット(不図示)又はアプリケーション136−1がメソッド及び他のプロパティを継承する上位レベルのオブジェクト等の独立したモジュールの一部分である。いくつかの実施形態において、各事象ハンドラ190は、データ更新部176、オブジェクト更新部177、GUI更新部178及び/又は事象ソータ170から受信した事象データ179のうちの1つ以上を含む。事象ハンドラ190は、データ更新部176、オブジェクト更新部177又はGUI更新部178を利用するか又は呼び出して、アプリケーション内部状態192を更新してもよい。あるいは、1つ以上のアプリケーションビュー191は、1つ以上の各事象ハンドラ190を含む。また、いくつかの実施形態において、データ更新部176、オブジェクト更新部177及びGUI更新部178のうちの1つ以上が各アプリケーションビュー191に含まれる。
【0125】
各事象レコグナイザ180は、事象ソータ170から事象情報(例えば、事象データ179)を受信し、事象情報から事象を識別する。事象レコグナイザ180は、事象受信部182及び事象比較部184を含む。いくつかの実施形態において、事象レコグナイザ180は、メタデータ183及び事象配信命令188(サブ事象配信命令を含んでもよい)の少なくとも部分集合を更に含む。
【0126】
事象受信部182は、事象ソータ170から事象情報を受信する。事象情報は、サブ事象、例えばタッチ又はタッチの移動に関する情報を含む。サブ事象に依存して、事象情報は、サブ事象の場所等の追加の情報を更に含む。サブ事象がタッチの動きに関係する場合、事象情報は、サブ事象の速度及び方向を更に含んでもよい。いくつかの実施形態において、事象は1つの向きから別の向き(例えば、縦向きから横向き又は横向きから縦向き)へのデバイスの回転を含み、事象情報は、デバイスの現在の向き(デバイスの態勢とも呼ばれる)に関する対応する情報を含む。
【0127】
事象比較部184は、事象情報を事前定義済みの事象定義又はサブ事象定義と比較し、その比較に基づいて、事象又はサブ事象を判定するか、あるいは事象又はサブ事象の状態を判定又は更新する。いくつかの実施形態において、事象比較部184は事象定義186を含む。事象定義186は、例えば事象1(187−1)及び事象2(187−2)等である事象(例えば、事前定義済みのサブ事象のシーケンス)の定義を含む。いくつかの実施形態において、事象187のサブ事象は、例えばタッチの開始、タッチの終了、タッチの移動、タッチの取り消し及び複数のタッチを含む。一例において、事象1(187−1)の定義は、表示されたオブジェクトに対するダブルタップである。例えばダブルタップは、所定のフェーズに対する表示オブジェクトへの第1のタッチ(タッチの開始)と、所定のフェーズに対する第1のリフトオフ(タッチの終了)と、所定のフェーズに対する表示オブジェクトへの第2のタッチ(タッチの開始)と、所定のフェーズに対する第2のリフトオフ(タッチの終了)とを含む。別の例において、事象2(187−2)の定義は、表示オブジェクトに対するドラッグである。例えばドラッグは、所定のフェーズに対する表示オブジェクトへのタッチ(又は接触)と、タッチセンシティブディスプレイ112にわたるタッチの移動と、タッチのリフトオフ(タッチの終了)とを含む。いくつかの実施形態において、事象は1つ以上の関連する事象ハンドラ190に対する情報を更に含む。
【0128】
いくつかの実施形態において、事象定義187は、各ユーザインタフェースオブジェクトに対する事象の定義を含む。いくつかの実施形態において、事象比較部184は、サブ事象と関連付けられるユーザインタフェースオブジェクトを判定するためにヒットテストを実行する。例えば3つのユーザインタフェースオブジェクトがタッチセンシティブディスプレイ112に表示されるアプリケーションビューにおいて、タッチがタッチセンシティブディスプレイ112で検出された時、事象比較部184は、3つのユーザインタフェースオブジェクトのうちどのユーザインタフェースオブジェクトがタッチ(サブ事象)と関連付けられるかを判定するためにヒットテストを実行する。各表示オブジェクトが各事象ハンドラ190と関連付けられる場合、事象比較部は、ヒットテストの結果を使用して、起動されるべき事象ハンドラ190を判定する。例えば事象比較部184は、ヒットテストをトリガするオブジェクト及びサブ事象と関連付けられた事象ハンドラを選択する。
【0129】
いくつかの実施形態において、各事象187の定義は、サブ事象のシーケンスが事象レコグナイザの事象の種類に対応するか否かを判定するまで事象情報の配信を遅延させる遅延動作を更に含む。
【0130】
各事象レコグナイザ180は、一連のサブ事象が事象定義186のいずれの事象とも一致しないと判定した場合、事象不可能状態、事象失敗状態又は事象終了状態になり、その後、タッチジェスチャの後続のサブ事象を無視する。この状況において、ヒットビューに対してアクティブのままである他の事象レコグナイザがある場合、それらの事象レコグナイザは実行中のタッチジェスチャのサブ事象を追跡及び処理し続ける。
【0131】
いくつかの実施形態において、各事象レコグナイザ180は、事象配信システムが能動的に関わる事象レコグナイザへのサブ事象配信を実行すべきである方法を示す設定可能なプロパティ、フラグ及び/又はリストを有するメタデータ183を含む。いくつかの実施形態において、メタデータ183は、事象レコグナイザが互いに対話してもよい方法を示す設定可能なプロパティ、フラグ及び/又はリストを含む。いくつかの実施形態において、メタデータ183は、サブ事象がビュー階層又はプログラム階層の種々のレベルに配信されるかを示す設定可能なプロパティ、フラグ及び/又はリストを含む。
【0132】
いくつかの実施形態において、各事象レコグナイザ180は、事象の1つ以上の特定のサブ事象が認識された場合に事象と関連付けられた事象ハンドラ190を起動する。いくつかの実施形態において、各事象レコグナイザ180は、事象と関連付けられた事象情報を事象ハンドラ190に配信する。事象ハンドラ190を起動することは、各ヒットビューへのサブ事象の送出(及び遅延された送出)とは異なる。いくつかの実施形態において、事象レコグナイザ180は、認識された事象と関連付けられたフラグをスローし、フラグと関連付けられた事象ハンドラ190は、フラグをキャッチして事前定義済みの処理を実行する。
【0133】
いくつかの実施形態において、事象配信命令188は、事象ハンドラを起動することなくサブ事象に関する事象情報を配信するサブ事象配信命令を含む。その代わりに、サブ事象配信命令は、一連のサブ事象と関連付けられた事象ハンドラ又は能動的に関わるビューに事象情報を配信する。一連のサブ事象又は能動的に関わるビューと関連付けられた事象ハンドラは、事象情報を受信し、所定の処理を実行する。
【0134】
いくつかの実施形態において、データ更新部176は、アプリケーション136−1で使用されるデータを作成及び更新する。例えばデータ更新部176は、連絡先モジュール137で使用される電話番号を更新するか、あるいはビデオプレーヤモジュール145で使用されるビデオファイルを格納する。いくつかの実施形態において、オブジェクト更新部177は、アプリケーション136−1で使用されるオブジェクトを作成及び更新する。例えばオブジェクト更新部176は、新しいユーザインタフェースオブジェクトを作成するか、あるいはユーザインタフェースオブジェクトの位置を更新する。GUI更新部178はGUIを更新する。例えばGUI更新部178は、表示情報を準備し、タッチセンシティブディスプレイに表示するためにその情報をグラフィックスモジュール132に送出する。
【0135】
いくつかの実施形態において、事象ハンドラ190は、データ更新部176、オブジェクト更新部177及びGUI更新部178を含むか又はそれらへのアクセス権を有する。いくつかの実施形態において、データ更新部176、オブジェクト更新部177及びGUI更新部178は、アプリケーションビュー191又は各アプリケーション136−1の単一のモジュールに含まれる。他の実施形態において、それらは2つ以上のソフトウェアモジュールに含まれる。
【0136】
タッチセンシティブディスプレイに対するユーザタッチの事象処理に関する上記説明は、入力デバイスを含む多機能デバイス100を動作させるための他の形式のユーザ入力にも当てはまり、ユーザ入力の全てがタッチスクリーン上で開始されるわけではなく、例えば認識される事象を定義するサブ事象に対応する入力として利用されてもよい単一又は複数のキーボードの押下又は保持を伴うか又は伴わないマウスの移動及びマウスボタンの押下、タッチパッドにおけるユーザの移動、タップ、ドラッグ、スクロール等、ペンスタイラスの入力、デバイスの移動、音声命令、検出された眼球運動、バイオメトリック入力及び/又はそれらの組み合わせを連携することが理解される。
【0137】
図2は、いくつかの実施形態に係るタッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、ユーザインタフェース(UI)200内に1つ以上のグラフィックスを表示してもよい。本実施形態及び以下に説明する他の実施形態において、ユーザは、例えば1本以上の指202(図中、縮尺通りに描かれていない)又は1つ以上のスタイラス203(図中、縮尺通りに描かれていない)を使用してグラフィックスに対してジェスチャを実行することにより1つ以上のグラフィックスを選択してもよい。いくつかの実施形態において、ユーザが1つ以上のグラフィックスとの接触を中断した時、1つ以上のグラフィックスの選択が行われる。いくつかの実施形態において、ジェスチャは、1つ以上のタップ、1つ以上のスワイプ(左から右、右から左、上方向及び/又は下方向)、並びに/あるいはデバイス100と接触した指の回転(右から左、左から右、上方向及び/又は下方向)等のジェスチャを含む。いくつかの実施形態において、グラフィックスとの不注意による接触はそのグラフィックスを選択しなくてもよい。例えば選択に対応するジェスチャがタップである場合、アプリケーションアイコン上を移動するスワイプジェスチャは、対応するアプリケーションを選択しなくてもよい。
【0138】
デバイス100は、「home」又はメニューボタン204等の1つ以上の物理的なボタンを更に含んでもよい。上述したように、メニューボタン204は、デバイス100で実行されてもよいアプリケーションの集合のいずれのアプリケーション136に操作するためにも使用されてもよい。あるいは、いくつかの実施形態において、メニューボタンは、タッチスクリーン112に表示されたGUIのソフトキーとして実現される。
【0139】
一実施形態において、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をON/OFFにし且つデバイスをロックするための押しボタン206、音量調整ボタン208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212及びドッキング/充電外部ポート124を含む。押しボタン206は、ボタンを押下し且つ押下状態で事前定義済みの時間間隔の間ボタンを保持することによりデバイスの電源をON/OFFし、ボタンを押下し且つ事前定義済みの時間間隔が経過する前にボタンを解放することによりデバイスをロックし、且つ/あるいはデバイスをアンロック又はアンロック処理を開始するために使用されてもよい。別の一実施形態において、デバイス100は、マイク113を介していくつかの機能の起動又は停止のための音声入力を更に受け付けてもよい。
【0140】
図3は、いくつかの実施形態に係るディスプレイ及びタッチセンシティブ面を有する例示的な多機能デバイスを示すブロック図である。デバイス300は携帯可能である必要はない。いくつかの実施形態において、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育デバイス(子供の学習玩具等)、ゲームシステム又は制御デバイス(例えば、家庭用又は産業用コントローラ)である。一般にデバイス300は、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インタフェース360、メモリ370及びそれら構成要素を相互接続する1つ以上の通信バス320を含む。通信バス320は、システム構成要素間を相互接続し且つ通信を制御する回路網(チップセットと呼ばれることもある)を含んでもよい。デバイス300は、一般にタッチスクリーンディスプレイであるディスプレイ340を含む入出力(I/O)インタフェース330を含む。I/Oインタフェース330は、キーボード及び/又はマウス(又は他のポインティングデバイス)350、並びにタッチパッド355を更に含んでもよい。メモリ370は、DRAM、SRAM、DDR RAM又は他のランダムアクセス固体メモリ素子等の高速ランダムアクセスメモリを含み、1つ以上の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ素子又は他の不揮発性固体記憶装置等の不揮発性メモリを含んでもよい。メモリ370は、CPU310から遠隔地に配置された1つ以上の記憶装置をオプションとして含んでもよい。いくつかの実施形態において、メモリ370は、ポータブル多機能デバイス100(
図1)のメモリ102に格納されたプログラム、モジュール及びデータ構造に類似するプログラム、モジュール及びデータ構造、あるいはそれらの部分集合を格納する。更にメモリ370は、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール及びデータ構造を格納してもよい。例えばデバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、ワードプロセシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388及び/又はスプレッドシートモジュール390を格納してもよいが、その一方でポータブル多機能デバイス100(
図1)のメモリ102はそれらモジュールを格納してもしなくてもよい。
【0141】
図3の上記で識別された各要素は、上述した1つ以上のメモリ素子に格納されてもよい。上記で識別された各モジュールは、上述した機能を実行する命令の集合に対応する。上記で識別されたモジュール又はプログラム(すなわち、命令の集合)は、独立したソフトウェアプログラム、手順又はモジュールとして実現される必要はなく、種々の実施形態において、それらモジュールの種々の部分集合は組み合わされてもよく又は再構成されてもよい。いくつかの実施形態において、メモリ370は、上記で識別されたモジュール及びデータ構造の部分集合を格納してもよい。更にメモリ370は、上述されていない追加のモジュール及びデータ構造を格納してもよい。
【0142】
次に、ポータブル多機能デバイス100で実現されてもよいユーザインタフェース(「UI」)の実施形態に注目する。
【0143】
図4Aは、いくつかの実施形態に係るポータブル多機能デバイス100のアプリケーションのメニューに対する例示的なユーザインタフェースを示す。同様のユーザインタフェースがデバイス300において実現されてもよい。いくつかの実施形態において、ユーザインタフェース400は、以下の要素、あるいはそれらの部分集合又は上位集合を含む。
【0144】
・セルラ信号及びWi−Fi信号等の無線通信に対する信号強度標識402
・時間404
・Bluetooth標識405
・バッテリ状態標識406
・以下のような頻繁に使用されるアプリケーションのアイコンを含むトレイ408
*応答できなかった通話又はボイスメールメッセージの数の標識414を含んでもよい電話138
*未読の電子メールの数の標識410を含んでもよい電子メールクライアント140
*ブラウザ147
*iPod(アップル社(Apple Inc.)の登録商標)モジュール152とも呼ばれるビデオ及び音楽プレーヤモジュール152
【0145】
・他のアプリケーションに対するアイコン、例えば、
*IM141
*画像管理144
*カメラ143
*天気149−1
*株価149−2
*ワークアウトサポート142
*カレンダ148
*アラーム時計149−4
*マップ154
*メモ153
*デバイス100及びその種々のアプリケーション136に対する設定へのアクセス権を提供する設定412
*YouTube(グーグル社(Google Inc.)の登録商標)モジュール155とも呼ばれるオンラインビデオモジュール155
*ワードプロセッサ384
*描画380
*スプレッドシート390
*プレゼンテーション382
【0146】
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは異なるタッチセンシティブ面451(例えば、
図3のタブレット又はタッチパッド355)を有するデバイス(例えば、
図3のデバイス300)における例示的なユーザインタフェースを示す。以下の多くの例がタッチスクリーンディスプレイ112(タッチセンシティブ面及びディスプレイが組み合わされている)における入力を参照して与えられるが、いくつかの実施形態において、デバイスは
図4Bに示すようにディスプレイとは異なるタッチセンシティブ面で入力を検出する。いくつかの実施形態において、タッチセンシティブ面(例えば、
図4Bの451)は、ディスプレイ(例えば、450)における主軸(例えば、
図4Bの453)に対応する主軸(例えば、
図4Bの452)を有する。これらの実施形態によると、デバイスは、ディスプレイ上の各場所に対応する場所(例えば、
図4Bにおいて、460は468に対応し、462は470に対応する)におけるタッチセンシティブ面451との接触(例えば、
図4Bの460及び462)を検出する。このように、タッチセンシティブ面(例えば、
図4Bの451)においてデバイスにより検出されたユーザ入力(例えば、接触460及び462、並びにそれらの移動)は、タッチセンシティブ面がディスプレイとは異なる場合に多機能デバイスのディスプレイ(例えば、
図4Bの450)上のユーザインタフェースを操作するためにデバイスにより使用される。本明細書で説明される他のユーザインタフェースに対して同様の方法が使用されてもよいことが理解されるべきである。
【0147】
更に以下の例は主に指入力(例えば、指の接触、フィンガータップジェスチャ、フィンガースワイプジェスチャ)を参照して与えられるが、いくつかの実施形態において、1つ以上の指入力が別の入力デバイスからの入力(例えば、マウスを使用した入力又はスタイラス入力)により置換されることが理解されるべきである。例えばスワイプジェスチャは、マウスクリック(例えば、接触の代わり)、その後のスワイプの経路に沿うカーソルの移動(例えば、接触の移動の代わり)により置換されてもよい。別の例として、タップジェスチャは、カーソルがタップジェスチャの場所の上に配置されている間のマウスクリックにより置換されてもよい(例えば、接触の検出の後に接触の検出を中止する代わり)。同様に、複数のユーザ入力が同時に検出される場合、複数のコンピュータマウスが同時に使用されてもよいこと又はマウス及び指の接触が同時に使用されてもよいことが理解されるべきである。
【0148】
ユーザインタフェース及び関連する処理
次に、デバイス300又はポータブル多機能デバイス100等のディスプレイ及びタッチセンシティブ面を有する電子デバイスにおいて実現されてもよいユーザインタフェース(「UI」)及び関連する処理の実施形態に注目する。
【0149】
図5Aは、デバイス100のタッチスクリーン112に表示された文書500を示す。文書500は、アプリケーション(例えば、ワードプロセシングアプリケーション、プレゼンテーションアプリケーション、スプレッドシートアプリケーション等)のユーザインタフェースに表示されてもよい。文書500が表示されるアプリケーションユーザインタフェースは、ツールバー510と、他の文書がある場合にはそれにナビゲートする「文書」ボタン512とを含んでもよい。いくつかの実施形態において、文書500は、文書閲覧モード又はナビゲートモードで表示される。
【0150】
文書500は、例えばテキスト502、画像、オブジェクト、表及びチャート等のコンテンツを含む。テキスト502はそれぞれのフォントサイズを有する。いくつかの実施形態において、テキスト502は、それぞれ異なるフォントサイズを有する多数の部分を含む。文書500は事前定義済みのページレイアウトを有し、文書500中のコンテンツは事前定義済みの方法でレイアウトされ、レイアウトは、文書500がタッチスクリーン112に表示される倍率レベルの変化による影響を受けない。
【0151】
文書500は第1の倍率レベルで表示される。例えば
図5Aに示されるように、第1の倍率レベルは、ディスプレイ112の文書500のページ全体をフィットさせることに対応するレベルであってもよい。文書500は、より大きな倍率又はより小さな倍率で更に表示されてもよい(例えば、ユーザ入力に応答して)。テキスト502は、同一のフォントサイズの場合に倍率レベルによって変動するスクリーン上のテキスト表示サイズを有する。従って、テキスト502は、「ページ全体のフィット」倍率レベルで第1の表示サイズを有する。テキスト表示サイズは、物理媒体(例えば、用紙)に印刷された場合に現れるようなテキストのサイズであるフォントサイズとは対照的に、デバイスのディスプレイ(例えば、デバイス100のタッチスクリーン112)に現れるようなテキストのサイズである。
【0152】
いくつかの実施形態において、倍率レベルは、百分率(例えば、100%、200%、50%等)で表される。上述のページ全体のフィット倍率レベルは、ディスプレイ112へのページ全体のフィットを達成する倍率レベルの百分率に対応する。
【0153】
ジェスチャ504は、文書500における場所に対応するタッチスクリーン112における場所で検出される。いくつかの実施形態において、ジェスチャ504はシングルタップジェスチャである。ジェスチャ504の場所は、テキスト502における挿入点506を示す。挿入点506は、テキスト502のテキスト部分508に最近接する。
【0154】
あるいは、
図5Bは、文書500における場所に対応するタッチスクリーン112における場所で検出されたジェスチャ514を示す。いくつかの実施形態において、ジェスチャ514は、指の接触のタップ&ホールドジェスチャ(すなわち、指がタッチスクリーン112に接触してタッチスクリーン112との接触を維持し、その後接触のリフトオフが行われる)を含む。ジェスチャ514の検出に応答して、テキスト部分508の拡大図と、ジェスチャ514の場所に対応するテキスト502中の場所において挿入点を示す挿入点マーカ518とを示すルーペ516が表示されたジェスチャ514を示す。ジェスチャ514がアクティブである(すなわち、タッチスクリーン112との接触が維持されている)間、挿入点マーカ518は、文書500を全体にわたって移動してもよく(例えば、タッチスクリーン112にわたり指を移動させることで)、ルーペ516は、挿入点マーカの移動に従い、挿入点マーカ518に近接してテキストの拡大図を示す。
【0155】
ジェスチャ504又は514の検出、並びにそれぞれのジェスチャの完了(例えば、ジェスチャ504又は514の指の接触がタッチスクリーン112からリフトアップされる場合)に応答して、
図5Cに示されるように、文書500の部分520は文書編集モードで表示される。文書編集モードの間、文書500(部分520を含む)は、第1の倍率レベルとは異なる第2の倍率レベルで表示される。文書部分520はテキスト部分508を含む。いくつかの実施形態において、第2の倍率レベルは、テキスト部分508が読みやすいテキスト表示サイズでタッチスクリーン112に表示される倍率レベルである。例えば、テキスト部分508は、100%の倍率のテキスト表示サイズがタッチスクリーン112で読みにくいフォントサイズを有する場合、文書編集モードの際に200%の倍率で表示されてもよい。
【0156】
挿入点マーカ518は、挿入点(例えば、挿入点506)において表示され、テキスト部分508は、挿入点マーカ518に最近接(例えば、隣接)する。いくつかの実施形態において、挿入点マーカ518はテキストカーソルである。
【0157】
文書部分520は、文書500の事前定義済みのレイアウトが維持されるように表示され、テキスト部分508を含むテキスト502は、リフロー又は再ラップ等されない。文書編集モードの間、文書500はスクロール可能である(例えば、タッチスクリーン112におけるスワイプジェスチャ又はフリックジェスチャに応答して)。
【0158】
文書部分520が文書編集モードで表示されている間、キーボード521も表示され、ツールバー510の「文書」ボタンは、「完了」ボタン522により置換される。ユーザは、キーボード521をタイプすることでテキストを文書500に入力し、且つ「完了」ボタン522に対するジェスチャ(例えば、タップジェスチャ)を実行することで文書500の編集の完了を確定してもよい。「完了」ボタン522に対するジェスチャを実行することで「完了」ボタン522が起動されると、文書編集モードが終了し、文書閲覧モードが再開する。例えば
図5Dは、「完了」ボタン522で対応する場所においてタッチスクリーン112で検出されたジェスチャ524(ジェスチャ524は、「完了」ボタン522に関して検出されると言われてもよい)を示す。
【0159】
ジェスチャ524の検出に応答して、文書編集モードで入力及び確定された修正を含む文書500は、
図5Eに示されるように、ページ全体のフィット倍率レベル及び文書閲覧モードで表示される。「完了」ボタン522は、ツールバー510の「文書」ボタン512により置換される。
【0160】
図5Fは、ツールバー510及び「文書」ボタン512と共に文書閲覧モードで表示されたテキスト502を含む文書500を示す。文書500はページ全体のフィット倍率で表示され、テキスト502は、ページ全体のフィット倍率レベルに対応するテキスト表示サイズで表示される。
【0161】
ジェスチャ526は、文書500における場所に対応するタッチスクリーン112における場所で検出される。いくつかの実施形態において、ジェスチャ526はシングルタップジェスチャである。ジェスチャ526の場所は、テキスト502における挿入点506を示す。挿入点506は、テキスト502のテキスト部分508に最近接する。
【0162】
ジェスチャ526の検出に応答して、
図5Gに示されるように、文書500の文書部分520は文書編集モードで表示される。文書部分520はテキスト部分508を含む。文書部分520は、テキスト部分508がデフォルト目標テキスト表示サイズで表示されるような倍率レベルで表示される。キーボード521も表示され、「文書」ボタン512は「完了」ボタン522により置換される。挿入点マーカ518は、挿入点506をマーク付けするために表示される。
【0163】
ジェスチャ534はタッチスクリーン112で検出される。ジェスチャ534は、文書部分520が表示される倍率レベルを調整するジェスチャである。いくつかの実施形態において、ジェスチャ534は、接触534−A及び534−Bとが離れるように移動するピンチアウトジェスチャである。ジェスチャ534の検出に応答して、
図5Hに示されるように、文書部分520は、文書編集モードを継続している間にユーザ調整の倍率レベルで表示される。この場合、ユーザ調整の倍率レベルは、
図5Gに示されるような倍率レベルより高い。従って、テキスト部分520は、この場合は
図5Gに示されるようなデフォルト目標テキスト表示サイズより大きいユーザ調整のテキスト表示サイズで表示される。ユーザ調整のテキスト表示サイズは、デバイス100により格納される。
【0164】
テキスト部分508がユーザ調整のテキスト表示サイズで表示されている間、ジェスチャ536は、
図5Hに示されるように「完了」ボタン522に関して検出される。「完了」ボタン522に対するジェスチャ536の検出に応答して、文書編集モードで入力及び確定された修正を含む文書500は、
図5Iに示されるように、ページ全体のフィット倍率レベル及び文書閲覧モードで表示される。「完了」ボタン522は、ツールバー510の「文書」ボタン512により置換される。
【0165】
図5Iにおいて、文書500が文書閲覧モード及びページ全体のフィット倍率レベルで表示されている間、ジェスチャ536は、文書500における場所に対応するタッチスクリーン112における場所で検出される。いくつかの実施形態において、ジェスチャ536はシングルタップジェスチャである。ジェスチャ536の場所は、テキスト502における挿入点538を示す。挿入点538は、テキスト502のテキスト部分540に最近接する。
【0166】
ジェスチャ536の検出に応答して、テキスト部分540を含む文書500の文書部分541は、
図5Jに示されるように文書編集モードで表示される。文書部分541は、テキスト部分540が以前に格納されたユーザ調整のテキスト表示サイズで表示されるような倍率レベルで表示される。挿入点メーカ518は、挿入点538をマーク付けするために表示される。文書部分541が文書部分520とは異なる文書500の部分である(且つテキスト部分540がテキスト部分508とは異なる)にもかかわらず、文書部分541は、テキスト部分540がユーザ調整のテキスト表示サイズで表示されるような倍率レベルで表示される。
【0167】
図5Kは、タッチスクリーン112に文書閲覧モードで表示されるテキスト543を含む文書542を示す。文書542は、文書部分544及び546を含む。文書部分544におけるテキスト(テキスト543の一部分)及び文書部分546におけるテキスト(テキスト543の別の部分)は、異なるフォントサイズを有する。文書542が表示される所定の倍率レベルにおいて、文書部分544におけるテキストのテキスト表示サイズは、文書部分546におけるテキストのテキスト表示サイズより大きい。
【0168】
ジェスチャ548は、文書542における場所に対応するタッチスクリーン112における場所で検出される。いくつかの実施形態において、ジェスチャ548はシングルタップジェスチャである。ジェスチャ548の場所は、テキスト543における挿入点550を示す。挿入点550は、テキスト543のテキスト部分552に最近接する。テキスト部分552は文書部分546に配置される。
【0169】
ジェスチャ548の検出に応答して、文書部分546は、
図5Lに示されるように文書編集モードで表示される。文書部分546は、ある特定の倍率レベルで表示される。従って、テキスト部分552は目標テキスト表示サイズで表示される。挿入点マーカ518は、挿入点550をマーク付けするために表示される。キーボード521も表示される。
【0170】
図5Mは、文書編集モードでタッチスクリーン112に表示されたテキスト543のテキスト部分556を含む文書部分544を示す。文書542をスクロールすることにより(例えば、スワイプジェスチャを使用して)、
図5Lに表示されるような文書部分546から文書部分544に到達してもよい。あるいは、文書編集モードの間、文書部分546から文書部分544に挿入マーカ518をドラッグすることにより、
図5Lに示されるような文書部分546から文書部分544に到達してもよい。文書部分544は、文書部分546が
図5Lに表示されるのと同一の倍率レベルで表示される。テキスト部分556は、テキスト部分552が
図5Lに表示されるより大きなテキスト表示サイズで表示される。テキスト部分556は、テキスト部分552より大きなフォントサイズを有するため、同一の倍率レベルの場合により大きなテキスト表示サイズを有する。
【0171】
ジェスチャ554は、文書部分544における場所に対応するタッチスクリーン112における場所で検出される。いくつかの実施形態において、ジェスチャ554はシングルタップジェスチャである。ジェスチャ554の場所は、テキスト544における挿入点555を示す。挿入点555は、テキスト544のテキスト部分556に最近接する。
【0172】
ジェスチャ554の検出に応答して、
図5Mに示されるように、文書部分544は、
図5Mに示される倍率レベルより低い倍率レベルで
図5Nに表示される。挿入点マーカ518は、挿入点555をマーク付けするために表示される。このより低い倍率レベルにおいて、テキスト部分556は、テキスト部分552が
図5Lに表示されるのと同一のテキスト表示サイズで表示される。文書の倍率レベルは、ユーザがあるフォントサイズのテキストから異なるフォントサイズのテキストにナビゲートするのと同一のテキスト表示サイズで異なるフォントサイズのテキストが表示されるように変更される。
【0173】
図5Oは、ある特定の倍率レベルにおいて文書編集モードで表示されている文書558の一部分を示す。文書558におけるテキストは、ある特定のテキスト表示サイズで表示される。テキスト562は、コンテンツ選択範囲560により示されるように選択される。選択されたテキスト562を操作する選択オプションメニュー565、並びにコンテンツ選択範囲560を調整するコンテンツ選択ハンドル564−A及び564−Bも表示される。ジェスチャ566はハンドル564−Bに関して検出され、コンテンツ選択範囲560を拡張する方向(例えば、
図5Oでは下方向)にハンドル564−Bをドラッグする。
【0174】
ジェスチャ566の検出に応答して、選択範囲560は、
図5Pに示されるように拡大される。いくつかの実施形態において、ハンドル564−Bが移動する場合に選択範囲560の端部でテキストの拡大図を示すルーペ567が表示される。
【0175】
拡大されたコンテンツ選択範囲560により、選択されたテキスト562は、
図5Oに示されるより多くのテキストを含む。選択されたテキスト562の一部分は
図5Oに表示されない。
【0176】
図5Qは、選択範囲560が文書558の段落の終わりを含む際にタッチスクリーン112でジェスチャ566の検出を中止することを示す。ジェスチャ566の中止(リフトオフ)により、コンテンツ選択範囲560の調整は完了する。ジェスチャ566の完了を検出することに応答して、文書558が表示される倍率レベルは、
図5Rに示されるように変更される。新しい倍率レベルは、倍率レベルが高すぎるためにコンテンツ選択範囲560において選択されたテキスト562の一部分のみを表示するのではなく、選択されたテキスト562全体がタッチスクリーン112に表示されるように選択される。例えば文書558は、
図5Rに示されるようなページ全体のフィット倍率レベル又はページ幅フィット倍率レベルで表示されてもよい。
【0177】
図5Rにも示されるように、コンテンツ選択範囲560は、選択されたテキスト562が段落全体を含むように拡張される。選択された段落を操作する段落選択オプションメニュー569、並びに選択範囲560を調整するハンドル564−A及び564−Bも表示される。
図5Rに示されるように、ハンドル564−A及び564−Bは、より多くの段落又はより少ない段落を選択するように選択範囲560を調整するためにドラッグされてもよい。文字又は単語等のより小さな単位とは対照的に、段落はテキスト選択の単位になる。
【0178】
図5Rにおいて、文書558におけるテキストの別の段落に向かってハンドル564−Bを下方向にドラッグするジェスチャ568は、ハンドル564−Bに関して検出される。ジェスチャ568の検出に応答して、
図5Sに示されるように、選択範囲560は段落により拡張され、選択されたテキスト562は別の段落を含む。
【0179】
図5Tは、タッチスクリーン112に文書閲覧モードで表示された文書570を示す。文書570はオブジェクト572及び576を含む。いくつかの実施形態において、オブジェクトは、形状、画像又は他のグラフィックオブジェクトである。オブジェクト572は編集可能なテキスト574を含むが、オブジェクト576は編集可能なテキストを含まない。
【0180】
ジェスチャがオブジェクト576で検出された時(例えば、オブジェクト576に対するシングルタップジェスチャであってもよい
図5Tのジェスチャ580)、オブジェクト576は、
図5Uに示されるように、特定のオブジェクト表示サイズを達成する倍率レベルにおいて文書編集モードで表示される。オブジェクト表示サイズは、ディスプレイに現れるようなオブジェクトのサイズである。いくつかの実施形態において、その特定のオブジェクト表示サイズは、タッチスクリーン112に対する事前定義済みのサイズである。例えば事前定義済みのサイズは、タッチスクリーン112へのオブジェクト576全体にフィットするサイズであってもよい。
【0181】
これに対して、ジェスチャがオブジェクト572で検出された時(例えば、シングルタップジェスチャであってもよい
図5Tのジェスチャ582)、オブジェクト572は、
図5Vに示されるように、テキスト574に対する特定のテキスト表示サイズを達成する倍率レベルにおいて文書編集モードで表示される。この倍率レベルは、オブジェクト572のサイズを参照せずに選択されてもよい。いくつかの実施形態において、その特定のテキスト表示サイズは、デフォルトテキスト表示サイズ又は以前に格納されたユーザ調整のテキスト表示サイズである。従って、ジェスチャ(例えば、シングルタップジェスチャ)がオブジェクトで検出される際、新しい倍率レベルは、オブジェクトが編集可能なテキストを含む場合にテキストを収容し、オブジェクトが編集可能なテキストを含まない場合にオブジェクトを収容する。
【0182】
図5Wは、タッチスクリーン112に文書閲覧モードで表示されている文書584を示す。文書584は、スプレッドシート文書であり、ワークシート591を含む。ワークシート591は、1つ以上の行及び1つ以上の列を含む。文書584は、ある倍率レベルで表示される。ツールバー586及び「文書」ボタン512と同様に他のスプレッドシート文書にナビゲートする「スプレッドシート」ボタン588も表示される。
【0183】
文書584の倍率レベルを変更するジェスチャ590は、タッチスクリーン112で検出される。ジェスチャ590は、離れるように移動する接触590−A及び590−Bを含む(すなわち、ジェスチャ590はピンチアウトジェスチャである)。ジェスチャ590の検出に応答して、文書584は、
図5Xに示されるように、ユーザ調整の倍率レベルにおいて依然として文書閲覧モードで表示される。
【0184】
ジェスチャ592は、ワークシート591のセル594に近接してタッチスクリーン112で検出される。いくつかの実施形態において、ジェスチャ592はダブルタップジェスチャである。セル594は挿入点になる。ジェスチャ592の検出に応答して、文書584は、
図5Yに示されるように文書編集モードで表示される。文書584は、ユーザ調整の倍率レベルとは異なる倍率レベルで表示される。ジェスチャ592に近接するセルであるセル594は、編集可能なセルになり、焦点が合い(例えば、中心に置かれ)、セル挿入点マーカ593により強調表示される。キーパッド595、セル594の現在のコンテンツを示す編集フィールド596及び編集完了ボタン597も表示される。ユーザは、キーパッド595を使用してセル594のコンテンツに編集を入力してもよく、その編集は編集フィールド596に反映される。
【0185】
編集が完了すると、ユーザは、ジェスチャにより編集完了ボタン597を起動する。例えばジェスチャ598は、
図5Zに示されるように編集完了ボタン597に関して検出される。いくつかの実施形態において、ジェスチャ598はシングルタップジェスチャである。編集完了ボタン597に対するジェスチャ598の検出に応答して、文書584は、
図5AAに示されるように、ユーザ調整の倍率レベル(
図5Xと同一のレベル)で表示される。編集フィールド596の表示を中止し、ワークシート591において、セル挿入点マーカ593ではなくセル選択マーカ599が表示される。
【0186】
図6A〜
図6Eは、いくつかの実施形態に係る電子文書をナビゲート及び編集する方法600を示すフローチャートである。方法600は、ディスプレイ及び一般にはタッチセンシティブ面を有する電子デバイス(例えば、
図3のデバイス300又は
図1のポータブル多機能デバイス100)において実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチセンシティブ面はディスプレイにある。いくつかの実施形態において、ディスプレイはタッチセンシティブ面とは異なる。方法600のいくつかの動作は組み合わされてもよく、且つ/又はいくつかの動作の順序は変更されてもよい。
【0187】
以下に説明するように、方法600は、自動的に、文書編集モードを開始する際にユーザ指定の挿入点を拡大し、閲覧及び編集がしやすい目標テキスト表示サイズでその挿入点にテキストを表示する直観的な方法を提供する。方法は、電子文書をナビゲート及び編集する時のユーザの認識に対してかかる負荷を軽減し、より効率的なヒューマンマシンインタフェースを生成する。バッテリにより動作する電子デバイスの場合、ユーザが文書のコンテンツをより高速且つ効率的に拡大できるようになることにより、節電され、バッテリ充電間隔は長くなる。
【0188】
デバイスは、第1の倍率レベルで事前定義済みのページレイアウトを有する電子文書の少なくとも一部分をディスプレイに表示する(602)。換言すると、電子文書は固定のページレイアウトを有し、テキストは、文書の倍率レベルが変更される場合に「リフロー」しない。例えば
図5Aにおいて、事前定義済みのページレイアウトを有する文書500はタッチスクリーン112に表示される。
図5Aにおいて、文書500は、ページ全体のフィット倍率レベルで表示される。
【0189】
いくつかの実施形態において、事前定義済みのページレイアウトはマルチページレイアウトであり、文書は、複数のページと関連付けられるコンテンツを有する(例えば電子文書は、ワードプロセッサ文書、プレゼンテーション文書、pdf等である)(604)。例えば文書500は、
図5Aに表示されたページに加えて1つ以上のページを有してもよい。
【0190】
いくつかの実施形態において、事前定義済みのページレイアウトは、複数の行及び複数の列を含む表である(例えば電子文書は、スプレッドシート文書等である)(606)。
【0191】
デバイスは、文書におけるテキストの第1の部分に最近接(例えば、隣接)する文書における第1の挿入点を示す第1の入力を検出する(608)。テキストの第1の部分は、一般に、事前定義済みのフォントサイズ(例えば、文書により指定されたフォントサイズ)を有する第1の挿入点に隣接する単語又は文字である。例えば
図5Aにおいて、ジェスチャ504が検出される。ジェスチャ504の場所は挿入点506を示す。いくつかの実施形態において、ジェスチャは、接触領域を有するフィンガージェスチャ(例えば、タップジェスチャ)であり、接触領域の重心(又は接触領域の重心からオフセットされた点)は、挿入点を配置するために使用される。挿入点506はテキスト部分508に最近接する。
【0192】
本明細書で使用されるように、「挿入点」という用語は、テキストカーソル又は強調表示された単語等の挿入点マーカを表示する場所としても使用されてもよい文書内の場所を示すことが理解されるべきである。
【0193】
第1の入力の検出に応答して(610)、デバイスは、テキストの第1の部分を目標テキスト表示サイズで表示するように第1の倍率レベルとは異なる第2の倍率レベルを選択する(612)。デバイスは、文書の事前定義済みのページレイアウトを維持しつつ、テキストの第1の部分を含む文書の一部分を第2の倍率レベルで表示する(614)。例えば
図5A〜
図5Cにおいて、ジェスチャ504(
図5A)又はジェスチャ514(
図5B)の検出に応答して、テキスト部分508を含む文書部分520は、テキスト部分508が読みやすいテキスト表示サイズで表示されるように選択される倍率レベルであるより高い倍率レベルで表示される。
【0194】
換言すると、倍率レベルは、テキストが読みやすいサイズであると判定されている目標テキスト表示サイズ(例えば、17pt又は他の何らかの事前定義済みのテキスト表示サイズ)で表示されるように選択される。
【0195】
方法700、並びに
図7A及び
図7Bを参照して以下に更に詳細に説明するように、目標テキスト表示サイズは、事前定義済みの目標テキスト表示サイズ又はユーザ調整された目標テキスト表示サイズであってもよいことが理解されるべきである。
【0196】
明細書及び特許請求の範囲で使用されるように、「テキスト表示サイズ」は「フォントサイズ」とは異なることが理解されるべきである。特に、本明細書で使用されるように、テキストの「フォントサイズ」は、文書が印刷された場合に現れるようなテキストの物理的寸法に対応する。これに対して、「テキスト表示サイズ」は、電子デバイスのディスプレイに現れるようなテキストの寸法に対応し、必ずしも印刷時に現れるようなテキストの物理的寸法ではない。従って、単語のテキスト表示サイズは、文書が表示される倍率レベルに依存して、実質的にフォントサイズより大きくても小さくてもよい。例えば、文書における12ptのフォントサイズの単語は、200%の倍率レベルで文書を表示することで24ptのテキスト表示サイズで表示されてよい。
【0197】
いくつかの実施形態において、文書の一部分を第2の倍率レベルで表示することは、第1の倍率レベルから第2の倍率レベルに変倍する文書のアニメーションを表示することを含む(616)。例えば、
図5Aに示される倍率レベルから
図5Cに示されるような倍率レベルへのアニメーション化された遷移があってもよい。
【0198】
いくつかの実施形態において、第1の入力の検出に応答して、デバイスは、テキストカーソルを第1の挿入点に配置することと、編集のために第1の挿入点に最近接するスプレッドシートのセルを選択することと、第1の挿入点に最近接するテキストを強調表示することとから構成される集合から選択された動作を実行する(618)。例えば、ジェスチャ504(
図5A)の検出に応答して、挿入点マーカ518は挿入点506(
図5C)に挿入される。
【0199】
いくつかの実施形態において、第1の入力の検出に応答して、デバイスは、第1の挿入点が文書の表示部分の中心領域にあるように文書をスクロールする(620)。いくつかの実施形態において、文書は1次元で(例えば、水平又は垂直に)スクロールされる。いくつかの実施形態において、文書は、2次元で(例えば、水平及び垂直に)スクロール又は平行移動される。例えば
図5Cにおいて、挿入点マーカ518(挿入点506をマーク付けする)は、おおよそ文書部分520の表示部分の中心に置かれる。センタリングを実現するために
図5Aに示された倍率レベルから
図5Cに示された倍率レベルに遷移する場合に、文書500をスクロールする必要があるだろう。
【0200】
いくつかの実施形態において、電子デバイスはタッチセンシティブ面を含み、第1の入力はタッチセンシティブ面上で検出される(622)。いくつかの実施形態において、タッチセンシティブ面はディスプレイとは異なる。いくつかの実施形態において、タッチセンシティブ面及びディスプレイは、タッチスクリーンディスプレイとして組み合わされる。例えば、デバイス100のディスプレイ112はタッチスクリーンであり、ジェスチャ504はタッチスクリーン112で検出される。
【0201】
いくつかの実施形態において、第1の入力は、タッチセンシティブ面に対するシングルタップである(624)。例えばジェスチャ504(
図5A)は、シングルタップジェスチャであってもよい。
【0202】
いくつかの実施形態において、電子デバイスはタッチセンシティブ面を含み、第1の入力は、タッチセンシティブ面に対する接触を検出することと、タッチセンシティブ面に対する接触の移動を検出することと、タッチセンシティブ面に対する接触の検出を中止することとを含む(626)。例えば
図5Bにおいて、ジェスチャ514は、タッチスクリーン112に対する接触と、挿入点マーカ518を所望の挿入点の場所に移動させるのに必要とされるようなあらゆる移動と、タッチスクリーン112からの接触のリフトオフとを含む。
【0203】
いくつかの実施形態において、タッチセンシティブ面に対する接触の移動を検出しつつ、デバイスは、タッチセンシティブ面に対する接触の現在位置に対応する文書の拡大部分を表示し、そこで、第1の挿入点は、デバイスがタッチセンシティブ面に対する接触の検出を中止する時のタッチセンシティブ面に対する接触の位置に基づいて選択される(628)。いくつかの実施形態において、文書の拡大部分は、ルーペの外観を有し、第1の挿入点をより正確に選択できるようにする。例えば
図5Bにおいて、ルーペ516が表示される。ルーペ516は、ジェスチャ514の接触の場所に対応する文書500における場所に配置される挿入点マーカ518の周囲でテキスト508の拡大図を示す。ジェスチャ514の接触がタッチスクリーン112からリフトオフする時、挿入点マーカ518の場所が確定される。
【0204】
いくつかの実施形態において、第1の入力の検出に応答して、デバイスは文書編集モードを開始する(630)。例えば
図5Cにおいて、ジェスチャ504又は514に応答して、文書部分520は文書編集モードで表示される。キーボード521が表示され、「文書」ボタン512は「完了」ボタン522により置換される。従って、単一の入力(例えば、タップジェスチャ又はタップ&ホールドジェスチャ)の結果、編集モードを開始し、テキストカーソルを配置し、快適なテキスト表示サイズで異なる倍率レベルに変倍し、挿入点をディスプレイの中心領域に配置するように文書をスクロールし、ソフトキーボードを表示する。
【0205】
いくつかの実施形態において、電子デバイスは、第1の入力の終了を検出すること(例えば、ディスプレイがタッチスクリーンディスプレイの場合、入力の終了を検出することは、一般に、タッチスクリーンディスプレイからの接触のリフトオフを検出することである)に応答して、文書編集モードを開始する(632)。例えば文書500は、ジェスチャ504又は514の終了に応答して文書編集モード(
図5Cに示されるような)で表示される。
【0206】
いくつかの実施形態において、第1の入力の検出に応答して、デバイスは、ソフトキーボードをディスプレイに表示する(634)。例えばジェスチャ504に応答して、文書編集モードでの文書500の表示と共にキーボード521が表示される(
図5C)。
【0207】
いくつかの実施形態において、文書編集モードの間、デバイスは、ユーザ入力に応答して文書のテキストを編集する(636)。例えば
図5C及び
図5Dにおいて、テキスト部分508は、キーボード521をタイプするユーザに応答して編集されてもよい。
【0208】
いくつかの実施形態において、文書は複数の文書のうちの1つである(638)。文書編集モードを開始する前に、デバイスは、文書の集合の種々の文書の間をナビゲートするナビゲーションアフォーダンス(例えば、文書ボタン)を表示する(640)。文書編集モードを開始した後、デバイスは、文書編集モードを終了する終了アフォーダンス(例えば、完了ボタン)によりナビゲーションアフォーダンスを置換する(642)。例えば
図5Aにおいて、「文書」ボタン512が表示される。
図5Cにおいて、文書500が文書編集モードで表示される場合、「文書」ボタン512は「完了」ボタン522により置換される。
【0209】
いくつかの実施形態において、デバイスは、文書編集モードを終了する要求を受信し(644)、文書編集モードを終了する要求を受信することに応答して(646)、文書編集モードを終了し(648)、文書を第1の倍率レベルで表示する(例えば、以前の倍率レベルに戻る)(650)。例えば
図5Dにおいて、ジェスチャ524は「完了」ボタン522に関して検出される。「完了」ボタン522に対するジェスチャ524の検出に応答して、文書500は、
図5Aと同一の倍率レベルであるページ全体のフィット倍率レベル(
図5Eに示されるような)において文書閲覧モードで表示される。
【0210】
いくつかの実施形態において、デバイスは、文書編集モードを終了する要求を受信し(652)、文書編集モードを終了する要求を受信することに応答して(654)、文書編集モードを終了し(656)、第1の倍率レベルとは異なる事前定義済みの文書倍率レベルに対応する第3の倍率レベル(例えば、ページ幅の倍率レベル)で文書を表示する(658)。例えば
図5Dにおいて、ジェスチャ524は「完了」ボタン522に関して検出される。「完了」ボタン522に対するジェスチャ524の検出に応答して、文書500は、
図5Aに示された倍率レベルとは異なる倍率レベル(不図示)で表示されてもよい。
【0211】
いくつかの実施形態において、デバイスは、文書編集モードの間にユーザからの入力の検出に応答して文書をスクロールし(660)、文書編集モードを終了した後に第1の入力が検出された場合に現れたような文書を再表示する(662)。換言すると、文書は、同一の倍率レベルで文書を再位置付けし且つ編集モードを開始する前に文書が表示されていた位置をスクロールするようにスクロール及び変倍される。文書は、編集モードの間に1次元又は2次元でスクロールされてもよいことが理解されるべきである。例えば
図5Cにおいて、文書500は、文書編集モードの間にスクロール可能である。ジェスチャ524の検出に応答して文書編集モードを終了した後、文書500は、ジェスチャ504が
図5Aで検出された時と同一の倍率レベルで表示される。
【0212】
いくつかの実施形態において、第1の入力の検出に応答してテキストの第1の部分が表示される目標テキスト表示サイズは、デフォルト目標テキスト表示サイズである(664)。テキストの第1の部分を含む文書の一部分を第2の倍率レベルで表示している間、デバイスは、第2の倍率レベルとは異なる第3の倍率レベルで文書の一部分を表示する要求に対応する第2の入力を検出する(666)。第2の入力の検出に応答して(668)、デバイスは、文書の一部分を第3の倍率レベルで表示し(670)、第3の倍率レベルでのテキストの第1の部分のテキスト表示サイズに対応するデフォルト目標テキスト表示サイズとは異なるユーザ調整された目標テキスト表示サイズを格納する(672)。ユーザ調整された目標テキスト表示サイズを格納した後(674)、デバイスは、文書におけるテキストの第2の部分に最近接する文書における第2の挿入点を示す第3の入力を検出し(676)、第3の入力の検出に応答して、テキストの第2の部分がユーザ調整された目標テキスト表示サイズで表示されるように文書をそれぞれの倍率レベルで表示する(678)。例えば
図5C及び
図5Gにおいて、テキスト部分508は、文書部分520が第2の倍率レベルで表示された結果としてデフォルトテキスト表示サイズであってもよいテキスト表示サイズで表示される。
図5Gにおいて、倍率レベルを調整するジェスチャ534が検出される。ジェスチャ534の検出に応答して、文書部分520は、ユーザ調整の倍率レベル(
図5Hに示されるような)で表示され、ユーザ調整の倍率レベルに対応するテキスト表示サイズが格納される。その後、挿入点538を示すジェスチャ536(
図5I)が検出される。ジェスチャ536の検出に応答して、文書部分541は、
図5Jに示されたように、テキスト部分540が格納されたテキスト表示サイズ(
図5A及び
図5Gでの以前のデフォルトテキスト表示サイズではなく)で表示されるように、ユーザ調整の倍率レベルで表示される。
【0213】
いくつかの実施形態において、テキストの第1部分は第1のフォントサイズを有する(680)。テキストの第1の部分を含む文書の一部分を第2の倍率レベルで表示している間、デバイスは、文書における第1のフォントサイズとは異なる第2のフォントサイズを有するテキストの第2の部分に最近接する文書における第2の挿入点を示す第2の入力を検出する(682)。第2の入力の検出に応答して(684)、デバイスは、テキストの第2の部分を目標テキスト表示サイズで表示するように第2の倍率レベルとは異なる第3の倍率レベルを選択し(686)、文書の一部分を第3の倍率レベルで表示する(688)。例えばテキスト部分508は、フォントサイズを有し、テキスト表示サイズで表示される(
図5C)。異なるフォントサイズを有するテキスト部分に最近接する別の挿入点を示し、且つジェスチャ554(
図5M)に類似するジェスチャが検出されてもよい。ジェスチャに応答して、異なるフォントサイズを有するテキスト部分のテキストは、そのテキストがテキスト部分508と同一のテキスト表示サイズで表示されるようにある特定の倍率レベルで表示される。
【0214】
いくつかの実施形態において、テキストの第1の部分を含む文書の一部分を第2の倍率レベルで表示した後(690)、デバイスはコンテンツ選択入力を検出する(692)。コンテンツ選択入力の検出に応答して(694)、デバイスは、コンテンツ選択入力に従って文書の選択部分を識別し(696)、文書の選択部分が文書の現在表示されている部分の外側のコンテンツを含むという判定に従って、デバイスは、文書の選択部分全体がディスプレイに表示されるように文書の表示を調整する(698)。例えば、コンテンツ選択ハンドル564−Bに対するジェスチャ566(
図5O)に類似するコンテンツ選択入力が検出されてもよい。ジェスチャ566の検出に応答して、文書500におけるテキストが選択されてもよい。選択されたテキストが現在表示されている部分の外側の部分を含む場合、文書500の倍率レベルは、選択されたテキスト全体を表示するように調整されてもよい。
【0215】
図6A〜
図6Eの動作が説明された特定の順序は、例示にすぎず、説明された順序が動作を実行できる唯一の順序であると示すことを意図しないことが理解されるべきである。本明細書で説明された動作を再順序付けする種々の方法が当業者には理解されるだろう。また、方法700、800、900、1000及び1100(例えば、それぞれ、
図7A及び
図7B、
図8A及び
図8B、
図9A及び
図9B、
図10、並びに
図11A及び
図11B)に関連して本明細書で説明される他の処理の詳細も同様に
図6A〜
図6Eに関連して上述した方法600に適用可能であることが理解されるべきである。例えば、方法600を参照して上述した電子文書、挿入点及び種々の倍率レベルは、方法700、800、900、1000及び1100を参照して本明細書で説明する電子文書、挿入点及び種々の倍率レベルの1つ以上の特徴を有してもよい。簡略化するために、これらの詳細は本明細書では繰り返されない。
【0216】
図7A及び
図7Bは、いくつかの実施形態に従って電子文書をナビゲート及び編集する方法700を示すフローチャートである。方法700は、ディスプレイ及び一般にはタッチセンシティブ面を有する電子デバイス(例えば、
図3のデバイス300又は
図1のポータブル多機能デバイス100)において実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチセンシティブ面はディスプレイにある。いくつかの実施形態において、ディスプレイはタッチセンシティブ面とは異なる。方法700のいくつかの動作は組み合わされてもよく、且つ/あるいはいくつかの動作の順序は変更されてもよい。
【0217】
以下に説明するように、方法700は、デフォルト値からユーザ調整の値に目標テキスト表示サイズを変更する直観的な方法を提供する。方法は、電子文書をナビゲート及び編集する時のユーザの認識に対してかかる負荷を軽減し、より効率的なヒューマンマシンインタフェースを生成する。バッテリにより動作する電子デバイスの場合、ユーザが文書のコンテンツをより高速且つ効率的に拡大できるようになることにより、節電され、バッテリ充電間隔は長くなる。
【0218】
デバイスは、第1の倍率レベルで電子文書の少なくとも一部分をディスプレイに表示する(702)。例えば
図5Fにおいて、文書500は、ページ全体のフィット倍率レベルで表示される。
【0219】
いくつかの実施形態において、文書は事前定義済みのページレイアウトを有し、事前定義済みのページレイアウトは、文書を種々の倍率レベルで表示しつつ維持される(704)。
【0220】
デバイスは、文書におけるテキストの第1の部分に最近接する文書における第1の挿入点を示す第1の入力を検出する(706)。例えば
図5Fにおいて、ジェスチャ526が検出される。ジェスチャ526の場所は、テキスト部分508に最近接する挿入点506を示す。
【0221】
第1の入力の検出に応答して(708)、デバイスは、テキストの第1の部分をデフォルト目標テキスト表示サイズで表示するように第1の倍率レベルとは異なる第2の倍率レベルを選択し(710)、文書の一部分を第2の倍率レベルで表示する(714)。例えば
図5Gにおいて、ジェスチャ526の検出に応答して、文書部分520は、
図5Fに示されたページ全体のフィット倍率レベルとは異なる倍率レベルで表示される。異なる倍率レベルは、テキスト部分508(挿入点に隣接する)がデフォルト目標テキスト表示サイズで表示されるようにデバイス100により選択される倍率レベルである。
【0222】
いくつかの実施形態において、デフォルト目標テキスト表示サイズは、10pt〜24ptの事前定義済みの値である(712)。
【0223】
デバイスは、第2の倍率レベルとは異なる第3の倍率レベルで文書の一部分を表示する要求に対応する第2の入力を検出する(716)。例えば
図5Gにおいて、倍率レベルを変更するピンチアウトジェスチャ534が検出される。
【0224】
第2の入力の検出に応答して(718)、デバイスは、文書の一部分を第3の倍率レベルで表示し(720)、第3の倍率レベルでのテキスト(例えば、第1の挿入点に隣接するテキスト)の第1の部分のテキスト表示サイズに対応するデフォルト目標テキスト表示サイズとは異なるユーザ調整された目標テキスト表示サイズを格納する(722)。例えば、ジェスチャ534の検出に応答して、文書部分520は、更に別の倍率レベル(
図5H)で表示される。このユーザ調整の倍率レベルにおいて、テキスト部分508は特定のテキスト表示サイズを有する。このテキスト表示サイズは、ユーザ調整された目標テキスト表示サイズとして格納される。
【0225】
いくつかの実施形態において、ユーザ調整された目標テキスト表示サイズは、テキストの第1の部分のテキスト表示サイズが事前定義済みのテキスト表示サイズの基準を満たす(例えば、テキストの第1の部分のテキスト表示サイズが「許容できる」目標テキスト表示サイズである値の範囲内であるという判定に従って)場合にのみ格納される。換言すると、ユーザが挿入点に最近接するテキストを編集する以外の何らかの目的で文書を変倍する可能性があるため、一般のユーザが快適に読むにはテキストが大きすぎる(例えば、72ptより大きい)か又は小さすぎる(例えば、10ptより小さい)倍率レベルにユーザが変倍する場合、入力は、ユーザ調整された目標表示サイズを格納するために無視される。
【0226】
ユーザ調整された目標テキスト表示サイズを格納した後(724)、デバイスは、文書におけるテキストの第2の部分に最近接する文書における第2の挿入点を含む第3の入力を検出し(726)、第3の入力の検出に応答して、テキストの第2の部分がユーザ調整された目標テキスト表示サイズで表示されるように文書をそれぞれの倍率レベルで表示する(730)。テキストの第1の部分は、テキストの第2の部分と同一であっても異なってもよいことが理解されるべきである。例えば
図5Iにおいて、ジェスチャ536が検出される。ジェスチャ536は、テキスト部分540に最近接する挿入点538を示す。ジェスチャ536の検出に応答して、文書部分541は、テキスト部分540が格納されたユーザ調整された目標テキスト表示サイズで表示されるような倍率レベルで表示される(
図5J)。
【0227】
この処理は、新しいユーザ調整された目標テキスト表示サイズを設定するように何度も繰り返されてよいことが理解されるべきである。しかし、一般にユーザは、好適な目標テキスト表示サイズを判定するため、継続的にユーザ調整された目標テキスト表示サイズを調整する必要はない。ユーザは、文書全体(又は文書の集合)に対して使用された目標テキスト表示サイズがユーザの効率及び生産性を向上させるユーザの好適な目標テキスト表示サイズであることに気が付くだろう。
【0228】
いくつかの実施形態において、ユーザ調整された目標テキスト表示サイズは、事前定義済みのテキスト表示サイズの基準内にない場合は無視又は廃棄される。オプションとして、事前定義済みのテキスト表示サイズの基準は、上限(例えば、48pt〜80ptのテキスト表示サイズ)及び下限(例えば、10pt〜18ptのテキスト表示サイズ)を含む。従って、これらの実施形態において、第3の倍率レベルにおけるテキストの第1の部分のテキスト表示サイズが事前定義済みのテキスト表示サイズの基準外である(例えば、上限を上回る又は下限を下回る)場合、デバイスは、事前定義済みのテキスト表示サイズの基準内にあったデフォルト目標テキスト表示サイズ又は前のユーザ調整された目標テキスト表示サイズを使用し続ける。例えば、ユーザが文書編集モードを終了する直前に文書編集モードで文書のページ全体を表示するように(例えば、4ptのテキスト表示サイズで)縮小する場合、デバイスは、デフォルト目標テキスト表示サイズ(例えば、17pt)又は前のユーザ調整された目標テキスト表示サイズ(例えば、15pt)に戻る。従って、この例において、デバイスは、文書編集モードを再開する場合、テキストのそれぞれの部分を快適に読めるように文書をそれぞれの倍率レベル(例えば、4ptではなく17pt又は15pt)で表示する。
【0229】
いくつかの実施形態において、テキストの第1の部分はテキストの第2の部分とは異なる(728)。例えば、テキスト部分508(
図5H)はテキスト部分540(
図5J)とは異なる。換言すると、ユーザ調整された目標テキスト表示サイズは、同一の文書内の多くの異なる場所に対する目標テキスト表示サイズとして使用されてもよい。
【0230】
いくつかの実施形態において、デバイスは、デバイスによりアクセス可能な複数の異なる文書に対する目標表示サイズとしてユーザ調整された目標テキスト表示サイズを使用する(736)。換言すると、ユーザ調整された目標テキスト表示サイズは、デバイスにおける多くの異なる文書に対する目標テキスト表示サイズとしても使用されてもよい。
【0231】
いくつかの実施形態において、テキストの第2の部分がテキストの第1の部分と同一のフォントサイズを有する場合、それぞれの倍率レベルは第3の倍率レベルと同一である(732)。換言すると、カーソルが同一のフォントサイズを有するテキスト間を移動する場合、文書は異なる倍率レベルに変倍されない。
【0232】
いくつかの実施形態において、テキストの第2の部分がテキストの第1の部分のフォントサイズとは異なるフォントサイズを有する場合、それぞれの倍率レベルは第3の倍率レベルとは異なる(734)。換言すると、カーソルが異なるフォントサイズを有するテキスト間を移動する場合、文書は異なる倍率レベルに変倍される。
【0233】
いくつかの実施形態において、ユーザ調整された目標テキスト表示サイズを格納した後且つ文書におけるそれぞれの挿入点を示す第3の入力を検出する前に、デバイスは、文書編集モードを終了し、文書を第1の倍率レベルで表示する(738)。例えば
図5Hにおいて、ユーザ調整された目標テキスト表示サイズが格納された後、ジェスチャ536は「完了」ボタン522に関して検出される。ジェスチャ536の検出に応答して、
図5Iに示されたように、文書500は
図5Fの倍率レベルで再度表示される。
【0234】
図7A及び
図7Bの動作が説明された特定の順序は、例示にすぎず、説明された順序が動作を実行できる唯一の順序であると示すことを意図しないことが理解されるべきである。本明細書で説明された動作を再順序付けする種々の方法が当業者には理解されるだろう。また、方法600、800、900、1000及び1100(例えば、それぞれ、
図6A〜
図6E、
図8A及び
図8B、
図9A及び
図9B、
図10、並びに
図11A及び
図11B)に関連して本明細書で説明される他の処理の詳細も同様に
図7A及び
図7Bに関連して上述した方法700に適用可能であることが理解されるべきである。例えば、方法700を参照して上述した電子文書、挿入点及び種々の倍率レベルは、方法600、800、900、1000及び1100を参照して本明細書で説明する電子文書、挿入点及び種々の倍率レベルの1つ以上の特徴を有してもよい。簡略化するために、これらの詳細は本明細書では繰り返されない。
【0235】
図8A及び
図8Bは、いくつかの実施形態に従って電子文書をナビゲート及び編集する方法800を示すフローチャートである。方法800は、ディスプレイ及び一般にはタッチセンシティブ面を有する電子デバイス(例えば、
図3のデバイス300又は
図1のポータブル多機能デバイス100)において実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチセンシティブ面はディスプレイにある。いくつかの実施形態において、ディスプレイはタッチセンシティブ面とは異なる。方法800のいくつかの動作は組み合わされてもよく、且つ/あるいはいくつかの動作の順序は変更されてもよい。
【0236】
以下に説明するように、方法800は、挿入点が文書中の異なるフォントサイズを有する領域間を移動する場合に目標テキスト表示サイズを維持するように表示倍率を自動的に調整する直観的な方法を提供する。方法は、電子文書をナビゲート及び編集する時のユーザの認識に対してかかる負荷を軽減し、より効率的なヒューマンマシンインタフェースを生成する。バッテリにより動作する電子デバイスの場合、ユーザが文書のコンテンツをより高速且つ効率的に拡大できるようになることにより、節電され、バッテリ充電間隔は長くなる。
【0237】
デバイスは、第1の倍率レベルで電子文書の少なくとも一部分をディスプレイに表示する(802)。例えば
図5Kにおいて、文書542は、何らかの倍率レベルでタッチスクリーン112に表示される。
【0238】
いくつかの実施形態において、電子文書は事前定義済みのページレイアウトを有し、事前定義済みのページレイアウトは、文書を種々の倍率レベルで表示しつつ維持される(804)。例えば文書542は、種々の倍率レベルにわたり維持される事前定義済みのレイアウトを有する。
【0239】
デバイスは、文書における第1のフォントサイズを有するテキストの第1の部分に最近接する文書における第1の挿入点を示す第1の入力を検出する(806)。あるいは、第1のフォントサイズは、挿入点におけるフォントサイズである(例えば、テキストカーソル等の挿入点マーカがある場合、第1のフォントサイズは、テキストカーソルにおいて入力されたテキストに対して使用されるフォントサイズである)。例えば
図5Kにおいて、ジェスチャ548が検出される。ジェスチャ548の場所は、テキスト部分552に近接する挿入点550を示す。
【0240】
第1の入力の検出に応答して(808)、デバイスは、テキストの第1の部分を目標テキスト表示サイズで表示するように第1の倍率レベルとは異なる第2の倍率レベルを選択し(810)、文書の一部分を第2の倍率レベルで表示する(812)。例えば
図5Lにおいて、ジェスチャ548(
図5K)の検出に応答して、文書部分546は、
図5Kで文書542が表示されるレベルとは異なる倍率レベルで表示される。
図5Lで文書部分546が表示される倍率レベルは、テキスト部分552が目標テキスト表示サイズで表示されるように選択される。
【0241】
目標テキスト表示サイズは事前定義済みの目標テキスト表示サイズ(例えば、方法700、並びに
図7A及び
図7Bを参照して更に詳細に上述したようなデフォルト目標テキスト表示サイズ又は以前に格納されたユーザ調整された目標テキスト表示サイズ)であることが理解されるべきである。
【0242】
第2の倍率レベルで文書の一部分を表示している間、デバイスは、文書における第1のフォントサイズとは異なる第2のフォントサイズを有するテキストの第2の部分に最近接する文書における第2の挿入点を示す第2の入力を検出する(814)。例えば
図5Mにおいて、ジェスチャ554が検出される。ジェスチャ554は、文書部分544のテキスト部分556に近接する挿入点555を示す。テキスト部分556を含む文書部分544におけるテキストは、テキスト部分552(
図5L)とは異なるフォントサイズを有する。第2の入力は、ジェスチャ554に加え、テキスト部分552が配置される文書部分546から文書部分544にスクロールするジェスチャを含んでもよい。
【0243】
いくつかの実施形態において、第1のフォントサイズは第2のフォントサイズより大きい(816)。
【0244】
いくつかの実施形態において、第1のフォントサイズは第2のフォントサイズより小さい(818)。
【0245】
第2の入力の検出に応答して(822)、デバイスは、テキストの第2の部分を目標テキスト表示サイズで表示するように第2の倍率レベルとは異なる第3の倍率レベルを選択し(824)、文書の一部分を第3の倍率レベルで表示する(826)。例えば、ジェスチャ554(
図5M)の検出に応答して、
図5Lでテキスト部分552が表示されるのと同一のテキスト表示サイズ(目標テキスト表示サイズ)でテキスト部分556が表示されるように、文書部分544は異なる倍率レベル(
図5N)で表示される。
【0246】
いくつかの実施形態において、第1のフォントサイズと第2のフォントサイズとの差が事前定義済みの閾値を下回る(例えば、3ptの差より小さい)場合、第2の入力の検出に応答して、デバイスは、第2の倍率レベルでの文書の表示を維持する(例えば、ユーザにとって不要なジッタとして現れうる頻繁に起きる文書の倍率レベルの僅かな変化を防止するように)。
【0247】
いくつかの実施形態において、第2の入力は、発見コマンド又は置換コマンドである(820)。換言すると、デバイスは、文書における用語の1つの出現から用語の次の出現に切り替わる時、文書における用語の次の出現のフォントサイズに従って文書が表示される倍率レベルを変更する。
【0248】
いくつかの実施形態において、電子デバイスはタッチセンシティブ面を含み、第1の入力及び第2の入力はタッチセンシティブ面上で検出される(828)。いくつかの実施形態において、第2の入力は、タッチセンシティブ面に対するシングルタップである(830)。いくつかの実施形態において、タッチセンシティブ面はディスプレイとは異なる。いくつかの実施形態において、タッチセンシティブ面及びディスプレイは、タッチスクリーンディスプレイとして組み合わされる。例えば、ジェスチャ550及び554はタッチスクリーン112で検出される。
【0249】
図8A及び
図8Bの動作が説明された特定の順序は、例示にすぎず、説明された順序が動作を実行できる唯一の順序であると示すことを意図しないことが理解されるべきである。本明細書で説明された動作を再順序付けする種々の方法が当業者には理解されるだろう。また、方法600、700、900、1000及び1100(例えば、それぞれ、
図6A〜
図6E、
図7A及び
図7B、
図9A及び
図9B、
図10、並びに
図11A及び
図11B)に関連して本明細書で説明される他の処理の詳細も同様に
図8A及び
図8Bに関連して上述した方法800に適用可能であることが理解されるべきである。例えば、方法800を参照して上述した電子文書、挿入点及び種々の倍率レベルは、方法600、700、900、1000及び1100を参照して本明細書で説明する電子文書、挿入点及び種々の倍率レベルの1つ以上の特徴を有してもよい。簡略化するために、これらの詳細は本明細書では繰り返されない。
【0250】
図9A及び
図9Bは、いくつかの実施形態に従って電子文書をナビゲート及び編集する方法900を示すフローチャートである。方法900は、ディスプレイ及び一般にはタッチセンシティブ面を有する電子デバイス(例えば、
図3のデバイス300又は
図1のポータブル多機能デバイス100)において実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチセンシティブ面はディスプレイにある。いくつかの実施形態において、ディスプレイはタッチセンシティブ面とは異なる。方法900のいくつかの動作は組み合わされてもよく、且つ/あるいはいくつかの動作の順序は変更されてもよい。
【0251】
以下に説明するように、方法900は、選択されているテキストの全体を見るためにテキスト選択ジェスチャの完了時に自動的に縮小する直観的な方法を提供する。方法は、電子文書をナビゲート及び編集する時のユーザの認識に対してかかる負荷を軽減し、より効率的なヒューマンマシンインタフェースを生成する。バッテリにより動作する電子デバイスの場合、ユーザが文書のコンテンツをより高速且つ効率的に拡大できるようになることにより、節電され、バッテリ充電間隔は長くなる。
【0252】
デバイスは、電子文書の一部分をディスプレイに表示する(902)。例えば
図5Oにおいて、文書558の一部分が表示される。
【0253】
いくつかの実施形態において、電子文書は事前定義済みのページレイアウトを有し、事前定義済みのページレイアウトは、文書の表示を調整しつつ維持される(904)。例えば、文書558は事前定義済みのレイアウトを有する。
【0254】
デバイスは、コンテンツ選択入力を検出する(906)。例えば、選択ハンドル564−Bをドラッグするジェスチャ566が検出される(
図5O)。
【0255】
コンテンツ選択入力の検出に応答して(908)、デバイスは、コンテンツ選択入力に従って文書の選択部分を識別し(910)、文書の選択部分が文書の現在表示されている部分の外側のコンテンツを含むという判定に従って、デバイスは、文書の選択部分全体がディスプレイに表示されるように文書の表示を調整する(912)。例えば、選択範囲560(
図5O〜
図5Q)を変更するジェスチャ566の検出に応答して、選択範囲560により選択される文書558の部分が識別される。選択部分(例えば、
図5Qのテキスト562)が文書558の現在表示されている部分の外側のコンテンツを含む場合、文書558は、
図5Rに示されたように、選択されたテキスト562全体が表示されるように異なる倍率レベルで表示される。
【0256】
本明細書で使用されるように、「外側」は、現在表示されている部分以外の選択されたコンテンツの部分(例えば、選択されたコンテンツのうちの少なくともいくつかは現在表示されていない)を意味することが理解されるべきである。いくつかの実施形態において、文書の表示は、コンテンツ選択入力又はコンテンツ選択入力の終了を検出することに応答してユーザの介入なしで自動的に調整される。
【0257】
いくつかの実施形態において、電子デバイスはタッチセンシティブ面を含み、コンテンツ選択入力は、タッチセンシティブ面に対する接触を検出することと、タッチセンシティブ面に対する接触の移動を検出することと、タッチセンシティブ面に対する接触の検出を中止することとを含む(924)。例えば、デバイス100のディスプレイ112はタッチスクリーンである。タッチスクリーン112で検出されたジェスチャ566は、接触、接触の移動及び接触の中止(
図5O〜
図5Q)を含む。
【0258】
いくつかの実施形態において、タッチセンシティブ面に対する接触の移動を検出することに応答して、デバイスは、接触の移動に従って文書をスクロールする(926)。換言すると、ディスプレイがタッチスクリーンディスプレイであり且つコンテンツ選択入力がタッチスクリーンディスプレイに対する接触の移動を含む場合、接触がディスプレイのエッジに最近接して移動する場合、文書は、接触が最初にタッチスクリーンディスプレイで検出された場合に最初に表示された文書の部分の外側のテキストをユーザが選択できるようにスクロールされる。
【0259】
いくつかの実施形態において、文書の表示は、タッチセンシティブ面に対する接触の検出を中止することに応答して調整される(928)。例えば、ジェスチャ566の接触を検出することが中止されると、選択範囲560全体が示される(
図5R)。
【0260】
いくつかの実施形態において、コンテンツは、テキスト及び/又は画像を含む(914)。
【0261】
いくつかの実施形態において、文書の表示を調整することは、文書を表示するために倍率レベルを変更することを含む(916)。例えば、
図5Q及び
図5Rから、文書558の倍率レベルは、非ページフィット倍率レベルからページ全体のフィット倍率レベルに変更された。
【0262】
いくつかの実施形態において、文書の表示を調整することは文書をスクロールすることを含む(918)。文書は、水平に、垂直に又はそれら双方にスクロール可能であることが理解されるべきである。
【0263】
いくつかの実施形態において、文書はページ幅を有し、文書の選択部分は、少なくともページ幅にわたる文書の全ての行を含み、文書の表示を調整することは、文書をページ幅の倍率レベルで表示することを含む(920)。換言すると、文書は、ディスプレイでの文書の幅がディスプレイの幅にほぼ等しい倍率レベルで表示される。
【0264】
いくつかの実施形態において、コンテンツ選択入力を検出する前に、デバイスは、文書を第1の倍率レベルで表示し、(930)、コンテンツ選択入力の検出に応答して、第1の倍率レベルとは異なる第2の倍率レベルで文書を表示する(932)。
【0265】
いくつかの実施形態において、コンテンツ選択入力を検出する前に、デバイスは、文書編集モードを開始し(934)、文書編集モードの間にソフトキーボードをディスプレイに表示する(936)。例えば
図5Oにおいて、文書558は文書編集モードで表示され、キーボード521が表示される。
【0266】
いくつかの実施形態において、コンテンツ選択入力を検出する前に、デバイスは、文書編集モードを開始し(938)、文書の表示を調整した後も文書編集モードを継続する(940)。
【0267】
いくつかの実施形態において、コンテンツ選択入力を検出する前に、デバイスは、文書編集入力を受信し(942)、文書編集入力に応答してソフトキーボードをディスプレイに表示し(944)、コンテンツ選択入力の検出に応答して(例えば、ページ幅の倍率レベルに縮小した後)ソフトキーボードの表示を中止する(946)。例えば、
図5Oにおいて、ジェスチャ566の検出前にキーボード521が表示され、
図5Rにおいて、ジェスチャ566に応答してキーボード521の表示が中止される。
【0268】
いくつかの実施形態において、コンテンツ選択入力の検出に応答して、デバイスは、文書の選択部分を示す選択標識及び文書の選択部分を操作するオプションを含むメニューを表示する(922)。例えば、選択範囲560及び選択オプションメニュー569(
図5R)は、ジェスチャ566に応答して表示される。
【0269】
いくつかの実施形態において、コンテンツ選択入力を検出する前に、デバイスは、第1の複数の選択調整アフォーダンスを含む予備の選択標識を表示し、文書の表示を調整した後、文書の異なる場所(例えば、1つ以上の単語分だけ進められた)における第1の複数の選択調整アフォーダンス又は第2の複数の異なる選択調整アフォーダンスのうちの1つ以上を含む更新された選択標識を表示する。特に、予備の選択標識が段落内で選択を示す場合、第1の複数の選択調整アフォーダンスにより、予備の選択をコンテンツの第1の単位毎に(例えば、文字毎、単語毎又は行毎に)拡張及び/又は縮小できるようになる。しかし、更新された選択標識が少なくとも1つの段落区切り文字を含む選択(例えば、隣接する2つの段落間で拡張する選択)を示す場合、第2の複数の選択調整アフォーダンスにより、文書の選択部分をコンテンツの第1の単位より大きい第2の単位毎に(例えば、段落毎又は節毎に)拡張及び/又は縮小できるようになる。
【0270】
図9A及び
図9Bの動作が説明された特定の順序は、例示にすぎず、説明された順序が動作を実行できる唯一の順序であると示すことを意図しないことが理解されるべきである。本明細書で説明された動作を再順序付けする種々の方法が当業者には理解されるだろう。また、方法600、700、800、1000及び1100(例えば、それぞれ、
図6A〜
図6E、
図7A及び
図7B、
図8A及び
図8B、
図10、並びに
図11A及び
図11B)に関連して本明細書で説明される他の処理の詳細も同様に
図9A及び
図9Bに関連して上述した方法900に適用可能であることが理解されるべきである。例えば、方法900を参照して上述した電子文書、挿入点及び種々の倍率レベルは、方法600、700、800、1000及び1100を参照して本明細書で説明する電子文書、挿入点及び種々の倍率レベルの1つ以上の特徴を有してもよい。簡略化するために、これらの詳細は本明細書では繰り返されない。
【0271】
図10は、いくつかの実施形態に従って電子文書をナビゲート及び編集する方法1000を示すフローチャートである。方法1000は、ディスプレイ及び一般にはタッチセンシティブ面を有する電子デバイス(例えば、
図3のデバイス300又は
図1のポータブル多機能デバイス100)において実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチセンシティブ面はディスプレイにある。いくつかの実施形態において、ディスプレイはタッチセンシティブ面とは異なる。方法1000のいくつかの動作は組み合わされてもよく、且つ/あるいはいくつかの動作の順序は変更されてもよい。
【0272】
以下に説明するように、方法1000は、オブジェクトを収容するサイズでオブジェクトを表示するように自動的に変倍するか、あるいはオブジェクトが編集可能なテキストを含む場合にテキストを収容するサイズでオブジェクト内に編集可能なテキストを表示するように自動的に変倍する直観的な方法を提供する。方法は、電子文書をナビゲート及び編集する時のユーザの認識に対してかかる負荷を軽減し、より効率的なヒューマンマシンインタフェースを生成する。バッテリにより動作する電子デバイスの場合、ユーザが文書のコンテンツをより高速且つ効率的に拡大できるようになることにより、節電され、バッテリ充電間隔は長くなる。
【0273】
デバイスは、第1の倍率レベルで電子文書の少なくとも一部分をディスプレイに表示する(1002)。例えば
図5Tにおいて、文書570は、ある特定の倍率レベルで表示される。
【0274】
デバイスは、文書におけるオブジェクト内の点を示す入力を検出する(1004)。いくつかの実施形態において、点は、コンテンツを挿入するユーザ要求に応答する挿入点(例えば、デバイスがテキスト又は他のオブジェクト等の更なるコンテンツを挿入する点)である。いくつかの実施形態において、点は、オブジェクトに最近接するが、オブジェクトの周囲を越える文書のヒット領域内にある。例えば
図5Tにおいて、ジェスチャ582の場所は、文書570におけるオブジェクト572の点を示し、ジェスチャ580の場所はオブジェクト576の点を示す。
【0275】
入力の検出に応答して(1006)、オブジェクトがそれぞれの編集可能なテキストを含むという判定に従って(1008)、デバイスは、それぞれのテキストを目標テキスト表示サイズで表示するように第1の倍率レベルとは異なる第2の倍率レベルを選択し(1010)、文書を第2の倍率レベルで表示する(1012)。例えば、ジェスチャ582(
図5T)に応答して、オブジェクト572は、オブジェクト572におけるテキスト574が目標テキスト表示サイズ(
図5V)で表示されるような倍率レベルで表示される。
【0276】
方法700、並びに
図7A及び
図7Bを参照して更に詳細に上述したように、目標テキスト表示サイズは、事前定義済みの目標テキスト表示サイズ又はユーザ調整された目標テキスト表示サイズであってもよいことが理解されるべきである。
【0277】
いくつかの実施形態において、第2の倍率レベルは、オブジェクトのサイズを参照せずに(例えば、それとは無関係に)選択される(1014)。
【0278】
入力の検出に応答して(1006)、オブジェクトが編集可能なテキストを含まないという判定に従って(1016)、デバイスは、オブジェクトを目標オブジェクト表示サイズで表示するように第2の倍率レベルとは異なる第3の倍率レベルを選択し(1018)、文書を第3の倍率レベルで表示する(1020)。例えば、ジェスチャ580(
図5T)に応答して、オブジェクト576は、最良のフィット倍率レベル(
図5U)で表示される。
【0279】
いくつかの実施形態において、オブジェクト表示サイズは、オブジェクトが文書の表示された領域を基準とする事前定義済みのサイズでディスプレイに表示される表示サイズである(1022)。いくつかの実施形態において、オブジェクト表示サイズは、オブジェクトが依然として表示領域に完全に表示されつつ(例えば、オブジェクトは「最良のフィット」サイズで表示される)可能な限り大きくなるように表示される表示サイズである。他の実施形態において、オブジェクト表示サイズは、オブジェクトの幅が実質的に表示領域の幅(オプションとして、オブジェクトの周囲とディスプレイのエッジとの間に事前定義済みのバッファを含む)に等しいように表示される表示サイズである。他の実施形態において、オブジェクト表示サイズは、オブジェクトの高さが実質的に表示領域の高さ(オプションとして、オブジェクトの周囲とディスプレイのエッジとの間に事前定義済みのバッファを含む)に等しいように表示される表示サイズである。
【0280】
図10の動作が説明された特定の順序は、例示にすぎず、説明された順序が動作を実行できる唯一の順序であると示すことを意図しないことが理解されるべきである。本明細書で説明された動作を再順序付けする種々の方法が当業者には理解されるだろう。また、方法600、700、800、900及び1100(例えば、それぞれ、
図6A〜
図6E、
図7A及び
図7B、
図8A及び
図8B、
図9A及び
図9B、並びに
図11A及び
図11B)に関連して本明細書で説明される他の処理の詳細も同様に
図10に関連して上述した方法1000に適用可能であることが理解されるべきである。例えば、方法1000を参照して上述した電子文書、挿入点及び種々の倍率レベルは、方法600、700、800、900及び1100を参照して本明細書で説明する電子文書、挿入点及び種々の倍率レベルの1つ以上の特徴を有してもよい。簡略化するために、これらの詳細は本明細書では繰り返されない。
【0281】
図11A及び
図11Bは、いくつかの実施形態に従って電子文書をナビゲート及び編集する方法1100を示すフローチャートである。方法1100は、ディスプレイ及び一般にはタッチセンシティブ面を有する電子デバイス(例えば、
図3のデバイス300又は
図1のポータブル多機能デバイス100)において実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチセンシティブ面はディスプレイにある。いくつかの実施形態において、ディスプレイはタッチセンシティブ面とは異なる。方法1100のいくつかの動作は組み合わされてもよく、且つ/あるいはいくつかの動作の順序は変更されてもよい。
【0282】
以下に説明するように、方法1100は、文書表示モードにおけるユーザ指定の倍率レベルと編集モードにおける事前定義済みの文書編集倍率レベルとの間で自動的に切り替える直観的な方法を提供する。方法は、電子文書をナビゲート及び編集する時のユーザの認識に対してかかる負荷を軽減し、より効率的なヒューマンマシンインタフェースを生成する。バッテリにより動作する電子デバイスの場合、ユーザが文書のコンテンツをより高速且つ効率的に拡大できるようになることにより、節電され、バッテリ充電間隔は長くなる。
【0283】
デバイスは、ユーザ指定の倍率レベルで電子文書の少なくとも一部分を表示する(1102)。いくつかの実施形態において、ユーザ指定の倍率レベルは、考えられる複数の倍率レベルからユーザにより選択された倍率レベルである。例えばデバイスは、文書編集モードを開始する要求を受信する前に文書の倍率レベル(例えば、タッチスクリーンディスプレイに対するピンチジェスチャ又はピンチアウトジェスチャ)を調整する(例えば、上げる又は下げる)要求を受信する。例えば
図5Xにおいて、文書584は、ジェスチャ590(
図5W)に応答してユーザ指定の倍率レベルで表示される。
【0284】
文書が文書表示モードの間、デバイスは、文書表示モードとは異なる文書編集モードを開始する要求を受信する(1104)。例えばジェスチャ592(
図5X)は、文書編集モードを開始する要求である。
【0285】
文書編集モードを開始する要求を受信することに応答して(1106)、デバイスは、文書編集モードを開始し(1108)、ユーザ指定の倍率レベルとは異なる事前定義済みの文書編集倍率レベルで文書を表示する(1110)。例えば
図5Yにおいて、ジェスチャ592に応答して、文書584は、文書編集モードで且つワークシート591においてセル(例えば、セル594)を編集する特定の倍率レベルで表示される。
【0286】
いくつかの実施形態において、文書編集モードを開始すること及び文書を事前定義済みの文書編集倍率レベルで表示することは、更なるユーザ入力なしで自動的に要求を受信することに応答して実行される。ユーザが文書編集モードを開始し且つ単一のジェスチャを実行することで文書を編集しやすい倍率レベルに変倍できるようにすることにより、文書の編集を開始するためにユーザにより実行されるステップの数は減少する。それにより、デバイスの効率及び操作性が向上する。いくつかの実施形態において、文書を事前定義済みの文書編集倍率レベルで表示した後、デバイスは、文書編集モードを終了する要求を受信する前に文書の倍率レベル(例えば、タッチスクリーンディスプレイに対するピンチジェスチャ又はピンチアウトジェスチャ)を調整する(例えば、上げる又は下げる)要求を受信する。これらの状況において、デバイスは、文書編集モードを終了すると、現在のユーザ調整の文書編集倍率レベルから以前のユーザ指定の倍率レベルに変倍する。
【0287】
文書が文書編集モードの間、デバイスは、文書編集モードを終了する要求を受信する(1112)。例えば
図5Zにおいて、ボタン597に対するジェスチャ598は、文書編集モードを終了する要求である。
【0288】
文書編集モードを終了する要求を受信することに応答して(1114)、デバイスは、文書編集モードを終了し(1116)、文書をユーザ指定の倍率レベルで表示する(1118)。例えば
図5AAにおいて、ジェスチャ598に応答して、文書584は、
図5Xと同一のユーザ指定の倍率レベルで表示される。
【0289】
いくつかの実施形態において、文書編集モードの終了及びユーザ指定の倍率レベルでの文章の表示の双方とも、更なるユーザ入力なしで自動的に要求を受信することに応答して実行される。ユーザが文書編集モードを終了し且つ単一のジェスチャを実行することで文書を文書が以前に表示されていた倍率レベルに変倍できるようにすることにより、文書編集モードから文書表示モードに戻るためにユーザにより実行されるステップの数は減少する。それにより、デバイスの効率及び操作性が向上する。
【0290】
いくつかの実施形態において、文書編集モードを開始する要求を受信することに応答して、デバイスは、文書編集倍率レベルがユーザ指定の倍率レベルで事前定義済みの閾値(例えば、5%、10%。20%、30%又はジッタを軽減する他の何らかの適当な閾値)内であるかを判定する。例えば、文書編集倍率レベルが100%の場合、ユーザ指定の倍率レベルは、80%〜120%の倍率レベルである場合に事前定義済みの閾値内となる。文書編集倍率レベルが事前定義済みの閾値内にないという判定に従って、デバイスは、文書編集モードを開始し、ユーザ指定の倍率レベルとは異なる事前定義済みの文書編集倍率レベルで文書を表示する。これに対して、文書編集倍率レベルが事前定義済みの閾値内であるという判定に従って、デバイスは、ユーザ指定の倍率レベルでの文書の表示を維持しつつ、文書編集モードを開始する。換言すると、文書編集倍率レベルが事前定義済みの閾値内である場合、デバイスは、ユーザ指定の倍率レベルとは異なる文書編集倍率レベルに変倍しない。
【0291】
いくつかの実施形態において、電子デバイスはタッチセンシティブ面を含み、文書編集モードを開始する要求はタッチセンシティブ面上で検出される(1120)。いくつかの実施形態において、タッチセンシティブ面はディスプレイとは異なる。いくつかの実施形態において、タッチセンシティブ面及びディスプレイは、タッチスクリーンディスプレイとして組み合わされる。例えば、ジェスチャ592はタッチスクリーン112で検出される。
【0292】
いくつかの実施形態において、文書編集モードを開始する要求は、タッチセンシティブ面上で検出されたダブルタップジェスチャである(1122)。例えば、ジェスチャ592(
図5X)はダブルタップジェスチャである。
【0293】
いくつかの実施形態において、文書編集モードを開始する要求は、文書における挿入点の表示を含み、挿入点は文書のそれぞれの部分に最近接する(1124)。文書編集モードを開始する要求を受信することに応答して、デバイスは、文書のそれぞれの部分を文書表示領域の中央領域(例えば、ソフトキーボードを含まないディスプレイの中央領域又はディスプレイの一部分の中央領域)に配置するように文書をスクロールする(1126)。例えば、ジェスチャ592(
図5X)の場所はセル594における挿入点を示す。
図5Yにおいて、セル594は、大よそ文書584が表示されるタッチスクリーン112の部分の中心に置かれる。
【0294】
いくつかの実施形態において、文書編集モードを開始する要求は、文書における挿入点の表示を含み、挿入点は文書のそれぞれの部分に最近接する(1128)。文書編集モードを開始することは、挿入点に最近接する文書のそれぞれの部分を編集する入力インタフェース(例えば、テキストカーソル及びキーボード又は値を入力するフォームフィールド)を提供することを含む(1130)。例えば
図5Yにおいて、文書編集モードの間、キーパッド595及び編集フィールド596が表示される。
【0295】
いくつかの実施形態において、文書編集モードを開始する要求を受信することに応答して、デバイスは、挿入点においてテキストカーソルを挿入する(1132)。文書編集モードを終了する要求を受信することに応答して、デバイスはテキストカーソルを除去する(1134)。例えばテキストカーソルは、文書編集モードを開始する場合にセル594に挿入されてもよく、文書編集モードを終了する場合にセル594から除去される。
【0296】
図11A及び
図11Bの動作が説明された特定の順序は、例示にすぎず、説明された順序が動作を実行できる唯一の順序であると示すことを意図しないことが理解されるべきである。本明細書で説明された動作を再順序付けする種々の方法が当業者には理解されるだろう。また、方法600、700、800、900及び1000(例えば、それぞれ、
図6A〜
図6E、
図7A及び
図7B、
図8A及び
図8B、
図9A及び
図9B、並びに
図10)に関連して本明細書で説明される他の処理の詳細も同様に
図11A及び
図11Bに関連して上述した方法1100に適用可能であることが理解されるべきである。例えば、方法1100を参照して上述した電子文書、挿入点及び種々の倍率レベルは、方法600、700、800、900及び1000を参照して本明細書で説明する電子文書、挿入点及び種々の倍率レベルの1つ以上の特徴を有してもよい。簡略化するために、これらの詳細は本明細書では繰り返されない。
【0297】
いくつかの実施形によると、
図12は、上述したような本発明の原理に従って構成された電子デバイス1200を示す機能ブロック図である。デバイスの機能ブロックは、本発明の原理を実行するためにハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組合せで実現されてもよい。
図12に説明する機能ブロックは、上述の本発明の原理を実現するために組み合わされてもよく、あるいはサブブロックに分けられてもよいことが当業者により理解される。従って、本明細書の説明は、本明細書で説明する機能ブロックの考えられるあらゆる組合せ又は分割、あるいは更なる定義をサポートしてもよい。
【0298】
図12に示すように、電子デバイス1200は、第1の倍率レベルで事前定義済みのページレイアウトを有する電子文書の少なくとも一部分を表示するように構成された表示ユニット1202と、表示ユニット1202に結合された処理ユニット1206とを備える。いくつかの実施形態において、処理ユニット1206は、検出ユニット1208と、選択ユニット1210と、表示有効化ユニット1212と、格納ユニット1214と、スクロールユニット1216と、開始ユニット1218と、編集ユニット1220と、置換ユニット1222と、受信ユニット1224と、終了ユニット1226と、再表示有効化ユニット1228と、識別ユニット1230と、調整ユニット1232とを備える。
【0299】
処理ユニット1206は、文書におけるテキストの第1の部分に最近接する文書における第1の挿入点を示す第1の入力を検出し(例えば、検出ユニット1208を用いて)、第1の入力の検出に応答し、テキストの第1の部分を目標テキスト表示サイズで表示するように第1の倍率レベルとは異なる第2の倍率レベルを選択し(例えば、選択ユニット1210を用いて)、且つ文書の事前定義済みのページレイアウトを維持しつつ、第2の倍率レベルでのテキストの第1の部分を含む文書の一部分の表示を有効にする(例えば、表示有効化ユニット1212を用いて)ように構成される。
【0300】
いくつかの実施形態において、事前定義済みのページレイアウトはマルチページレイアウトであり、文書は複数のページと関連付けられるコンテンツを有する。
【0301】
いくつかの実施形態において、事前定義済みのページレイアウトは、複数の行及び複数の列を含む表である。
【0302】
いくつかの実施形態において、電子デバイスはタッチセンシティブ面ユニットを備え、第1の入力はタッチセンシティブ面ユニット上で検出される。
【0303】
いくつかの実施形態において、第1の入力は、タッチセンシティブ面ユニットに対するシングルタップである。
【0304】
いくつかの実施形態において、電子デバイスはタッチセンシティブ面ユニットを備え、第1の入力は、タッチセンシティブ面ユニットに対する接触を検出することと、タッチセンシティブ面ユニットに対する接触の移動を検出することと、タッチセンシティブ面ユニットに対する接触の検出を中止することとを含む。
【0305】
いくつかの実施形態において、処理ユニット1206は、タッチセンシティブ面ユニットに対する接触の移動を検出しつつ、タッチセンシティブ面ユニットに対する接触の現在位置に対応する文書の拡大部分の表示を有効にするように構成され、第1の挿入点は、デバイスがタッチセンシティブ面ユニットに対する接触の検出を中止する時のタッチセンシティブ面ユニットに対する接触の位置に基づいて選択される(例えば、表示有効化ユニット1212を用いて)。
【0306】
いくつかの実施形態において、処理ユニット1206は、第1の入力の検出に応答して、テキストカーソルを第1の挿入点に配置することと、編集のために第1の挿入点に最近接するスプレッドシートのセルを選択することと、第1の挿入点に最近接するテキストを強調表示することとから構成される集合から選択された動作を実行するように構成される(例えば、格納ユニット1214を用いて)。
【0307】
いくつかの実施形態において、文書の一部分を第2の倍率レベルで表示することは、第1の倍率レベルから第2の倍率レベルに変倍する文書のアニメーションを表示することを含む。
【0308】
いくつかの実施形態において、処理ユニット1206は、第1の入力の検出に応答して、第1の挿入点が文書の表示された部分の中央領域にあるように文書をスクロールする(例えば、スクロールユニット1216を用いて)ように構成される。
【0309】
いくつかの実施形態において、処理ユニット1206は、第1の入力の検出に応答して文書編集モードを開始する(例えば、開始ユニット1218を用いて)ように構成される。
【0310】
いくつかの実施形態において、電子デバイスは、第1の入力の終了を検出することに応答して文書編集モードを開始する。
【0311】
いくつかの実施形態において、処理ユニット1206は、第1の入力の検出に応答して表示ユニット1202でのソフトキーボードの表示を有効にする(例えば、表示有効化ユニット1212を用いて)ように構成される。
【0312】
いくつかの実施形態において、処理ユニット1206は、文書編集モードの間にユーザ入力に応答して文書のテキストを編集する(例えば、編集ユニット1220を用いて)ように構成される。
【0313】
いくつかの実施形態において、文書は複数の文書のうちの1つであり、処理ユニット1206は、文書編集モードを開始する前に文書の集合の種々の文書の間をナビゲートするナビゲーションアフォーダンスの表示を有効にし(例えば、表示有効化ユニット1212を用いて)、且つ文書編集モードを開始した後に文書編集モードを終了する終了アフォーダンスによりナビゲーションアフォーダンスを置換する(例えば、置換ユニット1222を用いて)ように構成される。
【0314】
いくつかの実施形態において、処理ユニット1206は、文書編集モードを終了する要求を受信し(例えば、受信ユニット1224を用いて)、且つ文書編集モードを終了する要求を受信することに応答して、文書編集モードを終了し(例えば、終了ユニット1226を用いて)且つ第1の倍率レベルでの文書の表示を有効にする(例えば、表示有効化ユニット1212を用いて)ように構成される。
【0315】
いくつかの実施形態において、処理ユニット1206は、文書編集モードを終了する要求を受信し(例えば、受信ユニット1224を用いて)、且つ文書編集モードを終了する要求を受信することに応答して、文書編集モードを終了し(例えば、終了ユニット1226を用いて)且つ第1の倍率レベルとは異なる事前定義済みの文書倍率レベルに対応する第3の倍率レベルでの文書の表示を有効にする(例えば、表示有効化ユニット1212を用いて)ように構成される。
【0316】
いくつかの実施形態において、処理ユニット1206は、文書編集モードの間にユーザからの入力の検出に応答して文書をスクロールし(例えば、スクロールユニット1216を用いて)、且つ文書編集モードを終了した後に第1の入力が検出された場合に現れたような文書の再表示を有効にする(例えば、再表示有効化ユニット1228を用いて)ように構成される。
【0317】
いくつかの実施形態において、第1の入力の検出に応答してテキストの第1の部分が表示される目標テキスト表示サイズは、デフォルト目標テキスト表示サイズであり、処理ユニット1206は、テキストの第1の部分を含む文書の一部分を第2の倍率レベルで表示している間、第2の倍率レベルとは異なる第3の倍率レベルで文書の一部分を表示する要求に対応する第2の入力を検出し(例えば、検出ユニット1208を用いて)、第2の入力の検出に応答して、第3の倍率レベルでの文書の一部分の表示を有効にし(例えば、文書有効ユニット1212を用いて)且つ第3の倍率レベルでのテキストの第1の部分のテキスト表示サイズに対応するデフォルト目標テキスト表示サイズとは異なるユーザ調整された目標テキスト表示サイズを格納し(例えば、格納ユニット1214を用いて)、且つユーザ調整された目標テキスト表示サイズを格納した後、文書におけるテキストの第2の部分に最近接する文書における第2の挿入点を示す第3の入力を検出し(例えば、検出ユニット1208を用いて)且つ第3の入力の検出に応答して、テキストの第2の部分がユーザ調整された目標テキスト表示サイズで表示されるようにそれぞれの倍率レベルでの文書の表示を有効にする(例えば、表示有効化ユニット1212を用いて)ように構成される。
【0318】
いくつかの実施形態において、テキストの第1の部分は第1のフォントサイズを有し、処理ユニット1206は、テキストの第1の部分を含む文書の一部分を第2の倍率レベルで表示している間に、文書における第1のフォントサイズとは異なる第2のフォントサイズを有するテキストの第2の部分に最近接する文書における第2の挿入点を示す第2の入力を検出し(例えば、検出ユニット1208を用いて)、且つ第2の入力の検出に応答して、テキストの第2の部分を目標テキスト表示サイズで表示するように第2の倍率レベルとは異なる第3の倍率レベルを選択し、(例えば、選択ユニット1210を用いて)且つ第3の倍率レベルでの文書の一部分の表示を有効にする(例えば、表示有効化ユニット1212を用いて)ように構成される。
【0319】
いくつかの実施形態において、処理ユニット1206は、テキストの第1の部分を含む文書の一部分を第2の倍率レベルで表示した後、コンテンツ選択入力を検出し(例えば、検出ユニット1208を用いて)、且つコンテンツ選択入力の検出に応答して、コンテンツ選択入力に従って文書の選択部分を識別し(例えば、識別ユニット1230を用いて)且つ文書の選択部分が文書の現在表示されている部分の外側のコンテンツを含むという判定に従って、文書の選択部分全体が表示ユニット1202に表示されるように文書の表示を調整する(例えば、調整ユニット1232を用いて)ように構成される。
【0320】
いくつかの実施形態によると、
図13は、上述したような本発明の原理に従って構成された電子デバイス1300を示す機能ブロック図である。デバイスの機能ブロックは、本発明の原理を実行するハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組合せで実現されてもよい。
図13に説明する機能ブロックは、上述の本発明の原理を実現するために組み合わされてもよく、あるいはサブブロックに分けられてもよいことが当業者により理解される。従って、本明細書の説明は、本明細書で説明する機能ブロックの考えられるあらゆる組合せ又は分割、あるいは更なる定義をサポートしてもよい。
【0321】
図13に示すように、電子デバイス1300は、第1の倍率レベルで電子文書の少なくとも一部分を表示するように構成された表示ユニット1302と、表示ユニット1302に結合された処理ユニット1306とを備える。いくつかの実施形態において、処理ユニット1306は、検出ユニット1308と、選択ユニット1310と、表示有効化ユニット1312と、格納ユニット1314と、使用ユニット1316と、終了ユニット1318とを備える。
【0322】
処理ユニット1306は、文書におけるテキストの第1の部分に最近接する文書における第1の挿入点を示す第1の入力を検出し(例えば、検出ユニット1308を用いて)、第1の入力の検出に応答して、テキストの第1の部分をデフォルト目標テキスト表示サイズで表示するように第1の倍率レベルとは異なる第2の倍率レベルを選択し(例えば、選択ユニット1310を用いて)且つ第2の倍率レベルでの文書の一部分の表示を有効にし(例えば、表示有効化ユニット1312を用いて)、第2の倍率レベルとは異なる第3の倍率レベルで文書の一部分を表示する要求に対応する第2の入力を検出し(例えば、検出ユニット1308を用いて)、第2の入力の検出に応答して、第3の倍率レベルでの文書の一部分の表示を有効にし(例えば、表示有効化ユニット1312を用いて)且つ第3の倍率レベルでのテキストの第1の部分のテキスト表示サイズに対応するデフォルト目標テキスト表示サイズとは異なるユーザ調整された目標テキスト表示サイズを格納し(例えば、格納ユニット1314を用いて)、且つユーザ調整された目標テキスト表示サイズを格納した後、文書におけるテキストの第2の部分に最近接する文書における第2の挿入点を示す第3の入力を検出し(例えば、検出ユニット1308を用いて)且つ第3の入力の検出に応答して、テキストの第2の部分がユーザ調整された目標テキスト表示サイズで表示されるようにそれぞれの倍率レベルでの文書の表示を有効にする(例えば、表示有効化ユニット1312を用いて)ように構成される。
【0323】
いくつかの実施形態において、テキストの第1の部分はテキストの第2の部分とは異なる。
【0324】
いくつかの実施形態において、処理ユニット1306は、デバイスによりアクセス可能な複数の異なる文書に対する目標表示サイズとしてユーザ調整された目標テキスト表示サイズを使用する(例えば、使用ユニット1316を用いて)ように構成される。
【0325】
いくつかの実施形態において、デフォルト目標テキスト表示サイズは、10pt〜24ptの事前定義済みの値である。
【0326】
いくつかの実施形態において、テキストの第2の部分がテキストの第1の部分と同一のフォントサイズを有する場合、それぞれの倍率レベルは第3の倍率レベルと同一である。
【0327】
いくつかの実施形態において、テキストの第2の部分がテキストの第1の部分のフォントサイズとは異なるフォントサイズを有する場合、それぞれの倍率レベルは第3の倍率レベルとは異なる。
【0328】
いくつかの実施形態において、処理ユニット1306は、ユーザ調整された目標テキスト表示サイズを格納した後且つ文書におけるそれぞれの挿入点を示す第3の入力を検出する前に、文書編集モード及び第1の倍率レベルでの文書の表示を終了する(例えば、終了ユニット1318を用いて)ように構成される。
【0329】
いくつかの実施形態において、文書は事前定義済みのページレイアウトを有し、事前定義済みのページレイアウトは、文書を種々の倍率レベルで表示しつつ維持される。
【0330】
いくつかの実施形態によると、
図14は、上述したような本発明の原理に従って構成された電子デバイス1400を示す機能ブロック図である。デバイスの機能ブロックは、本発明の原理を実行するハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組合せで実現されてもよい。
図14に説明する機能ブロックは、上述の本発明の原理を実現するために組み合わされてもよく、あるいはサブブロックに分けられてもよいことが当業者により理解される。従って、本明細書の説明は、本明細書で説明する機能ブロックの考えられるあらゆる組合せ又は分割、あるいは更なる定義をサポートしてもよい。
【0331】
図14に示すように、電子デバイス1400は、第1の倍率レベルで電子文書の少なくとも一部分を表示するように構成された表示ユニット1402と、表示ユニット1402に結合された処理ユニット1406とを備える。いくつかの実施形態において、処理ユニット1406は、検出ユニット1408と、選択ユニット1410と、表示有効化ユニット1412とを備える。
【0332】
処理ユニット1406は、文書における第1のフォントサイズを有するテキストの第1の部分に最近接する文書における第1の挿入点を示す第1の入力を検出し(例えば、検出ユニット1408を用いて)、第1の入力の検出に応答して、テキストの第1の部分を目標テキスト表示サイズで表示するように第1の倍率レベルとは異なる第2の倍率レベルを選択し(例えば、選択ユニット1410を用いて)且つ第2の倍率レベルでの文書の一部分の表示を有効にし(例えば、表示有効化ユニット1412を用いて)、文書の一部分を第2の倍率レベルで表示している間に、文書における第1のフォントサイズとは異なる第2のフォントサイズを有するテキストの第2の部分に最近接する文書における第2の挿入点を示す第2の入力を検出し(例えば、検出ユニット1408を用いて)、且つ第2の入力の検出に応答して、テキストの第2の部分を目標テキスト表示サイズで表示するように第2の倍率レベルとは異なる第3の倍率レベルを選択し(例えば、選択ユニット1410を用いて)且つ第3の倍率レベルでの文書の一部分の表示を有効にする(例えば、表示有効化ユニット1412を用いて)ように構成される。
【0333】
いくつかの実施形態において、第1のフォントサイズは第2のフォントサイズより大きい。
【0334】
いくつかの実施形態において、第1のフォントサイズは第2のフォントサイズより小さい。
【0335】
いくつかの実施形態において、電子デバイスはタッチセンシティブ面ユニットを備え、第1の入力及び第2の入力はタッチセンシティブ面ユニット上で検出される。
【0336】
いくつかの実施形態において、第2の入力は、タッチセンシティブ面ユニットに対するシングルタップである。
【0337】
いくつかの実施形態において、第2の入力は、発見コマンド又は置換コマンドである。
【0338】
いくつかの実施形態において、電子文書は事前定義済みのページレイアウトを有し、事前定義済みのページレイアウトは、文書を種々の倍率レベルで表示しつつ維持される。
【0339】
いくつかの実施形態によると、
図15は、上述したような本発明の原理に従って構成された電子デバイス1500を示す機能ブロック図である。デバイスの機能ブロックは、本発明の原理を実行するハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組合せで実現されてもよい。
図15に説明する機能ブロックは、上述の本発明の原理を実現するために組み合わされてもよく、あるいはサブブロックに分けられてもよいことが当業者により理解される。従って、本明細書の説明は、本明細書で説明する機能ブロックの考えられるあらゆる組合せ又は分割、あるいは更なる定義をサポートしてもよい。
【0340】
図15に示すように、電子デバイス1500は、電子文書の一部分を表示するように構成された表示ユニット1502と、表示ユニット1502に結合された処理ユニット1506とを備える。いくつかの実施形態において、処理ユニット1506は、検出ユニット1508と、識別ユニット1510と、調整ユニット1512と、スクロールユニット1514と、表示有効化ユニット1516と、開始ユニット1518と、継続ユニット1520と、受信ユニット1522と、中止ユニット1524とを備える。
【0341】
処理ユニット1506は、コンテンツ選択入力を検出し(例えば、検出ユニット1508を用いて)、且つコンテンツ選択入力の検出に応答して、コンテンツ選択入力に従って文書の選択部分を識別し(例えば、識別ユニット1510を用いて)且つ文書の選択部分が文書の現在表示されている部分の外側のコンテンツを含むという判定に従って、文書の選択部分全体が表示ユニット1502に表示されるように文書の表示を調整する(例えば、調整ユニット1512を用いて)ように構成される。
【0342】
いくつかの実施形態において、電子デバイスはタッチセンシティブ面ユニットを備え、コンテンツ選択入力は、タッチセンシティブ面ユニットに対する接触を検出することと、タッチセンシティブ面ユニットに対する接触の移動を検出することと、タッチセンシティブ面ユニットに対する接触の検出を中止することとを含む。
【0343】
いくつかの実施形態において、処理ユニット1506は、タッチセンシティブ面ユニットに対する接触の移動を検出することに応答して、接触の移動に従って文書をスクロールする(例えば、スクロールユニット1514を用いて)ように構成される。
【0344】
いくつかの実施形態において、文書の表示は、タッチセンシティブ面ユニットに対する接触の検出を中止することに応答して調整される。
【0345】
いくつかの実施形態において、コンテンツは、テキスト及び/又は画像を含む。
【0346】
いくつかの実施形態において、電子文書は事前定義済みのページレイアウトを有し、事前定義済みのページレイアウトは、文書の表示を調整しつつ維持される。
【0347】
いくつかの実施形態において、文書の表示を調整することは、文書を表示するために倍率レベルを変更することを含む。
【0348】
いくつかの実施形態において、文書の表示を調整することは文書をスクロールすることを含む。
【0349】
いくつかの実施形態において、文書はページ幅を有し、文書の選択部分は、少なくともページ幅にわたる文書の全ての行を含み、文書の表示を調整することは、文書をページ幅の倍率レベルで表示することを含む。
【0350】
いくつかの実施形態において、処理ユニット1506は、コンテンツ選択入力を検出する前に第1の倍率レベルでの文書の表示を有効にし(例えば、表示有効化ユニット1516を用いて)、且つコンテンツ選択入力の検出に応答して、第1の倍率レベルとは異なる第2の倍率レベルでの文書の表示を有効にする(例えば、表示有効化ユニット1516を用いて)ように構成される。
【0351】
いくつかの実施形態において、処理ユニット1506は、コンテンツ選択入力を検出する前に文書編集モードを開始し(例えば、開始ユニット1518を用いて)、且つ文書編集モードの間に表示ユニット1502でのソフトキーボードの表示を有効にする(例えば、表示有効化ユニット1516を用いて)ように構成される。
【0352】
いくつかの実施形態において、処理ユニット1506は、コンテンツ選択入力を検出する前に文書編集モードを開始し(例えば、開始ユニット1518を用いて)、且つ文書の表示を調整した後も文書編集モードを継続する(例えば、継続ユニット1520を用いて)ように構成される。
【0353】
いくつかの実施形態において、処理ユニット1506は、コンテンツ選択入力を検出する前に文書編集入力を受信し(例えば、受信ユニット1522を用いて)、文書編集入力に応答して表示ユニット1502でのソフトキーボードの表示を有効にし(例えば、表示有効化ユニット1516を用いて)、且つコンテンツ選択入力の検出に応答してソフトキーボードの表示を中止する(例えば、中止ユニット1524を用いて)ように構成される。
【0354】
いくつかの実施形態において、処理ユニット1506は、コンテンツ選択入力の検出に応答して、文書の選択部分を示す選択標識及び文書の選択部分を操作するオプションを含むメニューの表示を有効にする(例えば、表示有効化ユニット1516を用いて)ように構成される。
【0355】
いくつかの実施形態によると、
図16は、上述したような本発明の原理に従って構成された電子デバイス1600を示す機能ブロック図である。デバイスの機能ブロックは、本発明の原理を実行するハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組合せで実現されてもよい。
図16に説明する機能ブロックは、上述の本発明の原理を実現するために組み合わされてもよく、あるいはサブブロックに分けられてもよいことが当業者により理解される。従って、本明細書の説明は、本明細書で説明する機能ブロックの考えられるあらゆる組合せ又は分割、あるいは更なる定義をサポートしてもよい。
【0356】
図16に示すように、電子デバイス1600は、第1の倍率レベルで電子文書の少なくとも一部分を表示するように構成された表示ユニット1602と、表示ユニット1602に結合された処理ユニット1606とを備える。いくつかの実施形態において、処理ユニット1606は、検出ユニット1608と、選択ユニット1610と、表示有効化ユニット1612とを備える。
【0357】
処理ユニット1606は、文書におけるオブジェクト内の点を示す入力を検出し(例えば、検出ユニット1608を用いて)、且つ入力の検出に応答して、オブジェクトがそれぞれの編集可能なテキストを含むという判定に従って、それぞれのテキストを目標テキスト表示サイズで表示するように第1の倍率レベルとは異なる第2の倍率レベルを選択し(例えば、選択ユニット1610を用いて)且つ第2の倍率レベルでの文書の表示を有効にし(例えば、表示有効化ユニット1612を用いて)、並びにオブジェクトが編集可能なテキストを含まないという判定に従って、オブジェクトを目標オブジェクト表示サイズで表示するように第2の倍率レベルとは異なる第3の倍率レベルを選択し(例えば、選択ユニット1610を用いて)且つ第3の倍率レベルでの文書の表示を有効にする(例えば、表示有効化ユニット1612を用いて)ように構成される。
【0358】
いくつかの実施形態において、第2の倍率レベルは、オブジェクトのサイズを参照せずに選択される。
【0359】
いくつかの実施形態において、オブジェクト表示サイズは、オブジェクトが文書の表示された領域を基準とする事前定義済みのサイズで表示ユニット1602に表示される表示サイズである。
【0360】
いくつかの実施形態によると、
図17は、上述したような本発明の原理に従って構成された電子デバイス1700を示す機能ブロック図である。デバイスの機能ブロックは、本発明の原理を実行するハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組合せで実現されてもよい。
図17に説明する機能ブロックは、上述の本発明の原理を実現するために組み合わされてもよく、あるいはサブブロックに分けられてもよいことが当業者により理解される。従って、本明細書の説明は、本明細書で説明する機能ブロックの考えられるあらゆる組合せ又は分割、あるいは更なる定義をサポートしてもよい。
【0361】
図17に示すように、電子デバイス1700は、ユーザ指定の倍率レベルで電子文書の少なくとも一部分を表示するように構成された表示ユニット1702と、表示ユニット1702に結合された処理ユニット1706とを備える。いくつかの実施形態において、処理ユニット1706は、受信ユニット1708と、開始ユニット1710と、表示有効化ユニット1712と、終了ユニット1714と、スクロールユニット1716と、挿入ユニット1718と、除去ユニット1720とを備える。
【0362】
処理ユニット1706は、文書が文書表示モードの間に文書表示モードとは異なる文書編集モードを開始する要求を受信し(例えば、受信ユニット1708を用いて)、且つ文書編集モードを開始する要求を受信することに応答して、文書編集モードを開始し(例えば、開始ユニット1710を用いて)且つユーザ指定の倍率レベルとは異なる事前定義済みの文書編集倍率レベルでの文書の表示を有効にし(例えば、表示有効化ユニット1712を用いて)、文書が文書編集モードの間に文書編集モードを終了する要求を受信し、且つ文書編集モードを終了する要求を受信することに応答して、文書編集モードを終了し(例えば、終了ユニット1714を用いて)且つユーザ指定の倍率レベルでの文書の表示を有効にする(例えば、表示有効化ユニット1712を用いて)ように構成される。
【0363】
いくつかの実施形態において、電子デバイスはタッチセンシティブ面ユニットを備え、文書編集モードを開始する要求はタッチセンシティブ面ユニット上で検出される。
【0364】
いくつかの実施形態において、文書編集モードを開始する要求は、タッチセンシティブ面ユニット上で検出されたダブルタップジェスチャである。
【0365】
いくつかの実施形態において、文書編集モードを開始する要求は、文書における挿入点の表示を含み、挿入点は文書のそれぞれの部分に最近接し、処理ユニット1706は、文書編集モードを開始する要求を受信することに応答して、文書のそれぞれの部分を文書表示領域の中央領域に配置するように文書をスクロールする(例えば、スクロールユニット1716を用いて)ように構成される。
【0366】
いくつかの実施形態において、文書編集モードを開始する要求は、文書における挿入点の表示を含み、挿入点は文書のそれぞれの部分に最近接し、文書編集モードを開始することは、挿入点に最近接する文書のそれぞれの部分を編集する入力インタフェースを提供することを含む。
【0367】
いくつかの実施形態において、処理ユニット1706は、文書編集モードを開始する要求を受信することに応答して挿入点においてテキストカーソルを挿入し(例えば、挿入ユニット1718を用いて)、且つ文書編集モードを終了する要求を受信することに応答してテキストカーソルを除去する(例えば、除去ユニット1720を用いて)ように構成される。
【0368】
上述した情報処理方法における動作は、汎用プロセッサ又は特定用途向けチップ等の情報処理装置における1つ以上の機能モジュールを実行することにより実現されてもよい。これらのモジュール、これらのモジュールの組み合わせ及び/又は汎用ハードウェアとのそれらの組み合わせ(例えば、
図1A及び
図3に関して上述したような)は全て、本発明の保護の範囲内に含まれる。
【0369】
図6A〜
図6E、
図7A及び
図7B、
図8A及び
図8B、
図9A及び
図9B、
図10、並びに
図11A及び
図11Bを参照して上述した動作は、
図1A及び
図1Bに示した構成要素により実現されてもよい。例えば、
図6A〜
図6Eの検出動作608、選択動作612及び表示動作614は、事象ソータ170、事象レコグナイザ180及び事象ハンドラ190により実現されてもよい。事象ソータ170の事象モニタ171はタッチセンシティブディスプレイ112に対する接触を検出し、事象ディスパッチャモジュール174は事象情報をアプリケーション136−1に配信する。アプリケーション136−1の各事象レコグナイザ180は、事象情報を各事象定義186と比較し、タッチセンシティブ面上の第1の場所における第1の接触がユーザインタフェースにおけるオブジェクトの選択等の事前定義済みの事象又はサブ事象に対応するかを判定する。事前定義済みの各事象又はサブ事象が検出された場合、事象レコグナイザ180は、事象又はサブ事象の検出と関連付けられた事象ハンドラ190を起動する。事象ハンドラ190は、アプリケーション内部状態192を更新するためにデータ更新部176又はオブジェクト更新部177を利用してもよくあるいは呼び出してもよい。いくつかの実施形態において、事象ハンドラ190は、各GUI更新部178にアクセスし、アプリケーションにより表示されているものを更新する。同様に、
図1A及び
図1Bに示す構成要素に基づいて他の処理を実現できる方法は、当業者には明らかとなるだろう。
【0370】
説明の目的で、特定の実施形態を参照して上記説明を行った。しかし、上記の例示的な説明は、本発明を網羅すること又は開示された厳密な形式に限定することを意図しない。多くの変更及び変形が上記教示に鑑みて可能である。本発明の原理及びその実際的な応用例を最適に説明するために実施形態を選択して説明した。これにより、当業者は、考えられる特定の用途に適するような本発明及び種々の変更を含む種々の実施形態を最適に利用できる。