(57)【特許請求の範囲】
【請求項１】
印刷するときに背景色と同様の色で塗り潰すことを指定する白抜き属性が設定された白抜き要素の出力先を判定する判定手段と、
前記判定手段で判定された出力先の背景色を取得する取得手段と、
前記判定手段で判定した出力先が表示装置である場合には、前記白抜き要素に対して前記取得手段によって取得された背景色とは異なる色を設定し、前記判定手段で判定した出力先が印刷装置である場合には、前記白抜き要素に対して前記取得手段によって取得された背景色と同じ色を設定する出力色設定手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記出力色設定手段で設定された色でもって前記白抜き要素を塗り潰して表示する出力手段をさらに備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記出力色設定手段で設定された色でもって前記白抜き要素の輪郭を表示する出力手段をさらに備えることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
所望の文字列データ或いは塗り潰し図形データに対して前記白抜き属性を設定して白抜き要素とする属性設定手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記出力色設定手段は、
前記背景色を色相、明度、彩度の色要素に分解する分解手段と、
前記色要素の少なくともいずれか一つの要素を変更する変更手段と、
前記変更手段で変更された色要素から出力色を合成する合成手段とを備え、
該合成手段で得られた出力色を前記白抜き要素の塗り潰し色に設定することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記変更手段は、前記分解手段で得られた明度、又は、彩度に所定の補正係数をかけて前記色要素を変更することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記変更手段は、
前記分解手段で得られた明度、又は、彩度に所定の補正係数をかけることにより変更された色要素と、前記白抜き要素の背景として配置されている塗り潰し図形の色要素の座標空間にける距離が所定値を超えるように、前記所定の補正係数を調整する補正係数調整手段を有し、
前記補正係数調整手段によって調整された補正係数に基づいて前記分解手段で得られた色要素の値を補正することを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記補正係数調整手段は、
白抜き属性の設定された文字列或いは図形と重なる塗り潰し図形を探索する探索手段と、
前記白抜き要素と、前記探索手段で探索された塗り潰し図形とが重なる部分の面積を算出する面積算出手段と、
前記探索手段で探索された塗り潰し図形の色を取得する図形色取得手段とを有し、
前記分解手段で得られた明度、又は、彩度に所定の補正係数をかけることにより変更された色要素と、前記面積算出手段で算出された面積が最大となる塗り潰し図形の色要素の色空間にける距離が所定値を超えるように、前記所定の補正係数を調整することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
印刷するときに背景色と同様の色で塗り潰すことを指定する白抜き属性が設定された白抜き要素の出力先を判定する判定工程と、
前記判定工程で判定された出力先の背景色を取得する取得工程と、
前記判定工程で判定した出力先が表示装置である場合には、前記白抜き要素に対して前記取得工程によって取得された背景色とは異なる色を設定し、前記判定工程で判定した出力先が印刷装置である場合には、前記白抜き要素に対して前記取得工程によって取得された背景色と同じ色を設定する出力色設定工程とを備えることを特徴とする情報処理方法。
【請求項１０】
コンピュータに図形や文字等のパターンを表示させるための制御プログラムを格納した記憶媒体であって、コンピュータに、
印刷するときに背景色と同様の色で塗り潰すことを指定する白抜き属性が設定された白抜き要素の出力先を判定する判定工程、
前記判定工程で判定された出力先の背景色を取得する取得工程、
前記判定工程で判定した出力先が表示装置である場合には、前記白抜き要素に対して前記取得工程によって取得された背景色とは異なる色を設定し、前記判定工程で判定した出力先が印刷装置である場合には、前記白抜き要素に対して前記取得工程によって取得された背景色と同じ色を設定する出力色設定工程、を実行させる制御プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＡＤ（Computer Aided Design）やＤＴＰ（Desk Top Publishig）など、対話的な処理を用いて図形・文字列データの作成・印刷等をすることを目的とする情報装置及び情報処理方法並びに記憶媒体に関し、例えば、高性能の版下を作成するための情報処理装置及び情報処理方法並びに記憶媒体に用いて好適なものである。
【０００２】
【従来の技術】
上述したＣＡＤやＤＴＰにおいて、表示装置に印刷イメージを表示しながら、文字列データを配置していく場合、ある色の塗り潰し図形等の上に背景色と同じ色の文字列を配置したい場合がある。特にモノクロの版下原稿を作成する場合は“白抜き”といって黒色の塗り潰し図形の上に背景色の白色の文字を配置した版下データを作成する場合が頻繁に発生する。
【０００３】
このとき上記の塗り潰し図形等を最初に書いてから、そのうえに背景色と同じ色に設定した文字を書くという方法があった。
【０００４】
【発明が解決しようとする課題】
上記のような場合、背景上に白抜きの文字列データを直接配置したり、対話的な編集作業の途中で白抜きの文字列や図形の背景となっている塗り潰し図形を移動したり消去したりした場合、白抜きの文字列や図形文字列データは背景と区別がつかなくなり、編集作業が非常に困難になるという問題があった。
【０００５】
たとえば、図２４に示されるように、黒色の塗り潰し図形に「ＡＢＣ」という白抜き文字（背景色と同じ白色を有する文字）を配置した場合、対話的処理の過程で黒色の塗り潰し図形を右上方へ移動すると、後に残された文字「ＡＢＣ」が見えなくなってしまう。
【０００６】
また、対話的な編集処理を補助するため、図形や文字列データが選択状態等の一時的な特殊な状態にあることを表示するために、一時的に特定の色の設定を行う一時的特殊状態とすることがある。このような場合において、背景の塗り潰し図形と白抜き文字列データとが同時に一時的特殊状態に設定されたとき、当該文字データと塗り潰し図形との区別がつかず、編集作業が非常に困難になるという問題もあった。
【０００７】
たとえば、図２５に示されるように、黒色の塗り潰し図形とそこに配置された白抜き文字とを選択した場合に、塗り潰し図形と白抜き文字の両方が同様の一時的特殊状態へ移行すると、白抜き文字が見えなくなってしまう。
【０００８】
本発明は上記の問題に鑑みてなされたものであり、白抜き属性が設定された白抜き要素に対して適切な出力色を設定し、対話的な編集処理の過程等において常に白抜き要素を認識容易とすることを目的とする。
【０００９】
【課題を解決するための手段】
上記の目的を達成するための本発明の一態様による情報処理装置は以下の構成を備える。すなわち、
印刷するときに背景色と同様の色で塗り潰すことを指定する白抜き属性が設定された白抜き要素の出力先を判定する判定手段と、
前記判定手段で判定された出力先の背景色を取得する取得手段と、
前記判定手段で判定した出力先が表示装置である場合には、前記白抜き要素に対して前記取得手段によって取得された背景色とは異なる色を設定し、前記判定手段で判定した出力先が印刷装置である場合には、前記白抜き要素に対して前記取得手段によって取得された背景色と同じ色を設定する出力色設定手段とを備える。
【００１０】
また、上記の目的を達成するための本発明の他の態様による情報処理方法は、
印刷するときに背景色と同様の色で塗り潰すことを指定する白抜き属性が設定された白抜き要素の出力先を判定する判定工程と、
前記判定工程で判定された出力先の背景色を取得する取得工程と、
前記判定工程で判定した出力先が表示装置である場合には、前記白抜き要素に対して前記取得工程によって取得された背景色とは異なる色を設定し、前記判定工程で判定した出力先が印刷装置である場合には、前記白抜き要素に対して前記取得工程によって取得された背景色と同じ色を設定する出力色設定工程とを備える。
【００１１】
また、上記の目的を達成するための本発明の他の態様によれば、
コンピュータに図形や文字等のパターンを表示させるための制御プログラムを格納した記憶媒体であって、コンピュータに、
印刷するときに背景色と同様の色で塗り潰すことを指定する白抜き属性が設定された白抜き要素の出力先を判定する判定工程、
前記判定工程で判定された出力先の背景色を取得する取得工程、
前記判定工程で判定した出力先が表示装置である場合には、前記白抜き要素に対して前記取得工程によって取得された背景色とは異なる色を設定し、前記判定工程で判定した出力先が印刷装置である場合には、前記白抜き要素に対して前記取得工程によって取得された背景色と同じ色を設定する出力色設定工程、を実行させる制御プログラムを格納したコンピュータ読み取り可能な記憶媒体が提供される。
【００１３】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１４】
図１６は、本発明の一実施形態に係る情報処理装置のハードウエア構成を示すブロック図である。
【００１５】
この図１６において、２１は中央処理装置（ＣＰＵ）であり、本装置の全体の制御や演算処理を行なう。また、１１は、文字や数値の入力を行なうためのキーボードであり、１２は、座標や図形を指示するためのマウスである。また、４１は表示装置であり、図形データおよび文字データ、各種操作パネルやボタンを表示する。
【００１６】
また、３１は読出専用記憶装置（ＲＯＭ）であり、本実施形態に係るプログラムは、このＲＯＭ３１に格納され、ＣＰＵ２１によって実行される。３２は読出書込記憶装置（ＲＡＭ）であり、本実施形態に係るプログラムの実行中、ＣＰＵ２１は、必要に応じて、ＲＡＭ３２に、データを読み書きしながら処理を行なう。３３は、フロッピーディスク装置（ＦＤ）やハードディスク装置（ＨＤ）などの外部記憶装置であり、文字の書体情報やコード情報などのデータが格納されている。
【００１７】
なお、本実施形態に係るプログラムを、外部記憶装置３３に格納させておき、ＲＡＭ３２に読み込んでから、ＣＰＵ２１によって実行するようにしてもよいし、また、文字の書体情報やコード情報などのデータを、ＲＯＭ３１に格納させておき、ＣＰＵ２１が、必要に応じて、それらのデータを読み出して使用するようにしてもよい。
【００１８】
また、５１はレーザープリンタであり、本装置によって作成された印刷データを、校正刷り（印刷データの確認のための出力）し、また、印刷ログファイルの内容を出力する。５２はイメージセッターであり、本装置によって作成された印刷データを、清刷り（正式な版下となる高精度な出力）する。５３はレーザーマーカーであり、本装置によって作成された印刷データを、レーザーで直接、製品に焼き付ける。
【００１９】
以下、レーザープリンタ５１と、イメージセッター５２と、レーザーマーカー５３の違いについて説明する。
【００２０】
まず、レーザープリンタ５１は、レーザーを感光ドラムに照射してトナーを吸着させ、それを紙に転写するプリンタであり、解像度は、１５００ＤＰＩ程度まで可能である。また、イメージセッター５２は、レーザーを直接、感光紙に照射するプリンタであり、解像度は、４０００ＤＰＩ程度まで可能であり、また、用紙サイズは、Ａ１程度まで可能である。また、レーザーマーカー５３は、レーザーを直接、成形品に照射し、樹脂材料を溶融して黒化させるか、充填材を配合した特殊材料を使用して発色させる印刷装置である。
【００２１】
なお、２２はシステムバスであり、本装置を構成するハードウエアの各要素は、全て、このシステムバス２２を介して、プログラムおよびデータの受け渡しを行なっている。
【００２２】
次に、本実施形態に係る表示装置４１における表示機能について説明する。
【００２３】
本実施形態に係る情報処理装置は、図形データおよび文字データを、印刷時の出力形態と同じ表示形態のイメージで、表示装置４１へ表示する制御を行なう、いわゆるＷＹＳＩＷＹＧの機能を有しており、これを説明する図が、図１７である。
【００２４】
図１７（ａ）は、ＷＹＳＩＷＹＧの表示例であり、この図１７（ａ）の表示形態は、印刷時の出力結果の例である図１７（ｃ）の出力形態と同じとなっている。一方、図１７（ｂ）は、ＷＹＳＩＷＹＧではない表示の例であり、この図１７（ｂ）の表示形態は、印刷時の出力結果の例である図１７（ｃ）の出力形態とは異なっている。
【００２５】
次に、本実施形態に係る表示装置４１上の操作画面について説明する。
【００２６】
図１８は、本実施形態に係るプログラム実行時に表示装置４１に表示されるメインパネル６１を示した図である。
【００２７】
この図１８において、６１はメインパネル、６２は作画エリア、６３はマウスポインタ、６４は文字入力エリア、６５はボタン群、６６は汎用ボタン、６７はコマンドメニュー、６８はガイダンスエリア、７１はメインパネル以外のパネル、７２はパネル７１上のボタンである。また、これら図１８上のボタンは、全てソフトキーである。
【００２８】
このメインパネル６１上で、キーボード１１や、マウス１２などの入力装置を操作することによって、対話的に、印刷データの作成および編集作業を行なう。作成された印刷データは、作画エリア６２に表示される。
【００２９】
また、必要に応じて、メインパネル６１以外に、各種のパネル７１が表示され、パネル７１上で、操作を行なうこともある。
【００３０】
以下、この図１８を用いて、本実施形態における、さまざまな入力方法について説明する。
【００３１】
キーボード１１から入力を行なう場合には、文字入力エリア６４を、マウス１２またはキーボード１１で指示してから、文字または数値を入力する。
【００３２】
また、マウス１２から入力を行なう場合には、以下の方法を用いる。
【００３３】
まず、特定の要素やボタンを選択する方法としては、次の（１）と（２）の、２つの方法がある。
【００３４】
（１）要素選択：作画エリア６２に表示されている、印刷データのある場所に、マウスポインタ６３を移動させて、その位置で、例えばマウス左ボタンを押し下げることによって、操作の対象とする要素を選択する。
【００３５】
（２）ボタン選択：メインパネル６１に表示されている、各種のボタン６５や汎用ボタン６６や、必要に応じて表示されるパネル７１に表示されている、各種のボタン７２の位置に、マウスポインタ６３を移動させて、その位置で、例えばマウス左ボタンを押し下げることによって、操作の対象とするボタンを選択する。
【００３６】
また、作画エリア６２上の特定の位置を指定する方法として、次の（３）から（７）までの、５つの方法がある。
【００３７】
（３）任意指定：作画エリア６２上の、任意の位置に、マウスポインタ６３を移動させて、その位置で、例えばマウス右ボタンを押し下げることによって、位置を指定する。
【００３８】
（４）点指定：作画エリア６２に表示されている、点を要素選択することによって、位置を指定する。
【００３９】
（５）特徴点指定：作画エリア６２に表示されている、点以外の要素を要素選択することによって、その要素の特徴となる点をＣＰＵ２１が抽出し、位置を指定する。
【００４０】
ここで、特徴点が複数存在する場合に、１点を特定する方法には、要素選択した際のマウスポインタ６３の位置に最も近い特徴点をＣＰＵ２１が自動的に抽出する方法、複数存在する特徴点の中からさらに１点を点指定する方法、などがある。
【００４１】
図１９に、図形データの各要素の特徴点の例を示す。図中、＊印で示した点が、特徴点である。なお、これら特徴点の具体的な位置は、以下に示す通りである。
・線分：両端点、中点
・円：中心点、円の中心からＸおよびＹ軸方向に引いた直線と円との交点（４点）
・円弧：中心点、両端点、中点（円弧の距離を二分する円弧上の点）
・楕円：中心点、楕円の短軸および長軸と楕円との交点（４点）
・楕円弧：中心点、両端点、楕円弧の短軸および長軸と楕円弧を含む楕円との交点（４点）、中点（楕円弧の距離を二分する楕円弧上の点）
・線分列：線分列を構成する各線分の両端点、中点
・自由曲線：両端点、曲線の制御点、中点（自由曲線の距離を二分する点）。
【００４２】
（６）交点指定：作画エリア６２に表示されている、線分や円などの線要素を、１個または２個、要素選択することによって、それらの要素の交点をＣＰＵ２１が算出し、位置を指定する。
【００４３】
ここで、単一の線要素が、それ自体で交点を持つ場合、すなわち、自己交差している場合は、線要素を１個、要素選択するだけでよい。その他の場合は、２個の線要素を指定する。
【００４４】
交点が複数存在する場合に、１点を特定する方法には、先または後に要素選択した際のマウスポインタ６３の位置に最も近い交点をＣＰＵ２１が自動的に抽出する方法、複数存在する交点の中からさらに１点を点指定する方法、などがある。
【００４５】
図２０に、線分と円弧を要素選択して、交点指定によって、位置を指定した例を示す。図中、レ印で示した位置で、線分、円弧、の順で、要素選択を行ない、＊印の位置が、交点指定によって指定されたことを示している。
【００４６】
（７）線上点指定：作画エリア６２に表示されている、線分、円などの、線要素を１個、要素選択することによって、その時のマウスポインタ６３の位置に最も近い、線要素上の点をＣＰＵ２１が算出し、位置を指定する。
【００４７】
図２１に、円弧を要素選択して、線上点指定によって、位置を指定した例を示す。図中、レ印で示した位置で、要素選択を行ない、＊印の位置が、線上点指定によって指定されたことを示している。レ印の点は、円弧近傍の点、＊印の点は、円弧上の点である。
【００４８】
次に、本実施形態で扱う「コマンド」について説明する。本実施形態では、印刷データの作成および編集作業の各単位を「コマンド」と呼んでいる。
【００４９】
本実施形態で扱うコマンドには、点、直線、円、曲線、など、各要素を作成するコマンド（作図コマンド）や、移動、複写、削除、属性、など、各要素の形状や属性などを修正するコマンド（修正コマンド）や、その他、ファイル、プリント、トンボ、バーコード、等に関するコマンドなどがある。
【００５０】
印刷データの作成や編集を行なうには、まず、作業単位に合わせた、任意のコマンドを１つ選択する。コマンドの選択には、文字入力エリア６４で、コマンドの名称をキーボード１１から入力する方法や、コマンドの名称があらかじめ設定されているメインパネル６１上のボタン６５を、ボタン選択する方法などがある。
【００５１】
コマンドの選択が行なわれると、それまで、すでに選択されているコマンドがあった場合には、そのコマンドの終了処理が行なわれる。続いて、新たに選択されたコマンドの初期処理が行なわれ、コマンド内の処理に入る。
【００５２】
コマンドが選択されると、表示装置４１上に、選択されたコマンド内での、さらに細かい作業単位を選択するための、コマンドメニュー６７が表示される。ユーザーは、コマンドメニュー６７の任意のメニュー項目のボタンをボタン選択することによって、各種の編集作業を行なうことができる。ユーザーがどのような操作を行なえばよいかといった指示は、作業の状況に応じて、その都度、ガイダンスエリア６８に表示されるので、ユーザーは、この指示に従って、操作を行なえばよい。
【００５３】
［印刷データの説明］
○印刷データの要素
次に、本実施形態に係る情報処理装置で作成できる印刷データを構成する、図形データおよび文字データの要素に、どのような種類が存在するのかを、具体的に説明することにする。
【００５４】
本実施形態に係る情報処理装置で作成できる、図形データおよび文字データの要素には、大きく分けて、以下の（Ａ）〜（Ｅ）の５つの種類がある。
（Ａ）基本図形：点、線分、線分列（開／閉）、円、円弧、楕円、楕円弧、自由曲線（開／閉）
（Ｂ）塗り潰し図形
（Ｃ）その他の図形：トンボ、バーコード
（Ｄ）テキスト
（Ｅ）グループ図形：シンボル、イラスト。
【００５５】
ここでいう要素とは、図形データまたは文字データに、印刷データとして必要な属性（印刷属性と呼ぶ）を付加して、実際に、印刷データとしてレイアウトされる、データの単位を意味している。また、印刷データとしてレイアウトされた複数の要素をまとめてグループ化すれば、それを１つの要素として扱うこともできる。要素のグループ化の方法については、後述する。
それでは、以上の（Ａ）〜（Ｅ）の５つの種別について、以下に詳細に説明することにする。
【００５６】
まず、（Ａ）の基本図形は、最も基本となる図形データの要素である。このほか、線分列によって構成される、矩形（各辺がＸおよびＹ軸に平行である長方形）、正多角形などを、基本図形の要素として扱うこともできる。また、自由曲線としては、ベジェ、有理ベジェ、Ｂスプライン、エルミート、ＮＵＲＢＳなどの表現形式を扱うことができる。
【００５７】
また、（Ｂ）の塗り潰し図形は、（Ａ）の要素（点を除く）を単独で、または、複数を連結させることで、閉領域を形成し、その内部を塗り潰した図形データの要素である。塗り潰しの方法には、次の４種類がある。
（１）フィルエリア：内部を均一に塗り潰す。
（２）ハッチング：一定の傾きと間隔を持った複数の線分で塗り潰す。塗り潰し図形内の特定の点を、ハッチングの基準点として指定することもできる。
（３）メッシュ：円、矩形、正多角形など、一定の形状の図形の繰り返しで塗り潰す。塗り潰し図形内の特定の点を、メッシュの基準点として指定することもできる。
（４）パターン：あらかじめ作成されたビットパターンの繰り返しで塗り潰す。
【００５８】
また、（Ｃ）のその他の図形には、トンボ、バーコードなどがある。これらの要素は、図形データと、文字データの両方を含んでいる。トンボ、バーコードの各要素の作成方法については、後述する。
【００５９】
また、（Ｄ）のテキストは、文字データの要素である。図形データの要素と同様に、印刷データとしてレイアウトすることができるが、印刷属性の種類や、レイアウトの方法は、図形データの要素とは異なる。
【００６０】
最後に、（Ｅ）のグループ図形は、（Ａ）の基本図形、（Ｂ）の塗り潰し図形、（Ｃ）のその他の図形、（Ｄ）のテキストの各要素を、１つ以上任意の数だけ選択して、まとめて１つの要素として扱うためのもので、シンボルとイラストがある。
【００６１】
○印刷データの印刷属性
次に、本実施形態に係る情報処理装置で作成できる印刷データである、図形データおよび文字データの印刷属性に、どのような種類が存在するのかを、具体的に説明することにする。
【００６２】
本実施形態に係る情報処理装置で作成できる、図形データおよび文字データの印刷属性には、大きく分けて、以下の（ａ）〜（ｇ）の７つの種類がある。
【００６３】
まず、図形データおよび文字データに共通の印刷属性には、次に示す（ａ）〜（ｃ）の３つの種類がある。
（ａ）表示属性：要素を表示するか否か、また、表示する場合に、どのような上下関係で表示するか（表示プライオリティと呼ぶ）を指定する。
（ｂ）選択属性：要素選択が可能であるか否かを指定する。要素選択を不可にすると、その要素に対しての操作は行なえなくなる。
（ｃ）色属性：ＲＧＢあるいはＨＬＳなどのカラーモデルの種別、および、カラーコードの値を与えることによって、要素の色を表現する。白と黒以外の色が表現できないモノクロームの、表示装置４１またはレーザープリンタ５１などの印刷装置を使用している場合、色属性に応じて、白または黒のどちらかの色に変換されて、出力される。
【００６４】
次に、図形データ固有の印刷属性には、次に示す（ｄ）〜（ｆ）の３つの種類がある。
（ｄ）点属性：点要素の場合、点のある位置に記号を表示したり、文字列を表示したりすることができる。
（ｅ）線属性：点以外の基本図形の要素（線要素）の場合、次に示す、さまざまな線の属性を表現することができる。
・線種：線要素の形状を示し、実線、破線、一点鎖線、二点鎖線、などがある。
・線幅：線要素の法線方向の大きさを示す。あらかじめ定められた、細線、中線、太線、などの種別を指定したり、実寸で指定したりすることができる。
・線幅方向：線幅を考慮しない場合から、法線方向のどちらに線幅分だけオフセットさせるかを示す。
・終端形状：線分や円弧などの開図形の終端の形状で、ラウンド、フラット、スクエア、などがある。
・接続形状：線分列や矩形などの図形の角の形状で、マイター、ラウンド、ベベル、などがある。
・線ピッチ：線種が実線以外の場合、線が存在する部分と、存在しない部分の長さを、それぞれ、実寸またはパラメータで与えることができる。
（ｆ）塗り潰し属性：塗り潰し図形要素の場合、フィルエリア、ハッチング、メッシュ、パターン、などの内部の塗り潰し方法の種類や、ハッチングやメッシュの場合の、必要な詳細データ、パターンの場合の、パターン番号を与える。
【００６５】
最後に、文字データ固有の印刷属性には、次に示す（ｇ）の１種類のみがある。
（ｇ）文字列属性：テキスト要素の場合、次に示す、さまざまな、文字の属性、および文字列全体の属性を表現することができる。
・書体：一組の文字のデザインを表し、クーリエ、ヘルベチカ、ゴシック、などがある。
・文字サイズ：文字の大きさを表し、一般には１つの文字が専有する矩形領域＝ボディ、の行送り方向の高さと等しい。
・平体率：文字を、文字の行送り方向にどれだけ縮めるかを比率で表す。
・長体率：文字を、文字の字送り方向にどれだけ縮めるかを比率で表す。
・ベース角：文字の字送り方向がＸ軸となす角度を表す。
・斜体角：文字の字送り方向に対する、文字の傾斜角度を表す。
・字間：同一行の隣接する２文字のボディの間隔を表す。
・行間：隣接する２行にある文字のボディの間隔を表す。
・文字列反転：文字列を反転（鏡像）して表示する。
【００６６】
○印刷データのデータ構造
次に、本実施形態における印刷データのデータ構造について説明する。本実施形態における印刷データは、一般に、既に説明したような、複数の要素データ、複数の印刷属性データから構成されている。
【００６７】
ここで、各要素データは、基本的に、データ種別コード、データ番号、各要素ごとの必要データ、各要素ごとの必要印刷属性データのデータ番号、という構成になっている。
【００６８】
そして、印刷データ内でユニークに付けられたデータ種別コードによって、印刷データ内の各要素データの種別を特定することができる。また、印刷データ内でユニークに付けられたデータ番号によって、印刷データ内の各要素データを特定することができる。各要素ごとに、必要データ、必要印刷属性の種類は異なるが、データ種別コードによって、ＣＰＵ２１は、これらを識別することが可能である。
【００６９】
また、各印刷属性については、各要素データごとに保持するのではなく、各要素データでは、必要な印刷属性データのデータ番号のみを保持するようにしている。これによって、印刷属性データの重複を避け、印刷データの容量を縮小することや、複数の要素データの印刷属性を一度の操作で変更することなどが可能になっている。
【００７０】
それでは、まず、図形データおよび文字データの各要素のデータ構造を、以下に具体的に示すことにする。
【００７１】
（Ａ）基本図形
（１）点
・データ種別コード
・データ番号
・点座標：ｃ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・点属性のデータ番号
（２）線分
・データ種別コード
・データ番号
・始点座標：ｓ［２］
・終点座標：ｅ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（３）線分列
・データ種別コード
・データ番号
・通過点数：ｎｐ
・各通過点座標：ｐｐ［２］（ｎｐ個）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（４）円
・データ種別コード
・データ番号
・中心座標：ｃ［２］
・半径：ｒ
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（５）円弧
・データ種別コード
・データ番号
・始点座標：ｓ［２］
・終点座標：ｅ［２］
・中心座標：ｃ［２］
・回り方向フラグ（時計回り／反時計回り）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（６）楕円
・データ種別コード
・データ番号
・中心座標：ｃ［２］
・長軸ベクトル：ａ［２］
・短軸ベクトル：ｂ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（７）楕円弧
・データ種別コード
・データ番号
・始点座標：ｓ［２］
・終点座標：ｅ［２］
・中心座標：ｃ［２］
・長軸ベクトル：ａ［２］
・短軸ベクトル：ｂ［２］
・回り方向フラグ（時計回り／反時計回り）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号
（８）自由曲線（ベジェ曲線の場合）
・データ種別コード
・データ番号
・曲線数：ｎｖ
・各曲線の制御点データ（ｎｖ個）：
制御点数：ｎｃ
各制御点座標：ｐｃ［２］（ｎｃ個）
重み係数：ｗ
・通過点数：ｎｐ
・各通過点座標：ｐｐ［２］（ｎｐ個）
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・線属性のデータ番号。
【００７２】
（Ｂ）塗り潰し図形
・データ種別コード
・データ番号
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・ループ数：ｎｌ
・各ループの構成要素データ（ｎｌ個）：
構成要素数：ｎｄ
構成要素データ：点を除く基本図形要素データ（ｎｄ個）
・通過基準点座標：ｐｐ［２］
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・塗り潰し属性のデータ番号
・枠の表示属性のデータ番号
・枠の色属性のデータ番号
・枠の線属性のデータ番号
（塗り潰し図形では、印刷属性として、塗り潰し図形の内部の印刷属性の他に、塗り潰し図形の枠の印刷属性を別に持っている。例えば、内部の色属性と、枠の色属性を変えて表示することなどが可能である）。
【００７３】
（Ｃ）その他の図形
（１）トンボ
・データ種別コード
・データ番号
・トンボ種別フラグ（トンボ／スケールトンボ）
・トンボ形状フラグ（トンボの場合は１１種類／スケールトンボの場合は３種類）
・トンボオフセットフラグ（オフセットあり／なし）
・印刷データ名称（スケールトンボの場合）
・トンボ長さ（スケールトンボの場合）
・レイアウト基準点座標：ｐｂ［２］
・出力倍率：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素数：ｎｄ
・構成要素データ：トンボの場合は線分、スケールトンボの場合は線分、円、テキストのいずれかの要素データ（ｎｄ個）
（２）バーコード
・データ種別コード
・データ番号
・バーコード種別フラグ（４種類）
・コードデータ
・コード表示フラグ（コード表示あり／なし）
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素数：ｎｄ
・構成要素データ：線分、テキストのいずれかの要素データ（ｎｄ個）。
【００７４】
（Ｄ）テキスト
（１）基本文字列（テキストを構成する要素）
・データ種別コード
・データ番号
・文字列開始点座標：ｐｔ［２］
・文字列バイト数：ｎｃｈ
・文字列データ：ｓｔｒ（ｎｃｈバイト）
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・表示属性のデータ番号
・選択属性のデータ番号
・色属性のデータ番号
・文字列属性のデータ番号
（２）テキスト
・データ種別コード
・データ番号
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素数：ｎｄ
・構成要素データ：基本文字列の要素データ（ｎｄ個）
（テキスト要素は、複数の基本文字列要素を組み合わせて構成される。これによって、ひとつのテキスト要素の中で、複数の文字列属性を持った文字列を扱うことが可能となる。例えば、ひとつのテキストの途中で文字の書体を変更したり、文字の高さや幅を変更したり、といった制御が可能である）。
【００７５】
（Ｅ）グループ図形
（１）シンボル
・データ種別コード
・データ番号
・フォルダー名称
・ファイル名称
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・反転フラグ（反転あり／なし）
・線幅スケールフラグ（線幅スケールあり／なし）
・線幅スケール値
（２）イラスト
・データ種別コード
・データ番号
・フォルダー名称
・ファイル名称
・レイアウト基準位置フラグ（左下／中央／右上など９種類）
・レイアウト基準点座標：ｐｂ［２］
・レイアウト角度：ａｎｇ
・レイアウトスケール：ｓｃ
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・反転フラグ（反転あり／なし）
・構成要素数：ｎｄ
・構成要素データ：任意の要素データ（ｎｄ個）
（シンボルおよびイラストのデータ構造の特徴、およびシンボルデータファイルおよびイラストデータファイルのファイル構造については、後述する）。
【００７６】
次に、上述したようなデータ構造を有する要素データに対する印刷属性データのデータ構造について説明する。
【００７７】
ここで、各印刷属性データは、基本的に、データ種別コード、データ番号、属性設定フラグ、各印刷属性ごとの必要データ、という構成になっている。
【００７８】
印刷データ内でユニークに付けられたデータ種別コードによって、印刷データ内の各印刷属性データの種別を特定することができる。また、印刷データ内でユニークに付けられたデータ番号によって、印刷データ内の各印刷属性データを特定することができる。各印刷属性ごとに、必要データは異なるが、データ種別コードによって、ＣＰＵ２１は、これらを識別することが可能である。
【００７９】
また、属性設定フラグとは、その印刷属性データが有効であるか否かを指定するフラグである。属性設定フラグが有効である印刷属性データを指示している要素データでは、該当する印刷属性データに従って、要素が表示される。一方、属性設定フラグが無効である印刷属性データを指示している要素データでは、該当する印刷属性は設定されていない状態であると見なし、あらかじめＲＯＭ３１や外部記憶装置３３に記憶されているデフォルトの印刷属性に従って、要素が表示される。
【００８０】
また、各要素データに階層関係を持たせることが可能なデータ構造とした場合には、上位の（または下位の）要素の印刷属性に従って表示を行なったりする制御も可能である。
【００８１】
それでは、各印刷属性データのデータ構造を、以下に具体的に示すことにする。
（ａ）表示属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・表示フラグ（表示／非表示）
・表示プライオリティ
（ｂ）選択属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・要素選択フラグ（可／不可）
（ｃ）色属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・カラーコード種別フラグ（ＲＧＢ／ＨＬＳ）
・カラーコード１、２、３
（ｄ）点属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・マーカー文字列
（ｅ）線属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・線種フラグ（実線／破線／一点鎖線／二点鎖線／任意破線／任意一点鎖線／任意二点鎖線）
・線幅フラグ（細線／中線／太線／極太線／任意線幅）
・線幅方向フラグ（中央／内側／外側）
・終端形状フラグ（ラウンド／フラット／スクエア）
・接続形状フラグ（マイター／ラウンド／ベベル）
・線種データ１、２、３、４（線種＝任意のとき）
・線幅データ（線幅＝任意のとき）
（ｆ）塗り潰し属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・塗り潰し種別フラグ（塗り潰しあり／塗り潰しなし／ハッチング／メッシュ番号／パターン番号など）
・データグループ数：ｎｄ
・塗り潰しデータ１、２、３（ｎｄ個）
（ｇ）文字列属性
・データ種別コード
・データ番号
・属性設定フラグ（有効／無効）
・書体
・文字サイズ
・平体率
・長体率
・ベース角
・斜体角
・字間
・行間
・文字列反転フラグ（あり／なし）。
【００８２】
図２２に、以上示した印刷データのデータ構造に基いて、本実施形態に係る情報処理装置で作成された、印刷データファイルの一例を示す。
この図２２に示された印刷データは、図２３に示すような形状の図形を印刷するためのものであり、本実施形態においては、図２２に示す印刷データにより表現される図形が、基本図形の要素から成り、１個の線分列と２個の円と、これら３要素の外接矩形の左下点および右上点の２点（この２点は非表示で選択不可）から構成されるものとし、また、これら１個の線分列と２個の円が、それぞれ同じ表示属性（表示）、選択属性（選択可）、線属性（実線、線幅２０ｍｍ）を持ち、互いに異なる色属性を持っているものとする。
【００８３】
○グループ図形のデータ構造
それでは、上述した印刷データのデータ構造のうち、特に、グループ図形であるシンボルとイラストのデータ構造について、詳しく説明することにする。
【００８４】
まず、シンボルのデータ構造について説明する。
【００８５】
本実施形態において、シンボルとは、規格で定められた記号や、ロゴマークのように、繰り返し使用される図形で、図形データの要素（線分や円など）や、文字データの要素（テキスト）を組み合わせて、作成される要素である。
【００８６】
シンボルデータの場合、規格が変更されるなどして、シンボルデータファイルの内容が更新された場合には、既に印刷データの一部としてレイアウト済みである、該当するシンボルを、全て更新してデータの同期を維持できるようになっている。
【００８７】
そこで、本実施形態に係る情報処理装置では、シンボルのデータを、次に示すようなデータ構造で保持している。
【００８８】
すなわち、印刷データ内には、シンボルデータファイルの存在場所を特定するための、フォルダー名称およびファイル名称、そして、シンボルをレイアウトするために必要な情報のみを保持する。
【００８９】
また、印刷データをファイルに保存した印刷データファイルとは別個に、シンボルデータファイルを作成する。シンボルデータファイルは、次に示すようなファイル構造となっている。
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素データ：任意の要素データ（複数）
・印刷属性データ：必要な印刷属性データ（複数）。
【００９０】
レイアウト基準矩形については後述するが、レイアウト基準矩形を定めておけば、シンボルを印刷データとしてレイアウトする際に必要な、位置と大きさの情報を特定することが可能である。例えば、レイアウト基準矩形としては、シンボルの可視部分を囲む最小の矩形（外接矩形と呼ぶ）を指定しておくことなどが可能である。
【００９１】
シンボルデータファイルを作成する際に、該当するシンボルの外接矩形のデータをレイアウト基準矩形として登録しておけば、シンボルデータファイルを再度、読み込んだ際などに、シンボルの外接矩形を再計算する必要がなくなる。
【００９２】
シンボルの各構成要素データは、レイアウト基準矩形左下点を基準とする相対座標値で、表現されている。
【００９３】
また、各印刷属性データについては、印刷データの場合と同様に、各構成要素データを表示する際に必要な印刷属性データを、要素データとは別に保持している。
【００９４】
これによって、変更のあったシンボルを含む印刷データファイルの更新を行なわなくても、該当する印刷データファイルを、外部記憶装置３３から、ＲＡＭ３２に再度、読み込んで来るだけで、印刷データ内のシンボルデータは最新のシンボルデータファイルの内容に置き換わり、データの同期が自動的に取れるようになっている。
【００９５】
次に、もう一つのグループ図形であるイラストのデータ構造について説明する。
【００９６】
本実施形態において、イラストとは、テンプレート図形のように、繰り返し使用される図形で、これもまた、シンボルと同様に、図形データの要素（線分や円など）や、文字データの要素（テキスト）を組み合わせて、作成される要素である。
【００９７】
イラストは、シンボルとは異なり、いったん、印刷データの一部として、レイアウトされた後は、元のイラストデータファイルの内容とは、同期を取らずに、自由に変更を加えたい場合に使用される。
【００９８】
従って、イラストデータの場合、シンボルデータとは異なり、イラストデータファイルの内容が更新された場合でも、既に印刷データの一部としてレイアウト済みである、該当するイラストを、更新して同期を維持することはない。
【００９９】
そこで、本実施形態に係る情報処理装置では、イラストのデータを、次に示すようなデータ構造で保持している。
【０１００】
すなわち、印刷データ内には、イラストデータファイルの存在場所を特定するための、フォルダー名称およびファイル名称、そして、イラストをレイアウトするために必要な情報、の他に、イラストデータファイルから読み込んだ、実際にイラストを構成する各要素データを保持している。
【０１０１】
また、印刷データファイルとは別個に、イラストデータファイルを作成する。イラストデータファイルは、次に示すようなファイル構造となっている。
・レイアウト基準矩形左下点座標：ｐ１［２］
・レイアウト基準矩形右上点座標：ｐ２［２］
・構成要素データ：任意の要素データ（複数）
・印刷属性データ：必要な印刷属性データ（複数）。
【０１０２】
この構造は、シンボルデータファイルのファイル構造と同様である。これを印刷データに読み込む際には、指定したレイアウト基準点座標を原点とし、指定したレイアウト角度、レイアウトスケールに従って、イラストデータファイル内の各構成要素データを展開して（座標変換して）、印刷データのイラスト要素データとして、全て保持する点が、シンボルとは異なっている。
【０１０３】
［白抜き図形の処理］
本実施形態では、印刷属性として白抜き属性を持たせることが可能である。以下、本実施形態の白抜き処理について詳細に説明する。
【０１０４】
○用語の説明
・白抜き属性：
印刷するとき、背景色と同様の色で塗り潰すことを指定する属性。
・白抜き要素：
上記白抜き属性のついた文字列または、塗り潰し図形のこと。たとえば、図２６において、（ａ）は白抜き属性の設定された文字列を、（ｂ）は白抜き属性の設定された塗り潰し図形を示す。
・背景塗り潰し図形：
白抜き属性の文字又は図形の背後にある塗り潰し図形のこと。たとえば、図２７では、白抜きの文字列「ＡＢＣ」の背後の矩形が背景塗り潰し図形である。
・一時的特殊表示状態：
編集上の対話処理等において、処理の対象として選択状態になったり、選択不可になった状態になった要素を特殊な表示色で表示した状態である。例えば図形要素や文字列をポインティングデバイス等で選択するとこの状態になる。図２８には一時的特殊表示状態の一例が示されており、黒色の塗り潰し図形を選択することにより、当該図形が、選択状態を表す網点状態の表示となる。
【０１０５】
○各処理の実施内容の説明
本実施形態による白抜き処理を図１〜図１５のフローチャートに従って、詳細に説明する。
【０１０６】
＜白抜き要素出力処理（１）＞
本処理は、白抜き属性のついた文字列または、塗り潰し図形の表示色を出力先に応じて変える処理である（図２９参照）。たとえば、図２９に示されるように、「ａｂｃ」という文字列を白抜き指定した場合に、表示装置によって表示出力する場合の表示色と、印刷装置によって出力する場合の表示色を変える。
【０１０７】
図１は、白抜き要素出力処理の手順を説明するフローチャートである。まず、ステップＳ１において、白抜き属性を文字列または塗り潰し図形にセットする。ここでは、以下の手順によって白抜き属性を文字列または塗り潰し図形にセットする。
（１）要素選択によって白抜き属性をセットしたい文字列または塗り潰し図形を選択する。
（２）図３０に示されるようなパネル等のグラフィックインターフェースを使って、選択した要素の白抜き属性をＯＮにする（３００１）。
（３）各文字列または塗り潰し図形の白抜き属性データにＯＮをあらわす値を読出書込記憶装置３２に格納する。
【０１０８】
次に、ステップＳ２において、出力先を判定する。本実施形態では、出力処理に先立って、出力先が、読出書込記憶装置３２等にフラグとしてセットされているものとする。従って、出力先の判定は、セットされたデータ（フラグ）を読出書込記憶装置３２等から読み出し、その値によって中央処理装置２１で判定すればよい。
【０１０９】
次に、ステップＳ３において使用すべき背景色を取得する。背景色は、出力先毎に、予め、読出書込記憶装置３２等にセットされているものとする。また、背景色の値は例えば、ＲＧＢ値、ＨＳＢ値、ＹＭＣＢ値などの３ないしは４つの実数等によって表現されているものとする。従って、背景色の取得は、セットされたデータを読出書込記憶装置３２等から読み出すことで実現される。
【０１１０】
次にステップＳ４において、出力先に応じて、白抜き属性の設定された文字列または塗り潰し図形の色を背景色と違う色に設定する。本実施形態では、具体的には、図２のフローチャートで示されるステップＳ４１〜Ｓ４４の各ステップによる処理を行う。
【０１１１】
まず、ステップＳ４１において、出力先が表示装置か否かを判定する。上記のステップＳ２で説明したように、あらかじめ読出書込装置３２等にセットされている出力先データ（フラグ）を参照することによって中央処理装置２１で判定する。出力先が表示装置であった場合は、ステップＳ４３において、白抜き要素の表示色を背景色と違う表示色に設定して出力する。この表示色の設定処理については、図３及び図３１を参照して後述する。
【０１１２】
一方、出力先が表示装置でなかった場合は、ステップＳ４２において、当該出力先が印刷装置であるかどうかを判定する。この判定も、ステップＳ４１と同様に、あらかじめ読出書込装置３２等にセットされている出力先データ（フラグ）を参照することによってなされる。出力先が印刷装置であった場合は、ステップＳ４４へ進み、白抜き要素の表示色を背景色と同じ色に設定して出力する。ここでは、ステップＳ３で説明したように、あらかじめ読出書込記憶装置３２等にセットされた背景色データを中央処理装置２１に読み込んでくる。そして、各文字列または図形の出力処理において、白抜き属性がＯＮにセットされている文字列または塗り潰し図形の表示において、読み込んできた背景色データの色で表示するように出力装置に指示する。
【０１１３】
図３は、白抜き要素を表示装置へ出力する際の手順を説明するフローチャートである。本実施形態では、具体的にステップＳ４３１〜Ｓ４３４の各ステップによる処理を行うことになる。また、図３１は、白抜き要素の表示色の合成の流れを説明する図である。
【０１１４】
まず、ステップＳ４３１において、ステップＳ３で獲得した背景色を色相、明度、彩度に分解する。ここでは、上述のように、ＲＧＢ値、ＨＳＢ値、ＹＭＣＢ値等で表現された背景色のデータを、読出書込記憶装置３２等から読み込んできて、中央処理装置２１で色相、明度、彩度のＨＳＢ値の値に換算する。なお、換算の式は一般に知られたものを用いれば良い。この結果、図３１に示されるように、背景色からＨ（Hue：色相）、Ｓ（Saturation：彩度）、Ｂ（Brightness：明度）が得られる。
【０１１５】
次に、ステップＳ４３２において、上記ステップＳ４３１で得られた各分解値を補正する。具体的には、たとえばステップＳ４３２１（図４のフローチャートを参照）やステップＳ４３２１１（図５のフローチャートを参照）の如く明度Ｂに対して補正を行なう処理、またはステップＳ４３２２（図８のフローチャートを参照）やステップＳ４３２２１（図９のフローチャート参照）の如く彩度に対して補正を行なう処理を行う。こうして、図３１に示されるように、ステップＳ４３１で得られたＨ、Ｓ、Ｂの各値は、ステップＳ４３２において、Ｈ'、Ｓ'、Ｂ'に補正される。
【０１１６】
次に、ステップＳ４３３において、補正された明度、色相、彩度を用いて、文字列または塗り潰し図形表示色を再合成する。すなわち、中央処理装置２１が、上記ステップＳ４３２で補正した明度、色相、彩度を、元々使用されていたＲＧＢ値、ＨＳＢ値、ＹＭＣＢ値などの各カラーモデルの値に変換する。なお、換算の式は、一般によく知られたものを用いればよい。こうして、図３１に示されるように、Ｈ'、Ｓ'、Ｂ'から白抜き表示用補正色が得られる。
【０１１７】
そして、ステップＳ４３４において、上記ステップＳ４３３において求められた、補正された色データを出力装置に指示して文字列または塗り潰し図形を表示する。
【０１１８】
次に、上述のステップＳ４３２の色分析値の補正について詳細に説明する。本実施形態では、色分解値のうちの明度に対して補正を行なう方法として、▲１▼図４のステップＳ４３２１として示されるような、「明度に一定の補正係数をかけて補正」を行なう方法、▲２▼図５のステップＳ４３２１１として示されるような「明度補正係数を背景の塗り潰し図形の色から適応的に算出」する方法を説明する。また、色分解値のうちの彩度に対して補正を行なう方法として、▲３▼「彩度に一定の補正係数をかけて補正」する方法、▲４▼「彩度補正係数を背景の塗り潰し図形の色から適応的に算出して補正」する方法を説明する。
【０１１９】
▲１▼明度に一定の補正係数をかけて白抜き部分の表示色を補正する方法
図３４は、明度に一定の補正係数をかけて補正を行う場合の処理（図４の処理）を説明する図である。この場合、あらかじめ読出書込記憶装置３２等にセットされていた一定の補正係数を読み込み、ステップＳ４３１で求めた明度Ｂに、読み込まれた補正係数を掛け合わせて明度Ｂ'とする。従って、元の背景色を色分解して得られたＨ、Ｓ、Ｂの各色成分は、Ｈ、Ｓ、Ｂ'となる。
【０１２０】
▲２▼明度補正係数を背景の塗り潰し図形の色から適応的に算出して白抜き部分の表示色を補正する方法
次に、明度補正係数を背景の塗り潰し図形の色から適応的に算出して明度を補正する場合（図５に示す処理）の、補正係数算出処理について図６のフローチャートを用いて説明する。図６は、明度補正処理を行なう場合の、明度補正係数算出処理の手順を説明するフローチャートである。
【０１２１】
まず、ステップＳ４３２１１１において、白抜き属性のついた文字列または塗り潰し図形と重なる背景塗り潰し図形を探索する。図３２では、背景塗り潰し図形と白抜き文字列が重なっている様子を表す図である。図３２に示す例では、２つの背景塗り潰し図形が探索されることになる。
【０１２２】
読出書込記憶装置３２等から、登録されている各背景塗り潰し図形の幾何的データと対象となる白抜き属性のついた文字列または塗り潰し図形の幾何的データを取り出し、重なるかどうかを中央処理装置により判定して探索する。白抜きの文字列或いは白抜きの塗り潰し図形と重なっていると判定された塗り潰し図形が背景塗り潰し図形である。
【０１２３】
背景塗り潰し図形か否かの判定の方法としては、例えば、白抜き属性のついた文字列または塗り漬し図形および各背景塗り潰し図形の輪郭形状を取り出して、輪郭形状を構成する各稜線どおしが交差するかどうかで調べるといった方法が挙げられる。
【０１２４】
なお、このときあらかじめ、各文字列または図形要素を囲む水平・垂直方向に平行な稜線を持つMini・MaxBoxどうしの重なりを調べ、重なる可能性があるかどうかを調べることで処理効率をあげる方法もある。
【０１２５】
次に、ステップＳ４３２１１２において、読出書込記憶装置３２等から、登録されている各背景塗り潰し図形の幾何的データと、白抜き属性のついた文字列または塗り潰し図形の幾何的データを取り出し、両者の重なる面積を算出する。面積の算出方法は、例えば積図形を算出してその積図形の面積を求めるようにすればよい。積図形面積算出の方法は、例えば多角形近似をしてその多角形の面積をよく知られた方法によって求める。
【０１２６】
次に、ステップＳ４３２１１３において、背景塗り潰し図形の色を取得する。なお、各塗り潰し図形毎に、塗り潰しの色があらかじめ読出書込記憶装置３２等にセットされているものとする。また、色の値は例えば、ＲＧＢ値、ＨＳＢ値、ＹＭＣＢ値などの３ないしは４つの実数等によって表現されているものとする。したがって、背景塗り潰し図形の色の取得は、ステップＳ４３２１１１で探索された背景塗り潰し図形に対応する塗り潰し色を、読出書込記憶装置３２等から読みこんでくることによって行われる。
【０１２７】
次に、ステップＳ４３２１１４において、以上の処理で求めた各背景塗り潰し図形の表示色に基づいて、ステップＳ４３２で用いる明度補正係数を求める。なお、ステップＳ４３２１１４における明度補正係数の獲得手順については、図１３のフローチャートを参照して後述する。
【０１２８】
▲３▼彩度に一定の補正係数をかけて白抜き部分の表示色を補正する方法
図８のステップＳ４３２２で示されるように、ＨＳＢ値のうちの彩度に一定の補正係数をかけて補正する。図３５に示されるように、彩度Ｓに一定の補正係数をかけて補正を行いＳ'を得る。この処理では、あらかじめ読出書込記憶装置３２等にセットされていた一定の補正係数を読み込んで、ステップＳ４３１で求めた彩度Ｓにこの補正係数をかけ合わせてＳ'とする。そして、補正語のＨＳＢ値（Ｈ、Ｓ'、Ｂ）から白抜き表示用の補正色を得る。
【０１２９】
▲４▼彩度補正係数を背景の塗り潰し図形の色から適応的に算出して白抜き部分の表示色を補正する方法
彩度補正係数を背景の塗り潰し図形の色から適応的に算出して補正するようにしてもよい。この場合、図１０のフローチャートに示す手順で、彩度補正係数を求める。図１０は、彩度補正係数算出処理の手順を説明するフローチャートである。ステップＳ４３２１１１〜Ｓ４３２１１３は、図６で説明した処理と同様である。そして、ステップＳ４３２２１１では、ステップＳ４３２１１１〜Ｓ４３２１１３で求めた各背景塗り潰し図形の表示色から彩度補正係数を求める。
【０１３０】
次に、図１３を参照して、背景塗り潰し図形に適応した補正係数の算出を説明する。なお、この補正係数算出処理は、上述の明度補正係数と彩度補正係数の両方にほぼ共通した処理となるので、以下にまとめて説明する。
【０１３１】
図１３は、適応補正係数算出処理の手順を説明するフローチャートである。
まず、ステップＳ４３２１１４１において、上記ステップＳ４３２１１２（明度補正の場合は図６、彩度補正の場合は図１０）で求めた各背景塗り潰し図形のうち最大の重なり面積を持つ背景塗り潰し図形を探索し、ステップＳ４３２１１３で求めた表示色のうちの探索された図形に対応する表示色を取り出す。たとえば、図３３の場合において、背景塗り潰し図形Ｂ１と白抜きテキストとが重なる部分の面積をＳ１、背景塗り潰し図形Ｂ２と白抜きテキストとが重なる部分の面積をＳ２とし、Ｓ１＞Ｓ２であればＢ１が選択され、図形Ｂ１の表示色が取り出される。一方、Ｓ２＜Ｓ１であればＢ２が選択され、図形Ｂ２の表示色が取り出される。
【０１３２】
次に、ステップＳ４３２１１４２において、背景色を所定の補正係数を使って補正した表示色と、上記のステップＳ４３２１１４１において獲得した表示色とが近い色であるかどうかを判定する。
【０１３３】
本実施形態では、具体的にステップＳ４３２１１４２１で示す処理（図１４のフローチャート）によって判定する。すなわち、色をＨＳＢ分解またはＲＧＢ分解した値の各値の差分をとって、その各差分を２乗した和が一定の値より大きいかどうかによって近傍かどうかを判定する。
【０１３４】
たとえば、図３６に示されるように、ある色１をＲＧＢ分解したときの値を（Ｒ１，Ｇ１，Ｂ１）とする。ただし、Ｒ１，Ｇ１，Ｂ１は実数または整数で表現されており、
Ｒ１：赤色成分
Ｇ１：緑色成分
Ｂ１：青色成分
とする。また、別の色２も同様に、（Ｒ２，Ｇ２，Ｂ２）と表現されていたものとする。
【０１３５】
このとき、それぞれの値を３次元のベクトル空間の１点と考えたとき、２点間の距離の２乗ｄ^2（但し、Ｘ^2はＸの２乗を表す）は、
ｄ^2＝（Ｒ１−Ｒ２）^2＋（Ｇ１−Ｇ２）^2＋（Ｂ１−Ｂ２）^2
で表現される。
【０１３６】
こうして求まった値ｄ^2が、一定のあらかじめ決められた値εより小さいか同一の値の場合、色Ｃ１とＣ２は近傍であるとする。そうでない場合近傍ではないと判定する。なお、ＨＳＢ表現された場合、その他ｎ個の実数値の組み合わせで表現された場合、同様にＲ^n空間における距離を上記と同様に求めて、近傍の判定を行う。
【０１３７】
上記ステップＳ４３２１１４２の近傍判定において近傍と判定された場合は、色Ｃ１とＣ２とが判別しにくいこと、すなわち、白抜き文字或いは白抜きの塗り潰し図形の補正後の表示色が、背景塗り潰し図形の表示色と近く、判別しにくいことを表す。したがって、表示色を更に変更する（補正係数を変更する）ために、ステップＳ４３２１１４３からステップＳ４３２１１４４へ進む。ステップＳ４３２１１４４では、あらかじめ決められた所定の補正係数を補正する。本実施形態では、ステップＳ４３２１４４１で示される処理（図１５のフローチャート参照）によって補正する。
【０１３８】
この補正の方法では、一定の補正係数をα１、補正オフセット値をｄα１とすると、α１＋ｄα１またはα１−ｄα１によって補正係数を補正する。符号は±どちらでもかまわないが、補正した結果が色成分の取りうる値の範囲内となるようにする。
【０１３９】
＜白抜き要素出力処理（２）＞
本処理は、白抜き属性のついた文字列または塗り潰し図形を、出力先に応じて、文字列の輪郭、または、塗り潰し図形の境界情報の表示に置き換える処理である（図３７）。
【０１４０】
以下、図１１のフローチャートを参照して、白抜き要素出力処理を説明する。なお、ステップＳ１〜Ｓ４は図１と同様の処理であるので説明を省略する。
【０１４１】
ステップＳ９では、白抜き設定されている要素が文字列かどうかを判定する。文字列であると判定された場合は、ステップＳ１１へ進む。ステップＳ１１では、文字列の幾何的データから、その輪郭を構成する図形を中央処理装置２１により算出する。図３８の（ａ）に文字列の輪郭図形を示す。次に、ステップＳ１２において、上記ステップＳ１１で求めた輪郭図形を文字列の表示色で表示したものによって当該文字列の表示を置き換える。あるいは、通常の図形と区別するために点線で表示したりしてもよい。
【０１４２】
一方、ステップＳ９において、白抜き設定されている要素が文字列でないと判定された場合は、ステップＳ１０へ進み、白抜き設定されている要素が塗り潰し図形かどうかを判定する。ここで塗り潰し図形であれば、ステップＳ１３へ進み、あらかじめセットされている塗り潰し図形の境界情報データ（塗り潰し図形が定義されていることは境界情報が設定されていることと等価である）を読出書込記憶装置３２等から読み出してくる。図３８の（ｂ）に塗り潰し図形の境界情報を示す。
【０１４３】
ステップＳ１４では、塗り潰し図形境界情報を境界図形表示色で表示したものに、塗り潰し図形の表示を置き換える。すなわち、塗り潰し図形の表示を上記ステップＳ１３で求めた塗り潰し図形の境界情報データから求めた境界図形を境界図形表示色で表示したものによって、当該塗り潰し図形の表示を置き換える。あるいは、通常の図形と区別するために点線で表示したりしてもよい。
【０１４４】
＜一時的特殊表示処理（１）＞
次に、対話処理等において、処理の対象として選択状態になったり、選択不可になった状態になった要素を特殊な表示色で表示する、一時的特殊表示処理において、白抜き属性のついた文字列または、塗り潰し図形が一時的選択表示処理の対象となった場合の処理を説明する。本処理では、図３９に示すように、背景塗り潰し図形と白抜き要素が一時的特殊表示処理の対象となった場合に、それら白抜き要素と背景塗り潰し図形との区別が容易につくように、通常の一時的特殊表示処理の対象要素の表示色とは違う一時的特殊表示処理用の表示色で表示する事を行なう。
【０１４５】
図７は、一時的特殊表示処理の手順を説明するフローチャートである。まず、ステップＳ５において、出力する要素が一時的特殊表示状態にあるかどうかを判定する。一時的特殊表示状態かどうかの判定は各要素ごとに、一時的表示状態かどうかをあらわすフラグデータがあらかじめ読出書込記憶装置３２等にセットされているものとする。したがって、上記のフラグデータを読出書込記憶装置３２等から読み出してきて中央処理装置２１により判定すればよい。
【０１４６】
ステップＳ５において一時的特殊表示処理であると判定された場合は、ステップＳ６に進み、当該出力要素が白抜き要素であるかどうかを判定する。白抜き要素であるかどうかの判定は、上述したように、各要素ごとに白抜き要素か否かを表すフラグデータがあらかじめ読出書込記憶装置３２等にセットされているものとする。したがって、上記のフラグデータを読出書込記憶装置３２等から読み出してきて中央処理装置２１により判定する。
【０１４７】
ステップＳ６で白抜き要素ではないと判定された場合は、ステップＳ７に進み、通常の一時的特殊表示用の色に設定する。なお、白抜き設定されていない通常の要素が一時的特殊表示状態のとき設定される色はあらかじめ読出書込記憶装置３２等にセットされているものとする。したがって、上記のセットされた色データを読出書込記憶装置３２等から読み出してきて、出力装置に指示して文字列または塗り潰し図形を表示させる。
【０１４８】
一方、ステップＳ６において当該出力要素が白抜き要素であると判定された場合は、ステップＳ８に進む。ステップＳ８では、白抜き属性のついた文字列又は塗り潰し要素データを特殊な色に設定する。なお、白抜き設定されている要素が一時的特殊表示状態のときに設定される色（ステップＳ７の白抜き設定されていない通常の要素が一時的特殊表示状態のとき設定される色とは異なる色）は、あらかじめ読出書込記憶装置３２等にセットされているものとする。したがって、中央処理装置２１は、上記のセットされた色データを読出書込記憶装置３２等から読み出してきて、出力装置に指示して文字列または塗り潰し図形を表示させる。
【０１４９】
＜一時的特殊表示処理（２）＞
上述した一時的特殊表示処理では、白抜き要素を、通常の一時的特殊表示処理による色とは異なる色で塗り潰している。以下の処理では、図４０に示されるように、白抜き要素とその背後にある背景塗り潰し図形が一時的特殊表示処理の対象となった場合に、白抜き要素を識別できるように、文字列の輪郭図形または塗り潰し図形の境界図形を、一時的特殊表示処理の対象要素の表示色とは違う一時的特殊表示処理用の表示色で表示する。
【０１５０】
図１２は、白抜き要素出力処理の手順を説明するフローチャートである。なお、図１２において、ステップＳ５〜Ｓ７は上述した図７のステップＳ５〜Ｓ７と同様の処理であり、ステップＳ９、Ｓ１０は上述した図１１のステップＳ９及びステップＳ１０と同様の処理であるので、ここでは説明を省略する。
【０１５１】
ステップＳ１５では、白抜き設定された文字列から文字列輪郭情報を抽出し、この文字列輪郭情報に特殊な色を設定する。すなわち、上記ステップＳ１１（図１１）と同様の手法で求めた文字列の輪郭図形を通常の一時的特殊表示用の色とは違う色で表示したものによって、当該文字列の表示を置き換える。あるいは、通常の図形と区別するために点線で表示したりしてもよい。
【０１５２】
一方、塗り潰し図形の場合は、ステップＳ１０からステップＳ１６へ進み、塗り潰し図形の境界情報を抽出し、抽出した塗り潰し図形の境界情報を特殊な色に設定する。すなわち、上記ステップＳ１３（図１１）と同様の手法で求めた塗り潰し図形の境界情報データにより求めた境界図形を通常の一時的特殊表示用の色とは違う色で表示したものによって、当該塗り潰し図形の表示を置き換える。あるいは、通常の図形と区別するために点線で表示したりしてもよい。
【０１５３】
以上説明したように、本実施形態によれば、対話的な作業中は、白抜きの文字列や塗り潰し図形と背景色との区別がつき編集作業がしやすくなる。また、明度或いは彩度を使って表示色を補正することにより、背景色を容易に連想できる表示色を、白抜き要素の表示色として適応的に設定できる。このため、対話的な処理で白抜きの文字列や塗り潰し図形を配置するとき、文字列データと背景の区別がつきやすく、かつ印刷イメージに近い表示色を使用でき、編集作業が行いやすくなるという効果がある。
【０１５４】
さらに、（１）白抜きの情報を背景の色情報で持つよりもデータ量が少なくてすむ、（２）背景の色が変わったとき白抜きの色を変えなくてもよい（図１のステップＳ３、Ｓ４で示されるように背景色に応じて処理されるため）、（３）白抜き設定の手間が色を背景に合わせるより少ない、（４）表示装置や印刷装置等の出力先により白抜き要素の表示において柔軟な処理ができる、（５）表示装置上で表示色を反転して対話処理を行う場合でも同じ処理でよい（図１のステップＳ２、Ｓ４で示されるように、出力先を判定し、出力先によって処理を区別するため）、（６）カラーの表示装置でもモノクロの表示装置でも同じ処理でよい（色の変更処理において彩度又は明度の変更を行なうため）、という効果がある。
【０１５５】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【０１５６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１５７】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１５９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６０】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６１】
【発明の効果】
以上説明したように、本発明によれば、白抜き属性が設定された白抜き要素に対して適切な出力色が設定され、対話的な編集処理の過程等において常に白抜き要素の認識が容易となる。
【図面の簡単な説明】
【図１】白抜き要素出力処理の手順を説明するフローチャートである。
【図２】白抜き要素表示色再設定処理の手順を説明するフローチャートである。
【図３】白抜き要素表示装置出力処理の手順を説明するフローチャートである。
【図４】ＨＳＢ分解補正処理の手順を説明するフローチャートである。
【図５】明度補正処理の手順を説明するフローチャートである。
【図６】明度補正係数算出処理の手順を説明するフローチャートである。
【図７】一時的特殊表示処理の手順を説明するフローチャートである。
【図８】第２のＨＳＢ分解補正処理の手順を説明するフローチャートである。
【図９】彩度補正処理の手順を説明するフローチャートである。
【図１０】彩度補正係数算出処理の手順を説明するフローチャートである。
【図１１】白抜き要素出力処理の他の態様による手順を説明するフローチャートである。
【図１２】第２の白抜き要素出力処理の手順を説明するフローチャートである。
【図１３】適応補正係数算出処理の手順を説明するフローチャートである。
【図１４】色の近傍判定処理の手順を説明するフローチャートである。
【図１５】補正係数補正処理の手順を説明するフローチャートである。
【図１６】本発明の一実施形態の情報処理装置のハードウェア構成を示すブロック図である。
【図１７】ＷＹＳＩＷＩＧの機能を説明する図である。
【図１８】本実施形態のプログラムのメインパネルを示す図である。
【図１９】各要素の特徴点を示す図である。
【図２０】交点指定による位置の指定の例を示す図である。
【図２１】線上点指定による位置の指定の例を示す図である。
【図２２】印刷データファイルの例を示す図である。
【図２３】シンボルの例を示す図である。
【図２４】白抜き要素の表示に関する不具合の例を示す図である。
【図２５】白抜き要素の一時特殊表示状態に関する不具合の例を示す図である。
【図２６】白抜き要素の例を示す図である。
【図２７】背景塗り消し図形を説明する図である。
【図２８】一時的特殊表示状態を説明する図である。
【図２９】白抜き要素の表示の流れを示す図である。
【図３０】白抜き属性をセットするパネルの図である。
【図３１】白抜き要素表示色を合成する流れを示す図である。
【図３２】背景塗り潰し図形を示す図である。
【図３３】白抜き要素と背景塗り潰し図形の重なり面積を説明する図である。
【図３４】明度補正手段を説明する図である。
【図３５】彩度補正手段を説明する図である。
【図３６】色の近傍判定を説明する図である。
【図３７】白抜き要素の表示の他の手順を説明する図である。
【図３８】文字列の輪郭図形および塗り潰し図形の境界情報を説明する図である。
【図３９】白抜き要素の一時的特殊表示状態を説明する図である。
【図４０】別の白抜き要素の一時的特殊表示状態を説明する図である。
【図１】
0004100779.tif 000002
【図２】
0004100779.tif 000003
【図３】
0004100779.tif 000004
【図４】
0004100779.tif 000005
【図５】
0004100779.tif 000006
【図６】
0004100779.tif 000007
【図７】
0004100779.tif 000008
【図８】
0004100779.tif 000009
【図９】
0004100779.tif 000010
【図１０】
0004100779.tif 000011
【図１１】
0004100779.tif 000012
【図１２】
0004100779.tif 000013
【図１３】
0004100779.tif 000014
【図１４】
0004100779.tif 000015
【図１５】
0004100779.tif 000016
【図１６】
0004100779.tif 000017
【図１７】
0004100779.tif 000018
【図１８】
0004100779.tif 000019
【図１９】
0004100779.tif 000020
【図２０】
0004100779.tif 000021
【図２１】
0004100779.tif 000022
【図２２】
0004100779.tif 000023
【図２３】
0004100779.tif 000024
【図２４】
0004100779.tif 000025
【図２５】
0004100779.tif 000026
【図２６】
0004100779.tif 000027
【図２７】
0004100779.tif 000028
【図２８】
0004100779.tif 000029
【図２９】
0004100779.tif 000030
【図３０】
0004100779.tif 000031
【図３１】
0004100779.tif 000032
【図３２】
0004100779.tif 000033
【図３３】
0004100779.tif 000034
【図３４】
0004100779.tif 000035
【図３５】
0004100779.tif 000036
【図３６】
0004100779.tif 000037
【図３７】
0004100779.tif 000038
【図３８】
0004100779.tif 000039
【図３９】
0004100779.tif 000040
【図４０】
0004100779.tif 000041