JPH05246088A - プリンタの印字制御方法 - Google Patents

プリンタの印字制御方法

Info

Publication number
JPH05246088A
JPH05246088A JP4080394A JP8039492A JPH05246088A JP H05246088 A JPH05246088 A JP H05246088A JP 4080394 A JP4080394 A JP 4080394A JP 8039492 A JP8039492 A JP 8039492A JP H05246088 A JPH05246088 A JP H05246088A
Authority
JP
Japan
Prior art keywords
font
printer
character
characters
byte
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.)
Withdrawn
Application number
JP4080394A
Other languages
English (en)
Inventor
Masahiro Nakanishi
昌弘 中西
Keiji Izumi
恵治 泉
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.)
Olympus Corp
Original Assignee
Olympus Optical Co Ltd
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 Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP4080394A priority Critical patent/JPH05246088A/ja
Publication of JPH05246088A publication Critical patent/JPH05246088A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【目的】 プリンタ側の構成を変更することなく、英数
字対応のプリンタで日本語、韓国語等の印字出力も可能
とする。 【構成】 1バイト系のフォントを内蔵したプリンタ
(8,9)と、このプリンタ(8,9)に印字指示を与
える上位装置(1)とを有するプリンタシステムにおい
て、上位装置(1)側には2バイト系フォントを記憶し
た2バイト系フォントメモリを有し、上位装置(1)の
指示により前記2バイト系フォントをインタフェイスを
介して接続されたプリンタ(8,9)のメモリ(36)
にダウンロードさせ、前記上位装置(1)からフォント
ID及び文字コードに対応した2バイト系文字を印字す
ることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はプリンタの印字制御方
法に関し、特に英数字等の1バイト系文字の印字を行う
ページプリンタにおいて、プリンタ側のハードウエア・
ソフトウエアの構成を変更することなく日本語・韓国語
等の2バイト系文字の印字を行うのに好適な印字制御方
法に関するものである。
【0002】
【従来の技術】従来、イオノグラフィー技術と静電転写
方式、熱ローラ定着方式の組合せにより、レーザプリン
タと同等の高印字画質が得られるページプリンタとし
て、イオノグラフィーページプリンタがある。このイオ
ノグラフィページプリンタの動作原理を図12により説
明する。まず、イオンカートリッジ121で発生させた
イオン流が強化硬質誘電体ドラム122上に静電潜像を
形成する。次に高濃度の一成分磁性トナー123により
静電潜像を現像する。次に誘電体ドラム122上のトナ
ー像を普通紙124上に静電転写・剥離を行う。次に誘
電体ドラム122上の残留トナーは、高耐久のスクレー
パ125によりかき落とされ、イレースロッド126が
ドラム表面を除電しニュートラル状態に戻す。次に転写
されたトナー像をヒートローラ127とプレッシャロー
ラ128により熱定着し、排紙する。
【0003】このようなページプリンタでは、英数字フ
ォントを内蔵し(このようなプリンタに内蔵されたフォ
ントをレジデントフォントと呼ぶ)このフォントを用い
て印字するか、またはホストインタフェイスを介して接
続されたパーソナルコンピュータや、ワークステーショ
ン等の上位装置(以下ホストコンピュータと呼ぶ)か
ら、ホストコンピュータの磁気ディスク等に格納された
外部フォントをプリンタ内のフォントメモリにダウンロ
ードして印字することができるようになっている。
【0004】そして、ホストコンピュータより転送され
るコード化された印字情報を受け取って、それらを内部
のメモリに蓄積し、用紙1ページに対応する量のデータ
が受信されると、1ページ分の情報を印字出力する。こ
のページプリンタは、内部に文字の形状を表すフォント
データを複数種類保持し、これらのフォントを選択する
ことで任意のフォントを用いて、ホストコンピュータか
ら入力された情報に基づいて印字出力を行う。
【0005】
【発明が解決しようとする課題】しかしながら、従来の
欧米向けページプリンタでは英数字等の印字機能しか有
しておらず、日本語や韓国語のような印字は行うことが
出来なかった。これは欧米地域とアジア地域で使用する
文字の数に起因するものである。例えば英語文書は、ア
ルファベット大文字、小文字、各種記号等のたかだか2
00種類の文字で構成されているのに対し、日本語はひ
らがな、カタカナに加え、約7000文字の漢字で構成
されている。このため各文字を表す文字コードも英数字
は1バイトで表現し、日本語は2バイトで表現されてい
る。
【0006】世の中の多くの欧米向けページプリンタ
は、もともと英数字の印字のみを前提として設計されて
いるため約7000文字に及ぶ日本語フォントを有して
いないことに加え、このような2バイト系のフォントの
扱いができないという問題がある。すなわちページプリ
ンタで日本語を印字するためには、プリンタのハードウ
エア、ソフトウエアの大幅な構成変更を必要とし、かつ
プリンタ内部に大量のレジデントフォントを格納しなけ
ればならないという問題がある。
【0007】この発明の目的は、このような従来の問題
を解決し、プリンタ側の構成を変更することなく、英数
字対応のプリンタで日本語、韓国語等の印字出力も可能
とするプリンタの印字制御方法を提供することにある。
【0008】
【課題を解決するための手段】前記目的を達成するた
め、この発明のプリンタの印字制御方法は、1バイト系
のフォントを内蔵したプリンタと、このプリンタに印字
指示を与える上位装置とを有するプリンタシステムにお
いて、上位装置側には2バイト系フォントを記憶した2
バイト系フォントメモリを有し、上位装置の指示により
前記2バイト系フォントをインタフェイスを介して接続
されたプリンタのメモリにダウンロードさせ、前記上位
装置からフォントID及び文字コードに対応した2バイ
ト系文字を印字することに特徴がある。
【0009】ここで、前記ダウンロードは、文字のビッ
トイメージパターンとその文字コードとの集合体にフォ
ントIDを付加したフォントセット単位に行う。また、
前記ダウンロードは、上位装置によりフォント中間ファ
イル、およびテキスト中間ファイルを作成しておき、こ
れらの中間ファイル上に少なくとも1つのフォントセッ
トの文字が満杯になったときに実行する。さらに、前記
ダウンロード時に前記メモリの空きエリアがない場合
は、使用頻度の最小のフォントセットを削除した後にダ
ウンロードを実行する。前記ダウンロード時に前記メモ
リの空きエリアがない場合は、使用履歴の最古のフォン
トセットを削除した後にダウンロードを実行する。
【0010】
【作用】この発明においては、1バイト系のフォントを
内蔵したプリンタ(8,9)と、このプリンタ(8,
9)に印字指示を与える上位装置(1)とを有するプリ
ンタシステムにおいて、上位装置(1)側には2バイト
系フォントを記憶した2バイト系フォントメモリを有
し、上位装置(1)の指示により前記2バイト系フォン
トをインタフェイスを介して接続されたプリンタ(8,
9)のメモリ(36)にダウンロードさせ、前記上位装
置(1)からフォントID及び文字コードに対応した2
バイト系文字を印字することににより、プリンタ側の構
成を変更することなく、英数字対応のプリンタで日本
語、韓国語等の印字出力も可能となる。
【0011】
【実施例】以下、この発明の実施例を詳細に説明する。
【0012】図2はこの発明を適用したプリンタシステ
ムの構成図を示すもので、システム全体の各種制御およ
びプリンタに印字指示を行う上位装置(ホストコンピュ
ータ)1がアドレスバス、データバス、コントロールバ
スからなるシステムバス2に接続されている。また、シ
ステムバス2にはシステムプログラム、各種データを格
納する主メモリ3と、フォント辞書、システムプログラ
ムを記憶している外部記憶装置4と、表示装置(例えば
CRTディスプレイ、液晶ディスプレイ等)5と、入力
装置(例えばキーボード)6と、上位装置1からの印字
指令により印刷を実行するためのプリンタインタフェイ
ス7が接続されている。さらにプリンタインタフェイス
7を介して、印刷を制御するプリンタコントローラ8
と、印字ヘッド、駆動回路、モータ等からなるプリンタ
エンジン9が接続されている。
【0013】プリンタコントローラ7は、上位装置1に
より指示された各種コマンドに応じてイメージデータを
生成し、それをプリンタエンジン8に与えて、印字出力
させるものである。
【0014】図3はプリンタコントローラ8の詳細構成
を示すもので、プリンタコントローラ8は、コントロー
ラ全体の制御を行うためのCPU31を有している。
このCPU31のシステムバス32には、CPU31で
実行される制御プログラムを格納したプログラムROM
33と、各種制御情報の書き込みおよび読み出しを行う
ためのワークRAM34と、レジデントフォントの幅や
高さ等のサイズ情報およびビットイメージパターンの形
状情報を格納したレジデントフォントROM35とが接
続されている。さらに、システムバス32には、上位装
置1よりダウンロードされたフォントや、上位装置1か
らの編集方向の変更指令を受けて指定された編集方向に
回転されたフォントのビットイメージパターン、上位装
置1からのイタリック体(斜体)指定、ボールド(太文
字)指定等の命令に応答して、もとの文字形状を変形す
ることで作成されたフォントのビットイメージパターン
を格納するためのフォントRAM36と、上位装置1よ
り指示された各種コマンドに応じて、プリンタエンジン
9に転送する画像が作成されるイメージRAM37と、
このイメージRAM37に生成したイメージデータ、お
よび各種コマンドやステイタス情報をプリンタエンジン
9との間でやり取りするためのエンジンインタフェイス
回路38と、上位装置1と接続するためのホストインタ
フェイス回路39とが接続されている。
【0015】次に一般的なコンピュータシステムにおけ
る、日本語文書、文字コードについて簡単に説明する。
【0016】一般にコンピュータシステム内における日
本語文書は、図4のように漢字等の全角文字(CRTや
プリンタ等に2×Wの文字幅で印字される文字)と、英
数字やカタカナ等の半角文字(CRTやプリンタ等に1
×Wの文字幅で印字される文字)で構成されている。実
際には全角文字の英数字等も含まれているが、この説明
においては印字される文字の幅だけに着目し、半角文
字、全角文字という表現を使用する。また、コンピュー
タシステム内における日本語を含む各種文字は、漢字等
の2バイト系文字と、英数字等の1バイト系文字で構成
されており、コード体系としては例えばシフトJISが
挙げられる。
【0017】シフトJISコードとは、その名称が示す
ようにJIS C6226に定められたJISコードを
シフト、つまりずらして変換し、定義されるコードであ
る。図5に示すように、基本的には第1バイトをJIS
C6220の8ビットで未定義となっている部分に割
り当て、第2バイトを制御文字やスペースを避けるよう
にして割り当てている。このように割り当てることによ
り、漢字などの全角文字は、第1バイトをチェックする
ことで、他の半角文字と識別することが可能となってい
る。
【0018】図6は外部記憶装置4内のフォント辞書の
構成例を示すもので、まず半角文字のビットイメージパ
ターンが文字コード順に連続し、続いて全角文字がその
文字コード(ここではシフトJISコード)順に並んで
いるものとする。ここでは全ての文字のビットイメージ
パターンを文字コード順に配置したが、配置は文字コー
ドの順序に限定されるものではなく、文字コードとビッ
トイメージパターンの格納アドレスとが一対一対応をし
ていればよいものとする。
【0019】図7はプリンタコントローラ8に転送する
フォントセットダウンロードコマンドフォーマット例を
示すもので、1個のフォントセットヘッダと、当該フォ
ントセットに含まれるキャラクタの数と同数のキャラク
タヘッダおよびビットイメージパターンとで構成され
る。ここで、フォントセットヘッダには、フォントI
D、シンボルセット、スペーシング、CPI、ポイン
ト、スタイル、ストロークウェイト、タイプフェイス等
の情報が格納される。また、キャラクタヘッダには、文
字コード、文字幅、文字高、Xオフセット、Yオフセッ
ト、ピッチ、イメージアドレス等の情報が格納される。
【0020】次に外部記憶装置4に文書ファイルが格納
されており、この文書ファイルの印刷を行う方法につい
て詳細に説明する。
【0021】ここで、プリンタにダウンロードするフォ
ントセットとは、最大256文字から構成された文字の
集合体であるものとし、それぞれの文字はキャラクタと
よぶ。
【0022】一般にプリンタコントローラに外部よりダ
ウンロードできるフォントセットの数には種々の制限が
ある。例えばダウンロードするフォントセットの総数
(以下、fnumと記す)は、最大数FMAXを超えられないで
あるとか、プリンタコントローラ内のフォントRAM3
6の容量により、ダウンロードできるキャラクタの総数
(以下、cnumと記す)は、CMAXを最大とするというよう
な制限である。この実施例ではこのようにプリンタコン
トローラ側のフォントRAM36の空き容量をキャラク
タ数で管理しているが、キャラクタ数の代わりに実際に
ダウンロードされるイメージデータのバイト数で管理す
る方法もある。
【0023】次にこのプリンタシステムにおけるパラメ
ータの初期化処理で初期化されるパラメータ(変数)、
およびその内容について説明する。
【0024】fnum=0: ダウンロードフォントセット数 プリンタコントローラ8にダウンロードしたフォントセ
ットの数を管理するための変数であり、フォントセット
ダウンロード毎に1を加算する。この値がFMAXになる
と、それ以上のフォントセットはプリンタコントローラ
8にはダウンロードできないことを表す。
【0025】cnum=0: ダウンロードキャラクタ数 プリンタコントローラ8にダウンロードしたキャラクタ
の数を管理するための変数であり、フォントセットダウ
ンロードのたびに当該フォントセットに含まれる文字の
数を加算する。この値がCMAXになると、それ以上のキャ
ラクタはプリンタコントローラ8にはダウンロードでき
ないことを表す。
【0026】lfid=0: ダウンロードフォントセットID 次にプリンタコントローラ8にダウンロードするフォン
トのフォントIDを表す変数である。
【0027】lcid=0: ダウンロードキャラクタコード 次にプリンタコントローラ8にダウンロードするキャラ
クタコードを示す。
【0028】cfid=0: 選択フォントID 現在プリンタコントローラ8が選択中のフォントIDを
示す。上位装置1では、印字する文字のフォントID
が、プリンタが選択中のフォントIDと同一であれば、
新たにフォント選択のためのコマンドを転送することを
防止し、転送データの少量化を図っている。
【0029】 zfid[256×256]=-1:全角文字対応フォントID 全ての全角文字それぞれに対応した配列であり、プリン
タコントローラ8にダウンロードした際のフォントID
を示す。ここでは要素の最大数として文字コード0000H
からFFFFH をサポートできる値を取り、文字コード自体
を配列のポインタとする構成を取っているが、図5より
明らかなように全角文字の文字コードはこの範囲全てに
わたるものではない。従ってプリンタシステムにおける
メモリ占有量を減らすために、文字コードになんらかの
変換を加え、変換後の値の範囲を狭めることも可能であ
る。例えば、シフトJISコードは、8140H 〜FCFCH エ
リアにマッピングされているので、文字コードから8000
H を減算することにより、0140F 〜7CFCH のエリアにマ
ッピングさせ、必要とするメモリ占有量を半分にするこ
とができる。
【0030】 zcid[256×256]=-1:全角文字対応キャラクタコード 全角文字それぞれに対応した配列である、プリンタコン
トローラ8にダウンロードした際の文字コードを示す。
前記同様に配列の要素数を減らすことも可能である。
【0031】tnum=0: 中間ファイル内キャラクタ数 印字する文書ファイル中に、プリンタコントローラ8に
ダウンロードしていないキャラクタが発見され、中間フ
ァイルを作成中である時の、ダウンロード待ちキャラク
タの数を表す変数である。
【0032】pfid[256]=0:フォントセット使用数 プリンタコントローラ8にダウンロードしたフォントセ
ットそれぞれについての使用頻度を調べるための配列で
あり、全角文字1文字を印字する毎にフォントIDに対
応する値に1を加える。前記のようにプリンタコントロ
ーラ8にダウンロードできるフォントセットの数には制
限がある。ところが印字する文書によってはこの数を超
えたフォントが必要になることがある。このようなとき
には既にダウンロードしたフォントをプリンタコントロ
ーラ8から削除し、プリンタコントローラ8内のフォン
トRAM36に空きエリアをつくる必要がある。この変
数は削除するフォントセットを決定する際に使用され
る。
【0033】図8はこのプリンタシステムにおける印字
制御全体の処理フローチャートを示すもので、以下、図
8のフローチャートに従って印字動作を説明する。
【0034】オペレータにより、このプリンタシステム
に印刷起動がかかると、上位装置1はパラメータの初期
化処理を行う(ステップ81)。この処理で初期化され
るパラメータ、およびその内容については前述したとお
りである。
【0035】パラメータ初期化処理が終了すると、上位
装置1は半角フォント転送処理に移行する(ステップ8
2)。ここで、上位装置1は、主メモリ3上にフォント
の各種属性情報から構成されるフォントセットヘッダを
作成する。さらに第1キャラクタの文字幅、文字高等で
構成されるキャラクタヘッダを生成する。続いて上位装
置1は外部記憶装置4のフォント辞書の、文字コードに
対応するアドレスから当該キャラクタのビットイメージ
パターンを読み出し、この情報をキャラクタヘッダの後
に書き込む。このキャラクタヘッダ、イメージパターン
の書き込みを、当該フォントセットに含まれるキャラク
タの数(この実施例では256とする)と同じ回数だけ
繰り返すことで、上位装置1は、主メモリ3上に1個の
半角フォントセットを生成する。次に上位装置1はこの
フォントセットをフォントIDを0番として、プリンタ
コントローラ8内のフォントRAM36にダウンロード
する。その後上位装置1は前記のfnum値を1に設定し、
cnum値を256に設定する。これは、既にプリンタコン
トローラ8にダウンロードされたフォントセットが1個
存在し、256個のキャラクタがダウンロードされたこ
とを表す。さらにID0のフォントはダウンロードが行
われたため、lfid値に1を加え、次にダウンロードする
フォントIDを1番とする。この実施例ではほとんどの
日本語文書でよく使用される半角フォントをすべて先に
ダウンロードしておく構成をとっている。これにより、
半角文字の処理の際に、常にプリンタコントローラに当
該キャラクタがダウンロード済みかどうかを判別する必
要はなくなり、処理速度を向上させることができる。
【0036】続いて上位装置1は、現在選択中のフォン
トセットIDを表す変数cfidの値を0にし、プリンタコ
ントローラ8に対してID0のフォントセットを選択す
べく、規定のコマンドを送出する。
【0037】次に上位装置1は、オペレータにより指定
された文書ファイルの読み出しが全て終了したかどうか
をチェックする(ステップ83)。文書ファイルの読み
出しが全て終了していれば、中間ファイル転送処理に移
行する(ステップ88)。
【0038】文書ファイルに残りのデータがあれば、デ
ータ1バイトを文書ファイルから読み出す(ステップ8
4)。前述したように、ここで使用しているシフトJI
Sコードは1バイトをチェックすることで、その文字が
半角文字なのか、全角文字を表す2バイトコードの第1
バイトなのかを識別することが可能である。
【0039】続いて上位装置1は、このデータが半角文
字であるのか、全角文字の第1バイトであるのかをチェ
ックし(ステップ85)、半角文字であれば半角文字印
字処理を実行し(ステップ86)、全角文字の第1バイ
トであればこの発明の特徴的な全角文字印字処理を実行
する(ステップ87)。半角文字印字処理(ステップ8
6)および全角文字印字処理(ステップ87)の詳細に
ついては後述する。ステップ86あるいはステップ87
の処理を終えると、上位装置1は制御をステップ83に
戻し、文書ファイルの読み出しが終了するまで以上の処
理を繰り返す。
【0040】図9はステップ86の半角文字印字処理の
詳細フローチャートを示すもので、以下、図9のフロー
チャートに従って半角文字印字処理を説明する。
【0041】既にステップ82の半角フォント転送処理
において、半角フォントをフォントIDを0番としてプ
リンタコントローラ8に転送した。すなわち半角フォン
トはフォントIDが0であり、プリンタコントローラ8
へのダウンロードは終了している。そこで上位装置1
は、まず現在プリンタコントローラ8において選択中の
フォントID cfid 値が半角フォントを意味する0であ
るかどうかをチェックする(ステップ91)。ここで、
cfid値が0であれば、上位装置1はステップ92〜95
の処理を実行せずに、ステップ96の処理に移行する。
【0042】前記cfid値が0でないならば、上位装置1
はまず主メモリ3上に、必要とするフォントIDを有す
るフォントを選択するためのコマンドを生成する(ステ
ップ92)。さらに選択中のフォントIDを示すcfid値
を、作成したコマンドに従った値(ここでは半角フォン
トの選択であるため0番)に書き換える。
【0043】次に上位装置1は、中間ファイル内のtnum
値が0であるかどうかをチェックする(ステップ9
3)。ここで、このチェックによる処理の分岐を説明す
る前に、この値のチェックの必要性について先に説明す
る。
【0044】一般的にこの実施例のようなページプリン
タでは、前にも述べたように1フォントセットとして最
大256個のキャラクタをダウンロード可能である。こ
の時のコマンドフォーマットは、前に図7を用いて説明
したとおりである。1個のフォントセットに、1個だけ
のキャラクタを従属させて転送することも可能ではある
が、プリンタコントローラの有限量のメモリを効率的に
使用するためには、実際には1個のフォントセットに可
能な限りの文字数のキャラクタを従属させることが望ま
しい。また当然、ダウンロードフォントを用いて印字を
行うためには、文字の印字に先だって、フォントのダウ
ンロードを実行する必要がある。この実施例では、ダウ
ンロードを必要とする文字数が256個になるまでの間
は、フォントダウンロードコマンドおよび、印字する文
字コードを直接プリンタコントローラ8に転送するので
はなく、外部記憶装置4上にフォント中間ファイル、お
よびテキスト中間ファイルを作成しておき、1フォント
セットの文字が全て一杯になったときにプリンタコント
ローラ8に転送する方式を採っている。これにより、プ
リンタコントローラのメモリの効率的使用ができる。
【0045】このときのフォント中間ファイルに作成し
たフォントセットの登録文字数を表す変数がtnumであ
り、この値が0であれば印字する文字コードを直接プリ
ンタに送出しても構わないことを判断できる。
【0046】前記ステップ93において、チェックした
tnum値が0であれば、上位装置1はステップ92におい
て主メモリ3上に作成したフォント選択コマンドをプリ
ンタコントローラ8に転送する(ステップ94)。tnum
値が0でなければ、フォント選択コマンドを直接プリン
タコントローラ8に転送するのではなく、一旦テキスト
中間ファイルに書き込む(ステップ95)。
【0047】次にステップ96において、上位装置1は
ステップ93と同様に処理を分岐させ、中間ファイルを
作成中でなければ、文書ファイルから読み出した文字の
文字コードをプリンタコントローラ8に転送し(ステッ
プ97)、中間ファイルを作成中であれば、文字コード
をテキスト中間ファイルに書き込む(ステップ98)。
【0048】次に上位装置1は、当該フォントIDに対
応する頻度管理配列pfidの値に1を加え、当該フォント
が使用された回数を更新する(ステップ99)。
【0049】図1はステップ87の全角文字印字処理の
詳細フローチャートを示すもので、以下、図1のフロー
チャートに従って全角文字印字処理を説明する。
【0050】ステップ84で文書ファイルから読み出し
たデータバイトが、全角文字の第1バイトであったこと
を認識した上位装置1は、引き続いて次の1バイトを読
み出す(ステップ11)。すなわち上位装置1は、次に
印字する文字は、この2バイトで構成される全角文字で
あることを認識する。ここでこの2バイトコードをzcod
e とする。
【0051】次に上位装置1は、この2バイトコードに
対応したzfid[zcode] 値をチェックする(ステップ1
2)。この値が−1(初期化状態)であれば当該2バイ
トコードに対応する文字は、まだプリンタコントローラ
8にダウンロードされていないものであり、この値が−
1でないときには、当該2バイトコードに対応する文字
は、プリンタコントローラ8に対しフォントID zfid
[zcode]番、キャラクタコードzcid[zcode] としてダウ
ンロードされているものと認識する。対応するフォント
がプリンタコントローラ8にまだダウンロードされてい
ないときには、上位装置1は全角フォントダウンロード
処理を行う(ステップ13)。この全角フォントダウン
ロード処理の詳細については後述する。
【0052】続いて上位装置1は、現在プリンタコント
ローラ8において選択中のフォントID cfid 値が当該
全角文字を表すzfid[zcode] であるかどうかをチェック
する(ステップ14)。ここで、cfid値がzfid[zcode]
に等しければ、上位装置1はフォント選択コマンド作成
処理等(ステップ15〜18)を実行せずに、ステップ
19に移行する。
【0053】引き続いて上位装置1は、当該全角文字を
印字するためにフォントID zfid[zcode] 番を選択す
べく、フォント選択コマンド作成処理(ステップ1
5)、およびこのコマンドの中間ファイルへの書き込
み、あるいはプリンタコントローラ8への転送を実行す
る(ステップ16〜18)。この処理の内容は先に述べ
たステップ92〜95の処理と同様であるため、詳細は
省略する。
【0054】以上の処理により、印字する全角文字zcod
e に対応する、プリンタコントローラ8上のフォントI
D(zfid[zcode] )および、キャラクタコード(zcid[z
code] )が決定し、さらにプリンタコントローラ8にお
いては当該フォントセットの選択が終了している。そこ
で上位装置1は、中間ファイルチェック処理(ステップ
19)を実行し、zcid[zcode] の値を印字文字コードと
して中間ファイルへの書き込み、あるいはプリンタコン
トローラ8への転送を実行する(ステップ20, 2
1)。さらに前記同様当該フォントIDに対応する頻度
管理配列pfidの値に1を加え、当該フォントが使用され
た回数を更新する(ステップ22)。この処理の内容は
先に述べたステップ96〜99の処理と同様であるた
め、詳細は省略する。
【0055】図10はステップ13の全角フォントダウ
ンロード処理の詳細フローチャートを示すもので、以
下、図10のフローチャートに従って全角フォントダウ
ンロード処理を説明する。
【0056】まず、上位装置1は、tnum値を0と比較す
ることで、すでにフォント中間ファイルが作成され、こ
のファイルへの書き込みが行われている途中かどうかを
確認する(ステップ101)。
【0057】tnum値が0であれば、この時点ではフォン
ト中間ファイルへの書き込みが始まっていないため、上
位装置1は外部記憶装置4上に新たにフォント中間ファ
イルをオープンする(ステップ102)。さらにオープ
ンした中間ファイルに、当該フォントセットのフォント
IDをlfidとして、図7で示したようなフォントセット
ヘッダを書き込む。
【0058】引き続いて上位装置1は、外部記憶装置4
上にテキスト中間ファイルをオープンする(ステップ1
03)。
【0059】次に上位装置1は、文書ファイルから読み
出された全角文字コードzcode に対応する、外部記憶装
置4上のフォント辞書からビットマップデータを読み出
し、当該キャラクタの文字コードをlfidとして、図7に
示した構成で、キャラクタヘッダおよびキャラクタイメ
ージデータをフォント中間ファイルに追加する(ステッ
プ104)。
【0060】以上の処理により文字コードzcode の全角
文字はプリンタコントローラ8内ではフォントID lfi
d 、キャラクタコードlcidで表される文字として規定さ
れる。このため、次に上位装置1は前記の全角文字対応
フォントID配列 zfid[zcode]にlfidを、全角文字対応
キャラクタコード配列zcid[zcode] にlcidを書き込み、
zcode で表される文字が、フォントID lfid 、キャラ
クタコードlcidとして既にダウンロード済みであること
を記憶する(ステップ105)。その後上位装置1はlc
id値およびtnum値に1を加える。
【0061】次に上位装置1は、更新したtnumの値を1
フォントセットに属するキャラクタの最大数(ここでは
256)と比較する(ステップ106)。tnumの値が2
56に達していなければ上位装置1はステップ107以
降の処理を行わずに、当該全角フォントダウンロード処
理を終了する。
【0062】tnumの値が256に達している時には、上
位装置1は前記処理により作成したフォント中間ファイ
ルをプリンタコントローラ8に転送するための処理を始
める。すなわち、上位装置1は前記のfnum,cnum の値を
それぞれの最大可能数FMAX,CMAX と比較することで、プ
リンタコントローラ8内にまだフォントをダウンロード
するための余裕があるかどうかをチェックする(ステッ
プ107)。プリンタコントローラ8側のメモリが一杯
で、これ以上フォントをダウンロードすることができな
い場合には、上位装置1はフォントセット削除処理を実
行する(ステップ108)。このフォントセット削除処
理の詳細については後述する。
【0063】プリンタコントローラ8にフォントダウン
ロードの余裕があったとき、および前記のフォントセッ
ト削除処理を終了しプリンタコントローラ8にフォント
ダウンロードの余裕ができると、上位装置1は、外部記
憶装置4上に作成したフォント中間ファイルおよび、テ
キスト中間ファイルをクローズし、プリンタコントロー
ラ8に転送する(ステップ109)。さらにlfid値に1
を加え次に作成するダウンロードフォントのフォントI
Dを更新し、cfid値、tnum値を0にリセットし、当該全
角フォントダウンロード処理を終了する。
【0064】図11はステップ108のフォントセット
削除処理の詳細フローチャートを示すもので、以下、図
11のフローチャートに従ってフォントセット削除処理
を説明する。
【0065】前述した処理により、各文字を印字する、
すなわち文字コードをプリンタコントローラ8に送出し
たりテキスト中間ファイルに書き込んだりする度に頻度
管理配列pfidの値に1を加えてきた。従って、プリンタ
コントローラ8は、この配列の要素番号0番の半角フォ
ント以外の要素の中でその値が0を超え、かつ最小値の
ものがプリンタコントローラ8にダウンロードはした
が、これまでに使用された回数が最も少なかったフォン
トであると判別し、このフォントセットを削除するフォ
ントと決定する(ステップ111)。
【0066】続いて上位装置1は、選択されたフォント
を削除するためのコマンドを生成し、プリンタコントロ
ーラに転送する(ステップ112)。
【0067】次に上位装置1は、削除したフォントに対
応する頻度管理配列pfidの値を0に戻し当該フォントの
使用回数を0にする(ステップ113)。またプリンタ
コントローラ8にダウンロードしたフォントセット数管
理データfnumから1を減じる。さらにこのフォントに属
しているキャラクタの数を、プリンタコントローラ8に
ダウンロードしたキャラクタ数管理データcnumから減ず
る。続いてここでプリンタコントローラから削除された
キャラクタそれぞれについて、 zfid,zcidの値を−1に
セットし、対応する文字コードを有する文字がプリンタ
コントローラ8内に存在しないことを規定する。
【0068】前記ステップ101の方法では削除するフ
ォントを選択する条件として、それぞれの使用回数(使
用頻度)の最小のものとしたが、たとえば各フォントセ
ットを選択する毎に頻度管理配列pfidに1から順に値を
入れておけば、その値が最小(使用履歴の最古)のもの
を選ぶことで、最も古い時点で選択されたフォントを知
ることも可能である。
【0069】このように、この実施例においては、プリ
ンタ側の構成を変更することなく、上位装置側に2バイ
ト系フォント辞書を設け、上位装置の指示により2バイ
ト系フォントをインタフェイスを介して接続されたプリ
ンタコントローラのメモリにダウンロードさせ、上位装
置からフォントID及び文字コードに対応した2バイト
系文字を印字するので、英数字対応のプリンタで漢字印
字出力も行えるようになる。
【0070】
【発明の効果】以上説明したように、この発明によれ
ば、プリンタ側の構成を変更することなく、英数字対応
のプリンタで日本語、韓国語等の印字出力も可能とな
る。
【図面の簡単な説明】
【図1】この発明の一実施例を示すプリンタの印字制御
方法を説明するためのフローチャートである。
【図2】この発明を適用したプリンタシステムの構成図
である。
【図3】図2のプリンタコントローラの詳細構成図であ
る。
【図4】全角文字と半角文字の混在文書例を示す図であ
る。
【図5】シフトJISコードの構成例を示す図である。
【図6】フォント辞書の構成例を示す図である。
【図7】フォントセットダウンロードコマンド例を示す
図である。
【図8】図2のプリンタシステムにおける印字制御全体
の概略フローチャートである。
【図9】この発明の実施例における半角文字印字処理フ
ローチャートである。
【図10】この発明の実施例における全角フォントダウ
ンロード処理フローチャートである。
【図11】この発明の実施例におけるフォントセット削
除処理フローチャートである。
【図12】イオノグラフィーページプリンタの原理を説
明するための図である。
【符号の説明】 1 上位装置 2 システムバス 3 主メモリ 4 外部記憶装置 5 表示装置 6 入力装置 7 プリンタインタフェイス 8 プリンタコントローラ 9 プリンタエンジン 31 CPU 32 システムバス 33 プログラムROM 34 ワークRAM 35 レジデントフォントROM 36 フォントRAM 37 イメージRAM 38 エンジンインタフェイス 39 ホストインタフェイス

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 1バイト系のフォントを内蔵したプリン
    タと、このプリンタに印字指示を与える上位装置とを有
    するプリンタシステムにおいて、 上位装置側には2バイト系フォントを記憶した2バイト
    系フォントメモリを有し、 上位装置の指示により前記2バイト系フォントをインタ
    フェイスを介して接続されたプリンタのメモリにダウン
    ロードさせ、前記上位装置からフォントID及び文字コ
    ードに対応した2バイト系文字を印字することを特徴と
    するプリンタの印字制御方法。
  2. 【請求項2】前記ダウンロードは、文字のビットイメー
    ジパターンとその文字コードとの集合体にフォントID
    を付加したフォントセット単位に行うことを特徴とする
    請求項1記載のプリンタの印字制御方法。
  3. 【請求項3】 前記ダウンロードは、上位装置によりフ
    ォント中間ファイル、およびテキスト中間ファイルを作
    成しておき、これらの中間ファイル上に少なくとも1つ
    のフォントセットの文字が満杯になったときに実行する
    ことを特徴とする請求項2記載のプリンタの印字制御方
    法。
  4. 【請求項4】前記ダウンロード時に前記メモリの空きエ
    リアがない場合は、使用頻度の最小のフォントセットを
    削除した後にダウンロードを実行することを特徴とする
    請求項1記載のプリンタの印字制御方法。
  5. 【請求項5】前記ダウンロード時に前記メモリの空きエ
    リアがない場合は、使用履歴の最古のフォントセットを
    削除した後にダウンロードを実行することを特徴とする
    請求項1記載のプリンタの印字制御方法。
JP4080394A 1992-03-02 1992-03-02 プリンタの印字制御方法 Withdrawn JPH05246088A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4080394A JPH05246088A (ja) 1992-03-02 1992-03-02 プリンタの印字制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4080394A JPH05246088A (ja) 1992-03-02 1992-03-02 プリンタの印字制御方法

Publications (1)

Publication Number Publication Date
JPH05246088A true JPH05246088A (ja) 1993-09-24

Family

ID=13717077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4080394A Withdrawn JPH05246088A (ja) 1992-03-02 1992-03-02 プリンタの印字制御方法

Country Status (1)

Country Link
JP (1) JPH05246088A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016034653A (ja) * 2014-08-01 2016-03-17 株式会社キーエンス レーザマーキング装置、印字データ生成装置、印字データ生成方法、及びコンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016034653A (ja) * 2014-08-01 2016-03-17 株式会社キーエンス レーザマーキング装置、印字データ生成装置、印字データ生成方法、及びコンピュータプログラム

Similar Documents

Publication Publication Date Title
US6111654A (en) Method and apparatus for replacing or modifying a postscript built-in font in a printer
EP0412925B1 (en) Page printer memory allocation
US8244065B2 (en) Information processing apparatus including print job retrieval function, information processing method, program, and recording medium
KR0167617B1 (ko) 출력 제어 장치 및 방법
EP0750250A1 (en) Print control apparatus, print control method, information processing apparatus, information processing method, and storage medium storing control program
US6480295B1 (en) Image forming apparatus for efficiently storing developed print data depending on situations and an image forming method thereof
JP3563793B2 (ja) データ処理方法及びその装置
US5706413A (en) Printer
US20030191790A1 (en) Method and apparatus for communicating font registration information
JP2993276B2 (ja) プリンタ
US5732197A (en) Printing control apparatus
US5671246A (en) Method and apparatus for adaptive adjustment of cache allocation for storage of font data
US6310693B1 (en) Printing control apparatus and method, and printing system for reducing processing overhead
JPH05246088A (ja) プリンタの印字制御方法
JP4447677B2 (ja) 印刷システム、制御方法、記録媒体
JP3548396B2 (ja) 描画処理装置、描画処理方法、及び記憶媒体
JP3618828B2 (ja) 情報処理装置及び情報処理方法
JPH11191042A (ja) データ処理装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2595978B2 (ja) フォント管理装置
JP3241767B2 (ja) 画像処理装置
JP3045656B2 (ja) ページプリンタ
JP2000033730A (ja) 印刷装置とその制御方法及び印刷システム
JP3817077B2 (ja) 印刷処理システムおよび画像形成装置
JPH04173163A (ja) プリンタコントローラ
JPH06161688A (ja) プリンタ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990518