(57)【要約】【課題】  複数ページの画像を連続して印刷する際に、ユーザが読みやすい印刷結果を提供する。【解決手段】  連続画像を記録するページ間データにおいて、前ページの下端部を記録するデータと次ページの上端部を記録するデータとの連続性を調べ、連続性がある場合（下端部が文字データであり、下端部の前に行間があり、上端部が文字データであり、上端部の次に空白や行間がある場合）には、前ページの下端部データの前に改ページを行い、下端部データによる画像を次ページに印刷することにより、例えば、図１（ａ）に示すようなページ間をまたいで印刷されることによる文字切れを防止し、図１（ｂ）に示す印刷結果を提供できる。【選択図】図１
2005158034.tif 000002
【特許請求の範囲】
【請求項１】
複数のラスタラインに基づいて、印刷装置が複数の記録媒体に連続して画像を印刷する際に、前記複数の記録媒体にまたがって記録される画像があるか否かを判別する判別工程と、
前記判別工程によって前記複数の記録媒体にまたがって記録される画像があると判別された場合に、前記複数の記録媒体にまたがって記録される画像を次ページに印刷する印刷工程と、を有し、
前記判別工程は更に、前記ラスタラインが空白ラスタラインか否かを判別する空白ラスタライン工程と、
前記空白ラスタライン判別工程によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判定工程と、
前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別工程と、
を有することを特徴とする印刷方法。
【請求項２】
複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置であって、
前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別手段と、
前記空白ライン判別手段によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別手段と、
前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別手段と、
前記下端判別手段によって下端と判別されたラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別され、前記行間判別手段によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力手段と、
を有することを特徴とする印刷制御装置。
【請求項３】
前記出力手段は、前記下端判別手段によって下端と判別されたラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別された場合に、前記下端のラスタラインとそれに続くラスタラインとを連続して記憶する記憶手段を有し、前記出力手段は、前記記憶手段に記憶された前記下端のラスタとそれに続くラスタラインとを出力することを特徴とする請求項２に記載の印刷制御装置。
【請求項４】
前記行間判別手段は、連続して出現する前記空白ラスタライン数を計数し、前記計数した中で発生頻度の高いラスタライン数に基づいて前記連続する空白ラスタラインが文字行と文字行との間の行間であるか否かを判別することを特徴とする請求項２又は請求項３に記載の印刷制御装置。
【請求項５】
前記行間判別手段は、空白でないラスタラインが出現するごとに、それ以前の空白ラスタライン数の出現数を蓄積する蓄積手段を有し、前記蓄積手段に蓄積された前記出現数に基づいて前記発生頻度を判別することを特徴とする請求項４に記載の印刷制御装置。
【請求項６】
印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置であって、
前記印刷制御手段が、
前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別手段と、
前記空白ライン判別手段によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別手段と、
前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別手段と、
前記下端判別手段によって下端と判別されたラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別され、前記行間判別手段によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力手段と、
を有することを特徴とする印刷装置。
【請求項７】
複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置の制御方法であって、
前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別工程と、
前記空白ライン判別工程によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別工程と、
前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別工程と、
前記下端判別工程によって下端と判別されたラスタラインが前記空白ライン判別工程手段によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、前記行間判別工程によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力工程と、
を有することを特徴とする印刷制御装置の制御方法。
【請求項８】
印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置の制御方法であって、
前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別工程と、
前記空白ライン判別工程によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別工程と、
前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別工程と、
前記下端判別工程によって下端と判別されたラスタラインが前記空白ライン判別工程手段によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、前記行間判別工程によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力工程と、
前記出力工程によって出力された前記下端のラスタとそれに続くラスタラインに基づいて画像を印刷する印刷工程と、
を有することを特徴とする印刷装置の制御方法。
【請求項９】
複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置を制御する制御プログラムであって、
前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別工程のプログラムコードと、
前記空白ライン判別工程によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別工程のプログラムコードと、
前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別工程のプログラムコードと、
前記下端判別工程によって下端と判別されたラスタラインが前記空白ライン判別工程手段によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、前記行間判別工程によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力工程のプログラムコードと、
を有することを特徴とする印刷制御装置を制御する制御プログラム。
【請求項１０】
印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置を制御する制御プログラムであって、
前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別工程のプログラムコードと、
前記空白ライン判別工程によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別工程のプログラムコードと、
前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別工程のプログラムコードと、
前記下端判別工程によって下端と判別されたラスタラインが前記空白ライン判別工程手段によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、前記行間判別工程によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力工程のプログラムコードと、
前記出力工程によって出力された前記下端のラスタとそれに続くラスタラインに基づいて画像を印刷する印刷工程のプログラムコードと、
を有することを特徴とする印刷装置を制御する制御プログラム。
【請求項１１】
コンピュータ読み取り可能な記憶媒体であって、請求項９に記載された制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項１２】
コンピュータ読み取り可能な記憶媒体であって、請求項１０に記載された制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項１３】
複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置の制御方法であって、
前記印刷装置が複数ページの記録媒体に連続して画像を印刷する場合に、ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別工程と、
前記ページ下端ライン空白判別工程が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別工程とを有し、
前記ページ下端ライン空白判別工程と前記次ページ先頭ライン空白判別工程の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする印刷制御装置の制御方法。
【請求項１４】
複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置において、
前記印刷装置が複数ページの記録媒体に連続して画像を印刷する場合に、
ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別手段と、
前記ページ下端ライン空白判別手段が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別手段とを有し、
前記ページ下端ライン空白判別手段と前記次ページ先頭ライン空白判別手段の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする印刷制御装置。
【請求項１５】
印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置であって、
前記印刷手段が複数ページの記録媒体に連続して画像を印刷する場合に、
前記印刷制御手段が、
ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別手段と、
前記ページ下端ライン空白判別手段が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別手段とを有し、
前記ページ下端ライン空白判別手段と前記次ページ先頭ライン空白判別手段の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする印刷装置。
【請求項１６】
印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置の制御方法であって、
前記印刷手段が複数ページの記録媒体に連続して画像を印刷する場合に、
ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別工程と、
前記ページ下端ライン空白判別工程が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別工程とを有し、
前記ページ下端ライン空白判別工程と前記次ページ先頭ライン空白判別工程の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする印刷装置の制御方法。
【請求項１７】
複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置を制御する制御プログラムであって、
前記印刷装置が複数ページの記録媒体に連続して画像を印刷する場合に、
ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別工程のプログラムコードと、
前記ページ下端ライン空白判別工程が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別工程のプログラムコードとを有し、
前記ページ下端ライン空白判別工程と前記次ページ先頭ライン空白判別工程の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする印刷制御装置を制御する制御プログラム。
【請求項１８】
印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置を制御する制御プログラムであって、
前記印刷手段が複数ページの記録媒体に連続して画像を印刷する場合に、
ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別工程のプログラムコードと、
前記ページ下端ライン空白判別工程が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別工程のプログラムコードとを有し、
前記ページ下端ライン空白判別工程と前記次ページ先頭ライン空白判別工程の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする印刷装置を制御する制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタに接続される印刷制御装置、印刷装置、それらの制御方法、印刷方法、制御プログラム及び記憶媒体に関し、特に、ブラウザ機能を有しないプリンタドライバ等を含む印刷制御装置において、複数ページの画像を連続して印刷する際に、ユーザに対して読みやすい印刷結果を提供する印刷方法、印刷制御装置、印刷装置及びそれらの制御方法、制御プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
近年パソコン等のコンピュータを使用しなくてもインターネットやＥメールを利用できる携帯端末やセットトップボックスが普及しつつある。セットトップボックスとはテレビに接続して様々なサービスを提供するデバイスのことである。これら装置内にはＨＴＭＬデータを解析し、ラスタライズ及び表示を行うブラウザソフトウエアやＥメール用アプリケーション、文字データ等が搭載されている。ユーザはＣＲＴやテレビ画面などの表示装置を介してこれらの機能が使用可能であり、パソコンに不慣れな一般ユーザに対してもインターネット環境の提供が可能となっている。またこれらの装置にプリンタを接続しインターネットのホームページやＥメールデータ、搭載される様々なアプリケーションからの印刷も可能となっている。（例えば、特許文献１）。
【特許文献１】特開平１１−１５７４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記例のシステムにおいて印刷を行う場合、文字データの途中で改ページが入ってしまい文字が２ページにまたがって印刷されてしまうことが稀ではない。これはホームページやＥメールなどのデータはページの概念を持たないデータであるため、データを１ページ上にどのようにラスタライズするかは装置内のブラウザなどのアプリケーションに依存することになり、ブラウザによっては文字データの途中に改ページを挿入し、結果として文字が２ページにまたがって印刷され、ユーザにとって見難い出力結果となるのである。
【０００４】
この問題を解決するための手段として、例えば、特開平１１−１５７４９号公報があるが、これはＨＴＭＬデータ等のラスタライズ前のソースデ−タを解析し、レイアウトを変更した新たなＨＴＭＬデータを作成した後ラスタライズするものであるため、ＨＴＭＬデータの解析及び生成機能を有しないプリンタドライバ等での実現は不可能であった。
【０００５】
本発明は上記説明した従来技術の問題点を克服することを出発点としてなされたものであり、その目的は、例えば、ブラウザ機能を有しないプリンタドライバ等を含む印刷制御装置などを用いて複数ページの画像を連続して印刷する際に、ユーザに対して読みやすい印刷結果を生成する印刷方法、印刷制御装置、印刷装置及びそれらの制御方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明に係る一実施形態の印刷方法は、以下の構成を有する。すなわち、複数のラスタラインに基づいて、印刷装置が複数の記録媒体に連続して画像を印刷する際に、前記複数の記録媒体にまたがって記録される画像があるか否かを判別する判別工程と、前記判別工程によって前記複数の記録媒体にまたがって記録される画像があると判別された場合に、前記複数の記録媒体にまたがって記録される画像を次ページに印刷する印刷工程とを有し、前記判別工程は更に、前記ラスタラインが空白ラスタラインか否かを判別する空白ラスタライン工程と、前記空白ラスタライン判別工程によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判定工程と、前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別工程と、を有することを特徴とする。
【０００７】
上記目的を達成するための本発明に係る一実施形態の印刷制御装置は、以下の構成を有する。すなわち、複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置であって、前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別手段と、前記空白ライン判別手段によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別手段と、前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別手段と、前記下端判別手段によって下端と判別されたラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別され、前記行間判別手段によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力手段と、を有することを特徴とする。
【０００８】
ここで、例えば、前記出力手段は、前記下端判別手段によって下端と判別されたラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別された場合に、前記下端のラスタラインとそれに続くラスタラインとを連続して記憶する記憶手段を有し、前記出力手段は、前記記憶手段に記憶された前記下端のラスタとそれに続くラスタラインとを出力することが好ましい。
【０００９】
ここで、例えば、前記行間判別手段は、連続して出現する前記空白ラスタライン数を計数し、前記計数した中で発生頻度の高いラスタライン数に基づいて前記連続する空白ラスタラインが文字行と文字行との間の行間であるか否かを判別することが好ましい。
【００１０】
ここで、例えば、前記行間判別手段は、空白でないラスタラインが出現するごとに、それ以前の空白ラスタライン数の出現数を蓄積する蓄積手段を有し、前記蓄積手段に蓄積された前記出現数に基づいて前記発生頻度を判別することが好ましい。
【００１１】
上記目的を達成するための本発明に係る一実施形態の印刷装置は、以下の構成を有する。すなわち、印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置であって、前記印刷制御手段が、前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別手段と、前記空白ライン判別手段によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別手段と、前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別手段と、前記下端判別手段によって下端と判別されたラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別手段によって空白ラスタラインでないと判別され、前記行間判別手段によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力手段と、を有することを特徴とする。
【００１２】
上記目的を達成するための本発明に係る一実施形態の印刷制御装置の制御方法は、以下の構成を有する。すなわち、複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置のを制御する制御方法であって、前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別工程と、前記空白ライン判別工程によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別工程と、前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別工程と、前記下端判別工程によって下端と判別されたラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、前記行間判別工程によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力工程と、を有することを特徴とする。
【００１３】
上記目的を達成するための本発明に係る一実施形態の印刷装置の制御方法は、以下の構成を有する。すなわち、印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置の制御方法であって、前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別工程と、前記空白ライン判別工程によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別工程と、前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別工程と、前記下端判別工程によって下端と判別されたラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、前記行間判別工程によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力工程と、前記出力工程によって出力された前記下端のラスタとそれに続くラスタラインに基づいて画像を印刷する印刷工程と、を有することを特徴とする。
【００１４】
上記目的を達成するための本発明に係る一実施形態の制御プログラムは、以下の構成を有する。すなわち、複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置を制御する制御プログラムであって、前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別工程のプログラムコードと、前記空白ライン判別工程によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別工程のプログラムコードと、前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別工程のプログラムコードと、前記下端判別工程によって下端と判別されたラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、前記行間判別工程によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力工程のプログラムコードと、を有することを特徴とする。
【００１５】
上記目的を達成するための本発明に係る一実施形態の制御プログラムは、以下の構成を有する。すなわち、印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置を制御する制御プログラムであって、前記ラスタラインが空白ラスタラインか否かを判別する空白ライン判別工程のプログラムコードと、前記空白ライン判別工程によって判別された空白ラスタラインが文字行と文字行との間の行間であるか否かを判別する行間判別工程のプログラムコードと、前記ラスタラインが前記印刷装置で印刷される記録領域の下端か否かを判別する下端判別工程のプログラムコードと、前記下端判別工程によって下端と判別されたラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、かつ、前記下端のラスタラインに続くラスタラインが前記空白ライン判別工程によって空白ラスタラインでないと判別され、前記行間判別工程によって前記下端のラスタラインの直前の空白ラスタラインが行間であると判別された場合に、改ページ情報を出力した後で、前記下端のラスタとそれに続くラスタラインとを出力する出力工程のプログラムコードと、前記出力工程によって出力された前記下端のラスタとそれに続くラスタラインに基づいて画像を印刷する印刷工程のプログラムコードと、を有することを特徴とする。
【００１６】
上記目的を達成するための本発明に係る一実施形態の印刷制御装置の制御方法は、以下の構成を有する。すなわち、複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置の制御方法であって、前記印刷装置が複数ページの記録媒体に連続して画像を印刷する場合に、ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別工程と、前記ページ下端ライン空白判別工程が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別工程とを有し、前記ページ下端ライン空白判別工程と前記次ページ先頭ライン空白判別工程の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする。
【００１７】
上記目的を達成するための本発明に係る一実施形態の印刷制御装置は、以下の構成を有する。すなわち、複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置において、前記印刷装置が複数ページの記録媒体に連続して画像を印刷する場合に、ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別手段と、前記ページ下端ライン空白判別手段が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別手段とを有し、前記ページ下端ライン空白判別手段と前記次ページ先頭ライン空白判別手段の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする。
【００１８】
上記目的を達成するための本発明に係る一実施形態の印刷装置は、以下の構成を有する。すなわち、印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置であって、前記印刷手段が複数ページの記録媒体に連続して画像を印刷する場合に、前記印刷制御手段が、ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別手段と、前記ページ下端ライン空白判別手段が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別手段とを有し、前記ページ下端ライン空白判別手段と前記次ページ先頭ライン空白判別手段の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする。
【００１９】
上記目的を達成するための本発明に係る一実施形態の印刷制御装置の制御方法は、以下の構成を有する。すなわち、印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置の制御方法であって、前記印刷手段が複数ページの記録媒体に連続して画像を印刷する場合に、ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別工程と、前記ページ下端ライン空白判別工程が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別工程とを有し、前記ページ下端ライン空白判別工程と前記次ページ先頭ライン空白判別工程の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする。
【００２０】
上記目的を達成するための本発明に係る一実施形態の制御プログラムは、以下の構成を有する。すなわち、複数のラスタラインに分割された画像を印刷装置に出力する印刷制御装置を制御する制御プログラムであって、前記印刷装置が複数ページの記録媒体に連続して画像を印刷する場合に、ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別工程のプログラムコードと、前記ページ下端ライン空白判別工程が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別工程のプログラムコードとを有し、前記ページ下端ライン空白判別工程と前記次ページ先頭ライン空白判別工程の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする。
【００２１】
上記目的を達成するための本発明に係る一実施形態の制御プログラムは、以下の構成を有する。すなわち、印刷手段と、複数のラスタラインに分割された画像を前記印刷手段に出力する印刷制御手段とを含む印刷装置を制御する制御プログラムであって、前記印刷手段が複数ページの記録媒体に連続して画像を印刷する場合に、ページの下端ラスタラインが空白ラスタラインか否かを判別するページ下端ライン空白判別工程のプログラムコードと、前記ページ下端ライン空白判別工程が、ページ下端ラスタラインを空白ラスタラインでないと判別した場合に、次ページの先頭ラスタラインが空白ラスタラインか否かを判別する次ページ先頭ライン空白判別工程のプログラムコードとを有し、前記ページ下端ライン空白判別工程と前記次ページ先頭ライン空白判別工程の判別結果から空白ラインでないラスタラインが連続している場合には、前記ページ下端ラスタラインの前に改ページを入れる事を特徴とする。
【発明の効果】
【００２２】
本発明のブラウザ機能を有しないプリンタドライバ等を含む印刷制御装置などでは、複数ページの画像を連続して印刷する際に、ユーザに対して読みやすい印刷結果を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について、図面を参照して説明する。
【００２４】
［発明の概要］
最初に、本発明の印刷制御装置の概要について説明する。
【００２５】
本印刷制御装置は、プリンタと接続されプリンタの印刷を制御するものであり、本印刷装置内には、ブラウザ機能を有しないが、印刷対象データをプリンタ特有のデータに変換するプリンタドライバを有している。本プリンタドライバは、印刷対象データに対して、色変換処理、量子化処理などを施した後、プリンタにデータを送信する。なお、印刷対象データはプリンタドライバを呼ぶシステムソフトウエアによりラスタライズされプリンタドライバに渡されるものであり、プリンタはフォントデータを搭載していないものとする。なお本印刷制御装置は、プリンタと一体となった構成の印刷装置であっても良い。
【００２６】
［印刷制御装置の処理：図１］
図１は、本発明の実施形態に係る印刷制御装置を用いて行われるプリンタの制御処理の一例を説明する図であり、図１（ａ）の処理前のページ１と処理前のページ２は、本発明の処理を施す前の状態であり、プリンタから出力される２枚の連続する画像は、１０１と１０２に示すページ間において文字切れが発生している。一方、図１（ｂ）の処理後のページ１と処理後のページ２は、本発明の処理を施した結果であり、プリンタから出力される２枚の連続する画像は、１０３と１０４に示すページ間において文字切れが発生しておらず、文字切れが改善されていることを示している。
【００２７】
本印刷制御装置は上記処理を行うために以下の手段を有する。すなわち、本印刷制御装置は、プリンタドライバ内にシステムから渡される各１ラスタラインが空白ラスタライン（ＮＵＬＬラスタライン、ＮＵＬＬラスタラインを示す情報など）であるかどうかの判断手段を有する。またプリンタドライバ内にシステムから渡されるラスタラインの各ページの上端部を含む複数ラスタラインと下端部を含む複数ラスタラインをスプールする手段を有する。本記憶手段は連続する空白ラスタラインでないラスタラインを記憶するもので、空白ラスタラインを認識した時点でスプールを中止する。この処理により、ページ上端部では上端ラスタラインから最初の空白ラスタラインまでがスプールされ、下端部では、最後の空白ラスタラインから下端ラスタラインまでがスプールされることになる。もちろん上端及び下端が空白ラスタラインである場合にはスプール処理は行われない。さらに、全ラスタラインに対して、連続する空白ラスタライン数をカウントする空白ラスタラインカウント手段を有数する。空白ラスタラインカウント手段は空白ラスタラインでないラスタラインを認識した時点で処理を中止し、その時点のカウント値を記憶する。またすでに同じラスタライン数が記憶されていた場合には、同ラスタライン数に対するカウント値を増やすことで、空白ラスタライン数の発生頻度を把握する。
【００２８】
印刷対象データがＥメールなどの文章である場合に、行間が発生し、また複数行においてその行間は比較的同値となる可能性が高く、更に行間データは空白ラスタラインで構成されている。この特性を活かし、本印刷制御装置では、連続する空白ラスタラインが印刷対象データにおける行間か否かを把握することが可能である。しかし白画像等で空白ラスタラインが発生する可能性もあるため、発生頻度を調べることで行間の把握率を向上させることが可能となる。
【００２９】
以上の手段を用意した上で、印刷時に処理対象ラスタが下端部に到達した時点で、最後の空白ラスタライン数を把握し、そのラスタライン数がそれまでに発生頻度を把握したラスタライン数の中で最も多いラスタライン数に近い値かどうかの判断を行い、近い値であれば、最後の空白ラスタラインは行間と認識する。一方、次ページの上端部においても同処理を実行し、最初の連続する空白ラスタラインが行間であるかの判定を行う。
【００３０】
ここで、例えば、下端部直前の最後の空白ラスタラインが行間であり、上端部に続く最初の連続する空白ラスタラインがある場合（行間でなくても良いし、行間であっても良い）、には、下端部と次ページの上端部が連続するデータとして認識され、前ページのスプールしていた下端部の出力前に改ページを行い、下端部データを次ページの先頭データとして出力を行う。このような処理をすることにより、通常で有れば２ページにまたがって印刷される画像を次ページの先頭部分で印刷されるように変更するため改ページによる文字切れを防ぐことができる。これは、例えば１ページ内の空白ラインを抜いて、詰めてプリントするよりもＷｅｂページ等の製作者の意図したレイアウトが重要なデータを印刷する場合に有効である。
【００３１】
更に前ページの最下端ラスタと次ページの最上端データにおいて、それぞれの対応する画素データの比較を行う手段も有する。本手段を上述した処理に付加することで、文字切れの認識率を向上させることができる。以上の手段を有する本印刷制御装置は、改ページによる文字切れを軽減し、ユーザに対して読みやすい印刷結果を生成することができる。
【００３２】
［印刷制御装置：図２］
図２は、本発明の実施の形態に係わる印刷制御装置が動作するハードウエアの全体構成図示すブロック図である。本発明の実施の形態に係わる印刷制御装置は、後述する本発明の機能を含んだプリンタドライバが存在する印刷制御装置２０１、及び保存領域２０２、表示装置２０３、入力装置２０４、及びプリンタ２０５を備えるハードウエア構成となっている。なお、図２は一例であり、印刷制御装置又は印刷装置が、複数の機器、例えば、プリンタの印刷制御を行う印刷処理装置（ホストコンピュータ）とプリンタなどから構成されるシステムであってもよい。
【００３３】
［印刷制御装置の内部構成：図３Ａ，３Ｂ］
図３Ａは、上述した図２の印刷制御装置とプリンタの内部構成を説明する機能ブロック図である。印刷制御装置２０１内には、プリンタドライバ３０２、データ送受信部３０９、保存領域２０２等が存在する。またプリンタドライバ３０２内には、印字画像入手部３０３、文字切れ処理部３０４、色変換処理部３０５、量子化部３０６、印字データ作成部３０７、印字データ出力部３０８が存在する。一方プリンタ３２０は、データ送受信部３２１、データ印字部３２２等が存在する。
【００３４】
図３Ｂは、図３Ａで示した機能を実現するためのハードウエアの構成を示すブロック図である。印刷制御装置２０１内には、ＣＰＵ３１０、ＲＯＭ３１１、ＲＡＭ３１２、データ送受信部３０９、保存領域２０２等が存在する。ここで、ＣＰＵ３１０は、印刷制御装置全体の制御を行うＣＰＵである。ＲＯＭ３１１は、後述するフローチャートの処理を実現するプログラムを含むＣＰＵ３１０を制御する各種の制御プログラムやフォントなどの各種データを格納するＲＯＭである。ＲＡＭ３１２は、ＣＰＵ３１０のワークメモリとして機能したり、入力されたデータを一時的に格納するＲＡＭである。印刷制御装置２０１とプリンタ２０５は、ＵＳＢ、パラレル、ネットワークなどの双方向インターフェースで接続されており、データ送受信部３０９はプリンタ２０５との間でデータ等の送受信を行う。また、保存領域２０２はハードディスクなどのメモリであり、ＣＰＵ３１０の制御プログラムやフォントなどの各種データを格納することができる。一方プリンタ２０５には、データ送受信部３２１、データ印字部３２２、ＣＰＵ３２３、ＲＯＭ３２４、ＲＡＭ３２５等が存在する。ここで、ＣＰＵ３２３は、プリンタ全体の制御を行うＣＰＵであり、ＲＯＭ３２４は、ＣＰＵ３２４を制御する各種制御プログラム等を格納するＲＯＭであり、ＲＡＭ３２５は、ＣＰＵ３２３のワークメモリ等として機能するＲＡＭであり、下端フラグ３１２ａ，改ページフラグ３１２ｂ、行間チックテーブル３１２ｃ等が格納される。データ送受信部３２１は印刷制御装置２０１との間でデータ等の送受信を行う。また、データ印字部３２２は受信したデータに基づいて画像を印刷する。下端フラグはページの区切りを示す改ページコードの１行前すなわち下端のラインを示す内部的なフラグである。また、本実施例の印刷装置ではシステムソフトウェアが印刷データをラスタライズしてからプリンタドライバに渡す構成なので、改ページフラグはシステムソフトウェアあるいはプリンタドライバが用紙サイズに応じて適宜付加する。
【００３５】
次に、上記説明した構成を詳述する。印刷処理が開始されると、プリンタドライバ３０２では、まず印字画像入手部３０３において印字対象となる画像データの入手が行われる。入手されたデータに対して文字切れ処理部３０４において、後述する本発明の文字切れ処理が実行される。次に色変換処理部３０５においてプリンタ２０５に依存した色への色変換処理が実行される。色変換処理を通過したデータは量子化部３０６により、誤差拡散処理やディザ処理を施され、プリンタが扱える量子化後のデータに変換される。変換されたデータは印字データ作成部３０７によりプリンタ印字データに変換された後に印字データ出力部３０８を介してプリンタに送信される。また保存領域２０２内には、後述する文字切れ処理に使用する行間チェック量データが保存されている。
【００３６】
一方プリンタ２０５内のデータ送受信部３２１は、印刷制御装置２０１内のデータ送受信部３０９から送信されたデータを受信し、データ印字部３２２を使用して印字を行う。以上が本印刷制御装置のハードウエア内の動作処理の詳述である。
【００３７】
［文字切れ処理部の処理］
次に上述した図３における文字切れ処理部３０４の処理について、図４、図５、図６Ａ及び図６Ｂを用いて更に詳述する。文字切れ処理部３０４の処理は、保存領域２０２あるいはＲＯＭ３１１などに格納された制御プログラム（プログラム実行ファイル２０２ａ）に基づいてＣＰＵ３２４が各部を制御しながら実行するものである。図４は文字切れ処理が施されていない場合の出力結果である。図４（ａ）に示すページ１における下端部に４０１に示す文字列“あいうえお５”があるが、文字データのほぼ中央部分以下が印字領域の下端にかかるため図４（ｂ）に示す２ページ目の上端の４０２に示す位置に印刷が行われている。
【００３８】
一方図５は本印刷制御装置の文字切れ処理部３０４による文字切れ処理を施した結果である。図４（ａ）において印字領域の下端にかかっていた４０１に示す文字列“あいうえお５”は、文字切れ処理を施した結果、図５（ｂ）に示す２ページ目の上端の５０２に示す位置に印刷されることにより文字切れを回避し、ユーザにとって可読し易い結果となっている。このように本文字切れ処理においては、ページの印字領域下端にかかる部分前に改ページを行い、以降のデータを次ページに印刷することにより文字切れを回避することができる。
【００３９】
図６Ａはページ上の文字列の拡大図である。ページ上にレイアウトされたＥメールなどの文字列データにおいては行間が発生し、その行間はほぼ等しい量となる。例えば、図６Ａに示す行間１と行間２の量（行間量ｍ）は通常同じである。この特性を活かし、例えば、図４（ａ）における文字列“あいうえお４”と文字列“あいうえお５”の間の空間（行間量４）が、文字列“あいうえお１”と文字列“あいうえお２”の空間（行間量１）等、他の行間量と同じであれば行間として判断することが可能である。図４（ｂ）のページ２でも同様に、“あいうえお５”と“あいうえお６”の空間（行間量５）を行間として判断することが可能である。更に文字切れが発生した場合、前ページの最下端ラスタデータ（４０１）と次ページの最上端ラスタデータ（４０２）には連続性があるため、空行が発生しない。このため上述の２つの行間（行間量４、行間量５）を認識することにより、２つの行間の間にあるデータ（４０１と４０２）は文字切れが発生している連続するデータとして認識することが可能である。
【００４０】
［行間値の認識方法：図６Ｂ］
行間値の認識方法については図６Ｂを用いて説明する。システムから渡されるデータは既にラスタライズされた画像データであるため、文字列は例えば“あいうえお２”のように、図６Ｂに示すように複数のラスタラインデータ４〜８に分割されている。また各ラスタラインデータ単位では、ラスタライン上に何かしらのＮＵＬＬではない画像データが存在する。一方行間データも図６Ｂに示すように複数のラスタラインデータ（例えば、１〜３，９〜１０、１６〜１９など）で構成されているが、全ラスタともに空白ラスタラインデータ（ＮＵＬＬラスタラインデータなど）となっている。
【００４１】
このため、各ラスタラインデータに対し１ライン全てがＮＵＬＬであるかどうかの判断を行い、１ライン全てがＮＵＬＬの場合にＮＵＬＬラスタラインを認識し、またＮＵＬＬラスタが数ライン連続した部分を行間として認識することが可能である。
【００４２】
しかしながら、白画像のように実データがＮＵＬＬであることにより結果としてＮＵＬＬラスタを構成する可能性もある。このため１ページ目の上端より連続するＮＵＬＬラスタが発生した場合のラスタ数とその発生回数を蓄積し、最多のラスタ数、及びラスタライズ時のデジタル誤差を考慮した前後数ラインを行間に発生するラスタライン数として定義つける。これにより行間部の認識率をさらに向上させることが可能となる。以上が本印刷制御装置の文字切れ処理部３０４における文字切れ処理である。
【００４３】
［文字切れ処理：図７］
次に、上記の如く構成された本発明の実施の形態に係る印刷制御装置において、図３のプリンタドライバ３０２における文字切れ処理を、図７〜図９を参照しながら詳細に説明する。
【００４４】
まず、ステップＳ１０００で初期値（Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝０，Ｓｐｏｏｌ  Ｃｏｕｎｔｅｒ＝０，Ｌｉｎｅ  Ｃｏｕｎｔｅｒ＝０、改ページフラグ＝ＦＡＬＳＥ、下端フラグ＝ＦＡＬＳＥ）を設定してからステップＳ１００１に進む。
【００４５】
ステップＳ１００１において、全ページの処理が終了したかの判定を行い、全ページの処理が終了していない場合にはステップＳ１００２に進み、印刷対象ページ中の１ラスタラインのデータを入手する。またステップＳ１００１において、全ページの処理が終了した場合にはステップＳ１０１１に進み一連の作業を終了する。
【００４６】
次に、ステップＳ１００２で印刷対象ページ中の１ラスタラインのデータを入手すると、次にステップＳ１００３に進み、現在の処理ラスタがページの下端ラスタであるか否かの判断を行い、現在の処理ラスタが下端ラスタでない場合には後述するステップＳ１０１０の通常ラスタ処理を施した後、ステップＳ１００１に戻る。
【００４７】
一方ステップＳ１００３において現在の処理ラスタが下端ラスタである場合には、ステップＳ１００４に進み、対象ラスタがＮＵＬＬラスタであるか否かの判断を行い、対象ラスタがＮＵＬＬラスタである場合にはステップＳ１００５に進みスプールデータの出力を行う。続いてステップＳ１００６においてＮＵＬＬラスタの出力、続いてステップＳ１００６ＡにおいてＮＵＬＬＣｏｕｎｔｅｒを０にしてからステップＳ１００７に進み、改ページコードを出力し、次に、ステップＳ１００７ＡでＬｉｎｅ  Ｃｏｕｎｔｅｒを増加（インクリメント）してからステップＳ１００１に戻る。
【００４８】
一方ステップＳ１００４において対象ラスタがＮＵＬＬラスタでない場合にはステップＳ１００８に進み、対象ラスタのスプールを行う。この場合は文字切れが発生している可能性があるため出力は行わず、ステップＳ１００９においてスプールデータラスタ数のカウンタを増加（インクリメント）してから、ステップＳ１００９Ａに進み、下端フラグを「ＴＲＵＥ」にしてからステップＳ１００１に戻る。以上が文字切れ処理のメインフローとなる。
【００４９】
［通常ラスタ処理：図８］
次に上述した図７のステップＳ１０１０における通常ラスタ処理について、図８を参照しながら詳述する。本処理は、下端ラスタではないラスタに対する処理となる。
【００５０】
まずステップＳ２００１において、対象ラスタがＮＵＬＬラスタであるかどうかの判断を行う。ＮＵＬＬラスタである場合にはステップＳ２００２に進み、改ページフラグが「ＴＲＵＥ」であるかどうかの判断を行う。ステップＳ２００２において改ページフラグが「ＴＲＵＥ」である場合には、前ページと本ページにおいて文字切れが発生していたことになる。このため、まずステップＳ２００３において改ページコードを出力してからステップＳ２００４に進み、改ページフラグを「ＦＡＬＳＥ」に設定し、ステップＳ２００５に進む。一方ステップＳ２００２において改ページフラグが「ＦＡＬＳＥ」であった場合には、何もしないでステップＳ２００５に進む。
【００５１】
次に、ステップＳ２００５において、スプールデータが存在するかの判定を行う。スプールデータが存在する場合にはステップＳ２００６に進み、スプールされているデータの出力を行う。文字切れ発生の場合には、本処理において前ページの下端部と本ページの上端部が結合され出力されることになる。次にステップＳ２００７においてスプールデータのラスタライン数のカウンタであるスプールカウンタ（ＳｐｏｏｌＣｏｕｎｔｅｒ）をゼロにクリアしてから、ステップＳ２００８に進む。一方ステップＳ２００５においてスプールデータが存在しない場合には何もしないでステップＳ２００８に進む。次に、ステップＳ２００８ではヌルカウンタ（ＮｕｌｌＣｏｕｎｔｅｒ）を増加（インクリメント）し処理を終了する。
【００５２】
一方ステップＳ２００１において対象ラスタがＮＵＬＬラスタでない場合にはステップＳ２００９に進み、直前のＮＵＬＬラスタが行間であり、下端フラグが「ＴＲＵＥ」であるかどうかの判断を行う。本判断処理については後に詳述する。
【００５３】
ステップＳ２００９において、直前のＮＵＬＬラスタが行間であり、下端フラグが「ＴＲＵＥ」であると判断された場合にはステップＳ２０１０に進み改ページフラグを「ＴＲＵＥ」としてからステップＳ２０１０Ａに進み下端フラグを「ＦＡＬＳＥ」にしてからステップＳ２０１１Ａに進む。なお、本実施例では、行間チェック量がある程度貯まる前には、ステップＳ２００９では行間の判別は行わず下端のフラグだけで判別し、下端のフラグ＝ＦＡＬＳＥのときはステップＳ２０１１に、下端のフラグ＝ＴＲＵＥのときはステップＳ２０１０に、進むように設定されている。
【００５４】
一方ステップＳ２００９において直前のＮＵＬＬラスタが行間でないまたは下端フラグが「ＴＲＵＥ」でないと判断された場合にはステップＳ２０１１において改ページフラグを「ＦＡＬＳＥ」としてからステップＳ２０１１Ａに進む。
【００５５】
ステップＳ２０１１Ａでは、Ｓｐｏｏｌ  Ｃｏｕｎｔｅｒ＝０か否かを調べ、Ｓｐｏｏｌ  Ｃｏｕｎｔｅｒ＝０でない場合には、何もしないでステップＳ２０１４に進み、Ｓｐｏｏｌ  Ｃｏｕｎｔｅｒ＝０の場合はステップＳ２０１２では後述する行間チェック量の更新を行ってから、ステップＳ２０１３に進む。ステップＳ２０１３では１もしくは複数のＮＵＬＬラスタの出力（ＮＵＬＬラスタが１の場合はそのままＮＵＬＬラスタを出力し、複数のＮＵＬＬラスタの場合にはＮｕｌｌ  Ｃｏｕｎｔｅｒ値を用いて複数のＮＵＬＬラスタに相当する信号を出力する）を行い、Ｎｕｌｌ  Ｃｏｕｎｔｅｒをゼロクリアした後、ステップＳ２０１４に進み、データをスプールしてからステップＳ２０１５に進みＳｐｏｏｌ  Ｃｏｕｎｔｅｒを増加してから一連の処理を終了する。以上が通常ラスタの処理となる。
【００５６】
［行間として存在している複数ラスタ数の決定：図９］
次に図８におけるステップＳ２００９とステップＳ２０１２の処理について、図９を参照しながら詳述する。前述したように行間の判定は、連続するＮＵＬＬラスタライン数により決定するのであるが、連続するＮＵＬＬラスタであっても行間でない場合もある。例えば白ラインが連続するデータであるためにＮＵＬＬラスタが連続している可能性があるためである。このため複数の連続するＮＵＬＬラスタの中で、行間として存在している複数ラスタを認識する必要がある。具体的には図９に一例を示すように、ＮＵＬＬラスタ数と、そのラスタ群の発生回数のテーブルを作成する。
【００５７】
図９に示す例では、例えば１０ラインの連続するＮＵＬＬラスタ群が１回、１１ラインが４回、１２ラインが５回というような発生頻度になっている。Ｅメールなどの文章データにおいて通常行間は同じであるため、通常同じＮＵＬＬラスタ数のみを対象とする（行間と判定する）ことが可能であるが、文字データをラスタデータに展開した時点でのデジタル誤差が発生する可能性があるため、この点を考慮すると、行間が異なった複数のＮＵＬＬラスタとして表現される可能性もある。
【００５８】
そこで、この点を考慮して、ページ下端ラスタ処理時に、最も発生頻度の多かった複数ラスタを基準とし、前後複数ラスタをデジタル誤差によるものとして判断し、行間のラスタ数を決定する。例えば、図９の例では、まず、１３ラインが最も発生頻度が高いため、このラスタ数（１３ライン）を基準ラスタ数とする。
【００５９】
次に、基準ラスタ数の前後の数ラスタを誤差として扱うが、図９の例では、１４ラインは発生頻度が少ないため対象外とし、ラスタ数が１１ライン〜１３ラインを行間として決定することになる。またページ数が多いほどサンプル数が増加するため、本値は逐次更新するものとする。以上がステップＳ２００９とステップＳ２０１２における処理（行間の認識、図９の行間チェック量の更新）であり、両処理により行間を認識することが可能となるのである。
【００６０】
以上の処理（図７，８）を施すことにより、たとえ文字切れ発生が予想される場合（図４）であっても下端部のデータを次ページに印刷することで文字切れの対処、すなわち、文字切れ防止の処理（図５）を行うことが可能となる。この処理は、改ページコード位しかレイアウト情報をもたない印刷データを印刷する印刷装置で、Ｗｅｂページのように１ページという概念のない印刷データを印刷する場合に効果を発揮する。とりわけＥメールのように１ページとという概念がなく、かつ一定行間の文字が続くような画像の場合の効果は大きい。尚、実施例での処理は印刷制御装置での処理を説明しており、発明に係る印刷制御装置の処理ラインが、実際の印刷装置が印字しているラインと同一という訳ではない。これは印刷制御装置側あるいは印刷装置側に数ライン分のバッファがあり、処理や転送にかかる時間を吸収し印字に支障を出さないようにしている。
【００６１】
なお、上記の処理は一例であり、本発明は、複数のラスタラインに基づいて、印刷装置が複数の記録媒体に連続して画像を印刷する際に、複数の記録媒体にまたがって記録される画像があるか否かを判別し、その判別結果により複数の記録媒体にまたがって記録される画像があると判別された場合に、改ページをした後で、複数の記録媒体にまたがって記録される画像を次ページに印刷するように制御することを特徴とする処理であり、このような処理であれば、上記説明した処理以外の処理でも本実施形態に含まれるのはいうまでもない。
【００６２】
［具体例による説明：図１１Ａ］
上記の図７，８で説明した内容を図１１Ａの具体例を用いた図１２，図１３で補足する。なお、図１１Ａの具体例を用いる図１２，図１３（図７，８に対応）の処理の説明は、説明を簡単にするため、図９に示す行間チェック量のテーブルにＮｕｌｌラスタ数がある程度貯まってからの処理を一例として説明する。なお、本実施例では、行間チェック量がある程度貯まる前には、ステップＳ２００９では行間の判別は行わず下端のフラグだけで判別し、下端のフラグ＝ＦＡＬＳＥのときはステップＳ２０１１に、下端のフラグ＝ＴＲＵＥのときはステップＳ２０１０に、進むように設定されている。
【００６３】
ここで、図１１Ａは、ラスタラインデータ１〜２８を記録媒体の所定ページの記録領域に記録し、ラスタラインデータ２９以降を所定ページの次ページの記録領域に記録する場合を示したものであり、Ａ１〜１０は行間でない部分を示すＮｕｌｌのラスタラインデータを、Ｂ１１〜１４、Ｄ１９〜２２、Ｆ２７〜３０は文字を示すラスタラインデータを、Ｃ１５〜１８、Ｅ２３〜２６、Ｇ３１〜３４は行間を示すＮｕｌｌのラスタラインデータを示す。またＦ２８は、本ページの記録領域の下端を示し、Ｆ２９は、次ページの記録領域の上端を示す。
【００６４】
このように文字のデータが記録領域の下端と次ページの上端に連続して存在する場合、上記した本文字切れ処理では図１１Ｂに示すように、図１１ＡのＦ２７，Ｆ２８のデータによる印刷を図１１Ｂの上端から印刷するように変更することができるので文字切れが発生しない印刷ができる。なお、図１１Ｃに示す文字切れのない場合も図１２，図１３で処理できる。
【００６５】
［図１１Ａの文字切れ処理の流れ：図１２、図１３］
図１２、図１３を用いて本文字切れ処理の手順を具体的に説明する。
【００６６】
まずＡ１〜１０（行間でない部分）は、図１２のステップＳ１０００→ステップＳ１００１→ステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００２→ステップＳ２００５→ステップＳ２００８の順で進み、これを繰り返し、Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝１０となる。
【００６７】
次に、Ｂ１１（文字のはじめ）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００９→ステップＳ２０１１→ステップＳ２０１１Ａ→ステップＳ２０１２→ステップＳ２０１３→ステップＳ２０１４→２０１５の順で進み、Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝１０を用いて、行間チェック量を更新し、Ｎｕｌｌのラスタラインデータ（Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝１０に相当する量）を出力し、Ｂ１１をスプールし、スプールカウンタを１とし、続いて、Ｂ１２〜１４（文字）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００９→ステップＳ２０１１→ステップＳ２０１１Ａ→ステップＳ２０１４→２０１５の順で進み、これを繰り返して、Ｂ１２、Ｂ１３、１４を順次スプールし、スプールカウンタを２→３→４と増加する。
【００６８】
次に、Ｃ１５（行間のはじめ）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００２→ステップＳ２００５→ステップＳ２００６でスプールデータＢ１１〜１４を出力し→ステップＳ２００７→ステップＳ２００８の順で進み、さらに、Ｃ１６〜Ｃ１８（行間）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００２→ステップＳ２００５→ステップＳ２００８の順で進みＮｕｌｌ  Ｃｏｕｎｔｅｒ＝４となる。
【００６９】
次に、Ｄ１９（文字のはじめ）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００９→ステップＳ２０１１→ステップＳ２０１１Ａ→ステップＳ２０１２→ステップＳ２０１３→ステップＳ２０１４→２０１５の順で進み、Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝４を用いて、行間チェック量を更新し、Ｎｕｌｌのラスタラインデータ（Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝４に相当する量）を出力し、Ｄ１９をスプールし、スプールカウンタを１とし、次に、Ｄ２０〜２２（文字）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００９→ステップＳ２０１１→ステップＳ２０１１Ａ→ステップＳ２０１４→２０１５の順で進み、これを繰り返し、Ｄ２０，２１、２２をスプールし、スプールカウンタを２→３→４とする。
【００７０】
次に、Ｅ２３（行間のはじめ）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００２→ステップＳ２００５→ステップＳ２００６でスプールデータＤ１９〜２２を出力し→ステップＳ２００７→ステップＳ２００８の順で進み、さらに、Ｅ２４〜Ｅ２６（行間）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００２→ステップＳ２００５→ステップＳ２００８の順で進み、これを繰り返し、Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝４となる。
【００７１】
次に、Ｆ２７（文字のはじめ）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００９→ステップＳ２０１１→ステップＳ２０１１Ａ→ステップＳ２０１２→ステップＳ２０１３→ステップＳ２０１４→ステップＳ２０１５の順で進み、Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝４を用いて、行間チェック量を更新し、Ｎｕｌｌのラスタラインデータ（Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝４に相当する量）を出力し、Ｆ２７をスプールし、スプールカウンタを１とし、次に、Ｆ２８（文字：下端）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１００４→ステップＳ１００８→ステップＳ１００９→ステップＳ１００９Ａの順で進み、Ｆ２８をスプールし、スプールカウンタを２とし、下端フラグを「ＴＲＵＥ」とし、次に、Ｆ２９（文字：次頁の上端）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００９→ステップＳ２０１０→ステップＳ２０１０Ａ→ステップＳ２０１１Ａ→ステップＳ２０１２→ステップＳ２０１３→ステップＳ２０１４→ステップＳ２０１５の順で進み、改ページフラグを「ＴＲＵＥ」とし、下端フラグを「ＦＡＬＳＥ」とし、Ｆ２９をスプールし、スプールカウンタを３とし、次に、Ｆ３０（文字）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００９→ステップＳ２０１１→ステップＳ２０１１Ａ→ステップＳ２０１４→ステップＳ２０１５の順で進み、Ｆ３０をスプールし、スプールカウンタを４とする。
【００７２】
次に、Ｇ３１（行間のはじめ）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００２→ステップＳ２００３→ステップＳ２００４→ステップＳ２００５→ステップＳ２００６でスプールデータＦ２７〜３０を出力し→ステップＳ２００７→ステップＳ２００８の順で進み、さらに、Ｇ３２〜Ｇ３４（行間）は、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０１０→図１３のステップＳ２００１→ステップＳ２００２→ステップＳ２００５→ステップＳ２００８の順で進み、これを繰り返し、Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝４となる。以下、省略する。
【００７３】
このようにして、本文字切れ処理では図１１Ｂに示すように、図１１ＡのＦ２７，Ｆ２８のデータによる印刷を図１１Ｂの上端から印刷するように変更することができるので文字切れが発生しない印刷ができる。
【００７４】
なお、本文字切れ処理では、図１１ＣのＧ’２８に示すように文字切れが発生しない場合には、上記説明したＦ２８の代わりにＧ’２８の処理、すなわち、図１２のステップＳ１００２→ステップＳ１００３→ステップＳ１０４→ステップＳ１００５→ステップＳ１００６→ステップＳ１００６Ａ→ステップＳ１００７となりスプールデータ、Ｎｕｌｌラスタの出力、Ｎｕｌｌ  Ｃｏｕｎｔｅｒ＝０、改ページコード出力を行う。
【００７５】
図１０は本発明の文字切れ発生を制御する制御プログラム（プログラム実行ファイル１００３）を記録した記憶媒体の記憶内容の構成例を示す説明図である。本発明の記憶媒体は、例えばボリューム情報１００１、ディレクトリ情報１００２、プログラム実行ファイル１００３などの記憶内容で構成され、ＲＯＭ３１１や保存領域２０２などに格納される。以上が本実施例における印刷制御装置内の動作である。
【００７６】
［その他の実施形態］
以上のように本発明の実施形態を記述したが、行間判定テーブルを利用しない場合にも適用できる。つまり図１２と図１３を用いた文字切れ発生時のフローにおいて、Ｓ２００９で下端フラグかどうか（下端フラグ＝ＴＲＵＥ？）の判定のみを行う場合である（行間判定テーブルを用いないのでステップＳ２０１２、ステップＳ２０１３も省かれる）。詳細は図１２、図１３の説明から行間判定にかかる記述を省いただけなので省略する。この場合、ページ下端のラスタラインが空白か黒を含むかを判定して、黒を含むラインであれば、次のライン、即ち次ページの先頭のラインが空白か黒を含むかを判定する。つまりページ間で黒が連続していると判定される場合には、(前)ページの下端ラインの前で改ページを入れる形態となる。
【００７７】
なお、本発明は、例えば、装置、方法、プログラムもしくは記憶媒体などとしての実施態様を取ることが可能であり、具体的には、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７８】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００７９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(ＯＳ)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図７〜８などに示した処理を実現するプログラムが格納されることになる。
【００８３】
以上説明したように、本発明の実施の形態に係る印刷制御装置では、連続画像を記録するページ間データにおいて、前ページの下端部を記録するデータと次ページの上端部を記録するデータとの連続性を調べ、連続性がある場合には、前ページの下端部データの前に改ページを行い、下端部データによる画像を次ページに印刷することにより、例えば、図１１Ａに示すようなページ間をまたいで印刷されることによる文字切れを防止し、図１１Ｂに示す印刷結果を提供できる。
【図面の簡単な説明】
【００８４】
【図１】本発明の印刷制御装置の文字切れ処理を説明する図である。
【図２】本発明の印刷制御装置の全体構成図である。
【図３Ａ】本発明の印刷制御装置の内部構成を説明する機能ブロック図である。
【図３Ｂ】本発明の印刷制御装置の内部構成を説明するブロック図である。
【図４】本発明の印刷制御装置による文字切れ処理を実行する前の印字結果の一例（文字切れ）を示す図である。
【図５】本発明の印刷制御装置による文字切れ処理を実行した後の印字結果の一例（文字切れ解消）を示す図である。
【図６Ａ】行間認識処理を説明する図である。
【図６Ｂ】行間認識処理を説明する図である。
【図７】本発明の印刷制御装置による文字切れ処理を示すフローチャートである。
【図８】本発明の印刷制御装置による文字切れ処理を示すフローチャートである。
【図９】行間チェック量テーブルの一例を示す図である。
【図１０】本発明のプログラムを記録した記憶媒体の記憶内容の構成例を示す説明する図である。
【図１１Ａ】本発明の印刷制御装置による文字切れ処理を実行する前の印字結果の一例（文字切れの場合）を示す図である。
【図１１Ｂ】本発明の印刷制御装置による文字切れ処理を実行した後の印字結果の一例（文字切れ解消）を示す図である。
【図１１Ｃ】本発明の印刷制御装置による文字切れ処理を実行する前の印字結果の一例（文字切れなしの場合）を示す図である。
【図１２】図１１Ａによる文字切れ処理の具体例を示すフローチャートである。
【図１３】図１１Ａによる文字切れ処理の具体例を示すフローチャートである。
【符号の説明】
【００８５】
２０１  印刷制御装置
２０２  保存領域
２０３  表示装置
２０４  入力装置
２０５  プリンタ
３０２  プリンタドライバ
３０３  印字画像入手部
３０４  文字切れ処理部
３０５  色変換処理部
３０６  量子化部
３０７  印字データ作成部
３０８  印字データ出力部
３０９  データ送信部
３２１  データ受信部
３２２  データ印字部
１００１  ボリューム情報
１００２  ディレクトリ情報
１００３  プログラム実行ファイル
【図１】
2005158034.tif 000003
【図２】
2005158034.tif 000004
【図３Ａ】
2005158034.tif 000005
【図３Ｂ】
2005158034.tif 000006
【図４】
2005158034.tif 000007
【図５】
2005158034.tif 000008
【図６Ａ】
2005158034.tif 000009
【図６Ｂ】
2005158034.tif 000010
【図７】
2005158034.tif 000011
【図８】
2005158034.tif 000012
【図９】
2005158034.tif 000013
【図１０】
2005158034.tif 000014
【図１１Ａ】
2005158034.tif 000015
【図１１Ｂ】
2005158034.tif 000016
【図１１Ｃ】
2005158034.tif 000017
【図１２】
2005158034.tif 000018
【図１３】
2005158034.tif 000019