(57)【特許請求の範囲】
【請求項１】
特定のページ記述言語で記述された印刷データに矩形の描画命令が含まれる場合、矩形内部の塗りつぶしに相当する内部ドット群を第一のドット配置ルールにもとづいて座標空間に配置し、前記矩形の輪郭に相当する輪郭ドット群を第二のドット配置ルールにもとづいて前記座標空間に配置して矩形全体のドット画像を形成し、または、前記第一のドット配置ルール又は前記第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置して矩形全体のドット画像として形成するドット画像形成手段と、
前記ドット画像形成手段に、前記第一のドット配置ルール又は前記第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置させる画像形成制御手段と、を備え、
前記第一のドット配置ルールは、
中心点が矩形領域に含まれる方眼を特定し、当該特定された方眼上にある格子点のうちの一定の格子点をドット配置の対象とすることを定めたルールであり、
前記第二のドット配置ルールは、
座標空間の格子点のうち矩形領域に含まれる格子点、及び内部に矩形領域を含む方眼上にある格子点のうちの一定の格子点を特定し、当該特定された格子点をドット配置の対象とすることを定めたルールであり、
前記画像形成制御手段は、
前記ドット画像形成手段に、モード選択に応じて、前記第一のドット配置ルール又は前記第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置させる
ことを特徴とする画像形成装置。
【請求項２】
前記特定のページ記述言語がPCL  XLである場合において、
前記ドット画像形成手段は、
前記第一のドット配置ルールとしてGrid  Centeredを適用し、前記第二のドット配置ルールとしてGrid  Intersectionを適用して、前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置し、
前記画像形成制御手段は、
前記ドット画像形成手段に、Grid  Centered  又はGrid  Intersectionのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置させる請求項１記載の画像形成装置。
【請求項３】
前記モード選択に関する操作信号の入力を受け付ける操作部を備え、
前記画像形成制御手段は、
前記ドット画像形成手段に、前記操作信号の入力に応じ、前記第一のドット配置ルール又は前記第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置させる請求項１又は２記載の画像形成装置。
【請求項４】
前記画像形成制御手段は、
前記ドット画像形成手段に、前記印刷データに含まれるモード選択に関する入力信号に応じて、前記第一のドット配置ルール又は前記第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置させる請求項１〜３のいずれか一項記載の画像形成装置。
【請求項５】
前記座標空間は、一定間隔の基準線とこれら基準線が直交してなる方眼によって示される座標空間であり、
前記第一のドット配置ルールは、
中心点が描画範囲に含まれる前記方眼を特定し、当該特定された方眼上にある格子点のうちの一定の格子点にドットを配置することを定めたルールであり、
前記第二のドット配置ルールは、
前記座標空間の格子点のうち前記描画範囲に含まれる前記格子点、及び内部に前記描画範囲を含む前記方眼上にある格子点のうちの一定の格子点を特定し、当該特定された格子点にドットを配置することを定めたルールである請求項１〜４のいずれか一項記載の画像形成装置。
【請求項６】
画像形成装置のコンピュータを、
特定のページ記述言語で記述された印刷データに矩形の描画命令が含まれる場合、矩形内部の塗りつぶしに相当する内部ドット群を第一のドット配置ルールにもとづいて座標空間に配置し、前記矩形の輪郭に相当する輪郭ドット群を第二のドット配置ルールにもとづいて前記座標空間に配置して矩形全体のドット画像を形成し、または、前記第一のドット配置ルール又は前記第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置して矩形全体のドット画像として形成するドット画像形成手段、及び
前記ドット画像形成手段に、前記第一のドット配置ルール又は前記第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置させる画像形成制御手段、として機能させ、
前記第一のドット配置ルールは、
中心点が矩形領域に含まれる方眼を特定し、当該特定された方眼上にある格子点のうちの一定の格子点をドット配置の対象とすることを定めたルールであり、
前記第二のドット配置ルールは、
座標空間の格子点のうち矩形領域に含まれる格子点、及び内部に矩形領域を含む方眼上にある格子点のうちの一定の格子点を特定し、当該特定された格子点をドット配置の対象とすることを定めたルールであり、
前記画像形成制御手段に、
前記ドット画像形成手段に、モード選択に応じて、前記第一のドット配置ルール又は前記第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置させる
ことを特徴とする画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び画像形成プログラムに関し、特に、ページ記述言語に含まれる命令にもとづいて描画処理を行う画像形成装置及び画像形成プログラムに関する。
【背景技術】
【０００２】
プリンターなどの画像形成装置は、ホストコンピュータから受信した印刷データ（以下、プリンタブルデータという。）を解釈し、ドットからなるビットマップイメージを生成した上で印刷を行う。
例えば、プリンタブルデータに矩形の描画命令が含まれる場合、ユーザー座標空間に配置された矩形の輪郭や矩形内部の塗りつぶしを、デバイス座標空間におけるドットに置き換えて配置する内部処理を経て矩形画像を描画する処理を行う。
【０００３】
例えば、プリンタブルデータをなすページ記述言語としてPCL  XLが知られている（特許文献１参照）。
PCL  XLに対応したプリンタードライバーは、矩形の描画命令を含むプリンタブルデータを生成する際、Rectangleオペレーター又はPaintPathオペレーターを発行する。
PCL  XLに対応したインタープリター（以下、PCL  XLインタープリターという。）は、そのいずれについてもカレントパスに対し「stroke」と「fill」を実行する（Rectangleオペレーターは、内部的にPaintPathオペレーターを実行するので、RectangleオペレーターとPaintPathオペレーターは、実質は同じ処理を行う）。
「stroke」は、PenSource（ペンの色）及びPenWidth（ペンの太さ）の指定にしたがってパス上に輪郭を描画し、「fill」は、BrushSource（ブラシの色）の指定にしたがってパス内を塗りつぶすものである。
【０００４】
PCL  XLでは、strokeとfillのPixel  Placement（以下、ドット配置ルールという。）が異なる。
PCL  XLにおける描画命令の対象となる矩形図形をビットマップイメージに変換する場合、strokeに対し、「Grid  Intersection」というドット配置ルールにしたがって輪郭を描き、また、fillに対し、「Grid  Centered」というドット配置ルールにしたがって矩形内部の塗りつぶしを行う。
「Grid  Intersection」は、fillの描画範囲と格子点との関係にもとづいて対応するドットの配置を行う。図９（ａ）において、描画範囲は、（1.8，1.4）及び（5.2，3.7）を基準点とする矩形であり、fillにおいてはこの矩形内の領域を塗りつぶす。例えば、（2，2）は、描画領域に含まれる格子点であるため、（2，2）にドットが配置される。また、(1,1)−(2,2)で示される方眼は、その内部に描画範囲を含むため、この方眼の左上の格子点として（1，1）にドットが配置される（図９（ｂ）参照）。
「Grid  Centered」は、方眼の中心点とfillの描画範囲との関係にもとづいて対応するドットの配置を行う。例えば、図９（ａ）において、（2.5，1.5）は、矩形領域に含まれ、かつ、方眼の中心点であるため、（2，1）にドットが配置される（図９（ｃ）参照）。
【０００５】
このようなドット配置のルールは、図１０に示すように、BarStar（登録商標）等のWindows（登録商標）アプリケーションを用いたバーコードの描画に応用されている。
実際には、このようなアプリケーションによって生成したバーコードをWord（登録商標。以下、文書作成ソフトという。）やExcel（登録商標。以下、表計算ソフトという。）などのビジネスアプリケーションのデータ上に貼り付けることによって、バーコードをベクター画像に変換して印刷を行う。
ベクター画像にすることによって、アプリケーションで拡大や縮小がなされても画像崩れが発生しにくい利点がある。
バーコードは、ビジネスアプリケーションの種類や設定条件によって、Windows（登録商標）メタファイル形式（以下、標準メタファイル形式という。）のベクター画像で貼り付けられる場合と、表計算ソフトの場合、バーコードは、拡張メタファイル形式のベクター画像で貼り付けられる場合がある。
そして、このようなバーコードを印刷する場合、ビジネスアプリケーションは、輪郭の描画と内部の塗りつぶしを別々の描画コマンドとしてプリンタードライバーに命令する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−７８５２１号公報（段落０００３等参照）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、プリンタードライバーが、上記の命令にもとづいてPCL  XL形式でプリンタブルデータを生成する場合、貼り付けられたバーコードの画像形式の違いによって描画命令が異なる。
具体的には、ビジネスアプリケーションのデータに貼り付けられたバーコードが拡張メタファイル形式の場合、輪郭の描画と内部の塗りつぶしのために、PaintPathオペレーターのみを発行するのに対し、ビジネスアプリケーションのデータに貼り付けられたバーコードが標準メタファイル形式の場合、輪郭の描画のためにRectangleオペレーターを発行し、内部の塗りつぶしのためにPaintPathオペレーターを発行することになる。
【０００８】
したがって、拡張メタファイル形式からなるバーコードを印刷する場合には問題は生じないが、標準メタファイル形式からなるバーコードの場合を印刷する場合、２つのオペレーターが介在するため、一定の条件下においてバーコードが正しく描画されない問題を生ずることが判明した。
具体的には、ユーザー座標空間からデバイス座標空間への変換に係るドットの配置に際してユーザー座標空間の回転を伴う場合、輪郭に対応するドット画像と内部の塗りつぶしに対応するドット画像とで整合がとれず、バーコードの内部に一定の太さのライン状の空白が生ずることがわかった。
例えば、横長で定義されたユーザー座標空間を縦置きの用紙に印刷する場合など、ユーザー座標空間を反時計回りに９０度回転させる場合に、このような問題を生ずることがわかった。
【０００９】
図１１は、文書作成ソフトに貼り付けたバーコードのバー（標準メタファイル形式）のプリンタブルデータを示した図である。
図１２は、図１１に示すプリンタブルデータにもとづいてバーのドット画像をデバイス座標空間に形成する描画処理手順を示した図であり、ユーザー座標空間の回転を伴わない場合について示した図である。
デバイス座標空間は、右方向がｘ軸の正方向を示し、下方向がｙ軸の正方向を示すものとする。
ユーザー座標空間とデバイス座標空間は、回転が行われない場合は、ともに右方向がｘ軸の正方向を示し、下方向がｙ軸の正方向を示す。
【００１０】
PCL  XLインタープリターは、図１１で示すPCL  XLで記述されたプリンタブルデータを受け取ると、これを解釈し、図１２（ｉ）〜（iv）の処理を制御する。
まず、「x2  y2  x2'  y2'  BoundingBox」を解釈すると、Rectangleオペレーターが（x2，y2）及び（x2’，y2’）を基準点とする矩形のパス（Path）をユーザー座標空間に設定する（図１２（i））。
続いて、「0  BrushSource」にもとづき、この矩形領域を黒で塗りつぶす描画処理を行う（図１２（ii））。なお、「NullPen  PenSource」とあるため、strokeは行われない。
この描画処理は、Grid  Centeredが適用され、その結果、図１２（ii）に示すように対応するドット「Ｆ」がデバイス座標空間に配置される。
【００１１】
次に、「x1  y1  x1'  y1'  LinePath」を解釈すると、PaintPathオペレーターが（x1，y1）及び（x1’，y1’）を基準点とする矩形領域のパスをユーザー座標空間に設定する（図１２（iii））。
そして、「0  PenSource」にもとづき、設定されたパス上に輪郭を描画する処理を行う（図１２（iv））。なお、「NullBrushSource」とあるため、fillは行われない。
この描画処理は、Grid  Intersectionが適用され、その結果、図１２（iv）に示すように対応するドット「Ｓ」がデバイス座標空間に配置される。
このように、矩形画像が標準メタファイル形式を構成し、これにより２つのオペレーターが介在する場合であっても、回転を伴わない場合には、ユーザー座標空間とデバイス座標空間とは整合し、対応するドットが適切に配置されるため、矩形を正しく描画することができる。
【００１２】
図１３は、図１１に示すプリンタブルデータにもとづいて矩形のドット画像をデバイス座標空間に配置して形成する描画処理手順を示した図であり、ユーザー座標空間を反時計回りに９０度回転させた場合について示した図である。
この場合、Rectangleオペレーターは（x2，y2）及び（x2’，y2’）を基準点とする矩形のパスをユーザー座標空間に設定する（図１３（i））。
続いて、「0  BrushSource」にもとづき、この矩形領域を黒で塗りつぶす描画処理を行う（図１３（ii））。この描画処理は、Grid  Centeredが適用されるため、図１３（ii）に示すように、(x,y)=(3,3),(4,3),(5,3),(6,3),(3,4),(4,4),(5,4),(6,4)の位置に対応するドット「Ｆ」がデバイス座標空間に配置される。
【００１３】
次に、PaintPathオペレーターは（x1，y1）及び（x1’，y1’）を基準点とする矩形のパスをユーザー座標空間に設定する（図１３（iii））。
続いて、「0  PenSource」にもとづき、設定されたパス上に輪郭を描画する処理を行う（図１３（iv））。この描画処理は、Grid  Intersectionが適用されるため、図１３（iv）に示すように（x,y)=(3,3),(4,3),(5,3),(6,3),(7,3),(8,3),(3,4),(8,4),(3,5),(8,5),(3,6),(8,5),(3,6),(4,6),(5,6),(6,6),(7,6),(8,6)に対応するドット「Ｓ」がデバイス座標空間に配置される。
すなわち、この結果、矩形内部に当たる、(x,y)=(2,3),(2,4),(2,5),(2,6)においては、ドットが配置されず、１ドットラインの空白が生ずる。
具体的には、以下の条件をすべて満たしたときに、このような１ドットラインの空白を生ずる。
（i）輪郭のstrokeとその内部のfillで一つの矩形を形成するような描画をする場合
（ii）矩形の輪郭の太さ（PenWidth）が０で設定されている場合
（iii）標準メタファイル形式の画像をプリンタブルデータにする場合
【００１４】
図１４は、このようにして作られたバーコードを印刷したときに生ずる不具合を示す図である。
図１４に示すように、PCL  XLで記述された標準メタファイル形式のバーコードであって、これをユーザー座標空間の回転によって向きを変えて印刷する場合は、１ドット分の太さのライン状の空白が生ずることになっていた。
このため、このようなバーコードの読取りを行っても、データの誤認識や読取エラー等の不具合が発生するため問題となっていた。
【００１５】
本発明は、以上のような従来の技術が有する問題を解決するために提案されたものであり、PCL  XLで記述された標準メタファイル形式の矩形画像を印刷する場合、ドット配置のルールを統一して描画処理を行うことによって、不具合無く矩形を印刷することができる画像形成装置及び画像形成プログラムの提供を目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明の画像形成装置は、特定のページ記述言語で記述された印刷データに矩形の描画命令が含まれる場合、矩形内部の塗りつぶしに相当する内部ドット群を第一のドット配置ルールにもとづいて座標空間に配置し、矩形の輪郭に相当する輪郭ドット群を第二のドット配置ルールにもとづいて座標空間に配置して矩形全体のドット画像を形成し、または、第一のドット配置ルール又は第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して内部ドット群及び輪郭ドット群を座標空間に配置して矩形全体のドット画像として形成するドット画像形成手段と、ドット画像形成手段に、第一のドット配置ルール又は第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して内部ドット群及び輪郭ドット群を座標空間に配置させる画像形成制御手段と、を備える構成としてある。
【００１７】
また、本発明の画像形成プログラムは、画像形成装置のコンピュータを、特定のページ記述言語で記述された印刷データに矩形の描画命令が含まれる場合、矩形内部の塗りつぶしに相当する内部ドット群を第一のドット配置ルールにもとづいて座標空間に配置し、前記矩形の輪郭に相当する輪郭ドット群を第二のドット配置ルールにもとづいて前記座標空間に配置して矩形全体のドット画像を形成し、または、前記第一のドット配置ルール又は前記第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置して矩形全体のドット画像として形成するドット画像形成手段、及び、ドット画像形成手段に、前記第一のドット配置ルール又は前記第二のドット配置ルールのうちのいずれか一方のドット配置ルールに統一して前記内部ドット群及び前記輪郭ドット群を前記座標空間に配置させる画像形成制御手段、として機能させるようにしている。
【発明の効果】
【００１８】
本発明の画像形成装置及び画像形成プログラムによれば、PCL  XLで記述された標準メタファイル形式の矩形画像を回転させて印刷を行う場合であっても、不具合無く矩形を印刷することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る画像形成装置とホストコンピュータを有する印刷システムを示すブロック図である。
【図２】本実施形態に係る画像形成装置の構成を示す機能ブロック図である。
【図３】操作パネル部において表示されるモード選択画面を示す図である。
【図４】PCL  XLで記述された標準メタファイル形式の矩形画像を回転させて描画する場合におけるモード１の描画処理手順を示す図である。
【図５】モード１の描画処理によって形成される回転を伴わない矩形のドット画像を示す図である。
【図６】PCL  XLで記述された標準メタファイル形式の矩形画像を回転させて描画する場合におけるモード２の描画処理手順を示す図である。
【図７】モード２の描画処理によって形成される回転を伴わない矩形のドット画像を示す図である。
【図８】制御モードの選択を、画像形成装置とプリンタードライバーの双方を用い、ホストコンピュータで行う場合のイメージを示した図である。
【図９】PCL  XLにおけるPixel  Placement（ドット配置ルール）を説明するための図である。
【図１０】バーコードの描画処理を説明するための図である。
【図１１】バーコードの描画に係るプリンタブルデータの例を示す図である。
【図１２】図１１に示すプリンタブルデータにもとづいて矩形のドット画像をデバイス座標空間に配置して形成する描画処理手順を示した図であり、ユーザー座標空間の回転を伴わない場合について示した図である。
【図１３】図１１に示すプリンタブルデータにもとづいて矩形のドット画像をデバイス座標空間に配置して形成する描画処理手順を示した図であり、ユーザー座標空間を反時計回りに９０度回転させた場合について示した図である。
【図１４】バーコードのバーに１ドットのライン状の空白が生じた様子を示す図である。
【発明を実施するための形態】
【００２０】
（印刷システム）
本発明は、例えば、図１に示すように、画像形成装置２０とホストコンピュータ１０とがＬＡＮなどのネットワーク１５を介して相互に通信可能に接続されてなる印刷システム１に適用される。
この印刷システム１において、画像形成装置２０は、ホストコンピュータ１０から供給される印刷データを印刷する機能を備えたプリンター装置であって、装置全体の制御及び各種演算処理を行うコンピュータ（ＣＰＵ：Central  Processing  Unit）３０、プログラムやデータを格納するためのＲＯＭ（Read  Only  Memory）４０、作業領域として一時的にプログラムやデータを記憶するためのＲＡＭ（Random  Access  Memory）５０、装置本体のフロントパネル等からなり各種情報の表示および各種指示の入力に使用される操作パネル部（操作部）６０、電子写真式プロセス等の周知の画像形成プロセスを用いて、各種データを用紙などの記録媒体上に印刷する出力部７０、及び、ネットワーク１５に接続するためのＬＡＮカードなどの通信インターフェース８０などがバス９０を介して相互に接続されている。
【００２１】
（画像形成装置）
図２に示すように、本実施形態の画像形成装置２０は、通信インターフェース８０を介して印刷データを受信するデータ受信部３１、データ受信部３１により受信したプリンタブルデータの解析を行い印刷命令生成部３３に対し種々の命令を行う印刷情報解析部３２、中間データをラスタライズしてビットマップイメージに変換する印刷命令生成部３３、ビットマップイメージを一時的に保管するＲＡＭ５０を管理するメモリ管理部３５、出力制御を行うプリンタエンジン制御部３４などが、ＣＰＵ３０による処理機能として搭載されており、生成部７０が、ビットマップイメージにもとづき実際に記録媒体に印刷を行う。
【００２２】
次に、本実施形態のプリンター装置に固有の描画処理について説明する。
印刷命令生成部３３は、図２に示すように、ドット画像形成手段３３１を備える。
ドット画像形成手段３３１は、特定のページ記述言語で記述された印刷データに矩形の描画命令が含まれる場合、矩形内部の塗りつぶしに相当する内部ドット群を第一のドット配置ルールにもとづいて座標空間に配置し、前記矩形の輪郭に相当する輪郭ドット群を第二のドット配置ルールにもとづいて前記座標空間に配置して矩形全体のドット画像を形成する。
すなわち、ドット画像形成手段３３１は、PCL  XLで記述されたプリンタブルデータに矩形の描画命令が含まれる場合、ユーザー座標空間に配置された矩形の輪郭や矩形内部の塗りつぶしを、デバイス座標空間におけるドットに置き換えて配置する内部処理を経て矩形画像を描画する処理を行う。
PCL  XLで定めた本来の描画ルールに則れば、矩形内部の塗りつぶしに相当する内部ドット群を「Grid  Centered」（第一のドット配置ルール）にもとづいてデバイス座標空間に配置し、矩形の輪郭に相当する輪郭ドット群を「Grid  Intersection」（第二のドット配置ルール）にもとづいてデバイス座標空間に配置して、矩形全体のドット画像を形成するところ、本発明のドット画像形成手段３３１は、命令に応じ、Grid  Centered又はGrid  Intersectionのいずれか一方のドット配置ルールに統一して内部ドット群及び輪郭ドット群を座標空間に配置して矩形全体のドット画像として形成する。
【００２３】
ユーザー座標空間は、プリンタブルデータ上の座標空間である。ドット画像形成手段３３１は、横長で定義されたユーザー座標空間を縦置きの用紙に印刷する場合などに、デバイス座標空間に合わせてドット画像を形成するために、ユーザー座標を反時計回りに９０度回転及び平行移動させる。
デバイス座標空間は、再現可能なドット位置を表した座標空間であり、出力解像度等、プリンター装置の出力性能によって異なる。本実施形態においては、一定間隔の基準線とこれら基準線が直交してなる方眼によって示される座標空間をいう。ビットマップイメージのドットは、デバイス座標空間の基準線同士が交わる格子点に配置される。
【００２４】
「Grid  Centered」（第一のドット配置ルール）は、中心点が矩形領域に含まれる方眼を特定し、当該特定された方眼上にある格子点のうちの一定の格子点をドット配置の対象とすることを定めたルールである。
ここで、「Grid  Centered」においてドット配置の対象となる格子点は、矩形領域内の任意の点に対して特定の算出方法を用いることよって求めることができる。詳細には、格子点の座標の値が正の整数の場合、矩形領域内のある座標の値の小数部に四捨五入の判定を行い、ｘ値及びｙ値の両方が繰り上がる場合は、座標のｘ値及びｙ値の少数を切り捨て又は切り上げた値（(a)  座標のｘ値及びｙ値の両方の少数を切り捨てた値、(b)  座標のｘ値及びｙ値の両方の少数を切り上げた値、(c)  座標のｘ値の少数を切り捨ててｙ値の少数を切り上げた値、(d)  座標のｘ値の少数を切り上げてｙ値の少数を切り捨てた値のうちいずれかに定めておくものとする。）の格子点をドット配置の対象とすることができる。PCL  XLでは、ドット配置の対象は(a)に対応した格子点となる。四捨五入の判定の結果、Ｘ又はＹ座標の値が繰り上がらない場合はドット配置の対象となる格子点の算出を行わない。
【００２５】
例えば、矩形領域内のある座標の値の小数部に四捨五入の判定を行い、ｘ値及びｙ値の両方が繰り上がる場合は、座標のｘ値及びｙ値の両方の少数を切り捨てた値の格子点をドット配置の対象とすればよい。具体的には、座標（1.6,1.7）に着目した場合、小数部を四捨五入判定するとＸ及びＹ座標の両方の値が繰り上がるので、小数部を切り捨てた座標（1,1）がドット配置の対象となる。また、座標(3.1,2.4)、（6,6）又は（5.2,3.7）に着目した場合、小数部を四捨五入判定するとＸ又はＹ座標の値が繰り上がらないので、ドット配置の対象となる格子点の算出を行わない。このような算出方法によれば、ドット配置の対象となる一定の格子点は、特定された方眼の左上の点に一意に決まることになる。
【００２６】
「Grid  Intersection」（第二のドット配置ルール）は、座標空間の格子点のうち矩形領域に含まれる格子点、及び内部に矩形領域を含む方眼上にある格子点のうちの一定の格子点を特定し、当該特定された格子点をドット配置の対象とすることを定めたルールである。
ここで、「Grid  Intersection」においてドット配置の対象となる格子点は、矩形領域内の任意の点に対して特定の算出方法を用いることよって求めることができる。詳細には、格子点の座標の値が正の整数の場合、矩形領域内のある座標のｘ値及びｙ値の小数を切り捨て又は切り上げた値（(a)  座標のｘ値及びｙ値の両方の少数を切り捨てた値、(b)  座標のｘ値及びｙ値の両方の少数を切り上げた値、(c)  座標のｘ値の少数を切り捨ててｙ値の少数を切り上げた値、(d)  座標のｘ値の少数を切り上げてｙ値の少数を切り捨てた値のうちいずれかに定めておくものとする。）の格子点をドット配置の対象とすることができる。PCL  XLでは、ドット配置の対象は(a)に対応した格子点となる。
【００２７】
例えば、矩形領域内のある座標のｘ値及びｙ値の両方の小数を切り捨てた値の格子点をドット配置の対象とすればよい。具体的には、座標（x,y）＝（1.6,1.7）に着目した場合、小数部を切り捨てた座標（1,1）がドット配置の対象となる。また、座標（x,y）＝(3.1,2.4)、（6,6）又は（5.2,3.7）に着目した場合、小数部を切り捨てた座標（3,2）、（6,6）、（5,3）がドット配置の対象となる。このような算出方法によれば、ドット配置の対象となる格子点は、座標空間の格子点のうち矩形領域に含まれる格子点、及び内部に矩形領域を含む方眼上にある格子点のうちの一定の格子点に決まることになる。なお、一定の格子点は、内部に矩形領域を含む方眼の左上の点に一意に定まる。
【００２８】
印刷情報解析部３２は、PCL  XLを解釈するいわゆるPCL  XLインタープリターであり、PCL  XLに矩形の描画命令が含まれる場合に、対応する画像形成制御を行うための画像形成制御手段３２１を備える。
画像形成制御手段３２１は、ドット画像形成手段３３１に対し、「Grid  Intersection」又は「Grid  Centered」のうちのいずれか一方のドット配置ルールに統一して、デバイス座標空間に輪郭ドット群及び前記内部ドット群を配置させる制御を行う。
制御モードとして、Grid  Intersectionに統一して描画処理を行わせるモード（モード１）と、Grid  Centeredに統一して描画処理を行わせるモード（モード２）とがある。
【００２９】
例えば、図３に示すように、フロントパネルなどの操作パネル部６０において、任意の制御モードを選択することが可能な「ベクター描画モード」のメニュー表示を行う。
ユーザーは、パネル表示された任意のモードを選択すると、操作パネル部６０を介してモード選択に関する操作信号が入力され、これをＣＰＵ３０が検知すると、対応する制御モードにもとづいて描画処理が実行されるようになる。
以下、各モード（モード１、モード２）における描画処理について説明する。
なお、図３の「デフォルト」は、「PCL  XLの仕様通り」を示すモードであり、通常は「デフォルト」モードが選択されている。すなわち、「デフォルト」モードが選択されている場合、従来通り、内部の塗りつぶしをGrid  Centeredにもとづいて行い、輪郭の描画をGrid  Intersectionにもとづいて行う。
【００３０】
（モード１）
モード１は、矩形の輪郭に当たるドット画像（輪郭ドット群）と内部の塗りつぶしのドット画像（内部ドット群）の描画の際に用いられるドット配置のルールをいずれも「Grid  Intersection」に統一するための制御モードである。
具体的には、画像形成制御手段３２１が、輪郭ドット群をデバイス座標空間に配置する際に本来適用される「Grid  Centered」を「Grid  Intersection」に変更してドットを配置するよう、ドット画像形成手段３３１に命令する。ドット画像形成手段３３１は、画像形成制御手段３２１の命令に従って、「Grid  Intersection」に基づいて、輪郭ドット群を配置し、ドット画像を形成する。
なお、内部ドット群の配置に際し本来適用されるGrid  Intersectionは変更せずにそのまま適用する。
【００３１】
図４は、PCL  XLで記述された標準メタファイル形式の矩形画像を回転させて描画する場合におけるモード１の描画処理手順を示す図である。
なお、この場合、ユーザー座標空間を反時計回りに９０度回転しているため、上方向がｘ軸の正方向、右方向がｙ軸の正方向を示す。
ドット画像形成手段３３１は、上記命令を受けると、図４に示す描画処理手順にしたがって、矩形のドット画像を形成する。
まず、Rectangleオペレーターにもとづき、（x2，y2）及び（x2’，y2’）を基準点とする矩形のパス（Path）設定を行う（図４（i））。なお、（x2，y2）＝（2,3）、（x2’，y2’）＝（4,7）とする。
【００３２】
続いて、「0  BrushSource」にもとづき、ユーザー座標空間の矩形領域に対応するデバイス座標空間の特定領域を黒で塗りつぶす描画処理を行う（図４（ii））。
この描画処理においては、「Grid  Intersection」が適用され、矩形領域に含まれる格子点、及び内部に描画範囲を含む方眼上の格子点のうち一定（本実施形態では左上）の格子点が特定される。具体的には、ユーザー座標空間の(2,3)から(4,7)に対応する、デバイス座標空間の(3,3)から(7,5)の各格子点が特定され、ドット配置の対象となる。ここでは、塗りつぶす描画処理を行うので、デバイス座標空間の(3,3)から(7,5)の全ての格子点にドットが配置される。
従って、図４（ii）に示すように、デバイス座標空間の（x,y)=  (3,3),(4,3),(5,3),(6,3),(7,3),(3,4),(4,4),(5,4),(6,4),(7,4),(3,5),(4,5),(5,5),(6,5),(7,5)の位置に対応するドット「Ｆ」（内部ドット群）が配置される。
【００３３】
次に、PaintPathオペレーターにもとづき、（x1，y1）及び（x1’，y1’）を基準点とする矩形のパス設定を行う（図４（iii））。なお、（x1，y1）＝（1,2）、（x1’，y1’）＝（4,7）とする。
そして、「0  PenSource」にもとづき、設定されたパス上に輪郭を描画する処理を行う（図４（iv））。
この描画処理においては、「Grid  Intersection」が適用され、矩形領域に含まれる格子点、及び内部に描画範囲を含む方眼上の格子点のうち一定（本実施形態では左上）の格子点が特定される。具体的には、ユーザー座標空間の(1,2)から(4,7)に対応する、デバイス座標空間の(3,3)から(8,6)の各格子点が特定され、ドット配置の対象となる。ここでは、輪郭を描画する処理を行うので、デバイス座標空間の(3,3)から(8,6)の格子点が構成する矩形の輪郭となる格子点にドットが配置される。
従って、図４（iv）に示すように、デバイス座標空間の（x,y)=  (3,3)、(4,3)、(5,3)、(6,3)、(7,3)、(8,3)、(3,4)、(8,4)、(3,5)、(8,5)、(3,6)、(4,6)、(5,6)、(6,6)、(7,6)、(8,6)の位置に対応するドット「Ｓ」（輪郭ドット群）が配置される。
なお、ドット「Ｆ／Ｓ」は、ドット「Ｆ」とドット「Ｓ」の重複配置を示す。
【００３４】
このように、モード１では、輪郭及び内部塗りつぶしの描画に際し適用されるドット配置のルールを「Grid  Intersection」に統一する。
このため、PCL  XLで記述された標準メタファイル形式の矩形画像（文書作成ソフトのデータに貼り付けたバーコードなど）を回転させて印刷を行う場合であっても、従来のように内部にライン状の空白を生ずることなく、不具合無く描画することができる（図４（iv）参照）。
【００３５】
なお、モード１では、矩形画像の回転を伴わない場合であっても適切に矩形のドット画像を形成することができる。
図５は、モード１のもと、図１１に示すプリンタブルデータにもとづいて矩形を描画したときのドット画像であって、回転を伴わない場合における矩形画像を示す図である。
このように、回転を伴わない場合であってもライン状の空白を生ずることがなく、矩形を描画することができる。
【００３６】
（モード２）
次に、モード２における描画処理について説明する。
モード２は、輪郭ドット群と内部ドット群の描画の際に用いられるドット配置のルールをいずれも「Grid  Centered」に統一するための制御モードである。
具体的には、画像形成制御手段３２１が、内部ドット群をデバイス座標空間に配置する際に本来適用される「Grid  Intersection」を「Grid  Centered」に変更してドットを配置するよう、ドット画像形成手段３３１に命令する。ドット画像形成手段３３１は、画像形成制御手段３２１の命令に従って、「Grid  Centered」に基づいて、内部ドット群を配置し、ドット画像を形成する。
なお、輪郭ドット群の配置に際し本来適用されるGrid  Centeredは変更せずにそのまま適用する。
【００３７】
図６は、PCL  XLで記述された標準メタファイル形式の矩形画像を回転させて描画する場合におけるモード２の描画処理手順を示す図である。
なお、この場合、ユーザー座標空間を反時計回りに９０度回転しているため、上方向がｘ軸の正方向、右方向がｙ軸の正方向を示す。
ドット画像形成手段３３１は、上記命令を受けると、図６に示す描画処理手順にしたがって、矩形のドット画像を形成する。
まず、Rectangleオペレーターにもとづき、（x2，y2）及び（x2’，y2’）を基準点とする矩形のパス設定を行う（図６（i））。なお、（x2，y2）＝（2,3）、（x2’，y2’）＝（4,7）とする。
【００３８】
続いて、「0  BrushSource」にもとづき、ユーザー座標空間の矩形領域に対応するデバイス座標空間の特定領域を黒で塗りつぶす描画処理を行う（図６（ii））。
この描画処理においては、「Grid  Centered」が適用され、中心点が矩形領域に含まれる方眼が特定される。具体的には、ユーザー座標空間の(2,3)−(3,4)、(3,3)−(4,4)、(2,4)−(3,5)、(3,4)−(4,5)、(2,5)−(3,6)、(3,5)−(4,6)、(2,6)−(3,7)、及び(3,6)−(4,7)に対応する、デバイス座標空間の(3,4)-(4,5)、(3,3)-(4,4)、(4,4)-(5,5)、(4,3)-(5,4)、(5,4)-(6,5)、(5,3)-(6,4)、(6,4)-(7,5)、及び(6,3)-(7,4)の方眼が特定され、各方眼上にある格子点のうちの一定（本実施形態では左上）の格子点がドット配置の対象となる。
ここでは、塗りつぶす描画処理を行うので、特定された全ての方眼について、各方眼上にある格子点のうちの一定（本実施形態では左上）の格子点にドットが配置される。
従って、図６（ii）に示すように、デバイス座標空間の（x,y)=(3,3)、(4,3)、(5,3)、(6,3)、(3,4)、(4,4)、(5,4)、(6,4)の位置に対応するドット「Ｆ」（内部ドット群）が配置される。
【００３９】
次に、PaintPathオペレーターにもとづき、（x1，y1）及び（x1’，y1’）を基準点とする矩形のパス設定を行う（図６（iii））。
そして、「0  PenSource」にもとづき、設定されたパス上に輪郭を描画する処理を行う（図６（iv））。
この描画処理においては、「Grid  Centered」が適用され、中心点が矩形領域に含まれる方眼が特定される。具体的には、ユーザー座標空間の(1,2)−(2,3)、(2,2)−(3,3)、(3,2)−(4,3)、(1,3)−(2,4)、(2,3)−(3,4)、(3,3)−(4,4)、(1,4)−(2,5)、(2,4)−(3,5)、(3,4)−(4,5)、(1,5)−(2,6)、(2,5)−(3,6)、(3,5)−(4,6)、(1,6)−(2,7)、(2,6)−(3,7)、及び(3,6)−(4,7)に対応する、デバイス座標空間の(3,5)-(4,6)、(3,4)-(4,5)、(3,3)-(4,4)、(4,5)-(5,6)、(4,4)-(5,5)、(4,3)-(5,4)、(5,5)-(6,6)、(5,4)-(6,5)、(5,3)-(6,4)、(6,5)-(7,6)、(6,4)-(7,5)、(6,3)-(7,4)、(7,5)-(8,6)、(7,4)-(8,5)、(7,3)-(8,4)の方眼が特定され、各方眼上にある格子点のうちの一定（本実施形態では左上）の格子点がドット配置の対象となる。
【００４０】
ここでは、輪郭を描画する処理を行うので、特定された方眼のうち、パスに内接するデバイス座標空間の(3,5)-(4,6)、(3,4)-(4,5)、(3,3)-(4,4)、(4,5)-(5,6)、(4,3)-(5,4)、(5,5)-(6,6)、(5,3)-(6,4)、(6,5)-(7,6)、(6,3)-(7,4)、(7,5)-(8,6)、(7,4)-(8,5)、(7,3)-(8,4)の方眼上にある格子点のうちの一定（本実施形態では左上）の格子点にドットが配置される。
従って、図６（iv）に示すように、（x,y)=  (3,5)、(3,4)、(3,3)、(4,5)、(4,3)、(5,5)、(5,3)、(6,5)、(6,3)、(7,5)、(7,4)、(7,3)  の位置に対応するドット「Ｓ」（輪郭ドット群）が配置される。
なお、ドット「Ｆ／Ｓ」は、ドット「Ｆ」とドット「Ｓ」の重複配置を示す。
【００４１】
このように、モード２では、輪郭及び内部塗りつぶしの描画に際し適用されるドット配置のルールを「Grid  Centered」に統一するようにしている。
このため、モード２においても、PCL  XLで記述された標準メタファイル形式の矩形画像（文書作成ソフトのデータに貼り付けたバーコードなど）を回転させて印刷を行う場合に、従来のように内部にライン状の空白を生ずることなく、不具合無く描画することができる（図６（iv）参照）。
ただし、矩形は、本来、（幅）×（高さ）が６×４ドットのサイズであるところ、モード２においては５×３ドットとなるため、幅・高さについて１ドット分の差異が生ずる。
【００４２】
図７は、モード２のもと、図１１に示すプリンタブルデータにもとづいて矩形を描画したときのドット画像であって、回転を伴わない場合における矩形画像を示す図である。
図７に示すように、矩形画像の回転を伴わない場合であっても、矩形内部に空白を生ずることなく矩形画像を形成することができる。
この場合、矩形の幅や高さに１ドット分の差異が生ずる。
【００４３】
なお、制御モードの選択は、操作パネル部６０を介した場合のみならず、プリンター装置とプリンタードライバーの双方を用い、ホストコンピュータ２０側で行うこともできる。
図８は、制御モードの選択を、プリンター装置２０とプリンタードライバーの双方を用い、ホストコンピュータ１０で行う場合のイメージを示した図である。
この場合、プリンター装置２０においては、PCL  XLインタープリター（印刷情報解析部３２）に、ドット配置ルールを変更できるような独自のPCL  XLオペレーターを実装する。
例えば、「SetPixelPlacement」という名前のオペレーターを実装し、オペレーターの引数を次のようにする。
０：PCL  XLの仕様通り。
１：輪郭及び内部の塗りつぶしのドット配置ルールをGrid  Intersectionとする。
２：輪郭及び内部の塗りつぶしのドット配置ルールをGrid  Centeredとする。
【００４４】
プリンタードライバーでは、ＧＵＩ（Graphical  User  Interface）に、「ベクター描画モード」なるメニューを用意する。
そして、このベクター描画モードには、次のような３つのモードを用意する。
デフォルト：特に何も行わない。
モード１：プリンタブルデータに"1  SetPixelPlacement"を発行する。
モード２：プリンタブルデータに"2  SetPixelPlacement"を発行する。
PCL  XLインタープリターは、プリンタブルデータに「SetPixelPlacement」オペレーターが含まれていたら、その設定のモードにしたがって描画処理を行わせることができる。
例えば、図８に示すように、PCL  XLインタープリターは、プリンタブルデータから"1  SetPixelPlacement"を解釈し、PixelPlacementを１（モード１）に変更して描画処理を行わせることができる。
なお、ここでは、モード変更に際し、独自のPCL  XLオペレーターを実装する例を挙げたが、PJLコマンドやPRESCRIBE(登録商標)コマンドなど、プリンター装置において設定変更が可能な言語であれば良い。
【００４５】
（画像形成プログラム）
次に、画像形成プログラムについて説明する。
上記実施形態におけるコンピュータ（画像形成装置２０）の画像形成制御機能、ドット画像形成機能等は、記憶手段（例えば、ＲＯＭ５０や不図示のハードディスクなど）に記憶された画像形成プログラムにより実現される。
画像形成プログラムは、コンピュータの制御手段（ＣＰＵ３０など）に読み込まれることにより、コンピュータの構成各部に指令を送り、前述したモード１、モード２にもとづく描画処理を行う。
これによって、前記各機能は、ソフトウェアである画像形成プログラムとハードウェア資源であるコンピュータ（画像形成装置２０）の各構成手段とが協働することにより実現される。
【００４６】
なお、上記各機能を実現するための画像形成プログラムは、コンピュータのＲＯＭ５０やハードディスクなどに記憶される他、コンピュータが読み取り可能な記録媒体、例えば、外部記憶装置及び可搬記録媒体に格納することができる。
外部記憶装置とは、ＣＤ−ＲＯＭ（Compact  disc−Read  Only  Memory）等の記録媒体を内蔵し、画像形成装置２０に外部接続されるメモリ増設装置をいう。一方、可搬記録媒体とは、記録媒体駆動装置（ドライブ装置）に装着でき、かつ、持ち運び可能な記録媒体であって、例えば、フレキシブルディスク、メモリカード、光磁気ディスク等をいう。
【００４７】
そして、記録媒体に記録されたプログラムは、コンピュータのＲＡＭ５０等にロードされて、ＣＰＵ３０により実行される。この実行により、上述した実施形態の各機能が実現される。
さらに、コンピュータで画像形成プログラムをロードする場合、他のコンピュータで保有されたこれらのプログラムを、通信回線を利用して自己の有するＲＡＭ５０や外部記憶装置にダウンロードすることもできる。このダウンロードされたプログラムも、ＣＰＵ３０により実行されることによって上述した実施形態の各機能を実現することができる。
【００４８】
以上のように、本実施形態の画像形成装置及び画像形成プログラムによれば、PCL  XLで記述されたプリンタブルデータに標準メタファイル形式の矩形の描画命令が含まれる場合に、ドット配置のルールを統一するようにしている。
このため、矩形を回転させて印刷する場合であっても、内部に空白を生ずることなく矩形を適切に描画し、印刷することができる。
したがって、このようにして生成したバーコードによれば、読取エラーや誤認識などを生ずることがなく、信頼性の高い印刷システムを提供することができる。
また、PCL  XLのドット配置ルールを変更する手段をユーザーに提供することができる。
例えば、印刷物に矩形内部に1ドットラインの空白を生じていた場合、ユーザーが任意の制御モードを選択することでユーザーが望む印刷結果を得ることができる。
したがって、ユーザーにとって利便性の良い印刷システムを実現することができる。
【００４９】
以上、本発明の画像形成装置及び画像形成プログラムについて、実施形態を示して説明したが、本発明は、上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、矩形領域の４辺は、必ずしも座標空間の基準点に沿って配置しなくてよい。その場合でも、実施形態と同様にしてドット配置の対象となる格子点を求めることができる。
【産業上の利用可能性】
【００５０】
本発明は、プリンター装置などの画像形成装置に好適に利用することができる。
【符号の説明】
【００５１】
１  印刷システム
１０  ホストコンピュータ
２０  画像形成装置
３０  ＣＰＵ
４０  ＲＯＭ
５０  ＲＡＭ
６０  操作パネル部
７０  出力部
８０  通信インターフェース
３２  印刷情報解析部
３２１  画像形成制御手段
３３  印刷命令生成部
３３１  ドット画像形成手段
３４  プリンタエンジン制御部
３５  メモリ管理部
【図１】
0005377685.tif 000002
【図２】
0005377685.tif 000003
【図３】
0005377685.tif 000004
【図４】
0005377685.tif 000005
【図５】
0005377685.tif 000006
【図６】
0005377685.tif 000007
【図７】
0005377685.tif 000008
【図８】
0005377685.tif 000009
【図９】
0005377685.tif 000010
【図１０】
0005377685.tif 000011
【図１１】
0005377685.tif 000012
【図１２】
0005377685.tif 000013
【図１３】
0005377685.tif 000014
【図１４】
0005377685.tif 000015