(57)【特許請求の範囲】
【請求項１】
座標空間に表示対象要素を配置した画面表示レイアウトの出力処理方法において、
出力範囲取得手段としてＣＰＵが、画面表示レイアウトの少なくとも一部を切り出す出力範囲であって、既に取得済みの出力範囲の出力処理で出力が制限された表示対象要素が有る場合はその表示対象要素が出力される出力範囲の情報を得て、出力が制限された表示対象要素が無い場合は既に取得済みの出力範囲と隣接する出力範囲の情報を得る出力範囲取得ステップと、
出力制限判断手段としてＣＰＵが、上記切り出す出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさ（零を除く）以上、あるいは表示対象要素の大きさに対して基準の割合（零を除く）以上になる場合に、その表示対象要素の出力を制限すべきか否かを判断する出力制限判断ステップと、
前記出力制限判断ステップで出力を制限すべきと判断した場合に、出力制限手段としてＣＰＵが、その表示対象要素の出力を自動的に制限する出力制限ステップと、を有することを特徴とする出力処理方法。
【請求項２】
画面表示出力する表示対象要素を出力制限ステップの実行対象とするかどうかを識別する情報を、表示対象要素に持たせることを特徴とする請求項１に記載の出力処理方法。
【請求項３】
座標空間に表示対象要素を配置したレイアウトの出力処理方法において、
出力範囲取得手段としてＣＰＵが、レイアウトの少なくとも一部を切り出す出力範囲の情報を得る出力範囲取得ステップと、
出力制限判断手段としてＣＰＵが、上記切り出す出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさ（零を除く）以上、あるいは表示対象要素の大きさに対して基準の割合（零を除く）以上になる場合に、その表示対象要素の出力を制限すべきか否かを、
前記表示対象要素の属性に基づいて判断する出力制限判断ステップと、
前記出力制限判断ステップで出力を制限すべきと判断した場合に、出力制限手段としてＣＰＵが、その表示対象要素の出力を自動的に制限する出力制限ステップと、を有することを特徴とする出力処理方法。
【請求項４】
座標空間に表示対象要素を配置した画面表示レイアウトの出力処理方法において、
画面表示レイアウトの少なくとも一部を切り出す出力範囲であって、既に取得済みの出力範囲の出力処理で出力が制限された表示対象要素が有る場合はその表示対象要素が出力される出力範囲の情報を得て、出力が制限された表示対象要素が無い場合は既に取得済みの出力範囲と隣接する出力範囲の情報が入力される出力範囲取得手段と、
上記切り出す出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさ（零を除く）以上、あるいは表示対象要素の大きさに対して基準の割合（零を除く）以上になる場合に、その表示対象要素の出力を制限すべきか否かを判断する出力制限判断手段と、
前記出力制限判断手段が出力を制限すべきと判断した場合に、その表示対象要素の出力を自動的に制限する出力制限手段と、を有することを特徴とする出力処理装置。
【請求項５】
請求項１ないし３のいずれか一項に記載の出力処理方法が備える各ステップをコンピュータに実行させるための出力処理プログラム。
【請求項６】
請求項４に記載の出力処理装置が備える各手段として、コンピュータを機能させるための出力処理プログラム。
【請求項７】
請求項５または６に記載の出力処理プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文字、文字列または画像等の表示対象要素を二次元または三次元の座標空間にレイアウト（配置）して、表示装置、印刷装置等の出力装置に出力する方法、その方法を実施するための装置、プログラムおよびプログラム媒体に関する。
【０００２】
【従来の技術】
従来より、例えば文字や画像が混在した文書を表示する文書閲覧ソフトウェアとして、ＷＷＷ（Ｗｏｒｌｄ Ｗｉｄｅ Ｗｅｂ）ブラウザなどが存在する。多くのＷＷＷブラウザでは、例えば画面の表示サイズを越える横長の画像については、画面に併せて表示される横スクロールバーをユーザが操作し、画面をスクロールするなどして、画面の表示サイズを越える画像全体を見ることができるようになっている。
【０００３】
このような画像をスクロールで見る場合、画像全体を一覧できない、操作が面倒であるなどの欠点があるが、特開２０００−１１５５２７号公報では、表示領域に画像幅が入り切らない場合は、画像を縮小して表示する装置が述べられている。
【０００４】
【発明が解決しようとする課題】
しかし、一覧すべきひとまとまりの表示対象要素の大きさは表示可能領域より小さいが、指定された出力範囲が適切ではないため、表示対象要素の一部が表示可能領域からはみ出す場合、従来の文書表示方法では、ひとまとまりの表示対象要素全体を一度に見て欲しいと言う著作権者や出版社の要望を満たすことができないという問題がある。
【０００５】
例えば、表示対象要素を一覧状態で見てほしい場合として、漫画や絵本などで、場面の切替えを１コマで表現しているような時、その切替え効果を高める為に一度に見て欲しい、というような場合がある。あるいは、絵図全体のマクロ構造に意味があり、全体を一望してもらわないと意味がないような場合や、絵図の右上と左下に書かれているものを対比しながら同時に見ないと理解しづらい場合などもある。
【０００６】
なお、これは著作権者や出版社の要望に限らず、それを利用するユーザも同様の要望を持っているとも言える。
【０００７】
特に、表示画面をスクロールできる場合はまだよいが、印刷などのように出力結果をスクロールできない場合、分割された画像が複数のページに分かれて印刷されてしまい、画像全体を把握するためには複数のページを繋ぎ合わせて見るなどしなければならず、この場合にも扱いが面倒であり、また、一度に見て欲しいという著作権者や出版社、一度に見たいというユーザの要望を満たすことはさらにできなくなってしまう欠点がある。
【０００８】
本発明の目的は、上記の問題点に鑑みて、一覧すべきひとまとまりの表示対象要素に対して、指定した出力範囲が適切でない場合に、一覧でしか見られないようにすることができる、あるいは一覧する効果を減じないようにすることができるレイアウトの出力処理方法、その方法を実施するための装置、プログラムおよびプログラム媒体を提供することにある。
【０００９】
【課題を解決するための手段】
本発明に係る出力処理方法は、上記の課題を解決するために、座標空間に表示対象要素を配置したレイアウトの出力処理方法において、レイアウトの少なくとも一部を切り出す出力範囲の情報を得る出力範囲取得ステップと、上記切り出す出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさ以上、あるいは表示対象要素の大きさに対して基準の割合以上になる場合に、その表示対象要素の出力を制限すべきか否かを判断する出力制限判断ステップと、前記出力制限判断ステップで出力を制限すべきと判断した場合に、その表示対象要素の出力を自動的に制限する出力制限ステップを有することを特徴とする。
【００１０】
ここで、表示対象要素とは、文字、文字列、画像などのレイアウトされる単位を意味し、レイアウトとは、二次元または三次元の座標空間における表示対象要素の配置を意味する。したがって、本発明に係る出力処理方法によれば、座標空間における表示対象要素の配置、すなわちレイアウトに従って、出力先の表示装置、印刷装置等における出力／表示媒体に、表示対象要素が出力／表示される。
【００１１】
なお、分かり易くする為に「表示対象要素」と呼んでいるが、必ずしも「表示」だけに限らず、印刷やデータ出力、ファイル出力などのあらゆる出力に関わる要素を含むものである。なお、以降、単に「要素」と述べた場合は、「表示対象要素」を意味する。
【００１２】
また、表示対象要素の数は、レイアウトの枠組みの中に１つ以上あれば、特に限定されない。例えば、出力先の表示媒体が印刷用紙の場合に、白い紙面中の一部領域に写真が１枚、あるいは文字が１文字、レイアウトされるような場合や、２枚の紙面にまたがるように写真が１枚、レイアウトされるような場合にも本発明が適用される。
【００１３】
さらに、出力範囲の情報とは、レイアウトの少なくとも一部を切り出す範囲に関し、レイアウトの枠組みに対する位置、大きさ、形状などの属性を特定する情報である。また、当該属性は、出力先の出力／表示媒体における出力／表示可能領域の大きさ、形状などに依存して決めることもできるし、ユーザなどが指定することもある。
【００１４】
また、出力先は、レイアウトに従って表示対象要素が出力される対象であって、モニターなどの表示デバイス、プリンターなどの印刷デバイス、あるいはＰＤＦ（portable document format）の様に表示対象要素データをレイアウト情報を伴った形で記録するようなフォーマットを持つデータやファイル、３次元プリンタなどの３次元物体形成デバイスなどに当たる。
【００１５】
また、「出力を制限する」とは、その表示対象要素を出力しないということだけではなく、その他にも、何らかの操作をしないと出力を得られないという意味や、その表示対象要素の本来の出力と異なる出力を行う、という意味も含まれる。何らかの操作をしないと出力を得られないとは、例えば、その表示対象要素の出力範囲にボタンやリンクなどがあり、そのボタンやリンクを押して初めてその表示対象要素の出力（表示）が行われる、などの処理を指す。また、本来の出力と異なる出力とは、例えば、表示対象要素の出力範囲を黒く塗りつぶして出力することにより、本来の出力を判別できなくしたり、外枠線だけにして、何らかの出力が存在することだけを知らせるようにしたり、などの処理を指す。
【００１６】
そこで、本発明に係る出力処理方法によれば、出力範囲取得ステップによって出力範囲の情報を得るので、レイアウトの枠組みの中のどの部分を切り出して出力先の出力／表示媒体における出力／表示可能領域に出力／表示させるかが決まる。
【００１７】
このとき、レイアウトの枠組みに対する位置、大きさ、形状などの属性に応じて、出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさ以上、あるいは表示対象要素の大きさに対して基準の割合以上になる場合がある。この場合に、その表示対象要素の出力を制限（例えば、禁止）すべきか否か、言い換えれば出力するかしないかを判断する出力制限判断ステップが実行され、表示対象要素の出力を制限すべきと判断された場合に、出力制限ステップで表示対象要素の出力制限が自動実行される。
【００１８】
これによって、表示対象要素の出力が、出力範囲の境界で所定の割合あるいは所定の大きさ以上に分割された未表示部分を持つことがなくなり、出力範囲がユーザの再指定等によって変更され、表示対象要素が分割されない時のみ、表示対象要素が出力／表示媒体に出力／表示されることになる。従って、出力範囲の境界によって分割されないように出力を制限すべき表示対象要素を見る時は、縮小表示などせずに、表示対象要素全体を常に詳細に一覧できる出力を作成できる効果が出てくる。
【００１９】
また、出力を制限すべき表示対象要素については、結果的にユーザに分割した状態で見ることを許さず、一覧状態でのみ見ることを強要するので、ある表示対象要素を一覧状態でのみ見て欲しいという著者や出版社などの要望を実現し、またユーザに一覧することの利点を享受させることができる効果がある。
【００２０】
表示対象要素を一覧状態でのみ見て欲しいような場合とは、例えば漫画や絵本などで、場面の切替えや衝撃的な場面を１コマで表現しているような時、その切替え効果や衝撃度を高める為に一度に見て欲しい、というような場合である。このような場合には、ユーザとしても、高い切替え効果や衝撃度を得られるという利点がある。
【００２１】
あるいは、絵図全体のマクロ構造に重要な意味があり、全体を一望してもらわないと意味がない／理解しにくいような場合や、絵図の右上端と左下端に書かれているものを対比しながら同時に見ないと理解しづらい場合などである。
【００２２】
もし、ユーザが表示対象要素を分割された状態で見ただけで済ませてしまうとすれば、絵図全体のマクロ構造に重要な意味があることに気が付かなかったり、表示対象要素が分割された理解しにくい状態のために、不完全な理解状態のままになってしまうかもしれない。ユーザとしても、これらの不具合を防止する利点がある。
【００２３】
本発明に係る出力処理方法は、上記の課題を解決するために、前記出力範囲取得ステップにおいて、既に取得済みの出力範囲と隣接するもしくは一部重なる出力範囲の情報を得ることを特徴とする。
【００２４】
上記の構成により、既に取得済みの出力範囲と隣接するもしくは一部重なる出力範囲の情報を出力範囲取得ステップで得て、それに基づいて上記出力処理を行うことで、最終的に出力される出力範囲が、既に取得済みの出力範囲と隣接するもしくは一部重なることになる。
【００２５】
これにより、ユーザにとって出力処理結果をできるだけ連続して見ることができ、内容的に途切れることなく理解できる可能性が高まるという効果が出てくる。例えば、ＷＷＷブラウザなどスクロールして閲覧するような場合は、上下にページめくりスクロールをする操作に相当し、印刷などの場合は、用紙に順に印刷する処理に相当する。
【００２６】
本発明に係る出力処理方法は、上記の課題を解決するために、前記出力範囲取得ステップにおいて、既に取得済みの出力範囲の出力処理で出力が制限された表示対象要素が有る場合に、その表示対象要素が出力される出力範囲の情報を得ることを特徴とする。
【００２７】
以前の出力処理で出力を制限された表示対象要素が有った場合、この表示対象要素が出力されるような出力範囲、すなわち表示対象要素が出力範囲内に収まる、あるいは出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさより小さく、あるいは表示対象要素の大きさに対して基準の割合より小さくなるような出力範囲の情報を出力範囲取得ステップで得ることで、以前に出力を制限された表示対象要素を一覧できる状態で出力することができるようになる。
【００２８】
先に説明した、出力範囲取得ステップで以前の出力範囲と隣接するもしくは一部重なる出力範囲を得る方法では、出力制限ステップで出力が制限された表示対象要素が無い場合、出力内容に抜けが無いことが保証されるが、出力が制限された表示対象要素が有る場合、既に取得済みの出力範囲と、隣接もしくは一部重なる出力範囲とのどちらによっても分割されてしまうため、どちらにも出力されない表示対象要素が存在する可能性がある。
【００２９】
そこで、以前の出力処理で出力が制限された表示対象要素が有る場合、その表示対象要素が出力されるような出力範囲の情報を得ることで、その表示対象要素がどちらでも出力されないということを防ぐことができる。
【００３０】
なお、本発明に係る出力処理方法の前記出力範囲取得ステップは、既に取得済みの出力範囲と隣接するもしくは一部重なる次の出力範囲を得る場合に、既に取得済みの出力範囲の出力処理で出力が制限された表示対象要素が有るか否かを検出する出力制限要素検出ステップと、出力が制限された表示対象要素が有ると検出された場合に、既に取得済みの出力範囲と隣接するもしくは一部重なる次の出力範囲を、出力が制限された表示対象要素が出力される出力範囲に変更する出力範囲変更ステップとを含むことができる。
【００３１】
また、本発明に係る出力処理方法は、既に取得済みの出力範囲の出力処理で出力が制限された表示対象要素が有る場合に、その出力が制限された表示対象要素を記録する出力制限要素記録ステップを有していてもよい。
【００３２】
これにより、上記出力制限要素検出ステップは、出力制限要素記録ステップの記録を利用することができる。
【００３３】
本発明に係る出力処理方法は、上記の課題を解決するために、出力する表示対象要素を出力制限ステップの実行対象とするかどうかを識別する情報を、表示対象要素に持たせることを特徴とする。
【００３４】
本発明に係る出力処理方法によれば、表示対象要素に持たせた上記情報によって、前記出力制限判断ステップでは、表示対象要素が出力制限ステップの実行対象になるか否かを識別でき、かつ、出力を制限すべきと判断された時には、その表示対象要素の出力を制限する。一方、実行対象としないと識別できる時は、その要素に対して出力制限ステップの対象とはせず、分割されてもそのまま出力する。
【００３５】
これによって、上記情報を表示対象要素に持たせるか持たせないかで、出力制限ステップでの処理を行なうかどうかを指定できることになり、例えば、著作者やユーザが、要素を一覧状態でなく分割状態で出力することを認めるかどうかを指定できるなどの効果が出てくる。
【００３６】
また、上記情報を表示対象要素毎に設定する場合には、例えば、ユーザや著作者が要素毎に分割状態で出力することを認めるかどうかを細かく指定できる効果も出てくる。
【００３７】
なお、指定は、例えば、要素の種類（文字、画像、写真等）によって変えることもできるし、種類に関係なく個別に指定することもできる。例えば、写真は一覧して欲しいが文字は一覧でなくても構わないなどというような場合は要素の種類で指定することになり、他の図はよいがこの図だけは部分的ではなく一度に見て欲しいと著作者が思った場合などは個別に指定することになる。
【００３８】
本発明に係る出力処理装置は、上記の課題を解決するために、座標空間に表示対象要素を配置したレイアウトの出力処理方法において、レイアウトの少なくとも一部を切り出す出力範囲の情報が入力される出力範囲取得手段と、上記切り出す出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさ以上、あるいは表示対象要素の大きさに対して基準の割合以上になる場合に、その表示対象要素の出力を制限すべきか否かを判断する出力制限判断手段と、前記出力制限判断手段が出力を制限すべきと判断した場合に、その表示対象要素の出力を自動的に制限する出力制限手段を有することを特徴とする。
【００３９】
上記の構成によれば、出力範囲取得手段に出力範囲の情報が入力されるので、レイアウトの枠組みの中のどの部分を切り出して出力先の出力／表示媒体における出力／表示可能領域に出力／表示させるかが決まる。
【００４０】
なお、出力範囲取得手段は、出力範囲の情報を、出力処理装置が内蔵する内部メモリ、出力処理装置に装着される据え置き型ないし可搬型の外部メモリ、あるいは出力処理装置に接続されたネットワーク等から読み取られるプログラムや、プログラム処理結果から得てもよいし、ユーザの操作によりマウス、キーボード等の入力装置から入力されたデータとして得てもよいし、出力処理装置に接続されたプリンタ、ディスプレイ等の出力／表示装置、それらの内部メモリ、外部メモリ、ネットワーク等からデータとして得てもよく、入力の形態は特に限定されない。
【００４１】
ところで、出力範囲の情報が取得された場合、レイアウトの枠組みに対する位置、大きさ、形状などの属性に応じて、出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさ以上、あるいは表示対象要素の大きさに対して基準の割合以上になる場合がある。この場合に、表示対象要素の出力を制限すべきか否かを出力制限判断手段が判断する処理が実行され、表示対象要素の出力を制限すべきと判断された場合に、出力制限手段が該当の表示対象要素の出力制限処理を自動的に実行する。
【００４２】
これによる種々の効果は、上記出力処理装置の構成に対応する出力処理方法による効果として、前述したとおりであるが、出力範囲で分割されてしまう要素の出力を制限することで、要素が分割して出力されてしまうことを抑制することができ、出力が制限された要素は、分割されることのない別の出力範囲による出力処理であれば、適正に出力されるので、その要素を縮小表示などせずに常に一覧状態でのみ詳細に見ることができるようになる。
【００４３】
なお、本発明に係る出力処理装置の前記出力範囲取得手段は、既に取得済みの出力範囲と隣接するもしくは一部重なる次の出力範囲を得る場合に、既に取得済みの出力範囲の出力処理で出力が制限された表示対象要素が有るか否かを検出する出力制限要素検出手段と、出力が制限された表示対象要素が有ると出力制限要素検出手段が検出した場合に、既に取得済みの出力範囲と隣接するもしくは一部重なる次の出力範囲を、出力が制限された表示対象要素が出力される出力範囲に変更する出力範囲変更手段とを含むことができる。
【００４４】
また、本発明に係る出力処理装置は、既に取得済みの出力範囲の出力処理で出力が制限された表示対象要素が有る場合に、その出力が制限された表示対象要素を記録する出力制限要素記録手段を有していてもよい。
【００４５】
これにより、上記出力制限要素検出手段は、出力制限要素記録手段が記憶手段等に記録したデータを、出力が制限された表示対象要素の検出に利用することができる。
【００４６】
本発明に係る出力処理プログラムは、上記の課題を解決するために、上記出力処理方法が備える各ステップをコンピュータに実行させることを特徴とする。
【００４７】
また、本発明に係る出力処理プログラムは、上記の課題を解決するために、上記出力処理装置が備える各手段として、コンピュータを機能させることを特徴とする。
【００４８】
さらに、本発明に係る記録媒体は、上記の課題を解決するために、上記出力処理プログラムを記録したことを特徴とする。
【００４９】
これにより、上記記録媒体、またはネットワークを介して、一般的なコンピュータに出力処理プログラムをインストールすることによって、該コンピュータを用いて上記の出力処理方法を実現する、言い換えれば、該コンピュータを出力処理装置として機能させることができる。
【００５０】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【００５１】
（用語およびその概念）
「出力範囲」は、出力範囲の情報として、大きさ、形状、レイアウトの枠組みにおける位置、などの属性を持ち、これらの属性は出力先や使用状況によって異なる。例えば大きさは、表示装置に出力する時には、表示装置の表示部または表示可能領域の大きさである。また、その表示部または表示可能領域が、ウィンドウシステムを使ったＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上で動作する表示処理プログラムによって制御されているならば、「出力範囲」の大きさは、表示する部分のウィンドウの大きさとなる。
【００５２】
また、ページなどに分割して表示レイアウトを記録するような記録形式として、例えばＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ ）やプリントデバイスのページ記述言語／命令、ＤＴＰ（ＤｅｓｋＴｏｐ  Ｐｕｂｌｉｓｈｉｎｇ）ソフトの記録フォーマットなどがあるが、これらの記録形式でファイルやメモリなどの記憶手段、出力デバイスなどに出力する場合は、ページの大きさが出力範囲の大きさとなる。また、紙などに印刷する場合は、紙の大きさが出力範囲の大きさとなる。なお、これらに余白部分がある場合は、余白部分を除いた大きさとしてもよいし、余白部分を含めた大きさとしてもよい。
【００５３】
出力範囲の大きさや形状は、例えば電子書籍装置などの専用装置では固定となる場合が多いが、表示処理プログラムによって制御されたウィンドウならば、ウィンドウサイズを変更することで出力範囲の大きさを変更することができる。また、出力形式が印刷ならば、出力する用紙サイズを変更することで出力範囲の大きさを変更することができる。
【００５４】
出力範囲の大きさの単位は、出力先によって異なり、例えばドット、インチ、ｃｍ（センチメータ）、ｐｔ（ポイント）などがある。また、表示倍率が変われば、出力範囲の大きさも変わることになる。レイアウトで内部的に使われる論理座標系（座標空間）と出力デバイスの解像度に依存する出力座標系とでは、単位系や倍率が異なることがあるが、１対１対応関係で相互に変換可能なので、出力範囲は、どちらかの座標系における単位系や倍率に統一して考えておけば問題無い。
【００５５】
次に、出力範囲の位置とは、出力したいデータの全レイアウト中（レイアウトの枠組み）のどの部分を出力するかを特定する情報を指し、例えば、上記論理座標系における座標で表される。また、ＷＷＷブラウザのように表示画面をスクロールしてレイアウトの全体を表示する場合は、スクロールバーによって指定された表示範囲のレイアウトの枠組みにおける位置であり、ページに分割して出力する形式では、何ページ目かを特定する情報である。なお、詳細は図２のレイアウトの説明で述べる。
【００５６】
出力範囲の形状は矩形が最も一般的だが、任意の形状でも、本発明の出力処理方法は基本的に一緒である。
【００５７】
図２は、「レイアウト」の概念を説明するものである。レイアウト全体枠１は、表示対象の全要素が上記論理座標系上に配置、すなわちレイアウトされた全体の範囲（枠組み）である。
【００５８】
説明のため、レイアウト全体枠１の左上隅を上記論理座標系の原点Ｏとし、右側にＸ軸、下側にＹ軸を取るとする。以降、「上」はＹ軸の負の方向、「下」はＹ軸の正の方向を意味するとする。
【００５９】
「表示対象要素」（以下、単に「要素」と呼ぶことがある）とは、レイアウトされる単位を指し、例えば、図や写真が入った文書データでは、それぞれの文字、文字列や、図、写真のような画像などが、表示対象要素となる。レイアウトされた要素は位置、大きさ、形状、出力表現形式を持つデータである。
【００６０】
以降では、説明を簡単にするため、要素の形状は全て矩形とし、位置は矩形の左上の点の座標（Ｘ、Ｙ）で表現し、大きさは幅と高さ（Ｗ×Ｈ）で表現することとする。
【００６１】
上記出力表現形式とは、例えば文字要素の場合はその文字の字形、写真要素ならばビットマップのような画像データ形式のことである。以降、図面上で特に説明なく単なる矩形で示されている場合には、任意の要素と解釈することにする。
【００６２】
ここでのレイアウトデータは、論理座標系（２次元または３次元）における表示対象要素の位置、大きさ、形状等を定めるデータであり、出力処理装置から出力される際は、レイアウト全体枠１から出力先の表示可能領域の大きさに切り出されて出力される。
【００６３】
図２に示す出力範囲６、１１、１２は、後でも説明するように、キーボード、マウス等の入力手段を介したユーザの操作や、出力処理装置に格納された文書表示プログラムや、プリンタ等の出力先の装置によって指定された出力範囲を示している。この矩形は説明のためのもので、レイアウト上存在しているものではなく、従って、出力先の表示可能領域にこの矩形枠は表示されない。
【００６４】
また、以降の説明では、出力範囲６等の幅はレイアウト全体枠１と同じとするが、線が重なって分かりにくいため、便宜上、図面ではレイアウト全体枠１より少し左右にはみ出して書いてある。実際に出力される際は、出力範囲６、１１、１２の内部に含まれる要素が出力される。
【００６５】
なお、出力範囲も位置と大きさと形状がある。図２の例では、形状は矩形であり、例えば出力範囲６では、矩形の左上の点が（０、Ｙ１）、幅と高さが（Ｗ１×Ｈ１）となる。なお、図２の例では、Ｘ１を０としている。以降も特に断りがない限り、処理手順としてはＸ軸も見ている、すなわちＸ座標もデータ処理の対象としているが、本例では出力範囲のＸ軸の位置は０としてある。
【００６６】
また、ここでは説明を簡単にするため、レイアウト全体枠１と出力範囲６の幅を同じにしてあるが、同じでない場合もある。その場合、いわゆる横スクロールを使って表示させたり、別のページとして出力させたりということになる。
【００６７】
取得する出力範囲はレイアウトが含まれている範囲なら任意の範囲が可能であり、例えばＷＷＷブラウザでのリンクジャンプ機能の場合は、指定された要素を中心もしくは先頭に含むような出力範囲が得られることになる。ジャンプでなく、表示形式がいわゆる「ページめくり」、「スクロール」と呼ばれるような場合には、前回取得した、あるいは既に取得済みの出力範囲と隣接または一部重なる領域を出力範囲とすることになる。
【００６８】
出力範囲の大きさを変えない場合、例えば図２に示す出力範囲６の下に隣接した出力範囲１１の位置は（０、Ｙ１＋Ｈ１）となり、出力範囲６の上に隣接した出力範囲１２は、位置（０、Ｙ１−Ｈ１）となる。但し、Ｙ１−Ｈ１＜０の場合は、出力範囲１２の上部が、レイアウト全体枠１の上端から外にはみ出した状態となる。すなわち、レイアウト全体枠１の上端から外には要素が存在しないので、空白を出力することになってしまう。
【００６９】
この点、ワードプロセッサやＷＷＷブラウザなどでは、文書の最初を表示する際は表示範囲の最初から表示するのが一般的であり、上部に空白が出力されるような出力範囲はスクロールバーなどでは設定できないようになっていることがほとんどである。このような表示の仕方の慣習から、文書先頭の上部に空白が出力されてしまうような出力範囲の場合は、出力範囲１２の位置を（０、０）とした方が、操作する側に取ってなじみやすいという効果も出てくる。
【００７０】
なお、隣接する出力範囲の場合、取得済みの出力範囲と重複する部分がないので、情報出力という点では効率的であるが、人間が理解する場合には内容が多少重複していないと理解しにくい場合もあり得る。紙面に印刷するなど、前後の出力結果を同時に眺めることができる場合には問題ないが、そうでない場合には多少重複していた方がよい場合もあり得る。
【００７１】
以上のようにレイアウトされた表示対象要素を出力先の装置に対し出力する場合に、ひとまとまりの表示対象要素が、分割されて表示されないように、かつ表示対象要素の詳細出力情報が失われないように、表示対象要素の出力を制限する出力処理方法について以下に説明する。
【００７２】
図１は、本発明の実施の一形態に係る出力処理方法を示すフローチャート図である。
【００７３】
まずＳ１（以降、「ステップＳ」を「Ｓ」と略記する）で出力範囲（レイアウトにおける切り出し位置、大きさおよび形状のデータ）を取得し、Ｓ２に進む。
【００７４】
出力範囲は、上記で用語に関して説明したように、固定であったり可変であったりするが、ここでは矩形形状の出力範囲に関し、所定の位置と大きさとを得るとする。例えば、図２の出力範囲６、１１、１２、１５、１６などのいずれか一つがＳ１で特定される。
【００７５】
図３は、出力範囲を互いに隣接させるのではなく、互いに一部重複するようにした場合を示している。出力範囲の大きさは変えず、重複する高さをＨ５とした場合、出力範囲６の下部と一部重複する出力範囲１３の位置は（０、Ｙ１＋Ｈ１−Ｈ５）となる一方、出力範囲６の上部と一部重複する出力範囲１４の位置は（０、Ｙ１−Ｈ１＋Ｈ５）となる。
【００７６】
Ｓ２ではレイアウトを得て、Ｓ３へ進む。レイアウトは、上記で用語に関して説明したように、複数の表示対象要素からなる。したがって、レイアウトを得るとは、レイアウトを構成する全ての表示対象要素について、前記した位置、大きさ、形状、出力表現形式等に関するデータ（以下、レイアウトデータと呼ぶ）を取得することである。
【００７７】
Ｓ３では、Ｓ２で得られたレイアウトの表示対象要素の中から最初の表示対象要素を得てカレント要素とし、Ｓ４へ進む。レイアウトされた表示対象要素は何らかの順番で順序付けされていて、順にアクセスできるとする。
【００７８】
図４は、レイアウトデータを配列の形で表現した例である。各行が各表示対象要素のレイアウトデータを表す。項目としては、位置「Ｘ」、「Ｙ」、大きさ「Ｗ」、「Ｈ」を含む。これらは先に説明した通りである。「分割」項は、分割して良いかどうかを判断するフラグで、詳しくはＳ６で説明する。「Ｔｙｐｅ」項は、表示対象要素の型を示している。文字要素（ＣＨＡＲ）なのか画像要素（ＩＭＡＧＥ）なのか線分要素（ＬＩＮＥ）なのかなどを示す。「Ｄａｔａ」項は、「Ｔｙｐｅ」項によって様々に解釈される。例えば文字要素の場合は、フォント情報や文字コードなどが入っていたり、画像要素の場合は、ビットマップデータが入っていたりする。図４の例では、それらのデータにアクセスするメモリポインタの値を格納している。これらの表示対象要素はインデックス番号によってアクセスできるとする。
【００７９】
したがって、Ｓ３では、カレントインデックス番号ｃｉを０に設定し、インデックス番号が０の表示対象要素のデータを図４のレイアウトデータから得れば良い。
【００８０】
なお、以降の処理では、最初の要素から最後の要素まで全ての要素について判断を行っているが、その要素のＳ６などでの判断を簡単な方法で事前に行えるならば、ループ処理の対象とする要素を絞り込むことで、高速な処理を行うことが可能となる。
【００８１】
例えば、要素をまとめる「行」のようなデータ構造が存在し、出力範囲として何行目から何行目ということが分かるなら、その行の中の要素だけを処理対象とすれば良い。このように、Ｓ１０からＳ４に戻るループ処理の対象とする要素を絞り込む場合には、出力範囲内の要素のみが処理の対象となるから、後述するＳ５の処理（要素が完全に出力範囲外か否かの判断）を省略することができる。
【００８２】
Ｓ４では、Ｓ３で得たカレント要素が全表示対象要素中の最後の表示対象要素かどうかを判断し、最後の場合はＳ１で取得した出力範囲についての処理を終了し、最後でない場合はＳ５へ進む。図４の例で言えば、カレントインデックス番号ｃｉと全表示対象要素数ｎとを比較して、ｎ≦ｃｉならば、最後と判断すれば良い。
【００８３】
Ｓ５では、カレント要素の範囲が出力範囲の完全に外かどうかを判定し、完全に外の場合はＳ１０へ進み、完全に外で無い場合、すなわちカレント要素が出力範囲の境界を含む（出力範囲の境界によって分割される）か、あるいはカレント要素が出力範囲の中に完全に含まれる場合にはＳ６へ進む。
【００８４】
カレント要素の範囲が出力範囲の完全に外かどうかの判定は、カレント要素の一部でも出力範囲に含まれているかどうかで判定する。例えば出力範囲の形状が矩形の場合、位置（Ｘ２、Ｙ２）、大きさ（Ｗ２×Ｈ２）の要素があり、出力範囲の位置が（Ｘ１、Ｙ１）、大きさ（Ｗ１×Ｈ１）であったとする。このとき、Ｘ２＋Ｗ２＜Ｘ１、あるいはＸ１＋Ｗ１＜Ｘ２、あるいはＹ２＋Ｈ２＜Ｙ１、あるいはＹ１＋Ｈ１＜Ｙ２のいずれかを満たしている時、完全に外であると判定する。図２の例では、出力範囲６に対して要素２、３は完全に外であり、要素５は出力範囲６の内部、要素４は完全に外ではない。
【００８５】
Ｓ６では、カレント要素の大きさが出力範囲の大きさ以下かどうかを判定し、以下ならばＳ７へ進み、出力範囲よりも大きいのならばＳ９へ進む。カレント要素の方が大きい場合で、かつ、出力範囲の大きさが固定されている場合には、出力範囲の位置をどう変えてみても、カレント要素は必ず分割されてしまうので、出力を制限することで別の出力処理の機会で一覧できるようにするのはあきらめて、分割して出力するか、あるいは分割するしかない場合には、出力を禁止することが著作者等の意向であれば、Ｓ９の処理をスキップして、Ｓ６からＳ１０  へ処理を移行させることになる。
【００８６】
あるいは、Ｓ６で、カレント要素の大きさが出力範囲の大きさより大きく、かつ、出力範囲の大きさが可変である場合には、出力範囲の大きさを変更するようにユーザに促す処理を実行した後、Ｓ６の処理にループバックするようにしても良い。なお、Ｓ５とＳ６とは、順番を入れ替えても良い。
【００８７】
Ｓ７では、カレント要素が出力制限すべきかどうか、すなわちプリンタ、表示装置等の出力先にカレント要素のデータを出力するかしないかを判断し、出力制限すべき場合はＳ８へ進み、出力制限しなくてもよい場合はＳ９へ進む。出力制限すべきかどうかは、例えば、一覧して表示して欲しい表示対象要素があるならばコンテンツデータ（レイアウトを作成した元のデータ）側で出力制限可能の属性を持たせるように指定し、その属性を見て判断する方法が考えられる。
【００８８】
図４で示すレイアウトデータで「制限」の列は、元のデータ側で指定された制限可否の属性に基づいて設定された出力制限の可否を示している。「ＯＫ」は出力制限可能（または出力制限必要）、「ＮＧ」は出力制限禁止（または出力制限不要）を意味する。具体例としては、文字要素（ＣＨＡＲ）と線分要素（ＬＩＮＥ）は出力制限禁止、画像要素（ＩＭＡＧＥ）は出力制限可能とした場合、図７のように分割データ６０、６１、６３はＮＧ、分割データ６２はＯＫとなっている。
【００８９】
なお、この例では要素の種類によって分けているが、種類に関わらず個別要素に対して、出力制限の可否を指定してもよい。あるいは出力範囲の大きさに応じて出力制限の可否を設定する場合も考えられる。
【００９０】
出力範囲の大きさに応じて出力制限の可否を設定するとは、例えば、出力範囲の大きさがある大きさより大きい時は出力制限を設定可能にし、出力範囲の大きさがある大きさより小さい時は出力制限を設定できないようにすることである。出力範囲の大きさがある程度大きい時は、表示対象要素が出力範囲境界で切れてしまう確率は低くなるので、出力制限を行っても、出力範囲の全体はそれほど見にくくはならないので、表示対象要素が出力範囲境界で切れる場合は出力制限をするようにする。一方、出力範囲の大きさがあまり大きくない時は、表示対象要素が出力範囲境界で切れてしまう確率は高くなるので、出力制限を行うと出力範囲そのものが見にくくなる。そこで、出力範囲の大きさがあまり大きくない時は、出力制限を設定できないようにすることで、出力範囲が見にくくなるのを防ぐことができる。
【００９１】
Ｓ８では、カレント要素の範囲が出力範囲の境界を含んでいるかどうかを判定し、含んでいる場合はＳ１０へ進み、含んでいない場合はＳ９へ進む。
【００９２】
含んでいるかどうかは、カレント要素が全て出力範囲に含まれているかどうかで判定できる。例えば位置（Ｘ２、Ｙ２）、大きさ（Ｗ２×Ｈ２）の表示対象要素があり、出力範囲の位置が（Ｘ１、Ｙ１）、大きさ（Ｗ１×Ｈ１）であったとする。このとき、
（条件１）Ｘ２＜Ｘ１、かつＸ１＋Ｗ１＜Ｘ２、
（条件２）Ｙ２＜Ｙ１、かつＹ１＋Ｈ１＜Ｙ２、
の（条件１）、（条件２）をいずれも満たしている場合、含んでいないと判定する。図２の表示対象要素４は出力範囲６の境界を含んでいて、表示対象要素５は境界を含んでいない。
【００９３】
なお、この判定方法では、カレント要素が一部でも出力範囲の境界を含んでいたら出力範囲にかかっているとしたが、例えば１ドットだけ出力範囲の外に出ているとか、１％だけ外に出ている場合など、出力範囲を変更する処理をわざわざ行なわなくてもよいケース、言い換えれば、実質的に出力範囲の境界を含んでいないとみなせるケースも考えられる。
【００９４】
そこで、Ｓ５で、カレント要素の範囲が出力範囲の完全に外かどうかを判定する代わりに、出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさ以上、あるいは表示対象要素の大きさに対して基準の割合以上になるか否かを判断してもよい。
【００９５】
また、出力範囲の境界によって出力範囲外に分割されるカレント要素の大きさが、所定の大きさ以上、あるいはカレント要素の大きさに対して所定の割合以上になるか否かの判定は、カレント要素の出力範囲外に分割される面積、またはカレント要素の出力範囲外に分割される面積のカレント要素の面積に対する割合を閾値と比較して行えばよい。
【００９６】
例えば、境界に一部がかかっている大きさ（Ｗ２×Ｈ２）のカレント要素において、境界内部に含まれる要素の大きさが（Ｗｉ×Ｈｉ）だとする。境界の外に出ている面積が閾値Ｔ１以上の場合、すなわちＴ１＜Ｗ２×Ｈ２−Ｗｉ×Ｈｉの場合、出力範囲の境界を含んでいると判定すればよい。
【００９７】
あるいは割合を閾値として、境界の外に出ている面積の割合が閾値Ｔ２以上の場合、すなわちＴ２＜１−（Ｗｉ×Ｈｉ）／（Ｗ２×Ｈ２）の場合、カレント要素が出力範囲の境界を含んでいると判定すればよい。
【００９８】
これにより、カレント要素が出力範囲の境界を含む場合でも、あるいはカレント要素の大きさが出力範囲の大きさより大きい場合でも、基準量以上分割されなければ、すなわち、分割の影響が小さい場合には、Ｓ８からＳ９へ処理を進めて、出力の制限を行わないようにすることもできるし、基準の設定の仕方によって、表示対象要素が僅かでも出力範囲の境界を含む場合には、Ｓ８からＳ１０へ処理を進めることにより、出力を制限することもできる。
【００９９】
このように、Ｓ５、Ｓ６、Ｓ７、Ｓ８の処理は、出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、所定の大きさ以上、あるいは表示対象要素の大きさに対して所定の割合以上になる場合には、その表示対象要素の出力を制限すべきか否かを判断する出力制限判断ステップに相当している。
【０１００】
Ｓ９では、カレント要素の出力表現形式を出力先に出力して、Ｓ１０へ進む。
【０１０１】
出力表現形式は動作環境、出力先、要素の種類などによって異なる。例えば文字要素ならば文字の輪郭データを出力したり、文字のビットマップデータを別途得て、ビットマップとして出力したりする。それらの出力データは要素のレイアウト位置に出力される。
【０１０２】
例えば印刷の場合は、印刷用紙の対応する位置に文字が印刷されることになる。グラフィックシステムを持ったシステムならば、ＶＲＡＭ（Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）上に画素データとして書き込まれ、モニターに表示されることになる。ＰＤＦならば、対応する位置に文字を配置するデータをＰＤＦファイルに書き込むことになる。
【０１０３】
Ｓ１０では、カレント要素の次の表示対象要素を得て、カレント要素として設定して、Ｓ４へ進む。次の表示対象要素に進めることは、カレントインデックス番号ｃｉを１増やすことに当たる。
【０１０４】
以上説明したような処理方法による処理例を図面を用いて説明する。
【０１０５】
図５は、本発明の手法を使わずに、図２の出力範囲６を出力したものである。図５の分割表示要素３０は、図２の表示対象要素４が分割されて出力されたものである。
【０１０６】
図６は、本発明の手法を使って、図２の出力範囲６を出力したものである。
図６では、図５の分割表示要素３０の部分が何も出力されずに空白のまま残っている。これは、表示対象要素４が出力範囲にかかっていると図１のＳ８で判断され、Ｓ９の要素出力処理を飛ばしてＳ１０で次の表示対象要素に進める処理をすることで、出力を制限したことによる。
【０１０７】
これによって、図５の分割表示要素３０のように、表示対象要素が分割されて出力されることを防ぐことができる。また、ユーザも、不自然な空白により、表示対象要素が分割されて出力されていないことに気づくことができる。
【０１０８】
図７は、本発明の実施の一形態に係る出力処理方法を示すフローチャート図である。図１と同じ記号の処理ステップは同じ処理であることを示す。図７は図１とほぼ同様であるが、Ｓ１の処理が、後述のより詳細な処理に展開されるＳ１’に差し代わり、Ｓ８からＳ１０へ進む間に、Ｓ１１の処理を行なう点が異なっている。
【０１０９】
Ｓ１１では、出力をしない表示対象要素（以下、出力制限要素と呼ぶ）を出力制限リストに記録して、Ｓ１０へ進む。
【０１１０】
出力制限リストは、例えば図４に基づいて説明したインデックス番号の配列などで良い。図６の処理の例で言えば、表示対象要素４に相当するインデックス番号が一つ、出力制限リストに入ることになる。出力制限要素が複数ある場合は当然、各要素に対応する複数個のインデックス番号が出力制限リストに入ることになる。
【０１１１】
図８は、Ｓ１’の処理の詳細を説明するフローチャート図である。
【０１１２】
連結点Ｐ１を経て、Ｓ２０では通常の出力範囲を得て、Ｓ２１へ進む。通常の出力範囲とは、例えば上や下にページをめくる場合は、隣接または一部重なるような出力範囲のことである。
【０１１３】
Ｓ２１では前回の出力制限リストを見て、空でない場合、すなわち出力制限要素が１つでもある場合はＳ２２へ進み、空の場合はＳ２７へ進む。
【０１１４】
Ｓ２２では、次に得る出力範囲が現在の出力範囲の下なのかどうかを得て、下の場合はＳ２３へ進み、そうでない場合はＳ２５へ進む。
【０１１５】
ここでは分かり易く図２に合わせて「下」という言葉を使ったが、「次」というような意味であり、図２のようにレイアウト全体の一部を出力範囲の位置を上下に変えて出力する場合をイメージしている。そこで、「下の出力範囲を得る」を、「次のページをめくる」と言い換えても良い。とにかく何らかの方向性を持った出力範囲取得操作について、順操作方向か逆操作方向か、ということである。
【０１１６】
Ｓ２３では、前回の出力制限処理の出力制限リストを得て、そのリストに挙がっている全出力制限要素中で最も「上」に位置する要素を探して、Ｓ２４へ進む。
【０１１７】
ここで言う「上」は「下」と反対の方向と考えれば良い。前回の出力制限処理による出力制限リストは、前回の出力範囲に対するＳ１１の処理で作成されているはずなので、そこから最も「上」に位置する要素が得られる。
【０１１８】
リストの全出力制限要素中で最も「上」に位置する要素を探すには、リスト中の出力制限要素を順に走査し、各要素のレイアウトにおける位置を得て、最も位置が上の要素を記録しておけば良い。あるいは、各表示対象要素に付されたインデックス番号が、出力範囲取得操作の順操作方向に沿って順次大きくなるように設定されているとすれば、リスト中の出力制限要素のインデックス番号が最小値を示す要素をリストから取得してもよい。
【０１１９】
Ｓ２４では、Ｓ２３で得た最も上の出力制限要素の位置から始まる出力範囲を得て、連結点Ｐ２へ抜ける。
【０１２０】
同様に、Ｓ２５、Ｓ２６の処理はＳ２３、Ｓ２４の処理と逆方向になる。
【０１２１】
Ｓ２５では、前回の出力制限処理による出力制限リストを得て、そのリストの全出力制限要素中で最も「下」に位置する要素を探して、Ｓ２６へ進む。
【０１２２】
Ｓ２６では、Ｓ２５で得た最も下の出力制限要素の位置で終る出力範囲を得て、連結点Ｐ２へ抜ける。
【０１２３】
Ｓ２７では、Ｓ２０で得た出力範囲の中に出力制限要素が存在しないと、Ｓ２１で判断された場合に、Ｓ２０で得た通常の出力範囲を出力範囲として決定し、Ｐ２へ抜ける。
【０１２４】
以降、この方法を用いて処理した例を図面を用いて説明する。
【０１２５】
図２の出力範囲６で出力処理した後に、下に隣接する出力範囲で出力処理する場合を考える。
【０１２６】
まず、出力範囲６で出力処理を行なう。すなわち、図８のＳ２０で出力範囲６を得るとする。なお、この時点では出力制限リストが空であるとしておく。
【０１２７】
出力制限リストが空なので、図７のＳ１’では出力範囲６が決定される。また、表示対象要素４は出力範囲６で分断されるので出力が制限され、図６のようになる。
【０１２８】
次に、下に隣接する出力範囲の出力を得ようとして図１で説明した方法で処理した結果が図１０である。下に隣接する出力範囲として出力範囲１１を使うので、表示対象要素４は出力範囲１１で再び分断され、出力が制限されてしまう。この場合、ユーザは、図６、図１０に示す出力結果を連続して見ることになるが、表示対象要素４はどちらにも出力されないことになる。
【０１２９】
そこで、図１で説明した方法ではなく、図７で説明した方法で処理した結果が図９である。
【０１３０】
すなわち、図８のＳ２０で、通常の出力範囲として出力範囲６の下に隣接する出力範囲１１が得られるが、前回の処理（出力範囲６）で表示対象要素４が出力制限リストに記録されているので、Ｓ２３、Ｓ２４に処理が進む。なお、Ｓ２３、Ｓ２４に処理が進むのは、Ｓ２２で、出力範囲１１が出力範囲６の下方向に位置すると判定されたことに基づいている。この結果、表示対象要素４から始まる出力範囲として図２の出力範囲１５が得られる。
【０１３１】
出力範囲１５の境界では表示対象要素４は分断されないので、表示対象要素４は図９の様に出力される。この場合、ユーザは、図６、図９と連続して見ることになるが、図６で出力されなかった表示対象要素４が、図９では出力されている。
【０１３２】
このように、以前の出力範囲で出力しないようにされた表示対象要素がある場合に、次の出力処理でその表示対象要素が出力されるような出力範囲にすることで、その表示対象要素がどのページ（出力範囲）でも出力されなくなってしまうことを防ぐ効果が出てくる。
【０１３３】
なお、図６で出力されなかった表示対象要素４の空白部分の隣に表示対象要素（「Ｈ」「Ｉ」の文字）が並んでいるが、これが図９でもだぶって出力されるのを避けたいならば、これらの表示対象要素についても出力を制限してしまえば良い。
【０１３４】
なお、「出力を制限する」とは、上記の説明では、その表示対象要素を出力しない処理として説明したが、その他にも、何らかの操作をしないと出力を得られないという処理や、その表示対象要素の本来の出力と異なる出力を行う、という処理も含まれる。何らかの操作をしないと出力を得られないとは、例えば、その表示対象要素の出力範囲にボタンやリンクなどがあり、そのボタンやリンクを押して初めてその表示対象要素の出力（表示）が行われる、などの処理を指す。また、本来の出力と異なる出力とは、例えば、表示対象要素の出力範囲を黒く塗りつぶして出力することにより、本来の出力を判別できなくしたり、外枠線だけにして、何らかの出力が存在することだけを知らせるようにしたり、などの処理を指す。
【０１３５】
図１１は、本発明の実施の一形態に係り、上述した出力処理方法を実施する出力処理装置を示す構成図である。
【０１３６】
すなわち、出力処理装置の要部を、出力範囲取得手段５１、出力制限判断手段５２、レイアウト取得手段５３、出力手段５４、および出力制限手段５５の主要な機能ブロックに展開して示すことができる。
【０１３７】
また、これら各手段５１〜５５間のデータの授受の観点では、出力制限判断手段５２は、図１のＳ１や図７のＳ１’、図８に従って、出力範囲取得手段５１から、レイアウトを切り出す出力範囲のデータを得、Ｓ２に従って、レイアウト取得手段５３から図４に示すようなレイアウトデータを得て、Ｓ５、Ｓ６、Ｓ７、Ｓ８に従って、レイアウトデータに含まれる要素の大きさと出力範囲の大きさとを比べ、表示対象要素を出力制限すべきか否か判断し、その判断と要素のレイアウトデータを出力制限手段５５へ送る。
【０１３８】
そして、出力制限手段５５は、出力制限判断手段５２で表示対象要素を出力制限すべきと判断した場合に、その表示対象要素の出力を制限する。この出力制限処理は、Ｓ９を飛ばしてＳ１０へ進む処理に相当する。一方、出力制限判断手段５２で表示対象要素を出力制限しないと判断した場合に、出力制限手段５５は、その表示対象要素のレイアウトデータを出力手段５４へ渡す。この出力処理はＳ６ないしＳ８のいずれかからＳ９へ進む処理に相当する。
【０１３９】
出力手段５４では、Ｓ９に従って、出力制限手段５５から得た表示対象要素のレイアウトデータを出力先の装置へ出力する。
【０１４０】
図１２は、図１１の各手段５１〜５５を具体的に実現する装置の構成例である。
【０１４１】
ＣＰＵ（central processing unit）７０は、上記出力範囲取得手段５１、出力制限判断手段５２、レイアウト取得手段５３、出力手段５４、出力制限手段５５、および図８にＳ２０〜２７として示す出力範囲変更処理の実行手段として機能し、これら各手段５１〜５５による処理手順が記述されたプログラムを主記憶７４、外部記憶７５、ネットワーク７７などから得る。また、ＣＰＵ７０は、ＣＰＵ７０を含めてバス７８を通じ相互に接続されたグラフィックデバイス７１、マウス７２、キーボード７３、主記憶７４、外部記憶７５、プリンタ７６、ネットワーク７７とデータのやりとりを行ないながら、既に説明した各処理を行なう。
【０１４２】
なお、データのやりとりをバス７８を介して行う場合に限らず、データを送受信できるものならば、通信ケーブルや無線通信装置などを介してもよい。また、各手段５１〜５５の実現手段としては、ＣＰＵに限らず、ＤＳＰ(digital signal processor)や処理手順が回路として組み込まれているロジック回路などを用いることもできる。
【０１４３】
主記憶７４は、通常はＤＲＡＭ（dynamic random access memory）やフラッシュメモリなどのメモリデバイスで構成される。外部記憶７５は、ＨＤＤ（hard disk drive）やＰＣ（personal computer) カードなどの装脱着可能な記憶手段である。あるいはＣＰＵ７０とネットワーク７７を介して有線または無線で接続された他のネットワーク機器に取り付けられた主記憶や外部記憶を外部記憶７５として用いることもできる。
【０１４４】
ユーザの操作を入力する手段として、マウス７２やキーボード７３などがある。この他にもボタンやタッチパネル、マイクによる音声入力など、様々な手段が使用可能である。
【０１４５】
グラフィックデバイス７１は、通常はグラフィックカードなどによって実現され、ＶＲＡＭ（video random access memory）を有し、ＶＲＡＭ上のデータを表示信号に変換して、グラフィックデバイス７１に接続されたモニタ７９に送り、モニタ７９は表示信号を画像として表示する。
【０１４６】
プリンタ７６は、バス７８を介して得た印刷データを用紙に印刷する。ネットワーク７７は、ネットワークカードなどにより実現され、無線や有線などにより接続された他のネットワーク機器とデータをやりとりする。
【０１４７】
図１１の出力範囲取得手段５１としてのＣＰＵ７０は、出力範囲のデータを主記憶７４、外部記憶７５、ネットワーク７７などから読み取られるプログラムから得たり、ユーザの操作によりマウス７２、キーボード７３から入力されたデータとして得たり、グラフィックデバイス７１、主記憶７４、外部記憶７５、プリンタ７６、ネットワーク７７からデータとして得たりする。
【０１４８】
例えばモニタ７９上に表示されているウィンドウのサイズを出力範囲とするならば、ＣＰＵ７０は、主記憶７４上のウィンドウサイズデータを参照したり、ウィンドウサイズ取得ＡＰＩ(application programming interface) を呼び出すなどして出力範囲のデータを得る。また印刷ならば、プリンタ７６、あるいは用紙設定が記録された主記憶７４や外部記憶７５上の用紙設定データをＣＰＵ７０が参照したり、用紙サイズ取得ＡＰＩを呼び出すなどして用紙サイズを得ればよい。
【０１４９】
また、出力が制限された要素を出力するような出力範囲を得る場合は、図７のＳ１１の処理で作られ、主記憶７４、外部記憶７５、ネットワーク７７に接続された外部記憶などに書き換え可能に記録された出力制限リストのデータを、Ｓ１’中の詳細処理に従うことで得られる。
【０１５０】
出力範囲取得手段５１は、図１のフローチャートではＳ１あるいは図７のＳ１１、Ｓ１’に相当する。
【０１５１】
レイアウト取得手段５３としてのＣＰＵ７０は、主記憶７４、外部記憶７５、ネットワーク７７などからレイアウトデータを得る。レイアウトデータは、ＷＷＷブラウザのレイアウト処理など他のプログラムなどによって既に作成されているとする。レイアウトデータの形式としては先に説明した図４のような構造が考えられる。レイアウト処理と本発明の出力処理とを逐次的に行なうことももちろん可能である。レイアウト取得手段５３の処理は、図１のフローチャートではＳ２に相当する。
【０１５２】
出力手段５４は、決定された出力範囲内部にレイアウトされた要素の出力表現形式を出力先（グラフィックデバイス７１およびモニタ７９、またはプリンタ７６等）に出力する。出力表現形式は図１のＳ９で説明したように、例えばモニタ７９に表示する場合、グラフィックデバイス７１のＶＲＡＭ上に画素データとして書き込まれ、モニタ７９に表示される。一方、例えば印刷の場合には、プリンタ７６に印刷データとして送られ、プリンタ７６が印刷データを解釈して、用紙に印刷する。ＰＤＦならば、対応する位置に文字を配置するデータをＰＤＦデータとして書き込み、主記憶７４や外部記憶７５、ネットワーク７７などを通じて記録される。
【０１５３】
なお、出力手段５４の処理は、図１のフローチャートでは主にＳ９に相当する。
【０１５４】
出力制限手段５５としてのＣＰＵ７０は、主記憶７４、外部記憶７５、ネットワーク７７などからプログラムを読み込み、レイアウト取得手段５３から得たレイアウトデータをプログラムに従い処理し、出力手段５４に出力することで行なわれる。出力制限手段５５の処理は、図１のフローチャートでは主にＳ９とＳ１０の振り分け処理に相当する。
【０１５５】
図１３は、出力処理装置の外観例を示している。本体２０上に表示部２１、スクロールボタン２２、２３がある。表示部２１は出力先の装置に相当し、また表示部２１の大きさが出力範囲（表示可能領域）の大きさとなる。スクロールボタン２２、２３はユーザ操作入力として、図１２のマウス７２やキーボード７３などに相当する。
【０１５６】
上スクロール用のスクロールボタン２２を押すことによって、現在の出力範囲の上の部分の出力範囲を得、下スクロール用のスクロールボタン２３を押すことによって、現在の出力範囲の下の部分の出力範囲を得る。これらのいわゆるページめくりやスクロール操作を行なって得られた新たな出力範囲は、図１１の出力範囲取得手段５１に渡されることになる。
【０１５７】
図１４はウィンドウシステム上での表示画面例を示している。ウィンドウ２４上に表示部２５、スクロールバー２６、スクロールバー２６上に全レイアウト中での表示範囲を示すスクロール範囲ボタン２７がある。ウィンドウ２４は出力先の表示領域に相当し、ウィンドウ２４の大きさが出力範囲の大きさとなる。スクロールバー２６、スクロール範囲ボタン２７はユーザ操作入力として、図１２のマウス７２やキーボード７３などに相当する。スクロール範囲ボタン２７を上下に移動させることで、上下の出力範囲を得る。
【０１５８】
なお、ここでは、全要素をレイアウト後、すなわち全要素のレイアウトデータを取得した後に、出力制限処理を実行するようにしているが、必要と思われる範囲だけのレイアウトデータを取得する毎に出力範囲を変更したり、各要素をレイアウトしながら図１のフロー処理を行なっても同様である。
【０１５９】
また、ここでは２次元平面上に平面要素をレイアウトする例で説明しているが、３次元空間上に３次元要素をレイアウトする場合でも同様の処理方法は適用可能である。
【０１６０】
【発明の効果】
本発明に係る出力処理方法は、以上のように、座標空間に表示対象要素を配置したレイアウトの出力処理方法において、レイアウトの少なくとも一部を切り出す出力範囲の情報を得る出力範囲取得ステップと、上記切り出す出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさ以上、あるいは表示対象要素の大きさに対して基準の割合以上になる場合に、その表示対象要素の出力を制限すべきか否かを判断する出力制限判断ステップと、前記出力制限判断ステップで出力を制限すべきと判断した場合に、その表示対象要素の出力を自動的に制限する出力制限ステップを有することを特徴とする。
【０１６１】
これによって、表示対象要素の出力が、出力範囲の境界で所定の割合あるいは所定の大きさ以上に分割された未表示部分を持つことがなくなり、出力範囲が変更されて表示対象要素が分割されない時のみ表示対象要素が出力／表示媒体に出力／表示されることになる。従って、出力範囲の境界によって分割されないように出力を制限すべき表示対象要素を見る時は、縮小表示などせずに、表示対象要素全体を常に詳細に一覧できる出力を作成できる効果が出てくる。
【０１６２】
また、出力を制限すべき表示対象要素については、結果的にユーザに分割した状態で見ることを許さず、一覧状態でのみ見ることを強要するので、ある表示対象要素を一覧状態でのみ見て欲しいという著者や出版社などの要望を実現し、またユーザに一覧することの利点を享受させることができる効果がある。
【０１６３】
表示対象要素を一覧状態でのみ見て欲しいような場合とは、例えば漫画や絵本などで、場面の切替えや衝撃的な場面を１コマで表現しているような時、その切替え効果や衝撃度を高める為に一度に見て欲しい、というような場合である。このような場合には、ユーザとしても、高い切替え効果や衝撃度を得られるという利点がある。
【０１６４】
また、もし、ユーザが表示対象要素を分割された状態で見ただけで済ませてしまうとすれば、絵図全体のマクロ構造に重要な意味があることに気が付かなかったり、表示対象要素が分割された理解しにくい状態のために、不完全な理解状態のままになってしまうかもしれない。ユーザとしても、これらの不具合を防止する利点がある。
【０１６５】
本発明に係る出力処理方法は、以上のように、前記出力範囲取得ステップにおいて、既に取得済みの出力範囲と隣接するもしくは一部重なる出力範囲の情報を得ることを特徴とする。
【０１６６】
これによって、ユーザが出力処理結果をできるだけ連続して見ることができ、内容的に途切れることなく理解できる可能性が高まるという効果が出てくる。例えば、ＷＷＷブラウザなどスクロールして閲覧するような場合は、上下にページめくりスクロールをする操作に相当し、印刷などの場合は、用紙に順に印刷する処理に相当する。
【０１６７】
本発明に係る出力処理方法は、以上のように、前記出力範囲取得ステップにおいて、既に取得済みの出力範囲の出力処理で出力が制限された表示対象要素がある場合に、その表示対象要素が出力される出力範囲の情報を得ることを特徴とする。
【０１６８】
先に説明した、出力範囲取得ステップで以前の出力範囲と隣接するもしくは一部重なる出力範囲を得る方法では、出力制限ステップで出力が制限された表示対象要素が無い場合、出力内容に抜けが無いことが保証されるが、出力が制限された表示対象要素が有る場合、既に取得済みの出力範囲と、隣接もしくは一部重なる出力範囲とのどちらにも出力されない表示対象要素が存在する可能性がある。
【０１６９】
そこで、以前の出力処理で出力が制限された表示対象要素が有る場合、その表示対象要素が一覧状態で出力されるような出力範囲の情報を得ることで、その表示対象要素がどちらでも出力されないということを防ぐことができる。
【０１７０】
本発明に係る出力処理方法は、以上のように、出力する表示対象要素を出力制限ステップの実行対象とするかどうかを識別する情報を、表示対象要素に持たせることを特徴とする。
【０１７１】
これによって、上記情報を表示対象要素に持たせるか持たせないかで、出力制限ステップでの処理を行なうかどうかを指定できることになり、例えば、著作者やユーザが、要素を一覧状態でなく分割状態で出力することを認めるかどうかを指定できるなどの効果が出てくる。
【０１７２】
また、上記情報を表示対象要素毎に設定する場合には、例えば、ユーザや著作者が要素毎に分割状態で出力することを認めるかどうかを指定できる効果も出てくる。
【０１７３】
本発明に係る出力処理装置は、以上のように、座標空間に表示対象要素を配置したレイアウトの出力処理方法において、レイアウトの少なくとも一部を切り出す出力範囲の情報が入力される出力範囲取得手段と、上記切り出す出力範囲の境界によって出力範囲外に分割される表示対象要素の大きさが、基準の大きさ以上、あるいは表示対象要素の大きさに対して基準の割合以上になる場合に、その表示対象要素の出力を制限すべきか否かを判断する出力制限判断手段と、前記出力制限判断手段が出力を制限すべきと判断した場合に、その表示対象要素の出力を自動的に制限する出力制限手段を有することを特徴とする。
【０１７４】
これによる種々の効果は、上記出力処理装置の構成に対応する出力処理方法による効果として、前述したとおりであるが、出力範囲で分割されてしまう要素の出力を制限することで、要素が分割して出力されてしまうことを抑制することができ、出力が制限された要素は、分割されることのない別の出力範囲による出力処理であれば、適正に出力されるので、その要素を縮小表示などせずに常に一覧状態でのみ詳細に見ることができるようになる効果が出てくる。
【０１７５】
本発明に係る出力処理プログラムは、以上のように、上記出力処理方法が備える各ステップをコンピュータに実行させることを特徴とする。
【０１７６】
また、本発明に係る出力処理プログラムは、以上のように、上記出力処理装置が備える各手段として、コンピュータを機能させることを特徴とする。
【０１７７】
さらに、本発明に係る記録媒体は、以上のように、上記出力処理プログラムを記録したことを特徴とする。
【０１７８】
これにより、上記記録媒体、またはネットワークを介して、一般的なコンピュータに出力処理プログラムをインストールすることによって、該コンピュータを用いて上記の出力処理方法を実現する、言い換えれば、該コンピュータを出力処理装置として機能させることができる。
【図面の簡単な説明】
【図１】本発明の出力処理方法による出力制限処理の手順を示すフローチャート図である。
【図２】レイアウト全体の概念を説明する図である。
【図３】上記レイアウトに対して、隣り合う出力範囲を互いに重複させた例を示す説明図である。
【図４】レイアウトデータの配列例を示す説明図である。
【図５】出力制限処理をしない場合の出力範囲の出力例を示す説明図である。
【図６】出力制限処理をした場合の出力範囲の出力例を示す説明図である。
【図７】本発明の出力処理方法による出力制限処理の別の手順を示すフローチャート図である。
【図８】図７のＳ１’の詳細な手順を示すフローチャート図である。
【図９】前回の出力処理で出力が制限された要素が出力されるように、出力範囲を変更する処理をした出力例を示す説明図である。
【図１０】前回の出力処理で出力が制限された要素に対し、出力範囲を変更せずに出力処理した出力例を示す説明図である。
【図１１】本発明の出力処理装置の機能的な構成を示すブロック図である。
【図１２】上記出力処理装置の一実施形態における構成例を示すブロック図である。
【図１３】上記出力処理装置の外観例を示す模式的な斜視図である。
【図１４】ウィンドウシステムの出力処理プログラムによる表示例を示す説明図である。
【符号の説明】
１  レイアウト全体枠
２  要素（表示対象要素）
３  要素（表示対象要素）
４  要素（表示対象要素）
５  要素（表示対象要素）
６  出力範囲
１１  出力範囲
１２  出力範囲
１３  出力範囲
１４  出力範囲
５１  出力範囲取得手段
５２  出力制限判断手段
５３  レイアウト取得手段
５４  出力手段
５５  出力制限手段
７０  ＣＰＵ（出力範囲取得手段、出力制限判断手段、出力制限手段、
出力手段）
【図１】
0003813506.tif 000002
【図２】
0003813506.tif 000003
【図３】
0003813506.tif 000004
【図４】
0003813506.tif 000005
【図５】
0003813506.tif 000006
【図６】
0003813506.tif 000007
【図７】
0003813506.tif 000008
【図８】
0003813506.tif 000009
【図９】
0003813506.tif 000010
【図１０】
0003813506.tif 000011
【図１１】
0003813506.tif 000012
【図１２】
0003813506.tif 000013
【図１３】
0003813506.tif 000014
【図１４】
0003813506.tif 000015