JP2003015849A - 印刷制御装置及び印刷制御方法 - Google Patents

印刷制御装置及び印刷制御方法

Info

Publication number
JP2003015849A
JP2003015849A JP2001197286A JP2001197286A JP2003015849A JP 2003015849 A JP2003015849 A JP 2003015849A JP 2001197286 A JP2001197286 A JP 2001197286A JP 2001197286 A JP2001197286 A JP 2001197286A JP 2003015849 A JP2003015849 A JP 2003015849A
Authority
JP
Japan
Prior art keywords
font
embedded
print
control command
intermediate data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001197286A
Other languages
English (en)
Other versions
JP3962559B2 (ja
Inventor
Hiroshi Omura
宏 大村
Masanari Toda
雅成 戸田
Tatsuro Uchida
達郎 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001197286A priority Critical patent/JP3962559B2/ja
Priority to US10/180,139 priority patent/US7319532B2/en
Publication of JP2003015849A publication Critical patent/JP2003015849A/ja
Application granted granted Critical
Publication of JP3962559B2 publication Critical patent/JP3962559B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 印刷命令を一旦中間コード形式に変換した後
プリンタ制御コマンドに変換する形式の印刷制御装置に
おいて、埋め込みフォントを正しく印刷可能とする印刷
制御装置を提供すること。 【解決手段】 印刷命令を中間コード形式に変換して記
憶するスプーラは、印刷命令に含まれるフォント属性か
ら埋め込みフォントの有無を検出し、埋め込みフォント
が検出された場合には埋め込みフォントを取得して(S
3.3)中間コード形式でスプールする(S3.4)。
デスプーラはスプールされた埋め込みフォントがある場
合そのフォントをグラフィクスエンジンに登録し(D
3.)、プリンタドライバは登録された埋め込みフォン
トを用いた制御コマンドを生成する(Drv3.1)。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、プリンタ等の印刷
装置に印刷用の制御コマンドを供給する印刷制御装置及
び印刷制御方法に関し、特に、アプリケーションプログ
ラムからの印刷命令を一旦、最終的に前記プリンタに送
付する印刷データとは異なる形式のデータ形式(いわゆ
る中間コード)に変換した後、再度制御コマンドに変換
する形式の印刷制御装置及び印刷制御方法に関する。
【0002】
【従来の技術】図3は、従来、直接、あるいはネットワ
ーク経由で接続されているプリンタ1500に対して印
刷指示を行う印刷制御装置としてのホストコンピュータ
において、印刷処理に関わる機能構成を大まかに示した
図である。印刷処理は、ホストコンピュータのユーザ
が、ワードプロセッサプログラムや表計算プログラム等
のアプリケーション201から、印刷指示を行うことに
よって開始する。
【0003】アプリケーション201は、文字描画デー
タ等を含むアプリケーションデータを解析して、例えば
OS(基本ソフト)が提供するグラフィックエンジン2
02をコールする。グラフィックエンジン202は、プ
リンタ1500の種類に合わせて用意されたプリンタド
ライバ203をロードし、アプリケーション201の出
力をプリンタドライバ203に受け渡す。そして、アプ
リケーション201から受け取るGDI(Graphic Devic
e Interface)関数からDDI(Device Driver Interfac
e)関数に変換して、プリンタドライバ203へDDI関
数を出力する。
【0004】プリンタドライバ203は、グラフィック
エンジン202から受け取ったDDI関数に基づいて、
プリンタが認識可能な制御コマンド、例えばPDL(Pag
e Description Language)に変換する。変換されたプリ
ンタ制御コマンドは、システムスプーラ204を経てイ
ンターフェース21経由でプリンタ1500へ印刷デー
タとして出力される。プリンタ1500ではこの制御コ
マンドを解釈して、ビットマップデータへ展開し、最終
的に紙などの記録媒体に印刷結果が出力される。
【0005】図5は、印刷処理における文字描画に必要
な情報を表す模式図である。図5に示すように、一般的
に文字描画では以下の情報が必要である。 ・文字コード 文字描画で伝えたいところの文字情報。ASCII、ShiftJI
S、Unicode等、予め定められたコード体系に従ったコー
ドが用いられる。 ・フォント属性 文字描画に適応するフェース名、グリフへの修飾を表す
イタリック/ボールド指定有無、文字の大きさを表すポ
イント数等の情報。 ・フォント ゴシックや明朝等のフェース名で指定される文字描画形
状を表す情報。内部に文字毎の描画形状情報(グリフと
以下呼ぶ)を有する。フォントの情報形式としては、大
きくビットマップフォントとアウトラインフォントに分
かれ、TrueType、OpenType等の各種フォーマットが定義
されている。 ・描画属性 文字の描画位置や、色、クリップの状態等を表す情報。
【0006】そして、これらの情報全てが揃わなけれ
ば、ユーザが意図した通りの文字描画は成立しない。し
かし、文字描画形状を表す情報であるフォントは、例え
ば著作権の関係等によって、すべての環境に必要とする
フォントが存在する保証はない。言い換えるとユーザが
文字描画データを作成した環境に存在したフォントが、
文字描画が行われる環境で存在しない可能性がある。描
画が行われる環境にユーザが意図したフォントが存在し
ない場合にも、ユーザが意図したフォントもしくはそれ
に近い形状のフォントで文字描画を行うために、従来、
1)フォント置き換え、2)ビットマップ置き換え及
び、3)フォント埋め込みという仕組みが知られてい
る。以下、それぞれの仕組みを用いた場合の描画結果を
示す図6を参照して、それぞれの仕組みについて説明す
る。
【0007】1.フォント置き換え 文字描画実行環境において、文字描画データ中のフォン
ト属性に近い別のフォントを用いて描画を行う方法。別
のフォントを用いるため、図6右最上段に示すように、
ユーザが意図していたものとは全く違った形状の文字描
画が行われる可能性がある。最悪の場合、意図した文字
コードに対応したフォントが文字描画実行環境において
存在せず、文字として識別不可能な描画(印刷)が行わ
れることもある。
【0008】2.ビットマップ置き換え 文字描画データを作成する時点で文字描画をビットマッ
プに変換して、文字描画をビットマップ描画に変換する
方法。通常の見た目はユーザが意図した文字描画と同じ
になる。しかしビットマップであるために図6右中段に
示すように拡大/縮小時にビットマップの解像度の影響
で文字品位が落ちる場合がある。
【0009】3.フォント埋め込み 文字描画データに対してフォントを埋め込み、文字描画
が実際行われる環境までフォントを持っていく方法。埋
め込まれたフォントは、文字描画前に文字描画実行環境
へ登録されるため、すべての情報が揃いユーザが意図し
た形式で文字描画される。注意として登録の際には著作
権を侵害しないように配慮する必要がある。例えば埋め
込みフォントが描画する環境に元々存在しない場合に
は、印刷終了後に登録したフォントを必ず消去する必要
がある。フォント埋め込みは指定されたフォントが文字
描画領域になくてもユーザが意図した出力を得られると
いう利点があるが、フォント情報を文字描画データに埋
め込むため、文字描画データが大きくなる傾向にある。
特に日本語フォントのような文字種の多いフォントを埋
め込む場合にこの問題が顕著である。
【0010】図7に示すシーケンスチャートを用いて、
フォントが埋め込みされた文字描画データを印刷する際
の従来のアプリケーション201、グラフィックスエン
ジン202、及びプリンタドライバ203の動作につい
て説明する。
【0011】ステップA1. アプリケーション201
は印刷ジョブが開始することを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してプリンタドライバ203へ引き渡す)。 ステップDRV1. プリンタドライバ203は、ジョ
ブ開始制御のPDLコマンドを生成する。
【0012】ステップA2. アプリケーション201
はページ印刷が開始することを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202はA1.と同様にプリンタドライバ203
へ引き渡す)。 ステップDRV2. プリンタドライバ203は、ペー
ジ開始制御のPDLコマンドを生成する。
【0013】ステップA3. アプリケーション201
は、アプリケーションデータ内の埋め込みフォントをグ
ラフィックエンジン202に登録する。この登録により
文字描画に不可欠なフォントの情報をこの環境下でも使
用可能にすることができる。 ステップG1. グラフィックエンジン202は、フォ
ント情報を保持する。 ステップA4. アプリケーション201がステップA
3.で登録したフォントを用いたGDI関数によって文
字描画を行う(グラフィックエンジン202はステップ
A1.と同様にプリンタドライバ203へ引き渡す)。
【0014】ステップDRV3. プリンタドライバ2
03は、文字描画コマンドを生成するために、以下の処
理を行い文字のグリフを取得する。 ステップDRV3.1. プリンタドライバ203は、
グラフィックエンジン202に対して文字グリフの取得
要求を行う。
【0015】ステップG2. グラフィックエンジン2
02はステップG1.で登録されたフォントより文字グ
リフを生成しプリンタドライバ203へ受け渡す。 ステップA5. アプリケーション201はステップA
3で登録したフォントをグラフィックエンジン202よ
り削除する。 ステップG3. グラフィックエンジン202で保持し
ていた埋め込みフォントを破棄する。
【0016】ステップA6. アプリケーション201
はページ印刷が終了したことを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202はステップA1.と同様にプリンタドライ
バ203へ引き渡す)。 ステップDRV4. プリンタドライバ203は、ペー
ジ終了制御のPDLコマンドを生成する。
【0017】ステップA7. アプリケーション201
は印刷ジョブが終了することを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202はステップA1.と同様にプリンタドライ
バ203へ引き渡す)。 ステップDRV5. プリンタドライバ203は、ジョ
ブ終了制御のPDLコマンドを生成する。
【0018】上記の処理は1つのプロセスで行われてお
り、アプリケーション201がGDI関数をコールする
ことにより、コールされたGDI関数の機能を実現する
ために必要なグラフックエンジン202及びプリンタド
ライバ203の処理ルーチンが動作し、コール内容に対
応するPDLコマンドが生成される。
【0019】アプリケーション201のGDI関数コー
ルとグラフックエンジン202−プリンタドライバ20
3の処理が完全にリンクして動作しているので、アプリ
ケーション201−グラフィックスエンジン202−プ
リンタドライバ203間での動作手順は保証される。そ
のためプリンタドライバ203での処理ステップである
ステップDrv3.1.文字グリフ取得の際に、グラフ
ィックエンジン202でフォントを保持していることが
保証されている。
【0020】図4は、図3に示した構成に加え、プリン
タに送信される印刷データを生成する前に、一旦、最終
的にプリンタに送付する印刷データとは異なる形式のデ
ータ形式(いわゆる中間コード)での一時保存を行うス
プーラを備え、この中間コード形式で一時保存されたデ
ータから改めて最終的に前記プリンタに送付する印刷デ
ータを生成するデスプーラ及びその関連機能を備えるホ
ストコンピュータの機能ブロック図を示す。すなわち、
図4のホストコンピュータでは、グラフィックエンジン
202からプリンタドライバ203へ印刷命令を送る際
に、一旦、中間コードからなるスプールファイル303
を生成し、その後デスプーラによってスプールファイル
を印刷データに変換してプリンタに出力する。
【0021】上述した図3のホストコンピュータにおい
て、アプリケーション201が印刷処理から開放される
のは、プリンタドライバ203がグラフィックエンジン
202からのすべての印刷命令をプリンタ1500の制
御コマンドへ変換し終った時点である。これに対して、
図4のホストコンピュータでは、スプーラ302がすべ
ての印刷命令を中間コードデータに変換し、スプールフ
ァイル303に出力した時点でアプリケーション201
が印刷処理から開放される。通常、後者(図4構成)の
方が短時間でアプリケーション201が印刷処理から解
放される。
【0022】また、図4で示す構成を用いた場合、スプ
ールファイル303の内容に対して印刷前に加工するこ
とができる。これにより拡大/縮小印刷や、複数(N)
ページを1ページに縮小して印刷するNアップ印刷等、
アプリケーションの持たない機能を実現する事ができ
る。尚、スプールファイル303の加工を行うために
は、通常、プリンタドライバ203が提供するウインド
ウから設定を行い、プリンタドライバ203がその設定
内容をRAMあるいはHD等のメモリ上に保管する。こ
のような利点から、上記図3に示した構成から、図4の
如く中間コードデータでスプールするような構成への移
行が進んでいる。
【0023】次に、図4に示す機能構成を有するホスト
コンピュータにおいて、フォント埋め込みデータを印刷
する際の処理を図8を参照して説明する。この場合、図
7で説明した図3の機能構成の際の処理とは異なり、1
つのプロセスでは処理できない。そして、複数のジョブ
を制御するために、アプリケーションプロセスとデスプ
ーラプロセス間での待ち行列処理を実現する必要があ
る。実際には上記2つのプロセス間の通信はスプールフ
ァイルマネージャ304を介して行われるが、説明を簡
潔に行うために待ち行列処理を含めスプールファイルマ
ネージャ304を一つの通信媒介だと捉え、図8及び以
下の説明からはあえて省略した。
【0024】ステップA1. アプリケーション201
は印刷ジョブが開始することを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してディスパッチャ301へ出力し、ディスパッチャ
301はその内容をスプーラ302へ引き渡す)。 ステップS1. スプーラ302は用紙サイズ等のジョ
ブに関する情報を保持するジョブファイルをスプールフ
ァイル303に生成し、別プロセスであるデスプーラ3
05を起動する。
【0025】ステップD1. デスプーラ305はジョ
ブファイルを読み印刷ジョブ開始のためのGDI関数を
コールする(グラフィックエンジン202は通知された
GDI関数をDDI関数に変換してディスパッチャ30
1へ出力し、ディスパッチャ301はその内容をプリン
タドライバ203へ引き渡す)。 ステップDRV1.プリンタドライバ203は、ジョブ
開始制御のPDLコマンドを生成する。
【0026】ステップA2. アプリケーション201
はページ印刷が開始することを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してディスパッチャ301へ出力し、ディスパッチャ
301はその内容をスプーラ302へ引き渡す)。 ステップS2. スプーラ302はページに関する情報
を保持するページファイルをスプールファイル303に
生成する。
【0027】ステップA3. アプリケーション201
は、アプリケーションデータ内の埋め込みフォントをグ
ラフィックエンジン202に登録する。この登録により
文字描画に不可欠なフォントの情報をこの環境下でも使
用可能にすることができる。 ステップG1. グラフィックエンジン202は、フォ
ント情報を保持する。
【0028】ステップA4. アプリケーション201
がステップA3で登録したフォントを含むフォントを用
いて文字描画を行う(グラフィックエンジン202は描
画時にコールされるGDI関数をDDI関数に変換して
ディスパッチャ301へ出力し、ディスパッチャ301
はその内容をスプーラ302へ引き渡す)。 ステップS3. スプーラ302は、文字描画を表す情
報を中間コードとしてスプールファイルのページファイ
ルに書き込む。この中間コードにはDDI関数より取得
可能な“文字コード、フォント属性、描画属性”のみ含
まれており、フォントは含まれていない。
【0029】ステップA5. アプリケーション201
はステップA3で登録したフォントをグラフィックエン
ジン202より削除する。 ステップG3. グラフィックエンジン202で保持し
ていた埋め込みフォントを破棄する。
【0030】ステップA6. アプリケーション201
はページ印刷が終了したことを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してディスパッチャ301へ出力し、ディスパッチャ
301はその内容をスプーラ302へ引き渡す)。 ステップS4. スプーラ302は、ページファイルを
クローズし、ページ再生をデスプーラ305に依頼す
る。
【0031】ステップA7. アプリケーション201
は印刷ジョブが終了することを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してディスパッチャ301へ出力し、ディスパッチャ
301はその内容をスプーラ302へ引き渡す)。 ステップS4. スプーラ302は、ジョブファイルを
クローズし、これ以上ページが増えないことをデスプー
ラ305に通知する。
【0032】ステップD2. デスプーラ305が、ス
テップS2で生成されたページファイルに記述された中
間コードを再生するために、ページ開始のためのGDI
関数をコールする(グラフィックエンジン202は通知
されたGDI関数をDDI関数に変換してディスパッチ
ャ301へ出力し、ディスパッチャ301はその内容を
プリンタドライバ203へ引き渡す)。
【0033】ステップDRV2. プリンタドライバ2
03は、ページ開始制御のPDLコマンドを生成する。 ステップD3. デスプーラ305が、中間コードに記
述された文字描画を再生するために、GDI関数をコー
ルする(グラフィックエンジン202は描画時にコール
されるGDI関数をDDI関数に変換してディスパッチ
ャ301へ出力し、ディスパッチャ301はその内容を
プリンタドライバ203へ引き渡す)。
【0034】ステップDRV3. プリンタドライバ2
03は、文字描画コマンドを生成するために、以下の処
理を行い文字のグリフを取得する。 ステップDRV3.1. プリンタドライバ203は、
グラフィックエンジンに対して文字グリフの取得を行
う。
【0035】ステップG4. グラフィックエンジン2
02は、フォント属性に指定されているフェース名のフ
ォントを探す。しかし(埋め込みされ、かつ当該環境に
元々は存在しない)フォントは既にステップG3.で廃
棄されており、該当フォントのグリフを要求されても受
け渡すことはできない。よって予め定められた関係に基
づきグリフを要求されたフォントに近い種類の代替えフ
ォントを用いてグリフを作成し、その結果をプリンタド
ライバ203へ受け渡す。
【0036】ステップD6. デスプーラ305はペー
ジ印刷が終了したことを、GDI関数を介してグラフィ
ックエンジン202に通知する(グラフィックエンジン
202は通知されたGDI関数をDDI関数に変換して
ディスパッチャ301へ出力し、ディスパッチャ301
はその内容をプリンタドライバ203へ引き渡す)。 ステップDRV4. プリンタドライバ203は、ペー
ジ終了制御のPDLコマンドを生成する。
【0037】ステップD7. デスプーラ305は印刷
ジョブが終了することを、GDI関数を介してグラフィ
ックエンジン202に通知する(グラフィックエンジン
202は通知されたGDI関数をDDI関数に変換して
ディスパッチャ301へ出力し、ディスパッチャ301
はその内容をプリンタドライバ203へ引き渡す)。 ステップDRV5. プリンタドライバ203は、ジョ
ブ終了制御のPDLコマンドを生成する。
【0038】上記の処理は図8に示すようにアプリケー
ションプロセスとデスプーラプロセスの2つのプロセス
で行われており、アプリケーション201がグラフィッ
クエンジン202に登録した埋め込みフォントが、デス
プーラによるスプールファイルの再生時にもグラフィッ
クエンジン202に存在することは保証されていない。
【0039】グラフィックエンジン202に埋め込みフ
ォントが存在しない場合は、ステップG4.で説明した
ようにフォント置き換えが発生し、中間データで指定さ
れていたフォントとは異なるフォントに置き換えられて
しまうため、図6右最上段に示したように、ユーザが意
図した形状とは異なる形状で出力されてしまう可能性が
ある。この問題を回避するため、ステップG4.でのフ
ォント置き換えを防止するため、スプール時点でビット
マップ置き換えを行う方法が考えられる。
【0040】このようなスプール時にビットマップ置き
換えを行う印刷処理として考えれられる動作を、図9を
参照して説明する。 ステップA1. アプリケーション201は印刷ジョブ
が開始することを、GDI関数を介してグラフィックエ
ンジン202に通知する(グラフィックエンジン202
は通知されたGDI関数をDDI関数に変換してディス
パッチャ301へ出力し、ディスパッチャ301はその
内容をスプーラ302へ引き渡す)。
【0041】ステップS1. スプーラ302は用紙サ
イズ等のジョブに関する情報を保持するジョブファイル
をスプールファイル303に生成し、別プロセスである
デスプーラ305を起動する。 ステップD1. デスプーラ305はジョブファイルを
読み印刷ジョブ開始のためのGDI関数をコールする
(グラフィックエンジン202は通知されたGDI関数
をDDI関数に変換してディスパッチャ301へ出力
し、ディスパッチャ301はその内容をプリンタドライ
バ203へ引き渡す)。
【0042】ステップDRV1.プリンタドライバ20
3は、ジョブ開始制御のPDLコマンドを生成する。 ステップA2. アプリケーション201はページ印刷
が開始することを、GDI関数を介してグラフィックエ
ンジン202に通知する(グラフィックエンジン202
は通知されたGDI関数をDDI関数に変換してディス
パッチャ301へ出力し、ディスパッチャ301はその
内容をスプーラ302へ引き渡す)。
【0043】ステップS2. スプーラ302はページ
に関する情報を保持するページファイルをスプールファ
イル303に生成する。 ステップA3. アプリケーション201は、アプリケ
ーションデータ内の埋め込みフォントをグラフィックエ
ンジン202に登録する。この登録により文字描画に不
可欠なフォントの情報をこの環境下でも使用可能にする
ことができる。
【0044】ステップG1. グラフィックエンジン2
02は、フォント情報を保持する。 ステップA4. アプリケーション201がステップA
3で登録したフォントを含むフォントを用いて文字描画
を行う(グラフィックエンジン202は描画時にコール
されるGDI関数をDDI関数に変換してディスパッチ
ャ301へ出力し、ディスパッチャ301はその内容を
スプーラ302へ引き渡す)。
【0045】ステップS3. スプーラ302は、文字
描画を表す情報を中間コードとしてスプールファイルの
ページファイルに書き込む。この中間コードに含まれる
フォント属性が埋め込みフォントであった場合は、フォ
ント置き換えによる文字描画の差異を無くすために、以
下の処理を行う。 ステップS3.1. スプーラ302は、グラフィック
エンジン202に対して文字グリフの取得を行う。
【0046】ステップG2. グラフィックエンジン2
02はフォントより文字グリフを生成しスプーラ302
へ受け渡す。 ステップS3.2. スプーラ302は受け取った文字
グリフを用いて文字描画をビットマップ描画に変換し、
中間コードとしてスプールする。
【0047】ステップA5. アプリケーション201
はステップA3で登録したフォントをグラフィックエン
ジン202より削除する。 ステップG3. グラフィックエンジン202で保持し
ていた埋め込みフォントを破棄する。
【0048】ステップA6. アプリケーション201
はページ印刷が終了したことを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してディスパッチャ301へ出力し、ディスパッチャ
301はその内容をスプーラ302へ引き渡す)。 ステップS4. スプーラ302は、ページファイルを
クローズし、ページ再生をデスプーラ305に依頼す
る。
【0049】ステップA7. アプリケーション201
は印刷ジョブが終了することを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してディスパッチャ301へ出力し、ディスパッチャ
301はその内容をスプーラ302へ引き渡す)。 ステップS4. スプーラ302は、ジョブファイルを
クローズし、これ以上ページが増えないことをデスプー
ラ305に通知する。
【0050】ステップD2. デスプーラ305が、ペ
ージファイルに記述された中間コードを再生するため
に、ページ開始のためのGDI関数をコールする(グラ
フィックエンジン202はコールされたGDI関数をD
DI関数に変換してディスパッチャ301へ出力し、デ
ィスパッチャ301はその内容をプリンタドライバ20
3へ引き渡す)。
【0051】ステップDRV2. プリンタドライバ2
03は、ページ開始制御のPDLコマンドを生成する。 ステップD8. デスプーラ305は、ページファイル
上の文字描画から変換したビットマップ描画の中間コー
ドをGDI関数コールに変換する(グラフィックエンジ
ン202はコールされたGDI関数をDDI関数に変換
してディスパッチャ301へ出力し、ディスパッチャ3
01はその内容をプリンタドライバ203へ引き渡
す)。
【0052】ステップDRV6. プリンタドライバ2
03は、ビットマップ描画をPDLコマンドに変換す
る。 ステップD6. デスプーラ305はページ印刷が終了
したことを、GDI関数を介してグラフィックエンジン
202に通知する(グラフィックエンジン202は通知
されたGDI関数をDDI関数に変換してディスパッチ
ャ301へ出力し、ディスパッチャ301はその内容を
プリンタドライバ203へ引き渡す)。
【0053】ステップDRV4. プリンタドライバ2
03は、ページ終了制御のPDLコマンドを生成する。 ステップD7. デスプーラ305は印刷ジョブが終了
することを、GDI関数を介してグラフィックエンジン
202に通知する(グラフィックエンジン202は通知
されたGDI関数をDDI関数に変換してディスパッチ
ャ301へ出力し、ディスパッチャ301はその内容を
プリンタドライバ203へ引き渡す)。 ステップDRV5. プリンタドライバ203は、ジョ
ブ終了制御のPDLコマンドを生成する。
【0054】図9を用いて説明したような処理により、
プリンタドライバ203から(元々は存在しない)埋め
込みフォントのグリフ要求があったとしても、グラフィ
ックエンジンによるフォント置き換えが発生しないの
で、基本的にはユーザが意図した通りの形状を有する文
字出力が得られる。しかし、文字描画をビットマップ描
画に変換することにより、以下のような問題点を有す
る。
【0055】1.拡大時の品質低下 図6右中段に示したように、スプール後に拡大処理を行
った場合、文字の品位が低下する。 2.色処理の問題 ビットマップに変換された時点で文字描画に関する情報
がなくなるため、カラー印刷時に行われる色変換処理の
際に、文字描画としての色処理が適応できない。 3.圧縮の問題 文字グリフのビットマップに対して効果がある圧縮処理
が適応できない。
【0056】
【発明が解決しようとする課題】上述したように、プリ
ンタに送信される印刷データを生成する前に、最終的に
プリンタに送付する印刷データとは異なる形式のデータ
形式(いわゆる中間コード)での一時保存を行うスプー
ラを備え、この中間コード形式で一時保存されたデータ
から改めて最終的にプリンタに送付する印刷データを生
成するデスプーラとプリンタ制御コマンドを生成するプ
リンタドライバを備える従来の印刷制御装置において
は、埋め込みフォントを用いた文字描画の際に、フォン
ト置き換え又はビットマップ置き換えが発生し、フォン
ト置き換えでは意図した出力結果が得られない、ビット
マップ置き換えでは、印字品質の低下、色処理、圧縮処
理での問題が発生するという問題があった。
【0057】本発明はこのような従来技術の問題点を解
決し、印刷命令を一旦中間コード形式に変換した後プリ
ンタ制御コマンドに変換する形式の印刷制御装置及び印
刷制御方法において、埋め込みフォントを正しく印刷可
能とする印刷制御装置及び印刷制御方法を提供すること
を目的とする。
【0058】
【課題を解決するための手段】すなわち、本発明の要旨
は、アプリケーションからの印刷命令を所定の印刷装置
に適した制御コマンドに変換して出力する印刷制御装置
であって、印刷命令を制御コマンドとは異なる形式を有
する中間データに変換し、記憶する中間データ生成手段
と、中間データを制御コマンドに変換して出力する制御
コマンド生成手段とを有し、中間データ生成手段が、
印刷命令に埋め込みフォントが含まれているか否かを判
断するフォント判定手段と、 埋め込みフォントが含ま
れていると判定された場合、埋め込みフォントを取得
し、中間データとともに記憶するフォント記憶手段とを
有し、制御コマンド生成手段が中間データとともに記憶
されている埋め込みフォントを用いて中間データを制御
コマンドに変換することを特徴とする印刷制御装置に存
する。
【0059】また、本発明の別の要旨は、アプリケーシ
ョンからの印刷命令を所定の印刷装置に適した制御コマ
ンドに変換して出力する印刷制御方法であって、印刷命
令を制御コマンドとは異なる形式を有する中間データに
変換し、記憶する中間データ生成ステップと、中間デー
タを制御コマンドに変換して出力する制御コマンド生成
ステップとを有し、中間データ生成ステップが、 印刷
命令に埋め込みフォントが含まれているか否かを判断す
るフォント判定ステップと、 埋め込みフォントが含ま
れていると判定された場合、埋め込みフォントを取得
し、中間データとともに記憶するフォント記憶ステップ
とを有し、制御コマンド生成ステップが中間データとと
もに記憶されている埋め込みフォントを用いて中間デー
タを制御コマンドに変換することを特徴とする印刷制御
方法に存する。
【0060】また、本発明の別の要旨は、コンピュータ
を本発明の印刷制御装置として機能させることを特徴と
するコンピュータプログラムに存する。
【0061】また、本発明の別の要旨は、コンピュータ
を本発明の印刷制御装置として機能させるコンピュータ
プログラムを格納したことを特徴とするコンピュータ読
みとり可能な記憶媒体に存する。
【0062】また、本発明の別の要旨は、文字描画を表
す情報を中間コードとして書き込む際、フォントが埋め
込みフォントの場合、フォントの取得を要求し、取得し
たフォントをスプールファイルに中間データとして格納
するスプーラと、スプールファイルに埋め込まれたフォ
ントを登録するデスプーラと、デスプーラにより登録さ
れたフォントに基づき文字グリフの取得を行い、文字描
画を表す情報をPDLに変換するドライバとを有するこ
とを特徴とする印刷制御装置に存する。
【0063】また、本発明の別の要旨は、文字描画を表
す情報を中間コードとして書き込む際、フォントが埋め
込みフォントの場合、フォントの取得を要求し、取得し
たフォントをスプールファイルに中間データとして格納
する格納ステップと、スプールファイルに埋め込まれた
フォントを登録する登録ステップと、登録されたフォン
トに基づき文字グリフの取得を行い、文字描画を表す情
報をPDLに変換する変換ステップとを有することを特
徴とする印刷制御方法に存する。
【0064】また、本発明の別の要旨は、文字描画を表
す情報を中間コードとして書き込む際、フォントが埋め
込みフォントの場合、フォントの取得を要求し、取得し
たフォントをスプールファイルに中間データとして格納
する格納工程のプログラムと、スプールファイルに埋め
込まれたフォントを登録する登録工程のプログラムと、
登録されたフォントに基づき文字グリフの取得を行い、
文字描画を表す情報をPDLに変換する変換工程のプロ
グラムとを有することを特徴とするコンピュータプログ
ラムに存する。
【0065】また、本発明の別の要旨は、文字描画を表
す情報を中間コードとして書き込む際、フォントが埋め
込みフォントの場合、フォントの取得を要求し、取得し
たフォントをスプールファイルに中間データとして格納
する格納工程のプログラムと、スプールファイルに埋め
込まれたフォントを登録する登録工程のプログラムと、
登録されたフォントに基づき文字グリフの取得を行い、
文字描画を表す情報をPDLに変換する変換工程のプロ
グラムとを記憶するコンピュータ読みとり可能な記憶媒
体に存する。
【0066】
【発明の実施の形態】以下、図面を参照して本発明をそ
の好ましい実施形態に基づいて説明する。まず、本発明
の実施形態に係る印刷制御装置について説明する前に、
本発明の実施形態に係る印刷制御装置が制御可能な印刷
装置の構成について説明する。
【0067】(印刷装置の構成)図1は、本発明の実施
形態に係る印刷制御装置が制御可能な印刷装置の構成例
を説明する概略断面図である。本実施形態において、印
刷装置1500は例えばレーザビームプリンタである
が、もちろんインクジェット方式を始め他の印刷方式の
印刷装置であってもよい。
【0068】印刷装置(以下、プリンタという)150
0は、直接又はネットワーク等を介して印刷制御装置か
ら供給されるプリンタ制御コマンド等を基に、記録媒体
の一例としての記録用紙上に像を形成する。プリンタ本
体740は、プリンタ制御ユニット1000、操作部1
501、レーザドライバ702、半導体レーザ703、
回転多面鏡705、静電ドラム706、現像ユニット7
07、用紙カセット708、搬送ローラ710、外部メ
モリ711、フェイスダウン排出部715及び排紙トレ
イ716とを備えている。
【0069】上記各部の構成を動作とともに詳述する
と、プリンタ制御ユニット1000は、プリンタ本体7
40全体の制御を行い、主にプリンタ制御コマンドをビ
デオ信号に変換してレーザドライバ702に出力する。
プリンタ制御ユニット1000には、フォントデータや
ページ記述言語(PDL)のエミュレーションプログラ
ム等を供給する外部メモリ711を接続することもでき
る。操作部1501には、プリンタ1500の操作、設
定等を行うのためのキー及び表示手段(例えばLED表
示器)等が設けられている。
【0070】レーザドライバ702は半導体レーザ70
3を駆動するための回路であり、入力されたビデオ信号
に応じて半導体レーザ703を駆動し、半導体レーザ7
03から発射されるレーザ光704をオン・オフする。
半導体レーザ703は、回転多面鏡705に向けてレー
ザ光を発射する。回転多面鏡705は、レーザ光704
を左右方向に反射し、それによってレーザ光704が静
電ドラム706上を走査する。予め所定電位に帯電され
た静電ドラム706上をオン、オフするレーザ光704
で走査することにより、プリンタ制御ユニット1000
が出力するビデオ信号に対応した静電潜像がドラム表面
に形成される。現像ユニット707は、静電ドラム70
6近傍に設けられ、現像材(トナー)を用いて静電潜像
を現像(可視化)する。
【0071】一方、用紙カセット708は、記録紙とし
て例えばカットシートを収納する。給紙ローラ709及
び搬送ローラ710は、給紙カセット708内のカット
シート記録紙をプリンタ本体740内に搬送し、静電ド
ラム706の対向位置に供給する。記録紙は、用紙カセ
ット708からだけでなく、用紙カセット708の蓋部
上面に設けられた手差しトレイ(図示略)から供給する
こともできる。そして、ドラム上で現像された潜像(ト
ナー像)は、転写ローラ等によって搬送されてきた記録
紙上に転写される。
【0072】定着部712は、カットシート記録紙に転
写されたトナー像を加熱、加圧してカットシート記録紙
上に定着させる。画像が形成された記録紙は、切り替え
くさび713を上向きにした場合にはフェイスアップ排
出部714から記録面を上にした状態で排紙トレイ71
6に排出され、くさび713を下向きにした場合にはフ
ェイスダウン排出部715から記録面を下にした状態で
排出される。
【0073】(印刷制御装置の構成例)次に、本発明の
実施形態に係る印刷制御装置の一例としてのホストコン
ピュータの構成例を図2のブロック図を参照して説明す
る。尚、以下に説明する印刷制御装置の機能が実現され
るのであれば、単体の機器であっても、複数の機器から
なるシステムであっても、LAN(Local Area Network:
ローカルエリアネットワーク)、WAN(Wide Area N
etwork: 広域ネットワーク)等のネットワークを介し
て接続がなされ処理が行われるシステムであっても構わ
ない。
【0074】図2において、本発明の実施形態に係る印
刷制御装置の一例としてのホストコンピュータ3000
は、上述したプリンタ1500と接続され、印刷システ
ムを構成している。ホストコンピュータ3000は、C
PU1、RAM2、ROM3キーボードコントローラ
(KBC)5、CRTコントローラ(CRTC)6、デ
ィスクコントローラ(DKC)7、プリンタコントロー
ラ(PRTC)8、キーボード(KB)9、CRTディ
スプレイ(CRT)10及び外部メモリ11とを備えて
いる。
【0075】先ず、ホストコンピュータ3000各部の
構成を詳述すると、CPU1はシステムバスに接続され
た各デバイスを統括的に制御する中央処理装置であり、
ROM3のプログラム用ROM3b(後述)或いは外部
メモリ11に記憶された文書処理プログラム等のアプリ
ケーションプログラムに基づいて、図形、イメージ、文
字、表(表計算等を含む)等が混在した文書処理を実行
する。また、CPU1は、例えばRAM2上に設定され
た表示情報RAMへのアウトラインフォントの展開(ラ
スタライズ)処理を実行し、CRTディスプレイ10上
でのWSYIWYG(What You See Is What You Get:C
RTディスプレイ画面上に見えているそのままの大きさ
や形で印刷できる機能)を可能としている。
【0076】更に、CPU1はCRTディスプレイ10
上のマウスカーソル(図示略)等で指示されたコマンド
に基づいて登録された種々のウインドウを開き、種々の
データ処理を実行する。ユーザはプリンタ1500を使
用して印刷する際、印刷の設定に関するウインドウを開
き、プリンタ1500の設定や印刷モードの選択を含む
プリンタドライバに対する印刷処理方法の設定を行うこ
とができるようになっている。
【0077】RAM2はCPU1の主メモリ、ワークエ
リア等として機能する。ROM3はフォント用ROM3
aと、プログラム用ROM3bと、データ用ROM3c
とを備えている。フォント用ROM3a或いは外部メモ
リ11は、上記文書処理の際に使用するフォントデータ
などを記憶する。プログラム用ROM3b或いは外部メ
モリ11は、CPU1の制御プログラムであるオペレー
ティングシステム(以下、OS)等を記憶する。データ
用ROM3c或いは外部メモリ11は、上記文書処理等
を行う際に使用する各種データを記憶する。
【0078】キーボードコントローラ(KBC)5は、
キーボード9やポインティングデバイス(図示略)から
のキー入力を制御する。CRTコントローラ(CRT
C)6は、CRTディスプレイ(CRT)10の表示を
制御する。ディスクコントローラ(DKC)7は、外部
メモリ11とのアクセスを制御する。プリンタコントロ
ーラ(PRTC)8は、双方向性インターフェース21
を介してプリンタ1500に接続されて、プリンタ15
00との通信制御処理を実行する。キーボード9は、各
種キーを備えている。
【0079】CRTディスプレイ(CRT)10は、図
形、イメージ文字、表等を表示する。外部メモリ11は
ハードディスク(HD)、フロッピー(登録商標)ディ
スク(FD)等から構成されており、ブートプログラ
ム、各種のアプリケーション、フォントデータ、ユーザ
ファイル、編集ファイル、プリンタ制御コマンド生成プ
ログラム(以下、プリンタドライバ)等を記憶する。
【0080】上述したCPU1、RAM2、ROM3、
キーボードコントローラ(KBC)5、CRTコントロ
ーラ(CRTC)6、ディスクコントローラ(DKC)
7、プリンタコントローラ(PRTC)8は、コンピュ
ータ制御ユニット2000上に配設されている。
【0081】このようなホストコンピュータ3000
は、例えばプリンタ1500と接続可能なインターフェ
ース21を有する汎用のパーソナルコンピュータによっ
て実現することができる。
【0082】次に、プリンタ1500各部の構成を詳述
すると、CPU12は、システムバス15に接続された
各デバイスを統括的に制御する中央処理装置であり、R
OM13のプログラム用ROM13b(後述)に記憶さ
れた制御プログラム等或いは外部メモリ14に記憶され
た制御プログラム等に基づいて印刷部(プリンタエンジ
ン)17に出力情報としての画像信号を出力する。ま
た、CPU12は、入力部18を介してホストコンピュ
ータ3000との通信処理が可能となっており、プリン
タ1500内の情報等をホストコンピュータ3000に
通知できる構成となっている。
【0083】RAM19は、CPU12の主メモリや、
ワークエリア等として機能し、増設ポートに接続される
オプションRAM(図示略)によりメモリ容量を拡張す
ることができるように構成されている。尚、RAM19
は、出力情報展開領域、環境データ格納領域、NVRA
M等に用いられる。ROM13は、フォント用ROM1
3aと、プログラム用ROM13bと、データ用ROM
13cとを備えている。フォント用ROM13aは、上
記出力情報を生成する際に使用するフォントデータなど
を記憶する。プログラム用ROM13bは、CPU12
の制御プログラム等を記憶する。データ用ROM13c
は、プリンタ1500にハードディスク等の外部メモリ
711が接続されていない場合には、ホストコンピュー
タ3000上で利用される情報等を記憶する。
【0084】入力部18は、双方向性インターフェース
21を介してプリンタ1500とホストコンピュータ3
000との間におけるデータの送受を行う。印刷部イン
ターフェース(I/F)16は、CPU12と印刷部1
7との間におけるデータの送受を行う。メモリコントロ
ーラ(MC)20は、外部メモリ711のアクセスを制
御する。印刷部17は、CPU12の制御に基づき印刷
動作を行う。操作部1501は、各種操作のためのスイ
ッチや表示手段(例えばLED表示器)等を備えてい
る。
【0085】外部メモリ711は、ハードディスク(H
D)、ICカード等から構成されており、プリンタ15
00にオプションとして接続される。外部メモリ14
は、フォントデータ、エミュレーションプログラム、フ
ォームデータ等を記憶するものであり、メモリコントロ
ーラ(MC)20によりアクセスを制御される。尚、外
部メモリ711は、1個に限らず、複数個備えることが
可能となっている。即ち、内蔵フォントに加えてオプシ
ョンカード、言語系の異なるプリンタ制御言語を解釈す
るプログラムを格納した外部メモリを複数接続できるよ
うに構成されていてもよい。更に、NVRAM(図示
略)を有し、操作部1501からのプリンタモード設定
情報を記憶するようにしてもよい。
【0086】上述したCPU12、RAM19、ROM
13、入力部18、印刷部インターフェース(I/F)
16、メモリコントローラ(MC)20は、プリンタ制
御ユニット1000上に配設されている。
【0087】(印刷制御装置の機能構成)本発明におけ
る印刷制御装置としてのホストコンピュータ3000の
機能構成は、上述した図4の構成と同一でよいため、重
複する説明は省略する。なお、本実施形態において、図
4におけるアプリケーション201、グラフィックエン
ジン202、ディスパッチャ301、プリンタドライバ
203、スプーラ302、スプールファイルマネージャ
304、デスプーラ305およびシステムスプーラ20
4は、上記図2の外部メモリ11に保存されたファイル
として存在し、実行される場合にOSやそのモジュール
を利用するモジュールによってRAM2にロードされ実
行されるプログラムモジュールである。
【0088】また、アプリケーション201およびプリ
ンタドライバ203は、外部メモリ11のFDやCD−
ROM或いはネットワーク(以上図示略)を経由して外
部メモリ11としてのHDに追加することが可能となっ
ている。外部メモリ11に保存されているアプリケーシ
ョン201はRAM2にロードされて実行されるが、該
アプリケーション201からプリンタ1500に対して
印刷を行う際には、同様にRAM2にロードされ実行可
能となっているグラフィックエンジン202を利用して
出力(描画)を行う。
【0089】グラフィックエンジン202は印刷装置
(プリンタ)ごとに用意されたプリンタドライバ203
を同様に外部メモリ11からRAM2にロードし、アプ
リケーション201の出力(GDI関数)から印刷命令
(DDI関数)を生成し、ディスパッチャ301へ出力
する。
【0090】グラフィックエンジン202からの印刷命
令はディスパッチャ301が受け取る。ディスパッチャ
301はグラフィックエンジン202から受け取った印
刷命令が、アプリケーション201からグラフィックエ
ンジン202へ発行されたものである場合には、外部メ
モリ11に格納されているスプーラ302をRAM2に
ロードし、プリンタドライバ203ではなくスプーラ3
02へ印刷命令を送付する。
【0091】スプーラ302は受け取った印刷命令を中
間コードに変換してスプールファイル303に出力す
る。また、スプーラ302は、プリンタドライバ203
に対して設定されている印刷データに関する加工設定を
プリンタドライバ203から取得してスプールファイル
303に保存する。尚、スプールファイル303は外部
メモリ11上にファイルとして生成するが、RAM2上
に生成されても構わない。更に、スプーラ302は、外
部メモリ11に格納されているスプールファイルマネー
ジャ304をRAM2にロードし、スプールファイルマ
ネージャ304に対してスプールファイル303の生成
状況を通知する。
【0092】その後、スプールファイルマネージャ30
4は、スプールファイル303に保存された印刷データ
に関する加工設定の内容に従って印刷を行えるか判断す
る。スプールファイルマネージャ304がグラフィック
エンジン202を利用して印刷を行えると判断した際に
は、外部メモリ11に格納されているデスプーラ305
をRAM2にロードし、デスプーラ305に対して、ス
プールファイル303に記述された中間コードの印刷処
理を行うように指示する。
【0093】デスプーラ305はスプールファイル30
3に含まれる中間コードをスプールファイル303に含
まれる加工設定の内容に従って加工し、グラフィックエ
ンジン202経由へ出力する。グラフィックエンジン2
02はデスプーラ305の出力(GDI関数)から印刷
命令(DDI関数)を生成し、ディスパッチャ301へ
出力する。ディスパッチャ301がグラフィックエンジ
ン202から受け取った印刷命令がデスプーラ305か
らグラフィックエンジン202へ発行されたものである
場合には、ディスパッチャ301はスプーラ302では
なく、プリンタドライバ203に印刷命令を送る。プリ
ンタドライバ203はプリンタ制御コマンドを生成し、
システムスプーラ204経由でプリンタ1500に出力
する。
【0094】(埋め込みフォントを有する印刷データの
処理)次に、本実施形態のホストコンピュータ3000
における、埋め込みフォントを有する印刷データの処理
について、図10のシーケンスチャートを参照して説明
する。なお、図8と同様、本処理も1つのプロセスでは
処理できない。そして、複数のジョブを制御するため
に、アプリケーションプロセスとデスプーラプロセス間
での待ち行列処理を実現する必要がある。実際には上記
2つのプロセス間の通信はスプールファイルマネージャ
304を介して行われるが、説明を簡潔に行うために待
ち行列処理を含めスプールファイルマネージャ304を
一つの通信媒介だと捉え、図10及び以下の説明からは
あえて省略した。
【0095】ステップA1. アプリケーション201
は印刷ジョブが開始することを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してディスパッチャ301へ出力し、ディスパッチャ
301はその内容をスプーラ302へ引き渡す)。
【0096】ステップS1. スプーラ302は用紙サ
イズ等のジョブに関する情報を保持するジョブファイル
をスプールファイル303に生成し、別プロセスである
デスプーラ305を起動する。
【0097】ステップD1. デスプーラ305はジョ
ブファイルを読み印刷ジョブ開始のためのGDI関数を
コールする(グラフィックエンジン202は通知された
GDI関数をDDI関数に変換してディスパッチャ30
1へ出力し、ディスパッチャ301はその内容をプリン
タドライバ203へ引き渡す)。 ステップDRV1.プリンタドライバ203は、ジョブ
開始制御のPDLコマンドを生成する。
【0098】ステップA2. アプリケーション201
はページ印刷が開始することを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してディスパッチャ301へ出力し、ディスパッチャ
301はその内容をスプーラ302へ引き渡す)。 ステップS2. スプーラ302はページに関する情報
を保持するページファイルをスプールファイル303に
生成する。
【0099】ステップA3. アプリケーション201
は、アプリケーションデータ内の埋め込みフォントをグ
ラフィックエンジン202に登録する。この登録により
文字描画に不可欠なフォントの情報をこの環境下でも使
用可能にすることができる。 ステップG1. グラフィックエンジン202は、フォ
ント情報を保持する。
【0100】ステップA4. アプリケーション201
がステップA3で登録したフォントを含むフォントを用
いて文字描画を行う(グラフィックエンジン202は描
画時にコールされるGDI関数をDDI関数に変換して
ディスパッチャ301へ出力し、ディスパッチャ301
はその内容をスプーラ302へ引き渡す)。
【0101】ステップS3. スプーラ302は、文字
描画を表す情報を中間コードとしてスプールファイルの
ページファイルに書き込む。この中間コードにはDDI
関数より取得可能な“文字コード、フォント属性、描画
属性”のみ含まれており、フォントは含まれていない。
なお、フォントが埋め込みフォントであった場合は、フ
ォント置き換えによる文字描画の差異を無くすために、
以下の処理を行う。
【0102】ステップS3.3. スプーラ302は、
グラフィックエンジン202に対して文字描画で使用さ
れるフォント属性を検査し、フォント取得の許可がある
場合、グラフィックエンジン202にGDI関数をコー
ルしてフォントの取得を要求する。このように、スプー
ラ302からGDI関数をコールすることにより、DD
I関数よりは直接入手できないフォント情報を入手し、
スプールすることが可能になる。
【0103】ステップG4. グラフィックエンジン2
02はフォントをスプーラ302に受け渡す。 ステップS3.4. スプーラ302は、グラフィック
エンジン202から取得したフォントをスプールファイ
ル303に中間コード形式でスプールする。
【0104】ステップA5. アプリケーション201
はステップA3で登録したフォントをグラフィックエン
ジン202より削除する。 ステップG3. グラフィックエンジン202で保持し
ていた埋め込みフォントを破棄する。
【0105】ステップA6. アプリケーション201
はページ印刷が終了したことを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してディスパッチャ301へ出力し、ディスパッチャ
301はその内容をスプーラ302へ引き渡す)。 ステップS4. スプーラ302は、ページファイルを
クローズし、ページ再生をデスプーラ305に依頼す
る。
【0106】ステップA7. アプリケーション201
は印刷ジョブが終了することを、GDI関数を介してグ
ラフィックエンジン202に通知する(グラフィックエ
ンジン202は通知されたGDI関数をDDI関数に変
換してディスパッチャ301へ出力し、ディスパッチャ
301はその内容をスプーラ302へ引き渡す)。 ステップS4. スプーラ302は、ジョブファイルを
クローズし、これ以上ページが増えないことをデスプー
ラ305に通知する。
【0107】ステップD2. デスプーラ305が、ス
テップS2で生成されたページファイルに記述された中
間コードを再生するために、ページ開始のためのGDI
関数をコールする(グラフィックエンジン202は通知
されたGDI関数をDDI関数に変換してディスパッチ
ャ301へ出力し、ディスパッチャ301はその内容を
プリンタドライバ203へ引き渡す)。 ステップDRV2. プリンタドライバ203は、ペー
ジ開始制御のPDLコマンドを生成する。
【0108】ステップD3. デスプーラ305は、ス
プールファイル303に埋め込みフォントが含まれてい
る場合、その埋め込みフォントの識別名(フェース名)
を変化させ、グラフィックエンジン202に登録する。
フェース名を変更して登録するのは、ステップA3のア
プリケーション201のフォントと二重登録になる場合
があるためである。この登録により文字描画に不可欠な
フォントの情報をこの環境下でも使用可能にすることが
できる。このとき、スプールファイルに格納されている
中間コードのフェース名の変更されるフォント属性のフ
ェース名も連動して変更する。また、フェース名の変更
が一定の規則で行われる場合は、DRV3.1のグリフ
の取得を行う際にフェース名を変更することによりグリ
フの取得を行うことができる。
【0109】ステップD3. デスプーラ305は、ス
プールファイル303に埋め込みフォントが含まれてい
る場合、その埋め込みフォントの識別名(フェース名)
を変化させ、グラフィックエンジン202に登録する。
フェース名を変更して登録するのは、ステップA3のア
プリケーション201のフォントと二重登録になる場合
があるためである。この登録により文字描画に不可欠な
フォントの情報をこの環境下でも使用可能にすることが
できる
【0110】ステップG1. グラフィックエンジン2
02はフォント情報を保持する ステップD4. デスプーラ305は、ページファイル
上の文字描画を再生するために、GDI関数をコールす
る(グラフィックエンジン202は描画時にコールされ
るGDI関数をDDI関数に変換してディスパッチャ3
01へ出力し、ディスパッチャ301はその内容をプリ
ンタドライバ203へ引き渡す)。
【0111】なお、GDI関数をコールする際、フォン
トの識別名であるフォント属性フェース名は、ステップ
D3で変更した名前を使用する。これは、例えばステッ
プD3.で変更したフェイス名と、変更前のフェイス名
とをRAM2等に一時記憶しておき、中間データに含ま
れるフェイス名に変更前のフェイス名が見つかった場合
には変更後のフェイス名に変換することによって実現で
きるが、他の方法を用いてもよい。
【0112】ステップDRV3. プリンタドライバ2
03は、スプーラファイルの文字描画を表す情報をPD
Lコマンドに変換する。その際に以下の処理を行う。 ステップDRV3.1. プリンタドライバ203は、
グラフィックエンジン202に対して文字グリフの取得
を行う。その際、ドライバ203は文字描画を表す情報
に含まれるフォント属性(フェース名を含む)をグラフ
ィックエンジン203に引き渡す。
【0113】ステップG2. グラフィックエンジン2
02はフォントより文字グリフを生成し、ディスパッチ
ャ301を介してプリンタドライバ203へ受け渡す。
すなわち、グラフィックエンジン202は、文字描画を
表す情報に含まれるフォント属性で指定されているフェ
ース名のフォントを探す。ステップD3.の処理でフォ
ントが埋め込まれているため、フォントをドライバに受
け渡すことができる。プリンタドライバ203は、生成
された文字グリフを取得し、取得した文字グリフ(文字
のイメージデータ)を印刷するための文字描画コマンド
(PDL)を作成する。 ステップD5. デスプーラ305はD3で登録したフ
ォントをグラフィックエンジン202より削除する。 ステップG3. グラフィックエンジン202で保持し
ていた埋め込みフォントを破棄する。
【0114】ステップD6. デスプーラ305はペー
ジ印刷が終了したことを、GDI関数を介してグラフィ
ックエンジン202に通知する(グラフィックエンジン
202は通知されたGDI関数をDDI関数に変換して
ディスパッチャ301へ出力し、ディスパッチャ301
はその内容をプリンタドライバ203へ引き渡す)。 ステップDRV4. プリンタドライバ203は、ペー
ジ終了制御のPDLコマンドを生成する。
【0115】ステップD7. デスプーラ305は印刷
ジョブが終了することを、GDI関数を介してグラフィ
ックエンジン202に通知する(グラフィックエンジン
202は通知されたGDI関数をDDI関数に変換して
ディスパッチャ301へ出力し、ディスパッチャ301
はその内容をプリンタドライバ203へ引き渡す)。 ステップDRV5. プリンタドライバ203は、ジョ
ブ終了制御のPDLコマンドを生成する。
【0116】このように、本実施形態に係る印刷制御装
置においては、スプールの際にDDI関数よりは直接入
手できないフォント情報を、GDI関数をコールするこ
とによって入手しスプールし、スプールしたフォント情
報はデスプール際に、フォントの識別名であるフェース
名を変更して登録を行い、変更後のフェース名を用いて
デスプーラからGDI関数をコールすることによって、
埋め込みフォントを含む印刷データを正しく出力するこ
とができる。
【0117】なお、デスプーラが登録したフォントは著
作権の問題があり使用後は必ず印刷制御装置から消去す
る。
【0118】また、縦書きと横書きの情報が統合されて
いる日本語フォントにおいて、フェース名に縦書きを示
す情報が付加されている場合がある。この場合デスプー
ラが登録する際に用いる変更後のフェース名にも、縦書
きを表す情報は残しておく必要がある。変更後のフェー
ス名はどのように作成してもよいが、フェース名の所定
番目の文字を通常はフォント名に使用されない文字に置
き換える等、簡便で、かつ変更前のフォント名もしくは
印刷環境に元々存在するフォント名と重複する確率の低
い方法を用いることが望ましい。
【0119】さらに、フォントによっては、埋め込みフ
ォントのフォント情報の取得を許可しないものも存在す
る。その場合は、スプール時にフォント属性を判断し
て、図8及び図9で説明したような、従来のフォント置
き換えまたはビットマップ描画への変換を行うように構
成することも可能である。
【0120】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ、インターフェース機器、リーダ、
プリンタなど)から構成されるシステムに適用しても、
一つの機器からなる装置(複写機、プリンタ、ファクシ
ミリ装置など)に適用してもよい。
【0121】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
憶した記憶媒体を、システムあるいは装置のコンピュー
タ(またはCPUやMPU)が記憶媒体に格納されたプ
ログラムコードを読出し実行することによっても、達成
される。
【0122】この場合、記憶媒体から読み出されたプロ
グラムコード自体が前述した実施形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
は本発明を構成することになる。
【0123】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピーディスク、ハードディ
スク、光ディスク、光磁気ディスク、CD−ROM、C
D−R、磁気テープ、不揮発性のメモリカード、ROM
などを用いることができる。
【0124】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼動しているOS(オペ
レーティングシステム)などが実際の処理の一部または
全部を行い、その処理によって前述した実施形態の機能
が実現される場合も含まれる。
【0125】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書き込まれた後、そのプログラムコードの指示
に基づき、その機能拡張ボードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれる。
【0126】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明した(図10に示す)シーケ
ンスチャートに対応するプログラムコードが少なくとも
格納されることになる。
【0127】
【発明の効果】以上説明したように、本発明によれば、
埋め込みフォントを中間コードデータとともにスプール
し、デスプーラで登録して用いることにより、アプリケ
ーションプログラムからの印刷命令を一旦中間コードデ
ータに変換してからプリンタへの印刷データを生成する
形式の印刷制御装置において、埋め込みフォントを用い
た印刷命令を正しく出力することが可能になるという効
果を有する。
【図面の簡単な説明】
【図1】本発明の印刷制御装置を接続可能なプリンタの
一例としてのレーザビームプリンタの構成例を示す断面
図である。
【図2】本発明の一実施形態に係る印刷制御装置として
のホストコンピュータと、それに接続されたプリンタの
ハードウェア構成例を示すブロック図である。
【図3】従来の、アプリケーションからの印刷命令を中
間コードデータへ変換せずにプリンタ制御コマンドに変
換する形式の印刷制御装置の代表的な機能ブロック図で
ある。
【図4】本発明の印刷制御装置に適用可能な、アプリケ
ーションからの印刷命令を中間コードデータへ変換した
後にプリンタ制御コマンドに変換する形式の印刷制御装
置の代表的な機能ブロック図である。
【図5】文字描画に必要な情報と、印刷結果を説明する
図である。
【図6】文字描画においてフォント置き換え処理、ビッ
トマップ置き換えが生じた場合の印刷結果の例を示した
図である。
【図7】図3に示した印刷制御装置における印刷処理の
シーケンスを示す図である。
【図8】図4に示した印刷制御装置における印刷処理の
うち、フォント置き換えが発生する場合のシーケンスを
示す図である。
【図9】図4に示した印刷制御装置における印刷処理の
うち、ビットマップ置き換えが発生する場合のシーケン
スを示す図である。
【図10】本発明の実施形態に係る印刷制御装置におけ
る印刷処理のうち、埋め込みフォントが含まれる印刷命
令の処理のシーケンスを示す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 内田 達郎 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 Fターム(参考) 2C087 AB01 AB05 BA01 BA02 BA03 BA05 BA09 BA11 BB02 BD12 CB19 5B021 AA02 BB01 BB04 BB09 JJ05

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーションからの印刷命令を所定
    の印刷装置に適した制御コマンドに変換して出力する印
    刷制御装置であって、 前記印刷命令を前記制御コマンドとは異なる形式を有す
    る中間データに変換し、記憶する中間データ生成手段
    と、 前記中間データを前記制御コマンドに変換して出力する
    制御コマンド生成手段とを有し、 前記中間データ生成手段が、 前記印刷命令に埋め込みフォントが含まれているか否か
    を判断するフォント判定手段と、 前記埋め込みフォントが含まれていると判定された場
    合、前記埋め込みフォントを取得し、前記中間データと
    ともに記憶するフォント記憶手段とを有し、 前記制御コマンド生成手段が前記中間データとともに記
    憶されている埋め込みフォントを用いて前記中間データ
    を前記制御コマンドに変換することを特徴とする印刷制
    御装置。
  2. 【請求項2】 前記制御コマンド生成手段が、前記記憶
    された埋め込みフォントを用いる際、前記フォント記憶
    手段が記憶した際のフォント名と異なるフォント名を有
    するフォントとして用いることを特徴とする請求項1記
    載の印刷制御装置。
  3. 【請求項3】 前記中間データ生成手段が、前記フォン
    ト記憶手段が前記埋め込みフォントの取得に失敗した場
    合、前記埋め込みフォントをビットマップ置き換えして
    前記中間データを生成することを特徴とする請求項1又
    は請求項2記載の印刷制御装置。
  4. 【請求項4】 前記フォント記憶手段が前記埋め込みフ
    ォントの取得に失敗した場合、前記制御コマンド生成手
    段が、前記埋め込みフォントを別のフォントに置き換え
    て前記制御コマンドを生成することを特徴とする請求項
    1又は請求項2記載の印刷制御装置。
  5. 【請求項5】 アプリケーションからの印刷命令を所定
    の印刷装置に適した制御コマンドに変換して出力する印
    刷制御方法であって、 前記印刷命令を前記制御コマンドとは異なる形式を有す
    る中間データに変換し、記憶する中間データ生成ステッ
    プと、 前記中間データを前記制御コマンドに変換して出力する
    制御コマンド生成ステップとを有し、 前記中間データ生成ステップが、 前記印刷命令に埋め込みフォントが含まれているか否か
    を判断するフォント判定ステップと、 前記埋め込みフォントが含まれていると判定された場
    合、前記埋め込みフォントを取得し、前記中間データと
    ともに記憶するフォント記憶ステップとを有し、 前記制御コマンド生成ステップが前記中間データととも
    に記憶されている埋め込みフォントを用いて前記中間デ
    ータを前記制御コマンドに変換することを特徴とする印
    刷制御方法。
  6. 【請求項6】 前記制御コマンド生成ステップが、前記
    記憶された埋め込みフォントを用いる際、前記フォント
    記憶ステップが記憶した際のフォント名と異なるフォン
    ト名を有するフォントとして用いることを特徴とする請
    求項5記載の印刷制御方法。
  7. 【請求項7】 前記中間データ生成ステップが、前記フ
    ォント記憶ステップが前記埋め込みフォントの取得に失
    敗した場合、前記埋め込みフォントをビットマップ置き
    換えして前記中間データを生成することを特徴とする請
    求項5又は請求項6記載の印刷制御方法。
  8. 【請求項8】 前記フォント記憶ステップが前記埋め込
    みフォントの取得に失敗した場合、前記制御コマンド生
    成ステップが、前記埋め込みフォントを別のフォントに
    置き換えて前記制御コマンドを生成することを特徴とす
    る請求項5又は請求項6記載の印刷制御方法。
  9. 【請求項9】 コンピュータを請求項1乃至請求項4の
    いずれか1項に記載の印刷制御装置として機能させるこ
    とを特徴とするコンピュータプログラム。
  10. 【請求項10】 請求項9記載のコンピュータプログラ
    ムを格納したコンピュータ読みとり可能な記憶媒体。
  11. 【請求項11】 文字描画を表す情報を中間コードとし
    て書き込む際、フォントが埋め込みフォントの場合、フ
    ォントの取得を要求し、取得したフォントをスプールフ
    ァイルに中間データとして格納するスプーラと、 前記スプールファイルに埋め込まれたフォントを登録す
    るデスプーラと、 前記デスプーラにより登録されたフォントに基づき文字
    グリフの取得を行い、前記文字描画を表す情報をPDL
    に変換するドライバとを有することを特徴とする印刷制
    御装置。
  12. 【請求項12】 前記デスプーラは、フォントを登録す
    る際にフェース名を変更することを特徴とする請求項1
    1記載の印刷制御装置。
  13. 【請求項13】 文字描画を表す情報を中間コードとし
    て書き込む際、フォントが埋め込みフォントの場合、フ
    ォントの取得を要求し、取得したフォントをスプールフ
    ァイルに中間データとして格納する格納ステップと、 前記スプールファイルに埋め込まれたフォントを登録す
    る登録ステップと、 登録されたフォントに基づき文字グリフの取得を行い、
    前記文字描画を表す情報をPDLに変換する変換ステッ
    プとを有することを特徴とする印刷制御方法。
  14. 【請求項14】 前記登録ステップは、フォントを登録
    する際にフェース名を変更することを特徴とする請求項
    13記載の印刷制御方法。
  15. 【請求項15】 文字描画を表す情報を中間コードとし
    て書き込む際、フォントが埋め込みフォントの場合、フ
    ォントの取得を要求し、取得したフォントをスプールフ
    ァイルに中間データとして格納する格納工程のプログラ
    ムと、 前記スプールファイルに埋め込まれたフォントを登録す
    る登録工程のプログラムと、 登録されたフォントに基づき文字グリフの取得を行い、
    前記文字描画を表す情報をPDLに変換する変換工程の
    プログラムとを有することを特徴とするコンピュータプ
    ログラム。
  16. 【請求項16】 前記登録工程のプログラムは、フォン
    トを登録する際にフェース名を変更することを特徴とす
    る請求項15記載のプログラム。
  17. 【請求項17】 文字描画を表す情報を中間コードとし
    て書き込む際、フォントが埋め込みフォントの場合、フ
    ォントの取得を要求し、取得したフォントをスプールフ
    ァイルに中間データとして格納する格納工程のプログラ
    ムと、 前記スプールファイルに埋め込まれたフォントを登録す
    る登録工程のプログラムと、 登録されたフォントに基づき文字グリフの取得を行い、
    前記文字描画を表す情報をPDLに変換する変換工程の
    プログラムとを記憶するコンピュータ読みとり可能な記
    憶媒体。
  18. 【請求項18】 前記登録工程のプログラムは、フォン
    トを登録する際にフェース名を変更することを特徴とす
    る請求項17記載の記憶媒体。
JP2001197286A 2001-06-28 2001-06-28 印刷制御装置及び印刷制御方法 Expired - Lifetime JP3962559B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001197286A JP3962559B2 (ja) 2001-06-28 2001-06-28 印刷制御装置及び印刷制御方法
US10/180,139 US7319532B2 (en) 2001-06-28 2002-06-27 Printing control apparatus and printing control method capable of accurately printing embedded font

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001197286A JP3962559B2 (ja) 2001-06-28 2001-06-28 印刷制御装置及び印刷制御方法

Publications (2)

Publication Number Publication Date
JP2003015849A true JP2003015849A (ja) 2003-01-17
JP3962559B2 JP3962559B2 (ja) 2007-08-22

Family

ID=19034917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001197286A Expired - Lifetime JP3962559B2 (ja) 2001-06-28 2001-06-28 印刷制御装置及び印刷制御方法

Country Status (1)

Country Link
JP (1) JP3962559B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009276897A (ja) * 2008-05-13 2009-11-26 Canon Inc 情報処理装置および情報処理方法、プログラム
JP2011238229A (ja) * 2010-05-06 2011-11-24 Celartem Inc Dba Extensis 正確なフォントのアクティブ化

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009276897A (ja) * 2008-05-13 2009-11-26 Canon Inc 情報処理装置および情報処理方法、プログラム
JP2011238229A (ja) * 2010-05-06 2011-11-24 Celartem Inc Dba Extensis 正確なフォントのアクティブ化
US9519625B2 (en) 2010-05-06 2016-12-13 Celartem, Inc. Accurate font activation

Also Published As

Publication number Publication date
JP3962559B2 (ja) 2007-08-22

Similar Documents

Publication Publication Date Title
US7319532B2 (en) Printing control apparatus and printing control method capable of accurately printing embedded font
US7280245B2 (en) Data processing apparatus adaptable to plural environments and data processing method
JP3673643B2 (ja) 印刷レイアウト装置及び印刷レイアウト方法並びに記憶媒体
US7839531B2 (en) Printing control method
JP3576819B2 (ja) 情報処理装置及び印刷制御方法並びに記憶媒体
JP2000190573A (ja) 印刷制御方法および印刷システム
US20060221361A1 (en) Print control apparatus, print control method, and program for implementing the method
JP3733288B2 (ja) 情報処理装置および印刷制御方法および記憶媒体
US20070070403A1 (en) Information processing apparatus, information processing method, and program
JP3907362B2 (ja) 印刷制御方法及び装置および印刷システム
JP2002041261A (ja) 情報処理装置及び情報処理方法及びコンピュータ読み取り可能なプログラムを格納した記憶媒体
JP2000025276A (ja) 印刷制御方法及び装置
JP2002014797A (ja) 情報処理装置、印刷制御装置、およびその制御方法、および記憶媒体、およびその制御プログラム
JP4467855B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP3962559B2 (ja) 印刷制御装置及び印刷制御方法
JP3870042B2 (ja) 印刷制御装置及び印刷制御方法
US7027170B1 (en) Printing control system for separation printing
JP2005018494A (ja) データ処理装置および印刷データ生成方法およびコンピュータが読取り可能なプログラムを格納した記憶媒体およびプログラム
JP4100912B2 (ja) 情報処理装置及びその制御方法、プログラム並びに記憶媒体
JP4054544B2 (ja) 情報処理装置、情報処理方法、印刷制御プログラム、印刷処理装置、印刷処理方法及び印刷処理プログラム
JP2004038527A (ja) プリンタドライバおよび印刷制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP2000298565A (ja) 印刷制御方法及び装置と前記印刷制御方法を実行するプログラムを記憶した記憶媒体
JP2005173639A (ja) 情報処理装置、印刷装置、印刷システム、情報処理方法、プログラム及び記録媒体
JP2004240850A (ja) 印刷制御装置、印刷制御方法及び実行プログラムを格納した媒体
JP2004240487A (ja) 印刷制御装置、印刷制御方法及び実行プログラムを格納した媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070521

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3962559

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100525

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110525

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120525

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120525

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130525

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140525

Year of fee payment: 7

EXPY Cancellation because of completion of term