しかしながら、バーコードに飾りを付ける場合には、バーコードリーダによる読み取りを妨げることのないようにしなければならないという制約がある。また、飾りを付けるのには、芸術的なセンスや絵を描く技術が必要であり、誰にでも簡単にできるわけではないという問題点がある。
本発明は、上述の問題点を解決するためになされたものであり、簡単にバーコードに飾りを付けられるバーコード修飾装置及びバーコード修飾プログラムを提供することを目的とする。
上記課題を解決するため、請求項1に係る発明のバーコード修飾装置では、バーコード画像を生成するバーコード画像生成手段と、バーコードを装飾する文字又は画像である修飾画像を指定する修飾画像指定手段と、前記バーコード画像生成手段により生成された前記バーコード画像の上部、下部、左部及び右部の少なくとも1つに前記修飾画像を配置する配置手段と、前記配置手段により配置された位置に前記修飾画像が配置された前記バーコード画像を出力する出力手段とを備えている。
また、請求項2に係る発明のバーコード修飾装置では、請求項1に記載の発明の構成に加えて、複数の文字又は画像を既存画像として予め記憶した既存画像記憶手段を備え、前記修飾画像指定手段は、前記既存画像記憶手段に記憶されている前記既存画像を指定することにより前記修飾画像を指定することを特徴とする。
また、請求項3に係る発明のバーコード修飾装置では、請求項1に記載の発明の構成に加えて、複数の文字又は画像のグループである修飾グループを少なくとも1つ記憶した修飾グループ記憶手段を備え、前記修飾画像指定手段は、前記修飾グループ記憶手段に記憶されている前記修飾グループを選択することで修飾画像を指定することを特徴とする。
また、請求項4に係る発明のバーコード修飾装置では、請求項1乃至3のいずれかに記載の発明の構成に加えて、前記修飾画像指定手段により指定された前記修飾画像を前記バーコード画像の上部、下部、左部及び右部のいずれの位置に配置するかを指定する修飾位置指定手段を備え、前記配置手段は、前記修飾位置指定手段により指定された位置に前記修飾画像を配置することを特徴とする。
また、請求項5に係る発明のバーコード修飾装置では、請求項4に記載の発明の構成に加えて、前記修飾位置指定手段により、前記修飾画像を前記バーコード画像の上部又は下部に配置すると指定された場合に、前記バーコード画像の上辺又は下辺に対して前記修飾画像を左寄せ、右寄せ及び中央寄せのいずれの位置に配置するかを指定する左右配置指定手段を備え、前記配置手段は、前記バーコード画像の上辺又は下辺に対して、前記左右配置指定手段により指定された位置に前記修飾画像を配置することを特徴とする。
また、請求項6に係る発明のバーコード修飾装置では、請求項4又は5に記載の発明の構成に加えて、前記修飾位置指定手段により、前記修飾画像を前記バーコード画像の左部又は右部に配置すると指定された場合に、前記バーコード画像の左辺又は右辺に対して前記修飾画像を上寄せ、下寄せ及び中央寄せのいずれの位置に配置するかを指定する上下配置指定手段を備え、前記配置手段は、前記バーコード画像の左辺又は右辺に対して、前記上下配置指定手段により指定された位置に前記修飾画像を配置することを特徴とする。
また、請求項7に係る発明のバーコード修飾装置では、請求項1乃至6のいずれかに記載の発明の構成に加えて、前記修飾画像の高さを指定する高さ指定手段と、前記修飾画像を前記高さ指定手段により指定された高さとなるように拡大又は縮小する拡大縮小手段とを備え、前記配置手段は、前記拡大縮小手段により拡大又は縮小された前記修飾画像を配置することを特徴とする。
また、請求項8に係る発明のバーコード修飾装置では、請求項3に記載の発明の構成に加えて、前記修飾グループを構成する文字又は画像には順序が割り当てられており、前記配置手段は、割り当てられた順序にしたがって前記修飾グループを構成する前記修飾画像を配置することを特徴とする。
また、請求項9に係る発明のバーコード修飾装置では、請求項3に記載の発明の構成に加えて、前記修飾グループを構成する文字又は画像には順序が割り当てられており、最後に配置された文字又は画像の順序である最後順序、若しくは、最後に配置された文字又は画像の次の文字又は画像の順序である次順序を記憶する最終順序番号記憶手段を備え、前記配置手段は、前記最終順序番号記憶手段に記憶されている前記最後順序の次の順序の文字又は画像、若しくは、前記次順序の文字又は画像から配置することを特徴とする。
また、請求項10に係る発明のバーコード修飾装置では、請求項3に記載の発明の構成に加えて、前記配置手段は、前記修飾グループを構成する前記修飾画像をランダムに配置することを特徴とする。
また、請求項11に係る発明のバーコード修飾装置では、請求項1乃至10のいずれかに記載の発明の構成に加えて、前記バーコードは、第一の色の細長い長方形のバー及び第二の色の細長い長方形のバーが、長手方向を上下方向として平行となるように交互に並べられたバーコードであり、前記配置手段は、前記バーコード画像の上部又は下部に前記修飾画像を配置する際に、前記修飾画像の左端又は右端を前記バーの短手方向の端部に揃えて前記修飾画像を配置することを特徴とする。
また、請求項12に係る発明のバーコード修飾装置では、請求項3に記載の発明の構成に加えて、フォントの配置間隔を記憶する配置間隔記憶手段を備え、前記配置手段は、前記配置間隔記憶手段に記憶されている配置間隔にしたがって前記修飾画像を配置することを特徴とする。
また、請求項13に係る発明のバーコード修飾装置では、請求項1乃至11のいずれかに記載の発明の構成に加えて、先に配置された前記修飾画像からの配置間隔を前記修飾画像ごとに記憶する修飾画像固有配置間隔記憶手段を備え、前記配置手段は、前記修飾画像固有配置間隔記憶手段に記憶されている配置間隔にしたがって前記修飾画像を配置することを特徴とする。
また、請求項14に係る発明のバーコード修飾装置では、請求項1乃至13のいずれかに記載の発明の構成に加えて、前記配置手段は、前記バーコード画像の上部を修飾する際には上辺を、下部を修飾する際には下辺を、左部を修飾する際には左辺を、右部を修飾する際には右辺を基準辺とし、当該基準辺を基準として前記修飾画像を配置することを特徴とする。
また、請求項15に係る発明のバーコード修飾装置では、請求項14に記載の発明の構成に加えて、前記配置手段は、前記配置手段により配置された前記修飾画像の横幅と前記修飾画像間の距離との和である修飾幅を算出する修飾幅算出手段と、前記修飾画像を配置した場合に、前記修飾幅算出手段により算出された修飾幅が、前記基準辺の幅である基準辺幅よりも長くなる場合には、前記修飾幅が前記基準辺幅以下となるように最後に配置される前記修飾画像をカットする画像カット手段とを備えている。
また、請求項16に係る発明のバーコード修飾装置では、請求項14に記載の発明の構成に加えて、前記配置手段により配置された前記修飾画像の横幅と前記修飾画像間の距離との和である修飾幅を算出する修飾幅算出手段を備え、前記配置手段は、前記修飾幅算出手段により算出された前記修飾幅が前記基準辺の幅よりも長くなる場合には、最後の前記修飾画像を配置しないことを特徴とする。
また、請求項17に係る発明のバーコード修飾プログラムでは、請求項1乃至16のいずれかに記載のバーコード修飾装置としてコンピュータを機能させることを特徴とする。
請求項1に係る発明のバーコード修飾装置では、バーコード画像生成手段により生成されたバーコード画像の上部、下部、左部及び右部の少なくとも1つに、修飾画像指定手段により指定されたバーコードを装飾する文字又は画像である修飾画像を配置することができる。そして、修飾画像が配置されたバーコード画像を出力することができる。よって、ユーザは、バーコードを修飾する文字又は画像を修飾画像として指定し、バーコードのどの位置に配置するかを指定するだけで、バーコードを指定された修飾画像で修飾することができる。よって、ユーザは、絵心がなくとも簡単にバーコードを修飾することができる。また、バーコードを修飾する際には、バーコードを修飾してもバーコードがリーダで読み取れるように、バーコードの規格を守る必要がある。しかしながら、本発明のバーコード修飾装置でバーコードを修飾すれば、バーコードの規格が守られているかを、修飾する際に考慮する必要がない。よって、気軽に、簡単にバーコードを修飾できる。
また、請求項2に係る発明のバーコード修飾装置では、請求項1に記載の発明の効果に加えて、修飾画像指定手段により、既存画像記憶手段に記憶されている既存画像を指定することにより修飾画像を指定することができる。よって、予め記憶されている既存画像を修飾画像として指定できるので、ユーザはわざわざ修飾するための文字や画像を準備する必要がない。よって、簡単にバーコードを修飾できる。
また、請求項3に係る発明のバーコード修飾装置では、請求項1に記載の発明の効果に加えて、修飾グループ記憶手段に複数の文字又は画像のグループである修飾グループを少なくとも1つ記憶しており、修飾画像指定手段は、修飾グループ記憶手段に記憶されている修飾グループを選択することで修飾画像を指定することができる。よって、予め複数の文字又は画像が修飾グループとして記憶されており、その修飾グループを選択することにより修飾画像を指定することができるので、ユーザは簡単に複数の文字又は画像でバーコードを修飾できる。文字又は画像が修飾グループとされていることにより、画像の組み合わせを考慮することなく修飾画像を指定できる。
また、請求項4に係る発明のバーコード修飾装置では、請求項1乃至3のいずれかに記載の発明の効果に加えて、修飾位置指定手段により、修飾画像指定手段により指定された修飾画像をバーコード画像の上部、下部、左部及び右部のいずれの位置に配置するかを指定することができ、配置手段は、修飾位置指定手段により指定された位置に修飾画像を配置することができる。よって、バーコードに対して上部、下部、左部及び右部のいずれの位置に配置するかを指定することができるので、バーコードの修飾に対する自由度が増す。
また、請求項5に係る発明のバーコード修飾装置では、請求項4に記載の発明の効果に加えて、修飾画像をバーコードの上部又は下部に配置する場合に、左右配置指定手段によりバーコード画像の上辺又は下辺に対して修飾画像を左寄せ、右寄せ及び中央寄せのいずれの位置に配置するかを指定することができる。そして、配置手段は、バーコード画像の上辺又は下辺に対して、左右配置指定手段により指定された位置に修飾画像を配置することができる。よって、修飾画像の配置バランスを指定することができるので、バーコードの修飾に対する自由度が増す。
また、請求項6に係る発明のバーコード修飾装置では、請求項4又は5に記載の発明の効果に加えて、修飾画像をバーコードの左部又は右部に配置する際に、上下配置指定手段により、上寄せ、下寄せ及び中央寄せのいずれの位置に配置するかを指定することができる。そして、配置手段は、バーコード画像の左辺又は右辺に対して、上下配置指定手段により指定された位置に修飾画像を配置することができる。よって、修飾画像の配置バランスを指定することができるので、バーコードの修飾に対する自由度が増す。
また、請求項7に係る発明のバーコード修飾装置では、請求項1乃至6のいずれかに記載の発明の効果に加えて、高さ指定手段により、修飾画像の高さを指定することができるので、バーコードの修飾に対する自由度が増す。そして、指定された高さに修飾画像が拡大又は縮小されるので、ユーザの負担なく簡単に修飾画像の高さを指定された高さに変更できる。
また、請求項8に係る発明のバーコード修飾装置では、請求項3に記載の発明の効果に加えて、修飾グループの中の文字又は画像の順序が決まっているので、ユーザは修飾グループを構成する文字又は画像をどの順序で配置するかを考慮しなくてよい。よって、簡単にバーコードを修飾できる。
また、請求項9に係る発明のバーコード修飾装置では、請求項3に記載の発明の効果に加えて、修飾グループの中の文字又は画像の順序が決まっており、前回最後に用いた文字又は画像の次の順序の文字又は画像から配置されるので、複数のバーコードにおいて、修飾グループを構成する文字又は画像を循環させて利用することができる。
また、請求項10に係る発明のバーコード修飾装置では、請求項3に記載の発明の効果に加えて、修飾グループの中の文字又は画像がランダムに配置されるので、バーコードを修飾する文字又は画像の組み合わせのバリエーションが増し、多彩な修飾を行うことができる。
また、請求項11に係る発明のバーコード修飾装置では、請求項1乃至10のいずれかに記載の発明の効果に加えて、バーコードは、第一の色の細長い長方形のバー及び第二の色の細長い長方形のバーが、長手方向を上下方向として平行となるように交互に並べられたバーコードである場合に、バーコード画像の上部又は下部に修飾画像を配置する際に、修飾画像の左端又は右端をバーの短手方向の端部に揃えて修飾画像を配置することができる。よって、バーと修飾画像とが揃い、整然として美しい修飾を行うことができる。
また、請求項12に係る発明のバーコード修飾装置では、請求項3に記載の発明の効果に加えて、配置間隔記憶手段に記憶されているフォントの配置間隔にしたがって修飾画像を配置することができる。よって、修飾画像は所定の間隔に配置され、美しい修飾を行うことができる。
また、請求項13に係る発明のバーコード修飾装置では、請求項1乃至11のいずれかに記載の発明の効果に加えて、修飾画像固有配置間隔記憶手段に記憶されている、先に配置された前記修飾画像からの配置間隔にしたがって前記修飾画像を配置することができる。よって、修飾画像は、その内容に合ったふさわしい間隔で配置され、美しい修飾を行うことができる。
また、請求項14に係る発明のバーコード修飾装置では、請求項1乃至13のいずれかに記載の発明の効果に加えて、バーコードが配置される部分に最も近い辺が基準辺とされる。したがって、バーコードがどのようなサイズであっても、修飾画像とバーコードとが重なることはなく、修飾画像がバーコードの読み取りを妨げることはない。
また、請求項15に係る発明のバーコード修飾装置では、請求項14に記載の発明の効果に加えて配置された修飾画像の横幅と、修飾画像間の距離との和である修飾幅を、修飾幅算出手段により算出することができる。そして、修飾幅が、基準辺の幅である基準辺幅よりも長くなる場合には、画像カット手段により、修飾幅が基準辺幅以下となるように最後に配置される修飾画像をカットすることができる。よって、最後に配置される修飾画像がバーコードの基準辺からはみ出る場合には、最後の修飾画像がカットされるので、修飾画像がバーコードからはみ出て見苦しくなることがない。
また、請求項16に係る発明のバーコード修飾装置では、請求項14に記載の発明の効果に加えて、配置された修飾画像の横幅と、修飾画像間の距離との和である修飾幅を、修飾幅算出手段により算出することができる。そして、修飾幅が基準辺の幅よりも長くなる場合には、最後の修飾画像は配置されない。よって、最後に配置される修飾画像がバーコードの基準辺からはみ出る場合には、最後の修飾画像は配置されないので、修飾画像がバーコードからはみ出て見苦しくなることがない。
また、請求項17に係る発明のバーコード修飾プログラムをコンピュータに実行させることにより、請求項1乃至16のいずれかに記載のバーコード修飾装置と同様の効果を奏することができる。
以下、本発明の一実施の形態について、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、特に特定的な記載がない限り、それのみに限定する趣旨ではなく、単なる説明例である。
まず、図1を参照して、テープ印刷装置1の物理的構成について説明する。このテープ印刷装置1が本発明の「バーコード修飾装置」に該当する。図1は、テープ印刷装置1のテープカセット収納部7の蓋を取り去った状態を示す平面図である。図1に示すように、テープ印刷装置1は、印刷媒体であるテープが巻回された周知のテープカセット(図示外)を収納する凹部であるテープカセット収納部7を後部(図中上部)に備え、前部(図中下部)には、複数のキー30が配列されたキーボード部3を備えている。キー30は、アルファベット、ひらがな、カタカナ、数字、記号等を入力するための文字キー、変換キー、及び印刷キー、キャンセルキー等の各種機能のコマンドを各々入力するための複数の機能キーから構成されている。さらに、テープ印刷装置1は、テープカセット収納部7とキーボード部3との間に液晶ディスプレイ4を備えている。この液晶ディスプレイ4には、印刷対象としてキーボード部3で入力された文字が表示されたり、各種設定を行う際の設定項目や選択肢が表示されたりする。
次に、図2を参照して、テープ印刷装置1の電気的構成について説明する。図2は、テープ印刷装置1の電気的構成を示すブロック図である。図2に示すように、テープ印刷装置1の制御構成は、制御基板上に形成される制御回路部10を核として構成されている。制御回路部10は、各機器を制御するCPU11、ROM12、CGROM13、RAM14、フラッシュメモリ15及び入出力インターフェース17から構成され、これらはバス16によって相互に接続されている。入出力インターフェース17には、キーボード部3と、液晶ディスプレイ4に表示データを出力するためのビデオRAM(図示外)を有するディスプレイコントローラ(以下、「LCDC」という)と、サーマルヘッド5を駆動するための駆動回路25と、テープ送りモータ6を駆動するための駆動回路26とが各々接続されている。
次に、図3乃至図6を参照して、テープ印刷装置1のROM12,CGROM13,RAM14,フラッシュメモリ15に設けられている記憶エリアについて説明する。図3は、ROM12の構成を示す模式図であり、図4は、CGROM13の構成を示す模式図であり、図5は、RAM14の構成を示す模式図であり、図6は、フラッシュメモリ15の構成を示す模式図である。
図3に示すように、ROM12には、プログラム記憶エリア121,修飾グループ記憶エリア122が設けられている。なお、ROM12には、図示しないその他の記憶エリアも設けられている。プログラム記憶エリア121には、キーボード部3から入力された文字のコードデータに対応させてLCDC24を制御する表示駆動制御プログラム,印刷バッファ141(図5参照)のデータを読み出してサーマルヘッド5やテープ送りモータ6を駆動する印刷駆動制御プログラム,印刷媒体であるテープのテープ幅に応じて印刷する文字やブロックの行数を調整して印刷を行うテープ印刷制御プログラム,バーコードイメージを生成したり、本発明の要部であるバーコードへの修飾を行ったりするバーコード修飾プログラム,その他、テープ印刷装置1の制御上必要な各種のプログラムが格納されている。そして、修飾グループ記憶エリア122(図12参照)には、後述するバーコードの修飾方法「グループ」で用いられる修飾グループに関する情報が記憶される。
そして、図4に示すように、CGROM13には、フォント記憶エリア131,既存画像記憶エリア132,グループ画像記憶エリア133が設けられている。なお、CGROM13には、図示しないその他の記憶エリアも設けられている。フォント記憶エリア131には、文字や記号(以下、「文字」と言った場合に「記号」も含むものとする)のドットパターンデータが記憶されている。なお、文字の出力では、同じ文字(例えば「A」)であっても、書体に応じてデザインが異なる。フォント記憶エリア131には、文字のドットパターンが書体ごとに記憶されている。以下、文字のドットパターンを「フォント」というものとする。つまり、1つの文字に対してフォントは書体の数だけ存在する。既存画像記憶エリア132には、バーコードを修飾するための画像が画像を示す名称に対応して記憶されている。グループ画像記憶エリア133には、バーコードを修飾するための画像のグループがグループ名に対応して記憶されている。
図5に示すように、RAM14には、入力バッファ140,印刷バッファ141,基準辺記憶エリア142,配置バランス記憶エリア143,修飾文字列記憶エリア144,選択既存画像記憶エリア145,選択修飾グループ記憶エリア146,バーコード長記憶エリア147,修飾文字長記憶エリア148,修飾画像高さ記憶エリア149,修飾画像長記憶エリア150,修飾用ドットデータ記憶エリア158,バーコードイメージ記憶エリア159が設けられている。なお、RAM14には、図示しないその他の記憶エリアも設けられている。
入力バッファ140には、印刷対象としてキーボード部3より入力された情報(例えば、文字、文字に関する情報、改行、バーコードに関する情報)が記憶される。なお、文字に関する情報とは、文字サイズや書体であり、バーコードに関する情報とは、例えば、バーコードの規格、バーコードの規格に伴う設定情報、バーコードのデータすなわちバーコードで表現する文字、数字、記号などの情報である。印刷バッファ141には、サーマルヘッド5を駆動させ印刷を行うための情報(例えば、印刷用のドットパターンや各ドットの形成エネルギー量である印加パルス数)が記憶される。
基準辺記憶エリア142には、バーコードの修飾が施される辺(以下、「基準辺」という)を示す値が記憶される。配置バランス記憶エリア143には、バーコードを修飾文字や画像を基準辺に対してどういうバランス(左寄せ,中央寄せ,右寄せ、又は、上寄せ,中央寄せ,下寄せ)で配置するかを示す値が記憶される。修飾文字列記憶エリア144には、バーコードの修飾方法が「文字」である場合に、バーコードを修飾する文字列が記憶される。選択既存画像記憶エリア145には、バーコードの修飾方法が「既存画像」である場合に、バーコードを修飾する既存画像を示す値が記憶される。選択修飾グループ記憶エリア146には、バーコードの修飾方法が「グループ」である場合に、バーコードを修飾する修飾グループを示す値が記憶される。バーコード長記憶エリア147には、バーコードの長さが記憶される。修飾文字長記憶エリア148には、バーコードの修飾方法が「文字」である場合に、修飾する文字列を印刷した際の長さが記憶される。修飾画像高さ記憶エリア149には、バーコードの修飾方法が「既存画像」又は「グループ」である場合に、ユーザにより指定された画像の高さが記憶される。修飾画像長記憶エリア150には、バーコードの修飾方法が「グループ」である場合に、修飾グループを構成する画像を修飾画像として配置した際の長さ(一方の端の画像の外側の端から、他端の画像の外側の端までの長さ)が記憶される。修飾用ドットデータ記憶エリア158には、修飾用のサイズに調整された修飾画像のドットデータが記憶される。バーコードイメージ記憶エリア159には、生成されたバーコードのドットパターンが記憶される。
図6に示すように、フラッシュメモリ15には、配置間隔記憶エリア151,最終順序番号記憶エリア152が設けられている。配置間隔記憶エリア151には、印刷対象として文字が入力された際に、文字のドットパターンを配置する間隔(所謂「文字間」)が記憶される。この配置間隔は、ユーザにより値を指定することができる。最終順序番号記憶エリア152には、バーコードの修飾方法「グループ」において、最後に配置された画像を示す番号が修飾グループごとに記憶される。
次に、バーコードの修飾方法について説明する。本実施の形態では、3つの方法でバーコードを修飾する。「文字」,「グループ」,「既存画像」である。「文字」では、ユーザが入力した文字列の各文字のドットデータを「修飾画像」として、バーコードの周囲(上下左右)のいずれかの辺に配置する。「グループ」では、予めテープ印刷装置1に記憶されている画像のグループの中からユーザが選択したグループを構成する画像を「修飾画像」として、バーコードの周囲(上下左右)のいずれかの辺に配置する。なお、画像のグループを「修飾グループ」、修飾グループを構成する画像を「グループ画像」という。「既存画像」では、予めテープ印刷装置1に記憶されている画像(既存画像)の中からユーザが選択した画像を「修飾画像」として、バーコードの周囲(上下左右)のいずれかの辺に配置する。
ここで、図7及び図8を参照して、バーコード100について説明する。図7は、上部が文字列「バーコード修飾」が左寄せで修飾されたバーコード100の模式図である。図8は、図7に示したバーコード100の左辺103周辺の拡大図である。なお、図7及び図8における紙面の上下左右方向を、バーコード100の上下左右方向とする。また、後述する図9乃至図11、図15の模式図におけるバーコードの上下左右方向も紙面の上下左右方向とする。つまり、図7に示すバーコード100の紙面上の辺を上辺101,紙面下の辺を下辺102,紙面左の辺を左辺103,紙面右の辺を右辺104とする。
そして、バーコード100は一次元バーコードである。一次元バーコードは、上下方向に長い長方形のバー181,182,183,・・・・,191,192,193,・・・・で構成されている。図7及び図8に示す例では、黒色のバー181,182,183,・・・・と、白色のバー191,192,193,・・・・との2色のバーで構成されている。これらのバーは上下方向の長さ(高さ)が同一であり、平行に隙間なく配置されている。図8に示す例では、白色のバーを見やすくするために、白色のバーの周囲を一点鎖線で示している。そして、これらの2色のバーは交互に配置され、夫々のバーの左右方向の長さ(幅)の違いにより、情報を示している。バーコードリーダでは、これらのバーの幅を検出して、バーコードの規格にしたがって情報を読み出す。
本実施の形態では、ユーザは、バーコードの上部,下部,左部,右部のいずれかに修飾を施すか指定することができる。そして、バーコードの上部に修飾を施す場合には、バーコード100の上辺101を「基準辺」として、上辺101から少なくとも所定の長さだけ離れた位置に、文字や画像のドットデータが配置される。これは、バーコード100をバーコードリーダで読み取る際に、正確にバーコードを読み取るための余白の最低値である。特に多くの二次元バーコードでこの余白は必要とされる。また、バーコード100の下部に修飾を施す場合には、バーコード100の下辺102が基準辺とされる。バーコード100の左部に修飾を施す場合には左辺103が基準辺とされ、バーコード100の右部に修飾を施す場合には右辺104が基準辺とされる。さらに、本実施の形態では、ユーザは、基準辺が上辺又は下辺であれば、修飾対象となる文字や画像を左寄せ、中央寄せ、右寄せのいずれのバランスで配置するかを指定することができる。そして、基準辺が左辺又は右辺であれば、上寄せ、中央寄せ、下寄せのいずれのバランスで配置するかを指定することができる。
次に、図7乃至図10を参照して、修飾方法「文字」について説明する。図9は、上部が文字列「バーコード修飾」が中央寄せで修飾されたバーコード100の模式図であり、図10は、左部が文字列「★修飾」が上寄せで修飾されたバーコード100の模式図である。図7乃至図10においては、見易さのために文字のフォントの外周を点線で示している。修飾方法「文字」では、ユーザが入力した文字列を「修飾文字列」とする。そして、修飾文字列を構成する文字のフォントが各々「修飾画像」として基準辺から所定の距離に、基準辺と平行に配置される。配置する際には、ユーザが指定したバランス(左寄せ、中央寄せ、右寄せ)に従う。本実施の形態では、フォント(修飾画像)は等幅フォントで配置される。つまり、配置間隔記憶エリア151に記憶されているフォントの配置間隔だけ各フォントの間を空けて配置する。図7乃至図10に示す例では、配置間隔は「0」である。
なお、本実施の形態では、フォントを配置した際の長さ(上辺101への配置であれば、一番左のフォントの左端から、一番右のフォントの右端までの長さ)が基準辺の長さよりも長くなる場合には、エラーとして、修飾を行わないものとしている。また、修飾文字列を入力する際には、文字の書体やサイズを指定することができる。したがって、図7,図9,図10に示したように、様々なパターンでバーコード100を文字列で修飾することができる。
次に、図11乃至図13を参照して、修飾方法「グループ」について説明する。図11は、修飾グループ「ビル」の修飾画像301〜306で修飾されたバーコード100の模式図である。図12は、ROM12の修飾グループ記憶エリア122の構成を示す模式図であり、図13は、CGROM13のグループ画像記憶エリア133の構成を示す模式図であり、図14は、フラッシュメモリ15の最終順序番号記憶エリア152の構成を示す模式図である。
修飾方法「グループ」では、修飾グループをユーザが選択し、修飾グループを構成するグループ画像を「修飾画像」として配置してバーコード100を修飾する。修飾グループ名に対応させて、その修飾グループを構成するグループ画像に順序付けをした情報が修飾グループ記憶エリア122(図12参照)に記憶されている。そして、グループ画像のドットデータは、グループ画像記憶エリア133(図14参照)に記憶されている。図12に示すように、修飾グループ記憶エリア122には、データ項目として「修飾グループ名」,「順序番号」,「グループ画像名」が設けられている。そして、修飾グループ名「ビル」の修飾グループは、グループ画像名「ビル部品1」,「ビル部品2」,「ビル部品3」,「ビル部品4」,「ビル部品5」,「ビル部品6」の画像で構成されている。そして、「ビル部品1」,「ビル部品2」,「ビル部品3」,「ビル部品4」,「ビル部品5」,「ビル部品6」の順で「1」〜「6」までの順序が割り当てられている。この「順序番号」は、グループ画像を配置する際に使用される。グループ画像は順序番号の昇順で配置される。そして、最後に配置されたグループ画像の順序番号が最終順序番号記憶エリア152に記憶される。最終順序番号記憶エリア152には、データ項目として「修飾グループ名」及び「最終順序番号」が設けられており、修飾グループごとに最終順序番号が記憶される。図14に示す例では、修飾グループ名「ビル」の最終順序番号は「1」であるので、次に、修飾グループ名「ビル」のグループ画像群が使用される際には「2」番目のグループ画像である「ビル部品2」から配置される。
図11に示した例では、修飾グループ名「ビル」が選択され、グループ画像番号「1」のグループ画像「ビル部品1」から順に「ビル部品2」,「ビル部品3」,「ビル部品4」,「ビル部品5」と配置され、最後の6番目の「ビル部品6」が配置された後は、1番目の「ビル部品1」,「ビル部品2」と配置されている。この後には、最終順序番号記憶エリア152の「ビル」の最終順序番号には「2」が記憶される。
次に、図15を参照して、修飾方法「既存画像」について説明する。図15は、既存画像401により修飾されたバーコード200の模式図である。バーコード200は、二次元バーコードである。修飾方法「既存画像」では、CGROM13の既存画像記憶エリア132に記憶されている既存画像の中からユーザが選択した画像を「修飾画像」として配置する。図15に示す例では、バーコード200の左辺に下寄せで修飾画像として既存画像401が配置されている。
次に、図16乃至図25を参照して、テープ印刷装置1におけるバーコードの修飾処理について説明する。図16は、バーコードに対する修飾の位置を指定する修飾位置指定画面41の模式図である。図17は、修飾方法「グループ」の場合に修飾グループ及び修飾画像の高さを指定するグループ画面42の模式図である。図18は、修飾方法「既存画像」の場合に既存画像及び修飾画像の高さを指定する既存画像画面43の模式図である。図19は、CPU11が各種制御プログラムを実行することによるテープ印刷装置1の動作を示すメイン処理のフローチャートである。図20は、メイン処理の中で行われるバーコード入力編集処理のフローチャートであり、図21は、メイン処理及びバーコード入力編集処理の中で行われるバーコード修飾処理のフローチャートである。図22は、バーコード修飾処理の中で行われる文字合成修飾処理のフローチャートであり、図23は、バーコード修飾処理の中で行われるグループ画像合成修飾処理のフローチャートであり、図24は、バーコード修飾処理の中で行われる既存画像合成修飾処理のフローチャートである。図25は、メイン処理の中で行われる印刷処理のフローチャートである。
まず、図16乃至図18を参照して、液晶ディスプレイ4に表示される画面41〜43について説明する。図16に示す修飾位置指定画面41は、修飾画像(文字列、グループ画像、既存画像)をバーコードの上辺,下辺,左辺,右辺のいずれの位置に配置するか、及び、左寄せ(上寄せ),中央寄せ,右寄せ(下寄せ)のいずれのバランスで配置するかを指定する画面である。図16に示すように、選択項目として「修飾配置」及び「バランス」が設けられている。図16に示す例では、「修飾配置」が選択された状態となっており、選択肢の中の「上」が選択されている。なお、「修飾配置」の選択肢には「上」,「下」,「左」,「右」の4つがある。ここで、キーボード部3に設けられている左矢印キー及び右矢印キーが押下されると、他の選択肢が1つずつ表示される。また、キーボード部3に設けられている上矢印キー及び下矢印キーが押下されると、選択が上下へ移動し、「バランス」が選択される。「バランス」の選択肢は、「修飾配置」でいずれの選択肢が選択されているかにより異なる。「修飾配置」にて「上」又は「下」が選択されている場合には、「バランス」では「左寄せ」,「中央寄せ」,「右寄せ」の3つが選択肢とされる。「修飾配置」にて「左」又は「右」が選択されている場合には、「バランス」では「上寄せ」,「中央寄せ」,「下寄せ」の3つが選択肢とされる。
次に、図17に示すグループ画面42について説明する。グループ画面42は、修飾方法「グループ」の場合に修飾グループ及び修飾画像の高さを指定する画面である。図17に示すように、グループ画面42には、選択項目として「修飾グループ」及び「修飾画像高さ」が設けられている。図17に示す例では、「修飾グループ」が選択された状態となっており、選択肢の中の「ビル」が選択されている。「修飾グループ」の選択肢には、「ビル」の他に、修飾グループ記憶エリア122(図12参照)の「修飾グループ名」に記憶されている修飾グループ名が選択肢とされる。図12に示す例では、「花」及び「カーニバル」が選択肢とされる。なお、ここでは、修飾グループ名を選択肢としたが、選択されている修飾グループのグループ画像群を画面上に表示させて、選択の参考とさせてもよい。また、カーソル選択可能なようにグループ画像群を表示させて、グループ画像群を選択させるようにしてもよい。そして、「修飾画像高さ」は、修飾グループを構成するグループ画像を「修飾画像」として配置する際の、高さを指定するものであり、「3mm」,「5mm」,「8mm」,「10mm」,「30mm」等の長さが選択肢とされている。なお、図11に示す矢印部分が修飾画像の高さを示している。
次に、図18に示す既存画像画面43について説明する。既存画像画面43は、修飾方法「既存画像」の場合に既存画像及び修飾画像の高さを指定する画面である。図18に示すように、既存画像画面43には、選択項目として「既存画像」及び「修飾画像高さ」が設けられている。図18に示す例では、「既存画像」が選択された状態となっており、選択肢の中の「女の子とプレゼント」が選択されている。既存画像記憶エリア132に記憶されている既存画像の名称(既存画像名)が「既存画像」の選択肢とされる。ここにおいても、既存画像名を選択肢とするだけでなく、選択の参考に既存画像を画面上に表示させてもよい。また、カーソル選択可能なように既存画像を表示させて、既存画像を選択させるようにしてもよい。そして、「修飾画像高さ」は、グループ画面42と同様に、修飾グループを構成するグループ画像を「修飾画像」として配置する際の、高さを指定するものであり、「3mm」,「5mm」,「8mm」,「10mm」,「30mm」等の長さが選択肢とされている。
次に、図19乃至図25を参照して、メイン処理の動作を説明する。まず、文字を入力するための初期画面が液晶ディスプレイ4に表示され(S1)、キーボード部3からの入力が受け付けられる(S2)。受け付けられたキーが文字キー(例えば、アルファベットキー、数字キー、記号キー)又は編集キー(例えば、改行キーや削除キー)であれば(S3:YES)、入力バッファ140に対して、キーに応じた処理が行われ、入力バッファ140に記憶されている文書の編集が行われる(S11)。そして、液晶ディスプレイ4への表示が更新される(S12)。そして、S2へ戻る。
また、S2において受け付けられたキーが機能キーであれば(S4:YES)、機能メニュー画面(図示外)が液晶ディスプレイ4に表示され、選択された機能が受け付けられる(S21)。機能メニュー画面では、複数の機能が選択肢として表示されている。そこで、ユーザは、キーボード部3を操作し、使用したい機能を選択し、確定キーを押下する。この確定キーが押下された際に選択されている機能が、入力として受け付けられる。本実施の形態に関係する機能としては、「バーコード入力」及び「バーコード修飾」がある。「バーコード入力」が選択された場合には(S22:YES)、バーコード入力編集処理が行われる(S24、図20参照)。そして、S2へ戻り、キー入力の受付が行われる。また、「バーコード修飾」が選択された場合には(S23:YES)、バーコード修飾処理が行われる(S25)。そして、S2へ戻り、キー入力の受付が行われる。また、「バーコード入力」及び「バーコード修飾」以外の機能が選択された場合には(S23:NO)、その機能に応じたその他の処理が行われる(S26)。その他の処理については、本発明の要部ではないので省略する。そして、S2へ戻り、キー入力の受付が行われる。なお、バーコード入力編集処理(S24)及びバーコード修飾処理(S25)については、後に詳述する。
また、S2において受け付けられたキーが印刷キーであれば(S5:YES)、印刷処理が行われる(S27、図24参照)。そして、S2へ戻り、キー入力の受付が行われる。S2において受け付けられたキーが終了キーであれば(S6:YES)、テープ印刷装置1を終了させるための処理が行われて、電源がOFFされる。また、終了キーでもなければ(S6:NO)、その他の処理が行われる(S28)。その他の処理については、本発明の要部ではないので省略する。そして、S2へ戻り、キーの受付が行われる。なお、印刷処理については、図25を参照して後述する。
ここで、図20を参照して、バーコード入力編集処理について説明する。バーコード入力編集処理では、生成するバーコードに対する各種設定が行われる。まず、バーコード設定画面(図示外)が表示され、入力が受け付けられる(S41)。バーコード設定画面では、バーコードの規格、サイズ等を指定することができる。設定項目は、バーコードの規格に応じたものとなる。ここで指定された情報は、入力バッファ140に記憶される。次いで、バーコードデータ入力画面(図示外)が表示され、入力が受け付けられる(S42)。バーコードデータ入力画面では、バーコードで表現される情報(以下、「埋込情報」という)が入力される。入力された情報は、入力バッファ140に記憶される。そして、S41及びS42で入力された情報に基づいて、バーコードのドットデータ(バーコードイメージ)が生成され、バーコードイメージ記憶エリア159に記憶される(S43)。
次いで、修飾有無指定画面(図示外)が表示され、入力が受け付けられる(S44)。修飾有無指定画面では、バーコードに修飾を施すか否かを選択する選択項目が設けられている。ここで、バーコード修飾をしない旨の選択がなされた場合には(S45:NO)、バーコードイメージ記憶エリア159に記憶されているバーコードイメージが表示用のデータに変換されて、液晶ディスプレイ4に表示される(S47)。そして、バーコード入力編集処理は終了して、メイン処理へ戻る。また、バーコード修飾をする旨の選択がなされた場合には(S45:YES)、バーコード修飾処理が行われる(S46、図21参照)。このバーコード修飾処理は、メイン処理のS25で行われる処理と同様の処理である。ここでは、バーコードに対して文字や画像を配置して、前述したような修飾をする処理が行われる。そして、バーコード修飾処理によりバーコードの修飾が行われたら、バーコードイメージ記憶エリア159に記憶されている修飾後のバーコードイメージが表示用のデータに変換されて液晶ディスプレイ4に表示され(S47)、バーコード入力編集処理は終了して、メイン処理へ戻る。
次に、図21乃至24を参照して、バーコード修飾処理について説明する。まず、修飾位置指定画面41(図16参照)が表示され、バーコードを修飾する位置(辺)及びバランスの指定が受け付けられる(S51)。選択された位置を示す値が基準辺記憶エリア142に記憶され、選択されたバランスを示す値は配置バランス記憶エリア143に記憶される。そして、入力バッファ140に記憶されているバーコードに関する情報(規格、規格に応じた設定項目、埋込情報)が読み出され、バーコードイメージが生成され、バーコードイメージ記憶エリア159に記憶される(S52)。そして、修飾方法選択画面(図示外)が表示され、バーコードの修飾方法の選択が受け付けられる(S53)。選択された修飾方法が「文字」であれば(S54:YES)、文字合成修飾処理が行われる(S55、図22参照)。また、選択された修飾方法が「グループ」であれば(S54:NO,S56:YES)、グループ画像合成修飾処理が行われる(S57、図23参照)。また、選択された修飾方法が「既存画像」であれば(S54:NO,S56:NO)、既存画像合成修飾処理が行われる(S59、図24参照)。選択された修飾方法に応じてバーコードが合成されたら(S54〜S59)、バーコード修飾処理を呼び出した処理へ戻る。
ここで、図22を参照して、文字合成修飾処理について説明する。まず、修飾文字列入力画面(図示外)が表示され、入力が受け付けられる(S71)。修飾文字列入力画面には、バーコードを修飾する文字列を入力する文字列入力欄、文字列入力欄に入力された文字の書体の選択欄、文字のサイズの選択欄が設けられている。確定キーが押下されると、文字列入力欄に入力された文字列、選択された書体、文字サイズが修飾文字列記憶エリア144に記憶される。そして、バーコード修飾処理のS52で生成されたバーコードの、S51で指定された基準辺の長さが算出される(S72)。具体的には、バーコードイメージ記憶エリア159に記憶されているバーコードにおける基準辺のドット数がバーコード長記憶エリア147に記憶される。次いで、修飾文字長が算出される(S73)。具体的には、修飾文字列記憶エリア144に記憶されている文字列を、記憶されているサイズ及び書体のフォントで、配置間隔記憶エリア151に記憶されている間隔を空けて配置すると、最初の文字から最後の文字までで必要となるドット数が算出され、修飾文字長記憶エリア148に記憶される。
そして、S72で算出されたバーコード長とS73で算出された修飾文字長が比較される(S74)。修飾文字長の方がバーコード長よりも長ければ(S74:YES)、修飾する文字列がバーコードからはみ出てしまうので、エラー処理(例えば、エラーメッセージの表示、アラームランプの点灯)が行われ(S81)、文字合成修飾処理は終了する。そして、バーコード修飾処理へ戻る。
また、修飾文字長がバーコード長よりも長くなければ(S74:NO)、バーコードの基準辺に文字列を配置する処理が行われる(S75〜S80)。まず、修飾文字列記憶エリア144から修飾文字列の1文字目の文字が読み出される(S75)。そして、修飾文字列記憶エリア144に記憶されている書体、文字サイズで、S75で読み出された文字のドットイメージがフォント記憶エリア131から取得される(S76)。そして、バーコードイメージ記憶エリア159のバーコードイメージに対して、取得された文字のフォント(ドットイメージ)が追加される(S77)。
具体的には、基準辺が上辺ならば、バーコードの上辺とフォントの下辺との距離が所定量(予め定められている、バーコード周囲の余白の最低値)の位置であり、バーコードの上辺の左端とフォントの下辺の左端とが合わせられた位置にフォントが配置される。また、基準辺が下辺ならば、取得されたフォントが180度回転される。そして、バーコードの下辺とフォントの上辺との距離が所定量の位置であり、バーコードの下辺の右端とフォントの上辺の右端とが合わせられた位置にフォントが配置される。そして、基準辺が左辺ならば、取得されたフォントが反時計回りに90度回転される。そして、バーコードの左辺とフォントの右辺との距離が所定量の位置であり、バーコードの左辺の下端とフォントの右辺の下端とが合わせられた位置にフォントが配置される。そして、基準辺が右辺ならば、取得されたフォントが時計回りに90度回転される。そして、バーコードの右辺とフォントの左辺との距離が所定量の位置であり、バーコードの右辺の上端とフォントの左辺の上端とが合わせられた位置にフォントが配置される。
そして、修飾文字列記憶エリア144に次の文字が記憶されているか否かの判断が行われる(S78)。次の文字があれば(S78:YES)、S75へ戻り、修飾文字列記憶エリア144から修飾文字列の2文字目の文字が読み出される(S75)。そして、修飾文字列記憶エリア144に記憶されている書体、文字サイズで、読み出された文字のドットイメージがフォント記憶エリア131から取得される(S76)。そして、バーコードイメージ記憶エリア159のバーコードイメージに対して、取得された文字のフォント(ドットイメージ)が追加される(S77)。
具体的には、基準辺が上辺ならば、バーコードの上辺とフォントの下辺との距離が所定量の位置であり、バーコードに配置済みのフォントの右端から所定量(配置間隔記憶エリア151に記憶されている値)の位置に、フォントの下辺の左端が合わせられた位置にフォントが配置される。また、基準辺が下辺ならば、取得されたフォントが180度回転される。そして、バーコードの下辺とフォントの上辺との距離が所定量の位置であり、バーコードに配置済みのフォントの左端から所定量の位置に、フォントの上辺の右端が合わせられた位置にフォントが配置される。また、基準辺が左辺ならば、取得されたフォントが反時計回りに90度回転される。そして、バーコードの左辺とフォントの右辺との距離が所定量の位置であり、バーコードに配置済みのフォントの上端から所定量の位置に、フォントの右辺の下端が合わせられた位置にフォントが配置される。また、基準辺が右辺ならば、取得されたフォントが時計回りに90度回転される。そして、バーコードの右辺とフォントの左辺との距離が所定量の位置であり、バーコードに配置済みのフォントの下端から所定量の位置に、フォントの左辺の上端が合わせられた位置にフォントが配置される。
そして、S75〜S78の処理が繰り返し行われ、全ての文字が配置されたら(S78:NO)、修飾文字長とバーコード長が等しいか否かの判断が行われる(S79)。等しい場合には、基準辺の端から端までフォントが配置されているので、処理はそのまま終了され、バーコード修飾処理へ戻る。また、修飾文字長とバーコード長とが等しくない場合には(S79:YES)、配置バランス記憶エリア143に記憶されている値の示す配置バランスに、バーコードイメージ記憶エリア159に配置された修飾文字列のフォントを移動させる(S80)。例えば、基準辺が上辺であり、配置バランスが右寄せである場合を考える。この場合、S75〜S78の処理で配置されたフォントのうち、最後に配置されたフォントの右端と、バーコードの上辺の右端との差の長さが算出される。そして、配置されたフォントが算出された差の長さだけ右に移動される。また、基準辺が同じく上辺であり、配置バランスが中央寄せである場合には、最後に配置されたフォントの右端と、バーコードの上辺の右端との差の長さの半分の長さが算出され、その半分の長さだけ、配置されたフォントが右へ移動される。なお、左寄せの場合には、もともと左寄せでフォントが配置されているので、変更はない。このように配置バランスが調整されたら(S80)、文字合成集処理は終了され、バーコード修飾処理へ戻る。
次に、図23を参照して、グループ画像合成修飾処理について説明する。まず、グループ画面42(図17参照)が表示され、修飾グループ及び修飾画像高さの入力が受け付けられる(S91)。選択された修飾グループ(以下、「選択修飾グループ」という)を示す値が、選択修飾グループ記憶エリア146に記憶され、指定された修飾画像高さが修飾画像高さ記憶エリア149に記憶される。そして、バーコードイメージ記憶エリア159に記憶されているバーコードにおける基準辺のドット数がバーコード長記憶エリア147に記憶される(S92)。次いで、選択修飾グループに対応して、最終順序番号記憶エリア152に記憶されている最終順序番号が、グループ画像の順序をカウントするための変数nに記憶される(S93)。なお、図5には図示しないが、変数nはRAM14に記憶エリアが設けられている。
そして、変数nに「1」が加算される(S94)。ただし、n+1がグループ画像数よりも多い場合には、n=1とされる。そして、修飾グループ記憶エリア122が参照され、選択修飾グループの、n番目のグループ画像名が「修飾画像」の名称として読み出される(S95)。そして、読み出された画像名のグループ画像のドットデータから修飾用のドットデータが生成される(S96)。具体的には、グループ画像記憶エリア133から、読み出された画像名のグループ画像のドットデータが取得される。そして、高さが修飾画像高さ記憶エリア149に記憶されている修飾画像高さと同じ高さになるように、取得されたドットデータが拡大又は縮小され、修飾用ドットデータ記憶エリア158に記憶される(S96)。そして、バーコードイメージ記憶エリア159のバーコードイメージに対して、生成された修飾用のドットデータが追加されることにより、バーコードにグループ画像が配置される(S97)。
具体的には、基準辺が上辺ならば、バーコードの上辺と修飾画像の下辺との距離が所定量(予め定められている、バーコード周囲の余白の最低値)の位置であり、バーコードの上辺の左端と修飾画像の下辺の左端とが合わせられた位置に修飾画像が配置される。また、基準辺が下辺ならば、取得された修飾画像が180度回転される。そして、バーコードの下辺と修飾画像の上辺との距離が所定量の位置であり、バーコードの下辺の右端と修飾画像の上辺の右端とが合わせられた位置に修飾画像が配置される。また、基準辺が左辺ならば、取得された修飾画像が反時計回りに90度回転される。そして、バーコードの左辺と修飾画像の右辺との距離が所定量の位置であり、バーコードの左辺の下端と修飾画像の右辺の下端とが合わせられた位置に修飾画像が配置される。また、基準辺が右辺ならば、取得された修飾画像が時計回りに90度回転される。そして、バーコードの右辺と修飾画像の左辺との距離が所定量の位置であり、バーコードの右辺の上端と修飾画像の左辺の上端とが合わせられた位置に修飾画像が配置される。
そして、バーコードイメージ記憶エリア159のバーコードイメージにグループ画像のドットデータが追加されたら(S97)、修飾画像長が算出される(S98)。具体的には、バーコードイメージ記憶エリア159に最初に配置された修飾画像の外側の端から、最後に配置された修飾画像の外側の端までのドット数が修飾画像長記憶エリア150に修飾画像長として記憶される。そして、次のグループ画像を配置可能であるか否かの判断が行われる(S99)。S98で算出された修飾画像長と、S92で取得されたバーコード長との差が、n+1番目(n+1がグループ画像数よりも多い場合には、n=1とする)のグループ画像の幅以上である場合に、次の配置は可能であると判断される(S99:YES)。配置が可能な場合には(S99:YES)、S94へ戻り、変数nに「1」が加算されて(S94)、n番目のグループ画像である、次の順序のグループ画像名が「修飾画像」の名称として読み出される(S95)。そして、読み出された画像名のグループ画像のドットデータから修飾用のドットデータが生成される(S96)。そして、バーコードイメージ記憶エリア159のバーコードイメージに対して、取得されたグループ画像のドットデータが追加されることにより、バーコードにグループ画像が配置される(S97)。
具体的には、基準辺が上辺ならば、バーコードの上辺と修飾画像の下辺との距離が所定量の位置であり、バーコードに配置済みの修飾画像の右端から所定量(配置間隔記憶エリア151に記憶されている値)の位置に、修飾画像の下辺の左端が合わせられた位置にフォントが配置される。また、基準辺が下辺ならば、取得された修飾画像が180度回転される。そして、バーコードの下辺とフォントの上辺との距離が所定量の位置であり、バーコードに配置済みの修飾画像の左端から所定量の位置に、修飾画像の上辺の右端が合わせられた位置に修飾画像が配置される。また、基準辺が左辺ならば、取得された修飾画像が反時計回りに90度回転される。そして、バーコードの左辺と修飾画像の右辺との距離が所定量の位置であり、バーコードに配置済みの修飾画像の上端から所定量の位置に、フォントの右辺の下端が合わせられた位置に修飾画像が配置される。また、基準辺が右辺ならば、取得された修飾画像が時計回りに90度回転される。そして、バーコードの右辺と修飾画像の左辺との距離が所定量の位置であり、バーコードに配置済みの修飾画像の下端から所定量の位置に、修飾画像の左辺の上端が合わせられた位置に修飾画像が配置される。
そして、S94〜S99の処理が繰り返し行われ、グループ画像を配置できなくなったら(S99:NO)、修飾画像長とバーコード長が等しいか否かの判断が行われる(S100)。等しい場合には(S100:YES)、基準辺の端から端まで修飾画像が配置されているので、最終順序番号記憶エリア152の選択修飾グループに対応した「最終順序番号」に変数nが記憶される(S102)。そして、グループ画像合成修飾処理は終了する。
また、修飾画像長とバーコード長とが等しくない場合には(S100:NO)、配置バランス記憶エリア143に記憶されている値の示す配置バランスに、バーコードイメージ記憶エリア159に配置された修飾画像を移動させる(S101)。例えば、基準辺が上辺であり、配置バランスが右寄せである場合を考える。この場合、S94〜S99の処理で配置された修飾画像のうち、最後に配置された修飾画像の右端と、バーコードの上辺の右端との差の長さが算出される。そして、配置された修飾画像が算出された差の長さだけ右に移動される。また、基準辺が同じく上辺であり、配置バランスが中央寄せである場合には、最後に配置された修飾画像の右端と、バーコードの上辺の右端との差の長さの半分の長さが算出される。そして、その半分の長さだけ、配置された修飾画像が右へ移動される。なお、左寄せの場合には、もともと左寄せで修飾画像が配置されているので、変更はない。このように配置バランスが調整されたら(S101)、基準辺の端から端まで修飾画像が配置されているので、最終順序番号記憶エリア152の選択修飾グループに対応した「最終順序番号」に変数nが記憶される(S102)。そして、グループ画像合成集処理は終了され、バーコード修飾処理へ戻る。
次に、図24を参照して、既存画像合成修飾処理について説明する。まず、バーコードイメージ記憶エリア159に記憶されているバーコードにおける基準辺のドット数がバーコード長記憶エリア147に記憶される(S111)。既存画像画面43(図18参照)が表示され、既存画像及び修飾画像高さの入力が受け付けられる(S112)。ここでは、幅がバーコード長以下である既存画像のみが既存画像の選択肢となっている。そして、既存画像画面43で選択された既存画像(以下、「選択既存画像」という)を示す値が、選択既存画像記憶エリア145に記憶され、指定された修飾画像高さが修飾画像高さ記憶エリア149に記憶される。そして、選択既存画像のドットデータが既存画像記憶エリア132から取得される(S113)。次いで、高さが、修飾画像高さ記憶エリア149に記憶されている修飾画像高さと同じ高さになるように、取得されたドットデータが拡大又は縮小され、修飾用ドットデータ記憶エリア158に記憶される(S114)。そして、バーコードイメージ記憶エリア159のバーコードイメージに対して、生成された修飾用のドットデータが追加されることにより、バーコードに選択既存画像が修飾画像として配置される(S115)。
具体的には、基準辺が上辺ならば、バーコードの上辺と修飾画像の下辺との距離が所定量(予め定められている、バーコード周囲の余白の最低値)であり、バーコードの上辺の左端と修飾画像の下辺の左端とが合わせられた位置に修飾画像が配置される。また、基準辺が下辺ならば、取得された修飾画像が180度回転される。そして、バーコードの下辺と修飾画像の上辺との距離が所定量の位置であり、バーコードの下辺の右端と修飾画像の上辺の右端とが合わせられた位置に修飾画像が配置される。また、基準辺が左辺ならば、取得された修飾画像が反時計回りに90度回転される。そして、バーコードの左辺と修飾画像の右辺との距離が所定量の位置であり、バーコードの左辺の下端と修飾画像の右辺の下端とが合わせられた位置に修飾画像が配置される。また、基準辺が右辺ならば、取得された修飾画像が時計回りに90度回転される。そして、バーコードの右辺と修飾画像の左辺との距離が所定量の位置であり、バーコードの右辺の上端と修飾画像の左辺の上端とが合わせられた位置に修飾画像が配置される。
そして、選択既存画像の幅が修飾画像長として取得され、修飾画像長記憶エリア150に記憶される(S116)。これは、選択既存画像の幅方向のドット数を計数してもよいし、予め、既存画像名に対応して記憶されているものを読み出してもよい。そして、修飾画像長とバーコード長とが等しいか否かの判断が行われる(S117)。等しければ(S117:YES)、基準辺の端から端まで修飾画像が配置されているので、そのままグループ画像合成修飾処理は終了する。
また、修飾画像長とバーコード長とが等しくない場合には(S117:NO)、配置バランス記憶エリア143に記憶されている値の示す配置バランスに、バーコードイメージ記憶エリア159に配置された修飾画像を移動させる(S118)。例えば、基準辺が上辺であり、配置バランスが右寄せである場合を考える。この場合、S115で配置された修飾画像の右端と、バーコードの上辺の右端との差の長さが算出される。そして、修飾画像が算出された差の長さだけ右に移動される。また、基準辺が同じく上辺であり、配置バランスが中央寄せである場合には、修飾画像の右端と、バーコードの上辺の右端との差の長さの半分の長さが算出され、その半分の長さだけ、修飾画像が右へ移動される。なお、左寄せの場合には、もともと左寄せで修飾画像が配置されているので、変更はない。このように配置バランスが調整されたら(S118)、基準辺の端から端まで修飾画像が配置される。そして、既存画像合成修飾処理は終了され、バーコード修飾処理へ戻る。
以上のようにして、バーコード修飾処理では、ユーザが選択した修飾方法で、ユーザが指定した位置に、指定したバランスで文字列やグループ画像や既存画像を配置することによりバーコードを修飾することができる。つまり、ユーザは、修飾方法を選択し、修飾方法に応じて文字列を入力したり、画像を選択したりし、配置位置やバランスを選択するのみで、簡単にバーコードを修飾することができる。また、修飾することにより、バーコードをバーコードリーダで読み取れなくなってはいないかということを心配する必要もない。また、修飾グループを用いることにより、画像の配置順序を考慮する必要もなく、気軽にバーコードを修飾することができる。また、文字列でバーコードを修飾することもできるので、多彩な修飾を行うことができる。例えば、バーコードの埋込情報とは別に、バーコードの使用者やバーコードが印刷されているものを見る者に対して、メッセージを伝えることもできる。
次に、図25を参照して、印刷処理について説明する。まず、入力バッファ140から印刷対象のデータが取得される(S121)。この印刷対象とは、例えば、文字、画像、バーコードである。そして、印刷対象がバーコードであるか否かの判断が行われる(S122)。印刷対象がバーコードでなければ(S122:NO)、印刷対象に応じたドットデータが取得される(S123)。文字列については、フォント記憶エリア131に記憶されているドットデータが使用される。また、画像については、CGROM13の図示外の記憶エリアに記憶されているドットデータが使用される。なお、グループ画像や既存画像が単体で印刷対象とされてもよい。そして、S123で読み出されたドットデータから、文字サイズや文字修飾(例えば、太字、白抜き、反転)が加味された印刷用のイメージデータが作成され印刷用イメージ記憶エリア(図示外)に記憶される(S125)。そして、印刷が実行される(S126)。具体的には、印刷用イメージ記憶エリアに記憶されているドットデータが行ごとに処理される。まず、一番左の列のドットデータが印刷バッファ141に記憶される。そして、印刷バッファ141に記憶された一列分のドットデータの情報に基づいて、サーマルヘッド5が駆動されて印刷が実行される。さらに、テープ送りモータ6が駆動されてテープが搬送される。次いで、2番目の列のドットデータが処理され、全ての列の印刷が終了したら(S126)、他の印刷対象があるか否かの判断が行われる(S127)。入力バッファ140に未処理の印刷対象があれば、S121へ戻り、未処理の印刷対象に対する印刷処理が行われる(S121〜S126)。そして、全ての印刷対象の印刷が行われたら(S127:NO)、印刷処理は終了され、メイン処理へ戻る。
また、印刷対象がバーコードであれば(S122:YES)、バーコードイメージ記憶エリア159に記憶されている修飾後のバーコードイメージのドットデータが取得される(S124)。読み出されたドットデータから印刷用のイメージデータが作成され印刷用イメージ記憶エリア(図示外)に記憶される(S125)。そして、印刷が実行される(S126)。そして、他の印刷対象があるか否かの判断が行われる(S127)。入力バッファ140に未処理の印刷対象があれば、S121へ戻り、未処理の印刷対象に対する印刷処理が行われる(S121〜S126)。そして、全ての印刷対象の印刷が行われたら(S127:NO)、印刷処理は終了され、メイン処理へ戻る。
なお、上記実施の形態におけるテープ印刷装置1が「バーコード修飾装置」に該当する。グループ画像、既存画像、修飾文字列の文字に対応したフォントが「修飾画像」に該当する。そして、黒色が「第一の色」、白色が「第二の色」に該当する。そして、CGROM13の既存画像記憶エリア132が「既存画像記憶手段」に該当し、グループ画像記憶エリア133及びROM12の修飾グループ記憶エリア122が「修飾グループ記憶手段」に該当する。そして、フラッシュメモリ15の最終順序番号記憶エリア152が「継続順序記憶手段」に該当し、フラッシュメモリ15の配置間隔記憶エリア151が「配置間隔記憶手段」に該当する。
そして、図22に示す文字合成修飾処理のS71において、修飾文字列を入力する修飾文字列入力画面(図示外)を表示させ、修飾文字列の入力を受け付ける処理、図23に示すグループ画像合成修飾処理のS91において、図17に示すグループ画面42を液晶ディスプレイ4に表示させ、修飾グループの選択入力を受け付ける処理、及び、図24に示す既存画像合成修飾処理のS111において、図18に示す既存画像画面43を液晶ディスプレイ4に表示させ、既存画像の選択入力を受け付ける処理を行うCPU11が「修飾画像指定手段」に相当する。そして、図21に示すバーコード修飾処理のS51において、修飾位置指定画面41を液晶ディスプレイ4に表示させ、修飾配置の選択入力を受け付ける処理を行うCPU11が「修飾位置指定手段」に相当し、図21に示すバーコード修飾処理のS51において、修飾位置指定画面41を液晶ディスプレイ4に表示させ、修飾位置に応じたバランスの選択肢の中からバランスの選択入力を受け付ける処理を行うCPU11が「左右配置指定手段」及び「上下配置指定手段」に相当する。そして、図23に示すグループ画像合成処理のS91において、図17に示すグループ画面42を液晶ディスプレイ4に表示させ、修飾画像高さの選択入力を受け付ける処理、図24に示す既存画像合成修飾処理のS111において、図18に示す既存画像画面43を液晶ディスプレイ4に表示させ、修飾画像高さの選択入力を受け付ける処理を行うCPU11が「高さ指定手段」に相当する。
そして、グループ画像合成修飾処理(図23)のS96及び既存画像合成修飾処理(図24)のS114において、修飾画像高さ記憶エリア149に記憶されている修飾画像高さと同じ高さになるように、修飾画像のドットデータを拡大又は縮小する処理を行うCPU11が「拡大縮小手段」に相当する。そして、図22に示す文字合成修飾処理のS74〜S80において、フォントを「修飾画像」として配置する処理、図23に示すグループ画像合成処理のS93〜S101において、グループ画像を「修飾画像」として配置する処理、図24に示す既存画像合成修飾処理のS113〜S118において、既存画像を「修飾画像」として配置する処理を行うCPU11が「配置手段」に相当する。そして、図20に示すバーコード入力編集処理において、バーコード修飾処理が行われた後に(S46)、バーコードイメージ記憶エリアに記憶されているドットデータを表示用のデータに変換して、液晶ディスプレイ4に表示する処理、図25に示す印刷処理において、印刷用イメージを生成して(S125)、印刷を行う(S126)処理を行うCPU11が「出力手段」に相当する。
なお、本発明のバーコード修飾装置は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。上記実施の形態では、「バーコード修飾装置」としてテープ印刷装置1を例示し、バーコード修飾装置は、修飾が施されたバーコードを出力(表示、印刷)するためのデータを作成し、自身の機構(液晶ディスプレイ4、サーマルヘッド5)を利用して出力(表示、印刷)した。しかしながら、バーコード修飾装置自体が出力のための機能を有していなくともよい。例えば、パーソナルコンピュータのハードディスク装置にバーコード修飾プログラムを記憶させ、パーソナルコンピュータのCPUがバーコード修飾プログラムを実行する。そして、パーソナルコンピュータは、表示装置(例えば、ディスプレイ)及び入力装置(例えば、キーボード,マウス)を接続し、入力装置によりユーザからの各種入力を受け付ける。そして、バーコード修飾装置であるパーソナルコンピュータにおいて、修飾付きのバーコードを表示装置に表示させるためのデータを作成し、表示装置へ出力する。なお、ノート型のパーソナルコンピュータのように表示装置や入力装置が一体となっている装置であっても同様である。また、プリンタを接続し、修飾付きのバーコードを印刷するための印刷データをプリンタへ出力してもよい。また、ドットデータを送信すれば印刷データを適宜作成して印刷を行うプリンタであれば、バーコード修飾装置であるパーソナルコンピュータは、バーコードイメージ(ドットデータ)をプリンタへ出力する。
また、ネットワークを介して他のパーソナルコンピュータに接続し、修飾付きのバーコードを出力するためのデータを他のパーソナルコンピュータへ出力してもよい。例えば、インターネット上に公開されているWebページに修飾付きのバーコードを表示させる場合である。バーコード修飾装置であるパーソナルコンピュータは、Webページ用のHTMLデータが記憶されるサーバへ、バーコードイメージを出力する。
また、上記実施の形態では、一次元バーコードを例にあげたが、バーコードの種類はこれに限らず、QRコード,SPコード,AztecCode,PDF417等の二次元バーコードであってもよい。また、上記実施の形態では、テープに対して一色で印刷結果が形成されるテープ印刷装置1を例にあげたため、修飾画像の色については特に言及しなかったが、出力装置が複数の色を出力可能な場合には、修飾画像が複数の色で構成されていてもよいし、バーコードと異なる色であってもよい。
また、上記実施の形態では、基準辺から修飾画像までの距離を予め決められている所定の値(バーコードの余白の最低値)とした。しかしながら、基準辺から修飾画像までの距離は、これ以上であってもよいことはいうまでもない。また、予め修飾画像ごとに、修飾画像の内容に合った距離を設定しておいてもよい。つまり、修飾画像ごとに距離が異なっていてもよい。また、基準辺から修飾画像までの距離を修飾の際にユーザに指定させるようにしてもよい。
また、印刷処理(図25)において、メイン処理(図19)のバーコード修飾処理(S25)、バーコード入力編集処理(図20)のバーコード修飾処理(S46)で指定された修飾の条件を入力バッファに記憶しておき、印刷処理においては、入力バッファに記憶されている条件を読み出してバーコードイメージに修飾を施してもよい。
また、上記実施の形態では、修飾方法「文字」において、文字のフォントを配置する際に、配置間隔記憶エリア151に記憶されている予め定められた配置間隔を利用して、所謂「等幅フォント」で配置した。この配置間隔は、ユーザにより設定できるようにしてもよい。また、フォントごとに最適な幅が記憶されており、文字の形状によって間隔が変化するプロポーショナルフォントで配置してもよい。この場合には、文字ごとの最適な幅は、フォントに対応できるような形(例えば、フォントを特定するコードに対応付ける)で記憶されていればよい。テープ印刷装置1では、ROM12,CGROM13,フラッシュメモリ15のいずれかに記憶されていればよい。この情報を記憶している記憶装置が「フォント固有配置間隔記憶手段」に該当する。また、等幅フォント及びプロポーショナルフォントをユーザに指定させるようにしてもよい。また、上記実施の形態では、修飾文字列全体のフォント及びサイズについて、ユーザによる指定を可能とした。しかしながら、文字ごとにフォント及びサイズを指定させるようにしてもよい。また、上記実施の形態では、ユーザが文字列を入力したが、予め記憶されている文字列を選択するようにしてもよい。この場合には、記憶されている文字列及びそのフォントが「修飾グループ」に相当する。
また、文字列を配置する場合には、ユーザが文字サイズを指定するのではなく、バーコードの基準辺の長さ(バーコード長)に合わせて文字サイズを決定してもよい。例えば、文字列を配置した際の修飾文字長がバーコード長と同じとなるように、文字サイズを決定する。図26は、図7に示した「バーコード修飾」のフォント201〜207を、バーコード長に修飾文字長を合わせたフォント211〜217とした場合のバーコード100の模式図である。図26に示すように、図7に示した文字列よりもフォント211〜217の文字サイズが大きくなる。ここで、図27のフローチャートを参照して、修飾文字長をバーコード長に合わせた場合の処理について説明する。図27は、修飾文字長をバーコード長に合わせる変形例の文字合成修飾処理のフローチャートである。
まず、修飾文字列入力画面(図示外)が表示され、入力が受け付けられる(S201)。そして、バーコードの基準辺のドット数がバーコード長記憶エリア147に記憶される(S202)。文字サイズが決定される(S203)。具体的には、文字間数が「修飾文字数−1」で算出される。そして、配置間隔記憶エリア151に記憶されている配置間隔に文字間数が掛けられ、修飾文字以外の文字間で使用される長さが算出される。そして、バーコード長から算出された値が減算される。これが、文字のフォントのみで使用できる長さである。そこで、フォントで使用できる長さが文字数で割られる。この商が1文字のフォントで使用できる長さである。そして、修飾文字列記憶エリア144から修飾文字列の1文字目の文字が読み出される(S204)。そして、読み出された文字のドットイメージがフォント記憶エリア131から取得され、1辺がS203で算出されたサイズとなるように拡大又は縮小される(S205)。そして、バーコードイメージ記憶エリア159のバーコードイメージに対して、取得された文字のフォント(ドットイメージ)が追加される(S206)。ただし、この場合は当然のこととして、修飾文字長=バーコード長である。
そして、修飾文字列記憶エリア144に次の文字が記憶されているか否かの判断が行われる(S207)。次の文字があれば(S207:YES)、S204へ戻り、2文字目の文字が読み出され(S204)、2文字目の処理が行われる(S205,S206)。そして、S204〜S207の処理が繰り返し行われ、全ての文字が配置されたら(S207:NO)、修飾文字長とバーコード長が等しいか否かの判断が行われる(S208)。等しい場合には(S208:YES)、文字合成集処理は終了され、バーコード修飾処理へ戻る。また、等しくない場合には(S208:NO)、配置バランス記憶エリア143に記憶されている値の示す配置バランスに、バーコードイメージ記憶エリア159に配置された修飾文字列のフォントを移動させる(S209)。そして、文字合成修飾処理は終了され、バーコード修飾処理へ戻る。
また、上記実施の形態では、修飾方法「修飾グループ」の場合に、グループ画像を循環させて配置した。しかしながら、グループ画像は必ずしも循環させなくてもよい。また、最後に配置されたグループ画像の順序番号を最終順序番号記憶エリア152に記憶しておき、この情報を使用して、次の順序番号のグループ画像から配置するようにした。しかしながら、必ず1つ目の順序番号のグループ画像から配置させるようにしてもよい。そして、前回の続きから配置するか、1番目から配置するかをユーザに選択させてもよい。また、グループ画像ごとに循環させるか、循環させないかを予め設定しておいてもよいし、ユーザにより選択させてもよい。
また、グループ画像を配置する際に配置順序番号通りに配置するのではなく、乱数により番号を取得し、その番号に基づいて配置するグループ画像を決定するようにしてもよい。これにより、ランダムにグループ画像が配置されるので、変化に富んだ修飾画像の順列となる。図28は、ランダムに修飾グループ「ビル」のグループ画像が配置されたバーコード100の模式図である。図12の修飾グループ記憶エリア122、図13のグループ画像記憶エリア133の例を1番から順に配置すると、前述したように図11に示すようにビル部品1〜ビル部品6が循環して配置される。しかしながら、ランダムに配置されると図28に示すように、法則性なくグループ画像が配置される。ここで、図29のフローチャートを参照して、ランダムにグループ画像を配置する場合の処理について説明する。図29は、ランダムにグループ画像を配置する変形例のグループ画像合成修飾処理のフローチャートである。
まず、グループ画面42(図17参照)が表示され、修飾グループ及び修飾画像高さの入力が受け付けられる(S221)。そして、バーコードの基準辺のドット数がバーコード長記憶エリア147に記憶される(S222)。次いで、周知の乱数発生プログラムにより乱数が取得され、変数nの値が決定される(S223)。変数nは、グループ画像の数以下である必要がある。そこで、例えば、取得された乱数をグループ画像数で割る。そして、余りを変数nに代入する。ただし、余りが「0」で割り切れた場合には、変数nにグループ画像数を代入する。そして、選択修飾グループの、n番目のグループ画像名が「修飾画像」の名称として読み出され(S224)、読み出された画像名のグループ画像のドットデータから修飾用のドットデータが生成される(S225)。そして、バーコードイメージ記憶エリア159のバーコードイメージに対して、生成された修飾用のドットデータが追加されることにより、バーコードにグループ画像が配置される(S226)。
そして、バーコードイメージ記憶エリア159のバーコードイメージにグループ画像のドットデータが追加されたら(S226)、修飾画像長が算出され(S227)、次のグループ画像を配置可能であるか否かの判断が行われる(S228)。配置が可能な場合には(S228:YES)、S223へ戻り、新たな変数nが決定され(S223)、次のグループ画像の配置処理が行われる(S224〜S226)。そして、S223〜S228の処理が繰り返し実施され、グループ画像を配置できなくなったら(S228:NO)、修飾画像長とバーコード長が等しいか否かの判断が行われる(S229)。等しい場合には(S229:YES)、グループ画像合成修飾処理は終了する。等しくない場合には(S229:NO)、配置バランス記憶エリア143に記憶されている値の示す配置バランスに、バーコードイメージ記憶エリア159に配置された修飾画像を移動させる(S230)。そして、グループ画像合成修飾処理は終了される。
また、上記実施の形態では、グループ画像及び既存画像を予め自身のCGROM13に記憶しておいたが、バーコード修飾装置がネットワークに接続可能な場合、他の装置に記憶されている画像を用いてもよい。また、ユーザが作成してもよい。この場合には、バーコード修飾装置に画像作成手段を備える必要がある。画像作成手段ではドットデータを編集、作成する。
また、修飾位置ごとに、選択可能なグループ画像及び既存画像を異なるものとしてもよい。つまり、画像ごとにどの位置に配置してよいか(どこの辺を基準辺としてよいか)の情報を記憶しておき、選択配置位置に対して配置可能な画像のみを、グループ画面42や既存画像画面43の選択肢とする。例えば、基準辺を左辺としたときのみに用いられる画像の例は、図15に示した既存画像401である。
また、上記実施の形態では文字合成修飾処理(図22)において、フォントを配置した際の長さ(上辺101への配置であれば、一番左のフォントの左端から、一番右のフォントの右端までの長さ)が基準辺の長さよりも長くなる場合には、エラーとして、修飾を行わないものとしている。しかしながら、基準辺の長さよりも長くともエラーとせず、修飾を行うようにしてもよい。また、この場合に、基準辺よりも長くても修飾を行うにしても、基準辺よりも所定の長さ以上長い場合にはエラーとしてもよい。
また、上記実施の形態では、グループ合成修飾処理(図23)において、次に配置するグループ画像がバーコードからはみ出る場合には、配置不可能とした(S99)。しかしながら、次に配置するグループ画像がバーコードからはみ出る場合の対処としては、その画像を配置しないのではなく、そのグループ画像のうち、バーコードからはみ出る部分だけカットして配置するようにしてもよい。図30は、図11に示した例において、最後に配置しないと判断されたグループ画像303の、はみ出た部分をカットした画像を配置したバーコード100の模式図である。
また、上記実施の形態では、グループ画像を配置間隔記憶エリア151に記憶されている値に基づいて配置したが、必ずしもフォントの配置間隔に従わなくてもよい。例えば、ユーザが指定してもよいし、修飾グループごとに予め決められていてもよい。また、修飾グループ内において、同一の配置間隔でなくてもよい。グループ画像ごとに異なる配置間隔としてもよい。また、バーコードのバーの切り替わりに修飾画像の端を合わせてもよい。図31が、バーの切り替わりに修飾画像の端を合わせて配置したバーコード100の模式図である。図31では黒バーの左端と修飾画像の左端が合うように配置されている。なお、バーコードイメージデータを作成する際に、バーの切り替わり位置を示す値が生成されているので、その情報に基づいて修飾画像を配置すればよい。