JP2000172473A - 情報処理装置および方法 - Google Patents

情報処理装置および方法

Info

Publication number
JP2000172473A
JP2000172473A JP2000029291A JP2000029291A JP2000172473A JP 2000172473 A JP2000172473 A JP 2000172473A JP 2000029291 A JP2000029291 A JP 2000029291A JP 2000029291 A JP2000029291 A JP 2000029291A JP 2000172473 A JP2000172473 A JP 2000172473A
Authority
JP
Japan
Prior art keywords
character
data
registered
image data
printer
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
JP2000029291A
Other languages
English (en)
Other versions
JP3507387B2 (ja
Inventor
Koji Nakagiri
孝治 中桐
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
Priority claimed from JP8026230A external-priority patent/JP3061562B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2000029291A priority Critical patent/JP3507387B2/ja
Publication of JP2000172473A publication Critical patent/JP2000172473A/ja
Application granted granted Critical
Publication of JP3507387B2 publication Critical patent/JP3507387B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 プリンタに転送するデータ量を減少させるこ
とにより印字速度およびプリント処理速度を向上できる
情報処理装置を提供する。 【解決手段】 文字の文字イメージデータが既にプリン
タに登録済であるか否かを判別する(S22)。未登録
と判別されたとき、イメージデータサイズ(ixとiy
の積)がFreeSizeより大きいか否かを比較し
(ステップS82)、文字イメージデータをプリンタに
登録するべきか否かを判定する。登録可能であるときに
は、文字イメージデータを圧縮し(S24)、圧縮され
た文字イメージデータをプリンタ1500に登録するプ
リンタコマンドを生成し(S25)、生成されたプリン
タコマンドをプリンタ1500に転送する(S26)。
一方、登録不可であると判断されたときには、イメージ
データ描画命令を含むプリンタコマンドを生成し(S8
4)、プリンタ1500に転送する(S85)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホストコンピュー
タから文字のイメージデータをプリンタ等の印刷装置に
登録し、同一の文字を印字する際に印刷装置に登録され
ているイメージデータを再利用して印字を行なう情報処
理装置および方法に関する。
【0002】
【従来の技術】従来、印刷システムでは、ホストコンピ
ュータ内に文字イメージデータを生成する機能を有し、
ディスプレイおよびプリンタにそれぞれ解像度に応じた
文字イメージデータを作成し、作成された文字イメージ
データをディスプレイおよびプリンタに転送することに
より、ディスプレイ上に表示された文字と同一のデザイ
ンでプリンタに印字を行なういわゆるWYSIWYGの
印字環境が実現されている。
【0003】このような印字環境では、プリンタに文字
のイメージデータを1文字毎に転送する方法が行なわれ
てきた。また、一度転送した文字イメージデータをプリ
ンタ内に記憶しておき、同一の文字を印字するときには
記憶された文字イメージデータを再利用するといった方
法が用いられている。
【0004】
【発明が解決しようとする課題】しかしながら、従来の
印刷システムでは、印字の際にフォントの種類、大き
さ、修飾などのフォントに関する情報と文字コードとを
使用して文字の印字を行なう場合に較べ、文字イメージ
データをプリンタに転送する場合には転送されるデータ
量が大きくなり、印字速度が低下するといった問題があ
った。
【0005】また、プリンタのRAMに文字イメージデ
ータを記憶しておく場合、文字イメージデータのデータ
量が大きくなるので、RAMの空き容量が減り、プリン
ト処理速度を低下させてしまうといった問題があった。
【0006】そこで、本発明はホストコンピュータから
プリンタに転送するデータ量を減少させることにより印
字速度およびプリント処理速度を向上できる情報処理装
置および方法を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明の請求項1に記載の情報処理装置は、印刷す
べき文字のフォントデータが印刷装置に登録されている
か否かを判別する判別手段と、前記判別手段により印刷
すべき文字のフォントデータが前記印刷装置に登録され
ていないと判別された場合、印刷すべき文字のフォント
データのサイズに基づき、印刷すべき文字のイメージ描
画コマンドを前記印刷装置に転送するか、印刷すべき文
字の圧縮したフォントデータを登録するコマンドを前記
印刷装置に転送する転送手段とを有することを特徴とす
る。
【0008】請求項2に記載の情報処理装置では、請求
項1に係る情報処理装置において、前記フォントデータ
は、アウトラインフォントデータよりラスタライズされ
たフォントデータを含むことを特徴とする。
【0009】請求項3に記載の情報処理装置では、請求
項1に係る情報処理装置において、前記転送手段は、印
刷すべき文字のフォントデータを前記印刷装置に登録不
可能な場合、印刷すべき文字のイメージ描画コマンドを
前記印刷装置に転送し、印刷すべき文字のフォントデー
タを前記印刷装置に登録可能な場合、印刷すべき文字の
圧縮したフォントデータを登録するコマンドを前記印刷
装置に転送することを特徴とする。
【0010】請求項4に記載の情報処理装置では、請求
項1に係る情報処理装置において、前記判別手段は、前
記情報処理装置に記憶される前記印刷装置に登録された
フォントデータを識別するための登録文字管理テーブル
に基づき、判別することを特徴とする。
【0011】請求項5に記載の情報処理方法は、印刷す
べき文字のフォントデータが印刷装置に登録されている
か否かを判別する判別ステップと、前記判別ステップに
より印刷すべき文字のフォントデータが前記印刷装置に
登録されていないと判別された場合、印刷すべき文字の
フォントデータのサイズに基づき、印刷すべき文字のイ
メージ描画コマンドを前記印刷装置に転送するか、印刷
すべき文字の圧縮したフォントデータを登録するコマン
ドを前記印刷装置に転送する転送ステップとを有するこ
とを特徴とする。
【0012】請求項6に記載の情報処理方法では、請求
項5に係る情報処理方法において、前記フォントデータ
は、アウトラインフォントデータよりラスタライズされ
たフォントデータを含むことを特徴とする。
【0013】請求項7に記載の情報処理方法では、請求
項5に係る情報処理方法において、前記転送ステップ
は、印刷すべき文字のフォントデータを前記印刷装置に
登録不可能な場合、印刷すべき文字のイメージ描画コマ
ンドを前記印刷装置に転送し、印刷すべき文字のフォン
トデータを前記印刷装置に登録可能な場合、印刷すべき
文字の圧縮したフォントデータを登録するコマンドを前
記印刷装置に転送することを特徴とする。
【0014】請求項8に記載の情報処理方法では、請求
項5に係る情報処理方法において、前記判別ステップ
は、前記情報処理装置に記憶される前記印刷装置に登録
されたフォントデータを識別するための登録文字管理テ
ーブルに基づき、判別することを特徴とする。
【0015】
【発明の実施の形態】[第1の実施の形態]本発明の情
報処理装置および方法の実施の形態について説明する。
図1は第1の実施の形態における印刷システムの構成を
示すブロック図である。図において、3000はホスト
コンピュータであり、ROM3のプログラム用ROMあ
るいは外部メモリ11に記憶された文書処理プログラム
などに基づいて、図形、イメージ、文字、表(表計算等
を含む)などが混在した文書処理を実行するCPU1を
備える。CPU1はシステムバス4に接続された各デバ
イスを総括的に制御する。
【0016】また、ROM3のプログラム用ROMある
いは外部メモリ11は、CPU1の制御プログラムであ
るオペレーティングシステム(以下、OSという)など
を記憶し、ROM3のフォント用ROMあるいは外部メ
モリ11は文書処理の際に使用するフォントデータなど
を記憶し、ROM3のデータ用ROMは文書処理等を行
う際に使用する各種データを記憶する。
【0017】2はRAMであり、CPU1の主メモリあ
るいはワークエリアなどとして機能する。5はキーボー
ドコントローラ(KBC)であり、キーボード(KB)
9や図示しないポインティングデバイスからのキー入力
を制御する。6はCRTコントローラ(CRTC)であ
り、CRTディスプレイ(CRT)10の表示を制御す
る。7はディスクコントローラ(DKC)であり、ブー
トプログラム、各種のアプリケーション、フォントデー
タ、ユーザファイル、編集ファイル、文字イメージデー
タ生成プログラム(フォントラスタライザ)、プリンタ
制御コマンド生成プログラム(プリンタドライバ)など
を記憶するハードディスク(HD)、フロッピーディス
ク(FD)などの外部メモリ11とのアクセスを制御す
る。
【0018】8はプリンタコントローラ(PRTC)で
あり、所定の双方向性インターフェース(インターフェ
ース)21を介してプリンタ1500に接続されてプリ
ンタ1500との通信制御を実行する。
【0019】尚、CPU1は、例えばRAM2に設定さ
れた表示情報RAMへのアウトラインフォントの展開
(ラスタライズ)処理を実行し、CRT10のWYSI
WYGを可能にしている。また、CPU1はCRT10
の図示しないマウスカーソルなどで指示されたコマンド
に基づいて登録された種々のウィンドウを開き、種々の
データ処理を実行する。
【0020】プリンタ1500において、12はCPU
であり、ROM13のプログラム用ROMに記憶された
制御プログラム等、あるいは外部メモリ14に記憶され
た制御プログラム等に基づいてシステムバス15に接続
された印刷部(プリンタエンジン)17に出力情報とし
ての画像信号を出力する。
【0021】また、ROM13のプログラムROMに
は、CPU12の制御プログラム等が記憶される。RO
M13のフォント用ROMにはハードディスクなどの外
部メモリ14がないプリンタの場合には、ホストコンピ
ュータ3000で利用される情報などを記憶する。CP
U12は入力部18を介してホストコンピュータ300
0との通信処理が可能であり、プリンタ1500内の情
報などをホストコンピュータ3000に通知する。
【0022】19はCPU12の主メモリ、ワークエリ
ア等として機能するRAMであり、図示しない増設ポー
トに接続されるオプションRAMによりメモリ容量を拡
張できる。
【0023】尚、RAM19は出力情報展開領域、環境
データ格納領域、NVRAMなどに用いられる。前述し
たハードディスク(HD)、ICカードなどの外部メモ
リ14はメモリコントローラ(MC)20によりアクセ
ス制御される。外部メモリ14はオプションとして接続
され、フォントデータ、エミュレーションプログラム、
フォームデータなどが記憶される。1501は操作パネ
ルに設けられた操作部であり、操作パネルにはスイッチ
およびLED表示器などが配されている。
【0024】また、前述した外部メモリ14は1個に限
らず、内蔵フォントに加えてオプションフォントカード
や言語系の異なるプリンタ制御言語を解釈するプログラ
ムを格納した外部メモリを複数個接続できる。
【0025】さらに、NVRAM(図示)を有し、操作
パネルに設けられた操作部1501からのプリンタモー
ド設定情報を記憶するようにしてもよい。
【0026】図2は第1の実施の形態におけるプリンタ
ドライバによる文字印字処理ルーチンを示すフローチャ
ートである。まず、プリンタドライバをコントロールし
ているホストコンピュータ3000のオペレーティング
システム(OS)あるいはアプリケーションから印字デ
ータを受け取る(ステップS21)。
【0027】受け取った印字データで示される文字の文
字イメージデータが既にプリンタに登録済であるか否か
を判別する(ステップS22)。登録済であると判別さ
れたとき、登録された文字を印字する命令(コマンド)
を生成する(ステップS28)。
【0028】一方、ステップS22で未登録と判別され
たとき、ステップS21で受け取った印字データを基に
文字イメージデータをフォントラスタライザから取得す
る(ステップS23)。取得された文字イメージデータ
を圧縮し(ステップS24)、圧縮された文字イメージ
データをプリンタ1500に登録するプリンタコマンド
を生成し(ステップS25)、生成されたプリンタコマ
ンドをプリンタ1500に転送する(ステップS2
6)。
【0029】印字データで示された文字が既にプリンタ
1500に登録済であることを示すフラグをセットし
(ステップS27)、プリンタ1500に登録されてい
る文字を印字するコマンドを生成し(ステップS2
8)、登録文字の印字コマンドをプリンタ3000に転
送して(ステップS29)終了する。
【0030】上記プリンタドライバの処理(図2)につ
いての具体例を説明する。ステップS21における印字
データの取得は、プリンタドライバを制御するOSやア
プリケーションとのインターフェースがどのように実現
されているか否かに依存し、具体例ではOSから以下の
ような印字データを取得する場合を示す。
【0031】 印字データ:Code FaceName Point Style Pitch x,y …(データ1) Code: 文字コード FaceName: フォントフェイス名 Point: 文字サイズ Style: 文字修飾データ Pitch: 可変ピッチフラグ x,y: 印字位置 図3は図2のステップS22における文字イメージデー
タが登録済か否かを判別する登録判別処理ルーチンを示
すフローチャートである。この登録判別処理では、プリ
ンタドライバによって管理される文字登録管理テーブル
を使用する。文字登録管理テーブルは各文字の文字イメ
ージデータがプリンタに既に登録済であるか否かを示
す。例えば、総ての文字コードに対して1文字1ビット
で登録済、未登録を表現する。文字イメージデータをプ
リンタ1500に登録する際に、文字登録管理テーブル
中の該当する文字を示す位置に登録済のフラグをセット
する。ここでは、Code、FaceName、Style、Pointによっ
て文字が確定するようなフォント環境を想定している
が、フォント環境がこれと異なる場合であっても、文字
登録管理テーブル中に文字を特定するのに十分なデータ
が含まれていればよい。
【0032】ここでは、FaceName、Style、Pointの総て
が一致するものを1つの文字セットとして管理し、同一
の文字セットに属する文字に対しては1つの文字登録管
理テーブルを使用する。1つの文字登録管理テーブルは
以下に示す内容を有する。
【0033】 文字登録管理テーブル:FaceName Point Style FlagTable …(データ2) FaceName: フォントフェイス名 Point: 文字サイズ Style: 文字修飾データ FlagTable: 登録済フラグテーブル 登録判別処理では、まず使用する変数の初期化を行う
(ステップS31)。続いて、変数iが文字登録管理テ
ーブルの数Nより小さいか否かを判別して文字登録管理
テーブルが最後の文字登録管理テーブルに達したか否か
を調べる(ステップS32)。
【0034】最後の文字登録管理テーブルに達していな
いとき、文字登録管理テーブルTable[i]のFaceName、St
yle、PointがすべてステップS21で取得した印字デー
タのFaceName、Style、Pointと一致するか否かを調べ
(ステップS33)、一致する場合にはそのTable[i]の
文字コードがCodeの文字が登録済であるか否かを示
すフラグFlagTable[Code]のON/OFFを調べる(ス
テップS34)。
【0035】FlagTable[Code]=ONである場合には、
登録済であると判定して(ステップS37)処理を終了
する。FlagTable[Code]=OFFである場合には、未登録で
あると判定して処理を終了する。
【0036】ステップS33で文字登録管理テーブルTa
ble[i]のデータが印字データの各データと異なる場合に
は、変数iをインクリメントしてステップS32に戻り
(ステップS35)、次の文字登録管理テーブルの処理
に移行する。
【0037】最後の文字登録管理テーブルNまで各デー
タに一致するものが存在しなかった場合には未登録と判
定して(ステップS36)本ルーチンを終了する。
【0038】図2のステップS23の文字イメージデー
タの取得処理では、ステップS21で取得した印字デー
タに基づいて、フォトラスタライザから印字に使用する
文字イメージデータを取得する。
【0039】フォントラスタライザはアウトラインフォ
ントなどのスケーラブルなフォントの文字イメージデー
タを作成するプログラムであり、図1のROM3のプロ
グラムROMあるいは外部メモリ11に格納され、RA
M2にロードされて実行される。文字イメージデータを
取得するために必要なデータは、フォントラスタライザ
を管理するOSなどの仕様に依存するが、ここでは前記
印字データに必要なデータがすべて含まれているものと
し、以下に示すデータをフォントラスタライザに渡すこ
ととする。
【0040】 文字イメージデータ取得のためのデータ:Code FaceName Point Style …(データ3) Code:文字コード FaceName:フォントフェイス名 Point:文字サイズ Style:文字修飾データ このようなデータを渡すことにより、文字イメージデー
タと共に、以下のようなデータを取得できる。
【0041】 フォントラスタライザからの取得データ:ix iy DataSize ImageData …(データ4) ix,iy:文字イメージの縦、横のサイズ DataSize:文字イメージデータのサイズ ImageData:文字イメージデータ 図2のステップS24では、ステップS23で取得した
文字イメージデータの圧縮を行う。ここでは、様々な圧
縮方法を使用することが可能である。但し、元のイメー
ジデータが文字のイメージデータに限定されるので、例
えば2次元ランレングス、MR、MMR他、文字の圧縮
に効果的な圧縮方法を採用することが望ましい。本実施
の形態では、圧縮の一例として、公知の手法であるWyle
の符号化によるランレングス圧縮法を用いた場合を示
す。
【0042】図4は文字イメージデータをフォントラス
タライザから得た場合を示す説明図である。イメージデ
ータはイメージの左上の点のデータから横一ラインのデ
ータが続き、順次その下のラインの左からのデータが続
くものとする。また、データ値はオフビットを値0、オ
ンビットを値1として得られる。この場合、どの文字イ
メージデータも256ビットで表現される。それぞれの
文字イメージのランレングスを記述すると次のようにな
る。
【0043】 E:36、8、8、8、8、2、14、2、14、2、14、2、14、8、8、8、8、2、14、2、 14、2、14、2、14、8、8、8、4 B:34、8、8、9、7、2、6、2、6、2、6、2、6、2、6、2、6、2、5、2、 7、9、7、10、6、2、6、3、5、2、7、2、5、2、7、2、5、2、6、3、 5、10、6、9、5 a:68、4、11、6、9、2、4、2、8、2、4、2、14、2、11、2、1、2、9、7、 8、3、2、3、8、2、4、2、8、2、3、3、8、6、1、4、6、4、3、2、 4 簡単のため、ここではイメージデータは必ずオフビット
(0)から始まるものとし、上記ランレングスの最初の
値はオフビットのランレングスを示している。図5はラ
ンレングスの符号化の表を示す説明図である。例えば、
ランレングスがnの場合に(n−1)を求め、それを2
進数で符号化したものを*の部分に挿入したものが符号
化の結果となる。文字Eの先頭の36ならば、表の33
〜64に示す11110に続けて35を2進数で符号化
したデータ100011を繋げた1111010001
1が符号化の結果となる。以下に、上記それぞれの文字
イメージデータの符号化の結果をビット列で示す。これ
は、上記ランレングスを符号化したものである。
【0044】 E:11110100011101111011110111101110011101101001110110 10011101101001110110110111101111011110111001110110 1001110110100111011010011101101101111011110111011 (149ビット) B:11110100001101111011111010001011000110101001101010 01101010011010100110101001101010011010000110110110 10001011011010011010100110101010101000011011000110 10000110110001101000011010101010100110100110101110 100010100 (209ビット) a:11111010000110111101010101011101000001011001101110 01011001110110100111010100010000011101000101101011 10100010101011100101100110111001010010101111010100 001110101011010001011 (171ビット) この例では、それぞれ256ビットから149ビット、
209ビット、171ビットに圧縮されている。
【0045】図2のステップS25では、圧縮した文字
イメージデータをプリンタに登録するプリンタコマンド
を作成する。コマンドの例を以下に示す。
【0046】 文字イメージデータ登録命令:RC CharSetID Code ix iy size END data … (コマンド1) RC:文字イメージデータ登録命令を意味するコマンド CharSetID:文字セットID Code:登録する文字の文字コード ix,iy:文字イメージの縦、横のサイズ size:圧縮されたイメージデータのサイズ END:コマンド終端符号 data:圧縮されたイメージデータ 図2のステップS26では、ステップS25で作成した
プリンタコマンドをインターフェース21を介してプリ
ンタ1500に転送する。図2のステップS27では、
文字登録管理テーブルにステップS26でプリンタ15
00に登録した文字のフラグをセットする。
【0047】図6は文字のフラグセット処理ルーチンを
示すフローチャートである。まず、この処理ルーチンで
使用する変数の初期化を行う(ステップS61)。続
く、ステップS62では、変数iが文字登録管理テーブ
ルの数Nより小さいか否かを判別して(ステップS6
2)、最後の文字登録管理テーブルに達したか否かを調
べる。
【0048】文字登録管理テーブルTable[i]のFaceNam
e、Style、Pointが全てステップS21で取得した印字
データのFaceName、Style、Pointと一致するか否かを調
べ(ステップS63)、一致する場合にそのTable[i]の
Codeで表される文字が登録済みであるか否かを示すFlag
Table[Code]にONをセットしてステップS64の処理
を終了する。
【0049】ステップS63でTable[i]のデータが印字
データの各データと異なる場合には、変数iをインクリ
メントして(ステップS65)ステップS62に戻り、
次の文字登録管理テーブルに関する処理に移行する。
【0050】最後の文字登録管理テーブルまで各データ
の一致するものが存在しなかった場合には、新たに文字
登録管理テーブルを作成し(ステップS66)、その文
字登録管理テーブルのCodeで表される文字の登録フラグ
FlagTable[Code]をONにセットしてステップS67の
処理を終了する。
【0051】図2のステップS28では、既にプリンタ
1500に登録済みの文字を印字するプリンタコマンド
を生成する。コマンドの例を以下に示す。
【0052】 登録文字印字命令:DC CharSetID Code x y …(コマンド2) DC:登録文字印字命令を意味するコマンド CharSetID:文字セットID Code:印字する文字の文字コード x,y:印字装置 ステップS29では、ステップS28で生成したプリン
タコマンドをステップS26の場合と同様にプリンタ1
500に転送する。
【0053】図7はプリンタ1500によって実行され
るプリンタコマンド解析処理ルーチンを示すフローチャ
ートである。本ルーチンはプリンタコマンドを処理する
手順を示したものであり、通常の印刷時に繰り返し行わ
れる。
【0054】まず、処理すべきプリンタコマンドを受け
取り(ステップS71)、そのコマンドが文字イメージ
データ登録命令であるか、登録文字印字命令であるかを
調べる(ステップS72、S74)。文字イメージデー
タ登録命令であるとき、圧縮された文字イメージデータ
をプリンタ1500のRAM19あるいは外部メモリ1
4に格納して(ステップS73)本ルーチンを終了す
る。
【0055】登録文字印字命令の場合には、該当する文
字の圧縮された文字イメージデータをRAM19あるい
は外部メモリ14から読み出してデータを伸長し(ステ
ップS75)、伸長して得られた文字イメージデータを
描画する処理を行って(ステップS76)本ルーチンを
終了する。
【0056】文字イメージデータ登録命令および登録文
字印字命令のいずれでもないとき、そのまま本ルーチン
を終了する。
【0057】プリンタコマンド解析部の処理について具
体的な例を示す。プリンタコマンドの解析を行うプログ
ラムはROM13のプログラムROMまたは外部メモリ
14からRAM19にロードされて実行される。ホスト
コンピュータ3000から転送されてきたデータ(プリ
ンタコマンド)は、入力部18を経由し、前記プログラ
ムに取り込まれ、RAM19でコマンド単位に切り分け
られる。
【0058】コマンド単位のデータをステップS71で
受け取ると、受け取ったデータのプリンタコマンドを示
す部分がCommandであったとし、ステップS72ではC
ommandを文字イメージデータ登録命令RCと比較
する。
【0059】ステップS73では、Command=RCの場
合に圧縮された文字イメージデータの格納を行う。受け
取ったデータは、前述のコマンド1の内容である。
【0060】 文字イメージデータ登録命令:RC CharSetID Code ix iy size END data … (コマンド1) ここで得られたデータから以下のようなデータを作成す
る。
【0061】 文字イメージデータ管理データ:CharSetID Code ix iy data …(データ5 ) CharSetID:文字セットID Code:登録する文字の文字コード ix,iy:文字イメージの縦、横のサイズ data:圧縮されたイメージデータ この文字イメージデータ管理データを一つのエントリと
して、RAM19あるいは外部メモリ14に格納する。
格納の方法は、後で複数のエントリからCharSetIDとCod
eを頼りに特定の文字の圧縮された文字イメージデータ
を取得できるように行う。単にある領域に次々と並べて
いっても良いし、後の取得時の効率を考慮し、CharSetI
D毎にまとめて管理してもよい。ここでは、単に文字イ
メージデータ管理データ用としてRAM19に確保した
領域に、順次上記文字イメージ管理データを付け加えて
いくものとする。
【0062】ステップS72において、Command=RC
でなかった場合には、ステップS74でCommand=DC
であるか否かを調べる。そうでない場合はステップS7
1で取得したプリンタコマンドが文字イメージデータ関
連のプリンタコマンドでないので、処理を終了する。
【0063】ステップS75では、Command=DCの場
合に指定された文字イメージデータの伸長を行う。受け
取ったデータは前記コマンド2の内容である。
【0064】 登録文字印字命令:DC CharSetID Code x y …(コマンド2) ここで、得られたデータを基に、RAM19に格納され
ている文字イメージデータ管理データのエントリから、
CharSetIDとCodeのデータが一致するエントリを検索
し、取得する。取得されるデータは前記データ5の内容
である。
【0065】dataで与えられる圧縮された文字イメージ
データをRAM19で伸長する。伸長の方法は、図2の
ステップS24で使用した圧縮方法に応じた復号法で行
う。本実施の形態では、Wyleの符号化を用いたランレン
グス圧縮法を使用したので、ここではその復号を行い、
元の文字イメージデータを得る。
【0066】前記圧縮例での伸長の手順を簡単に述べる
と、圧縮されたデータの先頭から最初の0が出てくるま
でのビット数を数え、それに1を加えたビット数のデー
タを続くデータからとり、それに1を加えたものを最初
のデータ(白)とする。
【0067】前記「E」の場合であれば、最初の値0ま
で5ビットであるので、その値0に続く(5+1)ビッ
トのデータ(100011=35)をとり、それに値1
を加えた値36が最初の白データのランレングスとな
る。以下に、圧縮されたデータと伸長データの一例を示
す。
【0068】 E:1111010001110111 … E:36,8,… 同様の処理を繰り返し、白データ、黒データが交互に現
れるとしてランレングスのデータに変換することができ
る。尚、ここでは簡単のために最初のデータは常に白を
仮定している。
【0069】ステップS76では、ステップS75の処
理で得た文字イメージデータをRAM19からバス1
5、印刷部I/F16を経て印刷部17に転送し、描画
処理を行う。
【0070】以上示したように、文字イメージデータを
プリンタ1500に転送してプリンタ1500内に登録
しておき、使用する時に登録しておいた文字イメージデ
ータを使用して文字の印字を行う印刷システムにおい
て、プリンタ1500に文字イメージデータを登録する
際に圧縮して転送し、転送するデータ量を減少させるこ
とにより印字速度を向上させることができる。また、プ
リンタのRAM19上に圧縮された文字イメージデータ
を記憶しておくことにより、RAM19上に記憶してお
くデータ量を減少させることができ、プリント処理速度
を向上させることができる。
【0071】[第2の実施の形態]つぎに、第2の実施
の形態における印刷システムについて説明する。図8は
第2の実施の形態におけるプリンタドライバによる文字
印字処理ルーチンを示すフローチャートである。前記第
1の実施の形態と較べてステップS81、S82、S8
3、S84、S85の処理が加わっている。前記第1の
実施の形態と同一のステップには同一の番号が付されて
いる。
【0072】ステップS81では、ステップS21で取
得した印字データの示す文字の文字イメージデータをプ
リンタに登録するべきか否かを判定するための基準とな
るデータを取得する。この判定の基準となるデータには
様々なものが存在するが、本実施の形態では以下のデー
タを判定の基準となるデータとする。
【0073】 登録判定基準データ:RamSize FreeSize ix iy …(データ5) RamSize:文字イメージデータの登録メモリの全容量 FreeSize:文字イメージデータの登録メモリの空き容量 ix,iy:文字イメージの縦、横のサイズ RamSizeは、プリンタ1500のRAM19に確保され
ている文字イメージデータ登録用メモリの容量であり、
FreeSizeはその空き容量である。RamSizeはそのメモリ
空間を文字イメージデータ登録に使用してもプリント処
理速度に低下を起こさないメモリサイズとする。RamSiz
eは、プリンタドライバが内部に固定データとして予め
持っているもので、何等かの手段で修正を行えるように
してもよい。
【0074】ステップS82では、イメージデータサイ
ズ(ixとiyの積)がFreeSizeより大きいか否かを比
較する。これは、文字イメージデータをメモリの空き領
域に追加登録可能であるか否かを調べる処理である。実
際には、文字イメージデータは圧縮されて格納されるの
で、圧縮後のデータサイズを使用するべきであるが、登
録をしないと判定した場合に圧縮処理が無駄になるの
で、ここでは圧縮したデータサイズは確実に圧縮前のサ
イズ以下という仮定の元で圧縮前のデータサイズを使用
している。
【0075】また、文字イメージデータ以外にも、文字
の登録時にメモリを使用する場合には、その使用するサ
イズを文字イメージデータのサイズに加えた値をFreeSi
zeと比較する必要がある。
【0076】ステップS82で文字が登録可能であると
判断されたとき、ステップS83ではFreeSizeの値を更
新する。前述の文字イメージデータ以外のデータにメモ
リを使用する場合はそのサイズもFreeSizeから減じる必
要がある。
【0077】一方、ステップS82で登録不可であると
判断されたときには、文字イメージデータをプリンタ1
500に転送して描画を行う。このとき、印字位置、文
字イメージデータの縦、横の大きさ、プリンタコマンド
を解析する上で必要とする総データサイズ(バイト数な
ど)を含む以下のようなプリンタコマンドを生成する
(ステップS84)。
【0078】 イメージデータ描画命令:DI x y ix iy size END data …(コマンド3) DI:イメージ描画命令を意味するコマンド xy:印字位置を示す座標値 ix,iy:イメージデータサイズ size:総データサイズ END:コマンド終端符号 data:イメージデータ ステップS85では、ステップS84で作成したデータ
(コマンド3)をインターフェース21を介してプリン
タ1500に転送する。
【0079】図9は第2の実施の形態におけるプリンタ
コマンド解析処理ルーチンを示すフローチャートであ
る。図7で示した処理と同一の処理には同一の番号が付
されている。
【0080】ステップS91では、取得したプリンタコ
マンドがステップS84で生成されたイメージデータ描
画命令であるか否かを判別する。イメージデータ描画命
令と判別されたときには、ステップS76でのイメージ
データ描画処理を行う。
【0081】以上示したように、文字イメージデータを
圧縮してプリンタ1500に転送してプリンタ内に登録
しておき、使用するときに伸長して文字の印字を行う印
刷システムにおいて、印字を行う文字によってプリンタ
1500に登録するか否かを判定し、プリンタのRAM
19に記憶しておくデータ量を減少させることにより、
プリント処理速度を向上させることができる。
【0082】[第3の実施の形態]つぎに、第3の実施
の形態における印刷システムについて説明する。図10
は第3の実施の形態におけるプリンタドライバによる文
字印字処理ルーチンを示すフローチャートである。図2
に示した前記第1の実施の形態と較べてステップS10
1、S102の処理が加わっている。前記第1の実施の
形態と同一の処理には同一の番号が付されている。
【0083】ステップS101では、ステップS21で
取得した印字データの示す文字の文字イメージデータを
圧縮してプリンタ1500に登録するべきか否かを判定
するための基準となるデータの取得を行う。この判定の
基準となるデータには様々なものが存在するが、本実施
の形態では以下のデータを判定の基準となるデータとす
る。
【0084】 圧縮判定基準データ:MaxSize ix iy …(データ6) MaxSize:圧縮および伸長可能最大イメージサイズ ix,iy:文字イメージの縦、横のサイズ MaxSizeは、プリンタドライバ内で圧縮を行うプログラ
ムが処理可能な最大イメージデータサイズ、およびプリ
ンタ内で伸長を行うプログラムが処理可能な最大イメー
ジデータサイズの内、小さい方の値に設定される。MaxS
izeは、プリンタドライバが内部に固定データとして予
め持っておく。
【0085】ステップS102では、イメージデータサ
イズ(ixとiyの積)がMaxSizeより大きいか否かを
比較する。この処理は、文字イメージデータの圧縮処理
と伸長処理が可能であるか否かを調べる処理である。ス
テップS102で圧縮不可であると判断されたときには
文字イメージデータを圧縮せずにプリンタ1500に登
録する処理を行う。これに対処するために、ステップS
25の文字登録コマンドの生成処理で生成されるプリン
タコマンドを圧縮時およひ非圧縮時の両方で使用できる
ように以下のように修正する。
【0086】 文字イメージデータ登録命令2:RC CharSetID Code ix iy CompressFlag siz e END data …(コマンド4) RC:文字イメージデータ登録命令を意味するコマンド CharSetID:文字セットID Code:登録する文字の文字コード ix,iy:文字イメージの縦、横のサイズ CompressFlag:圧縮フラグ size:転送データサイズ END:コマンド終端符号 data:データ 尚、dataは、CompressFlag=ONの場合には圧縮データ
となり、CompressFlag=OFFの場合には非圧縮データ
となる。
【0087】図11は第3の実施の形態におけるプリン
タコマンド解析処理ルーチンを示すフローチャートであ
る。前記第2の実施の形態と同一の処理には同一の番号
が付されている。
【0088】ステップS111では、文字イメージデー
タ登録命令2のCompressFlagデータがON(圧縮使用)
であるか否かを調べる。CompressFlagがONであるか、
あるいはOFFであるかによって、圧縮された文字イメ
ージデータを格納するか(ステップS73)あるいは圧
縮されていない文字イメージデータを格納する(ステッ
プS112)。受け取ったデータは前記コマンド4の内
容となる。ここで得られたデータから以下に示すデータ
を作成する。
【0089】 文字イメージデータ管理データ2:CharSetID Code ix iy compressFlag data …(データ7) CharSetID:文字セットID Code:登録する文字の文字コード ix,iy:文字イメージの縦、横のサイズ CompressFlag:圧縮フラグ data:データ この文字イメージデータ管理データ2を文字イメージデ
ータ管理データの替わりに用いることにより、圧縮され
ている文字イメージデータと共に、圧縮されてない文字
イメージデータを登録することができる。
【0090】ステップS113では、登録文字イメージ
印字の際に、上記文字イメージデータ管理データ2のCo
mpressFlagの値を調べ、ONのときには文字イメージデ
ータの伸長(ステップS75)を行う。OFFのときに
はdataは圧縮されていないデータなので、ステップS7
5の処理を行わない。
【0091】以上示したように、文字イメージデータを
圧縮してプリンタ1500に転送してプリンタ1500
内に登録しておき、使用する時に伸長して文字の印字を
行う印刷システムにおいて、印字を行う文字によって圧
縮して登録を行うか非圧縮で登録を行うかを判定し、ど
ちらのデータでもプリンタ1500のRAM19に格納
可能とすることにより、圧縮処理不可能および伸長処理
不可能な文字イメージデータの両方を登録して再利用す
ることができる。
【0092】尚、文字イメージデータを圧縮する手段に
おいて、使用する圧縮方法はプリンタに搭載されている
スケーラブルフォントのキャッシング時に使用する圧縮
方法と同様の圧縮方法を用い、プリンタフォントのキャ
ッシュされた文字イメージデータの伸長と、ホストコン
ピュータによって登録され圧縮された文字イメージデー
タの伸長との両方の伸長処理を同様の伸長処理プログラ
ムあるいは伸長処理装置によって処理を行うようにして
もよい。
【0093】[第4の実施の形態]つぎに、第4の実施
の形態における印刷システムについて説明する。図12
は第4の実施の形態におけるプリンタドライバによる文
字印字処理ルーチンを示すフローチャートである。前記
第1、第2の実施の形態と同一の処理には同一の番号が
付されている。
【0094】第4の実施の形態における印刷システム
は、印字を行う文字イメージデータを登録するか否かを
判定するための基準となるデータを取得する手段、およ
び前記印字を行う文字イメージデータを登録するか否か
を判定する手段に特徴を有する。
【0095】ステップS121では、ステップS21で
取得した印字データの示す文字のイメージデータをプリ
ンタ1500に登録するべきか否かを判定するための基
準となるデータの取得を行う。ここでは、以下のデータ
を取得する。
【0096】 登録判定基準データ:Code RamSize FreeSize Table ix iy …(データ8) Code:文字コード RamSize:文字イメージデータの登録メモリの全容量 FreeSize:文字イメージデータの登録メモリの空き容量 Table:頻度テーブル ix,iy:文字イメージの縦、横のサイズ RamSizeは、プリンタのRAM19に確保されている文
字イメージデータ登録用メモリの容量であり、FreeSize
はその空き容量である。RamSizeはそのメモリ空間を文
字イメージデータ登録に使用しても、プリント処理速度
の低下を起こさないメモリサイズとする。RamSizeは、
プリンタドライバが内部に固定データとして予め持って
おくものであり、このデータを何等かの手段で修正でき
るようにしてもよい。
【0097】ステップS122では、文字コードCodeに
対する使用頻度テーブルの値であるTable(Code)が、Th
(RamSize,FreeSize)で表される値以上であるか否かを比
較する。ここで、Tableは、文字コード毎にその文字の
使用頻度のデータを格納したテーブルである。本実施の
形態では、各文字コードに対して優先度最低の値0から
優先度最高の値4の5通りの数値で定義されているもの
で、予めプリンタドライバ内にデータとして持っている
ものであり、このデータを何等かの手段で修正できるよ
うにしてもよい。また、Th(RamSize,FreeSize)はRamSiz
eとFreeSizeに依存する関数で、RAMの消費率によっ
て以下のような数値を返す。
【0098】 Th(RamSize,FreeSize)= FreeSize/RamSize≧1 :5 FreeSize/RamSize>0.8 :4 FreeSize/RamSize>0.6 :3 FreeSize/RamSize>0.4 :2 FreeSize/RamSize>0.2 :1 FreeSize/RamSize<=0.2 :0 このような処理によって、メモリの空き容量によって文
字の使用頻度を考慮した登録の判断を行う。
【0099】以上示したように、文字イメージデータを
圧縮してプリンタ1500に転送してプリンタ1500
内に登録しておき、使用する時に伸長して文字の印字を
行う印刷システムにおいて、印字を行う文字によってプ
リンタ1500に登録するか否かを判定し、プリンタ1
500のRAM19に記憶しておくデータ量を減少させ
ることにより、プリント処理速度を向上させることがで
きる。
【0100】尚、印刷システムは、同様の機能を実行で
きるものであれば、単体の機器でも、複数の機器から構
成されるものでもよい。また、LANなどのネットワー
クを介して処理が行なわれるシステムであってもよい。
【0101】
【発明の効果】本発明によれば、情報処理装置から印刷
装置に転送するデータ量を減少でき、印字速度およびプ
リント処理速度を向上できる。また、印刷すべき文字に
よって印刷装置に登録するか否かを判定して印刷装置の
記憶容量の減少を抑えつつ、印字速度およびプリント処
理速度を向上できる。
【図面の簡単な説明】
【図1】第1の実施の形態における印刷システムの構成
を示すブロック図である。
【図2】第1の実施の形態におけるプリンタドライバに
よる文字印字処理ルーチンを示すフローチャートであ
る。
【図3】図2のステップS22における文字イメージデ
ータが登録済か否かを判別する登録判別処理ルーチンを
示すフローチャートである。
【図4】文字イメージデータをフォントラスタライザか
ら得た場合を示す説明図である。
【図5】ランレングスの符号化の表を示す説明図であ
る。
【図6】文字のフラグセット処理ルーチンを示すフロー
チャートである。
【図7】プリンタ1500によって実行されるプリンタ
コマンド解析処理ルーチンを示すフローチャートであ
る。
【図8】第2の実施の形態におけるプリンタドライバに
よる文字印字処理ルーチンを示すフローチャートであ
る。
【図9】第2の実施の形態におけるプリンタコマンド解
析処理ルーチンを示すフローチャートである。
【図10】第3の実施の形態におけるプリンタドライバ
による文字印字処理ルーチンを示すフローチャートであ
る。
【図11】第3の実施の形態におけるプリンタコマンド
解析処理ルーチンを示すフローチャートである。
【図12】第4の実施の形態におけるプリンタドライバ
による文字印字処理ルーチンを示すフローチャートであ
る。
【符号の説明】
1、12 CPU 2、19 RAM 3、13 ROM 21 双方向インターフェース 1500 プリンタ 3000 ホストコンピュータ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 印刷すべき文字のフォントデータが印刷
    装置に登録されているか否かを判別する判別手段と、 前記判別手段により印刷すべき文字のフォントデータが
    前記印刷装置に登録されていないと判別された場合、印
    刷すべき文字のフォントデータのサイズに基づき、印刷
    すべき文字のイメージ描画コマンドを前記印刷装置に転
    送するか、印刷すべき文字の圧縮したフォントデータを
    登録するコマンドを前記印刷装置に転送する転送手段と
    を有することを特徴とする情報処理装置。
  2. 【請求項2】 前記フォントデータは、アウトラインフ
    ォントデータよりラスタライズされたフォントデータを
    含むことを特徴とする請求項1記載の情報処理装置。
  3. 【請求項3】 前記転送手段は、印刷すべき文字のフォ
    ントデータを前記印刷装置に登録不可能な場合、印刷す
    べき文字のイメージ描画コマンドを前記印刷装置に転送
    し、印刷すべき文字のフォントデータを前記印刷装置に
    登録可能な場合、印刷すべき文字の圧縮したフォントデ
    ータを登録するコマンドを前記印刷装置に転送すること
    を特徴とする請求項1記載の情報処理装置。
  4. 【請求項4】 前記判別手段は、前記情報処理装置に記
    憶される前記印刷装置に登録されたフォントデータを識
    別するための登録文字管理テーブルに基づき、判別する
    ことを特徴とする請求項1記載の情報処理装置。
  5. 【請求項5】 印刷すべき文字のフォントデータが印刷
    装置に登録されているか否かを判別する判別ステップ
    と、 前記判別ステップにより印刷すべき文字のフォントデー
    タが前記印刷装置に登録されていないと判別された場
    合、印刷すべき文字のフォントデータのサイズに基づ
    き、印刷すべき文字のイメージ描画コマンドを前記印刷
    装置に転送するか、印刷すべき文字の圧縮したフォント
    データを登録するコマンドを前記印刷装置に転送する転
    送ステップとを有することを特徴とする情報処理方法。
  6. 【請求項6】 前記フォントデータは、アウトラインフ
    ォントデータよりラスタライズされたフォントデータを
    含むことを特徴とする請求項5記載の情報処理方法。
  7. 【請求項7】 前記転送ステップは、印刷すべき文字の
    フォントデータを前記印刷装置に登録不可能な場合、印
    刷すべき文字のイメージ描画コマンドを前記印刷装置に
    転送し、印刷すべき文字のフォントデータを前記印刷装
    置に登録可能な場合、印刷すべき文字の圧縮したフォン
    トデータを登録するコマンドを前記印刷装置に転送する
    ことを特徴とする請求項5記載の情報処理方法。
  8. 【請求項8】 前記判別ステップは、前記情報処理装置
    に記憶される前記印刷装置に登録されたフォントデータ
    を識別するための登録文字管理テーブルに基づき、判別
    することを特徴とする請求項5記載の情報処理方法。
JP2000029291A 1995-02-09 2000-02-07 ホストコンピュータおよびプリンタドライバによる文字印字処理方法 Expired - Fee Related JP3507387B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000029291A JP3507387B2 (ja) 1995-02-09 2000-02-07 ホストコンピュータおよびプリンタドライバによる文字印字処理方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP7-44776 1995-02-09
JP4477695 1995-02-09
JP8026230A JP3061562B2 (ja) 1995-02-09 1996-01-22 印刷システム、情報処理装置、情報処理方法、印字装置および印字方法
JP2000029291A JP3507387B2 (ja) 1995-02-09 2000-02-07 ホストコンピュータおよびプリンタドライバによる文字印字処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP8026230A Division JP3061562B2 (ja) 1995-02-09 1996-01-22 印刷システム、情報処理装置、情報処理方法、印字装置および印字方法

Publications (2)

Publication Number Publication Date
JP2000172473A true JP2000172473A (ja) 2000-06-23
JP3507387B2 JP3507387B2 (ja) 2004-03-15

Family

ID=32110586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000029291A Expired - Fee Related JP3507387B2 (ja) 1995-02-09 2000-02-07 ホストコンピュータおよびプリンタドライバによる文字印字処理方法

Country Status (1)

Country Link
JP (1) JP3507387B2 (ja)

Also Published As

Publication number Publication date
JP3507387B2 (ja) 2004-03-15

Similar Documents

Publication Publication Date Title
US6351314B1 (en) Printing system, printing apparatus, information processing apparatus and storage medium storing font download control program
US6192157B1 (en) Modifications of postscript adaptive data compression (ADC) for 3 plane, 8 bit color images, JPEG lossy compression, and variable Q factors
US20030191790A1 (en) Method and apparatus for communicating font registration information
JPH11175287A (ja) データ処理装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US5732197A (en) Printing control apparatus
JP3327650B2 (ja) 記録装置
KR100257843B1 (ko) 문자 처리 장치, 문자 처리 방법 및 메모리
US7002581B2 (en) Character information processing apparatus, character information processing method and storage medium
JP3061562B2 (ja) 印刷システム、情報処理装置、情報処理方法、印字装置および印字方法
JP3507387B2 (ja) ホストコンピュータおよびプリンタドライバによる文字印字処理方法
JPH10278362A (ja) 印刷制御装置及び方法と印刷システム
JPH07271528A (ja) 印字システム及びその印字方式
JP3618828B2 (ja) 情報処理装置及び情報処理方法
JPH11203070A (ja) プリンタ制御装置
JP3062397B2 (ja) 印刷システムおよび印刷システムの記録所要時間呈示方法および情報処理装置および情報処理装置の記録所要時間呈示方法
US6281985B1 (en) Print control apparatus, print control method, and memory medium
JPH10198530A (ja) プリンタシステム
JPH09270919A (ja) ページプリンタにおけるデータ圧縮方法
JPH11235849A (ja) 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH11265438A (ja) 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2001282482A (ja) データ処理装置、および、該データの処理方法
JPH08328774A (ja) 印刷システムおよび印刷システムの記録所要時間呈示方法
JP2000033730A (ja) 印刷装置とその制御方法及び印刷システム
JPH09252409A (ja) ページプリンタにおけるデータ圧縮方法
JPH11327824A (ja) 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031218

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

Free format text: PAYMENT UNTIL: 20081226

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081226

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091226

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091226

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101226

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees