(57)【特許請求の範囲】
【請求項１】
複数の発熱体を配列して構成されたサーマルヘッドと、
感熱紙を前記サーマルヘッドに供給する紙搬送機構と、
印字データの所定の１ドットラインにおけるドットを他のドットラインへ移動させる処理及び印字フォントを変更することにより前記所定の１ドットラインにおけるドットを減らす処理の少なくとも一方により、前記印字データを作成し、
複数のドットラインからなる領域について前記印字データを分割印字する際の回数を、前記印字データの印字率に基づいて設定し、
前記領域について前記回数に分割された前記発熱体を順次発熱させて、前記感熱紙に前記印字データを印字する制御装置と、
を備えるサーマルプリンタ。
【請求項２】
前記制御装置は、前記印字データの所定の１ドットラインにおけるドットが印字後において罫線となる場合、前記所定の１ドットラインにおけるドットのうち半分のドットを隣接する１ドットラインへ移動させ、千鳥配列で２ドットラインが配置されるように、前記印字データを作成する、
ことを特徴とする請求項１に記載のサーマルプリンタ。
【請求項３】
複数の発熱体を配列して構成されたサーマルヘッドと、感熱紙を前記サーマルヘッドに供給する紙搬送機構と、を備えるサーマルプリンタの制御コンピュータが、
印字データの所定の１ドットラインにおけるドットを他のドットラインへ移動させる処理及び印字フォントを変更することにより前記所定の１ドットラインにおけるドットを減らす処理の少なくとも一方により、前記印字データを作成し、
複数のドットラインからなる領域について前記印字データを分割印字する際の回数を、前記印字データの印字率に基づいて設定し、
前記領域について前記回数に分割された前記発熱体を順次発熱させて、前記感熱紙に前記印字データを印字する制御方法。
【請求項４】
複数の発熱体を配列して構成されたサーマルヘッドと、感熱紙を前記サーマルヘッドに供給する紙搬送機構と、を備えるサーマルプリンタの制御コンピュータに、
印字データの所定の１ドットラインにおけるドットを他のドットラインへ移動させる処理及び印字フォントを変更することにより前記所定の１ドットラインにおけるドットを減らす処理の少なくとも一方により、前記印字データを作成させ、
複数のドットラインからなる領域について前記印字データを分割印字する際の回数を、前記印字データの印字率に基づいて設定させ、
前記領域について前記回数に分割された前記発熱体を順次発熱させて、前記感熱紙に前記印字データを印字させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーマルプリンタ、制御方法及びプログラムに関する。
【背景技術】
【０００２】
バッテリで動作するサーマルプリンタでは、バッテリの仕様上の制限によりプリンタに供給できる電流が限られる。そのような条件下でより高速な印字処理を実現するために、例えば特許文献１、特許文献２に記載のサーマルプリンタでは、プリンタのサーマルヘッドの発熱体を複数のブロックに分割し、印字する内容に応じて同時に通電する発熱体の数を制御することが行われる。すなわち、従来のサーマルプリンタでは、１ドットラインを印字する毎に、サーマルヘッドの発熱体を複数のブロックに分割し、印字内容に合わせて同時に通電可能なブロックを組み合わせ、１ドットラインを印字する処理を全てのドットラインに対して行うという印字制御を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第２９７３２４８号公報
【特許文献２】特許第３０１２７４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このようなサーマルヘッドの発熱体を複数のブロックに分割する印字制御を１ドットライン毎に行うことは制御が複雑になるため、印字制御の効率を低くすることになるという問題がある。
そこで、本発明は、この問題点を解決するためになされたものであり、印字制御の効率が高いサーマルプリンタ、制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明のサーマルプリンタは、複数の発熱体を配列して構成されたサーマルヘッドと、感熱紙を前記サーマルヘッドに供給する紙搬送機構と、印字データの所定の１ドットラインにおけるドットを他のドットラインへ移動させる処理及び印字フォントを変更することにより前記所定の１ドットラインにおけるドットを減らす処理の少なくとも一方により、前記印字データを作成し、複数のドットラインからなる領域について前記印字データを分割印字する際の回数を、前記印字データの印字率に基づいて設定し、前記領域について前記回数に分割された前記発熱体を順次発熱させて、前記感熱紙に前記印字データを印字する制御装置と、を備える。
【０００６】
また、本発明のプリンタは、前記制御装置が、前記印字データの所定の１ドットラインにおけるドットが印字後において罫線となる場合、前記所定の１ドットラインにおけるドットのうち半分のドットを隣接する１ドットラインへ移動させ、千鳥配列で２ドットラインが配置されるように、前記印字データを作成する。
【００１０】
上記の課題を解決するために、本発明の制御方法は、複数の発熱体を配列して構成されたサーマルヘッドと、感熱紙を前記サーマルヘッドに供給する紙搬送機構と、を備えるサーマルプリンタの制御コンピュータが、印字データの所定の１ドットラインにおけるドットを他のドットラインへ移動させる処理及び印字フォントを変更することにより前記所定の１ドットラインにおけるドットを減らす処理の少なくとも一方により、前記印字データを作成し、複数のドットラインからなる領域について前記印字データを分割印字する際の回数を、前記印字データの印字率に基づいて設定し、前記領域について前記回数に分割された前記発熱体を順次発熱させて、前記感熱紙に前記印字データを印字する。
【００１１】
上記の課題を解決するために、本発明のプログラムは、複数の発熱体を配列して構成されたサーマルヘッドと、感熱紙を前記サーマルヘッドに供給する紙搬送機構と、を備えるサーマルプリンタの制御コンピュータに、印字データの所定の１ドットラインにおけるドットを他のドットラインへ移動させる処理及び印字フォントを変更することにより前記所定の１ドットラインにおけるドットを減らす処理の少なくとも一方により、前記印字データを作成させ、複数のドットラインからなる領域について前記印字データを分割印字する際の回数を、前記印字データの印字率に基づいて設定させ、前記領域について前記回数に分割された前記発熱体を順次発熱させて、前記感熱紙に前記印字データを印字させる。
【発明の効果】
【００１２】
本発明によれば、制御装置は、複数のドットラインからなる領域について印字データを分割印字する際の回数を、印字データの印字率に基づいて設定し、複数のドットラインからなる領域について、その回数に分割された発熱体を順次発熱させて、感熱紙に印字データを印字するので、発熱体を複数のブロックに分割する印字制御を１ドットライン毎に行う必要がなくなる。これにより、本発明によれば、印字制御の効率が高いサーマルプリンタ、制御方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態の携帯端末の全体を示した斜視図である。
【図２】本実施形態の携帯端末１のハードウエア的な構成を模式的に表したブロック図である。
【図３】本実施形態の携帯端末１におけるサーマルプリンタ部４の詳細機能ブロック図である。
【図４】印字制御を説明するためのフローチャートである。
【図５】クレジットカード伝票の一例を示す図である。
【図６】クレジットカード伝票の他の一例を示す図である。
【図７】図６に示すクレジットカード伝票の印字データをイメージ展開する場合に用いるフォントを説明するための図である。
【図８】図５に示すクレジットカード伝票の印字データをイメージ展開する場合に用いるフォントを説明するための図である。
【図９】印字制御における分割回数判定処理を説明するためのフローチャートである。
【図１０】印字制御における分割回数判定処理による判定結果を説明するための図である。
【発明を実施するための形態】
【００１４】
クレジットカード決済端末のような装置では、サーマルプリンタで印字する伝票のフォーマットは固定であり、全般に１ドットライン当たりの印字率が低いので伝票全体もしくは伝票の大半は１ドットラインを印字する処理の分割回数を決め打ちで印字できる可能が高い。しかし、印字する内容（文字の組み合わせ）によっては同時に通電する発熱体の数が多くなり、ＡＣアダプタやバッテリの給電能力を超える場合が考えられる。このため、本実施形態によるクレジットカード決済端末では、印字する伝票のデータを実際に印字する前に分析することで、印字条件（１ドットラインを印字する処理の分割回数や紙の搬送速度）を適正に定め、その伝票（または所定の印字範囲）について複雑な制御なしで印字することができる。以下に本実施形態によるクレジットカード決済端末について、図面を参照しながら説明する。
【００１５】
図１は、本実施形態の携帯端末の全体を示した斜視図である。本実施形態の携帯端末１（サーマルプリンタ）は、一例として、クレジットカード決済端末とする。
携帯端末１は、サーマルプリンタ部４、表示部１１、キー入力部１２、磁気カード読み取り部１３、ＩＣカード読み取り部１４を有する。
【００１６】
図２は、本実施形態の携帯端末１のハードウエア的な構成を模式的に表したブロック図である。
携帯端末１は、メインＭＰＵ２（第１の制御装置）、サブＭＰＵ３（第２の制御装置）、サーマルプリンタ部４、電源部５、バッテリ６、ＲＡＭ７、ＲＯＭ８、表示部１１、キー入力部１２、磁気カード読み取り部１３、ＩＣカード読み取り部１４、無線通信部１５、有線通信部１６で構成される。
携帯端末１は、外部にあるＡＣアダプタ９から電源を受けて動作し、またバッテリ６から電源を受けても動作する。
メインＭＰＵ２は、所定のプログラムに従って各種情報処理や携帯端末１の制御などを行う。
サブＭＰＵ３は、サーマルプリンタ部４の制御や電源部５の制御などを行う。
バッテリ６は、電池パックとして携帯端末１の内部に格納され、ＡＣアダプタ９から給電を受けて充電される充電池である。
ＲＡＭ７は、プログラムのワークエリアで一時的にデータやプログラムが格納されるメモリである。また、サーマルプリンタから伝票の印字を行う際にはＲＡＭ７上に印字するデータがビットマップ展開される。
ＲＯＭ８は、制御プログラムや処理データが格納されるメモリである。
表示部１１、キー入力部１２、磁気カード読み取り部１３、ＩＣカード読み取り部１４、無線通信部１５、有線通信部１６は、携帯端末１にクレジットカード決済端末としての機能を発揮させる各種の機能部である。
【００１７】
図３は、本実施形態の携帯端末１におけるサーマルプリンタ部４の詳細機能ブロック図である。
サーマルプリンタ部４は、プリンタモジュール４０とモータドライバ４７から構成される。プリンタモジュール４０及びモータドライバ４７には、図２に示す電源部５からプリンタ駆動用電源が供給される。プリンタ駆動用電源の電圧は、ＡＣアダプタ９から給電があるときは比較的高く（たとえば９Ｖ）、バッテリ６からのみ給電されるときはバッテリ６の電圧に依存するので比較的低い（たとえば７．２Ｖ）。
プリンタモジュール４０は、ラインサーマルヘッド４１（サーマルヘッド）、ステッピングモータ４６、紙搬送機構４９（ギアやプラテンローラ等）から構成される。なお、図には記載していないがプリンタモジュール４０には、プリンタ用紙を検出するセンサなども含まれる。
【００１８】
ラインサーマルヘッド４１は、発熱体アレイ４２、出力ドライバ４３、ラッチレジスタ４４、シフトレジスタ４５、温度センサ４８で構成される。
発熱体アレイ４２は、発熱体が多数１列にならんだもので、今回の実施例では発熱体の数は３８４とする。
出力ドライバ４３は、発熱体への通電をＯＮ／ＯＦＦする素子で、発熱体をブロック単位で制御する。今回の実施例では、６４個の発熱体を１ブロックとして制御するのでブロックの数は６である。出力ドライバ４３の各ブロックは、サブＭＰＵ３から出ているストローブ信号３２で制御される。今回の実施例では、出力ドライバ４３のブロックの数が６なので、ストローブ信号３２の数は６本である。
ラッチレジスタ４４は、印字データを保持する素子で、ラッチ信号３１を制御することでシフトレジスタ４５のデータがラッチレジスタ４４に取り込まれる。
シフトレジスタ４５は、メインＭＰＵ２から送られてくるシリアルの印字データを受け取る素子である。
ステッピングモータ４６は、紙搬送機構４９を駆動するモータである。
温度センサ４８は、ラインサーマルヘッドの温度を検出する素子である。
【００１９】
メインＭＰＵ２は、印字データ作成転送部２５、分割回数判定部２６、プリンタ駆動条件設定部２７を有する。
印字データ作成転送部２５は、印字データを作成し、印字データを１ドットライン毎にシフトレジスタ４５に出力する。
分割回数判定部２６は、印字データを構成する１ドットライン毎に、印字するドットの数を積算し、積算結果を同時に発熱させる発熱体の個数である最大同時通電ドット数と比較し、比較結果に基づいて１ドットラインを分割印字する際の分割回数を判定する。
プリンタ駆動条件設定部２７は、分割回数判定部２６が判定した分割回数のうち、最大値を、印字データを構成する全ての１ドットライン（所定の印字範囲）を分割印字する際の最大分割回数（回数）と設定し、複数のブロック単位に分けられている複数の発熱体のいずれのブロックを制御するかを表すブロック選択情報を、設定された最大分割回数に基づいてサブＭＰＵ３に出力する。
このブロック選択情報が、サブＭＰＵ３がストローブ信号３２を出力する際に用いられる。
【００２０】
サブＭＰＵ３は、ヘッド駆動制御部３５、モータ駆動制御部３６を有する。
ヘッド駆動制御部３５は、プリンタ駆動条件設定部２７から入力されるブロック選択情報に基づいて、ストローブ信号３２を出力ドライバ４３に出力してブロック単位を順次発熱させて、ラッチレジスタ４４が保持する印字データを構成する１ドットラインを感熱紙に印字する。
モータ駆動制御部３６は、モータドライバ４７及びステッピングモータ４６を制御し、紙搬送機構４９が感熱紙をサーマルヘッドに供給する速度を加速または減速する。
【００２１】
図４は、印字制御を説明するためのフローチャートである。本実施の形態の携帯端末１では、以下のように伝票の印字処理を行う。
まず、メインＭＰＵ２は、印字条件の設定を行う（ステップＳＴ１）。
サブＭＰＵ３のモータ駆動制御部３６は、ＡＣアダプタ９から給電されている否かを検知するため、電源部５を監視している。メインＭＰＵ２は伝票の印字処理を始めるにあたり、サブＭＰＵ３から携帯端末１の電源種別情報（ＡＣアダプタ９からの電力で動作しているか／バッテリ６からの電力で動作しているか）を取得する。メインＭＰＵ２の分割回数判定部２６は、取得した電源種別情報に基づいて最大同時通電ドット数を、例えばＲＡＭ７に設定する。
最大同時通電ドット数は、使用するプリンタモジュール４０の仕様やバッテリ６の仕様によって決定される。本実施例では、プリンタモジュール４０の仕様で最大同時通電ドット数が９６と定められており、ＡＣアダプタ９の駆動の場合は、９６の抵抗体に同時に通電できるようにＡＣアダプタ９の容量や電源回路の能力を決めている。バッテリ６の駆動の場合は、使用できるバッテリ６の寸法・重量の制限から、最大同時通電ドット数を６４と定めている。
【００２２】
続いて、メインＭＰＵ２は、印字データのイメージ展開を行う（ステップＳＴ２）。
メインＭＰＵ２の印字データ作成転送部２５は、印字する伝票の所定の印字範囲の印字データを、メインＭＰＵ２に接続しているＲＡＭ７上にビットマップ展開する。すなわち、印字データ作成転送部２５は、キャラクタデータを、印字フォントを使用してＲＡＭ７上にイメージを展開する。
ここで、図５は、クレジットカード伝票の一例を示す図である。
図５に示すように、伝票に商標ロゴを印字する場合は、ロゴの印字範囲５０とその他のロゴの印字範囲５１を含まない印字範囲とに、所定の印字範囲を分けて印字処理を行う。
クレジットカード決済端末の場合は、一回の決済で３枚〜４枚の伝票が出力される。本実施形態では、伝票単位で印字イメージの処理を行う。ただし、ロゴを印字する伝票については、図５に示すように、ロゴの部分とその他の部分に、所定の印字範囲を分けて印字の処理を行う。ロゴの部分は印字率が高いことが多いので、ロゴに合わせて分割回数を決めると、伝票全体の印字が遅くなるためである。
【００２３】
また、図６は、クレジットカード伝票の他の一例を示す図である。
図６に示すクレジットカード伝票は、図５に示すクレジットカード伝票とは相違して、
所定の印字範囲を分けて印字の処理を行う必要はない。しかし、図６に示すクレジットカード伝票は、特定の文字「４」、「７」などが連続している印字率が高くなる複数の１ドットライン６１が印字されている。このような場合、印字データ作成転送部２５は、所定の印字フォントを使用する。
図７は、図６に示すクレジットカード伝票の印字データをイメージ展開する場合に用いるフォントを説明するための図である。図７（ａ）に示すように、「４」を連続に並べた複数の１ドットラインを表している。この複数の１ドットラインには、印字率が高いドットライン７０が含まれている。
このような場合、印字データ作成転送部２５は、印字データの所定の１ドットライン７０におけるドットの「４」の左側を減らし、「４」の右側を他のドットライン７１へ移動させ、印字データを作成する。そのため、印字データ作成転送部２５は、所定の印字フォントを使用する。これにより、図７（ｂ）に示すように、「４」を連続に並べた複数の１ドットラインにおいて印字率が高いドットライン７０の印字率を低くできる。
【００２４】
図８は、図５に示すクレジットカード伝票の印字データをイメージ展開する場合に用いるフォントを説明するための図である。図５に示すクレジットカード伝票は、印字率が高くなる罫線５３が印字されている。このような場合、印字データ作成転送部２５は、千鳥配置の印字フォントを使用する。
図８（ａ）に示すように、ドットを連続に並べた１ドットライン８１を表している。この１ドットラインは、印字率が高いドットラインである。
このような場合、印字データ作成転送部２５は、印字データの所定の１ドットライン８１におけるドットが印字後において罫線となる場合、所定の１ドットライン８１におけるドットのうち半分のドットを隣接する１ドットライン８２へ移動させ、千鳥配列で２ドットライン８１、８２が配置されるように、印字データを作成する。そのため、印字データ作成転送部２５は、千鳥配置の印字フォントを使用する。これにより、印字率が高い罫線５３の印字率を低くできる。また、この場合、罫線を２ドットラインで作成するため、罫線５３の印字率を低くするとともに、千鳥配列の印字データを簡易的で、かつ省スペースに作成することができる。
なお、印字データ作成部２５が作成する千鳥配列の印字データはこれに限られない。例えば、印字データ作成転送部２５は、所定の１ドットラインにおけるドットのうち、複数のドットを隣接する２列のドットラインへ移動させてもよい。また、印字データ作成部２５は、３列以上のドットラインで千鳥配列の印字データを作成してもよい。この場合においても、印字率の高い罫線の印字率を低くすることができる。
【００２５】
図４に戻って、メインＭＰＵ２は、続いて印字処理の分割回数判定を行う（ステップＳＴ３）。
分割回数判定部２６は、ＲＡＭ７上に展開した印字データ（ビットマップデータ）を構成する１ドットライン毎に、印字するドットの数（通電する抵抗体の数）を積算する。分割回数判定部２６は、積算結果を同時に発熱させる発熱体の個数である、使用している電源の種別の最大同時通電ドット数と比較する。分割回数判定部２６は、比較結果に基づいて１ドットラインを分割印字する際の分割回数を判定する。この分割回数は、１ドットラインにおける印字データの印字率に対応して求められるものである。
【００２６】
図９は、印字制御における分割回数判定処理を説明するためのフローチャートである。
分割回数判定部２６は、印字データ（ビットマップデータ）を構成する１ドットライン全てに対して、分割回数判定処理を行う。
分割回数判定部２６は、１ドットラインの印字ドット数がすべて最大同時通電ドット数以下か否かを判断する（ステップＳＴ１１）。
分割回数判定部２６は、１ドットラインの印字ドット数がすべて最大同時通電ドット数以下であると判断されれば（ステップＳＴ１１−Ｙｅｓ）、１ドットラインの印字データについては分割回数を１（分割なし）に設定する（ステップＳＴ１２）。
一方、分割回数判定部２６は、１ドットラインの印字ドット数がすべて最大同時通電ドット数より大きいと判断されれば（ステップＳＴ１１−Ｎｏ）、３ブロック毎の印字ドット数をカウントする（ステップＳＴ１３）。
この際、３ブロック毎の印字ドット数は、ブロック数が６であるので、２０通りの印字ドット数が得られる。
分割回数判定部２６は、この得られた２０通りの印字ドット数がすべて最大同時通電ドット数以下か否かを判断する（ステップＳＴ１４）。
なお、分割回数判定部２６は、３ブロック毎の印字ドット数をカウントし、得られる印字ドット数のすべての組み合わせについて最大同時通電ドット数以下か否かを判断するが、これに限られない。例えば、分割回数判定部２６は、３ブロック毎の印字ドット数において得られる２０通りの印字ドット数のうち、右側３ブロックと左側３ブロックとの組み合わせのみを判断したり、中央側３ブロックとその他の３ブロック（両端側）との組み合わせのみを判断したり、又はすべての組み合わせのうちいくつか所定の組み合わせを判断してもよい。
分割回数判定部２６は、２０通りの印字ドット数がすべて最大同時通電ドット数以下であると判断されれば（ステップＳＴ１４−Ｙｅｓ）、１ドットラインの印字データについては分割回数を２に設定する（ステップＳＴ１５）。
一方、分割回数判定部２６は、２０通りの印字ドット数がすべて最大同時通電ドット数より大きいと判断されれば（ステップＳＴ１５−Ｎｏ）、２ブロック毎の印字ドット数をカウントする（ステップＳＴ１６）。
この際、２ブロック毎の印字ドット数は、ブロック数が６であるので、９０通りの印字ドット数が得られる。
分割回数判定部２６は、この得られた９０通りの印字ドット数がすべて最大同時通電ドット数以下か否かを判断する（ステップＳＴ１７）。
なお、分割回数判定部２６は、２ブロック毎の印字ドット数をカウントし、得られる印字ドット数のすべての組み合わせについて最大同時通電ドット数以下か否かを判断するが、これに限られない。例えば、分割回数判定部２６は、２ブロック毎の印字ドット数において得られる９０通りの印字ドット数のうち、右側２ブロックと中央２ブロックと左側２ブロックとの組み合わせのみを判断したり、中央２ブロックと左右両端の２ブロックとその他の２ブロックとの組み合わせのみを判断したり、又はすべての組み合わせのうちいくつか所定の組み合わせを判断してもよい。
分割回数判定部２６は、９０通りの印字ドット数がすべて最大同時通電ドット数以下であると判断されれば（ステップＳＴ１７−Ｙｅｓ）、１ドットラインの印字データについては分割回数を３に設定する（ステップＳＴ１８）。
一方、分割回数判定部２６は、９０通りの印字ドット数がすべて最大同時通電ドット数より大きいと判断されれば（ステップＳＴ１７−Ｎｏ）、１ドットラインの印字データについては分割回数を６に設定する（ステップＳＴ１９）。
【００２７】
図１０は、印字制御における分割回数判定処理による判定結果を説明するための図である。
図１０（ａ）は、バッテリ６で駆動した場合の分割回数、同時通電ブロック数、同時通電するブロックの組み合わせ内の印字率を示している。また、図１０（ｂ）は、ＡＣアダプタ９で駆動した場合の分割回数、同時通電ブロック数、同時通電するブロックの組み合わせ内の印字率を示している。
ここでは、図１０（ａ）に示す判定結果を得るために分割回数判定部２６が行う動作について説明する。
バッテリ６駆動の場合の最大同時通電ドット数は６４であるので、１ドットラインの印字ドット総数が６４以下であれば、そのドットラインは分割なし（分割回数１）で印字可能と判定される。この場合、同時通電ブロック数は６であり、６ブロックの全てが印字する際、選択されることとなる。また、同時通電する６ブロックの組み合わせ内の印字率は１６．６％以下となる。
印字するドット数が６４を超えるラインが存在する場合は、そのドットラインのデータを２分割し、２分割した印字データの各々の印字ドット数が共に６４以下であればそのドットラインが２分割で印字可能と判定される。この場合、同時通電ブロック数は３であり、３ブロックの組み合わせ２つが印字する際、順次選択されることとなる。また、同時通電する３ブロックの組み合わせ内の印字率は３３％以下となる。
２分割した印字データのどちらか一方の印字ドット数が６４を超える場合は、対象のドットラインをあらためて３分割し、３分割した印字データの各々の印字ドット数が共に６４以下であればそのドットラインが３分割で印字可能と判定される。この場合、同時通電ブロック数は２であり、２ブロックの組み合わせ３つが印字する際、順次選択されることとなる。また、同時通電する２ブロックの組み合わせ内の印字率は５０％以下となる。
３分割した印字データのいずれか一方の印字ドット数が６４を超える場合は、その伝票は６分割で印字が必要と判定される。この場合、同時通電ブロック数は１であり、６ブロックの組み合わせ１つが印字する際、順次選択されることとなる。また、同時通電する１ブロックの組み合わせ内の印字率は１００％以下となる。
【００２８】
このようにして、印字データ（ビットマップデータ）を構成する１ドットライン全てについての分割回数、同時通電ブロック数、同時通電するブロックの組み合わせ内の印字率が判る。分割回数判定部２６は、これらの情報を１ドットラインに関連付けてＲＡＭ７に記憶する。分割回数判定部２６が判定する１ドットライン毎の分割回数は、１ドットラインにおける印字データの印字率に対応して求められるものである。プリンタ駆動条件設定部２７は、分割回数判定部２６が判定する分割回数に基づいて、印字データを構成する全ての１ドットライン（所定の印字範囲）を分割印字する際の最大分割回数（回数）を、固定値として決定する。
なお、本実施形態において、分割回数判定部２６は、複数のブロック毎の印字ドット数をカウントし、得られる印字ドット数のすべての組み合わせについて最大同時通電ドット数以下か否かを判断するが、これに限られない。例えば、分割回数判定部２６は、複数のブロック毎の印字ドット数をカウントし、得られる印字ドット数の少なくとも１つの組み合わせについて最大同時通電ドット数以下か否かを判断してもよい。また、例えば、分割回数判定部２６は、３ブロック毎の印字ドット数において得られる２０通りの印字ドット数のうち、右側３ブロックと左側３ブロックとの組み合わせのみを判断したり、中央側３ブロックとその他の３ブロック（両端側）との組み合わせのみを判断したり、又はすべての組み合わせのうちいくつか所定の組み合わせを判断してもよい。
また、例えば、分割回数判定部２６は、複数のブロック毎の印字ドット数をカウントし、得られる印字ドット数のすべての組み合わせについて最大同時通電ドット数以下か否かを判断し、すべての組み合わせのうち少なくとも１つの組み合わせについて最大同時通電ドット数以下であると判断されれば、そのブロック数に対応する分割数に設定する。なお、この場合においても、印字データを構成する全ての１ドットライン（所定の印字範囲）を分割印字する際の最大分割回数（回数）を、固定値として決定する。
【００２９】
図４に戻って、メインＭＰＵ２は、続いて最大分割回数の決定を行う（ステップＳＴ４）。
プリンタ駆動条件設定部２７は、分割回数判定部２６がＲＡＭ７に記憶させた印字データ（ビットマップデータ）を構成する１ドットライン全てについての分割回数のうち、最大値の分割回数を最大分割回数（回数）とする。なお、最大分割回数は、分割回数が１ドットラインにおける印字データの印字率に対応して求められるので、印字データの印字率に対応して求められる回数である。
【００３０】
本実施形態では、プリンタモジュール４０のラインサーマルヘッド４１は、３８４個の発熱体を６４個単位で６個のブロックに分けて制御するので、発熱体に通電する組み合わせを以下の４通りとする。プリンタ駆動条件設定部２７は、この４通りの組み合わせのうち、いずれの組み合わせを選ぶかを判定し、選んだ組み合わせの通電をサブＭＰＵ３のヘッド駆動制御部３５が行えるように、ヘッド駆動制御部３５にブロック選択情報を送出する。
（１）最大分割回数１の場合、６個のブロックに対して同時に通電を行う。
この通電とは、サブＭＰＵ３のヘッド駆動制御部３５が、出力ドライバ４３のストローブ信号３２を６本同時にＯＮすることである。そのため、プリンタ駆動条件設定部２７は、６個のブロックをＯＮすることを表すブロック選択情報をヘッド駆動制御部３５に送出する。
（２）最大分割回数２の場合、１回目に３個のブロックに対して通電した後に、２回目で残りの３個ブロックに対して通電を行う。
この通電とは、サブＭＰＵ３のヘッド駆動制御部３５が、出力ドライバ４３のストローブ信号３２を２回に分けてＯＮすることである。そのため、プリンタ駆動条件設定部２７は、１回目に６個のブロックのうち３個のブロックをＯＮし、２回目に６個のブロックのうち残りの３個のブロックをＯＮすることを表すブロック選択情報をヘッド駆動制御部３５に送出する。
（３）最大分割回数３の場合、１回目に２個のブロックを通電し、２回目で次の２個のブロックを通電し、３回目で残り２個のブロックを通電する。
この通電とは、サブＭＰＵ３のヘッド駆動制御部３５が、出力ドライバ４３のストローブ信号３２を３回に分けてＯＮすることである。そのため、プリンタ駆動条件設定部２７は、１回目に６個のブロックのうち２個のブロックをＯＮし、２回目に残り４個のブロックのうち２個のブロックをＯＮし、３回目に残り２個のブロックをＯＮすることを表すブロック選択情報をヘッド駆動制御部３５に送出する。
（４）最大分割回数６の場合、６個のブロックを１回に一個通電する。全部で６回の通電処理を行う。
この通電とは、サブＭＰＵ３のヘッド駆動制御部３５が、出力ドライバ４３のストローブ信号３２を６回に分けてＯＮすることである。そのため、プリンタ駆動条件設定部２７は、１回目〜６回目にそれぞれ１個のブロックをＯＮすることを表すブロック選択情報をヘッド駆動制御部３５に送出する。
【００３１】
なお、４回の分割や５回の分割も可能である。また、最大分割回数２のときに通電するブロックを１回目３ブロック＋２回目３ブロックとすることを前提としているが、１回目２ブロック＋２回目４ブロックや１回目１ブロック＋２回目５ブロックであっても構わない。印字するデータをより高度に分析すれば印字領域の両端の２ブロックを同時に通電し、中央部の４ブロックを同時に通電することが適切な場合が多いので、そのような組み合わせであっても構わない。
以上のメインＭＰＵ２のプリンタ駆動条件設定部２７が行う最大分割回数の決定により、印字データを構成する全ての１ドットライン（所定の印字範囲）を分割印字する際の最大分割回数を固定値として設定できる。また、複数のブロック単位に分けられている複数の発熱体のいずれのブロックを制御するかを表すブロック選択情報を、設定された最大分割回数に基づいてサブＭＰＵ３に送出するので、サブＭＰＵ３の分割処理における負担を軽減できる。
【００３２】
最後に、メインＭＰＵ２及びサブＭＰＵ３は、伝票の印字実行を行う（ステップＳＴ５）。
すなわち、メインＭＰＵ２及びサブＭＰＵ３は、印字データ（ビットマップデータ）を上述した分割条件で印字する。メインＭＰＵ２は、シフトレジスタ４５に１ドットライン分のデータを送出する。サブＭＰＵ３は、ラッチレジスタ４４に印字データを取り込む処理をしたのちに、印字データの分析で決められた最大分割回数に応じて出力ドライバ４３の制御とステッピングモータ４６の駆動制御を行う。
サブＭＰＵ３は、出力ドライバ４３の分割制御において、印字処理の分割回数が最大分割回数へと固定されるので、分割処理における負担は軽減される。このため、サブＭＰＵ３が処理能力の低いＭＰＵでも出力ドライバ４３の分割制御は可能である。
サブＭＰＵ３は、ステッピングモータ４６の駆動制御において、印字処理の分割回数を最大分割回数へと固定するので、基本的に紙を一定速度で搬送する。このため、ステッピングモータ４６の回転速度は起動処理及び停止処理の時を除けば一定で良いので、サブＭＰＵ３が処理能力の低いＭＰＵでもステッピングモータ４６の駆動制御は可能である。
なお、プリンタ駆動用電源の電圧（ＡＣアダプタ９使用時は９Ｖで一定、バッテリ６使用時はバッテリの状態によって変動する）とバッテリの温度は、プリンタの印字制御にとって重要な情報である。サブＭＰＵ３は、これらの情報を示す二次電池電圧センサ情報、二次電池温度センサ情報（温度センサ４８の測定した温度情報）を用いて印字処理を行ってもよい。
【００３３】
以上、携帯端末１（サーマルプリンタ）の伝票印字処理について説明した。携帯端末１は、ラインサーマルヘッド４１（サーマルヘッド）と、紙搬送機構４９（紙搬送機構）と、メインＭＰＵ２及びサブＭＰＵ３（制御装置）とを備える。ラインサーマルヘッド４１は、複数の発熱体を配列して構成されている。紙搬送機構４９は、感熱紙をラインサーマルヘッド４１に供給する。メインＭＰＵ２及びサブＭＰＵ３は、印字データを構成する全ての１ドットラインを分割印字する際の最大分割回数（回数）を、印字データの印字率に基づいて設定し、最大分割回数に基づいて分割された発熱体を順次発熱させて、感熱紙に印字データを構成する全ての１ドットラインを印字する。
【００３４】
メインＭＰＵ２及びサブＭＰＵ３によれば、複数のドットラインからなる領域について印字データを分割印字する際の最大分割回数（回数）を、印字データの印字率に基づいて設定し、複数のドットラインからなる領域について最大分割回数に分割された発熱体を順次発熱させて、感熱紙に印字データを印字するので、発熱体を複数のブロックに分割する印字制御を１ドットライン毎に行う必要がなくなる。これにより、本発明によれば、印字制御の効率が高いサーマルプリンタ、制御方法及びプログラムを提供することができる。
【００３５】
また、制御装置のうち、メインＭＰＵ２は、処理能力がサブＭＰＵ３より高いため、印字データのビットマップ展開や印字率の解析を行う。一方、制御装置のうち、サブＭＰＵ３は、処理能力がメインＭＰＵ２より低いため、メインＭＰＵ２による印字データの解析結果を基に、出力ドライバ４３の分割制御、ステッピングモータ４６の駆動制御を行う。よって、サブＭＰＵ３を使用することにより、携帯端末１全体のコストの上昇を抑制できる。
【００３６】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【００３７】
１…携帯端末、２…メインＭＰＵ、３…サブＭＰＵ、４…サーマルプリンタ部、５…電源部、６…バッテリ、７…ＲＡＭ、８…ＲＯＭ、９…ＡＣアダプタ、１１…表示部、１２…キー入力部、１３…磁気カード読み取り部、１４…ＩＣカード読み取り部、１５…無線通信部、１６…有線通信部、２５…印字データ作成転送部、２６…分割回数判定部、２７…プリンタ駆動条件設定部、３５…ヘッド駆動制御部、３６…モータ駆動制御部、４０…プリンタモジュール、４１…ラインサーマルヘッド、４２…発熱体アレイ、４３…出力ドライバ、４４…ラッチレジスタ、４５…シフトレジスタ、４６…ステッピングモータ、４７…モータドライバ、４８…温度センサ
【図１】
0006489431.tif 000002
【図２】
0006489431.tif 000003
【図３】
0006489431.tif 000004
【図４】
0006489431.tif 000005
【図５】
0006489431.tif 000006
【図６】
0006489431.tif 000007
【図７】
0006489431.tif 000008
【図８】
0006489431.tif 000009
【図９】
0006489431.tif 000010
【図１０】
0006489431.tif 000011