説明

制御装置、制御装置の制御方法、及び、プログラム

【課題】付加画像が付加された文字を表現するフォントデータを登録することなく、付加画像が付加された文字列を記録装置に記録させることができるようにする。
【解決手段】ホストコンピューター11のプリンタードライバー実行部21は、所定の範囲に付加画像が付加された一行分の文字列をプリンター12に記録させる場合、当該文字列を示す文字列情報と、文字列が記録される一行における付加画像の配置状態を示す付加画像情報と、を含む制御コマンドであって、文字列に係るフォントデータと重ねて、付加画像に係るフォントデータを行バッファー41に展開させ、記録させる制御コマンドを生成し出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フォントデータに基づいて記録可能な記録装置に接続可能な制御装置、当該制御装置の制御方法、及び、当該制御装置を制御するためのプログラムに関する。
【背景技術】
【0002】
従来、文字を表現する実データ(例えば、ビットマップフォントデータ)であるフォントデータを格納し、接続された制御装置の制御の下、格納したフォントデータに基づいて1又は複数の文字からなる文字列を記録媒体に記録する記録装置が知られている(例えば、特許文献1参照)。
この種の記録装置では、フォントデータに基づいて文字列を記録する際に、取消線等の付加画像を自動で付加して記録する機能を有しているものがある一方、このような機能を有していないものもある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平08−034142号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、取消線等の付加画像を自動で付加して記録する機能を有していない記録装置に記録させる場合であっても、付加画像を付加した上で文字列を記録したいとするニーズは現実にある。これを踏まえ、従来は、付加画像が付加された文字を表現するフォントデータを予め記録装置に記憶しておき、制御装置が、記録装置に、付加画像が付加された文字列を記録させる際は、当該フォントデータに基づいて、文字列を記録させていた。しかしながら、この場合、付加画像が付加された文字を表現するフォントデータを、予め記録装置に記憶させる必要があるため、当該フォントデータを登録する作業が煩雑であり、また、記憶すべきフォントデータのデータ量が増大し、記録装置における記憶領域を圧迫する可能性があった。
本発明は、上述した事情に鑑みてなされたものであり、付加画像を自動で付加する機能を有していない記録装置に、付加画像が付加された文字を表現するフォントデータを登録することなく、付加画像が付加された文字列を記録させることができるようにすることを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、フォントデータを記憶し、一行分の文字列に係るフォントデータをバッファーに展開し、前記バッファーに展開したフォントデータに基づいて、当該一行分の文字列を記録可能な記録装置に、接続可能な制御装置であって、所定の範囲に付加画像が付加された一行分の文字列を前記記録装置に記録させる場合、当該一行に記録すべき当該文字列を示す文字列情報と、当該一行における当該付加画像の配置状態を示す付加画像情報と、を含む制御コマンドであって、前記文字列情報に基づいて当該文字列に係るフォントデータを前記バッファーに展開させると共に、展開した当該文字列に係るフォントデータに重ねて、前記付加画像情報に基づいて、当該付加画像に係るフォントデータを、前記バッファーにおける前記所定の範囲に対応する領域に展開させ、前記バッファーに展開されたデータに基づいて記録させる制御コマンド、を生成し、前記記録装置に出力する記録制御部を備えることを特徴とする。
ここで、文字とは、言語で使用される意味を持った文字のみならず、フォントデータに基づいて記録可能な図形(スペースを含む。)の全てを指す概念である。
また、付加画像とは、いわゆる文字飾りとして文字列と共に記録される画像であり、例えば、取消線、二重取消線、棒線状のアンダーライン、波線状のアンダーライン、文字を囲む枠、強調点等がある。
そして、上記構成によれば、記録制御部は、付加画像が付加された文字列の記録に際し、記録装置に、バッファーに文字列に係るフォントデータを展開させた上で、さらに、これと重ねて、バッファーにおける適切な領域に付加画像に係るフォントデータを展開させる。これにより、バッファー内は、文字列に対して、適切な位置に付加画像が付加された画像に係るデータが展開された状態となる。そして、記録制御部は、当該バッファーに展開されたデータに基づいて記録装置に記録を行わせるため、付加画像が付加された文字列を記録させることが可能である。その際、付加画像が付加された文字を表現するフォントデータを使用しないため、このようなフォントデータを事前に登録する必要がない。
【0006】
また、本発明は、所定の範囲に付加画像が付加された一行分の文字列を前記記録装置に記録させる場合、所定のアプリケーションを実行することによって、当該文字列を示す情報と共に、当該文字列において当該付加画像を付加すべき範囲を示す情報を前記記録制御部に出力するアプリケーション実行部をさらに備え、前記記録制御部は、前記アプリケーション実行部から入力された各情報に基づいて、前記文字列情報を生成すると共に、当該一行に配置される当該文字列と、当該文字列における当該付加画像を付加すべき文字の位置との関係で、当該一行において当該付加画像を付加すべき位置を特定して、前記付加画像情報を生成することを特徴とする。
ここで、記録すべき画像の情報を生成して出力する機能が実装された、所定の規格に準拠したアプリケーションを実行するアプリケーション実行部は、所定の範囲に付加画像が付加された一行分の文字列に関する情報を記録制御部に出力する場合、文字列を示す情報と、当該文字列において付加画像を付加すべき範囲を示す情報と、を出力する構成となっていることがある。そして、上記構成によれば、アプリケーション実行部から入力された各情報に基づいて、的確に、文字列情報、及び、付加画像情報の双方を生成することが可能である。
【0007】
また、本発明は、前記記録制御部は、所定の範囲に付加画像が付加された一行分の文字列であって、所定の装飾が施された文字列を前記記録装置に記録させる場合、当該一行における記録すべき当該文字列を示す前記文字列情報と、当該一行における当該付加画像の配置状態を示す前記付加画像情報と、当該所定の装飾を示す装飾情報と、を含む前記制御コマンドであって、前記文字列情報及び前記装飾情報に基づいて、当該文字列に係るフォントデータを、当該所定の装飾に応じた画像処理を施させて前記バッファーに展開させると共に、展開した当該文字列に係るフォントデータに重ねて、前記付加画像情報及び前記装飾情報に基づいて、当該付加画像に係るフォントデータを、当該所定の装飾に応じた画像処理を施させて、前記バッファーにおける前記所定の範囲に対応する領域に展開させる前記制御コマンドを生成し、前記記録装置に出力することを特徴とする。
この構成によれば、バッファーへのフォントデータの展開に際し、文字列に係るフォントデータ、及び、付加画像に係るフォントデータの双方に所定の装飾に応じた画像処理が施された上で各データが重ねてバッファーに展開されるため、当該所定の装飾を適切に反映させて、付加画像が付加された文字列を記録させることが可能である。
【0008】
また、上記目的を達成するために、本発明は、フォントデータを記憶し、一行分の文字列に係るフォントデータをバッファーに展開し、前記バッファーに展開したフォントデータに基づいて、当該一行分の文字列を記録可能な記録装置に、接続可能な制御装置の制御方法であって、所定の範囲に付加画像が付加された一行分の文字列を前記記録装置に記録させる場合、当該一行に記録すべき当該文字列を示す文字列情報と、当該一行における当該付加画像の配置状態を示す付加画像情報と、を含む制御コマンドであって、前記文字列情報に基づいて当該文字列に係るフォントデータを前記バッファーに展開させると共に、展開した当該文字列に係るフォントデータに重ねて、前記付加画像情報に基づいて、当該付加画像に係るフォントデータを、前記バッファーにおける前記所定の範囲に対応する領域に展開させ、前記バッファーに展開されたデータに基づいて記録させる制御コマンド、を生成し、前記記録装置に出力することを特徴とする。
この制御方法によれば、制御装置は、付加画像が付加された文字列の記録に際し、記録装置に、バッファーに文字列に係るフォントデータを展開させた上で、さらに、これと重ねて、バッファーにおける適切な領域に付加画像に係るフォントデータを展開させる。これにより、バッファー内は、文字列に対して、適切な位置に付加画像が付加された画像に係るデータが展開された状態となる。そして、制御装置は、当該バッファーに展開されたデータに基づいて記録装置に記録を行わせるため、付加画像が付加された文字列を記録させることが可能である。その際、付加画像が付加された文字を表現するフォントデータを使用しないため、このようなフォントデータを事前に登録する必要がない。
【0009】
また、上記目的を達成するために、本発明は、フォントデータを記憶し、一行分の文字列に係るフォントデータをバッファーに展開し、前記バッファーに展開したフォントデータに基づいて、当該一行分の文字列を記録可能な記録装置に、接続可能な制御装置を制御する制御部により実行されるプログラムであって、前記制御部を、所定の範囲に付加画像が付加された一行分の文字列を前記記録装置に記録させる場合、当該一行に記録すべき当該文字列を示す文字列情報と、当該一行における当該付加画像の配置状態を示す付加画像情報と、を含む制御コマンドであって、前記文字列情報に基づいて当該文字列に係るフォントデータを前記バッファーに展開させると共に、展開した当該文字列に係るフォントデータに重ねて、前記付加画像情報に基づいて、当該付加画像に係るフォントデータを、前記バッファーにおける前記所定の範囲に対応する領域に展開させ、前記バッファーに展開されたデータに基づいて記録させる制御コマンド、を生成し、前記記録装置に出力する記録制御部として機能させることを特徴とする。
このプログラムを実行すれば、制御装置は、付加画像が付加された文字列の記録に際し、記録装置に、バッファーに文字列に係るフォントデータを展開させた上で、さらに、これと重ねて、バッファーにおける適切な領域に付加画像に係るフォントデータを展開させる。これにより、バッファー内は、文字列に対して、適切な位置に付加画像が付加された画像に係るデータが展開された状態となる。そして、制御装置は、当該バッファーに展開されたデータに基づいて記録装置に記録を行わせるため、付加画像が付加された文字列を記録させることが可能である。その際、付加画像が付加された文字を表現するフォントデータを使用しないため、このようなフォントデータを事前に登録する必要がない。
【発明の効果】
【0010】
本発明によれば、付加画像を自動で付加する機能を有していない記録装置に、付加画像が付加された文字を表現するフォントデータを登録することなく、付加画像が付加された文字列を記録させることができるようになる、という効果を奏する。
【図面の簡単な説明】
【0011】
【図1】記録システムの機能的構成を示すブロック図である。
【図2】制御コマンドと、制御コマンドに基づいて記録される文字列を示す図。
【図3】ホストコンピューターの動作を示すフローチャートである。
【図4】制御コマンドと、制御コマンドに基づいて記録される文字列を示す図。
【図5】ワークエリアの様子を模式的に示す図である。
【図6】行バッファーの状態を模式的に示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態について説明する。
図1は、本発明を適用した実施形態に係る記録システム1の構成を示すブロック図である。
この図1に示すように、記録システム1は、ホストコンピューター11(制御装置)と、ホストコンピューター11に対して通信可能に接続されたプリンター12(記録装置)と、を備えている。
ホストコンピューター11は、例えば、小売店等の店頭に設置され、売上登録処理及び精算処理を行う販売時点管理システム(POSシステム)を搭載したPOS端末装置であり、取引毎にプリンター12によってレシートを発行する。レシートを発行するとは、取引における商品の購入に関する情報や、店舗のロゴ等を含む所定の画像が感熱ロール紙に記録された上で、感熱ロール紙が切断されて1つの紙片であるレシートが形成されることをいう。
【0013】
図1に示すように、ホストコンピューター11は、制御部13と、入力部14と、表示部15と、インターフェイス部16(I/F)と、記憶部17と、を備えている。
制御部13は、ホストコンピューター11を中枢的に制御するものであり、各種プログラムを実行するCPU、CPUにより実行される基本制御プログラム等を記憶するROM、CPUが実行するプログラムや処理対象のデータ等を一時的に記憶するワークエリアを形成するRAM、その他周辺回路等を備えている。制御部13は、POSアプリケーション実行部20と、プリンタードライバー実行部21と、を備えているが、これらについては、後述する。
入力部14は、オペレーターに操作される売上登録キー等の各種キーを備えたキーボードや、マウス、バーコードスキャナー、カードリーダー等の入力デバイスが接続され、入力デバイスに対する操作を検出し、操作信号として制御部13に出力する。
表示部15は、液晶ディスプレイ等の表示パネルを備え、制御部13の制御の下、売上登録処理及び精算処理の処理内容等の各種情報を表示パネルに表示する。
インターフェイス部16(I/F)は、制御部13の制御の下、プリンター12との間で通信規格に準拠した通信を行う。
記憶部17は、ハードディスクや、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。
【0014】
また、プリンター12(記録装置)は、ホストコンピューター11の制御に従って、ロール状に巻かれた感熱ロール紙を、搬送機構(不図示)により搬送しつつ、この感熱ロール紙の記録面にラインサーマルヘッド34によって熱を与えることにより文字や画像を記録し、カッターユニット35により所定の位置で感熱ロール紙を切断することによってレシートを発行するサーマルラインプリンターである。
図1に示すように、プリンター12は、プリンター側制御部30と、インターフェイス部31と、プリントエンジン32と、プリンター側記憶部33と、を備えている。
プリンター側制御部30は、プリンター12の各部を中枢的に制御するものであり、上述した制御部13と同様、CPUや、ROM、RAMその他の周辺回路を備えている。
インターフェイス部31は、プリンター側制御部30の制御の下、ホストコンピューター11との間で、通信規格に準拠した通信を行う。
プリントエンジン32は、プリンター側制御部30の制御の下、用紙端センサーや用紙残量センサー等の各種センサーの検出値を監視しながら、ラインサーマルヘッド34のほか、感熱ロール紙を搬送するプラテンローラーを駆動するための搬送モーターや、上述したカッターユニット35が備えるカッターを駆動するためのカッター駆動モーターを動作させて、感熱ロール紙に画像を記録し、画像を記録した感熱ロール紙を切断することによりレシートを発行する。
プリンター側記憶部33は、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発的に記憶する。記憶部17に記憶される各データについては、後述する。
【0015】
次いで、POSアプリケーション実行部20(アプリケーション実行部)、及び、プリンタードライバー実行部21(記録制御部)の説明を通して、1つのレシートを発行する際の記録システム1の基本的な動作について説明する。
POSアプリケーション実行部20は、ホストコンピューター11に予めインストールされたPOSアプリケーションを実行することにより、取引毎に、例えば所定のサーバーにアクセスする等して、取引において購入された商品を示す情報や、商品の単価を示す情報、購入金額を示す情報等のレシートに記載すべき情報を取得し、取得した情報に基づいてレシートに記録すべき画像に係る画像情報を生成し、プリンタードライバー実行部21に出力する。
プリンタードライバー実行部21は、ホストコンピューター11に予めインストールされたプリンタードライバーを実行することにより、POSアプリケーション実行部20から入力された画像情報に基づいて、プリンター12のコマンド仕様に対応した制御コマンドを生成し、プリンター12に出力する。この制御コマンドには、搬送機構に感熱ロール紙を搬送させるコマンドや、ラインサーマルヘッド34を駆動させて画像を記録させるコマンド、カッターユニット35に感熱ロール紙を切断させるコマンド等が含まれている。
制御コマンドが入力されたプリンター側制御部30は、制御コマンドに従って、プリントエンジン32を制御して、レシートの発行に係る各種動作を実行する。
【0016】
上記のPOSアプリケーション、及び、プリンタードライバーは、UPOS(UnifiedPOS)の規格に準拠したプログラムとなっており、プリンタードライバーには、POSアプリケーションと、プリンタードライバーとの間のソフトウェア的なインターフェイスとして機能するプログラム(いわゆるコントロールオブジェクト)が実装されている。POSアプリケーション実行部20とプリンタードライバー実行部21との間での情報の受け渡しは、UPOSの規格に準拠して、例えば、引数を介したデータの受け渡しや、共通して使用する変数、パラメーターの設定という形で行われる。
【0017】
次いで、プリンター12によって感熱ロール紙に一行の文字列を記録する際の、記録システム1を構成するホストコンピューター11、及び、プリンター12の動作について説明する。
以下の説明では、図2のAに示すように、感熱ロール紙の一行に、A〜Gのアルファベットからなる文字列(以下、適宜、文字列「A〜G」と表現する。)を記録する場合を例にして、記録システム1の動作について説明する。
文字列「A〜G」の記録に際し、まず、ホストコンピューター11のPOSアプリケーション実行部20は、少なくとも、記録すべき文字列(本例では、文字列「A〜G」)を示す情報、及び、文字列に施すべき装飾を示す情報を含む画像情報を、プリンタードライバー実行部21に出力する。文字列は、所定の文字コード(例えば、アスキーコードや、Unicode)で表現された文字の組み合わせによって構成されている。また、「装飾」とは、感熱ロール紙に記録する文字列に対して描画に関する何らかの処理を行うことを意味し、例えば、文字列の拡大や、文字列の位置の移動(左寄せ、中央寄せ、右寄せ等)、縮小、回転、強調、太字化等が装飾に該当する。
本例では、文字列に対して、その大きさを基準の大きさの2倍とする装飾を施すものとする。
上述したように、POSアプリケーション実行部20と、プリンタードライバー実行部21との間では、UPOSの規格に準拠して情報の受け渡しを行う構成となっており、上記POSアプリケーション実行部20からプリンタードライバー実行部21への画像情報の出力は、UPOSの規格に準拠して、例えば、各情報が引数として所定の変数に格納される等の手段によって行われる。従って、情報を含むデータ自体も、UPOSの規格に準拠したフォーマットとなっている。
【0018】
次いで、プリンタードライバー実行部21は、POSアプリケーション実行部20から入力された画像情報に基づいて、プリンター12のコマンド体系に準拠した、以下のような制御コマンドを生成する。
すなわち、図2のBに示すように、プリンタードライバー実行部21は、制御コマンドとして、文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1を生成する。
文字列装飾コマンドMS1は、記録すべき文字列(本例では、文字列「A〜G」)に施すべき装飾(本例では、文字列の大きさを基準の大きさの2倍とすること)を指定するコマンドである。
文字列記録指示コマンドMK1は、文字列「A〜G」を記録することを指示するコマンドである。本実施形態では、文字列記録指示コマンドは、命令コードと、記録すべき文字列と、が組み合わされて構成されている。例えば、文字列記録指示コマンドMK1は、「XXX“ABCDEFG”」(XXXは、文字列を記録することを指示する命令コード。また、ダブルクォーテーション内は、記録すべき文字列。)という構成となっている。
【0019】
上記の文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1を生成後、プリンタードライバー実行部21は、これら制御コマンドをプリンター12に出力する。
当該制御コマンドが入力されたプリンター12のプリンター側制御部30は、プリントエンジン32を制御して、文字列装飾コマンドMS1により指定された装飾を施した上で、文字列記録指示コマンドMK1により指定された文字列を感熱ロール紙に記録する。これにより、図2のAに示すように、感熱ロール紙の一行に、文字列「A〜G」が記録される。
詳述すると、プリンター12のプリンター側記憶部33には、フォントテーブル40が記憶されている。フォントテーブル40とは、フォントデータを集合して記憶するテーブルであり、また、フォントデータとは、文字を感熱ロール紙に記録可能な態様で表現する実データのことである。本実施形態では、フォントデータの態様は、ビットマップフォントデータである。フォントデータの態様としては、ビットマップデータのほか、スケイラブルフォントデータや、ベクトルフォントデータ、アウトラインフォントデータ等がある。
なお、本実施形態では、感熱ロール紙に記録する「文字」は、言語で使用される意味を持った文字のみならず、プリンター側記憶部33に記憶されたフォントデータに基づいて感熱ロール紙に記録可能な図形(スペースを含む)の全てを指す概念である。
所定の文字コードで表現された文字のそれぞれは、フォントテーブル40に記憶されたいずれかのフォントデータと対応関係にあり、この対応関係を示す情報がプリンター側記憶部33に予め記憶されている。例えば、文字コードがアスキーコードである場合において、各アスキーコードと、各アスキーコードに対応するフォントデータの位置(フォントテーブル40における記憶領域のアドレス)とが対応づけて記憶されたテーブルがプリンター側記憶部33に予め記憶されている。
【0020】
そして、文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1に基づいて文字列「A〜G」を記録する際、プリンター側制御部30は、フォントテーブル40、及び、文字コードとフォントデータとの対応関係を示す情報を参照して、当該文字列「A〜G」を構成する各文字(A、B、C、D、E、F、G)のフォントデータを取得する。
次いで、プリンター側制御部30は、取得した各フォントデータに対して、文字列装飾コマンドMS1が指定する装飾(本例では、文字の拡大に係る装飾)に対応する画像処理を施した上で、各フォントデータを、順次、行バッファー41(バッファー)に展開する。
行バッファー41とは、プリンター側制御部30のRAMの所定の記憶領域に形成された、一行分のプリントバッファーのことである。本実施形態では、文字列の記録は、行ごとに行われる構成となっており、感熱ロール紙上のある一行に文字列を記録する場合、当該文字列を構成する全ての文字のフォントデータが、行バッファー41に展開された上で記録が行われる。
行バッファー41に文字列「A〜G」を構成する各文字(A、B、C、D、E、F、G)の装飾に係る画像処理後のフォントデータを展開した後、プリンター側制御部30は、行バッファー41に展開されているデータ(=文字列を記録すべき行全体の画像のイメージデータ)に基づいて、ラインサーマルヘッド34、その他の機構を制御して、文字列「A〜G」を、感熱ロール紙に記録する。
【0021】
ところで、文字列を記録する場合に、文字列に付加画像を付加することが求められる場合がある。付加画像とは、いわゆる文字飾りとして文字列と共に記録される画像であり、例えば、取消線、二重取消線、棒線状のアンダーライン、波線状のアンダーライン、文字を囲む枠、強調点等がある。
そして、従来は、付加可能な付加画像の種類毎に、当該付加画像が付加された文字を表現するフォントデータが、文字ごとに登録され、付加画像が付加された文字を記録する場合、当該フォントデータを利用して、記録が行われていた。
例えば、記録システム1について、文字列に対して取消線を付加することができるとされているものとする。この場合、事前に、取消線が付加された文字を表現するフォントデータが、文字ごとに、プリンター12に登録される。そして、取消線が付加された文字列を記録させる場合、ホストコンピューター11は、文字列を構成する文字のうち、取消線を付加すべき文字については、文字を表現するフォントデータに代えて、取消線が付加された文字を表現するフォントデータを使用させてプリンター12に記録を行わせ、これにより、適切な範囲に取消線が付加された文字列を記録させていた。しかしながら、この従来のやり方では、付加画像が付加された文字に係るフォントデータを予めプリンター12に記憶させる必要があるため、当該フォントデータを登録する作業が煩雑であり、また、記憶すべきフォントデータのデータ量が増大し、プリンター12のプリンター側制御部30における記憶領域を圧迫する可能性があった。
以上を踏まえ、本実施形態に係るホストコンピューター11は、以下のようにして、プリンター12に付加画像が付加された文字列を記録させ、これにより、付加画像が付加された文字に係るフォントデータの登録を回避している。
【0022】
図3は、付加画像が付加された文字列をプリンター12に記録させる際の、ホストコンピューター11の動作、特に、プリンタードライバー実行部21(記録制御部)の動作を示すフローチャートである。
以下では、図4のAに示すように、文字列「A〜G」のうち、文字「C」、「D」、「E」に対して付加画像としての取消線が付加された文字列(以下、適宜、取消線付文字列「A〜G」という。)を記録する場合を例にして説明する。
取消線付文字列「A〜G」をプリンター12に記録させる際、まず、POSアプリケーション実行部20からプリンタードライバー実行部21に、画像情報として、少なくとも以下の3つの情報が入力される(ステップSA1)。
画像情報G1:記録すべき文字列を示す情報、及び、当該文字列において特定の付加画像(本例では、取消線)を付加すべき範囲を示す情報。
画像情報G2:文字列に施すべき装飾を示す情報。以下の説明では、文字列に対して、その大きさを基準の大きさの2倍とする装飾を施すものとする。
そして、画像情報G1では、具体的には、「AB #stC CDE #!stC FG」という文字列が示されている。上記文字列のうち「#stC」は、付加すべき付加画像の種類が取消線であること、及び、取消線の付加を開始すべき位置を示す文字列であり、文字列中にこの「#stC」があった場合、この「#stC」の直後に記述されている文字(本例では、文字「C」)から取消線の付加を開始することとされている。また、上記文字列のうち「#!stC」は、取消線の付加を終了すべき位置を示す文字列であり、文字列中にこの「#!stC」があった場合、この「#!stC」の直前に記述されている文字(本例では、文字「E」)にて取消線の付加を終了することとされている。画像情報G1の記述方式は、UPOSの規格に準拠したものである。
なお、取消線以外の付加画像についても、上述した、「#stC」、及び、「#!stC」と同一の機能の文字列が用意されており、ある1の種類の付加画像に係る画像情報G1は、当該1の種類の付加画像について用意された文字列が利用されて、生成される。
また、画像情報G2では、文字列に施すべき装飾(本例では、文字列を基準の大きさの2倍とすること)が具体的に示されている。
【0023】
次いで、プリンタードライバー実行部21は、画像情報G1を分析し、一行に記録すべき文字列を示す文字列情報、及び、当該一行における取消線(付加画像)の配置状態を示す付加画像情報、を生成する(ステップSA2)。
詳述すると、プリンタードライバー実行部21は、画像情報G1「AB #stC CDE #!stC FG」を分析して、取消線を除いた記録すべき文字列(文字列)を判別する。すなわち、プリンタードライバー実行部21は、画像情報G1「AB #stC CDE #!stC FG」から「#stC」及び「#!stC」を取り除くことにより、記録すべき文字列が、「ABCDEFG」であることを判別する。そして、プリンタードライバー実行部21は、判別結果に基づいて、一行に記録すべき文字列を示す文字列情報として、文字列「A〜G」を生成する。
次いで、プリンタードライバー実行部21は、以下のようにして、付加画像情報を生成する。
【0024】
図5は、付加画像情報を生成する際のプリンタードライバー実行部21の動作を説明するため、RAMのワークエリアの内の様子を模式的に示す図である。図5は、説明の便宜を考慮して、概念的にワークエリアの様子を示している。
付加画像情報の生成に際し、プリンタードライバー実行部21は、文字列を記録すべき一行に配置された当該文字列と、当該文字列における当該付加画像を付加すべき文字の位置との関係で、当該一行において当該付加画像を付加すべき位置を特定する。
すなわち、プリンタードライバー実行部21は、画像情報G1に基づいて、文字列「A〜G」を構成する各文字のうち、付加画像としての取消線を付加すべき文字(本例では、C、D、E)を特定する。次いで、プリンタードライバー実行部21は、当該一行に文字列「A〜G」を配置したとした場合に、当該文字列「A〜G」を構成する文字のうち、文字「C」、「D」、「E」に対応する位置が、当該一行において付加画像を付加すべき位置であることを特定する。
次いで、プリンタードライバー実行部21は、図5に示すように、文字列「A〜G」に対応させて、取消線を付加しない文字(本例では、A、B、F、G)に対応する位置にスペースが配置され、取消線を付加する文字(本例では、C、D、E)に対応する位置に取消線が配置された文字列「△△−−−△△」(△は、スペース。以下同様。)を生成する。
このようにして生成された文字列「△△−−−△△」は、文字列を記録すべき一行において、当該文字列に付加すべき取消線(付加画像)の配置状態を示す情報(付加画像情報)である。すなわち、文字列「△△−−−△△」は、当該一行において一、二列目には、取消線が配置されないことをスペースを用いて示し、さらに、当該一行において三、四、及び、五列目には、取消線が配置されていることを示し、さらに、当該一行において六、七列目には、取消線が配置されないことをスペースを用いて示すことにより、当該一行における取消線の配置状態を示している。
以上のように、プリンタードライバー実行部21は、文字列を記録すべき一行に配置される文字列と、当該文字列における当該付加画像を付加すべき文字の位置との関係で、当該一行において当該付加画像を付加すべき位置を特定し、文字列「△△−−−△△」によって構成される付加画像情報を生成する。
【0025】
さて、ステップSA2において文字列情報、及び、付加画像情報を生成した後、プリンタードライバー実行部21は、文字列記録指示コマンドMK2を生成する(ステップSA3)。
この文字列記録指示コマンドMK2の構成は、
「XXX“ABCDEFG”#Top“△△−−−△△”」
となっている。
以下、文字列記録指示コマンドMK2について詳述する。
【0026】
上述したように、文字列記録指示コマンドMK2のうち、「XXX」は、行バッファー41に展開したデータに基づいて画像を記録することを指示する命令に係る命令コードである。
文字列記録指示コマンドMK2のうち、「“ABCDEFG”」は、一行に記録すべき文字列を示す文字列情報であり、また、「“△△−−−△△”」は、当該一行における取消線(付加画像)の配置状態を示す付加画像情報である。
そして、文字列記録指示コマンドMK2では、文字列「A〜G」と、文字列「△△−−−△△」とが、「#Top」を介して接続されている。「#Top」は、行バッファー41へのデータの展開に際し、この「#Top」の前のダブルクォーテーションで囲まれた文字列(本例では、文字列「A〜G」)に係るフォントデータを行バッファー41に展開した後、これと重ねて、この「#Top」の後のダブルクォーテーションで囲まれた文字列(本例では、文字列「△△−−−△△」)を構成する文字に係るフォントデータを、行バッファー41の先頭から、順次、展開させることを示す情報である。
つまり、文字列記録指示コマンドMK2は、文字列「A〜G」に係るフォントデータを行バッファー41に展開させると共に、文字列「△△−−−△△」に係るフォントデータを、行バッファー41の先頭から重ねて展開させた上で、行バッファー41に展開されたデータに基づいて画像を記録することを指示するコマンドである。
【0027】
ステップSA3において文字列記録指示コマンドMK2を生成した後、プリンタードライバー実行部21は、画像情報G2に基づいて、文字列装飾コマンドMS2を生成する(ステップSA4)。この文字列装飾コマンドMS2は、文字列について、基準の大きさの2倍にする装飾を施すべきことを指示するコマンドである。上述したように、文字列装飾コマンドMS2は、行バッファー41へのフォントデータの展開に際し、施すべき装飾に対応する画像処理を施した上で展開させることを指示するが、特に、文字列記録指示コマンドMK2において「#Top」が使用されている場合は、この「#Top」の前後に示された文字列の双方について、装飾に対応する画像処理を施した上で展開させることを指示する。つまり、文字列装飾コマンドMS2は、文字列記録指示コマンドMK1における「#Top」の前の文字列「A〜G」、及び、「#Top」の後の文字列「△△−−−△△」の双方について、装飾に対応する画像処理を施した上で展開させることを指示している。
【0028】
ステップSA4において文字列装飾コマンドMS2を生成した後、プリンタードライバー実行部21は、この文字列装飾コマンドMS2と、文字列記録指示コマンドMK2とを順次、プリンター12に出力する(ステップSA5)。
図4のBでは、ステップSA5で出力されるコマンドの内容を模式的に示している。
【0029】
さて、ステップSA5においてプリンタードライバー実行部21から文字列装飾コマンドMS2、及び、文字列記録指示コマンドMK2が入力されたプリンター12のプリンター側制御部30は、以下のようにして、行バッファー41にデータを展開する。
図6は、プリンター側制御部30が行バッファー41にデータを展開する際の動作を説明するために、行バッファー41を模式的に示す図である。
まず、プリンター側制御部30は、入力された文字列記録指示コマンドMK2に基づいて、文字列「A〜G」を構成する各文字のフォントデータを特定する。次いで、プリンター側制御部30は、文字列装飾コマンドMS2に基づいて各フォントデータに施すべき装飾(文字の大きさを基準の2倍とする装飾)に対応する画像処理を施した上で、各フォントデータを、順次、行バッファー41に展開する。これにより、図6(A)に示すように、行バッファー41は、文字列「A〜G」を構成する各文字の画像処理後のフォントデータが展開された状態となる。
次いで、プリンター側制御部30は、文字列記録指示コマンドMK2に基づいて、当該コマンドにおける「#Top」後の文字列「△△−−−△△」について、当該文字列を構成する各文字のフォントデータを特定する。なお、付加可能な付加画像に係るフォントデータは予め登録されている。次いで、プリンター側制御部30は、文字列装飾コマンドMS2に基づいて各フォントデータに施すべき装飾(文字の大きさを基準の2倍とする装飾)に対応する画像処理を施した上で、各フォントデータを、行バッファー41の先頭から順次、展開する。
【0030】
これにより、行バッファー41において、文字「A」に係るフォントデータが展開された領域に、文字「△」に係るフォントデータが重ねて展開される。フォントデータを重ねて展開するとは、同一領域内に展開される複数のフォントデータについて、各フォントデータが示す文字が重なった画像を示すイメージデータとなるように、各フォントデータを重ね合わせることを言い、例えば、フォントデータが、白黒2値のビットマップデータである場合には、各フォントデータを構成する各画素の論理和をとることを言う。ここで、文字「△」は、スペースであるため、文字「A」に係るフォントデータが展開された領域に、文字「△」に係るフォントデータを展開した場合、文字「A」に係るフォントデータがそのまま展開された状態が維持される。
同様に、行バッファー41において、文字「B」に係るフォントデータが展開された領域に、文字「△」に係るフォントデータが重ねて展開される。また、文字「C」、「D」、「E」に係るフォントデータが展開された領域のそれぞれに、文字「−」(付加画像)に係るフォントデータが展開される。ここで、文字「−」には、文字「C」、「D」、「E」と同様の装飾に係る画像処理が施されているため、各文字に対して適切な位置に取消線が付加された状態となる。また、文字「F」、「G」に係るフォントデータが展開された領域のそれぞれに、文字「△」に係るフォントデータが展開される。
このようにして文字列「△△−−−△△」に係るフォントデータが展開されることにより、図6(B)に示すように、行バッファー41は、文字列「A〜G」のうち、文字「C」、「D」、「E」について、取消線が付加された画像のイメージデータが展開された状態となる。
プリンター側制御部30は、行バッファー41へのデータの展開が終了した後、展開したデータに基づいて、画像の記録を実行する。ここで、記録される画像は、図4のBに示すように、文字列「A〜G」のうち、文字「C」、「D」、「E」について、取消線が付加された画像となる。
【0031】
以上説明したように、本実施形態では、ホストコンピューター11のプリンタードライバー実行部21(記録制御部)は、所定の範囲に付加画像たる取消線が付加された取消線付文字列「A〜G」をプリンター12に記録させる場合、文字列記録指示コマンドMK2を生成し、プリンター12に出力する。この文字列記録指示コマンドMK2は、当該一行に記録すべき当該文字列を示す文字列情報(“ABCDEFG”)と、当該一行における取消線の配置状態を示す付加画像情報(“△△−−−△△”)とを含んでおり、文字列「A〜G」に係るフォントデータを行バッファー41に展開させると共に、これと重ねて、文字列「△△−−−△△」に係るフォントデータを、行バッファー41の所定の領域に展開させ、行バッファー41に展開されたデータに基づいて記録させる制御コマンドである。
これによれば、取消線付文字列「A〜G」を記録させる際、プリンタードライバー実行部21は、行バッファー41に、文字列「A〜G」の適切な位置に取消線(付加画像)が付加された画像に係るイメージデータを展開させることができるため、取消線付文字列「A〜G」をプリンター12に記録させることが可能である。また、行バッファー41へのデータの展開に際し、付加画像が付加された文字を表現するフォントデータを使用しないため、このようなフォントデータを事前に登録する必要がない。
【0032】
また、本実施形態では、POSアプリケーション実行部20は、所定の範囲に付加画像が付加された一行分の文字列である、取消線付文字列「A〜G」をプリンター12に記録させる場合、UPOSの規格に準拠したPOSアプリケーションの仕様に準じて、文字列「A〜G」を示す情報と共に、文字列「A〜G」において取消線を付加すべき範囲を示す情報(画像情報G1)を、プリンタードライバー実行部21に出力する。
そして、プリンタードライバー実行部21は、画像情報G1に基づいて、文字列「A〜G」を構成する各文字のうち、付加画像としての取消線を付加すべき文字(本例では、C、D、E)を特定し、一行に文字列「A〜G」を配置したとした場合に、当該文字列「A〜G」を構成する文字のうち、文字「C」、「D」、「E」に対応する位置が、当該一行において付加画像を付加すべき位置であることを特定する。
次いで、プリンタードライバー実行部21は、図5に示すように、文字列「A〜G」に対応させて、取消線を付加しない文字(本例では、A、B、F、G)に対応する位置にスペースが配置され、取消線を付加する文字(本例では、C、D、E)に対応する位置に取消線が配置された文字列「△△−−−△△」を、付加画像情報として、生成する。
これによれば、プリンタードライバー実行部21は、UPOSの規格に準拠してPOSアプリケーション実行部20から入力される画像情報G1に基づいて、的確に、一行に記録すべき当該文字列を示す文字列情報と、当該一行における取消線の配置状態を示す付加画像情報(文字列「△△−−−△△」)と、の双方を生成可能である。
【0033】
また、本実施形態では、プリンタードライバー実行部21は、文字の大きさを基準の2倍とするという装飾を施した取消線付文字列「A〜G」をプリンター12に記録させる場合、文字列記録指示コマンドMK2と併せて、文字列装飾コマンドMS2を生成して、プリンター12に出力する。
この文字列装飾コマンドMS2は、当該文字列「A〜G」に係るフォントデータを、当該装飾に応じた画像処理を施させて行バッファー41に展開させると共に、展開した当該文字列に係るフォントデータに重ねて、文字列「△△−−−△△」に係るフォントデータを、当該装飾に応じた画像処理を施させて、行バッファー41に展開させることを指示する制御コマンドである。
これによれば、行バッファー41へのフォントデータの展開に際し、文字列に係るフォントデータ、及び、付加画像に係るフォントデータの双方に所定の装飾に応じた画像処理が施された上で各データが重ねて行バッファー41に展開されるため、当該所定の装飾を適切に反映させて、付加画像が付加された文字列を記録させることが可能である。
【0034】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
上述した実施形態では、付加画像の一例として取消線を挙げて発明を説明したが、取消線以外の付加画像についても、本発明を適用して、付加画像が付加された文字に係るフォントデータを登録することなく、文字に付加して記録することが可能であることは、言うまでもない。
また例えば、上述した実施形態では、付加画像情報は、スペースに係る文字と、付加画像に係る文字との組み合わせからなる文字列であったが、付加画像情報の態様はこれに限らず、例えば、付加画像の種類を示す情報と、文字列を構成する文字のうち付加画像を付加すべき文字を指定する情報との組み合わせ等であってもよい。すなわち、付加画像情報は、文字列を記録すべき一行における付加画像の配置状態を示す情報であれば、どのような態様であってもよい。
また例えば、上述した実施形態では、制御装置たるホストコンピューター11に接続される記録装置は、サーマル式のプリンターであったが、記録装置の記録形式はこれに限らず、インクジェット式、ドットインパクト式等であってもよい。すなわち、フォントデータに基づいて画像を記録可能な記録装置であればよい。
また例えば、図1に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また例えば、制御部13の機能を、ホストコンピューター11に外部接続される別の装置に持たせるようにしてもよい。
また、外部接続される記憶媒体に記憶させたプログラムを実行することにより、図3で示した各フローチャートの各ステップを実行するようにしてもよい。
【符号の説明】
【0035】
1…記録システム、11…ホストコンピューター(制御装置)、12…プリンター(記録装置)、13…制御部、20…POSアプリケーション実行部(アプリケーション実行部)、21…プリンタードライバー実行部(記録制御部)、41…行バッファー(バッファー)。

【特許請求の範囲】
【請求項1】
フォントデータを記憶し、一行分の文字列に係るフォントデータをバッファーに展開し、前記バッファーに展開したフォントデータに基づいて、当該一行分の文字列を記録可能な記録装置に、接続可能な制御装置であって、
所定の範囲に付加画像が付加された一行分の文字列を前記記録装置に記録させる場合、
当該一行に記録すべき当該文字列を示す文字列情報と、
当該一行における当該付加画像の配置状態を示す付加画像情報と、を含む制御コマンドであって、
前記文字列情報に基づいて当該文字列に係るフォントデータを前記バッファーに展開させると共に、展開した当該文字列に係るフォントデータに重ねて、前記付加画像情報に基づいて、当該付加画像に係るフォントデータを、前記バッファーにおける前記所定の範囲に対応する領域に展開させ、前記バッファーに展開されたデータに基づいて記録させる制御コマンド、を生成し、前記記録装置に出力する記録制御部を備えることを特徴とする制御装置。
【請求項2】
所定の範囲に付加画像が付加された一行分の文字列を前記記録装置に記録させる場合、所定のアプリケーションを実行することによって、当該文字列を示す情報と共に、当該文字列において当該付加画像を付加すべき範囲を示す情報を前記記録制御部に出力するアプリケーション実行部をさらに備え、
前記記録制御部は、
前記アプリケーション実行部から入力された各情報に基づいて、
前記文字列情報を生成すると共に、
当該一行に配置される当該文字列と、当該文字列における当該付加画像を付加すべき文字の位置との関係で、当該一行において当該付加画像を付加すべき位置を特定して、前記付加画像情報を生成することを特徴とする請求項1に記載の制御装置。
【請求項3】
前記記録制御部は、
所定の範囲に付加画像が付加された一行分の文字列であって、所定の装飾が施された文字列を前記記録装置に記録させる場合、
当該一行における記録すべき当該文字列を示す前記文字列情報と、
当該一行における当該付加画像の配置状態を示す前記付加画像情報と、
当該所定の装飾を示す装飾情報と、を含む前記制御コマンドであって、
前記文字列情報及び前記装飾情報に基づいて、当該文字列に係るフォントデータを、当該所定の装飾に応じた画像処理を施させて前記バッファーに展開させると共に、
展開した当該文字列に係るフォントデータに重ねて、前記付加画像情報及び前記装飾情報に基づいて、当該付加画像に係るフォントデータを、当該所定の装飾に応じた画像処理を施させて、前記バッファーにおける前記所定の範囲に対応する領域に展開させる前記制御コマンドを生成し、前記記録装置に出力することを特徴とする請求項1又は2に記載の制御装置。
【請求項4】
フォントデータを記憶し、一行分の文字列に係るフォントデータをバッファーに展開し、前記バッファーに展開したフォントデータに基づいて、当該一行分の文字列を記録可能な記録装置に、接続可能な制御装置の制御方法であって、
所定の範囲に付加画像が付加された一行分の文字列を前記記録装置に記録させる場合、
当該一行に記録すべき当該文字列を示す文字列情報と、
当該一行における当該付加画像の配置状態を示す付加画像情報と、を含む制御コマンドであって、
前記文字列情報に基づいて当該文字列に係るフォントデータを前記バッファーに展開させると共に、展開した当該文字列に係るフォントデータに重ねて、前記付加画像情報に基づいて、当該付加画像に係るフォントデータを、前記バッファーにおける前記所定の範囲に対応する領域に展開させ、前記バッファーに展開されたデータに基づいて記録させる制御コマンド、を生成し、前記記録装置に出力することを特徴とする制御装置の制御方法。
【請求項5】
フォントデータを記憶し、一行分の文字列に係るフォントデータをバッファーに展開し、前記バッファーに展開したフォントデータに基づいて、当該一行分の文字列を記録可能な記録装置に、接続可能な制御装置を制御する制御部により実行されるプログラムであって、
前記制御部を、
所定の範囲に付加画像が付加された一行分の文字列を前記記録装置に記録させる場合、
当該一行に記録すべき当該文字列を示す文字列情報と、
当該一行における当該付加画像の配置状態を示す付加画像情報と、を含む制御コマンドであって、
前記文字列情報に基づいて当該文字列に係るフォントデータを前記バッファーに展開させると共に、展開した当該文字列に係るフォントデータに重ねて、前記付加画像情報に基づいて、当該付加画像に係るフォントデータを、前記バッファーにおける前記所定の範囲に対応する領域に展開させ、前記バッファーに展開されたデータに基づいて記録させる制御コマンド、を生成し、前記記録装置に出力する記録制御部として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−114292(P2013−114292A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−257171(P2011−257171)
【出願日】平成23年11月25日(2011.11.25)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】