(57)【特許請求の範囲】
【請求項１】
ページ記述言語データを入力し印刷装置に印刷データを出力する印刷制御装置であって、
入力された、ページ記述言語の処理系に引数として与えられる印刷パラメータに従ってページ記述言語データを編集するページ記述言語編集手段と、
編集済みのページ記述言語データから印刷データを生成する印刷データ生成手段と、
パラメータ変換規則を記述する変換規則記述手段と、
入力した印刷パラメータがページ記述言語属性の仕様から逸脱している拡張印刷パラメータの表現であるか否かを判断する判断手段と、
入力した印刷パラメータが拡張印刷パラメータであると前記判断手段が判断した場合は前記変換規則記述手段に基づいて前記印刷データ生成手段への入力に適した印刷パラメータに変換するパラメータ変換手段とを有し、
入力した印刷パラメータが拡張印刷パラメータであると前記判断手段が判断した場合は、前記印刷データ生成手段は、前記変換された印刷パラメータを反映した印刷データを生成し、入力した印刷パラメータが拡張印刷パラメータではないと前記判断手段が判断した場合は、前記印刷データ生成手段は、入力した印刷パラメータを反映した印刷データを生成することを特徴とする印刷制御装置。
【請求項２】
更に、印刷パラメータに対応したページ記述言語属性の一覧を記述する属性記述手段を有し、
前記変換規則記述手段は、前記パラメータ変換規則を前記属性記述手段の仕様で定められているコメント形式で記述することを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記拡張印刷パラメータとは、濃度、明度、彩度のパラメータを含むことを特徴とする請求項１記載の印刷制御装置。
【請求項４】
前記入力されるページ記述言語データは、ＲＧＢカラー属性で記述され、前記印刷データは、ＹＭＣＫカラー属性で記述されることを特徴とする請求項１記載の印刷制御装置。
【請求項５】
前記ＹＭＣＫカラー属性の印刷データは、描画部分がイメージ展開されると共に、前記拡張印刷パラメータが反映された属性となっていることを特徴とする請求項４記載の印刷制御装置。
【請求項６】
前記パラメータ変換手段は、前記入力した印刷パラメータが前記拡張印刷パラメータでない前記ページ記述言語属性の仕様内の印刷パラメータと判断した場合、そのまま前記印刷データ生成手段に出力することを特徴とする請求項１記載の印刷制御装置。
【請求項７】
前記印刷制御装置は、前記印刷装置と通信可能な情報処理装置が備えることを特徴とする請求項１乃至６の何れかに記載の印刷制御装置。
【請求項８】
前記印刷制御装置は、前記印刷装置が備えることを特徴とする請求項１乃至６の何れかに記載の印刷制御装置。
【請求項９】
ページ記述言語データを入力し印刷装置に印刷データを出力する印刷制御装置であって、
入力された印刷パラメータに従ってページ記述言語データを編集するページ記述言語編集手段と、
編集済みのページ記述言語データからビットマップデータを生成するビットマップデータ生成手段と、
前記ビットマップデータから印刷データを生成する印刷データ生成手段と、
パラメータ変換規則を記述する変換規則記述手段と、
入力した印刷パラメータがページ記述言語属性の仕様から逸脱している拡張印刷パラメータか否かを判断し、前記拡張印刷パラメータと判断した場合は前記変換規則記述手段に基づいて前記印刷データ生成手段への入力に適した印刷パラメータに変換するパラメータ変換手段とを有し、
前記印刷データ生成手段は、前記変換された印刷パラメータを反映した印刷データを生成することを特徴とする印刷制御装置。
【請求項１０】
更に、印刷パラメータに対応したページ記述言語属性の一覧を記述する属性記述手段を有し、
前記変換規則記述手段は、前記パラメータ変換規則を前記属性記述手段の仕様で定められているコメント形式で記述することを特徴とする請求項９記載の印刷制御装置。
【請求項１１】
前記拡張印刷パラメータとは、濃度、明度、彩度のパラメータを含むことを特徴とする請求項９記載の印刷制御装置。
【請求項１２】
前記入力されるページ記述言語データは、ＲＧＢカラー属性で記述され、前記印刷データは、ＹＭＣＫカラー属性で記述されることを特徴とする請求項９記載の印刷制御装置。
【請求項１３】
前記ＹＭＣＫカラー属性の印刷データは、描画部分がイメージ展開されると共に、前記拡張印刷パラメータが反映された属性となっていることを特徴とする請求項１２記載の印刷制御装置。
【請求項１４】
前記パラメータ変換手段は、入力した印刷パラメータが前記拡張印刷パラメータでない前記ページ記述言語属性の仕様内の印刷パラメータと判断した場合、そのまま前記印刷データ生成手段に出力することを特徴とする請求項９記載の印刷制御装置。
【請求項１５】
前記印刷制御装置は、前記印刷装置と通信可能な情報処理装置が備えることを特徴とする請求項９乃至１４の何れかに記載の印刷制御装置。
【請求項１６】
前記印刷制御装置は、前記印刷装置が備えることを特徴とする請求項９乃至１４の何れかに記載の印刷制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ページ記述言語データを入力しプリンタコマンドを出力する印刷制御装置に関する。
【０００２】
【従来の技術】
従来、ホストコンピュータである情報処理装置において、ユーザが作成した文書データやページ記述言語を印刷する場合に、Windows（登録商標）のようなＯＳ（オペレーションシステム）を介してプリンタドライバを起動し、文書データを印刷データに変換して、変換された印刷データをプリンタに出力している。また、ＤＯＳやＵｎｉｘ（登録商標）等のＯＳから文書データやページ記述言語をプリンタで印刷する場合には、所定のコマンドラインをキーボードから入力することにより印刷を指示すると、指定されたファイル（文書データやページ記述言語）を読み込んでプリンタドライバにより印刷データに変換し、プリンタに出力している。
【０００３】
また、ページ記述言語データを扱って印刷データをプリンタに出力する情報処理装置において、印刷方法を制御するために、ページ記述言語と共に印刷パラメータも同時に入力して、ページ記述言語を編集した後、それをプリンタコマンドに変換する方法がとられている。即ち、
lpr   文書ファイル  引数（印刷パラメータ）  プリンタ指定
と入力することにより、指定したプリンタに上記文書ファイルを指定した印刷パラメータで印刷させることができる。
【０００４】
図１１にその処理を表すブロック図を示す。図１１のようなプリンタドライバでは、まず、ページ記述言語編集処理部１０１に対して、ページ記述言語データ（文書データでもよい）と共にプリンタ指定情報と印刷パラメータが入力される。ページ記述言語編集処理部１０１は、入力されたプリンタ指定情報に対応するページ記述言語属性ファイル１０３を参照する。ページ記述言語属性ファイル１０３はプリンタ毎に複数存在し、１つのページ記述言語属性ファイル１０３には、そのファイルに対応する１つのプリンタに指定可能な用紙サイズや用紙の種類、各々の用紙サイズに対応する印刷可能領域等の、プリンタに関する属性情報を表すための、各々の属性情報に対応する印刷パラメータと対応するページ記述言語属性が対になって記述されている。ページ記述言語編集処理部１０１では、入力されたプリンタ指定情報によって指し示されるページ記述言語属性ファイル１０３を参照して、入力された印刷パラメータに対応するページ記述言語属性を参照し、ページ記述言語データを編集してその中にページ記述言語属性を挿入し、新たなページ記述言語データを生成する。
【０００５】
印刷パラメータを反映した編集後のページ記述言語データはプリンタコマンド生成処理部１０２に渡され、プリンタコマンド生成処理部１０２は、必要に応じて編集後のページ記述言語データを解析してプリンタコマンドデータに変換し、それをプリンタ１０４に対して出力する。ただし、入力されたページ記述言語が扱えるプリンタである場合はそのまま出力する。以上の結果として、最初にプリンタドライバに与えられたページ記述言語データに対して印刷パラメータを反映させた印刷結果が、指定したプリンタから得られることになる。
【０００６】
なお、図１１の構成はページ記述言語を扱う一般的なプリンタ及びプリンタドライバの構成を表す。一方で、図１２はラスタ型プリンタに限定したプリンタドライバの構成を表す。ラスタ型プリンタとは、ビットマップデータを元に出力データを生成するプリンタの総称である。
【０００７】
ラスタ型プリンタに対応するプリンタドライバでは、編集後のページ記述言語データはビットマップ生成処理部１０５に渡される。ビットマップ生成処理部１０５（ラスタプリンタドライバに相当する）では、編集後のページ記述言語データを解析してビットマップデータを生成するため、結果として、ビットマップデータは、最初の印刷指示（コマンドライン）で与えられたページ記述言語データに対して印刷パラメータを反映させたビットマップデータとなる。その後、ビットマップデータはプリンタコマンド生成処理部１０２に渡され、プリンタコマンド生成処理部１０２はビットマップデータをプリンタコマンドデータに変換し、それをプリンタ１０４に対して出力する。以上の結果として、最初にプリンタドライバに与えられたページ記述言語データに対して印刷パラメータを反映させた印刷結果が、指定したプリンタ１０４から得られることになる。
【０００８】
【発明が解決しようとする課題】
しかしながら、上記図１１及び図１２で示した従来の構成では、最初に入力した印刷パラメータを一旦ページ記述言語データに反映させる必要があるため、印刷パラメータに対応するページ記述言語属性を、そのページ記述言語属性の仕様に従った形式でページ記述言語属性ファイルに定義することが必須であった。そのため、例えば、濃度や明度・彩度などの印刷パラメータや、ガンマ変換の値などの印刷パラメータをページ記述言語データで記述可能な範囲で反映させてしまうと、それ以降のプリンタコマンド生成処理において印刷パラメータによる画像処理が限定されてしまい、結果としてプリンタの能力を最大限に発揮させることができないという問題点があった。
【０００９】
本発明は、上記問題点を鑑みてなされたものであり、印刷指定時に、ページ記述言語属性の仕様から逸脱している拡張印刷パラメータを定義することを許容し、更に、その印刷パラメータを反映した印刷データを生成することで、プリンタの能力を最大限に発揮させることを可能とした印刷制御装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するため、本発明は、ページ記述言語データを入力し印刷装置に印刷データを出力する印刷制御装置であって、入力された、ページ記述言語の処理系に引数として与えられる印刷パラメータに従ってページ記述言語データを編集するページ記述言語編集手段と、編集済みのページ記述言語データから印刷データを生成する印刷データ生成手段と、パラメータ変換規則を記述する変換規則記述手段と、入力した印刷パラメータがページ記述言語属性の仕様から逸脱している拡張印刷パラメータの表現であるか否かを判断する判断手段と、入力した印刷パラメータが拡張印刷パラメータであると前記判断手段が判断した場合は前記変換規則記述手段に基づいて前記印刷データ生成手段への入力に適した印刷パラメータに変換するパラメータ変換手段とを有し、入力した印刷パラメータが拡張印刷パラメータであると前記判断手段が判断した場合は、前記印刷データ生成手段は、前記変換された印刷パラメータを反映した印刷データを生成し、入力した印刷パラメータが拡張印刷パラメータではないと前記判断手段が判断した場合は、前記印刷データ生成手段は、入力した印刷パラメータを反映した印刷データを生成することを特徴とする。
【００１１】
また、本発明は、ページ記述言語データを入力し印刷装置に印刷データを出力する印刷制御装置であって、入力された印刷パラメータに従ってページ記述言語データを編集するページ記述言語編集手段と、編集済みのページ記述言語データからビットマップデータを生成するビットマップデータ生成手段と、前記ビットマップデータから印刷データを生成する印刷データ生成手段と、パラメータ変換規則を記述する変換規則記述手段と、入力した印刷パラメータがページ記述言語属性の仕様から逸脱している拡張印刷パラメータか否かを判断し、前記拡張印刷パラメータと判断した場合は前記変換規則記述手段に基づいて前記印刷データ生成手段への入力に適した印刷パラメータに変換するパラメータ変換手段とを有し、前記印刷データ生成手段は、前記変換された印刷パラメータを反映した印刷データを生成することを特徴とする。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１９】
図１は本発明の実施の形態に係る印刷制御装置の全体構成を示すブロック図であり、本発明の特徴を最も良く表す図である。印刷制御装置は、中央演算処理装置（ＣＰＵ）１、メモリ（MEM）２、外部記憶装置（HD）３、システムバス１０を備えている。図中４は印刷制御装置から印刷データ（プリンタコマンド）が出力される印刷装置としてのプリンタである。
【００２０】
本実施の形態に係る印刷制御装置は、プリンタ４に対するホストコンピュータとしての情報処理装置が備えるものであり、印刷パラメータを入力し、入力した印刷パラメータが、ページ記述言語属性の仕様から逸脱している拡張印刷パラメータか否かを判断し、パラメータ変換規則を記述するパラメータ変換テーブルに基づいて拡張印刷パラメータをプリンタコマンド生成処理部（プリンタドライバ、図２、図３参照）への入力に適した印刷パラメータに変換し、変換された印刷パラメータを反映した印刷データ（プリンタコマンド）を生成し、プリンタ４に出力するものである。
【００２１】
ここで、拡張印刷パラメータとは、濃度、明度、彩度のパラメータである。また、入力されるページ記述言語データは、ＲＧＢカラー属性で記述され、印刷データ（プリンタコマンド）は、ＹＭＣＫカラー属性で記述されている。また、ＹＭＣＫカラー属性の印刷データは、描画部分がイメージ展開されており、拡張印刷パラメータが反映された属性となっている。また、入力した印刷パラメータが、拡張印刷パラメータでないページ記述言語の仕様内の印刷パラメータは、そのままプリンタコマンド生成処理部に渡される。
【００２２】
尚、本実施の形態における印刷制御装置（図１及び後述の図２〜図３におけるプリンタ４以外の構成）は、プリンタ４と通信可能に接続されたホストコンピュータとしての情報処理装置に搭載されるプリンタドライバとする構成、または、システムバス１０等を介してプリンタ４の筐体に外付けでボックス型として装備する構成のどちらでもよい。
【００２３】
中央演算処理装置（ＣＰＵ）１は、印刷制御装置各部の制御を司るものであり、印刷制御装置内部に格納されたプログラムまたは印刷制御装置外部から供給されるプログラムに基づき、後述の各フローチャートに示す処理を実行する。メモリ（ＭＥＭ）２は、書き込み・読み出し可能なメモリであり、各種データを記憶する。外部記憶装置（ＨＤ）３は、ハードディスクから構成され、各種データを記憶する。プリンタ（ＰＲＴ）４は、印刷制御装置から出力される印刷データに基づき印刷媒体上に画像を印刷する。システムバス１０は、上記各部間のデータの送受信を行うためのものである。本印刷制御装置のプログラムは、ＭＥＭ２またはＨＤ３上に存在し、ＣＰＵ１がシステムバス１０を通じて逐次プログラムをＭＥＭ２あるいはＨＤ３から読み出しつつ目的の処理を行い、最終的に印刷データをプリンタ４に出力する。
【００２４】
図２は本実施の形態に係る本発明のページ記述言語を扱う印刷制御装置の構成を示すブロック図である。本発明のページ記述言語を扱う印刷制御装置は、ページ記述言語編集処理部２１、パラメータ変換処理部２２、プリンタコマンド生成処理部２３、ページ記述言語属性ファイル２４、パラメータ変換テーブル２５を備えている。
【００２５】
ページ記述言語編集処理部２１は、ページ記述言語データと共にプリンタ指定情報と印刷パラメータが入力され、ページ記述言語属性ファイル２４を参照してページ記述言語データを編集し、その結果得られた編集済みのページ記述言語データをプリンタコマンド生成処理部２３に渡す。パラメータ変換処理部２２は、ページ記述言語編集処理部２１の処理と並行して、プリンタ指定情報と印刷パラメータが入力され、入力された印刷パラメータが、ページ記述言語属性の仕様から逸脱している拡張印刷パラメータかページ記述言語の仕様内の印刷パラメータかを判断し、拡張印刷パラメータはパラメータ変換テーブル２５に基づいてプリンタコマンド生成処理部２３への入力に適した印刷パラメータに変換してからプリンタコマンド生成処理部２３に渡し、ページ記述言語の仕様内の印刷パラメータはそのままプリンタコマンド生成処理部２３に渡す。
【００２６】
プリンタコマンド生成処理部２３は、編集済みのページ記述言語データとプリンタコマンド生成用パラメータが入力され、編集済みのページ記述言語データを解析してプリンタコマンドデータに変換し、それをプリンタ４に対して出力する。ページ記述言語属性ファイル２４は、印刷パラメータに対応した属性の一覧を記述する。パラメータ変換テーブル２５は、パラメータ変換処理部２２のパラメータ変換規則を記述する。
【００２７】
図３は本実施の形態に係る本発明のページ記述言語を扱うラスタ型の印刷制御装置の構成を示すブロック図である。本発明のページ記述言語を扱うラスタ型の印刷制御装置は、ページ記述言語編集処理部２１、パラメータ変換処理部２２、プリンタコマンド生成処理部２３、ページ記述言語属性ファイル２４、パラメータ変換テーブル２５、ビットマップ生成処理部２６を備えている。図３の構成は上記図２の構成にビットマップ生成処理部２６を追加したものであり、ビットマップ生成処理部２６は、ページ記述編集処理部２１によって編集された編集済みページ記述言語データからビットマップデータを生成する。
【００２８】
次に、上記の如く構成された本実施の形態の印刷制御装置の動作を図１乃至図３並びに図４乃至図１０を参照しながら以下順を追って詳細に説明する。
【００２９】
先ず、図２の処理について説明する。最初に、ページ記述言語編集処理部２１に対して、ページ記述言語データと共にプリンタ指定情報と印刷パラメータが入力され、ページ記述言語編集処理部２１がページ記述言語属性ファイル２４を参照してページ記述言語データを編集し、その結果得られた編集済みのページ記述言語データをプリンタコマンド生成処理部２３に渡す、という一連の処理は、上記図１１に基づいて説明した処理と同様である。この処理と並行して図２の処理では、プリンタ指定情報と拡張印刷パラメータ（ページ記述言語の仕様から逸脱している印刷パラメータ）がパラメータ変換処理部２２に入力される。パラメータ変換処理部２２は、印刷パラメータをプリンタコマンド生成処理部２３に適したパラメータ形式に変換する処理を行うものであり、図４、図５のフローチャートに沿ってそのパラメータ変換処理を説明する。
【００３０】
＜パラメータ変換処理（Ｓ１０１〜Ｓ１０３）（図４、図５）＞
パラメータ変換処理を図４、図５のフローチャートに基づいて説明する。パラメータ変換処理は、入力された印刷パラメータがページ記述言語の仕様の範囲ないである印刷パラメータか仕様から逸脱している拡張印刷パラメータであるか判断処理され、拡張印刷パラメータであると判断された場合に、パラメータ変換処理部２２に拡張印刷パラメータが入力されることから処理が開始される。拡張印刷パラメータは、次のようにキーワードの文字列とその値を表す文字列を＝で結合した文字列で記述される。
【００３１】
PageSize=A4  MediaType=Plain  Copies=2  Density=20.0
各々のキーワード文字列及び値の文字列は、図８に示す形式でＭＥＭ２上に格納される。先頭のキーワード及び値の文字列は arg 0 に格納され、そのアドレスが argv[0] に保持され、２番目のキーワード及び値の文字列は arg 1 に格納され、そのアドレスが argv[1] に保持され、n-1番目のキーワード及び値の文字列は arg n-1 に格納され、そのアドレスが argv[n-1] に保持される。argv[0], argv[1], argv[2], からargv[n-1], argv[n]はアドレスを格納する配列を構成し、最終端の要素argv[n] には０を格納することで配列の終端を表す。従って、arg 0, arg 1, arg 2 から arg n-1 に格納された印刷パラメータは、argv[0], argv[1], argv[2] から argv[n-1]の配列中のアドレスを順次参照することで、参照可能となる。なお、ここでは、用紙サイズ（PageSize）、用紙種類（MediaType）、部数（Copies）、濃度（Density）の印刷パラメータを拡張印刷パラメータとして扱ったが、これに限るものではなく、ページ記述言語の仕様によっては、用紙サイズ、部数が通常印刷パラメータとなり、用紙種類、濃度が拡張印刷パラメータと判断されることもある。
【００３２】
先ず、ステップＳ１０１において、パラメータ変換処理部２２は印刷パラメータからリストＰをＭＥＭ２中に生成する。リストＰの構造を図９に示す。図８のようにＭＥＭ２に格納された印刷パラメータから図９のようなリストＰを生成するためには、図８の入力パラメータの先頭のパラメータから順次読み出し、i番目のパラメータの文字列を＝を境に前後に分割して、前半部分の文字列をキーワード文字列key i、後半部分の文字列を値文字列 value i としてＭＥＭ２に新たに格納し、i番目のパラメータを指し示す要素item i のp_key i 及び p_value iにそれらのアドレスを格納し、next iには終端を示す０を格納して、iが１以上の場合にはi-1番目の要素item i-1のnext i-1 に i番目の要素item i のアドレスを格納する、という一連の処理をi=0からi=（印刷パラメータの数）−1まで繰り返せばよい。また、先頭の要素item 0 のアドレスは、ＭＥＭ２中に用意する変数listに格納する。尚、この変数listは各々のリスト毎にＭＥＭ２に用意するものとする。
【００３３】
次に、ステップＳ１０２では、パラメータ変換処理部２２は、リストＲを空で初期化する（空：リストに要素がつながっていない状態）。空のリストは変数list に０を格納することで表すものとし、以降、要素を１つ追加すると図９のlistにはその先頭の要素のアドレスを格納する。
【００３４】
次に、ステップＳ１０３では、パラメータ変換処理部２２は、パラメータ変換テーブル２５からリストＱを生成する処理を呼び出す。パラメータ変換テーブル２５とは、入力された印刷パラメータをプリンタコマンド生成処理部２３の入力に適したパラメータ形式に変換するためのテーブルであり、ページ記述言語属性ファイル２４の内部に記述する。なお、本実施の形態では、ページ記述言語属性ファイル２４内にパラメータ変換テーブル２５を記述しているが、これに限るものではなく、パラメータ変換テーブル２５をページ記述言語属性ファイル２４とは独立して持たせてもよい。図１０にパラメータ変換テーブル２５の記述例を示す。パラメータ変換テーブル２５は、１行が空白文字で区切られた３つの文字列で構成され、複数のパラメータ変換の規則を複数行で記述する。１行の先頭の文字列はこれがパラメータ変換テーブルであることを表し、２番目の文字列は変換すべき印刷パラメータのキーワードを表し、３番目の文字列は変換後のキーワードを表す。
【００３５】
パラメータ変換テーブル２５は、本実施の形態では、ページ記述言語属性ファイル２４の仕様で予め定められているコメント形式で記述する。このようにすることにより、予め定められているページ記述言語属性ファイル２４の仕様を一切損なうことなく、且つ１つのページ記述言語属性ファイル２４に対応するプリンタ用の変換テーブルを明示的に且つ１つのプリンタ用にページ記述言語属性ファイルと変換テーブル用のファイルを別々に管理するという無駄を省いて、パラメータ変換テーブルを記述することが可能となる。先頭の２文字＊％がコメントであることを表す文字である。
【００３６】
＜パラメータ変換用リスト生成処理（図６、図７）＞
次に、パラメータ変換用リスト生成処理（上記図４のステップＳ１０３で述べたリストＱの生成処理）を図６、図７のフローチャートに基づいて説明する。
【００３７】
先ず、ステップＳ２０１において、パラメータ変換処理部２２は、ページ記述言語属性ファイル２４を開く。次に、ステップＳ２０２では、パラメータ変換処理部２２は、ページ記述言語属性ファイル２４の先頭から１行をＭＥＭ２中のバッファＢに読み込む。
【００３８】
次に、ステップＳ２０３では、パラメータ変換処理部２２は、先頭の２文字が＊％であるか否かを調べ、その行がコメント行であるか否かを判断し、コメント行でない場合にはステップＳ２０６に処理を進め、コメント行である場合にはステップＳ２０４に処理を進める。
【００３９】
次に、ステップＳ２０４では、パラメータ変換処理部２２は、ＭＥＭ２のバッファＢ中の先頭の２文字＊％の次の文字から最初の空白文字までの文字列と文字列PpdToOptKeyとを比較し、その行がパラメータ変換テーブルか否かを調べ、両文字列が一致しなかった場合にはＳ２０６に処理を進め、両文字列が一致した場合にはその行がパラメータ変換テーブルと見なしステップＳ２０５に処理を進める。
【００４０】
次に、ステップＳ２０５では、パラメータ変換処理部２２は、ＭＥＭ２のバッファＢ中の２番目の空白文字で区切られた文字列をリストＱのi番目の要素item iのキーワード文字列key iとして、ＭＥＭ２のバッファＢ中の３番目の文字列をリストＱのi番目の要素の値の文字列value iとして、リストＱに追加する。リストＱの構造は図１０の構造と同じである。
【００４１】
次に、ステップＳ２０６では、パラメータ変換処理部２２は、ファイルの終端か否かをチェックし、ファイルの終端である場合にはステップＳ２０８に処理を進め、ページ記述言語属性ファイル２４を閉じて処理を終了する。ファイルの終端ではない場合はステップＳ２０７に処理を進め、パラメータ変換処理部２２は、次の１行をＭＥＭ２のバッファＢに読み込んだ後、ステップＳ２０３に進んで処理を繰り返す。
【００４２】
以上の一連の処理によって、ページ記述言語属性ファイル２４中のパラメータ変換テーブル２５からリストＱが生成される。
【００４３】
＜パラメータ変換処理（Ｓ１０４〜Ｓ１０９）（図４、図５）＞
次に、パラメータ変換処理（図４、図５のフローチャート）の説明に戻る。ステップＳ１０４では、パラメータ変換処理部２２は、ＭＥＭ２中の変数ＫｐにリストＰ中の先頭の要素のキーワード文字列 key 0を格納し、ＶｐにはリストＰ中の先頭の要素の値の文字列 value 0を格納する。
【００４４】
次に、ステップＳ１０５では、パラメータ変換処理部２２は、ＭＥＭ２中の変数Ｋｐの文字列とリストＱ中の何れかの要素のキーワード文字列 key i とが一致するか否かを調べ、一致しない場合にはステップＳ１０７に処理を進め、一致する場合にはステップＳ１０６に処理を進める。
【００４５】
次に、ステップＳ１０６では、パラメータ変換処理部２２は、ＭＥＭ２中の変数Ｋｐと一致したリストＱ中のi番目の要素item iの値の文字列 value iをリストＲのキーワード文字列として、Ｖｐの文字列をリストＲの値の文字列として、リストＲに要素を追加する。
【００４６】
次に、ステップＳ１０７では、パラメータ変換処理部２２は、リストＰに次の要素があるか否かを調べ、次の要素が存在しない場合にはステップＳ１０９に処理を進め、次の要素が存在する場合にはステップＳ１０８に処理を進める。
【００４７】
次に、ステップＳ１０８では、パラメータ変換処理部２２は、ＭＥＭ２中の変数ＫｐにリストＰ中の次の要素のキーワード文字列を格納し、ＶｐにはリストＰ中の次の要素の値の文字列を格納し、上記ステップＳ１０５から処理を繰り返す。
【００４８】
最後に、ステップＳ１０９では、パラメータ変換処理部２２は、リストＲからプリンタコマンド生成用パラメータを生成する。プリンタコマンド生成用パラメータは、図８に示す構造に従う。リストＲから図８に示す構造のプリンタコマンド生成用パラメータへの変換は、リストＲ中の各要素のキーワード文字列と値の文字列を空白文字で区切って結合した文字列をＭＥＭ２中に各々新たに格納し、それら新たに格納した文字列のアドレスを、アドレスの配列argv[0],argv[1],argv[2]からargv[n-1]によって指し示すようにし、アドレスの配列の末尾の要素argv[n]には０を格納すればよい。
【００４９】
以上の一連の処理によって、パラメータ変換処理部２２に与えられた印刷パラメータの各々のキーワードをパラメータ変換テーブル２５に登録された規則に従って別のキーワードに変換し、それらをプリンタコマンド生成処理部２３に入力する。プリンタコマンド生成用パラメータは次のように記述される。" "でくくった範囲が１つの文字列である。
【００５０】
"--papersize A4"  "--meida Plain"  "--copies 2"  "--density 20.0"
次に、図２の説明に戻る。図２のプリンタコマンド生成処理部２３では、入力された編集済みページ記述言語データ及びプリンタコマンド生成用パラメータに従って、プリンタコマンドを生成する。本処理は、ページ記述言語データの解析処理とプリンタコマンド生成処理を組み合わせ且つプリンタコマンド生成処理をプリンタコマンド生成用パラメータに従って変更する、という従来からある処理で何ら問題はない。なぜなら、プリンタコマンド生成処理部２３に相当するプリンタドライバは、プリンタ４の機能に適して用意されているものであるため、当然、プリンタ４で扱える範囲の印刷パラメータ（本実施の形態でいう拡張印刷パラメータ）に対応したプリンタコマンドを生成することができるからである。
【００５１】
最後に、プリンタコマンド生成処理部２３は、生成したプリンタコマンドをプリンタ４に対して、既知の技術を用いて（ＯＳの機能等を利用して）出力して処理を完了する。以上の一連の処理によって、印刷制御装置に対してページ記述言語データとプリンタ指定情報及び印刷パラメータを入力して、プリンタ４から印刷結果を得ることが可能となる。
【００５２】
次に、図３の処理について説明する。図３は図２で説明した一連の処理をラスタ型プリンタに適用した場合の構成を表している。図２と図３では、ページ記述言語編集処理部２１とプリンタコマンド生成処理部２３の間にビットマップ生成処理部２６が入り、ビットマップ生成処理部２６がページ記述言語編集処理部２１から出力された編集済みページ記述言語データをビットマップに変換し、それをプリンタコマンド生成処理部２３に入力し、プリンタコマンド生成処理部２３は入力されたビットマップとプリンタコマンド生成用パラメータからプリンタコマンドを生成するという点が異なる。尚、図３の処理におけるプリンタコマンド生成処理は、拡大・縮小や色空間変換などのビットマップ処理とプリンタコマンド生成処理を組み合わせ且つプリンタコマンド生成処理をプリンタコマンド生成用パラメータに従って変更する、という従来からある処理で何ら問題はない。
【００５３】
このような、図３の一連の処理によって、印刷制御装置に対してページ記述言語データとプリンタ指定情報及び印刷パラメータを入力して、プリンタ４から印刷結果を得ることが可能となる。
【００５４】
次に、本実施の形態における特徴である、ページ記述言語属性の仕様から逸脱している拡張印刷パラメータを入力した場合の具体例を説明する。
【００５５】
（例１）コマンド生成処理依存の濃度変更処理を行う場合
ページ記述言語属性の仕様から逸脱している拡張印刷パラメータを入力した場合における、コマンド生成処理依存の濃度変更処理は次のようになる。コマンド生成処理依存の濃度変更処理では、本実施の形態においては例えば−５０％〜＋５０％の濃度変更が浮動小数点数で指定可能である。プリンタで印刷する際の濃度を例えば２０％アップさせる場合は次のようになる。左から順に、プリンタコマンド、ページ記述言語ファイル、拡張印刷パラメータである。
【００５６】
lpr   sample.ps   -o "Density=20.0"  ←  濃度を２０％アップ
上記のように濃度指定された場合、従来技術では不可能であったものが、本実施の形態ではページ記述言語属性の仕様から逸脱している拡張印刷パラメータを入力し、パラメータ変換規則を記述するパラメータ変換テーブル２５に基づいて前記拡張印刷パラメータをプリンタコマンド生成処理部２３の入力に適した印刷パラメータに変換し、変換された印刷パラメータを反映した印刷データを生成することができる。本実施の形態の濃度変更アルゴリズムは、例えばレーザビームプリンタやＢＪ（バブルジェット（登録商標））プリンタ用のプリンタコマンド生成処理が独自に定めたものである。
【００５７】
（例２）コマンド生成処理依存のグレー生成処理を行う場合
ページ記述言語属性の仕様から逸脱している拡張印刷パラメータを入力した場合における、コマンド生成処理依存のグレー生成処理は次のようになる。左から順に、プリンタコマンド、ページ記述言語ファイル、拡張印刷パラメータである。
【００５８】
lpr   sample.ps   -o "Grayscale=true"
入力されるページ記述言語はＲＧＢカラー属性で記述され、印刷データ（プリンタコマンド）はＹＭＣＫカラー属性で記述されるため、グレー生成処理において、ブラックインクを使うか、ＣＭＹインクの混合でブラックを生成するかは、プリンタコマンド生成処理部２３がプリンタで使用する用紙の種類や印刷モードに依存して決定する。
【００５９】
以上説明したように、本実施の形態によれば、以上の一連の処理によって、パラメータ変換処理部２２に与えられた印刷パラメータの各々のキーワードを、パラメータ変換テーブル２５に登録された規則に従って別のキーワードに変換し、それらをプリンタコマンド生成処理部２３に入力することが可能となる。
【００６０】
また、このような構成によれば、プリンタコマンド生成処理部２３の仕様追加あるいは仕様変更によって、プリンタコマンド生成用パラメータの仕様が変更された場合においても、ページ記述言語属性ファイル２４中のパラメータ変換テーブル２５のみを変更することで、印刷制御装置に入力する印刷パラメータを何ら変更することなく、プリンタコマンド生成用パラメータの仕様が変更可能となる。
【００６１】
また、ページ記述言語属性ファイル２４内にパラメータ変換テーブル２５をコメント形式で記述することで、ページ記述言語属性ファイル２４の仕様に何ら影響を及ぼすことなく、そのページ記述言語属性ファイル２４に対応するプリンタに関する、印刷パラメータからプリンタコマンド生成用パラメータへの変換規則を記述することが可能となる。
【００６２】
特に、本実施の形態の特徴としては、ページ記述言語属性の仕様から逸脱している拡張印刷パラメータを入力し、パラメータ変換規則を記述するパラメータ変換テーブル２５に基づいて前記拡張印刷パラメータをプリンタコマンド生成処理部２３の入力に適した印刷パラメータに変換し、変換された印刷パラメータを反映した印刷データを生成する制御を行うので、即ち、印刷指定時に、ページ記述言語属性の仕様から逸脱している拡張印刷パラメータを定義することを許容し、更に、その印刷パラメータを反映した印刷データを生成することで、プリンタの能力を最大限に発揮させることができる。
【００６３】
［他の実施の形態］
本実施の形態では、印刷制御装置をプリンタに対するホストコンピュータとしての情報処理装置側に装備する構成としたが、これに限定されるものではなく、印刷制御装置をプリンタの筐体に外付けのボックス型として装備する構成とすることも可能である。
【００６４】
本実施の形態では、プリンタの印刷方式については言及しなかったが、印刷方式は特定のものに限定されるものではなく、インクジェット方式、電子写真方式など各種印刷方式に適用することが可能である。
【００６５】
本実施の形態では、プリンタに出力する印刷データ生成を例に挙げたが、これに限定されるものではなく、複写機、複合機に出力する印刷データ生成を行う場合に適用することも可能である。
【００６６】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。上述した実施形態の機能を実現するソフトウエアのプログラムコードを記憶した記憶媒体等の媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体等の媒体に格納されたプログラムコードを読み出し実行することによっても、本発明が達成されることは言うまでもない。
【００６７】
この場合、記憶媒体等の媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体等の媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体等の媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、或いはネットワークを介したダウンロードなどを用いることができる。
【００６８】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【００６９】
更に、記憶媒体等の媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【００７０】
【発明の効果】
以上説明したように、本発明によれば、入力した印刷パラメータが拡張印刷パラメータであると判断した場合は、変換された印刷パラメータを反映した印刷データを生成し、入力した印刷パラメータが拡張印刷パラメータではないと判断した場合は、入力した印刷パラメータを反映した印刷データを生成する制御を行うので、即ち、印刷指定時に、ページ記述言語属性の仕様から逸脱している拡張印刷パラメータを定義することを許容し、更に、その印刷パラメータを反映した印刷データを生成することで、印刷装置の能力を最大限に発揮させることができる。
【００７１】
また、印刷コマンド生成処理の仕様追加あるいは仕様変更によって、印刷コマンド生成用パラメータの仕様が変更された場合においても、印刷パラメータに対応したページ記述言語属性の一覧を記述する属性記述手段中における、パラメータ変換規則を記述する変換規則記述手段のみを変更することで、印刷制御装置に入力する印刷パラメータを何ら変更することなく、印刷コマンド生成用パラメータの仕様の変更が可能となる。
【００７２】
また、属性記述手段内にパラメータ変換規則をコメント形式で記述することで、属性記述手段の仕様に何ら影響を及ぼすことなく、且つその属性記述手段に対応する印刷装置に関する、印刷パラメータから印刷コマンド生成用パラメータへの変換規則を記述することが可能となる。
【００７３】
また、以上の結果として、印刷制御装置に入力した印刷パラメータをページ記述言語データに反映させることなく、ページ記述言語属性の仕様から逸脱するような自由な印刷パラメータを印刷データ生成手段に渡すことが可能となり、その結果として印刷装置の能力を最大限に発揮させることが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る印刷制御装置の全体構成を示すブロック図である。
【図２】本実施の形態に係る本発明のページ記述言語を扱う印刷制御装置の構成を示すブロック図である。
【図３】本実施の形態に係る本発明のページ記述言語を扱うラスタ型の印刷制御装置の構成を示すブロック図である。
【図４】本実施の形態に係るパラメータ変換処理の流れを示すフローチャートである。
【図５】本実施の形態に係るパラメータ変換処理の流れを示すフローチャートである。
【図６】本実施の形態に係るパラメータ変換用リスト生成処理の流れを示すフローチャートである。
【図７】本実施の形態に係るパラメータ変換用リスト生成処理の流れを示すフローチャートである。
【図８】本実施の形態に係る入力パラメータ及びプリンタコマンド生成用パラメータの構成を示す図である。
【図９】本実施の形態に係るリスト構造を示す図である。
【図１０】本実施の形態に係るパラメータ変換テーブルの構成を示す図である。
【図１１】従来例に係るページ記述言語を扱う一般的なプリンタ及びプリンタドライバの構成を示すブロック図である。
【図１２】従来例に係るページ記述言語を扱うラスタ型のプリンタ及びプリンタドライバの構成を示すブロック図である。
【符号の説明】
１  中央演算処理装置
２  メモリ
３  外部記憶装置
４  プリンタ（印刷装置）
２１  ページ記述言語編集処理部（ページ記述言語編集手段）
２２  パラメータ変換処理部（パラメータ変換手段）
２３  プリンタコマンド生成処理部（印刷データ生成手段）
２４  ページ記述言語属性ファイル（属性記述手段）
２５  パラメータ変換テーブル（変換規則記述手段）
２６  ビットマップ生成処理部（ビットマップ生成手段）
【図１】
0004136454.tif 000002
【図２】
0004136454.tif 000003
【図３】
0004136454.tif 000004
【図４】
0004136454.tif 000005
【図５】
0004136454.tif 000006
【図６】
0004136454.tif 000007
【図７】
0004136454.tif 000008
【図８】
0004136454.tif 000009
【図９】
0004136454.tif 000010
【図１０】
0004136454.tif 000011
【図１１】
0004136454.tif 000012
【図１２】
0004136454.tif 000013