(57)【特許請求の範囲】
【請求項１】
印刷すべき上位階層のテキストを選択するための上位階層テキスト選択手段と、
前記上位階層テキスト選択手段により選択された上位階層のテキストに含まれるリンク情報を抽出し、そのリンク情報に対応した下位階層のテキストを選択する下位階層テキスト選択手段と、
前記上位階層テキスト選択手段及び前記下位階層テキスト選択手段により選択された各階層のテキストの印刷順序を、前記リンク情報の抽出順に従って設定する設定手段と、
前記上位階層テキスト選択手段及び前記下位階層テキスト選択手段により選択された各階層のテキストに対し、前記リンク情報の記述箇所に該リンク情報に対応するリンク先テキストの参照頁番号を付加する頁番号付加手段と、
前記頁番号付加手段により前記参照頁番号が付加された各階層のテキストを、前記設定手段により設定された印刷順序に従って印刷するとともに、その印刷頁数に対応した頁番号を各階層のテキストに合成して印刷する印刷手段と
を備えたことを特徴とするテキスト印刷システム。
【請求項２】
請求項１記載のテキスト印刷システムにおいてさらに、
前記上位階層テキスト選択手段及び前記下位階層テキスト選択手段により選択された各階層のテキストに記述された表題を抽出するとともに、その抽出した表題と該表題が記述されたテキストの参照頁番号とを対応させて目次を作成する目次作成手段を有し、
前記印刷手段は、前記参照頁番号が付加された各階層のテキストを印刷する際に前記目次作成手段により作成された目次を一覧印刷する
ことを特徴とするテキスト印刷システム。
【請求項３】
印刷すべき上位階層のテキストを選択するための上位階層テキスト選択手段と、
前記上位階層テキスト選択手段により選択された上位階層のテキストに含まれるリンク情報を抽出し、そのリンク情報に対応した下位階層のテキストを選択する下位階層テキスト選択手段と、
前記上位階層テキスト選択手段及び前記下位階層テキスト選択手段により選択された各階層のテキストの印刷順序を、前記リンク情報の抽出順に従って設定する設定手段と、
前記上位階層テキスト選択手段及び前記下位階層テキスト選択手段により選択された各階層のテキストに対し、前記リンク情報の記述箇所に該リンク情報に対応するリンク先テキストの参照頁番号を付加する頁番号付加手段と、
前記頁番号付加手段により前記参照頁番号が付加された各階層のテキストを、前記設定手段により設定された印刷順序に従って印刷する際に、その印刷頁数に対応した頁番号を各階層のテキストに合成する合成手段と、
前記上位階層テキスト選択手段及び前記下位階層テキスト選択手段により選択された各階層のテキストに記述された表題を抽出するとともに、その抽出した表題と該表題が記述されたテキストの参照頁番号とを対応させて目次を作成する目次作成手段と
を備えたことを特徴とするテキスト処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各々のテキストに含まれるリンク情報によって関連付けられた複数のテキストを印刷する際に用いて好適なテキスト印刷システムに関する。
【０００２】
【従来の技術】
従来より、相互に関連付けられたテキスト（例えばハイパーテキスト）を印刷可能なテキスト印刷システムにおいては、任意の階層のテキストを印刷するにあたり、その印刷対象となるテキストをウインドウに表示しつつ、印刷実行を指示することで、一階層のテキストが印刷処理されるようになっている。
最近では、テキスト印刷に関するオペレータ側の要求として、印刷すべき上位階層のテキストだけでなく、その上位階層のテキストに含まれるリンク情報にて関連付けられた下位階層のテキストも一緒に印刷したいという要求がある。
【０００３】
【発明が解決しようとする課題】
しかしながら従来のテキスト印刷システムでは、印刷すべきテキストをウインドウに表示した状態でないと、印刷の指示が行えないため、リンク情報にて関連付けられた下位階層のテキストを印刷する場合は、その下位階層のテキストをいちいちウインドウに表示してから印刷を指示しなければならなかった。そのため、テキスト印刷に関わる同様の操作を何度も繰り返す必要があり、オペレータの操作が非常に煩わしいものとなっていた。
【０００４】
本発明は、上記問題を解決するためになされたもので、その主たる目的は、リンク情報にて関連付けられた複数のテキストを印刷するにあたって、オペレータの操作を簡素化できるテキスト印刷システムを提供することにある。
【０００５】
【課題を解決するための手段】
本発明に係わるテキスト印刷システムは、上記目的を達成するためになされたもので、印刷すべき上位階層のテキストを選択するための上位階層テキスト選択手段と、上位階層テキスト選択手段により選択された上位階層のテキストに含まれるリンク情報を抽出し、そのリンク情報に対応した下位階層のテキストを選択する下位階層テキスト選択手段と、上位階層テキスト選択手段及び下位階層テキスト選択手段により選択された各階層のテキストの印刷順序を、リンク情報の抽出順に従って設定する設定手段と、上位階層テキスト選択手段及び下位階層テキスト選択手段により選択された各階層のテキストに対し、リンク情報の記述箇所に該リンク情報に対応するリンク先テキストの参照頁番号を付加する頁番号付加手段と、頁番号付加手段により参照頁番号が付加された各階層のテキストを、設定手段により設定された印刷順序に従って印刷するとともに、その印刷頁数に対応した頁番号を各階層のテキストに合成して印刷する印刷手段とを備えた構成となっている。
【０００６】
上記構成からなるテキスト印刷システムにおいては、印刷すべき上位階層のテキストが上位階層テキスト選択手段を介して選択されると、その上位階層のテキストに含まれるリンク情報に対応した下位階層のテキストが下位階層テキスト選択手段により選択される。また、こうして選択された各階層のテキストの印刷順序は、リンク情報の抽出順に従って設定されるとともに、各階層のテキストに対して、リンク情報の記述箇所にリンク先テキストの参照頁番号が付加される。そして、参考頁番号が付加された各階層のテキストは、上記設定された印刷順序に従って印刷されるとともに、その印刷頁数に対応した頁番号が各階層のテキストに合成して印刷される。
【０００７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。
図１は本発明が適用されるテキスト印刷システムの概略構成図である。
先ず、図１（ａ）においては、パーソナルコンピュータ等からなるコンピュータ装置１にケーブルを介してプリンタ装置２が接続されている。このうち、コンピュータ装置１の制御系の構成を図１（ｂ）に示す。同図において、ＣＰＵ（中央処理装置）３は、ＲＡＭ（ランダムアクセス・メモリ）４またはＲＯＭ（リードオンリー・メモリ）５に格納された制御プログラムに従って処理動作を行い、テキスト印刷システム全体の処理動作を制御するものである。さらに詳述すると、ＣＰＵ３は、電源投入時にＲＯＭ５に格納されている制御プログラムに従って処理動作を実行し、これによってハードディスク制御部６を介して、ハードディスク中の初期化コマンド・ファイルを読み込む。さらに、読み込んだコマンド・ファイルを実行することにより、ハードディスク中の制御プログラムをＲＡＭ４中に読み込み、その読み込んだ制御プログラムに従って各種の処理動作を実行する。
【０００８】
ＣＲＴ／ＫＢ制御部７は、コンピュータ装置１の本体部分に接続されたディスプレイ装置、キーボード装置、ポイント・デバイス装置（マウス、トラック・ボール等）を制御するもので、これはＲＡＭ４中に読み込まれた制御プログラムに従って制御される。ネットワーク制御部８は、ネットワークへのデータの送受信を行うもので、これもＲＡＭ４中に読み込まれた制御プログラムに従って制御される。プリンタ・インタフェース制御部９は、プリンタ装置２へのデータの出力を行うもので、これもまたＲＡＭ４中に読み込まれた制御プログラムに従って制御される。
【０００９】
図２はコンピュータ装置１によって処理されるテキストの概念図である。
図２においては、複数の階層からなるテキストＴ１〜Ｔ５が、各々のテキストに含まれる文字列にて関連付けられている。さらに詳述すると、テキストＴ１の下位階層のテキストがテキストＴ２に相当し、このテキストＴ２の下位階層のテキストがテキストＴ３に相当し、さらにテキストＴ３の下位階層のテキストがテキストＴ４及びＴ５に相当する。また、テキストＴ１に含まれる文字列：Ｓａｍｐｌｅや、テキストＴ２に含まれる文字列：ＡＡＡ及びＢＢＢ、さらにテキストＴ３に含まれる文字列：ＸＸＸ及びＹＹＹが、下位階層のテキストへのリンクが施された文字列、つまりリンク情報に相当するものであり、これらのリンク情報によって複数のテキストＴ１〜Ｔ５が関連付けられている。なお、ここでは、各々のテキストに含まれる文字列にリンクを設定するようにしたが、これ以外にも、例えばアイコンやイメージ等にリンクを設定することも可能である。
【００１０】
ここで、図３にテキストＴ２の原テキスト、即ちテキストＴ２の内容を表現した記述言語を示し、図４にテキストＴ２をコンピュータ装置１のウインドウ上に表示した例を示す。
先ず図３に示す原テキストにおいて、<h1>Title:Sample</h1> は、Title:Sampleをヘッダ文字列としてウインドウ上に表示することを表し、<p> は改行を表している。また、<a href=″aaa.html″>AAA</a>は、文字列ＡＡＡをウインドウ上に表示し、この文字列ＡＡＡがファイルaaa.htmlにリンクされていることを表している。ちなみに、図例の場合は、文字列ＡＡＡが下線付きで表示され、この文字列（領域）がマウス等でクリックされると、上述したファイルaaa.htmlが読み出されて、リンク先のテキストＴ３がウインドウ上に表示されるようになっている。この点は、<a href=″bbb.html″>BBB</a>についても同様である。
【００１１】
次いで、上述したテキストＴ１〜Ｔ５を印刷する場合の処理手順について説明する。このテキスト印刷のための処理は、上記制御プログラムを実行するＣＰＵ３によって行われるものであり、そのための機能ブロック図を図５に示す。
図５において、テキスト表示手段１０は、装置本体に接続されたディスプレイ装置に文書表示ウインドウ（図４参照）を表示するとともに、テキスト読み出し手段１１により作業領域中に読み出した任意のテキストを、ディスプレイ用のビットマップデータに変換して、上述した文書表示ウインドウ中に表示するものである。
上位階層テキスト選択手段１２は、印刷すべき上位階層のテキストを選択するためのもので、例えば、文書表示ウインドウのオープン・ボタンがクリックされた場合にテキスト表示手段１０から呼び出され、テキスト読み出し手段１１が読み出すテキストのファイル名をオペレータが指定できるようにする。このとき、オペレータによりハードディスクのデバイス名が指定された場合は、テキスト読み出し手段１１が、上述したハードディスク制御部６を介して、指定のハードディスク装置からテキストを読み出す。また、オペレータによりネットワーク・デバイスのファイル名が指定された場合は、テキスト読み出し手段１１が、ネットワーク制御部８を介して、ネットワーク上の他のコンピュータ装置（サーバ等）から送信されたテキストを読み出す。
【００１２】
下位階層テキスト選択手段１３は、上述した上位階層テキスト選択手段１２により選択された上位階層のテキストに含まれるリンク情報（本例ではリンクが設定された文字列）に対応した下位階層のテキストを選択するもので、例えば、ウインドウ中に表示しているテキストの他のテキストへのリンクが存在する文字列を選択することで、これにリンクしている下位階層のテキストを印刷対象とする旨をオペレータ側で指定できるようになっている。
作業領域中テキスト変更手段１４は、作業領域中のテキストに含まれる文字列が選択された場合、その原テキストのリンクが記述された部分を変更するものである。
【００１３】
合成手段１５は、上位階層テキスト選択手段１２により選択された上位階層のテキストと下位階層テキスト選択手段１３により選択された下位階層のテキストとを合成するもので、例えば、下位階層テキスト選択手段１３により選択されたテキストを適宜作業領域に読み出しながら、そのテキストの内容をプリンタ出力用のビットマップに変換する。
出力手段１６は、上記合成手段１５により合成されたテキストの印刷情報を出力するもので、例えば、合成手段１５にて合成されたテキストのビットマップを印刷情報とし、これを上記プリンタ・インタフェース制御部９を介してプリンタ装置２に出力する。
合成済テキスト記憶手段１７は、上記合成手段１５によって合成されたテキストの識別情報（後述）を記憶するものである。
【００１４】
次に、印刷対象となる下位階層のテキストを選択する際の操作手順について図６を参照しつつ説明する。
先ず、図６（ａ）に示すように、印刷すべき上位階層のテキスト、例えばテキストＴ２を上位階層テキスト選択手段１２により選択し、この選択したテキストＴ２をウインドウ上に表示した状態で、文書表示ウインドウの印刷ボタンを選択する。これにより、図６（ｂ）に示すように、印刷用のプルダウン・メニューが表示されるため、そのプルダウン・メニューの中から「次の階層を選択」または「以下の階層を選択」を選択する。
ここで、「次の階層を選択」または「以下の階層を選択」を選択すると、図６（ｃ）に示すようにカーソルの形状が変化するため、これをディスプレイ上で確認したのち、リンクが施された文字列、つまり下線付きの文字列ＡＡＡを選択する。これにより図６（ｄ）に示すように、選択された文字列ＡＡＡの下線が実線表示から破線表示に変更され、この時点で下位階層のテキストの選択操作が完了する。
【００１５】
続いて、上記選択操作におけるコンピュータ装置１の内部処理につき、図７のフローチャートを参照しつつ説明する。
先ず、文書表示ウインドウの印刷ボタンが選択された場合は、これに応じてウインドウ中にプルダウン・メニューを表示する（ステップＳ１）。次に、プルダウン・メニューの中から「次の階層を選択」または「以下の階層を選択」が選択されたか否かを判定し（ステップＳ２）、いずれか一方が選択された場合はカーソル形状を変更する（ステップＳ３）。次いで、マウス等のポイント・デバイス装置がクリックされるのを待ち（ステップＳ４）、クリックされた時点でそのクリック座標を取得する（ステップＳ５）。
【００１６】
次に、先程取得したクリック座標が、リンクが施された文字列（図６中の文字列：ＡＡＡ）の表示範囲であるか否かを判定する（ステップＳ６）。ここで、先に取得したクリック座標が文字列の表示範囲であれば、作業領域中の原テキストを変更したのち（ステップＳ７）、リンクが施された文字列の下線（実線）を消去して破線を描画する（ステップＳ８）。これに対し、先に取得したクリック座標が文字列の表示範囲外であれば、その時点で処理を終了する。
なお、ステップＳ１にて表示されたプルダウン・メニューの中から「次の階層を選択」または「以下の階層を選択」が選択されなかった場合はステップＳ２からステップＳ９に移行し、そこで今度はプルダウン・メニューの中から「印刷実行」が選択されたか否かを判定する。ここで、「印刷実行」が選択された場合は印刷のための処理Ａに進み、「印刷実行」が選択されなかった場合、例えばプルダウン・メニューの枠外が選択された場合は、その時点で処理を終了する。
【００１７】
ここで、作業領域中テキスト変更手段１４による原テキストの変更例を図８に示す。
図８（ａ）は、上述したプルダウン・メニューの中から「次の階層を選択」が選択された場合のテキスト変更例を示しており、この例ではタグ<a href …> がタグ<a href-print …> に変更されている。一方、図８（ｂ）は、プルダウン・メニューの中から「以下の階層を選択」が選択された場合のテキスト変更例を示しており、この例ではタグ<a href …> がタグ<a href-print-recursive …> に変更されている。
【００１８】
続いて、上述のごとく選択したテキストを印刷する際の操作手順につき、図９を参照しつつ説明する。
先ず、図９（ａ）に示すように、ディスプレイ上に表示された文書表示ウインドウの印刷ボタンを選択する。これにより図９（ｂ）に示すように、先程と同様のプルダウン・メニューが表示されるため、そのプルダウン・メニューの中から「印刷実行」を選択する。そうすると図９（ｃ）に示すように、印刷モード指定サブ・ウインドウが表示されるため、実際に印刷処理を実行する場合は上記印刷モード指定サブ・ウインドウの中から「挿入」または「追加」を選択し、印刷処理を取り消す場合は「取消」を選択する。
【００１９】
図１０は上述した操作手順に従って実際にテキストを印刷した場合の印刷結果を示す模式図である。
このうち、図１０（ａ）は「次の階層を選択」で下位階層のテキストが選択され且つ印刷モードとして「挿入」が選択された場合の印刷結果を示し、図１０（ｂ）は「以下の階層を選択」で下位階層のテキストが選択され且つ印刷モードとして「挿入」が選択された場合の印刷結果を示している。一方、図１０（ｃ）は「次の階層を選択」で下位階層のテキストが選択され且つ印刷モードとして「追加」が選択された場合の印刷結果を示し、図１０（ｄ）は「以下の階層を選択」で下位階層のテキストが選択され且つ印刷モードとして「追加」が選択された場合の印刷結果を示している。
【００２０】
ここで、印刷モードとして「挿入」が選択された場合の、合成手段１５によるテキストの合成処理につき、図１１のフローチャートに従って説明する。
先ず、「挿入」モードでの処理にあたっては、レベルの値を０（零）に設定する（ステップＳ１１）。このレベルは、実際に描画を行っているテキストの階層を示すもので、最上位の階層の描画を行っているときはレベルの値が０となる。
次に、レベル＝０で描画されるテキスト、すなわち印刷すべき上位階層のテキスト（本例ではテキストＴ２）を作業領域に読み込む（ステップＳ１２）。
次いで、作業領域内のテキストＴ２の描画が終了したか否かを判定しつつ、作業領域内のテキスト内容に従って描画メモリに描画する（ステップＳ１３，Ｓ１４）。さらに、上記レベルの値が０であるか否かを判定しつつ、「次の階層を選択」または「以下の階層を選択」で選択されたリンク文字列が存在するか否か、つまり原テキストのタグが<a href-print …> または<a href-print-recursive …> になっているか否かを判定する（ステップＳ１５，Ｓ１６）。
【００２１】
こうして作業領域中の上位階層のテキストＴ２を描画している間（レベル＝０の間）に、上記選択されたリンク文字列（本例では文字列ＡＡＡ）を発見すると（ステップＳ１６でＹｅｓ）、そのリンク文字列ＡＡＡの次の行を戻り位置として記憶する（ステップＳ１７）。
次いで、先に発見したリンク文字列が「以下の階層を選択」で選択されたもの（タグが<a href-print-recursive …> ）であれば、再帰印刷フラグを真(TRUE)に設定し（ステップＳ１９）、「次の階層を選択」で選択されたもの（タグが<a href-print …> ）であれば、再帰印刷フラグを偽(FALSE) に設定する（ステップＳ２０）。その後、レベルの値をインクリメント（＋１）したのち（ステップＳ２１）、上記ステップＳ１２に戻る。
【００２２】
こうしてレベルが加算されてステップＳ１２に戻ると、レベル＝１で描画されるテキスト、つまり文字列ＡＡＡにて関連付けられた下位階層のテキスト（本例ではＴ３）を新たな作業領域に読み込んだのち（ステップＳ１２）、上記同様に作業領域内のテキストＴ３の描画が終了したか否かを判定しつつ、作業領域内のテキスト内容に従って描画メモリに描画する（ステップＳ１３，Ｓ１４）。以後、下位階層のテキストＴ３を描画している間（レベル＝１の間）に、リンクが施された文字列（本例では文字列ＸＸＸ）を発見すると（ステップＳ２２でＹｅｓ）、再帰印刷フラグが真(TRUE)に設定されているか否かを判定する（ステップＳ２３）。
【００２３】
ここで、再帰印刷フラグが偽(FALSE) に設定されていた場合、つまり「次の階層を選択」で選択されていた場合は、そのままステップＳ１３に戻ってテキストＴ３の描画を継続する。そして、テキストＴ３の描画が終了すると（ステップＳ１３でＹｅｓ）、その作業領域内のテキストＴ３を廃棄する（ステップＳ２５）。
続いて、記憶した戻り位置があるか否かを判定し（ステップＳ２６）、戻り位置がある場合はその戻り位置、つまり古い作業領域中に処理を戻す（ステップＳ２７）。この時点では、テキストＴ２の文字列ＡＡＡの次の行が戻り位置として記憶されているため、その位置に処理を戻す。さらに、レベルの値をディクリメント（−１）したのち（ステップＳ２８）、テキストＴ２の文字列ＡＡＡの次の行から描画を再開する。
【００２４】
その後、テキストＴ２の描画が終了すると（ステップＳ１３でＹｅｓ）、上記同様に当該作業領域内のテキストＴ２を廃棄したのち（ステップＳ２５）、再度、記憶した戻り位置があるか否かを判定する（ステップＳ２６）。この時点では、既にテキストＴ２の文字列ＡＡＡの次の行が戻り位置として取り出されているため、記憶した戻り位置がないと判断し、その時点で、「挿入」モードにおける、「次の階層を選択」が選択された場合の一連のテキスト合成処理を終える。
【００２５】
一方、上記ステップＳ２３において再帰印刷フラグが真(TRUE)に設定されていた場合、つまり「以下の階層を選択」で選択されていた場合は、そのリンク文字列の次の行、つまりテキストＴ３の文字列ＸＸＸの次の行を戻り位置として記憶したのち（ステップＳ２４）、レベルの値をインクリメントする（ステップＳ２１）。これにより、レベルの値は“２”に設定される。
こうしてレベルの値が“２”に設定されると、それまで描画していたテキストＴ３の下位階層のテキスト、つまり文字列ＸＸＸにて関連付けられたテキストＴ４を新たな作業領域に読み込み、そのテキスト内容に従って描画を行う。そして、テキストＴ４の描画が終了すると（ステップＳ１３でＹｅｓ）、その作業領域内のテキストＴ４を廃棄する（ステップＳ２５）。
【００２６】
続いて、記憶した戻り位置があるか否かを判定し（ステップＳ２６）、戻り位置がある場合はその戻り位置に処理を戻す（ステップＳ２７）。この時点では、テキストＴ２の文字列ＡＡＡの次の行と、テキストＴ３の文字列ＸＸＸの次の行といった二つの戻り位置が記憶されているが、ここでは後に記憶された方の戻り位置、つまりテキストＴ３の文字列ＸＸＸの次の行に処理を戻す。さらに、レベルの値をディクリメント（−１）したのち（ステップＳ２８）、テキストＴ３の文字列ＸＸＸの次の行から描画を再開する。
【００２７】
こうしてテキストＴ３の描画を再開すると、その後、再びリンクが施された文字列（本例では文字列ＹＹＹ）を発見することになる（ステップＳ２２でＹｅｓ）。このとき、再帰印刷フラグは真(TRUE)に設定されていることから、そのリンク文字列の次の行、つまりテキストＴ３の文字列ＹＹＹの次の行を戻り位置として記憶したのち（ステップＳ２４）、上記同様にレベルの値をインクリメントする（ステップＳ２１）。これにより、レベルの値は再び“２”に設定される。
こうしてレベルの値が“２”に設定されている間は、それまで描画していたテキストＴ３の下位階層のテキスト、つまり文字列ＹＹＹにて関連付けられた下位階層のテキストＴ５を新たな作業領域に読み込み、そのテキスト内容に従って描画を行う。そして、テキストＴ５の描画が終了すると（ステップＳ１３でＹｅｓ）、その作業領域内のテキストＴ５を廃棄する（ステップＳ２５）。
【００２８】
続いて、記憶した戻り位置があるか否かを判定し（ステップＳ２６）、戻り位置がある場合はその戻り位置に処理を戻す（ステップＳ２７）。この時点では、テキストＴ２の文字列ＡＡＡの次の行と、テキストＴ３の文字列ＹＹＹの次の行といった二つの戻り位置が記憶されているが、ここでは上記同様に、後に記憶された方の戻り位置、つまりテキストＴ３の文字列ＹＹＹの次の行に処理を戻す。さらに、レベルの値をディクリメント（−１）したのち（ステップＳ２８）、テキストＴ３の文字列ＹＹＹの次の行から描画を再開する。
【００２９】
その後、テキストＴ３の描画が終了すると（ステップＳ１３でＹｅｓ）、上記同様に当該作業領域内のテキストＴ３を廃棄したのち（ステップＳ２５）、記憶した戻り位置があるか否かを判定し（ステップＳ２６）、戻り位置がある場合はその戻り位置に処理を戻す（ステップＳ２７）。この時点では、テキストＴ２の文字列ＡＡＡの次の行だけが戻り位置として記憶されているため、その位置に処理を戻す。さらに、レベルの値をディクリメント（−１）したのち（ステップＳ２８）、テキストＴ２の文字列ＡＡＡの次の行から描画を再開する。
【００３０】
その後、テキストＴ２の描画が終了すると（ステップＳ１３でＹｅｓ）、上記同様に当該作業領域内のテキストＴ２を廃棄したのち（ステップＳ２５）、記憶した戻り位置があるか否かの判定を行う（ステップＳ２６）。この時点では、既にテキストＴ２の文字列ＡＡＡの次の行が戻り位置として取り出されているため、記憶した戻り位置がないと判断し、その時点で、「挿入」モードにおける、「以下の階層を選択」が選択された場合の一連のテキスト合成処理を終える。
【００３１】
次に、印刷モードとして「追加」が選択された場合の、合成手段１５によるテキストの合成処理につき、図１２のフローチャートに従って説明する。
先ず、「追加」モードでの処理にあたっては、レベルの値を０（零）に設定する（ステップＳ３１）。このレベルは、上記「挿入」モードの場合と同様、実際に描画を行っているテキストの階層を示すもので、最上位の階層の描画を行っているときはレベルの値が０となる。
次に、レベル＝０で描画されるテキスト、すなわち印刷すべき上位階層のテキスト（本例ではテキストＴ２）を作業領域に読み込む（ステップＳ３２）。
次いで、作業領域内のテキストの描画が終了したか否かを判定しつつ、作業領域内のテキスト内容に従って描画メモリに描画する（ステップＳ３３，Ｓ３４）。さらに、上記レベルの値が０であるか否かを判定しつつ、「次の階層を選択」または「以下の階層を選択」で選択されたリンク文字列が存在するか否か、つまり原テキストのタグが<a href-print …> または<a href-print-recursive …> になっているか否かを判定する（ステップＳ３５，Ｓ３６）。
【００３２】
こうして作業領域中の上位階層のテキストＴ２を描画している間（レベル＝０の間）に、上記選択されたリンク文字列（本例では文字列ＡＡＡ）を発見すると（ステップＳ３６でＹｅｓ）、そのリンク文字列ＡＡＡを記憶する（ステップＳ３７）。
次いで、先に発見したリンク文字列ＡＡＡが「以下の階層を選択」で選択されたものであれば、再帰印刷フラグを真(TRUE)に設定し（ステップＳ３９）、「次の階層を選択」で選択されたものであれば、再帰印刷フラグを偽(FALSE) に設定して（ステップＳ４０）、ステップＳ３３に戻る。
【００３３】
その後、テキストＴ２の描画が終了すると（ステップＳ３３でＹｅｓ）、レベルの値が“０”であるか否かを判定し（ステップＳ４１）、レベルの値が“０”でない場合は当該レベルの値を“１”に設定する（ステップＳ４２）。
続いて、記憶したリンク文字列があるか否かを判定し（ステップＳ４３）、リンク文字列がある場合はこれを取り出す。この時点では、文字列ＡＡＡだけしか記憶されていないため、その文字列ＡＡＡを取り出すことになるが、複数のリンク文字列が記憶されている場合には、先頭（先に記憶された方）のリンク文字列を抽出して取り出す。
【００３４】
次いで、先に取り出したリンク文字列ＡＡＡにて関連付けられた下位階層のテキストＴ３を新たな作業領域に読み込んだのち（ステップＳ３２）、上記同様に作業領域内のテキストＴ３の描画が終了したか否かを判定しつつ、作業領域内のテキスト内容に従って描画メモリに描画する（ステップＳ３３，Ｓ３４）。以後、下位階層のテキストＴ３を描画している間に、リンクが施された文字列（本例では文字列ＸＸＸ）を発見すると（ステップＳ４５でＹｅｓ）、再帰印刷フラグが真(TRUE)に設定されているか否かを判定する（ステップＳ４６）。
【００３５】
ここで、再帰印刷フラグが偽(FALSE) に設定されていた場合、つまり「次の階層を選択」で選択されていた場合は、そのままステップＳ３３に戻ってテキストＴ３の描画を継続する。そして、テキストＴ３の描画が終了すると（ステップＳ３３でＹｅｓ）、再び、記憶したリンク文字列があるか否かを判定する（ステップＳ４３）。この時点では、既にリンク文字列ＡＡＡが取り出されているため、記憶したリンク文字列がないと判断し、その時点で、「追加」モードにおける、「次の階層を選択」が選択された場合の一連のテキスト合成処理を抜ける。
【００３６】
一方、上記ステップＳ４６において再帰印刷フラグが真(TRUE)に設定されていた場合、つまり「以下の階層を選択」で選択されていた場合は、上記ステップＳ４５で発見したリンク文字列ＸＸＸを記憶し（ステップＳ４７）、テキストＴ３の描画を継続する。このテキストＴ３の描画を行っている間に、再びリンク文字列（本例では文字列ＹＹＹ）を発見した場合は、そのリンク文字列ＹＹＹについても順次記憶しておく。
その後、テキストＴ３の描画が終了すると（ステップＳ３３でＹｅｓ）、上記同様に記憶したリンク文字列があるか否かを判定する（ステップＳ４３）。この時点では、文字列ＸＸＸと文字列ＹＹＹといった二つのリンク文字列が記憶されているため、上述のごとく先頭の（先に記憶された方の）文字列ＸＸＸを取り出す（ステップＳ４４）。続いて、先に取り出した文字列ＸＸＸにて関連付けられた下位階層のテキストＴ４を作業領域に読み込んだのち（ステップＳ３２）、上記同様に作業領域内のテキストＴ４の描画が終了したか否かを判定しつつ、作業領域内のテキスト内容に従って描画メモリに描画する（ステップＳ３３，Ｓ３４）。
【００３７】
その後、テキストＴ４の描画が終了すると（ステップＳ３３でＹｅｓ）、再び、記憶したリンク文字列があるか否かを判定する（ステップＳ４３）。この時点では、既に文字列ＸＸＸが取り出されていることから、文字列ＹＹＹだけしか記憶されていないため、その文字列ＹＹＹを取り出す（ステップＳ４４）。さらに、取り出したリンク文字列ＹＹＹにて関連付けられた下位階層のテキストＴ５を新たな作業領域に読み込んだのち（ステップＳ３２）、上記同様に作業領域内のテキストＴ５の描画が終了したか否かを判定しつつ、作業領域内のテキスト内容に従って描画メモリに描画する（ステップＳ３３，Ｓ３４）。そして、テキストＴ５の描画が終了すると、再度、記憶したリンク文字列があるか否かを判定する（ステップＳ４３）。この時点では、既に文字列ＸＸＸと文字列ＹＹＹの両方が取り出されているため、記憶したリンク文字列がないと判断し、その時点で、「追加」モードにおける、「以下の階層を選択」が選択された場合の一連のテキスト合成処理を抜ける。
【００３８】
こうして合成手段１５により合成されたテキストの印刷情報（ビットマップ）は、出力手段１６によってプリンタ装置２に出力される。これによりプリンタ装置２では、コンピュータ装置１の出力手段１６から出力されたテキストの印刷情報に従って所定の印刷処理を実行する。
【００３９】
その結果、「挿入」モードにおいて「次の階層を選択」でテキストを合成した場合は、先の図１０（ａ）に示したように、テキストＴ２の文字列ＡＡＡの後に、該文字列ＡＡＡにて関連付けられた下位階層のテキストＴ３が挿入されたかたちで合成テキストが印刷される。また、同じ「挿入」モードでも「以下の階層を選択」でテキストを合成した場合は、先の図１０（ｂ）に示したように、テキストＴ２の文字列ＡＡＡの後に、該文字列ＡＡＡにて関連付けられた下位階層のテキストＴ３が挿入されるとともに、そのテキストＴ３の文字列ＸＸＸの後には、該文字列ＸＸＸにて関連付けられた下位階層のテキストＴ４が、またテキストＴ３の文字列ＹＹＹの後には、該文字列ＹＹＹにて関連付けられた下位階層のテキストＴ５がそれぞれ挿入されたかたちで合成テキストが印刷される。
【００４０】
一方、「追加」モードにおいて「次の階層を選択」でテキストを合成した場合は、先の図１０（ｃ）に示したように、テキストＴ２の後ろに、該テキストＴ２に含まれる文字列ＡＡＡにて関連付けられた下位階層のテキストＴ３が追加されたかたちで合成テキストが印刷される。また、同じ「追加」モードでも「以下の階層を選択」でテキストを合成した場合は、先の図１０（ｄ）に示すように、テキストＴ２の後ろに、該テキストＴ２に含まれる文字列ＡＡＡにて関連付けられた下位階層のテキストＴ３が追加されるとともに、そのテキストＴ３の後ろに、該テキストＴ３に含まれる文字列ＸＸＸおよび文字列ＹＹＹにて関連付けられた下位階層のテキストＴ４，Ｔ５が順に追加されたかたちで合成テキストが印刷される。
【００４１】
ここで、「以下の階層を選択」でテキストの合成処理を行う場合、一つの階層のテキスト中にリンクが施された同一の文字列（リンク情報）が複数存在すると、同じ内容のテキストが重複して印刷される虞れがある。また、任意の階層のテキスト中にそれよりも上位階層のテキストにリンクする文字列（リンク情報）が存在すると、上述したテキストの合成処理が無限ループになってしまう虞れもある。
【００４２】
そこで本実施形態においては、上述した二つの不都合を解消すべく、以下のような手段を採用することとした。
すなわち、合成手段１５によって合成されたテキストの識別情報を記憶する合成済テキスト記憶手段１７を付加し、この合成済テキスト記憶手段１７に記憶された上記識別情報に対応するテキストについては、合成手段１５がその合成対象から除外することとした。
【００４３】
例えば、「挿入」モードでのテキスト合成処理においては、リンクが施された文字列を発見した際に、その文字列を合成済テキストの識別情報として合成済テキスト記憶手段１７に記憶しておく。そして、その後の処理中に、リンクが施された文字列を発見した場合は、その発見した文字列と同一の文字列が合成済テキスト記憶手段１７に記憶されていないかどうかを確認し、記憶されていない場合に限り、その文字列の次の行を戻り位置として記憶する。
一方、「追加」モードでのテキスト合成処理においても、リンクが施された文字列を発見した際に、その文字列を合成済テキストの識別情報として合成済テキスト記憶手段１７に記憶しておく。そして、その後の処理中に、リンクが施された文字列を発見した場合は、その発見した文字列と同一の文字列が合成済テキスト記憶手段１７に記憶されていないかどうかを確認し、記憶されていない場合に限り、その文字列を記憶する。
【００４４】
これにより、一度のテキスト合成処理に際して、合成手段１５により合成されたテキストについては、繰り返し合成されることを阻止できることから、上述したように一つの階層のテキスト中にリンクが施された同一の文字列（リンク情報）が複数存在する場合や、任意の階層のテキスト中にそれよりも上位階層のテキストにリンクする文字列（リンク情報）が存在する場合でも、同じ内容のテキストが重複して印刷されてしまったり、テキストの合成処理が無限ループになってしまうことがなくなる。
【００４５】
ところで、ハイパーテキストのような階層構造をなす複数のテキストを印刷する場合、実際に印刷されたテキスト（紙面）の状態では、一旦、テキストをバラバラにしてしまうと、各々のテキスト間の上下関係が分かり難くなるうえ、リンク情報にて関連付けられた複数のテキスト間に存在する上位階層から下位階層への参照能力が印刷出力されることで消失し、ハイパーテキスト本体の利便性を失ってしまうことも懸念される。
そこで、こうした懸念を解消すべくなされた本発明の他の実施形態について以下に説明する。
【００４６】
図１３は本発明の他の実施形態が適用されるテキスト印刷システムの概略構成図である。
本システムにおいては、コンピュータ装置２０とプリンタ装置２１とがネットワーク２２を介して接続されている。また、印刷対象となるテキストは、ネットワーク２２上に存在する図示せぬサーバに格納されている。
【００４７】
図１４は上記プリンタ装置２１の構成を示す機能ブロック図である。
図示のようにプリンタ装置２１は、制御部２３と、操作表示部２４と、ネットワークインタフェース部２５と、受信データ格納部２６と、データ処理部２７と、データ展開部２８と、リンク／頁情報格納部２９と、ページバッファ３０と、印刷部３１とから構成されている。
【００４８】
制御部２３は、プリンタ装置各部に対する処理実行の指示と、ネットワークインタフェース部２５を介してネットワーク２２上のサーバ（不図示）にテキストの送信要求を行うものである。
操作表示部２４は、オペレータがアルファベット、数字及び記号を入力可能なキーボードとともに、入力した文字列を確認するための液晶表示パネルを備えたものである。
ネットワークインタフェース部２５は、所定の通信プロトコル(Transmission Control Protocol/Internet Protocol，Hyper Text Transfer Protocol等) に従ってネットワーク２２上のサーバ（不図示）とテキストの送受信を行うもので、このネットワークインタフェース部２５を介して受信されたテキストは受信データ格納部２６に格納される。
【００４９】
データ処理部２７は、「テキスト内のリンク情報の抽出処理」と「テキスト内への参照頁番号の付加処理」を行うものである。ここで、「テキスト内のリンク情報の抽出処理」とは、制御部２３からリンク情報の抽出実行指示を受けた場合に行われるもので、具体的には、テキスト内に記述されている他のテキストへのリンク情報を抽出し、そのリンク先テキストをリンク／頁情報格納部２９に格納する処理をいう。また「テキスト内への参照頁番号の付加処理」とは、制御部２３からデータの付加実行指示を受けた場合に行われるもので、具合的には、テキスト内のリンク情報が記述されている箇所に対し、リンク／頁情報格納部２９で検索されたリンク先テキストに対応する参照頁番号を付加する処理をいう。このデータ処理部２７で処理されたテキストはデータ展開部２８に通知される。ここで、上述の“参照頁番号”とは、実際に複数のテキストを印刷する場合に、それぞれのテキストが何頁目に印刷されているかを示す頁番号となるものである。
【００５０】
データ展開部２８は、制御部２３からデータ展開の実行指示を受けると、データ処理部２７から通知されたテキスト内に記述されているタグ（本形態ではテキストの表題、テキストの表示属性、リンクに関する情報等を記述している）を解釈し、その記述内容に従って各々のテキストをページ単位でビットマップに展開し、これによって得られたビットマップデータをページバッファ３０に格納するものである。また、データ展開部２８では、その展開処理によって得られたビットマップデータの頁数をカウンタ等でカウントし、そこでカウントされた総頁数に基づき、リンク／頁情報格納部２９内の処理未実施である次テキストの参照頁番号を設定する。
【００５１】
リンク／頁情報格納部２９は、例えば図１５に示すように、リンク情報の抽出順を示すエントリー番号（NO. ）とともに、データ処理部２７で抽出されたリンク情報（図例ではリンク先テキストのアドレス）や、データ展開部２８で設定された各テキストの参照頁番号、さらには処理済フラグ(flag)を一組とした「リンク／頁情報」を表形式で格納するもので、このうちエントリー番号についてはデータの初期化（リセット処理）を行った場合でも失われないようになっている。また、処理済フラグは、制御部２３が後述の処理（頁情報収集処理，印刷処理）を実施するにあたって、各々のリンク先テキストに対する所定の処理が終了したことを示すフラグであり、この値が「１」の場合は「処理終了」を示し、「０」の場合は「処理未実施」を示す。
【００５２】
ページバッファ３０は、データ展開部２８によって展開されたビットマップデータを記憶するものである。
印刷部３１は、制御部２３から印刷実行指示を受けると、ページバッファ３０内に格納されているビットマップデータを読み出し、これを用紙上に可視画像として印刷出力するものである。その際、印刷部３１では、制御部２３からの印刷指示の回数を計数し、各頁の印刷時にその指示回数（印刷頁数）を頁番号として用紙の所定位置（例えば右下、右上など）に合成して印刷する。
【００５３】
次に、本実施形態におけるテキスト印刷システムの動作について説明する。
本テキスト印刷システムでは、図１６に示すように、先ず頁情報収集処理を行い（ステップＳ１００）、その後で印刷処理を行う（ステップＳ２００）。
【００５４】
図１７は上述した頁情報収集処理のフローチャートである。
先ず、ステップＳ１０１では、コンピュータ装置２０から出力された最上位階層のテキストを指定するアドレスを、例えばＵＲＬ(Uniform Resource Locators) の記述に従って操作入力部２４にて受け付け、その受け付けたアドレスを制御部２３に通知する。これを受けて制御部２３では、リンク／頁情報格納部２９内のデータをリセット（初期化）したのち、上述のごとく通知された最上位テキストのアドレスをリンク／頁情報格納部２９に格納し、さらにそのアドレスに対応する参照頁番号に「１」を設定する（ステップＳ１０２）。
【００５５】
次に、制御部２３は、アドレスに記述されているネットワーク２２上のサーバ（不図示）に対し、ネットワークインタフェース部２５を介して上記最上位階層のテキストの送信要求を行う。これによりネットワークインタフェース部２５では、プリンタ装置２１側からの要求に対してサーバから送られてくるテキストを受信し、これを受信データ格納部２６に格納する（ステップＳ１０３）。
次いで、制御部２３は、上述した「テキスト内のリンク情報の抽出処理」を実行する旨の指示をデータ処理部２７に与える。これによりデータ処理部２７では、受信データ格納部２６に格納されたテキストを読み出すとともに、そのテキスト内に記述されているリンク情報を抽出し、これに記述されているリンク先テキストのアドレスをリンク／頁情報格納部２９に追加する（ステップＳ１０４）。このとき、リンク情報に記述のアドレスに対応する処理済フラグには、処理未実施を示す値「０」を代入しておく。
【００５６】
これにより、リンク／頁情報格納部２９には、図１８に示すように、エントリー番号：NO. １に最上位階層のテキストのリンク情報（アドレス）が格納されるとともに、そのテキストの中からリンク情報が抽出されるごとに、そのリンク情報に記述されているリンク先テキストのアドレスがエントリー番号：NO. ２，NO. ３，NO. ４…といった具合に順に追加される。
【００５７】
続いて、制御部２３は、データ展開部２８に対してデータの展開処理を実行する旨の指示を与える。これによりデータ展開部２８では、データ処理部２７から通知されたテキストをビットマップに展開するとともに、データ展開を終えたテキストに対応するリンク／頁情報格納部２９内の処理済フラグの値を「１」に設定する。またデータ展開部２８では、リンク／頁情報格納部２９内の展開処理対象のテキストに対応する参照頁番号と、展開処理によって得られたビットマップ頁数とを加算し、その加算値を、処理済フラグが「０」であるテキストのうち、エントリー番号（NO. ）が最も小さいテキスト、つまり次にデータ展開すべきテキストに対応する参照頁番号に設定する（ステップＳ１０５）。
【００５８】
例えば、図１８において、エントリー番号：NO. １に対応する最上位階層のテキストをデータ展開したときの頁数が２頁であった場合は、そのテキストに対応する参照頁番号「１」にその展開頁数である「２」を加算し、その加算値「３」を次テキスト、つまりエントリー番号：NO. ２のテキストに対応する参照頁番号に設定する。
【００５９】
その後、制御部２３は、リンク／頁情報格納部２９内にエントリーされているテキストの中で処理済フラグが「０」のものが存在するか否か、つまりデータ展開が未実施のリンク情報が存在するか否かを判断し（ステップＳ１０６）、存在する場合はネットワーク２２上のサーバに対して再度ネットワークインタフェース部２５を介してテキストを要求し（ステップＳ１０７）、これによって得られたテキストに対してステップＳ１０５と同様の処理を行う。
【００６０】
この時点では、エントリー番号：NO. ２以降のテキストが処理未実施、つまり処理済フラグの値が「０」になっているため、先ずエントリー番号：NO. ２に対応するテキストをサーバに要求し、そのテキストをビットマップに展開する。そして、図１８に示すように、エントリー番号：NO. ２のテキストをデータ展開したときの頁数が４頁であった場合は、そのテキストに対応する先頭頁番頭「３」にその展開頁数である「４」を加算し、その加算値「７」を次テキスト（エントリー番号：NO. ３）に対応する参照頁番号に設定する。また、データ展開を終えたエントリー番号：NO. ２のテキストに対応する処理済フラグを「１」に設定する。
【００６１】
以後、処理未実施のテキスト（エントリー番号：NO. ３以降のテキスト）に対しても上記同様の処理を繰り返し、ステップＳ１０６にて処理未実施のリンク情報がリンク／頁情報格納部２９内に存在しないと判断した時点で一連の頁情報収集処理を終了する。
【００６２】
図１９は先述した印刷処理のフローチャートである。
先ず、ステップＳ２０１において、制御部２３は、リンク／頁情報格納部２９内の処理済フラグを全て、処理未実施を示す値「０」に設定する。
次に、制御部２３は、リンク／頁情報格納部２９内のエントリー番号：NO. １に対応する最上位階層のテキストをネットワークインタフェース部２５を介してサーバに要求する。これによりネットワークインタフェース部２５では、プリンタ装置２１側からの要求に対してサーバから送られてくるテキストを受信データ格納部２６に格納する（ステップＳ２０２）。
【００６３】
次いで、制御部２３は、先述した「テキスト内への参照頁番号の付加処理」を実行する旨の指示をデータ処理部２７に与える。これによりデータ処理部２７では、受信データ格納部２６に格納されているテキストを読み出すとともに、そのテキスト内に記述されているリンク情報の記述箇所とリンク先テキストとを検出し、そのリンク先テキストに対応するリンク／頁情報格納部２９内の参照頁番号を、上記リンク情報の記述箇所に付加する（ステップＳ２０３）。
【００６４】
例えば、図２０において、上述のごとく受信データ格納部２６に格納されているテキストを読み出した際に、エントリー番号：NO. ３に対応するリンク情報が検出された場合は、これに対応するリンク／頁情報格納部２９内の参照頁番号「７」をそのリンク情報の記述箇所に付加し、同様にエントリー番号：NO. ４に対応するリンク情報が検出された場合は、これに対応するリンク／頁情報格納部２９内の参照頁番号「１０」をそのリンク情報の記述箇所に付加する。
【００６５】
続いて、制御部２３は、データ展開部２８に対してデータの展開処理を実行する旨の指示を与える。これによりデータ展開部２８では、データ処理部２７から通知されたテキスト、この場合は頁情報が付加されたテキストをビットマップに展開するとともに、これによって得られたビットマップデータをページバッファ３０に記憶し、さらにデータ展開を終えたテキストに対応するリンク／頁情報格納部２９内の処理済フラグの値を「１」に設定する（ステップＳ２０４）。
【００６６】
次に、制御部２３は、印刷部３１に対して印刷実行の指示を与える。これにより印刷部３１では、テータ展開部２８によってビットマップに展開され且つページバッファ３０に記憶されたビットマップデータを印刷出力するとともに、その印刷出力に際して、制御部２３からの印刷指示回数を計数し、その計数値（印刷頁数）をテキストの印刷イメージに合成して印刷出力する（ステップＳ２０５）。このとき、印刷部３１に対しては、制御部２３から１頁分ごとに印刷指示が与えられるため、最上位階層のテキストを印刷する場合は、印刷開始から順に印刷指示回数がインクリメント（＋１）され、最上位階層のテキスト印刷を終了した段階では印刷指示回数が「２」となる。したがって、エントリー番号：NO. １のテキスト(text1) については、最初の頁に「１」の頁番号が合成印刷され、次の頁に「２」の頁番号が合成印刷される。
【００６７】
その後、制御部２３は、リンク／頁情報格納部２９内にエントリーされているテキストの中で処理済フラグが「０」のものが存在するか否か、つまり印刷処理が未実施のリンク情報が存在するか否かを判断し（ステップＳ２０６）、存在する場合はネットワーク２２上のサーバに対して再度ネットワークインタフェース部２５を介してテキストを要求し（ステップＳ２０７）、これによって得られたテキストに対してステップＳ２０３〜Ｓ２０５と同様の処理を行う。
【００６８】
この時点では、エントリー番号：NO. ２以降のテキストが処理未実施、つまり処理済フラグが「０」になっているため、ステップＳ２０７にてエントリー番号：NO. ２に対応するテキストをサーバに要求し、上記ステップＳ２０３〜Ｓ２０５と同様に頁情報の付加処理及びビットマップへの展開を行ったのち、そのテキストの印刷イメージに、制御部２３からの印刷指示回数である頁番号を合成して印刷出力する。そして、印刷処理を終えたエントリー番号：NO. ２のテキストに対応する処理済フラグを「１」に設定する。これにより、エントリー番号：NO. ２のテキストは、上記最上位階層のテキストに続いて「３」頁目から印刷開始され、印刷終了の頁番号は「６」となる。
以後、処理未実施のテキスト（エントリー番号：NO. ３以降のテキスト）に対しても上記同様の処理を繰り返し、ステップＳ２０６にて処理未実施のリンク情報がリンク／頁情報格納部２９内に存在しないと判断した時点で一連の印刷処理を終了する。
【００６９】
図２１は印刷部３１によるテキストの印刷結果を示す模式図である。
図示した印刷結果では、先の図２０に示す「リンク／頁情報」に対応して上位階層のテキスト(text1) から順に、その下位階層のテキスト(text2),(text3),(text4) が印刷されている。また、各階層のテキストには、それぞれの頁内（テキスト用紙）の所定位置（図例では右下）に対し、印刷順に従って頁番号が合成印刷されている。さらに、上位階層のテキスト(text1) 内容には、リンク情報の記述箇所に対してリンク先テキストの参照頁番号が付加されたかたちで印刷されている。
【００７０】
このように本テキスト印刷システムでは、テキスト内のリンク情報の記述箇所にそのリンク先テキストの参照頁番号を付加し、さらに参照頁番号が付加された各階層のテキストに対し、印刷頁数に対応した頁番号を合成して印刷するようにしたので、実際に印刷出力されたテキスト（紙面）の状態でも、ハイパーテキスト本体のテキスト間の参照能力を消失することなく、上位階層のテキストと下位階層のテキストとの関連付けを視覚的に認識することが可能となる。
【００７１】
さらに、本テキスト印刷システムに対して、各階層のテキスト内に記述されている表題（タイトル）を抽出し、この表題を、そのテキストの参照頁番号と対応させて目次を作成する目次作成手段を付加し、この目次作成手段により作成された目次、すなわち図２２に示すように各階層テキストの表題と印刷時の参照頁番号を一覧印刷するようにすれば、印刷出力されたテキスト資料の何頁目にどのような内容が印刷されているかを一目で確認できるようになる。
【００７２】
なお、上記他の実施形態においては、最上位階層のテキストに含まれるリンク情報のみを抽出するようにしたが、さらにそれよりも下位階層のテキストに含まれるリンク情報をも抽出することで、上記一連の処理を再帰的に行うことも可能である。
また、本発明に係るテキスト印刷システムは、ハイパーテキストを印刷するものに限らず、所定のリンク情報で関連付けられたハイパーテキスト以外のテキストを印刷する場合においても同様に適用することができる。
【００７３】
【発明の効果】
以上説明したように本発明のテキスト印刷システムによれば、上位階層テキスト選択手段を介して上位階層のテキストを選択するだけで、その上位階層のテキストに含まれるリンク情報に対応した下位階層のテキストが下位階層テキスト選択手段によって選択され、こうして選択された上位階層及び下位階層のテキストが印刷手段により印刷される構成となっているため、オペレータとしては一度の操作で複数のテキストを印刷処理することが可能となる。その結果、リンク情報にて関連付けられた複数のテキストを印刷する場合、従来のように下位階層のテキストをいちいちウインドウ上に表示しなくても済むようになるため、オペレータの操作を大幅に簡素化することができる。
【図面の簡単な説明】
【図１】  本発明が適用されるテキスト印刷システムの概略構成図である。
【図２】  テキストの概念図である。
【図３】  テキストの記述言語を示す図である。
【図４】  テキストの表示例を示す図である。
【図５】  テキスト印刷のための機能ブロック図である。
【図６】  テキストを選択する際の操作手順を説明する図である。
【図７】  テキスト選択操作における装置内部の処理を説明するフローチャートである。
【図８】  原テキストの変更例を示す図である。
【図９】  テキストを印刷する際の操作手順を説明する図である。
【図１０】  印刷結果の一例を示す模式図である。
【図１１】  「挿入」モードにおけるテキスト合成処理を説明するフローチャートである。
【図１２】  「追加」モードにおけるテキスト合成処理を説明するフローチャートである。
【図１３】  本発明の他の実施形態が適用されるシステム構成図である。
【図１４】  他の実施形態におけるプリンタ装置の構成図である。
【図１５】  リンク／頁情報のテーブルデータを示す図である。
【図１６】  他の実施形態でのメインフローチャートである。
【図１７】  頁情報収集処理のフローチャートである。
【図１８】  参照頁番号の設定処理を説明する図である。
【図１９】  印刷処理のフローチャートである。
【図２０】  参照頁番号の付加処理を説明する図である。
【図２１】  テキスト印刷例を示す図である。
【図２２】  目次印刷例を示す図である。
【符号の説明】
１  コンピュータ装置
２  プリンタ装置（印刷手段）
１２  上位階層テキスト選択手段
１３  下位階層テキスト選択手段
１５  合成手段
１６  出力手段
１７  合成済テキスト記憶手段
２０  コンピュータ装置（上位階層テキスト選択手段）
２７  データ処理部（下位階層テキスト選択手段，頁番号付加手段）
２９  リンク／頁情報格納部（設定手段）
３１  印刷部（印刷手段）
【図１】
0003855334.tif 000002
【図２】
0003855334.tif 000003
【図３】
0003855334.tif 000004
【図４】
0003855334.tif 000005
【図５】
0003855334.tif 000006
【図６】
0003855334.tif 000007
【図７】
0003855334.tif 000008
【図８】
0003855334.tif 000009
【図９】
0003855334.tif 000010
【図１０】
0003855334.tif 000011
【図１１】
0003855334.tif 000012
【図１２】
0003855334.tif 000013
【図１３】
0003855334.tif 000014
【図１４】
0003855334.tif 000015
【図１５】
0003855334.tif 000016
【図１６】
0003855334.tif 000017
【図１７】
0003855334.tif 000018
【図１８】
0003855334.tif 000019
【図１９】
0003855334.tif 000020
【図２０】
0003855334.tif 000021
【図２１】
0003855334.tif 000022
【図２２】
0003855334.tif 000023