(57)【要約】【課題】文字列等を画像に容易に合成する、文字列配置装置等を提供する。【解決手段】画像３５の余白３９部分に、文字列を表示させる場合、テキストエリア４５に文字列が入力される度に、文字列配置装置は、該文字列が表示可能である文字列配置可能領域５１−２を異なる色等を用いて表示する。文字列が入力される度に文字列配置可能領域５１−２は更新される。文字列入力が確定すると、文字列が画像３５上に表示され、文字列の位置が操作者によって移動され表示不可領域に移動されると、文字列配置装置は、自動的に最短距離にある文字列配置領域内に該文字列を移動し表示する。【選択図】図３（ｃ）
2005321908.tif 000002
【特許請求の範囲】
【請求項１】
表示領域に画像と共に少なくとも１の文字から構成される文字列を配置する文字列配置装置であって、
前記画像において編集を許可しない領域を示す編集不可領域を算出する編集不可領域算出手段と、
前記文字列が占める領域である文字列領域を算出する文字列領域算出手段と、
前記表示領域において、前記文字列領域と前記編集不可領域とが重ならない領域を算出することにより、前記文字列を配置可能な領域である配置可能領域を算出して識別可能に表示する配置可能領域算出手段と、
を具備することを特徴とする文字列配置装置。
【請求項２】
表示領域に画像と共に少なくとも１の文字から構成される文字列を配置する文字列配置装置であって、
前記画像において編集を許可しない領域を示す編集不可領域情報が付加された画像を取得する取得手段と、
前記文字列が占める領域である文字列領域を算出する文字列領域算出手段と、
前記表示領域において、前記文字列領域と前記編集不可領域とが重ならない領域を算出することにより、前記文字列を配置可能な領域である配置可能領域を算出して識別可能に表示する配置可能領域算出手段と、
を具備することを特徴とする文字列配置装置。
【請求項３】
前記文字列を構成する各文字の入力毎に、前記文字列領域算出手段は前記文字列領域を算出し、前記配置可能領域算出手段は前記配置可能領域を算出することを特徴とする請求項１又は２に記載の文字列配置装置。
【請求項４】
前記文字列領域が前記配置可能領域の範囲内に収まらない場合、前記配置可能領域の範囲内に前記文字列領域を移動する文字列領域移動手段を具備することを特徴とする請求項１又は２に記載の文字列配置装置。
【請求項５】
文字列領域移動手段は、前記移動に要する距離が最小となる移動先を算出し、当該移動先に前記文字列領域を移動することを特徴とする請求項４に記載の文字列配置装置。
【請求項６】
前記文字列領域算出手段は、前記文字列を構成する各文字の高さ及び幅に基づいて前記文字列領域を算出することを特徴とする請求項１又は２に記載の文字列配置装置。
【請求項７】
前記文字列領域算出手段は、行毎に文字列を内包する矩形領域を作成して前記文字列領域を算出することを特徴とする請求項１又は２に記載の文字列配置装置。
【請求項８】
前記配置可能領域算出手段は、前記表示領域上の画素を前記文字列領域の配置を判断しつつ走査し、当該文字列領域と前記編集不可領域との間に重なり部分が存在しない場合における、前記表示領域において当該文字列領域が占める領域の和集合を前記配置可能領域とすることを特徴とする請求項１又は２に記載の文字列配置装置。
【請求項９】
コンピュータを、表示領域に画像と共に少なくとも１の文字から構成される文字列を配置する文字列配置装置として機能させるプログラムであって、
前記画像において編集を許可しない領域を示す編集不可領域を算出する編集許可領域算出手段と、
前記文字列が占める領域である文字列領域を算出する文字列領域算出手段と、
前記表示領域において、前記文字列領域と前記編集不可領域とが重ならない領域を算出することにより、前記文字列を配置可能な領域である配置可能領域を算出する配置可能領域算出手段、
として機能させるプログラム。
【請求項１０】
コンピュータを、表示領域に画像と共に少なくとも１の文字から構成される文字列を配置する文字列配置装置として機能させるプログラムを記録したコンピュータ読取可能な記録媒体であって、
前記画像において編集を許可しない領域を示す編集不可領域を算出する編集不可領域算出手段と、
前記文字列が占める領域である文字列領域を算出する文字列領域算出手段と、
前記表示領域において、前記文字列領域と前記編集不可領域とが重ならない領域を算出することにより、前記文字列を配置可能な領域である配置可能領域を算出する配置可能領域算出手段、
として機能させるプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１１】
表示領域に画像と共に少なくとも１の文字から構成される文字列を配置する文字列配置方法であって、
前記画像において編集を許可しない領域を示す編集不可領域を算出する編集不可領域算出ステップと、
前記文字列が占める領域である文字列領域を算出する文字列領域算出ステップと、
前記表示領域において、前記文字列領域と前記編集不可領域とが重ならない領域を算出することにより、前記文字列を配置可能な領域である配置可能領域を算出する配置可能領域算出ステップと、
を具備することを特徴とする文字列配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像編集処理を行う文字列配置装置等に関するものであり、詳細には、入力された文字列をリアルタイムに画像と合成して表示装置上に反映する機能を有する文字列配置装置等に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータにおいて、「画像編集ソフト」等のアプリケーションツールにより任意形状の画像に文字列を挿入し、配置された複数の文字列の配置換えを行い、文字列を画像に収める画像編集方法が考えられている。
【０００３】
その１つとして、特許文献１に文字列を任意形状の領域内に配置する画像編集方法に関し、文章と図形（挿絵など）とを組み合わせた画像の形成などを行う画像編集方法が開示されている。この画像編集方法においては、段落番号［０００４］等に記載されているように、特に作業者が編集画面上で見取り図の配置位置を指定し、説明文と見取り図との合成を指示すると、画像編集処理として、説明文と見取り図との重なりの有無を文字セル（１文字分のドットマトリクス）毎に調べ、見取り図と重なる文字を行方向にずらし、且つ必要に応じて改行する文字移動処理が行われ、これによって見取り図の周囲に説明文を配置した１ページの画像が作成されるように動作するものである。また、同時に段落番号［００１０］乃至［００１６］にもこの画像編集方法について詳細に記載されている。
【０００４】
また、特許文献２には、コンピュータシステムを用いて、カタログのレイアウトを行う際に、紙面に掲載する文章や写真等の素材データの割付作業を自動化すると共に、割付後の微調整を容易なものとする装置が開示されている。
【０００５】
この装置においては、段落番号［０００９］等に記載されているように、特にデータベースによって関連付けられた画像データと文字データがあり、任意形状の領域に対し、画像または文字のいずれかに優先順位を付け、レイアウトする。
【０００６】
このとき、双方の画像が任意形状の領域内に収まらない場合、コンピュータが作業者に警告するように動作するものである。また、同時に段落番号［００６７］乃至［００６９］にもこのシステムについて詳細に記載されている。
【０００７】
【特許文献１】特開平６−２４３２２５号公報
【特許文献２】特開平６−１９４８１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の画像編集システムでは、文字列を任意形状の領域内に配置することが可能であるが、特に文字セル（１文字分のドットマトリクス）単位での配置を行う為、１単位の文字列の移動距離が大きく、文字列の配置位置を微細に調整することが困難であるという問題点がある。
【０００９】
また、特許文献２に記載の文字・画像割付装置においては、画像データや文字データを任意形状の領域内に自動的に配置するための技術は開示されているが、文字と画像の詳細なレイアウトを施すことが困難であるという問題点がある。
【００１０】
また、画像データの余白部分を使用できず、仮に余白部分を使用するならば、画像データを一旦トリミングするなどして、修正を施す必要があり、労力的負担等が増大し、つまり、文字列等を容易に画像に納められないという問題点がある。
【００１１】
本発明はこのような問題を鑑みてなされたもので、その目的とするところは、文字列等を画像に容易に合成する、文字列配置装置等を提供することである。
【課題を解決するための手段】
【００１２】
前述した目的を達成するための第１の発明は、表示領域に画像と共に少なくとも１の文字から構成される文字列を配置する文字列配置装置であって、前記画像において編集を許可しない領域を示す編集不可領域を算出する編集不可領域算出手段と、前記文字列が占める領域である文字列領域を算出する文字列領域算出手段と、前記表示領域において、前記文字列領域と前記編集不可領域とが重ならない領域を算出することにより、前記文字列を配置可能な領域である配置可能領域を算出して識別可能に表示する配置可能領域算出手段と、を具備することを特徴とする文字列配置装置である。
【００１３】
表示領域とは、画像や文字列等を表示する領域を示し、表示装置の画面全体、或いは、アプリケーションの中で指定される表示領域のことを示す。
画像とは、写真画像、イラスト画像、ロゴマーク等を含む画像等である。例えば写真画像は、被写体部分と余白部分に分けられ、被写体部分を編集不可領域として被写体部分に重ならないように文字列が配置される。
編集不可領域とは、文字の重ね置き、合成処理等を許可しない領域であり、例えば、写真画像の場合、被写体部分であり、イラスト画像の場合、イラスト部分である。
文字列とは、字句、数字、記号、符号等、また文字列に限らず所定の形状の画像やイラスト等、合成用の画像等を含む概念である。
文字列領域は、文字列が占める領域であり、例えば、行毎に文字列を内包する矩形領域あるいは各文字毎の矩形領域を組み合わせた形状の領域等である。
配置可能領域とは、文字列領域と編集不可領域が重ならない領域であり、文字列の配置を可能とする領域である。配置可能領域の表示色を他と異なる色で表示したり斜線等を施して、他の領域との区別を行い識別可能とするようにしてもよい。
【００１４】
第１の発明による文字列配置装置は、表示領域に表示される画像において、編集を許可しない領域を示す編集不可領域を算出し、入力された文字列が占める領域である文字列領域を算出し、文字列領域と編集不可領域が重ならない領域を算出することにより、文字列を配置可能な領域である配置可能領域を算出し、当該配置可能領域を色別表示等により識別可能に表示する。
【００１５】
また、文字列配置装置は、取得した画像から編集不可領域を算出することに換えて、編集不可領域に関する情報が予め付加された画像を取得するようにしてもよい。この場合、文字列配置装置において編集不可領域を算出する必要はない。
【００１６】
また、文字列配置装置は、文字列を構成する各文字の入力毎に、文字列領域を算出し、配置可能領域を算出して表示することが望ましい。
【００１７】
また、文字列配置装置は、文字列領域が配置可能領域の範囲内に収まらない場合、配置可能領域の範囲内に文字列領域を移動することが望ましい。この場合、文字列配置装置は、移動に要する距離が最小となる移動先を算出し、当該移動先に文字列領域を移動させるようにしてもよい。
【００１８】
また、文字列配置装置は、文字列を構成する各文字の高さ及び幅に基づいて文字列領域を算出するようにしてもよい。
例えば、文字列配置装置は、行毎に文字列を内包する矩形領域を作成して文字列領域を算出するようにしてもよいし、各文字毎に当該文字を内包する矩形領域を作成して文字列領域を算出するようにしてもよい。
また、文字列配置装置は、表示領域上の画素を文字列領域の配置を判断しつつ走査し、当該文字列領域と編集不可領域との間に重なり部分が存在しない場合における、表示領域において当該文字列領域が占める領域の和集合を配置可能領域とすることが望ましい。
【００１９】
第１の発明では、文字列配置装置は、各文字の入力毎に、リアルタイムに文字列の配置可能な画像領域を示すので、操作者は、文字列の配置可能な領域を確認しながら、画像と文字列を容易に合成・編集することができる。
また、文字列配置装置は、入力された文字列を配置可能な領域に自動的に配置するので、操作者の労力を軽減することができる。
【００２０】
第２の発明は、コンピュータを、表示領域に画像と共に少なくとも１の文字から構成される文字列を配置する文字列配置装置として機能させるプログラムであって、前記画像において編集を許可しない領域を示す編集不可領域を算出する編集不可領域算出手段と、前記文字列が占める領域である文字列領域を算出する文字列領域算出手段と、前記表示領域において、前記文字列領域と前記編集不可領域とが重ならない領域を算出することにより、前記文字列を配置可能な領域である配置可能領域を算出する配置可能領域算出手段、として機能させるプログラムである。
【００２１】
第３の発明は、コンピュータを、表示領域に画像と共に少なくとも１の文字から構成される文字列を配置する文字列配置装置として機能させるプログラムを記録したコンピュータ読取可能な記録媒体であって、前記画像において編集を許可しない領域を示す編集不可領域を算出する編集不可領域算出手段と、前記文字列が占める領域である文字列領域を算出する文字列領域算出手段と、前記表示領域において、前記文字列領域と前記編集不可領域とが重ならない領域を算出することにより、前記文字列を配置可能な領域である配置可能領域を算出する配置可能領域算出手段、として機能させるプログラムを記録したコンピュータ読取可能な記録媒体である。
【００２２】
第２の発明は、コンピュータを第１の発明の文字列配置装置として機能させるプログラムに関する発明である。
第３の発明は、コンピュータを第１の発明の文字列配置装置として機能させるプログラムを記録したコンピュータ読取可能な記録媒体に関する発明である。
尚、上記のプログラムをＣＤ−ＲＯＭ等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【００２３】
第４の発明は、表示領域に画像と共に少なくとも１の文字から構成される文字列を配置する文字列配置方法であって、前記画像において編集を許可しない領域を示す編集不可領域を算出する編集不可領域算出ステップと、前記文字列が占める領域である文字列領域を算出する文字列領域算出ステップと、前記表示領域において、前記文字列領域と前記編集不可領域とが重ならない領域を算出することにより、前記文字列を配置可能な領域である配置可能領域を算出する配置可能領域算出ステップと、を具備することを特徴とする文字列配置方法である。
【００２４】
第４の発明は、第１の発明の文字列配置装置における、文字列配置方法に関する発明である。
【発明の効果】
【００２５】
本発明によれば、文字列を画像に容易に合成する、文字列配置装置等を提供することができる。
【発明を実施するための最良の形態】
【００２６】
以下に、図面に基づいて本発明の実施の形態を詳細に説明する。図１は、本実施の形態に係る文字列配置装置１の構成を示す図である。
【００２７】
（１．構成）
（１−１．文字列配置装置１の構成）
文字列配置装置１は、中央処理装置（ＣＰＵ）等を備える制御部３と、ＲＯＭ、ＲＡＭ、ＨＤＤ等の記憶部５と、ネットワークに接続するモデムやＬＡＮボード等の通信部７と、プリンタ等の印刷部９と、ＣＲＴや液晶表示装置等の表示部１１と、キーボード、マウス又はマイク等の入力部１３と、画像情報等をメディアを介して読み込み書き込みを行うメディア入出力部１５とから構成され、それぞれがバス１７で互いに接続されている。文字列配置装置１はコンピュータ等の装置であり、記憶部５等に格納される実行プログラム（アプリケーションプログラム）が起動されて動作する。
【００２８】
尚、図示していないが、メディア入出力部１５には、画像情報を取得するデジタルカメラ等の画像取得装置、フレキシブルディスク等の可搬型メディアにアクセスする装置、取得した画像等を記憶する外部記憶装置等が接続される。
【００２９】
（１−２．記憶部５の構成）
図２は、文字列配置装置１の記憶部５の構成を示す。記憶部５は、ＲＯＭ（Read Only Memory）１９とＲＡＭ(Random Access Memory)２１とからなる。ＲＯＭ１９は、読み出し専用の記憶部であり、システム全体を管理するソフトウェアであるＯＳ(Operating
System)２５、実行プログラム２３等を格納する。ＲＡＭ２１は、読み出し書き込みの可能な記憶部であり、本実施の形態における画像データ２７、プログラム実行時の作業用データ２９等を格納する領域を備える。
【００３０】
尚、記録部５内においてＲＯＭ１９に実行プログラム２３、ＯＳ２５等が記録される例を示しているが、当然のことながらこれに限られず、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の可搬型メディア、ＨＤＤ等の外部記憶装置等に格納されていても本実施の形態に係る発明を実現することができる。
【００３１】
（２．文字列配置アプリケーションの動作について）
本実施の形態の文字列配置装置１は、記憶部５に格納されている文字列配置アプリケーションの実行プログラム２３が起動されると、制御部３は、液晶表示装置などの表示部１１に図３（ａ）に示す文字列配置アプリケーションウィンドウ３１を表示する。尚、制御部３は、可搬型メディアや外部記憶装置等に格納されている実行プログラム２３を、ＲＡＭ２１にロードして実行しても良い。
【００３２】
図３（ａ）に示すように、文字列配置アプリケーションウィンドウ３１には、アプリケーションを終了するためのアプリケーション終了ボタン４６、画像表示領域３３、テキストエリア４５、ＯＫボタン４７等が配置される。
【００３３】
画像表示領域３３には、通信部７を介して取得したネットワーク上の画像３５、或いはメディア入出力部１５を介して可搬型メディアや外部記憶装置等から取得した画像３５が表示される。
【００３４】
尚、本実施の形態で説明する画像３５が、例えば写真画像であるとすると、画像３５は被写体３７部分と余白３９部分に分けられる。テキストエリア４５に入力する文字列は余白３９部分に配置するものとする。
【００３５】
また、後述するが、画像表示領域３３と画像３５の左上を揃えて配置し、画像表示領域３３の左上を基準点として、横方向に座標軸Ｘ４１、縦方向に座標軸Ｙ４３をとり、座標の単位をドットとして、画像３５中のドットの位置を指定するものとする。
【００３６】
図３（ｂ）、図３（ｃ）は、テキストエリア４５に文字等が入力されると、画像３５上にどのように文字が配置されていくかを示す図である。図３（ｂ）は、「あい」の２文字が入力された場合、画像３５の左上に「あい」が配置される文字列領域４９−１が示され、同時に、「あい」が配置可能な文字配置可能領域５１−１が、表示色等を変えて表示される（図３（ｂ）では文字配置可能領域５１−１を斜線で示す）。
【００３７】
入力文字列が、「あい」＋「う」＋「え」・・と１文字ずつ増加するに従って、入力の都度、図３（ｃ）のように文字列領域４９−２に表示され、文字配置可能領域５１−２は、図３（ｂ）の領域よりも縮小されている。
【００３８】
操作者は文字列領域４９−２を、画面３５上の希望する位置にドラッグアンドドロップすることで文字配置可能領域５１−２の範囲の中で移動することができる。また、後述するが、本実施の形態では、文字列の移動された領域が文字配置可能領域５１−２から外れた場合、文字列領域４９−２の左上の座標に最も近い位置の文字配置可能領域５１−２に、文字列領域４９−２を自動的に移動する機能を備える。
【００３９】
（３．処理手順）
（３−１．主処理手順）
次に、図４乃至図１０に示すフローチャートに従って、本実施の形態の文字列配置装置１の処理手順を示す。尚、図１１乃至図１９はフローチャートを説明する図であり、適宜説明する。
また、文字列配置装置１は、記憶部５（ＨＤＤ等）等に格納するプログラム（実行プログラム２３、ＯＳ２５のプログラム等）をＲＡＭ２１上にロードしてＣＰＵ（制御部３）の制御の下に以下の各ステップを実行する。
【００４０】
図４は、本実施の形態の文字列配置装置１の主処理手順を示す。まず、文字列配置装置１の制御部３は、画像取得等の初期設定情報取得処理１０００を行う。詳細については後述する。初期設定情報取得処理１０００が終了すると、制御部３はイベント監視２０００を行う。
【００４１】
イベント監視２０００とは、マウスやキーボード等の入力部１３から得られる操作を監視することである。図３に示すアプリケーション終了ボタン４６がクリックされると、イベント監視２０００が終了し、文字列配置アプリケーションが終了する。詳細については後述する。
【００４２】
（３−２．初期設定情報取得処理）
図５は、初期設定情報取得処理１０００を示すフローチャートである。まず、操作者が本実施の形態の文字列配置装置１において文字列配置アプリケーションを起動する。制御部３は、記憶部５のＲＯＭ１９に格納されている文字列配置アプリケーションの実行プログラム２３を、適宜ＲＡＭ２１にロードして実行する。尚、実行プログラム２３は、可搬型メディアや、外部記録装置等に格納されるものであっても良い。
【００４３】
制御部３は、液晶表示装置等の表示部１１に、図３(ａ)に示す文字列配置アプリケーションウィンドウ３１を表示する。操作者が、文字列を入力合成する基になる画像３５を指定すると（画像３５の指定方法についての説明は省略する）、制御部３は指定された画像３５を取得し（ステップ１００１）、該文字列配置アプリケーションウィンドウ３１の画像表示領域３３の左上に、画像３５の左上を合わせて配置し表示させる。即ち、画像３５の基準点５３（０，０）（図１１に示す）と、画像表示領域３３の座標の基準点（０，０）とを一致させる。
【００４４】
尚、画像３５は、記憶部５、可搬型メディア、又は外部記録装置等に格納されている。また、画像３５を通信部７からネットワーク経由で読み込むようにしても良い。
【００４５】
図１１に、取得した画像３５を示す。画像３５は、被写体３７部分と余白３９部分から成るものとする。本実施の形態では、被写体３７部分に文字列が重なることを回避し、余白３９部分に文字列を配置する。
【００４６】
図１１において、画像３５の左上の画素を基準点５３（０，０）とし、画像３５の右下の画素を対角点５４とすると、対角点５４のＸ座標は、画像幅５５を示すＭａｘ＿Ｘであり、Ｙ座標は画像高５６を示すＭａｘ＿Ｙである。制御部３は、画像幅５５（Ｍａｘ＿Ｘ）と、画像高５６（Ｍａｘ＿Ｙ）のデータを記憶部５（ＲＡＭ２１）に作業用データ２９として格納する（ステップ１００２）。
【００４７】
例えば、ＶＧＡ（６４０×４８０）の画像であれば、Ｍａｘ＿Ｘ＝６４０、Ｍａｘ＿Ｙ＝４８０を得る。また、２００万画素程度の写真画像（例えば、１６００×１２００）であれば、Ｍａｘ＿Ｘ＝１６００、Ｍａｘ＿Ｙ＝１２００を得る。
【００４８】
次に、図１２に示すように、制御部３は、画像３５の全画素について、被写体３７部分をビット情報「１」に変換し、余白３９部分をビット情報［０］に変換し、画像データ２７として記憶部５のＲＡＭ２１に格納する（ステップ１００３）。
【００４９】
尚、上記に示した、画像データをビット情報に変換する処理に関しては、被写体部分のビット情報を［１］、余白部分のビット情報を［０］などとする技術が開示されており、この技術を用いることができる（特開２００３−２２４８１９号公報参照）。
【００５０】
また、上記技術を採用したカメラ等で撮影した画像であれば、カメラ等において、被写体部分のビット情報を［１］、余白部分のビット情報を［０］とする処理が行われているため、文字列配置装置１において変換する処理は必要なくなる。
【００５１】
制御部３は、初期設定情報取得処理１０００を終了し、イベント監視２０００のステップに進む。
【００５２】
（３−３．イベント監視）
マウスやキーボード等の入力部１３から得られる操作をイベントとする。制御部３は、イベントを監視、即ち入力待ち状態である。図６にイベント監視２０００のフローチャートを示す。
【００５３】
制御部３は、イベントが発生すると（ステップ２００１）、イベント情報を読み取り、イベントが「アプリケーション終了」の場合、即ち図３にてアプリケーション終了ボタン４６がクリックされた場合には（ステップ２００２のＹＥＳ）、処理中のイベントを中断し（ステップ２００３）、アプリケーションを終了する。
【００５４】
イベントが、「アプリケーション終了」以外、例えばテキストエリア４５への文字入力やＯＫボタン４７のクリック、また文字列の移動操作等の場合（ステップ２００２のＮＯ）、制御部３は、既にイベント処理が動作中であれば（ステップ２００４のＹＥＳ）、当該イベント処理を中断して（ステップ２００５）、イベント処理３０００のステップに移る。イベント処理が動作中でなければ（ステップ２００４のＮＯ）、そのままイベント処理３０００のステップに移る。
【００５５】
尚、図６に示すイベント監視は、イベント処理３０００とは別個のスレッド（又はプロセス）として実行されており、制御部３は、常にイベント発生を監視する。
【００５６】
従って、イベント処理３０００にステップが移って、図７に示すイベント処理が実行されていても、制御部３が、イベント監視スレッド（又はプロセス）においてイベントの発生を検知するとイベント発生２００１のステップに移る。
【００５７】
このようにイベント監視スレッド（又はプロセス）とイベント処理スレッド（又はプロセス）を同時に実行し、制御部３が、イベント監視スレッド（又はプロセス）においてイベント発生を検知した場合には、制御部３は、図６に示すイベント監視のステップ２００５において、既に実行されているイベント処理を中断して、ステップ３０００において新たなイベント処理を再度実行することになる。
【００５８】
上述したように、イベント処理スレッド（又はプロセス）の実行中に、割り込みを認めることにより、画像上に最新の文字列領域を反映することができるようになるため、リアルタイムな表示を可能にする。
【００５９】
（３−３−０．イベント処理）
次に、図７に示すイベント処理３０００のフローチャートを説明する。制御部３は、イベント処理３０００を開始すると、まず文字列の形データ取得処理４０００を行う。詳細については図８で説明するが、入力文字列を１行毎に矩形領域として算出し、少なくとも１行からなる文字列の形を、矩形領域が合成されたデータとして取得する。
【００６０】
次に制御部３は、配置可能エリア表示処理５０００を行う。詳細については図９で説明するが、入力文字列が配置可能な領域（図３で示す文字配置可能領域５１）を表示する。
【００６１】
引き続き文字列が入力されている場合（ステップ３００１：文字列入力）は、文字列の形データ取得処理４０００に戻り、文字列が入力されるごとにステップ４０００及びステップ５０００の処理を繰り返し、文字列の形データ取得、及び配置可能エリア表示の更新を行う。
【００６２】
文字列入力が終了して、操作者によりＯＫボタン４７がクリックされると（ステップ３００１：ＯＫボタンクリック）、制御部３は文字列レイアウト配置処理６０００を行う。詳細については、図１０で説明する。制御部３は、文字列レイアウト配置処理６０００が終了すると、イベント処理３０００を終了し、イベント監視２０００に戻る。
【００６３】
（３−３−１．文字列の形データ取得処理）
図８は、文字列の形データ取得処理４０００のフローチャートを示す。制御部３は、図３（ａ）に示すテキストエリア４５内にイベントが発生すると、入力された文字列を読み取り、文字列の形をデータとして取得する。テキストエリア４５内のイベントとは、文字入力、入力文字の確定、文字の大きさ変更、書式変更、改行等の操作である。入力モードが直接入力の時は１文字ごと、直接モード以外は、文字の下の点線が消えた時点で確定とし、確定されるごとにテキストエリア４５内の文字列を全て読み込んで文字列の形を取得するものとする。
【００６４】
図１３は、テキストエリア４５に入力された文字列の１行目（ｉ＝１）を示す。ｊの値は、その文字が行の初めから何文字目であるかを示す。１行の中に含まれる複数の文字の大きさが様々であっても、文字列１行分毎に矩形データとして得るものとする。即ち１行を構成する文字のうち最も文字高の高いものを該文字列１行分の矩形データの高さとし、１行分の文字幅の累計を該文字列１行分の矩形データの幅とする。
【００６５】
例えば図１３に示す文字列は、行（ｉ＝１）の行基準点５７を（０，０）とすると、対角点が行サイズ５９を示す座標となり、対角点のＸ座標をＲｏｗ＿Ｗｉｄｔｈ、Ｙ座標をＲｏｗ＿Ｈｅｉｇｈｔと定義する。「Ｒｏｗ」は、「行の」という意味である。後述する図１５に示すが、Ｒｏｗ＿Ｗｉｄｔｈは行幅６７を示し、Ｒｏｗ＿Ｈｅｉｇｈｔは行最大高さ６９を示す。尚、テキストエリア４５の座標の単位は、ドット（画像を再現するための最小の単位）であり、データ（行幅６７、行最大高さ６９等）の単位もドットとする。
【００６６】
図１４は、改行されつつさらに文字列が入力されていき、複数行からなる文字列データ６０を示す。図１４は３行からなる文字列データ６０を示し、１、２、３行目の行幅６７はそれぞれＷ０、Ｗ１、Ｗ２であり、１、２，３行目の行最大高さ６９はそれぞれＨ０、Ｈ１、Ｈ２である。また、文字列データ６０としての文字列最大幅６１をＭａｘ＿Ｗｉｄｔｈ、文字列高６３をＴｏｔａｌ＿Ｈｅｉｇｈｔと定める。
【００６７】
後述するが、上記データ（Ｗ０、Ｗ１、Ｗ２、Ｈ０、Ｈ１、Ｈ２、Ｍａｘ＿Ｗｉｄｔｈ、Ｔｏｔａｌ＿Ｈｅｉｇｈｔ等）は、図８の文字列の形データ取得処理４０００のフローチャートに従って算出され、図１５、図１６に示す作業用データ２９として記憶部５のＲＡＭ２１に格納される。
【００６８】
図８の文字列の形データ取得処理４０００をフローチャートに沿って説明する。まず、制御部３は初期値としてｉ＝１（１行目）、ｊ＝１（１文字目）、行ごとの文字の累計幅：Ｗｉｄｔｈ＝０、行の最大高さ：Ｈｉｇｈｔ＝０を設定する（ステップ４００１）。尚、図８に示すＷｉｄｔｈは、図１５、図１６のＲｏｗ＿Ｗｉｄｔｈ（行幅６７）のことであり、Ｈｉｇｈｔは、Ｒｏｗ＿Ｈｅｉｇｈｔ（行最大高さ６９）のことである。
【００６９】
制御部３は、ｉ行目、ｊ番目の文字情報を取得する（ステップ４００２）。例えば図１３に示す１行目（ｉ＝１）、１番目（ｊ＝１）の文字「あ」は、文字幅ｗ、高さｈの情報を持つ。更に文字のフォントの種類、編集の有無などの情報を取得しても良い。
【００７０】
取得した文字情報の高さｈと、行の最大高さ：Ｈｅｉｇｈｔとを比較し、Ｈｅｉｇｈｔ＜ｈであれば（ステップ４００３のＹＥＳ）、Ｈｅｉｇｈｔをｈの値に置き換えて（ステップ４００４）、ステップ４００５に進む。Ｈｅｉｇｈｔ≧ｈならば（ステップ４００３のＮＯ）、Ｈｅｉｇｈｔの値は変更せずステップ４００５に進む。
【００７１】
次に、入力された文字が改行コードであるとき（ステップ４００５のＹＥＳ）、制御部３は、ｉ行目の文字列を矩形データとして得て、配列Ｒｏｗ［ｉ］＝（Ｗｉｄｔｈ、Ｈｅｉｇｈｔ）を、図１５に示す作業用データ２９として記憶部５に格納する（ステップ４００６）。即ち、行６５（ｉ）毎に、行幅６７（Ｒｏｗ＿Ｗｉｄｔｈ）、行最大高さ６９（Ｒｏｗ＿Ｈｅｉｇｈｔ）を格納する。例えば１行目の行幅６７は３０（ドット）、行最大高さ６９は１０（ドット）である。
【００７２】
尚、図１５の、行幅６７（Ｒｏｗ＿Ｗｉｄｔｈ）、行最大高さ６９（Ｒｏｗ＿Ｈｅｉｇｈｔ）は、図１３に示す行サイズ５９のＸ座標（Ｒｏｗ＿Ｗｉｄｔｈ）、Ｙ座標（Ｒｏｗ＿Ｈｅｉｇｈｔ）に対応し、異なる文字サイズから構成される行であっても、１行毎に１つの矩形データに変換する。
【００７３】
次に、制御部３は、行ごとの行幅と、行最大高さを初期化する。即ちＷｉｄｔｈ＝０、Ｈｅｉｇｈｔ＝０とする。また、行を１行加算し（ｉ＝ｉ＋１）、ｊ＝０として（ステップ４００７）、ステップ４０１０に進む。
【００７４】
一方、ステップ４００５において、入力された文字が改行コードでなければ（ステップ４００５のＮＯ）、即ち、文字が入力された場合は、文字の累計幅（行幅６７）に文字幅ｗを加算し、行幅６７：Ｗｉｄｔｈ＝Ｗｉｄｔｈ＋ｗとして更新する（ステップ４００８）。
【００７５】
制御部３は、ｉ行目の文字列の矩形データとして配列Ｒｏｗ［ｉ］＝（Ｗｉｄｔｈ、Ｈｅｉｇｈｔ）を得る（ステップ４００９）。また、制御部３は図１５のデータ（ｉ、Ｒｏｗ＿Ｗｉｄｔｈ、Ｒｏｗ＿Ｈｅｉｇｈｔ）を更新して記憶部５の作業用データ２９に格納し、ステップ４０１０に進む。
【００７６】
ステップ４０１０進み、テキストエリア４５に次の文字があると（ステップ４０１０のＹＥＳ）、制御部３はｊ＝ｊ＋１を実行し（ステップ４０１１）、次の文字に対してステップ４００２からの処理を繰り返す。
【００７７】
テキストエリア４５に次の文字がなくなると（ステップ４０１０のＮＯ）、制御部３は、図１５に示す行幅６７（Ｒｏｗ＿Ｗｉｄｔｈ）の最大値をＭａｘ＿Ｗｉｄｔｈとして記憶部５に作業用データ２９として格納する（ステップ４０１２）。例えば図１５では、Ｍａｘ＿Ｗｉｄｔｈは、２行目Ｒｏｗ（２）の場合の５０（ドット）である。
【００７８】
次に制御部３は、図１５に示す行最大高さ６９（Ｒｏｗ＿Ｈｅｉｇｈｔ）の和を、Ｔｏｔａｌ＿Ｈｉｇｈｔとして記憶部５の作業用データ２９として格納する（ステップ４０１３）。例えば図１５では、Ｔｏｔａｌ＿Ｈｉｇｈｔ＝１０＋１８＋１２＝４０（ドット）である。以上、文字列の形データ取得処理４０００を終了し、図７に示す配置可能エリア表示処理５０００に移る。
【００７９】
（３−３−２．配置可能エリア表示処理）
図９は、配置可能エリア表示処理５０００のフローチャートを示す。配置可能エリア表示処理５０００とは、図３（ｂ）に示すように、テキストエリア４５に入力された文字列が配置可能な領域（文字配置可能領域５１−１）を、算出して色等を変えて表示する処理である。文字が入力される都度、文字配置可能領域５１−１が更新される。即ち文字列データの占める領域が拡大するに従い、文字配置可能な領域は縮小されていく。
【００８０】
図９のフローチャートは、初期設定情報取得処理１０００で得られた画像３５の画像データ２７（図１２）に基づき、まず、合成しようとする文字列データ６０が被写体３７部分（即ちドットデータが［１］の部分）に重ならないかどうかを基準点５３（０，０）から順に走査する。次に、文字列データ６０の配置が可能であれば、文字列データ６０の左上が配置される座標、Ｘ座標８３、Ｙ座標８５を図１８の文字列配置可能座標リスト８１のＦｌａｇ＿Ｘ、Ｆｌａｇ＿Ｙとして格納していく。
【００８１】
図９のフローチャートを、図１７を参照して説明する。まず制御部３は、初期値としてｘ＝０、ｙ＝０を設定する（ステップ５００１）。即ち図１７の画像データ２７の基準点５３（０，０）から処理を開始する。座標（ｘ，ｙ）の画像データ２７が［０］であるかどうかを判断し、［０］でない場合（即ちそのドットが被写体３７部分であるとき）は（ステップ５００２のＮＯ）、座標軸Ｘ方向に走査を進めｘ＝ｘ＋１として（ステップ５００８）、ステップ５００９に進む。
【００８２】
座標（ｘ，ｙ）の画像データ２７が［０］、即ち画像データ２７が余白３９部分であれば（ステップ５００２のＹＥＳ）、合成しようとする文字列データ６０を構成するドット全体が余白３９部分に配置できるかどうかを判定する処理に移る。
【００８３】
座標（ｘ，ｙ）、及び図１５に示す行（ｉ）６５ごとの行幅６７（Ｒｏｗ＿Ｗｉｄｔｈ）、行最大高さ６９（Ｒｏｗ＿Ｈｅｉｇｈｔ）を基に、図１６に示す文字列データ６０の配置位置情報を算出し記憶部５に格納する（ステップ５００３）。
【００８４】
次に、制御部３は、図１６の配置位置情報に基づき、文字列データ６０の左上の座標（ｘ，ｙ）、行幅６７、行最大高さ６９情報から、文字列データ６０全体のドットをＢｉｔ情報７５として得て登録し、記憶部５に格納する（ステップ５００４）。即ち、文字列データ６０を配置する位置の画像データ２７（［０］又は［１］）をＢｉｔ情報７５［００００１１０００１・・・］として得て、Ｂｉｔ情報７５がすべて［０］であれば（ステップ５００５のＹＥＳ）、文字列データ６０の左上の座標７７を座標（ｘ，ｙ）に配置することが可能であると判断する。
【００８５】
制御部３は、座標７７（ｘ，ｙ）を図１８の文字列配置可能座標リスト８１のＸ座標８３、Ｙ座標８５に登録する（ステップ５００６）。座標７７（ｘ，ｙ）が図１７に示す位置にあるとすると、文字列データ６０−１を配置することが可能であり、文字列データ６０−１の全てのドットが占有する範囲（文字列データ６０−１を示す斜線部分）の色を変えて表示する（ステップ５００７）。或いは該当領域に斜線等を施しても良い。
【００８６】
次に、制御部３は、座標軸Ｘ方向に走査を進めｘ＝ｘ＋１として（ステップ５００８）、ステップ５００９に進む。
【００８７】
一方、ステップ５００５において、Ｂｉｔ情報７５に１つでも［１］が含まれていれば（ステップ５００５のＮＯ）、例えば図１７の文字列データ６０−２の位置のように、文字列が被写体３７部分にかかるので（文字列の一部あるいは全部が被写体３７部分に重なるので）、その座標（ｘ，ｙ）の位置には文字列配置ができないと判断される。制御部３は、座標軸Ｘ方向に走査を進めｘ＝ｘ＋１として（ステップ５００８）、ステップ５００９に進む。尚、図１７の文字列データ６０−２、６０−３は、配置可能エリアの算出を説明するために示したものであり、実際には被写体３７部分にかかるので図１７の様に表示されるわけではない。
【００８８】
次に、座標ｘの値がｘ＞Ｍａｘ＿Ｘ−Ｍａｘ＿Ｗｉｄｔｈであれば（ステップ５００９のＹＥＳ）、Ｘ座標を０とし座標軸Ｙ方向に走査を進める（ｘ＝０、ｙ＝ｙ＋１）（ステップ５０１０）。座標ｘの値がｘ＞Ｍａｘ＿Ｘ−Ｍａｘ＿Ｗｉｄｔｈでなければステップ５００２に戻る。
【００８９】
ステップ５０１０に続き、座標ｙの値がｙ＞Ｍａｘ＿Ｙ−Ｔｏｔａｌ＿Ｈｅｉｇｈｔであれば（ステップ５０１１のＹＥＳ）、配置可能エリア表示処理５０００を終了し、座標ｙの値がｙ＞Ｍａｘ＿Ｙ−Ｔｏｔａｌ＿Ｈｅｉｇｈｔでなければ、ステップ５００２に戻る。即ち、ステップ５００９とステップ５０１１とで決まる最終走査位置は、図１７に示す座標７９の位置である。
【００９０】
尚、文字列データ６０の左上の座標（ｘ，ｙ）が、画像データ２７上で走査されていくと、図１６の配置位置情報の値は、走査の都度、更新される。また、文字列配置可能座標リスト８１（図１８）は、文字列配置可能位置が得られる都度（即ちステップ５００５のＢｉｔ情報７５が全て［０］である位置が得られる都度）、Ｘ座標８３、Ｙ座標８５のデータ数が増加する。
【００９１】
配置可能エリア表示処理５０００が終了すると、図７に戻り、文字列入力が続けられている場合（ステップ３００１：文字列入力）、文字列の形データ取得処理４０００を繰り返す。文字列入力が終了し、ＯＫボタン４７がクリックされると（ステップ３００１：ＯＫボタンクリック）、制御部３は文字列レイアウト配置処理６０００に移る。尚、図６のイベント監視２０００に示したように、図７のイベント処理３０００は割り込み可能であり、文字列が入力される都度、新たにイベント処理３０００がなされる。
【００９２】
（３−３−３．文字列レイアウト配置処理）
次に、図１０に示す文字列レイアウト配置処理６０００について説明する。文字列レイアウト配置処理６０００は、図１９のように文字列データ６０を画像３５上に表示する機能である。また操作者が、文字列データ６０をマウスなどでドラッグアンドドロップして文字配置可能領域外の位置に移動させたとき、例えば図１９の座標８９の位置に文字列データ６０−３を置くと、最も距離の近い文字配置可能位置に自動的に文字列データ６０−４として移動して表示させる機能である。
【００９３】
まず、制御部３は、図１８に示す文字列配置可能座標リスト８１の１行目の座標（即ち、座標（０，０））に文字列データ６０の左上座標を合わせて表示する（図１９参照、ステップ６００１）。
【００９４】
表示された文字列データの配置位置を決定するＯＫボタン４７がクリックされると（ステップ６００２のＹＥＳ）、制御部３は文字列レイアウト配置処理６０００を終了して、イベント監視２０００の待機状態に戻る。
【００９５】
制御部３は、一定時間毎に、文字列データの左上の座標８９（ａ，ｂ）を監視する（ステップ６００３）。即ち、文字列データが、画像３５上で移動されたかどうかを一定時間毎に監視する。
【００９６】
座標（ｘ，ｙ）＝（ａ，ｂ）のとき、即ち文字列データが移動されていない場合（ステップ６００４のＹＥＳ）は、ステップ６００２に戻り文字列移動の監視を続ける。
【００９７】
座標（ｘ，ｙ）＝（ａ，ｂ）でないとき、即ち文字列データが画像３５上を移動された場合（ステップ６００４のＮＯ）、制御部３は、移動後の文字列データ６０の左上の座標８９（ａ，ｂ）が、文字列配置可能座標リスト８１（図１８）の中にあるかどうかを判定する。文字列配置可能座標リスト８１に文字列データ６０の左上の座標８９（ａ，ｂ）があるということは、当該位置に文字列データ６０の配置が可能であることを示す。
【００９８】
文字列配置可能座標リスト８１の中に文字列データ６０の左上の座標８９（ａ，ｂ）があると（ステップ６００５のＹＥＳ）、制御部３は文字列データ６０をその位置のまま、画像３５上に表示し（ステップ６００６）、ステップ６００２に戻る。
【００９９】
文字列配置可能座標リスト８１に文字列データ６０の左上の座標８９（ａ，ｂ）が無い場合（ステップ６００５のＮＯ）、制御部３は座標８９（ａ，ｂ）と文字列配置可能座標リスト８１に表示されている全部の座標（Ｆｌａｇ＿Ｘ、Ｆｌａｇ＿Ｙ）とからそれぞれＬｅｎｇｔｈ８７を算出する（図１８参照）。制御部３は、Ｌｅｎｇｔｈ８７を、座標８９（ａ，ｂ）と座標（Ｆｌａｇ＿Ｘ、Ｆｌａｇ＿Ｙ）との距離を示す数値指標として、下記の式（１）を用いて算出する。
Ｌｅｎｇｔｈ＝（Ｆｌａｇ＿Ｘ―ａ）２＋（Ｆｌａｇ＿Ｙ―ｂ）２……（１）
【０１００】
さらに、制御部３は、Ｌｅｎｇｔｈ８７が最小となる文字列配置可能座標リスト８１の中の座標（ｘ，ｙ）を抽出する（ステップ６００７）。
【０１０１】
制御部３は、図１９に示すように、座標８９（ａ，ｂ）の位置に文字列データ６０−３を点線で表示する（ステップ６００８）。文字列データ６０−３は、被写体３７に重なるのでこの位置に配置することはできないという意味で、点線で示される。
【０１０２】
制御部３は、Ｌｅｎｇｔｈ８７が最小となる文字列配置可能座標リスト８１の座標（ｘ，ｙ）の位置に、図１９に示すように文字列データ６０−４を移動して実線で表示し（ステップ６００９）、ステップ６００２に戻る。即ち、制御部３は、操作者によって文字列データ６０が移動された位置が被写体３７に重なる場合は、移動距離が最小となる文字配置可能領域５１（図１９）の位置に自動的に文字列データ６０を移動して表示する。
【０１０３】
操作者は、ステップ６００２の「ＯＫボタン」４７がクリックされるまで、一度画像３５上に移動配置された文字列データ６０を何度でもマウスでドラッグアンドドロップして配置する位置を検討することができる。
【０１０４】
また、本実施の形態では、配置可能エリア表示処理５０００のステップでは、文字列を入力しつつ配置可能領域の色表示や斜線表示を行うものであったが、同時に次のステップである文字列配置可能座標リスト８１の１行目の座標位置に文字列データ６０を表示させるようにしても良い。
【０１０５】
尚、本発明では、自動的に画像３５の被写体３７部分に文字列が重ならないように文字列の配置位置を移動させるものであったが、操作者が文字列配置を禁止する画像領域を、任意に指定するようにしてもよい。
【０１０６】
また、画像３５上に配置するのは文字列に限らず、別の小画像やイラスト、記号等であってもよい。文字列の場合と同様に、画像３５上に配置可能な領域を算出し、当該配置可能領域に自動的に小画像、イラスト、記号等を配置するようにする。
【０１０７】
また、本発明では文字列等をテキストエリア４５に直接操作者が入力していくものとして説明したが、ファイルデータから文字列等をテキストエリア４５に読み込むようにしても良い。
【０１０８】
また、本発明では、画像３５の被写体３７部分を避けて文字配置可能領域を表示させるようにしたが、例えば画像３５の画素の色情報（ＲＧＢ成分）を取得して、Ｒ成分が一定値以下の画素部分を文字配置可能領域にする等、文字配置可能領域の設定方法には種々の応用が考えられる。
【０１０９】
また、上述の説明では、文字列配置装置は、行毎に文字列を内包する矩形領域を作成して文字列領域を算出するものとしたが、これに限られない。例えば、各文字毎に当該文字を内包する矩形領域を作成し当該矩形領域の和集合を文字列領域として算出するようにしてもよい。また、矩形領域に限らず各文字の形態に応じて種々の形状の領域を文字列領域としてもよく、例えば、各文字の線の周縁部から所定の距離範囲内を文字列領域として算出するようにしてもよい。
【０１１０】
（４．効果等）
このように、本実施の形態では、文字列等を入力しつつ、リアルタイムに文字列の配置可能な画像領域を確認しながら、画像３５と文字列を容易に合成・編集できる効果がある。
【０１１１】
また、本実施の形態では、画像３５上の写真の被写体やロゴマークなどに、入力した文字列を重ならないように自動的に配置することができ、操作者の労力を軽減する効果がある。
【０１１２】
また、本実施の形態によれば、文字列の配置位置はドット単位で移動できるので、文字列の配置位置のずれを微細に調整することができる。
【０１１３】
また、本実施の形態では、静止画像だけではなく、動画上に表示されている文字列が、被写体やマーク等に重ならないように自動的に移動するシステムに応用することができる。
【０１１４】
尚、本発明の技術的範囲は、前述した実施の形態に限られるものではない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【０１１５】
【図１】本実施の形態における文字列配置装置１の構成を示す図
【図２】記憶部５の構成を示す図
【図３（ａ）】本実施の形態における文字列配置アプリケーションウィンドウ
【図３（ｂ）】文字列２文字を入力した図
【図３（ｃ）】複数の文字列を入力した図
【図４】主処理手順
【図５】初期設定情報取得処理１０００のサブルーチンを示す図
【図６】イベント監視２０００のサブルーチンを示す図
【図７】イベント処理３０００のサブルーチンを示す図
【図８】文字列の形のデータ取得処理４０００のサブルーチンを示す図
【図９】配置可能エリア表示処理５０００のサブルーチンを示す図
【図１０】文字列レイアウト配置処理６０００のサブルーチンを示す図
【図１１】画像３５を示す図
【図１２】［０］、［１］に変換された画像データ２７を示す図
【図１３】文字列ｉ＝１を示す図
【図１４】文字列データ６０を示す図
【図１５】文字列データ６０の矩形情報を示す図
【図１６】文字列データ６０と画像の重なりの算出を示す図
【図１７】文字列データ６０の配置位置の算出を説明する図
【図１８】文字列配置可能座標リスト８１を示す図
【図１９】文字列データ６０の配置と位置移動を説明する図
【符号の説明】
【０１１６】
１………文字列配置装置
３………制御部
５………記憶部
７………通信部
９………印刷部
１１………表示部
１３………入力部
１５………メディア入出力部
１７………バス
１９………ＲＯＭ
２１………ＲＡＭ
２３………実行プログラム
２５………ＯＳ
２７………画像データ
２９………作業用データ
３１………文字列配置アプリケーションウィンドウ
３３………画像表示領域
３５………画像
３７………被写体
３９………余白
４１………座標軸Ｘ
４３………座標軸Ｙ
４５………テキストエリア
４６………アプリケーション終了ボタン
４７………ＯＫボタン
４９−１、４９−２………文字列領域
５１−１、５１−２………文字配置可能領域
５３………基準点
５４………対角点
５５………画像幅
５６………画像高
５７………行基準点
５９………行サイズ
６０、６０−１、６０−２、６０−３………文字列データ
６１………文字列最大幅
６３………文字列高
６５………行
６７………行の幅
６９………行の最大高さ
７１………座標（ｘ）
７３………座標（ｙ）
７５………Ｂｉｔ情報
７７、７９、８９………座標
８１………文字列配置可能座標リスト
８３………Ｘ座標
８５………Ｙ座標
８７………Ｌｅｎｇｔｈ
【図１】
2005321908.tif 000003
【図２】
2005321908.tif 000004
【図３（ａ）】
2005321908.tif 000005
【図３（ｂ）】
2005321908.tif 000006
【図３（ｃ）】
2005321908.tif 000007
【図４】
2005321908.tif 000008
【図５】
2005321908.tif 000009
【図６】
2005321908.tif 000010
【図７】
2005321908.tif 000011
【図８】
2005321908.tif 000012
【図９】
2005321908.tif 000013
【図１０】
2005321908.tif 000014
【図１１】
2005321908.tif 000015
【図１２】
2005321908.tif 000016
【図１３】
2005321908.tif 000017
【図１４】
2005321908.tif 000018
【図１５】
2005321908.tif 000019
【図１６】
2005321908.tif 000020
【図１７】
2005321908.tif 000021
【図１８】
2005321908.tif 000022
【図１９】
2005321908.tif 000023