説明

印刷制御装置

【課題】 特に細線の印字品位を飛躍的に高める印字制御方法を提供する。
【解決手段】 この課題を解決する為の手段として、描画命令で細線コマンドを検出する細線コマンド検出手段と細線の色を取得する細線色取得手段と細線の打たれる範囲の背景色を取得する背景色取得手段と細線の太さを太くする細線幅変更手段とを備えた。さらに細線幅変更手段に関して、太くする量をユーザーインターフェース(UI)を設けることで所望の幅に変更することができる細線幅UI決定手段を備えた。さらに前記UI決定手段で線幅変更に関して「自動」が選択された場合線幅を2dot太らせる2dot線幅変更手段を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の利用分野は例えばCADのような図面を印刷する時に、細線がはっきり判るように印字されるように印字描画命令を操作して細線の太さを補正するプリンタドライバに関するものである。
【背景技術】
【0002】
細線補正に関する特許は以下の特許文献1に記載のようなものがあったが、本発明のようにドライバで各種の補正を行う発明はなかった。
【特許文献1】特開2003-263302号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
CAD図面などを印字すると細線がよく使われているが、印字の結果が細線が細すぎて見えないなどの問題があり、ユーザーの所望する太さに補正して印字することが課題となっていた。
【課題を解決するための手段】
【0004】
この課題を解決する為の手段として、描画命令で細線コマンドを検出する細線コマンド検出手段と細線の色を取得する細線色取得手段と細線の打たれる範囲の背景色を取得する背景色取得手段と細線の太さを太くする細線幅変更手段とを備えた。さらに細線幅変更手段に関して、太くする量をユーザーインターフェース(UI)を設けることで所望の幅に変更することができる細線幅UI決定手段を備えた。さらに前記UIで線幅変更に関して「自動」が選択された場合線幅を2dot太らせる2dot線幅変更手段を備えた。さらに細線色取得手段に関して、取得した色を判断して色相の低い色の場合線幅をさらに1dot太くする細線色幅決定手段を備えた。さらに細線色取得手段と背景色取得手段に関して、前期細線色取得手段によって得た色相と背景色取得手段によって得た背景色の色相とのコントラストを比較してコントラスト差の閾値よりも差が小さい場合は線幅をさらに1dot太くする細線コントラスト幅決定手段を備えた。
【発明の効果】
【0005】
この発明により細線の幅を自由にコントロールすることが可能となり、その結果ユーザーの所望する印字結果が得られるようになり、印刷物の飛躍的な品質向上をもたらした。
【発明を実施するための最良の形態】
【0006】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例1】
【0007】
以下図面を参照して本発明を詳細に説明する。
【0008】
図1はプリンタの構成をブロック図化したものである。
【0009】
このようにプリンタはAコントローラ部とBプリンタエンジン部CのRAM部の物理デバイス部に大別される。Aコントローラ部においてA−1は各種メッセージを表示(D−1)する表示制御部である。A−2はカッター(D−2)の動きをすべてコントロールするカッター制御部である。A−3は各種プリンタの設定を行なうための操作キー制御部である。A−4はスキャナで読み取るためのスキャナー〈光学式読み取り〉制御部であるが、今回の発明には直接関係ないので説明は省略する。A−5はPC本体から送られてくるデータ・各種コマンドの制御やプリンタのステータスなどをPCに対して送る通信の役目をするコマンド・ステータス制御部である。A−6は長時間使用されていないとき電源を落としたり、印刷が開始された時POWERを入れたりコントロールする電源管理制御部である。A−7はインクの噴出し回数をカウントすることによってその使用量を検知したり、カートリッジが正常にセットされていないときなどの検知なども行うカートリッジ・インク関連の制御を行うカートリッジ制御部である。A−8はカバー制御部でカバーの開閉を検知制御する。Bはプリンタエンジン部である。B−1は実際に印字する時のモーターなどの制御などプリンタ動作の主幹機能である。B−2はB−1を制御する主処理部である。B−3は外部PCやネットワークなどとの接続時に必要なインターフェース部である。例えばTCP/IP、セントロニクスやUSB、赤外線などがあるがその理論は本件の範囲外になるので詳細な説明は省略する。CはRAM部でプログラムそのものが蓄えられたり、一次記憶などに使われる。D-3は給紙口である。D-4は廃止口である。D-5は拡張RAMである。
【0010】
図2は、PCの構成をブロック図化したものである。このような構成の下にプリンタドライバソフトが動作する。
【0011】
1は中央演算処理装置としてのマイクロプロセッサCPU1であり各種演算や論理判断などを行なう。後述のシステムバスを介してそれらのバスに接続された各種構成要素を制御して装置全体の制御を行う。2は制御メモリとして用いられるリードオンリーメモリROM2であり、処理など各種処理について後述するフローチャートに従った制御プログラム、マイクロプロセッサCPU1が行なう各種制御手順をあらかじめ記憶している。3は書き込み可能のランダムアクセスメモリーRAM3であり、ROM2に記憶された制御手順を実行するときに使用され、各構成要素から各種データの一時記憶およびマイクロプロセッサCPU1の演算や論理判断におけるワークメモリーとして用いられる。4は文字入力用のキーボードKB4であり、このキーボードKB4上には、後述図2に示すように、CPU1に指令を与える各種キー群が配置されている。 5はキーボードコントローラKBC5であり、KB4からの入力記号に対するキーコード変換処理(内部コードへの変換)を実行する。6はマウスMS6であり、操作対象位置を示すための装置である。7はマウスMS6を駆動するマウスコントローラMSC7であり、マウスカーソル座標の制御やボタンの押下制御などを行なう。8はPCカード装置9を駆動するPCMCIAC8であり、装着されたメディア内の情報の取り込み制御などを行なう。 9はPCカード装置9であり、コンパクトフラッシュ(登録商標)カードやスマートメディアカードなどを挿入するための装置である。10はバッファ用メモリであり、一時的なデータの保管場所となる。11は表示装置CRT12を駆動する表示コントローラCRTCであり、カーソル位置に表示したい文字列の画面上への位置決め制御や内部のキャラクタジェネレータの参照により、ドットパターンデータに変換して文字あるいはイメージ情報の表示を行なう表示制御とを行なう。12は陰極線管CRT12であり、液晶、発光ダイオード等を用いた表示装置である。13はPRT14を制御するコントローラPRTC13でCPUからBUS(後述)を通して送られたイメージデータ、文字データ、制御データ等を解析しPRT14を駆動する。14は各種文書などを印刷する印字装置PRT14であり前述した図1の構造を有する。15(15−1、15−2)はFDD15−1やHDD15−2で外部記憶装置である。 16は各種のデータ及び制御信号の送受信を行うためのシステムバスBUS16(アドレスバス、コントロ−ルバス、デ−タバス)である。
【0012】
図3はキーボード(KB4)の配置構成例を示す。
【0013】
KB1は通常の文字や数字あるいは、記号等を入力するのに用いられる文字キー群であり、例えばJIS規格の鍵盤配列を有してかなキー等からひらがな入力、さらには仮名漢字変換機能により漢字の入力ができる。なお詳細は本発明とは直接関係ないので省略する。KB2はカーソル(操作指示位置)の移動と機能の実行の指示するのに用いる機能キーが配置されている。四方向のカーソル移動キー『←』『→』『↑』『↓』がある。また操作の確定を指示するための『Enter』キーや1−9までの10キー、+,−キーなどが配置されている。
【0014】
[詳細説明]
次に図1〜図11を使って詳細に説明する。なお、フローチャート1は図7に、フローチャート2は図8に、フローチャート3は図9に、フローチャート4は図10に、フローチャート5は図11に対応している。
【0015】
はじめに全体的な流れとしては、フローチャートF1に示すようにF1−2のユーザーインターフェース(UI)処理とF1−3の細線情報取得と背景情報(領域と色)取得とF1−4の細線処理に分かれる。F1−2ではユーザーが細線強調する場合の各種の指定を行うとともにその情報を蓄積する。F1−3では印刷が始まりページ単位ごとにアプリケーションから呼ばれるコマンドをドライバレベルで解析して細線情報と背景情報(領域と色)を取得して蓄積する。F1−4ではF1−3までの情報で実際に細線強調する太さを決定してそのパラメータを細線コマンドに反映させる処理である。
【0016】
図4,図5はフローチャートF1−2の処理のUI部分の例を示したものである。ユーザーは細線強調を行いたい時、図4の細線強調チェックマークをONにする。そしてその詳細設定を設定ボタンを押すことによって行う。
【0017】
詳細設定はまず自動と手動に分かれる。手動を選択した場合何ドット細線を太くさせるのかその値を入力する。自動の場合はドライバ内で太らせるドットを決定することになる。これらの各種パラメータ、細線強調、自動・手動、手動の場合のドット数に関してはいづれも入力または設定されるとその情報をドライバ内の保存エリアで保存される。この保存エリアは図2−10のバッファが使用される。
【0018】
フローチャートF2は、フローチャートF1−3の細線情報と背景色情報(領域と色)の取得処理を更に詳細に表したものである。処理はF2−2にあるようにページ毎に行われる。F2−3の細線コマンド取得、F2−5の背景色塗りコマンド取得もアプリケーションからのコマンドとしてドライバ関数が呼ばれる。このときアプリから呼ばれるドライバ関数のことをGDIコマンドと一般に呼ぶ。GDIコマンドは幾多の種類があるがその中から、線コマンドと領域を塗るコマンドに注目して情報を取得する。線コマンドについては、例えば点A座標からB座標まで何の色で線を描けというGDI命令(関数)が呼ばれる。具体的にはF2−3でDrvStrokePath()などの直線を引くコマンドが入ってきた場合、その時のペンの細さが1dotである場合細線と判断し、F2−4で当該細線情報をバッファに蓄積していく。バッファの中を詳細に示した例が図6である。同様に背景領域と色の取得もDrvFillPath()コマンドを解析して取得すべきと判断した場合、どの領域に何の色が塗られているのかその情報をF2−6で蓄積していく。このときの蓄積バッファの中を同じく図6で説明している。細線の情報テーブルも背景領域とその色情報テーブルの内容もバッファに入れる項目としては同じもので、該当頁、座標、一方は線が引かれる始点と終点の座標であり、領域のほうは塗られる面積の左上と右下座標を表している。
【0019】
次にフローチャートF1のF1−4の処理に関して詳細に説明する。前述した図4で細線強調が選択されていた場合、その情報をフローチャートF3のF3−2で細線強調が真となり処理F3−3に進む。始めに図5で手動が選ばれていた場合F3−4の処理に行く。本処理はユーザーが図5でセットした値nを一時変数Aに入れ直す。そしてF3−12の処理に行く。F3−12処理は細線情報テーブルで蓄積した細線情報に関してそのコマンドパラメータにある細線の太さを一時変数Aに置き換えるものである。このような描画前のコマンドのパラメータ操作によって線幅を制御する。次にF3−3で自動が選択されていた場合、処理F3−5の処理で初期加算ドットAでA=2に設定する。次に処理F3−6で色相処理を行う。これは細線関数のパラメータの中から細線の指定色を取得し、その色合いで更に線を太らせるか否かを決めるものである。フローチャートF4はF3−6の詳細を説明したものである。F4−2において線色のRGB値を合算してF4−2で閾値から色の判断を行う。線色RGBは図6で説明した細線情報テーブルの色パラメータを示している。そして閾値よりもRGBの和が大きく色が薄いと判断された場合、さらに線幅を1dot増やすためにF4−3でフラグをONにする。F3−7でフラグを判断し1dot増やす場合F3−8でAを1加算する。次にF3−9のコントラストの処理に行く。コントラスト処理ではまず、細線が引かれる領域と背景色が塗られる領域を比較して細線が塗られる領域をカバーしている背景色の領域を探し、当該領域を見つけた場合その色を参照する。細線の色と背景色の領域の色の比較には図6で示した2つのテーブルを用いてページ毎にF5−2で比較する。比較方法としては図6の細線の情報テーブルの各要素の座標に対して、その座標を取り囲むような座標を持った同じ頁の要素が背景領域とその色情報テーブルにあるのかチェックしていく。細線領域をカバーする背景色領域が見つかった場合、細線色と背景色の色の比較をF5−3で行う。比較方法としては各RGBの3次元空間の距離Lを求め、F5−4のようなLの閾値を設定して同系色か否かを判断する。もし閾値よりも小さかった場合同系色と判断してF5−5で1dot増やす為のフラグをONする。処理F3−9を抜けてもしF3−10でフラグがONされていればF3−11でAに1を加算する。このような処理を行うことによって最終的なAの値が決定され処理F3−12が行われる。細線が太くなる。
【0020】
以上が詳細説明である。
【図面の簡単な説明】
【0021】
【図1】プリンタの構成をブロック図化したものである。
【図2】プリンタシステムを動作させるPCの構成をブロック図化したものである。
【図3】同じくプリンタシステムを動作させるPCに付くキーボードの簡略図である。
【図4】細線を太くしたいときに設定するドライバのユーザーインターフェース例を示したものである。
【図5】細線の太らせ方をさらに詳細に設定するユーザーインターフェースの例である。
【図6】細線情報と背景情報(領域とその色)がバッファに貯まった例を示している。
【図7】本発明の全体的な処理の概要を説明したフロー図である。
【図8】細線情報と背景情報(領域とその色)を取得する処理の詳細を示したフロー図である。
【図9】細線強調を何ドット行うのかその処理を示したフロー図である。
【図10】フローチャート3で、特に色相処理に関して詳細に示したフロー図である。
【図11】フローチャート3で、特にコントラスト処理に関して詳細に示したフロー図である。

【特許請求の範囲】
【請求項1】
描画命令で細線コマンドを検出する細線コマンド検出手段と、細線の色を取得する細線色取得手段と、細線の打たれる範囲の背景色を取得する背景色取得手段と、細線の太さを太くする細線幅変更手段とを備えたことを特徴とする印刷制御装置。
【請求項2】
請求項1に記載の印刷制御装置において、細線幅変更手段に関して、太くする量をユーザーインターフェース(UI)を設けることで希望する幅に変更することができる細線幅UI決定手段を備えたことを特徴とする印刷制御装置。
【請求項3】
請求項2に記載の印刷制御装置において、UIで線幅変更に関して「自動」が選択された場合線幅を2dot太らせる2dot線幅変更手段を備えたことを特徴とする印刷制御装置。
【請求項4】
請求項1に記載の印刷制御装置において、細線色取得手段に関して、取得した色を判断して色相の低い色の場合線幅をさらに1dot太くする細線色幅決定手段を備えたことを特徴とする印刷制御装置。
【請求項5】
請求項1に記載の印刷制御装置において、細線色取得手段と背景色取得手段に関して、前期細線色取得手段によって得た色相と背景色取得手段によって得た背景色の色相とのコントラストを比較してコントラスト差の閾値よりも差が小さい場合は線幅をさらに1dot太くする細線コントラスト幅決定手段を備えたことを特徴とする印刷制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2009−105827(P2009−105827A)
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願番号】特願2007−277783(P2007−277783)
【出願日】平成19年10月25日(2007.10.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】