説明

表のセルの高さを決定する方法、コンピューター読取可能媒体及びシステム

【課題】セルと表が全体として適切にレンダリングされるように表を管理する。
【解決手段】最下行と、第1の積重ね行と、を有する表を備える文書を取得する工程と、前記第1の積重ね行において、高さの初期値を有する複数の第1の中間セルを特定する工程と、レイアウトエンジンを用いて、前記複数の第1の中間セル内のそれぞれのデータアイテムに基づいて、前記複数の第1の中間セルのそれぞれの全体垂直寸法を算出する工程と、前記複数の全体垂直寸法から最大全体垂直寸法を特定する工程と、前記最大全体垂直寸法が前記高さの初期値を超える場合、前記複数の第1の中間セルのそれぞれの高さ属性を前記最大全体垂直寸法に設定する工程と、前記最大全体垂直寸法と前記高さの初期値の第1の差分だけ、前記最下行を下へ移動させる工程と、前記最下行を下へ移動させる工程の後に、前記表を備える前記文書のページをレンダリングする工程と、を備える方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表のセルの高さを決定する方法、コンピューター読取可能媒体及びシステムに関する。
【背景技術】
【0002】
電子文書(ED)は、あらゆる数のページ数を有し、一以上の表を含んでいる場合がある。このような電子文書は、表内の行数、列数、各セル(又は行)の初期高さ又はデフォルト高さ、各セル(又は列)の初期幅又はデフォルト幅及び各セルの結合属性(すなわち、行スパン、列スパン)を指定する。また電子文書は、表のセルに含まれるデータアイテム(すなわち、テキスト、画像、形状など)を特定する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
表内のセルの最終的な高さ(すなわち、表示時の高さ又は印刷時の高さ)は、(1)電子文書によって指定されていれば、電子文書によって指定される初期高さ又はデフォルト高さ、(2)電子文書によって指定されるセルの結合属性、(3)同じ行のその他のセルの高さ、(4)セルに含まれるデータアイテム(すなわち、テキスト、画像、形状など)の寸法及び位置、に基づく。通常、形状、グラフィックス、画像の寸法は、電子文書によって指定される。しかし、形状、グラフィックス及び画像がこれらを含むセルの全体的なサイズに与える具体的な影響は、当該形状、グラフィックス及び画像のそれぞれのセル内での配置(すなわち、レイアウト)によって異なる。また、レイアウトされるテキストの寸法は、フォントタイプ、フォントサイズ、フォントスタイル、レイアウトエンジンによって用いられるアルゴリズムなどに依存するため、電子文書はレイアウトされるテキストの寸法を完全には指定しない。
【0004】
電子文書によって指定されるように表をレイアウトするのは、ページレンダリングデバイス(PRD)の担当である。したがってページレンダリングデバイスは、セルの最終的な高さを算出する際に、上記(1)から(4)を考慮する必要がある。しかし、上記(4)は(前述したように)電子文書において完全に指定されるものではない。そこで、セルと表が全体として適切にレンダリングされるように、上記(4)を他の手段を用いて決定し、上記(1)から(3)と共に用いる必要がある。
【課題を解決するための手段】
【0005】
主として、一側面において、本発明は表を管理する方法に関する。
該方法は、
最下行と、第1の積重ね行と、を有する表を備える文書を取得する工程と、
前記第1の積重ね行において、高さの初期値を有する複数の第1の中間セルを特定する工程と、
レイアウトエンジンを用いて、前記複数の第1の中間セル内のそれぞれのデータアイテムに基づいて、前記複数の第1の中間セルのそれぞれの全体垂直寸法を算出する工程と、
前記複数の全体垂直寸法から最大全体垂直寸法を特定する工程と、
前記最大全体垂直寸法が前記高さの初期値を超える場合、前記複数の第1の中間セルのそれぞれの高さ属性を前記最大全体垂直寸法に設定する工程と、
前記最大全体垂直寸法と前記高さの初期値の第1の差分だけ、前記最下行を下へ移動させる工程と、
前記最下行を下へ移動させる工程の後に、前記表を備える前記文書のページをレンダリングする工程と、
を備える。
【0006】
主として、一側面において、本発明は表を管理するための指示を記憶する非一時的コンピューター読取可能記憶媒体に関する。
該指示は、
最下行と、第1の積重ね行と、を有する表を備える文書を取得するための指示と、
前記第1の積重ね行において、高さの初期値を有する複数の第1の中間セルを特定するための指示と、
レイアウトエンジンを用いて、前記複数の第1の中間セル内のそれぞれのデータアイテムに基づいて、前記複数の第1の中間セルのそれぞれの全体垂直寸法を算出するための指示と、
前記複数の全体垂直寸法から最大全体垂直寸法を特定するための指示と、
前記最大全体垂直寸法が前記高さの初期値を超える場合、前記複数の第1の中間セルのそれぞれの高さ属性を前記最大全体垂直寸法に設定するための指示と、
前記最大全体垂直寸法と前記高さの初期値の第1の差分だけ、前記最下行を下へ移動させるための指示と、
前記最下行を下へ移動させた後に、前記表を備える前記文書のページをレンダリングするための指示と、
を備える。
【0007】
主として、一側面において、本発明は表を管理する指示を記憶するシステムに関する。
該システムは、
ハードウェアプロセッサーと、
前記ハードウェアプロセッサーに動作可能に接続されるメモリーと、
前記ハードウェアプロセッサーに記憶される複数の指示と、
を備え、
前記指示は、
前記複数の全体垂直寸法から最大全体垂直寸法を特定するための指示と、
前記最大全体垂直寸法が前記高さの初期値を超える場合、前記複数の第1の中間セルのそれぞれの高さ属性を前記最大全体垂直寸法に設定するための指示と、
前記最大全体垂直寸法と前記高さの初期値の第1の差分だけ、前記最下行を下へ移動させるための指示と、
前記最下行を下へ移動させた後に、前記表を備える前記文書のページをレンダリングするための指示と、
を備える。
【0008】
本発明のその他の側面は、以下の説明及び添付の特許請求の範囲から明らかである。
【図面の簡単な説明】
【0009】
【図1】本発明の一以上の実施形態に係るセルの高さを決定するシステムのブロック図を示す。
【図2A】本発明の一以上の実施形態に係る表及びセルの例を示す。
【図2B】本発明の一以上の実施形態に係る表及びセルの例を示す。
【図3】本発明の一以上の実施形態に係るセルの高さを決定する方法のフローチャートを示す。
【図4】本発明の一以上の実施形態に係るセルの高さを決定する方法のフローチャートを示す。
【図5】本発明の一以上の実施形態に係るコンピューターシステムの図を示す。
【発明を実施するための形態】
【0010】
本発明の具体的な実施形態を、添付の図面を参照して詳細に説明する。複数の図に示される同様の構成要素は、一貫性を保つために同様の参照符号で示す。
【0011】
以下の本発明に係る実施形態の詳細な説明には、本発明についてより完全な理解を提供するため、数多くの詳細を示す。しかし、当業者にとっては、これらの詳細を用いずとも、本発明の実施が可能であることは明らかであろう。他の例においては、不要に複雑な説明となるのを避けるため、周知の特徴に関しては詳細な説明は省略する。
【0012】
主として、本発明の実施形態は、表内のセルの高さを決定するシステム及び方法に関する。セルの高さは、電子文書(ED)によって指定されるセルの初期高さ又はデフォルト高さ、行スパンなどセルの結合属性、同じ行のその他のセルの高さ、セル内に含まれるデータアイテムの寸法、に基づく。データアイテムの寸法はレイアウトエンジンを用いて算出され、その他の要素と共に使用されてセルの高さを決定する。
【0013】
図1は、本発明の一以上の実施形態に係るシステム100を示す。図1に示されるように、システム100は、ページレンダリングデバイス(PRD)104と、コンピューターデバイス103とを含む、複数の構成要素を備える。ページレンダリングデバイス104は、例えば、プリンター、電子読取装置などである。コンピューターデバイス103は、パーソナルコンピューター(PC)、デスクトップコンピューター、汎用コンピューター、サーバー、電話、公共電話ボックス、ケーブルボックス、携帯情報端末(PDA)、携帯電話、スマートフォンなどである。コンピューターデバイス103とページレンダリングデバイス104は、直接的に接続されてもよい(例えば、ユニバーサルシリアルバス(USB)接続など)。あるいは、コンピューターデバイス103とページレンダリングデバイス104は、有線部分及び/又は無線部分を有するネットワーク110を用いて接続されてもよい。
【0014】
本発明の一以上の実施形態において、ページレンダリングデバイス104はコンピューターデバイス103上に位置する。このような実施形態では、ページレンダリングデバイス104は、コンピューターデバイス103上の、電子文書のページをレンダリングするためのハードウェアとソフトウェアの組み合わせに対応する。
【0015】
本発明の一以上の実施形態において、コンピューターデバイス103はユーザーアプリケーション101を実行する。ユーザーアプリケーション101はユーザーによって操作されるソフトウェアアプリケーションであり、電子文書102を取得、入力、生成、表示及び/又は印刷するように構成されている。したがって、ユーザーアプリケーション101は、ワードプロセッシングアプリケーション、表計算アプリケーション、デスクトップパブリッシングアプリケーション、グラフィックアプリケーション、写真印刷アプリケーション、インターネットブラウザーなどである。ユーザーアプリケーション101は、新たな電子文書を生成及び/又は事前に保存した電子文書を取得する。本発明の一以上の実施形態において、電子文書102は一以上の表を含む(後述)。
【0016】
図2Aは、本発明の一以上の実施形態に係る表200を示す。表200は、電子文書(例えば、図1を参照して説明した電子文書102)によって指定される表である。図2Aに示すように、表200は、最下行D(214)と、最下行D(214)の上に配置される複数の行(すなわち、積重ね行A(211)、積重ね行B(212)、積重ね行C(213))を含む。表200は、一以上の列(すなわち、列1(215)、列2(216)、列3(217)、列4(218))も含む。行(211、212、213、214)と列(215、216、217、218)の交点はセルと呼ばれる。また各セルは、行を示す文字と列を示す数字によって一義的に特定される。例えば、セルA1は表200における左上のセルである。同様に、セルD4は表200における右下のセルである。
【0017】
図2Aに示されるように、表200は16個のセルを含む。本発明の一以上の実施形態において、各セル、行、列及び/又は表の属性は電子文書において指定される。セル属性には、セルの初期高さ又はデフォルト高さ、初期幅又はデフォルト幅、位置(すなわち、座標)、行スパン(後述)、列スパン(後述)、データアイテムなどが含まれる。同様に、行属性には行の高さ及び位置が含まれ、列属性には列の幅及び位置が含まれる。本詳細な説明の恩恵に浴する当業者であれば、行又は列のいくつかの属性を指定することにより、当該行又は列のセルの属性が余剰となることを理解するであろう。例えば、セルの初期高さ又はデフォルト高さは当該セルを有する行の高さに対応する。したがって、行の高さが指定されればセルの初期高さ又はデフォルト高さは知られるところとなり、別途指定される必要はない。
【0018】
本発明の一以上の実施形態において、一のセルは、実質的に複数の行及び/又は列に存在する既存セルを覆いながら、当該複数の行及び/又は列に及ぶことが可能である。このような実施形態においては、実質的に一のセルが既存セルと結合し、当該一のセルが及ぶ行数/列数は、その一のセルの結合属性(すなわち、行スパン、列スパン)によって指定される。本発明の一以上の実施形態において、一のセルと、当該一のセルに覆われた既存セルは、「セルブロック」と呼ばれる。前記一のセルは、セルブロックの「開始セル」と呼ばれる。また、セルブロックの最下行にあり、かつ、開始セルと水平方向に整列している既存セルは、「終了セル」と呼ばれる。本発明の一以上の実施形態において、セルブロック内の既存セルの属性を、開始セルから独立して設定することが可能である。しかし、既存セルのコンテンツは、開始セルのコンテンツによって覆われる場合がある。
【0019】
図2Aに示されるように、セルB2とセルC2はセルブロック1(205)を形成する。B2(201)はセルブロック1(205)の開始セルである。したがって、セルB2の結合属性は、セルB2の行スパン(すなわち、「2」)と列スパン(すなわち、「1」)を指定する。また、C2(202)はセルブロック1(205)の最下行にあり、かつ、開始セルB2(201)と水平方向に整列しているので、セルC2(202)はセルブロック1(205)の終了セルである。
【0020】
他の例としては、図2Aに示されるように、セルC3(203)、セルC4(208)、セルD3(204)、セルD4(209)は、セルブロック2(206)を形成する。セルC3(203)はセルブロック2(206)の開始セルである。したがって、セルC3(203)の結合属性は、セルC3(203)の行スパン(すなわち、「2」)と列スパン(すなわち、「2」)を指定する。また、D3(204)はセルブロック2(206)の最下行にあり、かつ、開始セルC3(230)と水平方向に整列しているので、セルD3(204)はセルブロック2(206)の終了セルである。開始セルB2(201)と開始セルC3(203)は、それぞれのセルブロック(205、206)の一番上左端のセルに対応する。
【0021】
本発明の一以上の実施形態において、表200内の開始セル(201、203)を除く全てのセルは中間セルと呼ばれる(例えば、中間セルD2(210)、中間セルC4(208)、中間セルD4(209)など)。このような実施形態において、終了セル(202、204)は特殊なタイプの中間セルである。
【0022】
図2Bは、本発明の一以上の実施形態に係る表200を示す。図2Bに示されるように、表200の一以上のセルはデータアイテム(例えば、テキスト、画像など)を含む。例えば、セルA1はデータアイテム298を、セルD1はデータアイテム299を、開始セルB2はデータアイテム211を、開始セルC3はデータアイテム207を有する。また、図2Aに示されるように、開始セルB2のデータアイテム211と、開始セルC3のデータアイテム207は、それぞれのセルブロック(205、206)のその他のセルのコンテンツを覆っている。
【0023】
通常、形状、グラフィックス、画像の寸法は、電子文書によって指定される。しかし、形状、グラフィックス及び画像がこれらを含むセルの全体的なサイズに与える具体的な影響は、当該形状、グラフィックス及び画像のそれぞれのセル内での配置(すなわち、レイアウト)によって異なる。また、レイアウトされるテキストの寸法は、フォントタイプ、フォントサイズ、フォントスタイル、レイアウトエンジンによって用いられるアルゴリズムなどに依存するため、電子文書はレイアウトされるテキストの寸法を完全には指定しない。よって、データアイテム(207、211、298、299)の高さ、幅及び/又は配置は、当該データアイテムを含むセルの高さ及び/又は幅に影響する。したがって、場合によっては、配置(すなわち、レイアウト)されたデータアイテムがセル内に収容されるように、また、データアイテムが正確に表示/印刷されるように、セルの高さ及び/又は幅を増加させる(すなわち、高い値を設定する)必要がある。
【0024】
本発明の一以上の実施形態において、電子文書102は、文書マークアップ言語(例えば、ODF、OOXMLなど)を用いて表される/定義される。したがって、電子文書102の表、行、列及び/又はセルの属性(すなわち、行数、列数、高さ、幅、行スパン、列スパン、データアイテムなど)は、文書マークアップ言語のタグを用いて指定される。これらの特性/属性は、表示又は印刷するために電子文書102を正しくレンダリングをするのに必要である。
【0025】
本発明の一以上の実施形態において、ページレンダリングデバイス104はレイアウトエンジン106を含む。レイアウトエンジン106は、概念的ページ(例えば、用紙、トランスペアレンシー、マイクロフィルム、ページ画像を表示するコンピューターモニター上の領域、電子ブックリーダーなど)上での、表、列、行、セル及びデータアイテムの位置及びサイズを算出するように構成されている。本発明の一以上の実施形態において、レイアウトエンジン106は、表のセル内に含まれるデータアイテムの垂直寸法(すなわち、高さ)、水平寸法(すなわち、幅)及び位置(すなわち、座標)を算出するように構成されている。したがってレイアウトエンジン106は、セル内のデータアイテムを適切にレンダリングするためにセルの正確なサイズを決定するのに必要である。
【0026】
本発明の一以上の実施形態において、ページレンダリングデバイス104は表モジュール105を含む。表モジュール105は、電子文書102から、電子文書102によって指定される表、行、列、セル及び/又はデータアイテムの属性を特定し、(例えば、データ構成に)記録するように構成されている。本発明の一以上の実施形態において、表モジュール105は、一以上の属性の新たな値を算出及び/又は(例えば、レイアウトエンジン106によって算出された)更新された値を記録する。
【0027】
図3は、本発明の一以上の実施形態に係る方法のフローチャートを示す。図3に示される処理は、表を有する電子文書のページをレンダリングするために用いられる。また図3に示される処理は、図1を参照して説明したシステム100を用いて実行される。図3に示される一以上のステップは、本発明の異なる複数の実施形態において、省略、繰り返し及び/又は異なる順番で実行されてもよい。よって、本発明の実施形態は、図3に示されるステップの数や順番に制限されると見なされるべきではない。
【0028】
まず、表を有する電子文書を取得する(ステップ302)。電子文書は、文書マークアップ言語(例えば、ODF、OOXMLなど)を用いて表される/定義される。したがって、電子文書の表、行、列及び/又はセルの属性(すなわち、行数、列数、高さ、幅、行スパン、列スパン、データアイテムなど)は、文書マークアップ言語のタグを用いて指定される。
【0029】
ステップ304において、セルの高さの初期値又はデフォルト値を判定する。セルの高さの初期値は、セルの属性として電子文書に記録されている。本発明の一以上の実施形態において、行の各セルの高さの初期値は、その行の高さに対応する。
【0030】
ステップ306において、各セルの行スパンと列スパンを判定する。前述したように、表内の中間セルは、一行一列を占有する。一方、表内の開始セルは、実質的に近傍の行及び/又は列のセルと結合する(すなわち、近傍の行及び/又は列のセルに及ぶ)。本発明の一以上の実施形態において、セルの行スパンと列スパンは、セルの結合属性から特定される。よって、表内の開始セルと中間セルは、これらセルの結合特性を調べることで特定される。また、開始セルが、対応する終了セルの下端まで拡大するように、各開始セルの高さを増加させる必要がある。
【0031】
ステップ308において、セル内のデータアイテムに基づいて、セルの全体垂直寸法と全体水平寸法を算出する。前述したように、データアイテムは、テキスト、画像、グラフィックス又はこれらいずれかの組み合わせに対応する。同じく前述したように、通常、形状、グラフィックス、画像の寸法は、電子文書によって指定される。しかし、形状、グラフィックス及び画像がこれらを含むセルの全体的なサイズに与える具体的な影響は、当該形状、グラフィックス及び画像のそれぞれのセル内での配置(すなわち、レイアウト)によって異なる。また、レイアウトされるテキストの寸法は、フォントタイプ、フォントサイズ、フォントスタイル、レイアウトエンジンによって用いられるアルゴリズムなどに依存するため、電子文書はレイアウトされるテキストの寸法を完全には指定しない。そこで、レイアウトエンジン(例えば、図1を参照して説明したレイアウトエンジン106)を用いて、データアイテムを配置(すなわち、レイアウト)し、各セルの全体垂直寸法と全体水平寸法を算出する。
【0032】
ステップ310において、変数Kを「表の行数」に設定する。ステップ312において、行Kを処理する。すなわち、表内の各セルの寸法と位置を算出する。行の処理については、図4を用いて説明する。ステップ314において、「K=1」であるか否か判定する。「K=1」と判定された場合、処理はステップ318へ進む。一方、「K<>1」(すなわち、「K≠1」)と判定された場合、処理はステップ316へ進み、Kはデクリメントされ、ステップ312へ戻る。本詳細な説明の恩恵に浴する当業者であれば、ステップ310、312、314、316により、表の最下行が最初に処理され、その後、下から二行目、下から三行目などと、一行目まで処理されることを理解するであろう。
【0033】
ステップ318において、算出されたセルの位置及びサイズに基づいて、表を有するページをレンダリングする。その結果、当該ページは(電子リーダー又はモニター上に)表示又は(用紙、マイクロフィッシュなどに)印刷される。
【0034】
図4は、本発明の一以上の実施形態に係る方法のフローチャートを示す。図4に示される処理は、表の行を処理するため(すなわち、図3のステップ312)に用いられる。よって、図4に示される処理は、一の表に対して複数回実行される。また図4に示される処理は、図1を参照して説明したシステム100を用いて実行される。図4に示される一以上のステップは、本発明の異なる複数の実施形態において、省略、繰り返し及び/又は異なる順番で実行されてもよい。よって、本発明の実施形態は、図4に示されるステップの数や順番に制限されると見なされるべきではない。
【0035】
まず、現在行で最も大きい(すなわち、最大の)全体垂直寸法(最大全体垂直寸法)を有する中間セルを特定する(ステップ401)。前述したように、中間セルは、セルの結合属性(例えば、行スパン、列スパン)に基づいて、表内の開始セルと区別される。同じく前述したように、セルの全体垂直寸法と全体水平寸法は、レイアウトエンジンを用いてデータアイテム(すなわち、テキスト、グラフィックスなど)をセル内に配置(すなわち、レイアウト)することによって算出される。したがって、最大全体垂直寸法は、現在行の全ての中間セルについて算出された全体垂直寸法を比較し、最大全体垂直寸法を有する中間セルを選択することによって特定される。
【0036】
前述したように、通常、電子文書において指定される一行の全てのセルの高さの初期値は同じであり、その行の初期高さとして指定される。ステップ402において、最大全体垂直寸法が現在行の初期高さを超えるか否か判定する。最大全体垂直寸法が現在行の初期高さを超えると判定された場合、処理はステップ403へ進む。一方、最大全体垂直寸法が現在行の初期高さを超えないと判定された場合、処理はステップ405へ進む。
【0037】
ステップ403において、現在行の全ての中間セルの高さを、最大全体垂直寸法に設定する。すなわち、現在行の全ての中間セルの高さ属性を、最大全体垂直寸法に設定(すなわち、更新)する。
【0038】
ステップ404において、現在行の初期高さと最大全体垂直寸法の差分を算出する。そして、現在行よりも下の全ての行を、算出された差分だけ下へ移動させる。本発明の一以上の実施形態において、現在行よりも下の全ての行の全てのセルの位置属性を、算出された差分だけ増加させる。本詳細な説明の恩恵に浴する当業者であれば、現在行が表の最下行である場合、ステップ404は省略可能であることを理解するであろう。
【0039】
本発明の一以上の実施形態において、現在行よりも下の行の中間セルがセルブロックの終了セルである場合、対応する開始セルの高さを増加させ、開始セルの下端と終了セルの下端を揃える。
【0040】
ステップ405において、現在行が少なくとも一の開始セルを含むか否か判定する。現在行が少なくとも一の開始セルを含むと判定された場合、処理はステップ406へ進む。一方、現在行が開始セルを含まないと判定された場合、処理は終了する。前述したように、セルブロックの開始セルは、当該開始セルの結合属性に基づいて特定される。
【0041】
ステップ406において、現在行の各開始セルについて、開始セルの全体垂直寸法が当該開始セルの現在の高さを超える場合、開始セルの高さをその開始セルの全体垂直寸法に設定する。前述したように、開始セルの全体垂直寸法は、レイアウトエンジンを用いて算出され、開始セル内のデータアイテムに基づく。
【0042】
ステップ407において、現在行の各開始セルについて、開始セルの下端と、セルブロック内の対応する終了セルの下端を揃える。本発明の一以上の実施形態において、この揃えには、終了セルの下端から現在行にある開始セルの下端までの差分の算出が含まれる。算出された差分が0の場合、揃えは不要である。算出された差分が0を超える場合、開始セルの高さを増加させて、開始セルの下端と終了セルの下端を揃える。
【0043】
算出された差分が0未満の場合、終了セルと同じ行にある全てのセルの高さを、算出された差分の絶対値(すなわち、|算出された差分|)分、増加させる。また、(1)終了セルと同じ行にあり、(2)他のセルブロック(セルブロックX)の終了セルである各セルについて、セルブロックXの開始セルの高さを増加させ、セルブロックXの開始セルの下端と終了セルの下端を揃える。その後、終了セルを有する行よりも下の全ての行を、算出された差分だけ下に移動させる(すなわち、ステップ404と同様)。
【0044】
本発明の実施形態によると、本発明は、様々な寸法のデータアイテムを含むセルを有する表をレンダリングする能力、セルを有する表をレンダリングする際に、セルの初期高さ又はデフォルト高さ、セルの結合特性、同じ行のその他のセルの高さ、セル内のデータアイテムの垂直寸法、を考慮する能力、などのうち、少なくとも一以上の利点を有する。
【0045】
本発明の複数の実施形態は、用いられているプラットフォームに係らず、実質的に、あらゆるタイプのコンピューターに実装可能である。例えば、図5に示されるように、コンピューターシステム500は、一以上のハードウェアプロセッサー502(中央処理装置(CPU)、集積回路など)と、関連するメモリー504(例えば、ランダムアクセスメモリー(RAM)、キャッシュメモリー、フラッシュメモリーなど)と、記憶デバイス506(例えば、ハードディスク、コンパクトディスクドライブやデジタルビデオディスク(DVD)ドライブなどの光学ドライブ、フラッシュメモリースティックなど)と、その他多くの構成要素を含み、今日のコンピューター(図示なし)の有する一般的な機能を備える。コンピューターシステム500は、キーボード508、マウス510、マイクロフォン(図示なし)などの入力手段も含んでもよい。また、コンピューターシステム500は、モニター512(例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、ブラウン管(CRT)モニターなど)や音声スピーカー(図示なし)などの出力手段も含んでもよい。コンピューターシステム500は、ネットワークインターフェース接続(図示なし)を介して、ネットワーク514(例えば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、その他のタイプのネットワーク)に接続してもよい。当業者であれば、多くの異なるタイプのコンピューターシステムが存在し、前記の入力手段及び出力手段は他の形態を取ってもよいことを理解するであろう。概括して言えば、コンピューターシステム500は、少なくとも、本発明の実施形態を実施するために必要な、必要最低限の処理と、入力手段及び/又は出力手段を備える。
【0046】
また、本発明の一以上の実施形態において、前述したコンピューターシステム500の一以上の構成要素は遠隔に位置し、ネットワークを介して、その他の構成要素と接続してもよい。また、本発明の複数の実施形態は、複数のノードを有する分散システムに実装されてもよく、本発明の各部(例えば、コンピューターデバイス103、レイアウトエンジン104など)は、分散システム内の異なるノードに位置してもよい。本発明の一実施形態において、ノードはコンピューターシステムに対応する。あるいは、ノードは関連する物理メモリーを有するプロセッサーに対応する。または、ノードは共有メモリー及び/又は共有資源を有するプロセッサー又はプロセッサーのマイクロコアに対応する。また、本発明の実施形態を実行するための、コンピューター読取可能プログラムコード形式のソフトウェア指示を、非一時的コンピューター読取可能記憶媒体に一時的又は恒久的に記憶させてもよい。非一時的コンピューター読取可能記憶媒体としては、コンパクトディスク(CD)、ディスケット、テープ、メモリー、その他のコンピューター読取可能記憶デバイスがある。
【0047】
限られた数の実施形態を用いて本発明を説明したが、本開示の恩恵に浴する当業者であれば、ここに開示された本発明の範囲から逸脱することなく、他の実施形態を考案できることを理解するであろう。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ制限されるべきである。

【特許請求の範囲】
【請求項1】
表を管理する方法であって、
最下行と、第1の積重ね行と、を有する表を備える文書を取得する工程と、
前記第1の積重ね行において、高さの初期値を有する複数の第1の中間セルを特定する工程と、
レイアウトエンジンを用いて、前記複数の第1の中間セル内のそれぞれのデータアイテムに基づいて、前記複数の第1の中間セルのそれぞれの全体垂直寸法を算出する工程と、
前記複数の全体垂直寸法から最大全体垂直寸法を特定する工程と、
前記最大全体垂直寸法が前記高さの初期値を超える場合、前記複数の第1の中間セルのそれぞれの高さ属性を前記最大全体垂直寸法に設定する工程と、
前記最大全体垂直寸法と前記高さの初期値の第1の差分だけ、前記最下行を下へ移動させる工程と、
前記最下行を下へ移動させる工程の後に、前記表を備える前記文書のページをレンダリングする工程と、
を備える方法。
【請求項2】
第2の積重ね行において、複数の第2の中間セルのそれぞれの垂直位置を特定する工程と、
前記最下行を下へ移動させる工程の前に、前記垂直位置を前記第1の差分だけ修正する工程と、
を更に備え、
前記第2の積重ね行は、前記表内で、前記第1の積重ね行と前記最下行の間に位置することを特徴とする請求項1に記載の方法。
【請求項3】
前記第2の積重ね行において、セルブロックの終了セルを特定する工程と、
前記最下行を下へ移動させる工程の前に、前記セルブロックの開始セルの下端と前記終了セルの下端を揃える工程と、
を更に備える請求項2に記載の方法。
【請求項4】
前記最下行を下へ移動させる工程は、
前記最下行において、複数の第2の中間セルのそれぞれの垂直位置を特定する工程と、
前記垂直位置を前記第1の差分だけ修正する工程と、
を備えることを特徴とする請求項1に記載の方法。
【請求項5】
前記第1の積重ね行において、セルブロックの開始セルを特定する工程と、
前記全体垂直寸法を算出する工程の前に、前記開始セルの高さ属性を前記セルブロックの高さに設定する工程と、
前記最下行を下へ移動させる工程の後に、前記開始セルの下端と前記セルブロックの終了セルの下端を揃える工程と、
を更に備えることを特徴とする請求項1に記載の方法。
【請求項6】
前記レイアウトエンジンを用いて、前記開始セル内のデータアイテムに基づいて、前記開始セルの全体垂直寸法を算出する工程と、
前記全体垂直寸法が前記セルブロックの前記高さを超える場合、前記開始セルの前記高さ属性を前記開始セルの前記全体垂直寸法に設定する工程と、
を更に備える請求項5に記載の方法。
【請求項7】
前記終了セルは前記最下行に位置することを特徴とする請求項5に記載の方法。
【請求項8】
前記終了セルは第2の積重ね行に位置し、
前記第2の積重ね行は、前記表内で、前記第1の積重ね行と前記最下行の間に位置することを特徴とする請求項5に記載の方法。
【請求項9】
前記開始セルの下端を揃える工程は、
前記開始セルの前記下端と前記終了セルの前記下端の第2の差分を算出する工程と、
前記開始セルの前記高さ属性を前記第2の差分だけ増加させる工程と、
を備える請求項5に記載の方法。
【請求項10】
前記開始セルの下端を揃える工程は、
前記開始セルの前記下端と前記終了セルの前記下端の第2の差分を算出する工程と、
前記終了セルの高さ属性を前記第2の差分だけ増加させる工程と、
を備える請求項5に記載の方法。
【請求項11】
表を管理するための指示を記憶する非一時的コンピューター読取可能記憶媒体であって、該指示は、
最下行と、第1の積重ね行と、を有する表を備える文書を取得するための指示と、
前記第1の積重ね行において、高さの初期値を有する複数の第1の中間セルを特定するための指示と、
レイアウトエンジンを用いて、前記複数の第1の中間セル内のそれぞれのデータアイテムに基づいて、前記複数の第1の中間セルのそれぞれの全体垂直寸法を算出するための指示と、
前記複数の全体垂直寸法から最大全体垂直寸法を特定するための指示と、
前記最大全体垂直寸法が前記高さの初期値を超える場合、前記複数の第1の中間セルのそれぞれの高さ属性を前記最大全体垂直寸法に設定するための指示と、
前記最大全体垂直寸法と前記高さの初期値の第1の差分だけ、前記最下行を下へ移動させるための指示と、
前記最下行を下へ移動させた後に、前記表を備える前記文書のページをレンダリングするための指示と、
を備える非一時的コンピューター読取可能記憶媒体。
【請求項12】
第2の積重ね行において、複数の第2の中間セルのそれぞれの垂直位置を特定するための指示と、
前記最下行を下へ移動させる前に、前記垂直位置を前記第1の差分だけ修正するための指示と、
を更に備え、
前記第2の積重ね行は、前記表内で、前記第1の積重ね行と前記最下行の間に位置することを特徴とする請求項11に記載の非一時的コンピューター読取可能記憶媒体。
【請求項13】
前記第2の積重ね行において、セルブロックの終了セルを特定するための指示と、
前記最下行を下へ移動させる前に、前記セルブロックの開始セルの下端と前記終了セルの下端を揃えるための指示と、
を更に備える請求項12に記載の非一時的コンピューター読取可能記憶媒体。
【請求項14】
前記第1の積重ね行において、セルブロックの開始セルを特定するための指示と、
前記全体垂直寸法を算出する前に、前記開始セルの高さ属性を前記セルブロックの高さに設定するための指示と、
前記最下行を下へ移動させた後に、前記開始セルの下端と前記セルブロックの終了セルの下端を揃えるための指示と、
を更に備えることを特徴とする請求項11に記載の非一時的コンピューター読取可能記憶媒体。
【請求項15】
前記レイアウトエンジンを用いて、前記開始セル内のデータアイテムに基づいて、前記開始セルの全体垂直寸法を算出するための指示と、
前記全体垂直寸法が前記セルブロックの前記高さを超える場合、前記開始セルの前記高さ属性を前記開始セルの前記全体垂直寸法に設定するための指示と、
を更に備える請求項14に記載の非一時的コンピューター読取可能記憶媒体。
【請求項16】
前記開始セルの下端を揃えるための指示は、
前記開始セルの前記下端と前記終了セルの前記下端の第2の差分を算出するための指示と、
前記開始セルの前記高さ属性を前記第2の差分だけ増加させるための指示と、
を備える請求項14に記載の非一時的コンピューター読取可能記憶媒体。
【請求項17】
前記開始セルの下端を揃えるための指示は、
前記開始セルの前記下端と前記終了セルの前記下端の第2の差分を算出するための指示と、
前記終了セルの高さ属性を前記第2の差分だけ増加させるための指示と、
を備える請求項14に記載の非一時的コンピューター読取可能記憶媒体。
【請求項18】
表を管理するシステムであって、
ハードウェアプロセッサーと、
前記ハードウェアプロセッサーに動作可能に接続されるメモリーと、
前記ハードウェアプロセッサーに記憶される複数の指示と、
を備え、
前記指示は、
前記複数の全体垂直寸法から最大全体垂直寸法を特定するための指示と、
前記最大全体垂直寸法が前記高さの初期値を超える場合、前記複数の第1の中間セルのそれぞれの高さ属性を前記最大全体垂直寸法に設定するための指示と、
前記最大全体垂直寸法と前記高さの初期値の第1の差分だけ、前記最下行を下へ移動させるための指示と、
前記最下行を下へ移動させた後に、前記表を備える前記文書のページをレンダリングするための指示と、
を備えるシステム。
【請求項19】
第2の積重ね行において、複数の第2の中間セルのそれぞれの垂直位置を特定するための指示と、
前記最下行を下へ移動させる前に、前記垂直位置を前記第1の差分だけ修正するための指示と、
を更に備え、
前記第2の積重ね行は、前記表内で、前記第1の積重ね行と前記最下行の間に位置することを特徴とする請求項18に記載のシステム。
【請求項20】
前記第2の積重ね行において、セルブロックの終了セルを特定するための指示と、
前記最下行を下へ移動させる前に、前記セルブロックの開始セルの下端と前記終了セルの下端を揃えるための指示と、
を更に備える請求項19に記載のシステム。
【請求項21】
前記第1の積重ね行において、セルブロックの開始セルを特定するための指示と、
前記全体垂直寸法を算出する前に、前記開始セルの高さ属性を前記セルブロックの高さに設定するための指示と、
前記最下行を下へ移動させた後に、前記開始セルの下端と前記セルブロックの終了セルの下端を揃えるための指示と、
を更に備えることを特徴とする請求項18に記載のシステム。
【請求項22】
前記レイアウトエンジンを用いて、前記開始セル内のデータアイテムに基づいて、前記開始セルの全体垂直寸法を算出するための指示と、
前記全体垂直寸法が前記セルブロックの前記高さを超える場合、前記開始セルの前記高さ属性を前記開始セルの前記全体垂直寸法に設定するための指示と、
を更に備える請求項21に記載のシステム。
【請求項23】
前記開始セルの前記下端と前記終了セルの前記下端の第2の差分を算出するための指示と、
前記開始セルの前記高さ属性を前記第2の差分だけ増加させるための指示と、
を更に備える請求項21に記載のシステム。
【請求項24】
前記開始セルの下端を揃えるための指示は、
前記開始セルの前記下端と前記終了セルの前記下端の第2の差分を算出するための指示と、
前記終了セルの高さ属性を前記第2の差分だけ増加させるための指示と、
を備える請求項21に記載のシステム。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−99098(P2012−99098A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−232414(P2011−232414)
【出願日】平成23年10月24日(2011.10.24)
【出願人】(507031918)コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド (157)
【Fターム(参考)】