(57)【要約】【課題】  印刷領域内にバランスよく複数行の文字列を配置できるようにする。【解決手段】  各行の長さが印刷領域内に収まるかどうかをチェックして、収まらない場合には予め文字のサイズを縮小しておいた上で（Ｓ３０）、１行目を左寄せに配置し（Ｓ３１）、最終行を右寄せに配置し（Ｓ３２）、これらの中心座標を結ぶ直線を求める（Ｓ３３）。そして、残りの行の中心座標をこの直線上に位置するように配置して（Ｓ３６）、これらが左右にはみ出る場合には、文字を縮小したりその行を再配置したりする補正処理を行なう(Ｓ３７)。【選択図】  図５
2006309706.tif 000002
【特許請求の範囲】
【請求項１】
文字、図形、又は記号から構成される印刷データを記憶する記憶手段と、
当該記憶手段に記憶されている印刷データを読み出し、前記印刷データの先頭行を予め定められた印刷領域内の左端もしくは右端のいずれか一端に寄せて配置する第一寄せ手段と、
前記印刷データが複数行から構成されているか否かを判断する行数判断手段と、
前記行数判断手段により前記印刷データが複数行であると判断された場合に、前記印刷領域内の前記先頭行が寄せられている反対側の端である他端に前記印刷データの最終行を配置する第二寄せ手段と、
前記行数判断手段により前記印刷データが三行以上であると判断された場合に、当該印刷データの先頭行と最終行を除く残余行を前記印刷領域内の前記一端及び前記他端の間に配置する残余行配置手段とを備えた印刷データ編集装置。
【請求項２】
前記第一寄せ手段により前記印刷領域内の一端に寄せて配置されている前記印刷データの先頭行の印刷データ範囲の中央の座標と、前記第二寄せ手段により前記印刷領域内の他端に寄せて配置されている前記印刷データの最終行の印刷データ範囲の中央の座標とを結ぶ直線を求める中央座標線演算手段と、
前記中央座標線演算手段により求められた直線上に、前記残余行のそれぞれの印刷データ範囲の中央の座標である中央座標を配置する中央座標配置手段を備え、
前記残余行配置手段は、前記中央座標配置手段により配置された各中央座標に従って、前記各残余行を前記印刷領域内の前記一端及び前記他端の間に配置することを特徴とする請求項１に記載の印刷データ編集装置。
【請求項３】
前記印刷データの各行の範囲が前記印刷領域の幅よりも長いか否かを行毎に判断する行長判断手段と、
前記行長判断手段により特定の行の範囲が前記印刷領域の幅よりも長いと判断された場合に、当該行を構成する個々の印刷データのサイズを縮小する第１の縮小手段とを備えたことを特徴とする請求項１又は２に記載の印刷データ編集装置。
【請求項４】
前記残余行が、前記中央座標配置手段により配置された各中央座標に従って配置された場合に、当該行の先頭又は末尾が前記印刷領域からはみ出すか否かを判断するはみ出し判断手段と、
当該はみ出し判断手段によりはみ出すと判断された場合に、当該行を構成する個々の印刷データのサイズを縮小する第２の縮小手段とを備えたことを特徴とする請求項２又は３に記載の印刷データ編集装置。
【請求項５】
前記残余行が、前記中央座標配置手段により配置された各中央座標に従って配置された場合に、当該行の先頭又は末尾が前記印刷領域からはみ出すか否かを判断するはみ出し判断手段と、
当該はみ出し判断手段によりはみ出すと判断されたとき、当該行の左側がはみ出す場合には当該行の先頭を前記印刷領域の左端に寄せて配置し、当該行の右側がはみ出す場合には当該行の末尾を前記印刷領域の右端に寄せて配置する移動手段と、
前記移動手段により移動された後の当該行の中央座標と、前記第二寄せ手段により前記印刷領域内の他端に寄せて配置されている前記印刷データの最終行の中央座標とを結ぶ直線を求める中央座標線再演算手段と、
前記中央座標線再演算手段により求められた直線上に、前記移動手段により移動された行よりも後の行の中央座標を配置する再配置手段とを備え、
前記残余行配置手段は、前記再配置手段により再配置された中央座標に従って、前記移動手段により移動された行の後の行を、前記印刷領域内の前記一端及び前記他端の間に配置することを特徴とする請求項２乃至４のいずれかに記載の印刷データ編集装置。
【請求項６】
請求項１乃至５のいずれかに記載の印刷データ編集装置の各種処理手段としてコンピュータを機能させるための印刷データ編集プログラム。
【請求項７】
請求項６に記載の印刷データ編集プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データ編集装置、印刷データ編集プログラム及び印刷データ編集プログラムを記録した記録媒体に関するものである。
【背景技術】
【０００２】
一般に、文字や図形を入力し、所望の印刷結果を得るためのワードプロセッサ等の印刷データ編集装置においては、入力した文字や図形等のデータを印刷したい領域内に適宜配置することが行なわれている。このような配置は、ユーザが自分で画面上に手入力で配置することが一般的であるが、この煩雑さを省力化するために、自動で適切に配列する提案もなされている（例えば、特許文献１参照）。
【特許文献１】特開平５−３４６９４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら上記従来例では、左寄せ、中央寄せ、右寄せ、縦書きの場合の上寄せ、下寄せ、中央寄せに従って自動配列をなすことができるものの、たとえば、タイトルラベルのように、全体に文字をバランスよく配置したいという欲求に答えるものではなかった。
【０００４】
本発明は上記問題を解決するためになされたものであり、印刷領域内にバランスよく複数行の文字列を配置できる印刷データ編集装置、印刷データ編集プログラム及び印刷データ編集プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の請求項１に記載の印刷データ編集装置は、文字、図形、又は記号から構成される印刷データを記憶する記憶手段と、当該記憶手段に記憶されている印刷データを読み出し、前記印刷データの先頭行を予め定められた印刷領域内の左端もしくは右端のいずれか一端に寄せて配置する第一寄せ手段と、前記印刷データが複数行から構成されているか否かを判断する行数判断手段と、前記行数判断手段により前記印刷データが複数行であると判断された場合に、前記印刷領域内の前記先頭行が寄せてられている反対側の端である他端に前記印刷データの最終行を配置する第二寄せ手段と、前記行数判断手段により前記印刷データが三行以上であると判断された場合に、当該印刷データの先頭行と最終行を除く残余行を前記印刷領域内の前記一端及び前記他端の間に配置する残余行配置手段とを備えている。
【０００６】
また、本発明の請求項２に記載の印刷データ編集装置は、請求項１に記載の発明の構成に加え、前記第一寄せ手段により前記印刷領域内の一端に寄せて配置されている前記印刷データの先頭行の印刷データ範囲の中央の座標と、前記第二寄せ手段により前記印刷領域内の他端に寄せて配置されている前記印刷データの最終行の印刷データ範囲の中央の座標とを結ぶ直線を求める中央座標線演算手段と、前記中央座標線演算手段により求められた直線上に、前記残余行のそれぞれの印刷データ範囲の中央の座標である中央座標を配置する中央座標配置手段を備え、前記残余行配置手段は、前記中央座標配置手段により配置された各中央座標に従って、前記各残余行を前記印刷領域内の前記一端及び前記他端の間に配置することを特徴とする。
【０００７】
また、本発明の請求項３に記載の印刷データ編集装置は、請求項１又は２に記載の発明の構成に加え、前記印刷データの各行の範囲が前記印刷領域の幅よりも長いか否かを行毎に判断する行長判断手段と、前記行長判断手段により特定の行の範囲が前記印刷領域の幅よりも長いと判断された場合に、当該行を構成する個々の印刷データのサイズを縮小する第１の縮小手段とを備えたことを特徴とする。
【０００８】
また、本発明の請求項４に記載の印刷データ編集装置は、請求項２又は３に記載の発明の構成に加え、前記残余行が、前記中央座標配置手段により配置された各中央座標に従って配置された場合に、当該行の先頭又は末尾が前記印刷領域からはみ出すか否かを判断するはみ出し判断手段と、当該はみ出し判断手段によりはみ出すと判断された場合に、当該行を構成する個々の印刷データのサイズを縮小する第２の縮小手段とを備えたことを特徴とする。
【０００９】
また、本発明の請求項５に記載の印刷データ編集装置は、請求項２乃至４のいずれかに記載の発明の構成に加え、前記残余行が、前記中央座標配置手段により配置された各中央座標に従って配置された場合に、当該行の先頭又は末尾が前記印刷領域からはみ出すか否かを判断するはみ出し判断手段と、当該はみ出し判断手段によりはみ出すと判断されたとき、当該行の左側がはみ出す場合には当該行の先頭を前記印刷領域の左端に寄せて配置し、当該行の右側がはみ出す場合には当該行の末尾を前記印刷領域の右端に寄せて配置する移動手段と、前記移動手段により移動された後の当該行の中央座標と、前記第二寄せ手段により前記印刷領域内の他端に寄せて配置されている前記印刷データの最終行の中央座標とを結ぶ直線を求める中央座標線再演算手段と、前記中央座標線再演算手段により求められた直線上に、前記移動手段により移動された行よりも後の行の中央座標を配置する再配置手段とを備え、前記残余行配置手段は、前記再配置手段により再配置された中央座標に従って、前記移動手段により移動された行の後の行を、前記印刷領域内の前記一端及び前記他端の間に配置することを特徴とする。
【００１０】
また、本発明の請求項６に記載の印刷データ編集プログラムは、請求項１乃至５のいずれかに記載の印刷データ編集装置の各種処理手段としてコンピュータを機能させる。
【００１１】
また、本発明の請求項７に記載の記録媒体は、請求項６に記載の印刷データ編集プログラムを記録している。
【発明の効果】
【００１２】
本発明の請求項１に記載の印刷データ編集装置は、複数行の印刷データがある場合に、先頭行を左端もしくは右端のいずれか一端に寄せて配置し、最終行を他端に寄せて配置し、残りの行をこれら両端の間に配置する。従って、予め定められた印刷領域内に、複数行の印刷データを上下方向に亘り左右方向にバランスよくずらして配置することができ、見栄えよくかつ見易い印刷結果を得ることができる。
【００１３】
また、本発明の請求項２に記載の印刷データ編集装置は、請求項１に記載の発明の効果に加え、先頭行と最終行を除く残余行の配置を、ただセンタリングするのでなく、先頭行と最終行の中心座標を結ぶ直線上に、各行の中心座標が来るように配置したので、さらに左右方向に順次バランスよく配置され、見栄えよくかつ見易い印刷結果を得ることができる。
【００１４】
また、本発明の請求項３に記載の印刷データ編集装置は、請求項１又は２に記載の発明の効果に加え、印刷領域長よりも印刷データの方が長い場合には、あらかじめ文字を縮小して配置するようにしたので、印刷が途中で切れてしまうこともなく、所望の印刷結果を得ることができる。
【００１５】
また、本発明の請求項４に記載の印刷データ編集装置は、請求項２又は３に記載の発明の効果に加え、残余行を中心座標線に沿って配置した場合に、行の長さと位置によっては左右どちらかにはみ出す可能性があるが、そのような場合に文字を縮小して印刷領域内に収めるようにしたので、印刷が途中で切れてしまうこともなく、所望の印刷結果を得ることができる。
【００１６】
また、本発明の請求項５に記載の印刷データ編集装置は、請求項２乃至４のいずれかに記載の発明の効果に加え、残余行を中心座標線に沿って配置した場合に、行の長さと位置によっては左右どちらかにはみ出す可能性があるが、そのような場合に、印刷領域内に入る位置まで移動させるようにしたので、印刷が途中で切れてしまうこともなく、所望の印刷結果を得ることができる。また、移動させた場合には、以降の行の配置を移動させた位置に従って再計算して決定するので、移動させた行のみが突出してしまうこともなく、所望の印刷結果を得ることができる。
【００１７】
また、本発明の請求項６に記載の印刷データ編集プログラムは、コンピュータに実行させることにより、請求項１乃至５のいずれかに記載の印刷データ編集装置の各種処理手段としての作用効果を奏することができる。
【００１８】
また、本発明の請求項７に記載の記録媒体をコンピュータに読み取らせ、実行させることで、請求項６に記載の印刷データ編集プログラムの各種処理手段としての作用効果を奏することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面を参照して説明する。本発明に係る「印刷データ編集装置」として、印刷装置１に接続したパーソナルコンピュータ２を例に挙げて説明する。このパーソナルコンピュータ２には本発明に係る「印刷データ編集プログラム」が搭載されている。まず、印刷装置１及びパーソナルコンピュータ２について図１及び図２を参照して説明する。図１は、印刷装置１及びパーソナルコンピュータ２の概略を示す外観斜視図であり、図２は、パーソナルコンピュータ２の電気的構成を示すブロック図である。
【００２０】
図１に示すように、パーソナルコンピュータ２と印刷装置１とは、例えばＵＳＢ等の規格に基づくＵＳＢケーブル１０により接続されており、ＵＳＢケーブル１０を介してデータの授受を行っている。パーソナルコンピュータ２は、周知のパーソナルコンピュータであり、図１に示すように、ＣＰＵ５０等（図２参照）を備えた本体２１と、モニタ３１と、キーボード４１、マウス４２とを備えており、モニタ３１、キーボード４１、マウス４２はそれぞれ本体２１に接続ケーブルによって接続されている。そして、パーソナルコンピュータ２は、本発明に係る印刷データ編集プログラムが組み込まれたソフトウェアで作成された画像データに基づいて印刷データを作成し、作成された印刷データを印刷装置１へ送信する。
【００２１】
また、図１に示すように、印刷装置１は略直方体形状の筐体１２でケーシングされており、その前面（図１における右手前方向の面）にはテープ１７を排出するための排出口１３が設けられている。また、筐体１２の左側面の内部にはテープカセット収納部１４が設けられており、筐体１２の左側面に設けられたカバー１５を開放してテープカセットを着脱可能に装着することができる。このテープカセット収納部１４には、複数の発熱素子を有するサーマルヘッドとそのサーマルヘッドに当接されるプラテンローラとの間にテープ１７を走行させてそのテープ１７に印字する印刷機構が設けられており、装着されたテープカセットのテープ１７は、印刷機構で印刷され、印刷機構のテープカッタにより切断されて、排出口１３から排出される。
【００２２】
次に、図２を参照して、パーソナルコンピュータ２の電気的構成について説明する。図２に示すように、パーソナルコンピュータ２には、パーソナルコンピュータ２の制御を司るＣＰＵ５０が設けられている。このＣＰＵ５０には、ＣＰＵ５０が実行するＢＩＯＳ等のプログラムを記憶したＲＯＭ５１と、データを一時的に記憶するＲＡＭ５２と、データの記憶媒体であるＣＤ−ＲＯＭ５４を挿入し、データの読み込みを行うＣＤ−ＲＯＭドライブ５３と、データの記憶装置であるＨＤＤ６０とが、バス５５を介して接続されている。
【００２３】
ＨＤＤ６０には、印刷データ編集プログラムを始めとするパーソナルコンピュータ２で実行される各種のプログラムを記憶するプログラム記憶エリア６１、プログラムの実行に必要な設定や初期値、データ等の情報を記憶したプログラム関係情報記憶エリア６２、印刷装置１で使用されるテープに関する情報が記憶されているテープ情報記憶エリア６３等が設けられている。
【００２４】
さらに、ＣＰＵ５０には、バス５５を介して、印刷装置１を含む外部機器との通信を行うためのＵＳＢインタフェース７０と、利用者に操作画面を表示するためのモニタ３１の画面表示処理を行う表示制御部３０と、利用者が操作の入力を行うキーボード４１やマウス４２に接続され、それらの入力の検知を行う入力検知部４０とが接続されている。尚、パーソナルコンピュータ２には、図示外のフレキシブルディスクドライブ、音声等の入出力部、各種インタフェースなどが設けられていてもよい。
【００２５】
尚、ＣＤ−ＲＯＭ５４には、印刷データ編集プログラムが組み込まれたソフトウェアや、このプログラムの実行時に使用される設定やデータ等が記憶されており、導入時には、ＣＤ−ＲＯＭ５４からＨＤＤ６０に設けられたプログラム記憶エリア６１やプログラム関係情報記憶エリア６２に記憶されるようになっている。尚、パーソナルコンピュータ２の印刷データ編集プログラム及びその使用データ等の取得方法はＣＤ−ＲＯＭ５４によるものに限らず、フレキシブルディスクやＭＯといった他の記録媒体であってもよく、また、パーソナルコンピュータ２をネットワークに接続させ、ネットワーク上の他の端末から取得してもよい。
【００２６】
次に、以上のように構成された印刷データ編集装置における配置処理について図３〜図１３を参照して説明する。図３は、印刷データ編集処理のメインルーチンのフローチャートである。図４は、印刷データ編集処理の中で実行される３行以下処理のフローチャートである。図５は、印刷データ編集処理の中で実行される３行超処理のフローチャートである。図６は、３行超処理の中で実行される各行の長さ確認処理のフローチャートである。図７は、３行超処理の中で実行される各行の配置補正処理のフローチャートである。図８は、入力データが２行の場合の配置例を示す説明図である。図９は、入力データが３行の場合の配置例を示す説明図である。図１０は入力データが３行超の場合の配置例を示す説明図である。図１１は入力データが３行超の場合の配置例を示す説明図である。図１２は、入力データが３行超の場合のサイズ縮小をした場合の配置例を示す説明図である。図１３は、入力データが３行超の場合の再配置をした配置例を示す説明図である。
【００２７】
まず、図３に示すように、印刷データ編集処理が開始されると、配置対象となる入力データの総行数をチェックし、その数が３行以下か否かを判断する（Ｓ１）。総行数は、入力データに含まれる改行コードの数をカウントする等の周知の方法で数えることができる。総行数が３行以下の場合には（Ｓ１：ＹＥＳ）、簡易処理法としての３行以下処理を実行する（Ｓ２）。３行を超える場合には（Ｓ１：ＮＯ）、３行超処理を実行する（Ｓ３）。そして、Ｓ２及びＳ３の処理が終了後、処理を終了する。
【００２８】
次に、図３のＳ２で実行する３行以下処理について図４を参照して説明する。本実施形態の印刷データ編集装置では、複数行の入力データの配置を、先頭行を左端に、最終行を右端に置き、その間の行を先頭行の中心と最終行の中心とを結んだ中心線上に並べるものである。これを実現する場合、入力データの総行数が１〜３行の場合には、特に複雑な計算は不要であることから、処理の簡便のために３行以下処理を採用したものである。従って、３行以下の入力データであっても、３行以下処理に限られるものではない。
【００２９】
さて、３行以下処理では、まず、図４に示すように、各行の長さを確認する処理を行なう（Ｓ２０）。本実施形態では、先頭行を左寄せに配置し、最終行を右寄せに配置して、これらの間に中間行を配置することにより、バランスのよい配置を得ようとするものである。しかし、各行の長さによっては、右端や左端からはみ出る場合がある。これを避けるために、まず最初に、入力データの１行の長さが印刷しようとする領域の長さよりも長い場合をチェックしておくものである。尚、この処理は、必ずしも本発明の実現に必須のものではなく、省略することもできる。このＳ２０の各行の長さ確認処理の詳細については、図６を参照して後述する。
【００３０】
次に、１行目の入力データを左寄せに設定する（Ｓ２１）。次に、総行数が１行か否かを判断する（Ｓ２２）。総行数が１行の場合は（Ｓ２２：ＹＥＳ）、左寄せの状態でそのまま処理を終了し、メインルーチンに戻る。尚、１行しかない入力データの場合には、左寄せに限らず、例えば、センタリングするように構成してもよい。
【００３１】
総行数が１行でない場合には（Ｓ２２：ＮＯ）、最終行を右寄せに設定する（Ｓ２３）。そして、総行数が２行か否かを判断する（Ｓ２４）。総行数が２行の場合には（Ｓ２４：ＹＥＳ）、そのまま、すなわち１行目が左寄せ、２行目が右寄せの状態、図８に示すような状態で処理を終了し、メインルーチンに戻る。図８の例では、１行目に「Happy Birthday」、２行目に「Linda」が入力されたデータを本実施形態により配置したものを示している。１行目の左端が印刷領域の左端に合わせて配置され、２行目の末尾が印刷領域の右端に合わせて配置されている。また、図８に示すように、本実施形態では、印刷データの印刷領域への配置は、印刷領域の左上を原点として、ｘ方向は原点から右方向へ、ｙ方向は原点から下方向へ配置処理を行なっている。尚、図８ではｘ方向への配置についてのみ明示しているが、ｙ方向への各行の配置については、所定の改行量に基づいて配置される。また、別の実施形態として、ｙ方向への各行の配置は、印刷領域に均等に割り付けるようにしてもよい。
【００３２】
次に、総行数が２行でない場合には（Ｓ２４：ＮＯ）、総行数は３行である。これまでの処理で１行目が左寄せに（Ｓ２１）、３行目が右寄せに（Ｓ２３）設定されているので、２行目をセンタリング設定にして（Ｓ２５）、処理を終了し、メインルーチンに戻る。以上の処理により、３行の場合には、図９に示すように配置される。すなわち、１行目に「Happy」、２行目に「Birthday」、３行目に「Linda」が入力されたデータの場合、１行目の左端が印刷領域の左端に合わせて配置され、最終行である３行目の末尾が印刷領域の右端に合わせて配置され、２行目がセンタリングされている。このように配置されることで、特に印刷結果をタイトル用に使用したい場合など、全体として１行から３行に亘り順次右方にバランスよく配置され、見栄えがよいと共に、右斜め下方に順次目で追いながら読み易い出来上がり配置を得ることができる。
【００３３】
次に、図３のＳ３で実行する３行超処理について図５を参照して説明する。まず、各行の長さを確認する処理を行なう（Ｓ３０）。本実施形態では、前述のように、先頭行を左寄せに配置し、最終行を右寄せに配置して、これらの間に中間行を配置する。特に、後述するように、先頭行と最終行のそれぞれの中心座標を結ぶ直線上に中間行の中心座標を配置することにより、バランスのよい配置を得ようとするものである。しかし、各行の長さによっては、このような配置方法をとった場合に、右端や左端からはみ出る結果となる場合がある。これを避けるために、いくつかの方法をとっているが、まず最初に、入力データの１行の長さが印刷しようとする領域の長さよりも長い場合をチェックする。このＳ３０の各行の長さ確認処理の詳細については、図６を参照して後述する。
【００３４】
長さ確認処理が終了したら、次に、１行目を左寄せに設定する（Ｓ３１）。次に、最終行を右寄せに設定する（Ｓ３２）。そして、Ｓ３１とＳ３２で設定された１行目と最終行の中心座標を取得し、その両点を結ぶ直線の式を算出する（Ｓ３３）。
【００３５】
ここでは、まず、対象となる印刷媒体（ラベル、テープなど）のＸ方向の長さ（Ｌ）を取得し、１行目の行の長さ及び最終行の行の長さが共にＬであるかどうかを判断する。両行の行長がともにＬの場合には、１行目の中心と最終行のｘ方向の中心座標は、ともに１／２Ｌであり、この両座標を結ぶ直線はｙ軸に平行となる。従って、求める式を
ｘ＝Ｌ／２  とする。
【００３６】
一方、両行の行長がともにＬでない場合には、直線を表す式は、ｙ＝ａｘ＋ｂとなるので、傾きａ、切片ｂを、その直線上にある２点（ｘ１，ｙ１）、（ｘｎ，ｙｎ）から、以下の式で求める。
ａ＝（ｙｎ−ｙ1）／（ｘｎ−ｘ１）
ｂ＝ｙ1−ａｘ１
【００３７】
次に、処理の対象を２行目から（ｍ＝２）とする（Ｓ３４）。そして、その処理対象行が最終行（ｎ）かどうかを判断する（Ｓ３５）。最終行であれば（Ｓ３５：ＹＥＳ）、処理を終了してメインルーチンに戻る。
【００３８】
まだ最終行になっていなければ（Ｓ３５：ＮＯ）、その行のｘ方向の中心座標が、Ｓ３３で求めた直線上に来るように算出する（Ｓ３６）。これは、Ｓ３３で求めた直線の式がＹ軸に平行なｘ＝Ｌ／２である場合には、ｘｍ＝Ｌ／２となる。また、その他の場合には、以下の式で求めることができる。
ｘｍ＝（ｙｍ−ｂ）／ａ
【００３９】
次に、このようにして配置した当該行が、行の長さとＹ方向との位置の関係ではみ出している場合に再配置を行なう、行の配置補正処理を実行する（Ｓ３７）。前述の長さ確認処理（Ｓ３０）と同様に、この再配置のための補正処理は、本発明に必須のものではなく、省略することもできる。この各行の配置補正処理の詳細については、図７を参照して後述する。
【００４０】
次に、処理の対象を１行後の行に移行して（Ｓ３８）、以上のＳ３５〜Ｓ３８を、処理対象が最終行になるまで繰り返し実行する。
【００４１】
次に、図４のＳ２０及び図５のＳ３０で実行する各行の長さ確認処理について、図６を参照して説明する。まず、対象となる印刷媒体（ラベル、テープなど）のＸ方向の長さ（Ｌ）を取得する（Ｓ３０１）。ここでは、あらかじめ印刷領域が定められているものとしている。そして、処理対象行（ｍ）を１行目から開始する（Ｓ３０２）。
【００４２】
そして、当該行の長さ（ｌｍ）は、Ｓ３０１で取得した印刷媒体の長さ（Ｌ）よりも長いか否かを判断する（Ｓ３０３）。行の長さが印刷媒体の長さに収まっている場合には（Ｓ３０３：ＮＯ）、特に処理は必要ないので、そのままＳ３０５に進む。行の長さが印刷媒体の長さよりも長い場合には（Ｓ３０３：ＹＥＳ）、その行を構成する各文字のサイズを１段階縮小する文字サイズ縮小処理を行なう（Ｓ３０４）。そして、Ｓ３０３に戻り、縮小後のサイズでの行の長さｌｍを用いて、再度行の長さが印刷媒体の長さよりも長いか否かのチェックを行ない、当該行の長さが印刷媒体の長さに収まるまで（Ｓ３０３：ＮＯ）、文字サイズ縮小を行なう（Ｓ３０４）。
【００４３】
尚、ここで、文字サイズの縮小処理を用意されているフォントの限界まで行なっても行長が印刷媒体の長さに収まらない場合には、そのまま文字が印刷領域から切れた状態で印刷するか、エラーを報知して操作者に文字数を減らしたり印刷媒体の長さを変更するように促すような処理を行なうようにしてもよい。
【００４４】
行の長さが印刷媒体の長さに収まったら（Ｓ３０３：ＹＥＳ）、処理対象行を次の行に移行する（Ｓ３０５）。そして、最終行まで処理対象行とされたか否かを判断し（Ｓ３０６）、最終行まで処理が終了したら（Ｓ３０６：ＹＥＳ）、親のルーチンに戻る。最終行まで処理されていない間は（Ｓ３０６：ＮＯ）、Ｓ３０３〜Ｓ３０５を繰り返し処理を実行する。以上の各行の長さ確認処理により、入力データ全体が長文で、印刷領域に指定されている長さを超えてしまうような場合には、あらかじめ文字サイズを小さくしておくことができ、よりバランスのよい見栄えの優れた印字結果を得ることができる。
【００４５】
次に、図７を参照して、図５のＳ３７で実行される各行の配置補正処理について説明する。まず、まず、現在の処理対象行ｍが印刷領域から左にはみ出しているか否かを判断する（Ｓ３７１）。具体的には、以下の式を満たすかどうかを判断する。
ｘｍ−（ｌｍ／２）<０
【００４６】
中心ｘ座標（図５のＳ３６で算出済）が現在の処理対象行ｍを仮に左寄せしたと想定した時のその中心よりも左に位置している場合（Ｓ３７１：ＹＥＳ）、例えば、図１０に示すように、その行は左にはみ出していることになる。図１０では、２行目の「Happy Birthday」の中心座標ｘｍは、「Happy Birthday」全体の長さの半分の位置1/2ｌｍ(図示外)よりも左に位置している。
【００４７】
このままの状態で印刷すると左が切れてしまうことになるので、それを避けるために、サイズ縮小が可能であれば、縮小し、サイズ縮小が無理であれば、移動させる処理を行なう。まず、サイズ縮小が可能か否かを判断する（Ｓ３７２）。サイズ縮小が可能であれば（Ｓ３７２：ＹＥＳ）、その行を構成する各文字のサイズを１段階縮小する文字サイズ縮小処理を行なう（Ｓ３７３）。そして、Ｓ３７１に戻り、縮小後のサイズでの行の長さｌｍを用いて、再度左側にはみ出しているかどうかのチェックを行なう。尚、Ｓ３７３で文字サイズを縮小した後に、図６のＳ３６と同様の処理により当該行のｘ方向の中心座標を求め直し、その後Ｓ３７１に戻るようにしてもよい。
【００４８】
文字サイズの縮小は、用意されているフォントにより限界があるので、サイズ縮小がもうできない状態の場合は（Ｓ３７２：ＮＯ）、その行の中心ｘ座標を行長の２分の１の位置に設定する（Ｓ３７４）。そして、ここで設定された中心ｘ座標を通るように直線の再設定処理を行なう（Ｓ３７５）。すなわち、いま処理を行なっているｍ行目と、最終行ｎ行目の中心座標から直線の式を求め直す。ｍ行目と、最終行ｎ行目の中心座標が同じ場合には、直線はＹ軸に平行となる。また、その他の場合には、傾きａ、切片ｂを求め直す。そして、得られた式に従って、次行以降の図５のＳ３６での中心座標算出を行なう。このようにすることで、はみ出す行だけが突出して配置されず、以降の行もなめらかに配置されるようにすることができる。ただし、この再設定処理（Ｓ３７５）は、本発明の実現に必須のものではなく、省略することもできる。
【００４９】
次に、処理対象行ｍが印刷領域から右にはみ出しているか否かを判断する（Ｓ３７６）。具体的には、以下の式を満たすかどうかを判断する。
ｘｍ＋（ｌｍ／２）>Ｌ
【００５０】
中心ｘ座標に行の長さｌｍの半分を加算した結果印刷領域の右端を超えている場合（Ｓ３７６：ＹＥＳ）、例えば、図１１に示すように、その行は右にはみ出していることになる。図１１では、ｍ行目の「dear Elizabeth」の中心座標ｘｍは、「dear Elizabeth」の行長の半分の長さを足すと、Ｌよりも突出してしまう。
【００５１】
このままの状態で印刷すると右が切れてしまうことになるので、それを避けるために、サイズ縮小が可能であれば、縮小し、サイズ縮小が無理であれば、移動させる処理を行なう。まず、サイズ縮小が可能か否かを判断する（Ｓ３７７）。サイズ縮小が可能であれば（Ｓ３７７：ＹＥＳ）、その行を構成する各文字のサイズを１段階縮小する文字サイズ縮小処理を行なう（Ｓ３７８）。サイズ縮小した結果は、図１２に示すようになり、右へのはみ出しが解消されている。そして、Ｓ３７６に戻り、縮小後のサイズでの行の長さｌｍを用いて、再度左側にはみ出しているかどうかのチェックを行なう。尚、Ｓ３７８で文字サイズを縮小した後に、図６のＳ３６と同様の処理により当該行のｘ方向の中心座標を求め直し、その後Ｓ３７６に戻るようにしてもよい。
【００５２】
文字サイズの縮小は、用意されているフォントにより限界があるので、サイズ縮小がもうできない状態の場合は（Ｓ３７７：ＮＯ）、その行の中心ｘ座標を、印刷領域長（Ｌ）から行長の２分の１を差し引いた位置に設定する（Ｓ３７９）。このような位置移動を行なった結果は、図１３のようになり、右へのはみ出しが解消されている。
【００５３】
そして、ここで設定された中心ｘ座標を通るように直線の再設定処理を行なう（Ｓ３８０）。すなわち、いま処理を行なっているｍ行目と、最終行ｎ行目の中心座標から直線の式を求め直す。ｍ行目と、最終行ｎ行目の中心座標が同じ場合には、直線はＹ軸に平行となる。また、その他の場合には、傾きａ、切片ｂを求め直す。そして、得られた式に従って、次行以降の図５のＳ３６での中心座標算出を行なう。このようにすることで、はみ出す行だけが突出して配置されず、以降の行もなめらかに配置されるようにすることができる。ただし、この再設定処理（Ｓ３８０）は、Ｓ３７５と同様、本発明の実現に必須のものではなく、省略することもできる。
【００５４】
以上説明したように、本実施形態の印刷データ編集装置によれば、１行目を左に寄せて配置し、最終行を右に寄せて配置して、これらの中心座標を結んだ直線上に残りの行の中心座標を配置するようにしたので、上下左右のバランスよく印刷領域の全体に文字を配置することができる。特に、タイトルなどに使用するラベルを作成したい場合などに好適に用いることができる。
【００５５】
尚、上記実施形態において、図４のＳ２１及び図５のＳ３１で１行目の左寄せ設定処理を実行するＣＰＵ５０が本発明の第一寄せ手段として機能する。また、図３のＳ１で総行数の判断処理を実行するＣＰＵ５０が本発明の行数判断手段として機能する。また、図４のＳ２３及び図５のＳ３２で最終行の右寄せ設定処理を実行するＣＰＵ５０が本発明の第二寄せ手段として機能する。また、図５のＳ３６で各行のｘ中心座標を算出するＣＰＵ５０が本発明の残余行配置手段として機能する。また、図５のＳ３３で直線を算出するＣＰＵ５０が本発明の中央座標線演算手段として機能する。また、Ｓ３６で各行のｘ中心座標を算出するＣＰＵ５０が本発明の中央座標配置手段として機能する。また、図５のＳ３０で各行の長さ確認処理を実行するＣＰＵ５０が本発明の行長判断手段として機能する。また、図６のＳ３０４で文字サイズ縮小処理を実行するＣＰＵ５０が本発明の第１の縮小手段として機能する。また、図７のＳ３７１及びＳ３７６でｘ座標と行長からはみ出し判断処理を実行するＣＰＵ５０が本発明のはみ出し判断手段として機能する。また、図７のＳ３７３及びＳ３７８で文字サイズ縮小処理を実行するＣＰＵ５０が本発明の第２の縮小手段として機能する。また、図７のＳ３７４及びＳ３７９でｘ座標を設定するＣＰＵ５０が本発明の移動手段として機能する。また、図７のＳ３７５及びＳ３８０で直線再設定処理を実行するＣＰＵ５０が本発明の中央座標線再演算手段及び再配置手段として機能する。
【００５６】
ところで、上記実施形態においては、先頭行を左端に、最終行を右端に置き、その間の行を先頭行の中心と最終行の中心とを結んだ中心線上に並べるようにしたが、逆に、先頭行を右寄せに、最終行を左寄せにしてもよい。
【００５７】
このように配置するための第二の実施形態について図１４〜図１９を参照して以下に説明する。図１４は、第二の実施形態における入力データが２行の場合の配置例を示す説明図である。図１５は、第二の実施形態における入力データが３行の場合の配置例を示す説明図である。図１６は、第二の実施形態における入力データが３行超の場合のサイズ縮小をした場合の配置例を示す説明図である。図１７は、第二の実施形態における入力データが３行超の場合の再配置をした配置例を示す説明図である。図１８は、第二の実施形態における印刷データ編集処理の中で実行される３行以下処理のフローチャートである。図１９は、第二の実施形態における印刷データ編集処理の中で実行される３行超処理のフローチャートである。
【００５８】
図１４〜図１７に示すように、第二の実施形態では、１行目を右に寄せて配置し、最終行を左に寄せて配置して、これらの中心座標を結んだ直線上に残りの行の中心座標を配置しており、上下左右のバランスよく印刷領域の全体に文字が配置されている。さらに、第二の実施形態では、図１４〜図１７に示すように、文字、図形、又は記号等のデータを鏡像変換しても良い。こうすることにより、特に、上記の配置でデータを透明テープに印字したラベルを、自動車の窓やデパートのディスプレイなどのガラスの内側に貼って、外部の人に正像に見えるラベルを作成したい場合などに好適に用いることができる。
【００５９】
次に、第二の実施形態の印刷データ編集装置における配置処理について図１８及び図１９を参照して説明する。尚、以下の説明においては、上述の第一の実施形態と同様の処理については第一の実施形態の説明を援用し、ここでの説明は省略する。また、第一の実施形態と同一の処理ステップについては、ステップ番号も同一番号を付している。
【００６０】
図１８に示すように、３行以下処理が開始されると、第一の実施形態と同様に各行の長さを確認する処理を実行し（Ｓ２０）、次に、１行目の入力データを右寄せに設定する（Ｓ４２１）。そして、第一の実施形態と同様にＳ２２に進む。そして、最終行が左寄せに設定される（Ｓ４２３）。その後、第一の実施形態と同様にＳ２４に進む。例えば、図１４は、１行目に「Happy Birthday」、２行目に「Linda」が入力されたデータを鏡像で第二の実施形態により配置した例を示したものである。１行目の右端が印刷領域の右端に合わせて配置され、２行目の末尾が印刷領域の左端に合わせて配置されている。また、３行の場合は、図１５に示すように配置される。すなわち、１行目に「Happy」、２行目に「Birthday」、３行目に「Linda」が入力されたデータの場合、１行目の右端が印刷領域の右端に合わせて配置され、最終行である３行目の末尾が印刷領域の左端に合わせて配置され、２行目がセンタリングされている。尚、鏡像のフォントは、鏡像のフォントを別個に持ってもよいし、フォント展開時に鏡像に変換してもよい。
【００６１】
次に、３行を超えるデータの場合は、図１９に示すように、第一の実施形態と同様に各行の長さを確認する処理を行なう（Ｓ３０）。次に、第一の実施形態とは逆に、１行目を右寄せに設定し（Ｓ４３１）、最終行を左寄せに設定する（Ｓ４３２）。その他の処理は第一の実施形態と同様に実行される。例えば、ｍ行目の「dear Elizabeth」が印刷領域の左端を超えてしまう場合には、配置補正処理においてサイズ縮小が可能であれば縮小され、その結果、図１６に示すようになる。また、サイズ縮小が可能でなければ、位置移動を行い、図１７に示すように左へのはみ出しを解消する。
【００６２】
上記第二の実施形態の印刷データ編集装置によれば、１行目を右に寄せて配置し、最終行を左に寄せて配置して、これらの中心座標を結んだ直線上に残りの行の中心座標を配置するようにしたので、下左右のバランスよく印刷領域の全体に文字を配置することができる。さらに、この場合に上述したように文字、図形、又は記号等のデータを鏡像変換し、上記配置で透明テープに印刷すれば、左側から右側にかけて上下左右のバランスよく印刷領域の全体に文字が配置されることになり、見栄えよくかつ見易い印刷結果を得ることができる。
【００６３】
尚、第二の実施形態において、図１８のＳ４２１及び図１９のＳ４３１の右寄せ設定処理を実行するＣＰＵ５０が本発明の第一寄せ手段として機能する。また、図１８のＳ４２３及び図１９のＳ４３２で最終行の左寄せ設定処理を実行するＣＰＵ５０が本発明の第二寄せ手段として機能する。
【図面の簡単な説明】
【００６４】
【図１】印刷装置１及びパーソナルコンピュータ２の概略を示す外観斜視図である。
【図２】パーソナルコンピュータ２の電気的構成を示すブロック図である。
【図３】印刷データ編集処理のメインルーチンのフローチャートである。
【図４】印刷データ編集処理の中で実行される３行以下処理のフローチャートである。
【図５】印刷データ編集処理の中で実行される３行超処理のフローチャートである。
【図６】３行超処理の中で実行される各行の長さ確認処理のフローチャートである。
【図７】３行超処理の中で実行される各行の配置補正処理のフローチャートである。
【図８】入力データが２行の場合の配置例を示す説明図である。
【図９】入力データが３行の場合の配置例を示す説明図である。
【図１０】入力データが３行超の場合の配置例を示す説明図である。
【図１１】入力データが３行超の場合の配置例を示す説明図である。
【図１２】入力データが３行超の場合のサイズ縮小をした場合の配置例を示す説明図である。
【図１３】入力データが３行超の場合の再配置をした配置例を示す説明図である。
【図１４】第二の実施形態における入力データが２行の場合の配置例を示す説明図である。
【図１５】第二の実施形態における入力データが３行の場合の配置例を示す説明図である。
【図１６】第二の実施形態における入力データが３行超の場合のサイズ縮小をした場合の配置例を示す説明図である。
【図１７】第二の実施形態における入力データが３行超の場合の再配置をした配置例を示す説明図である。
【図１８】第二の実施形態における印刷データ編集処理の中で実行される３行以下処理のフローチャートである。
【図１９】第二の実施形態における印刷データ編集処理の中で実行される３行超処理のフローチャートである。
【符号の説明】
【００６５】
１      印刷装置
２      パーソナルコンピュータ
１７      テープ
３１      モニタ
４１      キーボード
４２      マウス
５０      ＣＰＵ
５２      ＲＡＭ
６０      ＨＤＤ
６１      プログラム記憶エリア
【図１】
2006309706.tif 000003
【図２】
2006309706.tif 000004
【図３】
2006309706.tif 000005
【図４】
2006309706.tif 000006
【図５】
2006309706.tif 000007
【図６】
2006309706.tif 000008
【図７】
2006309706.tif 000009
【図８】
2006309706.tif 000010
【図９】
2006309706.tif 000011
【図１０】
2006309706.tif 000012
【図１１】
2006309706.tif 000013
【図１２】
2006309706.tif 000014
【図１３】
2006309706.tif 000015
【図１４】
2006309706.tif 000016
【図１５】
2006309706.tif 000017
【図１６】
2006309706.tif 000018
【図１７】
2006309706.tif 000019
【図１８】
2006309706.tif 000020
【図１９】
2006309706.tif 000021