(57)【特許請求の範囲】
【請求項１】
ページ上にテキストラインを配置する方法であって、
除外領域（ＥＲ）を有するページ上に配置するテキストラインを含む電子文書（ＥＤ）を取得するステップと、
前記ページの余白に対応する第一サブパスと、当該第一サブパスとは逆方向の、前記ページ上のＥＲに対応する第二サブパスとを含む前記ページのパスを取得するステップと、
前記パス及び所定の回転数に対応するフィル規則を入力したパスフィルアルゴリズムを用いて、前記所定の回転数を有する点集合である、前記余白及び前記ＥＲを除外した前記ページ上の領域を計算するステップと、
前記ページ上において、前記領域を計算した後に、前記ページ上の前記ＥＲと交差し、前記テキストラインの寸法を有するラインバンドを、選択するステップと、
前記領域と前記ラインバンドとの交差に基づいて、複数の区分を特定するステップと、
前記複数の区分のうちの第一区分にはテキストラインの第一部分を配置し、前記複数の区分のうちの第二区分にはテキストラインの第二部分を配置して、前記ページをレンダリングするステップと、を備える。
【請求項２】
前記ラインバンドは水平ラインバンドであり、前記寸法は前記テキストラインの高さであり、前記複数の区分は水平区分である、請求項１に記載の方法。
【請求項３】
前記第一サブパスは反時計回り方向であり、前記第二サブパスは時計回り方向であり、前記パスフィルアルゴリズムには正数１の回転数に対応するフィル規則を入力する、請求項１又は２に記載の方法。
【請求項４】
前記ＥＲはデジタル写真である、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記ＥＲはクリップアートである、請求項１〜３のいずれか一項に記載の方法。
【請求項６】
前記テキストラインの前記第一部分と前記テキストラインの前記第二部分とを、前記テキストラインの言語のハイフネーション規則に基づいて、特定するステップをさらに備える、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記第一区分及び前記第二区分は前記ＥＲの両側に存在する、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
ページ上にテキストラインを配置する、以下の機能を実行させる命令を含む非一時的でコンピューターに読取可能な記憶媒体であって、
除外領域（ＥＲ）を有するページ上に配置するテキストラインを含む電子文書（ＥＤ）を取得するステップと、
前記ページの余白に対応する第一サブパスと、当該第一サブパスとは逆方向の、前記ページ上のＥＲに対応する第二サブパスとを含む前記ページのパスを取得するステップと、
前記パス及び所定の回転数に対応するフィル規則を入力したパスフィルアルゴリズムを用いて、前記所定の回転数を有する点集合である、前記余白及び前記ＥＲを除外した前記ページ上の領域を計算するステップと、
前記ページ上において、前記領域を計算した後に、前記ページ上の前記ＥＲと交差し、前記テキストラインの寸法を有するラインバンドを、選択するステップと、
前記領域と前記ラインバンドとの交差に基づいて、複数の区分を特定するステップと、
前記複数の区分のうちの第一区分にはテキストラインの第一部分を配置し、前記複数の区分のうちの第二区分にはテキストラインの第二部分を配置して、前記ページをレンダリングするステップと、を備える。
【請求項９】
前記ラインバンドは水平ラインバンドであり、前記寸法は前記テキストラインの高さであり、前記複数の区分は水平区分である、請求項８に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１０】
前記第一サブパスは反時計回り方向であり、前記第二サブパスは時計回り方向であり、前記パスフィルアルゴリズムには正数１の回転数に対応するフィル規則を入力する、請求項８又は９に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１１】
前記ＥＲはデジタル写真である、請求項８〜１０のいずれか一項に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１２】
前記ＥＲはクリップアート画像である、請求項８〜１０のいずれか一項に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１３】
前記テキストラインの前記第一部分と前記テキストラインの前記第二部分とを、前記テキストラインの言語のハイフネーション規則に基づいて、特定するステップの機能を実行させる命令をさらに備える、請求項８〜１２のいずれか一項に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１４】
前記第一区分及び前記第二区分は前記ＥＲの両側に存在する、請求項８〜１３のいずれか一項に記載の非一時的でコンピューターに読取可能な記憶媒体。
【請求項１５】
ページ上にテキストラインを配置するシステムであって、
ハードウェアプロセッサーと、
前記ハードウェアプロセッサー上で実行され、テキストラインと除外領域（ＥＲ）とを含む電子文書のページ上のパスで、前記ページの余白に対応する第一サブパスと、当該第一サブパスとは逆方向の、前記ＥＲに対応する第二サブパスとを含むパスを定義するように構成された、パス生成モジュールと、
前記ハードウェアプロセッサー上で実行され、前記パス及び所定の回転数に対応するフィル規則を入力したパスフィルアルゴリズムを用いて、前記所定の回転数を有する点集合である、前記余白及び前記ＥＲを除外した前記ページ上の領域を計算するように構成された、パスフィルモジュールと、
前記ハードウェアプロセッサー上で実行され、
前記ページ上の前記ＥＲと交差し、前記テキストラインの寸法を有するラインバンドを選択し、
前記領域と前記ラインバンドとの交差に基づいて、複数の区分を特定し、
前記複数の区分のうちの第一区分にはテキストラインの第一部分を配置し、前記複数の区分のうちの第二区分にはテキストラインの第二部分を配置して、前記ページをレンダリングする、
ように構成される、配置モジュールと、
を備える。
【請求項１６】
前記パス生成モジュールと、前記パスフィルモジュールと、前記配置モジュールはプリンター上に設けられる、請求項１５に記載のシステム。
【請求項１７】
前記ラインバンドは水平ラインバンドであり、前記寸法は前記テキストラインの高さであり、前記複数の区分は水平区分である、請求項１５又は１６に記載のシステム。
【請求項１８】
前記第一サブパスは反時計回り方向であり、前記第二サブパスは時計回り方向であり、前記パスフィルアルゴリズムには正数１の回転数に対応するフィル規則を入力する、請求項１５〜１７のいずれか一項に記載のシステム。
【請求項１９】
前記ＥＲはデジタル写真である、請求項１５〜１８のいずれか一項に記載のシステム。
【請求項２０】
前記配置モジュールは、前記テキストラインの前記第一部分と前記テキストラインの前記第二部分とを、前記テキストラインの言語のハイフネーション規則に基づいて、特定することをさらに備えるように構成される、請求項１５〜１９のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はオブジェクトの周囲にテキストをレイアウトする際のパスフィルアルゴリズムの適用に関する。
【背景技術】
【０００２】
二次元平面上のパス内におけるフィル（例えば、色を用いたもの等）は、コンピューターグラフィックスにおける一般的な課題であり、これをどのように実行するかのアルゴリズム（すなわち、パスフィルアルゴリズム）は一般的であり、確立されている。通常これらのアルゴリズムを用いる結果、塗られる画素のスキャンラインが生成される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ワードプロセッサーやページレイアウトアプリケーション等の現在のソフトウェアアプリケーションにおいては、画像やグラフィック等の他のオブジェクトの周囲に密接して配置されたテキストを含むページを作成することができる。テキストによってオブジェクトの辺がすべて囲まれることがある。このような場合、各単語の完全性を保つ必要がある。あるページにこのようなオブジェクトが数多く存在し、これらのオブジェクトの形が任意のものであるとすると、テキストをどのようにレイアウトするかを決定するアルゴリズムは複雑となることがあり、このようなアルゴリズムはパスフィルアルゴリズムと異なって一般的ではなく、確立もされていない。これは、すなわち、このようなアルゴリズムを実現するためのコンピューターコードやハードウェアを書いたり維持したりするには多くの時間を浪費することになり、またエラーが発生しやすいものとなりうることを意味する。
【課題を解決するための手段】
【０００４】
一般に、ある側面によれば、本発明はページ上にテキストラインを配置する方法に関する。当該方法は除外領域（ＥＲ）を有するページ上に配置するテキストラインを含む電子文書（ＥＤ）を取得するステップと、前記ページの余白に対応する第一サブパスと、当該第一サブパスとは逆方向の、前記ページ上のＥＲに対応する第二サブパスとを含む前記ページのパスを取得するステップと、前記パス及び所定の回転数に対応するフィル規則を入力したパスフィルアルゴリズムを用いて、前記所定の回転数を有する点集合である、前記余白及び前記ＥＲを除外した前記ページ上の領域を計算するステップと、前記ページ上において、前記領域を計算した後に、前記ページ上の前記ＥＲと交差し、前記テキストラインの寸法を有するラインバンドを、選択するステップと、前記領域と前記ラインバンドとの交差に基づいて、複数の区分を特定するステップと、前記複数の区分のうちの第一区分にはテキストラインの第一部分を配置し、前記複数の区分のうちの第二区分にはテキストラインの第二部分を配置して、前記ページをレンダリングするステップと、を備える。
【０００５】
一般に、ある側面によれば、本発明はページ上にテキストラインを配置する命令を含む、非一時的でコンピューターに読取可能な記憶媒体に関する。当該命令は以下の機能を実行させる命令であって、除外領域（ＥＲ）を有するページ上に配置するテキストラインを含む電子文書（ＥＤ）を取得するステップと、前記ページの余白に対応する第一サブパスと、当該第一サブパスとは逆方向の、前記ページ上のＥＲに対応する第二サブパスとを含む前記ページのパスを取得するステップと、前記パス及び所定の回転数に対応するフィル規則を入力したパスフィルアルゴリズムを用いて、前記所定の回転数を有する点集合である、前記余白及び前記ＥＲを除外した前記ページ上の領域を計算するステップと、前記ページ上において、前記領域を計算した後に、前記ページ上の前記ＥＲと交差し、前記テキストラインの寸法を有するラインバンドを、選択するステップと、前記領域と前記ラインバンドとの交差に基づいて、複数の区分を特定するステップと、前記複数の区分のうちの第一区分にはテキストラインの第一部分を配置し、前記複数の区分のうちの第二区分にはテキストラインの第二部分を配置して、前記ページをレンダリングするステップと、を備える。
【０００６】
一般に、ある側面によれば、本発明はページ上にテキストラインを配置するシステムに関する。当該システムは、ハードウェアプロセッサーと、前記ハードウェアプロセッサー上で実行され、テキストラインと除外領域（ＥＲ）とを含む電子文書のページ上のパスで、前記ページの余白に対応する第一サブパスと、当該第一サブパスとは逆方向の、前記ＥＲに対応する第二サブパスとを含むパスを定義するように構成された、パス生成モジュールと、前記ハードウェアプロセッサー上で実行され、前記パス及び所定の回転数に対応するフィル規則を入力したパスフィルアルゴリズムを用いて、前記所定の回転数を有する点集合である、前記余白及び前記ＥＲを除外した前記ページ上の領域を計算するように構成された、パスフィルモジュールと、前記ハードウェアプロセッサー上で実行され、前記ページ上の前記ＥＲと交差し、前記テキストラインの寸法を有するラインバンドを選択し、前記領域と前記ラインバンドとの交差に基づいて、複数の区分を特定し、前記複数の区分のうちの第一区分にはテキストラインの第一部分を配置し、前記複数の区分のうちの第二区分にはテキストラインの第二部分を配置して、前記ページをレンダリングする、ように構成される、配置モジュールと、を備える。
【０００７】
本発明のその他の特徴は以下の明細書の記載及び添付されるクレームにおいて明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】図１は本発明の一以上の実施形態におけるシステムを表すブロック図を図示する。
【図２】図２は本発明の一以上の実施形態におけるあるページを図示する。
【図３】図３は本発明の一以上の実施形態におけるフローチャートを図示する。
【図４】図４は本発明の一以上の実施形態の一例を図示する。
【図５】図５は本発明の一以上の実施形態におけるコンピューターシステムを図示する。
【発明を実施するための形態】
【０００９】
以下に、添付の図面を参照して、本発明の具体的な実施形態について、詳細に説明する。整合性を図るため、各図面における類似の要素には同様の参照符号が付加される。
【００１０】
以下の発明の詳細な説明においては、本発明のより深い理解を提供するためにいくつかの具体的詳細について説明がされる。しかし、これらの具体的詳細によらなくても本発明を実施しうることは当業者にとっては明らかであろう。その他の場面においては、不必要に複雑な説明を回避するため、周知の要素については詳細な説明が省略されている。
【００１１】
一般に、本発明の実施形態によれば、ページ上のあらゆる形をした除外領域（例えば、クリップアート、写真、動画クリップ等）の周囲にテキストを配置する際にパスフィルアルゴリズムを用いるシステム及び方法が提供される。具体的には、各ページについて、ページの余白に対応する余白サブパス及びページ上の除外領域に対応する一以上の除外領域サブパスを含むベクターパスが取得される。テキストを配置するページ上の領域が、ベクターパスを入力したパスフィルアルゴリズムを用いて計算される。さらに、テキストライン毎にラインバンドが生成され、ページ上に配置される。ラインバンドはテキストラインと同じ高さを有し、テキストラインと同じ垂直位置に位置し、ページの幅全体にわたる。ラインバンドと上記領域とが交差する結果として形成される区分においてテキストラインのテキストを配置することができる。
【００１２】
図１は本発明の一以上の実施形態におけるシステム（１００）を図示する。図１に示されるように、上記システム（１００）はページレンダリング装置（１１２）、演算装置（１０２）を含む複数の構成要素を備える。ＰＲＤ（１１２）はプリンター、電子リーダー等により構成されうる。演算装置（１０２）はパーソナルコンピューター（ＰＣ）、デスクトップコンピューター、メインフレーム、サーバー、電話、キオスク、ケーブルボックス、ＰＤＡ、電子リーダー、携帯電話、スマートフォン等により構成されうる。演算装置（１０２）とＰＲＤ（１１２）との間を直接接続しうる（例えば、ユニバーサルシリアルバス（ＵＳＢ）接続等）。また、演算装置（１０２）とＰＲＤ（１１２）とは有線及び／又は無線部分を有するネットワーク（１２０）を通じて接続しうる。
【００１３】
本発明の一以上の実施形態においては、ＰＲＤ（１１２）は演算装置（１０２）に配置される。このような実施形態においては、ＰＲＤ（１１２）は演算装置（１０２）に含まれる、ＥＤをレンダリングするためのあらゆるハードウェア及びソフトウェアの組合せに対応しうる。
【００１４】
本発明の一以上の実施形態においては、演算装置（１０２）はユーザーアプリケーションを実行する（１０４）。ユーザーアプリケーション（１０４）はユーザーによって実行されるソフトウェアアプリケーションであり、任意のページ数を有するＥＤ（例えば電子文書（１０６））を取得、入力、生成、表示及び／又は印刷するために構成される。よって、ユーザーアプリケーション（１０４）は、ワードプロセッサーアプリケーション、スプレッドシートアプリケーション、デスクトップパブリッシングアプリケーション、グラフィックスアプリケーション、写真プリントアプリケーション、インターネットブラウザー等によって構成されうる。ユーザーアプリケーション（１０４）によって新たなＥＤを生成するか及び／又は予め保存されたＥＤを取得しうる。
【００１５】
本発明の一以上の実施形態においては、ＥＤ（１０６）の各ページは一以上のテキストライン（例えば、題名、見出し、段落、一文、一単語、署名ブロック等）及び／又は０以上の除外領域（例えば、クリップアート、写真、スキャンされた画像、動画クリップ、音声クリップ等）を有する。一般に、「除外領域」という用語に該当するのは、クリップアート、写真、動画クリップ等に占められるためテキストを配置することができないページ上の領域である。よって、ＥＤ（１０６）によりページの余白、ページ上のテキストラインの位置（すなわち、座標）（明示又はより一般に黙示による）、テキストラインの寸法（例えば高さ及び／又は幅）、テキストラインのテキストのフォントタイプ、フォントスタイル、フォントサイズ、等が特定されうる。同様に、ＥＤ（１０６）により、除外領域の位置（すなわち、座標）、除外領域の寸法（すなわち、高さ、幅）等が特定されうる。ＥＤ（１０６）によって特定される除外領域の位置は、ページに関して、テキスト内のマーカーに関して、段落又は（水平位置付けのために）欄などのテキスト構造に関して、又はテキストの特定のレイアウトに従ったその他の態様に関して特定されうる。
【００１６】
本発明の一以上の実施形態においては、ＥＤ（１０６）は文書用マークアップ言語（例えば、ＯＤＦ、ＯＯＸＭＬ、ＨＴＭＬ等）を用いて表現／定義される。よって、ＥＤ（１０６）内のページ、テキストライン及び除外領域の性質／特性は（すなわち、位置、寸法、フォントサイズ、フォントスタイル、余白等）、文書用マークアップ言語のタグ内の特性として記録されうる。また、ＥＤ（１０６）の表示又は印刷を正しく行うためにこれらの性質／特性が必要となる。
【００１７】
本発明の一以上の実施形態においては、ＰＲＤ（１１２）はパス生成モジュール（１１４）を含む。パス生成モジュール（１１４）は、ＥＤ（１０６）のページ上のパス（すなわち、ベクターパス）を定義するように構成される。パスは一般にページの余白に対応する外部閉鎖サブパス（すなわち、余白サブパス）に加え、ページの除外領域に対応する一以上の閉鎖サブパス（すなわち、除外領域サブパス）を含む。本発明の一以上の実施形態においては、余白サブパス及び一以上の除外領域サブパスは矩形をしている。なお、代わりに余白サブパス及び一以上の除外領域サブパスはあらゆる形でありうる。複数の除外領域は余白サブパスと無関係である必要がなく、余白サブパスに含まれる必要もない。本発明の一以上の実施形態においては、余白サブパスと除外領域サブパスとでは逆の方向が割り当てられる。例えば、余白サブパスには反時計回り方向が割り当てられる一方、一以上の除外領域サブパスには時計回り方向が割り当てられうる。
【００１８】
本発明の一以上の実施形態においては、ＰＲＤ（１１２）はパスフィルモジュール（１１８）を含む。パスフィルモジュール（１１８）はベクターパスとフィル規則を入力し、テキストを配置することができるページ上の領域を出力するように構成される。本発明の一以上の実施形態においては、フィル規則は反時計回りに回転数＋１を有するページ上の点集合に対応する。よって、パスフィルモジュール（１１８）にはベクターパスとフィル規則に基づいて領域を計算するパスフィルアルゴリズムが含まれうる。当業者であれば、本明細書により、サブパスに割り当てられたフィル規則及び／又は方向が用いられるパスフィルアルゴリズムに応じて修正／変換される必要がありうることが理解されるであろう。
【００１９】
図２は本発明の一以上の実施形態におけるページ（２０５）を示す。図２に示すように、ページ（２０５）にはページ（２０５）の余白（２５０）に対応する余白サブパス（２１０）が含まれる。ページ（２０５）にはページ（２０５）上の複数の除外領域（すなわち、除外領域Ｉ（２２０）、除外領域ＩＩ（２２２））に対応する複数の除外領域サブパス（すなわち、除外領域サブパスＡ（２１２）、除外領域サブパスＢ（２１４）、等）が含まれる。ページ（２０５）のベクターパスには余白サブパス（２１０）及び複数の除外領域サブパス（２１２、２１４）が含まれる。上述のように、各除外領域（２２０、２２２）は、クリップアート、写真、動画クリップ等により占められるためテキストを配置することができない、ページ上のあらゆる形をした領域に対応する。また、上述のように、余白サブパス（２１０）と除外領域サブパス（２１２、２１４）とでは異なった方向が割り当てられる（すなわち、反時計回り、時計回り等）。
【００２０】
本発明の一以上の実施形態においては、領域（２０９）はパスフィルモジュール（１１８）によって計算され、ページ（２０５）上のテキストラインを配置することができる部分に対応する。具体的には、領域（２０９）はパスに関して回転数＋１を有するページ（２０５）上の各点に対応する。
【００２１】
図１に戻って、本発明の一以上の実施形態においては、ＰＲＤ（１１２）には配置モジュール（１１６）が含まれる。配置モジュール（１１６）はＥＤ（１０６）におけるテキストラインを特定し、ＥＤ（１０６）において指定される性質／特性からテキストラインの寸法（すなわち、高さ及び／又は幅）を特定及び／又は計算し、テキストラインに基づいてページ上のラインバンドを選択及び配置し（以下に詳述）、ラインバンドを用いてページ上の複数の区分を特定し（以下に詳述）、複数の区分の中にテキストラインのテキストを配置（以下に詳述）するように構成される。
【００２２】
本発明の一以上の実施形態においては、西洋言語の場合、ラインバンドはテキストラインと同じ高さを有し、テキストラインの垂直位置に対応するページ上の垂直位置に配置される、水平ストリップに対応する。よって、垂直位置は上部余白の下又は前にページ上に配置されたテキストラインの下、又はＥＤ（１０６）により特定又は計算されるあらゆる位置となりうる。
【００２３】
一方、垂直テキストレイアウトの場合（例えば特定の東洋言語）、ラインバンドはテキストラインと同じ幅を有し、テキストラインの水平位置に対応するページ上の水平位置に配置される、垂直ストリップに対応しうる。よって、水平位置は余白に隣接し、又は前にページ上に配置されたテキストラインに隣接し、又はＥＤ（１０６）により特定又は計算されるあらゆる位置となりうる。
【００２４】
本発明の一以上の実施形態においては、配置モジュール（１１６）によって特定された一以上の区分は、ラインバンドとパスフィルモジュール（１１８）によって計算された領域が交差する部分に対応する。本発明の一以上の実施形態においては、複数の区分の中にテキストラインのテキストを配置するには、言語の規則に従ってテキストラインを分割することが必要となる（例えば、改行、ハイフンに関する規則等）。
【００２５】
図３は本発明の一以上の実施形態に関する処理を説明するフローチャートを示す。図３に図示される処理は図１を参照して上述したシステム（１００）を用いて実現しうる。本発明の異なった実施形態においては、図３に示される一以上のステップは省略、反復及び／又は異なった順序で実行しうる。よって、本発明の実施形態は図３に示される、各ステップの具体的な順序及び配列に限定されるとすべきではない。
【００２６】
まず、ＥＤが取得される（ステップ３０２）。ＥＤはＥＤのページ上に配置される一以上のテキストラインを有する。また、ページにはテキストを配置することができないページ上の領域に対応する一以上の除外領域が含まれうる。除外領域はクリップアート、写真、動画クリップ又はその他のメディアによって占められうる。
【００２７】
上述のように、ＥＤ（１０６）は文書用マークアップ言語（例えばＯＤＦ、ＯＯＸＭＬ等）を用いて表現／定義されうる。よって、ＥＤ（１０６）におけるページ、テキストライン及び除外領域の性質（すなわち、特性）は（すなわち、位置、寸法、フォントサイズ、フォントスタイル、余白等）、文書用マークアップ言語のタグ内の特性として記録されうる。
【００２８】
ステップ３０４において、ページのベクターパスが取得される。ベクターパスにはページの余白に対応する余白サブパスが含まれる。また、ベクターパスにはページ上の一以上の除外領域に対応する一以上の除外領域サブパスが含まれる。上述のように、複数の除外領域は余白サブパスと無関係である必要はなく、余白サブパスに含まれる必要もない。また、本発明の一以上の実施形態においては余白サブパスと除外領域サブパス（又は複数の除外領域サブパス）とでは逆の方向が割り当てられる。例えば、余白サブパスには反時計回り方向が割り当てられるのに対して、一以上の除外領域サブパスには時計回り方向が割り当てられうる。
【００２９】
ステップ３０６において、ベクターパスに基づいて余白及び除外領域（又は複数の除外領域）を除いたページ上の領域が計算される。具体的には、当該領域はベクターパス及びフィル規則を入力したフィルパスアルゴリズムの出力である。余白サブパスに反時計回り方向が割り当てられ、一以上の除外領域に時計回り方向が割り当てられる本発明の実施形態においては、フィル規則は回転数＋１を有するページ上の点集合に対応する。
【００３０】
ステップ３０８において、ＥＤのテキストラインが選択される。また、選択されたテキストラインに対応するラインバンドがページ上に配置される。本発明の一以上の実施形態において、ラインバンドはテキストラインの対応する寸法に合致する寸法（例えば、高さ及び／又は幅）を有する。例えば、水平ラインバンドの場合、水平ラインバンドの高さがテキストラインの高さに対応する。垂直ラインバンドの場合、垂直ラインバンドの幅がテキストラインの幅に対応する。また、ページ上の水平／垂直ラインバンドの位置はページ上のテキストラインの水平／垂直位置に対応する。例えば、位置はページの余白の下／隣又は前に配置されたテキストラインの下／隣、又はＥＤによって特定されたあらゆる位置としうる。
【００３１】
ステップ３１０において、ページ上の一以上の区分が特定される。具体的には、一以上の区分は、領域とラインバンドとの間で交差の処理を実行することによって特定される（すなわち、区分（又は複数の区分）＝領域∩ラインバンド）。当業者であれば、本明細書により、ラインバンドが一以上の除外領域と交差する場合、交差の処理により複数の区分（すなわち、除外領域（又は複数の除外領域）の両側の区分）が作成されるであろうことを理解するであろう。同様に、ラインバンドがいずれの除外領域も交差しない場合、交差の処理により余白の内側にページにわたって一区分のみが作成されるであろう。
【００３２】
ステップ３１２において、ラインバンドに対応する、ページ上の部分は区分毎にテキストラインのテキストを配置することによってレンダリングされる。よって、改行、ハイフン等の規則に基づいてテキストを分割する必要がありうる（すなわち、第一区分にはテキストの第一部、第二区分にはテキストの第二部等）。規則はテキストラインのテキストの言語及びＥＤに特定されたパラメーターによるので、これらに応じて異なったものとなる。
【００３３】
ステップ３１４において、ＥＤがさらにページ上に配置するテキストラインを有するかが判断される。ＥＤがさらにページ上に配置するテキストラインを有すると判断されると、処理はステップ３０８に戻る。全てのテキストラインが配置されたと判断されると、処理は終了する。
【００３４】
図３では一つのステップ（すなわち、ステップ３０６）において領域全体の計算を実行するとしているが、当業者であれば、本明細書により、本発明のその他の実施形態においては、領域が複数のステップにおいて計算しうることを理解するであろう。具体的には、特定のテキストラインについては、テキストラインに対応するラインバンドの周辺の範囲内における領域の区分についてのみ計算が実行される。そして、交差の処理は直近に計算された区分及びラインバンドを用いて実行される。
【００３５】
図４は本発明の一以上の実施形態における一例を示す。具体的には、図４はＥＤ（図示せず）のページ（４０５）を示す。ページ（４０５）は余白（４８０）及び複数の除外領域（すなわち、除外領域Ｉ（４２０）、除外領域ＩＩ（４２２））を有する。上述のように、除外領域はクリップアート、写真、動画クリップ又はその他の種類のメディアによって占められる、ページ（４０５）上の領域に対応し、除外領域は通常テキストを配置することができないページ上の領域である。ページ（４０５）上の領域（４０９）は余白サブパス（４１０）及び複数の除外領域サブパス（すなわち、除外領域サブパスＡ（４１２）、除外領域サブパスＢ（４１４））を含むベクターパスを入力したパスフィルアルゴリズムによって計算される。上述のように、領域（４０９）はテキストを配置することができるページ（４０５）上の領域に対応する。
【００３６】
引き続き図４の例を参照すると、ＥＤ（図示せず）には複数のテキストラインが含まれる。テキストラインの高さ及び位置（すなわち、座標）はＥＤにおいて明確に特定されるか、ＥＤの数値から計算されうる。ラインバンドＡ（４５０）はＥＤ内のテキストライン（「テキストラインＡ」）に対応する。具体的には、ラインバンドＡ（４５０）の垂直位置（すなわち、ｙ０、ｙ１）はテキストラインＡの垂直位置に対応する。ラインバンドＡ（４５０）の高さ（すなわち、|ｙ１−ｙ０|）はテキストラインＡの高さに対応する。図４に示すように、ラインバンドＡ（４５０）は除外領域Ｉ（４２０）にわたる。図４に示すように、ラインバンドＡ（４５０）と領域（４０９）が交差する結果、区分Ａ（４５２）と区分Ｂ（４５４）が形成され、これらは除外領域Ｉ（４２０）の両側に位置する。よって、テキストラインＡの第一部分は区分Ａ（４５２）に配置され、テキストラインＡの第二部分は区分Ｂ（４５４）に配置されうる。テキストラインＡを第一部分と第二部分とに分割する点は区分Ａ（４５２）及び区分Ｂ（４５４）の幅並びにテキストラインの言語の改行及びハイフンに関する規則に基づく。
【００３７】
ラインバンドＢ（４５６）はＥＤ内のテキストライン（「テキストラインＢ」）に対応する。具体的には、ラインバンドＢ（４５６）の垂直位置（すなわち、ｙ２、ｙ３）はテキストラインＢの垂直位置に対応する。ラインバンドＢ（４５６）の高さ（すなわち、|ｙ３−ｙ２|）はテキストラインＢの高さに対応する。図４に示すように、ラインバンドＢ（４５６）はいずれの除外領域（４２０、４２２）にもわたらない。よって、ラインバンドＢ（４５６）と領域（４０９）が交差する結果、区分Ｃ（４５８）が形成され、区分Ｃ（４５８）は余白（４８０）の内側のページ全体にわたる。よって、テキストラインＢのテキストは区分Ｃ（４５８）に配置される。
【００３８】
本発明の実施形態において、一以上の、以下にあげられる効果が認められる：テキストレイアウトの問題をパスフィルの問題と考えることによって解決することが可能となる、公知のパスフィルアルゴリズムを用いて画像やグラフィック等の他のオブジェクトの周囲に密接してテキストをレイアウトすることが可能となる、任意の形を有するオブジェクトの周囲にテキストをレイアウトする方法を判断する際にエラーが発生しやすいアルゴリズムの使用を回避することが可能となる等。
【００３９】
本発明の実施形態は、用いられるプラットフォームを問わず、事実上あらゆる種類のコンピューターにおいて実現することができる。例えば、図５に示すように、コンピューターシステム（５００）には、一以上のプロセッサー（又は複数のプロセッサー）（５０２）、関連するメモリー（５０４）（例えば、ランダムアクセスメモリー（ＲＡＭ）、キャッシュメモリー、フラッシュメモリー等）、記憶装置（５０６）（例えば、ハードディスク、コンパクトディスクドライブやデジタルビデオディスク（ＤＶＤ）ドライブ等の光学ドライブ、フラッシュメモリースティック等）及び現在のコンピューター（図示せず）において一般的ないくつかのその他の要素及び機能が含まれる。本発明の一以上の実施形態においては、プロセッサー（５０２）はハードウェアである。例えば、プロセッサーは集積回路でありうる。コンピューターシステム（５００）はキーボード（５０８）、マウス（５１０）、又はマイクロフォン（図示せず）等の入力手段を有しうる。また、コンピューターシステム（５００）はモニター（５１２）（例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、ブラウン管（ＣＲＴ）モニター等）等の出力手段を有しうる。コンピューターシステム（５００）はネットワークインターフェース接続（図示せず）を介してネットワーク（５１４）（例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネット等のワイドエリアネットワーク（ＷＡＮ）、又はその他の種類のネットワーク）に接続されうる。本発明の一以上の実施形態においては、様々な種類のコンピューターシステムが存在し、上述の入力及び出力手段はその他の形式を取りうる。一般に、コンピューターシステム（５００）は少なくとも本発明の実施形態を実施するのに必要な最低限の処理、入力及び／又は出力手段を有する。
【００４０】
さらに、本発明の一以上の実施形態においては、上述のコンピューターシステム（５００）の一以上の要素は遠隔地に位置し、ネットワーク上で他の要素と接続しうる。また、本発明の実施形態は複数のノードを有する分散システムにおいて実現することができ、本発明の各部分（例えば、データ構造、変換モジュール、レイアウトエンジン等）は分散システム内の異なるノードに配置されうる。本発明のある実施形態においては、ノードはコンピューターシステムに対応する。また、ノードは関連する物理メモリーを有するプロセッサーに対応しうる。また、ノードは共有メモリー及び／又は資源を有するプロセッサー又はプロセッサーのマイクロコアに対応しうる。さらに、本発明の実施形態を実行するためのコンピューターに読取可能なプログラムコードの形式であるソフトウェア命令を、コンパクトディスク（ＣＤ）、ディスケット、パンチカード、テープ、メモリー、又はその他のコンピューターに読取可能な記憶装置等の非一時的な、コンピューターに読取可能な記憶装置に一時的に又は永久に保存することができる。
【００４１】
本発明は限られた数の実施形態により説明されたが、当業者は本明細書により本発明の範囲を逸脱することなく、その他の実施形態を考案することが可能であることを理解するであろう。よって、本発明の範囲は添付されたクレームのみによって限定される。
【図１】
0005612556.tif 000002
【図２】
0005612556.tif 000003
【図３】
0005612556.tif 000004
【図４】
0005612556.tif 000005
【図５】
0005612556.tif 000006