(57)【要約】      （修正有）【課題】ユーザーがディスプレイ上で印刷範囲を指定しなくても、自動で見栄えの良い場所にシンボル画像（例えば、バーコード画像や２次元コード画像）を配置して印刷できるプリンター等を提供する。【解決手段】外部装置２０に接続可能なプリンター４０であって、第１解像度用のシンボル画像を受信する受信部５２と、受信部５２によって受信された印刷データに基づき、基本シンボル画像を生成する第１生成部５６と、基本シンボル画像を第２の整数倍拡大することで、第１生成部５６によって生成された基本シンボル画像を第１の整数倍拡大することで生成される第１解像度用の第１拡大シンボル画像より小サイズの、第２解像度用の第２拡大シンボル画像を生成する第２生成部５８と、第２生成部５８によって生成された第２拡大シンボル画像が、第１拡大シンボル画像の仮想輪郭内に印刷されるように印刷機構を制御する印刷制御部６４と、備えたことを特徴とする。【選択図】図２
2017148979.tif 000002
【特許請求の範囲】
【請求項１】
外部装置に接続可能なプリンターであって、
前記外部装置から、第１解像度用のシンボル画像を印刷するためのコマンドを含む印刷データを受信する受信部と、
前記第１解像度より高い第２解像度の印刷ヘッドを備えた印刷機構と、
前記受信部によって受信された印刷データに基づき、基本シンボル画像を生成する第１生成部と、
前記第１生成部によって生成された前記基本シンボル画像を第２の整数倍拡大することで、前記第１生成部によって生成された前記基本シンボル画像を第１の整数倍拡大することで生成される前記第１解像度用の第１拡大シンボル画像より小サイズの、前記第２解像度用の第２拡大シンボル画像を生成する第２生成部と、
前記第２生成部によって生成された前記第２拡大シンボル画像が、前記第１拡大シンボル画像の仮想輪郭内に印刷されるように前記印刷機構を制御する印刷制御部と、
を備えたプリンター。
【請求項２】
前記印刷制御部は、前記第２生成部によって生成された前記第２拡大シンボル画像が、前記第１拡大シンボル画像の仮想輪郭内に当該仮想輪郭に対してセンタリングされた状態で印刷されるように前記印刷機構を制御する請求項１に記載のプリンター。
【請求項３】
前記第２生成部によって生成された前記第２拡大シンボル画像は、横方向及び縦方向のうち少なくとも一方にセンタリングされる請求項１又は２に記載のプリンター。
【請求項４】
前記第２の整数倍は、前記第２拡大シンボル画像のサイズが前記第１拡大シンボル画像に最も近くなる整数倍である請求項１から３のいずれか１項に記載のプリンター。
【請求項５】
外部装置に接続可能なプリンターにおける印刷方法であって、
前記外部装置から、第１解像度用のシンボル画像を印刷するためのコマンドを含む印刷データを受信する受信工程と、
前記受信工程によって受信された印刷データに基づき、基本シンボル画像を生成する第１生成工程と、
前記第１生成工程によって生成された前記基本シンボル画像を第１の整数倍拡大することで、前記第１生成工程によって生成された前記基本シンボル画像を第２の整数倍拡大することで生成される前記第１解像度の第１拡大シンボル画像より小サイズで、かつ、第２解像度の第２拡大シンボル画像を生成する第２生成工程と、
前記第２生成工程によって生成された前記第２拡大シンボル画像が、前記第１拡大シンボル画像の仮想輪郭内に印刷されるように、前記第１解像度より高い第２解像度の印刷ヘッドを備えた印刷機構を制御する印刷制御工程と、
を備えた印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンター及び印刷方法に関し、特に、ユーザーがディスプレイ上で印刷範囲を指定しなくても、自動で見栄えの良い場所にシンボル画像（例えば、バーコード画像や２次元コード画像）を配置して印刷できるプリンター及び印刷方法に関する。
【背景技術】
【０００２】
従来、ホストコンピューターから低解像度用のバーコード画像を印刷するためのコマンドを受信し、当該受信されたコマンドに基づき高解像度用のバーコード画像を生成し、その生成した高解像度用のバーコード画像をユーザーによって指定された印刷範囲に配置して印刷することが可能なプリンターが存在する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のプリンターでは、印刷する前にユーザーがその高解像度用のバーコード画像をディスプレイに表示してディスプレイ上で印刷範囲を指定しなければならず、使い勝手がよくないという課題がある。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、ユーザーがディスプレイ上で印刷範囲を指定しなくても、自動で見栄えの良い場所にシンボル画像（例えば、バーコード画像や２次元コード画像）を配置して印刷できるプリンター及び印刷方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一つの側面は、外部装置に接続可能なプリンターであって、前記外部装置から、第１解像度用のシンボル画像を印刷するためのコマンドを含む印刷データを受信する受信部と、前記第１解像度より高い第２解像度の印刷ヘッドを備えた印刷機構と、前記受信部によって受信された印刷データに基づき、基本シンボル画像を生成する第１生成部と、前記第１生成部によって生成された前記基本シンボル画像を第２の整数倍拡大することで、前記第１生成部によって生成された前記基本シンボル画像を第１の整数倍拡大することで生成される前記第１解像度用の第１拡大シンボル画像より小サイズの、前記第２解像度用の第２拡大シンボル画像を生成する第２生成部と、前記第２生成部によって生成された前記第２拡大シンボル画像が、前記第１拡大シンボル画像の仮想輪郭内に印刷されるように前記印刷機構を制御する印刷制御部と、を備えたことを特徴とする。
【０００７】
この側面によれば、ユーザーがディスプレイ上で印刷範囲を指定しなくても、自動で見栄えの良い場所にシンボル画像（例えば、バーコード画像や２次元コード画像）を配置して印刷できるプリンターを提供できる。
【０００８】
これは、第２拡大シンボル画像が、第１拡大シンボル画像の仮想輪郭内に（例えば、当該仮想輪郭に対してセンタリングされた状態で）印刷されるように印刷機構を制御するようにしたことによるものである。
【０００９】
また、上記発明において、好ましい態様は、前記印刷制御部は、前記第２生成部によって生成された前記第２拡大シンボル画像が、前記第１拡大シンボル画像の仮想輪郭内に当該仮想輪郭に対してセンタリングされた状態で印刷されるように前記印刷機構を制御することを特徴とする。
【００１０】
この態様によれば、ユーザーがディスプレイ上で印刷範囲を指定しなくても、自動で見栄えの良い場所にシンボル画像（例えば、バーコード画像や２次元コード画像）を配置して印刷できるプリンターを提供できる。
【００１１】
これは、第２拡大シンボル画像が、前記第１拡大シンボル画像の仮想輪郭内に当該仮想輪郭に対してセンタリングされた状態で印刷されるように前記印刷機構を制御することによるものである。
【００１２】
また、上記発明において、好ましい態様は、前記第２生成部によって生成された前記第２拡大シンボル画像は、横方向及び縦方向のうち少なくとも一方にセンタリングされることを特徴とする。
【００１３】
この態様によれば、第２拡大シンボル画像を、第１拡大シンボル画像の仮想輪郭内に当該仮想輪郭に対して、横方向（用紙幅方向）及び縦方向（用紙送り方向）のうち少なくとも一方にセンタリングした状態で印刷できる。
【００１４】
また、上記発明において、好ましい態様は、前記第２の整数倍は、前記第２拡大シンボル画像のサイズが前記第１拡大シンボル画像に最も近くなる整数倍であることを特徴とする。
【００１５】
この態様によれば、第２拡大シンボル画像の読み取り精度が低下するのを抑制し、なおかつ、第２拡大シンボル画像の見た目のサイズを第１拡大シンボル画像に近づけることができる。
【００１６】
また、上記目的を達成するために、本発明の別の側面は、外部装置に接続可能なプリンターにおける印刷方法であって、前記外部装置から、第１解像度用のシンボル画像を印刷するためのコマンドを含む印刷データを受信する受信工程と、前記受信工程によって受信された印刷データに基づき、基本シンボル画像を生成する第１生成工程と、前記第１生成工程によって生成された前記基本シンボル画像を第１の整数倍拡大することで、前記第１生成工程によって生成された前記基本シンボル画像を第２の整数倍拡大することで生成される前記第１解像度の第１拡大シンボル画像より小サイズで、かつ、第２解像度の第２拡大シンボル画像を生成する第２生成工程と、前記第２生成工程によって生成された前記第２拡大シンボル画像が、前記第１拡大シンボル画像の仮想輪郭内に印刷されるように、前記第１解像度より高い第２解像度の印刷ヘッドを備えた印刷機構を制御する印刷制御工程と、を備えたことを特徴とする。
【００１７】
この側面によれば、ユーザーがディスプレイ上で印刷範囲を指定しなくても、自動で見栄えの良い場所にシンボル画像（例えば、バーコード画像や２次元コード画像）を配置して印刷できる印刷方法を提供できる。
【００１８】
これは、基本シンボル画像を第２の整数倍（例えば、１３倍）拡大することで、基本シンボル画像を第１の整数倍（例えば、４倍）拡大することで生成される第１解像度（例えば、１８０ｄｐｉ）用の第１拡大シンボル画像より小サイズの、第２解像度（例えば、６００ｄｐｉ）用の第２拡大シンボル画像を生成し、当該生成された第２拡大シンボル画像が、第１拡大シンボル画像の仮想輪郭内に印刷されるように印刷機構を制御するようにしたことによるものである。
【図面の簡単な説明】
【００１９】
【図１】本発明のプリンター及び印刷方法が適用されるＰＯＳシステム１０のシステム構成の一例を示す図である。
【図２】プリンター４０の機能構成の一例を示すブロック図である。
【図３】基本シンボル画像ＳＩ０の一例である。
【図４】第１拡大シンボル画像ＳＩ１（の仮想輪郭Ａ）と第２拡大シンボル画像ＳＩ２との関係を説明するための図である。
【図５】第２拡大シンボル画像ＳＩ２がセンタリングされた様子を表す図である。
【図６】本実施形態のプリンター４０の動作（印刷方法）の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について添付図面を参照しながら説明する。各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
【００２１】
まず、本発明のプリンター及び印刷方法の実施形態の概要について説明する。
【００２２】
図１は本発明のプリンター及び印刷方法が適用されるＰＯＳシステム１０のシステム構成の一例を示す図、図２はプリンター４０の機能構成の一例を示すブロック図である。図３は、基本シンボル画像ＳＩ０の一例である。図４は第１拡大シンボル画像ＳＩ１（の仮想輪郭Ａ）と第２拡大シンボル画像ＳＩ２との関係を説明するための図、図５は第２拡大シンボル画像ＳＩ２がセンタリングされた様子を表す図である。
【００２３】
本実施形態のプリンター４０は、図１、図２に示すように、ホストコンピューター２０（外部装置）に接続可能なプリンターであって、ホストコンピューター２０から、第１解像度用（例えば、１８０ｄｐｉ）のシンボル画像（例えば、バーコード画像や２次元コード画像）を印刷するためのコマンドを含む印刷データを受信する受信部５２と、第１解像度より高い第２解像度（例えば、６００ｄｐｉ）の印刷ヘッドを備えた印刷機構５０と、受信部５２によって受信された印刷データに基づき、基本シンボル画像ＳＩ０（図３参照）を生成する第１生成部５６と、第１生成部５６によって生成された基本シンボル画像ＳＩ０を第２の整数Ｎ２（例えば、Ｎ２＝１３）倍拡大することで、第１生成部５６によって生成された基本シンボル画像ＳＩ０を第１の整数Ｎ１（例えば、Ｎ１＝４）倍拡大することで生成される第１解像度用の第１拡大シンボル画像ＳＩ１より小サイズの、第２解像度用の第２拡大シンボル画像ＳＩ２（図４参照）を生成する第２生成部５８と、第２生成部５８によって生成された第２拡大シンボル画像ＳＩ２が、第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に印刷される（図５参照）ように印刷機構５０を制御する印刷制御部６４と、を備える。
【００２４】
本実施形態のプリンター４０によれば、ユーザーがディスプレイ上で印刷範囲を指定しなくても、自動で見栄えの良い場所にシンボル画像（例えば、バーコード画像や２次元コード画像）を配置して印刷できるプリンターを提供できる。
【００２５】
これは、第２拡大シンボル画像ＳＩ２が、第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対してセンタリングされた状態で（つまり、仮想輪郭Ａ内の中央位置に配置された状態で）印刷される（図５参照）ように印刷機構５０を制御するようにしたことによるものである。
【００２６】
以下、本発明のプリンター及び印刷方法が適用されるＰＯＳシステム１０について、図面を参照しながら詳細に説明する。
【００２７】
図１に示すように、ＰＯＳシステム１０は、ホストコンピューター２０、及び、プリンター４０を備える。プリンター４０は、第１解像度の印刷ヘッドを備えた旧プリンター（図示せず）から置き換えられたプリンターで、第１解像度より高い第２解像度の印刷ヘッドを備える。以下、第１解像度が１８０ｄｐｉ、第２解像度が６００ｄｐｉである場合を例に説明する。
【００２８】
まず、ホストコンピューター２０について説明する。
【００２９】
ホストコンピューター２０（外部装置）は、図示しないが、ハード構成として、ＣＰＵ、これにバスを介して接続された、ＲＡＭ、ＲＯＭ、ＨＤＤ、各種Ｉ／Ｆ（インターフェース。以下同様）等を備える。
【００３０】
ホストコンピューター２０には、Ｉ／Ｆ（図示せず）を介してプリンター４０が接続される。また、ホストコンピューター２０には、図示しないが、Ｉ／Ｆを介して、バーコードを読み取るバーコードリーダー、キーボード等の入力装置、ディスプレイ等の表示装置が接続される。
【００３１】
ホストコンピューター２０は、機能構成として、バーコードリーダーやキーボードからの入力に基づき、決済処理を行う機能、印刷データを生成する機能、プリンター４０と通信ケーブルＣを介して通信する機能、印刷データを通信ケーブルＣを介してプリンター４０へ送信する機能等を備える。これらの機能は、主に、ホストコンピューター２０（ＣＰＵ）が、ＲＯＭ又はＨＤＤからＲＡＭに読み込まれた所定プログラム（オペレーティングシステム、ＰＯＳアプリケーション、プリンタードライバー等）を実行することによって実現される公知の機能である。
【００３２】
本実施形態の印刷データは、レシートＲ（図５参照）を発行（印刷）するためのデータで、第１解像度（１８０ｄｐｉ）用のシンボル画像を印刷するためのコマンドを含む。シンボル画像は、例えば、バーコード画像や２次元コード画像である。なお、印刷データは、決済情報（商品名、価格、合計金額等）を印刷するためのコマンドも含む。
【００３３】
第１解像度用のシンボル画像を印刷するためのコマンドは、例えば、基本シンボル画像ＳＩ０（図３参照）の基となるデータ、シンボル種類、第１の整数Ｎ１、基点Ｏ１を含む。これらは、例えば、ホストコンピューター２０に接続された入力装置からユーザーによって入力される。
【００３４】
第１解像度用のシンボル画像（以下、第１拡大シンボル画像ＳＩ１と称する。図４参照）は、基本シンボル画像ＳＩ０を第１の整数Ｎ１倍拡大することで生成され、基点Ｏ１を基準に印刷される。第１の整数Ｎ１及び基点Ｏ１は、置き換え前の旧プリンター（第１解像度（１８０ｄｐｉ）の印刷ヘッド）で印刷した場合に、第１拡大シンボル画像ＳＩ１が所望の位置に所望のサイズで印刷されるようにユーザーによって指定される。
【００３５】
基本シンボル画像ＳＩ０の基となるデータは、例えば、文字列である。
【００３６】
シンボル種類は、例えば、バーコード種類、２次元コード種類である。
【００３７】
第１の整数Ｎ１は、基本シンボル画像ＳＩ０の拡大率で、整数で表される。
【００３８】
基点Ｏ１は、第１拡大シンボル画像ＳＩ１を置き換え前の旧プリンター（第１解像度の印刷ヘッド）で印刷する場合の基準となる位置で、第１解像度の印刷ヘッドによって印刷される場合のｘ方向のドット位置Ｏ１ｘ、及びｙ方向のドット位置Ｏ１ｙで表される（図４参照）。なお、用紙幅方向がｘ方向（横方向）、用紙送り方向がｙ方向（縦方向）である。
【００３９】
次に、プリンター４０について説明する。
【００４０】
プリンター４０は、典型的には、レシートプリンター（例えば、ドットインパクト、サーマル又はインクジェット方式）で、図１に示すように、ハード構成として、ＣＰＵ４２、これにバスを介して接続された、ＲＡＭ４４、ＲＯＭ４６、Ｉ／Ｆ４８、印刷機構５０等を備える。
【００４１】
ＲＡＭ４４は、受信バッファー４４ａ、プリントバッファー４４ｂを含む。
【００４２】
ＲＯＭ４６は、例えば、フラッシュＲＯＭ等の不揮発性メモリーである。ＲＯＭ４６には、ファームウエア（制御プログラム）等の各種プログラム等が記憶される。
【００４３】
Ｉ／Ｆ４８は、プリンター４０をホストコンピューター２０に接続するために設けられたインターフェースである。プリンター４０（Ｉ／Ｆ４８）とホストコンピューター２０とは、通信ケーブルＣによって接続される。
【００４４】
印刷機構５０は、図示しないが、第１解像度（１８０ｄｐｉ）より高い第２解像度（６００ｄｐｉ）の印刷ヘッド、用紙送り機構、用紙切断機構等を備える。
【００４５】
図２に示すように、プリンター４０は、機能構成として、受信部５２、解析部５４、第１生成部５６、第２生成部５８、拡大率算出部６０、基点算出部６２、印刷制御部６４等を備える。
【００４６】
上記各機能は、主に、プリンター４０（ＣＰＵ４２）が、ＲＯＭ４６からＲＡＭ４４に読み込まれたファームウェア等の所定プログラムを実行することによって実現される。
【００４７】
受信部５２は、ホストコンピューター２０からＩ／Ｆ４８を介して印刷データを受信し、当該受信した印刷データを受信バッファー４４ａに記憶する。
【００４８】
解析部５４は、受信バッファー４４ａに記憶された印刷データを解析する。
【００４９】
第１生成部５６は、受信部５２によって受信された印刷データ（基本シンボル画像ＳＩ０の基となるデータ等）に基づきエンコードして、図３に示すように、基本シンボル画像ＳＩ０（例えば、１００ｄｏｔ×５０ｄｏｔ）を生成する。
【００５０】
第２生成部５８は、第１生成部５６によって生成された基本シンボル画像ＳＩ０（図３参照）を第２の整数Ｎ２（後述の拡大率算出部６０によって算出される第２の整数Ｎ２。例えば、Ｎ２＝１３）倍拡大することで、図４に示すように、第１生成部５６によって生成された基本シンボル画像ＳＩ０を第１の整数Ｎ１（例えば、Ｎ１＝４）倍拡大することで生成される第１解像度（１８０ｄｐｉ）用の第１拡大シンボル画像ＳＩ１（第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像ＳＩ１）より小サイズの、第２解像度（６００ｄｐｉ）用の第２拡大シンボル画像ＳＩ２（第２解像度の印刷ヘッドによって印刷される第２拡大シンボル画像ＳＩ２）を生成する。なお、図４、図５中、第１拡大シンボル画像ＳＩ１は、その輪郭のみ示されている。
【００５１】
拡大率算出部６０は、第２拡大シンボル画像ＳＩ２のサイズが第１拡大シンボル画像ＳＩ１（第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像ＳＩ１）に最も近くなる第２の整数Ｎ２を算出する。その理由は次のとおりである。
【００５２】
すなわち、基本シンボル画像ＳＩ０（例えば、１００ｄｏｔ×５０ｄｏｔ）を第１の整数Ｎ１（例えば、Ｎ１＝４）倍拡大して置き換え前の旧プリンター（第１解像度の印刷ヘッド）で印刷した第１拡大シンボル画像ＳＩ１の大きさは、基本シンボル画像ＳＩ０（例えば、１００ｄｏｔ×５０ｄｏｔ）を１３．３３３…倍拡大して置き換え後のプリンター４０（第２解像度の印刷ヘッド）で印刷した拡大シンボル画像の大きさに等しい。これは、第１解像度（１８０ｄｐｉ）の印刷ヘッドと第２解像度（６００ｄｐｉ）の印刷ヘッドとでは１ドットの大きさが異なるためである。
【００５３】
しかしながら、基本シンボル画像ＳＩ０を小数点以下を含む数値（上記例では１３．３３３…）倍拡大すると、各バーの太さ（バーコード画像の場合）の比が拡大前と比べて場所ごとに変わってしまい、当該拡大シンボル画像の読み取り精度が低下してしまう。
【００５４】
そこで、読み取り精度が低下するのを抑制し、なおかつ、見た目のサイズを第１拡大シンボル画像ＳＩ１（第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像ＳＩ１）に近づける観点から、拡大率算出部６０は、小数点以下を含む数値（上記例では１３．３３３…）ではなく、小数点以下を切り捨て、第２拡大シンボル画像ＳＩ２のサイズが第１拡大シンボル画像ＳＩ１（第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像）に最も近くなる第２の整数Ｎ２（上記例では、Ｎ２＝１３）を算出する。以上のように、第２の整数Ｎ倍は、第２拡大シンボル画像ＳＩ２のサイズが第１拡大シンボル画像ＳＩ１（第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像ＳＩ１）に最も近くなる整数倍である。
【００５５】
基点算出部６２は、図５に示すように、第２拡大シンボル画像ＳＩ２が、第１解像度の印刷ヘッドによって基点Ｏ１を基準に印刷される第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対してセンタリングされた状態で印刷されるような基点Ｏ２を算出する。その理由は次のとおりである。
【００５６】
すなわち、第２拡大シンボル画像ＳＩ２は、基本シンボル画像ＳＩ０を小数点以下を含む数値（上記例では１３．３３３…）倍ではなく、第２の整数Ｎ２（例えば、Ｎ２＝１３）倍拡大することで生成され、かつ、第２解像度の印刷ヘッドによって印刷されるものであるため、第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像ＳＩ１（の仮想輪郭Ａ）より小サイズとなる（図４参照）。
【００５７】
そのため、第２拡大シンボル画像ＳＩ２を後述の基点Ｏ１´を基準に印刷すると（プリントバッファー４４ｂに展開すると）、第１解像度の印刷ヘッドによって基点Ｏ１を基準に印刷される（プリントバッファーに展開される）第１拡大シンボル画像ＳＩ１と比べ、偏って（例えば、図４中、左側に偏って）印刷されてしまい（プリントバッファー４４ｂに展開されてしまい）、見栄えが悪くなってしまう。
【００５８】
そこで、見栄えを改善する観点から、基点算出部６２は、図５に示すように、第２拡大シンボル画像ＳＩ２が、第１解像度の印刷ヘッドによって基点Ｏ１を基準に印刷される第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対してセンタリングされた状態で（つまり、仮想輪郭Ａ内の中央位置に配置された状態で）印刷されるような基点Ｏ２（Ｏ２ｘ、Ｏ２ｙ）を算出する。基点Ｏ２は、第２拡大シンボル画像ＳＩ２を置き換え後のプリンター４０（第２解像度の印刷ヘッド）で印刷する場合の基準となる位置で、第２解像度の印刷ヘッドによって印刷される場合のｘ方向のドット位置Ｏ２ｘ、及びｙ方向のドット位置Ｏ２ｙで表される（図５参照）。
【００５９】
基点Ｏ２（Ｏ２ｘ、Ｏ２ｙ）は、例えば、次の式１、式２で算出できる。
【００６０】
【数１】
2017148979.tif 000003
【００６１】
【数２】
2017148979.tif 000004
但し、ｘ１、ｙ１（図４参照）はそれぞれ、置き換え前の旧プリンター（第１解像度の印刷ヘッド）によって印刷される第１拡大シンボル画像ＳＩ１のｘ方向寸法（ドット数）、ｙ方向寸法（ドット数）である。一方、ｘ２、ｙ２はそれぞれ、置き換え後のプリンター４０（第２解像度の印刷ヘッド）によって印刷される第２拡大シンボル画像ＳＩ２のｘ方向寸法（ドット数）、ｙ方向寸法（ドット数）である。
【００６２】
基点Ｏ１´（Ｏ１´ｘ、Ｏ１´ｙ）は、置き換え後のプリンター４０（第２解像度の印刷ヘッド）におけるｘ方向のドット位置、及びｙ方向のドット位置で、置き換え前の旧プリンター（第１解像度の印刷ヘッド）における基点Ｏ１（Ｏ１ｘ、Ｏ１ｙ）と見た目が同じ位置となるように、基点Ｏ１（Ｏ１ｘ、Ｏ１ｙ）を変換することで算出される。
【００６３】
印刷制御部６４は、第２生成部５８によって生成された第２拡大シンボル画像ＳＩ２を、基点算出部６２によって算出された基点Ｏ２（Ｏ２ｘ、Ｏ２ｙ）を基準にＲＡＭ４４（プリントバッファー４４ｂ）に展開（描画）する。これにより、第２生成部５８によって生成された第２拡大シンボル画像ＳＩ２は、第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対してセンタリングされた状態でＲＡＭ４４（プリントバッファー４４ｂ）に展開（描画）される。
【００６４】
また、印刷制御部６４は、プリントバッファー４４ｂに展開された第２拡大シンボル画像ＳＩ２に基づき、第２生成部５８によって生成された第２拡大シンボル画像ＳＩ２が、第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対して印刷されるように印刷機構５０を制御する。また、印刷制御部６４は、受信部５２によって受信された印刷データに基づき印刷機構５０を制御して、決済情報も印刷する。
【００６５】
次に、本実施形態のプリンター４０の動作（印刷方法）の一例について図６を参照しながら説明する。
【００６６】
図６は、本実施形態のプリンター４０の動作（印刷方法）の一例を説明するためのフローチャートである。
【００６７】
以下の処理は、主に、プリンター４０（ＣＰＵ４２）が、ＲＯＭ４６からＲＡＭ４４に読み込まれたファームウェア等の所定プログラムを実行することによって実現される。
【００６８】
以下、第１解像度＝１８０ｄｐｉ、第２解像度＝６００ｄｐｉ、第１の整数Ｎ１＝４、基本シンボル画像ＳＩ０が１００ｄｏｔ×５０ｄｏｔの場合を例に説明する。
【００６９】
プリンター４０（受信部５２）は、ホストコンピューター２０から送信される印刷データをＩ／Ｆ４８を介して受信し、当該受信した印刷データを受信バッファー４４ａに記憶する。これは、本発明の受信工程に相当する。受信バッファー４４ａに記憶された印刷データは、解析部５４によって解析される。
【００７０】
プリンター４０（拡大率算出部６０）は、受信部５２によって印刷データが受信された場合（ステップＳ１０：Ｙｅｓ）、第２拡大シンボル画像ＳＩ２のサイズが第１拡大シンボル画像ＳＩ１（第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像ＳＩ１）に最も近くなる第２の整数Ｎ２を算出する（ステップＳ１２）。ここでは、第１解像度＝１８０ｄｐｉ、第２解像度＝６００ｄｐｉ、第１の整数Ｎ１＝４、基本シンボル画像ＳＩ０が１００ｄｏｔ×５０ｄｏｔであるため、拡大率算出部６０は、第２の整数Ｎ２＝１３を算出する。
【００７１】
次に、プリンター４０（基点算出部６２）は、図５に示すように、第２拡大シンボル画像ＳＩ２が、第１解像度の印刷ヘッドによって基点Ｏ１を基準に印刷される第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対してセンタリングされた状態で印刷されるような基点Ｏ２（Ｏ２ｘ、Ｏ２ｙ）を算出する（ステップＳ１４）。具体的には、基点算出部６２は、上記式１、式２に基づき、基点Ｏ２（Ｏ２ｘ、Ｏ２ｙ）を算出する。
【００７２】
次に、プリンター４０（第１生成部５６）は、受信部５２によって受信された印刷データ（基本シンボル画像ＳＩ０の基となるデータ等）に基づきエンコードして、図３に示すように、基本シンボル画像ＳＩ０（ここでは、１００ｄｏｔ×５０ｄｏｔ）を生成する（ステップＳ１６）。これは、本発明の第１生成工程に相当する。
【００７３】
次に、プリンター４０（第２生成部５８）は、第１生成部５６によって生成された基本シンボル画像ＳＩ０を第２の整数Ｎ２（拡大率算出部６０によって算出された第２の整数Ｎ２。ここでは、Ｎ２＝１３）倍拡大することで、図４に示すように、第１生成部５６によって生成された基本シンボル画像ＳＩ０を第１の整数Ｎ１（ここでは、Ｎ１＝４）倍拡大することで生成される第１解像度（１８０ｄｐｉ）用の第１拡大シンボル画像ＳＩ１（第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像ＳＩ１）より小サイズの、第２解像度（６００ｄｐｉ）用の第２拡大シンボル画像ＳＩ２を生成する（ステップＳ１８）。これは、本発明の第２生成工程に相当する。
【００７４】
次に、プリンター４０（印刷制御部６４）は、第２生成部５８によって生成された第２拡大シンボル画像ＳＩ２を、基点算出部６２によって算出された基点Ｏ２（Ｏ２ｘ、Ｏ２ｙ）を基準にＲＡＭ４４（プリントバッファー４４ｂ）に展開（描画）する。これにより、第２生成部５８によって生成された第２拡大シンボル画像ＳＩ２は、第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対してセンタリングされた状態でＲＡＭ４４（プリントバッファー４４ｂ）に展開（描画）される。
【００７５】
そして、印刷制御部６４は、プリントバッファー４４ｂに展開された第２拡大シンボル画像ＳＩ２に基づき、第２生成部５８によって生成された第２拡大シンボル画像ＳＩ２が、図５に示すように、第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対してセンタリングされた状態で（つまり、仮想輪郭Ａ内の中央位置に配置された状態で）レシートＲに印刷されるように印刷機構５０を制御する（ステップＳ２０）。これは、本発明の印刷制御工程に相当する。これにより、第２拡大シンボル画像ＳＩ２の読み取り精度が低下するのを抑制し、なおかつ、第２拡大シンボル画像ＳＩ２の見た目のサイズを第１拡大シンボル画像ＳＩ１（第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像ＳＩ１）に近づけることができる。なお、印刷制御部６４は、図示しないが、受信部５２によって受信された印刷データに基づき印刷機構５０を制御して、決済情報もレシートＲに印刷する。
【００７６】
以上説明したとおり、本実施形態によれば、ユーザーがディスプレイ上で印刷範囲を指定しなくても、自動で見栄えの良い場所にシンボル画像（例えば、バーコード画像や２次元コード画像）を配置して印刷できるプリンター４０を提供できる。
【００７７】
これは、第２拡大シンボル画像ＳＩ２が、第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対してセンタリングされた状態で（つまり、仮想輪郭Ａ内の中央位置に配置された状態で）印刷されるように印刷機構５０を制御するようにしたことによるものである。
【００７８】
また、本実施形態によれば、第２拡大シンボル画像ＳＩ２（第２解像度の印刷ヘッドによって印刷される第２拡大シンボル画像ＳＩ２）のサイズが第１拡大シンボル画像ＳＩ１（第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像ＳＩ１）より小さくなることに起因する、第２拡大シンボル画像ＳＩ２の印刷位置（プリントバッファー４４ｂへの展開位置）の偏り（図４中左方向への偏り）を自動的に補正して、当該第２拡大シンボル画像ＳＩ２を、第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対してセンタリングされた状態で（つまり、仮想輪郭Ａ内の中央位置に配置された状態で）レシートＲに印刷（プリントバッファー４４ｂへ展開）できる（図５参照）。
【００７９】
また、本実施形態によれば、第２拡大シンボル画像ＳＩ２の読み取り精度が低下するのを抑制し、なおかつ、第２拡大シンボル画像ＳＩ２の見た目のサイズを第１拡大シンボル画像ＳＩ１（第１解像度の印刷ヘッドによって印刷される第１拡大シンボル画像ＳＩ１）に近づけることができる。
【００８０】
なお、本実施形態では、第２拡大シンボル画像ＳＩ２が、第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対してセンタリングされた状態で印刷されるように説明したが、当該センタリングは、完全なセンタリングでなくてもよい。例えば、本来のセンタリング（つまり、仮想輪郭Ａ内の中央位置）からｘ方向及びｙ方向のうち少なくとも一方の方向に関し、数ドット（例えば、１ドット）偏っていてもよい。
【００８１】
また、本実施形態では、第２拡大シンボル画像ＳＩ２を、ｘ方向及びｙ方向に関しセンタリングするように説明したが、これに限らない。例えば、ｘ方向に関してのみセンタリングしてもよいし、ｙ方向に関してのみセンタリングしてもよい。このように、第２拡大シンボル画像ＳＩ２は、第１拡大シンボル画像ＳＩ１の仮想輪郭Ａ内に当該仮想輪郭Ａに対して、ｘ方向（横方向）及びｙ方向（縦方向）のうち少なくとも一方にセンタリングした状態で印刷することもできる。
【００８２】
また、本実施形態では、第２生成部５８は、基本シンボル画像ＳＩ０をｘ方向及びｙ方向に関し第２の整数Ｎ２（例えば、Ｎ２＝１３）倍拡大することで、第２解像度（６００ｄｐｉ）用の第２拡大シンボル画像ＳＩ２を生成するように説明したが、これに限らない。
【００８３】
例えば、印刷データに含まれるシンボル種類をプリンター４０において判別し、シンボル種別に応じて基本シンボル画像ＳＩ０を拡大する方向を異ならせてもよい。
【００８４】
例えば、シンボル種類が２次元コードである場合、基本シンボル画像ＳＩ０をｘ方向及びｙ方向に関して第２の整数Ｎ２（例えば、Ｎ２＝１３）倍拡大することで、第２解像度（６００ｄｐｉ）用の第２拡大シンボル画像ＳＩ２を生成し、一方、シンボル種類がバーコードである場合、基本シンボル画像ＳＩ０をｘ方向に関してのみ第２の整数Ｎ２（例えば、Ｎ２＝１３）倍拡大することで、第２解像度（６００ｄｐｉ）用の第２拡大シンボル画像ＳＩ２を生成してもよい。
【００８５】
このようにすれば、シンボル種類がバーコードである場合、基本シンボル画像ＳＩ０をｙ方向に関して拡大しなくても読み取り精度にほとんど影響しないため、基本シンボル画像ＳＩ０をｘ方向に関してのみ拡大すればよく、そのため、第２拡大シンボル画像ＳＩ２の印刷領域（Ｙ方向に関する印刷領域）を低減できる（つまり、用紙を節約できる）。
【００８６】
また、シンボル種類が２次元コードである場合、基本シンボル画像ＳＩ０がｘ方向及びｙ方向に関して拡大されるため、一方向に関してのみ拡大する場合と比べ、読み取り精度が低下するのを抑制できる。
【００８７】
なお、本実施形態では、プリンター４０としてレシートプリンターを例示したが、これに限らず、レシートプリンター以外のプリンター（例えば、ラベルプリンター）にも、本発明を適用可能である。
【００８８】
また、上記実施形態では、第１解像度が１８０ｄｐｉ、第２解像度が６００ｄｐｉである場合を例に説明したが、これに限らず、第１解像度、第２解像度は、他の解像度であってもよい。
【００８９】
また、上記実施形態では、基本シンボル画像ＳＩ０が１００ｄｏｔ×５０ｄｏｔである場合を例に説明したが、これに限らず、基本シンボル画像ＳＩ０は、他のサイズであってもよい。
【００９０】
また、上記実施形態では、第１の整数Ｎ１＝４、第２の整数Ｎ２＝１３の場合を例に説明したが、これに限らず、第１の整数Ｎ１、第２の整数Ｎ２は、他の整数であってもよい。
【００９１】
また、ステップＳ１２、Ｓ１４、Ｓ１６は、この順に実行するように説明したが、これに限らず、例えば、Ｓ１４、Ｓ１２、Ｓ１６のように適宜の順に実行してもよい。
【００９２】
また、ステップＳ１４は、ステップＳ１８の前に実行するように説明したが、これに限らず、ステップＳ１８の後に実行してもよい。
【００９３】
上記実施形態はあらゆる点で単なる例示にすぎない。上記実施形態の記載によって本発明は限定的に解釈されるものではない。本発明はその精神または主要な特徴から逸脱することなく他の様々な形で実施することができる。
【符号の説明】
【００９４】
１０…ＰＯＳシステム、２０…ホストコンピューター、４０…プリンター、４２…ＣＰＵ、４４…ＲＡＭ、４４ａ…受信バッファー、４４ｂ…プリントバッファー、４６…ＲＯＭ、４８…Ｉ／Ｆ、５０…印刷機構、５２…受信部、５４…解析部、５６…第１生成部、５８…第２生成部、６０…拡大率算出部、６２…基点算出部、６４…印刷制御部、Ａ…仮想輪郭、Ｃ…通信ケーブル、Ｎ１…第１の整数、Ｎ２…第２の整数、Ｏ１、Ｏ１´Ｏ２…基点、Ｏ１ｘ、Ｏ１ｙ、Ｏ２ｘ、Ｏ２ｙ…ドット位置、Ｒ…レシート、ＳＩ０…基本シンボル画像、ＳＩ１…第１拡大シンボル画像、ＳＩ２…第２拡大シンボル画像。
【図１】
2017148979.tif 000005
【図２】
2017148979.tif 000006
【図３】
2017148979.tif 000007
【図４】
2017148979.tif 000008
【図５】
2017148979.tif 000009
【図６】
2017148979.tif 000010