(57)【特許請求の範囲】
【請求項１】
２以上の行を含み、各行には１以上の桁を含む構成を有するイメージデータを生成するイメージデータ生成装置であって、
各行の各桁の上部の段及び下部の段のそれぞれには、行と桁に依存して、内容があることもあり、内容がないこともあり、
上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、前記上下に隣接する２つの行のうちの下部の行に含まれる各桁の上部の段に内容があるか否かを調べ、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する行間隔決定手段を備えることを特徴とするイメージデータ生成装置。
【請求項２】
請求項１に記載のイメージデータ生成装置であって、
前記行間隔決定手段は、前記上下に隣接する２つの行の何れの桁においても内容が重複しないという非重複条件を満たした上で、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定することを特徴とするイメージデータ生成装置。
【請求項３】
請求項２に記載のイメージデータ生成装置であって、
前記行間決定手段は、前記非重複条件を満たした上で、前記上下に隣接する２つの行の間隔をできる限り詰めることを特徴とするイメージデータ生成装置。
【請求項４】
請求項２に記載のイメージデータ生成装置であって、
前記行間決定手段は、前記非重複条件及び視覚特性上の条件を満たした上で、前記上下に隣接する２つの行の間隔をできる限り詰めることを特徴とするイメージデータ生成装置。
【請求項５】
請求項１乃至４の何れか１項に記載のイメージデータ生成装置であって、
前記行間隔決定手段は、前記上下に隣接する２つの行の各桁毎に、上の行の桁の下部に内容があるか否かと下の行の桁の上部に内容があるか否かの組合せが予め定めたパターンのうちどのパターンに該当するかを調べた上で、前記上下に隣接する２つの行に含まれる各々の桁に対するパターンの組合せに基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定することを特徴とするイメージデータ生成装置。
【請求項６】
請求項５に記載のイメージデータ生成装置であって、
前記行間決定手段は、前記パターンの組合せが満たす条件と、該条件に対応する詰める量を予め用意しておき、実際の前記パターンの組合せがどの条件を満たすかを判断し、満たされた条件に対応する詰める量を前記上下に隣接する２つの行の間隔に適用することを特徴とするイメージデータ生成装置。
【請求項７】
２以上の行を含み、各行には１以上の桁を含む構成を有するイメージデータを生成するイメージデータ生成方法であって、
各行の各桁の上部の段及び下部の段のそれぞれには、行と桁に依存して、内容があることもあり、内容がないこともあり、
上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、前記上下に隣接する２つの行のうちの下部の行に含まれる各桁の上部の段に内容があるか否かを調べ、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する行間隔決定ステップを含むことを特徴とするイメージデータ生成方法。
【請求項８】
２以上の行を含み、各行には１以上の桁を含む構成を有するイメージデータを生成するイメージデータ生成装置としてコンピュータを機能させるイメージデータ生成プログラムであって、
前記コンピュータを、
各行の各桁の上部の段及び下部の段のそれぞれには、行と桁に依存して、内容があることもあり、内容がないこともあり、
上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、前記上下に隣接する２つの行のうちの下部の行に含まれる各桁の上部の段に内容があるか否かを調べ、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する行間隔決定手段を備えるイメージデータ生成装置として機能させることを特徴とするイメージデータ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数段からなる文字を印刷する為の、イメージデータ生成方法、イメージデータ生成装置及びイメージデータ生成プログラムに関する。
【背景技術】
【０００２】
タイ語を表記するタイ文字（シャム文字と呼ばれることもある。）を印字する場合の特徴について、図１を参照して説明する。図１には、以下のような具体例が記載されている。
（ａ）３、４段目にそれぞれ印刷される２つの文字から構成された１桁印字
（ｂ）２、３段目にそれぞれ印刷される２つの文字から構成された１桁印字
（ｃ）２、３、４段目にそれぞれ印刷される２つの文字から構成された１桁印字
（ｄ）１、２、３段目にそれぞれ印刷される２つの文字から構成された１桁印字
（ｅ）３と４段目に跨って印刷される一つの文字から構成された１桁印字
（ｆ）２と３段目に跨って印刷される一つの文字から構成された１桁印字
そしてこれらの具体例も含め、タイ文字の印字には以下の３つの特徴を有する。
【０００３】
１）１行に含まれる１桁印字は４段から構成される。なお、以下の説明においては、この「段」のことを適宜「印刷段」と呼ぶ。
【０００４】
２）タイ文字は基本的には、１つの文字は何れか１つの印刷段に印刷されるが、例外として、３段と２段、又は、３段と４段を跨って複数の印刷段に印刷される文字がある。
【０００５】
３）１桁印字は最大３つのタイ文字から構成される。また、３段目には必ず何かしらの印字がされる。すなわち、３段目だけに印刷される文字および一部３段目に印刷される文字のうちの一方が１桁印字に必ず含まれる。
【０００６】
これら３つの特徴があることから、タイ語を印刷する場合、現在印字した行の文と、現在印字した行の１つ前の行の文とに含まれる文字によって、その２行の間の実際のスペースが一定にはならない。ここで、実際のスペースとは、印刷した媒体（紙や表示装置など）上でのスペースのことである。
【０００７】
この点について、図２の具体例を参照して説明する。図２に表されるように前々行（１行目）と前の行（２行目）の間の実際のスペースは予め設定されている行間の分だけとなる。しかしながら、前の行（２行目）に４段目の文字が含まれておらず、且つ、現在の行（３行目）に１段目および２段目の文字が含まれない場合、その２行の間の実際のスペースが所定の行間より非常に大きくなる。
【０００８】
このような無駄なスペースを無くす又は小さくすることにより、印刷用紙の消費量を抑えることが可能である。また、媒体が表示装置であれば、画面内の文字数を増やすことができる。そして、タイ語の特徴を生かすことにより、行間の空白部を縮小させ、印刷用紙の消費量を抑える技術の一例が、特許文献１に記載されている。
【０００９】
特許文献１に記載された技術では、タイ語の印刷行を上部、中部、下部の３段に分け、印刷する際にそれぞれの部を別々に印刷する。
【００１０】
このように、上部、中部、下部の３段に分ける場合、一般的には上部と下部の高さは中部と同じ高さで印刷される。もっとも、実際には、上部と下部に印刷される文字の高さが、中部に印刷される文字の高さより小さい。そして、特許文献１に記載の技術では、この上部と下部には上下の空白が多い、という点に着目している。そして、特許文献１に記載された技術では、上部と下部を印刷する際にそれの空白部を切り取ることで上部と下部の高さを中部の約半分に小さくする。これにより１行の高さを、中部の高さの３倍（上部＋中部＋下部）から約２倍（約半分の高さとした上部＋中部＋約半分の高さとした下部）に減少させ、一行分の高さを減らすことができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１０−１５４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述したように、特許文献１等の技術を用いることにより、紙の消費量を低減できる。しかしながら、これらの技術は、下記の２つの問題点を有している。
【００１３】
第１の問題点は、上の行と下の行をオーバーラップさせることができず、低減できる紙の消費量が比較的に少ないことである。
【００１４】
その理由は、オーバーラップさせる為に特定する必要がある「上の行の下部と下の行の上部が重なる場所があるか否か」について特許文献１等の技術では特定していないからである。また、上の行と下の行をオーバーラップさせることができないということは、図２に表されるような「前の行（２行目）に４段目の文字が含まれておらず、且つ、現在の行（３行目）に１段目および２段目の文字が含まれない場合」に対応することができないという問題にも繋がる。
【００１５】
第２の問題点は、上部に印刷される２個の文字（第１段と第２段に印刷される文字）を一つにまとめており、上部に印刷される文字の高さの違いが考慮されず、第１段に文字が印刷されない場合については無駄な空白部が十分に取り除かれないことである。
【００１６】
その理由は、第１段と第２段に印刷される文字を一の文字としてまとめており、第１段及び第２段として２つの段として扱うべきところを、単に「上部」として１つの部分として扱ってしまっているからである。
【００１７】
そこで、本発明は、複数段からなる文字を印刷するに際して、多様な文字の組合せに対応でき、且つ、紙の消費量を削減することが可能な、イメージデータ生成方法、イメージデータ生成装置及びイメージデータ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の第１の観点によれば、２以上の行を含み、各行には１以上の桁を含む構成を有するイメージデータを生成するイメージデータ生成装置であって、各行の各桁の上部の段及び下部の段のそれぞれには、行と桁に依存して、内容があることもあり、内容がないこともあり、上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、前記上下に隣接する２つの行のうちの下部の行に含まれる各桁の上部の段に内容があるか否かを調べ、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する行間隔決定手段を備えることを特徴とするイメージデータ生成装置が提供される。
【００１９】
本発明の第２の観点によれば、２以上の行を含み、各行には１以上の桁を含む構成を有するイメージデータを生成するイメージデータ生成方法であって、各行の各桁の上部の段及び下部の段のそれぞれには、行と桁に依存して、内容があることもあり、内容がないこともあり、上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、前記上下に隣接する２つの行のうちの下部の行に含まれる各桁の上部の段に内容があるか否かを調べ、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する行間隔決定ステップを含むことを特徴とするイメージデータ生成方法が提供される。
【００２０】
本発明の第３の観点によれば、２以上の行を含み、各行には１以上の桁を含む構成を有するイメージデータを生成するイメージデータ生成装置としてコンピュータを機能させるイメージデータ生成プログラムであって、前記コンピュータを、各行の各桁の上部の段及び下部の段のそれぞれには、行と桁に依存して、内容があることもあり、内容がないこともあり、上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、前記上下に隣接する２つの行のうちの下部の行に含まれる各桁の上部の段に内容があるか否かを調べ、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する行間隔決定手段を備えるイメージデータ生成装置として機能させることを特徴とするイメージデータ生成プログラムが提供される。
【発明の効果】
【００２１】
本発明によれば、複数段からなる文字を印刷するに際して、多様な文字の組合せに対応でき、且つ、紙の消費量を削減することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】タイ文字を印字する際の一桁の構成について表す図である。
【図２】空白部が生じてしまう例について表す図である。
【図３】本発明の第１の実施形態の基本的構成を表す図である。
【図４】本発明の各実施形態の基本的動作を表す図である。
【図５】印字の際のオーバーラップについて表す図である。
【図６】タイ文字の印字パターンについて表す図である。
【図７−１】タイ文字のパターン毎の印字例を表す図（１／７）である。
【図７−２】タイ文字のパターン毎の印字例を表す図（２／７）である。
【図７−３】タイ文字のパターン毎の印字例を表す図（３／７）である。
【図７−４】タイ文字のパターン毎の印字例を表す図（４／７）である。
【図７−５】タイ文字のパターン毎の印字例を表す図（５／７）である。
【図７−６】タイ文字のパターン毎の印字例を表す図（６／７）である。
【図７−７】タイ文字のパターン毎の印字例を表す図（７／７）である。
【図８】本発明の第２の実施形態の基本的構成を表す図である。
【図９】本発明の第３の実施形態における印字例を表す図である。
【図１０】タイ文字における通貨記号の付加について表す図である。
【図１１】アルファベットの小文字を印字する際の一桁の構成について表す図である。
【図１２】アルファベットの小文字の印字パターンについて表す図である。
【図１３−１】アルファベットの小文字のパターン毎の印字例を表す図（１／５）である。
【図１３−２】アルファベットの小文字のパターン毎の印字例を表す図（２／５）である。
【図１３−３】アルファベットの小文字のパターン毎の印字例を表す図（３／５）である。
【図１３−４】アルファベットの小文字のパターン毎の印字例を表す図（４／５）である。
【図１３−５】アルファベットの小文字のパターン毎の印字例を表す図（５／５）である。
【図１４】アルファベットの小文字における通貨記号の付加について表す図である。
【発明を実施するための形態】
【００２３】
続いて、本発明の第１の実施形態の基本的な構成について図３を参照して説明する。
【００２４】
図３を参照すると、本実施形態による印刷システム１００は、ホストコンピュータ１とプリンタ２とを含む。印刷システム１００は任意の機器に実装可能である。例えば、印刷システム１００は、ＰＯＳ（Point of sales）用レシートプリンタとして実装できる。また、パーソナルコンピュータに実装することもできる。なお、一般的なＰＯＳ用レシートプリンタは、各商品の値段を同じ横方向の位置に揃えて見やすくするために固定幅フォント(Fixed Width Font)を使用して印字する。今回の説明では、本実施形態においても、固定幅フォントを使用して印字するものとする。
【００２５】
そして本実施形態では、各桁の印字の高さおよび上下方向の位置が必ずしも同じではないというタイ語等の言語の特徴を利用して各行間の空白部を小さくし、印刷用紙の消費量を抑制する。
【００２６】
なお、以下の説明においては、適宜、タイ文字の桁の１，２段目を前段部、３段目を基幹部、４段目を後段部と称する。
【００２７】
ホストコンピュータ１は、アプリケーションプログラム３及びプリンタドライバ４を含む。また、プリンタドライバ４は、コマンドインターフェイス部５及び印刷データ処理部６を含む。更に、印刷データ処理部６は、印刷データバッファ８と、文字列分析部７と、印刷イメージデータ生成部９を含む。更に、文字列分析部７は、現在行データバッファ１２と、前行データバッファ１１を含む。更に、印刷イメージデータ生成部９は、印刷イメージバッファ１０を含む。更に、プリンタ２は、印刷イメージ受信部１３と、印刷制御部１４を含む。
【００２８】
アプリケーションプログラム３及びプリンタドライバ４はホストコンピュータ１の上で動作するソフトウェアである。ホストコンピュータ１に含まれる各部は、ホストコンピュータ１に含まれる演算装置がアプリケーションプログラム３及びプリンタドライバ４に基づいて演算処理を行うことにより実現される。また、ホストコンピュータ１に含まれる各バッファは、複数の記憶装置により実現されても良いが、１つの記憶装置を論理的に分割して各バッファを実現するようにしても良い。ホストコンピュータ１自体も単一の装置により実現しても良いが、複数の装置が協働することにより実現しても良い。
【００２９】
アプリケーションプログラム３は、印刷対象となる印刷データ（文字列）を生成する。そして、アプリケーションプログラム３は、印刷を実行する旨のコマンド（実行命令）及び印刷データをプリンタドライバ４に含まれるコマンドインターフェイス部５に送る。ここで、印刷データは、通常は、文字列により表される。文字列に含まれる各文字は、通常は、文字コードにより表される。従って、印刷データをテキストデータと称してもよい。
【００３０】
コマンドインターフェイス部５は、アプリケーションプログラム３からコマンド（実行命令）と印刷データを受け取る処理を行う。
【００３１】
印刷データ処理部６に含まれる印刷データバッファ８は、アプリケーションプログラム３からコマンドインターフェイス部５を経由して受信した印刷データ（文字列）を一時的に蓄積する機能を含む。
【００３２】
文字列分析部７は、印刷データバッファ８から文字列を一行ずつ読み出す。そして、読み出した文字列を分析して行間の空白部の高さを決定する機能を含む。
【００３３】
また、文字列分析部７内の現在行データバッファ１２は、印刷データバッファ８から一行分のデータを読み取ったときに一時的にそのデータを保存する。更に、文字列分析部７内の前行データバッファ１１は、前回読み取った一行分のデータを一時的に保存する。
【００３４】
印刷イメージデータ生成部９は、印刷データ（文字列）と、文字列分析部７が決定した行間の高さと、を元に印刷イメージ（画像データ）を生成する機能を含む。印刷イメージデータは、基本的には、ドット毎のデータより構成されるが、このドット毎のデータを圧縮したものであってもよい。
【００３５】
印刷イメージデータ生成部９内の印刷イメージバッファ１０は、生成途中の印刷イメージを保存する。
【００３６】
プリンタ２は、一般的なイメージプリンタと同様の構成であり、画像データの印刷を行う。
【００３７】
印刷イメージ受信部１３は、ホストコンピュータ１からイメージデータを受信し印刷制御部に１４渡す。一方、印刷制御部１４は、印刷イメージ受信部１３より受け取った印刷イメージを印刷用紙に出力する。
【００３８】
次に、図３乃至図６及び図７−１乃至図７−７を参照して本実施形態の動作について詳細に説明する。
【００３９】
本実施形態では、上述したようにアプリケーションプログラム３がプリンタドライバ４に対して印刷命令（コマンド）および印刷データを与える。印刷命令と印刷データを受信した後の処理は図４のフローチャートに表されている。
【００４０】
なお、図４ではＴｒａｎｓａｃｔｉｏｎＰｒｉｎｔ（開始・終了）コマンド以外のコマンドの処理については記載されていないが、これは本実施形態がＴｒａｎｓａｃｔｉｏｎＰｒｉｎｔ（開始・終了）コマンド以外のコマンドに対応できないことを意味するものでは無い。本実施形態では、プリンタドライバ４のコマンドインターフェイス部５が、コマンドの種別を識別し、受信したコマンドがＴｒａｎｓａｃｔｉｏｎＰｒｉｎｔ（開始・終了）コマンド以外である場合にはプリンタドライバ４は通常のプリンタドライバと同様な処理を行う。この、通常のプリンタドライバと同様の処理については当業者によく知られているためＴｒａｎｓａｃｔｉｏｎＰｒｉｎｔ（開始・終了）コマンド以外である場合については図示を省略しているだけである。
【００４１】
まず、プリンタドライバ４がアプリケーションプログラム３からのＴｒａｎｓａｃｔｉｏｎＰｒｉｎｔ開始コマンドを受信する（ステップＦ１においてＹｅｓ）。
【００４２】
ＴｒａｎｓａｃｔｉｏｎＰｒｉｎｔ開始コマンドを受信したプリンタドライバ４は、印刷データバッファ８、印刷イメージデータ生成部９内の印刷イメージバッファ１０、及び文字列分析部７内の前行データバッファ１１並びに現在行データバッファ１２を全てクリアする（ステップＦ２）。
【００４３】
その後、アプリケーション３からＴｒａｎｓａｃｔｉｏｎＰｒｉｎｔ終了コマンドを受信した場合を除き（ステップＦ３においてＮｏ）、アプリケーション３から印刷データを受信するまで待機する（ステップＦ４においてＮｏ）。
【００４４】
プリンタドライバ４は、アプリケーション３から印刷データを受信すると（ステップＦ４においてＹｅｓ）、その印刷データを印刷データバッファ８に蓄積する（ステップＦ５）。
【００４５】
その後、文字列分析部７が印刷データバッファ８から印刷データを最初の一行分だけ先に読み出して現在行データバッファ１２に保存する。加えて、文字列分析部７は、この一行分の文字列で印刷イメージを作成するように印刷イメージデータ生成部９に命令する。イメージ作成を命令した後、文字列分析部７は現在行データバッファ１２のデータを前行データバッファ１１に移す。次に、文字列分析部７は再び印刷データバッファ８から次の一行分データを読み取って現在行データバッファ１２に保存する（ステップＦ６）。
【００４６】
更に、文字列分析部７は、前行データバッファ１１と現在行データバッファ１２のデータを使用してデータ分析を行う（ステップＦ７）。
【００４７】
このデータ分析は、前行データと現在行データを印刷するときの行間の空白部の高さを決めることを目的としている。
【００４８】
文字列分析部７は、各印刷桁について、前行の第４段、現在行の第１段、及び、現在行の第２段のそれぞれに文字が含まれているか否か、また、どのような組み合わせになっているかを基準にして行間の空白部の高さを決定する。そして、可能であると判断した場合には、図５の右側に表されるように前行と現在行をオーバーラップさせるように決定する。こうすることにより通常通り印刷した場合（図５の左側参照）と比べて行間の印刷スペースを削減することが可能となる。
【００４９】
ここで、前行の第４段、現在行の第１段、及び、現在行の第２段の３部分の考え得る組み合わせは、全６パターン有り、図６に表されている。
【００５０】
パターン１は、図１の（ａ）が前行に含まれ、図１の（ｄ）が現在行に含まれているパターンである。
【００５１】
パターン２は、図１の（ａ）が前行に含まれ、図１の（ｂ）が現在行に含まれているパターンである。
【００５２】
パターン３は、図１の（ａ）が前行に含まれ、図１の（ａ）が現在行に含まれているパターンである。
【００５３】
パターン４は、図１の（ｂ）が前行に含まれ、図１の（ｄ）が現在行に含まれているパターンである。
【００５４】
パターン５は、図１の（ｂ）が前行に含まれ、図１の（ｂ）が現在行に含まれているパターンである。
【００５５】
パターン６は、図１の（ｂ）が前行に含まれ、図１の（ａ）が現在行に含まれているパターンである。
【００５６】
なお、今回は３部分のみを考えている為、前行の第１段及び第２段並びに現在行の第４段に文字は含まれていなくとも良いが含まれていても良い。つまり、下記のような組合せも考え得る。
【００５７】
（１）パターン１，２，３の前行には、図１の（ａ）のみ記されているが、図１の（ｃ）及び（ｅ）も含む。
【００５８】
（２）パターン４，５，６の前行は、図１の（ｂ）、（ｄ）及び（ｆ）を含む。
【００５９】
（３）パターン２，５の現在行には、図１の（ｂ）のみ記されているが、図１の（ｃ）及び（ｆ）も含む。
【００６０】
（４）パターン３，６の現在行は、図１の（ａ）及び（ｅ）を含む。
【００６１】
そして、このようなパターン分けを利用して文字列分析部７が行間の空白部の高さを判断するのに使用する条件は以下の通りである。なお、各条件を満たした場合について図７−１〜図７−７に図示されている。図７−１〜図７−７のそれぞれの左側（Ａ）には、パターンを満たしている状態で通常通りに印字する場合の配列が表されている。また、図７−１〜図７−７のそれぞれの右側（Ｂ）には文字列分析部７が決定した空白部の高さに基づいて印字する場合の配列が表されている。
条件１：パターン１となる桁が一つ以上存在する（図７−１（Ａ））。
条件２：条件１を満足しないかつ、パターン２となる桁とパターン４となる桁が各々一つ以上存在する（図７−２（Ａ））。（図７−２）は、パターン２とパターン４が入れ替わった場合も含み、また、パターン２とパターン４が離れて存在している場合も含む。なお、条件２を満たす場合には図７−２（Ａ）のようになる箇所が少なくとも一箇所含まれるが、図７−３（Ａ）及び図７−４（Ａ）のようになる箇所も含まれうる。
条件３：条件１〜２を満足しないかつ、パターン２となる桁が一つ以上存在する（図７−３（Ａ））。
条件４：条件１〜３を満足しないかつ、パターン４となる桁が一つ以上存在する（図７−４（Ａ））。
条件５：条件１〜４を満足しないかつ、パターン５となる桁が一つ以上存在する（図７−５（Ａ））。
条件６：条件１〜５を満足しないかつ、パターン３となる桁が一つ以上存在する（図７−６（Ａ））。
条件７：条件１〜６を満足しないかつ、パターン６となる桁が一つ以上存在する（図７−７（Ａ））。
【００６２】
文字列分析部７は、前行データと現在行データが満足した条件に基づいて、下記の通り印刷イメージデータ生成部９に対し、イメージバッファ１０に保存されている既存印刷イメージの下部に行間を追加してから現在行データのイメージを追加するよう命令する（ステップＦ８）。
【００６３】
なお、下記の説明に使われる変数Ｚは、予めにアプリケーション３が別のコマンドでプリンタドライバ４に対し通知してある行間の高さである（図６参照）。
【００６４】
条件１を満足した場合：既存印刷イメージの最下位行である前行の第４段と現在行の第１段との間に発生する空白部の高さがＺ  ｄｏｔｓとなるようにイメージをつなげる（図７−１（Ｂ））。
【００６５】
条件２を満足した場合：既存印刷イメージの最下位行の第４段と現在行の第２段との間および、既存印刷イメージの最下位行である前行の第３段と現在行の第１段との間について、空白部の高さがＺ  ｄｏｔｓ以上となるようにイメージをオーバーラップさせてつなげる。ただし、少なくどちらかの空白部がＺ  ｄｏｔｓになるようにする（図７−２（Ｂ））。
【００６６】
もっとも、条件２を満足した場合、視認性確保の観点から図７−２（Ｂ）のようにせず図７−１（Ｂ）のようにしても良い。この点については図９を参照して後述する。
【００６７】
また、上述したように条件２を満足した場合には図７−２（Ａ）のようになる箇所が少なくとも一箇所含まれるが、図７−３（Ａ）及び図７−４（Ａ）のようになる箇所も含まれうる。図７−３（Ａ）のようになる箇所は、後述の図７−３（Ｂ）のようにイメージをつなげる。同様に、図７−４（Ａ）のようになる箇所は、後述の図７−４（Ｂ）のようにイメージをつなげる。
【００６８】
条件３を満足した場合：既存印刷イメージの最下位行である前行の第４段と現在行の第２段との間に発生する空白部の高さがＺ  ｄｏｔｓとなるようにイメージをつなげる（図７−３（Ｂ））。
【００６９】
条件４を満足した場合：既存印刷イメージの最下位行である前行の第３段と現在行の第１段との間に発生する空白部の高さがＺ  ｄｏｔｓとなるようにイメージをつなげる（図７−４（Ｂ））
条件５を満足した場合：既存印刷イメージの最下位行である前行の第３段と現在行の第２段との間に発生する空白部の高さがＺ  ｄｏｔｓとなるようにイメージをつなげる（図７−５（Ｂ））。
【００７０】
条件６を満足した場合：既存印刷イメージの最下位行である前行の第４段と現在行の第３段との間に発生する空白部の高さがＺ  ｄｏｔｓとなるようにイメージをつなげる（図７−６（Ｂ））。
【００７１】
条件７を満足した場合：既存印刷イメージの最下位行である前行の第４段と現在行の第３段との間に発生する空白部の高さがＺ  ｄｏｔｓとなるようにイメージをつなげる（図７−７（Ｂ））。
【００７２】
上記の通りにイメージを連結させた後、印刷イメージ生成部９はその結果（新しい印刷イメージ）をイメージバッファ１０に保存する。
【００７３】
次に、文字列分析部７は印刷データバッファ８にデータが残っているか確認する（ステップＦ９）。データが残っている場合（ステップＦ９においてＮｏ）は、その残っているデータを対象としてステップＦ５〜Ｆ７を繰り返す。
【００７４】
一方、印刷データバッファ８にデータが残っていない場合（ステップＦ９においてＹｅｓ）、すなわち、印刷データバッファ８から全てデータを読み出した場合は、アプリケーション３からの印刷コマンドおよび印刷を確認するステップに移行する（ステップＦ３）。
【００７５】
図４のステップＦ３において、アプリケーション３がＴｒａｎｓａｃｔｉｏｎＰｒｉｎｔ終了コマンドをプリンタドライバ４に送付せず（ステップＦ３においてＮｏ）、続けて印刷データをプリンタドライバ４に送信してきた場合（ステップＦ４においてＹｅｓ）、プリンタドライバ４は再びステップＦ５〜Ｆ８を繰り返す。
【００７６】
そして、最終的にアプリケーション３からＴｒａｎｓａｃｔｉｏｎＰｒｉｎｔ終了コマンドを受領した時点で（ステップＦ３においてＹｅｓ）、印刷イメージ生成部９がイメージバッファ内の印刷イメージをプリンタ２に送付してそのイメージの印刷を命じる（ステップＦ１０）。
【００７７】
以上説明した本実施形態は、タイ語テキストを印刷する際に行間に発生する無駄な空白部を、印刷コンテンツを分析することにより無駄な空白部を必要最低限に減らして印刷紙の消費量を低減できる、という効果を奏する。
【００７８】
その理由は、印刷行をオーバーラップさせることによって上下方向の印刷長を短縮させることができるためである。
【００７９】
次に、本発明の他の実施形態である第２の実施形態について図面を参照して詳細に説明する。
【００８０】
図８を参照すると、第２の実施形態である印刷システムＡ１００は、図３に示されたプリンタドライバ４の機能を全てプリンタ内のファームウェアＡ１５に持たせる点で異なる。
【００８１】
第２の実施形態では、アプリケーションプログラムＡ３がプリンタＡ２に対してＴｒａｎｓａｃｔｉｏｎＰｒｉｎｔ開始コマンド、印刷データおよび、Ｔｒａｎｓａｃｔｉｏｎ終了コマンドを送付する。
【００８２】
プリンタドライバＡ２におけるデータ受信部Ａ１３がアプリケーションプログラムＡ３からコマンド又はデータを受信すると、コマンドインターフェイス部Ａ５に引き渡す。コマンドインターフェイス部Ａ５と印刷データ処理部Ａ６は、それぞれ第１の実施形態のコマンドインターフェイス部５と印刷データ処理部６と同様な動作を行う。
【００８３】
上記した第１の実施形態を用いるならば、プリンタ製造者がサポート対象とするＯＳの種類毎のプリンタドライバそれぞれに対して、第１の実施形態を適用するようにお客様に提供しなければならない。これに対して、第２の実施形態を用いるならば、ホストコンピュータのＯＳに依存するプリンタドライバを変更することが不要になる。そのため、第２の実施形態では第１の実施形態と比べて開発コストの抑制ができる。
【００８４】
次に、本発明のさらに他の実施形態である第３の実施形態について図面を参照して説明する。
【００８５】
図９を参照すると、本実施形態は、隣接した桁についても考慮している。第１の実施形態及び第２の実施形態では、各印刷桁について前行の下部（第４段）と現在行の上部（第１段、第２段）が重ならないことを前提条件として、行間の空白部ができるだけ少なくなるように高さを決めている。これに対し、第３の実施形態では、印刷文字が密着し過ぎて読みにくいことにならないように隣接した桁についても考慮する。
【００８６】
図９に表される例では、真中桁の現在行に第２段文字があるが、同じ桁上の前行に第４段文字がない。よって、本例に対して第１の実施形態の説明時に示したルールを適用すると、図７−５の配置になる。もっとも、図９に表される例で図７−５の配置としてしまうと真中桁の現在行の第２段文字と左右桁の前行の第４段文字が横方向に連続することとなり、各文字が読みにくくなるおそれがある。そこで、第３の実施形態では、隣桁の前行に第４段文字があることを考慮し、図７−３の配置を適用する。
【００８７】
なお、上述した各実施形態は特にＰＯＳ装置で印字出力されるレシートに好適である。特に、商品名に続いて値段、通貨記号（バーツ）が印字される行間において適用が期待される。それ故、数字と通貨記号の印字の高さは、図１０に表されるように、桁の３段目の高さと同じか、桁の３段目の高さ未満の高さとすることが好ましい。
【００８８】
図１１〜図１４を参照して、第４の実施形態について説明する。第１の実施形態とは異なる点を以下に記す。
【００８９】
第４の実施形態では、タイ文字に替えて、行を形成する（印刷する）文字をアルファベットの小文字と想定している。
【００９０】
アルファベットの小文字は、図１１に表されるように４タイプに分類できる。また、前提として全てのアルファベットは２段目に何らかの記載が有る。
【００９１】
そして、この常に記載が存在する２段目のみのタイプ１、１段目と２段目に跨るタイプ２、２段目と３段目に跨るタイプ３、１段目から３段目に跨るタイプ４の４つに分類できる。
【００９２】
各桁における前行と現在行の関係は、図１２に表される４つのパターンとなる。
【００９３】
パターン１は、図１１のタイプ３が前行に含まれ、図１１のタイプ２が現在行に含まれているパターンである。
【００９４】
パターン２は、図１１のタイプ３が前行に含まれ、図１１のタイプ１が現在行に含まれているパターンである。
【００９５】
パターン３は、図１１のタイプ１が前行に含まれ、図１１のタイプ２が現在行に含まれているパターンである。
【００９６】
パターン４は、図１１のタイプ１が前行に含まれ、図１１のタイプ１が現在行に含まれているパターンである。
【００９７】
なお、今回は前行の第３段及び現在行の第１段の関係のみを考えている為、前行の第１段及び現在行の第３段に文字の記載は含まれていなくとも良いが含まれていても良い。つまり、下記のような組合せも考え得る。
【００９８】
（１）パターン１，２の前行には、図１１のタイプ３が図示されているが、パターン１，２の前行にはタイプ４も含まれうる。
【００９９】
（２）パターン３，４の前行には、図１１のタイプ１が図示されているが、パターン３，４の前行には、図１１のタイプ２も含まれうる。
【０１００】
（３）パターン１，３の現在行には、図１１のタイプ２が図示されているが、パターン１，３の現在行には、図１１のタイプ４も含まれうる。
【０１０１】
（４）パターン２，４の現在行には、図１１のタイプ１が図示されているが、パターン２，４の現在行には、図１１のタイプ３も含まれうる。
【０１０２】
そして、このようなパターン分けを利用して文字分析部７が行間の空白部の高さを判断するのに使用する条件は以下の通りである。なお、各条件を満たした場合について図１３−１〜図１３−５に図示されている。図１３−１〜図１３−５のそれぞれの左側（Ａ）には、パターンを満たしている状態で通常通りに印字する場合の配列が表されている。また、図１３−１〜図１３−５のそれぞれの右側（Ｂ）には文字分析部７が決定した空白部の高さに基づいて印字する場合の配列が表されている。
【０１０３】
条件１：パターン１となる桁が一つ以上存在する（図１３−１（Ａ））。
【０１０４】
条件２：条件１を満足しない、かつ、パターン２となる桁とパターン３となる桁が一つ以上存在する（図１３−２（Ａ））。なお、図１３−２は、パターン２とパターン３が入れ替わった場合も含み、また、パターン２とパターン３が離れて存在している場合も含む。
【０１０５】
条件３：条件１，２を満足しない、かつ、パターン２となる桁が一つ以上存在する（図１３−３（Ａ））。
【０１０６】
条件４：条件１〜３を満足しない、かつ、パターン３となる桁が一つ以上存在する（図１３−４（Ａ））。
【０１０７】
条件５：条件１〜４を満足しない、かつ、パターン４となる桁が一つ以上存在する（図１３−５（Ａ））。
【０１０８】
そして、条件１を満足した場合、前行と現在行の間隔をＺｄｏｔｓとする（図１３−１（Ｂ））。
【０１０９】
また、条件２を満足した場合、少なくとも、前行の３段目と現在行の２段目の間隔、前行の２段目と現在行の１段目の間隔のいずれかがＺｄｏｔｓとなるようにオーバーラップさせる。１段目の高さと３段目の高さが同じであれば、前行の３段目と現在行の２段目の間隔、前行の２段目と現在行の１段目の間隔のどちらもＺｄｏｔｓとなる。１段目の高さと３段目の高さが同じでなければ、Ｚｄｏｔｓの間隔ではない他方の間隔は、Ｚｄｏｔｓ以上となる（図１３−２（Ｂ））。なお、図１３−２（Ｂ）のようにせず、図１３−１（Ｂ）のようにしてもよい。
【０１１０】
更に、条件３を満足した場合、現在行の１段目の高さ分を削除し、前行と現在行の間隔をＺｄｏｔｓとする（図１３−３（Ｂ））。
【０１１１】
更に、条件４を満足した場合、前行の３段目の高さ分を削除し、前行と現在行の間隔をＺｄｏｔｓとする（図１３−４（Ｂ））。
【０１１２】
更に、条件５を満足した場合、前行の３段目の高さ分と現在行の１段目の高さ分を削除し、前行と現在行の間隔をＺｄｏｔｓとする（図１３−５（Ｂ））。
【０１１３】
第４の実施形態の発明も、ＰＯＳ装置で印字出力されるレシートに好適である。特に、商品名に続いて値段、通貨記号（ドル）が印字される行間において適用が期待される。それ故、数字と通貨記号の印字の高さは、図１４に示すように、文字の２段目の高さと同じか、文字の２段目の高さを超えない高さとすることが好ましい。
【０１１４】
また、アルファベットの小文字の１段目を前段部、２段目を基幹部、３段目を後段部と称することとする。
【０１１５】
第１の実施形態ではタイ文字の場合について、第４の実施形態ではアルファベットの小文字の場合について説明してきたが、文字が、どの桁、もしくは文字にも存在する基幹部、桁、もしくは文字によっては存在するが、桁、もしくは文字によっては存在しない前段部と後段部を有するものであれば、本発明は適用可である。すなわち、タイ文字やアルファベットの小文字というのはあくまで説明の為の一例に過ぎず、各実施形態の適用範囲はタイ文字やアルファベットの小文字に限定されるものではない。
【０１１６】
なお、図３に表される第１の実施形態の構成で、第３の実施形態及び第４の実施形態を実現できることは当然であるが、図８に表される第２の実施形態の構成で、第３の実施形態及び第４の実施形態を実現することも可能である。
【０１１７】
なお、上記の印刷システムは、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。また、上記の印刷システムにより行なわれる印刷制御方法も、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【０１１８】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory)）を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１１９】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１２０】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１２１】
（付記１）  ２以上の行を含み、各行には１以上の桁を含む構成を有するイメージデータを生成するイメージデータ生成装置であって、
各行の各桁の上部の段及び下部の段のそれぞれには、行と桁に依存して、内容があることもあり、内容がないこともあり、
上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、前記上下に隣接する２つの行のうちの下部の行に含まれる各桁の上部の段に内容があるか否かを調べ、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する行間隔決定手段を備えることを特徴とするイメージデータ生成装置。
【０１２２】
（付記２）  付記１に記載のイメージデータ生成装置であって、
前記行間隔決定手段は、前記上下に隣接する２つの行の何れの桁においても内容が重複しないという非重複条件を満たした上で、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定することを特徴とするイメージデータ生成装置。
【０１２３】
（付記３）  付記２に記載のイメージデータ生成装置であって、
前記行間決定手段は、前記非重複条件を満たした上で、前記上下に隣接する２つの行の間隔をできる限り詰めることを特徴とするイメージデータ生成装置。
【０１２４】
（付記４）  付記２に記載のイメージデータ生成装置であって、
前記行間決定手段は、前記非重複条件及び視覚特性上の条件を満たした上で、前記上下に隣接する２つの行の間隔をできる限り詰めることを特徴とするイメージデータ生成装置。
【０１２５】
（付記５）  付記１乃至４の何れか１に記載のイメージデータ生成装置であって、
前記行間隔決定手段は、前記上下に隣接する２つの行の各桁毎に、上の行の桁の下部に内容があるか否かと下の行の桁の上部に内容があるか否かの組合せが予め定めたパターンのうちどのパターンに該当するかを調べた上で、前記上下に隣接する２つの行に含まれる各々の桁に対するパターンの組合せに基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定することを特徴とするイメージデータ生成装置。
【０１２６】
（付記６）  付記５に記載のイメージデータ生成装置であって、
前記行間決定手段は、前記パターンの組合せが満たす条件と、該条件に対応する詰める量を予め用意しておき、実際の前記パターンの組合せがどの条件を満たすかを判断し、満たされた条件に対応する詰める量を前記上下に隣接する２つの行の間隔に適用することを特徴とするイメージデータ生成装置。
【０１２７】
（付記７）  ２以上の行を含み、各行には１以上の桁を含む構成を有するイメージデータを生成するイメージデータ生成方法であって、
各行の各桁の上部の段及び下部の段のそれぞれには、行と桁に依存して、内容があることもあり、内容がないこともあり、
上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、前記上下に隣接する２つの行のうちの下部の行に含まれる各桁の上部の段に内容があるか否かを調べ、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する行間隔決定ステップを含むことを特徴とするイメージデータ生成方法。
【０１２８】
（付記８）  ２以上の行を含み、各行には１以上の桁を含む構成を有するイメージデータを生成するイメージデータ生成装置としてコンピュータを機能させるイメージデータ生成プログラムであって、
前記コンピュータを、
各行の各桁の上部の段及び下部の段のそれぞれには、行と桁に依存して、内容があることもあり、内容がないこともあり、
上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、前記上下に隣接する２つの行のうちの下部の行に含まれる各桁の上部の段に内容があるか否かを調べ、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する行間隔決定手段を備えるイメージデータ生成装置として機能させることを特徴とするイメージデータ生成プログラム。
【０１２９】
（付記９）  印刷対象を、各行に含まれる各印字桁が２以上の段を含む形式で印刷する為の制御を行う印刷制御装置であって、
前記印刷対象として上部の段と下部の段に必ずしも印刷すべき内容が含まれない印刷対象を受け取る手段と、
前記受け取った印刷対象の隣接する２行に着目し、該２行の内の上の行の下部の段と該２行の内の下の行の上部の段の何れか又は双方に印刷すべき内容が含まれていない場合に、該２行の行間の空白部を、印刷すべき内容が含まれている場合よりも縮小することを決定する手段と、
前記決定された空白部に基づいて前記印刷対象を印刷する指示を出す手段と、
を備えることを特徴とする印刷制御装置。
【０１３０】
（付記１０）  付記９に記載の印刷制御装置であって、
前記着目した２行の内の上の行の下部の段と該２行の内の下の行の上部の段をオーバーラップさせることにより前記縮小を実現することを特徴とする印刷制御装置。
【０１３１】
（付記１１）  付記９又は１０に記載の印刷制御装置であって、
前記印刷対象が、全ての桁、もしくは文字に存在する基幹部と、桁、もしくは文字によっては存在しない前記基幹部の上に位置する前段部と、桁、もしくは文字によっては存在しない前記基幹部の下に位置する後段部からなる桁、もしくは文字である場合に、
第１の行の後段部の有無と、第１の行に続く第２の行の前段部の有無に基づいて、第１の行の基幹部と第２の行の基幹部の間の距離を決定することを特徴とする印刷制御装置。
【０１３２】
（付記１２）  付記９乃至１１の何れか１に記載の印刷制御装置であって、
前記着目した２行の内の上の行の或る桁においては下部の段に印刷すべき内容が含まれているが他の桁においては下部の段に印刷すべき内容が含まれておらず、且つ、前記着目した２行の内の下の行の或る桁においては上部の段に印刷すべき内容が含まれているが他の桁においては上部の段に印刷すべき内容が含まれていない場合であっても前記縮小をすることを決定することを特徴とする印刷制御装置。
【０１３３】
（付記１３）  付記９乃至１２の何れか１に記載の印刷制御装置であって、
前記着目した２行の内の上の行の第１の桁において下部の段に印刷すべき内容が含まれておらず、前記着目した２行の内の下の行の前記第１の桁においては上部の段に印刷すべき内容が含まれており、且つ、前記着目した２行の内の上の行の第１の桁に隣接する第２の桁において下部の段に印刷すべき内容が含まれており、前記着目した２行の内の下の行の前記第２の桁においては上部の段に印刷すべき内容が含まれていない場合には前記縮小を行わないことを特徴とする印刷制御装置。
【０１３４】
（付記１４）  付記９乃至１３の何れか１に記載の印刷制御装置であって、
単位を表す文字又は記号を前記上部の段と前記下部の段の間に位置する段に記載することを特徴とする印刷制御装置。
【０１３５】
（付記１５）  付記９乃至１４の何れか１に記載の印刷制御装置であって、
前記印刷する旨の指示に基づいて印刷を実行する手段を更に備えることを特徴とする印刷制御装置。
【０１３６】
（付記１６）  印刷対象を、各印字桁が複数の段を含む形式で印刷する為の制御装置が行う印刷制御方法であって、
前記印刷対象として上部の段と下部の段に必ずしも印刷すべき内容が含まれない印刷対象を受け取るステップと、
前記受け取った印刷対象の隣接する２行に着目し、該２行の内の上の行の下部の段と該２行の内の下の行の上部の段の何れか又は双方に印刷すべき内容が含まれていない場合に、該２行の行間の空白部を、印刷すべき内容が含まれている場合よりも縮小することを決定するステップと、
前記決定された空白部に基づいて前記印刷対象を印刷する指示を出すステップと、
を含むことを特徴とする印刷制御方法。
【０１３７】
（付記１７）  印刷対象を、各印字桁が複数の段を含む形式で印刷する為の制御を行う印刷制御装置としてコンピュータを機能させる為の印刷制御プログラムであって、
前記コンピュータを、
前記印刷対象として上部の段と下部の段に必ずしも印刷すべき内容が含まれない印刷対象を受け取る手段と、
前記受け取った印刷対象の隣接する２行に着目し、該２行の内の上の行の下部の段と該２行の内の下の行の上部の段の何れか又は双方に印刷すべき内容が含まれていない場合に、該２行の行間の空白部を、印刷すべき内容が含まれている場合よりも縮小することを決定する手段と、
前記決定された空白部に基づいて前記印刷対象を印刷する指示を出す手段と、
を備える印刷制御装置として機能させることを特徴とする印刷制御プログラム。
【産業上の利用可能性】
【０１３８】
本発明は、イメージデータ出力装置に利用することができる。イメージデータ出力装置としては、プリンタや表示装置が例示される。プリンタにおいて、紙を節約するために利用することができる。表示装置において、表示部に表示される文字数を増やすためにも利用することができる。
【符号の説明】
【０１３９】
１、Ａ１  ホストコンピュータ
２、Ａ２  プリンタ
３、Ａ３  アプリケーションプログラム
４  プリンタドライバ
５、Ａ５  コマンドインターフェイス部
６、Ａ６  印刷データ処理部
７、Ａ７  文字列分析部
８、Ａ８  印刷データバッファ
９、Ａ９  印刷イメージデータ生成部
１０、Ａ１０  印刷イメージバッファ
１１、Ａ１１  前行データバッファ
１２、Ａ１２  現在行データバッファ
１３、Ａ１３  印刷イメージ受信部
１４、Ａ１４  印刷制御部
Ａ１５  ファームウェア
１００、Ａ１００  印刷システム
【要約】
【課題】複数段からなる文字を印刷するに際して、多様な文字の組合せに対応でき、且つ、紙の消費量を削減する。
【解決手段】２以上の行を含み、各行には１以上の桁を含む構成を有するイメージデータを生成するイメージデータ生成装置が、各行の各桁の上部の段及び下部の段のそれぞれには、行と桁に依存して、内容があることもあり、内容がないこともあり、上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、前記上下に隣接する２つの行のうちの下部の行に含まれる各桁の上部の段に内容があるか否かを調べ、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する。
【選択図】図３【図１】
0005294359.tif 000002
【図２】
0005294359.tif 000003
【図３】
0005294359.tif 000004
【図４】
0005294359.tif 000005
【図５】
0005294359.tif 000006
【図６】
0005294359.tif 000007
【図７−１】
0005294359.tif 000008
【図７−２】
0005294359.tif 000009
【図７−３】
0005294359.tif 000010
【図７−４】
0005294359.tif 000011
【図７−５】
0005294359.tif 000012
【図７−６】
0005294359.tif 000013
【図７−７】
0005294359.tif 000014
【図８】
0005294359.tif 000015
【図９】
0005294359.tif 000016
【図１０】
0005294359.tif 000017
【図１１】
0005294359.tif 000018
【図１２】
0005294359.tif 000019
【図１３−１】
0005294359.tif 000020
【図１３−２】
0005294359.tif 000021
【図１３−３】
0005294359.tif 000022
【図１３−４】
0005294359.tif 000023
【図１３−５】
0005294359.tif 000024
【図１４】
0005294359.tif 000025