(57)【要約】      （修正有）【課題】既存のレイアウトエンジンで、同一ページ、或いは異なるページ上のリンクされたテキストボックスのレイアウト処理を可能とする。【解決手段】ＥＤにおける複数のリンクされたテキストボックスに対応する複数のコンテナを備えるＥＤの中間形式を取得するステップと、複数のリンクされたテキストボックスにわたって分布するストリングに関連付けられたルートノード及び複数のコンテナを示す複数のポインターを備える複数のセグメントノードを備えるデータ構造を取得するステップと、複数のセグメントノードのトラバーサルを実行するステップと、トラバーサルの間に、複数のポインターによって指定される複数のコンテナにレイアウトエンジンを適用することにより、ストリングが分布された複数の中間ページを生成するステップと、コンテナを、対応する中間ページに置き換えることにより、ＥＤのレンダリングされたページを生成するステップとを備える。【選択図】図５
2012141974.tif 000002
【特許請求の範囲】
【請求項１】
電子文書（ＥＤ）をレンダリングする方法であって、
レイアウトエンジンへ入力する、前記ＥＤにおける第一の複数のリンクされたテキストボックスに対応する第一の複数のコンテナを備える前記ＥＤの中間形式を取得するステップと、
前記第一の複数のリンクされたテキストボックスにわたって分布する第一ストリングに関連付けられた第一ルートノード及び前記第一の複数のコンテナを示す第一の複数のポインターを備える第一の複数のセグメントノードを備えるデータ構造を取得するステップと、
前記データ構造を取得するステップの後に、前記中間形式における前記第一の複数のコンテナの第一コンテナを識別するステップと、
前記第一コンテナを識別するステップに応じてかつ前記データ構造において、前記ストリングを有する前記第一ルートノードの位置を発見するステップと、
前記第一ルートの位置を発見するステップに応じて、前記第一ルートノードにリンクされた前記第一の複数のセグメントノードのトラバーサルを実行するステップと、
前記第一の複数のセグメントノードのトラバーサルの間に、前記第一の複数のポインターによって指定される前記第一の複数のコンテナにレイアウトエンジンを適用することによって前記第一ストリングが分布された第一の複数の中間ページを生成するステップと、
前記第一の複数のコンテナの前記第一コンテナを、前記第一コンテナと対応する前記第一の複数の中間ページの中間ページに置き換えるステップを備える、前記第一の複数のセグメントノードのトラバーサルを実行するステップの後に、前記ＥＤのレンダリングされたページを生成するステップと、
を備える。
【請求項２】
前記第一の複数のセグメントノードのトラバーサルを実行するステップの後に、前記第一ルートノードに完了ステータスを割り当てるステップと、
前記中間形式においてかつ前記レンダリングされたページを生成するステップの前に、前記第一の複数のコンテナの第二コンテナを識別するステップと、
前記データ構造において、前記第一の複数のコンテナの前記第二コンテナを識別するステップに応じて、前記第一ルートノードの位置を発見するステップと、
前記第一ルートノードに割り当てられた前記完了ステータスを識別するステップと、
前記第一ルートノードに割り当てられた前記完了ステータスの識別に応じて、前記中間形式に戻るステップと、
をさらに備える請求項１に記載の方法。
【請求項３】
前記第一の複数のセグメントノードのトラバーサルを実行するステップの後でかつ前記第一の複数のコンテナの前記第二コンテナを識別するステップの前に、前記中間形式において第二の複数のコンテナのコンテナを識別するステップと、
前記第二の複数のコンテナの前記コンテナを識別するステップに応じて、前記データ構造における第二ルートノードの位置を発見するステップと、
前記第二ルートノードの位置を発見するステップに応じて、前記第二ルートノードにリンクされて、前記第二の複数のコンテナを示す第二の複数のポインターを備える第二の複数のセグメントノードのトラバーサルを実行するステップと、
前記第二の複数のセグメントノードのトラバーサルの間に、前記第二の複数のポインターによって指定される前記第二の複数のコンテナを前記レイアウトエンジンに適用することによって第二の複数の中間ページを生成するステップと、をさらに備え
前記第二の複数のコンテナは前記ＥＤにおける第二の複数のリンクされたテキストボックスに対応し、
前記第二のルートノードは前記第二の複数のテキストボックスにわたって分布する第二のストリングを備え、
前記レンダリングされたページを生成するステップは前記第二の複数のコンテナの前記コンテナを前記コンテナと対応する前記第二の複数の中間ページの中間ページに置き換えるステップをさらに備える、
請求項２に記載の方法。
【請求項４】
前記中間形式を取得するステップは前記ＥＤの解析の間に中間形式を生成するステップを備え、前記データ構造を取得するステップは前記ＥＤの解析の間に前記データ構造を生成するステップを備える、
請求項１に記載の方法。
【請求項５】
前記第一のストリングのテキストフローに基づいて前記第一の複数のセグメントノードを並べ替えるステップを備え、
前記第一の複数のリンクされたテキストボックスは前記第一ストリングの開始を表示する第一テキストボックス及び第二テキストボックスを備え、
前記第二テキストボックスは前記第一テキストボックスの前に前記ＥＤにおいて登場する、
請求項４に記載の方法。
【請求項６】
前記第一の複数の中間ページを生成するステップは、
前記第一の複数のセグメントノードの前記トラバーサルの間、セグメントノードを訪問するステップと、
前記セグメントノードのポインターを用いて前記第一の複数のコンテナの前記第一コンテナのサイズ属性にアクセスするステップと、を備え、
前記第一の複数のコンテナの前記第一コンテナは前記第一の複数のリンクされたテキストボックスのテキストボックスに対応し、
前記サイズ属性は前記テキストボックスのサイズを備え、
前記レイアウトエンジンの適用は、前記テキストボックスの前記サイズ及び前記第一ストリングをパラメーターとして有する前記レイアウトエンジンの機能の読み出しを備え、
前記第一の複数の中間ページの前記中間ページは前記テキストボックスの前記サイズに等しいサイズを有する、
請求項１に記載の方法。
【請求項７】
前記中間形式は前記第一の複数のコンテナの識別（ＩＤ）値を備え、前記第一ルートノードは前記ＩＤ値を備え、前記第一ルートノードの位置を発見するステップは、前記ＩＤ値に基づいて前記データ構造を検索するステップを備える、
請求項１に記載の方法。
【請求項８】
前記第一コンテナを前記中間ページに置き換えるステップは、
前記第一の複数のコンテナは前記ＥＤにおける前記第一の複数のテキストボックスの順序に基づいて複数のセグメント番号が割り当てられているところ、前記第一コンテナに関連付けられたセグメント番号にアクセスするステップと、
前記セグメント番号をパラメーターとして有する検索機能を呼び出すステップと、を備える、
請求項１に記載の方法。
【請求項９】
前記レイアウトエンジンはプリンターに配置される、請求項１に記載の方法。
【請求項１０】
電子文書（ＥＤ）をレンダリングする指示を含む非一時的でコンピューターに読取可能な記憶媒体であって、前記指示は、
レイアウトエンジンへ入力する、前記ＥＤにおける第一の複数のリンクされたテキストボックスに対応する第一の複数のコンテナを備える前記ＥＤの中間形式を取得する指示と、
前記第一の複数のリンクされたテキストボックスにわたって分布する第一ストリングに関連付けられた第一ルートノード及び前記第一の複数のコンテナを示す第一の複数のポインターを備える第一の複数のセグメントノードを備えるデータ構造を取得する指示と、
前記データ構造を取得する指示の後に、前記中間形式における前記第一の複数のコンテナの第一コンテナを識別する指示と、
前記第一コンテナを識別する指示に応じてかつ前記データ構造において、前記ストリングを有する前記第一ルートノードの位置を発見する指示と、
前記第一ルートの位置を発見する指示に応じて、前記第一ルートノードにリンクされた前記第一の複数のセグメントノードのトラバーサルを実行する指示と、
前記第一の複数のセグメントノードのトラバーサルの間に、前記第一の複数のポインターによって指定される前記第一の複数のコンテナにレイアウトエンジンを適用することによって前記第一ストリングが分布された第一の複数の中間ページを生成する指示と、
前記第一の複数のコンテナの前記第一コンテナを、前記第一コンテナと対応する前記第一の複数の中間ページの中間ページに置き換える指示を備える、前記第一の複数のセグメントノードのトラバーサルを実行する指示の後に、前記ＥＤのレンダリングされたページを生成する指示と、
を備える。
【請求項１１】
前記第一の複数のセグメントノードのトラバーサルを実行する指示の後に、前記第一ルートノードに完了ステータスを割り当てる指示と、
前記中間形式においてかつ前記レンダリングされたページを生成する指示の前に、前記第一の複数のコンテナの第二コンテナを識別する指示と、
前記データ構造において、前記第一の複数のコンテナの前記第二コンテナを識別する指示に応じて、前記第一ルートノードの位置を発見する指示と、
前記第一ルートノードに割り当てられた前記完了ステータスを識別する指示と、
前記第一ルートノードに割り当てられた前記完了ステータスの識別に応じて、前記中間形式に戻る指示と、
をさらに備える請求項１０に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１２】
前記第一の複数のセグメントノードのトラバーサルを実行する指示の後でかつ前記第一の複数のコンテナの前記第二コンテナを識別する指示の前に、前記中間形式において第二の複数のコンテナのコンテナを識別する指示と、
前記第二の複数のコンテナの前記コンテナを識別する指示に応じて、前記データ構造における第二ルートノードの位置を発見する指示と、
前記第二ルートノードの位置を発見する指示に応じて、前記第二ルートノードにリンクされて、前記第二の複数のコンテナを示す第二の複数のポインターを備える第二の複数のセグメントノードのトラバーサルを実行する指示と、
前記第二の複数のセグメントノードのトラバーサルの間に、前記第二の複数のポインターによって指定される前記第二の複数のコンテナを前記レイアウトエンジンに適用することによって第二の複数の中間ページを生成する指示と、をさらに備え
前記第二の複数のコンテナは前記ＥＤにおける第二の複数のリンクされたテキストボックスに対応し、
前記第二のルートノードは前記第二の複数のテキストボックスにわたって分布する第二のストリングを備え、
前記レンダリングされたページを生成する指示は前記第二の複数のコンテナの前記コンテナを前記コンテナと対応する前記第二の複数の中間ページの中間ページに置き換える指示をさらに備える、
請求項１１に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１３】
前記中間形式を取得する指示は前記ＥＤの解析の間に中間形式を生成する指示を備え、前記データ構造を取得する指示は前記ＥＤの解析の間に前記データ構造を生成する指示を備える、
請求項１０に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１４】
前記第一のストリングのテキストフローに基づいて前記第一の複数のセグメントノードを並べ替える指示を備え、
前記第一の複数のリンクされたテキストボックスは前記第一ストリングの開始を表示する第一テキストボックス及び第二テキストボックスを備え、
前記第二テキストボックスは前記第一テキストボックスの前に前記ＥＤにおいて登場する、
請求項１３に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１５】
前記第一の複数の中間ページを生成する指示は、
前記第一の複数のセグメントノードの前記トラバーサルの間、セグメントノードを訪問する指示と、
前記セグメントノードのポインターを用いて前記第一の複数のコンテナの前記第一コンテナのサイズ属性にアクセスする指示と、を備え、
前記第一の複数のコンテナの前記第一コンテナは前記第一の複数のリンクされたテキストボックスのテキストボックスに対応し、
前記サイズ属性は前記テキストボックスのサイズを備え、
前記レイアウトエンジンの適用は、前記テキストボックスの前記サイズ及び前記第一ストリングをパラメーターとして有する前記レイアウトエンジンの機能の読み出しを備え、
前記第一の複数の中間ページの前記中間ページは前記テキストボックスの前記サイズに等しいサイズを有する、
請求項１０に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１６】
電子文書をレンダリングするシステムであって、
ハードウェアプロセッサーと、
前記ハードウェアプロセッサー上で実行され、前記ＥＤにおける複数のリンクされたテキストボックスに対応する複数のコンテナを備える前記ＥＤの中間形式を生成するように構成された、中間形式ジェネレーターと、
前記複数のリンクされたテキストボックスにわたって分布するストリングに関連付けられたルートノード及び前記複数のコンテナを示す複数のポインターを備える複数のセグメントノードを生成するように構成された、データ構造ジェネレーターと、
前記ハードウェアプロセッサー上で実行され、前記複数のセグメントノードのトラバーサルの間に、前記複数のポインターによって指定される前記複数のコンテナに基づいて、前記ストリングが分布された複数の中間ページを生成するように構成された、レイアウトエンジンと、を備え、
前記レイアウトエンジンはさらに前記中間形式における前記複数のコンテナのコンテナを、前記コンテナと対応する前記複数の中間ページの中間ページに置き換えることによって、前記ＥＤのレンダリングされたページを生成するように構成される。
【請求項１７】
前記中間形式ジェネレーター、前記データ構造ジェネレーター及び前記レイアウトエンジンはプリンター上に配置される、請求項１６に記載のシステム。
【請求項１８】
前記データ構造モジュールは、前記複数のセグメントノードのトラバーサルの後に、第一ルートノードに完了ステータスを割り当てるように構成される、請求項１６に記載のシステム。
【請求項１９】
前記中間形式は前記複数のコンテナの識別（ＩＤ）値を備え、前記複数のセグメントノードは前記ＥＤにおける前記複数のテキストボックスの順序に対応する複数のセグメント数値を備える、
請求項１６に記載のシステム。
【請求項２０】
前記データ構造モジュールは前記ストリングのテキストフローに基づいて前記複数のセグメントノードを並べ替えるように構成され、前記複数のリンクされたテキストボックスは前記第一のストリングの開始を表示する第一テキストボックス及び第二テキストボックスを備え、前記第二テキストボックスは前記第一テキストボックスの前に前記ＥＤにおいて登場する、
請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はリンクされたテキストボックスを有する電子文書のレンダリングに関する。
【背景技術】
【０００２】
電子文書（ＥＤ）において、テキストボックスのセットにわたってストリングが分布されうる。つまり、ストリングは複数のセグメントに分割され、各セグメントはセットにおける異なるテキストボックスにおいて配置されうる。テキストボックスはストリングによって有効にリンクされるので、セットにおける各テキストボックスはリンクされたテキストボックスと称されうる。これに対して、ストリングのすべての内容を含むテキストボックスであり、よって他のどのテキストボックスにもリンクされていないテキストボックスは分離されたテキストボックスと称されうる。
【０００３】
ＥＤは複数のセットのリンクされたテキストボックスを有しうる。ＥＤはセットにおける各リンクされたテキストボックスの寸法（例えば、高さ、幅）及びリンクされたテキストボックスにストリングが埋められる順序の両方が含まれる。レンダリング装置（ＲＤ）の機能としてＥＤのページ上にリンクされたテキストボックスのセットを配置し、リンクされたテキストボックスのセットにわたって文字ストリングを分布する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、ＲＤにおけるレイアウトエンジンは分離されたテキストボックスの処理に適するように構成される。しかし、同一ページ上又は異なるページ上のリンクされたテキストボックスによってこれらのレイアウトエンジンには容易ではない問題が発生する。レイアウトエンジンに関する潜在的な問題に関わらず、ユーザーはリンクされたテキストボックスを含むＥＤを作成し、これらのＥＤの処理を既存のレイアウトエンジンで実行することを望む。
【課題を解決するための手段】
【０００５】
一般に、ある側面によれば、本発明は電子文書（ＥＤ）をレンダリングする方法に関する。当該方法は、レイアウトエンジンへ入力する、前記ＥＤにおける第一の複数のリンクされたテキストボックスに対応する第一の複数のコンテナを備える前記ＥＤの中間形式を取得するステップと、前記第一の複数のリンクされたテキストボックスにわたって分布する第一ストリングに関連付けられた第一ルートノード及び前記第一の複数のコンテナを示す第一の複数のポインターを備える第一の複数のセグメントノードを備えるデータ構造を取得するステップと、前記データ構造を取得するステップの後に、前記中間形式における前記第一の複数のコンテナの第一コンテナを識別するステップと、前記第一コンテナを識別するステップに応じてかつ前記データ構造において、前記ストリングを有する前記第一ルートノードの位置を発見するステップと、前記第一ルートの位置を発見するステップに応じて、前記第一ルートノードにリンクされた前記第一の複数のセグメントノードのトラバーサルを実行するステップと、前記第一の複数のセグメントノードのトラバーサルの間に、前記第一の複数のポインターによって指定される前記第一の複数のコンテナにレイアウトエンジンを適用することによって前記第一ストリングが分布された第一の複数の中間ページを生成するステップと、前記第一の複数のコンテナの前記第一コンテナを、前記第一コンテナと対応する前記第一の複数の中間ページの中間ページに置き換えるステップを備える、前記第一の複数のセグメントノードのトラバーサルを実行するステップの後に、前記ＥＤのレンダリングされたページを生成するステップと、を備える。
【０００６】
一般に、ある側面によれば、本発明は電子文書（ＥＤ）をレンダリングする指示を含む非一時的でコンピューターに読取可能な記憶媒体に関する。当該指示は、レイアウトエンジンへ入力する、前記ＥＤにおける第一の複数のリンクされたテキストボックスに対応する第一の複数のコンテナを備える前記ＥＤの中間形式を取得する指示と、前記第一の複数のリンクされたテキストボックスにわたって分布する第一ストリングに関連付けられた第一ルートノード及び前記第一の複数のコンテナを示す第一の複数のポインターを備える第一の複数のセグメントノードを備えるデータ構造を取得する指示と、前記データ構造を取得する指示の後に、前記中間形式における前記第一の複数のコンテナの第一コンテナを識別する指示と、前記第一コンテナを識別する指示に応じてかつ前記データ構造において、前記ストリングを有する前記第一ルートノードの位置を発見する指示と、前記第一ルートの位置を発見する指示に応じて、前記第一ルートノードにリンクされた前記第一の複数のセグメントノードのトラバーサルを実行する指示と、前記第一の複数のセグメントノードのトラバーサルの間に、前記第一の複数のポインターによって指定される前記第一の複数のコンテナにレイアウトエンジンを適用することによって前記第一ストリングが分布された第一の複数の中間ページを生成する指示と、前記第一の複数のコンテナの前記第一コンテナを、前記第一コンテナと対応する前記第一の複数の中間ページの中間ページに置き換える指示を備える、前記第一の複数のセグメントノードのトラバーサルを実行する指示の後に、前記ＥＤのレンダリングされたページを生成する指示と、を備える。
【０００７】
一般に、ある側面によれば、本発明は電子文書をレンダリングするシステムに関する。当該システムは、ハードウェアプロセッサーと、前記ハードウェアプロセッサー上で実行され、前記ＥＤにおける複数のリンクされたテキストボックスに対応する複数のコンテナを備える前記ＥＤの中間形式を生成するように構成された、中間形式ジェネレーターと、前記複数のリンクされたテキストボックスにわたって分布するストリングに関連付けられたルートノード及び前記複数のコンテナを示す複数のポインターを備える複数のセグメントノードを生成するように構成された、データ構造ジェネレーターと、前記ハードウェアプロセッサー上で実行され、前記複数のセグメントノードのトラバーサルの間に、前記複数のポインターによって指定される前記複数のコンテナに基づいて、前記ストリングが分布された複数の中間ページを生成するように構成された、レイアウトエンジンと、を備え、前記レイアウトエンジンはさらに前記中間形式における前記複数のコンテナのコンテナを、前記コンテナと対応する前記複数の中間ページの中間ページに置き換えることによって、前記ＥＤのレンダリングされたページを生成するように構成される。
【０００８】
本発明のその他の特徴は以下の明細書の記載及び添付されるクレームにおいて明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】図１は本発明の一以上の実施形態におけるシステムを図示する。
【図２】図２は本発明の一以上の実施形態におけるＥＤを図示する。
【図３】図３は本発明の一以上の実施形態におけるＥＤの中間形式におけるコンテナを図示する。
【図４】図４は本発明の一以上の実施形態におけるデータ構造を図示する。
【図５】図５は本発明の一以上の実施形態におけるフローチャートを図示する。
【図６】図６は本発明の一以上の実施形態におけるコンピューターシステムを図示する。
【発明を実施するための形態】
【００１０】
以下に、添付の図面を参照して、本発明の具体的な実施形態について、詳細に説明する。整合性を図るため、各図面における類似の要素には同様の参照符号が付加される。
【００１１】
以下の本発明の実施形態の詳細な説明においては、本発明のより深い理解を提供するためにいくつかの具体的詳細について説明がされる。しかし、これらの具体的詳細によらなくても本発明を実施しうることは当業者にとっては明らかであろう。その他の場面においては、不必要に複雑な説明を回避するため、周知の要素については詳細な説明が省略されている。
【００１２】
一般に、本発明の実施形態によれば、少なくとも一つのセットのリンクされたテキストボックスを含むＥＤをレンダリングするシステム及び方法が提供される。具体的にはＥＤの中間形式及びＥＤのデータ構造はＥＤを解析することによって生成される。中間形式はリンクされたテキストボックスに対応するコンテナを含む。データ構造はリンクされたテキストボックスのセットのルートノード及びセットにおいてそれぞれのリンクされたテキストボックスのセグメントノードを含む。セグメントノードは中間形式における対応するコンテナを示すポインターを含む。リンクされたテキストボックスに対応するコンテナに遭遇するとセットにおける全てのリンクされたテキストボックスの中間ページが生成される。中間ページはレンダリングされたページにおいてコンテナと置き換えられる。
【００１３】
図１は本発明の一以上の実施形態におけるシステム（１００）を図示する。図１に示すように、システム（１００）はレンダリング装置（ＲＤ）（１２５）及びクライアントコンピューター（１０５）を含む複数の構成要素を有する。ＲＤ（１２５）として例えば、プリンター、電子リーダー等を用いうる。クラインアントコンピューター（１０５）として、パーソナルコンピューター（ＰＣ）、デスクトップコンピューター、メインフレーム、サーバー、電話、キオスク、ケーブルボックス、携帯情報端末（ＰＤＡ）、携帯電話、スマートフォン等を用いうる。クライアントコンピューター（１０５）とＲＤ（１２５）との間を直接接続しうる（例えば、ユニバーサルシリアルバス（ＵＳＢ）接続）。代わりに、クライアントコンピューター（１０５）とＲＤ（１２５）とは有線及び／又は無線セグメントを含むネットワーク（１２０）を用いて接続しうる。
【００１４】
本発明の一以上の実施形態において、ＲＤ（１２５）はクライアントコンピューター（１０５）に配置される。このような実施形態においては、ＲＤ（１２５）はＥＤを生成、表示及び／又は印刷するクライアントコンピューター（１０５）上のハードウェア及びソフトウェアのあらゆる組合せに対応する。
【００１５】
本発明の一以上の実施形態において、クライアントコンピューター（１０５）はユーザーアプリケーション（１１０）を実行する。ユーザーアプリケーション（１１０）はユーザーによって操作されるソフトウェアアプリケーションであり、ＥＤ（１１５）の取得、入力、生成、表示及び／又は印刷を実行する構成を有する。よって、ユーザーアプリケーション（１１０）はワードプロセッサーアプリケーション、スプレッドシートアプリケーション、デスクトップパブリッシングアプリケーション、グラフィックスアプリケーション、写真印刷アプリケーション、インターネットブラウザ、等でありうる。ユーザーアプリケーション（１１０）によって新たなＥＤを生成し及び／又は予め保存されたＥＤを取得しうる。
【００１６】
図２は本発明の一以上の実施形態におけるＥＤ（２０５）を図示する。ＥＤ（２０５）は図１を参照して上述したＥＤ（１１５）に対応しうる。図２に図示するように、ＥＤ（２０５）は二つのセットのリンクされたテキストボックスを有する。具体的には、テキストボックスＡ（２１１）、テキストボックスＢ（２１２）、テキストボックスＣ（２１３）は一つのセットのリンクされたテキストボックスを形成する。同様に、テキストボックスＸ（２２１）、テキストボックスＹ（２２２）、及びテキストボックスＺ（２２３）は別のセットのリンクされたテキストボックスを形成する。テキストボックスＡ（２１１）及びテキストボックスＸ（２２１）はＥＤ（２０５）のページ１（２０６）上に位置する。テキストボックスＹ（２２２）及びテキストボックスＢ（２１２）はＥＤ（２０５）のページ２（２０７）上に位置する。さらにテキストボックスＣ（２１３）及びテキストボックスＺ（２２３）はＥＤ（２０５）のページＮ（２０８）上に位置する。
【００１７】
引き続き図２を参照して、「猫が帽子の中にいる」というストリングがテキストボックスＡ（２１１）、テキストボックスＢ（２１２）及びテキストボックスＣ（２１３）を含むリンクされたテキストボックスのセットにわたって分布される。言い換えると、「猫が帽子の中にいる」というストリングは三つの重ならないセグメントに分割され、各セグメントはテキストボックスＡ（２１１）、テキストボックスＢ（２１２）又はテキストボックスＣ（２１３）のいずれか一つに配置される。図２に示すように、テキストボックスＡ（２１１）にはストリングの最初のセグメント（つまり第１セグメント）が含まれ、テキストボックスＢ（２１２）にはストリングの中間のセグメント（つまり第２セグメント）が含まれ、テキストボックスＣ（２１３）にはストリングの最終のセグメント（つまり第３セグメント）が含まれる。セグメント番号はリンクされたテキストボックスのセットに有効に順序を割り当てる。
【００１８】
同様に、「バラは赤く、スミレは青い」というストリングがテキストボックスＸ（２２１）、テキストボックスＹ（２２２）及びテキストボックスＺ（２２３）を含むリンクされたテキストボックスのセットにわたって分布される。言い換えると、「バラは赤く、スミレは青い」というストリングが三つの重ならないセグメントに分割され、各セグメントはテキストボックスＸ（２２１）、テキストボックスＹ（２２２）又はテキストボックスＺ（２２３）のいずれか一つに配置される。図２に示すように、テキストボックスＹ（２２２）にはストリングの最初のセグメント（つまり第１セグメント）が含まれ、テキストボックスＸ（２２１）にはストリングの中間のセグメント（つまり第２セグメント）が含まれ、テキストボックスＺ（２２３）にはストリングの最終のセグメント（つまり第３セグメント）が含まれる。セグメント番号はリンクされたテキストボックスのセットに有効に順序を割り当てる。
【００１９】
図２に示すように、「猫が帽子の中にいる」というストリングはテキストボックスＡ（２１１）から始まる。また図２に示すように、「バラは赤く、スミレは青い」というストリングはテキストボックスＹ（２２２）から始まる。よって、テキストボックスＡ（２１１）及びテキストボックスＹ（２２２）はリンクされたテキストボックスのそれぞれのセットにおける開始テキストボックスと称しうる。言い換えると、テキストボックスＡ（２１１）及びテキストボックスＹ（２２２）はそれぞれのストリングの第１セグメントを含む。
【００２０】
テキストボックスＡ（２１１）、テキストボックスＢ（２１２）、及びテキストボックスＣ（２１３）がＥＤ（２０５）に登場する順序は「猫が帽子の中にいる」というストリングのテキストフローの順序と合致する。しかし、テキストボックスＸ（２２１）、テキストボックスＹ（２２２）、及びテキストボックスＺ（２２３）がＥＤ（２０５）に登場する順序は「バラは赤く、スミレは青い」というストリングのテキストフローの順序と合致しない。言い換えると、テキストボックスＹ（２２２）、テキストボックスＸ（２２１）、及びテキストボックスＺ（２２３）を含むリンクされたテキストボックスのセットの開始テキストボックスがテキストボックスＹ（２２２）であるにも関わらず、読み手はテキストボックスＹ（２２２）に遭遇する前にテキストボックスＸ（２２１）に遭遇する。
【００２１】
図１に戻って、本発明の一以上の実施形態において、ＥＤ（１１５）は文書マークアップ言語（例えばＯＤＦ、ＯＯＸＭＬ、等）を用いて表現／定義される。よって、リンクされたテキストボックスのセットにわたって分布されるストリング、セグメント番号（つまり、セットにおけるリンクされたテキストボックスに割り当てられた順序）、リンクされたテキストボックスの寸法（つまり、高さ、幅）等は文書マークアップ言語のタグにおける属性として記録されうる。
【００２２】
本発明の一以上の実施形態において、ＲＤ（１２５）は中間形式ジェネレーター（１３５）を有する。中間形式ジェネレーター（１３５）はＥＤ（１１５）を解析し、ＥＤ（１１５）の中間形式を生成するように構成される。中間形式はＥＤ（１１５）のリンクされたテキストボックスを表すコンテナを有する。各コンテナは対応するテキストボックスの属性を含む（例えば、寸法、セグメント番号等）。本発明の一以上の実施形態においては、中間形式における各コンテナは属性としてセット識別子（ＩＤ）を有する。具体的には、同じセットのリンクされたテキストボックスに対応するすべてのコンテナには同じセットＩＤが割り当てられる。本発明の一以上の実施形態においては、開始テキストボックスに対応するコンテナにはリンクされたテキストボックスのセットのストリングが含まれる。
【００２３】
図３は本発明の一以上の実施形態における中間形式（３０５）のコンテナ（３１１）を図示する。コンテナ（３１１）はＥＤにおけるリンクされたテキストボックスを表す。図３に示されるように、コンテナ（３１１）は複数の属性を有し、リンクされたテキストボックスの寸法を保持する寸法属性（３１２）、リンクされたテキストボックスが属するセットを識別するセットＩＤ属性（３１３）、リンクされたテキストボックスのセットにおけるリンクされたテキストボックスの位置を識別するセグメント番号属性（３１４）及び任意に、リンクされたテキストボックスのセットにわたって分布するストリングを保持するストリング属性（３１６）を含む。
【００２４】
図１に戻って、本発明の一以上の実施形態において、ＲＤ（１２５）はデータ構造ジェネレーター（１４０）を有する。データ構造ジェネレーター（１４０）はＥＤ（１１５）におけるリンクされたテキストボックスのセット及び／又は（上述の）中間形式におけるコンテナを追跡してアクセスするためのデータ構造を生成して追加するように構成される。具体的には、データ構造はＥＤ（１１５）におけるリンクされたテキストボックスの各セットのルートノードを含む。各ルートノードはリンクされたテキストボックスのセットに対応するセットＩＤ及びリンクされたテキストボックスのセットにわたって分布されるストリングを保持する。または、本発明の一以上の実施形態において、一以上のルートノードはストリングの代わりにそれぞれのストリングを示すポインターを保持する。さらに、本発明の一以上の実施形態においては、ルートノードのみがストリング又はストリングを示すポインターを保持する（つまり、（上述の）コンテナはストリングを保持しない）。
【００２５】
ルートノードからはセットにおけるリンクされたテキストボックスを示すセグメントノードのセットにアクセス可能である。各セグメントノードはコンテナによって示されるリンクされたテキストボックスのセグメント番号を含む中間形式におけるコンテナを指定するポインターを保持する。リンクされたテキストボックスのセットのセグメントノードはテキストフローの順序を含むあらゆる順序に並べ替えられうる。また、データ構造には一以上の配列、リンクされたリスト、ツリー等を用いて実施しうる。
【００２６】
図４は本発明の一以上の実施形態における、データ構造（４００）を示す。図４に示すように、データ構造（４００）は複数のセグメントノード（つまり、セグメントノードＡ１（４０４）、セグメントノードＡＮ（４０６）、セグメントノードＢ１（４５４）、セグメントノードＢＭ（４５６））にリンクされた、複数のルートノード（つまり、ルートノードＡ（４０１）、ルートノードＢ（４５１））を含む。セグメントノードＡ１（４０４）とセグメントノードＡＮ（４０６）との両方がルートノードＡ（４０１）からアクセス可能である（つまりトラバーサルしうる）。同様に、セグメントノードＢ１（４５４）とセグメントノードＢＭ（４５６）との両方がルートノードＢ（４５１）からアクセス可能である（つまりトラバーサルしうる）。
【００２７】
本発明の一以上の実施形態において、ルートノードＡ（４０１）およびルートノードＢ（４５１）は同じＥＤ内における、リンクされたテキストボックスの異なるセットに対応する。よって、ルートノードＡ（４０１）はリンクされたテキストボックスの二つのセットのうちの一方を識別するセットＩＤＡ（４０２）を保持し、対してルートノードＢ（４５１）はリンクされたテキストボックスの他方のセットを識別するＩＤＢ（４５２）を保持する。図４に示すように、ルートノードＡ（４０１）とルートノードＢ（４５１）との両方がそれぞれのリンクされたテキストボックスのセットにわたって分布されるストリング（またはストリングを示すポインター）（つまり、ストリングＡ（４０３）、ストリングＢ（４５３））を保持する。
【００２８】
本発明の一以上の実施形態において、セグメントノード（４０４、４０６、４５４、４５６）は中間形式におけるそれぞれのコンテナを指定するポインターを含む。具体的には、セグメントノードＡ１（４０４）はコンテナを示すポインターＡ１（４０５）を有し、セグメントノードＡＮ（４０６）はコンテナを示すポインターＡＮ（４０７）を有し、セグメントノードＢ１（４５４）はコンテナを示すポインターＢ１（４５５）を有し、セグメントノードＢＭ（４５６）はコンテナを示すポインターＢＭ（４５７）を有する。
【００２９】
本発明の一以上の実施形態において、各ルートノード（４０１、４５１）はステータスフィールドを有する（つまり、ステータスＡ（４０９）、ステータスＢ（４５９））。ステータスフィールド（４０９、４５９）は、ルートノードに付加されるすべてのセグメントノードについて中間ページが生成されると、「完了」または「完了済」と設定される（後述）。例えば、ステータスＡ（４０９）はセグメントノードＡ１（４０４）及びセグメントノードＡＮ（４０６）の中間ページが生成されると、「完了」または「完了済」と設定される。同様に、ステータスＢ（４５９）はセグメントノードＢ１（４５４）及びセグメントノードＢＭ（４５６）の中間ページが生成されると、「完了」または「完了済」と設定される。ステータスフィールド（４０９、４５９）が「完了」または「完了済」と設定されていない場合、ステータスフィールド（４０９、４５９）は空白、「ヌル」、「未完了」、等と設定される。
【００３０】
図１に戻って、本発明の一以上の実施形態において、ＲＤ（１２５）はレイアウトエンジン（１４５）を有する。レイアウトエンジン（１４５）は中間形式を消費してＥＤ（１１５）の欄、テキストボックス、段落、ストリング、単語、文字、サブヘッド、サブタイトル、画像等の読取可能媒体（例えば、紙、透明フィルム、マイクロフィルム、コンピューターモニター、電子リーダー等）上の位置／配置を計算するように構成される。言い換えると、レイアウトエンジン（１４５）は、ＥＤ（１１５）のレンダリングされたページ（例えばレンダリングされたページ（１５５））を生成し、出力するように構成される。
【００３１】
本発明の一以上の実施形態において、レイアウトエンジン（１４５）は、リンクされたテキストボックスのストリングセグメントの文字の位置（つまり、座標）を計算するように構成される。このような実施形態においては、レイアウトエンジン（１４５）への入力はリンクされたテキストボックスを示す（上述の）コンテナを含み、対してレイアウトエンジン（１４５）への出力は中間ページ及び中間ページにおけるストリングセグメントの文字の位置（座標）を含む。中間ページの寸法（つまり、境界）はリンクされたテキストボックスの寸法（つまり、境界）に対応する。本発明の一以上の実施形態において、レイアウトエンジン（１４５）は中間形式のコンテナをその対応する中間ページに置き換えることによってＥＤ（１１５）のページをレンダリングするように構成される。
【００３２】
図５は本発明の一以上の実施形態におけるフローチャートを示す。図５に示す処理は、例えばシステム（１００）（例えば、ＲＤ（１２５））の構成要素によって実行され、リンクされたテキストボックスを有するＥＤがレンダリングされる。図５に示すステップの順序は本発明の実施形態によっては異なることがあり、一以上のステップは並行して実行され及び／又は任意でありうる。
【００３３】
ステップ５０５において、少なくとも一セットのリンクされたテキストボックスを有するＥＤを取得する。ＥＤは文書マークアップ言語（例えば、ＯＤＦ、ＯＯＸＭＬ、等）を用いて表現／定義されうる。よって、リンクされたテキストボックスのセットにわたって分布されるストリング、セグメント番号（つまり、セットのリンクされたテキストボックスに割り当てられた順序）、リンクされたテキストボックスの寸法（つまり、高さ、幅）等は文書マークアップ言語のタグにおいて属性として記録されうる。開始テキストボックス（つまり、ストリングの最初のセグメントを有するリンクされたテキストボックス）はＥＤの読み手によって遭遇される最初のリンクされたテキストボックスである場合があるし、そうではない場合もある。
【００３４】
ステップ５１０において、ＥＤの中間形式（ＩＦ）を生成する。具体的には、ＩＦはリンクされたテキストボックスに対応するコンテナを含む。コンテナはその対応するリンクされたテキストボックスの属性を含む（例えば、寸法、セグメント番号、等）。また、開始テキストボックスに対応するコンテナはリンクされたテキストボックスのセットにわたって分布されるストリングを含みうる。さらに、リンクされたテキストボックスの同じセットにおけるリンクされたテキストボックスに対応するすべてのコンテナは同じセットＩＤを有しうる。本発明の一以上の実施形態においては、ＩＦはレイアウトエンジンによる消費に適し（例えば、図１を参照して上述したレイアウトエンジン（１４５））、ＥＤを解析することによって生成される。本発明の一以上の実施形態において、ＩＦはＲＤ（１２５）における中間形式ジェネレーター（１３５）によって生成される。
【００３５】
ステップ５１５において、データ構造が生成される。データ構造はＥＤにおけるリンクされたテキストボックスのセット及び／又はＩＦにおけるコンテナを追跡及びアクセスするためのノードを含む。具体的には、データ構造はＥＤにおけるリンクされたテキストボックスの各セットについてルートノードを含む。各ルートノードはリンクされたテキストボックスの対応するセットのセットＩＤ及びリンクされたテキストボックスのセットにわたって分布されるストリング（又はストリングを示すポインター）を保持する。ルートノードからはセットにおけるリンクされたテキストボックスを示すセグメントノードのセットにアクセス可能である。各セグメントノードはコンテナによって示されるリンクされたテキストボックスのセグメント番号を含む中間形式におけるコンテナを指定するポインターを保持する。リンクされたテキストボックスのセットのセグメントノードはテキストフローの順序を含むあらゆる順序に並べ替えられうる。
【００３６】
本発明の一以上の実施形態において、データ構造はＥＤの解析及び中間形式の形成の間に生成／追加される（ステップ５１０）。具体的には、いったんリンクされたテキストボックスのセットにおけるリンクされたテキストボックスを示すコンテナが識別されると、コンテナ／テキストボックスのセグメントノードが生成され、適切なルートノードにリンクされたセグメントノードのチェーンに追加される。新たに生成されたセグメントノードはコンテナを指定するポインターを保持する。
【００３７】
ステップ５２０において、データ構造のセグメントノードはストリングのテキストフローに基づいて並べ替えられる。本発明の一以上の実施形態において、ステップ５２０はＥＤが完全に解析された後に実行される。上述のように、セグメントノードはその対応するリンクされたテキストボックスがＥＤに登場する順序でデータ構造に追加しうる（つまり、適切なルートノードにリンク／チェーンされる）。よって、データ構造におけるセグメントノードの当初の順序はストリングのテキストフローに対応する場合と対応しない場合がある。本発明の一以上の実施形態において、ＲＤ（１２５）におけるデータ構造ジェネレーター（１４０）によってデータ構造は生成され、セグメントノードは並べ替えられうる。
【００３８】
ステップ５２５において、ＩＦにおけるコンテナが識別される。レイアウトエンジン（例えば、ＲＤ（１２５）におけるレイアウトエンジン（１４５））によるＩＦの消費の間にコンテナを識別しうる。上述のように、コンテナはＥＤにおけるリンクされたテキストボックスを示し、リンクされたテキストボックスの属性を含む。また、上述のように、コンテナはリンクされたテキストボックスを有する、リンクされたテキストボックスの対応するセットを識別するセットＩＤを含む。
【００３９】
ステップ５３０において、識別されたコンテナに対応するルートノード（つまり、ステップ５２５）がデータ構造において識別される。具体的には、ルートノードは検索基準としてコンテナのセットＩＤを用いてデータ構造に位置しうる。また、本発明の一以上の実施形態において、コンテナはルートノードへのポインターを保持するので、検索の必要性が省かれる。ステップ５３５において、ルートノードが「完了」又は「完了済」のステータスを有するかについて判断する。ルートノードのステータスへはルートノードのステータスフィールド（例えば、図４を参照し上述した、ステータスＡ（４０９）、ステータスＢ（４５９））を読み出すことによってアクセスしうる。ルートノードに「完了」又は「完了済」のステータスが割り当てられたと判断されると、処理はステップ５４５に移行する。ルートノードに「完了」又は「完了済」のステータスが割り当てられていないと判断されると、処理はステップ５４０に移行する。
【００４０】
ステップ５４０において、ルートノードにリンクされる全てのセグメントノードのトラバーサルが実行され、遭遇するそれぞれのセグメントノードについて中間ページが生成される。上述のように、各セグメントノードはＩＦにおけるコンテナを示すポインターを含む。また、上述のように各コンテナはそのリンクされたテキストボックスに対応する属性（例えば、セグメント番号、寸法）を含む。さらに、セグメントノードはストリングのテキストフローに基づいて並べ替えられている（つまり、並べられた）ので（つまり、ステップ５２０）、セグメントノードがトラバーサルされる順序は基本的にセグメント番号によって決定する。言い換えると、トラバーサルの際に最初に遭遇するのは、セグメント番号１のコンテナに対応するセグメントノードである。トラバーサルの際に二番目に遭遇するのは、セグメント番号２のコンテナに対応するセグメントノードであり、以下同様である。
【００４１】
トラバーサルの際に遭遇する各セグメントノードについて、レイアウトエンジンの機能を呼び出して、対応するリンクされたテキストボックスの中間ページを生成する。当該機能のパラメーターはコンテナ及び一以上のリンクされたテキストボックスにおいて配置する必要があるストリングの残りの部分を含む。よって、開始テキストボックスにおいては、ストリングの残りの部分はストリング全体をいう。当該機能の出力は中間ページ及び中間ページにおいて配置されたストリングのセグメントにおける全ての文字の位置（つまり、座標）をいう。中間ページはそのセグメント番号によって表示しうる。
【００４２】
本発明の一以上の実施形態において、ルートノードにリンクされたすべてのセグメントノードについて中間ページが生成されると、ルートノードのステータスは「完了」又は「完了済」と設定される。
【００４３】
ステップ５４５において、ＩＦにまだコンテナが存在するか判断する。まだコンテナが存在すると判断されると、処理はステップ５２５へ戻る。ＩＦに他にコンテナが存在しないと判断されると、処理はステップ５５０へ移行する。
【００４４】
ステップ５５０において、ＥＤの一以上のレンダリングされたページを生成する。レンダリングされたページはＩＦのコンテナを対応する中間ページに置き換えることによって生成しうる。具体的には、遭遇する各コンテナについて、少なくともセグメント番号及びコンテナのセットＩＤを検索基準として用いて対応する中間ページを検索する。レンダリングされたページはリンクされたテキストボックスのセットとリンクされたテキストボックスのセットにわたって分布されるストリングを含む。
【００４５】
本発明の一以上の実施形態において、ステップ５０５、５１０、５１５及び５２０は文書解析段階または主要文書構築段階に対応する。本発明の一以上の実施形態において、ステップ５２５、５３０、５３５、５４０、５４５及び５５０は主要文書植字段階に対応する。
【００４６】
本発明の実施形態によって一以上の以下の効果が得られる：既存のレンダリング装置を用いてリンクされたテキストボックスを有するページをレンダリングすることが可能、ＥＤにおいてリンクされたテキストボックスの複数のセットを扱うことが可能、ＥＤにストリングのテキストフローに従って配置されていないリンクされたテキストボックス（つまり、開始テキストボックスが、読み手が最初に遭遇するテキストボックスではない）をレンダリングすることが可能、等。当業者は開示されていない、本発明に関するその他の様々な効果があることを理解するであろう。
【００４７】
本発明の実施形態は、用いられるプラットフォームを問わず、事実上あらゆる種類のコンピューターにおいて実現することができる。例えば、図６に示すように、コンピューターシステム（６００）には、一以上のハードウェアプロセッサー（６０２）、関連するメモリー（６０４）（例えば、ランダムアクセスメモリー（ＲＡＭ）、キャッシュメモリー、フラッシュメモリー等）、記憶装置（６０６）（例えば、ハードディスク、コンパクトディスクドライブやデジタルビデオディスク（ＤＶＤ）ドライブ等の光学ドライブ、フラッシュメモリースティック等）及び現在のコンピューター（図示せず）において一般的ないくつかのその他の要素及び機能が含まれる。本発明の一以上の実施形態においては、ハードウェアプロセッサー（６０２）はハードウェアの要素である。例えば、プロセッサーは集積回路、中央演算処理装置（ＣＰＵ）、又はその他のハードウェアプロセッサーでありうる。コンピューターシステム（６００）はキーボード（６０８）、マウス（６１０）、又はマイクロフォン（図示せず）等の入力手段を有しうる。また、コンピューターシステム（６００）はモニター（６１２）（例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、ブラウン管（ＣＲＴ）モニター）等の出力手段を有しうる。コンピューターシステム（６００）はネットワークインターフェース接続（図示せず）を介してネットワーク（６１４）（例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネット等のワイドエリアネットワーク（ＷＡＮ）、又はその他の種類のネットワーク）に接続されうる。本発明の一以上の実施形態においては、様々な種類のコンピューターシステムが存在し、上述の入力及び出力手段はその他の形式を取りうる。一般に、コンピューターシステム（６００）は少なくとも本発明の実施形態を実施するのに必要な最低限の処理、入力及び／又は出力手段を有する。
【００４８】
さらに、本発明の一以上の実施形態においては、上述のコンピューターシステム（６００）の一以上の要素は遠隔地に位置し、ネットワーク上で他の要素と接続しうる。また、本発明の実施形態は複数のノードを有する分散システムにおいて実現することができ、本発明の各部分（例えば、中間形式、ジェネレーター、データ構造ジェネレーター、レイアウトエンジン、等）は分散システムにおける異なるノードに配置されうる。本発明のある実施形態においては、ノードはコンピューターシステムに対応する。また、ノードは関連する物理メモリーを有するプロセッサーに対応しうる。また、ノードは共有メモリー及び／又は資源を有するプロセッサー又はプロセッサーのマイクロコアに対応しうる。さらに、本発明の実施形態を実行するためのコンピューターに読取可能なプログラムコードの形式であるソフトウェア命令を、コンパクトディスク（ＣＤ）、ディスケット、テープ、パンチカード、メモリー、又はその他のコンピューターに読取可能な記憶装置等の非一時的な、コンピューターに読取可能な記憶媒体に一時的に又は永久に保存することができる。
【００４９】
本発明は限られた数の実施形態により説明されたが、当業者は本明細書を利用することによって、本明細書において開示される本発明の範囲を逸脱することなく、その他の実施形態を考案することが可能であることを理解するであろう。よって、本発明の範囲は添付されたクレームのみによって限定される。
【図１】
2012141974.tif 000003
【図２】
2012141974.tif 000004
【図３】
2012141974.tif 000005
【図４】
2012141974.tif 000006
【図５】
2012141974.tif 000007
【図６】
2012141974.tif 000008
【外国語明細書】
2012141974000001.pdf
2012141974000002.pdf
2012141974000003.pdf
2012141974000004.pdf