説明

印刷装置

【課題】すでに文字や図形が印刷されている記録媒体上にも、文字や図形を互いに重なることなく印刷することができ、文字サイズを臨機応変に調整することができる走査式印刷装置を提供する。
【解決手段】自動調整モードにおいて(S1:Yes)、記録媒体上の画像をスキャンするだけで(S3)、その画像の空白部の副走査方向における最小の高さにおさまる最大の文字サイズが設定され(S5、S6)、そのサイズに基づいて印刷用のドットデータが生成される(S7)。これにより、空白部におさまるバランスのとれたサイズで所望の文字列等の印刷を行うことができる。また、文字サイズ選択スイッチによって指定した文字サイズに基づいて(S8)印刷を行うこともできるため、臨機応変な文字サイズの調整が可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置に関し、より具体的には、スキャナで画像を読み取り、画像の空白部の高さに応じて文字サイズを調整する機能を有するスキャナ・プリンタ一体型の走査式印刷装置に関する。
【背景技術】
【0002】
従来から、記録媒体上で、印刷装置本体を手動または自動で掃引することにより、文字や図形等を記録媒体上へ印刷する印刷装置が知られている。このような印刷装置では、通常、印刷装置の操作者は、まず、記録媒体上に印刷すべき文字や図形を入力するとともに、その印刷サイズを指定する必要がある。よって、例えば、操作者が、すでに記録媒体上に印刷されている別の文字や図形と同一のサイズで新たな文字や図形の印刷を行いたい場合は、すでに印刷されている文字や図形のサイズを見て、一般的に文字サイズの指定に使用されている「ポイント数」を指定しなければならない。そのためには、印刷されている文字や図形のサイズを測定し、それをポイント数に換算するという非常に煩雑な作業が必要であった。そこで、スキャナを用いてすでに印刷されている文字や図形の画像を読み取り、読み取った文字や画像のサイズから、それと同等の印刷文字サイズを自動的に選択して印刷を行う印刷装置が提案されている(例えば、特許文献1,2参照)。
【特許文献1】特開平9−226182号公報
【特許文献2】特開平9−226183号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、特許文献1および2に記載されている印刷装置は、スキャナで読み取った文字や図形のサイズに基づいて、一旦印刷文字サイズが設定されてしまうと、そのサイズが固定的に使用されるため、それ以降、操作者が所望のサイズに変更することができないという問題があった。また、すでに印刷されている文字や図形のサイズに基づいて印刷文字サイズが決定されるため、すでに印刷された文字列の行間等の空白部分に追加して印刷を行うと、空白部分のサイズが小さすぎて、設定された印刷文字サイズとが適合せず、文字や図形が重なって印刷されてしまう虞があった。
【0004】
本発明は、上記問題点を解決するためになされたものであり、すでに文字や図形が印刷されている記録媒体上にも、文字や図形を互いに重なることなく印刷することができ、操作者が臨機応変に印刷文字サイズを選択できる走査式の印刷装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、請求項1に係る発明の印刷装置は、記録媒体上に印刷される文字や図形のデータを入力する入力手段と、前記入力手段により入力された前記文字や図形のデータに基づき前記文字や図形を前記記録媒体上に印刷する印刷手段とを備え、前記記録媒体上を掃引されて前記文字や図形の印刷を行う印刷装置であって、前記印刷装置の前記記録媒体上での主走査方向の移動量を検出する移動量検出手段と、前記記録媒体上を掃引されて前記記録媒体上に印刷された画像を読み取る読取手段と、前記読取手段が読み取った前記記録媒体上の前記画像の空白部の副走査方向の高さの最小値を算出する空白部最小高さ算出手段と、前記空白部最小高さ算出手段によって算出された前記最小値におさまる範囲内で最大の文字サイズを算出する文字サイズ算出手段と、前記移動量検出手段により検出された前記移動量および前記文字サイズ算出手段により算出された前記最大の文字サイズに基づき、前記印刷手段の駆動を制御する印刷制御手段とを備えている。
【0006】
また、請求項2に係る発明の印刷装置は、請求項1に記載の発明の構成に加え、所望の文字サイズを指定する文字サイズ選択手段を備え、前記文字サイズ選択手段により前記所望の文字サイズが指定された場合には、前記印刷制御手段が、前記移動量検出手段により検出された前記移動量および前記文字サイズ選択手段により指定された前記所望の文字サイズに基づき、前記印刷手段の駆動を制御することを特徴とする。
【0007】
また、請求項3に係る発明の印刷装置は、請求項1または2に係る発明の構成に加え、前記印刷装置の前記主走査方向における移動方向を検出する移動方向検出手段を備え、前記印刷制御手段が、前記移動方向検出手段により検出された前記移動方向に応じて印刷手段の駆動を制御することを特徴とする。
【0008】
さらに、請求項4に係る発明の印刷装置は、請求項1乃至3の何れかに記載の発明の構成に加え、前記印刷装置の操作者による掃引が、右手と左手の何れで行われるのかを設定する利き手モード設定手段を備え、前記印刷制御手段が、前記利き手モード設定手段により設定されたモードで印刷手段の駆動を制御することを特徴とする。
【発明の効果】
【0009】
請求項1に係る発明の印刷装置によれば、記録媒体上にすでに印刷されている文字や図形等の画像を読み取り、その空白部のうち最も高さが小さい部分におさまる最大のサイズが印刷すべき文字サイズとして設定されるため、すでに印刷された文字や図形に、新たに印刷された文字や図形が重なるという不具合を回避することができる。また、印刷文字サイズの設定は自動的に行われるため、印刷装置の操作者が、すでに印刷されている文字や図形のサイズを測定する必要もない。
【0010】
また、請求項2に係る発明の印刷装置によれば、印刷装置の操作者が、すでに印刷された画像の空白部にあわせた文字サイズではなく、別途、所望の印刷文字サイズを指定することができる。これにより、例えば、空白部いっぱいに印刷するのではなく、そこにごく小さなサイズで印刷を行いたい場合や、文章の途中から異なったサイズで印刷を行いたい場合等に、臨機応変に印刷文字サイズを変更することができる。
【0011】
ここで、本発明のような、いわゆる走査式の印刷装置は、装置本体を記録媒体上で案内するローラ等の案内手段を有しており、ローラの案内する主走査方向に沿って、両方向に掃引が可能である。したがって、請求項3に係る発明の印刷装置のように、印刷装置が主走査方向に沿ってどちらの方向に掃引されているかを検出し、その検出結果に応じてインクジェットヘッド等の印刷手段の駆動を制御すれば、どちらの方向に掃引がなされても、所望の文字列等を正しく印刷することができる。
【0012】
また、装置本体の案内手段であるローラが適切に記録媒体に接する必要があるため、操作者が右手で装置本体を把持する場合と、左手で把持する場合では、紙面に対する装置本体の向きが上下逆転する。したがって、請求項4に係る発明の印刷装置のように、印刷装置が右手と左手のどちらで掃引されるのかを設定し、その設定に応じてインクジェットヘッド等の印刷手段の駆動を制御することにより、どちらの手で掃引がなされても、所望の文字列等を正しく印刷することができる。
【発明を実施するための最良の形態】
【0013】
以下、本発明を具体化した印刷装置の一実施の形態について、図面を参照して説明する。なお、各図面において、共通する構成要素については、同一の符号を付している。また、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている構成要素の寸法、形状、その相対配置などは特に特定的な記載がない限り、それのみに限定する趣旨ではなく、単なる説明例である。
【0014】
まず、図1〜図3を参照して、本実施形態に係る印刷装置1の構成について説明する。この印刷装置1は、記録媒体上を掃引されることにより、記録媒体上にすでに印刷された画像の読み取りや、別途入力された文字列、記号、図形等(以下、文字列等という)の新たな印刷を行うものである。特に、記録媒体上の画像のうち、印刷装置1の副走査方向における空白部分の高さの最小値を算出して、その最小値におさまるように、印刷する文字列等のサイズを調整することができる。図1は、印刷装置1の外観を示す正面図であり、図2は、印刷装置1の外観を示す右側面図である。また、図3は、印刷装置1の内部構造を示す、図1のAA線矢視断面図である。なお、これ以降、図1および図2における上下方向を印刷装置1の上下方向とし、図1に示す面を、印刷装置1の前面、図2に示す面を右側面、各々に対向する図示外の面を、各々、背面、左側面とする。
【0015】
図1〜図3に示すように、印刷装置1は、下面に開口部を有する薄い略箱型の筐体である本体部2を備えている。操作者が本体部2を把持して、画像の読み取りや文字列等の印刷のための掃引動作を行うため、本体部2の横幅と厚さは、一般的な操作者が把持しやすい程度の寸法に設定されている。さらに、通常、本体部2を、記録媒体表面に対して60度程度傾斜するように把持すると掃引動作がしやすいため(図14および図16参照)、図2および図3に示すように、本体部2の背面の下部には、前面側に向かって緩やかな傾斜面2aが設けられている。また、図14に示すように、本体部2の背面を下にして記録媒体表面に対して傾斜させたときに、本体部2の下面が記録媒体表面に略平行となるよう、本体部2の背面の長さは前面の長さよりも短く設定されている。
【0016】
操作者が掃引動作を行う際、記録媒体上で印刷装置1を案内するための案内手段であるローラ20が、本体部2背面の傾斜面2aの下端部近傍に、下面の開口部から下方に突出して設けられている。ローラ20の形状は、本体部2の幅方向に長い円筒形状であり、その表面は、記録媒体上を滑らかに回転移動するようゴム等の弾性材料で形成されている。また、図2に示すように、ローラ20は、回転中心軸21により、本体部2に回転自在に支持されている。そして、図3に示すように、この回転中心軸21には、ローラ20が記録媒体上を移動しながら回転するのに伴って回転するプーリ22が設けられている。プーリ22にはベルト23が掛け渡され、その回転力がロータリーエンコーダ24の回転円盤25に伝達されるよう構成されている。回転円盤25には、内周寄りと外周寄りに、各々放射線状に所定間隔でスリット27aおよび27bが形成されている。なお、スリット27aと27bとは、互いに位相を90°ずらして配置されている。そして、回転円盤25が回転したときにこれらのスリット27aおよび27bによってON/OFFされるスリット光を、フォトインタラプタ26により検出し、ローラの20の回転速度に応じたパルス信号に変換し、図示外のケーブルを介して後述する制御回路部60へ出力する。なお、本実施形態では、ローラ20およびロータリーエンコーダ24が、本発明の「移動量検出手段」および「移動方向検出手段」に相当する。
【0017】
また、図2および図3に示すように、本体部2下面の開口部には、ローラ20に隣接して、記録媒体に印刷を行う図示外のノズル列を備えたインクジェットヘッド30が設けられている。インクジェットヘッド30のノズル列の並びの方向は、ローラ20の回転中心軸21に対して平行に配置されている。そして、その上部には、インクタンク31が設けられ、インクジェットヘッド30にパイプ33を介してインクを供給している。また、インクジェットヘッド30は、図示外のケーブルによって、後述するヘッド駆動部32に接続されている。なお、本実施形態では、インクジェットヘッド30および後述するヘッド駆動部32が、本発明の「印刷手段」に相当する。
【0018】
さらに、図1〜3に示すように、本体部2下面の開口部には、インクジェットヘッド30に隣接して、記録媒体に印刷された文字列等の画像を読み取るCIS(Contact Image Sensor)方式のラインスキャナ40が設けられている。本実施形態では、ラインスキャナ40は、1/72インチ毎に一列に配置された72個のCCD素子を備えている。これらCCD素子の列の並びの方向は、インクジェットヘッド30と同じくローラ20の回転中心軸21に対して平行であり、その長さはインクジェットヘッド30のノズル列と同じである。このラインスキャナ40は、印刷装置1が記録媒体上を掃引されたときに、LED(図示外)から照射され、読み取り対象の画像が記録された記録媒体表面で反射された光を、集光レンズ(図示外)を介して各CCD素子が検出し、光電変換するものである。その後、シフト機能により電圧値をシフトし、各画素(CCD素子)に対応する光電変換された72個の電圧信号を、後述する制御回路部60に順次出力する。ここで、シフトクロックとして所定の周波数が用いられ、光強度のサンプリングとシフトアウトを所定の周期Tで繰り返すように、図示外のケーブルで接続されたスキャナコントローラ41が、ラインスキャナ40をコントロールしている。なお、本実施形態では、ラインスキャナ40およびスキャナコントローラ41が、本発明の「読取手段」に相当する。
【0019】
本体部2の内部には、その他、図3に示すように、印刷装置1に電力を供給するバッテリ50、CPU61、ROM62、RAM63を備えた制御回路部60、および図示外の外部コンピュータ等との間で、印刷される文字列等のデータの送受信を行う赤外線通信用のインターフェース部3が設けられている。
【0020】
さらに、図1に示すように、本体部2の外部には、印刷する文字列等、文字サイズ、電池やインクの残量等が表示される液晶表示部4、ラインスキャナ40の読み取り動作を開始させるスキャナスイッチ5、印刷装置1の印刷動作を開始させるプリントスイッチ6、印刷される文字列等のサイズ(ポイント数)調整方法を選択するための文字サイズ選択スイッチ7、操作者が右手と左手のどちらで操作を行うのか設定する利き手モード選択スイッチ8、および印刷装置1の電源のON/OFFを切り替える電源スイッチ9が設けられている。なお、文字サイズ選択スイッチ7は本発明の「文字サイズ選択手段」に相当し、利き手モード選択スイッチ8は、本発明の「利き手モード設定手段」に相当する。
【0021】
次に、本実施形態の印刷装置1の機能ブロック図である図4を参照して、印刷装置1の電気的構成について説明する。印刷装置1は、前述したように、本体部2の内部に制御回路部60を備えている。制御回路部60は、印刷装置1全体の制御と各種演算処理を行うCPU61、印刷装置1の動作を規定した各種の制御プログラムや、複数の異なるサイズの文字形状データ(フォントデータ)等を格納するROM62、およびインターフェース部3を介して入力された文字列等の各種データを記憶保持する領域や、各種演算処理において使用される演算領域等を有するRAM63を備えている。また、制御回路部60に接続されたロータリーエンコーダ24からは、ローラ20の回転速度を前述のように変換して得られた電気パルス信号が入力されている。さらに、制御回路部60には、ヘッド駆動部32が接続され、制御回路部60からの指示に応じて、インクジェットヘッド30のノズルを駆動している。さらに、制御回路部60には、ラインスキャナ40を前述のようにコントロールするスキャナコントローラ41が接続されている。そして、ラインスキャナ40で読み取られ、光電変換された画像信号は、スキャナコントローラ41を介して制御回路部60に入力されている。制御回路部60には、その他、前述のインターフェース部3、液晶表示部4、スキャナスイッチ5、プリントスイッチ6、文字サイズ選択スイッチ7、利き手モード選択スイッチ8、および電源スイッチ9が接続されている。
【0022】
次に、図5〜図12を参照して、本実施形態に係る印刷装置1の文字サイズ設定および印刷用ドットデータ生成の動作について説明する。図5は、印刷装置1の文字サイズ設定および印刷用ドットデータ生成のメイン制御処理のフローチャートである。図6〜8は、各々、空白部最小高さW算出処理、文字サイズ設定処理、印刷用ドットデータ生成処理のサブルーチンのフローチャートである。また、図9は、印刷ドットデータの配列を示す模式図である。図10および図11は、各々、文字サイズについて「自動調整」が選択された場合と「10ポイント」が選択された場合の、文字サイズ選択スイッチ7の拡大図である。図12は、文字列「ABCXYZ」を2行で印刷する場合の文字サイズ設定処理を説明する説明図である。なお、上記のフローチャートに示す処理は、制御回路部60のROM62にプログラムとして記憶されており、同じく制御回路部60のCPU61により実行される。
【0023】
まず、図5に示すメイン制御処理の開始以前に、印刷装置1の電源スイッチ9をONにした状態で、図示外の外部コンピュータ等から、印刷される文字列等の文字コード、フォント、装飾、行情報等を含むデータが赤外線通信によってインターフェース部3を介して入力される。例えば、図12に示す文字列「ABCXYZ」(文字サイズおよび余白は、図12に図示した数値は無関係)がコンピュータに入力され、そのデータが赤外線通信により印刷装置1に転送され、インターフェース部3を介して入力される。そして、この文字列等の入力データは、インターフェース部3に接続された制御回路部60のRAM63に記憶される。なお、赤外線通信を用いたデータの入力については既知であるため、詳細な説明は省略する。本実施形態では、インターフェース部3が、本発明の「入力手段」に相当する。
【0024】
次に、図5のフローチャートを参照して、印刷装置1のメイン制御処理について説明する。印刷装置1のスキャナスイッチ5がONにされると、図5に示すフローチャートのメイン制御処理が開始される。まず、制御回路部60のCPU61(図4参照)は、印刷装置1の文字サイズが自動調整モードに設定されているかどうかを判断する(S1)。この設定は、図10および図11に示す文字サイズ選択スイッチ7において、ツマミを左右に動かし、「自動調整」または所望の文字サイズを示す目盛に合わせることにより行うことができる。具体的には、文字サイズ選択スイッチ7が、図10に示すように「自動調整」に設定されていれば、自動調整モードであると判断して(S1:Yes)、ローラ20に接続されたロータリーエンコーダ24の信号検出(S2)に移る。一方、文字サイズ選択スイッチ7が、例えば図11に示すように「10ポイント」等、「自動調整」以外の位置に設定されている場合は、自動調整モードではないと判断し(S1:No)、後述する印刷用ドットデータの生成(S7)に移る。
【0025】
CPU61がロータリーエンコーダ24からのエンコーダ信号を検出した場合(S2)、ローラ20が回転を開始した、すなわち、操作者により、印刷装置1が記録媒体上を掃引されていることを意味する。よって、ラインスキャナ40により、記録媒体上の画像のスキャン(読み取り)が行われる。具体的には、ラインスキャナ40の一列に配置された72個のCCD素子により、前述の周期T毎に画像を1ラインずつスキャンして、光電変換した画像信号を制御回路部60に送り、制御回路部が備えるRAM63に1ライン毎に順次記憶させる(S3)。画像スキャンのための掃引動作が継続している間は、ローラ20が回転を続けるため、エンコーダ信号が停止せず(S4:No)、ラインスキャナ40によるスキャンが継続し、(S3)、前述の処理が繰り返される。その後、操作者が画像のスキャンを完了し、掃引動作を停止したためにローラ20の回転が停止すると、CPU61はエンコーダ信号を検出しなくなる。そこで、所定の時間内にそれ以上エンコーダ信号を検出しない場合、またはスキャナスイッチ5がOFFにされた場合は、CPU61は、スキャンが完了してエンコーダ信号が停止したと判断し(S4:Yes)、空白部高さ最小値Wの算出処理(S5)に移行する。
【0026】
次に、図6に示すサブルーチンのフローチャートを参照して、空白部最小高さW算出処理(S5)について説明する。まず、CPU61は、インターフェース部3を介して入力された文字列等の入力データや、ラインスキャナ40により読み取られた画像データが記憶されているのとは異なるRAM63の記憶領域Aの初期値をすべて"0"にリセットする(S11)。この記憶領域Aは、ラインスキャナ40で読み取った画像データの1ライン分について、記憶保持することができる領域である。次にCPU61は、RAM63に記憶されているラインスキャナ40で読み取った画像データのうち、先頭の(最初にスキャンした)1ライン(72画素)分のデータを取得し(S12)、各画素毎にデータを濃淡に応じて二値化する(S13)。具体的には、所定値以上の濃さが検出された画素は"1"、所定値未満の画素は"0"にデータを変換する。すなわち、読み取られた画像の中で、文字列等が印刷されていた部分の画素には"1"、空白部分の画素には"0"というデータが与えられることになる。その後、CPU61は、こうして二値化された1ライン分のデータと、記憶領域Aの値の論理和を算出し、これを記憶領域Aに保持する(S14)。記憶領域Aの初期値はすべて"0"であるから、先頭の1ライン分のデータが処理されたとき、先頭の1ライン分のデータがそのまま記憶領域Aに記憶されることになる。そして、CPU61がRAM63に記憶された画像データをすべてのライン分処理していないと判断した場合(S15:No)、CPU61は次の1ライン分のデータをさらに読み出し(S16)、前述の処理を繰り返す(S13、S14、S15)。
【0027】
RAM63に記憶された画像データの全ライン分の処理が完了すると(S15:Yes)、CPU61は、記憶領域Aに最終的に記憶保持されている1ライン(72画素)分のデータの中で、連続して並んでいる"0"の個数をカウントする(S17)。前述の通り、空白部分の画素には"0"が与えられているため、連続した"0"の個数は、印刷装置1の副走査方向において、画像中で常に空白であった部分の高さを意味する。本実施形態では、CCD素子の間隔は1/72インチであるから、CPU61は、カウントされた連続する"0"の個数に1/72を乗ずることにより、空白部最小高さW(インチ)を算出して、RAM63に記憶する(S18)。例えば、連続する"0"の個数が36個であれば、W=0.5インチが得られる。そして、図5に示すメイン制御処理に戻り、文字サイズの設定処理に移行する(S6)。なお、前述の空白部最小高さWの算出処理を行うCPU61が、本発明の「空白部最小高さ算出手段」に相当する。
【0028】
次に、図7に示すサブルーチンのフローチャートと、図12の説明図を参照して、空白部高さWに収まる文字サイズの設定処理(S6)について説明する。まず、文字サイズ設定処理が開始されると、CPU61は、前述のように算出され、RAM63に記憶された空白部最小高さWを取得する(S21)。そして、インターフェース部3を介して入力され、RAM63に記憶されている文字列等の入力データから、行数データを取得する(S22)。入力データとして、図12に示す文字列「ABCXYZ」が記憶されている場合、取得される行数データは"2"である。そして、CPU61は、行間余白サイズE(インチ)および上下余白サイズF(インチ)を所定の値(例えば、E=0.08、F=0.04)に設定する(S23)。その後、これらの値を用いて、空白部において文字列等の印刷が可能な高さZをZ=W−{E×(行数−1)+F×2}から算出する(S24)。図12の例では、印刷可能高さZ=0.5−(0.08+0.08)=0.34(インチ)となる。
【0029】
次に、CPU61は、印刷可能高さZがZ≦0を満たすかどうかを判断する(S25)。図12の例では、Z=0.34>0であり(S25:No)、文字列等を印刷できるだけの高さが空白部にあることを意味する。よって、空白部最小高さWにおさまる最大の文字サイズである文字ポイント数Yを、Y=Z/行数×72(小数点切捨て)から算出する(S26)。図12の例では、Y=0.34/2×72=12となる。すなわち、図12に示す文字列「ABCXYZ」に所定の余白を加えて2行で印刷した場合、空白部の最小高さ0.5インチにおさまる最大文字サイズは、12ポイントである。この後、CPU61は、得られた文字ポイント数Yが、印刷装置に搭載されているフォントの最小文字サイズ(例えば、5ポイント)よりも小さいかどうかを判断する(S27)。前述の例では、Y=12ポイント>5ポイントで最小文字サイズよりも大きいから(S27:No)、次のステップに進み、文字ポイント数Yが、印刷装置に搭載されているフォントの最大文字サイズ(例えば、20ポイント)よりも大きいかどうかを判断する(S28)。この場合、Y=12ポイント<20ポイントで最大文字サイズよりも小さいから(S28:No)、CPU61は、文字サイズY、行間余白サイズEおよび上下余白サイズFを、そのまま現在の値に設定し、これらをRAM63に記憶して(S29)、メイン制御処理に復帰する。なお、前述の空白部最小高さWにおさまる最大の文字サイズYの算出処理を行うCPU61が、本発明の「文字サイズ算出手段」に相当する。
【0030】
一方、図7に示す文字サイズ設定処理の印刷可能高さZに関する判断処理(S25)で、印刷可能高さZ≦0の場合(S25:Yes)は、空白部の高さがすでに余白だけで埋まってしまい、文字列等を印刷する部分がないことを意味する。よって、この場合、行間および上下の余白サイズを小さくすることを試みる。つまり、行間余白サイズEを所定の値(例えば、0.03インチ)だけ小さくするとともに、上下余白サイズFを所定の値(例えば、0.01インチ)だけ小さくする(S30)。ただし、余白にも、それ以上は小さくできない最小値があるため、小さくした余白サイズE,Fの何れかが、この余白最小値よりも小さくなっていないかどうか、判断する(S31)。その結果、これらの値が余白最小値以上であれば(S31:No)、文字列等の印刷が可能な高さZの算出処理(S24)に戻り、CPU61は、小さくした余白サイズE,Fを用いて前述の処理を繰り返す。一方、小さくした余白サイズE,Fの値が、余白最小値よりも小さい場合(S31:Yes)には、余白をそれ以上小さくすることができない。よって、空白部の高さが小さすぎて、文字列等を印刷する部分がないことを意味する。よって、CPU61は、液晶表示部4にその旨のエラーメッセージを表示させ(S32)、文字サイズを「NULL」としてRAM63に記憶させて(S33)、メイン制御処理に復帰する。
【0031】
また、図7に示す文字サイズ設定処理の文字サイズYに関する判断処理(S27)で、文字サイズY<最小文字サイズ(5ポイント)の場合(S27:Yes)は、空白部がほとんど余白だけで埋まってしまい、搭載されたポイント数で文字列等を印刷できるだけの高さがないということを意味する。よって、この場合も、前述と同様に、余白サイズを小さくすることを試みる。すなわち、行間余白サイズEを所定の値(例えば、0.03インチ)だけ小さくするとともに、上下余白サイズFを所定の値(例えば、0.01インチ)だけ小さくする(S34)。そして、小さくした余白サイズE,Fの何れかが、余白最小値よりも小さくなっていないかどうか、判断する(S35)。その結果、これらの値が余白最小値以上であれば(S35:No)、文字列等の印刷が可能な高さZの算出処理(S24)に戻り、CPU61は、小さくした余白サイズE,Fを用いて前述の処理を繰り返す。一方、小さくした余白サイズE,Fの値が、余白最小値よりも小さい場合(S35:Yes)には、余白をそれ以上小さくすることができない。すなわち、空白部の高さが小さすぎて、搭載されたポイント数では文字列等を印刷できないことを意味する。よって、CPU61は、液晶表示部4にその旨のエラーメッセージを表示させ(S36)、文字サイズを「NULL」としてRAM63に記憶させて(S37)、メイン制御処理に復帰する。
【0032】
また、図7に示す文字サイズ設定処理の文字サイズYに関する判断処理(S28)で、文字サイズY>最大文字サイズ(20ポイント)の場合(S28:Yes)は、空白部の高さが大きすぎ、印刷装置1に搭載されているフォントでは、空白部いっぱいには印刷できないことを意味する。よって、CPU61は、液晶表示部4に、搭載しているフォントの最大文字サイズ(20ポイント)で印刷を行う旨を表示させ(S38)、文字サイズYを最大文字サイズに設定するとともに、行間余白サイズEおよび上下の余白サイズFを、そのまま現在の値に設定し、これらをRAM63に記憶して(S39)、メイン制御処理に復帰する。
【0033】
図5に示すメイン制御処理において、文字サイズの設定処理(S6)が完了すると、CPU61は、印刷用ドットデータの生成処理を行う(S7)。以下、図8に示すサブルーチンのフローチャートと、印刷用ドットデータの配列を示す図9を参照して、この印刷用ドットデータの生成処理(S7)について説明する。処理が開始されると、CPU61はまず、RAM63に記憶されている文字サイズが「NULL」かどうかを判断する(S51)。文字サイズが「NULL」の場合(S51:Yes)は、印刷が不可能であるため、そのままメイン制御処理に戻って、処理を終了する。一方、文字サイズが「NULL」でない場合(S51:No)には、RAM63に記憶されている文字サイズYと、行間余白サイズEを取得する(S52)。このときの文字サイズYは、文字サイズ選択スイッチ7で、例えば、図11に示すように「10ポイント」が指定されている場合には、文字サイズ自動調整モードではないため(S1:No)、CPU61は、指定された文字サイズの「10ポイント」をYとして取得する(S8)。一方、印刷装置1が自動調整モードに設定されており(S1:Yes)、文字サイズ設定処理が行われた場合(S6)には、この処理で設定され、RAM63に記憶された文字サイズYを取得する。
【0034】
次に、CPU61は、図示外の外部コンピュータ等から、インターフェース部3を介して入力され、RAM63に記憶されている文字列「ABCXYZ」の入力データから、文字コード、フォント種、装飾、行情報を取得する(S53)。そして、取得した文字サイズY、文字コードおよびフォント種から、ROM62に記憶されているフォントデータのうち、該当するフォントデータを読み出し(S54)、装飾を施す(S55)。最後に、装飾を施したフォントデータを、行情報と行間余白サイズEに基づいて、RAM63に記憶する(S56)。図9は、このときRAM63に記憶された文字列「ABCXYZ」の最初の一文字である「A」の印刷用ドットデータの配列を示す模式図である。図中の升目は、RAM63における最小記憶単位を表しており、各記憶単位は、それぞれ行番号、列番号からなるアドレスで表すことができる(例えば、A1)。なお、図9では、説明を簡略化するため、10行×10列で一文字を構成してある。また、図中の黒い升目は"1"、白い升目は"0"の値がRAM63上で割り当てられ、その各ドットが黒ドットか白ドットかを示している。なお、残りの文字列「BCYXZ」についても、図9と同様の印刷用ドットパターンがRAM63に記憶される。また、文字の上下位置は、10行×10列の領域の上下方向で中央に揃えられている。
【0035】
次に、図13〜19を参照して、本実施形態に係る印刷装置1の印刷時の動作について説明する。図13は、印刷装置1の印刷時のメイン制御処理のフローチャートである。図14は、右手で印刷装置1を掃引する場合の印刷装置1の動きを説明する説明図であり、図15はこのときのインクジェットヘッド30のノズル列n1〜n10の配列を示すインクジェットヘッド30の底面図である。また、図16は、左手で印刷装置1を掃引する場合の印刷装置1の動きを説明する説明図であり、図17はこのときのインクジェットヘッド30のノズル列n1〜n10の配列を示すインクジェットヘッド30の底面図である。さらに、図18、図19は、各々、列内のデータ読出し順序を逆転する処理、列単位の読出し順序を逆転する処理のサブルーチンのフローチャートである。なお、図15および図17において、ノズル列のノズルの数を10個としているが、これは説明を簡略化するためである。
【0036】
ここでまず、図14〜図17を用いて、操作者による印刷装置1の掃引動作と、印刷装置1の向きの関係について、説明する。なお、図中の左右は、印刷装置1の掃引方向を示すものとする。操作者が、印刷装置1を把持して正面の机上に置かれた記録媒体(例えば、紙)に対面している場合、図14が右手で掃引を行う場合(右利きモード)、図16が左手で掃引を行う場合(左利きモード)を表している。つまり、印刷装置1は、記録媒体の印刷面に対して垂直ではなく、ローラ20が設けられた背面側を下にして、印刷装置1を把持する手の側に傾いた状態で掃引が行われる。したがって、印刷装置1の幅方向に沿って、ローラ20の回転中心軸21に平行に配置されたインクジェットヘッド30のノズル列の並びが、右手と左手で掃引するのでは、印刷装置1の主走査方向に対して逆転する。すなわち、右手で掃引する場合には、図15に示すように、ノズル列のノズルn1が図中の上方向(操作者から遠い側)にあるが、左手で掃引する場合には、図17に示すように、ノズル列のノズルn1が図中の下方向(操作者から近い側)になる。また、図14およびに図15に示すように、同じ右手で把持した場合でも、主走査方向に沿って印刷装置1を左右双方向へ掃引することが可能であり、ローラ20がA方向に回転するか、B方向に回転するかで、印刷の向きが逆転する。そこで、以下に詳述するように、印刷装置1では、印刷装置1を把持する手と、ローラ20の回転方向とを考慮して印刷を行う。なお、統計上、日本では右利きの人の方が左利きの人より多いことから、印刷装置1の印刷方向は、図14に示す右利きモードで右方向に掃引を行う(ローラ20の回転方向はA方向)場合が標準モードとして設定されている。
【0037】
以下、図13のフローチャートを参照して、印刷装置1の印刷時のメイン制御処理について説明する。前述のように、印刷文字サイズが設定され、印刷用ドットデータがRAM63に記憶された状態で、プリントスイッチ6をONにすると、図13に示すメイン制御処理が開始される。また、操作者はこのとき、右と左のどちらの手で掃引を行うかに応じて、利き手モード選択スイッチ8(図1参照)を「右利きモード」「左利きモード」のどちらかに設定する。そして、操作者が印刷装置1を記録媒体上で掃引すると、ローラ20が回転し、ロータリーエンコーダ24からのパルス信号が制御回路部60に入力され、このエンコーダ信号をCPU61が検出する(S61)。
【0038】
次に、CPU61は、このエンコーダ信号に基づき、ローラ20の回転方向がA方向かB方向かを判定する(S62)。前述したように、ロータリーエンコーダ24の回転円盤25には、互いに位相が90°ずらされた状態で、スリット27aと27bが形成されている。よって、例えば、図14に示す右利きモードによる右方向への掃引動作に伴って、ローラ20がA方向に回転した場合には、スリット27aのエンコーダ信号の波形に対して90°遅れた状態でスリット27bのエンコーダ信号の波形が検出される。反対に、左方向の掃引動作に伴って、ローラ20がB方向に回転した場合には、スリット27aのエンコーダ信号の波形に対して90°進んだ状態でスリット27bのエンコーダ信号の波形が検出されることになる。したがって、CPU61は、スリット27aと27bの波形の位相のずれから、ローラ20の回転方向を判定する(S62)。
【0039】
次いでCPU61は、利き手モード選択スイッチ8で選択されている利き手モードの情報を取得する(S63)。そして、選択されているのが「右利きモード」であると判断した場合(S64:Yes)は、掃引動作は図14のようになるため、ローラ20の回転方向がA方向かどうかを判断し(S65)、A方向であれば(S65:Yes)、標準モードであるから、そのまま印刷を行って(S66)処理を終了する。具体的には、文字列「ABCXYZ」を印刷する場合の先頭の文字「A」を例にとると、図9に示すようにRAM63の10行×10列の記憶領域に記憶されている印刷用ドットデータを、CPU61がアドレスA1、A2、A3・・・J8、J9、J10の順で読出し、1列ごとに、対応するノズルn1〜n10で印刷する。すなわち、アドレスA1のデータはノズルn1で、アドレスA2のデータはノズルn2で、という順に印刷を行い、A列の印刷が完了すると、B列に移り、再びアドレスB1〜B10までのデータをノズルn1〜n10で順に印刷し、J列のアドレスJ10まで印刷して終了する。このとき、CPU61は、ローラ20の回転速度(移動量)に対応するロータリーエンコーダ24からのパルス信号に基づいて、適切なタイミングで印刷用ドットデータをヘッド駆動部32に出力することによって、インクジェットヘッド30のノズルの駆動を制御している。このように印刷処理を行うCPU61が、本発明の「印刷制御手段」に相当する。
【0040】
一方、図13に示すメイン制御処理の利き手モードの判定処理(S64)において、左利きモードであると判定された場合(S64:No)は、図17に示すように、印刷装置1の副走査方向に沿ったインクジェットヘッド30のノズル列の並びが、標準モードのとき(図15)とは逆転していることを意味する。よって、CPU61は、印刷用ドットデータの列内の読出し順序を逆順に設定する(S67)。この具体的な処理について、図18に示すサブルーチンのフローチャートを参照して説明する。まず、CPU61は、印刷用ドットデータが記憶されているRAM63の記憶領域において、各列の読出しを始める先頭アドレスを、各列の終端に設定する(S81)。つまり、図9に示す例では、A列内のデータの読出し先頭アドレスをA10、B列の読出し先頭アドレスをB10、というように、J列まで同様に設定する。そしてさらに、各列内の読出し順序を、終端から始端方向に設定する(S82)。図9に示す例では、A列内のデータの読出し順を、A10、A9、A8・・・A1とし、同様に、B列からJ列までの列内のデータ読出し順をすべて10行目から1行目の方向へ逆転させ、図13に示すメイン制御処理に戻る。
【0041】
次に、CPU61は、前述のようにしてローラ20の回転方向を判定する(S68)。回転方向がB方向の場合(S68:Yes)は、図16および図17において、掃引が左から右方向に行われていることを意味するため、印刷方向は、標準モードと同じである。よって、そのまま印刷処理を行い(S66)、処理を終了する。この場合、前述したように、印刷用ドットデータの列内の読出し順序は逆順に設定されているので、アドレスA10のデータはノズルn1で、アドレスA9のデータはノズルn2で、という順にアドレスA1まで印刷を行い、A列の印刷が完了すると、B列に移り、アドレスB10〜B1の順にB列のデータをノズルn1〜n10で印刷し、同様にJ列のアドレスJ1まで印刷して終了する。
【0042】
一方、ローラ20の回転方向がA方向の場合(S68:No)は、図16および図17において、掃引が右から左方向に行われていることを意味するため、印刷方向は、標準モードとは逆になる。よって、CPU61は、印刷用ドットデータの列単位の読出し順序を逆順に設定する(S69)。この具体的な処理について、図19に示すサブルーチンのフローチャートを参照して説明する。まず、CPU61は、印刷用ドットデータが記憶されているRAM63の記憶領域において、読出しを始める先頭列を、最終列に設定する(S91)。つまり、図9に示す例では、データの読出し先頭列をJ列とする。その後、CPU61は、列の読出し順序を最終列から先頭列の方向に設定する(S92)。図9に示す例では、J列、I列、H列・・・C列、B列、A列の順に設定し、図13に示すメイン制御処理に戻り、印刷処理を行う(S66)。この場合、前述したように、印刷用ドットデータの列内の読出し順序および列単位の読出し順序の両方が逆順に設定されているので、まず、J列のデータについて、アドレスJ10のデータはノズルn1で、アドレスJ9のデータはノズルn2で、という順にアドレスJ1まで印刷を行い、J列の印刷が完了すると、I列に移り、アドレスI10〜I1の順にI列のデータをノズルn1〜n10で印刷し、同様にA列のアドレスA1まで印刷して終了する。
【0043】
また、図13に示すメイン制御処理の右手モードの回転方向判定処理(S65)において、回転方向がB方向と判定された場合(S65:No)は、図14および図15において、掃引が右から左方向に行われていることを意味するため、印刷方向は、標準モードとは逆になる。よって、CPU61は、前述したように、印刷用ドットデータの列単位の読出し順序を逆順に設定し(S70)、印刷を行って(S66)処理を終了する。図9の例では、まず、J列のデータについて、アドレスJ1のデータはノズルn1で、アドレスJ2のデータはノズルn2で、という順にアドレスJ10まで印刷を行い、J列の印刷が完了すると、I列に移り、アドレスI1〜I10の順にI列のデータをノズルn1〜n10で印刷し、同様にA列のアドレスA10まで印刷して終了する。
【0044】
以上説明したように、本発明に係る印刷装置1によれば、ラインスキャナ40で記録媒体上にすでに印刷されている画像を読み取るだけで、その画像中の空白部におさまる最大の文字サイズが設定されるため、すでに印刷された文字列等に重なることなく、空白部に新たに所望の文字列等をバランスよく印刷することができる。また、操作者が、文字サイズ選択スイッチ7によって所望の文字サイズを指定することもできるため、、臨機応変な文字サイズの設定が可能である。さらに、利き手モード選択スイッチ8で印刷装置1の掃引を行うのが右手か左手かを指定し、ロータリーエンコーダ24を用いて掃引方向を検出することにより、インクジェットヘッド30のノズルを適切に駆動して、文字列等が上下反転して印刷されたり、印刷が停止したりする不具合が生じることなく、所望の文字列等を正しく印刷することができる。
【0045】
なお、前述の実施形態に示される印刷装置の構成は例示であり、本発明は各種の変形が可能なことはいうまでもない。
【0046】
例えば、本実施形態では、印刷装置1を操作者が手で把持して掃引を行う手動走査式印刷装置として構成しているが、モータを内蔵し、自動で記録媒体上を移動する自動走査式印刷装置としてもよい。
【0047】
また、本実施形態では、入力手段として、外部のコンピュータ等と赤外線通信を行うインターフェース部3を設けたが、赤外線通信ではなく電波通信を行うようにしてもよいし、USBケーブル等で外部コンピュータ等と印刷装置1を接続し、データが入力されるようにしてもよい。さらに、本実施形態では、インターフェース部3を介して入力されたデータを基に、印刷装置1の制御回路部60が備えるCPU61、ROM62およびRAM63を用いて各種処理を行っているが、適宜、外部コンピュータ等と通信を行って、外部コンピュータ等が備えるCPU、ROMおよびRAMを用いて各種処理を行ってもよい。
【0048】
さらに、印刷装置1の移動量検出手段および移動方向検出手段として、ローラ20およびロータリーエンコーダ24を用いたが、他に、ホール素子を用いたエンコーダ等、速度および方向を検出可能な手段を用いることができる。
【0049】
また、本実施形態では、読取手段を構成するラインスキャナ40が備える検出素子にCCD素子を用いたが、CMOS等を用いることも可能である。
【0050】
さらに、本実施形態では、印刷手段としてインクジェットヘッド30を用いたが、感熱ヘッドやインパクトヘッドで構成することも可能である。
【図面の簡単な説明】
【0051】
【図1】印刷装置1の外観を示す正面図である。
【図2】印刷装置1の外観を示す右側面図である。
【図3】印刷装置1の内部構造を示す、図1のAA線矢視断面図である。
【図4】印刷装置1の電気的構成を説明する機能ブロック図である。
【図5】印刷装置1の文字サイズ設定および印刷用ドットデータ生成のメイン制御処理のフローチャートである。
【図6】空白部最小高さW算出処理のサブルーチンのフローチャートである。
【図7】文字サイズ設定処理のサブルーチンのフローチャートである。
【図8】印刷用ドットデータ生成処理のサブルーチンのフローチャートである。
【図9】印刷ドットデータの配列を示す模式図である。
【図10】文字サイズについて「自動調整」が選択された場合の、文字サイズ選択スイッチ7の拡大図である。
【図11】文字サイズについて「10ポイント」が選択された場合の、文字サイズ選択スイッチ7の拡大図である。
【図12】文字列「ABCXYZ」を2行で印刷する場合の文字サイズ設定処理を説明する説明図である。
【図13】印刷装置1の印刷時のメイン制御処理のフローチャートである。
【図14】右手で印刷装置1を掃引する場合の印刷装置1の動きを説明する説明図である。
【図15】右手で印刷装置1を掃引する場合のインクジェットヘッド30のノズル列n1〜n10の配列を示すインクジェットヘッド30の底面図である。
【図16】左手で印刷装置1を掃引する場合の印刷装置1の動きを説明する説明図である。
【図17】左手で印刷装置1を掃引する場合のインクジェットヘッド30のノズル列n1〜n10の配列を示すインクジェットヘッド30の底面図である。
【図18】列内のデータ読出し順序を逆転する処理のサブルーチンのフローチャートである。
【図19】列単位の読出し順序を逆転する処理のサブルーチンのフローチャートである。
【符号の説明】
【0052】
1 印刷装置
2 本体部
3 インターフェース部
4 液晶表示部
5 スキャナスイッチ
6 プリントスイッチ
7 文字サイズ選択スイッチ
8 利き手モード選択スイッチ
9 電源スイッチ
20 ローラ
21 回転中心軸
22 プーリ
23 ベルト
24 ロータリーエンコーダ
25 回転円盤
26 フォトインタラプタ
27a、27b スリット
30 インクジェットヘッド
31 インクタンク
32 ヘッド駆動部
33 パイプ
40 ラインスキャナ
41 スキャナコントローラ
50 バッテリ
60 制御回路部

【特許請求の範囲】
【請求項1】
記録媒体上に印刷される文字や図形のデータを入力する入力手段と、前記入力手段により入力された前記文字や図形のデータに基づき前記文字や図形を前記記録媒体上に印刷する印刷手段とを備え、前記記録媒体上を掃引されて前記文字や図形の印刷を行う印刷装置であって、
前記印刷装置の前記記録媒体上での主走査方向の移動量を検出する移動量検出手段と、
前記記録媒体上を掃引されて前記記録媒体上に印刷された画像を読み取る読取手段と、
前記読取手段が読み取った前記記録媒体上の前記画像の空白部の副走査方向の高さの最小値を算出する空白部最小高さ算出手段と、
前記空白部最小高さ算出手段によって算出された前記最小値におさまる範囲内で最大の文字サイズを算出する文字サイズ算出手段と、
前記移動量検出手段により検出された前記移動量および前記文字サイズ算出手段により算出された前記最大の文字サイズに基づき、前記印刷手段の駆動を制御する印刷制御手段とを備えたことを特徴とする印刷装置。
【請求項2】
所望の文字サイズを指定する文字サイズ選択手段を備え、
前記文字サイズ選択手段により前記所望の文字サイズが指定された場合には、前記印刷制御手段が、前記移動量検出手段により検出された前記移動量および前記文字サイズ選択手段により指定された前記所望の文字サイズに基づき、前記印刷手段の駆動を制御することを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記印刷装置の前記主走査方向における移動方向を検出する移動方向検出手段を備え、
前記印刷制御手段が、前記移動方向検出手段により検出された前記移動方向に応じて印刷手段の駆動を制御することを特徴とする請求項1または2に記載の印刷装置。
【請求項4】
前記印刷装置の操作者による掃引が、右手と左手の何れで行われるのかを設定する利き手モード設定手段を備え、
前記印刷制御手段が、前記利き手モード設定手段により設定されたモードで印刷手段の駆動を制御することを特徴とする請求項1乃至3の何れかに記載の印刷装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2008−55680(P2008−55680A)
【公開日】平成20年3月13日(2008.3.13)
【国際特許分類】
【出願番号】特願2006−233436(P2006−233436)
【出願日】平成18年8月30日(2006.8.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】