(57)【要約】【課題】  特に細線の印字品位を飛躍的に高める印字制御方法を提供する。【解決手段】  この課題を解決する為の手段として、描画命令で細線コマンドを検出する細線コマンド検出手段と細線の色を取得する細線色取得手段と細線の打たれる範囲の背景色を取得する背景色取得手段と細線の太さを太くする細線幅変更手段とを備えた。さらに細線幅変更手段に関して、太くする量をユーザーインターフェース（ＵＩ）を設けることで所望の幅に変更することができる細線幅ＵＩ決定手段を備えた。さらに前記ＵＩ決定手段で線幅変更に関して「自動」が選択された場合線幅を2dot太らせる2dot線幅変更手段を備えた。【選択図】  図１
2009105827.tif 000002
【特許請求の範囲】
【請求項１】
描画命令で細線コマンドを検出する細線コマンド検出手段と、細線の色を取得する細線色取得手段と、細線の打たれる範囲の背景色を取得する背景色取得手段と、細線の太さを太くする細線幅変更手段とを備えたことを特徴とする印刷制御装置。
【請求項２】
請求項１に記載の印刷制御装置において、細線幅変更手段に関して、太くする量をユーザーインターフェース（ＵＩ）を設けることで希望する幅に変更することができる細線幅ＵＩ決定手段を備えたことを特徴とする印刷制御装置。
【請求項３】
請求項２に記載の印刷制御装置において、ＵＩで線幅変更に関して「自動」が選択された場合線幅を2dot太らせる2dot線幅変更手段を備えたことを特徴とする印刷制御装置。
【請求項４】
請求項1に記載の印刷制御装置において、細線色取得手段に関して、取得した色を判断して色相の低い色の場合線幅をさらに1dot太くする細線色幅決定手段を備えたことを特徴とする印刷制御装置。
【請求項５】
請求項１に記載の印刷制御装置において、細線色取得手段と背景色取得手段に関して、前期細線色取得手段によって得た色相と背景色取得手段によって得た背景色の色相とのコントラストを比較してコントラスト差の閾値よりも差が小さい場合は線幅をさらに1dot太くする細線コントラスト幅決定手段を備えたことを特徴とする印刷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の利用分野は例えばCADのような図面を印刷する時に、細線がはっきり判るように印字されるように印字描画命令を操作して細線の太さを補正するプリンタドライバに関するものである。
【背景技術】
【０００２】
細線補正に関する特許は以下の特許文献１に記載のようなものがあったが、本発明のようにドライバで各種の補正を行う発明はなかった。
【特許文献１】特開2003-263302号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＣＡＤ図面などを印字すると細線がよく使われているが、印字の結果が細線が細すぎて見えないなどの問題があり、ユーザーの所望する太さに補正して印字することが課題となっていた。
【課題を解決するための手段】
【０００４】
この課題を解決する為の手段として、描画命令で細線コマンドを検出する細線コマンド検出手段と細線の色を取得する細線色取得手段と細線の打たれる範囲の背景色を取得する背景色取得手段と細線の太さを太くする細線幅変更手段とを備えた。さらに細線幅変更手段に関して、太くする量をユーザーインターフェース（ＵＩ）を設けることで所望の幅に変更することができる細線幅ＵＩ決定手段を備えた。さらに前記ＵＩで線幅変更に関して「自動」が選択された場合線幅を2dot太らせる2dot線幅変更手段を備えた。さらに細線色取得手段に関して、取得した色を判断して色相の低い色の場合線幅をさらに1dot太くする細線色幅決定手段を備えた。さらに細線色取得手段と背景色取得手段に関して、前期細線色取得手段によって得た色相と背景色取得手段によって得た背景色の色相とのコントラストを比較してコントラスト差の閾値よりも差が小さい場合は線幅をさらに1dot太くする細線コントラスト幅決定手段を備えた。
【発明の効果】
【０００５】
この発明により細線の幅を自由にコントロールすることが可能となり、その結果ユーザーの所望する印字結果が得られるようになり、印刷物の飛躍的な品質向上をもたらした。
【発明を実施するための最良の形態】
【０００６】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例１】
【０００７】
以下図面を参照して本発明を詳細に説明する。
【０００８】
図１はプリンタの構成をブロック図化したものである。
【０００９】
このようにプリンタはＡコントローラ部とＢプリンタエンジン部ＣのＲＡＭ部の物理デバイス部に大別される。Ａコントローラ部においてＡ−１は各種メッセージを表示（Ｄ−１）する表示制御部である。Ａ−２はカッター（Ｄ−２）の動きをすべてコントロールするカッター制御部である。Ａ−３は各種プリンタの設定を行なうための操作キー制御部である。Ａ−４はスキャナで読み取るためのスキャナー〈光学式読み取り〉制御部であるが、今回の発明には直接関係ないので説明は省略する。Ａ−５はPC本体から送られてくるデータ・各種コマンドの制御やプリンタのステータスなどをPCに対して送る通信の役目をするコマンド・ステータス制御部である。Ａ−６は長時間使用されていないとき電源を落としたり、印刷が開始された時POWERを入れたりコントロールする電源管理制御部である。Ａ−７はインクの噴出し回数をカウントすることによってその使用量を検知したり、カートリッジが正常にセットされていないときなどの検知なども行うカートリッジ・インク関連の制御を行うカートリッジ制御部である。Ａ−８はカバー制御部でカバーの開閉を検知制御する。Ｂはプリンタエンジン部である。Ｂ−１は実際に印字する時のモーターなどの制御などプリンタ動作の主幹機能である。Ｂ−２はＢ−１を制御する主処理部である。Ｂ−３は外部ＰＣやネットワークなどとの接続時に必要なインターフェース部である。例えばＴＣＰ／ＩＰ、セントロニクスやＵＳＢ、赤外線などがあるがその理論は本件の範囲外になるので詳細な説明は省略する。ＣはＲＡＭ部でプログラムそのものが蓄えられたり、一次記憶などに使われる。D-3は給紙口である。D-4は廃止口である。D-5は拡張RAMである。
【００１０】
図２は、PCの構成をブロック図化したものである。このような構成の下にプリンタドライバソフトが動作する。
【００１１】
１は中央演算処理装置としてのマイクロプロセッサＣＰＵ１であり各種演算や論理判断などを行なう。後述のシステムバスを介してそれらのバスに接続された各種構成要素を制御して装置全体の制御を行う。２は制御メモリとして用いられるリードオンリーメモリＲＯＭ２であり、処理など各種処理について後述するフローチャートに従った制御プログラム、マイクロプロセッサＣＰＵ１が行なう各種制御手順をあらかじめ記憶している。３は書き込み可能のランダムアクセスメモリーＲＡＭ３であり、ＲＯＭ２に記憶された制御手順を実行するときに使用され、各構成要素から各種データの一時記憶およびマイクロプロセッサＣＰＵ１の演算や論理判断におけるワークメモリーとして用いられる。４は文字入力用のキーボードＫＢ４であり、このキーボードＫＢ４上には、後述図２に示すように、ＣＰＵ１に指令を与える各種キー群が配置されている。 ５はキーボードコントローラＫＢＣ５であり、ＫＢ４からの入力記号に対するキーコード変換処理（内部コードへの変換）を実行する。６はマウスＭＳ６であり、操作対象位置を示すための装置である。７はマウスＭＳ６を駆動するマウスコントローラＭＳＣ７であり、マウスカーソル座標の制御やボタンの押下制御などを行なう。８はＰＣカード装置９を駆動するＰＣＭＣＩＡＣ８であり、装着されたメディア内の情報の取り込み制御などを行なう。 ９はＰＣカード装置９であり、コンパクトフラッシュ（登録商標）カードやスマートメディアカードなどを挿入するための装置である。１０はバッファ用メモリであり、一時的なデータの保管場所となる。１１は表示装置ＣＲＴ１２を駆動する表示コントローラＣＲＴＣであり、カーソル位置に表示したい文字列の画面上への位置決め制御や内部のキャラクタジェネレータの参照により、ドットパターンデータに変換して文字あるいはイメージ情報の表示を行なう表示制御とを行なう。１２は陰極線管ＣＲＴ１２であり、液晶、発光ダイオード等を用いた表示装置である。１３はＰＲＴ１４を制御するコントローラＰＲＴＣ１３でＣＰＵからＢＵＳ（後述）を通して送られたイメージデータ、文字データ、制御データ等を解析しＰＲＴ１４を駆動する。１４は各種文書などを印刷する印字装置ＰＲＴ１４であり前述した図１の構造を有する。１５（１５−１、１５−２）はＦＤＤ１５−１やＨＤＤ１５−２で外部記憶装置である。 １６は各種のデータ及び制御信号の送受信を行うためのシステムバスＢＵＳ１６（アドレスバス、コントロ−ルバス、デ−タバス）である。
【００１２】
図３はキーボード（ＫＢ４）の配置構成例を示す。
【００１３】
ＫＢ１は通常の文字や数字あるいは、記号等を入力するのに用いられる文字キー群であり、例えばＪＩＳ規格の鍵盤配列を有してかなキー等からひらがな入力、さらには仮名漢字変換機能により漢字の入力ができる。なお詳細は本発明とは直接関係ないので省略する。ＫＢ２はカーソル（操作指示位置）の移動と機能の実行の指示するのに用いる機能キーが配置されている。四方向のカーソル移動キー『←』『→』『↑』『↓』がある。また操作の確定を指示するための『Enter』キーや１−９までの１０キー、＋，−キーなどが配置されている。
【００１４】
［詳細説明］
次に図１〜図１１を使って詳細に説明する。なお、フローチャート１は図７に、フローチャート２は図８に、フローチャート３は図９に、フローチャート４は図１０に、フローチャート５は図１１に対応している。
【００１５】
はじめに全体的な流れとしては、フローチャートＦ1に示すようにＦ１−２のユーザーインターフェース（ＵＩ）処理とＦ１−３の細線情報取得と背景情報(領域と色)取得とＦ１−４の細線処理に分かれる。Ｆ１−２ではユーザーが細線強調する場合の各種の指定を行うとともにその情報を蓄積する。Ｆ１−３では印刷が始まりページ単位ごとにアプリケーションから呼ばれるコマンドをドライバレベルで解析して細線情報と背景情報（領域と色）を取得して蓄積する。Ｆ１−４ではＦ１−３までの情報で実際に細線強調する太さを決定してそのパラメータを細線コマンドに反映させる処理である。
【００１６】
図４，図５はフローチャートＦ１−２の処理のＵＩ部分の例を示したものである。ユーザーは細線強調を行いたい時、図４の細線強調チェックマークをＯＮにする。そしてその詳細設定を設定ボタンを押すことによって行う。
【００１７】
詳細設定はまず自動と手動に分かれる。手動を選択した場合何ドット細線を太くさせるのかその値を入力する。自動の場合はドライバ内で太らせるドットを決定することになる。これらの各種パラメータ、細線強調、自動・手動、手動の場合のドット数に関してはいづれも入力または設定されるとその情報をドライバ内の保存エリアで保存される。この保存エリアは図２−１０のバッファが使用される。
【００１８】
フローチャートＦ２は、フローチャートＦ１−３の細線情報と背景色情報（領域と色）の取得処理を更に詳細に表したものである。処理はＦ２−２にあるようにページ毎に行われる。Ｆ２−３の細線コマンド取得、Ｆ２−５の背景色塗りコマンド取得もアプリケーションからのコマンドとしてドライバ関数が呼ばれる。このときアプリから呼ばれるドライバ関数のことをGDIコマンドと一般に呼ぶ。GDIコマンドは幾多の種類があるがその中から、線コマンドと領域を塗るコマンドに注目して情報を取得する。線コマンドについては、例えば点Ａ座標からＢ座標まで何の色で線を描けというGDI命令(関数)が呼ばれる。具体的にはＦ２−３でDrvStrokePath()などの直線を引くコマンドが入ってきた場合、その時のペンの細さが1dotである場合細線と判断し、Ｆ２−４で当該細線情報をバッファに蓄積していく。バッファの中を詳細に示した例が図６である。同様に背景領域と色の取得もDrvFillPath()コマンドを解析して取得すべきと判断した場合、どの領域に何の色が塗られているのかその情報をＦ２−６で蓄積していく。このときの蓄積バッファの中を同じく図６で説明している。細線の情報テーブルも背景領域とその色情報テーブルの内容もバッファに入れる項目としては同じもので、該当頁、座標、一方は線が引かれる始点と終点の座標であり、領域のほうは塗られる面積の左上と右下座標を表している。
【００１９】
次にフローチャートＦ１のＦ１−４の処理に関して詳細に説明する。前述した図4で細線強調が選択されていた場合、その情報をフローチャートＦ３のＦ３−２で細線強調が真となり処理Ｆ３−３に進む。始めに図５で手動が選ばれていた場合Ｆ３−４の処理に行く。本処理はユーザーが図５でセットした値ｎを一時変数Ａに入れ直す。そしてＦ３−１２の処理に行く。Ｆ３−１２処理は細線情報テーブルで蓄積した細線情報に関してそのコマンドパラメータにある細線の太さを一時変数Ａに置き換えるものである。このような描画前のコマンドのパラメータ操作によって線幅を制御する。次にＦ３−３で自動が選択されていた場合、処理Ｆ３−５の処理で初期加算ドットＡでＡ=２に設定する。次に処理Ｆ３−６で色相処理を行う。これは細線関数のパラメータの中から細線の指定色を取得し、その色合いで更に線を太らせるか否かを決めるものである。フローチャートＦ４はＦ３−６の詳細を説明したものである。Ｆ４−２において線色のRGB値を合算してＦ４−２で閾値から色の判断を行う。線色ＲＧＢは図６で説明した細線情報テーブルの色パラメータを示している。そして閾値よりもＲＧＢの和が大きく色が薄いと判断された場合、さらに線幅を1dot増やすためにＦ４−３でフラグをONにする。Ｆ３−７でフラグを判断し1dot増やす場合Ｆ３−８でＡを1加算する。次にＦ３−９のコントラストの処理に行く。コントラスト処理ではまず、細線が引かれる領域と背景色が塗られる領域を比較して細線が塗られる領域をカバーしている背景色の領域を探し、当該領域を見つけた場合その色を参照する。細線の色と背景色の領域の色の比較には図６で示した２つのテーブルを用いてページ毎にＦ５−２で比較する。比較方法としては図６の細線の情報テーブルの各要素の座標に対して、その座標を取り囲むような座標を持った同じ頁の要素が背景領域とその色情報テーブルにあるのかチェックしていく。細線領域をカバーする背景色領域が見つかった場合、細線色と背景色の色の比較をＦ５−３で行う。比較方法としては各ＲＧＢの３次元空間の距離Ｌを求め、Ｆ５−４のようなＬの閾値を設定して同系色か否かを判断する。もし閾値よりも小さかった場合同系色と判断してＦ５−５で1dot増やす為のフラグをＯＮする。処理Ｆ３−９を抜けてもしＦ３−１０でフラグがＯＮされていればＦ３−１１でＡに１を加算する。このような処理を行うことによって最終的なＡの値が決定され処理Ｆ３−１２が行われる。細線が太くなる。
【００２０】
以上が詳細説明である。
【図面の簡単な説明】
【００２１】
【図１】プリンタの構成をブロック図化したものである。
【図２】プリンタシステムを動作させるPCの構成をブロック図化したものである。
【図３】同じくプリンタシステムを動作させるPCに付くキーボードの簡略図である。
【図４】細線を太くしたいときに設定するドライバのユーザーインターフェース例を示したものである。
【図５】細線の太らせ方をさらに詳細に設定するユーザーインターフェースの例である。
【図６】細線情報と背景情報(領域とその色)がバッファに貯まった例を示している。
【図７】本発明の全体的な処理の概要を説明したフロー図である。
【図８】細線情報と背景情報(領域とその色)を取得する処理の詳細を示したフロー図である。
【図９】細線強調を何ドット行うのかその処理を示したフロー図である。
【図１０】フローチャート３で、特に色相処理に関して詳細に示したフロー図である。
【図１１】フローチャート３で、特にコントラスト処理に関して詳細に示したフロー図である。
【図１】
2009105827.tif 000003
【図２】
2009105827.tif 000004
【図３】
2009105827.tif 000005
【図４】
2009105827.tif 000006
【図５】
2009105827.tif 000007
【図６】
2009105827.tif 000008
【図７】
2009105827.tif 000009
【図８】
2009105827.tif 000010
【図９】
2009105827.tif 000011
【図１０】
2009105827.tif 000012
【図１１】
2009105827.tif 000013