JPH09216433A - 印刷装置 - Google Patents
印刷装置Info
- Publication number
- JPH09216433A JPH09216433A JP5236496A JP5236496A JPH09216433A JP H09216433 A JPH09216433 A JP H09216433A JP 5236496 A JP5236496 A JP 5236496A JP 5236496 A JP5236496 A JP 5236496A JP H09216433 A JPH09216433 A JP H09216433A
- Authority
- JP
- Japan
- Prior art keywords
- printing
- line
- row
- seconds
- 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
Links
Landscapes
- Record Information Processing For Printing (AREA)
- Character Spaces And Line Spaces In Printers (AREA)
- Ink Jet (AREA)
- Dot-Matrix Printers And Others (AREA)
Abstract
(57)【要約】
【課題】 印刷する行が3行以上ある場合に最短時間で
印刷を行うことができるプリンタを提供する。 【解決手段】 受信された印刷データの印刷領域を計算
して(ステップ130)、印刷方向テーブルに記憶する
(ステップ140)。印刷方向テーブルが一杯になると
(ステップ150)、着目行nを1に設定するとともに
キャリッジの現在値をCRに設定する(ステップ16
0)。そして印刷方向テーブルに記憶された各行の印刷
領域に基づいて先頭行から最終行までの各行の相互間に
おける総ての印刷パターンの組み合わせの中から最短の
印刷処理時間のものを選択し、最短時間となる各行の印
刷方向および印刷終了位置データを印刷方向テーブルに
書き込む(ステップ170〜210)。そして、印刷方
向テーブルに書き込まれたデータに基づいて印刷を行う
(ステップ220)。
印刷を行うことができるプリンタを提供する。 【解決手段】 受信された印刷データの印刷領域を計算
して(ステップ130)、印刷方向テーブルに記憶する
(ステップ140)。印刷方向テーブルが一杯になると
(ステップ150)、着目行nを1に設定するとともに
キャリッジの現在値をCRに設定する(ステップ16
0)。そして印刷方向テーブルに記憶された各行の印刷
領域に基づいて先頭行から最終行までの各行の相互間に
おける総ての印刷パターンの組み合わせの中から最短の
印刷処理時間のものを選択し、最短時間となる各行の印
刷方向および印刷終了位置データを印刷方向テーブルに
書き込む(ステップ170〜210)。そして、印刷方
向テーブルに書き込まれたデータに基づいて印刷を行う
(ステップ220)。
Description
【0001】
【発明の属する技術分野】本発明は、印刷ヘッドを被印
刷媒体に沿って双方向に走査させることにより、上記被
印刷媒体上に行単位の印刷を行う印刷装置であって、最
短時間の印刷パターンで印刷できるものに関する。
刷媒体に沿って双方向に走査させることにより、上記被
印刷媒体上に行単位の印刷を行う印刷装置であって、最
短時間の印刷パターンで印刷できるものに関する。
【0002】
【従来の技術】従来、印刷時間を短縮することを目的と
して考えられた印刷装置としては、図11に示す印刷パ
ターンで印刷を行うものが知られている。なお、同図に
おいて、0ないし8の目盛の印された横軸は時間軸を示
す。同図(a)に示す印刷パターンで印刷を行うもの
は、現在印刷を行っている行をL2とし、次行をL3と
すると、行L2の印刷を行っているときの移動方向(右
方)の延長線上にある次行L3の一方の端部(P2)の
位置と、行L2の印刷終了位置(P1)との間の隔たり
を行L2の印刷が終了する前に算出し、その算出結果が
所定の範囲内である場合に、印刷ヘッドを行L2の印刷
終了位置(P1)から次行L3の右端P2へ移動させて
(図中に点線の矢印で示す)、その右端から次行L3の
印刷を行う(特公昭63−56866号公報)。
して考えられた印刷装置としては、図11に示す印刷パ
ターンで印刷を行うものが知られている。なお、同図に
おいて、0ないし8の目盛の印された横軸は時間軸を示
す。同図(a)に示す印刷パターンで印刷を行うもの
は、現在印刷を行っている行をL2とし、次行をL3と
すると、行L2の印刷を行っているときの移動方向(右
方)の延長線上にある次行L3の一方の端部(P2)の
位置と、行L2の印刷終了位置(P1)との間の隔たり
を行L2の印刷が終了する前に算出し、その算出結果が
所定の範囲内である場合に、印刷ヘッドを行L2の印刷
終了位置(P1)から次行L3の右端P2へ移動させて
(図中に点線の矢印で示す)、その右端から次行L3の
印刷を行う(特公昭63−56866号公報)。
【0003】また、図11(b)に示すものは、上記図
11(a)に示した印刷パターンにおいて現在印刷を行
っている行L2の印刷終了位置P1で印刷ヘッドが停止
することなく、次行L3の印刷開始位置P2へ移動する
ことを特徴とするものである(特公平4−53187号
公報)。
11(a)に示した印刷パターンにおいて現在印刷を行
っている行L2の印刷終了位置P1で印刷ヘッドが停止
することなく、次行L3の印刷開始位置P2へ移動する
ことを特徴とするものである(特公平4−53187号
公報)。
【0004】
【発明が解決しようとする課題】しかし、上記のもの
は、いずれも現在印刷を行っている行の印刷方向の延長
線上に次行の一端が存在する場合に、現在印刷を行って
いる行の印刷終了位置と、上記次行の一端との間の距離
と、印刷ヘッドが次行の他端へ移動する距離とを比較
し、近い方の移動を選択するものである。したがって、
印刷行が3行以上ある場合には、全体の印刷時間からす
ると、上記次行との比較だけで印刷パターンを決定する
手段は、必ずしも全体の印刷時間を短縮できるものとは
限らない。
は、いずれも現在印刷を行っている行の印刷方向の延長
線上に次行の一端が存在する場合に、現在印刷を行って
いる行の印刷終了位置と、上記次行の一端との間の距離
と、印刷ヘッドが次行の他端へ移動する距離とを比較
し、近い方の移動を選択するものである。したがって、
印刷行が3行以上ある場合には、全体の印刷時間からす
ると、上記次行との比較だけで印刷パターンを決定する
手段は、必ずしも全体の印刷時間を短縮できるものとは
限らない。
【0005】たとえば、図10は、後述する本発明の印
刷装置により、上記図11に示した同じ4行の印刷を行
った場合の印刷パターンを示すものであるが、本発明で
は、行L1の印刷を行うときに右端1Rに対応する位置
で印刷ヘッドを停止させることなく、そのまま次行L2
の右端2Rに対応する位置へ移動して次行L2の右端2
Rから左端2Lへ印刷を行い、さらに、そのまま行L3
の左端3Lに対応する位置まで印刷ヘッドの移動を続行
させて、行L3、L4の印刷を行っている。ここで、例
えば図に示す1目盛を1秒として印刷時間を比較する
と、図11に示すものは、いずれも24秒(3秒+5秒
+8秒+8秒)であるが、図10に示す印刷パターンで
は、22秒(6秒+6秒+8秒+2秒)であり、図10
に示す印刷パターンの方が印刷時間が短い。つまり、上
記従来のものでは、いずれも全体の印刷時間を最短にで
きない場合があるという問題がある。なお、ここでは、
理解を容易にするため、所定の印刷速度に達するまでの
スルーアップ時間と、停止するまでのスルーダウン時
間、ならびに、それらの各領域については考慮されてい
ないが、実際の印刷動作において、これらを考慮しなけ
ればならないことは勿論である。
刷装置により、上記図11に示した同じ4行の印刷を行
った場合の印刷パターンを示すものであるが、本発明で
は、行L1の印刷を行うときに右端1Rに対応する位置
で印刷ヘッドを停止させることなく、そのまま次行L2
の右端2Rに対応する位置へ移動して次行L2の右端2
Rから左端2Lへ印刷を行い、さらに、そのまま行L3
の左端3Lに対応する位置まで印刷ヘッドの移動を続行
させて、行L3、L4の印刷を行っている。ここで、例
えば図に示す1目盛を1秒として印刷時間を比較する
と、図11に示すものは、いずれも24秒(3秒+5秒
+8秒+8秒)であるが、図10に示す印刷パターンで
は、22秒(6秒+6秒+8秒+2秒)であり、図10
に示す印刷パターンの方が印刷時間が短い。つまり、上
記従来のものでは、いずれも全体の印刷時間を最短にで
きない場合があるという問題がある。なお、ここでは、
理解を容易にするため、所定の印刷速度に達するまでの
スルーアップ時間と、停止するまでのスルーダウン時
間、ならびに、それらの各領域については考慮されてい
ないが、実際の印刷動作において、これらを考慮しなけ
ればならないことは勿論である。
【0006】そこで、本発明は、上述した課題を解決す
るためになされたものであり、その目的とするところ
は、3行以上の印刷を行う場合において、最短時間で印
刷することができる印刷装置を提供することにある。
るためになされたものであり、その目的とするところ
は、3行以上の印刷を行う場合において、最短時間で印
刷することができる印刷装置を提供することにある。
【0007】
【課題を解決するための手段】本発明は、上記目的を達
成するため、請求項1に記載の発明では、印刷ヘッドを
被印刷媒体に沿って双方向に走査させることにより、前
記被印刷媒体上に行単位の印刷を行う印刷装置におい
て、少なくとも3行分以上の印刷データを蓄積する印刷
データ蓄積手段と、この印刷データ蓄積手段に蓄積され
た先頭行から最終行までの印刷データに基づいて、前記
印刷ヘッドが、各行の印刷を実行するにあたり、印刷領
域の一端から他端に向かって印刷を行う第1の印刷パタ
ーンと、印刷領域の他端から一端に向かって印刷を行う
第2の印刷パターンのいずれであっても実行可能である
と想定して、前記先頭行から最終行までの各行の相互間
における総ての印刷パターンの組み合わせの中から最も
短い印刷時間の組み合わせを選択して、この選択された
組み合わせに基づいて前記印刷ヘッドに印刷を実行させ
る印刷実行手段と、が備えられたという技術的手段を採
用する。
成するため、請求項1に記載の発明では、印刷ヘッドを
被印刷媒体に沿って双方向に走査させることにより、前
記被印刷媒体上に行単位の印刷を行う印刷装置におい
て、少なくとも3行分以上の印刷データを蓄積する印刷
データ蓄積手段と、この印刷データ蓄積手段に蓄積され
た先頭行から最終行までの印刷データに基づいて、前記
印刷ヘッドが、各行の印刷を実行するにあたり、印刷領
域の一端から他端に向かって印刷を行う第1の印刷パタ
ーンと、印刷領域の他端から一端に向かって印刷を行う
第2の印刷パターンのいずれであっても実行可能である
と想定して、前記先頭行から最終行までの各行の相互間
における総ての印刷パターンの組み合わせの中から最も
短い印刷時間の組み合わせを選択して、この選択された
組み合わせに基づいて前記印刷ヘッドに印刷を実行させ
る印刷実行手段と、が備えられたという技術的手段を採
用する。
【0008】請求項2に記載の発明では、請求項1に記
載の印刷装置において、前記印刷実行手段は、総ての印
刷パターンの印刷時間を計算して、その計算結果を比較
することにより、最も短い印刷時間の組み合わせを選択
するという技術的手段を採用する。
載の印刷装置において、前記印刷実行手段は、総ての印
刷パターンの印刷時間を計算して、その計算結果を比較
することにより、最も短い印刷時間の組み合わせを選択
するという技術的手段を採用する。
【0009】請求項3に記載の発明では、請求項1に記
載の印刷装置において、前記印刷実行手段は、総ての印
刷パターンの中から最短と思われる複数の印刷パターン
のみの印刷時間を計算して、その計算結果を比較するこ
とにより、最も短い印刷時間の組み合わせを選択すると
いう技術的手段を採用する。
載の印刷装置において、前記印刷実行手段は、総ての印
刷パターンの中から最短と思われる複数の印刷パターン
のみの印刷時間を計算して、その計算結果を比較するこ
とにより、最も短い印刷時間の組み合わせを選択すると
いう技術的手段を採用する。
【0010】請求項4に記載の発明では、印刷ヘッドを
被印刷媒体に沿って双方向に走査させることにより、前
記被印刷媒体上に行印刷を行う印刷装置において、少な
くとも3行分以上の印刷データを蓄積する印刷データ蓄
積手段と、この印刷データ蓄積手段に蓄積された印刷デ
ータに基づいて、前記印刷ヘッドが、現在の印刷終了位
置から次の行の印刷領域の一端へ移動してその一端から
他端まで印刷を行う第1の印刷パターンと、前記他端へ
移動してその他端から一端まで印刷を行う第2の印刷パ
ターンとを、前記蓄積された印刷データの先頭行から最
終行までの各行の相互間において想定するとともに、そ
の印刷パターンの中から最短と思われる複数の印刷パタ
ーンの印刷時間を計算して、その計算結果を比較するこ
とにより、最も短い印刷時間の組み合わせを選択し、こ
の選択された組み合わせに基づいて前記印刷ヘッドに印
刷を実行させる印刷実行手段と、が備えられたという技
術的手段を採用する。
被印刷媒体に沿って双方向に走査させることにより、前
記被印刷媒体上に行印刷を行う印刷装置において、少な
くとも3行分以上の印刷データを蓄積する印刷データ蓄
積手段と、この印刷データ蓄積手段に蓄積された印刷デ
ータに基づいて、前記印刷ヘッドが、現在の印刷終了位
置から次の行の印刷領域の一端へ移動してその一端から
他端まで印刷を行う第1の印刷パターンと、前記他端へ
移動してその他端から一端まで印刷を行う第2の印刷パ
ターンとを、前記蓄積された印刷データの先頭行から最
終行までの各行の相互間において想定するとともに、そ
の印刷パターンの中から最短と思われる複数の印刷パタ
ーンの印刷時間を計算して、その計算結果を比較するこ
とにより、最も短い印刷時間の組み合わせを選択し、こ
の選択された組み合わせに基づいて前記印刷ヘッドに印
刷を実行させる印刷実行手段と、が備えられたという技
術的手段を採用する。
【0011】請求項5に記載の発明では、請求項4に記
載の印刷装置において、前記印刷実行手段は、前記印刷
データ蓄積手段に蓄積された先頭行から最終行までの印
刷データに基づいて、ある1つの行に着目したとき、そ
の着目行の印刷が終了すると想定した位置を始点に次行
以降の印刷に必要な時間と、前行の印刷が終了すると想
定した位置を始点に着目行の印刷を実行し、かつ、その
後に前記着目行の印刷終了想定位置まで印刷ヘッドが移
動するに必要な時間との加算値を、前記着目行の印刷が
終了すると想定し得る位置毎にそれぞれ算出するととも
に、その算出結果のうちで最小値を選択する演算を、前
記印刷データ蓄積手段に蓄積された印刷データの最終行
の1つ前の行から先頭行までについて順次行い、かつ、
それらの演算で最小値の算出された印刷パターンの組み
合わせに基づいて前記印刷ヘッドに印刷を実行させると
いう技術的手段を採用する。
載の印刷装置において、前記印刷実行手段は、前記印刷
データ蓄積手段に蓄積された先頭行から最終行までの印
刷データに基づいて、ある1つの行に着目したとき、そ
の着目行の印刷が終了すると想定した位置を始点に次行
以降の印刷に必要な時間と、前行の印刷が終了すると想
定した位置を始点に着目行の印刷を実行し、かつ、その
後に前記着目行の印刷終了想定位置まで印刷ヘッドが移
動するに必要な時間との加算値を、前記着目行の印刷が
終了すると想定し得る位置毎にそれぞれ算出するととも
に、その算出結果のうちで最小値を選択する演算を、前
記印刷データ蓄積手段に蓄積された印刷データの最終行
の1つ前の行から先頭行までについて順次行い、かつ、
それらの演算で最小値の算出された印刷パターンの組み
合わせに基づいて前記印刷ヘッドに印刷を実行させると
いう技術的手段を採用する。
【0012】請求項6に記載の発明では、請求項4また
は5に記載の印刷装置において、前記印刷実行手段は、
再帰プログラムを実行することによって印刷パターンの
組み合わせを選択するという技術的手段を採用する。
は5に記載の印刷装置において、前記印刷実行手段は、
再帰プログラムを実行することによって印刷パターンの
組み合わせを選択するという技術的手段を採用する。
【0013】請求項7に記載の発明では、請求項1ない
し6のいずれか1つに記載の印刷装置において、前記印
刷実行手段は、前記印刷データ蓄積手段に蓄積された印
刷データのうちの少なくとも3行分以上の印刷データを
部分的に抽出して、その初めと終わりの行をそれぞれ先
頭行ないし最終行としているという技術的手段を採用す
る。
し6のいずれか1つに記載の印刷装置において、前記印
刷実行手段は、前記印刷データ蓄積手段に蓄積された印
刷データのうちの少なくとも3行分以上の印刷データを
部分的に抽出して、その初めと終わりの行をそれぞれ先
頭行ないし最終行としているという技術的手段を採用す
る。
【0014】請求項8に記載の発明では、請求項1ない
し7のいずれか1つに記載の印刷装置において、前記印
刷ヘッドは、前記被印刷媒体に向けてインクを吐出して
印刷を行うインクジェットヘッドであるという技術的手
段を採用する。
し7のいずれか1つに記載の印刷装置において、前記印
刷ヘッドは、前記被印刷媒体に向けてインクを吐出して
印刷を行うインクジェットヘッドであるという技術的手
段を採用する。
【0015】
【作用】請求項1ないし8に記載の発明では、印刷デー
タ蓄積手段に蓄積された少なくとも3行分以上の印刷デ
ータの先頭行から最終行までの印刷データに基づいて、
上記印刷ヘッドが、各行の印刷を実行するにあたり、印
刷領域の一端から他端に向かって印刷を行う第1の印刷
パターンと、印刷領域の他端から一端に向かって印刷を
行う第2の印刷パターンのいずれであっても実行可能で
あると想定して、上記先頭行から最終行までの各行の相
互間における総ての印刷パターンの組み合わせの中から
最も短い印刷時間の組み合わせを選択して、この選択さ
れた組み合わせに基づいて上記印刷ヘッドに印刷を実行
させる印刷実行手段が備えられている。
タ蓄積手段に蓄積された少なくとも3行分以上の印刷デ
ータの先頭行から最終行までの印刷データに基づいて、
上記印刷ヘッドが、各行の印刷を実行するにあたり、印
刷領域の一端から他端に向かって印刷を行う第1の印刷
パターンと、印刷領域の他端から一端に向かって印刷を
行う第2の印刷パターンのいずれであっても実行可能で
あると想定して、上記先頭行から最終行までの各行の相
互間における総ての印刷パターンの組み合わせの中から
最も短い印刷時間の組み合わせを選択して、この選択さ
れた組み合わせに基づいて上記印刷ヘッドに印刷を実行
させる印刷実行手段が備えられている。
【0016】つまり、印刷データ蓄積手段に蓄積された
少なくとも3行以上の先頭行から最終行までの印刷デー
タにより、想定し得る総ての印刷パターンの組み合わせ
の中から最も短い印刷時間の組み合わせを選択して、こ
の選択された組み合わせに基づいて上記印刷ヘッドに印
刷を実行させることができるため、上記蓄積された印刷
データに基づいて最短時間で印刷を行うことができる。
したがって、従来のように2行分の最短の印刷パターン
を演算するのが限界であり、必ずしも3行以上の印刷を
行う場合には最短時間で印刷することができない場合が
あるものよりも、確実に最短時間で印刷をすることがで
きる。
少なくとも3行以上の先頭行から最終行までの印刷デー
タにより、想定し得る総ての印刷パターンの組み合わせ
の中から最も短い印刷時間の組み合わせを選択して、こ
の選択された組み合わせに基づいて上記印刷ヘッドに印
刷を実行させることができるため、上記蓄積された印刷
データに基づいて最短時間で印刷を行うことができる。
したがって、従来のように2行分の最短の印刷パターン
を演算するのが限界であり、必ずしも3行以上の印刷を
行う場合には最短時間で印刷することができない場合が
あるものよりも、確実に最短時間で印刷をすることがで
きる。
【0017】特に、請求項2に記載の発明では、上記印
刷実行手段は、総ての印刷パターンの印刷時間を計算し
て、その計算結果を比較するという至って簡単な手法に
より、最も短い印刷時間の組み合わせを選択することが
できる。
刷実行手段は、総ての印刷パターンの印刷時間を計算し
て、その計算結果を比較するという至って簡単な手法に
より、最も短い印刷時間の組み合わせを選択することが
できる。
【0018】また、請求項3に記載の発明では、上記印
刷実行手段は、総ての印刷パターンの中から最短と思わ
れる複数の印刷パターンのみの印刷時間を計算して、そ
の計算結果を比較することにより、最も短い印刷時間の
組み合わせを選択することができるので、総ての印刷パ
ターンを計算する場合に比べ、最適の印刷パターンを効
率的に求めることができる。
刷実行手段は、総ての印刷パターンの中から最短と思わ
れる複数の印刷パターンのみの印刷時間を計算して、そ
の計算結果を比較することにより、最も短い印刷時間の
組み合わせを選択することができるので、総ての印刷パ
ターンを計算する場合に比べ、最適の印刷パターンを効
率的に求めることができる。
【0019】また、請求項4に記載の発明では、上記印
刷ヘッドが、現在の印刷終了位置から次の行の印刷領域
の一端へ移動してその一端から他端まで印刷を行う第1
の印刷パターンと、上記他端へ移動してその他端から一
端まで印刷を行う第2の印刷パターンとを、上記蓄積さ
れた印刷データの先頭行から最終行までの各行の相互間
において想定するとともに、その印刷パターンの中から
最短と思われる複数の印刷パターンの印刷時間を計算し
て、その計算結果を比較することにより、最も短い印刷
時間の組み合わせを選択し、この選択された組み合わせ
に基づいて上記印刷ヘッドに印刷を実行させる印刷実行
手段が備えられている。
刷ヘッドが、現在の印刷終了位置から次の行の印刷領域
の一端へ移動してその一端から他端まで印刷を行う第1
の印刷パターンと、上記他端へ移動してその他端から一
端まで印刷を行う第2の印刷パターンとを、上記蓄積さ
れた印刷データの先頭行から最終行までの各行の相互間
において想定するとともに、その印刷パターンの中から
最短と思われる複数の印刷パターンの印刷時間を計算し
て、その計算結果を比較することにより、最も短い印刷
時間の組み合わせを選択し、この選択された組み合わせ
に基づいて上記印刷ヘッドに印刷を実行させる印刷実行
手段が備えられている。
【0020】つまり、上記印刷ヘッドが、次の行の印刷
を行う場合の印刷パターンとしては、現在の印刷終了位
置から次の行の印刷領域の一端へ移動してその一端から
他端まで印刷を行う第1の印刷パターンと、他端へ移動
してその他端から一端まで印刷を行う第2の印刷パター
ンの2つの印刷パターンがあるが、それら印刷パターン
を上記蓄積された印刷データの先頭行から最終行までの
各行の相互間においてそれぞれ想定した場合、印刷パタ
ーンの総ての組み合わせについて印刷時間を計算する
と、かなりの処理時間がかかるし、メモリも多量に必用
とする。そこで、想定し得る印刷パターンの中から最短
と思われる複数の印刷パターンの印刷時間を計算し、そ
の計算結果を比較することにより、最適の印刷パターン
を効率よく求めることができる。
を行う場合の印刷パターンとしては、現在の印刷終了位
置から次の行の印刷領域の一端へ移動してその一端から
他端まで印刷を行う第1の印刷パターンと、他端へ移動
してその他端から一端まで印刷を行う第2の印刷パター
ンの2つの印刷パターンがあるが、それら印刷パターン
を上記蓄積された印刷データの先頭行から最終行までの
各行の相互間においてそれぞれ想定した場合、印刷パタ
ーンの総ての組み合わせについて印刷時間を計算する
と、かなりの処理時間がかかるし、メモリも多量に必用
とする。そこで、想定し得る印刷パターンの中から最短
と思われる複数の印刷パターンの印刷時間を計算し、そ
の計算結果を比較することにより、最適の印刷パターン
を効率よく求めることができる。
【0021】また、請求項5に記載の発明では、上記印
刷実行手段は、前記印刷データ蓄積手段に蓄積された先
頭行から最終行までの印刷データに基づいて、ある1つ
の行に着目したとき、その着目行の印刷が終了すると想
定した位置を始点に次行以降の印刷に必用な時間と、前
行の印刷が終了すると想定した位置を始点に着目行の印
刷を実行し、かつ、その後に前記着目行の印刷終了想定
位置まで印刷ヘッドが移動するに必用な時間との加算値
を、前記着目行の印刷が終了すると想定し得る位置毎に
それぞれ算出するとともに、その算出結果のうちで最小
値を選択する演算を、前記印刷データ蓄積手段に蓄積さ
れた印刷データの最終行の1つ前から先頭行までについ
て順次行い、かつ、それらの演算で最小値の算出された
印刷パターンの組み合わせに基づいて前記印刷ヘッドに
印刷を実行させることができるため、総ての印刷パター
ンの組み合わせの中から最も短い印刷時間の組み合わせ
のものを極めて短時間にしかも少なくメモリ容量で効率
的に求めることができる。
刷実行手段は、前記印刷データ蓄積手段に蓄積された先
頭行から最終行までの印刷データに基づいて、ある1つ
の行に着目したとき、その着目行の印刷が終了すると想
定した位置を始点に次行以降の印刷に必用な時間と、前
行の印刷が終了すると想定した位置を始点に着目行の印
刷を実行し、かつ、その後に前記着目行の印刷終了想定
位置まで印刷ヘッドが移動するに必用な時間との加算値
を、前記着目行の印刷が終了すると想定し得る位置毎に
それぞれ算出するとともに、その算出結果のうちで最小
値を選択する演算を、前記印刷データ蓄積手段に蓄積さ
れた印刷データの最終行の1つ前から先頭行までについ
て順次行い、かつ、それらの演算で最小値の算出された
印刷パターンの組み合わせに基づいて前記印刷ヘッドに
印刷を実行させることができるため、総ての印刷パター
ンの組み合わせの中から最も短い印刷時間の組み合わせ
のものを極めて短時間にしかも少なくメモリ容量で効率
的に求めることができる。
【0022】また、請求項6に記載の発明では、上記印
刷実行手段は、再帰プログラムを実行することによって
印刷パターンの組み合わせを選択することができるた
め、非再帰プログラムを実行して印刷パターンの組み合
わせを選択するものよりも、プログラムを効率よく作成
することができるとともに、使用するメモリ容量を少な
くすることができる。したがって、プログラムを実行す
るために必用なメモリも記憶容量の小さい安価なもので
よいため、印刷装置の製造コストを低減することができ
る。
刷実行手段は、再帰プログラムを実行することによって
印刷パターンの組み合わせを選択することができるた
め、非再帰プログラムを実行して印刷パターンの組み合
わせを選択するものよりも、プログラムを効率よく作成
することができるとともに、使用するメモリ容量を少な
くすることができる。したがって、プログラムを実行す
るために必用なメモリも記憶容量の小さい安価なもので
よいため、印刷装置の製造コストを低減することができ
る。
【0023】さらに、請求項7に記載の発明では、上記
印刷実行手段は、上記印刷データ蓄積手段に蓄積された
印刷データのうちの少なくとも3行分以上の印刷データ
を部分的に抽出して、その初めと終わりの行をそれぞれ
先頭行ないし最終行としているため、例えば、印刷行数
が極めて多い場合であっても、3行分以上の印刷データ
を部分的に抽出し、その抽出された行数の単位毎に最短
の印刷パターンの演算および印刷を繰り返すことによ
り、先頭行から最終行までの印刷を効率的に行うことが
できる。つまり、印刷行数が極めて多いために、その全
行からなる印刷パターンの総ての組み合わせを想定した
とすると、かなりの処理時間が必用とされる場合には、
その処理時間の増大を防ぎ、全体としての印刷時間の短
縮を行うことができる。
印刷実行手段は、上記印刷データ蓄積手段に蓄積された
印刷データのうちの少なくとも3行分以上の印刷データ
を部分的に抽出して、その初めと終わりの行をそれぞれ
先頭行ないし最終行としているため、例えば、印刷行数
が極めて多い場合であっても、3行分以上の印刷データ
を部分的に抽出し、その抽出された行数の単位毎に最短
の印刷パターンの演算および印刷を繰り返すことによ
り、先頭行から最終行までの印刷を効率的に行うことが
できる。つまり、印刷行数が極めて多いために、その全
行からなる印刷パターンの総ての組み合わせを想定した
とすると、かなりの処理時間が必用とされる場合には、
その処理時間の増大を防ぎ、全体としての印刷時間の短
縮を行うことができる。
【0024】またさらに、請求項8に記載の発明では、
請求項1ないし7のいずれか1つに記載の発明を、上記
被印刷媒体に向けてインクを吐出して印刷を行うインク
ジェットヘッドを備えた印刷装置に好適に適用すること
ができる。
請求項1ないし7のいずれか1つに記載の発明を、上記
被印刷媒体に向けてインクを吐出して印刷を行うインク
ジェットヘッドを備えた印刷装置に好適に適用すること
ができる。
【0025】
【発明の実施の形態】以下、本発明の一実施形態につい
て図を参照して説明する。なお、本実施形態では、印刷
装置として、ホストコンピュータから受信した印刷デー
タを基に、インク吐出口から被印刷媒体へインクを吐出
して印刷を行うインクジェットプリンタ(以下、プリン
タと略称する)を代表に説明する。図1は上記プリンタ
の一部機構を取り出して示す外観斜視図であり、図2は
図1に示すプリンタの制御系の主要構成を示すブロック
図である。
て図を参照して説明する。なお、本実施形態では、印刷
装置として、ホストコンピュータから受信した印刷デー
タを基に、インク吐出口から被印刷媒体へインクを吐出
して印刷を行うインクジェットプリンタ(以下、プリン
タと略称する)を代表に説明する。図1は上記プリンタ
の一部機構を取り出して示す外観斜視図であり、図2は
図1に示すプリンタの制御系の主要構成を示すブロック
図である。
【0026】図1に示すように、上記プリンタには、印
刷ヘッド20が設けられている。この印刷ヘッド20
は、インク室に設けられた圧電素子に電圧を印加してイ
ンク室の容積を変化させることにより、インク室内のイ
ンクをノズルから印刷用紙12に向けて吐出させて印刷
を行う、いわゆるインクジェット式の印刷ヘッドであ
る。印刷ヘッド20は、キャリッジ14の上に搭載され
ており、そのキャリッジ14には、被印刷媒体としての
印刷用紙12の幅方向に設けられたガイド軸16が挿通
されている。
刷ヘッド20が設けられている。この印刷ヘッド20
は、インク室に設けられた圧電素子に電圧を印加してイ
ンク室の容積を変化させることにより、インク室内のイ
ンクをノズルから印刷用紙12に向けて吐出させて印刷
を行う、いわゆるインクジェット式の印刷ヘッドであ
る。印刷ヘッド20は、キャリッジ14の上に搭載され
ており、そのキャリッジ14には、被印刷媒体としての
印刷用紙12の幅方向に設けられたガイド軸16が挿通
されている。
【0027】キャリッジ14は、ガイド軸16に沿って
その下方に設けられた無端ベルト17に連結されてお
り、その無端ベルト17は、キャリッジ駆動用モータ
(以下、CRモータと略称する)18のプーリ22と他
のアイドルプーリ(図示せず)との間に掛けられてい
る。つまり、キャリッジ14は、CRモータ18の回転
により、ガイド軸16に沿って印刷用紙12の幅方向に
往復動するようになっている。また、ガイド軸16に沿
ってその下方には、1インチの中に90個のスリットが
印されており、透光性材料で形成されたリニア型のタイ
ミングスリット24が設けられている。また、キャリッ
ジ14の前面下部には、タイミングスリット24に印さ
れたスリットの間隔を読み取ってキャリッジ14の位置
に対応したパルス信号を出力するセンサ素子26が設け
られている。
その下方に設けられた無端ベルト17に連結されてお
り、その無端ベルト17は、キャリッジ駆動用モータ
(以下、CRモータと略称する)18のプーリ22と他
のアイドルプーリ(図示せず)との間に掛けられてい
る。つまり、キャリッジ14は、CRモータ18の回転
により、ガイド軸16に沿って印刷用紙12の幅方向に
往復動するようになっている。また、ガイド軸16に沿
ってその下方には、1インチの中に90個のスリットが
印されており、透光性材料で形成されたリニア型のタイ
ミングスリット24が設けられている。また、キャリッ
ジ14の前面下部には、タイミングスリット24に印さ
れたスリットの間隔を読み取ってキャリッジ14の位置
に対応したパルス信号を出力するセンサ素子26が設け
られている。
【0028】このセンサ素子26は、互いの位相を3/
4周期ずらした2個の発光素子と受光素子とから成るフ
ォトカプラである。つまり、この2組の素子から出力さ
れるパルスの位相差により、キャリッジ14の移動方向
を検出する。タイミングスリット24とセンサ素子26
とで、リニアエンコーダ55(図2および図3参照)を
構成する。なお、センサ素子26から出力されるパルス
の1周期は、タイミングスリット24のスリット間の間
隔に対応する。
4周期ずらした2個の発光素子と受光素子とから成るフ
ォトカプラである。つまり、この2組の素子から出力さ
れるパルスの位相差により、キャリッジ14の移動方向
を検出する。タイミングスリット24とセンサ素子26
とで、リニアエンコーダ55(図2および図3参照)を
構成する。なお、センサ素子26から出力されるパルス
の1周期は、タイミングスリット24のスリット間の間
隔に対応する。
【0029】また、印刷用紙12は、紙送り用のLFモ
ータ58(図2参照)により回転される給紙ローラ(図
示省略)と、この給紙ローラと対に設けられた押さえロ
ーラ28、28との間に挾まれて上下方向に送られる。
なお、CRモータ18には、PWM制御により回転速度
が制御されるDCモータが用いられ、LFモータ58に
はステップモータが用いられる。
ータ58(図2参照)により回転される給紙ローラ(図
示省略)と、この給紙ローラと対に設けられた押さえロ
ーラ28、28との間に挾まれて上下方向に送られる。
なお、CRモータ18には、PWM制御により回転速度
が制御されるDCモータが用いられ、LFモータ58に
はステップモータが用いられる。
【0030】次に、上記プリンタの制御系の主要構成に
ついて図2を参照して説明する。プリンタ10には、後
述する各種演算処理を行うCPU50が備えられてい
る。このCPU50には、ホストコンピュータ51から
出力される印刷データなどの信号を受信するためのイン
ターフェース52、印刷ヘッド20のメンテナンス処理
(フラッシングやパージングなど)を初めとして各種の
制御動作を実行するための制御プログラムが記憶された
ROM53およびRAM54、上記センサ素子26から
のパルス信号のカウントなどを行うゲートアレイ56が
それぞれ接続されている。
ついて図2を参照して説明する。プリンタ10には、後
述する各種演算処理を行うCPU50が備えられてい
る。このCPU50には、ホストコンピュータ51から
出力される印刷データなどの信号を受信するためのイン
ターフェース52、印刷ヘッド20のメンテナンス処理
(フラッシングやパージングなど)を初めとして各種の
制御動作を実行するための制御プログラムが記憶された
ROM53およびRAM54、上記センサ素子26から
のパルス信号のカウントなどを行うゲートアレイ56が
それぞれ接続されている。
【0031】CPU50は、ホストコンピュータ51か
らインターフェース52を介して受信された印刷データ
をRAM54の所定のバッファ領域(行バッファ)に格
納するとともに、その印刷データから割り出した各行毎
の印刷領域左側位置および印刷領域右側位置に関するデ
ータを、RAM54の所定の領域に割当てた印刷方向テ
ーブルに記憶させる。その印刷方向テーブルは、図4に
示すように、印刷する行の行番号、印刷領域左側位置お
よび印刷領域右側位置の各データを記憶するとともに、
後述する印刷パターンの演算プログラムによって求めら
れる印刷方向、および印刷終了位置とに関するデータを
書換え可能に記録するようになっている。
らインターフェース52を介して受信された印刷データ
をRAM54の所定のバッファ領域(行バッファ)に格
納するとともに、その印刷データから割り出した各行毎
の印刷領域左側位置および印刷領域右側位置に関するデ
ータを、RAM54の所定の領域に割当てた印刷方向テ
ーブルに記憶させる。その印刷方向テーブルは、図4に
示すように、印刷する行の行番号、印刷領域左側位置お
よび印刷領域右側位置の各データを記憶するとともに、
後述する印刷パターンの演算プログラムによって求めら
れる印刷方向、および印刷終了位置とに関するデータを
書換え可能に記録するようになっている。
【0032】また、CPU50は、上記印刷ヘッド20
を駆動するための各行毎の印刷データ、例えばドットイ
メージデータをRAM54の所定のバッファ領域に格納
するとともに、予めROM53に記憶している印刷実行
プログラムに従って、LFモータ58、CRモータ18
および印刷ヘッド20を駆動するための各種制御信号を
出力する。そして、上記制御信号のうち、LFモータ5
8を駆動するためのLFモータ駆動制御信号は、LFモ
ータ駆動回路(LF駆動回路)57に入力され、このL
Fモータ駆動回路57から出力されるLFモータ駆動信
号(パルス信号)に従ってLFモータ58が駆動され
る。つまり、このLFモータ58の駆動により、印刷用
紙12の紙送り(副走査)が行われる。
を駆動するための各行毎の印刷データ、例えばドットイ
メージデータをRAM54の所定のバッファ領域に格納
するとともに、予めROM53に記憶している印刷実行
プログラムに従って、LFモータ58、CRモータ18
および印刷ヘッド20を駆動するための各種制御信号を
出力する。そして、上記制御信号のうち、LFモータ5
8を駆動するためのLFモータ駆動制御信号は、LFモ
ータ駆動回路(LF駆動回路)57に入力され、このL
Fモータ駆動回路57から出力されるLFモータ駆動信
号(パルス信号)に従ってLFモータ58が駆動され
る。つまり、このLFモータ58の駆動により、印刷用
紙12の紙送り(副走査)が行われる。
【0033】また、上記制御信号のうち、CRモータ1
8を駆動するためのCRモータ駆動制御信号は、CRモ
ータ駆動回路(CR駆動回路)59に入力され、このC
Rモータ駆動回路59から出力されるCRモータ駆動信
号(PWM信号)に従ってCRモータ18が駆動され
る。このCRモータ18の駆動により、印刷ヘッド20
を搭載したキャリッジ14が往復動(主走査)され、こ
のキャリッジ14の位置は、リニアエンコーダ55によ
って検出される。そして、そのリニアエンコーダ55か
ら出力されたパルス信号は、ゲートアレイ56に入力さ
れ、後述するように、パルス信号のエッジの検出、印字
(印刷)タイミングパルスの生成などが行われる。
8を駆動するためのCRモータ駆動制御信号は、CRモ
ータ駆動回路(CR駆動回路)59に入力され、このC
Rモータ駆動回路59から出力されるCRモータ駆動信
号(PWM信号)に従ってCRモータ18が駆動され
る。このCRモータ18の駆動により、印刷ヘッド20
を搭載したキャリッジ14が往復動(主走査)され、こ
のキャリッジ14の位置は、リニアエンコーダ55によ
って検出される。そして、そのリニアエンコーダ55か
ら出力されたパルス信号は、ゲートアレイ56に入力さ
れ、後述するように、パルス信号のエッジの検出、印字
(印刷)タイミングパルスの生成などが行われる。
【0034】また、CPU50から出力される制御信号
のうち、印刷データを基に作成された印刷ヘッド20を
駆動するためのヘッド駆動制御信号は、ヘッド駆動回路
60に入力され、このヘッド駆動回路60から出力され
るヘッド駆動信号に従って印刷ヘッド20が駆動され
る。つまり、印刷ヘッド20に上記ヘッド駆動信号が入
力されると、印刷ヘッド20の各エレメントを構成する
圧電素子に電圧が印加され、その圧電素子が設けられた
キャビティ(インク室)の振動板が変位し、キャビティ
内のインクが加圧されてノズルから吐出される。
のうち、印刷データを基に作成された印刷ヘッド20を
駆動するためのヘッド駆動制御信号は、ヘッド駆動回路
60に入力され、このヘッド駆動回路60から出力され
るヘッド駆動信号に従って印刷ヘッド20が駆動され
る。つまり、印刷ヘッド20に上記ヘッド駆動信号が入
力されると、印刷ヘッド20の各エレメントを構成する
圧電素子に電圧が印加され、その圧電素子が設けられた
キャビティ(インク室)の振動板が変位し、キャビティ
内のインクが加圧されてノズルから吐出される。
【0035】さらに、CPU50は、LFモータ58の
駆動信号たるパルス信号をカウントして、LFモータ5
8および紙送り機構62により実行される、印刷用紙の
送り量のカウント、パージング機構35を駆動するカム
の回転量のカウントなどを行う。また、パージング機構
35には、キャリッジ14が原点に復帰していることを
検出するHP(ホームポジション)センサ63が、紙送
り機構62には、印刷用紙12が挿入されたことを検出
するPE(ペーパーエンプティ)センサ64がそれぞれ
設けられている。
駆動信号たるパルス信号をカウントして、LFモータ5
8および紙送り機構62により実行される、印刷用紙の
送り量のカウント、パージング機構35を駆動するカム
の回転量のカウントなどを行う。また、パージング機構
35には、キャリッジ14が原点に復帰していることを
検出するHP(ホームポジション)センサ63が、紙送
り機構62には、印刷用紙12が挿入されたことを検出
するPE(ペーパーエンプティ)センサ64がそれぞれ
設けられている。
【0036】ここで、ゲートアレイ56について図3を
参照して説明する。図3は、上記図2に示した制御系の
中のゲートアレイ56を説明するブロック図である。図
3に示すように、ゲートアレイ56は、リニアエンコー
ダ55から発生したエンコーダ信号のエッジ(立ち上が
り)を検出するとともに、その検出タイミングで基準パ
ルスを発生するエッジ検出回路65と、このエッジ検出
回路65から出力された基準パルスに基づいて、そのパ
ルス周期(エンコーダ信号のエッジ間隔)から割り出し
た速度データや、印刷ヘッド20を駆動するための印字
(印刷)タイミングパルスなどを発生する印字(印刷)
タイミング発生回路66とから構成されている。
参照して説明する。図3は、上記図2に示した制御系の
中のゲートアレイ56を説明するブロック図である。図
3に示すように、ゲートアレイ56は、リニアエンコー
ダ55から発生したエンコーダ信号のエッジ(立ち上が
り)を検出するとともに、その検出タイミングで基準パ
ルスを発生するエッジ検出回路65と、このエッジ検出
回路65から出力された基準パルスに基づいて、そのパ
ルス周期(エンコーダ信号のエッジ間隔)から割り出し
た速度データや、印刷ヘッド20を駆動するための印字
(印刷)タイミングパルスなどを発生する印字(印刷)
タイミング発生回路66とから構成されている。
【0037】そして、CPU50は、印字タイミング発
生回路66から出力された速度データ(エンコーダ信号
の各エッジ間の時間間隔値)を入力してキャリッジの速
度制御に必要なPWM信号(CRモータ18の駆動信号
のパルス幅)の演算を行う。また、CPU50は、エッ
ジ検出回路41から出力された位置制御用パルス(基準
パルス)を入力してキャリッジ14の現在位置の演算を
行う。
生回路66から出力された速度データ(エンコーダ信号
の各エッジ間の時間間隔値)を入力してキャリッジの速
度制御に必要なPWM信号(CRモータ18の駆動信号
のパルス幅)の演算を行う。また、CPU50は、エッ
ジ検出回路41から出力された位置制御用パルス(基準
パルス)を入力してキャリッジ14の現在位置の演算を
行う。
【0038】次に、CPU50による最短時間で印刷す
るための印刷パターンの演算内容について、図5ないし
図9を参照して説明する。図5は、印刷パターンの演算
のためのメインルーチンを示すフローチャートであり、
図6は、図5のステップ170のサブルーチン「Mak
eDir(n,CR)」の詳細を示すフローチャートで
ある。なお、最短時間の印刷パターンを求める演算は、
図6に示すサブルーチンを再帰的に呼び出す、いわゆる
再帰プログラムによって行われ、図9は、その演算順序
を示すアルゴリズムの説明図である。
るための印刷パターンの演算内容について、図5ないし
図9を参照して説明する。図5は、印刷パターンの演算
のためのメインルーチンを示すフローチャートであり、
図6は、図5のステップ170のサブルーチン「Mak
eDir(n,CR)」の詳細を示すフローチャートで
ある。なお、最短時間の印刷パターンを求める演算は、
図6に示すサブルーチンを再帰的に呼び出す、いわゆる
再帰プログラムによって行われ、図9は、その演算順序
を示すアルゴリズムの説明図である。
【0039】最初に、図5のメインルーチンの演算内容
について説明する。まず、印刷データの受信が先頭行か
ら順に開始されると(ステップ100)、その印刷デー
タに含まれる行末指令が検出されるまで(ステップ11
0)、その印刷データは少なくとも1ページ分の印刷デ
ータを記憶可能な行バッファに記憶される(ステップ1
20)。そして、行末指令が検出されると、1行の印刷
データにおける印刷領域左側位置および印刷領域右側位
置、つまり、印刷領域の左端と右端とを求める計算が行
われ(ステップ130)、その計算結果が図4に示すよ
うな印刷方向テーブルの印刷領域左側位置および印刷領
域右側位置に書き込まれる(ステップ140)。
について説明する。まず、印刷データの受信が先頭行か
ら順に開始されると(ステップ100)、その印刷デー
タに含まれる行末指令が検出されるまで(ステップ11
0)、その印刷データは少なくとも1ページ分の印刷デ
ータを記憶可能な行バッファに記憶される(ステップ1
20)。そして、行末指令が検出されると、1行の印刷
データにおける印刷領域左側位置および印刷領域右側位
置、つまり、印刷領域の左端と右端とを求める計算が行
われ(ステップ130)、その計算結果が図4に示すよ
うな印刷方向テーブルの印刷領域左側位置および印刷領
域右側位置に書き込まれる(ステップ140)。
【0040】上記ステップ100ないし140の処理
は、少なくとも1ページ分の印刷データの受信を完了す
るまで、すなわち、ステップ150において、印刷方向
テーブルが一杯になったと判定されるか、または、印刷
方向テーブルが一杯にならなくても、ページの終了を示
す改頁コマンド等が受信されるまで繰り返される。そし
て、印刷方向テーブルが一杯になるか、改頁コマンド等
が受信されると、上記印刷方向テーブルに記憶された1
ページ分の先頭行から最終行までの印刷領域データに基
づいて、1ページの印刷を最も短い時間で行うことが可
能な印刷パターンを求める演算、すなわち、先頭行から
最終行までの各行の相互間における総ての印刷パターン
の組み合わせの中で最も短い印刷時間の組み合わせを選
択するための演算を行う。
は、少なくとも1ページ分の印刷データの受信を完了す
るまで、すなわち、ステップ150において、印刷方向
テーブルが一杯になったと判定されるか、または、印刷
方向テーブルが一杯にならなくても、ページの終了を示
す改頁コマンド等が受信されるまで繰り返される。そし
て、印刷方向テーブルが一杯になるか、改頁コマンド等
が受信されると、上記印刷方向テーブルに記憶された1
ページ分の先頭行から最終行までの印刷領域データに基
づいて、1ページの印刷を最も短い時間で行うことが可
能な印刷パターンを求める演算、すなわち、先頭行から
最終行までの各行の相互間における総ての印刷パターン
の組み合わせの中で最も短い印刷時間の組み合わせを選
択するための演算を行う。
【0041】すなわち、ステップ170のサブルーチン
「MakeDir(n,CR)」は、着目行を示すデー
タ「n」と、着目行の印刷開始時のキャリッジ位置を示
すデータ「CR」とを入力パラメータとして、着目行
「n」の印刷開始時のキャリッジ位置が「CR」である
と想定した場合に、着目行「n」以降の印刷を最も短い
時間で実行するためには、着目行「n」における印刷を
どちらの方向に実行すればよいのか、その印刷終了位置
はどこであるかを求める演算処理ルーチンであるが、こ
こでは、現在のキャリッジ位置を印刷開始点として、先
頭行(第1行)の印刷をどちらの方向に行えばよいのか
を求めるために、その直前のステップ160において、
着目行のパラメータ「n」を「1」に設定するととも
に、キャリッジ位置のパラメータ「CR」を「現在のキ
ャリッジ位置」に設定して、ステップ170を実行す
る。
「MakeDir(n,CR)」は、着目行を示すデー
タ「n」と、着目行の印刷開始時のキャリッジ位置を示
すデータ「CR」とを入力パラメータとして、着目行
「n」の印刷開始時のキャリッジ位置が「CR」である
と想定した場合に、着目行「n」以降の印刷を最も短い
時間で実行するためには、着目行「n」における印刷を
どちらの方向に実行すればよいのか、その印刷終了位置
はどこであるかを求める演算処理ルーチンであるが、こ
こでは、現在のキャリッジ位置を印刷開始点として、先
頭行(第1行)の印刷をどちらの方向に行えばよいのか
を求めるために、その直前のステップ160において、
着目行のパラメータ「n」を「1」に設定するととも
に、キャリッジ位置のパラメータ「CR」を「現在のキ
ャリッジ位置」に設定して、ステップ170を実行す
る。
【0042】ステップ170における「MakeDir
(n,CR)」の演算処理ルーチンは、その処理手順を
示す図6と、各ステップの処理内容の詳細を示す図7お
よび図8から明らかなように、ステップ170〜175
のそれぞれにおいて、自分自身(ステップ170)を再
帰的に呼び出す、いわゆる再帰プログラムとして構成さ
れているので、先頭行以降の印刷を行うにあたって、最
も短い印刷時間の組み合わせからなる印刷パターンを、
少ないメモリ(RAM)容量で、しかも比較的少ない処
理時間で効率的に求めることができる。
(n,CR)」の演算処理ルーチンは、その処理手順を
示す図6と、各ステップの処理内容の詳細を示す図7お
よび図8から明らかなように、ステップ170〜175
のそれぞれにおいて、自分自身(ステップ170)を再
帰的に呼び出す、いわゆる再帰プログラムとして構成さ
れているので、先頭行以降の印刷を行うにあたって、最
も短い印刷時間の組み合わせからなる印刷パターンを、
少ないメモリ(RAM)容量で、しかも比較的少ない処
理時間で効率的に求めることができる。
【0043】そして、先のステップ160で、「n」を
「1」に設定し、且つ「CR」を「現在のキャリッジ位
置」に設定した状態での「MakeDir(n,C
R)」の処理ルーチン(ステップ170)の実行によ
り、最も短い印刷時間で1ページ分の印刷を行うことが
できる、すなわち、印刷方向テーブルに記憶された先頭
行から最終行までの印刷を最も短時間で実行することが
可能な、先頭行(1行目)の印刷方向および印刷終了位
置の各データが求められ、印刷方向テーブルの先頭行に
対応する領域に記憶される(確定される)こととなる。
「1」に設定し、且つ「CR」を「現在のキャリッジ位
置」に設定した状態での「MakeDir(n,C
R)」の処理ルーチン(ステップ170)の実行によ
り、最も短い印刷時間で1ページ分の印刷を行うことが
できる、すなわち、印刷方向テーブルに記憶された先頭
行から最終行までの印刷を最も短時間で実行することが
可能な、先頭行(1行目)の印刷方向および印刷終了位
置の各データが求められ、印刷方向テーブルの先頭行に
対応する領域に記憶される(確定される)こととなる。
【0044】次いで、ステップ170における「Mak
eDir(n,CR)」の処理ルーチンの実行直後にお
いては、着目行「n」が最終行ではないため(ステップ
190)、キャリッジ位置「CR」のパラメータとして
先に確定した先頭行(1行目)の印刷終了位置を設定し
(ステップ200)、且つ着目行「n」のパラメータを
1加算して、再びステップ170が実行される。これに
より、1ページ分の印刷を最も短時間で実行することが
可能な、2行目の印刷方向および印刷終了位置の各デー
タが求められ、印刷方向テーブルの2行目に対応する領
域に記録される(確定される)こととなる。
eDir(n,CR)」の処理ルーチンの実行直後にお
いては、着目行「n」が最終行ではないため(ステップ
190)、キャリッジ位置「CR」のパラメータとして
先に確定した先頭行(1行目)の印刷終了位置を設定し
(ステップ200)、且つ着目行「n」のパラメータを
1加算して、再びステップ170が実行される。これに
より、1ページ分の印刷を最も短時間で実行することが
可能な、2行目の印刷方向および印刷終了位置の各デー
タが求められ、印刷方向テーブルの2行目に対応する領
域に記録される(確定される)こととなる。
【0045】その後、ステップ190において、着目行
「n」が最終行に該当するまで、ステップ200,21
0、およびステップ170が繰り返し実行され、これに
よって、1ページ分の印刷を最も短時間で実行すること
が可能な、3行目から最終行までの各行における印刷方
向および印刷終了位置の各データが求められ、印刷方向
テーブルの各行に対応する領域に記憶される(確定され
る)こととなる。
「n」が最終行に該当するまで、ステップ200,21
0、およびステップ170が繰り返し実行され、これに
よって、1ページ分の印刷を最も短時間で実行すること
が可能な、3行目から最終行までの各行における印刷方
向および印刷終了位置の各データが求められ、印刷方向
テーブルの各行に対応する領域に記憶される(確定され
る)こととなる。
【0046】そして、先頭行から最終行までの各行にお
ける印刷方向および印刷終了位置が確定した段階で、着
目行「n」が最終行となるため(ステップ190)、印
刷方向テーブルに記憶された先頭行から最終行までの各
印刷領域データ、および印刷方向と印刷終了位置の各デ
ータに基づいて印刷が実行される(ステップ220)。
その後、例えば、行バッファに1ページ分の印刷データ
が記憶可能な場合にあっては、印刷方向テーブルの各記
憶データがクリアされたのち、次の印刷データの受信に
移行する。
ける印刷方向および印刷終了位置が確定した段階で、着
目行「n」が最終行となるため(ステップ190)、印
刷方向テーブルに記憶された先頭行から最終行までの各
印刷領域データ、および印刷方向と印刷終了位置の各デ
ータに基づいて印刷が実行される(ステップ220)。
その後、例えば、行バッファに1ページ分の印刷データ
が記憶可能な場合にあっては、印刷方向テーブルの各記
憶データがクリアされたのち、次の印刷データの受信に
移行する。
【0047】このとき、行バッファに複数ページ分の印
刷データが記憶可能な場合にあっては、印刷データの受
信に移行することなく、予め行バッファに記憶している
次のページの印刷データに基づいて上記ステップ160
以降の演算処理を実行すればよいことは勿論である。
刷データが記憶可能な場合にあっては、印刷データの受
信に移行することなく、予め行バッファに記憶している
次のページの印刷データに基づいて上記ステップ160
以降の演算処理を実行すればよいことは勿論である。
【0048】ここで、上記ステップ170における「M
akeDir(n,CR)」の処理手順を、例えば、印
刷方向テーブルに図4に示すような4行分の印刷データ
が格納された場合、すなわち、図10に示すような印刷
を実行する場合について説明すると、以下の通りであ
る。なお、図10に示すスケールは時間軸を示し、数字
はキャリッジ位置(印刷領域番号)を示すものとして、
1目盛が1秒に相当する(1目盛の印刷領域を印刷する
のに必用な時間が1秒であると仮定する)ものとする。
akeDir(n,CR)」の処理手順を、例えば、印
刷方向テーブルに図4に示すような4行分の印刷データ
が格納された場合、すなわち、図10に示すような印刷
を実行する場合について説明すると、以下の通りであ
る。なお、図10に示すスケールは時間軸を示し、数字
はキャリッジ位置(印刷領域番号)を示すものとして、
1目盛が1秒に相当する(1目盛の印刷領域を印刷する
のに必用な時間が1秒であると仮定する)ものとする。
【0049】まず、最初のステップでは、1ページの印
刷を開始する際のキャリッジ位置が、最大印刷可能領域
の左端位置「0」であることから、現在のキャリッジ位
置を「0」とし、且つ第1行(先頭行)を着目行とし
て、第1行以降の印刷を最も短い印刷時間で行うために
は、第1行の印刷をどちらの方向に実行すればよいのか
を求めるための演算を開始する。
刷を開始する際のキャリッジ位置が、最大印刷可能領域
の左端位置「0」であることから、現在のキャリッジ位
置を「0」とし、且つ第1行(先頭行)を着目行とし
て、第1行以降の印刷を最も短い印刷時間で行うために
は、第1行の印刷をどちらの方向に実行すればよいのか
を求めるための演算を開始する。
【0050】ここで、1ページの印刷を最も短い印刷時
間で行うためには、先頭行(第1行)から最終行(第4
行)までの各行の相互間における総ての印刷パターンの
組み合わせを想定して、その中から最も短い印刷時間と
なる印刷パターンの組み合わせを選択する必用があり、
例えば、図9に示す印刷パターンの組み合わせにおい
て、第1行の印刷を終了したときのキャリッジ位置(印
刷終端)としては、(A)〜(D)で示すように、第1
行の印刷領域左側位置1L(以下、印刷領域左端と称す
る)と、第1行の印刷領域右側位置1R(以下、印刷領
域右端と称する)と、第2行の印刷領域左端に相当する
位置2Lと、第2行の印刷領域右端に相当する位置2R
との4通りが想定される。
間で行うためには、先頭行(第1行)から最終行(第4
行)までの各行の相互間における総ての印刷パターンの
組み合わせを想定して、その中から最も短い印刷時間と
なる印刷パターンの組み合わせを選択する必用があり、
例えば、図9に示す印刷パターンの組み合わせにおい
て、第1行の印刷を終了したときのキャリッジ位置(印
刷終端)としては、(A)〜(D)で示すように、第1
行の印刷領域左側位置1L(以下、印刷領域左端と称す
る)と、第1行の印刷領域右側位置1R(以下、印刷領
域右端と称する)と、第2行の印刷領域左端に相当する
位置2Lと、第2行の印刷領域右端に相当する位置2R
との4通りが想定される。
【0051】また、第2行の印刷を終了したときのキャ
リッジ位置(印刷終端)としては、同様にして、第2行
の印刷領域左端2L、第2行の印刷領域右端2R、第3
行の印刷領域左端に相当する位置3L、および第3行の
印刷領域右端に相当する位置3Rとの4通りが想定さ
れ、第3行においても同じく4通りが想定される。そし
て、最終行である第4行の印刷を終了したときのキャリ
ッジ位置としては、第4行の印刷領域左端4Lと、第4
行の印刷領域右端4Rとの2通りが想定される。
リッジ位置(印刷終端)としては、同様にして、第2行
の印刷領域左端2L、第2行の印刷領域右端2R、第3
行の印刷領域左端に相当する位置3L、および第3行の
印刷領域右端に相当する位置3Rとの4通りが想定さ
れ、第3行においても同じく4通りが想定される。そし
て、最終行である第4行の印刷を終了したときのキャリ
ッジ位置としては、第4行の印刷領域左端4Lと、第4
行の印刷領域右端4Rとの2通りが想定される。
【0052】従って、第1行から第4行までの印刷を最
も短い印刷時間で行うためには、図9に示す総ての印刷
パターンの組み合わせを想定して、それぞれの合計時間
を求め、その結果をメモリに記憶して、その記憶値を比
較することにより、最も短い時間の印刷パターンの組み
合わせを選択すればよいが、ここでは、使用するメモリ
容量も比較的少なく、プログラムの作成も容易な再帰ア
ルゴニズムを適用して、図5,図6に示す処理手順を実
行することにより最も短い印刷時間となる印刷パターン
の組み合わせを選択するようにしている。
も短い印刷時間で行うためには、図9に示す総ての印刷
パターンの組み合わせを想定して、それぞれの合計時間
を求め、その結果をメモリに記憶して、その記憶値を比
較することにより、最も短い時間の印刷パターンの組み
合わせを選択すればよいが、ここでは、使用するメモリ
容量も比較的少なく、プログラムの作成も容易な再帰ア
ルゴニズムを適用して、図5,図6に示す処理手順を実
行することにより最も短い印刷時間となる印刷パターン
の組み合わせを選択するようにしている。
【0053】以下、その処理手順の詳細を、図9,図1
0を参照しながら説明する。なお、以下の説明におい
て、括弧内の数字は図9に示す数字に対応するものであ
るが、理解を容易にするために、図5,図6に示す実際
の処理手順とは演算順序が一部相違している。 (A)(1)まず、第1行に着目して、第1行の印刷終
端が第1行の印刷領域左端1Lであると想定した場合の
第2行以降の印刷パターンを演算する。
0を参照しながら説明する。なお、以下の説明におい
て、括弧内の数字は図9に示す数字に対応するものであ
るが、理解を容易にするために、図5,図6に示す実際
の処理手順とは演算順序が一部相違している。 (A)(1)まず、第1行に着目して、第1行の印刷終
端が第1行の印刷領域左端1Lであると想定した場合の
第2行以降の印刷パターンを演算する。
【0054】(2)第2行の印刷終端としては、第2行
の印刷領域左端2L、第3行の印刷領域左端3L、第2
行の印刷領域右端2R、第3行の印刷領域右端3Rが想
定されるが、最初に第2行の印刷終端が第2行の印刷領
域左端2Lであると想定して、第3行以降の印刷パター
ンを演算する。 (a)第3行の印刷終端としては、第3行の印刷領域左
端3L、第4行の印刷領域左端4L、第3行の印刷領域
右端3R、第4行の印刷領域右端4Rが想定されるた
め、そのそれぞれについて第4行の印刷処理時間がどう
なるのかを演算する。
の印刷領域左端2L、第3行の印刷領域左端3L、第2
行の印刷領域右端2R、第3行の印刷領域右端3Rが想
定されるが、最初に第2行の印刷終端が第2行の印刷領
域左端2Lであると想定して、第3行以降の印刷パター
ンを演算する。 (a)第3行の印刷終端としては、第3行の印刷領域左
端3L、第4行の印刷領域左端4L、第3行の印刷領域
右端3R、第4行の印刷領域右端4Rが想定されるた
め、そのそれぞれについて第4行の印刷処理時間がどう
なるのかを演算する。
【0055】(3)第3行の印刷終端が第3行の印刷領
域左端3Lであると想定した場合、例えば、第4行の印
刷を4Lから4Rに向かって行うとすると、第4行の実
際の印刷開始位置4Lに移動するまでに6秒かかり、4
Lから4Rまでの印刷に2秒かかるから、印刷処理時間
は合計8秒かかる。また、第4行の印刷を4Rから4L
に向かって行うとすると、印刷処理時間は合計10秒か
かる。従って、この場合の最短の処理時間は8秒とな
る。
域左端3Lであると想定した場合、例えば、第4行の印
刷を4Lから4Rに向かって行うとすると、第4行の実
際の印刷開始位置4Lに移動するまでに6秒かかり、4
Lから4Rまでの印刷に2秒かかるから、印刷処理時間
は合計8秒かかる。また、第4行の印刷を4Rから4L
に向かって行うとすると、印刷処理時間は合計10秒か
かる。従って、この場合の最短の処理時間は8秒とな
る。
【0056】(4)第3行の印刷終端が第4行の印刷領
域左端4Lに対応する位置である場合には、例えば、第
4行の印刷を4Lから4Rに向かって行うとすると、第
4行の印刷領域左端4Lから第4行の印刷領域右端4R
までの印刷時間のみであるから、印刷処理時間は2秒で
ある。また、第4行の印刷を4Rから4Lに向かって行
うとすると、印刷処理時間は合計4秒かかる。従って、
この場合の最短の処理時間は2秒となる。
域左端4Lに対応する位置である場合には、例えば、第
4行の印刷を4Lから4Rに向かって行うとすると、第
4行の印刷領域左端4Lから第4行の印刷領域右端4R
までの印刷時間のみであるから、印刷処理時間は2秒で
ある。また、第4行の印刷を4Rから4Lに向かって行
うとすると、印刷処理時間は合計4秒かかる。従って、
この場合の最短の処理時間は2秒となる。
【0057】(5)第3行の印刷終端が第3行の印刷領
域右端3R(=4R)の場合は、例えば、第4行の印刷
を4Lから4Rに向かって行うとすると、4Lに移動す
るまでに2秒かかり、4Lから4Rまでの印刷に2秒か
かるから印刷処理時間は合計4秒かかる。また、第4行
の印刷を4Rから4Lに向かって行うとすると、移動時
間はなく、4Rから4Lまでの印刷時間のみであるか
ら、印刷処理時間は2秒である。従って、この場合の最
短の処理時間は2秒となる。
域右端3R(=4R)の場合は、例えば、第4行の印刷
を4Lから4Rに向かって行うとすると、4Lに移動す
るまでに2秒かかり、4Lから4Rまでの印刷に2秒か
かるから印刷処理時間は合計4秒かかる。また、第4行
の印刷を4Rから4Lに向かって行うとすると、移動時
間はなく、4Rから4Lまでの印刷時間のみであるか
ら、印刷処理時間は2秒である。従って、この場合の最
短の処理時間は2秒となる。
【0058】(6)第3行の印刷終端が第4行の印刷領
域右端4Rに対応する位置である場合も、第4行の印刷
を4Rから4Lに向かって行うときの方が処理時間は短
くなり、第4行の印刷領域右端4Rから第4行の印刷領
域左端4Lまでの印刷時間のみであるから、最短の印刷
処理時間は2秒となる。このように、第4行の印刷処理
時間は、第3行の印刷終端の位置によって変化し、さら
に第4行の印刷を4Lから4Rに向かって行うときと、
4Rから4Lに向かって行うときとで変化する。
域右端4Rに対応する位置である場合も、第4行の印刷
を4Rから4Lに向かって行うときの方が処理時間は短
くなり、第4行の印刷領域右端4Rから第4行の印刷領
域左端4Lまでの印刷時間のみであるから、最短の印刷
処理時間は2秒となる。このように、第4行の印刷処理
時間は、第3行の印刷終端の位置によって変化し、さら
に第4行の印刷を4Lから4Rに向かって行うときと、
4Rから4Lに向かって行うときとで変化する。
【0059】(b)次に、第3行の印刷処理時間を演算
する。まず、上述のように、第2行の印刷終端を第2行
の印刷領域左端2Lと想定しており、第3行の印刷終端
には上記の4つの点があるため、第3行を印刷するパタ
ーンとしては、第2行の印刷領域左端2Lを始点とした
4種類の印刷パターンが存在する。このため、その4種
類の印刷パターンの印刷処理時間をそれぞれ演算する。
する。まず、上述のように、第2行の印刷終端を第2行
の印刷領域左端2Lと想定しており、第3行の印刷終端
には上記の4つの点があるため、第3行を印刷するパタ
ーンとしては、第2行の印刷領域左端2Lを始点とした
4種類の印刷パターンが存在する。このため、その4種
類の印刷パターンの印刷処理時間をそれぞれ演算する。
【0060】(7)第3行の印刷終端が3Lである場合
の第3行の印刷処理時間は、第2行の印刷領域左端2L
から第3行の印刷領域右端3Rへの移動時間の5秒に、
第3行の印刷領域右端3Rから第3行の印刷領域左端3
Lまでの印刷時間の8秒を加算した13秒である。
の第3行の印刷処理時間は、第2行の印刷領域左端2L
から第3行の印刷領域右端3Rへの移動時間の5秒に、
第3行の印刷領域右端3Rから第3行の印刷領域左端3
Lまでの印刷時間の8秒を加算した13秒である。
【0061】(8)第3行の印刷が第4行の印刷領域左
端4Lに対応する位置で終了する場合の第3行の印刷処
理時間は、第2行の印刷領域左端2Lから第3行の印刷
領域左端3Lへの移動時間の3秒に、第3行の印刷領域
左端3Lから第3行の印刷領域右端3Rまでの印刷時間
の8秒を加算し、さらに第3行の印刷領域右端3Rから
第4行の印刷領域左端4Lへの移動時間の2秒を加算し
た13秒である。
端4Lに対応する位置で終了する場合の第3行の印刷処
理時間は、第2行の印刷領域左端2Lから第3行の印刷
領域左端3Lへの移動時間の3秒に、第3行の印刷領域
左端3Lから第3行の印刷領域右端3Rまでの印刷時間
の8秒を加算し、さらに第3行の印刷領域右端3Rから
第4行の印刷領域左端4Lへの移動時間の2秒を加算し
た13秒である。
【0062】(9)第3行の印刷終端が3Rである場合
の第3行の印刷処理時間は、第2行の印刷領域左端2L
から第3行の印刷領域左端3Lへの移動時間の3秒に、
第3行の印刷領域左端3Lから第3行の印刷領域右端3
Rまでの印刷時間の8秒を加算した11秒である。
の第3行の印刷処理時間は、第2行の印刷領域左端2L
から第3行の印刷領域左端3Lへの移動時間の3秒に、
第3行の印刷領域左端3Lから第3行の印刷領域右端3
Rまでの印刷時間の8秒を加算した11秒である。
【0063】(10)第3行の印刷が第4行の印刷領域
右端4Rに対応する位置で終了する場合の第3行の印刷
処理時間は、第2行の印刷領域左端2Lから第3行の印
刷領域左端3Lへの移動時間の3秒に、第3行の印刷領
域左端3Lから第3行の印刷領域右端3Rまでの印刷時
間の8秒を加算した11秒である。
右端4Rに対応する位置で終了する場合の第3行の印刷
処理時間は、第2行の印刷領域左端2Lから第3行の印
刷領域左端3Lへの移動時間の3秒に、第3行の印刷領
域左端3Lから第3行の印刷領域右端3Rまでの印刷時
間の8秒を加算した11秒である。
【0064】(c)次に、上記演算結果(3)ないし
(10)に基づいて第3行および第4行の印刷処理時間
を演算する。 (11)第3行の印刷終端が第3行の印刷領域左端3L
である場合の第3行および第4行の印刷処理時間は、上
記(3)の8秒に(7)の13秒を加算して21秒とな
る。
(10)に基づいて第3行および第4行の印刷処理時間
を演算する。 (11)第3行の印刷終端が第3行の印刷領域左端3L
である場合の第3行および第4行の印刷処理時間は、上
記(3)の8秒に(7)の13秒を加算して21秒とな
る。
【0065】(12)第3行の印刷終端が第4行の印刷
領域左端4Lに対応する位置である場合の第3行および
第4行の印刷処理時間は、上記(5)の2秒に(8)の
13秒を加算して15秒となる。 (13)第3行の印刷終端が第3行の印刷領域右端3R
である場合の第3行および第4行の印刷処理時間は、上
記(4)の2秒に(9)の11秒を加算して13秒とな
る。
領域左端4Lに対応する位置である場合の第3行および
第4行の印刷処理時間は、上記(5)の2秒に(8)の
13秒を加算して15秒となる。 (13)第3行の印刷終端が第3行の印刷領域右端3R
である場合の第3行および第4行の印刷処理時間は、上
記(4)の2秒に(9)の11秒を加算して13秒とな
る。
【0066】(14)第3行の印刷終端が第4行の印刷
領域右端4Rに対応する位置である場合の第3行および
第4行の印刷処理時間は、上記(6)の2秒に(10)
の11秒を加算して13秒となる。
領域右端4Rに対応する位置である場合の第3行および
第4行の印刷処理時間は、上記(6)の2秒に(10)
の11秒を加算して13秒となる。
【0067】(d)上記(11)ないし(14)の演算
結果より、最も短い印刷処理時間は13秒である。ここ
で、同じ印刷処理時間が複数存在する場合には、そのい
ずれを選択してもよいが、ここでは最後の演算結果を選
択するようにしている。つまり、上記の場合は、上記
(6)および(10)の印刷パターンを組み合わせたも
のを選択する。したがって、第2行の印刷終端が2Lで
あると想定した場合に、第3行および第4行を最も短い
時間で印刷できる印刷パターンは、第2行の印刷領域左
端2Lから、第3行の印刷領域左端3Lへ移動して、そ
の3Lから3Rまで順方向に第3行の印刷を行い、第4
行の印刷領域右端4Rから4Lまで逆方向に第4行の印
刷を行う印刷パターンであり、その合計の印刷処理時間
は、2Lから3Lに対応する位置までの移動時間の3秒
に第3行の印刷時間の8秒および第4行の印刷時間の2
秒を加算した13秒である。
結果より、最も短い印刷処理時間は13秒である。ここ
で、同じ印刷処理時間が複数存在する場合には、そのい
ずれを選択してもよいが、ここでは最後の演算結果を選
択するようにしている。つまり、上記の場合は、上記
(6)および(10)の印刷パターンを組み合わせたも
のを選択する。したがって、第2行の印刷終端が2Lで
あると想定した場合に、第3行および第4行を最も短い
時間で印刷できる印刷パターンは、第2行の印刷領域左
端2Lから、第3行の印刷領域左端3Lへ移動して、そ
の3Lから3Rまで順方向に第3行の印刷を行い、第4
行の印刷領域右端4Rから4Lまで逆方向に第4行の印
刷を行う印刷パターンであり、その合計の印刷処理時間
は、2Lから3Lに対応する位置までの移動時間の3秒
に第3行の印刷時間の8秒および第4行の印刷時間の2
秒を加算した13秒である。
【0068】(15)次に、第2行の印刷終端が第3行
の印刷領域左端3Lに対応する位置であると想定した場
合の第3行および第4行の最短の印刷パターンを上記
(3)ないし(14)と同じ場合分けに基づく演算によ
って求める。その演算結果だけを示すと、第3行および
第4行の最短の印刷パターンは、第2行の印刷終端であ
ると想定した第3行の印刷領域左端3Lから順方向に第
3行の印刷領域右端3Rへ印刷を行い、第4行の印刷領
域右端4Rから逆方向に4Lまで第4行を印刷するパタ
ーンであり、その合計の印刷処理時間は、第3行の印刷
時間の8秒に第4行の印刷時間の2秒を加算した10秒
である。
の印刷領域左端3Lに対応する位置であると想定した場
合の第3行および第4行の最短の印刷パターンを上記
(3)ないし(14)と同じ場合分けに基づく演算によ
って求める。その演算結果だけを示すと、第3行および
第4行の最短の印刷パターンは、第2行の印刷終端であ
ると想定した第3行の印刷領域左端3Lから順方向に第
3行の印刷領域右端3Rへ印刷を行い、第4行の印刷領
域右端4Rから逆方向に4Lまで第4行を印刷するパタ
ーンであり、その合計の印刷処理時間は、第3行の印刷
時間の8秒に第4行の印刷時間の2秒を加算した10秒
である。
【0069】(16)同様に、第2行の印刷終端が第2
行の印刷領域右端2Rであると想定した場合の第3行お
よび第4行の最短の印刷パターンを演算すると、キャリ
ッジを第2行の印刷領域右端2Rから第3行の印刷領域
左端3Lに対応する位置まで移動させ、その3Lから順
方向に3Rまで印刷し、第4行の印刷領域右端4Rから
4Lまで逆方向に印刷を行うパターンとなる。そして、
その印刷処理時間は、2Rから3Lに対応する位置への
移動時間の6秒に第3行の印刷時間の8秒および第4行
の印刷時間の2秒を加算した16秒である。
行の印刷領域右端2Rであると想定した場合の第3行お
よび第4行の最短の印刷パターンを演算すると、キャリ
ッジを第2行の印刷領域右端2Rから第3行の印刷領域
左端3Lに対応する位置まで移動させ、その3Lから順
方向に3Rまで印刷し、第4行の印刷領域右端4Rから
4Lまで逆方向に印刷を行うパターンとなる。そして、
その印刷処理時間は、2Rから3Lに対応する位置への
移動時間の6秒に第3行の印刷時間の8秒および第4行
の印刷時間の2秒を加算した16秒である。
【0070】(17)同様に、第2行の印刷終端が第3
行の印刷領域右端3Rに対応する位置であると想定した
場合の第3行および第4行の最短の印刷パターンを演算
すると、第3行の印刷領域右端3Rから第3行の印刷領
域左端3Lへ逆方向に印刷し、その3Lから第4行の印
刷領域左端4Lまで移動し、その4Lから4Rまで印刷
するパターンとなる。その印刷処理時間は、第3行の印
刷時間の8秒に、3Lから4Lへの移動時間の6秒およ
び第4行の印刷時間の2秒を加算した16秒である。
行の印刷領域右端3Rに対応する位置であると想定した
場合の第3行および第4行の最短の印刷パターンを演算
すると、第3行の印刷領域右端3Rから第3行の印刷領
域左端3Lへ逆方向に印刷し、その3Lから第4行の印
刷領域左端4Lまで移動し、その4Lから4Rまで印刷
するパターンとなる。その印刷処理時間は、第3行の印
刷時間の8秒に、3Lから4Lへの移動時間の6秒およ
び第4行の印刷時間の2秒を加算した16秒である。
【0071】(e)次に、第2行の印刷処理時間を演算
する。まず、上述のように、第1行の印刷終端を第1行
の印刷領域左端1Lと想定しており、第2行の印刷終端
には上記の4つの点があるため、第2行を印刷するパタ
ーンとしては、第1行の印刷領域左端1Lを始点とした
4種類の印刷パターンが存在する。つまり、その4種類
の印刷パターンの印刷処理時間をそれぞれ演算する。
する。まず、上述のように、第1行の印刷終端を第1行
の印刷領域左端1Lと想定しており、第2行の印刷終端
には上記の4つの点があるため、第2行を印刷するパタ
ーンとしては、第1行の印刷領域左端1Lを始点とした
4種類の印刷パターンが存在する。つまり、その4種類
の印刷パターンの印刷処理時間をそれぞれ演算する。
【0072】(18)第2行の印刷終端が2Lである場
合の第2行の印刷処理時間は、第1行の印刷領域左端1
Lから第2行の印刷領域右端2Rへの移動時間の6秒
に、第2行の印刷領域右端2Rから第2行の印刷領域左
端2Lまでの印刷時間の3秒を加算した9秒である。
合の第2行の印刷処理時間は、第1行の印刷領域左端1
Lから第2行の印刷領域右端2Rへの移動時間の6秒
に、第2行の印刷領域右端2Rから第2行の印刷領域左
端2Lまでの印刷時間の3秒を加算した9秒である。
【0073】(19)第2行の印刷が第3行の印刷領域
左端3Lに対応する位置で終了する場合の第2行の印刷
処理時間は、第1行の印刷領域左端1Lから第2行の印
刷領域右端2Rへの移動時間の6秒に、第2行の印刷領
域右端2Rから第2行の印刷領域左端2Lまでの印刷時
間の3秒を加算し、さらに第2行の印刷領域左端2Lか
ら第3行の印刷領域左端3Lに対応する位置への移動時
間の3秒を加算した12秒である。
左端3Lに対応する位置で終了する場合の第2行の印刷
処理時間は、第1行の印刷領域左端1Lから第2行の印
刷領域右端2Rへの移動時間の6秒に、第2行の印刷領
域右端2Rから第2行の印刷領域左端2Lまでの印刷時
間の3秒を加算し、さらに第2行の印刷領域左端2Lか
ら第3行の印刷領域左端3Lに対応する位置への移動時
間の3秒を加算した12秒である。
【0074】(20)第2行の印刷終端が2Rである場
合の第2行の印刷処理時間は、第1行の印刷領域左端1
Lから第2行の印刷領域左端2Lへの移動時間の3秒
に、第2行の印刷領域左端2Lから第2行の印刷領域右
端2Rまでの印刷時間の3秒を加算した6秒である。
合の第2行の印刷処理時間は、第1行の印刷領域左端1
Lから第2行の印刷領域左端2Lへの移動時間の3秒
に、第2行の印刷領域左端2Lから第2行の印刷領域右
端2Rまでの印刷時間の3秒を加算した6秒である。
【0075】(21)第2行の印刷が第3行の印刷領域
右端3Rに対応する位置で終了する場合の第2行の印刷
処理時間は、第1行の印刷領域左端1Lから第2行の印
刷領域左端2Lへの移動時間の3秒に、第2行の印刷領
域左端2Lから第2行の印刷領域右端2Rまでの印刷時
間の3秒を加算し、さらに第2行の印刷領域右端2Rか
ら第3行の印刷領域右端3Rに対応する位置への移動時
間の2秒を加算した8秒である。
右端3Rに対応する位置で終了する場合の第2行の印刷
処理時間は、第1行の印刷領域左端1Lから第2行の印
刷領域左端2Lへの移動時間の3秒に、第2行の印刷領
域左端2Lから第2行の印刷領域右端2Rまでの印刷時
間の3秒を加算し、さらに第2行の印刷領域右端2Rか
ら第3行の印刷領域右端3Rに対応する位置への移動時
間の2秒を加算した8秒である。
【0076】(22)次に、上記(2)ないし(17)
で演算された第3行および第4行の最短の印刷処理時間
に上記(18)ないし(21)で演算された第2行の印
刷処理時間を加算して第2行ないし第4行の最短の印刷
パターンを演算する。上記(2)ないし(17)の演算
結果の(13秒:10秒:16秒:16秒)に上記(1
8)ないし(21)の演算結果の(9秒:12秒:6
秒:8秒)をそれぞれ加算すると、(22秒:22秒:
22秒:24秒)となる。したがって、最短の印刷処理
時間は22秒であり、この場合同じ22秒が3つあるた
め、最後の22秒(16秒+6秒)を選択する。
で演算された第3行および第4行の最短の印刷処理時間
に上記(18)ないし(21)で演算された第2行の印
刷処理時間を加算して第2行ないし第4行の最短の印刷
パターンを演算する。上記(2)ないし(17)の演算
結果の(13秒:10秒:16秒:16秒)に上記(1
8)ないし(21)の演算結果の(9秒:12秒:6
秒:8秒)をそれぞれ加算すると、(22秒:22秒:
22秒:24秒)となる。したがって、最短の印刷処理
時間は22秒であり、この場合同じ22秒が3つあるた
め、最後の22秒(16秒+6秒)を選択する。
【0077】(B)次に、第1行の印刷終端が第2行の
左端2Lに対応する位置である場合の第2行から第4行
の印刷方向および印刷処理時間を上記(A)と同様の演
算を行って求める。その演算結果だけを示すと、最短の
印刷パターンは、第2行を印刷領域左端2Lから順方向
に2Rまで印刷し(3秒)、その2Rから第3行の印刷
領域左端3Lまで移動し(6秒)、第3行を3Lから3
Rまで順方向に印刷し(8秒)、第4行を4Rから4L
まで逆方向に印刷する(2秒)パターンである。そし
て、その合計の印刷処理時間は、19秒である。
左端2Lに対応する位置である場合の第2行から第4行
の印刷方向および印刷処理時間を上記(A)と同様の演
算を行って求める。その演算結果だけを示すと、最短の
印刷パターンは、第2行を印刷領域左端2Lから順方向
に2Rまで印刷し(3秒)、その2Rから第3行の印刷
領域左端3Lまで移動し(6秒)、第3行を3Lから3
Rまで順方向に印刷し(8秒)、第4行を4Rから4L
まで逆方向に印刷する(2秒)パターンである。そし
て、その合計の印刷処理時間は、19秒である。
【0078】(C)次に、第1行の印刷終端が第1行の
印刷領域右端1Rに対応する位置である場合の第2行か
ら第4行の印刷方向および印刷処理時間を上記(A)と
同様の演算を行って求める。その演算結果だけを示す
と、最短の印刷パターンは、第2行を印刷領域左端2L
から順方向に2Rまで印刷し(3秒)、その2Rから第
3行の印刷領域左端3Lまで移動し(6秒)、第3行を
3Lから3Rまで順方向に印刷し(8秒)、第4行を4
Rから4Lまで逆方向に印刷する(2秒)パターンであ
る。そして、その合計の印刷処理時間は、19秒であ
る。なお、印刷処理時間が、上記(B)の印刷処理時間
と同じであるのは、図10に示すように、第1行の印刷
領域右端1Rと第2行の印刷領域左端2Lとが同じ位置
になっているためである。
印刷領域右端1Rに対応する位置である場合の第2行か
ら第4行の印刷方向および印刷処理時間を上記(A)と
同様の演算を行って求める。その演算結果だけを示す
と、最短の印刷パターンは、第2行を印刷領域左端2L
から順方向に2Rまで印刷し(3秒)、その2Rから第
3行の印刷領域左端3Lまで移動し(6秒)、第3行を
3Lから3Rまで順方向に印刷し(8秒)、第4行を4
Rから4Lまで逆方向に印刷する(2秒)パターンであ
る。そして、その合計の印刷処理時間は、19秒であ
る。なお、印刷処理時間が、上記(B)の印刷処理時間
と同じであるのは、図10に示すように、第1行の印刷
領域右端1Rと第2行の印刷領域左端2Lとが同じ位置
になっているためである。
【0079】(D)次に、第1行の印刷終端が第2行の
印刷領域右端2Rに対応する位置である場合の第2行か
ら第4行の印刷方向および印刷処理時間を上記(A)と
同様の演算を行って求める。その演算結果だけを示す
と、印刷パターンは、第2行を印刷領域右端2Rから逆
方向に2Lまで印刷し(3秒)、その2Lから第3行の
印刷領域左端3Lに対応する位置まで移動し(3秒)、
第3行を3Lから3Rまで順方向に印刷し(8秒)、第
4行を4Rから4Lまで逆方向に印刷する(2秒)パタ
ーンである。そして、その合計の印刷処理時間は、16
秒である。
印刷領域右端2Rに対応する位置である場合の第2行か
ら第4行の印刷方向および印刷処理時間を上記(A)と
同様の演算を行って求める。その演算結果だけを示す
と、印刷パターンは、第2行を印刷領域右端2Rから逆
方向に2Lまで印刷し(3秒)、その2Lから第3行の
印刷領域左端3Lに対応する位置まで移動し(3秒)、
第3行を3Lから3Rまで順方向に印刷し(8秒)、第
4行を4Rから4Lまで逆方向に印刷する(2秒)パタ
ーンである。そして、その合計の印刷処理時間は、16
秒である。
【0080】ここで、第1行の印刷処理時間を演算す
る。第1行の印刷を開始する前のキャリッジ位置は、ど
こであってもよいが、図10に示す例では、最大印刷可
能領域の左端「0」を開始点としている。したがって、
第1行の印刷終端が1Lであると想定した場合の第1行
の印刷処理時間は、キャリッジが1Lから1Rへ移動す
る時間の3秒に1Rから1Lまでの印刷時間の3秒を加
算した6秒である。また、第1行の印刷終端が第2行の
印刷領域左端2Lに対応する位置であると想定した場合
の第1行の印刷処理時間は、1Rから1Lまでの印刷時
間の3秒のみである。
る。第1行の印刷を開始する前のキャリッジ位置は、ど
こであってもよいが、図10に示す例では、最大印刷可
能領域の左端「0」を開始点としている。したがって、
第1行の印刷終端が1Lであると想定した場合の第1行
の印刷処理時間は、キャリッジが1Lから1Rへ移動す
る時間の3秒に1Rから1Lまでの印刷時間の3秒を加
算した6秒である。また、第1行の印刷終端が第2行の
印刷領域左端2Lに対応する位置であると想定した場合
の第1行の印刷処理時間は、1Rから1Lまでの印刷時
間の3秒のみである。
【0081】同様に、第1行の印刷終端が1Rとなるた
めの第1行の印刷処理時間は、2Lを印刷終端とした場
合と同じく3秒であり、また、第1行の印刷終端が2R
である場合には、1Lから1Rまでの印刷時間の3秒
に、1Rから2Rに移動する時間の3秒を加算した6秒
である。そこで、上記(A)ないし(D)で演算された
第2行ないし第4行の最短の印刷処理時間に上記第1行
の印刷処理時間を加算して、第1行から第4行までの印
刷を行う場合の合計の印刷処理時間を演算する。つま
り、上記(A)ないし(D)の演算結果の(22秒:1
9秒:19秒:16秒)に上記第1行の印刷処理時間の
(6秒:3秒:3秒:6秒)をそれぞれ加算すると、
(28秒:22秒:22秒:22秒)となる。
めの第1行の印刷処理時間は、2Lを印刷終端とした場
合と同じく3秒であり、また、第1行の印刷終端が2R
である場合には、1Lから1Rまでの印刷時間の3秒
に、1Rから2Rに移動する時間の3秒を加算した6秒
である。そこで、上記(A)ないし(D)で演算された
第2行ないし第4行の最短の印刷処理時間に上記第1行
の印刷処理時間を加算して、第1行から第4行までの印
刷を行う場合の合計の印刷処理時間を演算する。つま
り、上記(A)ないし(D)の演算結果の(22秒:1
9秒:19秒:16秒)に上記第1行の印刷処理時間の
(6秒:3秒:3秒:6秒)をそれぞれ加算すると、
(28秒:22秒:22秒:22秒)となる。
【0082】(E)次に、上記演算結果のうち最小の印
刷処理時間を選択する。図10に示す例では、22秒の
印刷処理時間が最小となるため、(B)ないし(D)の
いずれを選択してもよいが、ここでは最後の演算結果を
出した(D)の印刷パターンの組み合わせを選択する。
すなわち、第1行の印刷は、1Lから1Rまで順方向に
印刷し、その印刷終了位置を2Rとした場合が、最適
(最短時間)であることが求められる。
刷処理時間を選択する。図10に示す例では、22秒の
印刷処理時間が最小となるため、(B)ないし(D)の
いずれを選択してもよいが、ここでは最後の演算結果を
出した(D)の印刷パターンの組み合わせを選択する。
すなわち、第1行の印刷は、1Lから1Rまで順方向に
印刷し、その印刷終了位置を2Rとした場合が、最適
(最短時間)であることが求められる。
【0083】上記のように求められる第1行の印刷方向
および印刷終了位置の各データ「順方向、6(=2
R)」は、例えば、図4に示すように、印刷方向テーブ
ルの先頭行(第1行)に対応する領域に記憶されるが、
より具体的には、図5に示すステップ160で、着目行
「n」を「1」に設定し、且つキャリッジ位置「CR」
を「0」に設定した後に、図6に示す「MakeDir
(n,CR)」の処理ルーチン(ステップ170)を実
行することによって、第1行の印刷方向および印刷終了
位置の各データが印刷方向テーブルの先頭行(第1行)
に対応する領域に確定的に記憶されることになる。
および印刷終了位置の各データ「順方向、6(=2
R)」は、例えば、図4に示すように、印刷方向テーブ
ルの先頭行(第1行)に対応する領域に記憶されるが、
より具体的には、図5に示すステップ160で、着目行
「n」を「1」に設定し、且つキャリッジ位置「CR」
を「0」に設定した後に、図6に示す「MakeDir
(n,CR)」の処理ルーチン(ステップ170)を実
行することによって、第1行の印刷方向および印刷終了
位置の各データが印刷方向テーブルの先頭行(第1行)
に対応する領域に確定的に記憶されることになる。
【0084】そして、第1行の印刷方向および印刷終了
位置が確定した段階では、第2行以降の印刷方向および
印刷終了位置がいまだ確定していないために、続いて、
第2行の印刷方向および印刷終了位置を求めるべく、着
目行「n」を「2」に設定し、且つキャリッジ位置「C
R」を第1行の印刷終了位置(印刷終端)2Rに設定し
た状態で、再び、「MakeDir(n,CR)」の処
理ルーチン(ステップ170)を実行する。これによっ
て、第1行の印刷終端が2Rである場合の第2行以降の
印刷パターンが、上記と同じ処理手順によって演算さ
れ、第2行の印刷方向および印刷終了位置が確定するこ
とになる。図4に示す例では、第2行の印刷方向が「逆
方向」であり、印刷終了位置が「0(=3L)」であ
る。
位置が確定した段階では、第2行以降の印刷方向および
印刷終了位置がいまだ確定していないために、続いて、
第2行の印刷方向および印刷終了位置を求めるべく、着
目行「n」を「2」に設定し、且つキャリッジ位置「C
R」を第1行の印刷終了位置(印刷終端)2Rに設定し
た状態で、再び、「MakeDir(n,CR)」の処
理ルーチン(ステップ170)を実行する。これによっ
て、第1行の印刷終端が2Rである場合の第2行以降の
印刷パターンが、上記と同じ処理手順によって演算さ
れ、第2行の印刷方向および印刷終了位置が確定するこ
とになる。図4に示す例では、第2行の印刷方向が「逆
方向」であり、印刷終了位置が「0(=3L)」であ
る。
【0085】次に、第2行の印刷方向および印刷終了位
置が確定したならば、第3行の印刷方向および印刷終了
位置を求めるべく、着目行「n」を「3」に設定し、且
つキャリッジ位置「CR」を第2行の印刷終了位置(印
刷終端)3Lに設定した状態で、再び、「MakeDi
r(n,CR)」の処理ルーチン(ステップ170)を
実行する。これによって、第2行の印刷終端が3Lであ
る場合の第3行以降の印刷パターンが、上記と同じ処理
手順によって演算され、第3行の印刷方向および印刷終
了位置が確定することになる。図4に示す例では、第3
行の印刷方向が「順方向」であり、印刷終了位置が「8
(=4R)」である。
置が確定したならば、第3行の印刷方向および印刷終了
位置を求めるべく、着目行「n」を「3」に設定し、且
つキャリッジ位置「CR」を第2行の印刷終了位置(印
刷終端)3Lに設定した状態で、再び、「MakeDi
r(n,CR)」の処理ルーチン(ステップ170)を
実行する。これによって、第2行の印刷終端が3Lであ
る場合の第3行以降の印刷パターンが、上記と同じ処理
手順によって演算され、第3行の印刷方向および印刷終
了位置が確定することになる。図4に示す例では、第3
行の印刷方向が「順方向」であり、印刷終了位置が「8
(=4R)」である。
【0086】最後に、第3行の印刷方向および印刷終了
位置が確定したならば、第4行の印刷方向および印刷終
了位置を求めるべく、着目行「n」を「4」に設定し、
且つキャリッジ位置「CR」を第3行の印刷終了位置
(印刷終端)4Rに設定した状態で、再び、「Make
Dir(n,CR)」の処理ルーチン(ステップ17
0)を実行する。これによって、第3行の印刷終端が4
Rである場合の第4行の印刷パターンが、上記と同じ処
理手順によって演算され、第4行の印刷方向および印刷
終了位置が確定することになる。図4に示す例では、第
4行の印刷方向が「逆方向」であり、印刷終了位置が
「6(=4L)」である。
位置が確定したならば、第4行の印刷方向および印刷終
了位置を求めるべく、着目行「n」を「4」に設定し、
且つキャリッジ位置「CR」を第3行の印刷終了位置
(印刷終端)4Rに設定した状態で、再び、「Make
Dir(n,CR)」の処理ルーチン(ステップ17
0)を実行する。これによって、第3行の印刷終端が4
Rである場合の第4行の印刷パターンが、上記と同じ処
理手順によって演算され、第4行の印刷方向および印刷
終了位置が確定することになる。図4に示す例では、第
4行の印刷方向が「逆方向」であり、印刷終了位置が
「6(=4L)」である。
【0087】上記のようにして第1行から第4行までの
印刷方向および印刷終了位置が確定したならば、印刷方
向テーブルに記憶された先頭行から最終行までの各印刷
領域データ、および印刷方向と印刷終了位置の各データ
に基づいて印刷を実行することにより、第1行から第4
行までの印刷が最も短い印刷時間で効率的に印刷が行わ
れる。
印刷方向および印刷終了位置が確定したならば、印刷方
向テーブルに記憶された先頭行から最終行までの各印刷
領域データ、および印刷方向と印刷終了位置の各データ
に基づいて印刷を実行することにより、第1行から第4
行までの印刷が最も短い印刷時間で効率的に印刷が行わ
れる。
【0088】以上のように、本実施形態のプリンタによ
れば、受信された印刷データに基づいて、先頭行から最
終行までの各行の相互間における総ての印刷パターンの
組み合わせを想定し、その組み合わせの中で最小の印刷
処理時間の印刷パターンにしたがって印刷を行うことが
できる。したがって、従来のように2行分の最小の印刷
パターンを演算して印刷を行うものでは、3行以上の印
刷を行う場合において、必ずしも全体の印刷処理時間か
らすれば最短の印刷パターンで印刷を行うことができな
い場合が存在したが、本プリンタでは、3行以上の印刷
を行う場合において、最短時間で印刷することができ
る。しかも、再帰プログラムを用いて演算処理を行うよ
うにしていることから、プログラムを効率よく作成する
ことができるとともに、演算処理に使用するメモリ容量
を小さくして、プリンタの製造コストを低減することが
できる。
れば、受信された印刷データに基づいて、先頭行から最
終行までの各行の相互間における総ての印刷パターンの
組み合わせを想定し、その組み合わせの中で最小の印刷
処理時間の印刷パターンにしたがって印刷を行うことが
できる。したがって、従来のように2行分の最小の印刷
パターンを演算して印刷を行うものでは、3行以上の印
刷を行う場合において、必ずしも全体の印刷処理時間か
らすれば最短の印刷パターンで印刷を行うことができな
い場合が存在したが、本プリンタでは、3行以上の印刷
を行う場合において、最短時間で印刷することができ
る。しかも、再帰プログラムを用いて演算処理を行うよ
うにしていることから、プログラムを効率よく作成する
ことができるとともに、演算処理に使用するメモリ容量
を小さくして、プリンタの製造コストを低減することが
できる。
【0089】なお、上記実施形態で例示したように、先
頭行から最終行までの行数が少ない場合には、ステップ
170の演算処理時間が少なくて済むため、先頭行から
最終行までの総ての印刷データを対象として最短の印刷
パターンを迅速に求めることができる。しかし、1ペー
ジの印刷行数が極めて多い場合には、総ての行の印刷デ
ータを対象として演算を行うと、再帰処理の深さが増大
してかなりの処理時間が必要となるため、例えば演算速
度の遅いCPUを採用しているプリンタには妥当でな
い。そこで、そのような場合には、1ページの行数を少
なくとも3行以上の適当な行数ずつに区分し、その区分
された行数の単位で最短の印刷処理時間を求めるように
してもよい。
頭行から最終行までの行数が少ない場合には、ステップ
170の演算処理時間が少なくて済むため、先頭行から
最終行までの総ての印刷データを対象として最短の印刷
パターンを迅速に求めることができる。しかし、1ペー
ジの印刷行数が極めて多い場合には、総ての行の印刷デ
ータを対象として演算を行うと、再帰処理の深さが増大
してかなりの処理時間が必要となるため、例えば演算速
度の遅いCPUを採用しているプリンタには妥当でな
い。そこで、そのような場合には、1ページの行数を少
なくとも3行以上の適当な行数ずつに区分し、その区分
された行数の単位で最短の印刷処理時間を求めるように
してもよい。
【0090】ときに、上記実施形態では、理解を容易に
するため、キャリッジが所定の印刷速度に達するまでの
スルーアップ時間と、停止するまでのスルーダウン時
間、ならびにそのアップダウン領域については考慮して
いないが、実際の印刷動作においては、これらを考慮し
て印刷終端位置等を設定するようにし、且つ最短の印刷
処理時間を求めるようにすることは勿論である。また、
上記実施形態では、再帰プログラムによって、最も短い
印刷時間の組み合わせからなる印刷パターンを求めるよ
うにしているが、これに限定されることなく、例えば、
図9に示すような総ての印刷パターンの組み合わせを想
定して、それぞれの合計の印刷処理時間を算出し、その
算出結果をメモリに記憶して、その記憶値を比較するこ
とにより、最も短い時間の印刷パターンの組み合わせを
選択するようにしてもよい。
するため、キャリッジが所定の印刷速度に達するまでの
スルーアップ時間と、停止するまでのスルーダウン時
間、ならびにそのアップダウン領域については考慮して
いないが、実際の印刷動作においては、これらを考慮し
て印刷終端位置等を設定するようにし、且つ最短の印刷
処理時間を求めるようにすることは勿論である。また、
上記実施形態では、再帰プログラムによって、最も短い
印刷時間の組み合わせからなる印刷パターンを求めるよ
うにしているが、これに限定されることなく、例えば、
図9に示すような総ての印刷パターンの組み合わせを想
定して、それぞれの合計の印刷処理時間を算出し、その
算出結果をメモリに記憶して、その記憶値を比較するこ
とにより、最も短い時間の印刷パターンの組み合わせを
選択するようにしてもよい。
【0091】さらに、上記実施形態では、ホストコンピ
ュータ51から受信した印刷データに基づいて、先頭行
から最終行までの各行における印刷領域左側位置および
印刷領域右側位置の位置データを計算するようにしてい
るが、例えば、これらの位置データをも含めてホストコ
ンピュータ51から印刷データを受信する場合には、図
5に示す「印刷領域計算」のためのステップ130が不
要になる。また、上記実施形態では、プリンタ側のCP
U50が、ホストコンピュータ51から受信した印刷デ
ータに基づいて、総ての印刷パターンの組み合わせの中
から最も短い時間の印刷パターンの組み合わせを選択
し、先頭行から最終行までの各印刷領域データ、および
印刷方向と印刷終了位置の各データに基づいて印刷を実
行するようにしたものであるが、これに限らず、例え
ば、ホストコンピュータ51側で最短の印刷パターンを
求めるようにしてもよい。
ュータ51から受信した印刷データに基づいて、先頭行
から最終行までの各行における印刷領域左側位置および
印刷領域右側位置の位置データを計算するようにしてい
るが、例えば、これらの位置データをも含めてホストコ
ンピュータ51から印刷データを受信する場合には、図
5に示す「印刷領域計算」のためのステップ130が不
要になる。また、上記実施形態では、プリンタ側のCP
U50が、ホストコンピュータ51から受信した印刷デ
ータに基づいて、総ての印刷パターンの組み合わせの中
から最も短い時間の印刷パターンの組み合わせを選択
し、先頭行から最終行までの各印刷領域データ、および
印刷方向と印刷終了位置の各データに基づいて印刷を実
行するようにしたものであるが、これに限らず、例え
ば、ホストコンピュータ51側で最短の印刷パターンを
求めるようにしてもよい。
【0092】つまり、ホストコンピュータ51の中に
「ドライバ・ソフト」の1つとして組み込まれたプリン
タ・ドライバにより印刷データを作成して、その印刷デ
ータをプリンタに送信する際、予め上記同様な演算処理
をプリンタ・ドライバによって実行することにより、総
ての印刷パターンの組み合わせの中から最も短い時間の
印刷パターンの組み合わせを選択する。そして、その結
果求められた先頭行から最終行までの印刷方向と印刷終
了位置の各データを、印刷ヘッドの駆動信号データ(印
刷データ)とともにプリンタに送信する。
「ドライバ・ソフト」の1つとして組み込まれたプリン
タ・ドライバにより印刷データを作成して、その印刷デ
ータをプリンタに送信する際、予め上記同様な演算処理
をプリンタ・ドライバによって実行することにより、総
ての印刷パターンの組み合わせの中から最も短い時間の
印刷パターンの組み合わせを選択する。そして、その結
果求められた先頭行から最終行までの印刷方向と印刷終
了位置の各データを、印刷ヘッドの駆動信号データ(印
刷データ)とともにプリンタに送信する。
【0093】これに応答して、プリンタ側のCPU50
は、ホスト側から受信した各行毎の印刷方向と印刷終了
位置の各データを、RAM54の所定の領域に格納する
とともに、その格納データに従って、キャリッジの走行
方向ならびにその停止位置を制御し、且つ、所定の印刷
領域内で印刷ヘッド20を適宜駆動制御する。これによ
っても、上記実施形態と同様に、1ページの印刷を、最
短の印刷パターンに基づいて効率的に実行することがで
きる。この場合、ホスト側のプリンタ・ドライバとプリ
ンタとによって印刷装置が構成される。
は、ホスト側から受信した各行毎の印刷方向と印刷終了
位置の各データを、RAM54の所定の領域に格納する
とともに、その格納データに従って、キャリッジの走行
方向ならびにその停止位置を制御し、且つ、所定の印刷
領域内で印刷ヘッド20を適宜駆動制御する。これによ
っても、上記実施形態と同様に、1ページの印刷を、最
短の印刷パターンに基づいて効率的に実行することがで
きる。この場合、ホスト側のプリンタ・ドライバとプリ
ンタとによって印刷装置が構成される。
【0094】ところで、上記各実施形態において、RA
M54が、本発明に係る印刷データ蓄積手段に相当し、
CPU50は、ステップ100ないし220、およびス
テップ171ないし181を実行することにより、本発
明に係る印刷実行手段として機能する。また、本発明
は、上記インクジェットプリンタの他に、ワイヤードッ
トプリンタ、サーマルプリンタなどの印刷装置にも好適
に用いることができる。
M54が、本発明に係る印刷データ蓄積手段に相当し、
CPU50は、ステップ100ないし220、およびス
テップ171ないし181を実行することにより、本発
明に係る印刷実行手段として機能する。また、本発明
は、上記インクジェットプリンタの他に、ワイヤードッ
トプリンタ、サーマルプリンタなどの印刷装置にも好適
に用いることができる。
【0095】
【発明の効果】以上記述したように本発明によれば、3
行以上の印刷を行う場合において、最短時間で印刷する
ことができる。
行以上の印刷を行う場合において、最短時間で印刷する
ことができる。
【図1】本発明実施形態のプリンタの一部機構を取り出
して示す説明図である。
して示す説明図である。
【図2】図1に示すプリンタの制御系の構成を示すブロ
ック図である。
ック図である。
【図3】図2に示す制御系の中のゲートアレイ56を説
明するブロック図である。
明するブロック図である。
【図4】RAM54の一部に割当てられた印刷方向テー
ブルの記憶内容を示す説明図である。
ブルの記憶内容を示す説明図である。
【図5】CPU50の演算内容を示すメインルーチンの
フローチャートである。
フローチャートである。
【図6】図5に示すメインルーチンの中のステップ17
0の詳細を示すフローチャートである。
0の詳細を示すフローチャートである。
【図7】図5,図6に示すフローチャートの各記号の説
明図である。
明図である。
【図8】図6に示す各ステップ172〜177,180
〜182の処理内容の詳細を説明する図である。
〜182の処理内容の詳細を説明する図である。
【図9】CPU50の演算処理のアルゴリズムを示す説
明図である。
明図である。
【図10】本発明実施形態における印刷パターンを示す
説明図である。
説明図である。
【図11】(a)は、第1の従来装置による印刷パター
ンを示す説明図であり、(b)は、第2の従来装置によ
る印刷パターンを示す説明図である。
ンを示す説明図であり、(b)は、第2の従来装置によ
る印刷パターンを示す説明図である。
10 プリンタ(印刷装置) 12 印刷用紙(被印刷媒体) 18 CRモータ 20 印刷ヘッド 50 CPU(印刷実行手段) 51 ホストコンピュータ 54 RAM(印刷データ蓄積手段)
Claims (8)
- 【請求項1】 印刷ヘッドを被印刷媒体に沿って双方向
に走査させることにより、前記被印刷媒体上に行単位の
印刷を行う印刷装置において、 少なくとも3行分以上の印刷データを蓄積する印刷デー
タ蓄積手段と、 この印刷データ蓄積手段に蓄積された先頭行から最終行
までの印刷データに基づいて、前記印刷ヘッドが、各行
の印刷を実行するにあたり、印刷領域の一端から他端に
向かって印刷を行う第1の印刷パターンと、印刷領域の
他端から一端に向かって印刷を行う第2の印刷パターン
のいずれであっても実行可能であると想定して、前記先
頭行から最終行までの各行の相互間における総ての印刷
パターンの組み合わせの中から最も短い印刷時間の組み
合わせを選択して、この選択された組み合わせに基づい
て前記印刷ヘッドに印刷を実行させる印刷実行手段と、 が備えられたことを特徴とする印刷装置。 - 【請求項2】 前記印刷実行手段は、総ての印刷パター
ンの印刷時間を計算して、その計算結果を比較すること
により、最も短い印刷時間の組み合わせを選択すること
を特徴とする請求項1に記載の印刷装置。 - 【請求項3】 前記印刷実行手段は、総ての印刷パター
ンの中から最短と思われる複数の印刷パターンのみの印
刷時間を計算して、その計算結果を比較することによ
り、最も短い印刷時間の組み合わせを選択することを特
徴とする請求項1に記載の印刷装置。 - 【請求項4】 印刷ヘッドを被印刷媒体に沿って双方向
に走査させることにより、前記被印刷媒体上に行印刷を
行う印刷装置において、 少なくとも3行分以上の印刷データを蓄積する印刷デー
タ蓄積手段と、 この印刷データ蓄積手段に蓄積された印刷データに基づ
いて、前記印刷ヘッドが、現在の印刷終了位置から次の
行の印刷領域の一端へ移動してその一端から他端まで印
刷を行う第1の印刷パターンと、前記他端へ移動してそ
の他端から一端まで印刷を行う第2の印刷パターンと
を、前記蓄積された印刷データの先頭行から最終行まで
の各行の相互間において想定するとともに、その印刷パ
ターンの中から最短と思われる複数の印刷パターンの印
刷時間を計算して、その計算結果を比較することによ
り、最も短い印刷時間の組み合わせを選択し、この選択
された組み合わせに基づいて前記印刷ヘッドに印刷を実
行させる印刷実行手段と、 が備えられたことを特徴とする印刷装置。 - 【請求項5】 前記印刷実行手段は、前記印刷データ蓄
積手段に蓄積された先頭行から最終行までの印刷データ
に基づいて、ある1つの行に着目したとき、その着目行
の印刷が終了すると想定した位置を始点に次行以降の印
刷に必要な時間と、前行の印刷が終了すると想定した位
置を始点に着目行の印刷を実行し、かつ、その後に前記
着目行の印刷終了想定位置まで印刷ヘッドが移動するに
必要な時間との加算値を、前記着目行の印刷が終了する
と想定し得る位置毎にそれぞれ算出するとともに、その
算出結果のうちで最小値を選択する演算を、前記印刷デ
ータ蓄積手段に蓄積された印刷データの最終行の1つ前
の行から先頭行までについて順次行い、かつ、それらの
演算で最小値の算出された印刷パターンの組み合わせに
基づいて前記印刷ヘッドに印刷を実行させることを特徴
とする請求項4に記載の印刷装置。 - 【請求項6】 前記印刷実行手段は、再帰プログラムを
実行することによって印刷パターンの組み合わせを選択
することを特徴とする請求項4または5に記載の印刷装
置。 - 【請求項7】 前記印刷実行手段は、前記印刷データ蓄
積手段に蓄積された印刷データのうちの少なくとも3行
分以上の印刷データを部分的に抽出して、その初めと終
わりの行をそれぞれ先頭行ないし最終行としていること
を特徴とする請求項1ないし6のいずれか1つに記載の
印刷装置。 - 【請求項8】 前記印刷ヘッドは、前記被印刷媒体に向
けてインクを吐出して印刷を行うインクジェットヘッド
であることを特徴とする請求項1ないし7のいずれか1
つに記載の印刷装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5236496A JPH09216433A (ja) | 1996-02-15 | 1996-02-15 | 印刷装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5236496A JPH09216433A (ja) | 1996-02-15 | 1996-02-15 | 印刷装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09216433A true JPH09216433A (ja) | 1997-08-19 |
Family
ID=12912761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5236496A Pending JPH09216433A (ja) | 1996-02-15 | 1996-02-15 | 印刷装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09216433A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013121697A (ja) * | 2011-12-12 | 2013-06-20 | Brother Industries Ltd | インクジェット記録装置 |
US10611141B2 (en) | 2017-09-27 | 2020-04-07 | Casio Computer Co., Ltd. | Printing device, printing method, and non-transitory recording medium |
-
1996
- 1996-02-15 JP JP5236496A patent/JPH09216433A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013121697A (ja) * | 2011-12-12 | 2013-06-20 | Brother Industries Ltd | インクジェット記録装置 |
US10611141B2 (en) | 2017-09-27 | 2020-04-07 | Casio Computer Co., Ltd. | Printing device, printing method, and non-transitory recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080063455A1 (en) | Printing apparatus | |
EP0595517B1 (en) | Ink jet recording method and apparatus | |
US20070291059A1 (en) | Inkjet recording apparatus and inkjet recording method | |
US7407251B2 (en) | Printing method, computer-readable medium, printing apparatus, printing system, and pattern for correction | |
US8931869B2 (en) | Inkjet printing apparatus and inkjet printing method | |
US7396100B2 (en) | Ink jet printing apparatus and ink jet printing method | |
JP4185738B2 (ja) | インクジェット記録装置およびインクジェット記録方法 | |
JP5063183B2 (ja) | インクジェット記録装置及びインクジェット記録方法 | |
US20020051026A1 (en) | Recording apparatus | |
EP1112853A1 (en) | Ink-jet recording method and ink-jet recording apparatus with reciprocal recording | |
JP2002205390A (ja) | インクジェット記録装置及び予備吐出制御方法 | |
JP2000158712A (ja) | プリンタ装置及び印刷方法 | |
JPH09216433A (ja) | 印刷装置 | |
JP2007331274A (ja) | 記録装置、記録装置の制御方法、プログラム及び記憶媒体 | |
JP2008055855A (ja) | インクジェット記録装置およびその吐出制御方法 | |
JP2010000705A (ja) | インクジェット記録装置および記録ヘッドの温度制御方法 | |
JP2001334717A (ja) | 記録制御方法および記録装置 | |
JP4337398B2 (ja) | 印刷装置、印刷方法および印刷システム | |
JP4254041B2 (ja) | 記録装置および記録制御方法 | |
JP3376075B2 (ja) | 記録方法及び装置 | |
JP2019181893A (ja) | インクジェット記録装置及び記録方法 | |
JP2019014106A (ja) | 画像記録装置及び制御方法 | |
JP5135687B2 (ja) | インクジェットプリンタ | |
JP3552385B2 (ja) | プリンタ | |
JP2006255971A (ja) | 記録装置及び記録制御方法 |