JPH0596788A - 複数ピツチ印字用のロジカルシーキングを実行するためのテーブル駆動プリンタ制御方法 - Google Patents

複数ピツチ印字用のロジカルシーキングを実行するためのテーブル駆動プリンタ制御方法

Info

Publication number
JPH0596788A
JPH0596788A JP4020775A JP2077592A JPH0596788A JP H0596788 A JPH0596788 A JP H0596788A JP 4020775 A JP4020775 A JP 4020775A JP 2077592 A JP2077592 A JP 2077592A JP H0596788 A JPH0596788 A JP H0596788A
Authority
JP
Japan
Prior art keywords
print
printer
dot
printing
pitch
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.)
Pending
Application number
JP4020775A
Other languages
English (en)
Inventor
Dale William Roddy
ウイリアム ロデイー デイル
Kathleen Maginnity
マギニテイー キヤスリーン
Richard Charles Sponable
チヤールズ スポネイブル リチヤード
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.)
NCR Voyix Corp
Original Assignee
NCR Corp
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 NCR Corp filed Critical NCR Corp
Publication of JPH0596788A publication Critical patent/JPH0596788A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/10Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by matrix printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0082Architecture adapted for a particular function

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Character Spaces And Line Spaces In Printers (AREA)
  • Dot-Matrix Printers And Others (AREA)

Abstract

(57)【要約】 【目的】 印字場所を複数備えたリテイルプリンタにお
いて、2種類以上の文字ピッチをソフトウェアで選択し
て使用する。 【構成】 プリンタ100は、プリントキャリッジ10
4と、プリントキャリッジステップモータ114と、プ
リンタコントローラ116と、プリントバッファ120
とを備えている。プリンタコントローラ116は、端末
118に接続されている。端末118は、印字データを
プリンタコントローラ116に伝送する。プリンタコン
トローラ116は、受信した印字データをプリントバッ
ファ120に格納する。また、プリンタコントローラ1
16は印字データから先頭および末尾のスペースにあた
る部分を削除し、印字行をできるだけ短くする。さら
に、印字データによって示される印字すべき文字列の最
初の桁と最後の桁のドットを計算し、印字方向およびプ
リントキャリッジ104が最初に位置すべきポジション
を決定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、2種類以上の文字フォ
ントで印字を行うために使用されるプリンタの制御方法
に関し、特に、2種類以上の文字ピッチで印字を行うた
めに使用されるプリンタの制御にロジカルシーキングを
使用することに関する。本発明によるプリンタ制御は、
特に小売り販売のカウンタにおいて仕訳や領収書、確認
などの記入のために複数の印字場所で文字を印字するリ
テイルプリンタに適用することができる。従って、本発
明によるプリンタ制御をこのようなプリンタに応用する
ことに関して以下に述べる。
【0002】
【従来の技術】一般にリテイルプリンタで印字した文字
は、複数のワイヤやインクジェット、加熱素子または他
の印字装置を作動させることによって形成される複数の
ドットから成っている。このような印字手段では、通常
一度に文字全体を印字することはできない。選択した印
字装置を含むプリントキャリッジは、仕訳、領収書、確
認の各印字場所を含む領域を前後に移動する。この領域
は、実際には仕訳か領収書のどちらか一方または両方を
印刷するための場所と一致する。このようなプリンタの
スループットを高めるために、印字動作にロジカルシー
キングが応用されてきている。
【0003】従来から様々な論理的シーク用装置が知ら
れている。最も一般的なロジカルシーキングとは、次に
印字すべき行の両端のうち、どちらか近いほうの端にプ
リンタキャリッジを移動させるというものである。1行
印刷し終わると、その行の印字終了位置と次に印字すべ
き行の左右の端にあたる位置とを比較する。プリントキ
ャリッジは次に印字すべき行の両端のうち、どちらか近
いほうの端に移動する。リテイルプリンタのスループッ
トを高めるためには、このロジカルシーキングが重要で
あることは明らかである。特に印字をおこなう場所が複
数備えられたリテイルプリンタでは、ロジカルシーキン
グは極めて重要である。ロジカルシーキングを行わない
と、たとえ次の行をプリンタの一方の端から印刷しなけ
ればならないとしても、プリントキャリッジはプリンタ
の逆の他の端に移動することになる。
【0004】印字可能な文字サイズは変えることができ
るようにしておくことが望ましい。また、全角文字と倍
角文字を備えていて文字サイズを変えることができる場
合でも、印字すべき文字に異なるピッチを使用できるよ
うにしておくことが望ましい。文字ピッチが異なると印
刷時の1行字数も異なり、使用する印字スペース内で見
た目に読みやすくすることができる。さらに、全角文字
と倍角文字との差ほどはっきりした差ではないが、強調
の度合いなども変化させることができる。
【0005】
【発明が解決しようとする課題】複数の文字ピッチが備
えられている商業用プリンタもいくつかあるが、使用す
るピッチ同士の切り替えには、機械を調整する必要があ
る。さらに、複数のピッチについてロジカルシーキング
を行うと、このために必要な計算によって実質的にかな
りの時間が費やされてしまう。このような時間が費やさ
れることで、ロジカルシーキングを行うとスループット
利得をかなり減少させたり全くなくしてしまったりする
ことにもなりかねない。したがって、通常のロジカルシ
ーキングは1つの文字ピッチに関連しているのである。
【0006】このように、2種類以上の文字ピッチで印
字を行うプリンタに効果的なロジカルシーキングを提供
できるプリンタ制御方法が必要とされているのである。
このプリンタ制御方法は、プリンタを機械的に調整する
ことなくプリンタ稼働中に複数の文字ピッチを選択する
ことができるものであることが望ましい。さらに、使用
できる各印字ピッチについてのロジカルシーキングも迅
速に行えることが望ましい。従って、複数の文字ピッチ
で印字を行うプリンタにおいて、効果的なロジカルシー
キングを行えるプリンタ制御が必要とされる。好ましく
は、このプリンタ制御は、プリンタの機械的な調整をす
ることなく、そして、必要な各文字ピッチを迅速にロジ
カルシーキングして、プリンタ稼働中に複数の文字ピッ
チの選択が可能であることが望ましい。
【0007】そこで、本発明の第1の技術的課題は、上
記欠点に鑑み、複数の文字ピッチで印字を行うプリンタ
においてロジカルシーキングを効果的に行うことができ
る改良されたプリンタ制御方法を提供することにある。
【0008】また、本発明の第2の技術的課題は、プリ
ンタを機械的に調整することなくプリンタ稼働中に必要
な文字ピッチを選択することができ、複数の文字ピッチ
で印字を行うプリンタにおいてロジカルシーキングを効
果的に行うことができる改良されたプリンタ制御方法を
提供することにある。
【0009】本発明の第3の技術的課題は、文字ピッチ
に対応しているエントリを含む参照用テーブルを用いて
ロジカルシーキングを実行し、複数の文字ピッチで印字
を行うプリンタにおいてロジカルシーキングを効果的に
行うことができる改良されたプリンタ制御方法を提供す
ることにある。本発明の他の技術的課題は、特許請求の
範囲、以下の発明の詳細な説明及び添付の図面より、明
らかになる。
【0010】
【課題を解決するための手段】2種類以上のピッチで、
印字する文字をソフトウエア選択することが可能であ
り、選択可能な文字ピッチを参照する参照用テーブルの
アクセスにより、効果的なロジカルシーキングを使用し
て、ピッチ毎に文字の印字を実行する本発明に係わるプ
リンタ制御により、上述の課題は解決される。すなわ
ち、本発明に係わるプリンタは、プリンタを機械的に調
整することなく、プリンタ稼働中に選択可能な複数のピ
ッチを有し、さらに、通常は、1つの文字ピッチにのみ
関連しているロジカルシーキングのスループットをすべ
ての文字ピッチについて高めるものである。本発明によ
れば、印字すべき文字列を示す印字データに応答して2
種類以上のピッチで印字を行うようにプリンタを制御す
るための方法は、以下のステップを含む。すなわち、前
記印字データの関数として前記印字データについての行
頭位置および行末位置を決定し、文字列を印字するため
に用いられる印字ピッチを決定するステップと;前記印
字データをブラケットするプリンタ同期点を決定するた
めに参照用テーブルをアクセスするステップと;プリン
タの印字素子が現在位置しているところに最も近いプリ
ンタ同期点を決定するステップと;印字データによって
示される文字列を印字するようプリンタを準備するため
に、最も近いプリンタ同期点に印字素子を移動させるた
めのステップと;を含む。
【0011】印字素子が移動しなければならない距離を
最小限にするために、行頭位置および行末位置を決定す
るステップには、先頭および末尾のスペース部分を削除
するステップを含むことが望ましい。文字を形成するド
ットを印刷することによって印字を行うプリンタに本発
明を適用する場合、プリントバッファに格納されている
印字データの一番左のドットすなわち印字終了桁ドット
と、プリントバッファに格納されている印字データの一
番右のドットすなわち印字開始桁ドットと、プリントバ
ッファに格納されている印字データにおけるドット総数
とを決定するステップを含む。印字終了桁ドット、印字
開始桁ドットおよびドット総数は、プリントバッファに
格納されている印字データおよび使用するピッチに基づ
いて決定される。
【0012】
【作用】本発明の実施例において、プリントバッファに
格納されている印字データをブラケットするプリンタの
同期点を決定するために参照用テーブルをアクセスする
ステップは、使用するピッチに対応するテーブルエント
リと印字開始桁ドットとを比較するステップを含む。最
も値が大きいテーブルエントリから最も値が小さいテー
ブルエントリへと比較を進めてゆき、印字開始桁ドット
と同じか印字開始桁ドットよりも小さい値のテーブルエ
ントリを探し出す。そして、このときのテーブルエント
リを一番右の同期点とみなす。したがって、印字開始桁
ドットは一番右の同期点のテーブルエントリと等しくな
るようにセットされる。同様に、印字終了桁ドットも使
用するピッチに対応するテーブルエントリと比較され
る。この場合は最も値が小さいテーブルエントリから最
も値が大きいテーブルエントリへと比較を進めてゆき、
印字終了桁ドットに1を加えた値と同じか最終ドットよ
りも値が大きいテーブルエントリを探し出す。そして、
このときのテーブルエントリを一番左の同期点とみな
す。したがって、印字終了桁ドットは一番左の同期点の
テーブルエントリと等しくなるようにセットされる。
【0013】本発明の使用するプリントキャリッジ制御
ステップモータとの足並みを揃えるために、参照用テー
ブルにはプリントステップモータに対応するステップに
ついても規定しておく。したがって上記の方法に加え、
一番右の同期点に対応するモータステップと等しいモー
タ始動値すなわちモータ始動位置を決定するために参照
用テーブルをアクセスするステップを含む。同様に、一
番左の同期点に対応するモータステップと等しいモータ
停止値すなわちモータ停止位置を決定するために参照用
テーブルをアクセスする。プリントバッファに格納され
ている文字列のドット総数は、印字終了桁ドットから印
字開始桁ドットを減算することによって求められる。プ
リントバッファに格納されている文字列のモータ総数
は、モータ停止位置からモータ始動位置を減算すること
によって求められる。
【0014】印字素子が現在位置しているところに最も
近いプリンタ同期点を決定するステップには、キャリッ
ジ位置すなわちドット点をモータ停止位置およびモータ
始動位置と比較するステップを含む。本発明による制御
動作を容易にするために、ドット点をモータ停止位置お
よびモータ始動位置と比較するステップは、印字素子の
加速や減速に必要な多くのステップを補うステップを含
む。
【0015】
【実施例】本発明はプリンタの制御に適しており、特に
印字場所が複数備えられたリテイルプリンタに適してい
る。したがって、このような印字場所が複数備えられた
リテイルプリンタについて以下に述べる。
【0016】図1に示すリテイルプリンタ100には、
印字を行う場所は3つある。仕訳用の場所は仕訳用紙1
02に応じてが限定される。この仕訳用紙は、印字素子
106を備えたプリントキャリッジ104が紙面上を通
過するごとに紙送りされる。領収書用の場所は領収書用
紙108に応じて限定される。この領収書用紙も仕訳用
紙と同じように、プリントキャリッジ104が紙面上を
通過するごとに紙送りされる。さらに、確認用の印字場
所は、本実施例では仕訳用の場所102および領収書用
の場所108の上に横たわる形で備えられている。この
確認用の印字場所はリテイルプリンタを操作するオペレ
ータによって書き込まれた確認用のフォーム110に応
じて限定される。この確認用フォームもプリントキャリ
ッジ104が紙面上を通過するごとに紙送りされる。
【0017】プリンタ100によって各文字列を印字す
る際、プリントキャリッジ104は左から右または右か
ら左へ移動する。ここでは左から右への移動を前進、右
から左への移動を後退とする。本実施例におけるプリン
トキャリッジ104は、プリントキャリッジステップモ
ータ114によって駆動されるドライブベルト112に
よって保持されている。プリントキャリッジステップモ
ータ114は、プリンタコントローラ116から供給さ
れるステップ信号に応答してドライブベルト112を駆
動する。このプリンタコントローラ116は、印字素子
106の動作も制御する。印字素子106は、複数のワ
イヤ、インクジェット、加熱素子または他の印字機構で
構成することができる。従来から様々なリテイルプリン
タが知られている。本発明に用いられているプリンタの
構成は発明を理解する上で重要ではないので、構成につ
いての細かい説明は省略する。構成についての詳細な説
明は、印刷場所を3つ備えたリテイルプリンタに関する
米国特許第4,989,487号に記載されている。
【0018】プリンタ100は、3種類の文字ピッチの
中からいずれか1つまたは複数を選択して文字を印字す
ることができる。仕訳用紙102および領収書用紙10
8に印字を行う場合、文字ピッチは印字可能領域に関し
て2.016インチ(約5.1cm)ごとに決める。す
なわち、ピッチ0、ピッチ1、ピッチ2の3種類では、
印字可能領域2.016インチ(約5.1cm)につき
それぞれ24文字、28文字、32文字となる。
【0019】図1において示すように、印字可能領域
は、仕訳用、領収書用、確認用のそれぞれについて、3
種類の印字ピッチ各々についての印字ドット数によって
決められる。図1に示す印字ドット数は、各文字ピッチ
での印字ドット数に対応しており、この印字ドット数に
よって各印字場所での印字開始位置および印字終了位置
が決まる。例えば領収書用紙108に印字を行う場合、
ピッチ1で前進方向に印字する時は299ドット目から
20ドット目までとなる。
【0020】本発明によるプリンタ制御を実行するため
に、基本ピッチとして述べる各文字ピッチのドットすべ
てがモータステップに直接対応するようにしておくこと
が好ましい。モータステップは、図1において24から
696までの間の各数値によって示されている。本発明
による実施例では、中間ピッチすなわちピッチ1を基本
ピッチとして選択する。すなわち、ピッチ1の印字ドッ
トがモータステップと一致するのである。本実施例にお
いて選択したモータでは、24モータステップ分のオフ
セットがあるため、ドット数は常にモータステップ数と
同一になるわけではない。この24モータステップ分
は、プリントキャリッジ104の印字速度を増したり、
印字動作終了後にプリントキャリッジ104の印字速度
を落とすために必要なステップ数に相当する。
【0021】プリントキャリッジを加速するために必要
なモータステップの数は、減速するために必要なモータ
ステップ数と一致させる必要はない。加速または減速に
必要なモータステップの数は、使用するプリンタを動作
させるために選択したステップモータに応じて決められ
る。本実施例に用いられている型のプリンタ用に選択し
たモータは、カリフォルニア州シャトスウォースの企業
NMBテクノロジー(NMB Technologie
s Inc. of Chatsworth,Cali
fornia)から販売されている商業用3.6度ハイ
ブリッドステップモータである。
【0022】さらに、プリンタに用いる基本ピッチ以外
のピッチは、基本ピッチの分数倍に対応していることが
好ましい。本実施例では、基本ピッチは上述のようにピ
ッチ1であり、ピッチ0およびピッチ2はそれぞれ基本
ピッチの6/7および8/7となっている。各文字ピッ
チごとに決められたドットは、使用するモータステップ
と対応しているかまたはモータステップと同一になる。
したがって、ドット数に対応しているモータステップ数
を用いてステップモータ114を動作させることで、プ
リントキャリッジ104は物理的には各文字ピッチごと
に決められたドットに対応する場所に位置することにな
る。ピッチ1のステップ数がモータステップと直接対応
しているため、ピッチ1のすべてのドット数もモータス
テップ数に対応する。一方、残りのピッチについては、
図2に示す参照用テーブルからもわかるようにモータス
テップ数とドット数とが直接対応しているものはわずか
しかない。
【0023】同じ周波数でドット印刷を行いながら異な
った周波数でステップモータ114を動作させることに
よって、プリンタ100に異なった文字ピッチを使用す
ることができる。本実施例では、印字素子106は10
50Hzの周波数で動作し、プリントキャリッジステッ
プモータ114は以下の周波数で動作する。すなわち、
ピッチ0の場合は1,237Hz、ピッチ1では1,0
50Hz、さらにピッチ2では924Hzで動作する。
プリントキャリッジ104の移動速度が遅くなればなる
ほど各文字同士は近接し、印刷時の文字間も狭くなる。
一方、プリントキャリッジ104の移動速度が速くなる
と、各文字同士の文字間は広くなる。このように、本発
明におけるピッチ変換は、水平ピッチ変換となってい
る。
【0024】2種類以上の文字ピッチで印字を行うこと
ができるようにすることに加えて、プリンタ100のス
ループットを高めるためにロジカルシーキングを実行す
ることが望ましい。上述したように、使用する文字ピッ
チ配列に基づいてプリンタ100でロジカルシーキング
を実行するための1つの方法として、プリンタコントロ
ーラ116を備えることが挙げられる。このプリンタコ
ントローラ116は、プリントキャリッジ104の位置
決めやプリントキャリッジステップモータ114のステ
ップ動作を行うために、様々なピッチにおける印字ドッ
トに関して必要な計算を実行するためのものである。こ
の計算が行われると、プリンタのスループットを高める
ためにロジカルシーキングが実行される。
【0025】しかしながら、必要な計算をプリンタコン
トローラ116で行うとかなりの時間が費やされること
になる。すなわち、全体としてみれば実質的にロジカル
シーキング動作によってプリンタの性能を高めたことが
無駄になるのである。仮にもっと良いプロセッサをプリ
ンタコントローラ116に用いたとしても、プリンタ1
00が高価なものとなってしまう。さらに、このように
プリンタの性能を向上させても他の印字動作には無関係
であるため、プリンタ100にとっては何の利点にもな
らない。
【0026】本発明によれば、複数のキャリッジピッチ
は互いに関連している。さらに、参照用テーブルを使用
しているため、プリントキャリッジ104の位置にも関
連している。文字ピッチ、プリントキャリッジ、および
モータステップとの間の上述したような関係に基づいて
参照用テーブルを作成することにより、プリンタコント
ローラ116にもっと良いプロセッサを使用する必要が
なくなる。以下に述べる3種類の文字ピッチ配列に適用
される参照用テーブルを図2に示す。ここでは3種類の
ピッチ配列を図示し、これについて述べるが、本発明よ
れば文字ピッチ数は何種類あってもかまわない。
【0027】以下、図面を参照して印字場所を複数備え
たプリンタ100の動作について述べる。図1におい
て、プリンタ100の外部にある端末118は制御デー
タを送出する。この制御データには、プリンタ100に
よって印字すべき文字列と、文字ピッチを変更する場合
は選択した文字ピッチと、印字を行う場所を変更する場
合は選択した印字場所とを示す印字データを含んでい
る。プリンタ100がピッチ信号も印字場所信号も受信
しない場合は、プリンタ100は直前に選択されたピッ
チおよび/または直前に選択された印字場所に変更がな
いものと判断し、これらについて新たにデータを格納す
ることはない。必要があれば、端末118をプリンタ1
00の一部として形成してもよい。いずれの場合にも端
末118は、ASCII文字の形で印字データをプリン
タコントローラ116に伝送する。このASCII文字
は、プリンタコントローラ116によってプリントバッ
ファ120に格納される。プリントバッファ120はプ
リンタコントローラ116が利用できるメモリの一部で
あることが望ましい。図3におけるブロック200を参
照のこと。
【0028】各印字場所(仕訳、領収書、確認)におい
て最初に印字する文字のドット数はピッチ変数の一部と
して格納されている。ピッチ変数については、本発明に
よるプリンタ制御を実行するプログラムリストとともに
後述する。印字場所において最初に印字する文字のドッ
ト数に応じて、プリンタコントローラ116はプリント
バッファ120の中の正しい領域に印字データを格納す
る。このプリントバッファ120は、ASCII印字デ
ータをドットデータに直接変換するために使用されるも
のである。印字データがプリンタコントローラ116に
伝送されると、印字コマンド信号が送出される。図3の
ブロック202を参照のこと。プリンタコントローラ1
16が印字コマンド信号を受信した場合のみ、ドットに
関連した計算が実行される。
【0029】ELIM OR PADと呼ばれる機能を
用いて、印字コマンドが受信された後に続くロジカルシ
ーキングのための処理シーケンスが開始される。ELI
OR PAD機能を使用するのは、印字データから先
頭および末尾のスペースを削除することによって印字行
をできるだけ短くするためである。図3のブロック20
4Aおよび204Bを参照のこと。例えば、印字データ
によって示される文字列が、印字場所の一番左桁の位置
より内側にある場合、ASCII文字は表1のようにな
る。
【0030】
【表1】
【0031】この場合、ELIM OR PAD機能を
使用しないと、プリントヘッドすなわちプリントキャリ
ッジ104は、最初の4文字分がスペースであるとして
も9文字印字するために必要な距離を移動しなければな
らない。ELIM OR PAD機能のもとでは、プリ
ントバッファ120中のASCIIデータの左側(始
め)から移動を開始する。さらに、最初の文字がスペー
スであるか否かを判断するためにデータを参照する。も
しスペースではない場合、この機能は同様の手順でAS
CIIデータの右側(終り)をチェックする。
【0032】反対に、最初の文字がスペースである場
合、ELIM OR PAD機能は行頭の変数をインクリ
メントして文字総数の変数をディクリメントすることに
よって、スペースをスキップする。そして次の文字をチ
ェックする。このようにしてスペース以外の文字にあた
るまで同じ動作を繰り返す。ELIM OR PAD機
能を使用すると、上述の印字行は以下に示す表2のよう
になる。
【0033】
【表2】
【0034】スペース文字は実際にはプリントバッファ
120から削除されているわけではない。しかしなが
ら、プリントバッファ120に格納されている印字デー
タを示す変数は修正されている。このようにすれば、プ
リントヘッドすなわちプリントキャリッジ104は5文
字印字するために必要な距離しか移動しなくてよい。換
言すれば、プリントヘッドすなわちプリントキャリッジ
104の移動時間をほぼ50%減少させることができ、
これに伴って速度は増すことになる。
【0035】ELIM OR PAD機能が実行された
後、VERT TO DOT機能が実行される。VERT
TO DOT機能を実行するためには、ピッチ変数の
他にプリントバッファ120中のASCIIデータで示
される行頭、行末および文字総数の各変数が必要であ
る。ピッチ変数は、印字データによって示される印字す
べき文字列の最初の桁と最後の桁のドットを計算するた
めのものである。図3のブロック206参照のこと。
【0036】VERT TO DOT機能は以下の数式
1に示すような計算を実行する。
【0037】ドット総数=10×文字数
【0038】ここでドット総数とは、1文字につき10
ドット必要であるとして印刷されるドットの数を示すも
のである。また、以下の数式2に示すような計算が行わ
れる。
【0039】 印字終了桁ドット=印字終了桁ドット−(10×行頭)
【0040】ここで印字終了桁ドットとは印字行の一番
左側のドットであり、先頭ドットとは、印字データによ
って示される文字列の一番左のドットが、選択した印字
場所に選択した文字ピッチで印刷されるドット位置を識
別するピッチ変数である。プリントバッファ120中の
ASCIIデータの配置も、ファイル位置hにおける先
頭ドットに関連したピッチ変数に基づいて行われる(プ
ログラムリスト参照)ので、印字行の一番左のドットす
なわち印字終了桁ドットは、1文字につき10ドットを
行頭に乗算し、さらにそれを先頭ドットから差し引くこ
とによって計算される。さらに、以下の数式3に示すよ
うな計算を行う。
【0041】 印字開始桁ドット=印字終了桁ドット+1−ドット総数
【0042】ここで印字開始桁ドットとは、印字データ
によって示される文字列に印刷される一番右のドットで
ある。VERT TO DOT機能を実行した後、3つ
の変数すなわち印字開始桁ドット、印字終了桁ドットお
よびドット総数が計算される。そしてプリントバッファ
120中に格納されている印字データによって示される
文字列に印刷されるドットの外側の境界部分を示す。
【0043】次に実行される機能はSYNCH DOT
Sと呼ばれている。SYNCH DOTS機能によっ
て、プリントキャリッジ104の動作と図2に示す参照
用テーブルを用いて印刷されるドットとを関連させるた
めには、3つの変数すなわち印字終了桁ドット、印字開
始桁ドットおよびドット総数が必要である。計算にかな
りの時間を費すことなしに複数の文字ピッチに応じて効
率的なロジカルシーキングを行うためには、SYNCH
DOTS機能は本発明に絶対不可欠な機能である。S
YNCH DOTS機能の最初のタスクは、印字開始桁
ドットの変数に基づいたmtr start変数を参照
することである。印字開始桁ドットが印刷すべき一番右
のドットであるとしても、mtr startはプリン
トヘッドすなわちプリントキャリッジ104の一番右の
位置となる。プリントキャリッジ104は、この位置ま
では適切な印字速度で移動する。印字方向に従って、プ
リントキャリッジ104はこの位置に達するまでに十分
加速されていなければならない。一方、逆方向に印字が
行われている場合は、プリントキャリッジ104がこの
位置を通過するとプリントキャリッジ104の速度は減
少する。
【0044】mtr startの値を決定するため
に、SYNCH DOT機能によって図2に示す参照用
テーブルの一部分すなわち現在選択されているピッチに
対応する部分のサーチを開始する。最も効果的なプリン
タ同期点を見付けるために、サーチはテーブルの一番最
後すなわちドット数が一番大きいところから始める。テ
ーブルのサーチは降順すなわち一番大きいテーブルエン
トリから一番小さいテーブルエントリへの順で進められ
る。そして印字開始桁ドットの値より小さいかこの値に
等しい値のテーブルエントリを見付ける。このテーブル
エントリは、印字データによって示される文字列の一番
右側についての適切な同期点と対応している。印字開始
桁ドットの値は、この同期点についてのテーブルの値と
等しい値にセットされる。ドットバッファにロードされ
ている唯一のデータが印字すべき実際のデータであり、
他のロケーションはすべて空白であるため、このように
印字開始桁ドットの値を調節することが可能なのであ
る。したがって、同期点で印字すべき文字列をラインア
ップするためにスペースは実際には印刷可能なのであ
る。
【0045】SYNCH DOT機能により、次にmt
start値を決定する。この値は、参照用テーブ
ルの中のすでに決定されている同期点を用いて決められ
る。SYNCH DOT機能によって、図2に示す参照
用テーブルのモータステップ部分をアクセスする。さら
に、同期点によって示されたモータステップ数の値を修
正する。このようにして、印字すべき文字列に最も効果
的なmtr start値を決定する。
【0046】印字終了桁ドット変数の値に基づく適切な
mtr end値を見付けるために、同じようにしてテ
ーブルを参照する。印字終了桁ドットは印刷すべき一番
左のドットであるが、mtr endはプリントヘッド
すなわちプリントキャリッジ104の一番左の部分とな
る。この部分では、プリントキャリッジ104は適切な
印字速度で移動する。印字方向に従って、プリントキャ
リッジ104はこの位置に達する前に加速されていなけ
ればならない。一方、逆方向に印字が行われている場合
は、プリントキャリッジ104がこの位置を通過すると
プリントキャリッジ104の速度は減少する。
【0047】この場合、最初すなわち選択されたピッチ
に対する一番小さいドット数の値からテーブル全体に渡
るサーチが行われる。印字終了桁ドットに1を加えた値
と等しいかこの値より大きい値のテーブルエントリが見
付かるまでサーチは続けられる。適切なテーブルエント
リを見付けると、印字終了桁ドットはこのテーブルエン
トリと等しくなるようにセットされる。さらにmtr
endに対応する値も参照される。図3のブロック20
8を参照のこと。
【0048】SYD TS 10およびSYD TS
20と呼ばれるプログラムエントリによって、プリンタ
に関する本実施例の機械的な特性が明らかになる。これ
らの機械的特性は本発明には重要ではないので、ここで
は説明を省略する。プリンタコントローラ116には、
印字開始桁ドット、印字終了桁ドット、mtr sta
rtおよびmtr endの値が示されている。これら
の値は、プリントバッファ120に格納されている印字
データによって示される文字列を印字するために使用さ
れる。SYNCH DOTS機能によって、以下に示す
数式4および数式5のようにドット総数およびmtr
countを計算する。
【0049】 ドット総数=印字終了桁ドット−印字開始桁ドット
【0050】mtr count=mtr end−m
tr start
【0051】さらにSYNCH DOTS機能によって
選択した印字場所に給紙を行う。次にBUILD DO
BUFFERと呼ばれる機能によって、プリントバ
ッファ120に格納されているASCIIデータを印字
用のドットデータに変換する。BUILD DOT
UFFER機能にはドット式(ドットマトリックス、イ
ンクジェットなど)のプリンタ動作についての周知の手
順を何でも含ませることができるうえ、本発明には関係
ないので、この機能については説明を省略する。BUI
LD DOT BUFFER機能では、ASCIIデー
タを印字すべきドットイメージに変換するとだけ述べて
おく。
【0052】給紙が行われていると、LOGIC SE
EK機能が始まる。LOGIC SEEK機能では、m
tr start、mtr endおよび変数であるド
ット点のそれぞれの値を使用する。印字データによって
示される文字列を印字するのに最適な方向を計算するた
めに、ドット点の値はプリントキャリッジ104の現在
位置に応じて変化する。この機能はさらに、プリントキ
ャリッジ104を適切な印字開始位置に移動させる。L
OGIC SEEK機能が実行される時までに給紙は完
了しており、BUILD DOT BUFFER機能も
終了している。BUILD DOT BUFFER機能
と並行し、さらにLOGIC SEEK機能の実行と並
行させて給紙を行うことにより、プリンタのスループッ
トについてのより多くの利得が得られる。プリントキャ
リッジ104は瞬時に動き始めたり停止したりできるわ
けではなく、適切な定常印字速度に達するまで加速し、
印字が行われてLOGIC SEEK機能が始まると減
速する。プリンタについての本実施例に使用されている
モータの場合、プリントキャリッジ104の加速および
減速には、ともにプリントキャリッジステップモータ1
14のステップが24ステップ必要である。したがっ
て、LOGIC SEEK機能には定数24が頻繁に現
れる。もちろん、加速時間および減速時間すなわち加速
ステップおよび減速ステップはモータによって異なる。
【0053】LOGIC SEEK機能の動作について
の以下に説明するために、このLOGIC SEEK機
能に適用可能なプリンタを示した図1をもう一度参照す
る。プリントキャリッジステップモータ114またはプ
リントキャリッジ104の最大ステップ数は、プリンタ
100の物理的寸法に応じて決定される。前進または後
退のどちらの方向にするかということや、モータステッ
プの数については全く任意に定めることができる。しか
し、一度決めてしまうと途中で変えたりせずにそのまま
使用しなければならない。図示の印字場所を複数備えた
リテイルプリンタ100において、プリントキャリッジ
104が左から右へ動く場合、これを前進方向に動いて
いると呼ぶことにする。このとき、モータステップ数す
なわちプリントキャリッジ104の位置を示す数は減少
する。同様に、プリントキャリッジ104が右から左へ
動く場合、これを後退方向に動いていると呼ぶことにす
る。このとき、モータステップ数すなわちプリントキャ
リッジ104の位置を示す数は増加する。このような約
束事はLOGIC SEEK機能に含まれている。
【0054】このように、LOGIC SEEK機能に
はプリンタ100のレイアウトを示す情報が含まれてい
る。この情報は、例えば前進プリントキャリッジ方向、
後退プリントキャリッジ方向、モータステップ数などで
ある。また、LOGIC SEEK機能はさらにプリン
タ100の性能特性を示す情報も含んでいる。この情報
は、例えばプリントキャリッジステップモータ114の
加速ステップ数および減速ステップ数などである。どち
らの方向で印字を行うかということや、プリントキャリ
ッジ104の初期位置を決定するために、プリンタのレ
イアウトおよび性能についての情報は、mtr sta
rt点およびmtr end点のような印字すべき特定
の文字列の各々についての情報とともに使用される。
【0055】LOGIC SEEK機能において、最も
効果的な移動方向に基づく印字方向を選択する。最後
に、どのようにして文字列を印字するか決定するため
に、この機能ではシーケンスにおけるいくつかのケース
をテストする。各ケースについて、mtr star
t、mtr endおよびドット点のそれぞれの値を例
として実際にあてはめ、その結果として決定された印刷
内容も各ケースごとに得る。以下に示すLOGIC
EEK機能を実行する際に使用されるケースは完全なも
のであり、印字速度に関して最もよいケースから最も悪
いケースまでチェックする。図3におけるブロック21
0を参照のこと。
【0056】 ケース1:ドット点+24mtr start
【0057】実例1では、後退方向に動けばmtr
tart位置に達する前にプリントキャリッジ104を
加速するために最低限必要な余地は十分にある。したが
って、プリントキャリッジ104は文字列を印字するた
めに後退方向に加速することができる。
【0058】
【表3】
【0059】 ケース2:ドット点−24mtr end
【0060】実例2では、前進方向に動けばmtr
nd位置に達する前にプリントキャリッジ104を加速
するために最低限必要な余地は十分にある。しがたっ
て、プリントキャリッジ104は文字列を印字するため
に前進方向に加速することができる。
【0061】
【表4】
【0062】 ケース3:ドット点+24mtr end
【0063】実例3ではプリントキャリッジ104はm
tr endから24ステップ以内の近いところにある
が、プリントキャリッジ104を加速して文字列を印字
するためにはmtr endの不適切な側(右側)にな
っている。実例3では、プリントキャリッジ104は後
退方向に加速および減速するので、この両方の動作を行
うために48ステップ必要である。すなわち、プリント
キャリッジ104はmtr endよりも少なくとも2
4ステップ分左側になければならない。この位置にすれ
ば、文字列を印字するためにプリントキャリッジ104
を前進方向に加速することができる。
【0064】
【表5】
【0065】 ケース4:ドット点−24mtr start
【0066】実例4は実例3と類似のものである。しか
しながら、プリントキャリッジ104はmtr sta
rtから24ステップ以内の近いところにあるが、プリ
ントキャリッジ104を加速して文字列を印字するため
にはmtr endの不適切な側(左側)になっている。
実例4では、プリントキャリッジ104は前進方向に加
速および減速するので、この両方の動作を行うために4
8ステップ必要である。すなわち、プリントキャリッジ
104はmtr endよりも少なくとも24ステップ
分右側になければならない。この位置にすれば、文字列
を印字するためにプリントキャリッジ104を後退方向
に加速することができる。
【0067】
【表6】
【0068】ケース5:(mrt end−ドット点)
<(ドット点−mrt start)
【0069】実例5では、プリントキャリッジ104は
mtr startよりもmtr endに近い位置にあ
るが、上述した実例1から実例4までの範疇には入って
いない。実例5では、プリントキャリッジ104はmt
end+24となるような位置まで後退方向に加速
および減速する。この位置になれば、プリントキャリッ
ジ104は前進方向に加速して文字列の印字を行うこと
ができる。
【0070】
【表7】
【0071】ケース6:上記以外のケース ケース1か
ら5に当てはまらないもの
【0072】実例6は実例5と類似の例をとりあげてい
るが、移動方向が逆である。プリントキャリッジ104
はmtr start−24となるような位置まで前進
方向に加速および減速する。この位置になれば、プリン
トキャリッジ104は後退方向に加速して文字列の印字
を行うことができる。
【0073】
【表8】
【0074】このようにして、LOGIC SEEK機
能によって、方向ビットで示される方向で文字列を印字
するためのプリントキャリッジ104の位置決めを行
う。方向ビットは前進方向を示すときにはセットされ、
後退方向を示すときにはセットされない。2バイトの変
数tmp1:tmp2にも、定常状態速度でmtr
tart位置またはmtr end位置に達するために
必要なステップの数が示されている。加速後は、mtr
startまたはmtr endのどちらが印字開始
位置になってもよい。例えば、以下に示す表9のような
変数でLOGIC SEEKが完了した場合、プリントキ
ャリッジ104は後退方向に加速する。その後、キャリ
ッジの位置は44(20+24加速ステップ)となる。
【0075】
【表9】
【0076】次に、プリントキャリッジは位置48まで
4(tmp1:tmp2)モータステップ移動する。こ
こが印字開始位置となる。プリンタコントローラ116
はメインプリントループに入り、プリントキャリッジ1
04を移動させる。さらに印字素子を始動させて、プリ
ントキャリッジ104の動作とともにドットを印刷す
る。モータステップが進むにつれて、mtr coun
t変数の値は小さくなってゆく。ドットの桁が印刷され
ると、ドット数変数の値は小さくなってゆく。ドット数
が0になると、他に印刷するドットはない。mtr
ountが0になると、キャリッジは減速しはじめる。
ドット印刷およびモータステップ動作は各々独立して行
われるが、文字列が印字されるときには並行して行われ
ていることになる。この2つは、行の最初でのみ同時に
行われる。これらが独立しているため、どちらの動作が
先に終了しても構わない。両方の動作が終了すると、印
字すべき次の文字列についての制御データを受信するた
めに、プリンタ100は再び端子118との通信を行
う。
【0077】ピッチ変数には、特定のピッチを示すいく
つかの定数が含まれている。これらの定数は、図2の参
照用テーブルおよびファイル位置hに示されている。以
下の表10に示すプログラムおよびファイルリストを参
照のこと。この定数は、異なるピッチに必要なパラメー
タをすべて示している。
【0078】
【表10】
【0079】
【発明の効果】以上説明したように、本発明にプリンタ
制御方法によれば、複数の文字ピッチをソフトウェアで
選択することができる。また、選択可能なピッチの特性
を反映した参照用テーブルをアクセスすることによっ
て、各ピッチでの印字を効果的なロジカルシーキングで
行うことができる。このように、本発明によるプリンタ
制御は、プリンタを機械的に調整することなくプリンタ
稼働中に文字ピッチを選択して使用することができる。
さらに、通常は1つの文字ピッチにのみ関連しているロ
ジカルシーキングのスループットをすべての文字ピッチ
について高めることができる。
【図面の簡単な説明】
【図1】本発明によって動作可能なリテイルプリンタ/
制御端子を示すブロック図である。
【図2】本発明による印字場所が3つ備えられたリテイ
ルプリンタにおいて、図示の3種類のピッチを使用する
ための参照用テーブルである。
【図3】本発明の動作を説明するためのフローチャート
である。
【符号の説明】
104 プリントキャリッジ 106 プリントヘッド 114 プリントキャリッジステップモータ 116 プリンタコントローラ 118 端子 120 プリントバッファ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 G06F 3/12 J 8323−5B G06K 15/00 2116−5L (72)発明者 キヤスリーン マギニテイー アメリカ合衆国 14886−0421 ニユーヨ ーク、トウルーマンズバーグ、ウエスト メイン ストリート 9−11、ピーオー ボツクス 421 (72)発明者 リチヤード チヤールズ スポネイブル アメリカ合衆国 14867 ニユーヨーク、 ニユーフイールド、ミラード ヒル ロー ド 280

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 印字すべき文字列を示す印字データに応
    答して2種類以上の文字ピッチで印字を行うようにプリ
    ンタを制御する方法において、 前記印字データの関数として前記印字データについての
    行頭位置および行末位置と、前記文字列の印字に使用す
    る印字ピッチとを決定するステップと;前記印字データ
    をブラケットするプリンタ同期点を決定するために参照
    用テーブルをアクセスするステップと;前記プリンタの
    印字素子の現在位置に最も近いプリンタ同期点を決定す
    るステップと;前記プリンタが前記印字データによって
    示される前記文字列の印字を行うことができるようにす
    るために、前記最も近いプリンタ同期点に前記印字素子
    を移動させるステップと;を含むことを特徴とする複数
    ピッチ印字用のロジカルシーキングを実行するためのテ
    ーブル駆動プリンタ制御方法。
JP4020775A 1991-01-14 1992-01-10 複数ピツチ印字用のロジカルシーキングを実行するためのテーブル駆動プリンタ制御方法 Pending JPH0596788A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US640787 1987-01-23
US64078791A 1991-01-14 1991-01-14

Publications (1)

Publication Number Publication Date
JPH0596788A true JPH0596788A (ja) 1993-04-20

Family

ID=24569703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4020775A Pending JPH0596788A (ja) 1991-01-14 1992-01-10 複数ピツチ印字用のロジカルシーキングを実行するためのテーブル駆動プリンタ制御方法

Country Status (3)

Country Link
EP (1) EP0495606B1 (ja)
JP (1) JPH0596788A (ja)
DE (1) DE69218804T2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6404452B1 (en) 2000-08-03 2002-06-11 Axiohm Transaction Solutions, Inc. Auxiliary control device for managing printing in a thermal printer

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4789949A (en) * 1986-10-14 1988-12-06 International Business Machines Corporation Printer throughput
US4761085A (en) * 1987-04-01 1988-08-02 International Business Machines Corporation Printer with enhanced bidirectional logic seeking for increased through-put

Also Published As

Publication number Publication date
EP0495606B1 (en) 1997-04-09
DE69218804D1 (de) 1997-05-22
EP0495606A3 (en) 1993-05-05
EP0495606A2 (en) 1992-07-22
DE69218804T2 (de) 1997-11-20

Similar Documents

Publication Publication Date Title
JPH08324004A (ja) 二軸プリンタ
US4469460A (en) Matrix printer with optimum printing velocity
JPS6356866B2 (ja)
JPH0948154A (ja) シリアル式印字装置
JPH0596788A (ja) 複数ピツチ印字用のロジカルシーキングを実行するためのテーブル駆動プリンタ制御方法
JPH0356549B2 (ja)
JPH0359835B2 (ja)
JPS5941276A (ja) ドツトマトリツクス型シリアルプリンタ
JP3245270B2 (ja) 文字処理装置及び方法
US4772145A (en) Document preparing apparatus which automatically capitalizes characters at the head of a sentence
CN100460219C (zh) 提高打印机打印速度的方法与装置
US6631968B2 (en) Method and device for speeding up a printing process
JPS6258317B2 (ja)
JP2001138590A (ja) シリアルプリンタ、印刷システム及びシリアルプリンタにおけるキャリッジの駆動方法
JPH0531998A (ja) ジヤーナル印字制御方法
JPH10109452A (ja) シリアルプリンタ
JPS59156779A (ja) シリアルプリンタ
JP2875200B2 (ja) プリンタの印字機構部の制御方法
JP2815250B2 (ja) マルチヘッド型ラインプリンタにおけるキャリア制御方法
JP2716238B2 (ja) ドットマトリクスシリアルプリンタ
JPH01101174A (ja) ドットマトリクスプリンタ
JP2866004B2 (ja) シリアルプリンタ
JPH01115645A (ja) シリアルプリンタの印字制御装置
JPH01178455A (ja) ドットプリンタ
JPH079700A (ja) シリアルプリンタ