(57)【特許請求の範囲】
【請求項１】
特定文字について、所定の印刷属性による前記特定文字のボディ内における配置を表すボディ内配置情報を保持する保持手段と、
文字データを記憶する記憶手段と、
前記記憶手段に記憶された文字データに付加された印刷属性に基づき、前記文字データによって表される文字列の先頭文字から前記特定文字の直前の文字までで構成される前置文字列のボディ情報を抽出する抽出手段と、
前記文字データによって表される文字列内の前記特定文字の配置位置の指定を受け付ける配置位置指定手段と、
前記特定文字の基準位置の指定を受け付ける基準位置指定手段と、
前記抽出手段によって抽出された前置文字列のボディ情報から該前置文字列のボディに関するサイズを算出する第１算出手段と、
前記特定文字のボディ内配置位置を前記ボディ内配置情報と印刷属性に基づいて算出する第２算出手段と、
前記第１及び第２算出手段で算出された情報に基づいて、前記基準位置指定手段によって指定が受け付けられた前記特定文字の基準位置を前記配置位置指定手段によって指定が受け付けられた配置位置に配置した場合の当該文字列の先頭位置を算出する第３算出手段と、
前記第３算出手段で算出された先頭位置より前記文字列をレイアウトするレイアウト手段とを備えることを特徴とする情報処理装置。
【請求項２】
特定文字について、所定の印刷属性による前記特定文字のボディ内における配置を表すボディ内配置情報を保持する第１メモリと、文字データを記憶する第２メモリとを備えた情報処理装置による情報処理方法であって、
前記情報処理装置の抽出手段が、前記文字データに付加された印刷属性に基づき、前記文字データによって表される文字列の先頭文字から前記特定文字の直前の文字までで構成される前置文字列のボディ情報を抽出する抽出工程と、
前記情報処理装置の配置位置指定手段が、前記文字データによって表される文字列内の前記特定文字の配置位置の指定を受け付ける配置位置指定工程と、
前記情報処理装置の基準位置指定手段が、前記特定文字の基準位置の指定を受け付ける基準位置指定工程と、
前記情報処理装置の第１算出手段が、前記抽出工程によって抽出された前置文字列のボディ情報から該前置文字列のボディに関するサイズを算出する第１算出工程と、
前記情報処理装置の第２算出手段が、前記特定文字のボディ内配置位置を前記ボディ内配置情報と印刷属性に基づいて算出する第２算出工程と、
前記情報処理装置の第３算出手段が、前記第１及び第２算出工程で算出された情報に基づいて、前記基準位置指定工程で指定された前記特定文字の基準位置を前記配置位置指定工程で指定された位置に配置した場合の当該文字列の先頭位置を算出する第３算出工程と、
前記情報処理装置のレイアウト手段が、前記第３算出工程で算出された先頭位置より前記文字列をレイアウトするレイアウト工程とを備えることを特徴とする情報処理方法。
【請求項３】
前記情報処理装置の特定文字設定手段が、所望の文字を前記特定文字に設定する特定文字設定工程を更に備えることを特徴とする請求項２に記載の情報処理方法。
【請求項４】
前記情報処理装置の特定文字検索手段が、前記特定文字をレイアウト対象である前記文字列から検索する特定文字検索工程を更に備えることを特徴とする請求項２に記載の情報処理方法。
【請求項５】
前記第１メモリに保持される前記特定文字のボディ内配置情報は、該特定文字の輪郭に外接する外接矩形のボディ内における位置を示すことを特徴とする請求項２に記載の情報処理方法。
【請求項６】
前記情報処理装置の外接矩形抽出手段が、特定文字として設定された文字の所定の印刷属性における文字輪郭情報を抽出しその外接矩形を抽出する外接矩形抽出工程と、
前記情報処理装置の配置情報算出手段が、前記外接矩形抽出工程で抽出された外接矩形と前記文字のボディとの位置関係を表すボディ内配置情報を算出する配置情報算出工程と、
前記情報処理装置の保持手段が、前記配置情報算出工程で算出されたボディ内配置情報を前記特定文字と対応付けて前記第１メモリに保持させる保持工程とを更に備えることを特徴とする請求項２に記載の情報処理方法。
【請求項７】
前記保持工程では、複数の書体について前記配置情報算出工程において得られたボディ内配置情報を前記第１メモリに保持させることを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記保持工程では、複数の書体のうちの使用頻度の高い書体について前記配置情報算出工程において得られたボディ内配置情報を前記第１メモリに保持させることを特徴とする請求項６に記載の情報処理方法。
【請求項９】
請求項２乃至８のいずれか１項に記載の情報処理方法をコンピュータに実行させるための制御プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【本発明の属する技術分野】
本発明は、編集機能を有する情報処理装置及び情報処理方法並びに記憶媒体に関し、例えば、高精細の版下を作成するための情報処理装置及び情報処理方法並びに記憶媒体に用いて好適なものである。
【０００２】
【従来の技術】
編集機能を有する情報処理装置の一例として、印刷データ、特に製品本体やそのパッケージやマニュアル類などに表示する、図形や文字やイラストなどの版下用の印刷データを作成する、ＣＡＤやＤＴＰ（Desk Top Publishing）などの、対話形式の作図システムがある。
【０００３】
従来、この種の情報処理装置において文字列中の特定文字が指定位置に表示されるように文字列を配置する場合には、タブの設定位置を指定位置とし、特定文字のボディ左端が指定位置になるように配置するとう方法が一般に用いられている。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来例では、以下のような問題があった。
【０００５】
例えば、特定文字をピリオドに設定し、複数行に書かれている数値データのピリオド位置を指定位置に揃えようとする場合、あるひとつの数値データを強調する為に太字フォント（Bold系）を使用したり、文字サイズを大きくしたり、斜体角度を設定したりする場合がある。このような場合、上記従来例では、ピリオドのボディ、即ち文字輪郭に対する外接矩形に一定の割合の空白部分が設定されているボックスの左端が指定位置に配置される。この為、このように文字属性の異なる文字列があると、文字列ごとにボディ内の空白部分の大きさが変わったり、斜体角度により文字輪郭形状が変わり、ピリオドの位置が揃って見えなくなってしまうという問題があった。
【０００６】
また、特定文字の位置をタブの設定位置で指定する為、正確な位置を指定するのが難しいという問題があった。
【０００７】
本発明は、上記の問題点を解決する為になされたもので、文字列配置位置を高精度に決定することを目的とする。
【０００８】
【課題を解決するための手段】
上記の目的を達成するための本発明の情報処理装置は、たとえば以下の構成を備える。すなわち、
特定文字について、所定の印刷属性による前記特定文字のボディ内における配置を表すボディ内配置情報を保持する保持手段と、
文字データを記憶する記憶手段と、
前記記憶手段に記憶された文字データに付加された印刷属性に基づき、前記文字データによって表される文字列の先頭文字から前記特定文字の直前の文字までで構成される前置文字列のボディ情報を抽出する抽出手段と、
前記文字データによって表される文字列内の前記特定文字の配置位置の指定を受け付ける配置位置指定手段と、
前記特定文字の基準位置の指定を受け付ける基準位置指定手段と、
前記抽出手段によって抽出された前置文字列のボディ情報から該前置文字列のボディに関するサイズを算出する第１算出手段と、
前記特定文字のボディ内配置位置を前記ボディ内配置情報と印刷属性に基づいて算出する第２算出手段と、
前記第１及び第２算出手段で算出された情報に基づいて、前記基準位置指定手段によって指定が受け付けられた前記特定文字の基準位置を前記配置位置指定手段によって指定が受け付けられた配置位置に配置した場合の当該文字列の先頭位置を算出する第３算出手段と、
前記第３算出手段で算出された先頭位置より前記文字列をレイアウトするレイアウト手段とを備える。
【０００９】
また、上記の目的を達成するための本発明の情報処理方法はたとえば以下の工程を備える。すなわち、
特定文字について、所定の印刷属性による前記特定文字のボディ内における配置を表すボディ内配置情報を保持する第１メモリと、文字データを記憶する第２メモリとを備えた情報処理装置による情報処理方法であって、
前記情報処理装置の抽出手段が、前記文字データに付加された印刷属性に基づき、前記文字データによって表される文字列の先頭文字から前記特定文字の直前の文字までで構成される前置文字列のボディ情報を抽出する抽出工程と、
前記情報処理装置の配置位置指定手段が、前記文字データによって表される文字列内の前記特定文字の配置位置の指定を受け付ける配置位置指定工程と、
前記情報処理装置の基準位置指定手段が、前記特定文字の基準位置の指定を受け付ける基準位置指定工程と、
前記情報処理装置の第１算出手段が、前記抽出工程によって抽出された前置文字列のボディ情報から該前置文字列のボディに関するサイズを算出する第１算出工程と、
前記情報処理装置の第２算出手段が、前記特定文字のボディ内配置位置を前記ボディ内配置情報と印刷属性に基づいて算出する第２算出工程と、
前記情報処理装置の第３算出手段が、前記第１及び第２算出工程で算出された情報に基づいて、前記基準位置指定工程で指定された前記特定文字の基準位置を前記配置位置指定工程で指定された位置に配置した場合の当該文字列の先頭位置を算出する第３算出工程と、
前記情報処理装置のレイアウト手段が、前記第３算出工程で算出された先頭位置より前記文字列をレイアウトするレイアウト工程とを備える。
【００１０】
【発明の実施の形態】
図１は、本発明の一実施形態に係る情報処理装置のハードウエア構成を示すブロック図である。
【００１１】
この図１において、２１は中央処理装置（ＣＰＵ）であり、本装置の全体の制御や演算処理を行なう。また、１１は、文字や数値の入力を行なうためのキーボードであり、１２は、座標や図形を指示するためのマウスである。また、４１は表示装置であり、図形データおよび文字データ、各種操作パネルやボタンを表示する。
【００１２】
また、３１は読出専用記憶装置（ＲＯＭ）であり、本実施形態に係るプログラムは、このＲＯＭ３１に格納され、ＣＰＵ２１によって実行される。３２は読出書込記憶装置（ＲＡＭ）であり、本実施形態に係るプログラムの実行中、ＣＰＵ２１は、必要に応じて、ＲＡＭ３２に、データを読み書きしながら処理を行なう。３３は、フロッピーディスク装置（ＦＤ）やハードディスク装置（ＨＤ）などの外部記憶装置であり、文字の書体情報やコード情報などのデータが格納されている。
【００１３】
なお、本実施形態に係るプログラムを、外部記憶装置３３に格納させておき、ＲＡＭ３２に読み込んでから、ＣＰＵ２１によって実行するようにしてもよいし、また、文字の書体情報やコード情報などのデータを、ＲＯＭ３１に格納させておき、ＣＰＵ２１が、必要に応じて、それらのデータを読み出して使用するようにしてもよい。
【００１４】
また、５１はレーザープリンタであり、本装置によって作成された印刷データを、校正刷り（印刷データの確認のための出力）し、また、印刷ログファイルの内容を出力する。５２はイメージセッターであり、本装置によって作成された印刷データを、清刷り（正式な版下となる高精度な出力）する。５３はレーザーマーカーであり、本装置によって作成された印刷データを、レーザーで直接、製品に焼き付ける。
【００１５】
以下、レーザープリンタ５１と、イメージセッター５２と、レーザーマーカー５３の違いについて説明する。
【００１６】
まず、レーザープリンタ５１は、レーザーを感光ドラムに照射してトナーを吸着させ、それを紙に転写するプリンタであり、解像度は、１５００ＤＰＩ程度まで可能である。また、イメージセッター５２は、レーザーを直接、感光紙に照射するプリンタであり、解像度は、４０００ＤＰＩ程度まで可能であり、また、用紙サイズは、Ａ１程度まで可能である。また、レーザーマーカー５３は、レーザーを直接、成形品に照射し、樹脂材料を溶融して黒化させるか、充填材を配合した特殊材料を使用して発色させる印刷装置である。
【００１７】
なお、２２はシステムバスであり、本装置を構成するハードウエアの各要素は、全て、このシステムバス２２を介して、プログラムおよびデータの受け渡しを行なっている。
【００１８】
次に、本実施形態に係る表示装置４１における表示機能について説明する。
【００１９】
本実施形態に係る情報処理装置は、図形データおよび文字データを、印刷時の出力形態と同じ表示形態のイメージで、表示装置４１へ表示する制御を行なう、いわゆるＷＹＳＩＷＹＧの機能を有しており、これを説明する図が、図２である。
【００２０】
図２（ａ）は、ＷＹＳＩＷＹＧの表示例であり、この図２（ａ）の表示形態は、印刷時の出力結果の例である図２（ｃ）の出力形態と同じとなっている。一方、図２（ｂ）は、ＷＹＳＩＷＹＧではない表示の例であり、この図２（ｂ）の表示形態は、印刷時の出力結果の例である図２（ｃ）の出力形態とは異なっている。
【００２１】
次に、本実施形態に係る表示装置４１上の操作画面について説明する。
【００２２】
図３は、本実施形態に係るプログラム実行時に表示装置４１に表示されるメインパネル６１を示した図である。
【００２３】
この図３において、６１はメインパネル、６２は作画エリア、６３はマウスポインタ、６４は文字入力エリア、６５はボタン群、６６は汎用ボタン、６７はコマンドメニュー、６８はガイダンスエリア、７１はメインパネル以外のパネル、７２はパネル７１上のボタンである。また、これら図３上のボタンは、全てソフトキーである。
【００２４】
このメインパネル６１上で、キーボード１１や、マウス１２などの入力装置を操作することによって、対話的に、印刷データの作成および編集作業を行なう。作成された印刷データは、作画エリア６２に表示される。
【００２５】
また、必要に応じて、メインパネル６１以外に、各種のパネル７１が表示され、パネル７１上で、操作を行なうこともある。
【００２６】
以下、この図３を用いて、本実施形態における、さまざまな入力方法について説明する。
【００２７】
キーボード１１から入力を行なう場合には、文字入力エリア６４を、マウス１２またはキーボード１１で指示してから、文字または数値を入力する。
【００２８】
また、マウス１２から入力を行なう場合には、以下の方法を用いる。
【００２９】
まず、特定の要素やボタンを選択する方法としては、次の（１）と（２）の、２つの方法がある。
【００３０】
（１）要素選択：作画エリア６２に表示されている、印刷データのある場所に、マウスポインタ６３を移動させて、その位置で、例えばマウス左ボタンを押し下げることによって、操作の対象とする要素を選択する。
【００３１】
（２）ボタン選択：メインパネル６１に表示されている、各種のボタン６５や汎用ボタン６６や、必要に応じて表示されるパネル７１に表示されている、各種のボタン７２の位置に、マウスポインタ６３を移動させて、その位置で、例えばマウス左ボタンを押し下げることによって、操作の対象とするボタンを選択する。
【００３２】
また、作画エリア６２上の特定の位置を指定する方法として、次の（３）から（７）までの、５つの方法がある。
【００３３】
（３）任意指定：作画エリア６２上の、任意の位置に、マウスポインタ６３を移動させて、その位置で、例えばマウス右ボタンを押し下げることによって、位置を指定する。
【００３４】
（４）点指定：作画エリア６２に表示されている、点を要素選択することによって、位置を指定する。
【００３５】
（５）特徴点指定：作画エリア６２に表示されている、点以外の要素を要素選択することによって、その要素の特徴となる点をＣＰＵ２１が抽出し、位置を指定する。
【００３６】
ここで、特徴点が複数存在する場合に、１点を特定する方法には、要素選択した際のマウスポインタ６３の位置に最も近い特徴点をＣＰＵ２１が自動的に抽出する方法、複数存在する特徴点の中からさらに１点を点指定する方法、などがある。
【００３７】
図４に、図形データの各要素の特徴点の例を示す。図中、＊印で示した点が、特徴点である。なお、これら特徴点の具体的な位置は、以下に示す通りである。・線分：両端点、中点
・円：中心点、円の中心からＸおよびＹ軸方向に引いた直線と円との交点（４点）
・円弧：中心点、両端点、中点（円弧の距離を二分する円弧上の点）
・楕円：中心点、楕円の短軸および長軸と楕円との交点（４点）
・楕円弧：中心点、両端点、楕円弧の短軸および長軸と楕円弧を含む楕円との交点（４点）、中点（楕円弧の距離を二分する楕円弧上の点）
・線分列：線分列を構成する各線分の両端点、中点
・自由曲線：両端点、曲線の制御点、中点（自由曲線の距離を二分する点）。
【００３８】
（６）交点指定：作画エリア６２に表示されている、線分や円などの線要素を、１個または２個、要素選択することによって、それらの要素の交点をＣＰＵ２１が算出し、位置を指定する。
【００３９】
ここで、単一の線要素が、それ自体で交点を持つ場合、すなわち、自己交差している場合は、線要素を１個、要素選択するだけでよい。その他の場合は、２個の線要素を指定する。
【００４０】
交点が複数存在する場合に、１点を特定する方法には、先または後に要素選択した際のマウスポインタ６３の位置に最も近い交点をＣＰＵ２１が自動的に抽出する方法、複数存在する交点の中からさらに１点を点指定する方法、などがある。
【００４１】
図５に、線分と円弧を要素選択して、交点指定によって、位置を指定した例を示す。図中、レ印で示した位置で、線分、円弧、の順で、要素選択を行ない、＊印の位置が、交点指定によって指定されたことを示している。
【００４２】
（７）線上点指定：作画エリア６２に表示されている、線分、円などの、線要素を１個、要素選択することによって、その時のマウスポインタ６３の位置に最も近い、線要素上の点をＣＰＵ２１が算出し、位置を指定する。
【００４３】
図６に、円弧を要素選択して、線上点指定によって、位置を指定した例を示す。図中、レ印で示した位置で、要素選択を行ない、＊印の位置が、線上点指定によって指定されたことを示している。レ印の点は、円弧近傍の点、＊印の点は、円弧上の点である。
【００４４】
次に、本実施形態で扱う「コマンド」について説明する。本実施形態では、印刷データの作成および編集作業の各単位を「コマンド」と呼んでいる。
【００４５】
本実施形態で扱うコマンドには、点、直線、円、曲線、など、各要素を作成するコマンド（作図コマンド）や、移動、複写、削除、属性、など、各要素の形状や属性などを修正するコマンド（修正コマンド）や、その他、ファイル、プリント、トンボ、バーコード、等に関するコマンドなどがある。
【００４６】
印刷データの作成や編集を行なうには、まず、作業単位に合わせた、任意のコマンドを１つ選択する。コマンドの選択には、文字入力エリア６４で、コマンドの名称をキーボード１１から入力する方法や、コマンドの名称があらかじめ設定されているメインパネル６１上のボタン６５を、ボタン選択する方法などがある。
【００４７】
コマンドの選択が行なわれると、それまで、すでに選択されているコマンドがあった場合には、そのコマンドの終了処理が行なわれる。続いて、新たに選択されたコマンドの初期処理が行なわれ、コマンド内の処理に入る。
【００４８】
コマンドが選択されると、表示装置４１上に、選択されたコマンド内での、さらに細かい作業単位を選択するための、コマンドメニュー６７が表示される。ユーザーは、コマンドメニュー６７の任意のメニュー項目のボタンをボタン選択することによって、各種の編集作業を行なうことができる。ユーザーがどのような操作を行なえばよいかといった指示は、作業の状況に応じて、その都度、ガイダンスエリア６８に表示されるので、ユーザーは、この指示に従って、操作を行なえばよい。
【００４９】
［印刷データの説明］
○印刷データの要素
次に、本実施形態に係る情報処理装置で作成できる印刷データを構成する、図形データおよび文字データの要素に、どのような種類が存在するのかを、具体的に説明することにする。
【００５０】
本実施形態に係る情報処理装置で作成できる、図形データおよび文字データの要素には、大きく分けて、以下の（Ａ）〜（Ｅ）の５つの種類がある。
（Ａ）基本図形：点、線分、線分列（開／閉）、円、円弧、楕円、楕円弧、自由曲線（開／閉）
（Ｂ）塗り潰し図形
（Ｃ）その他の図形：トンボ、バーコード
（Ｄ）テキスト
（Ｅ）グループ図形：シンボル、イラスト。
【００５１】
ここでいう要素とは、図形データまたは文字データに、印刷データとして必要な属性（印刷属性と呼ぶ）を付加して、実際に、印刷データとしてレイアウトされる、データの単位を意味している。また、印刷データとしてレイアウトされた複数の要素をまとめてグループ化すれば、それを１つの要素として扱うこともできる。要素のグループ化の方法については、後述する。
それでは、以上の（Ａ）〜（Ｅ）の５つの種別について、以下に詳細に説明することにする。
【００５２】
まず、（Ａ）の基本図形は、最も基本となる図形データの要素である。このほか、線分列によって構成される、矩形（各辺がＸおよびＹ軸に平行である長方形）、正多角形などを、基本図形の要素として扱うこともできる。また、自由曲線としては、ベジェ、有理ベジェ、Ｂスプライン、エルミート、ＮＵＲＢＳなどの表現形式を扱うことができる。
【００５３】
また、（Ｂ）の塗り潰し図形は、（Ａ）の要素（点を除く）を単独で、または、複数を連結させることで、閉領域を形成し、その内部を塗り潰した図形データの要素である。塗り潰しの方法には、次の４種類がある。
（１）フィルエリア：内部を均一に塗り潰す。
（２）ハッチング：一定の傾きと間隔を持った複数の線分で塗り潰す。塗り潰し図形内の特定の点を、ハッチングの基準点として指定することもできる。
（３）メッシュ：円、矩形、正多角形など、一定の形状の図形の繰り返しで塗り潰す。塗り潰し図形内の特定の点を、メッシュの基準点として指定することもできる。
（４）パターン：あらかじめ作成されたビットパターンの繰り返しで塗り潰す。
【００５４】
また、（Ｃ）のその他の図形には、トンボ、バーコードなどがある。これらの要素は、図形データと、文字データの両方を含んでいる。トンボ、バーコードの各要素の作成方法については、後述する。
【００５５】
また、（Ｄ）のテキストは、文字データの要素である。図形データの要素と同様に、印刷データとしてレイアウトすることができるが、印刷属性の種類や、レイアウトの方法は、図形データの要素とは異なる。
【００５６】
最後に、（Ｅ）のグループ図形は、（Ａ）の基本図形、（Ｂ）の塗り潰し図形、（Ｃ）のその他の図形、（Ｄ）のテキストの各要素を、１つ以上任意の数だけ選択して、まとめて１つの要素として扱うためのもので、シンボルとイラストがある。
【００５７】
○印刷データの印刷属性
次に、本実施形態に係る情報処理装置で作成できる印刷データである、図形データおよび文字データの印刷属性に、どのような種類が存在するのかを、具体的に説明することにする。
【００５８】
本実施形態に係る情報処理装置で作成できる、図形データおよび文字データの印刷属性には、大きく分けて、以下の（ａ）〜（ｇ）の７つの種類がある。
【００５９】
まず、図形データおよび文字データに共通の印刷属性には、次に示す（ａ）〜（ｃ）の３つの種類がある。
（ａ）表示属性：要素を表示するか否か、また、表示する場合に、どのような上下関係で表示するか（表示プライオリティと呼ぶ）を指定する。
（ｂ）選択属性：要素選択が可能であるか否かを指定する。要素選択を不可にすると、その要素に対しての操作は行なえなくなる。
（ｃ）色属性：ＲＧＢあるいはＨＬＳなどのカラーモデルの種別、および、カラーコードの値を与えることによって、要素の色を表現する。白と黒以外の色が表現できないモノクロームの、表示装置４１またはレーザープリンタ５１などの印刷装置を使用している場合、色属性に応じて、白または黒のどちらかの色に変換されて、出力される。
【００６０】
次に、図形データ固有の印刷属性には、次に示す（ｄ）〜（ｆ）の３つの種類がある。
（ｄ）点属性：点要素の場合、点のある位置に記号を表示したり、文字列を表示したりすることができる。
（ｅ）線属性：点以外の基本図形の要素（線要素）の場合、次に示す、さまざまな線の属性を表現することができる。
・線種：線要素の形状を示し、実線、破線、一点鎖線、二点鎖線、などがある。・線幅：線要素の法線方向の大きさを示す。あらかじめ定められた、細線、中線、太線、などの種別を指定したり、実寸で指定したりすることができる。
・線幅方向：線幅を考慮しない場合から、法線方向のどちらに線幅分だけオフセットさせるかを示す。
・終端形状：線分や円弧などの開図形の終端の形状で、ラウンド、フラット、スクエア、などがある。
・接続形状：線分列や矩形などの図形の角の形状で、マイター、ラウンド、ベベル、などがある。
・線ピッチ：線種が実線以外の場合、線が存在する部分と、存在しない部分の長さを、それぞれ、実寸またはパラメータで与えることができる。
（ｆ）塗り潰し属性：塗り潰し図形要素の場合、フィルエリア、ハッチング、メッシュ、パターン、などの内部の塗り潰し方法の種類や、ハッチングやメッシュの場合の、必要な詳細データ、パターンの場合の、パターン番号を与える。
【００６１】
最後に、文字データ固有の印刷属性には、次に示す（ｇ）の１種類のみがある。
（ｇ）文字列属性：テキスト要素の場合、次に示す、さまざまな、文字の属性、および文字列全体の属性を表現することができる。
・書体：一組の文字のデザインを表し、クーリエ、ヘルベチカ、ゴシック、などがある。
・文字サイズ：文字の大きさを表し、一般には１つの文字が専有する矩形領域＝ボディ（文字ボックスと表現する場合もある）、の行送り方向の高さと等しい。
・平体率：文字を、文字の行送り方向にどれだけ縮めるかを比率で表す。
・長体率：文字を、文字の字送り方向にどれだけ縮めるかを比率で表す。
・ベース角：文字の字送り方向がＸ軸となす角度を表す。
・斜体角：文字の字送り方向に対する、文字の傾斜角度を表す。
・字間：同一行の隣接する２文字のボディの間隔を表す。
・行間：隣接する２行にある文字のボディの間隔を表す。
・文字列反転：文字列を反転（鏡像）して表示する。
【００６２】
○印刷データのデータ構造
次に、本実施形態における印刷データのデータ構造について説明する。本実施形態における印刷データは、一般に、既に説明したような、複数の要素データ、複数の印刷属性データから構成されている。
【００６３】
ここで、各要素データは、基本的に、データ種別コード、データ番号、各要素ごとの必要データ、各要素ごとの必要印刷属性データのデータ番号、という構成になっている。
【００６４】
そして、印刷データ内でユニークに付けられたデータ種別コードによって、印刷データ内の各要素データの種別を特定することができる。また、印刷データ内でユニークに付けられたデータ番号によって、印刷データ内の各要素データを特定することができる。各要素ごとに、必要データ、必要印刷属性の種類は異なるが、データ種別コードによって、ＣＰＵ２１は、これらを識別することが可能である。
【００６５】
また、各印刷属性については、各要素データごとに保持するのではなく、各要素データでは、必要な印刷属性データのデータ番号のみを保持するようにしている。これによって、印刷属性データの重複を避け、印刷データの容量を縮小することや、複数の要素データの印刷属性を一度の操作で変更することなどが可能になっている。
【００６６】
それでは、まず、図形データおよび文字データの各要素のデータ構造を、以下に具体的に示すことにする。
【００６７】
（Ａ）基本図形
（１）点
・データ種別コード
・データ番号
・点座標：ｃ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・点属性のデータ番号
（２）線分
・データ種別コード
・データ番号
・始点座標：ｓ［２］
・終点座標：ｅ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（３）線分列
・データ種別コード
・データ番号
・通過点数：ｎｐ
・各通過点座標：ｐｐ［２］（ｎｐ個）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（４）円
・データ種別コード
・データ番号
・中心座標：ｃ［２］
・半径：ｒ
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（５）円弧
・データ種別コード
・データ番号
・始点座標：ｓ［２］
・終点座標：ｅ［２］
・中心座標：ｃ［２］
・回り方向フラグ（時計回り／反時計回り）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（６）楕円
・データ種別コード
・データ番号
・中心座標：ｃ［２］
・長軸ベクトル：ａ［２］
・短軸ベクトル：ｂ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（７）楕円弧
・データ種別コード
・データ番号
・始点座標：ｓ［２］
・終点座標：ｅ［２］
・中心座標：ｃ［２］
・長軸ベクトル：ａ［２］
・短軸ベクトル：ｂ［２］
・回り方向フラグ（時計回り／反時計回り）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（８）自由曲線（ベジェ曲線の場合）
・データ種別コード
・データ番号
・曲線数：ｎｖ
・各曲線の制御点データ（ｎｖ個）：
制御点数：ｎｃ
各制御点座標：ｐｃ［２］（ｎｃ個）
重み係数：ｗ
・通過点数：ｎｐ
・各通過点座標：ｐｐ［２］（ｎｐ個）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号。
【００６８】
（Ｂ）塗り潰し図形
・データ種別コード
・データ番号
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・ループ数：ｎｌ
・各ループの構成要素データ（ｎｌ個）：
構成要素数：ｎｄ
構成要素データ：点を除く基本図形要素データ（ｎｄ個）
・通過基準点座標：ｐｐ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・塗り潰し属性のデータ番号
・枠の表示属性のデータ番号
・枠の色属性のデータ番号
・枠の線属性のデータ番号
（塗り潰し図形では、印刷属性として、塗り潰し図形の内部の印刷属性の他に、塗り潰し図形の枠の印刷属性を別に持っている。例えば、内部の色属性と、枠の色属性を変えて表示することなどが可能である）。
【００６９】
（Ｃ）その他の図形
（１）トンボ
・データ種別コード
・データ番号
・トンボ種別フラグ（トンボ／スケールトンボ）
・トンボ形状フラグ（トンボの場合は１１種類／スケールトンボの場合は３種類）
・トンボオフセットフラグ（オフセットあり／なし）
・印刷データ名称（スケールトンボの場合）
・トンボ長さ（スケールトンボの場合）
・レイアウト基準点座標：ｐｂ［２］
・出力倍率：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素数：ｎｄ
・構成要素データ：トンボの場合は線分、スケールトンボの場合は線分、円、テキストのいずれかの要素データ（ｎｄ個）
（２）バーコード
・データ種別コード
・データ番号
・バーコード種別フラグ（４種類）
・コードデータ
・コード表示フラグ（コード表示あり／なし）
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素数：ｎｄ
・構成要素データ：線分、テキストのいずれかの要素データ（ｎｄ個）。
【００７０】
（Ｄ）テキスト
（１）基本文字列（テキストを構成する要素）
・データ種別コード
・データ番号
・文字列開始点座標：ｐｔ［２］
・文字列バイト数：ｎｃｈ
・文字列データ：ｓｔｒ（ｎｃｈバイト）
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・文字列属性のデータ番号
（２）テキスト
・データ種別コード
・データ番号
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素数：ｎｄ
・構成要素データ：基本文字列の要素データ（ｎｄ個）
（テキスト要素は、複数の基本文字列要素を組み合わせて構成される。これによって、ひとつのテキスト要素の中で、複数の文字列属性を持った文字列を扱うことが可能となる。例えば、ひとつのテキストの途中で文字の書体を変更したり、文字の高さや幅を変更したり、といった制御が可能である）。
【００７１】
（Ｅ）グループ図形
（１）シンボル
・データ種別コード
・データ番号
・フォルダー名称
・ファイル名称
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・反転フラグ（反転あり／なし）
・線幅スケールフラグ（線幅スケールあり／なし）
・線幅スケール値
（２）イラスト
・データ種別コード
・データ番号
・フォルダー名称
・ファイル名称
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・反転フラグ（反転あり／なし）
・構成要素数：ｎｄ
・構成要素データ：任意の要素データ（ｎｄ個）
（シンボルおよびイラストのデータ構造の特徴、およびシンボルデータファイルおよびイラストデータファイルのファイル構造については、後述する）。
【００７２】
次に、上述したようなデータ構造を有する要素データに対する印刷属性データのデータ構造について説明する。
【００７３】
ここで、各印刷属性データは、基本的に、データ種別コード、データ番号、属性設定フラグ、各印刷属性ごとの必要データ、という構成になっている。
【００７４】
印刷データ内でユニークに付けられたデータ種別コードによって、印刷データ内の各印刷属性データの種別を特定することができる。また、印刷データ内でユニークに付けられたデータ番号によって、印刷データ内の各印刷属性データを特定することができる。各印刷属性ごとに、必要データは異なるが、データ種別コードによって、ＣＰＵ２１は、これらを識別することが可能である。
【００７５】
また、属性設定フラグとは、その印刷属性データが有効であるか否かを指定するフラグである。属性設定フラグが有効である印刷属性データを指示している要素データでは、該当する印刷属性データに従って、要素が表示される。一方、属性設定フラグが無効である印刷属性データを指示している要素データでは、該当する印刷属性は設定されていない状態であると見なし、あらかじめＲＯＭ３１や外部記憶装置３３に記憶されているデフォルトの印刷属性に従って、要素が表示される。
【００７６】
また、各要素データに階層関係を持たせることが可能なデータ構造とした場合には、上位の（または下位の）要素の印刷属性に従って表示を行なったりする制御も可能である。
【００７７】
それでは、各印刷属性データのデータ構造を、以下に具体的に示すことにする。
（ａ）表示属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・表示フラグ（表示／非表示）
・表示プライオリティ
（ｂ）選択属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・要素選択フラグ（可／不可）
（ｃ）色属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・カラーコード種別フラグ（ＲＧＢ／ＨＬＳ）
・カラーコード１、２、３
（ｄ）点属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・マーカー文字列
（ｅ）線属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・線種フラグ（実線／破線／一点鎖線／二点鎖線／任意破線／任意一点鎖線／任意二点鎖線）
・線幅フラグ（細線／中線／太線／極太線／任意線幅）
・線幅方向フラグ（中央／内側／外側）
・終端形状フラグ（ラウンド／フラット／スクエア）
・接続形状フラグ（マイター／ラウンド／ベベル）
・線種データ１、２、３、４（線種＝任意のとき）
・線幅データ（線幅＝任意のとき）
（ｆ）塗り潰し属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・塗り潰し種別フラグ（塗り潰しあり／塗り潰しなし／ハッチング／メッシュ番号／パターン番号など）
・データグループ数：ｎｄ
・塗り潰しデータ１、２、３（ｎｄ個）
（ｇ）文字列属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・書体
・文字サイズ
・平体率
・長体率
・ベース角
・斜体角
・字間
・行間
・文字列反転フラグ（あり／なし）。
【００７８】
図７に、以上示した印刷データのデータ構造に基いて、本実施形態に係る情報処理装置で作成された、印刷データファイルの一例を示す。
この図７に示された印刷データは、図８に示すような形状の図形を印刷するためのものであり、本実施形態においては、図７に示す印刷データにより表現される図形が、基本図形の要素から成り、１個の線分列と２個の円と、これら３要素の外接矩形の左下点および右上点の２点（この２点は非表示で選択不可）から構成されるものとし、また、これら１個の線分列と２個の円が、それぞれ同じ表示属性（表示）、選択属性（選択可）、線属性（実線、線幅２０ｍｍ）を持ち、互いに異なる色属性を持っているものとする。
【００７９】
○グループ図形のデータ構造
それでは、上述した印刷データのデータ構造のうち、特に、グループ図形であるシンボルとイラストのデータ構造について、詳しく説明することにする。
【００８０】
まず、シンボルのデータ構造について説明する。
【００８１】
本実施形態において、シンボルとは、規格で定められた記号や、ロゴマークのように、繰り返し使用される図形で、図形データの要素（線分や円など）や、文字データの要素（テキスト）を組み合わせて、作成される要素である。
【００８２】
シンボルデータの場合、規格が変更されるなどして、シンボルデータファイルの内容が更新された場合には、既に印刷データの一部としてレイアウト済みである、該当するシンボルを、全て更新してデータの同期を維持できるようになっている。
【００８３】
そこで、本実施形態に係る情報処理装置では、シンボルのデータを、次に示すようなデータ構造で保持している。
【００８４】
すなわち、印刷データ内には、シンボルデータファイルの存在場所を特定するための、フォルダー名称およびファイル名称、そして、シンボルをレイアウトするために必要な情報のみを保持する。
【００８５】
また、印刷データをファイルに保存した印刷データファイルとは別個に、シンボルデータファイルを作成する。シンボルデータファイルは、次に示すようなファイル構造となっている。
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素データ：任意の要素データ（複数）
・印刷属性データ：必要な印刷属性データ（複数）。
【００８６】
レイアウト基準矩形については後述するが、レイアウト基準矩形を定めておけば、シンボルを印刷データとしてレイアウトする際に必要な、位置と大きさの情報を特定することが可能である。例えば、レイアウト基準矩形としては、シンボルの可視部分を囲む最小の矩形（外接矩形と呼ぶ）を指定しておくことなどが可能である。
【００８７】
シンボルデータファイルを作成する際に、該当するシンボルの外接矩形のデータをレイアウト基準矩形として登録しておけば、シンボルデータファイルを再度、読み込んだ際などに、シンボルの外接矩形を再計算する必要がなくなる。
【００８８】
シンボルの各構成要素データは、レイアウト基準矩形左下点を基準とする相対座標値で、表現されている。
【００８９】
また、各印刷属性データについては、印刷データの場合と同様に、各構成要素データを表示する際に必要な印刷属性データを、要素データとは別に保持している。
【００９０】
これによって、変更のあったシンボルを含む印刷データファイルの更新を行なわなくても、該当する印刷データファイルを、外部記憶装置３３から、ＲＡＭ３２に再度、読み込んで来るだけで、印刷データ内のシンボルデータは最新のシンボルデータファイルの内容に置き換わり、データの同期が自動的に取れるようになっている。
【００９１】
次に、もう一つのグループ図形であるイラストのデータ構造について説明する。
【００９２】
本実施形態において、イラストとは、テンプレート図形のように、繰り返し使用される図形で、これもまた、シンボルと同様に、図形データの要素（線分や円など）や、文字データの要素（テキスト）を組み合わせて、作成される要素である。
【００９３】
イラストは、シンボルとは異なり、いったん、印刷データの一部として、レイアウトされた後は、元のイラストデータファイルの内容とは、同期を取らずに、自由に変更を加えたい場合に使用される。
【００９４】
従って、イラストデータの場合、シンボルデータとは異なり、イラストデータファイルの内容が更新された場合でも、既に印刷データの一部としてレイアウト済みである、該当するイラストを、更新して同期を維持することはない。
【００９５】
そこで、本実施形態に係る情報処理装置では、イラストのデータを、次に示すようなデータ構造で保持している。
【００９６】
すなわち、印刷データ内には、イラストデータファイルの存在場所を特定するための、フォルダー名称およびファイル名称、そして、イラストをレイアウトするために必要な情報、の他に、イラストデータファイルから読み込んだ、実際にイラストを構成する各要素データを保持している。
【００９７】
また、印刷データファイルとは別個に、イラストデータファイルを作成する。イラストデータファイルは、次に示すようなファイル構造となっている。
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素データ：任意の要素データ（複数）
・印刷属性データ：必要な印刷属性データ（複数）。
【００９８】
この構造は、シンボルデータファイルのファイル構造と同様である。これを印刷データに読み込む際には、指定したレイアウト基準点座標を原点とし、指定したレイアウト角度、レイアウトスケールに従って、イラストデータファイル内の各構成要素データを展開して（座標変換して）、印刷データのイラスト要素データとして、全て保持する点が、シンボルとは異なっている。
【００９９】
［印刷データの作成］
それでは、具体的に印刷データを作成する手順を、図形データ、文字データ、トンボ、バーコード、の４つの場合に分けて、詳細に説明する。本実施形態においては、図形データの例として、シンボルを作成する場合を説明し、また、文字データの例として、テキストを作成する場合を説明する。
【０１００】
○シンボルの作成
まず、図形データを作成する例として、図８に示すようなシンボルを作成する場合について説明する。
【０１０１】
この図８に示すシンボルは、２個の円要素、１個の線分列要素、といった基本図形から構成されている。ここでは、
（Ａ）基本図形を印刷データとしてレイアウトする
（Ｂ）シンボルの構成要素をグループ化し、シンボルとして登録する
（Ｃ）登録されたシンボルを呼び出して、印刷データとしてレイアウトする
という、３つのフローに分けて説明する。
【０１０２】
まず、基本図形を印刷データとしてレイアウトする処理について説明する。
【０１０３】
（Ａ）基本図形のレイアウト
図９に、基本図形を印刷データとしてレイアウトする手順を説明するフローチャートを示す。
【０１０４】
まず、基本図形を作成するために必要な、座標値や半径などの、必要情報を入力する（ステップＳ０９０１）。この必要情報の入力処理については、後で詳しく説明する。
【０１０５】
次に、図形データに印刷属性を付加して、印刷データとして使用できるようにする（ステップＳ０９０２）。この印刷属性の付加処理については、後で詳しく説明する。
【０１０６】
そして、ステップＳ０９０２で印刷属性が付加されると、次に、ＣＰＵ２１は、作成された基本図形要素のデータを、印刷データとして、ＲＡＭ３２に登録する（ステップＳ０９０３）。そして、さらに、ＣＰＵ２１は、作成された基本図形要素を、作画エリア６２に表示する（ステップＳ０９０４）。
【０１０７】
以下、ステップＳ０９０１における必要情報の入力処理について説明する。
【０１０８】
これは、基本図形の種類によって異なった操作となる。
【０１０９】
例えば、円を作成する場合には、次のような操作となる。
（１）円の中心の位置を、マウス１２で既に存在する点を要素選択、または任意指定したり、キーボード１１でＸおよびＹの座標値を入力することによって指定する。
（２）円周上の１点の位置を、マウス１２で既に存在する点を要素選択、または任意指定したり、キーボード１１でＸおよびＹの座標値を入力することによって、指定する。または、キーボード１１で半径を入力する。
【０１１０】
中心と円周上の１点、または、中心と半径を指定する上記の方法以外にも、円周上の異なる３点を指定する方法、円周上の異なる２点と半径を指定する方法、などがある。
【０１１１】
また、これらの操作手順は、ガイダンスエリア６８に表示されるので、ユーザーは、この指示に従って、操作を行なえばよい。
【０１１２】
線分列を作成する場合には、次のような操作となる。
（１）線分列の始点の位置を、マウス１２で既に存在する点を要素選択、または任意指定したり、キーボード１１でＸおよびＹの座標値を入力することによって、指定する。
（２）同様にして、通過点をいくつでも指定する。
（３）汎用ボタン６６を、ボタン選択することなどによって、通過点の指定の終了を指示する。
【０１１３】
次に、以下、ステップＳ０９０２における印刷属性の付加処理について説明する。
【０１１４】
まず、図形データの印刷属性の種類については、前述した通りである。
【０１１５】
例として、図１０に、印刷属性の付加されていない状態の図形データと、付加されている状態の図形データを示す。印刷属性が付加されていない状態では、線幅、終端形状、接続形状、などの違いが表現できていないことがわかる。印刷属性が付加されていない状態とは、前述した印刷属性データの構造の中で、属性設定フラグが無効となっている場合である。なお、属性設定フラグが無効となっている場合でも、図形データの形状は、所定の印刷属性で出力される。
【０１１６】
刷属性を、図形データの要素に付加するには、表示装置４１に表示される専用のパネルが必要である。
【０１１７】
図１１に、そのような図形データの要素を付加するために使用する、図形データ印刷属性編集パネル１１０１を示す。ユーザーは、この図形データ印刷属性編集パネル１１０１で、印刷属性を編集することができる。
【０１１８】
図形データ印刷属性編集パネル１１０１が表示された状態で、線種として、実線以外の種別を選択し、さらに、図形データ印刷属性編集パネル１１０１の、「線ピッチ」ボタンを、ボタン選択すると、図１２に示すような、破線、一点鎖線、二点鎖線のそれぞれの種別に応じた、線ピッチ編集パネル１２０１が表示される。そして、この線ピッチ編集パネル１２０１上で、線ピッチデータを編集することが可能となる。図１２に示したのは、二点鎖線の場合の表示例である。
【０１１９】
印刷属性を編集するには、図形データ印刷属性編集パネル１１０１上で、編集したい印刷属性の文字入力エリアを、マウス１２またはキーボード１１で指示し、キーボード１１で、数値データを入力するか、または、選択する項目のボタンを、ボタン選択してから、「設定」ボタンを、ボタン選択すればよい。
【０１２０】
これから作成しようとする印刷データに対して、印刷属性の設定を行なう場合には、図形データ印刷属性編集パネル１１０１上で、上記の方法で各印刷属性の入力を行なってから、図形データの各要素を作成すればよい。
【０１２１】
また、いったん、印刷属性を設定しておけば、ＣＰＵ２１はこれらを、カレントな印刷属性として、ＲＡＭ３２に保存しておくので、要素を作成するたびに、印刷属性を設定する必要はない。
【０１２２】
また、プログラムを終了する際に、ＣＰＵ２１は、カレントな印刷属性を、外部記憶装置３３に保存し、次に、プログラムを実行する際に、再び、ＲＡＭ３２に、読み込んで来るので、プログラムを実行するたびに、カレントな印刷属性を設定し直す必要もない。カレントな印刷属性は、ユーザーによらず共通のものと、ユーザーが各自設定した個別のものを、別々に、ＲＡＭ３２や外部記憶装置３３に、保存しておくこともできる。
【０１２３】
すでに作成された印刷データに対して、印刷属性の編集を行なう場合には、作画エリア６２に表示されている要素を要素選択すれば、ＣＰＵ２１が、図形データか文字データかを判断して、図形データの場合は、図形データ印刷属性編集パネル１１０１を、表示装置４１に表示する。
【０１２４】
この際、要素選択された要素の現在の印刷属性が、図形データ印刷属性編集パネル１１０１に表示されるので、上記の方法で印刷属性を編集してから、「設定」ボタンを、ボタン選択すればよい。作画エリア６２上の対象要素は、編集された新しい印刷属性に従って、再描画される。
【０１２５】
以上、基本図形を印刷データとしてレイアウトする手順を説明した。
【０１２６】
次に、シンボルの構成要素をグループ化し、シンボルとして登録する処理について説明する。
【０１２７】
（Ｂ）要素のグループ化とシンボルの登録
図１３に、シンボルの構成要素をグループ化し、シンボルとして登録する手順を説明するフローチャートを示す。
【０１２８】
まず、シンボルとして登録したい対象要素をグループ化する（ステップＳ１３０１）。この対象要素のグループ化処理については、後で詳しく説明する。
【０１２９】
次に、ステップＳ１３０１でシンボルを構成する要素が特定されると、ＣＰＵ２１は、この各要素について、印刷属性を考慮して、輪郭情報を抽出する（ステップＳ１３０２）。この輪郭情報の抽出処理については、後で詳しく説明する。
【０１３０】
ステップＳ１３０２で、対象となる各要素の輪郭情報を抽出した後、ＣＰＵ２１は、抽出した輪郭情報から、外接矩形を計算する（ステップＳ１３０３）。
【０１３１】
ここでいう外接矩形とは、要素の可視部分を囲む最小サイズの矩形、のことであり、対角の２点のＸおよびＹ座標を与えることによって特定される。
【０１３２】
このように、要素の外接矩形は、対角の２点によって特定できるので、抽出した輪郭情報から、最大のＸおよびＹ座標、最小のＸおよびＹ座標の値を算出し、外接矩形の左下点と右上点を、
左下点（輪郭情報の最小のＸ座標，輪郭情報の最小のＹ座標）
右上点（輪郭情報の最大のＸ座標，輪郭情報の最大のＹ座標）
と与えれば、外接矩形を容易に得ることができる。
【０１３３】
そして、ステップＳ１３０３で、グループ化された要素の外接矩形が求まると、ＣＰＵ２１は、作画エリア６２に既に表示されているグループ化された要素に重ねて、その外接矩形を表示する（ステップＳ１３０４）。その表示は、例えば、図２１のようになる。
【０１３４】
次に、グループ化された要素のレイアウト基準情報を定義するレイアウト基準矩形を設定する（ステップＳ１３０５）。このレイアウト基準矩形の設定処理については、後で詳しく説明する。
【０１３５】
そして、以上の一連の処理により、シンボルとして登録するための要素がグループ化され、そのレイアウト基準矩形が求まったので、そのシンボルを識別するキーとしてユーザーによりキーボード１１等から入力された文字列を、シンボルの名称として決定する（ステップＳ１３０６）。
【０１３６】
最後に、ＣＰＵ２１は、先に図７で示したような構造を持つシンボルデータファイルとして、当該シンボルに関するデータを、外部記憶装置３３に保存する（ステップＳ１３０７）。
【０１３７】
なお、このようにレイアウト基準矩形を設定した場合、図７に示すシンボルデータファイルの構造におけるレイアウト基準位置を明示的に指定しているわけではないが、シンボルデータファイルに保存する際には、レイアウト基準矩形の、例えば左下点を、常にレイアウト基準位置としておけばよい。
【０１３８】
また、シンボルを構成する各要素の座標データは、レイアウト基準位置からの相対座標で表現する。
【０１３９】
以下、ステップＳ１３０１における対象要素のグループ化処理について説明する。
【０１４０】
要素をグループ化するには、次のような方法がある。この方法は、要素をグループ化する場合に限らず、複数の要素をまとめて、複写、移動、削除などの処理を一括して行なう場合にも、使うことができる方法である。
【０１４１】
（１）連続要素選択：グループ化の対象とする要素を、１要素ずつ要素選択していく。要素選択を終了する際には、メインパネル６１上の、汎用ボタン６６を押すか、作画エリア６２上で、マウスのどれかのボタンをダブルクリック（ボタンを短時間に２度押し下げる）する。
【０１４２】
（２）矩形領域指定：グループ化の対象とする要素が含まれる領域を、矩形で囲むことによって指定する。矩形を特定するためには、対角の２点の位置を、任意指定や点指定などの方法で指定すればよい。この場合、指定した矩形の内部に全体が含まれる要素を対象とする。
【０１４３】
図１４に、この方法によって、対象となる要素が選択された状態の一例を示す。
【０１４４】
この図１４において、＊印で示した位置を指定すると、作画エリア６２に、領域を示す矩形が表示される。図中、「選択」と示されている要素が選択され、実際には、赤色などで表示されて、識別できるようになっている。
【０１４５】
なお、指定した矩形の内部に一部が含まれる要素を対象としたり、指定した矩形の内部に全く含まれない要素を対象としてもよい。
【０１４６】
（３）任意領域指定：グループ化の対象とする要素が含まれる領域を、多角形で囲むことによって指定する。多角形を構成する各点は、任意指定や点指定などの方法で指定すればよい。この場合、指定した多角形の内部に一部が含まれる要素を対象とする。
【０１４７】
図１５に、この方法によって、対象となる要素が選択された状態の一例を示す。
【０１４８】
この図１５において、＊印で示した位置を指定すると、作画エリア６２に、領域を示す多角形が表示される。図中、「選択」と示されている要素が選択され、実際には、赤色などで表示されて、識別できるようになっている。
【０１４９】
なお、指定した多角形の内部に全体が含まれる要素を対象としたり、指定した多角形の内部に全く含まれない要素を対象としてもよい。
【０１５０】
次に、ステップＳ１３０２における輪郭情報の抽出処理について説明する。
【０１５１】
図１６は、図８に示すシンボルの輪郭情報を抽出した結果を示した図である。
【０１５２】
輪郭情報は、線分、円、円弧、楕円、楕円弧、自由曲線などの、線要素が連結したものとして表現できる。ただし、輪郭情報においては、線幅などの印刷属性は考慮する必要はなく、それ自体、領域を持たない図形であると見なす。
【０１５３】
印刷属性の付加された、図形データおよび文字データの輪郭情報を抽出する方法には、以下のものがある。
【０１５４】
（１）そのまま表示装置に表示する方法：
本実施形態に係る情報処理装置では、図２で示したように、ＷＹＳＩＷＹＧの機能が実現されているので、印刷属性の付加されたデータは、印刷時の出力形態と同じ表示形態のイメージで、表示装置４１に表示される。
【０１５５】
例えば、このＷＹＳＩＷＹＧの機能が、ディスプレイポストスクリプト（ＤＰＳ）によって、実現されている場合には、図形データまたは文字データの、輪郭情報を抽出するための、ポストスクリプト（ＰＳ）の命令（オペレータ）を、表示されている、図形データまたは文字データに対して、発行してやればよい。
【０１５６】
これによって得られる輪郭情報の座標データは、表示装置４１の画面上のドットの大きさが最小単位となる量子化されたデータである。そのため、この値は、一般に、誤差を含んでいる。
【０１５７】
表示装置４１の１ドットの幅および高さをＤｄ（インチ）とすると、図１７に示すように、実際の座標が、（ｂ）や（ｃ）のように、２つのドットの境界や、（ｄ）のように、４つのドットの角の位置に一致する場合を考慮すると、得られる座標データの誤差は、最大で、Ｄｄ＊２（インチ）となる。
【０１５８】
図１７の、＊印で示した位置が、量子化されていない実際の座標位置、斜線で示した矩形が、その時の画面上のドット、すなわち、量子化された値を示している。
【０１５９】
表示装置４１の解像度Ｒｄが、およそ、Ｒｄ＝１００（ＤＰＩ）であるとすると、誤差は、
Ｄｄ＊２＝（１／Ｒｄ）＊２ ＝  １／５０（インチ）      （式１）
程度となる。
【０１６０】
イメージセッター５２などの、高解像度の印刷装置では、解像度Ｒｐはおよそ、Ｒｐ＝３０００（ＤＰＩ）程度であり、１ドットの幅および高さをＤｐ（インチ）とすると、出力時の誤差は、
Ｄｐ＊２＝（１／Ｒｐ）＊２ ＝  １／１５００（インチ）  （式２）
程度となり、表示装置４１に表示した結果から得られる座標データでは、必ずしも、十分な精度があるとは言えない可能性が高い。
【０１６１】
しかし、この方法は、ＰＳのオペレータを呼ぶだけで、図形データおよび文字データの輪郭情報を容易に得ることができるので、特に、表示装置４１の解像度以上の高い精度を要求しない印刷データ、例えば、出版物や包装紙などの印刷データを作成する場合や、表示装置４１の解像度以上の高い精度を要求する部分のある印刷データでも、他の要素や特定の座標値に、正確に合わせて出力する必要がない部分には、この方法を用いて、輪郭情報を抽出すれば十分である。
【０１６２】
（２）一時的に拡大して表示装置に表示する方法：
しかしながら、上記（１）の方法では、イメージセッター５２などの印刷装置の解像度に相当する、高い精度を要求する印刷データで、しかも、他の要素や特定の座標値に、正確に合わせて出力する必要がある部分については、表示装置４１とイメージセッター５２などの印刷装置との解像度が異なるために、表示装置４１上では、正確に輪郭情報を抽出したつもりでも、イメージセッター５２などの印刷装置で印刷した際には、目に見える誤差となってしまう場合がある。
【０１６３】
上記（１）の方法では、表示装置４１上での１ドットの誤差が、イメージセッター５２に出力した際には、３０ドットもの誤差となって、現れてしまうことになる。
【０１６４】
そこで、図形データまたは文字データの、輪郭情報を抽出する際に、ポストスクリプト（ＰＳ）の命令（オペレータ）を、図形データまたは文字データに対して発行する前に、対象となるデータを、一時的に拡大して表示してやれば、解像度による誤差を軽減できる。
【０１６５】
ただし、ここで言う「表示」とは、表示装置４１に対してデータを送信するという意味であって、必ずしも、可視である必要はない。
【０１６６】
図１８に、一時的に要素を拡大して表示装置に表示し、輪郭情報を抽出する手順を説明するフローチャートを示す。
まず、拡大の倍率を決定する（ステップＳ１８０１）。拡大の倍率は、表示装置４１とイメージセッター５２の解像度の比率より大きくとればよい。従って、上記（１）の方法で示した解像度の場合、
Ｒｐ／Ｒｄ＝３０００／１００ ＝３０（倍）                （式３）
より大きい倍率で、輪郭情報を得たい要素を拡大してやればよい。このとき、要素の印刷属性のうち、拡大の影響を受ける、線幅、終端形状、接続形状なども同じ倍率で拡大するようにする。
【０１６７】
次に、ステップＳ１８０１で決定された倍率で拡大した要素を、表示装置４１に表示する（ステップＳ１８０２）。
【０１６８】
次に、上記（１）の方法と同様に、ＰＳのオペレータなどを使用することによって、拡大した要素の輪郭情報を抽出する（ステップＳ１８０３）。ここで抽出された輪郭情報の精度は、イメージセッター５２の精度に匹敵するものとなる。
【０１６９】
次に、抽出した輪郭情報を、拡大する前の大きさに復元する（ステップＳ１８０４）。
【０１７０】
最後に、輪郭情報を抽出するために使用した、一時的に拡大した要素のデータは、輪郭情報を抽出した後は不要となるので、消去する（ステップＳ１８０５）。
【０１７１】
（３）幾何学的な手法による方法：
あらかじめ幾何学的な形状がわかっている図形データ、特に、線分、円、円弧、楕円、楕円弧、自由曲線などの、線要素の場合には、次のような方法を取ることによって、表示装置４１の解像度とは無関係に、高い精度の輪郭情報を抽出することができる。
【０１７２】
図１９に、幾何学的な手法によって、線要素の輪郭情報を抽出する手順を説明するフローチャートを示す。
【０１７３】
まず、線要素の線幅方向を考慮して、該線要素を線幅分だけオフセットさせた図形を作成する（ステップＳ１９０１）。
【０１７４】
次に、この線要素が、終端を持っているかどうかを判定する（ステップＳ１９０２）。終端を持っていると判定された場合には、ステップＳ１９０３に進み、そこで、終端形状に応じた図形を作成する。終端を持っていないと判定された場合には、ステップＳ１９０４に進む。
【０１７５】
次に、この線要素が、接続を持っているかどうかを判定する（ステップＳ１９０４）。接続を持っていると判定された場合には、ステップＳ１９０５に進み、そこで、接続形状に応じた図形を作成する。接続を持っていないと判定された場合には、ステップＳ１９０６に進む。
【０１７６】
そして、作成された図形に基づいて閉図形を作成して、その輪郭情報を抽出する（ステップＳ１９０６）。
【０１７７】
次に、一例として、図２０に示すような、印刷属性を持つ線分列の輪郭情報を、幾何学的な手法によって抽出する方法を説明する。この例では、線幅が２ｄ、線幅方向が両側、終端形状がラウンドキャップ、接続形状がマイタージョインであるとする。
【０１７８】
まず、ステップＳ１９０１において、線分列ＡＢＣの、線分ＡＢを、線幅の１／２（＝ｄ）だけ、線分の法線方向、両側にオフセットさせた、線分ＤＥ、線分ＦＧを作成する。同様に、線分ＢＣを、線幅の１／２（＝ｄ）だけ、線分の法線方向、両側にオフセットさせた、線分ＨＪ、線分ＫＬを作成する。
【０１７９】
次に、ステップＳ１９０２において、この線分列は、終端を持っていると判断されるので、ステップＳ１９０３に進み、終端形状を作成する。この場合、終端形状はラウンドキャップなので、ＤＦを直径とする半円弧、および、ＪＬを直径とする半円弧、をそれぞれ作成すればよい。
【０１８０】
次に、ステップＳ１９０４において、この線分列は、接続を持っていると判断されるので、ステップＳ１９０５に進み、接続形状を作成する。この場合、接続形状はマイターキャップなので、線分ＤＥと線分ＪＨを、両者が交差する点Ｍまで延長してやればよい。また、線分ＦＧと線分ＫＬの交点をＮとする。
【０１８１】
以上から、ステップＳ１９０６において、この線分列の輪郭情報を、点Ｍ、Ｊ、Ｌ、Ｎ、Ｆ、Ｄ、Ｍ、を接続してできる閉図形で表現することができる。ＪＬおよびＦＤは円弧、その他の区間は線分で接続する。
【０１８２】
また、対象とする線要素が、自由曲線などの場合には、ステップＳ１９０１において線幅分だけオフセットさせた図形を作成する際に、どの程度の大きさの区間に曲線を分割してオフセット図形を作成するかを判断するのに、上記（１）または（２）の方法を使用することもある。
【０１８３】
（４）印刷装置に相当するソフトウエアまたはハードウエアに出力する方法：上記（２）の方法では、一時的に要素を拡大してから、表示装置４１に表示することによって、印刷装置との解像度の差によって生じる誤差を軽減しようとしたが、印刷装置の解像度に相当する精度を実現するソフトウエアまたはハードウエアに対してデータを出力することによって、高い精度の輪郭情報を抽出することもできる。
【０１８４】
上記のソフトウエアとは、イメージセッター５２などの印刷装置が表現しうるドット数に相当するだけの十分な大きさを持った２次元の整数の配列に対して、データの読み書きを行なう機能を持ったソフトウエアのことである。
【０１８５】
また、上記のハードウエアとは、イメージセッター５２などの印刷装置が表現しうるドット数に相当するだけの十分な大きさを持った２次元の表示データバッファに対して、データの読み書きを行なう機能を持ったハードウエアのことである。
【０１８６】
上記の、ソフトウエア、ハードウエア、のいずれの場合においても、描画命令（この例の場合は、ＰＳのオペレータ）を解釈し、それをドットイメージに展開する機能を有することも必要である。
【０１８７】
次に、ステップＳ１３０５におけるレイアウト基準矩形の設定処理について説明する。
【０１８８】
まず、レイアウト基準矩形が定義するレイアウト基準情報について説明する。
【０１８９】
このレイアウト基準情報とは、要素を印刷データとしてレイアウトするための、位置と大きさの基準となる情報のことであり、要素ごとに保持する必要があり、本実施形態では、位置の基準を、レイアウト基準位置、大きさの基準を、レイアウト基準サイズ、と呼ぶ。
【０１９０】
また、レイアウト基準矩形を設定する場合に、該矩形の特徴点の１点を、後述するレイアウト処理時のレイアウト基準点に定めることができる。この矩形の特徴点には、図２２に＊印で示したように、矩形の角の点（４点）、各辺の中点（４点）、中心点、の９個の点がある。
【０１９１】
なお、レイアウト基準点は、あらかじめ特定の１点を決めておかなくても、レイアウト処理時に選択することもできる。その場合は、要素のレイアウト基準点を変更する変換（平行移動）が発生する。
【０１９２】
また、レイアウト基準矩形を設定するには、次のような方法がある。
【０１９３】
（１）任意矩形：作画エリア６２上の任意の２点の位置を、任意指定、点指定、特徴点指定、交点指定、線上点指定、のいずれかの方法で指定することによって、指定した２点を対角点とする矩形を設定する。
【０１９４】
このうち、任意指定以外の、要素選択を伴う方法では、レイアウト基準矩形を設定する対象の要素、この例の場合では、グループ化された要素のいずれかを選択することが普通であるが、それ以外の要素を選択することも可能である。
【０１９５】
グループ化された要素に対して、構成要素の１つである円を選び、その円の中心点を特徴点指定、他の１点を任意指定して、レイアウト基準矩形とした場合の例を、図２３に示す。
【０１９６】
（２）外接矩形：次のような外接矩形を算出する。
【０１９７】
・要素全体の外接矩形：対象とする要素全体の外接矩形を算出する。グループ化された要素の場合は、グループを構成する全要素についての外接矩形を算出する。
【０１９８】
グループ化された要素に対して、外接矩形を算出し、それをレイアウト基準矩形とした場合の例は、すでに、図２１に示した通りである。
【０１９９】
・要素を構成する任意の要素の外接矩形：複数の要素を持つ、グループ図形の場合には、要素を構成する任意の要素を選択し、その外接矩形を算出することもできる。
【０２００】
グループ化された要素に対して、構成要素の１つである円を選び、その円の外接矩形を算出し、それをレイアウト基準矩形とした場合の例を、図２４に示す。
【０２０１】
以上、シンボルの構成要素をグループ化し、シンボルとして登録する手順を説明した。
【０２０２】
次に、登録されたシンボルを呼び出して、印刷データとしてレイアウトする処理について説明する。
【０２０３】
（Ｃ）シンボルの呼び出しとレイアウト
図２５に、登録されたシンボルを呼び出して、印刷データとしてレイアウトする手順を説明するフローチャートを示す。
【０２０４】
まず、レイアウトしたいシンボルを選択する（ステップＳ２５０１）。
【０２０５】
具体的には、以下のような処理を行なう。
【０２０６】
まず、外部記憶装置３３などに記憶されたシンボルを呼び出すために、メインパネル６１上のボタン６５中のコマンド「シンボル」のボタンを、ボタン選択するか、または、文字入力エリア６４で、コマンド「シンボル」の名称を、キーボード１１から入力する。
【０２０７】
すると、表示装置４１には、図２６に示すような、シンボルレイアウトパネル２６０１が、表示される。そして、保存されているシンボル名称一覧２６０２の中から、レイアウトしたいシンボルを、マウス１２で選択する。また、その代わりに、シンボル名称入力エリア２６０４で、シンボル名称を、直接キーボード１１から入力することもできる。その場合、シンボル名称一覧２６０２の選択状態は、シンボル名称入力エリア２６０４での入力処理と連動して変化する。
【０２０８】
記憶されているシンボルの数が多い場合には、シンボル検索条件入力エリア２６０３で、シンボル名称の一部をキーボード１１から入力後に、リターンキーを押してもよい。その場合、入力した条件に該当するシンボル名称のみが、シンボル名称一覧２６０２に表示されるので、この中から、レイアウトしたいシンボルを、マウス１２で選択すればよい。
【０２０９】
また、シンボルを選択する際に、名称だけでなく形状を見てから選択を行ないたい、という場合のために、必要に応じて、シンボルレイアウトパネル２６０１の、「一覧」ボタンを、ボタン選択することによって、図２７に示すような、シンボル形状一覧パネル２７０１が、表示装置４１に表示される。
【０２１０】
シンボル形状一覧が、複数ページにわたる場合は、総ページ数がシンボル形状一覧パネル２７０１に表示されるので、ページ番号入力エリア２７０２に、キーボード１１で、直接ページ番号を入力するか、前ページボタン２７０３、または、次ページボタン２７０４を、ボタン選択することによって、現在表示されているページの、前後のページを表示することができる。
【０２１１】
そして、シンボル形状一覧２７０５から、レイアウトしたいシンボルを、マウス１２で選択すると、シンボル名称一覧２６０２の選択状態は、これと連動して変化する。
【０２１２】
また、選択したシンボルの内容を、詳細に確認したい場合には、シンボルレイアウトパネル２６０１の、「内容」ボタンを、ボタン選択することによって、図２８に示すような、シンボル内容確認パネル２８０１が、表示装置４１に表示される。
【０２１３】
シンボル内容確認パネル２８０１には、シンボルの形状の他、レイアウト基準矩形などの情報も同時に表示される。図中、点線で示した矩形がレイアウト基準矩形であり、この図の場合、シンボル全体の外接矩形が、レイアウト基準矩形となっている。
【０２１４】
このようにして、レイアウトするシンボルが決まったら、次に、レイアウト基準位置を選択する（ステップＳ２５０２）。
【０２１５】
レイアウト基準位置は、シンボルレイアウトパネル２６０１上のレイアウト基準位置選択ボタン２６０５の中から１個を、ボタン選択することによって、選択することができる。このレイアウト基準位置選択ボタン２６０５の中に示された９つの基準位置は、それぞれレイアウト基準矩形の９個の特徴点に対応している。
【０２１６】
レイアウト基準位置を選択すると、シンボルデータファイルに保存されている、シンボルを構成する各要素の座標データは、ＲＡＭ３２に呼び出される際に、選択されたレイアウト基準位置からの相対座標での表現に変換される。
【０２１７】
また、レイアウトする際に必要な情報として、レイアウトサイズと、レイアウト角度を、入力する（ステップＳ２５０３）。
【０２１８】
レイアウトサイズとは、シンボルをレイアウトする際の大きさを指定するもので、例えば、レイアウト基準矩形の高さか幅の、一方を指定すればよい。その手順は、シンボルレイアウトパネル２６０１の、レイアウトサイズ選択ボタン２６０６の「高さ」ボタンまたは「幅」ボタンのいずれかを、ボタン選択した後に、レイアウトサイズ入力エリア２６０７に、キーボード１１で、高さまたは幅の数値を入力すればよい。
【０２１９】
レイアウトサイズ入力エリア２６０７に、例えば、「０」などの特別な数値を入力した場合に、シンボルデータファイルに保存されている大きさのままで、シンボルをレイアウトするといったことも可能である。
【０２２０】
レイアウト角度とは、シンボルをレイアウトする際の角度を指定するもので、例えば、レイアウト基準矩形の、水平な辺（上辺または底辺）が、Ｘ軸の正方向となす角度で指定すればよい。その手順は、シンボルレイアウトパネル２６０１の、レイアウト角度入力エリア２６０８に、キーボード１１から角度の数値を入力すればよい。
【０２２１】
以上の情報をすべて入力した後、シンボルのレイアウトを実行する場合には、シンボルレイアウトパネル２６０１の「実行」ボタンを、ボタン選択し、シンボルをレイアウトするのをやめる場合には、「取消」ボタンを、ボタン選択する。
【０２２２】
次に、選択されたシンボルを、作画エリア６２においてレイアウトする位置を指定する（ステップＳ２５０４）。
【０２２３】
シンボルのレイアウト位置を指定する方法には、次のものがある。
（１）点レイアウト：作画エリア６２上の任意の位置を、任意指定、点指定、特徴点指定、交点指定、線上点指定、のいずれかの方法で指定する。この場合、指定した位置に、レイアウトするシンボルの、レイアウト基準位置が一致するように、レイアウトされる。
（２）矩形レイアウト：作画エリア６２上に、印刷データとしてすでに存在する矩形を、要素選択によって指定する。この場合、シンボルレイアウトパネル２６０１で指定したレイアウト基準位置とレイアウト角度によらず、指定した矩形の左上点に、レイアウトするシンボルの、レイアウト基準矩形の左上点が一致し、かつ、指定した矩形の左上点をはさむ２辺に、レイアウト基準矩形が沿うように、レイアウトされる。
【０２２４】
また、シンボルレイアウトパネル２６０１で、レイアウトサイズを、高さで指定している場合は、指定した矩形の高さに、レイアウト基準矩形の高さが一致するように、幅で指定している場合は、指定した矩形の幅に、レイアウト基準矩形の幅が一致するように、レイアウトされる。
【０２２５】
以上の操作が終わると、ＣＰＵ２１は、外部記憶装置３３から呼び出されたシンボル要素のデータを、印刷データとして、ＲＡＭ３２に登録する（ステップＳ２５０５）。
【０２２６】
また、この際、ステップＳ１３０３で求めた、シンボル要素の外接矩形のデータを、シンボル要素のデータの一部として保存する（ステップＳ２５０６）。外接矩形のデータを要素データの一部として保持しておけば、例えば、指定した要素を作画エリア６２いっぱいに表示したい、というような場合に、再度、輪郭情報を抽出する必要がない。
【０２２７】
そして、ＣＰＵ２１は、作成されたシンボル要素を、作画エリア６２に表示する（ステップＳ２５０７）。
【０２２８】
なお、ステップＳ２５０６で保存した外接矩形を、明示的に作成するには、メインパネル６１上のボタン６５中の、矩形を描画するコマンド「矩形」のボタンを、ボタン選択するか、または、文字入力エリア６４で、コマンド「矩形」の名称を、キーボード１１から入力した後、コマンドメニュー６７の「外接矩形」メニューを、ボタン選択してから、外接矩形を作成したい要素を、要素選択すればよい。
【０２２９】
以下、上記の方法で呼出したシンボルをレイアウトした場合の具体的な表示例を示す。
【０２３０】
図２９は、シンボルの外接矩形をレイアウト基準矩形に設定し、矩形の左下点をレイアウト基準位置に選び、レイアウトサイズを高さで５０ｍｍと指定し、レイアウト角度を３０度と指定して、当該シンボルを点レイアウトした場合の例である。なお、この図２９では、説明のために、レイアウト基準矩形を同時に表示しているが、実際には、シンボルのみが表示される。もちろん、レイアウト基準矩形を同時に表示するように、仕様変更することも可能である。
【０２３１】
図３０は、シンボルの外接矩形をレイアウト基準矩形に設定し、矩形レイアウトした場合の例である。図３０（ａ）が、レイアウトサイズで高さを設定している場合であり、図３０（ｂ）が、レイアウトサイズで幅を設定している場合である。両図中において、破線で示した矩形が、レイアウトの対象となる矩形であり、実線で示した矩形が、レイアウト基準矩形である。なお、この図３０では、説明のために、レイアウト基準矩形を同時に表示しているが、実際には、シンボルのみが表示される。もちろん、レイアウト基準矩形を同時に表示するように、仕様変更することも可能である。
【０２３２】
以上、登録されたシンボルを呼び出して、印刷データとしてレイアウトする手順を説明した。
【０２３３】
また、以上、図８に示すようなシンボルを作成する手順を、（Ａ）基本図形を印刷データとしてレイアウトする、（Ｂ）シンボルの構成要素をグループ化し、シンボルとして登録する、（Ｃ）登録されたシンボルを呼び出して、印刷データとしてレイアウトする、という、３つのフローに分けて説明した。
【０２３４】
○シンボルの履歴管理
また、本実施形態に係る情報処理装置においては、シンボルの履歴を管理することができる。
【０２３５】
以下、シンボルデータファイルのキーとして、シンボル名称に加えて、シンボルを作成または更新した時間を保持することによって、シンボルの履歴を管理する場合について説明する。
【０２３６】
まず、例えば、時間順に、次のように、シンボルデータと印刷データの作成または変更を行なったとする。
【０２３７】
１．シンボル１を作成
（登録シンボル内容：ＳＹＭ１−ａ）
２．シンボル１を１回変更
（登録シンボル内容：ＳＹＭ１−ｂ）
３．シンボル１を含む印刷データ１を作成
４．シンボル１を２回変更
（登録シンボル内容：ＳＹＭ１−ｃ、ｄ）
５．シンボル１を含む印刷データ１を呼出
上の１から５は、時間の経過および作業内容を表す。１、２、４の、登録シンボル内容とは、シンボル名称「ＳＹＭ１」に、時間キー「ａ（または、ｂ、ｃ、ｄ）」を付加した名称で、シンボルが変更されていることを表している。
【０２３８】
１の時点で、シンボル１を作成すると、登録シンボル内容は、ＳＹＭ１−ａである。
【０２３９】
２の時点で、シンボル１を１回変更すると、登録シンボル内容は、ＳＹＭ１−ｂである。
【０２４０】
３の時点で、印刷データ１を新規に作成し、シンボル１を貼り付けると、シンボル１の最新の状態であるＳＹＭ１−ｂのファイルが読み込まれる。印刷データファイルにも、ＳＹＭ１−ｂの名称で保存される。
【０２４１】
４の時点で、シンボル１を２回変更すると、登録シンボル内容は、それぞれ、ＳＹＭ１−ｃ、ＳＹＭ１−ｄである。
【０２４２】
５の時点で、シンボル１を含む印刷データ１を呼び出すと、シンボル１には、ＳＹＭ１−ａからＳＹＭ１−ｄまでの４つの状態のファイルが存在するので、ユーザーは、この中から１つを選択して、呼び出すことができる。
【０２４３】
複数の時点の状態を持つシンボルを含む印刷データファイルを呼び出した場合には、ＣＰＵ２１は、作画エリア６２に、図３１に示すような、シンボル状態選択パネル３１０１を表示する。
【０２４４】
このシンボル状態選択パネル３１０１上で、「保存時」ボタンを、ボタン選択すると、印刷データファイルには、印刷データ保存時点でのシンボル１の最新状態であるＳＹＭ１−ｂの名称が保存されているので、ＳＹＭ１−ｂのシンボルデータファイルが読み込まれる。また、印刷データ上でのシンボル名称は、ＳＹＭ１ーｂのままである。
【０２４５】
印刷データを作成した時点での図面を、そのまま、再度、イメージセッター５２などの印刷装置で印刷したい、という場合などに、このような選択を行なう。
【０２４６】
また、シンボル状態選択パネル３１０１上で、「最新」ボタンを、ボタン選択すると、印刷データファイル呼び出しの時点でのシンボル１の最新の状態であるＳＹＭ１−ｄの、シンボルデータファイルが読み込まれる。そして、印刷データ上でのシンボル名称も、ＳＹＭ１ーｄに、置き換えられる。
【０２４７】
過去に作成した印刷データに、最新の状態のシンボルを反映させて、現在の規格に適合した形で、再度、イメージセッター５２などの印刷装置で印刷したい、あるいは、印刷データを変更したい、という場合などに、このような選択を行なう。
【０２４８】
また、シンボル状態選択パネル３１０１上で、「任意」ボタンを、ボタン選択すると、ＣＰＵ２１は、作画エリア６２に、図３２に示すような、シンボル日時入力パネル３２０１を表示する。
【０２４９】
このシンボル日時入力パネル３２０１上で、ユーザーが呼び出したいシンボルを作成または変更した時点の日時を、日入力エリア３２０２、および時入力エリア３２０３に、キーボード１１から入力して、「実行」ボタンを、ボタン選択すると、ＣＰＵ２１は、入力された日時の時点での、シンボル１の最新の状態のシンボルデータファイルを読み込んで来る。例えば、ＳＹＭ１−ｃが作成された日時より以後で、ＳＹＭ１−ｄが作成された日時より以前の、任意の日時を入力した場合には、ＳＹＭ１−ｃのシンボルデータファイルが読み込まれる。
【０２５０】
なお、このような履歴管理は、シンボルに限られるものではなく、イラストに適用することも可能である。
【０２５１】
○テキストの作成
次に、文字データを作成する例として、図３３に示すようなテキストを作成する場合について説明する。
【０２５２】
図３４に、テキストを印刷データとしてレイアウトする手順を説明するフローチャートを示す。
【０２５３】
まず、テキストをレイアウトするために必要な情報を入力する（ステップＳ３４０１）。
【０２５４】
具体的には、以下のような処理を行なう。
【０２５５】
まず、メインパネル６１上のボタン６５中のコマンド「テキスト」のボタンを、ボタン選択するか、または、文字入力エリア６４で、コマンド「テキスト」の名称を、キーボード１１から入力する。
【０２５６】
すると、表示装置４１には、コマンドメニュー６７が表示される。コマンドメニュー６７の項目には、
（１）新規：これから新規にテキストを作成する。
（２）修正：すでに作成されているテキストを修正する。
がある。ユーザーは、いずれかのメニュー項目をボタン選択することによって、テキストの編集を行なう。
【０２５７】
ここで、「新規」メニューをボタン選択すると、表示装置４１には、図３５に示すような、テキスト編集パネル３５０１が、表示される。
【０２５８】
このテキスト編集パネル３５０１上で、テキストを作成するために必要な情報として、テキストをレイアウトするための情報（レイアウト基準位置、行揃え位置）、文字列データ、文字データの印刷属性（書体名称、基準文字高さ、文字サイズ、平体率、長体率、ベース角、斜体角、字間、行間）を入力する。
【０２５９】
その際、レイアウト基準位置は、レイアウト基準位置選択ボタン３５０３における、レイアウト基準矩形の９個の特徴点を示すボタンの中から１個を、ボタン選択することにより指定される。このレイアウト基準位置の指定内容は、点レイアウトの際に有効となる。
【０２６０】
また、行揃え位置は、行揃え位置選択ボタン３５０４における、左揃え、右揃え、中央揃え、両端揃え、の４個のボタンの中から１個を、ボタン選択することにより指定される。この行揃え位置の指定内容は、矩形レイアウトの際に有効となる。
【０２６１】
なお、ここで言及した、レイアウト基準矩形の設定方法、および点レイアウト／矩形レイアウトの方法については、後述する。
【０２６２】
また、コマンドメニュー６７の項目から「修正」メニューをボタン選択すると、ユーザに対して、修正するテキストを選択するように求める指示が、ガイダンスエリア６８に表示される。ここで、ユーザーが、この指示に従って、修正したいテキストを要素選択すると、表示装置４１には、要素選択されたテキストの現在の状態を表示したテキスト編集パネル３５０１が、表示される。
【０２６３】
このテキスト編集パネル３５０１上で既に設定されている、テキストをレイアウトするための情報、文字列データ、文字データの印刷属性、のうち、修正が必要なデータを修正する。
【０２６４】
なお、これ以降のステップは、「新規」メニューをボタン選択した場合について説明するが、「修正」メニューをボタン選択した場合でも、テキスト編集パネル３５０１に、既に設定されている値が表示される点以外は、基本的には、「新規」メニューをボタン選択した場合と同様である。
【０２６５】
次に、テキストの文字列データを、文字列入力エリア３５０６に、キーボード１１から入力する（ステップＳ３４０２）。
【０２６６】
そして、文字データの印刷属性を付加して、印刷データとして使用できるようにする（ステップＳ３４０３）。文字データの印刷属性の種類については、前述した通りである。
【０２６７】
例として、図３６に、印刷属性の付加されていない状態の文字データと、付加されている状態の文字データを示す。印刷属性が付加されていない状態とは、前述した印刷属性データの構造の中で、属性設定フラグが無効となっている場合であり、上記の文字データは、予め設定されているデフォルトの形状や大きさで表現される。
【０２６８】
ここで、印刷属性を編集するには、印刷属性編集エリア３５０５の各項目の中から、編集したい印刷属性の文字入力エリアを、マウス１２またはキーボード１１で指示した後、キーボード１１で数値データを入力すればよい。
【０２６９】
この印刷属性のうち、「基準文字高さ」とは、書体ごとにユーザーが定めた基準文字の可視部分の高さのことで、同一書体の基準文字の「文字サイズ」とは、一般的に比例関係にある。
【０２７０】
図３７に、基準文字として大文字の「Ｅ」を定めた場合の、基準文字高さと文字サイズの関係を示す。
【０２７１】
印刷属性編集エリア３５０５の、基準文字高さと文字サイズのデータは、どちらか一方のデータを設定すれば、他方のデータはそれに応じて、自動的に更新される。
【０２７２】
テキスト編集パネル３５０１上で、最後に設定した文字データの印刷属性は、ＣＰＵ２１によって、カレントな印刷属性として、ＲＡＭ３２に保存されるので、次にテキストを新規に作成する際には、テキスト編集パネル３５０１に表示されるカレントな印刷属性の一部を変更するだけでよい。
【０２７３】
また、プログラムを終了する際に、ＣＰＵ２１は、カレントな印刷属性を、外部記憶装置３３に保存し、次に、プログラムを実行する際に、再び、ＲＡＭ３２に、読み込んで来るので、プログラムを実行するたびに、カレントな印刷属性を設定し直す必要もない。カレントな印刷属性は、ユーザーによらず共通のものと、ユーザーが各自設定した個別のものを、別々に、ＲＡＭ３２や外部記憶装置３３に、保存しておくこともできる。
【０２７４】
以上の操作を終えたら、ユーザーは、テキスト編集パネル３５０１の、「実行」ボタンを、ボタン選択し、テキストを作成するために必要な情報（テキストをレイアウトするための情報、文字列データ、文字データの印刷属性）を確定する。
【０２７５】
このようにして、テキストを作成するために必要な情報が確定されると、ＣＰＵ２１は、設定された内容に従って、テキストのデータを作成し、その輪郭情報を抽出する（ステップＳ３４０４）。
【０２７６】
図３８に、図３３に示したテキストの輪郭情報を抽出した結果を示す。
【０２７７】
この輪郭情報を抽出する方法としては、前述した、
（１）そのまま表示装置に表示する方法
（２）一時的に拡大して表示装置に表示する方法
（３）幾何学的な手法による方法
（４）印刷装置に相当するソフトウエアまたはハードウエアに出力する方法
のいずれかの方法を取ることができる。
【０２７８】
なお、文字データの場合、（３）の方法を取るためには、文字データの形状が、幾何学的な形状で与えられている必要がある。
【０２７９】
次に、ステップＳ３４０４で抽出した輪郭情報から、ＣＰＵ２１は、テキストの外接矩形を計算する（ステップＳ３４０５）。外接矩形の計算方法は、図１３のステップＳ１３０３における方法と同様である。
【０２８０】
なお、外接矩形を明示的に作成するには、矩形を描画するコマンド「矩形」のボタンを、メインパネル６１上のボタン６５からボタン選択するか、文字入力エリア６４で、コマンド「矩形」の名称をキーボード１１から入力し、さらに、コマンドメニュー６７上の「外接矩形」メニューを、ボタン選択してから、外接矩形を作成したい要素を、要素選択すればよい。
【０２８１】
また、テキストの場合、基準文字高さがレイアウトの基準として使われるので、ここで、基準文字の輪郭情報から、基準文字高さを計算する（ステップＳ３４０６）。この際、ステップＳ３４０２で入力された文字列に基準文字が含まれているか否かによらず、ステップＳ３４０３で設定された印刷属性に従って基準文字を作成した場合の、可視部分の高さを計算する。
【０２８２】
この基準文字高さは、同一書体の基準文字の文字サイズとは、一般的に比例関係にあるので、各書体について、あらかじめ、基準文字高さと、基準文字の文字サイズの比とを、その輪郭情報から計算して、外部記憶装置３３に保存しておけば、テキストを作成するたびに、ステップＳ３４０６の処理を行なう必要はない。
【０２８３】
次に、テキストのレイアウト基準情報として、レイアウト基準矩形を設定する（ステップＳ３４０７）。レイアウト基準矩形は、テキストの各行ごとに設定する。
【０２８４】
上述したシンボルの例では、レイアウト基準矩形を設定する際に、
（１）任意矩形
（２）外接矩形
を用いる場合を説明したが、テキストの場合は、
（３）基準文字高さと文字列の可視部分幅で決まる矩形
を、レイアウト基準矩形とする。
【０２８５】
ここで、基準文字高さは、ステップＳ３４０６で求まっており、また、文字列の可視部分幅は、ステップＳ３４０５で求めた外接矩形の幅に等しいので、これより、レイアウト基準矩形の左下点と右上点は、
左下点（輪郭情報の最小のＸ座標，文字列に基準文字が含まれていると仮定した場合の基準文字の輪郭情報の最小のＹ座標）
右上点（輪郭情報の最大のＸ座標，文字列に基準文字が含まれていると仮定した場合の基準文字の輪郭情報の最大のＹ座標）
と与えられる。
【０２８６】
図３９に、図３３で示したテキストに対して設定した、テキストのレイアウト基準矩形と、９個のレイアウト基準位置を示したものを示す。図中、実線で示した矩形が、テキストの各行のレイアウト基準矩形であり、また、図中、＊印で示した点が、レイアウト基準位置である。
【０２８７】
次に、テキストを、作画エリア６２にレイアウトする位置を指定する（ステップＳ３４０８）。
【０２８８】
テキストのレイアウト位置を指定する方法には、次のものがある。
【０２８９】
（１）点レイアウト：作画エリア６２上の任意の位置を、任意指定、点指定、特徴点指定、交点指定、線上点指定、のいずれかの方法で指定する。この場合、指定した位置に、ステップＳ３４０１で指定された、テキストの先頭行のレイアウト基準位置が一致するように、レイアウトされる。
【０２９０】
図４０に、レイアウト基準矩形の左下点をレイアウト基準位置に選び、テキストを点レイアウトした場合の例を示す。図中、＊印で示した位置が、レイアウト位置である。なお、この図４０では、説明のために、レイアウト基準矩形を、実線で同時に表示しているが、実際には、テキストのみが表示される。もちろん、レイアウト基準矩形を同時に表示するように、仕様変更することも可能である。
【０２９１】
（２）矩形レイアウト：作画エリア６２上に、印刷データとしてすでに存在する矩形を、要素選択によって指定する。この場合、テキストの先頭行のレイアウト基準矩形の上辺が、指定した矩形の上辺に沿うように、かつ、ステップＳ３４０１で指定された、行揃え位置に従って、次のようにレイアウトされる。
・左揃え：テキストの各行のレイアウト基準矩形を、指定した矩形の左辺に揃えてレイアウトする。
・右揃え：テキストの各行のレイアウト基準矩形を、指定した矩形の右辺に揃えてレイアウトする。
・中央揃え：テキストの各行のレイアウト基準矩形が、指定した矩形の幅の中央に位置するようにレイアウトする。
・両端揃え：テキストの各行のレイアウト基準矩形の幅が、指定した矩形の幅に一致するように、各行のテキストの字間を調整してレイアウトする。
【０２９２】
図４１に、テキストを矩形レイアウトした場合の例を示す。図中、実線で示した矩形が、レイアウトする対象となる矩形である。図４１（ａ）が左揃えの場合、図４１（ｂ）が右揃えの場合、図４１（ｃ）が中央揃えの場合、図４１（ｄ）が両端揃えの場合である。なお、この図４１では、説明のために、レイアウト基準矩形を、破線で同時に表示しているが、実際には、テキストのみが表示される。もちろん、レイアウト基準矩形を同時に表示するように、仕様変更することも可能である。
【０２９３】
以上の処理が終わると、ＣＰＵ２１は、作成されたテキスト要素のデータを、印刷データとして、ＲＡＭ３２に登録する（ステップＳ３４０９）。
【０２９４】
また、この際、ステップＳ３４０５で求めた、テキスト要素の外接矩形のデータを、テキスト要素のデータの一部として保存する（ステップＳ３４１０）。
【０２９５】
このように、外接矩形のデータを、要素データの一部として保持しておけば、例えば、指定した要素を作画エリア６２いっぱいに表示したい、というような場合に、再度、輪郭情報を抽出する必要がない。
【０２９６】
最後に、ＣＰＵ２１は、作成されたテキスト要素を、作画エリア６２に表示する（ステップＳ３４１１）。
【０２９７】
本実施形態では、以上のようなテキストの新規作成、及び修正に加えて、特定文字位置を指定して文字列の配置を行う。
【０２９８】
テキストの「新規」メニューをボタン選択すると、表示装置４１には、図３５に示すような、テキスト編集パネル３５０１が表示される。テキスト編集パネル３５０１の特定文字選択ボタン３５０７の「標準」または「設定」のどちらかのボタンを選択し、実行することにより特定文字位置指定で新規に文字列を作成する。
【０２９９】
図４２はテキストの新規作成において特定文字位置を指定して文字列を配置する手順を説明するフローチャートである。以下、図４２を参照して、テキストの新規作成処理を説明するが、まず、ボディ、文字列ボックス、文字輪郭の外接矩形、標準属性について説明する。
【０３００】
ボディは上述した通りのものであり、高さが、文字サイズ×平体率であり、幅がその文字の原点から次の文字が通常置かれるべき原点までの水平方向の距離×長体率で表される箱である。よって、ボディ高さは文字サイズと平体率によりどの文字でも同じであるが、ボディ幅は文字ごとに異なる。また、文字列の原点から次の文字列が通常置かれるべき原点までの水平方向の距離を文字列ボックスと呼ぶ。
【０３０１】
次に、文字輪郭の外接矩形について説明する。文字輪郭は、図３４のステップＳ３４０４で求めるような輪郭情報であり、その輪郭情報によって表される輪郭に外接する矩形を外接矩形と呼ぶ。外接矩形の計算方法は、図１３のステップＳ１３０３における方法と同様である。
【０３０２】
次に、標準属性について説明する。標準属性は、基準となる文字属性のことであり、上述の「（ｇ）文字列属性」において、それぞれの書体について、文字サイズ：１００[point]、平体率：１００％、長体率：１００％、ベース角：０[radium]、斜体角：０[radium]と設定する。また、この標準属性のボディ内の文字輪郭情報を標準属性ボディ内配置位置情報と呼び、図５１のようなパラメータで構成される。この様な標準属性を設定することにより、標準属性ボディ内配置位置情報を他の属性への変換に使用しやすくする。また、外部記憶装置３３にある標準属性ボディ内配置位置情報のファイルフォーマットを図５２に示す。尚、図５２に使われているパラメータ名は、図５１のパラメータ名と共通している。
【０３０３】
図４２において、まず、特定文字の設定を行い、その特定文字の標準属性ボディ内配置位置情報をＲＯＭ３１から読み出す（ステップＳ４２０１）。
【０３０４】
図６１は、ステップＳ４２０１における特定文字の設定手順を説明するフローチャートである。特定文字の設定に際しては、図６１に示されるように、まず、標準特定文字を使用するかどうかの選択をおこなう（ステップＳ６１０１）。
【０３０５】
テキスト編集パネル３５０１の特定文字選択ボタン３５０６の標準ボタンを選択すると、標準特定文字の使用が選択される。予め標準特定文字として選択されている一文字の標準属性ボディ内配置位置情報がＲＯＭ３１に格納されている。従って、標準特定文字を使用する場合は、ＲＯＭ３１から標準属性ボディ内配置位置情報をメモリーに読み込む（ステップＳ６１０２）。
【０３０６】
一方、特定文字として、標準特定文字以外の文字を使用する場合は、テキスト編集パネル３５０１の特定文字選択ボタン３５０６の設定ボタンを選択し、一文字を入力することにより、特定文字を選択する（ステップＳ６１０３）。次に、テキスト編集パネル３５０１の書体名称一覧３５０２に選択されている書体の特定文字３５０７に入力された文字の標準属性ボディ内配置位置情報を作成する。まず、この書体と標準属性を設定して表示原点から選択された特定文字を表示する（ステップＳ６１０４）。この場合のボディの大きさやボディないの文字パターンの配置位置はフォント自体が有している。次に、この文字輪郭情報を抽出する（ステップＳ６１０５）。抽出した文字輪郭情報から、ボディ内左空白部分の幅、輪郭外接矩形の幅、高さ、右空白部分の幅を求める（ステップＳ６１０６）。求めた標準属性ボディ内配置位置情報をメモリーに格納する（ステップＳ６１０７）。当該文字列を消去する（ステップＳ６１０８）。なお、上述したように、ここでいう「表示」とは、表示装置４１に対してデータを送信するという意味であって、必ずしも可視である必要はない。
【０３０７】
再び図４２に戻り、次に、文字列作成処理を行うかどうかの選択をおこなう（ステップＳ４２０２）。テキスト編集パネル３５０１の取消ボタンが選択された場合は、文字列の新規作成処理を終了する。
【０３０８】
一方、取り消しボタンが選択されていなければ、文字列属性の設定を行う（ステップＳ４２０３）。
【０３０９】
次に、文字データの入力を行う（ステップＳ４２０４）。文字データは、キーボード１１から入力しＲＡＭ３２に保存する。
【０３１０】
次に、特定文字の配置位置を指定する（ステップＳ４２０５）。位置の指定方法は、上述のような、点座標入力、任意点入力、点要素選択による点入力、特徴点入力、交点指定、線上点指定の方法がある。ここで指定した配置位置に、文字列内の特定文字のテキスト編集パネル３５０１の特定文字基準位置選択ボタン３５０８で選択されている位置がくるようにレイアウトされる。そして、文字列の表示位置を決定し、文字列を表示する（ステップＳ４２０６）。
【０３１１】
次に、上記ステップＳ４２０６において、文字列の表示位置を決定するための処理を説明する。図４３は、文字列ボックスサイズを求めて、文字列表示位置を決定する手順を示すフローチャートである。
【０３１２】
まず、文字列内の特定文字を検索する（ステップＳ４３０１）。図４４は文字列内における特定文字の検索処理の詳細を説明するフローチャートである。図４４において、まず、検索対象文字を当該文字列の先頭文字に設定する（ステップＳ４４０１）。そして、検索対象文字が特定文字であるかどうかを判定する（ステップＳ４４０２）。特定文字でなければ、検索対象文字を次の文字に設定してステップＳ４４０２へ戻る（ステップＳ４４０４、Ｓ４４０５）。但し、当該文字列の全ての文字について処理を終えた場合は、次に指定すべき文字が無いので、ステップＳ４４０４からステップＳ４４０６へ進み、当該文字列内には特定文字が存在しないと判断する。
【０３１３】
一方、検索対象文字が特定文字であった場合は、当該文字を文字列内の特定文字として決定し本処理を終了する（ステップＳ４４０３）。
【０３１４】
以上の手順を示すように、本実施形態では、文字列先頭から特定文字をサーチし、特定文字が見つかった時点で検索を中止する。よって、文字列内に特定文字が複数存在している場合には、文字列の最も先頭にあるものが特定文字として選択される。また、文字列内に特定文字が存在しない場合には、文字列内に特定文字無しという検索結果を返す。
【０３１５】
また、特定文字が複数存在している場合に、先頭からいくつめの特定文字を選択するかを、図７５のテキスト特定文字検索方法指定パネルでユーザが選択可能にすることもできる。例えば、検索方向設定エリア７５０２内の末尾ボタンを選択し、順序を１に設定すれば、文字列内の最も後ろにあるものを特定文字として選択できる。
【０３１６】
以上のようにして、特定文字の検索を終えると、文字列内の特定文字の有無を判定する（ステップＳ４３０２）。文字列内に特定文字が存在しない場合は、図６０の如きメッセージパネルを表示し、文字列の表示処理を終了し、テキスト編集パネル３５０１の表示に戻る。
【０３１７】
一方、特定文字が検索去れば場合は、文字列の先頭文字から検索した特定文字の前文字までの前置文字列ボックスサイズを算出する（ステップＳ４３０３）。ここで、前置文字列ボックスとは、当該文字列の先頭から特定文字の直前の文字までの文字で構成される文字列の文字列ボックスである。
【０３１８】
図５３に、特定文字をピリオドとし、特定文字基準位置を中とした場合の数字文字列の例を示す。図５３において、前置文字列ボックスは、文字列“１２３”の文字列ボックスである。予って、ステップＳ４３０４では、“１２３”の文字列ボックスサイズ、Ｌ５３０１を求める。文字列ボックスサイズは、書体によりその文字の次文字の原点までの間隔が異なる為、書体が異なるとそのサイズも異なる。本実施形態に係る情報処理装置では、図２で示したように、ＷＹＳＩＷＹＧの機能が実現されているので、印刷属性の付加されたデータは、印刷時の出力形態と同じ表示形態のイメージで、表示装置４１に表示される。
【０３１９】
例えば、このＷＹＳＩＷＹＧの機能が、ディスプレイポストスクリプト（ＤＰＳ）によって、実現されている場合には、指定属性で文字データを表示し、文字データの、ボディサイズ、及び輪郭情報を抽出するための、ポストスクリプト（ＰＳ）の命令（オペレータ）を、文字データに対して、発行してやればよい。よって、図５３の例では、指定されている属性で、文字データ”１２３”を表示して、そのボディサイズをＰＳの命令により求めればよい。
【０３２０】
次に、特定文字のボディ内配置位置を算出する（ステップＳ４３０４）。図４５は特定文字のボディ内配置位置算出の手順を説明するフローチャートである。のフローチャートに手順を示すように、まず、ステップＳ４５０１において、ＲＯＭ３１に格納されている標準属性ボディ内配置位置情報から、ステップＳ４２０３で設定されたフォント名称の情報を参照する（ステップＳ４５０１）。
【０３２１】
そして、ステップＳ４５０２において、図５１に示す標準属性ボディ内配置位置情報を、ステップＳ４２０３で設定した属性での値に変換する。本実施形態では、標準属性の文字サイズ：Ds[単位：point]、長体率：Dh[単位：%]、平体率：Dw[単位：%]、斜体角度：Dsa[単位：radium]と、設定された属性の文字サイズ：Cs[単位：point]、長体率：Ch[単位：%]、平体率：Cw[単位：%]、斜体角度：Csa[単位：radium]と、標準属性ボディ内配置位置情報の左空白部分サイズ：Dls、右空白部分サイズ：Drs、文字輪郭外接矩形幅：Drw、文字輪郭外接矩形高さ：Drhから、図５３で示すような、設定された属性での特定文字ボディ内配置位置情報、左空白部分サイズ：Cls、右空白部分サイズ：Crs、外接矩形幅：Crw、外接矩形高さ：Crh、を算出する。
【０３２２】
Crw = Drw x ( Cs x Ch / 100 ) / ( Ds x Dh / 100 ) + ( Cs x Cw / 100 ) x tan Csa ;                                            （式４）
Crh = Drh x ( Cs x Cw / 100 ) / ( Ds x Dw / 100 ) ;  （式５）
Cls = Dls x ( Cs x Ch / 100 ) / ( Ds x Dh / 100 ) ;  （式６）
Crs = Drs x ( Cs x Ch / 100 ) / ( Ds x Dh / 100 ) ;  （式７）。
【０３２３】
次に、文字列の表示開始位置を算出する（ステップＳ４３０５）。以下、特定文字基準位置として、図３５の選択エリア３５０８より“中”が選択されているものとして例を示す。
【０３２４】
図４６は文字列の開始位置の算出手順を説明するフローチャートである。図４６に示すように、まず、文字列の文字列ボックス左下点から、ステップＳ４３０１で検索した特定文字の外接矩形中心までの水平方向距離：LTX、垂直方向距離:LTYを求める（ステップＳ４６０１）。ステップＳ４３０３で算出した特定文字前文字までの文字列ボックスサイズ水平方向距離：LBX、垂直方向距離:LBYと、ステップＳ４３０４で算出した特定文字の左空白部分サイズ：Cls、文字輪郭外接矩形幅：Crw、より、
LTX = LBX + Cls + Crw x 0.5 ;        （式８）
LTY = Crh x 0.5 ;                    （式９）
とする。また、特定文字基準位置が左上に指定されていた場合は、（式８）（式９）は、
LTX = LBX + Cls ；                    （式１０）
LTY = Crh ；                          （式１１）
となり、特定文字基準位置の指定によりLTX,LTYの値が決まる。なお、LBYは、たとえば図３５の特定文字基準位置３５０８で左上を指示し、特定文字の配置位置をオペレータが指定した場合に、文字列の左下点（開始位置）を算出するのに用いられる。
【０３２５】
文字列の新規作成の場合の文字列開始座標（XSN,YSN）は、ステップＳ４２０５で指定された特定文字配置位置（XP,YP）と、前記LTX、LTYより、
XSN = XP - LTX ;                      （式１２）
YSN = YP - LTY ;                      （式１３）
となる（ステップｓ４６０２、Ｓ４６０３）。図５３に、各値の例を示す。図５３において、点：Ｐ５３０１が文字列開始座標、即ちボディ左下点であり、点:Ｐ５３０２が前置文字列ボックス右上点であり、点：Ｐ５３０３が特定文字配置位置である。
【０３２６】
次に、文字列を作画エリア６２に表示する（ステップＳ４３０８）。図５４に特定文字をピリオドに指定し、特定文字基準位置を中に指定した場合の文字列表示例を示す。図５４の例１）は、フォント名称：HelveticaNueu-Bold、文字列方向＝水平方向の場合の出力例である。また、図５４の例２）は、文字列方向が設定されている文字を円弧と線分の交点に配置した例である。文字列方向が設定されている場合、上述した水平方向が文字列方向に一致する。また、上述した垂直方向は文字列方向に直行する方向となる。図５４の例１）は、作画エリア６２にある既存点:Ｐ５４０１を要素選択して特定文字位置を指定している。また、図５４の例２）では、作画エリア６２にある既存の２要素（線分と円弧）を選択し、その交点を特定文字位置としている。
【０３２７】
次に、既に作画エリア６２に表示されている文字列を選択し、その文字列中の特定文字を指定位置に配置する場合について説明する。図５０は、表示中の文字列に対する文字配置処理を説明するフローチャートである。
【０３２８】
まず、特定文字の設定及び、標準属性ボディ内配置位置情報の作成を行う（ステップＳ５００１）。これは、上述したステップＳ４２０１と同処理である。
【０３２９】
次に、文字列表示位置変更処理を行うかどうかの選択をおこなう（ステップＳ５００２）。ここでテキスト編集パネル３５０１の取消ボタンが選択された場合は、文字列の表示位置変更処理を終了する。
【０３３０】
次に、作画エリア６２に表示されている文字列から、表示位置変更をおこなう文字列を要素選択する（ステップＳ５００３）。次に、ＲＡＭ３２に登録されている、選択された文字列の文字列データ及び文字属性を参照する（ステップＳ５００４）。次に、特定文字の配置位置を指定する（ステップＳ５００５）。これは、ステップＳ４２０５と同処理である。
【０３３１】
次に、文字列の表示位置を決定し、文字列を表示する（ステップＳ５００６）。これは、ステップＳ４２０６とほぼ同じ処理であり、次の点が異なる。
【０３３２】
（１）文字列開始位置の算出
上述した図４６のフローチャートにおいて、既存文字列の表示位置変更処理の場合は、まず、ステップＳ４６０１でLTX、LTYを求めた後、処理はステップＳ４６０２からステップＳ４６０４へ進む。そして、ステップＳ５００５で指定された特定文字配置位置（XP,YP）と、ステップＳ５００４で参照した現在の文字列表示開始位置（XS,YS）から文字列の新文字列開始座標（XSN,YSN）を算出する。
【０３３３】
たとえば、Ｘ座標の場合、
［新文字列開始水平方向座標］
＝［現在の文字列表示開始水平方向座標］＋［文字列表示開始水平方向移動量］となる。ここで、［文字列表示開始水平方向移動量］は［新たな特定文字位置］−［現在の特定文字位置］で表され、［現在の特定文字位置］は［現在の文字列表示開始水平方向座標］＋LTXで表される。したがって、
［新文字列開始水平方向座標］
＝［現在の文字列表示開始水平方向座標］＋［新たな特定文字位置］−［現在の特定文字位置］
＝［現在の文字列表示開始水平方向座標］＋［新たな特定文字位置］−（［現在の文字列表示開始水平方向座標］＋LTX）
＝［新たな特定文字位置］−LTXとなる。結局、新たな文字列開始座標（XSN,YSN）は、新たな特定文字配置位置（XP,YP）を用いて、
XSN = XP - LTX ;      （式１４）
YSN = YP - LTY ;      （式１５）
となる。
【０３３４】
（２）文字列の表示
ステップＳ４３０６において文字列が作画エリア６２に表示されている場合には、文字列の作画エリアからの消去を行う（ステップＳ４３０７）。消去処理は、作画エリアから不可視にするとともに、ＲＡＭ３２に登録されているデータも削除する。
【０３３５】
以上の説明では、文字列の配置に際して、当該文字列の先頭文字から特定文字の直前の文字までの前置文字列について文字列ボックス（前置文字列ボックス）を求めて文字列の配置を決定した。しかしながら、文字列の配置に関しては、このような形態に限られるものではない。以下、他の形態として、前置文字列と特定文字からなる文字列の外接矩形を用いることも可能である。以下、このような外接矩形を用いた方式を説明する。
【０３３６】
図４７は、前置文字列と特定文字からなる文字列の外接矩形を用いた文字列表示位置決定の手順を説明するフローチャートである。図４７を参照して、上述のステップＳ４２０６、およびステップＳ５００６の表示位置決定処理において、文字列輪郭に対する外接矩形情報を使用して、文字列の新表示開始位置を算出する手順を説明する。なお、図４７で示される処理は、上述の図４３で示される処理と基本的には同処理であるが、次の点が異なる。
【０３３７】
（１）文字列の先頭から特定文字までの文字列の外接矩形（以下、前方文字列外接矩形）を算出する（ステップＳ４７０３）。
【０３３８】
図５６に、特定文字を“ピリオド”とした場合の数値データの例を示す。この場合、文字列“１２３．”の開始点から、ピリオドの外接矩形右端までのサイズＬ５６を求める。まず、ＷＹＳＩＷＹＧの機能を使用し、文字データ“１２３．”を表示してその文字列ボックスサイズＬ５６１、及び輪郭情報抽出、及び、抽出した輪郭情報の外接矩形Ｌ５６２（前方文字列が異説矩形）を求める。また、このとき、文字列開始点Ｐ５６を原点（0,0）として文字列ボックスサイズ、及び前方文字列外接矩形を求めることにより、文字列開始点Ｐ５６から前方文字列外接矩形の左端までの距離Ｌ５６３が算出できる。よって、Ｌ５６は、
Ｌ５６ = Ｌ５６２ + Ｌ５６３          （式１６）
となる。
【０３３９】
（２）ステップＳ４７０３で求めたＬ５６を使用して、文字列の開始位置を算出する（ステップＳ４７０５）。
【０３４０】
図４８にその手順を記述するフローチャートを示す。まず、ステップＳ４７０３で算出した、特定文字輪郭外接矩形中心までの文字列ボックスサイズ水平方向距離Ｌ５６と、ステップＳ４７０４（即ちステップＳ４３０４と同処理）で算出した特定文字の左空白部分サイズ：Cls、文字輪郭外接矩形幅：Crwより、ステップＳ４６０１と同様のLTX、LTYを求める（ステップＳ４８０１）。
【０３４１】
特定文字基準位置が中であるとすると、
LTX = L56 - Crw x 0.5 ;              （式１７）
LTY = - Crh x 0.5 ;                  （式１８）
となる。また、特定文字基準位置が右下であるとすると、以下のような値となり、特定文字基準位置によりLTX,LTYの値が変わる。
【０３４２】
LTX = L56  ;                         （式１９）
LTY = 0 ;                            （式２０）。
【０３４３】
次の、新文字列開始座標を求める処理（ステップＳ４８０２、Ｓ４８０３、Ｓ４８０４）は、前記ステップＳ４６０２、Ｓ４６０３、Ｓ４６０４と同様の処理である。
【０３４４】
以上のようにして、前方文字列外接矩形を用いて表示位置を決定することができる。
【０３４５】
また、本実施形態では、上記のいずれの方式においても、作画エリア６２に表示されている文字列の特定文字の文字輪郭外接矩形中心の水平方向座標のみを指定位置にあわせることができる。この場合、ステップＳ４３０５、またはＳ４７０５の新文字列開始位置を算出する処理において、水平方向座標のみをステップＳ４３０５、またはＳ４７０５のように算出し、垂直方向座標は変更しないようにする。
【０３４６】
例えば、標準特定文字をピリオド、特定文字基準位置を下とする、選択した文字列内のピリオドの水平方向位置のみを指定配置位置にあうように文字列を移動する機能を、コマンド「テキスト」のコマンドメニュー６７（図３）の項目に「小数点合わせ」として用意する。
【０３４７】
「小数点合わせ」メニューをボタン選択すると、指定配置位置に移動したい文字列を選択するように求める指示が、ガイダンスエリア６８に表示される。ここで、ユーザがこの指示に従って、テキストを要素選択する。このとき、キーボード１１のShiftキーを押しながら、次々にテキストを要素選択することにより、複数のテキストの選択も行うことができる。テキストを選択すると、特定文字ピリオドの水平方向位置を指定するように求める指示が、ガイダンスエリア６８に表示される。特定文字ピリオドの水平方向位置入力には、ステップS4205と同様に、点座標入力、任意点入力、点要素選択による点入力、特徴点入力、交点指定、線上点指定の方法があり、いずれかの方法により入力された点の水平方向座標が特定文字ピリオドの輪郭外接矩形の中心となる。特定文字ピリオド水平方向位置を指定すると、全ての選択されたテキストが、水平方向に移動する。
図５５は水平方向位置指定（本例では小数点合わせ）での表示例を示す。
【０３４８】
また、以上の実施形態では、特定文字に指定された文字について、標準属性ボディ内配置情報を作成しているが、そのような標準属性ボディ内配置情報を予めハードディスクに格納しておいてもよい。
【０３４９】
図４９に標準属性での特定文字ボックス内配置位置情報作成手順を説明するフローチャートを示す。
【０３５０】
まず、標準特定文字を設定する（ステップＳ４９０１）。次に、書体名称および前記標準属性を設定する（ステップＳ４９０１）。次に、原点（0,0）を文字列開始位置として特定文字１文字を表示する（ステップＳ４９０２）。前記ＷＹＳＩＷＹＧの機能を使用し特定文字１文字を表示して、図５７に示すように、その文字ボックスサイズＬ５７０１、及び輪郭情報抽出、及び、抽出した輪郭情報の外接矩形Ｌ５７０２，Ｌ５７０３を求める（ステップＳ４９０３）。このとき、文字列開始点Ｐ５７０１を原点（0,0）として輪郭情報外接矩形を求めると、文字左側空白部分の長さＬ５７０４が求まる。そして、標準属性での特定文字の文字ボックス内左空白部分の幅:Dls、輪郭外接矩形の幅:Drw、輪郭外接矩形の高さ:Drh、右空白部分の幅:Drsを算出する（ステップＳ４９０４）。
【０３５１】
Dls = L5704 ;                    （式２１）
Drw = L5702 ;                    （式２２）
Drh = L5703 ;                    （式２３）
Drs = L5701 - L5704 - L5702 ;    （式２４）。
【０３５２】
そして、上記Dls,Drw,Drh,Drsを外部記憶装置３３にフォント名称とともに格納する（ステップＳ４９０５）。なお、この標準文字属性文字ボックス内配置位置情報ファイルのフォーマット例は図５２で説明した形態を用いれば良い。
【０３５３】
また、図４７で示した、ステップＳ４７０３，Ｓ４７０４，Ｓ４７０５の文字列開始位置算出方法を使用し、特定文字の文字ボックス内配置位置情報として、書体名称及び外接矩形の幅:Drw、高さ:Drhのみ格納しておくこともできる。
【０３５４】
図４９のフローに示す処理は、文字列の表示処理において毎回行う必要はなく、そのフォントを初めて使用する前に一度行い、そのデータを外部記憶装置３３に格納しておけばよい。外部記憶装置３３に格納した情報が、ステップＳ４２０１、およびステップＳ５００１でＲＡＭ３２に読み込まれ使用される。
【０３５５】
また、図４９のフローに示す処理を、全ての使用可能な書体について行い、書体名称、文字ボックス内配置位置情報を外部記憶装置３３に格納しておいてもよいし、使用頻度の高い書体についてのみ、行っておいてもよい。そして、データが格納されていない書体については、必要になった場合に、そのデータを作成するようにしてもよい。
【０３５６】
［印刷データの印刷］
次に、作成された印刷データを、レーザープリンタ５１やイメージセッター５２などの印刷装置で印刷する手順を説明する。
【０３５７】
印刷データが、例えば、版下として使用される場合、レーザープリンタ５１は、印刷データを、校正刷り（印刷データの確認のための出力）し、また、印刷ログファイルの内容を出力するのに用いられ、イメージセッター５２は、印刷データを、清刷り（正式な版下となる高精度な出力）するのに用いられる。
【０３５８】
本実施形態に係る情報処理装置においては、図形データおよび文字データを、印刷時の出力形態と同じ表示形態のイメージで、表示装置４１へ表示する制御を行なう、いわゆるＷＹＳＩＷＹＧの機能を有している、
しかしながら、ＷＹＳＩＷＹＧの機能を有していても、表示装置４１は、１００ＤＰＩ程度の解像度しかないため、細かいレイアウトの確認や、ミスのチェックなどを行なうためには、５００ＤＰＩ程度といった、表示装置４１よりはるかに高い解像度を持つ、レーザープリンタ５１で、印刷データを印刷しなければならない。
【０３５９】
もちろん、直接、イメージセッター５２で印刷データを印刷して、これらの確認を行なうことも可能ではあるが、イメージセッター５２は、解像度が３０００ＤＰＩ程度と、極めて高いために、専用の用紙を使用しなければならず、また、印刷のコストがかかり、出力のスピードが遅いなどの欠点があるので、最終的にイメージセッター５２で印刷するような場合でも、あらかじめ、レーザープリンタ５１で印刷データを印刷して、出力形態の確認を行なっておくのが普通である。
【０３６０】
図６２に、作成された印刷データを、レーザープリンタ５１やイメージセッター５２などの印刷装置で印刷する手順を説明するフローチャートを示す。
【０３６１】
まず、印刷のコマンドを選択する（ステップＳ６２０１）。
【０３６２】
具体的には、以下のような処理を行なう。
【０３６３】
まず、メインパネル６１上のボタン６５の中の、コマンド「プリント」のボタンを、ボタン選択するか、または、文字入力エリア６４で、コマンド「プリント」の名称を、キーボード１１から入力する。
【０３６４】
すると、表示装置４１には、コマンドメニュー６７が表示される。コマンドメニュー６７の項目には、
（１）校正刷り
（２）部分校正刷り
（３）清刷り
がある。ユーザーが、いずれかのメニュー項目をボタン選択することによって、印刷データの印刷処理が開始される。
【０３６５】
それでは、まず、ステップＳ６２０１において、「校正刷り」メニューがボタン選択された場合について、以下に説明する。
【０３６６】
「校正刷り」メニューをボタン選択した場合、ＣＰＵ２１によって、印刷装置として、レーザープリンタ５１が選択される（ステップＳ６２１１）。
【０３６７】
そして、校正刷りが選択されたものとして、表示装置４１には、図６３に示すような、校正刷り出力条件設定パネル６３０１が表示される。校正刷り出力条件設定パネル６３０１では、次の各条件を設定する。
（１）倍率
（２）部数
（３）紙サイズ
（４）紙方向。
【０３６８】
まず、実寸の何倍で出力するかを、倍率入力エリア６３０２に、キーボード１１で数値を入力する（ステップＳ６２１２）。
次に、同じ印刷データを一度の印刷処理で何部出力するかを、部数入力エリア６３０３に、キーボード１１で数値を入力する（ステップＳ６２１３）。
【０３６９】
次に、紙サイズ選択ボタン６３０４で、印刷データを印刷する用紙のサイズのボタンを１つ、ボタン選択する（ステップＳ６２１４）。ここで選択することのできる紙サイズの種類は、出力するレーザープリンタ５１の仕様に従う。
【０３７０】
次に、紙方向選択ボタン６３０５で、印刷データを印刷する用紙の紙方向を、縦（Ｙ方向が長い）／横（Ｘ方向が長い）／自動（ページ数が最少になる）のいずれかの中から１つ、ボタン選択する（ステップＳ６２１５）。
【０３７１】
校正刷りの出力条件の設定を行なった後、「実行」ボタンを、ボタン選択することによって、出力条件が決定される。
【０３７２】
次に、印刷データのうち、実際に出力の対象となる要素を、以下のような条件によって決定する（ステップＳ６２１６）。
（１）レイヤー：レイヤーとは、個々の要素が所属する、印刷データの仮想的な階層であり、表示上では、要素の色などによって識別できる。レイヤーによって、常に出力の対象となるレイヤー、常に出力の対象とならないレイヤー、ユーザーが出力の対象とするかどうかを選択できるレイヤー、がある。
（２）表示属性：非表示状態に設定されている要素やレイヤーは、出力の対象としない、などの条件である。ユーザーは、要素やレイヤーごとに、この条件を設定できる。
（３）要素種別：常に出力の対象となる要素種別（トンボなど）、常に出力の対象とならない要素種別（点など）、ユーザーが出力の対象とするかどうかを選択できる要素種別（その他の要素種別）、がある。
【０３７３】
次に、ＣＰＵ２１は、実際に出力の対象となる全ての要素について、ステップＳ６２１２で設定した倍率をかけた状態での、要素の外接矩形を計算する（ステップＳ６２１７）。
【０３７４】
その際に、要素の外接矩形が、すでにＣＰＵ２１によって計算され、要素のデータの一部として、ＲＡＭ３２に保存されている場合には、保存されている外接矩形の情報に、倍率をかけるだけでよい。
【０３７５】
また、ＣＰＵ２１は、ステップＳ６２１４で設定した紙サイズから、印刷データを出力しない、上下左右の各方向の紙マージン部分を除いた、有効出力領域を計算する（ステップＳ６２１８）。
【０３７６】
ここで、紙サイズの情報、紙マージンの大きさの情報は、あらかじめ、外部記憶装置３３などに保存されているものを、ＲＡＭ３２に読み込んで使用する。
【０３７７】
次に、ステップＳ６２１７で計算した外接矩形、およびステップＳ６２１８で計算した有効出力領域の情報から、ＣＰＵ２１は、印刷データを紙に出力したときの出力範囲と位置を決定する（ステップＳ６２１９）。
【０３７８】
１枚の紙に、印刷データを出力できる場合には、ＣＰＵ２１は、印刷データが紙の中央に出力されるように、出力位置を決定する。ここで、印刷データを、紙の左下、左上、右下、右上、などの位置に出力することも可能である。
【０３７９】
また、１枚の紙に、印刷データを出力できない場合には、ＣＰＵ２１は、印刷データを複数の紙に分割して出力する。このように、印刷データを、複数の紙に分割して出力する場合、境界部分の印刷データが完全に出力されるように、印刷データの一部をオーバーラップさせて、分割された両方の紙に出力させることもできる。
【０３８０】
また、ステップＳ６２１５で、紙方向を「自動」と選択した場合には、印刷用紙のページ数が最も少なくなるように、縦方向、横方向のいずれかが、ＣＰＵ２１によって選択された上で、出力範囲と位置が決定される。
【０３８１】
そして、実際に紙に出力する前に、ユーザーが出力範囲の確認を行えるように、ＣＰＵ２１は、作画エリア６２に出力範囲を表示する（ステップＳ６２２０）。
【０３８２】
図６４に、出力範囲を確認表示した一例を示す。図中の細線で示した矩形が、出力範囲である。これは、印刷データを１枚の紙に出力できる場合で、かつ、紙方向として、縦が選択された場合の例である。
【０３８３】
図６５に、出力範囲を確認表示した別の例を示す。図６４とは異なり、これは、印刷データを１枚の紙に出力できずに、４枚の紙に分割して出力する場合で、かつ、紙方向として、横が選択された場合の例である。
ここで、図６６に示すような、出力範囲確認パネル６６０１が表示される。そこで、ユーザーは、ステップＳ６２２０で表示された出力範囲を見て、印刷データを実際に紙に出力するかどうかを判断する。ユーザーは、出力範囲が適当であると判断した場合には、出力範囲確認パネル６６０１において、「実行」ボタンを、ボタン選択し、出力範囲が適当でないと判断した場合には、出力範囲確認パネル６６０１において、「取消」ボタンを、ボタン選択する（ステップＳ６２２１）。
【０３８４】
ここで、「実行」ボタンが、ボタン選択された場合は、印刷データの他に、出力時に付加される印刷付加情報である、印刷データ名称、出力日付および時間、出力ページ数、などを付加する（ステップＳ６２２２）。
【０３８５】
これらの印刷付加情報のうち、印刷データ名称は、あらかじめユーザーが設定しておいた情報が、ＲＡＭ３２から読み込まれる。また、出力日付および時間、出力ページ数は、ＣＰＵ２１が、出力時に設定する。
【０３８６】
また、印刷付加情報が出力される、用紙上の位置、文字の印刷属性などの情報は、あらかじめ外部記憶装置３３などに保存されているものを、ＲＡＭ３２に読み込んで使用する。
【０３８７】
そして、印刷付加情報および印刷データが、実際に、レーザープリンタ５１から、紙に出力され、いわゆる校正刷り出力が実行される（ステップＳ６２２３）。
【０３８８】
一方、ステップＳ６２２１において、「取消」ボタンが、ボタン選択された場合は、印刷データの出力は行なわれずに、校正刷り出力条件設定パネル６３０１が、再び表示されるので、ステップＳ６２１２に戻り、ユーザーは、再度、倍率などの出力条件を設定し直せばよい。
【０３８９】
それでは、次に、ステップＳ６２０１において、「部分校正刷り」メニューがボタン選択された場合について、説明する。
【０３９０】
「部分校正刷り」メニューを、ボタン選択した場合、ＣＰＵ２１によって、印刷装置として、レーザープリンタ５１が選択される（ステップＳ６２３１）。
【０３９１】
このように、部分校正刷りが選択された場合、次に、ユーザに対して、出力する要素を選択するように求める指示が、ガイダンスエリア６８に表示されるので、ユーザーは、この指示に従って、要素を選択する。要素の選択方法は、前述の、要素をグループ化する場合と同様、連続要素選択、矩形領域指定、任意領域指定、のいずれかの方法をとればよい（ステップＳ６２３２）。
【０３９２】
要素の選択が終了すると、表示装置４１には、図６３に示すような、校正刷り出力条件設定パネル６３０１が表示される。
【０３９３】
以下、ステップＳ６２１２からステップＳ６２２３までの処理は、校正刷りの場合と同様であるため、説明を省略する。
【０３９４】
それでは、次に、ステップＳ６２０１において、「清刷り」メニューがボタン選択された場合について、説明する。
【０３９５】
図６７に、印刷データを清刷り出力する手順を説明するフローチャートを示す。
【０３９６】
まず、「清刷り」メニューを、ボタン選択した場合、ＣＰＵ２１によって、印刷装置として、イメージセッター５２が選択される（ステップＳ６７１１）。
【０３９７】
そして、清刷りが選択されたものとして、表示装置４１には、図６８に示すような、清刷り出力条件設定パネル６８０１が表示される。清刷り出力条件設定パネル６８０１では、次の各条件を設定する。
（１）倍率
（２）部数
（３）ラベル
（４）図面枠
まず、実寸の何倍で出力するかを、倍率入力エリア６８０２に、キーボード１１で数値入力する（ステップＳ６７１２）。
【０３９８】
次に、同じ印刷データを一度の印刷処理で何部出力するかを、部数入力エリア６８０３に、キーボード１１で数値入力する（ステップＳ６７１３）。
【０３９９】
次に、印刷データに添付するための定型のラベルを、印刷データと共に出力するか否かを、ラベル出力選択ボタン６８０４で、ボタン選択する（ステップＳ６７１４）。このラベルには、版下名称、部品番号、部品名称、作成者名および日付、承認者名および日付、尺度、訂正履歴、などの情報が出力される。
【０４００】
次に、図面枠を、印刷データと共に出力するか否かを、図面枠出力選択ボタン６８０５で、ボタン選択する（ステップＳ６７１５）。この図面枠とは、出力した印刷データの、図面としての範囲を示す矩形であって、通常、紙サイズの端から、一定の長さだけ内側にオフセットさせた矩形となる。
【０４０１】
このようにして、清刷りの出力条件の設定を行なった後、「実行」ボタンを、ボタン選択することによって、出力条件が決定される。
【０４０２】
次に、出力対象要素を決定し（ステップＳ６７１６）、その出力対象要素の外接矩形を計算する（ステップＳ６７１７）。これらの処理は、校正刷りの場合の、ステップＳ６２１６、及びステップＳ６２１７と同様である。
【０４０３】
次に、ステップＳ６７１７で計算された外接矩形の情報から、ＣＰＵ２１は、紙サイズ（印刷データを全て出力できる最小のＡｎサイズ）および紙方向を決定する（ステップＳ６７１８）。
【０４０４】
清刷り出力の場合、印刷用紙の枚数が少なくなるようにした方が、コスト、スピードなどの点で、効率がよいので、可能ならば、複数の印刷データを、１枚の印刷用紙に出力するようになっている。ここでいう印刷用紙とは、実際に、イメージセッター５２で使用する用紙のことで、紙サイズとは異なる。紙サイズとは、単一の印刷データを出力するために必要な領域のサイズのことである。
【０４０５】
次に、ＣＰＵ２１は、印刷データが紙の中央に出力されるように、出力位置を決定する（ステップＳ６７１９）。ここで、印刷データを、紙の左下、左上、右下、右上、などの位置に出力することも可能である。
【０４０６】
そして、実際に紙に出力する前に、ユーザーが出力範囲の確認を行なえるように、ＣＰＵ２１は、作画エリア６２に出力範囲を表示する（ステップＳ６７２０）。
【０４０７】
ここで、図５６に示すような、出力範囲確認パネル６６０１が表示される。そこで、ユーザーは、ステップＳ６７２０で表示された出力範囲を見て、印刷データを実際に紙に出力するかどうかを判断する。ユーザーは、出力範囲が適当であると判断した場合には、出力範囲確認パネル６６０１において、「実行」ボタンを、ボタン選択し、出力範囲が適当でないと判断した場合には、出力範囲確認パネル６６０１において、「取消」ボタンを、ボタン選択する（ステップＳ６７２１）。
【０４０８】
ここで、「実行」ボタンが、ボタン選択された場合は、次のステップに進む。一方、「取消」ボタンが、ボタン選択された場合は、印刷データの出力は行なわれずに、清刷り出力条件設定パネル６８０１が、再び表示され、ステップＳ６２１２に戻り、ユーザーは、再度、倍率などの出力条件を設定し直すことができる。
【０４０９】
次に、ステップＳ６７１４で「ラベル」の項目を「あり」と選択していた場合には、ＣＰＵ２１は、ラベルデータを作成する（ステップＳ６７２２）。
【０４１０】
図６９に、清刷り用ラベルの一例を示す。これは、写真製版用の版下に付けられるラベルの例で、ラベルの項目には、版下番号、部品番号、略式、承認者名、検証者名、作成者名、製品記号、日付、尺度、訂正履歴、などがある。
【０４１１】
このラベルの枠やタイトル文字などの固定部分の情報は、あらかじめ外部記憶装置３３などに保存されているものを、ＲＡＭ３２に読み込んで使用する。また、ラベルの各項目の内容は、印刷データをファイルに保存する際に、図７０に示すようなファイル保存パネル７００１で入力されて、外部記憶装置３３などに保存され、その保存されたものを、ＲＡＭ３２に読み込んで使用する。
【０４１２】
また、作成者名や承認者名の情報は、ユーザーがパネルから入力するのではなく、ＣＰＵ２１が、現在のユーザー名を認識して設定するようにしてもよい。日付の情報も、ＣＰＵ２１が、現在の日付を設定するようにしてもよい。
【０４１３】
また、ラベルは、紙サイズの右下などの決められた位置に、決められた大きさで、出力される。ラベルの位置に関しては、このほか、左上、左下、右上、などの位置から選択できるようにしたり、任意の位置を指定できるようにしたりすることも可能である。
【０４１４】
また、ラベルのフォームを、用途に応じて数種類用意しておいて、外部記憶装置３３などに保存しておき、ステップＳ６７１４でラベル出力が「あり」と指定された場合に、保存されたフォームを選択できるようにしてもよい。
【０４１５】
次に、ステップＳ６７１５で「図面枠」の項目が「あり」と選択された場合には、ＣＰＵ２１は、図面枠データを作成する（ステップＳ６７２３）。
【０４１６】
図７１に、図面枠と紙サイズの関係を示す。この図７１では、ラベルは図面枠の右下に設定されている。
【０４１７】
図面枠の線幅や、紙サイズごとの出力位置と大きさの情報は、あらかじめ、外部記憶装置３３などに保存されているものを、ＲＡＭ３２に読み込んで使用する。ＣＰＵ２１は、ステップＳ６７１８で決定された、紙サイズに応じた図面枠の出力位置と大きさを決定する。
【０４１８】
以上の処理により、単一の印刷データを清刷り出力するためのデータが作成される。実際に清刷り出力する際には、複数の印刷データを指定することができるので、継続して、次の印刷データを清刷り出力する場合には、出力条件を設定するステップ（ステップＳ６７１２）から、図面枠データを作成するステップ（ステップＳ６７２３）までの処理を繰り返す（ステップＳ６７２４）。
【０４１９】
複数の印刷データの指定が終了すると、次に、ＣＰＵ２１は、印刷用紙に、複数の印刷データをどのように配置するかを決定する（ステップＳ６７２５）。イメージセッター５２に出力する場合の最適な配置とは、印刷用紙の枚数が最も少なくなるように、各印刷データを配置することである。この印刷データの最適配置処理については、後で詳細に説明する。
【０４２０】
次に、清刷り出力の印刷ログファイルを作成する（ステップＳ６７２６）。印刷ログファイルには、以下の情報が記述され、イメージセッター５２から出力される版下の出力内容がわかるようになっている。図７４に、印刷ログファイルの出力例を示す。
（１）出力時刻、出力者、ページ数：実際に印刷データを出力した日付および時刻、出力者の氏名、ページ数、などを記述する。
（２）印刷用紙の配置図：印刷用紙に、各印刷データがどのように配置されているかの概略図を作成する。配置図には、各印刷データの配置がわかるように、記号を付ける。
（３）出力データのリスト：配置図に示した記号、出力条件の情報（紙サイズ、紙方向、など）、ラベルの情報（版下名称、部品番号、部品名称、作成者名および日付、承認者名および日付、尺度、など）を、リスト形式で記述する。
【０４２１】
以上で、清刷り出力用のデータは、全て作成されたので、ＣＰＵ２１は、印刷データを、イメージセッター５２で印刷する（ステップＳ６７２７）。
【０４２２】
また、印刷ログファイルデータを、レーザープリンタ５１で印刷する（ステップＳ６７２８）。
【０４２３】
次に、ステップＳ６７２５における印刷データの最適配置処理について、詳細に説明する。ここでは、印刷用紙サイズがＡｍサイズ、各印刷データの紙サイズがＡｎサイズ（ｍ＞＝ｎ）であるとする。
【０４２４】
図７２に、印刷データを最適配置する際のフローチャートを示す。
【０４２５】
まず、印刷用紙のサイズを指定する（ステップＳ７２０１）。使用する印刷用紙サイズが、あらかじめ決まっている場合には、このステップを省略することもできる。
【０４２６】
次に、出力する各印刷データの紙サイズを大きい順に並べ換える（ステップＳ７２０２）。同じ大きさの印刷データの間では、どのような順番でも構わない。
【０４２７】
そして、ＣＰＵ２１は、出力する印刷データが存在するかどうかを判定する（ステップＳ７２０３）。出力する印刷データが存在する場合は、次のステップＳ６２０４に進む。出力する印刷データが存在しない場合は、印刷データ最適配置の処理を終了する。
【０４２８】
次に、出力する印刷データが、カレントな印刷用紙に配置可能かどうかを判定する（ステップＳ７２０４）。カレントな印刷用紙に配置可能な場合には、次のステップＳ６２０６に進む。配置可能でない場合には、現在の印刷用紙への配置は終了し、次の印刷用紙に着目して、カレントな印刷用紙に設定してから（ステップＳ７２０５）、再度、カレントな印刷用紙に配置可能かどうかを判定する。
【０４２９】
次に、出力する印刷データの方向を変更する必要があるかどうかを判定する（ステップＳ７２０６）。方向を変更する必要がある場合には、出力する印刷データを全て９０度回転させて方向を変更する（ステップＳ７２０７）。方向を変更する必要がない場合には、そのまま、次のステップＳ７２０８に進む。
【０４３０】
そして、出力する印刷データを、カレントな印刷用紙に配置する（ステップＳ７２０８）。
【０４３１】
以上で、単一の印刷データを印刷用紙に配置する処理が終了する。複数の印刷データの全てが、印刷用紙に配置されるまで、出力する印刷データの有無を判定するステップ（ステップＳ７２０３）から、出力する印刷データを印刷用紙に配置するステップ（ステップＳ７２０８）を繰り返す。
【０４３２】
例えば、印刷用紙サイズがＡ１であるとし、Ａ２の印刷データが１枚（名称Ａ２１とする）、Ａ３が３枚（Ａ３１、Ａ３２、Ａ３３）、Ａ４が３枚（Ａ４１、Ａ４２、Ａ４３）あったとすると、印刷データは、Ａ２１、Ａ３１、Ａ３２、Ａ３３、Ａ４１、Ａ４２、Ａ４３、という順番に並べ換えられる。
【０４３３】
図７３は、このＡ２１からＡ４３までの印刷データを、Ａ１サイズの印刷用紙に、最適配置した結果の一例である。
【０４３４】
この図７３の例では、Ａ２１、Ａ３１、Ａ３２、までは、１枚目の印刷用紙に配置可能であるが、次のＡ３３は、１枚目の印刷用紙に配置不可能となるので、カレントな印刷用紙を、２枚目に移動し、Ａ３３は、２枚目の印刷用紙に配置可能となる。
【０４３５】
また、この図７３の例では、例えば、Ａ２１の紙方向が縦だった場合に、Ａ２１を印刷用紙に配置する際に使用される領域が、横方向となるので、Ａ２１の印刷データを全て９０度回転させて、方向を変更しなければならない。
【０４３６】
以上、作成された印刷データを、レーザープリンタ５１やイメージセッター５２などの印刷装置で印刷する手順を説明した。
【０４３７】
以上説明したように、本実施形態によれば、図５５で示されるように複数行の文字列を配置する場合に、例えばピリオドを揃えて、見栄えよく配置することができ、特に有効である。
【０４３８】
さらに、図５８に、本実施形態における特定文字をピリオド、特定文字基準位置を下とした場合の表示例と従来例を示す。図５８の（ａ）および（ｂ）では、"３５５．０"が斜体角度＞０、文字サイズ１．３倍で書かれており、複数の属性の異なる文字列をピリオドの位置で配置している。図５８の（ｂ）は、従来例であり、ピリオドのボディの左端が指定位置に配置されている。これに対して、（ａ）は本実施形態による表示例であり、ピリオドの輪郭の外接矩形における水平方向中心が指定位置に配置されている。この例のように、文字属性の異なる文字列が複数行に配置された場合にも、特定文字の中心点を一致させることができるため、文字列が揃って見える効果がある。
【０４３９】
さらに、図５９の（ａ）に特定文字をハイフンとし、特定文字基準位置を下とした場合の複数文字列の表示例を示す。なお、図５９の（ｂ）に示されるように、円弧に沿って配置されている文字列の特定文字（図ではハイフン）の位置を指定位置に配置することもできる。
【０４４０】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【０４４１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０４４２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０４４３】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０４４４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０４４５】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０４４６】
【発明の効果】
以上説明したように、本発明によれば、文字列配置位置を高精度に決定し、出力することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態の情報処理装置のハードウエア構成を示すブロック図である。
【図２】ＷＹＳＩＷＹＧの機能を説明する図である。
【図３】本実施形態のプログラムのメインパネルを示す図である。
【図４】各要素の特徴点を示す図である。
【図５】交点指定による位置の指定の例を示す図である。
【図６】線上点指定による位置の指定の例を示す図である。
【図７】印刷データファイルの例を示す図である。
【図８】シンボルの例を示す図である。
【図９】基本図形を印刷データとしてレイアウトする手順を説明するフローチャートである。
【図１０】図形データに印刷属性を付加した例を示す図である。
【図１１】図形データ印刷属性編集パネルを示す図である。
【図１２】線ピッチ編集パネル（二点鎖線の例）を示す図である。
【図１３】要素のグループ化とシンボルの登録をする手順を説明するフローチャートである。
【図１４】矩形領域指定によって対象となる要素が選択された様子を示す図である。
【図１５】任意領域指定によって対象となる要素が選択された様子を示す図である。
【図１６】シンボルの輪郭情報を抽出した結果の例を示す図である。
【図１７】座標データの量子化を説明する図である。
【図１８】一時的に要素を拡大表示して輪郭情報を抽出する手順を説明するフローチャートである。
【図１９】幾何学的な手法で輪郭情報を抽出する手順を説明するフローチャートである。
【図２０】線分列の輪郭情報を幾何学的な手法で抽出した例を示す図である。
【図２１】グループ化された要素とその外接矩形を示す図である。
【図２２】矩形の特徴点を示す図である。
【図２３】任意矩形をグループ図形のレイアウト基準矩形に設定した例を示す図である。
【図２４】構成要素の外接矩形をグループ図形のレイアウト基準矩形に設定した例を示す図である。
【図２５】シンボルの呼び出しとレイアウトをする手順を説明するフローチャートである。
【図２６】シンボルレイアウトパネルを示す図である。
【図２７】シンボル形状一覧パネルを示す図である。
【図２８】シンボル内容確認パネルを示す図である。
【図２９】シンボルを点レイアウトした例を示す図である。
【図３０】シンボルを矩形レイアウトした例を示す図である。
【図３１】シンボル状態選択パネルを示す図である。
【図３２】シンボル日時入力パネルを示す図である。
【図３３】テキストの例を示す図である。
【図３４】テキストを印刷データとしてレイアウトする手順を説明するフローチャートである。
【図３５】テキスト編集パネルを示す図である。
【図３６】文字データに印刷属性を付加した例を示す図である。
【図３７】基準文字高さと文字サイズの関係を示す図である。
【図３８】テキストの輪郭情報を抽出した結果の例を示す図である。
【図３９】テキストのレイアウト基準矩形とレイアウト基準位置を示す図である。
【図４０】テキストを点レイアウトした場合の例を示す図である。
【図４１】テキストを矩形レイアウトした場合の例を示す図である。
【図４２】文字列新規作成における文字列配置の手順を説明するフローチャートである。
【図４３】前置文字列ボックスサイズを使用して文字列表示位置を決定する手順を説明するフローチャートである。
【図４４】文字列内の特定文字検索の手順を説明するフローチャートである。
【図４５】特定文字の文字ボックス内配置位置算出の手順を説明するフローチャートである。
【図４６】前置文字列ボックスサイズを使用して文字列開始位置を算出する手順を説明するフローチャートである。
【図４７】前置文字列外接矩形を使用して文字列表示位置を決定する手順を説明するフローチャートである。
【図４８】前置文字列外接矩形を使用して文字列開始位置を算出する手順を説明するフローチャートである。
【図４９】標準属性での標準特定文字ボックス内配置位置情報作成の手順を説明するフローチャートである。
【図５０】表示中の文字列の文字列配置の手順を説明するフローチャートである。
【図５１】文字ボックス及び、標準文字属性文字ボックス内配置位置情報の内容を示す図である。
【図５２】標準文字属性文字ボックス内配置位置情報ファイルの例を示す図である。
【図５３】特定文字をピリオドとした場合の数値データの表示例を示す図である。
【図５４】特定文字をピリオドとした場合の文字列表示例を示す図である。
【図５５】水平方向位置指定での文字列表示例を示す図である。
【図５６】特定文字をピリオドとした場合の数値データの表示例を示す図である。
【図５７】標準属性での特定文字ボックス内配置位置情報をハイフンを例に説明する図である。
【図５８】複数文字列表示における従来例との比較を説明する図である。
【図５９】特定文字をハイフンとした場合の複数文字列表示例を示す図である。
【図６０】テキストの特定文字位置指定作成メッセージパネルの例を示す図である。
【図６１】特定文字の設定及び標準属性文字ボックス内配置位置情報の作成の手段を説明するフローチャートである。
【図６２】印刷データを出力する手順を説明するフローチャートである。
【図６３】校正刷り出力条件設定パネルを示す図である。
【図６４】出力範囲を確認表示した例（１枚の紙に出力できる場合）を示す図である。
【図６５】出力範囲を確認表示した例（１枚の紙に出力できない場合）を示す図である。
【図６６】出力範囲確認パネルを示す図である。
【図６７】印刷データを清刷り出力する手順を説明するフローチャートである。
【図６８】清刷り出力条件設定パネルを示す図である。
【図６９】清刷り用ラベルの例を示す図である。
【図７０】ファイル保存パネルを示す図である。
【図７１】図面枠と紙サイズの関係を示す図である。
【図７２】印刷データを最適配置する手順を説明するフローチャートである。
【図７３】印刷データを最適配置した結果の例を示す図である。
【図７４】印刷ログファイルの出力例を示す図である。
【図７５】テキスト特定文字検索方法指定パネルの例を示す図である。
【図１】
0004136123.tif 000002
【図２】
0004136123.tif 000003
【図３】
0004136123.tif 000004
【図４】
0004136123.tif 000005
【図５】
0004136123.tif 000006
【図６】
0004136123.tif 000007
【図７】
0004136123.tif 000008
【図８】
0004136123.tif 000009
【図９】
0004136123.tif 000010
【図１０】
0004136123.tif 000011
【図１１】
0004136123.tif 000012
【図１２】
0004136123.tif 000013
【図１３】
0004136123.tif 000014
【図１４】
0004136123.tif 000015
【図１５】
0004136123.tif 000016
【図１６】
0004136123.tif 000017
【図１７】
0004136123.tif 000018
【図１８】
0004136123.tif 000019
【図１９】
0004136123.tif 000020
【図２０】
0004136123.tif 000021
【図２１】
0004136123.tif 000022
【図２２】
0004136123.tif 000023
【図２３】
0004136123.tif 000024
【図２４】
0004136123.tif 000025
【図２５】
0004136123.tif 000026
【図２６】
0004136123.tif 000027
【図２７】
0004136123.tif 000028
【図２８】
0004136123.tif 000029
【図２９】
0004136123.tif 000030
【図３０】
0004136123.tif 000031
【図３１】
0004136123.tif 000032
【図３２】
0004136123.tif 000033
【図３３】
0004136123.tif 000034
【図３４】
0004136123.tif 000035
【図３５】
0004136123.tif 000036
【図３６】
0004136123.tif 000037
【図３７】
0004136123.tif 000038
【図３８】
0004136123.tif 000039
【図３９】
0004136123.tif 000040
【図４０】
0004136123.tif 000041
【図４１】
0004136123.tif 000042
【図４２】
0004136123.tif 000043
【図４３】
0004136123.tif 000044
【図４４】
0004136123.tif 000045
【図４５】
0004136123.tif 000046
【図４６】
0004136123.tif 000047
【図４７】
0004136123.tif 000048
【図４８】
0004136123.tif 000049
【図４９】
0004136123.tif 000050
【図５０】
0004136123.tif 000051
【図５１】
0004136123.tif 000052
【図５２】
0004136123.tif 000053
【図５３】
0004136123.tif 000054
【図５４】
0004136123.tif 000055
【図５５】
0004136123.tif 000056
【図５６】
0004136123.tif 000057
【図５７】
0004136123.tif 000058
【図５８】
0004136123.tif 000059
【図５９】
0004136123.tif 000060
【図６０】
0004136123.tif 000061
【図６１】
0004136123.tif 000062
【図６２】
0004136123.tif 000063
【図６３】
0004136123.tif 000064
【図６４】
0004136123.tif 000065
【図６５】
0004136123.tif 000066
【図６６】
0004136123.tif 000067
【図６７】
0004136123.tif 000068
【図６８】
0004136123.tif 000069
【図６９】
0004136123.tif 000070
【図７０】
0004136123.tif 000071
【図７１】
0004136123.tif 000072
【図７２】
0004136123.tif 000073
【図７３】
0004136123.tif 000074
【図７４】
0004136123.tif 000075
【図７５】
0004136123.tif 000076