(57)【要約】【課題】幅の狭い媒体に対して印刷を行う場合に、媒体上に形成される文字が見づらくなるのを抑制することができるようにする。【解決手段】印字ヘッド１４と、行単位で印刷を行う機構制御部１３と、受信部２１と、印刷データ上の印刷位置を算出する印刷位置算出部と、媒体上の印刷領域を算出する印刷領域算出部と、印刷領域内に印刷データが収まるかどうかを行単位で判断する印刷可否判断部と、印刷可否判断部の判断結果に応じて行単位で印刷データ上の余白を調整する余白調整部と、余白が調整された後のビットマップデータを機構制御部１３に送る印刷データ展開部３２とを有する。余白が調整された分だけ、文字フォントサイズが小さくなるのを抑制することができる。【選択図】図１
2014166740.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）印字ヘッドと、
（ｂ）該印字ヘッドを駆動して媒体に対して行単位で印刷を行う機構制御部と、
（ｃ）印刷データを受信する受信部と、
（ｄ）印刷データ上の印刷位置を算出する印刷位置算出部と、
（ｅ）媒体上の印刷領域を算出する印刷領域算出部と、
（ｆ）印刷領域内に印刷データが収まるかどうかを行単位で判断する印刷可否判断部と、
（ｇ）該印刷可否判断部の判断結果に応じて行単位で印刷データ上の余白を調整する余白調整部と、
（ｈ）印刷データをビットマップデータに展開し、余白が調整された後のビットマップデータを前記機構制御部に送る印刷データ展開部とを有することを特徴とするシリアルプリンタ。
【請求項２】
（ａ）印刷データ上に余白があるかどうかを行単位で判断する余白判定部を有するとともに、
（ｂ）前記余白調整部は、印刷データ上に余白がある場合に余白を調整する請求項１に記載のシリアルプリンタ。
【請求項３】
前記印刷データ展開部は、余白が調整された後の印刷位置に応じてビットマップデータを縮小する請求項１又は２に記載のシリアルプリンタ。
【請求項４】
前記印刷データ展開部は、余白が調整された後に、印刷領域内に印刷データが収まらない場合に、ビットマップデータを縮小する請求項３に記載のシリアルプリンタ。
【請求項５】
前記印刷可否判断部の判断結果に応じて、印刷領域内に印刷データが収まる複数の縮小率のうちの最も大きい縮小率を選択し、印刷データ展開部に送る縮小率選択部を有する請求項４に記載のシリアルプリンタ。
【請求項６】
前記余白調整部は、行先頭余白、行途中余白及び文字間クリアランスを調整する請求項１〜５のいずれか１項に記載のシリアルプリンタ。
【請求項７】
（ａ）前記余白調整部は、前記行先頭余白、行途中余白及び文字間クリアランスの順に余白を調整し、
（ｂ）前記印刷可否判断部は、余白が調整されるたびに、印刷領域内に印刷データが収まるかどうかを判断する請求項１〜６のいずれか１項に記載のシリアルプリンタ。
【請求項８】
前記余白調整部は、前記行先頭余白及び行途中余白を所定の余白調整率で調整する請求項６に記載のシリアルプリンタ。
【請求項９】
前記余白調整率は、印刷データ上の文字幅及び文字間クリアランスに基づいて設定される請求項８に記載のシリアルプリンタ。
【請求項１０】
前記余白調整部は、各行における行先頭余白の調整量のうちの最小調整量で行先頭余白を調整する請求項６に記載のシリアルプリンタ。
【請求項１１】
前記余白調整部は、行途中余白を所定の余白調整率で調整する請求項１０に記載のシリアルプリンタ。
【請求項１２】
（ａ）前記行先頭余白、行途中余白及び文字間クリアランスの順に余白を調整するモード、前記行先頭余白及び行途中余白を所定の余白調整率で調整するモード、各行における行先頭余白の調整量のうちの最小調整量で行先頭余白を調整するモードを選択するためのモード選択部と、
（ｂ）選択されたモードを判定するモード判定部とを有するとともに、
（ｃ）前記余白調整部は、選択されたモードに応じて印刷データ上の余白を調整する請求項６に記載のシリアルプリンタ。
【請求項１３】
印字ヘッド、及び該印字ヘッドを駆動して媒体に対して行単位で印刷を行う機構制御部を備えたシリアルプリンタの印刷方法において、印刷データを受信し、印刷データ上の印刷位置を算出し、媒体上の印刷領域を算出し、印刷領域内に印刷データが収まるかどうかを行単位で判断し、印刷領域内に印刷データが収まるかどうかの判断結果に応じて行単位で印刷データ上の余白を調整し、印刷データをビットマップデータに展開し、余白が調整された後のビットマップデータを機構制御部に送ることを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルプリンタ及び印刷方法に関するものである。
【背景技術】
【０００２】
従来、シリアルプリンタにおいては、キャリッジに印字ヘッドが搭載されていて、ホストコンピュータから印刷データが１行分ずつ、すなわち、行単位で送信されると、キャリッジが主走査方向に移動させられ、印字ヘッドが駆動されて、副走査方向に搬送される媒体としての用紙に対して行単位で印刷が行われる。
【０００３】
そして、用紙の幅、すなわち、用紙幅を検出するための用紙幅センサを備えたシリアルプリンタにおいては、用紙幅センサによって検出された用紙幅と受信した各行の印刷データとが比較され、印刷データが用紙幅を超える場合に、用紙幅を超えた分の印刷データを削除したり、用紙幅を超えた分の印刷データについて次の行に印刷したりするようになっている（例えば、特許文献１参照。）。
【０００４】
ところが、用紙幅を超えた分の印刷データを削除したり、用紙幅を超えた分の印刷データについて次の行に印刷したりすると、各行の印刷データについて正確に印刷を行うことができない。
【０００５】
そこで、各行の印刷データのビットマップデータを一律に縮小して印刷する機能を有するシリアルプリンタが提供されている。この場合、一般的に、印刷データはキャラクタコードでホストコンピュータからシリアルプリンタに送信されるので、シリアルプリンタにおいては、印刷データを受信すると、印刷データがビットマップデータ（フォントデータ）に展開され、ビットマップデータを縮小する印刷、すなわち、縮小印刷が行われる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２２４５２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記従来のシリアルプリンタにおいては、幅の広い用紙に対して印刷を行うために作成された印刷データについて、幅の狭い用紙に対して印刷を行った場合、用紙上に形成された文字が見づらくなってしまう。
【０００８】
図２は幅の広い用紙に対して印刷を行った場合の印刷結果の例を示す図、図３は幅の狭い用紙に対して印刷を行った場合の印刷結果の例を示す図、図４は１００％印刷を行った場合のドットパターンの例を示す図、図５は８０％印刷を行った場合のドットパターンの例を示す図、図６は７５％印刷を行った場合のドットパターンの例を示す図、図７は６７％印刷を行った場合のドットパターンの例を示す図、図８は５０％印刷を行った場合のドットパターンの例を示す図である。
【０００９】
図において、Ｐは用紙、ＡＲはシリアルプリンタの印刷領域である。
【００１０】
幅の広い用紙Ｐに対して印刷を行うために作成された印刷データについて、幅の広い用紙に対して通常の印刷（１００％印刷）を行うと、図２に示されるような印刷結果が得られ、幅の広い用紙Ｐに対して印刷を行うために作成された印刷データについて、幅の狭い用紙Ｐに対して縮小印刷を行うと、図３に示されるような印刷結果が得られる。
【００１１】
ところで、ビットマップデータを縮小することなく通常の印刷を行うと、図４に示されるようなドットパターンが形成され、ビットマップデータを縮小し、縮小率を８０〔％〕、７５〔％〕、６７〔％〕及び５０〔％〕にして、それぞれ縮小印刷（８０％印刷、７５％印刷、６７％印刷及び５０％印刷）を行うと、図５〜８に示されるようなドットパターンが形成される。
【００１２】
例えば、１３．６〔インチ〕程度の幅の印刷データについて８〔インチ〕の幅の用紙Ｐに対して縮小印刷を行う場合、縮小率が５０〔％〕にされ、図８に示されるようなドットパターンが形成される。
【００１３】
この場合、幅の狭い用紙Ｐ上に形成される文字の幅、すなわち、文字幅が小さくされるので、文字が見づらくなり、特に、文字が複雑な漢字である場合、文字を判読するのが困難になってしまう。
【００１４】
本発明は、前記従来のシリアルプリンタの問題点を解決して、幅の狭い媒体に対して印刷を行う場合に、媒体上に形成される文字が見づらくなるのを抑制することができるシリアルプリンタ及び印刷方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
そのために、本発明のシリアルプリンタにおいては、印字ヘッドと、該印字ヘッドを駆動して媒体に対して行単位で印刷を行う機構制御部と、印刷データを受信する受信部と、印刷データ上の印刷位置を算出する印刷位置算出部と、媒体上の印刷領域を算出する印刷領域算出部と、印刷領域内に印刷データが収まるかどうかを行単位で判断する印刷可否判断部と、該印刷可否判断部の判断結果に応じて行単位で印刷データ上の余白を調整する余白調整部と、印刷データをビットマップデータに展開し、余白が調整された後のビットマップデータを前記機構制御部に送る印刷データ展開部とを有する。
【発明の効果】
【００１６】
本発明によれば、シリアルプリンタにおいては、印字ヘッドと、該印字ヘッドを駆動して媒体に対して行単位で印刷を行う機構制御部と、印刷データを受信する受信部と、印刷データ上の印刷位置を算出する印刷位置算出部と、媒体上の印刷領域を算出する印刷領域算出部と、印刷領域内に印刷データが収まるかどうかを行単位で判断する印刷可否判断部と、該印刷可否判断部の判断結果に応じて行単位で印刷データ上の余白を調整する余白調整部と、印刷データをビットマップデータに展開し、余白が調整された後のビットマップデータを前記機構制御部に送る印刷データ展開部とを有する。
【００１７】
この場合、印刷領域内に印刷データが収まるかどうかが行単位で判断され、判断結果に応じて行単位で印刷データ上の余白が調整され、余白が調整された後のビットマップデータが機構制御部に送られるので、印刷領域内においてすべての文字について印刷を行うことができるだけでなく、余白が調整された分だけ、文字フォントサイズが小さくなるのを抑制することができる。したがって、幅の狭い媒体に対して印刷を行う場合に、媒体上に形成される文字が見づらくなるのを抑制することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施の形態におけるシリアルプリンタのブロック図である。
【図２】幅の広い用紙に対して印刷を行った場合の印刷結果の例を示す図である。
【図３】幅の狭い用紙に対して印刷を行った場合の印刷結果の例を示す図である。
【図４】１００％印刷を行った場合のドットパターンの例を示す図である。
【図５】８０％印刷を行った場合のドットパターンの例を示す図である。
【図６】７５％印刷を行った場合のドットパターンの例を示す図である。
【図７】６７％印刷を行った場合のドットパターンの例を示す図である。
【図８】５０％印刷を行った場合のドットパターンの例を示す図である。
【図９】本発明の第１の実施の形態における印刷データ解析部のブロック図である。
【図１０】本発明の第１の実施の形態における用紙、印刷位置及び印刷領域の関係を示す図である。
【図１１】本発明の第１の実施の形態における印刷データ解析部の動作を示すフローチャートである。
【図１２】本発明の第１の実施の形態における印刷データについて印刷を行ったときの印刷結果の第１の例を示す図である。
【図１３】本発明の第１の実施の形態における印刷位置と印刷領域との関係を示す第１の図である。
【図１４】本発明の第１の実施の形態における印刷位置と印刷領域との関係を示す第２の図である。
【図１５】本発明の第１の実施の形態における文字間クリアランスがある場合のドットパターンの例を示す図である。
【図１６】本発明の第１の実施の形態における印刷位置と印刷領域との関係を示す第３の図である。
【図１７】本発明の第１の実施の形態における文字間クリアランスが調整された後のドットパターンの例を示す図である。
【図１８】本発明の第１の実施の形態における印刷データについて印刷を行ったときの印刷結果の第２の例を示す図である。
【図１９】本発明の第１の実施の形態における印刷位置と印刷領域との関係を示す第４の図である。
【図２０】本発明の第１の実施の形態における印刷位置と印刷領域との関係を示す第５の図である。
【図２１】本発明の第２の実施の形態における印刷データ解析部のブロック図である。
【図２２】本発明の第２の実施の形態における余白調整部の動作を説明するための第１の概念図である。
【図２３】本発明の第２の実施の形態における余白調整部の動作を説明するための第２の概念図である。
【図２４】本発明の第２の実施の形態における印刷データ解析部の動作を示すフローチャートである。
【図２５】本発明の第２の実施の形態における印刷位置と印刷領域との関係を示す第１の図である。
【図２６】本発明の第２の実施の形態における印刷位置と印刷領域との関係を示す第２の図である。
【図２７】本発明の第２の実施の形態における印刷位置と印刷領域との関係を示す第３の図である。
【図２８】本発明の第２の実施の形態における印刷位置と印刷領域との関係を示す第４の図である。
【図２９】本発明の第２の実施の形態における印刷データについて印刷を行ったときの印刷結果の例を示す図である。
【図３０】本発明の第３の実施の形態におけるシリアルプリンタのブロック図である。
【図３１】本発明の第３の実施の形態における印刷データ解析部のブロック図である。
【図３２】本発明の第３の実施の形態における余白調整部の動作を説明するための第１の概念図である。
【図３３】本発明の第３の実施の形態における余白調整部の動作を説明するための第２の概念図である。
【図３４】本発明の第３の実施の形態における行先頭余白調整部の動作を説明するための第１の図である。
【図３５】本発明の第３の実施の形態における行先頭余白調整部の動作を説明するための第２の図である。
【図３６】本発明の第３の実施の形態における印刷データ解析部の動作を示す第１のフローチャートである。
【図３７】本発明の第３の実施の形態における印刷データ解析部の動作を示す第２のフローチャートである。
【図３８】本発明の第３の実施の形態における印刷位置と印刷領域との関係を示す第１の図である。
【図３９】本発明の第３の実施の形態における印刷位置と印刷領域との関係を示す第２の図である。
【図４０】本発明の第３の実施の形態における印刷位置と印刷領域との関係を示す第３の図である。
【図４１】本発明の第３の実施の形態における印刷データについて印刷を行ったときの印刷結果の例を示す図である。
【図４２】本発明の第４の実施の形態におけるシリアルプリンタのブロック図である。
【図４３】本発明の第４の実施の形態における印刷データ解析部のブロック図である。
【図４４】本発明の第４の実施の形態における印刷データ解析部の動作を示す第１のフローチャートである。
【図４５】本発明の第４の実施の形態における印刷データ解析部の動作を示す第２のフローチャートである。
【図４６】本発明の第４の実施の形態における印刷データ解析部の動作を示す第３のフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。この場合、画像形成装置としてのシリアルプリンタについて説明する。
【００２０】
図１は本発明の第１の実施の形態におけるシリアルプリンタのブロック図、図９は本発明の第１の実施の形態における印刷データ解析部のブロック図、図１０は本発明の第１の実施の形態における用紙、印刷位置及び印刷領域の関係を示す図である。
【００２１】
図において、１１はシリアルプリンタの全体の制御を行う主制御部、１２はＲＡＭ、ＲＯＭ、不揮発性メモリ等から成る記憶装置、１３は媒体としての図示されない用紙に対して行単位で印刷を行う機構制御部、１４は図示されないキャリッジに搭載された印字ヘッド、１５は前記キャリッジ及び印字ヘッド１４を走査方向に移動させるための第１の駆動部としてのスペースモータ、１６は、用紙を搬送して改行を行うための第２の駆動部としての改行モータ、２１は、上位装置としての図示されないホストコンピュータから送信されるデータを受信する受信部、２２は操作部、２３は、媒体幅検出要素としての用紙幅センサ２４、及び他の変量を検出する検出要素としての各種のセンサから成るセンサ類２５を備えた検出部である。
【００２２】
前記主制御部１１は、印刷データ解析処理手段としての印刷データ解析部３１、及び印刷データ展開処理手段としての印刷データ展開部３２を備える。
【００２３】
前記印刷データ解析部３１は、印刷データ解析処理を行い、受信部２１によってデータが受信されると、データを解析し、制御データと印刷データとに分け、行単位の印刷情報を作成し、印刷データ展開部３２に送る。また、該印刷データ展開部３２は、印刷データ展開処理を行い、印刷データ解析部３１から送られた行単位の印刷情報に基づいて、印刷データを所定のドットパターンで印刷を行うためのビットマップデータに展開し、改行を行うための改行情報と共に機構制御部１３に送る。そして、印刷データ展開部３２は、後述されるように、印刷データ解析部３１から縮小印刷を行うための縮小率ηを読み込み、該縮小率ηでビットマップデータを縮小し、縮小したビットマップデータを機構制御部１３に送る。
【００２４】
なお、本実施の形態において、ホストコンピュータからシリアルプリンタに送信されるデータは、改行を行うための命令である改行コマンド等の制御データ、及び文字コードを含む印刷データから成り、前記受信部２１は、前記データを所定の転送単位、例えば、１バイト単位で受信する。
【００２５】
前記記憶装置１２は、ＲＡＭによって形成され、前記ビットマップデータを記録するための第１の記憶部としてのイメージバッファ３５、及び不揮発性メモリによって形成され、前記縮小率ηがあらかじめ記録された第２の記憶部としての縮小率記憶部３６を備える。
【００２６】
ところで、前記ビットマップデータにおいて、各文字は、文字幅をｍとし、文字の高さ、すなわち、文字高さをｎとするｍ×ｎのマトリックスから成るドットパターンで表される。なお、本実施の形態において、文字幅ｍ及び文字高さｎは、いずれも、２４〔ドット〕とされるが、他のドット数にすることができる。
【００２７】
また、本実施の形態においては、文字幅ｍ及び文字高さｎのうちの文字幅ｍを変更し、小さくすることによって縮小印刷が行われ、変更前の文字幅をｍ１とし、変更後の文字幅をｍ２としたとき、縮小率ηは
η＝（ｍ２／ｍ１）×１００〔％〕
で表される。本実施の形態においては、変更前の文字幅ｍ１が２４〔ドット〕であるので、４段階の縮小率ηが設定され、ビットマップデータを５カラムごとに１カラム削除すると、縮小率ηは８０〔％〕になり、４カラムごとに１カラム削除すると、縮小率ηは７５〔％〕になり、３カラムごとに１カラム削除すると、縮小率ηは６７〔％〕になり、２カラムごとに１カラム削除すると、縮小率ηは５０〔％〕になる。
【００２８】
そして、前記機構制御部１３は、印刷データ展開部３２からビットマップデータが送られると、スペースモータ１５を駆動してキャリッジを走査方向に移動させることによって印字ヘッド１４を用紙Ｐの幅方向に移動させ、ビットマップデータに対応するドットパターンで用紙Ｐ上にドットを形成する。また、前記機構制御部１３は、印刷データ展開部３２から改行情報が送られると、改行モータ１６を駆動し、用紙Ｐを１行分搬送し、改行を行う。なお、前記機構制御部１３は、媒体収容部としての図示されない用紙カセットから送られた用紙Ｐを搬送したり、印刷が行われた後の用紙Ｐをシリアルプリンタの本体、すなわち、装置本体外に排出したりする場合にも前記改行モータ１６を駆動する。
【００２９】
また、前記印字ヘッド１４は、複数の、本実施の形態においては、２４本のドットピンを備え、所定のドットピンによって、図示されないプラテン上の前記用紙Ｐをインクリボンを介して打ち付けて、インクを転写させることにより用紙Ｐ上にドットを形成し、印刷を行う。なお、印字ヘッド１４において、他の本数のドットピンを備えるようにすることもできる。
【００３０】
そして、前記操作部２２は、各種の情報等を入力するための操作要素としての図示されない操作キー、及びシリアルプリンタの状態を表示するための表示要素としての図示されない表示パネルを備え、表示部としても機能する。
【００３１】
また、前記検出部２３は、用紙幅センサ２４から送られた出力信号（センサ出力）に基づいて、用紙カセットから給紙されて用紙搬送路を搬送される用紙Ｐについて、用紙搬送路上の走査方向（用紙Ｐの幅方向）における用紙Ｐの位置（以下「用紙位置」という。）Ｓｐ、用紙Ｐの幅（以下「用紙幅」という。）Ｗ等の情報、すなわち、媒体幅情報を検出し、さらに、センサ類２５から送られた出力信号（センサ出力）に基づいて、用紙搬送路上の用紙Ｐの前端の位置、後端の位置等の情報、すなわち、媒体端情報を検出し、媒体幅情報及び媒体端情報を主制御部１１に送る。
【００３２】
なお、前記用紙幅センサ２４は、反射式の光学センサから成り、印字ヘッド１４における所定の位置において前記プラテンと対向させて配設され、印字ヘッド１４が走査方向に移動させられるのに伴ってプラテン上における用紙Ｐの有無を検出し、用紙Ｐの有無を表す出力信号を前記検出部２３に送る。そして、検出部２３は、印字ヘッド１４のホームポジションから用紙Ｐの有りが検出される位置までキャリッジを移動させたときのスペースモータ１５の駆動パルス数に基づいて、用紙Ｐの左端の位置である用紙位置Ｓｐを検出し、用紙Ｐの有りが検出された位置から用紙Ｐの無しが検出される位置までキャリッジを移動させたときのスペースモータ１５の駆動パルス数に基づいて用紙幅Ｗを検出する。
【００３３】
次に、前記印刷データ解析部３１について説明する。
【００３４】
印刷データ解析部３１は、印刷位置算出処理手段としての印刷位置算出部４３、印刷領域算出処理手段としての印刷領域算出部４４、印刷可否判断処理手段としての印刷可否判断部５１、余白判定処理手段としての余白判定部５２、余白調整処理手段としての余白調整部５３、縮小率選択処理手段としての縮小率選択部５４等を備える。
【００３５】
前記印刷位置算出部４３は、印刷位置算出処理を行い、前記制御データ及び印刷データに基づいて、印刷データ上の印刷位置、すなわち、印刷開始位置Ｓｓ及び印刷終了位置Ｓｅを行単位で算出する。
【００３６】
この場合、印刷開始位置Ｓｓ及び印刷終了位置Ｓｅは、所定の基準位置、本実施の形態においては、前記ホームポジションからの距離によって表され、印刷開始位置Ｓｓは、印字ヘッド１４のホームポジション、仕様等によって決まる行単位の印刷データの１文字目の位置であり、印刷終了位置Ｓｅは、印刷開始位置Ｓｓから１行分の印刷データの長さＬｄ〔インチ〕離れた位置である。なお、前記１行分の印刷データの長さＬｄは、制御データで規定される、１行分の印刷データに含まれる文字コードの数、すなわち、文字数、及びホストコンピュータにおいて印刷データを生成する際に規定される１〔インチ〕当たりの文字数に基づいて算出される。前記１〔インチ〕当たりの文字数は、シリアルプリンタにおいてデフォルト値として規定することができる。
【００３７】
また、前記印刷領域算出部４４は、印刷領域算出処理を行い、検出部２３から媒体幅情報を読み込み、前記用紙位置Ｓｐ及び用紙幅Ｗに基づいて、印字ヘッド１４を用紙Ｐの幅方向に移動させたときの、印刷を行うことができる領域を印刷領域ＡＲとして行単位で算出し、設定する。該印刷領域ＡＲは、シリアルプリンタの印刷精度等に応じて設定され、印刷領域ＡＲの左端の位置が印刷領域左端位置ＡＲＬとされ、印刷領域ＡＲの右端の位置が印刷領域右端位置ＡＲＲとされる。前記用紙Ｐにおける印刷領域ＡＲ外の部分は印刷不可領域ｋとされる。なお、印刷精度が高い場合においては、用紙Ｐの左端から右端までの全体の領域を印刷領域ＡＲとして設定することができる。また、印刷領域左端位置ＡＲＬ及び印刷領域右端位置ＡＲＲは、所定の基準位置、本実施の形態においては、前記ホームポジションからの距離によって表される。
【００３８】
そして、前記印刷可否判断部５１は、印刷可否判断処理を行い、印刷位置算出部４３から印刷終了位置Ｓｅを、印刷領域算出部４４から印刷領域右端位置ＡＲＲを読み込み、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを行単位で判断する。
【００３９】
また、前記余白判定部５２は、余白判定処理を行い、印刷データ上に、文字が形成されない部分である余白があるかどうかを行単位で判断する。すなわち、余白判定部５２の行先頭余白判定部Ｐｍ１は、行先頭余白判定処理を行い、印刷位置算出部４３から印刷開始位置Ｓｓを、印刷領域算出部４４から印刷領域左端位置ＡＲＬを読み込み、印刷領域左端位置ＡＲＬと印刷開始位置Ｓｓとの間に、行の先頭部分の余白、すなわち、行先頭余白Ｌがあるかどうかを判断する。また、余白判定部５２の行途中余白判定部Ｐｍ２は、行途中余白判定処理を行い、印刷データに基づいて、行の途中の余白、すなわち、行途中余白Ｅｉ（ｉ＝１、２、…）があるかどうかを判断する。なお、この場合、行途中余白判定部Ｐｍ２は、文字間の余白の余白量が所定の値Ｅｘより大きい場合に行途中余白Ｅｉがあると判断する。さらに、余白判定部５２の文字間クリアランス判定部Ｐｍ３は、文字間クリアランス判定処理を行い、シリアルプリンタの印刷設定に基づいて、文字間にクリアランス、すなわち、文字間クリアランスｇがあるかどうかを判断する。この場合、前記余白量の値Ｅｘは、文字間クリアランスｇではなく行途中余白Ｅｉであることが分かるように、文字間クリアランスｇより大きく、例えば、半角文字の幅（文字幅ｍの１／２）より大きい値に設定される。
【００４０】
なお、前記行先頭余白Ｌ及び行途中余白Ｅｉには、スペースコード、未定義コード（ＮＵＬＬ）等の印刷データ上の空白部分のほかに、タブの設定による空白部分、シリアルプリンタの余白設定による空白部分が含まれる。
【００４１】
そして、前記余白調整部５３は、余白調整処理を行い、前記余白判定部５２による判定結果に基づいて余白を調整して小さくしたり、削除したりする。すなわち、余白調整部５３の行先頭余白調整部Ｐｍ１１は、行先頭余白調整処理を行い、行先頭余白Ｌがある場合に行先頭余白Ｌを削除（０に）する。また、余白調整部５３の行途中余白調整部Ｐｍ１２は、行途中余白調整処理を行い、行途中余白Ｅｉがある場合に行途中余白Ｅｉを小さくして余白量を値Ｅｘにする。さらに、余白調整部５３の文字間クリアランス調整部Ｐｍ１３は、文字間クリアランス調整処理を行い、文字間クリアランスｇがある場合に文字間クリアランスｇを削除（０に）する。
【００４２】
本実施の形態においては、行先頭余白調整部Ｐｍ１１、行途中余白調整部Ｐｍ１２及び文字間クリアランス調整部Ｐｍ１３が、行先頭余白Ｌ、行途中余白Ｅｉ及び文字間クリアランスｇを順次調整するたびに、印刷可否判断部５１が、印刷領域ＡＲ内に印刷データが収まるかどうかを行単位で判断する。
【００４３】
また、縮小率選択部５４は、縮小率選択処理を行い、印刷可否判断部５１の判断結果に基づいて、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になるように、すなわち、印刷領域ＡＲ内に印刷データが収まるように、シリアルプリンタの縮小印刷の機能であらかじめ設定された８０〔％〕、７５〔％〕、６７〔％〕及び５０〔％〕の縮小率ηのうちの所定の縮小率ηを選択し、印刷情報として印刷データ展開部３２に送る。
【００４４】
なお、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であり、印刷領域ＡＲ内に印刷データが収まると判断された場合は、縮小率ηが選択されず、縮小印刷は行われない。
【００４５】
次に、前記印刷データ解析部３１の動作について説明する。
【００４６】
図１１は本発明の第１の実施の形態における印刷データ解析部の動作を示すフローチャート、図１２は本発明の第１の実施の形態における印刷データについて印刷を行ったときの印刷結果の第１の例を示す図、図１３は本発明の第１の実施の形態における印刷位置と印刷領域との関係を示す第１の図、図１４は本発明の第１の実施の形態における印刷位置と印刷領域との関係を示す第２の図、図１５は本発明の第１の実施の形態における文字間クリアランスがある場合のドットパターンの例を示す図、図１６は本発明の第１の実施の形態における印刷位置と印刷領域との関係を示す第３の図、図１７は本発明の第１の実施の形態における文字間クリアランスが調整された後のドットパターンの例を示す図、図１８は本発明の第１の実施の形態における印刷データについて印刷を行ったときの印刷結果の第２の例を示す図、図１９は本発明の第１の実施の形態における印刷位置と印刷領域との関係を示す第４の図、図２０は本発明の第１の実施の形態における印刷位置と印刷領域との関係を示す第５の図である。
【００４７】
まず、印刷可否判断部５１は、印刷位置算出部４３から印刷終了位置Ｓｅを、印刷領域算出部４４から印刷領域右端位置ＡＲＲを読み込み、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるどうかを判断する。印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であり、印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は、縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。この場合、印刷データ展開部３２は、ビットマップデータを縮小することなく機構制御部１３に送る。したがって、用紙Ｐにおける印刷領域ＡＲ内において図１２に示されるような印刷結果が得られる。
【００４８】
また、図１０に示されるように、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、前記行先頭余白判定部Ｐｍ１は、印刷位置算出部４３から印刷開始位置Ｓｓを、印刷領域算出部４４から印刷領域左端位置ＡＲＬを読み込み、印刷領域左端位置ＡＲＬと印刷開始位置Ｓｓとの間に行先頭余白Ｌがあるかどうかを判断する。そして、行先頭余白Ｌがある場合、前記行先頭余白調整部Ｐｍ１１は、図１３に示されるように、行先頭余白Ｌを削除する。
【００４９】
続いて、印刷位置算出部４３は、印刷終了位置Ｓｅから行先頭余白Ｌを減算することによって、印刷終了位置Ｓｅを更新する。
【００５０】
また、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であり、印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。
【００５１】
一方、図１３に示されるように、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、前記行途中余白判定部Ｐｍ２は、印刷領域ＡＲ内に行途中余白Ｅｉがあるかどうかを判断する。そして、行途中余白Ｅｉがある場合、行途中余白調整部Ｐｍ１２は、図１４に示されるように、行途中余白Ｅｉを小さくして余白量を値Ｅｘにする。
【００５２】
続いて、印刷位置算出部４３は、印刷終了位置Ｓｅから、行途中余白Ｅｉと余白量の値Ｅｘとの差δＬを減算することによって、印刷終了位置Ｓｅを更新する。
【００５３】
そして、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。
【００５４】
また、図１４に示されるように、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、前記文字間クリアランス判定部Ｐｍ３は、印刷領域ＡＲ内に、図１４及び１５に示されるような文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがある場合、文字間クリアランス調整部Ｐｍ１３は、図１６及び１７に示されるように、印刷データにおけるすべての文字間クリアランスｇを削除する。
【００５５】
続いて、印刷位置算出部４３は、印刷終了位置Ｓｅから文字間クリアランスｇを減算することによって、印刷終了位置Ｓｅを更新する。
【００５６】
そして、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。図１６に示されるように、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であり、印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。
【００５７】
一方、図１９に示されるように、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる前記各縮小率ηのうちの、最も大きい縮小率η（縮小度合いが最も小さい縮小率η）を選択し、印刷指示と共に印刷データ展開部３２に送る。したがって、図２０に示されるように、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になり、印刷領域ＡＲ内に印刷データが収まり、印刷領域ＡＲ内においてすべての文字について印刷を行うことができる。
【００５８】
このように、本実施の形態においては、印刷領域ＡＲ内に印刷データが収まるかどうかが行単位で判断され、判断結果に応じて、行単位で印刷データ上の余白が調整され、余白が調整された後のビットマップデータが機構制御部１３に送られるので、印刷領域ＡＲ内においてすべての文字について印刷を行うことができる。また、余白が調整された分だけ、文字フォントサイズが小さくなるのを抑制することができるので、幅の狭い用紙Ｐに対して印刷を行う場合に、用紙Ｐ上に形成される文字が見づらくなるのを抑制することができる。
【００５９】
そして、印刷データに、行先頭余白Ｌ、行途中余白Ｅｉ及び文字間クリアランスｇがある場合において、行先頭余白Ｌを削除し、行途中余白Ｅｉを小さくして余白量を値Ｅｘにし、文字間クリアランスｇを削除しても、印刷領域ＡＲ内に印刷データが収まらない場合には、ビットマップデータが縮小されるようになっているので、印刷領域ＡＲ内においてすべての文字について確実に印刷を行うことができる。
【００６０】
しかも、行先頭余白Ｌを削除し、行途中余白Ｅｉを小さくして余白量を値Ｅｘにし、文字間クリアランスｇを削除しても、印刷領域ＡＲ内に印刷データが収まらない場合にだけ、ビットマップデータが縮小されるので、文字フォントサイズが小さくなるのを十分に抑制することができる。
【００６１】
また、ビットマップデータを縮小するに当たり、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηが選択されるので、文字フォントサイズが小さくなるのを十分に抑制することができる。
【００６２】
さらに、行先頭余白Ｌ、行途中余白Ｅｉ及び文字間クリアランスｇの順に余白が調整されるので、文字の近傍の空白部分が小さくなったり、削除されたりするのを抑制することができる。したがって、文字が見づらくなるのをその分抑制することができる。
【００６３】
次に、図１１のフローチャートについて説明する。
ステップＳ１  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ３に進む。
ステップＳ２  縮小率選択部５４は縮小率ηを選択せず、処理を終了する。
ステップＳ３  行先頭余白判定部Ｐｍ１は行先頭余白Ｌがあるかどうかを判断する。行先頭余白Ｌがある場合はステップＳ４に進み、行先頭余白Ｌがない場合はステップＳ６に進む。
ステップＳ４  行先頭余白調整部Ｐｍ１１は行先頭余白Ｌを削除する。
ステップＳ５  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ６に進む。
ステップＳ６  行途中余白判定部Ｐｍ２は行途中余白Ｅｉがあるかどうかを判断する。行途中余白Ｅｉがある場合はステップＳ７に進み、行途中余白Ｅｉがない場合はステップＳ９に進む。
ステップＳ７  行途中余白調整部Ｐｍ１２は行途中余白Ｅｉの余白量を値Ｅｘにする。
ステップＳ８  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ９に進む。
ステップＳ９  文字間クリアランス判定部Ｐｍ３は文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがある場合はステップＳ１０に進み、文字間クリアランスｇがない場合はステップＳ１１に進む。
ステップＳ１０  文字間クリアランス調整部Ｐｍ１３は文字間クリアランスｇを削除する。
ステップＳ１１  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ１２に進む。
ステップＳ１２  縮小率選択部５４は縮小率ηを選択し、処理を終了する。
【００６４】
ところで、本実施の形態においては、印刷データに、行先頭余白Ｌ、行途中余白Ｅｉ及び文字間クリアランスｇがある場合に、行先頭余白Ｌが削除され、行途中余白Ｅｉが小さくされて余白量が値Ｅｘにされ、文字間クリアランスｇが削除されるので、印刷データのフォーマット、すなわち、印刷フォーマットが変化する。したがって、用紙Ｐ上に形成される印刷結果は、印刷データ上の印刷結果と異なってしまう。
【００６５】
そこで、印刷領域ＡＲ内においてすべての文字について印刷を行うことができ、かつ、印刷フォーマットが変化するのを抑制することができるようにした本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同じ構造を有するものについては、同じ符号を付与し、同じ構造を有することによる発明の効果については同実施の形態の効果を援用する。
【００６６】
図２１は本発明の第２の実施の形態における印刷データ解析部のブロック図、図２２は本発明の第２の実施の形態における余白調整部の動作を説明するための第１の概念図、図２３は本発明の第２の実施の形態における余白調整部の動作を説明するための第２の概念図である。
【００６７】
この場合、印刷データ解析処理手段としての印刷データ解析部３１に余白調整率算出処理手段としての余白調整率算出部４５が配設され、該余白調整率算出部４５は、余白を調整して小さくするための指標となる所定の余白調整率を算出する。そのために、余白調整率算出部４５は、印刷データから文字幅ｍ、及び１行の各文字間クリアランスのうちの最も小さい文字間クリアランスｇを読み込み、余白調整率ε
ε＝ｍ／（ｍ＋ｇ）
を算出し、設定する。例えば、図１５に示されるように、文字幅ｍが２４〔ドット〕であり、文字間クリアランスｇが２〔ドット〕である場合、余白調整率εは、
ε＝２４／２６
になる。
【００６８】
また、余白判定処理手段としての余白判定部５２は、印刷可否判断処理手段としての印刷可否判断部５１によって、印刷領域ＡＲ内に印刷データが収まらないと判断された場合に、印刷データ上に余白があるかどうかを判断する。すなわち、余白判定部５２において、行先頭余白判定部Ｐｍ１は行先頭余白Ｌがあるかどうかを、行途中余白判定部Ｐｍ２は行途中余白Ｅｉ（ｉ＝１、２、…）があるかどうかを、文字間クリアランス判定部Ｐｍ３は文字間クリアランスｇがあるかどうかを判断する。
【００６９】
図２２に示されるように、行先頭余白Ｌ、行途中余白Ｅｉ及び文字間クリアランスｇがある場合、余白調整処理手段としての余白調整部５３は、図２３に示されるように、余白判定部５２による判定結果、及び余白調整率εに基づいて、行単位で印字データ上の余白を調整して小さくする。すなわち、行先頭余白調整部Ｐｍ１１は、行先頭余白Ｌがある場合、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ×ε
にし、行途中余白調整部Ｐｍ１２は、行途中余白Ｅｉがある場合、行途中余白Ｅｉを小さくして余白量を値Ｌｉ’
Ｌｉ’＝Ｌｉ×ε
にし、文字間クリアランス調整部Ｐｍ１３は、文字間クリアランスｇがある場合、文字間クリアランスｇを小さくして余白量（クリアランス量）を値ｇ’
ｇ’＝（ｍ＋ｇ）×ε−ｍ
にする。
【００７０】
次に、前記印刷データ解析部３１の動作について説明する。
【００７１】
図２４は本発明の第２の実施の形態における印刷データ解析部の動作を示すフローチャート、図２５は本発明の第２の実施の形態における印刷位置と印刷領域との関係を示す第１の図、図２６は本発明の第２の実施の形態における印刷位置と印刷領域との関係を示す第２の図、図２７は本発明の第２の実施の形態における印刷位置と印刷領域との関係を示す第３の図、図２８は本発明の第２の実施の形態における印刷位置と印刷領域との関係を示す第４の図、図２９は本発明の第２の実施の形態における印刷データについて印刷を行ったときの印刷結果の例を示す図である。
【００７２】
まず、印刷可否判断部５１は、印刷位置算出処理手段としての印刷位置算出部４３から印刷終了位置Ｓｅを、印刷領域算出処理手段としての印刷領域算出部４４から印刷領域右端位置ＡＲＲを読み込み、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であり、印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択処理手段としての縮小率選択部５４は、縮小率ηを選択せず、通常の印刷の指示を印刷データ展開処理手段としての印刷データ展開部３２に送る。この場合、該印刷データ展開部３２は、ビットマップデータを縮小することなく機構制御部１３に送る。
【００７３】
また、図２５に示されるように、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、文字間クリアランス判定部Ｐｍ３は、印刷領域ＡＲ内に文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。
【００７４】
一方、文字間クリアランスｇがある場合、前記余白調整率算出部４５は、文字幅ｍ及び文字間クリアランスｇに基づいて余白調整率εを算出する。
【００７５】
続いて、前記行先頭余白判定部Ｐｍ１は、印刷位置算出部４３から印刷開始位置Ｓｓを、印刷領域算出部４４から印刷領域左端位置ＡＲＬを読み込み、印刷領域左端位置ＡＲＬと印刷開始位置Ｓｓとの間に行先頭余白Ｌがあるかどうかを判断する。行先頭余白Ｌがある場合、行先頭余白調整部Ｐｍ１１は、図２６に示されるように、行先頭余白Ｌを小さくして余白量を値Ｌ’にする。
【００７６】
続いて、印刷位置算出部４３は、印刷終了位置Ｓｅから、行先頭余白Ｌと余白量の値Ｌ’との差δＬを減算することによって、印刷終了位置Ｓｅを更新する。
【００７７】
そして、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。図２６に示されるように、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、前記行途中余白判定部Ｐｍ２は、印刷領域ＡＲ内に行途中余白Ｅｉがあるかどうかを判断する。行途中余白Ｅｉがある場合、図２７に示されるように、行途中余白調整部Ｐｍ１２は、行途中余白Ｅｉを小さくして余白量を値Ｅｉ’にし、文字間クリアランス調整部Ｐｍ１３は印刷データにおけるすべての文字間クリアランスｇを小さくして余白量を値ｇ’にする。また、印刷領域ＡＲ内に行途中余白Ｅｉがない場合、文字間クリアランス調整部Ｐｍ１３は印刷データにおけるすべての文字間クリアランスｇを小さくして余白量を値ｇ’にする。
【００７８】
続いて、行途中余白Ｅｉがある場合、印刷位置算出部４３は、印刷終了位置Ｓｅから、行途中余白Ｅｉと余白量の値Ｌｉ’との差δＬｉを減算することによって、印刷終了位置Ｓｅを更新し、行途中余白Ｅｉがない場合、印刷終了位置Ｓｅから文字間クリアランスｇと余白量の値ｇ’との差δｇを減算することによって、印刷終了位置Ｓｅを更新する。
【００７９】
そして、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。図２８に示されるように、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であり、印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は、縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。この場合、印刷データ展開部３２は、ビットマップデータを縮小することなく機構制御部１３に送る。したがって、媒体としての用紙Ｐ上における印刷領域ＡＲ内において図２９に示されるような印刷結果が得られる。
【００８０】
また、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。したがって、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になり、印刷領域ＡＲ内に印刷データが収まり、印刷領域ＡＲ内においてすべての文字について印刷を行うことができる。
【００８１】
このように、本実施の形態においては、行先頭余白Ｌが削除されることなく、行先頭余白Ｌ及び行途中余白Ｅｉが一定の余白調整率εで小さくされる。したがって、印刷フォーマットが変化するのを抑制することができるので、用紙Ｐ上の印刷結果を、印刷データ上の印刷結果と類似させることができ、印刷結果を見たときの違和感がなくなる。
【００８２】
次に、図２４のフローチャートについて説明する。
ステップＳ２１  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ２２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ２３に進む。
ステップＳ２２  縮小率選択部５４は縮小率ηを選択せず、処理を終了する。
ステップＳ２３  文字間クリアランス判定部Ｐｍ３は文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがある場合はステップＳ２４に進み、文字間クリアランスｇがない場合はステップＳ３１に進む。
ステップＳ２４  余白調整率算出部４５は余白調整率εを算出する。
ステップＳ２５  行先頭余白判定部Ｐｍ１は行先頭余白Ｌがあるかどうかを判断する。行先頭余白Ｌがある場合はステップＳ２６に進み、行先頭余白Ｌがない場合はステップＳ２８に進む。
ステップＳ２６  行先頭余白調整部Ｐｍ１１は行先頭余白Ｌの余白量を値Ｌ’にする。
ステップＳ２７  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ２２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ２８に進む。
ステップＳ２８  行途中余白判定部Ｐｍ２は行途中余白Ｅｉがあるかどうかを判断する。行途中余白Ｅｉがある場合はステップＳ２９に進み、行途中余白Ｅｉがない場合はステップＳ３２に進む。
ステップＳ２９  行途中余白調整部Ｐｍ１２は行途中余白Ｅｉを小さくして余白量を値Ｅｉ’にし、文字間クリアランス調整部Ｐｍ１３は文字間クリアランスｇを小さくして余白量を値ｇ’にする。
ステップＳ３０  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ２２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ３１に進む。
ステップＳ３１  縮小率選択部５４は縮小率ηを選択し、処理を終了する。
ステップＳ３２  文字間クリアランス調整部Ｐｍ１３は文字間クリアランスｇを小さくして余白量を値ｇ’にする。
【００８３】
本実施の形態においては、行先頭余白調整部Ｐｍ１１が行先頭余白Ｌを小さくした後、行途中余白調整部Ｐｍ１２が行途中余白Ｅｉを小さくするとともに、文字間クリアランス調整部Ｐｍ１３が文字間クリアランスｇを小さくして余白量を値ｇ’にするようになっているが、第１の実施の形態と同様に、順に、行先頭余白Ｌを小さくし、行途中余白Ｅｉを小さくし、文字間クリアランスｇを小さくすることができる。
【００８４】
ところで、本実施の形態においては、印刷フォーマットが変化するのを抑制することができるが、その分、印刷領域ＡＲ内に印刷データが収まりにくくなるので、文字フォントサイズが小さくされてしまう。
【００８５】
そこで、印刷フォーマットが変化するのをある程度抑制することができ、かつ、文字フォントサイズが小さくなるのをある程度抑制することができるようにした、本発明の第３の実施の形態について説明する。なお、第１、第２の実施の形態と同じ構造を有するものについては、同じ符号を付与し、同じ構造を有することによる発明の効果については同実施の形態の効果を援用する。
【００８６】
図３０は本発明の第３の実施の形態におけるシリアルプリンタのブロック図、図３１は本発明の第３の実施の形態における印刷データ解析部のブロック図、図３２は本発明の第３の実施の形態における余白調整部の動作を説明するための第１の概念図、図３３は本発明の第３の実施の形態における余白調整部の動作を説明するための第２の概念図、図３４は本発明の第３の実施の形態における行先頭余白調整部の動作を説明するための第１の図、図３５は本発明の第３の実施の形態における行先頭余白調整部の動作を説明するための第２の図である。
【００８７】
この場合、記憶装置１２は、ＲＡＭによって形成され、ビットマップデータを記録するための第１の記憶部としてのイメージバッファ３５、不揮発性メモリによって形成され、縮小印刷を行うための縮小率ηがあらかじめ記録された第２の記憶部としての縮小率記憶部３６、及びＲＡＭによって形成され、行先頭余白調整部Ｐｍ１１が行先頭余白Ｌを削除（０に）する際の削除量、又は行先頭余白Ｌを小さくする際の減小量を調整量ΔＬとしたとき、そのページ内において、各行における調整量ΔＬのうちの最小の値（以下「最小調整量」という。）ΔＬｍを記録するための第３の記憶部としての最小調整量記憶部３７を備える。
【００８８】
また、余白判定処理手段としての余白判定部５２は、印刷可否判断処理手段としての印刷可否判断部５１によって、印刷領域ＡＲ内に印刷データが収まらないと判断された場合に、印刷データ上に余白があるかどうかを判断する。すなわち、行先頭余白判定部Ｐｍ１は行先頭余白Ｌがあるかどうかを、行途中余白判定部Ｐｍ２は行途中余白Ｅｉ（ｉ＝１、２、…）があるかどうかを、文字間クリアランス判定部Ｐｍ３は文字間クリアランスｇがあるかどうかを判断する。
【００８９】
そして、図３２に示されるように、行先頭余白Ｌ、行途中余白Ｅｉ及び文字間クリアランスｇがある場合、余白調整処理手段としての余白調整部５３は、前記余白判定部５２による判定結果に基づいて余白を調整する。すなわち、行先頭余白調整部Ｐｍ１１は、行先頭余白Ｌがある場合に、前記最小調整量記憶部３７から最小調整量ΔＬｍを読み出し、行先頭余白Ｌが最小調整量ΔＬｍ以上であるかどうかを判断し、行先頭余白Ｌが最小調整量ΔＬｍ以上である場合、最小調整量ΔＬｍを新たな最小調整量ΔＬｍとして更新し、行先頭余白Ｌが最小調整量ΔＬｍより小さい場合、行先頭余白Ｌを最小調整量ΔＬｍとして更新し、更新した最小調整量ΔＬｍを最小調整量記憶部３７に記録する。続いて、前記行先頭余白調整部Ｐｍ１１は、行先頭余白Ｌを最小調整量ΔＬｍだけ小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
にし、図３３に示されるように、例えば、０にする。この場合、行先頭余白調整部Ｐｍ１１は、行先頭余白Ｌを小さくするに当たり、最小調整量ΔＬｍだけ小さくし、それより多くは小さくしない。なお、最小調整量ΔＬｍは、改ページが行われるたびにリセットされる。
【００９０】
また、行途中余白調整部Ｐｍ１２は、行途中余白Ｅｉがある場合に、行途中余白Ｅｉを小さくして余白量を値Ｅｉ’
Ｅｉ’＝Ｅｉ×ε
にし、文字間クリアランス調整部Ｐｍ１３は、文字間クリアランスｇがある場合に文字間クリアランスｇを小さくして余白量を値ｇ’にする。
【００９１】
次に、行先頭余白調整部Ｐｍ１１が行先頭余白Ｌを調整する際の詳細について説明する。
【００９２】
図３４及び３５に示されるように、１行目の行先頭余白Ｌが
Ｌ＝Ｌ１０
であり、そのページ内において、前の行までの調整量ΔＬはないので、行先頭余白調整部Ｐｍ１１は、最小調整量ΔＬｍを更新して
ΔＬｍ＝Ｌ１０
にし、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
＝Ｌ１０−Ｌ１０
＝０
にする。
【００９３】
また、２行目の行先頭余白Ｌが
Ｌ＝Ｌ１１
≦Ｌ１０
である場合、行先頭余白調整部Ｐｍ１１は、最小調整量ΔＬｍを更新して
ΔＬｍ＝Ｌ１１
にし、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
＝Ｌ１１−Ｌ１１
＝０
にする。
【００９４】
そして、３行目及び４行目の行先頭余白Ｌが
Ｌ＝Ｌ１１
≦Ｌ１０
である場合、行先頭余白調整部Ｐｍ１１は、最小調整量ΔＬｍを更新して
ΔＬｍ＝Ｌ１１
にし、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
＝Ｌ１１−Ｌ１１
＝０
にする。
【００９５】
また、５行目の行先頭余白Ｌが
Ｌ＝Ｌ１２
＞Ｌ１１
である場合、行先頭余白調整部Ｐｍ１１は、最小調整量ΔＬｍを更新して
ΔＬｍ＝Ｌ１１
にし、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
＝Ｌ１２−Ｌ１１
＝Ｌ２０
にする。
【００９６】
そして、６行目の行先頭余白Ｌが、
Ｌ＝Ｌ１３
＞Ｌ１１
である場合、行先頭余白調整部Ｐｍ１１は、最小調整量ΔＬｍを更新して
ΔＬｍ＝Ｌ１１
にし、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
＝Ｌ１３−Ｌ１１
＝Ｌ２１
にする。
【００９７】
また、7 行目の行先頭余白Ｌが、
Ｌ＝Ｌ１１
である場合、行先頭余白調整部Ｐｍ１１は、最小調整量ΔＬｍを更新して
ΔＬｍ＝Ｌ１１
にし、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
＝Ｌ１１−Ｌ１１
＝０
にする。
【００９８】
そして、８行目の行先頭余白Ｌが、
Ｌ＝Ｌ１４
＜Ｌ１１
である場合、行先頭余白調整部Ｐｍ１１は、最小調整量ΔＬｍを更新して
ΔＬｍ＝Ｌ１４
にし、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
＝Ｌ１４−Ｌ１４
＝０
にする。
【００９９】
なお、９行目から１６行目までの印字データは１行目から８行目までの印字データと同じであるが、そのページ内において、前の行までの調整量ΔＬがそれぞれ異なるので、９行目から１６行目までの余白量Ｌ’は異なる。
【０１００】
すなわち、９行目の行先頭余白Ｌが
Ｌ＝Ｌ１０
であるが、最小調整量ΔＬｍは、
ΔＬｍ＝Ｌ１４
＜Ｌ１０
であるので、行先頭余白調整部Ｐｍ１１は、最小調整量ΔＬｍとして更新して
ΔＬｍ＝Ｌ１４
にし、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
＝Ｌ１０−Ｌ１４
＝Ｌ２２
にする。
【０１０１】
同様に、１０行目〜１６行目において、行先頭余白Ｌが、Ｌ１１、Ｌ１１、Ｌ１１、Ｌ１２、Ｌ１３、Ｌ１１、Ｌ１４である場合、最小調整量ΔＬｍがすべてＬ１４になり、行先頭余白調整部Ｐｍ１１は、各行先頭余白Ｌを小さくして余白量の値Ｌ’をＬ２３（＝Ｌ１１−Ｌ１４）、Ｌ２３（＝Ｌ１１−Ｌ１４）、Ｌ２３（＝Ｌ１１−Ｌ１４）、Ｌ２４（＝Ｌ１２−Ｌ１４）、Ｌ２５（＝Ｌ１３−Ｌ１４）、Ｌ２３（＝Ｌ１１−Ｌ１４）にする。
【０１０２】
そして、途中余白Ｅｉがある場合に、途中余白調整部Ｐｍ１２は、途中余白Ｅｉを小さくして余白量を値Ｅ’にする。
【０１０３】
次に、前記印刷データ解析部３１の動作について説明する。
【０１０４】
図３６は本発明の第３の実施の形態における印刷データ解析部の動作を示す第１のフローチャート、図３７は本発明の第３の実施の形態における印刷データ解析部の動作を示す第２のフローチャート、図３８は本発明の第３の実施の形態における印刷位置と印刷領域との関係を示す第１の図、図３９は本発明の第３の実施の形態における印刷位置と印刷領域との関係を示す第２の図、図４０は本発明の第３の実施の形態における印刷位置と印刷領域との関係を示す第３の図、図４１は本発明の第３の実施の形態における印刷データについて印刷を行ったときの印刷結果の例を示す図である。
【０１０５】
まず、印刷可否判断部５１は、印刷位置算出処理手段としての印刷位置算出部４３から印刷終了位置Ｓｅを、印刷領域算出部４４から印刷領域右端位置ＡＲＲを読み込み、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であり、印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択処理手段としての縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開処理手段としての印刷データ展開部３２に送る。この場合、該印刷データ展開部３２は、ビットマップデータを縮小することなく機構制御部１３に送る。
【０１０６】
また、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、前記行先頭余白判定部Ｐｍ１は、印刷位置算出部４３から印刷開始位置Ｓｓを、印刷領域算出部４４から印刷領域左端位置ＡＲＬを読み込み、印刷領域左端位置ＡＲＬと印刷開始位置Ｓｓとの間に行先頭余白Ｌがあるかどうかを判断する。
【０１０７】
行先頭余白Ｌがある場合、行先頭余白調整部Ｐｍ１１は、最小調整量記憶部３７から最小調整量ΔＬｍを読み出し、行先頭余白Ｌが最小調整量ΔＬｍ以上であるかどうかを判断する。行先頭余白Ｌが最小調整量ΔＬｍ以上である場合、行先頭余白調整部Ｐｍ１１は、最小調整量ΔＬｍを新たな最小調整量ΔＬｍとして更新し、最小調整量記憶部３７に記録する。また、行先頭余白Ｌが最小調整量ΔＬｍより小さい場合、行先頭余白調整部Ｐｍ１１は、行先頭余白Ｌを最小調整量ΔＬｍとして更新し、該最小調整量ΔＬｍを最小調整量記憶部３７に記録する。なお、前述されたように、１行目の行先頭余白Ｌを調整する際において、最小調整量ΔＬｍは１行目の行先頭余白Ｌとされる。
【０１０８】
続いて、前記行先頭余白調整部Ｐｍ１１は、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
にする。
【０１０９】
次に、印刷位置算出部４３は、印刷終了位置Ｓｅから、行先頭余白Ｌと余白量Ｌ’との差δＬを減算することによって、印刷終了位置Ｓｅを更新する。
【０１１０】
そして、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。この場合、該印刷データ展開部３２は、ビットマップデータを縮小することなく機構制御部１３に送る。
【０１１１】
図３８に示されるように、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、文字間クリアランス判定部Ｐｍ３は、印刷領域ＡＲ内に文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。
【０１１２】
また、文字間クリアランスｇがある場合、余白調整率算出処理手段としての余白調整率算出部４５は、文字幅ｍ及び文字間クリアランスｇに基づいて余白調整率εを算出する。
【０１１３】
続いて、前記行途中余白判定部Ｐｍ２は、印刷領域ＡＲ内に行途中余白Ｅｉがあるかどうかを判断する。行途中余白Ｅｉがある場合、図３９に示されるように、行途中余白調整部Ｐｍ１２は、行途中余白Ｅｉを小さくして余白量を値Ｅｉ’にし、文字間クリアランス調整部Ｐｍ１３は印刷データにおけるすべての文字間クリアランスｇを小さくして余白量を値ｇ’にする。一方、印刷領域ＡＲ内に行途中余白Ｅｉがない場合、文字間クリアランス調整部Ｐｍ１３は印刷データにおけるすべての文字間クリアランスｇを小さくして余白量を値ｇ’にする。
【０１１４】
続いて、印刷位置算出部４３は、行途中余白Ｅｉがある場合、印刷終了位置Ｓｅから、行途中余白Ｅｉと余白量の値Ｌｉ’との差δＬｉを減算することによって、印刷終了位置Ｓｅを更新し、行途中余白Ｅｉがない場合、印刷終了位置Ｓｅから文字間クリアランスｇと余白量の値ｇ’との差δｇを減算することによって、印刷終了位置Ｓｅを更新する。
【０１１５】
そして、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。図４０に示されるように、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であり、印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。この場合、該印刷データ展開部３２は、ビットマップデータを縮小することなく機構制御部１３に送る。
【０１１６】
また、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。したがって、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になり、印刷領域ＡＲ内に印刷データが収まり、媒体としての用紙Ｐにおける印刷領域ＡＲ内において図４１に示されるような印刷結果が得られる。
【０１１７】
一方、行先頭余白Ｌがない場合、文字間クリアランス判定部Ｐｍ３は、印刷領域ＡＲ内に文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。
【０１１８】
また、文字間クリアランスｇがある場合、余白調整処理手段としての余白調整率算出部４５は、文字幅ｍ及び文字間クリアランスｇに基づいて余白調整率εを算出する。
【０１１９】
このように、本実施の形態においては、各行において余白の調整が行われるたびに最小調整量ΔＬｍが算出され、行先頭余白Ｌを小さくするに当たり、最小調整量ΔＬｍより大きく変更されないので、用紙Ｐ上の印刷結果を印刷データ上の印刷結果と類似させることができ、刷結果を見たときの違和感がなくなる。
【０１２０】
次に、図３６及び３７のフローチャートについて説明する。
ステップＳ４１  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ４２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ４３に進む。
ステップＳ４２  縮小率選択部５４は縮小率ηを選択せず、処理を終了する。
ステップＳ４３  行先頭余白判定部Ｐｍ１は行先頭余白Ｌがあるかどうかを判断する。行先頭余白Ｌがある場合はステップＳ４４に進み、行先頭余白Ｌがない場合はステップＳ５３に進む。
ステップＳ４４  行先頭余白調整部Ｐｍ１１は行先頭余白Ｌが最小調整量ΔＬｍ以上であるかどうかを判断する。行先頭余白Ｌが最小調整量ΔＬｍ以上である場合はステップＳ４６に進み、行先頭余白Ｌが最小調整量ΔＬｍより小さい場合はステップＳ４５に進む。
ステップＳ４５  行先頭余白調整部Ｐｍ１１は行先頭余白Ｌを最小調整量ΔＬｍにする。
ステップＳ４６  行先頭余白調整部Ｐｍ１１は行先頭余白Ｌの余白量を値Ｌ’にする。
ステップＳ４７  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ４２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ４８に進む。
ステップＳ４８  文字間クリアランス判定部Ｐｍ３は文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがある場合はステップＳ４９に進み、文字間クリアランスｇがない場合はステップＳ５３に進む。
ステップＳ４９  余白調整率算出部４５は余白調整率εを算出する。
ステップＳ５０  行途中余白判定部Ｐｍ２は行途中余白Ｅｉがあるかどうかを判断する。行途中余白Ｅｉがある場合はステップＳ５１に進み、行途中余白Ｅｉがない場合はステップＳ５４に進む。
ステップＳ５１  行途中余白調整部Ｐｍ１２は行途中余白Ｅｉの余白量を値Ｅｉ’にし、文字間クリアランス調整部Ｐｍ１３は文字間クリアランスｇを小さくして余白量を値ｇ’にする。
ステップＳ５２  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ４２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ５３に進む。
ステップＳ５３  縮小率選択部５４は縮小率ηを選択し、処理を終了する。
ステップＳ５４  文字間クリアランス調整部Ｐｍ１３は文字間クリアランスｇを小さくして余白量を値ｇ’にする。
【０１２１】
ところで、前記第１の実施の形態においては、文字フォントサイズが小さくなるのを抑制することができるが、印刷フォーマットが変化する。また、前記第２の実施の形態においては、印刷フォーマットが変化するのを抑制することができるが、文字フォントサイズが小さくなってしまう。さらに、前記第３の実施の形態においては、印刷フォーマットが変化したり、文字フォントサイズが小さくなったりするのをある程度抑制することができるが、十分に抑制することができない。
【０１２２】
ところが、印刷される文字の種類、印刷される文書の種類等によっては、文字フォントサイズが小さくなるのを抑制する必要はあっても印刷フォーマットが変化するのを抑制する必要がない場合、印刷フォーマットが変化するのを抑制する必要はあっても文字フォントサイズが小さくなるのを抑制する必要がない場合、及び文字フォントサイズが小さくなるのも、印刷フォーマットが変化するのも抑制する必要がある場合がある。
【０１２３】
そこで、操作者が、状況に応じて、文字フォントサイズが小さくなるのを抑制したり、印刷フォーマットが変化するのを抑制したりすることができるようにした本発明の第４の実施の形態について説明する。なお、前記第１〜第３の実施の形態と同じ構造を有するものについては、同じ符号を付与し、同じ構造を有することによる発明の効果については同実施の形態の効果を援用する。
【０１２４】
図４２は本発明の第４の実施の形態におけるシリアルプリンタのブロック図、図４３は本発明の第４の実施の形態における印刷データ解析部のブロック図である。
【０１２５】
この場合、画像形成装置としてのシリアルプリンタを複数のモード、本実施の形態においては、第１〜第３のモードを、操作部２２の表示パネルに表示されるメニューで選択することができるようになっていて、操作部２２には、モードを選択するためのモード選択部２６、例えば、操作要素としての選択キーが配設される。
【０１２６】
操作者は、文字フォントサイズが小さくなるのを抑制する必要はあっても印刷フォーマットが変化するのを抑制する必要がない場合に第１のモードを、印刷フォーマットが変化するのを抑制する必要はあっても文字フォントサイズが小さくなるのを抑制する必要がない場合に第２のモードを、文字フォントサイズが小さくなるのも、印刷フォーマットが変化するのも抑制する必要がある場合に第３のモードを選択する。
【０１２７】
また、記憶装置１２に、第４の記憶部としてのモード情報記憶部３８が配設され、該モード情報記憶部３８に、第１〜第３のモードに関するモード情報が記録される。
【０１２８】
そして、印刷データ解析処理手段としての印刷データ解析部３１には、操作部２２からの信号を受けて、操作者がどのモードを選択したかを判断するモード判定処理手段としてのモード判定部５６が配設される。
【０１２９】
また、余白調整処理手段としての余白調整部５３は、前記モード判定部５６から、操作者によって選択されたモードを読み込み、選択されたモードに対応させて余白調整処理を行う。
【０１３０】
すなわち、第１のモードが選択された場合、行先頭余白調整部Ｐｍ１１は行先頭余白Ｌを削除（０に）し、行途中余白調整処理手段としての行途中余白調整部Ｐｍ１２は、行途中余白Ｅｉを小さくして余白量を値Ｅｘにし、文字間クリアランス調整処理手段としての文字間クリアランス調整部Ｐｍ１３は、文字間クリアランスｇを削除する。
【０１３１】
そして、第２のモードが選択された場合、行先頭余白調整部Ｐｍ１１は、行先頭余白Ｌがある場合に、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ×ε
にし、行途中余白調整部Ｐｍ１２は、行途中余白Ｅｉを小さくして余白量を値Ｌｉ’
Ｌｉ’＝Ｌｉ×ε
にし、文字間クリアランス調整部Ｐｍ１３は、文字間クリアランスｇを小さくして余白量を値ｇ’にする。
【０１３２】
また、第３のモードが選択された場合、行先頭余白調整部Ｐｍ１１は、第３の記憶部としての最小調整量記憶部３７から最小調整量ΔＬｍを読み出し、該最小調整量ΔＬｍを更新し、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
にし、行途中余白調整部Ｐｍ１２は、行途中余白Ｅｉを小さくして余白量を値Ｅｉ’
Ｅｉ’＝Ｅｉ×ε
にし、文字間クリアランス調整部Ｐｍ１３は文字間クリアランスｇを小さくして余白量を値ｇ’にする。
【０１３３】
次に、前記印刷データ解析部３１の動作について説明する。
【０１３４】
図４４は本発明の第４の実施の形態における印刷データ解析部の動作を示す第１のフローチャート、図４５は本発明の第４の実施の形態における印刷データ解析部の動作を示す第２のフローチャート、図４６は本発明の第４の実施の形態における印刷データ解析部の動作を示す第３のフローチャートである。
【０１３５】
まず、印刷可否判断処理手段としての印刷可否判断部５１は、印刷位置算出処理手段としての印刷位置算出部４３から印刷終了位置Ｓｅを、印刷領域算出処理手段としての印刷領域算出部４４から印刷領域右端位置ＡＲＲを読み込み、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択処理手段としての縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開処理手段としての印刷データ展開部３２に送る。
【０１３６】
また、図１０に示されるように、印刷領域ＡＲ内に印刷データが収まらない場合、モード判定部５６は、第１のモードが選択されたかどうかを判断する。
【０１３７】
第１のモードが選択された場合、余白判定処理手段としての余白判定部５２の行先頭余白判定部Ｐｍ１は、印刷位置算出部４３から印刷開始位置Ｓｓを、印刷領域算出部４４から印刷領域左端位置ＡＲＬを読み込み、印刷領域左端位置ＡＲＬと印刷開始位置Ｓｓとの間に行先頭余白Ｌがあるかどうかを判断する。そして、行先頭余白Ｌがある場合、行先頭余白調整部Ｐｍ１１は、図１３に示されるように、行先頭余白Ｌを削除する。
【０１３８】
続いて、印刷位置算出部４３は印刷終了位置Ｓｅを更新し、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。
【０１３９】
また、図１３に示されるように、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲより大きく、印刷領域ＡＲ内に印刷データが収まらない場合、前記行途中余白判定部Ｐｍ２は、印刷領域ＡＲ内に行途中余白Ｅｉがあるかどうかを判断する。行途中余白Ｅｉがある場合、行途中余白調整部Ｐｍ１２は、図１４に示されるように、行途中余白Ｅｉを小さくして余白量を値Ｅｘにする。
【０１４０】
続いて、印刷位置算出部４３は印刷終了位置Ｓｅを更新し、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。
【０１４１】
また、図１４に示されるように、印刷領域ＡＲ内に印刷データが収まらない場合、文字間クリアランス判定部Ｐｍ３は、印刷領域ＡＲ内に、図１４に示されるような文字間クリアランスｇがあるかどうかを判断する。そして、文字間クリアランスｇがある場合、文字間クリアランス調整部Ｐｍ１３は、図１６及び１７に示されるように、印刷データにおけるすべての文字間クリアランスｇを削除する。
【０１４２】
続いて、印刷位置算出部４３は印刷終了位置Ｓｅを更新し、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。図１６に示されるように、印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。
【０１４３】
また、図１９に示されるように、印刷領域ＡＲ内に印刷データが収まらない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率η（縮小度合いが最も小さい縮小率η）を選択し、印刷指示と共に印刷データ展開部３２に送る。
【０１４４】
一方、前記モード判定部５６によって、第１のモードが選択されず、第２、第３のモードが選択されたと判断された場合、前記行先頭余白判定部Ｐｍ１は、印刷位置算出部４３から印刷開始位置Ｓｓを、印刷領域算出部４４から印刷領域左端位置ＡＲＬを読み込み、印刷領域左端位置ＡＲＬと印刷開始位置Ｓｓとの間に行先頭余白Ｌがあるかどうかを判断する。
【０１４５】
行先頭余白Ｌがある場合、文字間クリアランス判定部Ｐｍ３は、印刷領域ＡＲ内に文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがある場合、前記余白調整率算出部４５は、文字幅ｍ及び文字間クリアランスｇに基づいて余白調整率εを算出する。
【０１４６】
次に、前記モード判定部５６は、第２のモードが選択されたかどうかを判断する。第２のモードが選択された場合、行先頭余白調整部Ｐｍ１１は、図２６に示されるように、行先頭余白Ｌを小さくして余白量を値Ｌ’にする。
【０１４７】
続いて、印刷位置算出部４３は印刷終了位置Ｓｅを更新し、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。図２６に示されるように、印刷領域ＡＲ内に印刷データが収まらない場合、前記行途中余白判定部Ｐｍ２は、印刷領域ＡＲ内に行途中余白Ｅｉがあるかどうかを判断する。そして、行途中余白Ｅｉがある場合、図２７に示されるように、行途中余白調整部Ｐｍ１２は、行途中余白Ｅｉを小さくして余白量を値Ｅｉ’にし、文字間クリアランス調整部Ｐｍ１３は印刷データにおけるすべての文字間クリアランスｇを小さくして余白量を値ｇ’にする。また、印刷領域ＡＲ内に行途中余白Ｅｉがない場合、文字間クリアランス調整部Ｐｍ１３は印刷データにおけるすべての文字間クリアランスｇを小さくして余白量を値ｇ’にする。
【０１４８】
続いて、印刷位置算出部４３は印刷終了位置Ｓｅを更新し、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。図２８に示されるように、印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。
【０１４９】
一方、印刷領域ＡＲ内に印刷データが収まらない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。
【０１５０】
また、行先頭余白Ｌがない場合、文字間クリアランス判定部Ｐｍ３は、印刷領域ＡＲ内に文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。
【０１５１】
一方、文字間クリアランスｇがある場合、前記余白調整率算出部４５は、文字幅ｍ及び文字間クリアランスｇに基づいて余白調整率εを算出する。
【０１５２】
そして、行先頭余白Ｌがあり、文字間クリアランスｇがない場合、前記モード判定部５６は、第２のモードが選択されたかどうかを判断する。第２のモードが選択された場合、文字間クリアランスｇがなく、余白調整率εを算出することかできないので、行先頭余白Ｌを小さくすることができない。そこで、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。
【０１５３】
続いて、前記行途中余白判定部Ｐｍ２は、印刷領域ＡＲ内に行途中余白Ｅｉがあるかどうかを判断する。そして、行途中余白Ｅｉがある場合、行途中余白調整部Ｐｍ１２は、行途中余白Ｅｉを小さくして余白量を値Ｅｉ’にし、文字間クリアランス調整部Ｐｍ１３は印刷データにおけるすべての文字間クリアランスｇを小さくして余白量を値ｇ’にする。また、印刷領域ＡＲ内に行途中余白Ｅｉがない場合、文字間クリアランス調整部Ｐｍ１３は印刷データにおけるすべての文字間クリアランスｇを小さくして余白量を値ｇ’にする。
【０１５４】
次に、印刷位置算出部４３は印刷終了位置Ｓｅを更新し、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。
【０１５５】
一方、印刷領域ＡＲ内に印刷データが収まらない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。
【０１５６】
また、前記モード判定部５６によって、第２のモードが選択されず、第３のモードが選択されたと判断された場合、行先頭余白調整部Ｐｍ１１は、最小調整量記憶部３７から最小調整量ΔＬｍを読み出し、行先頭余白Ｌが最小調整量ΔＬｍ以上であるかどうかを判断する。行先頭余白Ｌが最小調整量ΔＬｍ以上である場合、行先頭余白調整部Ｐｍ１１は、最小調整量ΔＬｍを新たな最小調整量ΔＬｍとして更新し、行先頭余白Ｌが最小調整量ΔＬｍより小さい場合、行先頭余白Ｌを最小調整量ΔＬｍとして更新し、更新した最小調整量ΔＬｍを最小調整量記憶部３７に記録する。
【０１５７】
続いて、前記行先頭余白調整部Ｐｍ１１は、行先頭余白Ｌを小さくして余白量を値Ｌ’
Ｌ’＝Ｌ−ΔＬｍ
にする。
【０１５８】
次に、印刷位置算出部４３は印刷終了位置Ｓｅを更新し、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。図３８に示されるように、印刷領域ＡＲ内に印刷データが収まらない場合、文字間クリアランス判定部Ｐｍ３は、印刷領域ＡＲ内に文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。
【０１５９】
続いて、前記行途中余白判定部Ｐｍ２は、印刷領域ＡＲ内に行途中余白Ｅｉがあるかどうかを判断する。行途中余白Ｅｉがある場合、図３９に示されるように、行途中余白調整部Ｐｍ１２は、行途中余白Ｅｉを小さくして余白量を値Ｅｉ’にし、文字間クリアランス調整部Ｐｍ１３は印刷データにおけるすべての文字間クリアランスｇを小さくして余白量を値ｇ’にする。また、印刷領域ＡＲ内に行途中余白Ｅｉがない場合、文字間クリアランス調整部Ｐｍ１３は印刷データにおけるすべての文字間クリアランスｇを小さくして余白量を値ｇ’にする。
【０１６０】
続いて、印刷位置算出部４３は印刷終了位置Ｓｅを更新し、印刷可否判断部５１は、更新された後の印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下であるかどうかによって、印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。図４０に示されるように、印刷領域ＡＲ内に印刷データが収まる場合、縮小率選択部５４は縮小率ηを選択せず、通常の印刷の指示を印刷データ展開部３２に送る。
【０１６１】
一方、印刷領域ＡＲ内に印刷データが収まらない場合、縮小率選択部５４は、印刷終了位置Ｓｅが印刷領域右端位置ＡＲＲ以下になる各縮小率ηのうちの、最も大きい縮小率ηを選択し、印刷指示と共に印刷データ展開部３２に送る。
【０１６２】
このように、本実施の形態においては、文字フォントサイズが小さくなるのを抑制する必要はあっても印刷フォーマットが変化するのを抑制する必要がない場合には第１のモードを、印刷フォーマットが変化するのを抑制する必要はあっても文字フォントサイズが小さくなるのを抑制する必要がない場合には第２のモードを、文字フォントサイズが小さくなるのも、印刷フォーマットが変化するのも抑制する必要がある場合には第３のモードを選択することができるので、操作者は、必要に応じて、文字フォントサイズが小さくなるのを抑制したり、印刷フォーマットが変化するのを抑制したりすることができる。
【０１６３】
なお、第１のモード、第３のモード及び第２のモードの順に、文字フォントサイズが小さくなるのを抑制することができ、第２のモード、第３のモード及び第１のモードの順に、印刷フォーマットが変化するのを抑制することができる。
【０１６４】
前記各実施の形態において、前記行先頭余白調整部Ｐｍ１１は印刷データの各行の行先頭余白Ｌに対して、前記行途中余白調整部Ｐｍ１２は印刷データの各行の行途中余白Ｅｉに対して、文字間クリアランス調整部Ｐｍ１３は印刷データの各行の文字間クリアランスｇに対して、同じ内容の調整を行うようになっているが、各行ごとの印刷データの長さＬｄに応じて、各行ごとに行先頭余白Ｌ、行途中余白Ｅｉ及び文字間クリアランスｇに対して異なる内容の調整を行い、行によって、行先頭余白Ｌ、行途中余白Ｅｉ及び文字間クリアランスｇを削除したり、しなかったり、行先頭余白Ｌ及び行途中余白Ｅｉの各余白量を異ならせることができる。
【０１６５】
また、縮小率選択部５４は、各行のビットマップデータを同じ縮小率ηで縮小するようになっているが、各行ごとにビットマップデータを異なる縮小率ηで縮小することができる。
【０１６６】
さらに、行先頭余白Ｌ、行途中余白Ｅｉ及び文字間クリアランスｇの余白量の変更等を次の行に反映させることができる。
【０１６７】
また、前記各実施の形態においては、印刷データの文字として漢字が使用されるようになっているが、仮名、アルファベット等に適用することができる。
【０１６８】
次に、図４４及び４５のフローチャートについて説明する。
ステップＳ６１  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ６２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ６３に進む。
ステップＳ６２  縮小率選択部５４は縮小率ηを選択せず、処理を終了する。
ステップＳ６３  モード判定部５６は第１のモードが選択されたかどうかを判断する。第１のモードが選択された場合はステップＳ６４に進み、第１のモードが選択されなかった場合はステップＳ７４に進む。
ステップＳ６４  行先頭余白判定部Ｐｍ１は行先頭余白Ｌがあるかどうかを判断する。行先頭余白Ｌがある場合はステップＳ６５に進み、行先頭余白Ｌがない場合はステップＳ６７に進む。
ステップＳ６５  行先頭余白調整部Ｐｍ１１は行先頭余白Ｌを削除する。
ステップＳ６６  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ６２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ６７に進む。
ステップＳ６７  行途中余白判定部Ｐｍ２は行途中余白Ｅｉがあるかどうかを判断する。行途中余白Ｅｉがある場合はステップＳ６８に進み、行先頭余白Ｅｉがない場合はステップＳ７０に進む。
ステップＳ６８  行途中余白調整部Ｐｍ１２は行途中余白Ｅｉの余白量を値Ｅｘにする。
ステップＳ６９  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ６２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ７０に進む。
ステップＳ７０  文字間クリアランス判定部Ｐｍ３は文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがある場合はステップＳ７１に進み、文字間クリアランスｇがない場合はステップＳ７３に進む。
ステップＳ７１  文字間クリアランス調整部Ｐｍ１３は文字間クリアランスｇを削除する。
ステップＳ７２  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ６２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ７３に進む。
ステップＳ７３  縮小率選択部５４は縮小率ηを選択し、処理を終了する。
ステップＳ７４  行先頭余白判定部Ｐｍ１は行先頭余白Ｌがあるかどうかを判断する。行先頭余白Ｌがある場合はステップＳ７５に進み、行先頭余白Ｌがない場合はステップＳ８４に進む。
ステップＳ７５  文字間クリアランス判定部Ｐｍ３は文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがある場合はステップＳ７６に進み、文字間クリアランスｇがない場合はステップＳ８６に進む。
ステップＳ７６  余白調整率算出部４５は余白調整率εを算出する。
ステップＳ７７  モード判定部５６は第２のモードが選択されたかどうかを判断する。第２のモードが選択された場合はステップＳ７８に進み、第２のモードが選択されなかった場合はステップＳ８７に進む。
ステップＳ７８  行先頭余白調整部Ｐｍ１１は行先頭余白Ｌの余白量を値Ｌ’にする。
ステップＳ７９  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ６２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ８０に進む。
ステップＳ８０  行途中余白判定部Ｐｍ２は行途中余白Ｅｉがあるかどうかを判断する。行途中余白Ｅｉがある場合はステップＳ８１に進み、行先頭余白Ｅｉがない場合はステップＳ８３に進む。
ステップＳ８１  行途中余白調整部Ｐｍ１２は行途中余白Ｅｉの余白量を値Ｅｉ’にし、文字間クリアランス調整部Ｐｍ１３は文字間クリアランスｇを小さくして余白量を値ｇ’にする。
ステップＳ８２  文字間クリアランス調整部Ｐｍ１３は文字間クリアランスｇを小さくして余白量を値ｇ’にする。
ステップＳ８３  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ６２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ７３に進む。
ステップＳ８４  文字間クリアランス判定部Ｐｍ３は文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがある場合はステップＳ８５に進み、文字間クリアランスｇがない場合はステップＳ７３に進む。
ステップＳ８５  余白調整率算出部４５は余白調整率εを算出する。
ステップＳ８６  モード判定部５６は第２のモードが選択されたかどうかを判断する。第２のモードが選択された場合はステップＳ７３に進み、第２のモードが選択されなかった場合はステップＳ８７に進む。
ステップＳ８７  行先頭余白調整部Ｐｍ１１は行先頭余白Ｌが最小調整量ΔＬｍ以上であるかどうかを判断する。行先頭余白Ｌが最小調整量ΔＬｍ以上である場合はステップＳ８９に進み、行先頭余白Ｌが最小調整量ΔＬｍより小さい場合はステップＳ８８に進む。
ステップＳ８８  行先頭余白調整部Ｐｍ１１は行先頭余白Ｌを最小調整量ΔＬｍにする。
ステップＳ８９  行先頭余白調整部Ｐｍ１１は行先頭余白Ｌの余白量を値Ｌ’にする。
ステップＳ９０  印刷可否判断部５１は印刷領域ＡＲ内に印刷データが収まるかどうかを判断する。印刷領域ＡＲ内に印刷データが収まる場合はステップＳ６２に進み、印刷領域ＡＲ内に印刷データが収まらない場合はステップＳ９１に進む。
ステップＳ９１  文字間クリアランス判定部Ｐｍ３は文字間クリアランスｇがあるかどうかを判断する。文字間クリアランスｇがある場合はステップＳ８０に進み、文字間クリアランスｇがない場合はステップＳ７３に進む。
【０１６９】
なお、本発明は前記各実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【符号の説明】
【０１７０】
１３    機構制御部
１４    印字ヘッド
２１    受信部
３１    印刷データ解析部
４３    印刷位置算出部
４４    印刷領域算出部
５１    印刷可否判断部
５３    余白調整部
Ｐ    用紙
【図１】
2014166740.tif 000003
【図２】
2014166740.tif 000004
【図３】
2014166740.tif 000005
【図４】
2014166740.tif 000006
【図５】
2014166740.tif 000007
【図６】
2014166740.tif 000008
【図７】
2014166740.tif 000009
【図８】
2014166740.tif 000010
【図９】
2014166740.tif 000011
【図１０】
2014166740.tif 000012
【図１１】
2014166740.tif 000013
【図１２】
2014166740.tif 000014
【図１３】
2014166740.tif 000015
【図１４】
2014166740.tif 000016
【図１５】
2014166740.tif 000017
【図１６】
2014166740.tif 000018
【図１７】
2014166740.tif 000019
【図１８】
2014166740.tif 000020
【図１９】
2014166740.tif 000021
【図２０】
2014166740.tif 000022
【図２１】
2014166740.tif 000023
【図２２】
2014166740.tif 000024
【図２３】
2014166740.tif 000025
【図２４】
2014166740.tif 000026
【図２５】
2014166740.tif 000027
【図２６】
2014166740.tif 000028
【図２７】
2014166740.tif 000029
【図２８】
2014166740.tif 000030
【図２９】
2014166740.tif 000031
【図３０】
2014166740.tif 000032
【図３１】
2014166740.tif 000033
【図３２】
2014166740.tif 000034
【図３３】
2014166740.tif 000035
【図３４】
2014166740.tif 000036
【図３５】
2014166740.tif 000037
【図３６】
2014166740.tif 000038
【図３７】
2014166740.tif 000039
【図３８】
2014166740.tif 000040
【図３９】
2014166740.tif 000041
【図４０】
2014166740.tif 000042
【図４１】
2014166740.tif 000043
【図４２】
2014166740.tif 000044
【図４３】
2014166740.tif 000045
【図４４】
2014166740.tif 000046
【図４５】
2014166740.tif 000047
【図４６】
2014166740.tif 000048