(57)【特許請求の範囲】
【請求項１】
印刷属性の付加された図形データを記憶する記憶手段と、
前記記憶手段に記憶された図形データに付加された印刷属性に基づいて、該図形データの輪郭情報を抽出する輪郭情報抽出手段と、
前記輪郭情報抽出手段により抽出された輪郭情報に基づいて、当該図形の変倍処理を実行する変倍手段とを備え、
前記輪郭情報抽出手段は、
印刷情報に基づいて、単一の線分または円からなる通常図形が属する第１分類と、複数のラインからなるマルチライン図形が属する第２分類と、オフセットにより作成される図形が元の図形の種別と異なる図形が属する第３分類とのいずれかに、前記対象図形を分類する分類手段と、
前記分類手段における各分類に応じて前記輪郭情報の抽出を行なう抽出手段とを備えることを特徴とする図形処理装置。
【請求項２】
拡大もしくは縮小サイズを指定する変倍指定手段を更に備え、
前記変倍手段は、前記輪郭情報抽出手段により抽出された輪郭情報より得られるサイズと、前記変倍指定手段で指定された拡大もしくは縮小サイズとに基づいて変倍率を計算し、該変倍率に基づいて変倍処理を行なうことを特徴とする請求項１に記載の図形処理装置。
【請求項３】
前記抽出手段は、
輪郭情報抽出の対象となる図形が前記第１分類に分類された場合、該図形に付加された印刷情報からオフセット方向を取得してオフセット処理を行ない、当該図形の輪郭を抽出することを特徴とする請求項１に記載の図形処理装置。
【請求項４】
前記抽出手段は、
輪郭情報抽出の対象となる図形が前記第２分類に分類された場合、隣り合うラインがマイター形状を有して接続され、その接続部の角度が所定角度より大きいかどうかを該図形に付加された印刷情報に基づいて判定する判定手段を有し、
前記判定手段により、前記隣り合うラインがマイター形状を有しかつその角度が前記所定角度より大きいと判定された場合、該隣り合うラインのオフセット処理された図形の接続形状をベベルとして輪郭抽出を行なうことを特徴とする請求項１に記載の図形処理装置。
【請求項５】
前記抽出手段は、
前記判定手段により、前記輪郭情報抽出の対象となる図形において、隣り合うラインがマイター形状を有して接続され、その接続部の角度が前記所定角度以下であると判定された場合、該隣り合うラインのオフセット図形の交差している２線分を交点にて短縮する手段を更に有することを特徴とする請求項４に記載の図形処理装置。
【請求項６】
前記抽出手段は、
前記判定手段により、前記輪郭情報抽出の対象となる図形において、隣り合うラインがマイター形状を有していないと判定された場合、オフセット図形の隣り合う２線分より得られるオフセット線分上の交点の有無を交点判定手段と、
前記交点判定手段において交点なしと判定された場合、連結していない２つのオフセット線分を両者が交差するまで延長する手段と、
前記交点判定手段において交点ありと判定された場合、オフセット線分の交差している位置より先端側にある部分を除去する手段とを有することを特徴とする請求項４に記載の図形処理装置。
【請求項７】
前記抽出手段は、
輪郭情報抽出の対象となる図形が前記第３分類に分類された場合、該図形を複数のセグメントに分割する分割手段と、
前記分割手段で分割されたセグメントについてオフセット処理を行ない、輪郭情報を算出する算出手段とを備えることを特徴とする請求項１に記載の図形処理装置。
【請求項８】
前記分割手段は、
出力機の解像度に応じた分割数を算出する算出手段と、
前記算出手段で算出された分割数に基づいて前記図形を再帰的に分割する再帰分割手段とを備え、
前記再帰分割手段による前記図形の分割後に得られる近似直線をセグメントとすることを特徴とする請求項７に記載の図形処理装置。
【請求項９】
前記再帰分割手段は、前記図形がベジェ曲線である場合に、DeCasteljauのアルゴリズムを用いて前記図形の再帰分割を行うことを特徴とする請求項８に記載の図形処理装置。
【請求項１０】
前記算出手段は、
前記出力機の解像度に基づいて最小分割線長εを算出し、
ベジェ曲線のｎ個の制御点が、（ｘi，ｙi）（但し、ｉ＝０〜ｎ）である場合に、
L0 = max(|xi-2xi+1+xi+2|,|yi-2yi+1+yi+2|)
r0 = log4((√2n)(n-1)L0)/8ε）
を計算し、ｒ0を前記分割数として得ることを特徴とする請求項９に記載の図形処理装置。
【請求項１１】
前記抽出手段は、
処理対象の図形の連結形状がラウンドであるか判定する連結形状判定手段を備え、
前記連結形状判定手段においてラウンドと判定された場合、オフセット図形の各ジョイント部の座標を中心とする線幅の１／２の半径をもつ円を輪郭形状とすることを特徴とする請求項１に記載の図形処理装置。
【請求項１２】
前記抽出手段は、
前記処理対象の図形の終端形状を特定し、特定された終端形状に基づいて該処理対象の図形の終端部の輪郭形状を決定する終端部輪郭形状決定手段を更に備えることを特徴とする請求項１に記載の図形処理装置。
【請求項１３】
印刷属性の付加された図形データを記憶手段に記憶する記憶工程と、
前記記憶手段に記憶された図形データに付加された印刷属性に基づいて、該図形データの輪郭情報を抽出する輪郭情報抽出工程と、
前記輪郭情報抽出工程により抽出された輪郭情報に基づいて、当該図形の変倍処理を実行する変倍工程とを備え、
前記輪郭情報抽出工程は、
印刷情報に基づいて、単一の線分または円からなる通常図形が属する第１分類と、複数のラインからなるマルチライン図形が属する第２分類と、オフセットにより作成される図形が元の図形の種別と異なる図形が属する第３分類とのいずれかに、前記対象図形を分類する分類工程と、
前記分類工程における各分類に応じて前記輪郭情報の抽出を行なう抽出工程とを備えることを特徴とする図形処理方法。
【請求項１４】
拡大もしくは縮小サイズを指定する変倍指定工程を更に備え、
前記変倍工程は、前記輪郭情報抽出工程により抽出された輪郭情報より得られるサイズと、前記変倍指定工程で指定された拡大もしくは縮小サイズとに基づいて変倍率を計算し、該変倍率に基づいて変倍処理を行なうことを特徴とする請求項１３に記載の図形処理方法。
【請求項１５】
前記抽出工程は、
輪郭情報抽出の対象となる図形が前記第１分類に分類された場合、該図形に付加された印刷情報からオフセット方向を取得してオフセット処理を行ない、当該図形の輪郭を抽出することを特徴とする請求項１３に記載の図形処理方法。
【請求項１６】
前記抽出工程は、
輪郭情報抽出の対象となる図形が前記第２分類に分類された場合、隣り合うラインがマイター形状を有して接続され、その接続部の角度が所定角度より大きいかどうかを該図形に付加された印刷情報に基づいて判定する判定工程を有し、
前記判定工程により、前記隣り合うラインがマイター形状を有しかつその角度が前記所定角度より大きいと判定された場合、該隣り合うラインのオフセット処理された図形の接続形状をベベルとして輪郭抽出を行なうことを特徴とする請求項１３に記載の図形処理方法。
【請求項１７】
前記抽出工程は、
前記判定工程により、前記輪郭情報抽出の対象となる図形において、隣り合うラインがマイター形状を有して接続され、その接続部の角度が前記所定角度以下であると判定された場合、該隣り合うラインのオフセット図形の交差している２線分を交点にて短縮する工程を更に有することを特徴とする請求項１６に記載の図形処理方法。
【請求項１８】
前記抽出工程は、
前記判定工程により、前記輪郭情報抽出の対象となる図形において、隣り合うラインがマイター形状を有していないと判定された場合、オフセット図形の隣り合う２線分より得られるオフセット線分上の交点の有無を交点判定工程と、
前記交点判定工程において交点なしと判定された場合、連結していない２つのオフセット線分を両者が交差するまで延長する工程と、
前記交点判定工程において交点ありと判定された場合、オフセット線分の交差している位置より先端側にある部分を除去する工程とを有することを特徴とする請求項１６に記載の図形処理方法。
【請求項１９】
前記抽出工程は、
輪郭情報抽出の対象となる図形が前記第３分類に分類された場合、該図形を複数のセグメントに分割する分割工程と、
前記分割工程で分割されたセグメントについてオフセット処理を行ない、輪郭情報を算出する算出工程とを備えることを特徴とする請求項１３に記載の図形処理方法。
【請求項２０】
前記分割工程は、
出力機の解像度に応じた分割数を算出する算出工程と、
前記算出工程で算出された分割数に基づいて前記図形を再帰的に分割する再帰分割工程とを備え、
前記再帰分割工程による前記図形の分割後に得られる近似直線をセグメントとすることを特徴とする請求項１９に記載の図形処理方法。
【請求項２１】
前記再帰分割工程は、前記図形がベジェ曲線である場合に、DeCasteljauのアルゴリズムを用いて前記図形の再帰分割を行うことを特徴とする請求項２０に記載の図形処理方法。
【請求項２２】
前記算出工程は、
前記出力機の解像度に基づいて最小分割線長εを算出し、
ベジェ曲線のｎ個の制御点が、（ｘi，ｙi）（但し、ｉ＝０〜ｎ）である場合に、
L0 = max(|xi-2xi+1+xi+2|,|yi-2yi+1+yi+2|)
r0 = log4((√2n)(n-1)L0)/8ε）
を計算し、ｒ0を前記分割数として得ることを特徴とする請求項２１に記載の図形処理方法。
【請求項２３】
前記抽出工程は、
処理対象の図形の連結形状がラウンドであるか判定する連結形状判定工程を備え、
前記連結形状判定工程においてラウンドと判定された場合、オフセット図形の各ジョイント部の座標を中心とする線幅の１／２の半径をもつ円を輪郭形状とすることを特徴とする請求項１３に記載の図形処理方法。
【請求項２４】
前記抽出工程は、
前記処理対象の図形の終端形状を特定し、特定された終端形状に基づいて該処理対象の図形の終端部の輪郭形状を決定する終端部輪郭形状決定工程を更に備えることを特徴とする請求項１３に記載の図形処理方法。
【請求項２５】
請求項１３乃至２４のいずれか１項に記載された図形処理方法をコンピュータに実行させるための制御プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばＣＡＤシステム等のような、図形や文字列などを拡大・縮小することが可能な図形処理装置及び方法に関する。
【０００２】
【従来技術】
図形や文字列などを拡大・縮小といった編集機能を有する情報処理装置の一例として、印刷データ、特に、製品本体やその外装パッケージやマニュアル類などに表示する、図形や文字やイラストなどの版下用の印刷データを作成する、ＣＡＤやＤＴＰ（Desk Top Publishing）などの、対話形式の作図システムがある。このようなシステムを用いて印刷データを作成する場合には、従来、次のような方法があった。
【０００３】
（１）印刷した時のイメージとは異なる、おおまかなイメージを表示装置に表示しながら、対話形式で図形や文字の編集やレイアウトを行なった後に、印刷に必要な属性を付加した、印刷用のデータを別に作成して、印刷装置で印刷する方法。
【０００４】
（２）印刷した時のイメージと同様のイメージを表示装置に表示しながら、対話形式で図形や文字の編集やレイアウトを行なった後に、表示装置に表示されたデータを、ほぼそのままの形で、印刷装置で印刷する方法。
【０００５】
なお、この（２）の方法は、表示装置に表示されるイメージが、印刷装置で印刷されるイメージと同じ表示形態となる、いわゆるＷＹＳＩＷＹＧ（What You See Is What You Get）と呼ばれる技術による方法である。
【０００６】
従来この方法を用いて精密な図形の拡大・縮小を行うには印刷属性を付加しない図形、すなわち線幅０で構成される同等なアウトライン図形を描き、このアウトライン図形を対象に図形の拡大・縮小を行う必要があった。
【０００７】
また、印刷データを、対話形式の作図システムを用いずに作成する場合には、従来、次のような方法があった。
【０００８】
（３）  ＴｅＸなどのマークアップ言語を用いて、図形や文字のデータとともに、印刷に必要な属性や、レイアウト情報などを記述したプログラムを作成し、そのプログラムを一括処理で実行することにより、印刷データを生成して、印刷装置で印刷する方法。
【０００９】
（４）  画像処理専用プログラムを用いて、画面のイメージを取り込んだり、写真のイメージをスキャナーなどでデジタル情報に変換し、イメージをラスター情報として保持する。またこの場合、ラスターイメージをドット単位で編集することが可能である。
【００１０】
【発明が解決しようとする課題】
しかしながら、上記従来例では、それぞれ、以下に述べるような課題を有している。なお、以下に述べる課題は、それぞれ上記従来例に付した番号に対応した番号を付して記載している。
【００１１】
（１）印刷属性は図形を作成した後で付加するので、図形作成時には線幅、終端形状、連結形状、オフセット方向などの情報を考慮した図形作成及び編集ができないという問題があった。
【００１２】
（２）印刷時とほぼ同じイメージで画面に出力しながら操作が行えるが、図形の編集機能として印刷属性までを考慮して図形の拡大・縮小を行わないので、作成した図形の大きさが微妙にユーザが意図した大きさと違うという問題があった。
【００１３】
またアウトライン図形を作成するという作業はユーザに余分な労力を要求し、作業効率の低下を招くという問題があった。また自由曲線や楕円などの図形要素はアウトラインを正確に作成することが困難なため、ユーザが意図する図形が作成できないケースが存在した。
【００１４】
さらに従来アウトラインを元に幾何学的な手法を用いて図形を拡大・縮小する場合、輪郭情報の算出において出力装置の解像度を考慮していなかったため、算出した輪郭情報と出力機の解像度の違いにより誤差が生じ、精密な拡大・縮小図形編集ができなくなる恐れもあった。
【００１５】
（３）  実際に出力結果を見ながら図形や文字を作成するのではないのでユーザインターフェースが悪く、作業効率の低下を招くという問題があった。
【００１６】
（４）  画像処理専用プログラムではラスタライズされたイメージ、すなわちドット単位での画像の編集であったため、拡大・縮小などの変更を加えると、イメージが粗くなったり、精度が保たれないという問題があった。
【００１７】
本発明は上記従来の技術の様々な問題点を解決するためになされたものであり、その目的とするところは、ユーザーの作業効率を低下させることなく、しかも、印刷データに関して高精度に図形の変倍を行なえる図形処理装置及び方法を提供することにある。
【００１８】
【課題を解決するための手段】
上記の目的を達成するための本発明の一態様による図形処理装置は、例えば以下の構成を備える。すなわち、
印刷属性の付加された図形データを記憶する記憶手段と、
前記記憶手段に記憶された図形データに付加された印刷属性に基づいて、該図形データの輪郭情報を抽出する輪郭情報抽出手段と、
前記輪郭情報抽出手段により抽出された輪郭情報に基づいて、当該図形の変倍処理を実行する変倍手段とを備え、
前記輪郭情報抽出手段は、
印刷情報に基づいて、単一の線分または円からなる通常図形が属する第１分類と、複数のラインからなるマルチライン図形が属する第２分類と、オフセットにより作成される図形が元の図形の種別と異なる図形が属する第３分類とのいずれかに、前記対象図形を分類する分類手段と、
前記分類手段における各分類に応じて前記輪郭情報の抽出を行なう抽出手段とを備える。
【００１９】
また、上記の目的を達成するための本発明の他の態様による図形処理方法は、例えば以下の工程を備える。すなわち、
印刷属性の付加された図形データを記憶手段に記憶する記憶工程と、
前記記憶手段に記憶された図形データに付加された印刷属性に基づいて、該図形データの輪郭情報を抽出する輪郭情報抽出工程と、
前記輪郭情報抽出工程により抽出された輪郭情報に基づいて、当該図形の変倍処理を実行する変倍工程とを備え、
前記輪郭情報抽出工程は、
印刷情報に基づいて、単一の線分または円からなる通常図形が属する第１分類と、複数のラインからなるマルチライン図形が属する第２分類と、オフセットにより作成される図形が元の図形の種別と異なる図形が属する第３分類とのいずれかに、前記対象図形を分類する分類工程と、
前記分類工程における各分類に応じて前記輪郭情報の抽出を行なう抽出工程とを備える。
【００２０】
【発明の実施の形態】
以下、本発明の各実施の形態を図面に基づき説明する。
【００２１】
（第１の実施形態）
［ハードウエア構成の説明］
図１は、本発明の一実施形態に係る情報処理装置のハードウエア構成を示すブロック図である。
【００２２】
この図１において、２１は中央処理装置（ＣＰＵ）であり、本装置の全体の制御や演算処理を行なう。また、１１は、文字や数値の入力を行なうためのキーボードであり、１２は、座標や図形を指示するためのマウスである。また、４１は表示装置であり、図形データおよび文字データ、各種操作パネルやボタンを表示する。
【００２３】
また、３１は読出専用記憶装置（ＲＯＭ）であり、本実施形態に係るプログラムは、このＲＯＭ３１に格納され、ＣＰＵ２１によって実行される。３２は読出書込記憶装置（ＲＡＭ）であり、本実施形態に係るプログラムの実行中、ＣＰＵ２１は、必要に応じて、ＲＡＭ３２に、データを読み書きしながら処理を行なう。３３は、フロッピーディスク装置（ＦＤ）やハードディスク装置（ＨＤ）などの外部記憶装置であり、文字の書体情報やコード情報などのデータが格納されている。
【００２４】
なお、本実施形態に係るプログラムを、外部記憶装置３３に格納させておき、ＲＡＭ３２に読み込んでから、ＣＰＵ２１によって実行するようにしてもよいし、また、文字の書体情報やコード情報などのデータを、ＲＯＭ３１に格納させておき、ＣＰＵ２１が、必要に応じて、それらのデータを読み出して使用するようにしてもよい。
【００２５】
また、５１はレーザープリンタであり、本装置によって作成された印刷データを、校正刷り（印刷データの確認のための出力）し、また、印刷ログファイルの内容を出力する。５２はイメージセッターであり、本装置によって作成された印刷データを、清刷り（正式な版下となる高精度な出力）する。５３はレーザーマーカーであり、本装置によって作成された印刷データを、レーザーで直接、製品に焼き付ける。
【００２６】
以下、レーザープリンタ５１と、イメージセッター５２と、レーザーマーカー５３の違いについて説明する。
【００２７】
まず、レーザープリンタ５１は、レーザーを感光ドラムに照射してトナーを吸着させ、それを紙に転写するプリンタであり、解像度は、１５００ＤＰＩ程度まで可能である。また、イメージセッター５２は、レーザーを直接、感光紙に照射するプリンタであり、解像度は、４０００ＤＰＩ程度まで可能であり、また、用紙サイズは、Ａ１程度まで可能である。また、レーザーマーカー５３は、レーザーを直接、成形品に照射し、樹脂材料を溶融して黒化させるか、充填材を配合した特殊材料を使用して発色させる印刷装置である。
【００２８】
なお、２２はシステムバスであり、本装置を構成するハードウエアの各要素は、全て、このシステムバス２２を介して、プログラムおよびデータの受け渡しを行なっている。
【００２９】
次に、本実施形態に係る表示装置４１における表示機能について説明する。
【００３０】
本実施形態に係る情報処理装置は、図形データおよび文字データを、印刷時の出力形態と同じ表示形態のイメージで、表示装置４１へ表示する制御を行なう、いわゆるＷＹＳＩＷＹＧの機能を有しており、これを説明する図が、図２である。
【００３１】
図２（ａ）は、ＷＹＳＩＷＹＧの表示例であり、この図２（ａ）の表示形態は、印刷時の出力結果の例である図２（ｃ）の出力形態と同じとなっている。一方、図２（ｂ）は、ＷＹＳＩＷＹＧではない表示の例であり、この図２（ｂ）の表示形態は、印刷時の出力結果の例である図２（ｃ）の出力形態とは異なっている。
【００３２】
次に、本実施形態に係る表示装置４１上の操作画面について説明する。
【００３３】
図３は、本実施形態に係るプログラム実行時に表示装置４１に表示されるメインパネル６１を示した図である。
【００３４】
この図３において、６１はメインパネル、６２は作画エリア、６３はマウスポインタ、６４は文字入力エリア、６５はボタン群、６６は汎用ボタン、６７はコマンドメニュー、６８はガイダンスエリア、７１はメインパネル以外のパネル、７２はパネル７１上のボタンである。また、これら図３上のボタンは、全てソフトキーである。
【００３５】
このメインパネル６１上で、キーボード１１や、マウス１２などの入力装置を操作することによって、対話的に、印刷データの作成および編集作業を行なう。作成された印刷データは、作画エリア６２に表示される。
【００３６】
また、必要に応じて、メインパネル６１以外に、各種のパネル７１が表示され、パネル７１上で、操作を行なうこともある。
【００３７】
以下、この図３を用いて、本実施形態における、さまざまな入力方法について説明する。
【００３８】
キーボード１１から入力を行なう場合には、文字入力エリア６４を、マウス１２またはキーボード１１で指示してから、文字または数値を入力する。
【００３９】
また、マウス１２から入力を行なう場合には、以下の方法を用いる。
【００４０】
まず、特定の要素やボタンを選択する方法としては、次の（１）と（２）の、２つの方法がある。
【００４１】
（１）要素選択：作画エリア６２に表示されている、印刷データのある場所に、マウスポインタ６３を移動させて、その位置で、例えばマウス左ボタンを押し下げることによって、操作の対象とする要素を選択する。
【００４２】
（２）ボタン選択：メインパネル６１に表示されている、各種のボタン６５や汎用ボタン６６や、必要に応じて表示されるパネル７１に表示されている、各種のボタン７２の位置に、マウスポインタ６３を移動させて、その位置で、例えばマウス左ボタンを押し下げることによって、操作の対象とするボタンを選択する。
【００４３】
また、作画エリア６２上の特定の位置を指定する方法として、次の（３）から（７）までの、５つの方法がある。
【００４４】
（３）任意指定：作画エリア６２上の、任意の位置に、マウスポインタ６３を移動させて、その位置で、例えばマウス右ボタンを押し下げることによって、位置を指定する。
【００４５】
（４）点指定：作画エリア６２に表示されている、点を要素選択することによって、位置を指定する。
【００４６】
（５）特徴点指定：作画エリア６２に表示されている、点以外の要素を要素選択することによって、その要素の特徴となる点をＣＰＵ２１が抽出し、位置を指定する。
【００４７】
ここで、特徴点が複数存在する場合に、１点を特定する方法には、要素選択した際のマウスポインタ６３の位置に最も近い特徴点をＣＰＵ２１が自動的に抽出する方法、複数存在する特徴点の中からさらに１点を点指定する方法、などがある。
【００４８】
図４に、図形データの各要素の特徴点の例を示す。図中、＊印で示した点が、特徴点である。なお、これら特徴点の具体的な位置は、以下に示す通りである。
・線分：両端点、中点
・円：中心点、円の中心からＸおよびＹ軸方向に引いた直線と円との交点（４点）
・円弧：中心点、両端点、中点（円弧の距離を二分する円弧上の点）
・楕円：中心点、楕円の短軸および長軸と楕円との交点（４点）
・楕円弧：中心点、両端点、楕円弧の短軸および長軸と楕円弧を含む楕円との交点（４点）、中点（楕円弧の距離を二分する楕円弧上の点）
・線分列：線分列を構成する各線分の両端点、中点
・自由曲線：両端点、曲線の制御点、中点（自由曲線の距離を二分する点）。
【００４９】
（６）交点指定：作画エリア６２に表示されている、線分や円などの線要素を、１個または２個、要素選択することによって、それらの要素の交点をＣＰＵ２１が算出し、位置を指定する。
【００５０】
ここで、単一の線要素が、それ自体で交点を持つ場合、すなわち、自己交差している場合は、線要素を１個、要素選択するだけでよい。その他の場合は、２個の線要素を指定する。
【００５１】
交点が複数存在する場合に、１点を特定する方法には、先または後に要素選択した際のマウスポインタ６３の位置に最も近い交点をＣＰＵ２１が自動的に抽出する方法、複数存在する交点の中からさらに１点を点指定する方法、などがある。
【００５２】
図５に、線分と円弧を要素選択して、交点指定によって、位置を指定した例を示す。図中、レ印で示した位置で、線分、円弧、の順で、要素選択を行ない、＊印の位置が、交点指定によって指定されたことを示している。
【００５３】
（７）線上点指定：作画エリア６２に表示されている、線分、円などの、線要素を１個、要素選択することによって、その時のマウスポインタ６３の位置に最も近い、線要素上の点をＣＰＵ２１が算出し、位置を指定する。
【００５４】
図６に、円弧を要素選択して、線上点指定によって、位置を指定した例を示す。図中、レ印で示した位置で、要素選択を行ない、＊印の位置が、線上点指定によって指定されたことを示している。レ印の点は、円弧近傍の点、＊印の点は、円弧上の点である。
【００５５】
次に、本実施形態で扱う「コマンド」について説明する。本実施形態では、印刷データの作成および編集作業の各単位を「コマンド」と呼んでいる。
【００５６】
本実施形態で扱うコマンドには、点、直線、円、曲線、など、各要素を作成するコマンド（作図コマンド）や、移動、複写、削除、属性、など、各要素の形状や属性などを修正するコマンド（修正コマンド）や、その他、ファイル、プリント、トンボ、バーコード、等に関するコマンドなどがある。
【００５７】
印刷データの作成や編集を行なうには、まず、作業単位に合わせた、任意のコマンドを１つ選択する。コマンドの選択には、文字入力エリア６４で、コマンドの名称をキーボード１１から入力する方法や、コマンドの名称があらかじめ設定されているメインパネル６１上のボタン６５を、ボタン選択する方法などがある。
【００５８】
コマンドの選択が行なわれると、それまで、すでに選択されているコマンドがあった場合には、そのコマンドの終了処理が行なわれる。続いて、新たに選択されたコマンドの初期処理が行なわれ、コマンド内の処理に入る。
【００５９】
コマンドが選択されると、表示装置４１上に、選択されたコマンド内での、さらに細かい作業単位を選択するための、コマンドメニュー６７が表示される。ユーザーは、コマンドメニュー６７の任意のメニュー項目のボタンをボタン選択することによって、各種の編集作業を行なうことができる。ユーザーがどのような操作を行なえばよいかといった指示は、作業の状況に応じて、その都度、ガイダンスエリア６８に表示されるので、ユーザーは、この指示に従って、操作を行なえばよい。
【００６０】
［印刷データの説明］
○印刷データの要素
次に、本実施形態に係る情報処理装置で作成できる印刷データを構成する、図形データおよび文字データの要素に、どのような種類が存在するのかを、具体的に説明することにする。
【００６１】
本実施形態に係る情報処理装置で作成できる、図形データおよび文字データの要素には、大きく分けて、以下の（Ａ）〜（Ｅ）の５つの種類がある。
（Ａ）基本図形：点、線分、線分列（開／閉）、円、円弧、楕円、楕円弧、自由曲線（開／閉）
（Ｂ）塗り潰し図形
（Ｃ）その他の図形：トンボ、バーコード
（Ｄ）テキスト
（Ｅ）グループ図形：シンボル、イラスト。
【００６２】
ここでいう要素とは、図形データまたは文字データに、印刷データとして必要な属性（印刷属性と呼ぶ）を付加して、実際に、印刷データとしてレイアウトされる、データの単位を意味している。また、印刷データとしてレイアウトされた複数の要素をまとめてグループ化すれば、それを１つの要素として扱うこともできる。要素のグループ化の方法については、後述する。
【００６３】
それでは、以上の（Ａ）〜（Ｅ）の５つの種別について、以下に詳細に説明することにする。
【００６４】
まず、（Ａ）の基本図形は、最も基本となる図形データの要素である。このほか、線分列によって構成される、矩形（各辺がＸおよびＹ軸に平行である長方形）、正多角形などを、基本図形の要素として扱うこともできる。また、自由曲線としては、ベジェ、有理ベジェ、Ｂスプライン、エルミート、ＮＵＲＢＳなどの表現形式を扱うことができる。
【００６５】
また、（Ｂ）の塗り潰し図形は、（Ａ）の要素（点を除く）を単独で、または、複数を連結させることで、閉領域を形成し、その内部を塗り潰した図形データの要素である。塗り潰しの方法には、次の４種類がある。
（１）フィルエリア：内部を均一に塗り潰す。
（２）ハッチング：一定の傾きと間隔を持った複数の線分で塗り潰す。塗り潰し図形内の特定の点を、ハッチングの基準点として指定することもできる。
（３）メッシュ：円、矩形、正多角形など、一定の形状の図形の繰り返しで塗り潰す。塗り潰し図形内の特定の点を、メッシュの基準点として指定することもできる。
（４）パターン：あらかじめ作成されたビットパターンの繰り返しで塗り潰す。
【００６６】
また、（Ｃ）のその他の図形には、トンボ、バーコードなどがある。これらの要素は、図形データと、文字データの両方を含んでいる。トンボ、バーコードの各要素の作成方法については、後述する。
【００６７】
また、（Ｄ）のテキストは、文字データの要素である。図形データの要素と同様に、印刷データとしてレイアウトすることができるが、印刷属性の種類や、レイアウトの方法は、図形データの要素とは異なる。
【００６８】
最後に、（Ｅ）のグループ図形は、（Ａ）の基本図形、（Ｂ）の塗り潰し図形、（Ｃ）のその他の図形、（Ｄ）のテキストの各要素を、１つ以上任意の数だけ選択して、まとめて１つの要素として扱うためのもので、シンボルとイラストがある。
【００６９】
○印刷データの印刷属性
次に、本実施形態に係る情報処理装置で作成できる印刷データである、図形データおよび文字データの印刷属性に、どのような種類が存在するのかを、具体的に説明することにする。
【００７０】
本実施形態に係る情報処理装置で作成できる、図形データおよび文字データの印刷属性には、大きく分けて、以下の（ａ）〜（ｇ）の７つの種類がある。
【００７１】
まず、図形データおよび文字データに共通の印刷属性には、次に示す（ａ）〜（ｃ）の３つの種類がある。
（ａ）表示属性：要素を表示するか否か、また、表示する場合に、どのような上下関係で表示するか（表示プライオリティと呼ぶ）を指定する。
（ｂ）選択属性：要素選択が可能であるか否かを指定する。要素選択を不可にすると、その要素に対しての操作は行なえなくなる。
（ｃ）色属性：ＲＧＢあるいはＨＬＳなどのカラーモデルの種別、および、カラーコードの値を与えることによって、要素の色を表現する。白と黒以外の色が表現できないモノクロームの、表示装置４１またはレーザープリンタ５１などの印刷装置を使用している場合、色属性に応じて、白または黒のどちらかの色に変換されて、出力される。
【００７２】
次に、図形データ固有の印刷属性には、次に示す（ｄ）〜（ｆ）の３つの種類がある。
（ｄ）点属性：点要素の場合、点のある位置に記号を表示したり、文字列を表示したりすることができる。
（ｅ）線属性：点以外の基本図形の要素（線要素）の場合、次に示す、さまざまな線の属性を表現することができる。
・線種：線要素の形状を示し、実線、破線、一点鎖線、二点鎖線、などがある。
・線幅：線要素の法線方向の大きさを示す。あらかじめ定められた、細線、中線、太線、などの種別を指定したり、実寸で指定したりすることができる。
・線幅方向：線幅を考慮しない場合から、法線方向のどちらに線幅分だけオフセットさせるかを示す。
・終端形状：線分や円弧などの開図形の終端の形状で、ラウンド、フラット、スクエア、などがある。図６２に、各終端形状（ラウンド、フラット、スクエア）の一例を示す
・接続形状：線分列や矩形などの図形の角の形状で、マイター、ラウンド、ベベル、などがある。図６３に、各接続形状（マイター、ラウンド、ベベル）の一例を示す。
・線ピッチ：線種が実線以外の場合、線が存在する部分と、存在しない部分の長さを、それぞれ、実寸またはパラメータで与えることができる。
（ｆ）塗り潰し属性：塗り潰し図形要素の場合、フィルエリア、ハッチング、メッシュ、パターン、などの内部の塗り潰し方法の種類や、ハッチングやメッシュの場合の、必要な詳細データ、パターンの場合の、パターン番号を与える。
【００７３】
最後に、文字データ固有の印刷属性には、次に示す（ｇ）の１種類のみがある。
（ｇ）文字列属性：テキスト要素の場合、次に示す、さまざまな、文字の属性、および文字列全体の属性を表現することができる。
・書体：一組の文字のデザインを表し、クーリエ、ヘルベチカ、ゴシック、などがある。
・文字サイズ：文字の大きさを表し、一般には１つの文字が専有する矩形領域＝ボディ、の行送り方向の高さと等しい。
・平体率：文字を、文字の行送り方向にどれだけ縮めるかを比率で表す。
・長体率：文字を、文字の字送り方向にどれだけ縮めるかを比率で表す。
・ベース角：文字の字送り方向がＸ軸となす角度を表す。
・斜体角：文字の字送り方向に対する、文字の傾斜角度を表す。
・字間：同一行の隣接する２文字のボディの間隔を表す。
・行間：隣接する２行にある文字のボディの間隔を表す。
・文字列反転：文字列を反転（鏡像）して表示する。
【００７４】
○印刷データのデータ構造
次に、本実施形態における印刷データのデータ構造について説明する。本実施形態における印刷データは、一般に、既に説明したような、複数の要素データ、複数の印刷属性データから構成されている。
【００７５】
ここで、各要素データは、基本的に、データ種別コード、データ番号、各要素ごとの必要データ、各要素ごとの必要印刷属性データのデータ番号、という構成になっている。
【００７６】
そして、印刷データ内でユニークに付けられたデータ種別コードによって、印刷データ内の各要素データの種別を特定することができる。また、印刷データ内でユニークに付けられたデータ番号によって、印刷データ内の各要素データを特定することができる。各要素ごとに、必要データ、必要印刷属性の種類は異なるが、データ種別コードによって、ＣＰＵ２１は、これらを識別することが可能である。
【００７７】
また、各印刷属性については、各要素データごとに保持するのではなく、各要素データでは、必要な印刷属性データのデータ番号のみを保持するようにしている。これによって、印刷属性データの重複を避け、印刷データの容量を縮小することや、複数の要素データの印刷属性を一度の操作で変更することなどが可能になっている。
【００７８】
それでは、まず、図形データおよび文字データの各要素のデータ構造を、以下に具体的に示すことにする。
【００７９】
（Ａ）基本図形
（１）点
・データ種別コード
・データ番号
・点座標：ｃ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・点属性のデータ番号
（２）線分
・データ種別コード
・データ番号
・始点座標：ｓ［２］
・終点座標：ｅ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（３）線分列
・データ種別コード
・データ番号
・通過点数：ｎｐ
・各通過点座標：ｐｐ［２］（ｎｐ個）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（４）円
・データ種別コード
・データ番号
・中心座標：ｃ［２］
・半径：ｒ
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（５）円弧
・データ種別コード
・データ番号
・始点座標：ｓ［２］
・終点座標：ｅ［２］
・中心座標：ｃ［２］
・回り方向フラグ（時計回り／反時計回り）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（６）楕円
・データ種別コード
・データ番号
・中心座標：ｃ［２］
・長軸ベクトル：ａ［２］
・短軸ベクトル：ｂ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（７）楕円弧
・データ種別コード
・データ番号
・始点座標：ｓ［２］
・終点座標：ｅ［２］
・中心座標：ｃ［２］
・長軸ベクトル：ａ［２］
・短軸ベクトル：ｂ［２］
・回り方向フラグ（時計回り／反時計回り）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（８）自由曲線（ベジェ曲線の場合）
・データ種別コード
・データ番号
・曲線数：ｎｖ
・各曲線の制御点データ（ｎｖ個）：
制御点数：ｎｃ
各制御点座標：ｐｃ［２］（ｎｃ個）
重み係数：ｗ
・通過点数：ｎｐ
・各通過点座標：ｐｐ［２］（ｎｐ個）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号。
【００８０】
（Ｂ）塗り潰し図形
・データ種別コード
・データ番号
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・ループ数：ｎｌ
・各ループの構成要素データ（ｎｌ個）：
構成要素数：ｎｄ
構成要素データ：点を除く基本図形要素データ（ｎｄ個）
・通過基準点座標：ｐｐ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・塗り潰し属性のデータ番号
・枠の表示属性のデータ番号
・枠の色属性のデータ番号
・枠の線属性のデータ番号
（塗り潰し図形では、印刷属性として、塗り潰し図形の内部の印刷属性の他に、塗り潰し図形の枠の印刷属性を別に持っている。例えば、内部の色属性と、枠の色属性を変えて表示することなどが可能である。）。
【００８１】
（Ｃ）その他の図形
（１）トンボ
・データ種別コード
・データ番号
・トンボ種別フラグ（トンボ／スケールトンボ）
・トンボ形状フラグ（トンボの場合は１１種類／スケールトンボの場合は３種類）
・トンボオフセットフラグ（オフセットあり／なし）
・印刷データ名称（スケールトンボの場合）
・トンボ長さ（スケールトンボの場合）
・レイアウト基準点座標：ｐｂ［２］
・出力倍率：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素数：ｎｄ
・構成要素データ：トンボの場合は線分、スケールトンボの場合は線分、円、テキストのいずれかの要素データ（ｎｄ個）
（２）バーコード
・データ種別コード
・データ番号
・バーコード種別フラグ（４種類）
・コードデータ
・コード表示フラグ（コード表示あり／なし）
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素数：ｎｄ
・構成要素データ：線分、テキストのいずれかの要素データ（ｎｄ個）。
【００８２】
（Ｄ）テキスト
（１）基本文字列（テキストを構成する要素）
・データ種別コード
・データ番号
・文字列開始点座標：ｐｔ［２］
・文字列バイト数：ｎｃｈ
・文字列データ：ｓｔｒ（ｎｃｈバイト）
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・文字列属性のデータ番号
（２）テキスト
・データ種別コード
・データ番号
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素数：ｎｄ
・構成要素データ：基本文字列の要素データ（ｎｄ個）
（テキスト要素は、複数の基本文字列要素を組み合わせて構成される。これによって、ひとつのテキスト要素の中で、複数の文字列属性を持った文字列を扱うことが可能となる。例えば、ひとつのテキストの途中で文字の書体を変更したり、文字の高さや幅を変更したり、といった制御が可能である。）。
【００８３】
（Ｅ）グループ図形
（１）シンボル
・データ種別コード
・データ番号
・フォルダー名称
・ファイル名称
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・反転フラグ（反転あり／なし）
・線幅スケールフラグ（線幅スケールあり／なし）
・線幅スケール値
（２）イラスト
・データ種別コード
・データ番号
・フォルダー名称
・ファイル名称
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・反転フラグ（反転あり／なし）
・構成要素数：ｎｄ
・構成要素データ：任意の要素データ（ｎｄ個）
（シンボルおよびイラストのデータ構造の特徴、およびシンボルデータファイルおよびイラストデータファイルのファイル構造については、後述する。）。
【００８４】
次に、上述したようなデータ構造を有する要素データに対する印刷属性データのデータ構造について説明する。
【００８５】
ここで、各印刷属性データは、基本的に、データ種別コード、データ番号、属性設定フラグ、各印刷属性ごとの必要データ、という構成になっている。
【００８６】
印刷データ内でユニークに付けられたデータ種別コードによって、印刷データ内の各印刷属性データの種別を特定することができる。また、印刷データ内でユニークに付けられたデータ番号によって、印刷データ内の各印刷属性データを特定することができる。各印刷属性ごとに、必要データは異なるが、データ種別コードによって、ＣＰＵ２１は、これらを識別することが可能である。
【００８７】
また、属性設定フラグとは、その印刷属性データが有効であるか否かを指定するフラグである。属性設定フラグが有効である印刷属性データを指示している要素データでは、該当する印刷属性データに従って、要素が表示される。一方、属性設定フラグが無効である印刷属性データを指示している要素データでは、該当する印刷属性は設定されていない状態であると見なし、あらかじめＲＯＭ３１や外部記憶装置３３に記憶されているデフォルトの印刷属性に従って、要素が表示される。
【００８８】
また、各要素データに階層関係を持たせることが可能なデータ構造とした場合には、上位の（または下位の）要素の印刷属性に従って表示を行なったりする制御も可能である。
【００８９】
それでは、各印刷属性データのデータ構造を、以下に具体的に示すことにする。
（ａ）表示属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・表示フラグ（表示／非表示）
・表示プライオリティ
（ｂ）選択属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・要素選択フラグ（可／不可）
（ｃ）色属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・カラーコード種別フラグ（ＲＧＢ／ＨＬＳ）
・カラーコード１、２、３
（ｄ）点属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・マーカー文字列
（ｅ）線属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・線種フラグ（実線／破線／一点鎖線／二点鎖線／任意破線／任意一点鎖線／任意二点鎖線）
・線幅フラグ（細線／中線／太線／極太線／任意線幅）
・線幅方向フラグ（中央／内側／外側）
・終端形状フラグ（ラウンド／フラット／スクエア）
・接続形状フラグ（マイター／ラウンド／ベベル）
・線種データ１、２、３、４（線種＝任意のとき）
・線幅データ（線幅＝任意のとき）
（ｆ）塗り潰し属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・塗り潰し種別フラグ（塗り潰しあり／塗り潰しなし／ハッチング／メッシュ番号／パターン番号など）
・データグループ数：ｎｄ
・塗り潰しデータ１、２、３（ｎｄ個）
（ｇ）文字列属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・書体
・文字サイズ
・平体率
・長体率
・ベース角
・斜体角
・字間
・行間
・文字列反転フラグ（あり／なし）。
【００９０】
図７に、以上示した印刷データのデータ構造に基いて、本実施形態に係る情報処理装置で作成された、印刷データファイルの一例を示す。
【００９１】
この図７に示された印刷データは、図８に示すような形状の図形を印刷するためのものであり、本実施形態においては、図７に示す印刷データにより表現される図形が、基本図形の要素から成り、１個の線分列と２個の円と、これら３要素の外接矩形の左下点および右上点の２点（この２点は非表示で選択不可）から構成されるものとし、また、これら１個の線分列と２個の円が、それぞれ同じ表示属性（表示）、選択属性（選択可）、線属性（実線、線幅２０ｍｍ）を持ち、互いに異なる色属性を持っているものとする。
【００９２】
○グループ図形のデータ構造
それでは、上述した印刷データのデータ構造のうち、特に、グループ図形であるシンボルとイラストのデータ構造について、詳しく説明することにする。
【００９３】
まず、シンボルのデータ構造について説明する。
【００９４】
本実施形態において、シンボルとは、規格で定められた記号や、ロゴマークのように、繰り返し使用される図形で、図形データの要素（線分や円など）や、文字データの要素（テキスト）を組み合わせて、作成される要素である。
【００９５】
シンボルデータの場合、規格が変更されるなどして、シンボルデータファイルの内容が更新された場合には、既に印刷データの一部としてレイアウト済みである、該当するシンボルを、全て更新してデータの同期を維持できるようになっている。
【００９６】
そこで、本実施形態に係る情報処理装置では、シンボルのデータを、次に示すようなデータ構造で保持している。
【００９７】
すなわち、印刷データ内には、シンボルデータファイルの存在場所を特定するための、フォルダー名称およびファイル名称、そして、シンボルをレイアウトするために必要な情報のみを保持する。
【００９８】
また、印刷データをファイルに保存した印刷データファイルとは別個に、シンボルデータファイルを作成する。シンボルデータファイルは、次に示すようなファイル構造となっている。
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素データ：任意の要素データ（複数）
・印刷属性データ：必要な印刷属性データ（複数）。
【００９９】
レイアウト基準矩形については後述するが、レイアウト基準矩形を定めておけば、シンボルを印刷データとしてレイアウトする際に必要な、位置と大きさの情報を特定することが可能である。例えば、レイアウト基準矩形としては、シンボルの可視部分を囲む最小の矩形（外接矩形と呼ぶ）を指定しておくことなどが可能である。
【０１００】
シンボルデータファイルを作成する際に、該当するシンボルの外接矩形のデータをレイアウト基準矩形として登録しておけば、シンボルデータファイルを再度、読み込んだ際などに、シンボルの外接矩形を再計算する必要がなくなる。
【０１０１】
シンボルの各構成要素データは、レイアウト基準矩形左下点を基準とする相対座標値で、表現されている。
【０１０２】
また、各印刷属性データについては、印刷データの場合と同様に、各構成要素データを表示する際に必要な印刷属性データを、要素データとは別に保持している。
【０１０３】
これによって、変更のあったシンボルを含む印刷データファイルの更新を行なわなくても、該当する印刷データファイルを、外部記憶装置３３から、ＲＡＭ３２に再度、読み込んで来るだけで、印刷データ内のシンボルデータは最新のシンボルデータファイルの内容に置き換わり、データの同期が自動的に取れるようになっている。
【０１０４】
次に、もう一つのグループ図形であるイラストのデータ構造について説明する。
【０１０５】
本実施形態において、イラストとは、テンプレート図形のように、繰り返し使用される図形で、これもまた、シンボルと同様に、図形データの要素（線分や円など）や、文字データの要素（テキスト）を組み合わせて、作成される要素である。
【０１０６】
イラストは、シンボルとは異なり、いったん、印刷データの一部として、レイアウトされた後は、元のイラストデータファイルの内容とは、同期を取らずに、自由に変更を加えたい場合に使用される。
【０１０７】
従って、イラストデータの場合、シンボルデータとは異なり、イラストデータファイルの内容が更新された場合でも、既に印刷データの一部としてレイアウト済みである、該当するイラストを、更新して同期を維持することはない。
【０１０８】
そこで、本実施形態に係る情報処理装置では、イラストのデータを、次に示すようなデータ構造で保持している。
【０１０９】
すなわち、印刷データ内には、イラストデータファイルの存在場所を特定するための、フォルダー名称およびファイル名称、そして、イラストをレイアウトするために必要な情報、の他に、イラストデータファイルから読み込んだ、実際にイラストを構成する各要素データを保持している。
【０１１０】
また、印刷データファイルとは別個に、イラストデータファイルを作成する。イラストデータファイルは、次に示すようなファイル構造となっている。
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素データ：任意の要素データ（複数）
・印刷属性データ：必要な印刷属性データ（複数）。
【０１１１】
この構造は、シンボルデータファイルのファイル構造と同様である。これを印刷データに読み込む際には、指定したレイアウト基準点座標を原点とし、指定したレイアウト角度、レイアウトスケールに従って、イラストデータファイル内の各構成要素データを展開して（座標変換して）、印刷データのイラスト要素データとして、全て保持する点が、シンボルとは異なっている。
【０１１２】
［印刷データの作成］
それでは、具体的に印刷データを作成する手順を詳細に説明する。本実施形態においては、図形データの例として、シンボルを作成する場合を説明する。
【０１１３】
○シンボルの作成
まず、図形データを作成する例として、図８に示すようなシンボルを作成する場合について説明する。
【０１１４】
この図８に示すシンボルは、２個の円要素、１個の線分列要素、といった基本図形から構成されている。ここでは、
（Ａ）基本図形を印刷データとしてレイアウトする
（Ｂ）シンボルの構成要素をグループ化し、シンボルとして登録する
（Ｃ）登録されたシンボルを呼び出して、印刷データとしてレイアウトする
という、３つのフローに分けて説明する。
【０１１５】
まず、基本図形を印刷データとしてレイアウトする処理について説明する。
【０１１６】
（Ａ）基本図形のレイアウト
図９に、基本図形を印刷データとしてレイアウトする手順を説明するフローチャートを示す。
【０１１７】
まず、基本図形を作成するために必要な、座標値や半径などの、必要情報を入力する（ステップＳ０９０１）。この必要情報の入力処理については、後で詳しく説明する。
【０１１８】
次に、図形データに印刷属性を付加して、印刷データとして使用できるようにする（ステップＳ０９０２）。この印刷属性の付加処理については、後で詳しく説明する。
【０１１９】
そして、ステップＳ０９０２で印刷属性が付加されると、次に、ＣＰＵ２１は、作成された基本図形要素のデータを、印刷データとして、ＲＡＭ３２に登録する（ステップＳ０９０３）。そして、さらに、ＣＰＵ２１は、作成された基本図形要素を、作画エリア６２に表示する（ステップＳ０９０４）。
【０１２０】
以下、ステップＳ０９０１における必要情報の入力処理について説明する。
【０１２１】
これは、基本図形の種類によって異なった操作となる。
【０１２２】
例えば、円を作成する場合には、次のような操作となる。
（１）円の中心の位置を、マウス１２で既に存在する点を要素選択、または任意指定したり、キーボード１１でＸおよびＹの座標値を入力することによって指定する。
（２）円周上の１点の位置を、マウス１２で既に存在する点を要素選択、または任意指定したり、キーボード１１でＸおよびＹの座標値を入力することによって、指定する。または、キーボード１１で半径を入力する。
【０１２３】
中心と円周上の１点、または、中心と半径を指定する上記の方法以外にも、円周上の異なる３点を指定する方法、円周上の異なる２点と半径を指定する方法、などがある。
【０１２４】
また、これらの操作手順は、ガイダンスエリア６８に表示されるので、ユーザーは、この指示に従って、操作を行なえばよい。
【０１２５】
線分列を作成する場合には、次のような操作となる。
（１）線分列の始点の位置を、マウス１２で既に存在する点を要素選択、または任意指定したり、キーボード１１でＸおよびＹの座標値を入力することによって、指定する。
（２）同様にして、通過点をいくつでも指定する。
（３）汎用ボタン６６を、ボタン選択することなどによって、通過点の指定の終了を指示する。
【０１２６】
次に、以下、ステップＳ０９０２における印刷属性の付加処理について説明する。
【０１２７】
まず、図形データの印刷属性の種類については、前述した通りである。
例として、図１０に、印刷属性の付加されていない状態の図形データと、付加されている状態の図形データを示す。印刷属性が付加されていない状態では、線幅、終端形状、接続形状、などの違いが表現できていないことがわかる。印刷属性が付加されていない状態とは、前述した印刷属性データの構造の中で、属性設定フラグが無効となっている場合である。なお、属性設定フラグが無効となっている場合でも、図形データの形状は、所定の印刷属性で出力される。
印刷属性を、図形データの要素に付加するには、表示装置４１に表示される専用のパネルが必要である。
【０１２８】
図１１に、そのような図形データの要素を付加するために使用する、図形データ印刷属性編集パネル１１０１を示す。ユーザーは、この図形データ印刷属性編集パネル１１０１で、印刷属性を編集することができる。
【０１２９】
図形データ印刷属性編集パネル１１０１が表示された状態で、線種として、実線以外の種別を選択し、さらに、図形データ印刷属性編集パネル１１０１の、「線ピッチ」ボタンを、ボタン選択すると、図１２に示すような、破線、一点鎖線、二点鎖線のそれぞれの種別に応じた、線ピッチ編集パネル１２０１が表示される。そして、この線ピッチ編集パネル１２０１上で、線ピッチデータを編集することが可能となる。図１２に示したのは、二点鎖線の場合の表示例である。
【０１３０】
印刷属性を編集するには、図形データ印刷属性編集パネル１１０１上で、編集したい印刷属性の文字入力エリアを、マウス１２またはキーボード１１で指示し、キーボード１１で、数値データを入力するか、または、選択する項目のボタンを、ボタン選択してから、「設定」ボタンを、ボタン選択すればよい。
【０１３１】
これから作成しようとする印刷データに対して、印刷属性の設定を行なう場合には、図形データ印刷属性編集パネル１１０１上で、上記の方法で各印刷属性の入力を行なってから、図形データの各要素を作成すればよい。
【０１３２】
また、いったん、印刷属性を設定しておけば、ＣＰＵ２１はこれらを、カレントな印刷属性として、ＲＡＭ３２に保存しておくので、要素を作成するたびに、印刷属性を設定する必要はない。
【０１３３】
また、プログラムを終了する際に、ＣＰＵ２１は、カレントな印刷属性を、外部記憶装置３３に保存し、次に、プログラムを実行する際に、再び、ＲＡＭ３２に、読み込んで来るので、プログラムを実行するたびに、カレントな印刷属性を設定し直す必要もない。カレントな印刷属性は、ユーザーによらず共通のものと、ユーザーが各自設定した個別のものを、別々に、ＲＡＭ３２や外部記憶装置３３に、保存しておくこともできる。
【０１３４】
すでに作成された印刷データに対して、印刷属性の編集を行なう場合には、作画エリア６２に表示されている要素を要素選択すれば、ＣＰＵ２１が、図形データか文字データかを判断して、図形データの場合は、図形データ印刷属性編集パネル１１０１を、表示装置４１に表示する。
【０１３５】
この際、要素選択された要素の現在の印刷属性が、図形データ印刷属性編集パネル１１０１に表示されるので、上記の方法で印刷属性を編集してから、「設定」ボタンを、ボタン選択すればよい。作画エリア６２上の対象要素は、編集された新しい印刷属性に従って、再描画される。
【０１３６】
以上、基本図形を印刷データとしてレイアウトする手順を説明した。
次に、シンボルの構成要素をグループ化し、シンボルとして登録する処理について説明する。
【０１３７】
（Ｂ）要素のグループ化とシンボルの登録
図１３に、シンボルの構成要素をグループ化し、シンボルとして登録する手順を説明するフローチャートを示す。
【０１３８】
まず、シンボルとして登録したい対象要素をグループ化する（ステップＳ１３０１）。この対象要素のグループ化処理については、後で詳しく説明する。
【０１３９】
次に、ステップＳ１３０１でシンボルを構成する要素が特定されると、ＣＰＵ２１は、この各要素について、印刷属性を考慮して、輪郭情報を抽出する（ステップＳ１３０２）。この輪郭情報の抽出処理については、後で詳しく説明する。
【０１４０】
ステップＳ１３０２で、対象となる各要素の輪郭情報を抽出した後、ＣＰＵ２１は、抽出した輪郭情報から、外接矩形を計算する（ステップＳ１３０３）。
ここでいう外接矩形とは、要素の可視部分を囲む最小サイズの矩形、のことであり、対角の２点のＸおよびＹ座標を与えることによって特定される。
【０１４１】
このように、要素の外接矩形は、対角の２点によって特定できるので、抽出した輪郭情報から、最大のＸおよびＹ座標、最小のＸおよびＹ座標の値を算出し、外接矩形の左下点と右上点を、
左下点（輪郭情報の最小のＸ座標，輪郭情報の最小のＹ座標）
右上点（輪郭情報の最大のＸ座標，輪郭情報の最大のＹ座標）
と与えれば、外接矩形を容易に得ることができる。
【０１４２】
そして、ステップＳ１３０３で、グループ化された要素の外接矩形が求まると、ＣＰＵ２１は、作画エリア６２に既に表示されているグループ化された要素に重ねて、その外接矩形を表示する（ステップＳ１３０４）。その表示は、例えば、図１９のようになる。
【０１４３】
次に、グループ化された要素のレイアウト基準情報を定義するレイアウト基準矩形を設定する（ステップＳ１３０５）。このレイアウト基準矩形の設定処理については、後で詳しく説明する。
【０１４４】
そして、以上の一連の処理により、シンボルとして登録するための要素がグループ化され、そのレイアウト基準矩形が求まったので、そのシンボルを識別するキーとしてユーザーによりキーボード１１等から入力された文字列を、シンボルの名称として決定する（ステップＳ１３０６）。
【０１４５】
最後に、ＣＰＵ２１は、先に図７で示したような構造を持つシンボルデータファイルとして、当該シンボルに関するデータを、外部記憶装置３３に保存する（ステップＳ１３０７）。
【０１４６】
なお、このようにレイアウト基準矩形を設定した場合、図７に示すシンボルデータファイルの構造におけるレイアウト基準位置を明示的に指定しているわけではないが、シンボルデータファイルに保存する際には、レイアウト基準矩形の、例えば左下点を、常にレイアウト基準位置としておけばよい。
【０１４７】
また、シンボルを構成する各要素の座標データは、レイアウト基準位置からの相対座標で表現する。
【０１４８】
以下、ステップＳ１３０１における対象要素のグループ化処理について説明する。
【０１４９】
要素をグループ化するには、次のような方法がある。この方法は、要素をグループ化する場合に限らず、複数の要素をまとめて、複写、移動、削除などの処理を一括して行なう場合にも、使うことができる方法である。
【０１５０】
（１）連続要素選択：グループ化の対象とする要素を、１要素ずつ要素選択していく。要素選択を終了する際には、メインパネル６１上の、汎用ボタン６６を押すか、作画エリア６２上で、マウスのどれかのボタンをダブルクリック（ボタンを短時間に２度押し下げる）する。
【０１５１】
（２）矩形領域指定：グループ化の対象とする要素が含まれる領域を、矩形で囲むことによって指定する。矩形を特定するためには、対角の２点の位置を、任意指定や点指定などの方法で指定すればよい。この場合、指定した矩形の内部に全体が含まれる要素を対象とする。
【０１５２】
図１４に、この方法によって、対象となる要素が選択された状態の一例を示す。
【０１５３】
この図１４において、＊印で示した位置を指定すると、作画エリア６２に、領域を示す矩形が表示される。図中、「選択」と示されている要素が選択され、実際には、赤色などで表示されて、識別できるようになっている。
【０１５４】
なお、指定した矩形の内部に一部が含まれる要素を対象としたり、指定した矩形の内部に全く含まれない要素を対象としてもよい。
【０１５５】
（３）任意領域指定：グループ化の対象とする要素が含まれる領域を、多角形で囲むことによって指定する。多角形を構成する各点は、任意指定や点指定などの方法で指定すればよい。この場合、指定した多角形の内部に一部が含まれる要素を対象とする。
【０１５６】
図１５に、この方法によって、対象となる要素が選択された状態の一例を示す。
【０１５７】
この図１５において、＊印で示した位置を指定すると、作画エリア６２に、領域を示す多角形が表示される。図中、「選択」と示されている要素が選択され、実際には、赤色などで表示されて、識別できるようになっている。
【０１５８】
なお、指定した多角形の内部に全体が含まれる要素を対象としたり、指定した多角形の内部に全く含まれない要素を対象としてもよい。
【０１５９】
次に、ステップＳ１３０２における輪郭情報の抽出処理について説明する。
【０１６０】
図１６は、図８に示すシンボルの輪郭情報を抽出した結果を示した図である。
【０１６１】
輪郭情報は、線分、円、円弧、楕円、楕円弧、自由曲線などの、線要素が連結したものとして表現できる。ただし、輪郭情報においては、線幅などの印刷属性は考慮する必要はなく、それ自体、領域を持たない図形であると見なす。
【０１６２】
印刷属性の付加された、図形データおよび文字データの輪郭情報を抽出する方法には、以下のものがある。
【０１６３】
（１）そのまま表示装置に表示する方法：
本実施形態に係る情報処理装置では、図２で示したように、ＷＹＳＩＷＹＧの機能が実現されているので、印刷属性の付加されたデータは、印刷時の出力形態と同じ表示形態のイメージで、表示装置４１に表示される。
【０１６４】
例えば、このＷＹＳＩＷＹＧの機能が、ディスプレイポストスクリプト（ＤＰＳ）によって、実現されている場合には、図形データまたは文字データの、輪郭情報を抽出するための、ポストスクリプト（ＰＳ）の命令（オペレータ）を、表示されている、図形データまたは文字データに対して、発行してやればよい。
【０１６５】
これによって得られる輪郭情報の座標データは、表示装置４１の画面上のドットの大きさが最小単位となる量子化されたデータである。そのため、この値は、一般に、誤差を含んでいる。
【０１６６】
表示装置４１の１ドットの幅および高さをＤｄ（インチ）とすると、図１７に示すように、実際の座標が、（ｂ）や（ｃ）のように、２つのドットの境界や、（ｄ）のように、４つのドットの角の位置に一致する場合を考慮すると、得られる座標データの誤差は、最大で、Ｄｄ＊２（インチ）となる。
【０１６７】
図１７の、＊印で示した位置が、量子化されていない実際の座標位置、斜線で示した矩形が、その時の画面上のドット、すなわち、量子化された値を示している。
【０１６８】
表示装置４１の解像度Ｒｄが、およそ、Ｒｄ＝１００（ＤＰＩ）であるとすると、誤差は、
Ｄｄ＊２＝（１／Ｒｄ）＊２ ＝  １／５０（インチ）      （式１）
程度となる。
【０１６９】
イメージセッター５２などの、高解像度の印刷装置では、解像度Ｒｐはおよそ、Ｒｐ＝３０００（ＤＰＩ）程度であり、１ドットの幅および高さをＤｐ（インチ）とすると、出力時の誤差は、
Ｄｐ＊２＝（１／Ｒｐ）＊２ ＝  １／１５００（インチ）  （式２）
程度となり、表示装置４１に表示した結果から得られる座標データでは、必ずしも、十分な精度があるとは言えない可能性が高い。
【０１７０】
しかし、この方法は、ＰＳのオペレータを呼ぶだけで、図形データおよび文字データの輪郭情報を容易に得ることができるので、特に、表示装置４１の解像度以上の高い精度を要求しない印刷データ、例えば、出版物や包装紙などの印刷データを作成する場合や、表示装置４１の解像度以上の高い精度を要求する部分のある印刷データでも、他の要素や特定の座標値に、正確に合わせて出力する必要がない部分には、この方法を用いて、輪郭情報を抽出すれば十分である。
【０１７１】
（２）一時的に拡大して表示装置に表示する方法：
しかしながら、上記（１）の方法では、イメージセッター５２などの印刷装置の解像度に相当する、高い精度を要求する印刷データで、しかも、他の要素や特定の座標値に、正確に合わせて出力する必要がある部分については、表示装置４１とイメージセッター５２などの印刷装置との解像度が異なるために、表示装置４１上では、正確に輪郭情報を抽出したつもりでも、イメージセッター５２などの印刷装置で印刷した際には、目に見える誤差となってしまう場合がある。
【０１７２】
上記（１）の方法では、表示装置４１上での１ドットの誤差が、イメージセッター５２に出力した際には、３０ドットもの誤差となって、現れてしまうことになる。
【０１７３】
そこで、図形データまたは文字データの、輪郭情報を抽出する際に、ポストスクリプト（ＰＳ）の命令（オペレータ）を、図形データまたは文字データに対して発行する前に、対象となるデータを、一時的に拡大して表示してやれば、解像度による誤差を軽減できる。
【０１７４】
ただし、ここで言う「表示」とは、表示装置４１に対してデータを送信するという意味であって、必ずしも、可視である必要はない。
【０１７５】
図１８に、一時的に要素を拡大して表示装置に表示し、輪郭情報を抽出する手順を説明するフローチャートを示す。
【０１７６】
まず、拡大の倍率を決定する（ステップＳ１８０１）。拡大の倍率は、表示装置４１とイメージセッター５２の解像度の比率より大きくとればよい。従って、上記（１）の方法で示した解像度の場合、
Ｒｐ／Ｒｄ＝３０００／１００ ＝３０（倍）                  （式３）
より大きい倍率で、輪郭情報を得たい要素を拡大してやればよい。このとき、要素の印刷属性のうち、拡大の影響を受ける、線幅、終端形状、接続形状なども同じ倍率で拡大するようにする。
【０１７７】
次に、ステップＳ１８０１で決定された倍率で拡大した要素を、表示装置４１に表示する（ステップＳ１８０２）。
【０１７８】
次に、上記（１）の方法と同様に、ＰＳのオペレータなどを使用することによって、拡大した要素の輪郭情報を抽出する（ステップＳ１８０３）。ここで抽出された輪郭情報の精度は、イメージセッター５２の精度に匹敵するものとなる。
【０１７９】
次に、抽出した輪郭情報を、拡大する前の大きさに復元する（ステップＳ１８０４）。
【０１８０】
最後に、輪郭情報を抽出するために使用した、一時的に拡大した要素のデータは、輪郭情報を抽出した後は不要となるので、消去する（ステップＳ１８０５）。
【０１８１】
（３）幾何学的な手法による方法：
次に、図４４、図４５、図４６、図４７を用いて幾何学的な手法による輪郭情報の抽出方法を述べる。
【０１８２】
図４４は本実施形態による輪郭抽出手順を示すフローチャートである。まず、対象となる図形の形状データを外部記憶装置３３または読み出し書き込み記憶装置（ＲＡＭ）３２に一時的に格納する（ステップＳ３００１）。
【０１８３】
次に前記図形の種別に応じて処理を分ける。その種別を以下に記すように分別する（ステップＳ３００２）。すなわち、
Ｉ類：線分や円などの通常図形、
II類：複数のラインで構成されるマルチライン図形、
III類：楕円や自由曲線などのようにオフセットにより作成される図形が元の図形の種別と異なる図形、
である。以下に前記分類処理にて各種類に分類された図形の処理について説明する。
【０１８４】
第Ｉ類：
線分や円などの図形はオフセット方向が定まっていればオフセット形状が単純に求まる。以下、印刷属性としてオフセット方向が両側に指定された線分を例に挙げて、第Ｉ類に分類される図形の輪郭抽出を説明する。図４９は、印刷属性を考慮した線分(印刷属性：オフセット方向＝両側)を示す図である。
【０１８５】
本例の場合、図４９に示されるように、線分を定義する始点及び終点を結ぶ線の両側に、指定された線幅の１／２ずつ法線方向にオフセットした線分（オフセット線分１、オフセット線分２）が存在すると仮定すればよい。そして、この仮定線分（オフセット線分１、オフセット線分２）の始点及び終点座標を求める（ステップＳ３００２）。その後、ステップＳ３００５へ進み、当該図形の輪郭情報算出を行なう。
【０１８６】
次に、処理対象の図形が第ＩＩ類であった場合の処理(ステップＳ３００３)について図４５を用いて具体的に説明する。図４５は本実施形態によるマルチライン図形の輪郭抽出手順を示すフローチャートである。
【０１８７】
最初に元図形のマルチラインを構成する各セグメント（セグメントとはマルチラインを構成する各線分要素のことを示す）のオフセット図形を作成する。これらの各セグメントに対しては上述のステップＳ３００２（図４４）と同様な処理を行えばよい。しかしこれだけでは印刷属性として定義されている連結形状は考慮されていないので、更に以下の処理を実施する。
【０１８８】
まず入力されたマルチラインの印刷属性がマイター形状であるかの判定を行う（ステップＳ４００２）。マイター形状については、図１２２で示した通りである。
【０１８９】
ステップＳ４００２の判定処理で、当該連結形状がマイター形状であると判定された場合は、ステップＳ４００３に進み、各セグメント間の連結がマイターリミットを超えるかの判定を行う。ここで、マイターリミットを越えるか否かの判定は次のように行なう。まず、マルチラインの隣り合う各セグメント間の角度θを算出する。そして、この角度θが以下の条件▲１▼、▲２▼を満たすかどうかを調べる。
【０１９０】
▲１▼  ｜θ｜  ＞  ２＊asin(1/M)
▲２▼  ｜π−θ｜ ＞ ２＊asin(1/M)
（但し、Mはマイター形状がマイターとして印刷または表示される限界値を示すマイターリミットを表す）
ここで、θが条件▲１▼、▲２▼のいずれかの条件を満たす場合、θはマイターリミットを超えるとし、どちらも満たさない場合はマイターリミットを超えないと判定する（ステップＳ４００３）。
【０１９１】
さて、ステップＳ４００３においてマイターリミットを超えると判断された場合、処理はステップＳ４００４へ進む。ステップＳ４００４では、その図形のマイターリミットを超える隣り合う２線分を直接結ぶ線分を挿入し、あたかもその接続がベベルであるかのように処理する（ステップＳ４００４）。
【０１９２】
一方、ステップＳ４００３においてマイターリミットを超えないと判定された場合、或いは、ステップＳ４００２において接続形状がマイター形状でないと判定された場合には、処理はステップＳ４００５へ進む。以下、マルチライン形状ではあるが、マイターリミットを越えない接続形状を有する部分、或いは、接続部分がマイター形状ではない部分の、隣り合う２セグメントについての処理を説明する。
【０１９３】
まず、ステップＳ４００５において、分類された図形の隣り合う２線分のオフセット線分上に交点が存在するかのチェックを行う。もし交点が存在すれば交差している２線分を交点にて短縮、すなわち、交点よりはみ出す部分を除去する（ステップＳ４００７）。一方、交点が存在しない場合は連結していないオフセット線分を無限の長さを持つ直線と仮定し、仮定直線の交点を求める。そして、この交点までオフセット線分を延長する（ステップＳ４００６）。
【０１９４】
以上のような処理（ステップＳ４００４，Ｓ４００６，Ｓ４００７）により作成されたオフセット線分を、読出書込記憶装置３２や外部記憶装置３３などの記憶エリアに格納する（ステップＳ４００８）。
【０１９５】
次に入力図形の連結形状がラウンドであるかの判定を行う（ステップＳ４００９）。そして、連結形状がラウンドであると判定された場合は、各ジョイント部位置を中心とする、線幅の１／２の半径をもつ円（仮想円）を読み出し、これを書込記憶装置３２や外部記憶装置３３などの記憶エリアに格納する。
【０１９６】
図５０は連結形状がラウンドである場合の仮想円の作成を説明する図である。図５０の（ａ）に示されているように、オフセット方向が両側である場合は、線分の交点を中心として、ｒ＝線幅／２を半径とする仮想円を配置することで連結形状がラウンドである輪郭形状を得られる。また、図５０の（ｂ）、（ｃ）に示されるように、オフセット方向が外側或いは内側である場合は、線幅／２の位置にあるオフセット線分の交点を中心として、ｒ＝線幅／２を半径とする仮想円を配置すればよい。
【０１９７】
次に第III類に分類された図形の処理について、特にベジェ曲線の場合を例に挙げて説明する。本実施形態では、この種の図形に対して、印刷属性及び印刷装置の解像度を考慮した輪郭抽出を行なう。図４６は本実施形態による、第III類の図形の輪郭抽出手順を表すフローチャートである。
【０１９８】
まず、当該図形の出力先となる出力機の解像度を入力する（ステップＳ５００１）。出力機解像度の入力方法として、図５１に示すような、表示装置４１にメッセージを出力し、キーボード１１やマウス１２などの入力機器を通じて解像度の情報入力を行なうようにユーザを促してもよい。またあらかじめ読出専用記憶装置３１や外部記憶装置３３に出力機の解像度情報を格納したファイルを読み込むことも可能である。（ステップＳ５００１）。
【０１９９】
次に入力された解像度情報に基づいて、輪郭抽出対象の図形の分割数を算出する（ステップＳ５００２）。なお、ステップＳ５００２の具体的な処理については後述する。
【０２００】
次にDeCasteljauのベジェ分割アルゴリズムを用いてベジェ曲線を再帰的に分割する。DeCasteljauのアルゴリズムを用いて分割した曲線の例を図４８に示す。分割回数はステップＳ５００２で算出した分割数であり、分割した２曲線のうち最大ｘ値を算出する場合は２曲線のうち最大ｘ値を持つ曲線を、最小ｘ値を算出しようとしている場合は最小ｘ値を持つ曲線を次回の分割対象曲線とする。ｙ値に対しても同様である。
【０２０１】
分割数が前記算出した解像度に応じた分割数に達した時点で、始点と終点を結ぶ複数の直線が得られる。これらの直線を印刷属性で定義されているオフセット方向に線幅／２だけオフセットする（ステップＳ５００４）。そして、ステップＳ５００４で得られたオフセット直線の始点、終点の最大値、最小値をベジェ曲線の輪郭情報とする（ステップＳ５００５）。
【０２０２】
次にステップＳ５００２の具体的な処理を図４７を参照して説明する。図４７は本実施形態によるベジェ曲線の分割数を決定するための処理を説明するフローチャートである。
【０２０３】
ステップＳ５００１において入力された解像度が３０００ＤＰＩであったとする。図形を保持するシステム内部において用いている単位系がｍｍであった場合は、入力された解像度をシステム内部の単位系に変換する必要がある。従って、まず、
3000DPI = (3000/25.4)DPmm (Dots per mm)
のようにして、３０００ＤＰＩをｍｍに変換する。（ステップＳ７００１）
次に最小分割線分長εを算出する。このεの値はステップＳ７００１で算出された解像度を利用する。
【０２０４】
ε = 1/((3000/25.4)/1) = 0.00847
例えば、４００ＤＰＩの場合だと、ε = 0.0635となる（ステップＳ７００２）。
【０２０５】
次に、曲線をDeCasteljauのアルゴリズムを利用して分割する場合、その曲線の分割点を結ぶ直線と曲線の誤差をδとすると、その分割数と誤差δの関係は以下の式によって一般的に知られている（G.Wang,The subdivisional method of finding the intersection between two Bezier curves or surfaces ,Technical Report ,Zhenjian University Journal,1984）。
【０２０６】
ベジェ曲線の制御点が （ｘi，ｙi），（i=0,....n）で表される場合に，
L0 = max(|xi-2xi+1+xi+2|,|yi-2i+1+yi+2|)
としたとき、分割数r0は
r0 = log4((√2n)(n-1)L0/8δ)
となる。
【０２０７】
本実施形態では，出力機の解像度を元に算出した最小分割線分長εを上記式の誤差δに置き換えることによって分割数を算出する。すなわち、
r0 = log4((√2n)(n-1)L0/8ε)
によって、分割数ｒ0が算出される。
【０２０８】
以上、図４４におけるＩ類、II類、及びIII類の個別処理、図４５におけるマルチラインの輪郭抽出処理、図４６におけるIII類の図形の輪郭抽出についての詳細処理、図４７における出力機の解像度に応じたベジェ曲線の分割数算出処理について説明した。
【０２０９】
次に図４４におけるステップＳ３００５及びＳ３００６の処理について説明する。ステップＳ３００２及びＳ３００３において第Ｉ類及び第II類の図形のオフセット図形が読出書込記憶装置３２や外部記憶装置３３などの記憶エリアに格納されている。これらの図形は印刷属性のオフセット方向及び線幅を考慮して、図形のアウトラインに相当する図形、及びマルチライン図形の連結部に連結形状に相当する図形となっている。従って、ステップＳ３００５では、線幅や印刷属性オフセット方向は考慮しないで、単純に幾何的に格納されている図形の最大（ｘ，ｙ），最小（ｘ，ｙ）を算出すればよい。
【０２１０】
ステップＳ３００６では，最終的に図形の終端形状の印刷属性を考慮した図形の輪郭情報を抽出する。例えば，終端形状の印刷属性がフラット、スクエア、ラウンド（図６２参照）と分類される場合について以下に具体的に記す。
【０２１１】
１．フラットキャップ
処理はしない。
【０２１２】
２．スクエアキャップ
図５２は終端形状がスクエアキャップである場合の輪郭形状の抽出処理を説明する図である。終端形状がスクエアキャップである場合は、図形の端点における接線を求め、図５２に示すように図形の「角」Ｐ１及びＰ２を算出する。このとき、図５２の（ａ）〜（ｃ）に示すように印刷属性が指定するオフセット方向を考慮しなければいけない。こうして獲得されたＰ１及びＰ２の座標を、ステップＳ３００５またはＳ３００４において既に算出されている輪郭情報と比較し、Ｐ１またはＰ２が最大、最小座標を超えるようであれば輪郭情報を更新する。
【０２１３】
３．ラウンドキャップ
図５３は、終端形状がラウンドである場合の輪郭形状の抽出処理を説明する図である。図５３に示すように、線幅及び印刷属性オフセット方向を考慮して図形の端点を算出する。例えば、（ａ）に示されるように、線幅のオフセット方向が両側である場合は、線分の端点を中心とした、ｒ＝線幅／２を半径とする仮想円を配置し、終端の輪郭形状を得る。また、オフセット方向が外側或いは内側である場合は、（ｂ）或いは（ｃ）に示されるように、線分をその法線方向に線幅／２だけ移動した位置に得られるオフセット線分の端点を中心として、ｒ＝線幅／２を半径とする仮想円を配置することで、終端の輪郭形状を得る。
【０２１４】
こうして配置された仮想円の輪郭情報をステップＳ３００５またはＳ３００４において既に算出されている輪郭情報と比較し、仮想円の輪郭がその最大、最小座標を超えるようであれば輪郭情報を更新する。
【０２１５】
（４）印刷装置に相当するソフトウエアまたはハードウエアに出力する方法：
上記（２）の方法では、一時的に要素を拡大してから、表示装置４１に表示することによって、印刷装置との解像度の差によって生じる誤差を軽減しようとしたが、印刷装置の解像度に相当する精度を実現するソフトウエアまたはハードウエアに対してデータを出力することによって、高い精度の輪郭情報を抽出することもできる。
【０２１６】
上記のソフトウエアとは、イメージセッター５２などの印刷装置が表現しうるドット数に相当するだけの十分な大きさを持った２次元の整数の配列に対して、データの読み書きを行なう機能を持ったソフトウエアのことである。
【０２１７】
また、上記のハードウエアとは、イメージセッター５２などの印刷装置が表現しうるドット数に相当するだけの十分な大きさを持った２次元の表示データバッファに対して、データの読み書きを行なう機能を持ったハードウエアのことである。
【０２１８】
上記の、ソフトウエア、ハードウエア、のいずれの場合においても、描画命令（この例の場合は、ＰＳのオペレータ）を解釈し、それをドットイメージに展開する機能を有することも必要である。
【０２１９】
次に、ステップＳ１３０５におけるレイアウト基準矩形の設定処理について説明する。
【０２２０】
まず、レイアウト基準矩形が定義するレイアウト基準情報について説明する。
【０２２１】
このレイアウト基準情報とは、要素を印刷データとしてレイアウトするための、位置と大きさの基準となる情報のことであり、要素ごとに保持する必要があり、本実施形態では、位置の基準を、レイアウト基準位置、大きさの基準を、レイアウト基準サイズ、と呼ぶ。
【０２２２】
また、レイアウト基準矩形を設定する場合に、該矩形の特徴点の１点を、後述するレイアウト処理時のレイアウト基準点に定めることができる。この矩形の特徴点には、図２０に＊印で示したように、矩形の角の点（４点）、各辺の中点（４点）、中心点、の９個の点がある。
【０２２３】
なお、レイアウト基準点は、あらかじめ特定の１点を決めておかなくても、レイアウト処理時に選択することもできる。その場合は、要素のレイアウト基準点を変更する変換（平行移動）が発生する。
【０２２４】
また、レイアウト基準矩形を設定するには、次のような方法がある。
【０２２５】
（１）任意矩形：作画エリア６２上の任意の２点の位置を、任意指定、点指定、特徴点指定、交点指定、線上点指定、のいずれかの方法で指定することによって、指定した２点を対角点とする矩形を設定する。
【０２２６】
このうち、任意指定以外の、要素選択を伴う方法では、レイアウト基準矩形を設定する対象の要素、この例の場合では、グループ化された要素のいずれかを選択することが普通であるが、それ以外の要素を選択することも可能である。
【０２２７】
グループ化された要素に対して、構成要素の１つである円を選び、その円の中心点を特徴点指定、他の１点を任意指定して、レイアウト基準矩形とした場合の例を、図２１に示す。
【０２２８】
（２）外接矩形：次のような外接矩形を算出する。
【０２２９】
・要素全体の外接矩形：対象とする要素全体の外接矩形を算出する。グループ化された要素の場合は、グループを構成する全要素についての外接矩形を算出する。
【０２３０】
グループ化された要素に対して、外接矩形を算出し、それをレイアウト基準矩形とした場合の例は、すでに、図１９に示した通りである。
【０２３１】
・要素を構成する任意の要素の外接矩形：複数の要素を持つ、グループ図形の場合には、要素を構成する任意の要素を選択し、その外接矩形を算出することもできる。
【０２３２】
グループ化された要素に対して、構成要素の１つである円を選び、その円の外接矩形を算出し、それをレイアウト基準矩形とした場合の例を、図２２に示す。
【０２３３】
以上、シンボルの構成要素をグループ化し、シンボルとして登録する手順を説明した。
【０２３４】
次に、登録されたシンボルを呼び出して、印刷データとしてレイアウトする処理について説明する。
【０２３５】
（Ｃ）シンボルの呼び出しとレイアウト
図２３に、登録されたシンボルを呼び出して、印刷データとしてレイアウトする手順を説明するフローチャートを示す。
【０２３６】
まず、レイアウトしたいシンボルを選択する（ステップＳ２５０１）。
【０２３７】
具体的には、以下のような処理を行なう。
【０２３８】
まず、外部記憶装置３３などに記憶されたシンボルを呼び出すために、メインパネル６１上のボタン６５中のコマンド「シンボル」のボタンを、ボタン選択するか、または、文字入力エリア６４で、コマンド「シンボル」の名称を、キーボード１１から入力する。
【０２３９】
すると、表示装置４１には、図２４に示すような、シンボルレイアウトパネル２６０１が、表示される。そして、保存されているシンボル名称一覧２６０２の中から、レイアウトしたいシンボルを、マウス１２で選択する。また、その代わりに、シンボル名称入力エリア２６０４で、シンボル名称を、直接キーボード１１から入力することもできる。その場合、シンボル名称一覧２６０２の選択状態は、シンボル名称入力エリア２６０４での入力処理と連動して変化する。
【０２４０】
記憶されているシンボルの数が多い場合には、シンボル検索条件入力エリア２６０３で、シンボル名称の一部をキーボード１１から入力後に、リターンキーを押してもよい。その場合、入力した条件に該当するシンボル名称のみが、シンボル名称一覧２６０２に表示されるので、この中から、レイアウトしたいシンボルを、マウス１２で選択すればよい。
【０２４１】
また、シンボルを選択する際に、名称だけでなく形状を見てから選択を行ないたい、という場合のために、必要に応じて、シンボルレイアウトパネル２６０１の、「一覧」ボタンを、ボタン選択することによって、図２５に示すような、シンボル形状一覧パネル２７０１が、表示装置４１に表示される。
【０２４２】
シンボル形状一覧が、複数ページにわたる場合は、総ページ数がシンボル形状一覧パネル２７０１に表示されるので、ページ番号入力エリア２７０２に、キーボード１１で、直接ページ番号を入力するか、前ページボタン２７０３、または、次ページボタン２７０４を、ボタン選択することによって、現在表示されているページの、前後のページを表示することができる。
【０２４３】
そして、シンボル形状一覧２７０５から、レイアウトしたいシンボルを、マウス１２で選択すると、シンボル名称一覧２６０２の選択状態は、これと連動して変化する。
【０２４４】
また、選択したシンボルの内容を、詳細に確認したい場合には、シンボルレイアウトパネル２６０１の、「内容」ボタンを、ボタン選択することによって、図２６に示すような、シンボル内容確認パネル２８０１が、表示装置４１に表示される。
【０２４５】
シンボル内容確認パネル２８０１には、シンボルの形状の他、レイアウト基準矩形などの情報も同時に表示される。図中、点線で示した矩形がレイアウト基準矩形であり、この図の場合、シンボル全体の外接矩形が、レイアウト基準矩形となっている。
【０２４６】
このようにして、レイアウトするシンボルが決まったら、次に、レイアウト基準位置を選択する（ステップＳ２５０２）。
【０２４７】
レイアウト基準位置は、シンボルレイアウトパネル２６０１上のレイアウト基準位置選択ボタン２６０５の中から１個を、ボタン選択することによって、選択することができる。このレイアウト基準位置選択ボタン２６０５の中に示された９つの基準位置は、それぞれレイアウト基準矩形の９個の特徴点に対応している。
【０２４８】
レイアウト基準位置を選択すると、シンボルデータファイルに保存されている、シンボルを構成する各要素の座標データは、ＲＡＭ３２に呼び出される際に、選択されたレイアウト基準位置からの相対座標での表現に変換される。
【０２４９】
また、レイアウトする際に必要な情報として、レイアウトサイズと、レイアウト角度を、入力する（ステップＳ２５０３）。
【０２５０】
レイアウトサイズとは、シンボルをレイアウトする際の大きさを指定するもので、例えば、レイアウト基準矩形の高さか幅の、一方を指定すればよい。その手順は、シンボルレイアウトパネル２６０１の、レイアウトサイズ選択ボタン２６０６の「高さ」ボタンまたは「幅」ボタンのいずれかを、ボタン選択した後に、レイアウトサイズ入力エリア２６０７に、キーボード１１で、高さまたは幅の数値を入力すればよい。
【０２５１】
レイアウトサイズ入力エリア２６０７に、例えば、「０」などの特別な数値を入力した場合に、シンボルデータファイルに保存されている大きさのままで、シンボルをレイアウトするといったことも可能である。
【０２５２】
レイアウト角度とは、シンボルをレイアウトする際の角度を指定するもので、例えば、レイアウト基準矩形の、水平な辺（上辺または底辺）が、Ｘ軸の正方向となす角度で指定すればよい。その手順は、シンボルレイアウトパネル２６０１の、レイアウト角度入力エリア２６０８に、キーボード１１から角度の数値を入力すればよい。
【０２５３】
以上の情報をすべて入力した後、シンボルのレイアウトを実行する場合には、シンボルレイアウトパネル２６０１の「実行」ボタンを、ボタン選択し、シンボルをレイアウトするのをやめる場合には、「取消」ボタンを、ボタン選択する。
【０２５４】
次に、選択されたシンボルを、作画エリア６２においてレイアウトする位置を指定する（ステップＳ２５０４）。
【０２５５】
シンボルのレイアウト位置を指定する方法には、次のものがある。
【０２５６】
（１）点レイアウト：作画エリア６２上の任意の位置を、任意指定、点指定、特徴点指定、交点指定、線上点指定、のいずれかの方法で指定する。この場合、指定した位置に、レイアウトするシンボルの、レイアウト基準位置が一致するように、レイアウトされる。
【０２５７】
（２）矩形レイアウト：作画エリア６２上に、印刷データとしてすでに存在する矩形を、要素選択によって指定する。この場合、シンボルレイアウトパネル２６０１で指定したレイアウト基準位置とレイアウト角度によらず、指定した矩形の左上点に、レイアウトするシンボルの、レイアウト基準矩形の左上点が一致し、かつ、指定した矩形の左上点をはさむ２辺に、レイアウト基準矩形が沿うように、レイアウトされる。
【０２５８】
また、シンボルレイアウトパネル２６０１で、レイアウトサイズを、高さで指定している場合は、指定した矩形の高さに、レイアウト基準矩形の高さが一致するように、幅で指定している場合は、指定した矩形の幅に、レイアウト基準矩形の幅が一致するように、レイアウトされる。
【０２５９】
以上の操作が終わると、ＣＰＵ２１は、外部記憶装置３３から呼び出されたシンボル要素のデータを、印刷データとして、ＲＡＭ３２に登録する（ステップＳ２５０５）。
【０２６０】
また、この際、ステップＳ１３０３で求めた、シンボル要素の外接矩形のデータを、シンボル要素のデータの一部として保存する（ステップＳ２５０６）。外接矩形のデータを要素データの一部として保持しておけば、例えば、指定した要素を作画エリア６２いっぱいに表示したい、というような場合に、再度、輪郭情報を抽出する必要がない。
【０２６１】
そして、ＣＰＵ２１は、作成されたシンボル要素を、作画エリア６２に表示する（ステップＳ２５０７）。
【０２６２】
なお、ステップＳ２５０６で保存した外接矩形を、明示的に作成するには、メインパネル６１上のボタン６５中の、矩形を描画するコマンド「矩形」のボタンを、ボタン選択するか、または、文字入力エリア６４で、コマンド「矩形」の名称を、キーボード１１から入力した後、コマンドメニュー６７の「外接矩形」メニューを、ボタン選択してから、外接矩形を作成したい要素を、要素選択すればよい。
【０２６３】
以下、上記の方法で呼出したシンボルをレイアウトした場合の具体的な表示例を示す。
【０２６４】
図２７は、シンボルの外接矩形をレイアウト基準矩形に設定し、矩形の左下点をレイアウト基準位置に選び、レイアウトサイズを高さで５０ｍｍと指定し、レイアウト角度を３０度と指定して、当該シンボルを点レイアウトした場合の例である。なお、この図２７では、説明のために、レイアウト基準矩形を同時に表示しているが、実際には、シンボルのみが表示される。もちろん、レイアウト基準矩形を同時に表示するように、仕様変更することも可能である。
【０２６５】
図２８は、シンボルの外接矩形をレイアウト基準矩形に設定し、矩形レイアウトした場合の例である。図２８（ａ）が、レイアウトサイズで高さを設定している場合であり、図２８（ｂ）が、レイアウトサイズで幅を設定している場合である。両図中において、破線で示した矩形が、レイアウトの対象となる矩形であり、実線で示した矩形が、レイアウト基準矩形である。なお、この図２８では、説明のために、レイアウト基準矩形を同時に表示しているが、実際には、シンボルのみが表示される。もちろん、レイアウト基準矩形を同時に表示するように、仕様変更することも可能である。
【０２６６】
以上、登録されたシンボルを呼び出して、印刷データとしてレイアウトする手順を説明した。
【０２６７】
また、以上、図８に示すようなシンボルを作成する手順を、（Ａ）基本図形を印刷データとしてレイアウトする、（Ｂ）シンボルの構成要素をグループ化し、シンボルとして登録する、（Ｃ）登録されたシンボルを呼び出して、印刷データとしてレイアウトする、という、３つのフローに分けて説明した。
【０２６８】
［印刷データの編集］
次に、作成された印刷データを、キーボード１１、マウス１２などの入力機器を介したユーザ指示に基づいて、中央処理装置ＣＰＵ２１によって処理する手順を説明する。本実施形態では拡大・縮小を行う編集処理について説明する。
【０２６９】
図４２は、本実施形態による図形の編集処理の手順を説明するフローチャートである。まず、ステップＳ１００１において、印刷属性の付加された印刷データを、編集対象として入力する。
【０２７０】
次に、印刷データの作成に関する記述で上述したように、印刷属性の付加された図形の中で拡大・縮小対象の図形要素をキーボード１１やマウス１２などを用いてユーザが任意の図形要素を選択する。選択の方法としては、前述の要素選択やボタン選択、任意指定、点指定、特徴点指定などを用いることができる（ステップＳ１００２）。
【０２７１】
次に拡大・縮小サイズの指定を行う。表示装置４１に図５５に示すようなパネルを出力し、ユーザが希望するサイズをキーボード１１やマウス１２などを介して入力する。図５５のパネルでは編集対象図形の高さと幅の比を一定に保つように「高さ指定」または「幅指定」のどちらかを選択するようにしている。また入力単位はmmとしている（ステップＳ１００３）。
【０２７２】
次に前記選択された編集対象要素の輪郭情報の抽出を行う。輪郭抽出方法は前述の、
（１）そのまま表示装置に表示する方法
（２）一時的に拡大して表示装置に表示する方法
（３）幾何学的な手法による方法
（４）印刷装置に相当するソフトウェアまたはハードウェアに出力する方法
などを用いる（ステップＳ１００４）。なお上記の手法のいずれかを用いて一度算出された輪郭情報は、外部記憶装置３３や読出書込記憶装置（ＲＡＭ）３２に格納することによって、２度目のオペレーションでは算出する必要がなくなる。
【０２７３】
次に中央処理装置ＣＰＵ２１を用いて図形の拡大縮小率を算出する。算出方法は、ステップＳ１００３の拡大・縮小サイズ入力処理において指定されたサイズと、ステップＳ１００４において抽出された輪郭情報を用いて、拡大・縮小する比を算出する。例えば元の図形の輪郭情報が高さ１２ｍｍ、幅１５ｍｍであり、この図形の高さを１００ｍｍに拡大するには、
拡大・縮小率 ＝ 100/12 ≒ 8.333倍
とすればよい（ステップＳ１００５）。
【０２７４】
ステップＳ１００５において算出された拡大・縮小率を、ステップＳ１００２で選択された図形要素にかけて、拡大、縮小処理を行なう（ステップＳ１００６）。そして、変倍処理された図形を例図とする（ステップＳ１００７）。
【０２７５】
ここで、拡大・縮小された図形要素をレイアウトするレイアウト処理を説明する。図５６乃至図６０は本実施形態によるレイアウト処理を説明するための図である。レイアウト位置を指定する方法としては、点指定方法があり、本実施形態ではこの方式を採用する。以下、図５６乃至図６０を参照してその詳細を説明する。
【０２７６】
拡大・縮小対象となる図形要素を選択した後、その要素上あるいは図形要素の近傍における基準点をキーボード１１やマウス１２を用いて入力する。さらに図形要素をレイアウトするために、前記基準点の入力と同様にキーボード１１やマウス１２などを用いて、拡大・縮小後の基準となる新基準点を入力する。元の基準点から新基準点まで平行移動するベクトルを算出し、図形要素の平行移動を行う。この平行移動後に、算出された拡大・縮小率をかける。
【０２７７】
以下、線分の場合を例に挙げて具体的に説明する。ここでは、始点（100,100）、終点（150,50）、元の基準点（50,50）、新基準点（200,200）、拡大縮小率2.5倍として説明を行なう。図５６は元の線分（拡大前の線分）と元の基準点を示している。
【０２７８】
１．原点への平行移動
まず、元の基準点を原点に移動するベクトルを算出し、その移動ベクトルを元の線分の始点及び終点に与える。この結果、図５７に示すように、基準点と線分が移動する。
【０２７９】
２．拡大・縮小
次に、原点において、指定された拡大・縮小率をかける。本例では、2.5をかけることになる。この結果、図５８に示すように、元の線分が拡大する。
【０２８０】
３.元の基準点への移動
上述の１において行った原点移動の逆変換を行う。すなわち、原点にある基準点が元の基準点の位置（50,50）へ戻るように基準点及び拡大された線分を平行移動する。この結果、図５９に示されるように基準点と線分が移動する。
【０２８１】
４．新基準点へ平行移動
次に、新基準点（200,200）が指定されると、元の基準点から新基準点への平行移動ベクトルが算出され、この平行移動ベクトルでもって線分を移動する。この結果、図６０のようになる。
【０２８２】
次に、以上のようにしてレイアウトされた印刷属性の付加された図形、すなわち印刷データをファイルに保存するかのメッセージ（例えば図６１）を表示装置４１に表示し、ユーザに保存するかしないかの選択を促す。ユーザはキーボード１１やマウス１２などの入力手段を用い、印刷データを保存するかの確認を行う（Ｓ１００８）。
【０２８３】
ここで「保存する」と選択された場合は、現在編集対象となっている印刷データを外部記憶装置３３または読出書込記憶装置３２に保存データとして書込む（ステップＳ１００９）。
【０２８４】
なお、図４２では、入力された印刷データを表示して、所望の図形を選択するが、拡大・縮小対象の図形要素を、現在編集対象となっている印刷データからだけではなく、外部記憶装置３３や読出専用記憶装置（ＲＯＭ）３１などから入力することも可能である。図４３は、そのような対象図形の選択を行なう場合の処理を示すフローチャートである。なお、図４３において、ステップＳ２００１、Ｓ２００５〜Ｓ２０１１は、図４２のステップＳ１００１、Ｓ１００３〜Ｓ１００９と同じ処理である。
【０２８５】
ステップＳ２００２では、表示装置４１に対象となる図形要素を表示装置上に表示されたものから選択するのか、外部記憶装置３３や読出専用記憶装置（ＲＯＭ）３１などに保存されているファイル内の図形要素から選択するのかを、ユーザが選択する（ステップＳ２００２）。そして、外部記憶装置３３や読出専用記憶装置（ＲＯＭ）３１上にあるファイル内の図形要素からの選択である場合は、ファイルより対象図形の図形情報を抽出する（ステップＳ２００３）。
【０２８６】
［印刷データの印刷］
次に、作成された印刷データを、レーザープリンタ５１やイメージセッター５２などの印刷装置で印刷する手順を説明する。
【０２８７】
印刷データが、例えば、版下として使用される場合、レーザープリンタ５１は、印刷データを、校正刷り（印刷データの確認のための出力）し、また、印刷ログファイルの内容を出力するのに用いられ、イメージセッター５２は、印刷データを、清刷り（正式な版下となる高精度な出力）するのに用いられる。
【０２８８】
本実施形態に係る情報処理装置においては、図形データおよび文字データを、印刷時の出力形態と同じ表示形態のイメージで、表示装置４１へ表示する制御を行なう、いわゆるＷＹＳＩＷＹＧの機能を有している。
【０２８９】
しかしながら、 ＷＹＳＩＷＹＧの機能を有していても、表示装置４１は、１００ＤＰＩ程度の解像度しかないため、細かいレイアウトの確認や、ミスのチェックなどを行なうためには、５００ＤＰＩ程度といった、表示装置４１よりはるかに高い解像度を持つ、レーザープリンタ５１で、印刷データを印刷しなければならない。
【０２９０】
もちろん、直接、イメージセッター５２で印刷データを印刷して、これらの確認を行なうことも可能ではあるが、イメージセッター５２は、解像度が３０００ＤＰＩ程度と、極めて高いために、専用の用紙を使用しなければならず、また、印刷のコストがかかり、出力のスピードが遅いなどの欠点があるので、最終的にイメージセッター５２で印刷するような場合でも、あらかじめ、レーザープリンタ５１で印刷データを印刷して、出力形態の確認を行なっておくのが普通である。
【０２９１】
図２９に、作成された印刷データを、レーザープリンタ５１やイメージセッター５２などの印刷装置で印刷する手順を説明するフローチャートを示す。
【０２９２】
まず、印刷のコマンドを選択する（ステップＳ５２０１）。具体的には、以下のような処理を行なう。
【０２９３】
まず、メインパネル６１上のボタン６５の中の、コマンド「プリント」のボタンを、ボタン選択するか、または、文字入力エリア６４で、コマンド「プリント」の名称を、キーボード１１から入力する。
【０２９４】
すると、表示装置４１には、コマンドメニュー６７が表示される。コマンドメニュー６７の項目には、
（１）校正刷り
（２）部分校正刷り
（３）清刷り
がある。ユーザーが、いずれかのメニュー項目をボタン選択することによって、印刷データの印刷処理が開始される。
【０２９５】
それでは、まず、ステップＳ５２０１において、「校正刷り」メニューがボタン選択された場合について、以下に説明する。
【０２９６】
「校正刷り」メニューをボタン選択した場合、ＣＰＵ２１によって、印刷装置として、レーザープリンタ５１が選択される（ステップＳ５２１１）。
【０２９７】
そして、校正刷りが選択されたものとして、表示装置４１には、図３０に示すような、校正刷り出力条件設定パネル５３０１が表示される。校正刷り出力条件設定パネル５３０１では、次の各条件を設定する。
（１） 倍率
（２） 部数
（３） 紙サイズ
（４） 紙方向
まず、実寸の何倍で出力するかを、倍率入力エリア５３０２に、キーボード１１で数値を入力する（ステップＳ５２１２）。
【０２９８】
次に、同じ印刷データを一度の印刷処理で何部出力するかを、部数入力エリア５３０３に、キーボード１１で数値を入力する（ステップＳ５２１３）。
【０２９９】
次に、紙サイズ選択ボタン５３０４で、印刷データを印刷する用紙のサイズのボタンを１つ、ボタン選択する（ステップＳ５２１４）。ここで選択することのできる紙サイズの種類は、出力するレーザープリンタ５１の仕様に従う。
【０３００】
次に、紙方向選択ボタン５３０５で、印刷データを印刷する用紙の紙方向を、縦（Ｙ方向が長い）／横（Ｘ方向が長い）／自動（ページ数が最少になる）のいずれかの中から１つ、ボタン選択する（ステップＳ５２１５）。
【０３０１】
校正刷りの出力条件の設定を行なった後、「実行」ボタンを、ボタン選択することによって、出力条件が決定される。
【０３０２】
次に、印刷データのうち、実際に出力の対象となる要素を、以下のような条件によって決定する（ステップＳ５２１６）。
【０３０３】
（１）レイヤー：レイヤーとは、個々の要素が所属する、印刷データの仮想的な階層であり、表示上では、要素の色などによって識別できる。レイヤーによって、常に出力の対象となるレイヤー、常に出力の対象とならないレイヤー、ユーザーが出力の対象とするかどうかを選択できるレイヤー、がある。
【０３０４】
（２）表示属性：非表示状態に設定されている要素やレイヤーは、出力の対象としない、などの条件である。ユーザーは、要素やレイヤーごとに、この条件を設定できる。
【０３０５】
（３）要素種別：常に出力の対象となる要素種別（トンボなど）、常に出力の対象とならない要素種別（点など）、ユーザーが出力の対象とするかどうかを選択できる要素種別（その他の要素種別）、がある。
【０３０６】
次に、ＣＰＵ２１は、実際に出力の対象となる全ての要素について、ステップＳ５２１２で設定した倍率をかけた状態での、要素の外接矩形を計算する（ステップＳ５２１７）。
【０３０７】
その際に、要素の外接矩形が、すでにＣＰＵ２１によって計算され、要素のデータの一部として、 ＲＡＭ３２に保存されている場合には、保存されている外接矩形の情報に、倍率をかけるだけでよい。
【０３０８】
また、ＣＰＵ２１は、ステップＳ５２１４で設定した紙サイズから、印刷データを出力しない、上下左右の各方向の紙マージン部分を除いた、有効出力領域を計算する（ステップＳ５２１８）。
【０３０９】
ここで、紙サイズの情報、紙マージンの大きさの情報は、あらかじめ、外部記憶装置３３などに保存されているものを、ＲＡＭ３２に読み込んで使用する。
【０３１０】
次に、ステップＳ５２１７で計算した外接矩形、およびステップＳ５２１８で計算した有効出力領域の情報から、ＣＰＵ２１は、印刷データを紙に出力したときの出力範囲と位置を決定する（ステップＳ５２１９）。
【０３１１】
１枚の紙に、印刷データを出力できる場合には、ＣＰＵ２１は、印刷データが紙の中央に出力されるように、出力位置を決定する。ここで、印刷データを、紙の左下、左上、右下、右上、などの位置に出力することも可能である。
【０３１２】
また、１枚の紙に、印刷データを出力できない場合には、ＣＰＵ２１は、印刷データを複数の紙に分割して出力する。このように、印刷データを、複数の紙に分割して出力する場合、境界部分の印刷データが完全に出力されるように、印刷データの一部をオーバーラップさせて、分割された両方の紙に出力させることもできる。
【０３１３】
また、ステップＳ５２１５で、紙方向を「自動」と選択した場合には、印刷用紙のページ数が最も少なくなるように、縦方向、横方向のいずれかが、ＣＰＵ２１によって選択された上で、出力範囲と位置が決定される。
【０３１４】
そして、実際に紙に出力する前に、ユーザーが出力範囲の確認を行えるように、ＣＰＵ２１は、作画エリア６２に出力範囲を表示する（ステップＳ５２２０）。
【０３１５】
図３１に、出力範囲を確認表示した一例を示す。図中の細線で示した矩形が、出力範囲である。これは、印刷データを１枚の紙に出力できる場合で、かつ、紙方向として、縦が選択された場合の例である。
【０３１６】
図３２に、出力範囲を確認表示した別の例を示す。図３１とは異なり、これは、印刷データを１枚の紙に出力できずに、４枚の紙に分割して出力する場合で、かつ、紙方向として、横が選択された場合の例である。
【０３１７】
ここで、図３３に示すような、出力範囲確認パネル５６０１が表示される。そこで、ユーザーは、ステップＳ５２２０で表示された出力範囲を見て、印刷データを実際に紙に出力するかどうかを判断する。ユーザーは、出力範囲が適当であると判断した場合には、出力範囲確認パネル５６０１において、「実行」ボタンを、ボタン選択し、出力範囲が適当でないと判断した場合には、出力範囲確認パネル５６０１において、「取消」ボタンを、ボタン選択する（ステップＳ５２２１）。
【０３１８】
ここで、「実行」ボタンが、ボタン選択された場合は、印刷データの他に、出力時に付加される印刷付加情報である、印刷データ名称、出力日付および時間、出力ページ数、などを付加する（ステップＳ５２２２）。
【０３１９】
これらの印刷付加情報のうち、印刷データ名称は、あらかじめユーザーが設定しておいた情報が、ＲＡＭ３２から読み込まれる。また、出力日付および時間、出力ページ数は、ＣＰＵ２１が、出力時に設定する。
【０３２０】
また、印刷付加情報が出力される、用紙上の位置、文字の印刷属性などの情報は、あらかじめ外部記憶装置３３などに保存されているものを、ＲＡＭ３２に読み込んで使用する。
【０３２１】
そして、印刷付加情報および印刷データが、実際に、レーザープリンタ５１から、紙に出力され、いわゆる校正刷り出力が実行される（ステップＳ５２２３）。
【０３２２】
一方、ステップＳ５２２１において、「取消」ボタンが、ボタン選択された場合は、印刷データの出力は行なわれずに、校正刷り出力条件設定パネル５３０１が、再び表示されるので、ステップＳ５２１２に戻り、ユーザーは、再度、倍率などの出力条件を設定し直せばよい。
【０３２３】
それでは、次に、ステップＳ５２０１において、「部分校正刷り」メニューがボタン選択された場合について、説明する。
「部分校正刷り」メニューを、ボタン選択した場合、ＣＰＵ２１によって、印刷装置として、レーザープリンタ５１が選択される（ステップＳ５２３１）。
【０３２４】
このように、部分校正刷りが選択された場合、次に、ユーザに対して、出力する要素を選択するように求める指示が、ガイダンスエリア６８に表示されるので、ユーザーは、この指示に従って、要素を選択する。要素の選択方法は、前述の、要素をグループ化する場合と同様、連続要素選択、矩形領域指定、任意領域指定、のいずれかの方法をとればよい（ステップＳ５２３２）。
【０３２５】
要素の選択が終了すると、表示装置４１には、図３０に示すような、校正刷り出力条件設定パネル５３０１が表示される。
【０３２６】
以下、ステップＳ５２１２からステップＳ５２２３までの処理は、校正刷りの場合と同様であるため、説明を省略する。
【０３２７】
それでは、次に、ステップＳ５２０１において、「清刷り」メニューがボタン選択された場合について、説明する。
【０３２８】
図３４に、印刷データを清刷り出力する手順を説明するフローチャートを示す。
【０３２９】
まず、「清刷り」メニューを、ボタン選択した場合、ＣＰＵ２１によって、印刷装置として、イメージセッター５２が選択される（ステップＳ５７１１）。
【０３３０】
そして、清刷りが選択されたものとして、表示装置４１には、図３５に示すような、清刷り出力条件設定パネル５８０１が表示される。清刷り出力条件設定パネル５８０１では、次の各条件を設定する。
（１） 倍率
（２） 部数
（３） ラベル
（４） 図面枠
まず、実寸の何倍で出力するかを、倍率入力エリア５８０２に、キーボード１１で数値入力する（ステップＳ５７１２）。
【０３３１】
次に、同じ印刷データを一度の印刷処理で何部出力するかを、部数入力エリア５８０３に、キーボード１１で数値入力する（ステップＳ５７１３）。
【０３３２】
次に、印刷データに添付するための定型のラベルを、印刷データと共に出力するか否かを、ラベル出力選択ボタン５８０４で、ボタン選択する（ステップＳ５７１４）。このラベルには、版下名称、部品番号、部品名称、作成者名および日付、承認者名および日付、尺度、訂正履歴、などの情報が出力される。
【０３３３】
次に、図面枠を、印刷データと共に出力するか否かを、図面枠出力選択ボタン５８０５で、ボタン選択する（ステップＳ５７１５）。この図面枠とは、出力した印刷データの、図面としての範囲を示す矩形であって、通常、紙サイズの端から、一定の長さだけ内側にオフセットさせた矩形となる。
【０３３４】
このようにして、清刷りの出力条件の設定を行なった後、「実行」ボタンを、ボタン選択することによって、出力条件が決定される。
【０３３５】
次に、出力対象要素を決定し（ステップＳ５７１６）、その出力対象要素の外接矩形を計算する（ステップＳ５７１７）。これらの処理は、校正刷りの場合の、ステップＳ５２１６、及びステップＳ５２１７と同様である。
【０３３６】
次に、ステップＳ５７１７で計算された外接矩形の情報から、ＣＰＵ２１は、紙サイズ（印刷データを全て出力できる最小のＡｎサイズ）および紙方向を決定する（ステップＳ５７１８）。
【０３３７】
清刷り出力の場合、印刷用紙の枚数が少なくなるようにした方が、コスト、スピードなどの点で、効率がよいので、可能ならば、複数の印刷データを、１枚の印刷用紙に出力するようになっている。ここでいう印刷用紙とは、実際に、イメージセッター５２で使用する用紙のことで、紙サイズとは異なる。紙サイズとは、単一の印刷データを出力するために必要な領域のサイズのことである。
【０３３８】
次に、ＣＰＵ２１は、印刷データが紙の中央に出力されるように、出力位置を決定する（ステップＳ５７１９）。ここで、印刷データを、紙の左下、左上、右下、右上、などの位置に出力することも可能である。
【０３３９】
そして、実際に紙に出力する前に、ユーザーが出力範囲の確認を行なえるように、ＣＰＵ２１は、作画エリア６２に出力範囲を表示する（ステップＳ５７２０）。
【０３４０】
ここで、図３３に示すような、出力範囲確認パネル５６０１が表示される。そこで、ユーザーは、ステップＳ５７２０で表示された出力範囲を見て、印刷データを実際に紙に出力するかどうかを判断する。ユーザーは、出力範囲が適当であると判断した場合には、出力範囲確認パネル５６０１において、「実行」ボタンを、ボタン選択し、出力範囲が適当でないと判断した場合には、出力範囲確認パネル５６０１において、「取消」ボタンを、ボタン選択する（ステップＳ５７２１）。
【０３４１】
ここで、「実行」ボタンが、ボタン選択された場合は、次のステップに進む。一方、「取消」ボタンが、ボタン選択された場合は、印刷データの出力は行なわれずに、清刷り出力条件設定パネル５８０１が、再び表示され、ステップＳ５２１２に戻り、ユーザーは、再度、倍率などの出力条件を設定し直すことができる。
【０３４２】
次に、ステップＳ５７１４で「ラベル」の項目を「あり」と選択していた場合には、ＣＰＵ２１は、ラベルデータを作成する（ステップＳ５７２２）。
【０３４３】
図３６に、清刷り用ラベルの一例を示す。これは、写真製版用の版下に付けられるラベルの例で、ラベルの項目には、版下番号、部品番号、略式、承認者名、検証者名、作成者名、製品記号、日付、尺度、訂正履歴、などがある。
【０３４４】
このラベルの枠やタイトル文字などの固定部分の情報は、あらかじめ外部記憶装置３３などに保存されているものを、ＲＡＭ３２に読み込んで使用する。また、ラベルの各項目の内容は、印刷データをファイルに保存する際に、図３７に示すようなファイル保存パネル６００１で入力されて、外部記憶装置３３などに保存され、 その保存されたものを、ＲＡＭ３２に読み込んで使用する。
【０３４５】
また、作成者名や承認者名の情報は、ユーザーがパネルから入力するのではなく、ＣＰＵ２１が、現在のユーザー名を認識して設定するようにしてもよい。日付の情報も、ＣＰＵ２１が、現在の日付を設定するようにしてもよい。
【０３４６】
また、ラベルは、紙サイズの右下などの決められた位置に、決められた大きさで、出力される。ラベルの位置に関しては、このほか、左上、左下、右上、などの位置から選択できるようにしたり、任意の位置を指定できるようにしたりすることも可能である。
【０３４７】
また、ラベルのフォームを、用途に応じて数種類用意しておいて、外部記憶装置３３などに保存しておき、ステップＳ５７１４でラベル出力が「あり」と指定された場合に、保存されたフォームを選択できるようにしてもよい。
【０３４８】
次に、ステップＳ５７１５で「図面枠」の項目が「あり」と選択された場合には、ＣＰＵ２１は、図面枠データを作成する（ステップＳ５７２３）。
【０３４９】
図３８に、図面枠と紙サイズの関係を示す。この図３８では、ラベルは図面枠の右下に設定されている。
【０３５０】
図面枠の線幅や、紙サイズごとの出力位置と大きさの情報は、あらかじめ、外部記憶装置３３などに保存されているものを、ＲＡＭ３２に読み込んで使用する。ＣＰＵ２１は、ステップＳ５７１８で決定された、紙サイズに応じた図面枠の出力位置と大きさを決定する。
【０３５１】
以上の処理により、単一の印刷データを清刷り出力するためのデータが作成される。実際に清刷り出力する際には、複数の印刷データを指定することができるので、継続して、次の印刷データを清刷り出力する場合には、出力条件を設定するステップ（ステップＳ５７１２）から、図面枠データを作成するステップ（ステップＳ５７２３）までの処理を繰り返す（ステップＳ５７２４）。
【０３５２】
複数の印刷データの指定が終了すると、次に、ＣＰＵ２１は、印刷用紙に、複数の印刷データをどのように配置するかを決定する（ステップＳ５７２５）。イメージセッター５２に出力する場合の最適な配置とは、印刷用紙の枚数が最も少なくなるように、各印刷データを配置することである。この印刷データの最適配置処理については、後で詳細に説明する。
【０３５３】
次に、清刷り出力の印刷ログファイルを作成する（ステップＳ５７２６）。印刷ログファイルには、以下の情報が記述され、イメージセッター５２から出力される版下の出力内容がわかるようになっている。図４１に、印刷ログファイルの出力例を示す。
【０３５４】
（１）出力時刻、出力者、ページ数：実際に印刷データを出力した日付および時刻、出力者の氏名、ページ数、などを記述する。
【０３５５】
（２）印刷用紙の配置図：印刷用紙に、各印刷データがどのように配置されているかの概略図を作成する。配置図には、各印刷データの配置がわかるように、記号を付ける。
【０３５６】
（３）出力データのリスト：配置図に示した記号、出力条件の情報（紙サイズ、紙方向、など）、ラベルの情報（版下名称、部品番号、部品名称、作成者名および日付、承認者名および日付、尺度、など）を、リスト形式で記述する。
【０３５７】
以上で、清刷り出力用のデータは、全て作成されたので、ＣＰＵ２１は、印刷データを、イメージセッター５２で印刷する（ステップＳ５７２７）。
また、印刷ログファイルデータを、レーザープリンタ５１で印刷する（ステップＳ５７２８）。
【０３５８】
次に、ステップＳ５７２５における印刷データの最適配置処理について、詳細に説明する。ここでは、印刷用紙サイズがＡｍサイズ、各印刷データの紙サイズがＡｎサイズ（ｍ＞＝ｎ）であるとする。
【０３５９】
図３９に、印刷データを最適配置する際のフローチャートを示す。
【０３６０】
まず、印刷用紙のサイズを指定する（ステップＳ６２０１）。使用する印刷用紙サイズが、あらかじめ決まっている場合には、このステップを省略することもできる。
【０３６１】
次に、出力する各印刷データの紙サイズを大きい順に並べ換える（ステップＳ６２０２）。同じ大きさの印刷データの間では、どのような順番でも構わない。
【０３６２】
そして、ＣＰＵ２１は、出力する印刷データが存在するかどうかを判定する（ステップＳ６２０３）。出力する印刷データが存在する場合は、次のステップＳ６２０４に進む。出力する印刷データが存在しない場合は、印刷データ最適配置の処理を終了する。
【０３６３】
次に、出力する印刷データが、カレントな印刷用紙に配置可能かどうかを判定する（ステップＳ６２０４）。カレントな印刷用紙に配置可能な場合には、次のステップＳ６２０６に進む。配置可能でない場合には、現在の印刷用紙への配置は終了し、次の印刷用紙に着目して、カレントな印刷用紙に設定してから（ステップＳ６２０５）、再度、カレントな印刷用紙に配置可能かどうかを判定する。
【０３６４】
次に、出力する印刷データの方向を変更する必要があるかどうかを判定する（ステップＳ６２０６）。方向を変更する必要がある場合には、出力する印刷データを全て９０度回転させて方向を変更する（ステップＳ６２０７）。方向を変更する必要がない場合には、そのまま、次のステップＳ６２０８に進む。
【０３６５】
そして、出力する印刷データを、カレントな印刷用紙に配置する（ステップＳ６２０８）。
【０３６６】
以上で、単一の印刷データを印刷用紙に配置する処理が終了する。複数の印刷データの全てが、印刷用紙に配置されるまで、出力する印刷データの有無を判定するステップ（ステップＳ６２０３）から、出力する印刷データを印刷用紙に配置するステップ（ステップＳ６２０８）を繰り返す。
【０３６７】
例えば、印刷用紙サイズがＡ１であるとし、Ａ２の印刷データが１枚（名称Ａ２１とする）、Ａ３が３枚（Ａ３１、Ａ３２、Ａ３３）、Ａ４が３枚（Ａ４１、Ａ４２、Ａ４３）あったとすると、印刷データは、Ａ２１、Ａ３１、Ａ３２、Ａ３３、Ａ４１、Ａ４２、Ａ４３、という順番に並べ換えられる。
【０３６８】
図４０は、このＡ２１からＡ４３までの印刷データを、Ａ１サイズの印刷用紙に、最適配置した結果の一例である。
【０３６９】
この図４０の例では、Ａ２１、Ａ３１、Ａ３２、までは、１枚目の印刷用紙に配置可能であるが、次のＡ３３は、１枚目の印刷用紙に配置不可能となるので、カレントな印刷用紙を、２枚目に移動し、Ａ３３は、２枚目の印刷用紙に配置可能となる。
【０３７０】
また、この図４０の例では、例えば、Ａ２１の紙方向が縦だった場合に、Ａ２１を印刷用紙に配置する際に使用される領域が、横方向となるので、Ａ２１の印刷データを全て９０度回転させて、方向を変更しなければならない。
【０３７１】
以上、作成された印刷データを、レーザープリンタ５１やイメージセッター５２などの印刷装置で印刷する手順を説明した。
【０３７２】
以上説明したように、上記実施形態によれば、印刷属性の付加された図形を入力し、拡大・縮小対象となる図形及びその拡大・縮小サイズを指定し、印刷属性を考慮した輪郭情報を抽出し、拡大・縮小サイズに基づいて図形の拡大・縮小率を算出し、ユーザの指定位置にレイアウトすることが可能となる。このため、図形作成時において線幅、終端形状、連結形状、オフセット方向などの情報を考慮した図形作成及び編集が可能になるという効果がある。さらにアウトライン図形を作成する作業が不要になるのでユーザの作業効率を低下させることなく精密な図形編集が可能になるという効果がある。さらに自由曲線や楕円などの図形要素も正確にユーザが意図する大きさに編集することが可能になるという効果がある。さらに出力機の解像度を参照、図形の拡大・縮小を行うことによって、出力機の精度と計算機の精度の誤差をなくすことが可能になり、より精密に拡大・縮小処理が行えるという効果がある。
【０３７３】
［他の実施形態］
図４４に示した輪郭抽出手順の、第III類の図形に対する処理として、分割処理を用いた輪郭情報算出処理（ステップＳ３００４）の具体的な処理を図４６に示している。ここで、ステップＳ５００１においては、出力機の解像度の入力を行っているが、解像度を直接的に入力する代わりに、出力機を選択するようにすることもできる。具体的には、例えば、表示装置４１に、図５４に示すようなパネル（ウィンドウ）を表示し、キーボード１１やマウス１２などの入力手段を用いて、出力対象となる出力機を選択する。あらかじめ外部記憶装置３３や読出専用記憶装置（ＲＯＭ）３１などに、各出力機に対応した解像度情報を格納してあれば、その解像度情報を参照することができる。またネットワークに接続されている出力装置の解像度情報をその都度参照することも可能である。
【０３７４】
また、図４２で図形の処理（変倍）手順を説明した。この処理のステップＳ１００３において、拡大・縮小サイズを指定する際に高さあるいは幅の入力を行うように示したが、高さ及び幅を独立に同時に指定することも可能である。この場合、ｘ方向（幅）に対する倍率、y方向（高さ）に対する倍率を独自に算出し、ｘ方向(幅)、ｙ方向(高さ)独立で変倍する必要がある。更に前記拡大・縮小サイズ指定では入力単位をｍｍとしたが、入力単位はinch,feet,meterなど様々な単位設定できるようにすることも可能であることは明らかであろう。
【０３７５】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
【０３７６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０３７７】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０３７８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０３７９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０３８０】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０３８１】
【発明の効果】
以上説明したように、本発明によれば、ユーザーの作業効率を低下させることなく、しかも、印刷データに関して高精度に図形の変倍を行なえる。
【図面の簡単な説明】
【図１】本発明の一実施形態の情報処理装置のハードウエア構成を示すブロック図である。
【図２】ＷＹＳＩＷＹＧの機能を説明する図である。
【図３】本実施形態のプログラムのメインパネルを示す図である。
【図４】各要素の特徴点を示す図である。
【図５】交点指定による位置の指定の例を示す図である。
【図６】線上点指定による位置の指定の例を示す図である。
【図７】印刷データファイルの例を示す図である。
【図８】シンボルの例を示す図である。
【図９】基本図形を印刷データとしてレイアウトする手順を説明するフローチャートである。
【図１０】図形データに印刷属性を付加した例を示す図である。
【図１１】図形データ印刷属性編集パネルを示す図である。
【図１２】線ピッチ編集パネル（二点鎖線の例）を示す図である。
【図１３】要素のグループ化とシンボルの登録をする手順を説明するフローチャートである。
【図１４】矩形領域指定によって対象となる要素が選択された様子を示す図である。
【図１５】任意領域指定によって対象となる要素が選択された様子を示す図である。
【図１６】シンボルの輪郭情報を抽出した結果の例を示す図である。
【図１７】座標データの量子化を説明する図である。
【図１８】一時的に要素を拡大表示して輪郭情報を抽出する手順を説明するフローチャートである。
【図１９】グループ化された要素とその外接矩形を示す図である。
【図２０】矩形の特徴点を示す図である。
【図２１】任意矩形をグループ図形のレイアウト基準矩形に設定した例を示す図である。
【図２２】構成要素の外接矩形をグループ図形のレイアウト基準矩形に設定した例を示す図である。
【図２３】シンボルの呼び出しとレイアウトをする手順を説明するフローチャートである。
【図２４】シンボルレイアウトパネルを示す図である。
【図２５】シンボル形状一覧パネルを示す図である。
【図２６】シンボル内容確認パネルを示す図である。
【図２７】シンボルを点レイアウトした例を示す図である。
【図２８】シンボルを矩形レイアウトした例を示す図である。
【図２９】印刷データを出力する手順を説明するフローチャートである。
【図３０】校正刷り出力条件設定パネルを示す図である。
【図３１】出力範囲を確認表示した例（１枚の紙に出力できる場合）を示す図である。
【図３２】出力範囲を確認表示した例（１枚の紙に出力できない場合）を示す図である。
【図３３】出力範囲確認パネルを示す図である。
【図３４】印刷データを清刷り出力する手順を説明するフローチャートである。
【図３５】清刷り出力条件設定パネルを示す図である。
【図３６】清刷り用ラベルの例を示す図である。
【図３７】ファイル保存パネルを示す図である。
【図３８】図面枠と紙サイズの関係を示す図である。
【図３９】印刷データを最適配置する手順を説明するフローチャートである。
【図４０】印刷データを最適配置した結果の例を示す図である。
【図４１】印刷ログファイルの出力例を示す図である。
【図４２】本実施形態の動作制御手順を示すフローチャートである。
【図４３】本実施形態の動作制御手順を示すフローチャートである。
【図４４】本実施形態の輪郭抽出手順を表すフローチャートである。
【図４５】本実施形態のマルチライン輪郭抽出手順を示すフローチャート４である。
【図４６】本実施形態の第III類図形に対する輪郭抽出手順を示すフローチャートである。
【図４７】本実施形態の出力機の解像度に応じたベジェ曲線の分割数算出手順を示すフローチャートである。
【図４８】  De Casteljauのアルゴリズムを用いてベジェ曲線を分割する様子を説明する図である。
【図４９】印刷属性を考慮した線分（オフセット線分の作成）を示す図である。
【図５０】連結形状ラウンドの仮想円の作成を表す図である。
【図５１】出力機の解像度入力画面（ウィンドウ）を示す図である。
【図５２】終端形状スクエアキャップ処理を示す図である。
【図５３】終端形状ラウンドキャップ処理を示す図である。
【図５４】出力機入力画面（ウィンドウ）を示す図である。
【図５５】拡大・縮小サイズ入力画面（ウィンドウ）を示す図である。
【図５６】本実施形態による線分の拡大処理を説明する図である。
【図５７】本実施形態による線分の拡大処理を説明する図である。
【図５８】本実施形態による線分の拡大処理を説明する図である。
【図５９】本実施形態による線分の拡大処理を説明する図である。
【図６０】本実施形態による線分の拡大処理を説明する図である。
【図６１】印刷データの保存確認（ウィンドウ）を示す図である。
【図６２】終端形状の種類を説明する図である。
【図６３】接続形状の種類を説明する図である。
【図１】
0004006113.tif 000002
【図２】
0004006113.tif 000003
【図３】
0004006113.tif 000004
【図４】
0004006113.tif 000005
【図５】
0004006113.tif 000006
【図６】
0004006113.tif 000007
【図７】
0004006113.tif 000008
【図８】
0004006113.tif 000009
【図９】
0004006113.tif 000010
【図１０】
0004006113.tif 000011
【図１１】
0004006113.tif 000012
【図１２】
0004006113.tif 000013
【図１３】
0004006113.tif 000014
【図１４】
0004006113.tif 000015
【図１５】
0004006113.tif 000016
【図１６】
0004006113.tif 000017
【図１７】
0004006113.tif 000018
【図１８】
0004006113.tif 000019
【図１９】
0004006113.tif 000020
【図２０】
0004006113.tif 000021
【図２１】
0004006113.tif 000022
【図２２】
0004006113.tif 000023
【図２３】
0004006113.tif 000024
【図２４】
0004006113.tif 000025
【図２５】
0004006113.tif 000026
【図２６】
0004006113.tif 000027
【図２７】
0004006113.tif 000028
【図２８】
0004006113.tif 000029
【図２９】
0004006113.tif 000030
【図３０】
0004006113.tif 000031
【図３１】
0004006113.tif 000032
【図３２】
0004006113.tif 000033
【図３３】
0004006113.tif 000034
【図３４】
0004006113.tif 000035
【図３５】
0004006113.tif 000036
【図３６】
0004006113.tif 000037
【図３７】
0004006113.tif 000038
【図３８】
0004006113.tif 000039
【図３９】
0004006113.tif 000040
【図４０】
0004006113.tif 000041
【図４１】
0004006113.tif 000042
【図４２】
0004006113.tif 000043
【図４３】
0004006113.tif 000044
【図４４】
0004006113.tif 000045
【図４５】
0004006113.tif 000046
【図４６】
0004006113.tif 000047
【図４７】
0004006113.tif 000048
【図４８】
0004006113.tif 000049
【図４９】
0004006113.tif 000050
【図５０】
0004006113.tif 000051
【図５１】
0004006113.tif 000052
【図５２】
0004006113.tif 000053
【図５３】
0004006113.tif 000054
【図５４】
0004006113.tif 000055
【図５５】
0004006113.tif 000056
【図５６】
0004006113.tif 000057
【図５７】
0004006113.tif 000058
【図５８】
0004006113.tif 000059
【図５９】
0004006113.tif 000060
【図６０】
0004006113.tif 000061
【図６１】
0004006113.tif 000062
【図６２】
0004006113.tif 000063
【図６３】
0004006113.tif 000064