(57)【要約】【課題】媒体に対して適正に、かつ、円滑に印字を行うことができるようにする。【解決手段】媒体に発生したスキューを検出するスキュー検出部と、媒体の印字範囲を取得する印字範囲取得処理手段と、印字範囲に基づいてスキュー量の閾値を取得するスキュー閾値取得処理手段と、スキューのスキュー量を算出するスキュー量算出処理手段と、スキュー量が閾値以下である場合に印字を行う印字処理手段とを有する。印字範囲に基づいてスキュー量の閾値が取得され、スキュー検出部によって検出されたスキューのスキュー量が閾値以下である場合に印字が行われるので、媒体が規格サイズと異なる長尺の媒体、横長の媒体であっても、媒体に対して適正に印字を行うことができる。【選択図】図１
2014047071.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）媒体に発生したスキューを検出するスキュー検出部と、
（ｂ）媒体の印字範囲を取得する印字範囲取得処理手段と、
（ｃ）該印字範囲取得処理手段によって取得された印字範囲に基づいて、スキュー量の閾値を取得するスキュー閾値取得処理手段と、
（ｄ）前記スキュー検出部によって検出されたスキューのスキュー量を算出するスキュー量算出処理手段と、
（ｅ）前記スキュー量が閾値以下である場合に印字を行う印字処理手段とを有することを特徴とする画像形成装置。
【請求項２】
前記印字範囲取得処理手段は、受信データを解析することによって媒体の印字範囲を取得する請求項１に記載の画像形成装置。
【請求項３】
前記印字範囲取得処理手段は、１ページ分の受信データを解析することによって媒体の印字範囲を取得する請求項２に記載の画像形成装置。
【請求項４】
前記スキュー閾値取得処理手段は、前記媒体の印字範囲、及び基準の印字範囲に基づいてスキュー量の閾値を取得する請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
前記スキュー閾値取得処理手段は、前記媒体の印字範囲、及び基準の媒体の印字範囲に基づいてスキュー量の閾値を取得する請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項６】
前記印字範囲は印字範囲長である請求項１〜５のいずれか１項に記載の画像形成装置。
【請求項７】
前記印字範囲は印字範囲幅である請求項１〜５のいずれか１項に記載の画像形成装置。
【請求項８】
前記印字範囲取得処理手段は、前記印字範囲を上位装置から取得する請求項１に記載の画像形成装置。
【請求項９】
前記スキュー量の閾値は任意に設定される請求項１に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関するものである。
【背景技術】
【０００２】
従来、プリンタ、複写機、ファクシミリ、複合機等の画像形成装置、例えば、プリンタは、印字部、給紙機構等を備え、操作者が用紙、通帳等の媒体、例えば、用紙をテーブルにセットすると、給紙機構によって用紙が印字部に送られ、該印字部において用紙に対して印字が行われるようになっている。
【０００３】
ところで、前記プリンタにおいては、用紙に斜行、すなわち、スキューが発生すると、用紙の搬送に伴って、印字部に配設されたスキューセンサによってスキューの程度を表すスキュー量が検出され、スキュー量があらかじめ設定された所定の閾値より大きい場合、用紙がスキュー媒体とされ、印字部から排出される（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−５０９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来のプリンタにおいては、例えば、長尺の用紙に対して印字を行う場合、検出されたスキュー量が閾値以下であっても、用紙の後端の付近で印字位置が用紙の搬送方向（以下「副走査方向」という。）に対して直角の方向（以下「主走査方向」という。）において大きくずれることがあり、その場合、用紙に対して適正に印字を行うことができない。
【０００６】
そこで、長尺の用紙に対して印字を行う場合に、スキュー量の閾値を小さく設定することが考えられるが、その場合、用紙が過剰にスキュー媒体とされ、印字部から排出されてしまい、用紙に対して円滑に印字を行うことができなくなってしまう。
【０００７】
本発明は、前記従来のプリンタの問題点を解決して、媒体に対して適正に、かつ、円滑に印字を行うことができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
そのために、本発明の画像形成装置においては、媒体に発生したスキューを検出するスキュー検出部と、媒体の印字範囲を取得する印字範囲取得処理手段と、該印字範囲取得処理手段によって取得された印字範囲に基づいて、スキュー量の閾値を取得するスキュー閾値取得処理手段と、前記スキュー検出部によって検出されたスキューのスキュー量を算出するスキュー量算出処理手段と、前記スキュー量が閾値以下である場合に印字を行う印字処理手段とを有する。
【発明の効果】
【０００９】
本発明によれば、画像形成装置においては、媒体に発生したスキューを検出するスキュー検出部と、媒体の印字範囲を取得する印字範囲取得処理手段と、該印字範囲取得処理手段によって取得された印字範囲に基づいて、スキュー量の閾値を取得するスキュー閾値取得処理手段と、前記スキュー検出部によって検出されたスキューのスキュー量を算出するスキュー量算出処理手段と、前記スキュー量が閾値以下である場合に印字を行う印字処理手段とを有する。
【００１０】
この場合、媒体の印字範囲が取得され、取得された印字範囲に基づいてスキュー量の閾値が取得され、スキュー検出部によって検出されたスキューのスキュー量が閾値以下である場合に印字が行われるので、媒体が規格サイズと異なる長尺の媒体、横長の媒体等であっても、媒体に対して適正に印字を行うことができる。
【００１１】
また、スキュー量の閾値を小さく設定する必要がないので、媒体に対して円滑に印字を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態におけるプリンタの制御ブロック図である。
【図２】本発明の第１の実施の形態におけるプリンタの要部を示す平面図である。
【図３】本発明の第１の実施の形態におけるプリンタの要部を示す概念図である。
【図４】標準の用紙にスキューが発生した状態を示す第１の図である。
【図５】標準の用紙にスキューが発生した状態を示す要部拡大図である。
【図６】長尺の用紙にスキューが発生していない状態を示す図である。
【図７】長尺の用紙にスキューが発生した状態を示す図である。
【図８】本発明の第１の実施の形態における標準の用紙にスキューが発生した状態と長尺の用紙にスキューが発生した状態との関係を示す図である。
【図９】本発明の第１の実施の形態における標準の用紙にスキューが発生した状態と長尺の用紙にスキューが発生した状態との関係を示す詳細図である。
【図１０】本発明の第１の実施の形態における主制御部の第１の制御ブロック図である。
【図１１】本発明の第１の実施の形態における主制御部の第１の動作を示すフローチャートである。
【図１２】本発明の第１の実施の形態における印字範囲長取得処理のサブルーチンを示す図である。
【図１３】本発明の第１の実施の形態におけるスキュー閾値取得処理のサブルーチンを示す図である。
【図１４】本発明の第１の実施の形態における給紙実行処理のサブルーチンを示す図である。
【図１５】本発明の第１の実施の形態における主制御部の第２の制御ブロック図である。
【図１６】本発明の第１の実施の形態における主制御部の第２の動作を示すフローチャートである。
【図１７】本発明の第１の実施の形態における用紙排出処理のサブルーチンを示す図である。
【図１８】本発明の第２の実施の形態におけるプリンタの制御ブロック図である。
【図１９】標準の用紙にスキューが発生した状態を示す第２の図である。
【図２０】横長の用紙にスキューが発生していない状態を示す図である。
【図２１】横長の用紙にスキューが発生した状態を示す図である。
【図２２】本発明の第２の実施の形態における横長の用紙にスキューが発生した状態を示す図である。
【図２３】本発明の第２の実施の形態における標準の用紙にスキューが発生した状態と横長の用紙にスキューが発生した状態との関係を示す詳細図である。
【図２４】本発明の第２の実施の形態における主制御部の第１の制御ブロック図である。
【図２５】本発明の第２の実施の形態における主制御部の第１の動作を示すフローチャートである。
【図２６】本発明の第２の実施の形態における印字範囲幅取得処理のサブルーチンを示す図である。
【図２７】本発明の第２の実施の形態におけるスキュー閾値取得処理のサブルーチンを示す図である。
【図２８】本発明の第２の実施の形態における主制御部の第２の制御ブロック図である。
【図２９】本発明の第２の実施の形態における主制御部の第２の動作を示すフローチャートである。
【図３０】本発明の第２の実施の形態における用紙排出処理のサブルーチンを示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。この場合、画像形成装置としてのプリンタ、本実施の形態においては、ドット式のプリンタについて説明する。
【００１４】
図１は本発明の第１の実施の形態におけるプリンタの制御ブロック図である。
【００１５】
図において、Ｐｒはプリンタ、１０は制御部であり、該制御部１０は、主制御部１１、及び該主制御部１１に接続された機構制御部１２を備える。
【００１６】
前記主制御部１１は、上位装置としての図示されないホストコンピュータから送信される印刷データ及び制御コマンドを受信制御部５０を介して受信し、受信データとして受信バッファ５１に記録する。また、主制御部１１は、前記受信バッファ５１に記録された受信データを読み出し、受信データを解析したり、媒体としての用紙における印字が可能な領域、すなわち、印字領域を算出し、本実施の形態においては、用紙の長さ方向における印字領域の長さを第１の印字範囲としての印字範囲長として算出したりする。
【００１７】
前記機構制御部１２には、複数のドットピンを備えた印字ヘッド２３、該印字ヘッド２３を主走査方向に移動させるための走査用の駆動部としてのスペースモータ２０、一対のローラから成る第１の搬送部材としてのフィードローラ１７及び第２の搬送部材としてのプラテン１６を回転させて、用紙を副走査方向に搬送し、用紙の改行を行うための搬送用の駆動部としてのフィードモータ１５、並びにスキュー補正部材としての、かつ、第３の搬送部材としてのスリップローラ２２を回転させて、用紙に発生したスキューを補正するためのスキュー補正用の駆動部としてのスキュー補正モータ２１が接続される。
【００１８】
また、前記制御部１０に、検出回路部２４、操作部としての、かつ、表示部としてのパネル２７、第１の記憶装置としての不揮発性メモリ２８、及び第２の記憶装置としてのメモリ４０が接続される。
【００１９】
そして、前記検出回路部２４には、載置部としての図示されないテーブルにセットされた用紙の前端を検出する媒体検出部としてのテーブルセンサ２５、及び給紙時に用紙に発生したスキュー量を検出するスキュー検出部としてのスキューセンサ２６ａ、２６ｂが接続される。
【００２０】
また、前記メモリ４０は、受信バッファ５１を参照するためのオフセットである受信バッファポインタが記録される第１の記録部としてのポインタ記録部４１、印字範囲長が取得されたかどうかを示す取得済フラグとしての印字範囲長取得済フラグが記録される第２の記録部としての取得済フラグ記録部４２、取得された印字範囲長が記録される第３の記録部としての印字範囲長記録部４３、用紙が長尺の用紙であるかどうかを判断するための基準値としての基準の印字範囲長、本実施の形態においては、基準の用紙の印字範囲長が記録される第４の記録部としての基準印字範囲長記録部４４、印字に使用される用紙のスキュー量の許容量が閾値として記録される第５の記録部としてのスキュー閾値記録部４５、基準の用紙のスキュー量の許容量が基準閾値として記録される第６の記録部としての基準閾値記録部４６、スキュー量が記録される第７の記録部としてのスキュー量記録部４７、受信データが解析され、印字範囲長が算出される際に改行コマンドで指定された改行量が記録される第８の記録部としての改行量記録部４８、及び１ページ分の受信データの解析が終了したことを示すページ終了フラグが記録される第９の記録部としてのページ終了フラグ記録部４９を備える。なお、メモリ４０に記録された各情報は、プリンタＰｒの電源が投入されたとき、初期化が実行されたとき等に、初期値に設定される。
【００２１】
次に、前記プリンタＰｒの給紙機構について説明する。
【００２２】
図２は本発明の第１の実施の形態におけるプリンタの要部を示す平面図、図３は本発明の第１の実施の形態におけるプリンタの要部を示す概念図である。
【００２３】
図において、１６は回転自在に配設されたプラテン、２３は該プラテン１６と対向させて配設された印字ヘッド、２９は該印字ヘッド２３を保持する図示されないキャリッジを案内するキャリッジガイド、３０は用紙Ｐをセットするためのテーブル、３１は印字ヘッド２３の下端に取り付けられ、用紙Ｐをプラテン１６に向けて押すヘッドプロテクタである。なお、前記プラテン１６は、回転させられるのに伴って用紙Ｐを搬送し、前述されたように、第２の搬送部材として機能するとともに、用紙Ｐを支持する媒体支持部材としても機能する。
【００２４】
そして、副走査方向における印字ヘッド２３より上流側に、給紙機構Ｍｅが配設される。該給紙機構Ｍｅは、前記フィードローラ１７、スリップローラ２２、テーブルセンサ２５、スキューセンサ２６ａ、２６ｂ等から成り、印字ヘッド２３とプラテン１６との間の印字部に用紙Ｐを送る。
【００２５】
前記フィードローラ１７は、副走査方向における印字ヘッド２３より上流側において回転自在に配設され、フィードローラ１７が回転させられることによって、用紙Ｐが印字部に向けて矢印Ａ方向に搬送される。そして、前記フィードローラ１７は、シャフト部１７ａ、及び該シャフト部１７ａの軸方向における複数箇所、本実施の形態においては、５箇所に、所定の間隔を置いて配設されたローラ本体部１７ｂを備える。なお、テーブル３０より上方のフィードローラ１７の各ローラ本体部１７ｂと、テーブル３０より下方のフィードローラ１７の各ローラ本体部１７ｂとは互いに当接させられ、当接する部分に当接点が形成される。
【００２６】
前記スリップローラ２２は、副走査方向における前記フィードローラ１７より上流側において、テーブル３０と対向させて回転自在に配設され、スリップローラ２２が回転させられることによって、用紙Ｐがフィードローラ１７に向けて矢印Ａ方向に搬送される。また、前記スリップローラ２２は、シャフト部２２ａ、及び該シャフト部２２ａの軸方向における複数箇所、本実施の形態においては、５箇所に、所定の間隔を置いて配設されたローラ本体部２２ｂを備える。該ローラ本体部２２ｂは用紙Ｐに対して十分にスリップするように、摩擦係数の低い柔軟なゴム材料によって所定の形状に形成される。
【００２７】
なお、前記ローラ本体部１７ｂ、２２ｂは、主走査方向（シャフト部１７ａ、２２ａの軸方向）における互いに対応する位置に置かれる。
【００２８】
そして、前記印字部におけるヘッドプロテクタ３１上に、プラテン１６と対向させて前記スキューセンサ２６ａ、２６ｂが配設され、副走査方向におけるフィードローラ１７より上流側で、かつ、スリップローラ２２より下流側におけるテーブル３０上に、各ローラ本体部２２ｂと近接させて前記テーブルセンサ２５が配設される。なお、前記スキューセンサ２６ａ、２６ｂは、主走査方向における複数箇所、本実施の形態においては、２箇所に、印字ヘッド２３に隣接させて配設され、前記テーブルセンサ２５は、主走査方向における複数箇所、本実施の形態においては、５箇所に、各ローラ本体部２２ｂと近接させて配設される。
【００２９】
ところで、操作者がテーブル３０上においてスリップローラ２２に前端を押し付けて用紙Ｐをセットすると、前記テーブルセンサ２５によって用紙Ｐの前端が検出され、スキュー補正モータ２１が駆動され、スリップローラ２２が回転させられ、用紙Ｐがフィードローラ１７に向けて搬送される。このとき、図２に示されるように、用紙Ｐが斜めにセットされてスキューが発生していると、用紙Ｐの前端が各ローラ本体部１７ｂのうちの所定のローラ本体部１７ｂの当接点に突き当たる。
【００３０】
この場合、前記各ローラ本体部１７ｂと各ローラ本体部２２ｂとは主走査方向において互いに対応する位置に置かれているので、用紙Ｐの前端が所定のローラ本体部１７ｂの当接点に突き当たると、その後、ローラ本体部２２ｂのうちの前記所定のローラ本体部１７ｂと対応するローラ本体部２２ｂは、用紙Ｐに対してスリップして回転させられる。したがって、前記所定のローラ本体部１７ｂと対応するローラ本体部２２ｂによる用紙Ｐの搬送は行われない。
【００３１】
そして、用紙Ｐの前端が所定のローラ本体部１７ｂの当接点に突き当たった後、用紙Ｐは他のローラ本体部２２ｂによって搬送され、用紙Ｐの前端が他の各ローラ本体部１７ｂの当接点に順次突き当たる。それに伴って、他の各ローラ本体部１７ｂに対応する各ローラ本体部２２ｂが用紙Ｐに対してスリップして回転させられ、各ローラ本体部２２ｂによる用紙Ｐの搬送が行われなくなる。
【００３２】
このようにして、操作者が用紙Ｐをセットしたときに発生したスキューが補正される。
【００３３】
その後、各ローラ本体部２２ｂが用紙Ｐに対してスリップしている状態で、前記スリップローラ２２が所定量だけ回転させられると、フィードモータ１５が正方向に駆動され、プラテン１６及びフィードローラ１７が回転させられ、用紙Ｐは印字部に送られる。
【００３４】
用紙Ｐが印字部に送られると、スキューセンサ２６ａ、２６ｂによって用紙Ｐの前端が検出され、用紙Ｐの前端が検出されてからの用紙Ｐの改行量の差分によって表される検出差が主制御部１１によってスキュー量として算出される。そして、前記主制御部１１は、スキュー量が閾値より大きいかどうかを判断し、スキュー量が閾値より大きい場合、スキューが十分に補正されていないと判断し、前記フィードモータ１５を逆方向に駆動し、プラテン１６及びフィードローラ１７を逆方向に回転させ、用紙Ｐを印字部から排出する。なお、前記スキュー量は、スキューセンサ２６ａ、２６ｂのうちの一方のスキューセンサが用紙Ｐの前端を検出してから他方のスキューセンサが用紙Ｐの前端を検出するまでの用紙Ｐの改行量に相当する。
【００３５】
また、スキュー量が閾値以下である場合、主制御部１１はスキューが十分に補正されていると判断し、フィードモータ１５を更に正方向に駆動し、プラテン１６及びフィードローラ１７を正方向に回転させる。その結果、用紙Ｐは印字部に送られ、印字部において用紙Ｐに対して印字が行われる。
【００３６】
次に、例えば、Ａ４判のような、国際規格サイズにおけるＡ判の用紙、Ｂ５判のような、国内規格サイズにおけるＢ判の用紙等のように、用紙の幅、すなわち、用紙幅、及び用紙の長さ、すなわち、用紙長が規定されている規格サイズの用紙、すなわち、標準の用紙を使用した場合に発生するスキューについて説明する。
【００３７】
図４は標準の用紙にスキューが発生した状態を示す第１の図、図５は標準の用紙にスキューが発生した状態を示す要部拡大図である。
【００３８】
図においては、標準の用紙Ｐ１を副走査方向（図における縦方向）に搬送したときに用紙Ｐ１に最大の許容量のスキューが発生した状態が示される。
【００３９】
図において、用紙Ｐ１の前端をｅｇｆとし、後端をｅｇｒとし、一方の側縁、本実施の形態においては、左縁をｅｇｓとし、前端ｅｇｆと左縁ｅｇｓとの交点をｃｆとし、後端ｅｇｒと左縁ｅｇｓとの交点をｃｒとする。また、交点ｃｆを通り、副走査方向に延びる線と、交点ｃｒを通り、主走査方向に延びる線との交点をｃｒ′とする。
【００４０】
この場合、交点ｃｆ、ｃｒ、ｃｒ′によって左縁ｅｇｓを斜辺とする直角三角形が形成され、左縁ｅｇｓと、交点ｃｆ、ｃｒ′間に延びる線分ｅｇｓ′とが成す角度をスキュー角θ１とし、用紙Ｐ１の用紙長をＬ１とし、スキューの発生に伴う交点ｃｒ、ｃｒ′間の距離、すなわち、用紙Ｐ１の後端における主走査方向のずれ量をｘ１とすると、線分ｅｇｓ′の長さは、直角三角形の余弦の長さＬ１′
Ｌ１′＝Ｌ１×ｃｏｓθ１
になり、次の式で表される。
【００４１】
【数１】
2014047071.tif 000003
【００４２】
なお、スキュー角θ１は１〔°〕程度の小さい値であるので、長さＬ１′を用紙長Ｌ１と近似させ、
Ｌ１′＝Ｌ１
とすることができる。
【００４３】
次に、例えば、標準の用紙Ｐ１と用紙幅が等しく、標準の用紙Ｐ１より用紙長が長い、規格サイズと異なる長尺の用紙を使用した場合に発生するスキューについて説明する。
【００４４】
図６は長尺の用紙にスキューが発生していない状態を示す図、図７は長尺の用紙にスキューが発生した状態を示す図である。
【００４５】
この場合、長尺の用紙Ｐ２は、プレプリント用紙であり、標準の用紙Ｐ１（図４）と等しい用紙幅、及び標準の用紙Ｐ１の２倍の用紙長Ｌ２
Ｌ２＝２×Ｌ１
を有する。
【００４６】
そして、用紙Ｐ２には複数の、例えば、四つの印字エリアＡＲ１〜ＡＲ４が設定され、該印字エリアＡＲ１〜ＡＲ４には罫線枠があらかじめ印刷され、各罫線枠内にテキスト−１〜テキスト−４がそれぞれ印字される。例えば、テキスト−２は「１２３４」の文字列から成り、テキスト−３は「ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ」の文字列から成る。なお、用紙Ｐ２の前端から実際に印字が行われる範囲を表す印字領域の後端、この場合、テキスト−１〜テキスト−４のうちの用紙Ｐ２の後端に最も近いテキスト−４の印字部分の後端までの長さが印字範囲長Ｌ３とされる。
【００４７】
そして、図６に示されるように、用紙Ｐ２にスキューが発生していない場合には、各罫線枠内に納まるようにテキスト−１〜テキスト−４が印字されるが、図７に示されるように、用紙Ｐ２にスキューが発生している場合は、テキスト−１〜テキスト−４の印字位置が用紙Ｐ２の前端から離れるほど左縁ｅｇｓ側にずれ、印字エリアＡＲ３及びＡＲ４においては、文字列が罫線枠からはみ出てしまう。
【００４８】
そこで、本実施の形態においては、長尺の用紙Ｐ２にスキューが発生したときに印字位置がずれるのを抑制するために、用紙Ｐ２に対して印字を行う場合のスキュー量の閾値を標準の用紙Ｐ１（図４）に対して印字を行う場合のスキュー量の閾値より小さくし、スキューの発生に伴う交点ｃｒ、ｃｒ′間のずれ量ｘ２を小さくするようにしている。
【００４９】
この場合、標準の用紙Ｐ１の後端における交点ｃｒ、ｃｒ′間のずれ量ｘ１を最大の許容ずれ量とすると、長尺の用紙Ｐ２の後端における交点ｃｒ、ｃｒ′間のずれ量ｘ２を値ｘ１と等しくすることが考えられるが、長尺の用紙Ｐ２において、必ずしも後端まで印字が行われるとは限らず、例えば、図６に示されるように、印字エリアＡＲ１から印字エリアＡＲ４までの印字領域に印字が行われる場合には、印字領域の後端における用紙Ｐ２のずれ量が値ｘ１以下であれば、印字領域全体における用紙Ｐ２のずれ量も値ｘ１以下になり、印字エリアＡＲ１〜ＡＲ４において文字列が罫線枠からはみ出ることはない。
【００５０】
そこで、本実施の形態においては、用紙Ｐ２にスキューが発生しても、用紙Ｐ２の印字領域の後端における用紙Ｐ２のずれ量が値ｘ１以下になるようにスキュー量の閾値が設定される。
【００５１】
次に、スキュー量の閾値を算出する方法について説明する。
【００５２】
図８は本発明の第１の実施の形態における標準の用紙にスキューが発生した状態と長尺の用紙にスキューが発生した状態との関係を示す図、図９は本発明の第１の実施の形態における標準の用紙にスキューが発生した状態と長尺の用紙にスキューが発生した状態との関係を示す詳細図である。
【００５３】
図において、Ｐ１は標準の用紙、Ｐ２は長尺の用紙、ＡＲ１〜ＡＲ４は用紙Ｐ２における印字エリア、Ｌ１は用紙Ｐ１の用紙長、Ｌ１′は用紙Ｐ１にスキューが発生したときの、用紙長Ｌ１に対応する余弦の長さ、Ｌ３は用紙Ｐ２の前端から印字領域の後端までの長さを表す印字範囲長、Ｌ３′は用紙Ｐ２にスキューが発生したときの、印字範囲長Ｌ３に対応する余弦の長さである。
【００５４】
用紙Ｐ１にスキューが発生すると、前述されたように、交点ｃｆ、ｃｒ（図４）、ｃｒ′によって左縁ｅｇｓを斜辺とする直角三角形が形成される。
【００５５】
また、用紙Ｐ２にスキューが発生すると、印字領域の後端を通り、用紙Ｐ２の幅方向に延びる線と、用紙Ｐ２の左縁ｅｇｈとの交点をｃｈとし、該交点ｃｈを通り、主走査方向に延びる線と、交点ｃｆを通り、副走査方向に延びる線との交点をｃｈ′としたとき、交点ｃｆ、ｃｈ、ｃｈ′によって左縁ｅｇｈを斜辺とする直角三角形が形成される。
【００５６】
そして、左縁ｅｇｈと、交点ｃｆを通り、副走査方向に延びる線とが成すスキュー角をθ３とし、用紙Ｐ２の印字範囲長をＬ３とし、スキューの発生に伴う交点ｃｈ、ｃｈ′間のずれ、すなわち、印字領域の後端における用紙Ｐ２のずれ量を値ｘ１とすると、交点ｃｆ、ｃｈ′間の長さ、すなわち、直角三角形の余弦の長さＬ３′は、
Ｌ３′＝Ｌ３×ｃｏｓθ３
になり、次の式で表される。
【００５７】
【数２】
2014047071.tif 000004
【００５８】
なお、本実施の形態において、スキュー角θ３はスキュー角θ１より更に小さい値であるので、余弦の長さＬ３′を印字範囲長Ｌ３と近似させ、
Ｌ３′＝Ｌ３
とすることができる。
【００５９】
ところで、本実施の形態においては、前述されたように、スキューセンサ２６ａ、２６ｂ（図２）が用紙Ｐ１、Ｐ２の前端を検出してからの用紙Ｐ１、Ｐ２の改行量の差分がスキュー量として算出されるようになっている。
【００６０】
そこで、図８及び９に示されるように、用紙Ｐ１にスキュー角θ１のスキューが発生し、用紙Ｐ１の後端が主走査方向に値ｘ１だけずれたときの検出差をｙ１とし、用紙Ｐ２にスキュー角θ３のスキューが発生し、用紙Ｐ２の印字領域の後端において用紙Ｐ２が主走査方向に値ｘ１だけずれたときの検出差をｙ３とし、スキューセンサ２６ａ、２６ｂ間の距離をＬｓとすると、
Ｌ１′：ｘ１＝Ｌｓ：ｙ１
Ｌ３′：ｘ１＝Ｌｓ：ｙ３
になり、
Ｌ１＝Ｌ１′
Ｌ３＝Ｌ３′
とすると、次の式が成り立つ。
【００６１】
【数３】
2014047071.tif 000005
【００６２】
その結果、検出差ｙ３は、
【００６３】
【数４】
2014047071.tif 000006
【００６４】
になる。すなわち、検出差ｙ３は、検出差ｙ１に印字範囲長Ｌ３に対する用紙長Ｌ１の比率を乗算することによって算出される。
【００６５】
したがって、印字範囲長Ｌ３の印字領域に印字を行うに当たり、用紙Ｐ２にスキューが発生した場合に、前記検出差ｙ３を、スキューが十分に補正されたかどうかを判断するためのスキュー量の閾値とすることができる。
【００６６】
次に、給紙が行われたときの前記主制御部１１の動作について説明する。
【００６７】
図１０は本発明の第１の実施の形態における主制御部の第１の制御ブロック図、図１１は本発明の第１の実施の形態における主制御部の第１の動作を示すフローチャート、図１２は本発明の第１の実施の形態における印字範囲長取得処理のサブルーチンを示す図、図１３は本発明の第１の実施の形態におけるスキュー閾値取得処理のサブルーチンを示す図、図１４は本発明の第１の実施の形態における給紙実行処理のサブルーチンを示す図である。
【００６８】
まず、主制御部１１の受信判断処理手段Ｐｍ１は、受信判断処理を行い、プリンタＰｒがホストコンピュータから印刷データ及び制御コマンドを受信したかどうかを判断し、印刷データ及び制御コマンドを受信した場合、受信した印刷データ及び制御コマンドを受信データとして受信バッファ５１（図１）に記録する。
【００６９】
次に、主制御部１１の印字範囲取得処理手段としての印字範囲長取得処理手段Ｐｍ２は、印字範囲取得処理としての印字範囲長取得処理を行い、受信バッファ５１から受信データを読み出し、受信データを解析し、受信データ上で１ページの描画を行うことによって用紙Ｐの印字範囲長を取得する。
【００７０】
そのために、前記印字範囲長取得処理手段Ｐｍ２の初期化処理手段Ｐｍ２−１は、初期化処理を行い、取得した印字範囲長を記録するための印字範囲長記録部４３を初期化し、用紙Ｐの前端から給紙位置、すなわち、印字開始位置までの距離を印字範囲長の初期値として記録する。なお、本実施の形態において、用紙Ｐの前端から印字開始位置までの距離は、用紙Ｐの前端側の余白の量であり、印字開始位置から印字が開始される。
【００７１】
続いて、印字範囲長取得処理手段Ｐｍ２のデータ解析処理手段Ｐｍ２−２は、データ解析処理を行い、印刷データ及び制御コマンドを構成するバイト数を読み込み、バイト数分の受信データを受信バッファ５１から読み出し、解析する。この場合、データ解析処理手段Ｐｍ２−２は、受信バッファ５１からポインタ記録部４１のバッファポインタによって指示された受信データを読み出し、受信データを読み出すごとに、バッファポインタを前記バイト数分更新する。なお、受信バッファ５１における最後の受信データが読み出されると、ポインタ記録部４１のバッファポインタは受信バッファ５１の先頭の受信データを指示するように設定される。
【００７２】
また、データ解析処理手段Ｐｍ２−２は、受信データが改行コマンドである場合に、改行コマンドで指定された改行量を前記改行量記録部４８に記録する。なお、受信データが改行コマンドでない場合、改行量記録部４８に０が記録される。
【００７３】
そして、データ解析処理手段Ｐｍ２−２は、受信データを解析するのに伴って、受信データ上で１ページの描画が終了するかどうかを判断し、１ページの描画が終了する場合、ページ終了フラグ記録部４９のページ終了フラグをオンにする。
【００７４】
そして、印字範囲長取得処理手段Ｐｍ２の印字範囲算出処理手段としての印字範囲長算出処理手段Ｐｍ２−３は、印字範囲算出処理としての印字範囲長算出処理を行い、前記印字範囲長記録部４３に記録された印字範囲長に、前記改行量記録部４８に記録した改行量を加算することによって印字範囲長を更新（算出）する。
【００７５】
続いて、印字範囲長算出処理手段Ｐｍ２−３は、ページ終了フラグ４９がオンであるかどうかによって、１ページ分の受信データの解析が終了したかどうかを判断する。１ページ分の受信データの解析が終了した場合、印字範囲長算出処理手段Ｐｍ２−３は、印字範囲長記録部４３に記録された印字範囲長を読み出すことによって印字範囲長Ｌｐを取得し、取得済フラグ記録部４２の印字範囲長取得済フラグをオンにする。
【００７６】
なお、本実施の形態においては、プリンタＰｒとして、１行ずつ改行しながら印字を行うドット式のラインプリンタが使用され、受信バッファ５１に記録された受信データを１行ずつ解析することによって印字範囲長Ｌｐが取得されるようになっているが、受信データを１ページずつ解析し、描画データを作成し、該描画データに基づいて印字を行うページプリンタを使用する場合は、描画データから印字範囲長Ｌｐを取得することができる。また、ホストコンピュータにおいて印刷データに基づいて印字範囲長Ｌｐを算出し、プリンタＰｒに送信し、印字範囲長取得処理手段Ｐｍ２は、ホストコンピュータから送信された印字範囲長Ｌｐを読み込むことによって取得することができる。
【００７７】
前記印字範囲長取得処理において印字範囲長Ｌｐが取得されると、前記主制御部１１のスキュー閾値取得処理手段Ｐｍ３は、スキュー閾値取得処理を行い、印字範囲長Ｌｐに基づいて、長尺の用紙に対して印字を行う場合のスキュー量の閾値Ｓｐを取得する。
【００７８】
そのために、本実施の形態においては、所定の用紙、例えば、標準のＡ４判の用紙が基準の用紙Ｐｒｅｆとしてあらかじめ設定され、基準の用紙Ｐｒｅｆの印字範囲長が基準印字範囲長Ｌｒｅｆｐとして基準印字範囲長記録部４４に、基準の用紙Ｐｒｅｆに対して印字を行う際のスキュー量の許容量が基準閾値Ｓｒｅｆｐとして基準閾値記録部４６に記録される。
【００７９】
そして、前記スキュー閾値取得処理手段Ｐｍ３は、前記印字範囲長取得処理手段Ｐｍ２によって取得された用紙Ｐの印字範囲長Ｌｐを読み込み、該印字範囲長Ｌｐが基準印字範囲長Ｌｒｅｆｐより大きいかどうかを判断し、印字範囲長Ｌｐが基準印字範囲長Ｌｒｅｆｐより大きい場合、閾値Ｓｐ
Ｓｐ＝Ｓｒｅｆｐ×Ｌｒｅｆｐ／Ｌｐ
を算出し、印字範囲長Ｌｐが基準印字範囲長Ｌｒｅｆｐ以下である場合、閾値Ｓｐ
Ｓｐ＝Ｓｒｅｆｐ
を算出する。
【００８０】
なお、本実施の形態において、基準印字範囲長Ｌｒｅｆｐは基準の用紙Ｐｒｅｆの印字範囲長（固定値）とされ、基準閾値Ｓｒｅｆｐは、基準の用紙Ｐｒｅｆに対して印字を行う際のスキュー量の閾値（固定値）とされるが、サイズの異なる複数の用紙の印字範囲長を基準印字範囲長として基準印字範囲長記録部４４に記録し、各基準印字範囲長に対応する基準閾値を基準閾値記録部４６に記録し、操作者がパネル２７を操作することによって、又は制御コマンドによる指示に従って、所定の基準印字範囲長及び基準閾値を任意に選択することができる。また、操作者がパネル２７を操作することによって、又は制御コマンドによる指示に従って、任意の基準印字範囲長及び基準閾値を設定することができる。制御コマンドによる指示は、プリンタドライバ、アプリケーション等で行うことができる。
【００８１】
また、操作者は、用紙Ｐに発生したスキューの状態をホストコンピュータの表示部で確認し、基準印字範囲長及び基準閾値を設定することができる。その場合、操作者は、スキュー量が閾値以下であるかどうかも表示部で確認することができる。さらに、用紙Ｐとしてプレプリント用紙を使用する場合においても、操作者は、罫線枠内に文字列が収まるかどうかを表示部で確認することができる。
【００８２】
次に、主制御部１１の給紙実行処理手段Ｐｍ４は、給紙実行処理を行い、給紙を行う。そのために、前記給紙実行処理手段Ｐｍ４の搬送処理手段Ｐｍ４−１は、搬送処理を行い、テーブルセンサ２５（図１）によって用紙Ｐの前端が検出されたかどうかを判断し、用紙Ｐの前端が検出されると、スキュー補正モータ２１を駆動し、スリップローラ２２を回転させ、用紙Ｐをフィードローラ１７に向けて搬送する。
【００８３】
このとき、用紙Ｐにスキューが発生すると、前述されたように、用紙Ｐの前端が各ローラ本体部１７ｂのうちの所定のローラ本体部１７ｂの当接点に突き当たる。そして、用紙Ｐの前端が所定のローラ本体部１７ｂの当接点に突き当たった後も、他のローラ本体部２２ｂによって用紙Ｐは搬送されるので、用紙Ｐの前端が他の各ローラ本体部１７ｂの当接点に順次突き当たり、スキューが補正される。
【００８４】
そして、前記搬送処理手段Ｐｍ４−１は、テーブルセンサ２５によって用紙Ｐの前端が検出されたかどうかを再び判断し、用紙Ｐの前端が検出されると、前記給紙実行処理手段Ｐｍ４のキャリッジ移動処理手段Ｐｍ４−２は、キャリッジ移動処理を行い、スペースモータ２０を駆動し、キャリッジを初期位置に移動させる。なお、該初期位置は、所定のテーブルセンサ２５によって用紙Ｐの前端が検出されたときに、スキューセンサ２６ａ、２６ｂによって用紙Ｐの前端を確実に検出することができるように、用紙Ｐの前端を検出したテーブルセンサ２５の位置に基づいて設定される。これにより、ヘッドプロテクタ３１によって用紙Ｐの前端部を押さえながら給紙を行うことができるだけでなく、スキューセンサ２６ａ、２６ｂによって用紙Ｐの前端を確実に検出することができる。
【００８５】
そして、用紙Ｐの前端が各ローラ本体部１７ｂの各当接点に突き当たった後、各ローラ本体部２２ｂが用紙Ｐに対してスリップしながら、前記スリップローラ２２が所定量だけ回転させられると、前記搬送処理手段Ｐｍ４−１は、正フィード動作を行い、フィードモータ１５を正方向に駆動し、プラテン１６及びフィードローラ１７を回転させ、用紙Ｐを印字部に送る。
【００８６】
続いて、給紙実行処理手段Ｐｍ４のスキュー量算出処理手段Ｐｍ４−３は、スキュー量算出処理を行い、スキューセンサ２６ａ、２６ｂのセンサ出力を読み込み、スキューセンサ２６ａ、２６ｂが用紙Ｐの前端を検出してからの用紙Ｐの改行量に基づいてスキュー量を算出する。
【００８７】
そのために、スキューセンサ２６ａ、２６ｂがそれぞれ用紙Ｐの前端を検出してからの改行量を表す斜行改行量（カウント値）を更新するための図示されない第１、第２の斜行カウンタが主制御部１１に配設される。
【００８８】
そして、前記スキュー量算出処理手段Ｐｍ４−３は、各スキューセンサ２６ａ、２６ｂによって用紙Ｐの前端が検出されると、前記第１、第２の斜行カウンタによるカウントを開始する。この場合、前記フィードモータ１５を１パルス分駆動して、例えば、１／３６０〔インチ〕の改行を行うごとに、第１、第２の斜行カウンタの改行量を更新する。
【００８９】
次に、スキュー量算出処理手段Ｐｍ４−３は、第１、第２の斜行カウンタの各改行量を読み込み、改行量の差分をスキューセンサ２６ａ、２６ｂの検出差、すなわち、スキュー量として算出する。
【００９０】
続いて、前記給紙実行処理手段Ｐｍ４のスキュー量判断処理手段Ｐｍ４−４は、スキュー量判断処理を行い、スキュー閾値取得処理において取得された閾値Ｓｐを読み込み、スキュー量が閾値Ｓｐより大きいかどうかによって、スキューが十分に補正されたかどうかを判断する。
【００９１】
スキュー量が閾値Ｓｐより大きく、スキューが十分に補正されていない場合、前記搬送処理手段Ｐｍ４−１は、リトライ動作を行い、前記フィードモータ１５を逆方向に駆動し、フィードローラ１７を逆方向に回転させ、用紙Ｐをスキュー媒体として印字部から排出し、再びスキュー補正モータ２１及びフィードモータ１５を正方向に駆動して用紙Ｐを搬送し、スキューを補正し、スキュー量算出処理手段Ｐｍ４−３はスキュー量を算出し、スキュー量判断処理手段Ｐｍ４−４はスキューが十分に補正されたかどうかを判断する。
【００９２】
次に、前記給紙実行処理手段Ｐｍ４の通知処理手段Ｐｍ４−５は、通知処理を行い、リトライ動作が行われた回数、すなわち、リトライ回数を計数し、リトライ回数がリトライ制限を超えたかどうかを判断する。そして、リトライ回数がリトライ制限を超えた場合、前記通知処理手段Ｐｍ４−５は、パネル２７において、スキューアラームを発生させるとともに、スキューが発生していることを表すメッセージを表示し、操作者に通知する。
【００９３】
また、スキュー量が閾値Ｓｐ以下であり、スキューが十分に補正されている場合、給紙実行処理手段Ｐｍ４は処理を終了する。
【００９４】
次に、図１１のフローチャートについて説明する。
ステップＳ１  受信判断処理手段Ｐｍ１は印刷データ及び制御コマンドを受信したかどうかを判断する。印刷データ及び制御コマンドを受信した場合はステップＳ２に、印刷データ及び制御コマンドを受信していない場合はステップＳ４に進む。
ステップＳ２  印字範囲長取得処理手段Ｐｍ２は印字範囲長取得処理を行う。
ステップＳ３  スキュー閾値取得処理手段Ｐｍ３はスキュー閾値取得処理を行う。
ステップＳ４  給紙実行処理手段Ｐｍ４は給紙実行処理を行い、処理を終了する。
【００９５】
次に、図１２のフローチャートについて説明する。
ステップＳ２−１  初期化処理手段Ｐｍ２−１は印字範囲長記録部４３を初期化する。
ステップＳ２−２  データ解析処理手段Ｐｍ２−２は受信バッファ５１から受信データを読み出す。
ステップＳ２−３  データ解析処理手段Ｐｍ２−２は受信データを解析する。
ステップＳ２−４  印字範囲長算出処理手段Ｐｍ２−３は印字範囲長を更新する。
ステップＳ２−５  印字範囲長算出処理手段Ｐｍ２−３は１ページ分の受信データの解析が終了したかどうかを判断する。１ページ分の受信データの解析が終了した場合はステップＳ２−６に進み、１ページ分の受信データの解析が終了していない場合はステップＳ２−２に戻る。
ステップＳ２−６  印字範囲長算出処理手段Ｐｍ２−３は取得済フラグ記録部４２の印字範囲長取得済フラグをオンにし、リターンする。
【００９６】
次に、図１３のフローチャートについて説明する。
ステップＳ３−１  スキュー閾値取得処理手段Ｐｍ３は印字範囲長Ｌｐが基準印字範囲長Ｌｒｅｆｐより大きいかどうかを判断する。印字範囲長Ｌｐが基準印字範囲長Ｌｒｅｆｐより大きい場合はステップＳ３−２に、印字範囲長Ｌｐが基準印字範囲長Ｌｒｅｆｐ以下である場合はステップＳ３−３に進む。
ステップＳ３−２  スキュー閾値取得処理手段Ｐｍ３は閾値Ｓｐ
Ｓｐ＝Ｓｒｅｆｐ×Ｌｒｅｆｐ／Ｌｐ
を算出し、リターンする。
ステップＳ３−３  スキュー閾値取得処理手段Ｐｍ３は閾値Ｓｐ
Ｓｐ＝Ｓｒｅｆｐ
を算出し、リターンする。
【００９７】
次に、図１４のフローチャートについて説明する。
ステップＳ４−１  搬送処理手段Ｐｍ４−１はテーブルセンサ２５によって用紙Ｐの前端が検出されるのを待機し、用紙Ｐの前端が検出された場合はステップＳ４−２に進む。
ステップＳ４−２  搬送処理手段Ｐｍ４−１はスリップローラ２２を回転させる。
ステップＳ４−３  搬送処理手段Ｐｍ４−１は用紙Ｐの前端が検出されたかどうかを判断する。用紙Ｐの前端が検出された場合はステップＳ４−４に進み、用紙Ｐの前端が検出されない場合はステップＳ４−１に戻る。
ステップＳ４−４  キャリッジ移動処理手段Ｐｍ４−２はキャリッジを初期位置に移動させる。
ステップＳ４−５  搬送処理手段Ｐｍ４−１は正フィード動作を行う。
ステップＳ４−６  スキュー量算出処理手段Ｐｍ４−３はスキューセンサ２６ａ、２６ｂのセンサ出力を読み込む。
ステップＳ４−７  スキュー量算出処理手段Ｐｍ４−３はスキュー量を算出する。
ステップＳ４−８  スキュー量判断処理手段Ｐｍ４−４はスキュー量が閾値Ｓｐより大きいかどうかを判断する。スキュー量が閾値Ｓｐより大きい場合はステップＳ４−９に進み、スキュー量が閾値Ｓｐ以下である場合はリターンする。
ステップＳ４−９  搬送処理手段Ｐｍ４−１は用紙Ｐを印字部から排出する。
ステップＳ４−１０  通知処理手段Ｐｍ４−５はリトライ回数がリトライ制限を超えたかどうか判断する。リトライ回数がリトライ制限を超えた場合はステップＳ４−１１に進み、リトライ回数がリトライ制限を超えていない場合はステップＳ４−２に戻る。
ステップＳ４−１１  通知処理手段Ｐｍ４−５はスキューアラームを発生させ、リターンする。
【００９８】
次に、用紙Ｐの給紙が行われた後に、用紙Ｐに対して印字を行うときの主制御部１１の動作について説明する。
【００９９】
図１５は本発明の第１の実施の形態における主制御部の第２の制御ブロック図、図１６は本発明の第１の実施の形態における主制御部の第２の動作を示すフローチャート、図１７は本発明の第１の実施の形態における用紙排出処理のサブルーチンを示す図である。
【０１００】
まず、前記主制御部１１の給紙判断処理手段Ｐｍ１１は、給紙判断処理を行い、用紙Ｐの給紙が行われたかどうかを判断する。用紙Ｐの給紙が行われた場合、主制御部１１の印字範囲長取得判断処理手段Ｐｍ１２は、印字範囲長取得判断処理を行い、取得済フラグ記録部４２（図１）を参照し、印字範囲長取得済フラグがオンであるかどうかによって、印字範囲長Ｌｐが取得されているかどうかを判断する。
【０１０１】
印字範囲長取得済フラグがオンであり、印字範囲長Ｌｐが取得されている場合、主制御部１１の印字処理手段Ｐｍ１３は、印字処理を行い、印字ヘッド２３を駆動し、用紙Ｐに対して印字を行う。
【０１０２】
また、印字範囲長取得済フラグがオフであり、印字範囲長Ｌｐが取得されていない場合、前記印字範囲長取得処理手段Ｐｍ２は印字範囲長Ｌｐを取得し、前記スキュー閾値取得処理手段Ｐｍ３は閾値Ｓｐを取得する。そして、主制御部１１のスキュー量判断処理手段Ｐｍ１４は、スキュー量判断処理を行い、スキュー閾値取得処理において取得された閾値Ｓｐを読み込み、スキュー量が閾値Ｓｐより大きいかどうかによって、スキューが十分に補正されたかどうかを判断する。
【０１０３】
スキュー量が閾値Ｓｐ以下であり、スキューが十分に補正されている場合、前記印字処理手段Ｐｍ１３は、印字ヘッド２３を駆動し、用紙Ｐに対して印字を行う。
【０１０４】
また、スキュー量が閾値Ｓｐより大きい場合、主制御部１１の媒体排出処理手段としての用紙排出処理手段Ｐｍ１５は、媒体排出処理としての用紙排出処理を行い、印字範囲長記録部４３を初期化し、取得済フラグ記録部４２の印字範囲長取得済フラグをオフにし、ページ終了フラグ記録部４９のページ終了フラグをオフにし、閾値Ｓｐをクリアした後、用紙Ｐを印字部から排出する。
【０１０５】
そして、主制御部１１の給紙制御処理手段Ｐｍ１６は、給紙制御処理を行い、ステップＳ１〜Ｓ４の手順に従って給紙を行う。なお、前記給紙判断処理において用紙Ｐの給紙が行われていない場合も、給紙制御処理手段Ｐｍ１６によって給紙が行われる。
【０１０６】
次に、図１６のフローチャートについて説明する。
ステップＳ１１  給紙判断処理手段Ｐｍ１１は給紙が行われたかどうかを判断する。給紙が行われた場合はステップＳ１２に、給紙が行われていない場合はステップＳ１７に進む。
ステップＳ１２  印字範囲長取得判断処理手段Ｐｍ１２は印字範囲長Ｌｐが取得されているかどうかを判断する。印字範囲長Ｌｐが取得されている場合はステップＳ１８に、印字範囲長Ｌｐが取得されていない場合はステップＳ１３に進む。
ステップＳ１３  印字範囲長取得処理手段Ｐｍ２は印字範囲長取得処理を行う。
ステップＳ１４  スキュー閾値取得処理手段Ｐｍ３はスキュー閾値取得処理を行う。
ステップＳ１５  スキュー量判断処理手段Ｐｍ１４はスキュー量が閾値Ｓｐより大きいかどうかを判断する。スキュー量が閾値Ｓｐより大きい場合はステップＳ１６に、スキュー量が閾値Ｓｐ以下である場合はステップＳ１８に進む。
ステップＳ１６  用紙排出処理手段Ｐｍ１５は用紙排出処理を行う。
ステップＳ１７  給紙制御処理手段Ｐｍ１６は給紙制御処理を行う。
ステップＳ１８  印字処理手段Ｐｍ１３は用紙Ｐに対して印字を行い、処理を終了する。
【０１０７】
次に、図１７のフローチャートについて説明する。
ステップＳ１６−１  用紙排出処理手段Ｐｍ１５は印字範囲長記録部４３を初期化する。
ステップＳ１６−２  用紙排出処理手段Ｐｍ１５は取得済フラグ記録部４２の印字範囲長取得済フラグをオフにする。
ステップＳ１６−３  用紙排出処理手段Ｐｍ１５はページ終了フラグ記録部４９のページ終了フラグをオフにする。
ステップＳ１６−４  用紙排出処理手段Ｐｍ１５は閾値Ｓｐをクリアする。
ステップＳ１６−５  用紙排出処理手段Ｐｍ１５は用紙Ｐを印字部から排出し、リターンする。
【０１０８】
このように、本実施の形態においては、取得された印字範囲長Ｌｐに基づいて、用紙Ｐに発生したスキューがスリップローラ２２の回転によって十分に補正されたかどうかを判断するための閾値Ｓｐが取得され、印字範囲長Ｌｐに応じて変更されるので、長尺の用紙Ｐ２に対して印字を行う場合に、用紙Ｐ２の印字領域の後端において用紙Ｐ２が大きくずれることがなく、用紙Ｐ２に対して適正に印字を行うことができる。
【０１０９】
また、用紙Ｐ２の印字領域の後端における用紙Ｐ２のずれ量が値ｘ１以下になるように閾値Ｓｐが設定されるので、スキュー量の閾値Ｓｐを小さく設定する必要がない。したがって、用紙Ｐ２が過剰にスキュー媒体とされることがなく、用紙Ｐ２に対して円滑に印字を行うことができる。
【０１１０】
ところで、前記第１の実施の形態においては、副走査方向における印字範囲の長さに基づいてスキュー量の閾値Ｓｐを算出するようにしているが、主走査方向における印字範囲の幅に基づいてスキュー量の閾値を算出するようにした本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同じ構造を有するものについては、同じ符号を付与し、同じ構造を有することによる発明の効果については同実施の形態の効果を援用する。
【０１１１】
図１８は本発明の第２の実施の形態におけるプリンタの制御ブロック図である。
【０１１２】
図において、Ｐｒはプリンタ、１０は制御部であり、該制御部１０は、主制御部１１、及び該主制御部１１に接続された機構制御部１２を備える。
【０１１３】
前記主制御部１１は、上位装置としてのホストコンピュータから送信される印刷データ及び制御コマンドを受信制御部５０を介して受信し、受信データとして受信バッファ５１に記録する。また、主制御部１１は、前記受信バッファ５１に記録された受信データを読み出し、受信データを解析したり、媒体としての用紙における印字領域、本実施の形態においては、用紙の幅方向における印字領域の幅を第２の印字範囲としての印字範囲幅として算出したりする。
【０１１４】
前記機構制御部１２には、複数のドットピンを備えた印字ヘッド２３、該印字ヘッド２３を主走査方向に移動させるための走査用の駆動部としてのスペースモータ２０、一対のローラから成る第１の搬送部材としてのフィードローラ１７及び第２の搬送部材としてのプラテン１６を回転させて、用紙を副走査方向に搬送し、用紙の改行を行うための搬送用の駆動部としてのフィードモータ１５、並びにスキュー補正部材としての、かつ、第３の搬送部材としてのスリップローラ２２を回転させて、用紙に発生したスキューを補正するためのスキュー補正用の駆動部としてのスキュー補正モータ２１が接続される。
【０１１５】
また、前記制御部１０に、検出回路部２４、操作部としての、かつ、表示部としてのパネル２７、第１の記憶装置としての不揮発性メモリ２８、並びに第２の記憶装置としてのメモリ４０が接続される。
【０１１６】
そして、検出回路部２４には、媒体検出部としてのテーブルセンサ２５、及びスキュー検出部としてのスキューセンサ２６ａ、２６ｂが接続される。
【０１１７】
また、前記メモリ４０は、受信バッファ５１を参照するためのオフセットである受信バッファポインタが記録される第１の記録部としてのポインタ記録部４１、スキュー量の許容量が閾値として記録される第２の記録部としてのスキュー閾値記録部４５、基準の用紙のスキュー量の許容量が基準閾値として記録される第３の記録部としての基準閾値記録部４６、スキュー量が記録される第４の記録部としてのスキュー量記録部４７、１ページ分の受信データの解析が終了したことを示すページ終了フラグが記録される第５の記録部としてのページ終了フラグ記録部４９、印字範囲幅が取得されたかどうかを示す取得済フラグとしての印字範囲幅取得済フラグが記録される第６の記録部としての取得済フラグ記録部５２、取得された印字範囲幅が記録される第７の記録部としての印字範囲幅記録部５３、用紙が横長の用紙であるかどうかを判断するための基準値としての基準の印字範囲幅、本実施の形態においては、基準の用紙の印字範囲幅が記録される第８の記録部としての基準印字範囲幅記録部５４、印字範囲幅を算出する処理上の行の印字が開始される位置、すなわち、行印字開始位置が記録される第９の記録部としての行印字開始位置記録部５５、印字範囲幅を算出する処理上の行の印字が終了される位置、すなわち、行印字終了位置が記録される第１０の記録部としての行印字終了位置記録部５６、及び印字範囲幅を算出する処理上の走査方向における現在の位置、すなわち、水平現在位置が記録される第１１の記録部としての水平現在位置記録部５７を備える。
【０１１８】
次に、用紙幅及び用紙長が規定されている標準の用紙を使用した場合に発生するスキューについて説明する。
【０１１９】
図１９は標準の用紙にスキューが発生した状態を示す第２の図である。
【０１２０】
図においては、標準の用紙Ｐ１１を副走査方向（図における縦方向）に搬送したときに用紙Ｐ１１に最大の許容量のスキューが発生した状態が示される。
【０１２１】
この場合、用紙Ｐ１１はプレプリント用紙であり、用紙Ｐ１１には複数の、例えば、四つの印字エリアＡＲ１１〜ＡＲ１４が設定され、該印字エリアＡＲ１１〜ＡＲ１４には罫線枠があらかじめ印刷され、各罫線枠内にテキスト−Ａ〜テキスト−Ｄがそれぞれ印字される。例えば、テキスト−Ｃは「１２３４５６７８９」の文字列から成る。
【０１２２】
ここで、図に示されるように、用紙Ｐ１１の右縁が左縁より前方に位置する右上がりのスキューが発生すると、用紙Ｐ１１の後端にずれが生じる。このとき、スキューセンサ２６ａ、２６ｂ（図２）のうちの、用紙Ｐ１１の副走査方向における左側に配設されたスキューセンサ２６ａの位置を一点鎖線で示される媒体搬送基準検出位置としての用紙搬送基準センサ位置としたときに、用紙Ｐ１１の左縁で副走査方向のずれ量がｚ１Ｌに、用紙Ｐ１１の右縁で副走査方向のずれ量がｚ１Ｒになる。
【０１２３】
また、用紙Ｐ１１の用紙幅をｗ１とし、スキューが発生していないときの用紙Ｐ１１の左縁と用紙搬送基準センサ位置との距離をｗ１Ｌとし、スキューが発生していないときの用紙Ｐ１１の右縁と用紙搬送基準センサ位置との距離をｗ１Ｒとすると、ずれ量ｚ１Ｒに対するずれ量ｚ１Ｌの比γは、
γ＝ｚ１Ｌ／ｚ１Ｒ
＝ｗ１Ｌ／ｗ１Ｒ
になる。
【０１２４】
このとき、用紙搬送基準センサ位置より左側の領域の印字位置は用紙Ｐ１１に対して前方（上方）にずれ、用紙搬送基準センサ位置より右側の領域の印字位置は用紙Ｐ１１に対して後方（下方）にずれる。
【０１２５】
次に、例えば、標準の用紙Ｐ１１と用紙長が等しく、標準の用紙Ｐ１１より用紙幅が長い、規格サイズと異なる横長の用紙を使用した場合に発生するスキューについて説明する。
【０１２６】
図２０は横長の用紙にスキューが発生していない状態を示す図、図２１は横長の用紙にスキューが発生した状態を示す図である。
【０１２７】
この場合、横長の用紙Ｐ１２は、プレプリント用紙であり、標準の用紙Ｐ１１（図１９）と等しい用紙長、及び標準の用紙Ｐ１１の２倍の用紙幅ｗ２
ｗ２＝２×ｗ１
を有する。
【０１２８】
また、用紙Ｐ１２には複数の、例えば、四つの印字エリアＡＲ２１〜ＡＲ２４が設定され、印字エリアＡＲ２１〜ＡＲ２４に罫線枠があらかじめ印刷され、各罫線枠内にテキスト−Ａ〜テキスト−Ｄがそれぞれ印字される。
【０１２９】
図２０に示されるように、用紙Ｐ１２の副走査方向における左側に配設されたスキューセンサ２６ａの位置を一点鎖線で示される用紙搬送基準センサ位置とし、用紙Ｐ１２の左縁と用紙搬送基準センサ位置との距離をｗ２Ｌとし、用紙Ｐ１２の右縁と用紙搬送基準センサ位置との距離をｗ２Ｒとすると、
ｗ２Ｌ＝ｗ１Ｌ
になる。
【０１３０】
ところで、図２１に示されるように、用紙Ｐ１２の右縁が左縁より前方に位置する右上がりのスキューが発生すると、用紙搬送基準センサ位置より左側の領域の印字位置は用紙Ｐ１２に対して前方（上方）にずれ、用紙搬送基準センサ位置より右側の領域の印字位置は用紙Ｐ１２に対して後方（下方）にずれ、用紙搬送基準センサ位置から離れるほどずれ量が大きくなる。
【０１３１】
すなわち、前記用紙搬送基準センサ位置から距離ｗ３Ｌ離れた印字位置にあるテキスト−Ａの印字部分の左端においては、用紙Ｐ１２の副走査方向のずれ量がｚ３Ｌになり、前記用紙搬送基準センサ位置から距離ｗ３Ｒ離れた印字位置にあるテキスト−Ｂの印字部分の右端においては、用紙Ｐ１２の副走査方向のずれ量がｚ３Ｒになる。その結果、前記用紙搬送基準センサ位置から最も離れた印字位置にある印字エリアＡＲ２２においては、文字列が罫線枠からはみ出てしまう。
【０１３２】
そこで、本実施の形態においては、横長の用紙Ｐ１２にスキューが発生したときにテキスト−Ａ〜テキスト−Ｄの印字位置がずれるのを抑制するために、用紙Ｐ１２に対して印字を行う場合のスキュー量の閾値を標準の用紙Ｐ１１（図１９）に対して印字を行う場合のスキュー量の閾値より小さくし、スキューの発生に伴う印字位置の副走査方向のずれ量を小さくするようにしている。
【０１３３】
この場合、標準の用紙Ｐ１１の右端における副走査方向のずれ量ｚ１Ｒを最大の許容ずれ量とすると、横長の用紙Ｐ１２の右端における副走査方向のずれ量ｚ３Ｒが値ｚ１Ｒ以下であれば、印字位置のずれ量も閾値以下になる。
【０１３４】
そこで、本実施の形態においては、用紙Ｐ１２における印字範囲幅ｗ３の右端において、用紙Ｐ１１のずれ量が値ｚ１Ｒになるようにスキュー量の閾値が設定される。
【０１３５】
本実施の形態においては、前記用紙搬送基準センサ位置が固定され、用紙Ｐ１１、Ｐ１２の左縁と用紙搬送基準センサ位置との距離ｗ１Ｌ、ｗ２Ｌ（固定値）が等しいので、
ｗ１Ｌ＝ｗ２Ｌ≧ｗ３Ｌ
になる。そして、ずれ量ｚ１Ｌ、ｚ３Ｌは、
ｚ１Ｌ≧ｚ３Ｌ
になり、ずれ量ｚ３Ｌが用紙Ｐ１１を使用したときのずれ量ｚ１Ｌより大きくなることはない。
【０１３６】
したがって、前記用紙搬送基準センサ位置から右側に最も離れた印字位置のずれ量ｚ３Ｒに基づいてスキュー量の閾値が算出される。
【０１３７】
次に、スキュー量の閾値を算出する方法について説明する。
【０１３８】
図２２は本発明の第２の実施の形態における横長の用紙にスキューが発生した状態を示す図、図２３は本発明の第２の実施の形態における標準の用紙にスキューが発生した状態と横長の用紙にスキューが発生した状態との関係を示す詳細図である。
【０１３９】
図において、Ｐ１１は標準の用紙、Ｐ１２は横長の用紙、ＡＲ２１〜ＡＲ２４は用紙Ｐ１２における印字エリア、ｗ３Ｒは用紙搬送基準センサ位置から右側に最も離れた印字位置と用紙搬送基準センサ位置との距離である。
【０１４０】
ところで、本実施の形態においては、前述されたように、スキューセンサ２６ａ、２６ｂが用紙Ｐ１１、Ｐ１２の前端を検出してからの用紙Ｐ１、Ｐ２の改行量の差分がスキュー量として算出されるようになっている。
【０１４１】
そこで、図２２及び２３に示されるように、用紙Ｐ１１にスキュー角θ１のスキューが発生し、用紙Ｐ１１の右縁が副走査方向に値ｚ１Ｒだけずれたときの検出差をｙ１とし、用紙Ｐ２にスキュー角θ３のスキューが発生したときの検出差をｙ１′とし、スキューセンサ２６ａ、２６ｂ間の距離をＬｓとすると、
ｗ１Ｒ：ｚ１Ｒ＝Ｌｓ：ｙ１′
になり、用紙Ｐ１２にスキュー角θ３のスキューが発生し、用紙Ｐ１２の用紙搬送基準センサ位置から右側の印字領域の右端において用紙Ｐ１２が副走査方向にずれ量ｚ３Ｒ（図２１）だけずれたときのスキューセンサ２６ａ、２６ｂによる検出差をｙ３′とすると、
ｗ３Ｒ：ｚ１Ｒ＝Ｌｓ：ｙ３′
になり、次の式が成立する。
【０１４２】
【数５】
2014047071.tif 000007
【０１４３】
その結果、検出差ｙ３′は、
【０１４４】
【数６】
2014047071.tif 000008
【０１４５】
になる。すなわち、検出差ｙ３′は、検出差ｙ１′に距離ｗ３Ｒに対する距離ｗ１Ｒの比率を乗算することによって算出される。
【０１４６】
したがって、印字範囲幅ｗ３の印字領域に印字を行うに当たり、用紙Ｐ１２にスキューが発生した場合に、前記検出差ｙ３′を、スキューが十分に補正されたかどうかを判断するためのスキュー量の閾値とすることができる。
【０１４７】
次に、給紙が行われたときの前記主制御部１１の動作について説明する。
【０１４８】
図２４は本発明の第２の実施の形態における主制御部の第１の制御ブロック図、図２５は本発明の第２の実施の形態における主制御部の第１の動作を示すフローチャート、図２６は本発明の第２の実施の形態における印字範囲幅取得処理のサブルーチンを示す図、図２７は本発明の第２の実施の形態におけるスキュー閾値取得処理のサブルーチンを示す図である。
【０１４９】
この場合、用紙搬送基準センサ位置（図１９）から左側又は右側に最も離れた印字位置までの距離が印字範囲幅として印字範囲幅記録部５３（図１８）に記録される。
【０１５０】
まず、主制御部１１の受信判断処理手段Ｐｍ２１は、受信判断処理を行い、プリンタＰｒがホストコンピュータから印刷データ及び制御コマンドを受信したかどうかを判断し、印刷データ及び制御コマンドを受信した場合、受信した印刷データ及び制御コマンドを受信データとして受信バッファ５１に記録する。
【０１５１】
次に、主制御部１１の印字範囲取得処理手段としての印字範囲幅取得処理手段Ｐｍ２２は、印字範囲取得処理としての印字範囲幅取得処理を行い、受信バッファ５１から受信データを読み出し、受信データを解析し、受信データ上で１ページの描画を行うことによって用紙Ｐの印字範囲幅を取得する。
【０１５２】
そのために、印字範囲幅取得処理手段Ｐｍ２２の初期化処理手段Ｐｍ２２−１は、初期化処理を行い、印字範囲幅を記録するための印字範囲幅記録部５３を初期化し、印字範囲幅を０にする。続いて、初期化処理手段Ｐｍ２２−１は、行印字開始位置記録部５５、行印字終了位置記録部５６及び水平現在位置記録部５７を初期化し、プリンタＰｒの主走査方向の原点位置から印字が可能な左端の位置までの距離を記録する。なお、プリンタＰｒにおける原点位置から印字が可能な左端の位置までの間は、用紙Ｐの左縁側の余白の量であり、印字が可能な左端の位置から印字が開始される。
【０１５３】
続いて、印字範囲幅取得処理手段Ｐｍ２２のデータ解析処理手段Ｐｍ２２−２は、データ解析処理を行い、印刷データ及び制御コマンドを構成するバイト数を読み込み、バイト数分の受信データを受信バッファ５１から読み出し、解析する。この場合、データ解析処理手段Ｐｍ２−２は、受信バッファ５１からポインタ記録部４１のバッファポインタによって指示された受信データを読み出し、受信データを読み出すごとに、バッファポインタを前記バイト数分更新する。なお、受信バッファ５１における最後の受信データが読み出されると、ポインタ記録部４１のバッファポインタは受信バッファ５１の先頭の受信データを指示するように設定される。
【０１５４】
そして、データ解析処理手段Ｐｍ２２−２は、受信データが水平現在位置の変更を指示する制御コマンドである場合において、制御コマンドが水平現在位置の右方への変更を指示する場合に、水平現在位置記録部５７に記録された水平現在位置を正の変更量だけ更新し、制御コマンドが水平現在位置の左方への変更を指示する場合に、水平現在位置記録部５７に記録された水平現在位置を負の変更量だけ更新する。なお、制御コマンドが水平現在位置の変更を指示するものでない場合は、水平現在位置記録部５７に記録された水平現在位置は更新されない。
【０１５５】
また、データ解析処理手段Ｐｍ２２−２は、受信データを解析するのに伴って、受信データ上で１ページの描画が終了するかどうかを判断し、１ページの描画が終了する場合、ページ終了フラグ記録部４９のページ終了フラグをオンにする。
【０１５６】
続いて、印字範囲幅取得処理手段Ｐｍ２２の印字範囲算出処理手段としての印字範囲幅算出処理手段Ｐｍ２２−３は、印字範囲算出処理としての印字範囲幅算出処理を行い、更新された水平現在位置に基づいて、行印字開始位置記録部５５に記録された行印字開始位置及び行印字終了位置記録部５６に記録された行印字終了位置を更新する。そのために、データ解析処理手段Ｐｍ２２−２は、水平現在位置が行印字開始位置より小さい場合、行印字開始位置記録部５５に水平現在位置を記録し、水平現在位置が行印字終了位置より大きい場合、行印字終了位置記録部５６に水平現在位置を記録する。
【０１５７】
次に、印字範囲幅算出処理手段Ｐｍ２２−３は、１行分の受信データの解析が終了したかどうかを判断し、１行分の受信データの解析が終了した場合、前記行印字開始位置及び行印字終了位置に基づいて印字範囲幅を更新する。
【０１５８】
ここで、行印字開始位置をＳｓとし、行印字終了位置をＳｅとし、用紙Ｐの左縁から用紙搬送基準センサ位置までの距離をＬδとすると、その行の用紙搬送基準センサ位置から最も左側に離れた印字位置（以下「最左端印字位置」という。）までの距離ＬＬは、
ＬＬ＝Ｌδ−Ｓｓ
になり、その行の用紙搬送基準センサ位置から最も右側に離れた印字位置（以下「最右端印字位置」という。）までの距離ＬＲは、
ＬＲ＝Ｓｅ−Ｌδ
になる。
【０１５９】
そして、前記印字範囲幅算出処理手段Ｐｍ２２−３は、印字範囲幅記録部５３に記録された印字範囲幅と距離ＬＬとを比較し、距離ＬＬが印字範囲幅より大きい場合、距離ＬＬを印字範囲幅記録部５３に印字範囲幅として記録する。また、印字範囲幅算出処理手段Ｐｍ２２−３は、印字範囲幅記録部５３に記録された印字範囲幅と距離ＬＲとを比較し、距離ＬＲが印字範囲幅より大きい場合、距離ＬＲを印字範囲幅記録部５３に印字範囲幅として記録する。
【０１６０】
続いて、印字範囲幅算出処理手段Ｐｍ２２−３は、ページ終了フラグがオンであるかどうかによって、１ページ分の受信データの解析が終了したかどうかを判断し、１ページ分の受信データの解析が終了した場合、印字範囲幅記録部５３に記録された印字範囲幅を読み出すことによって印字範囲幅Ｌｑを取得する。そして、印字範囲幅算出処理手段Ｐｍ２２−３は、取得済フラグ記録部５２の印字範囲幅取得済フラグをオンにする。
【０１６１】
続いて、主制御部１１のスキュー閾値取得処理手段Ｐｍ２３は、スキュー閾値取得処理を行い、受信データに基づいて、横長の用紙に対して印字を行う場合のスキュー量の閾値Ｓｑを取得する。
【０１６２】
そのために、所定の用紙、例えば、標準のＡ４判の用紙が基準の用紙Ｐｒｅｆとしてあらかじめ設定され、基準の用紙Ｐｒｅｆの印字範囲幅が基準印字範囲幅Ｌｒｅｆｑとして基準印字範囲幅記録部５４に、基準の用紙Ｐｒｅｆに対して印字を行う際のスキュー量の許容量が基準閾値Ｓｒｅｆｑとして基準閾値記録部４６に記録される。
【０１６３】
そして、前記スキュー閾値取得処理手段Ｐｍ２３は、前記印字範囲幅取得処理手段Ｐｍ２２によって取得された用紙Ｐの印字範囲幅Ｌｑを読み込み、該印字範囲幅Ｌｑが基準印字範囲幅Ｌｒｅｆｑより大きいかどうかを判断し、印字範囲幅Ｌｑが基準印字範囲幅Ｌｒｅｆｑより大きい場合、閾値Ｓｑ
Ｓｑ＝Ｓｒｅｆｑ×Ｌｒｅｆｑ／Ｌｑ
を算出し、印字範囲長Ｌｑが基準印字範囲長Ｌｒｅｆｑ以下である場合、閾値Ｓｑ
Ｓｑ＝Ｓｒｅｆｑ
を算出する。
【０１６４】
次に、主制御部１１の給紙実行処理手段Ｐｍ２４は、給紙実行処理を行い、給紙を行う。なお、給紙実行処理手段Ｐｍ２４の動作は前記第１の実施の形態における給紙実行処理手段Ｐｍ４の動作と同じであるので、説明を省略する。
【０１６５】
次に、図２５のフローチャートについて説明する。
ステップＳ２１  受信判断処理手段Ｐｍ２１は印刷データ及び制御コマンドを受信したかどうかを判断する。印刷データ及び制御コマンドを受信した場合はステップＳ２２に、印刷データ及び制御コマンドを受信していない場合はステップＳ２４に進む。
ステップＳ２２  印字範囲幅取得処理手段Ｐｍ２２は印字範囲幅取得処理を行う。
ステップＳ２３  スキュー閾値取得処理手段Ｐｍ２３はスキュー閾値取得処理を行う。
ステップＳ２４  給紙実行処理手段Ｐｍ２４は給紙実行処理を行い、処理を終了する。
【０１６６】
次に、図２６のフローチャートについて説明する。
ステップＳ２２−１  初期化処理手段Ｐｍ２２−１は印字範囲幅記録部５３を初期化する。
ステップＳ２２−２  初期化処理手段Ｐｍ２２−１は行印字開始位置記録部５５、行印字終了位置記録部５６及び水平現在位置記録部５７を初期化する。
ステップＳ２２−３  データ解析処理手段Ｐｍ２２−２は受信バッファ５１から受信データを読み出す。
ステップＳ２２−４  データ解析処理手段Ｐｍ２２−２は受信データを解析する。
ステップＳ２２−５  印字範囲幅算出処理手段Ｐｍ２２−３は行印字開始位置及び行印字終了位置を更新する。
ステップＳ２２−６  印字範囲幅算出処理手段Ｐｍ２２−３は１行分の受信データの解析が終了したかどうかを判断する。１行分の受信データの解析が終了した場合はステップＳ２２−７に進み、１行分の受信データの解析が終了していない場合はステップＳ２２−３に戻る。
ステップＳ２２−７  印字範囲幅算出処理手段Ｐｍ２２−３は印字範囲幅を更新する。
ステップＳ２２−８  印字範囲幅算出処理手段Ｐｍ２２−３は１ページ分の受信データの解析が終了したかどうかを判断する。１ページ分の受信データの解析が終了した場合はステップＳ２２−９に進み、１ページ分の受信データの解析が終了していない場合はステップＳ２２−３に戻る。
ステップＳ２２−９  印字範囲幅算出処理手段Ｐｍ２２−３は取得済フラグ記録部５２の印字範囲幅取得済フラグをオンにし、リターンする。
【０１６７】
次に、図２７のフローチャートについて説明する。
ステップＳ２３−１  スキュー閾値取得処理手段Ｐｍ２３は印字範囲幅Ｌｑが基準印字範囲幅Ｌｒｅｆｑより大きいかどうかを判断する。印字範囲幅Ｌｑが基準印字範囲幅Ｌｒｅｆｑより大きい場合はステップＳ２３−２に、印字範囲幅Ｌｑが基準印字範囲幅Ｌｒｅｆｑ以下である場合はステップＳ２３−３に進む。
ステップＳ２３−２  スキュー閾値取得処理手段Ｐｍ２３は閾値Ｓｑ
Ｓｑ＝Ｓｒｅｆｑ×Ｌｒｅｆｑ／Ｌｑ
を算出し、リターンする。
ステップＳ２３−３  スキュー閾値取得処理手段Ｐｍ２３は閾値Ｓｑ
Ｓｑ＝Ｓｒｅｆｑ
を算出し、リターンする。
【０１６８】
次に、用紙Ｐの給紙が行われた後に、用紙Ｐに対して印字を行うときの主制御部１１の動作について説明する。
【０１６９】
図２８は本発明の第２の実施の形態における主制御部の第２の制御ブロック図、図２９は本発明の第２の実施の形態における主制御部の第２の動作を示すフローチャート、図３０は本発明の第２の実施の形態における用紙排出処理のサブルーチンを示す図である。
【０１７０】
まず、前記主制御部１１の給紙判断処理手段Ｐｍ３１は、給紙判断処理を行い、用紙Ｐの給紙が行われたかどうかを判断する。用紙Ｐの給紙が行われた場合、主制御部１１の印字範囲幅取得判断処理手段Ｐｍ３２は、印字範囲幅取得判断処理を行い、取得済フラグ記録部５２（図１８）を参照し、印字範囲幅取得済フラグがオンであるかどうかによって、印字範囲幅Ｌｑが取得されているかどうかを判断する。
【０１７１】
印字範囲幅取得済フラグがオンであり、印字範囲幅Ｌｑが取得されている場合、主制御部１１の印字処理手段Ｐｍ３３は、印字処理を行い、印字ヘッド２３を駆動し、用紙Ｐに対して印字を行う。
【０１７２】
また、印字範囲幅取得済フラグがオフであり、印字範囲幅Ｌｑが取得されていない場合、前記印字範囲幅取得処理手段Ｐｍ２２は、印字範囲幅を取得し、前記スキュー閾値取得処理手段Ｐｍ２３は閾値Ｓｑを取得する。そして、主制御部１１のスキュー量判断処理手段Ｐｍ３４は、スキュー量判断処理を行い、スキュー閾値取得処理において取得された閾値Ｓｑを読み込み、スキュー量が閾値Ｓｑより大きいかどうかによって、スキューが十分に補正されたかどうかを判断する。
【０１７３】
スキュー量が閾値Ｓｑ以下であり、スキューが十分に補正されている場合、前記印字処理手段Ｐｍ３３は、印字ヘッド２３を駆動し、用紙Ｐに対して印字を行う。
【０１７４】
また、スキュー量が閾値Ｓｑより大きい場合、主制御部１１の媒体排出処理手段としての用紙排出処理手段Ｐｍ３５は、媒体排出処理としての用紙排出処理を行い、印字範囲幅記録部５３を初期化し、取得済フラグ記録部５２の印字範囲幅取得済フラグをオフにし、ページ終了フラグ記録部４９のページ終了フラグをオフにし、閾値Ｓｑをクリアした後、用紙Ｐを印字部から排出する。
【０１７５】
そして、主制御部１１の給紙制御処理手段Ｐｍ３６は、給紙制御処理を行い、ステップＳ２１〜Ｓ２４の手順に従って給紙を行う。なお、前記給紙判断処理において用紙Ｐの給紙が行われていない場合も、給紙制御処理手段Ｐｍ３６によって給紙が行われる。
【０１７６】
次に、図２９のフローチャートについて説明する。
ステップＳ３１  給紙判断処理手段Ｐｍ３１は給紙が行われたかどうかを判断する。給紙が行われた場合はステップＳ３２に、給紙が行われていない場合はステップＳ３７に進む。
ステップＳ３２  印字範囲幅取得判断処理手段Ｐｍ３２は印字範囲幅Ｌｑが取得されているかどうかを判断する。印字範囲幅Ｌｑが取得されている場合はステップＳ３８に、印字範囲幅Ｌｑが取得されていない場合はステップＳ３３に進む。
ステップＳ３３  印字範囲幅取得処理手段Ｐｍ２２は印字範囲幅取得処理を行う。
ステップＳ３４  スキュー閾値取得処理手段Ｐｍ２３はスキュー閾値取得処理を行う。
ステップＳ３５  スキュー量判断処理手段Ｐｍ３４はスキュー量が閾値Ｓｑより大きいかどうかを判断する。スキュー量が閾値Ｓｑより大きい場合はステップＳ３６に、スキュー量が閾値Ｓｑ以下である場合はステップＳ３８に進む。
ステップＳ３６  用紙排出処理手段Ｐｍ３５は用紙排出処理を行う。
ステップＳ３７  給紙制御処理手段Ｐｍ３６は給紙制御処理を行う。
ステップＳ３８  印字処理手段Ｐｍ３３は用紙Ｐに対して印字を行い、処理を終了する。
【０１７７】
次に、図３０のフローチャートについて説明する。
ステップＳ３６−１  用紙排出処理手段Ｐｍ３５は印字範囲幅記録部５３を初期化する。
ステップＳ３６−２  用紙排出処理手段Ｐｍ３５は取得済フラグ記録部５２の印字範囲幅取得済フラグをオフにする。
ステップＳ３６−３  用紙排出処理手段Ｐｍ３５はページ終了フラグ記録部４９のページ終了フラグをオフにする。
ステップＳ３６−４  用紙排出処理手段Ｐｍ３５は閾値Ｓｑをクリアする。
ステップＳ３６−５  用紙排出処理手段Ｐｍ３５は用紙Ｐを印字部から排出し、リターンする。
【０１７８】
このように、本実施の形態においては、取得された印字範囲幅Ｌｑに基づいて、用紙Ｐに発生したスキューがスリップローラ２２の回転によって十分に補正されたかどうかを判断するための閾値Ｓｑが取得されるので、横長の用紙Ｐ１２に対して印字を行う場合でも、用紙Ｐ１２の最左端印字位置又は最右端印字位置において用紙Ｐ１２が大きくずれることがなく、用紙Ｐ１２に対して適正に印字を行うことができる。
【０１７９】
また、スキュー量の閾値Ｓｑを小さく設定する必要がないので、用紙Ｐ１２が過剰にスキュー媒体とされることがなく、用紙Ｐ１２に対して円滑に印字を行うことができる。
【０１８０】
前記第１の本実施の形態においては、長尺の用紙に対して印字を行う場合について、第２の本実施の形態においては、横長の用紙に対して印字を行う場合について説明しているが、本発明を、長尺で、かつ、横長の用紙に対して印字を行う場合にも適用することができる。
【０１８１】
また、前記各実施の形態においては、ドット式のプリンタＰｒについて説明しているが、本発明を、インクジェットプリンタ等のノンインパクトプリンタに適用することができる。
【０１８２】
そして、前記各実施の形態においては、画像形成装置としてのプリンタＰｒについて説明しているが、本発明を、複写機、ファクシミリ、複合機等に適用することができる。
【０１８３】
なお、本発明は前記各実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【符号の説明】
【０１８４】
２６ａ、２６ｂ    スキューセンサ
Ｌ３、Ｌｐ    印字範囲長
Ｌｑ、ｗ３    印字範囲幅
Ｐ、Ｐ１、Ｐ２、Ｐ１１、Ｐ１２    用紙
Ｐｍ２    印字範囲長取得処理手段
Ｐｍ３、Ｐｍ２３    スキュー閾値取得処理手段
Ｐｍ４−３    スキュー量算出処理手段
Ｐｍ１３、Ｐｍ３３    印字処理手段
Ｐｍ２２    印字範囲幅取得処理手段
Ｐｒ    プリンタ
Ｓｐ、Ｓｑ    閾値
【図１】
2014047071.tif 000009
【図２】
2014047071.tif 000010
【図３】
2014047071.tif 000011
【図４】
2014047071.tif 000012
【図５】
2014047071.tif 000013
【図６】
2014047071.tif 000014
【図７】
2014047071.tif 000015
【図８】
2014047071.tif 000016
【図９】
2014047071.tif 000017
【図１０】
2014047071.tif 000018
【図１１】
2014047071.tif 000019
【図１２】
2014047071.tif 000020
【図１３】
2014047071.tif 000021
【図１４】
2014047071.tif 000022
【図１５】
2014047071.tif 000023
【図１６】
2014047071.tif 000024
【図１７】
2014047071.tif 000025
【図１８】
2014047071.tif 000026
【図１９】
2014047071.tif 000027
【図２０】
2014047071.tif 000028
【図２１】
2014047071.tif 000029
【図２２】
2014047071.tif 000030
【図２３】
2014047071.tif 000031
【図２４】
2014047071.tif 000032
【図２５】
2014047071.tif 000033
【図２６】
2014047071.tif 000034
【図２７】
2014047071.tif 000035
【図２８】
2014047071.tif 000036
【図２９】
2014047071.tif 000037
【図３０】
2014047071.tif 000038