(57)【要約】【課題】ＰＳデータに基づいて印刷される文書の方向を適切に判定することのできる画像形成装置、文書方向判定方法、及び文書方向判定プログラムの提供を目的とする。【解決手段】ＰＳデータに基づいて文書を印刷する画像形成装置であって、前記ＰＳデータにおいて指定されている用紙の方向が横長のときは、当該ＰＳデータに基づいて印刷される文書の方向はＬａｎｄｓｃａｐｅであると判定し、前記用紙の方向が横長でないときは、当該ＰＳデータにおいて指定されている各描画オブジェクトの回転角度に応じて前記文書の方向を判定する文書方向判定手段を有することにより上記課題を解決する。【選択図】図７
2008213189.tif 000002
【特許請求の範囲】
【請求項１】
ＰＳデータに基づいて文書を印刷する画像形成装置であって、
前記ＰＳデータにおいて指定されている用紙の方向が横長のときは、当該ＰＳデータに基づいて印刷される文書の方向はＬａｎｄｓｃａｐｅであると判定し、前記用紙の方向が横長でないときは、当該ＰＳデータにおいて指定されている各描画オブジェクトの回転角度に応じて前記文書の方向を判定する文書方向判定手段を有することを特徴とする画像形成装置。
【請求項２】
前記文書方向判定手段は、前記回転角度が０度又は１８０度の描画オブジェクトの総数と、前記回転角度が９０度又は２７０の描画オブジェクトの総数とを比較し、当該比較結果に応じて前記文書の方向を判定することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記文書方向判定手段は、前記回転角度が０度又は１８０度の描画オブジェクトの描画面積の合計値と、前記回転角度が９０度又は２７０の描画オブジェクトの描画面積の合計値とを比較し、当該比較結果に応じて前記文書の方向を判定することを特徴とする請求項１記載の画像形成装置。
【請求項４】
前記文書方向判定手段は、前記描画オブジェクトの描画順に応じて変化する値について、前記回転角度が０度又は１８０度の描画オブジェクトの合計値と、前記回転角度が９０度又は２７０の描画オブジェクトの描画順との合計値とを比較し、当該比較結果に応じて前記文書の方向を判定することを特徴とする請求項１記載の画像形成装置。
【請求項５】
前記文書方向判定手段による判定結果に応じて前記文書に対する仕上げ機能を実行することを特徴とする請求項１乃至４いずれか一項記載の画像形成装置。
【請求項６】
ＰＳデータに基づいて文書を印刷する画像形成装置が実行する文書方向判定方法であって、
前記ＰＳデータにおいて指定されている用紙の方向が横長のときは、当該ＰＳデータに基づいて印刷される文書の方向はＬａｎｄｓｃａｐｅであると判定し、前記用紙の方向が横長でないときは、当該ＰＳデータにおいて指定されている各描画オブジェクトの回転角度に応じて前記文書の方向を判定する文書方向判定手順を有することを特徴とする文書方向判定方法。
【請求項７】
前記文書方向判定手順は、前記回転角度が０度又は１８０度の描画オブジェクトの総数と、前記回転角度が９０度又は２７０の描画オブジェクトの総数とを比較し、当該比較結果に応じて前記文書の方向を判定することを特徴とする請求項６記載の文書方向判定方法。
【請求項８】
前記文書方向判定手順は、前記回転角度が０度又は１８０度の描画オブジェクトの描画面積の合計値と、前記回転角度が９０度又は２７０の描画オブジェクトの描画面積の合計値とを比較し、当該比較結果に応じて前記文書の方向を判定することを特徴とする請求項６記載の文書方向判定方法。
【請求項９】
前記文書方向判定手順は、前記描画オブジェクトの描画順に応じて変化する値について、前記回転角度が０度又は１８０度の描画オブジェクトの合計値と、前記回転角度が９０度又は２７０の描画オブジェクトの描画順との合計値とを比較し、当該比較結果に応じて前記文書の方向を判定することを特徴とする請求項６記載の文書方向判定方法。
【請求項１０】
前記文書方向判定手順における判定結果に応じて前記文書に対する仕上げ機能を実行することを特徴とする請求項６乃至９いずれか一項記載の文書方向判定方法。
【請求項１１】
請求項６乃至１０いずれか一項記載の文書方向判定方法を画像形成装置に実行させるための文書方向判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、文書方向判定方法、及び文書方向判定プログラムに関し、特にＰＳデータに基づいて文書を印刷する画像形成装置、文書方向判定方法、及び文書方向判定プログラムに関する。
【背景技術】
【０００２】
アプリケーションソフトによって作成された文書を印刷する場合、当該文書は、プリンタドライバによって印刷先のプリンタが解釈可能なプリンタ言語による印刷コマンドに変換される。プリンタは、当該プリンタ言語による印刷コマンドを解釈することにより、文書の印刷画像を生成し、当該印刷画像を印刷用紙に印字する。
【０００３】
斯かるプリンタ言語の一つとして、ＰＳ（PostScript）言語が普及している。ＰＳ（PostScript）言語は、文書を描画する際の原点や描画回転角度を自由に設定できる等、描画に関する自由度が高い。
【０００４】
例えば、図１は、Ｌａｎｄｓｃａｐｅの描画例を示す図である。図１において（Ａ）は、ＰＳ言語のコマンドである＜＜／ＰａｇｅＳｉｚｅ［Ｘ  Ｙ］＞＞ｓｅｔｐａｇｅｄｅｖｉｃｅにおいて、Ｘ＞Ｙが指定され、描画オブジェクトｄ１（横方向の文字列「ＡＢＣ」）の回転角度が０度で描画された例を示す。また、（Ｂ）は、縦長のページに、描画オブジェクトｄ１が２７０度（−９０度）回転されて描画された例を示す。また、（Ｃ）は、原点が移動された後に、縦長のページ全体が２７０度（−９０度）回転され、描画オブジェクトｄ１は回転されずに描画された例を示す。ここで、（Ａ）、（Ｂ）、及び（Ｃ）いずれの場合も、人間にとっては横長方向、すなわち、Ｌａｎｄｓｃａｐｅの文書であると認識される。このように、ＰＳ言語では、同じ描画結果（印刷結果）を得るために様々な指定が可能である。
【特許文献１】特開平１１−７０７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、その自由度の高さにより、ＰＳデータを解釈するプリンタ側では、当該ＰＳデータに基づいて印刷される文書の方向（Ｏｒｉｅｎｔａｔｉｏｎ）、すなわち、Ｐｏｒｔｒａｉｔ（縦長方向）であるのか、又はＬａｎｄｓｃａｐｅ（横長方向）であるのかを自動的に判定するのが困難であるという問題がある。
【０００６】
したがって、例えば、パンチ機能を利用された場合、ユーザの意図とは異なった位置にパンチされてしまうということがあった。
【０００７】
図２は、ユーザの意図とは異なった位置にパンチされた例を示す図である。図２に示される文書５００の方向は、通常、ユーザにはＬａｎｄｓｃａｐｅであると認識される。したがって、文書５００についてＰ１で示される位置にパンチを行いたい場合、ユーザは、直感的に左パンチを指定する。しかし、プリンタにおいて文書５００の方向がＰｏｒｔｒａｉｔとして扱われてしまうと、Ｐ２に示される位置にパンチ穴が空けられてしまう。このような結果を避けるために、従来、ユーザは、印刷結果を想定し、その上で結果的に自らの意図する位置にパンチされるような設定を行わなければならなかった。
【０００８】
なお、斯かる事態は、パンチ機能だけではなく、ステープル機能や折り機能等、仕上げ機能一般において同様に発生し得る。
【０００９】
本発明は、上記の点に鑑みてなされたものであって、ＰＳデータに基づいて印刷される文書の方向を適切に判定することのできる画像形成装置、文書方向判定方法、及び文書方向判定プログラムの提供を目的とする。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、本発明は、ＰＳデータに基づいて文書を印刷する画像形成装置であって、前記ＰＳデータにおいて指定されている用紙の方向が横長のときは、当該ＰＳデータに基づいて印刷される文書の方向はＬａｎｄｓｃａｐｅであると判定し、前記用紙の方向が横長でないときは、当該ＰＳデータにおいて指定されている各描画オブジェクトの回転角度に応じて前記文書の方向を判定する文書方向判定手段を有することを特徴とする。
【００１１】
このような画像形成装置では、ＰＳデータに基づいて印刷される文書の方向を適切に判定することができる。
【発明の効果】
【００１２】
本発明によれば、ＰＳデータに基づいて印刷される文書の方向を適切に判定することのできる画像形成装置、文書方向判定方法、及び文書方向判定プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図３は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図３において画像形成装置１０は、コントローラ１１、プリンタエンジン１８、及び操作パネル１９等のハードウェアを有するプリンタである。
【００１４】
コントローラ１１は、バスＢによって接続された、ホストＩ／Ｆ（インタフェース）１２、ＣＰＵ１３、ＲＯＭ１４、ＲＡＭ１５、エンジンＩ／Ｆ１６、及びＨＤＤ１７等を含む。ＲＯＭ１４には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１５は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１３は、ＲＡＭ１５にロードされたプログラムを処理することにより、後述される機能を実現する。ＨＤＤ１７は、各種のデータの保存領域やプログラムの仮想メモリ（記憶）領域として用いられる。ホストＩ／Ｆ１２は、印刷データを送信するＰＣ（Personal Computer）等のホストコンピュータと、ネットワーク又はＵＳＢ（Universal Serial Bus）ケーブル等を介して接続するためのインタフェースである。エンジンＩ／Ｆ１６は、プリンタエンジン１８をコントローラ１１に接続するためのインタフェースである。
【００１５】
プリンタエンジン１８は、画像データ（印刷画像）を印刷用紙に印刷するためのハードウェアである。操作パネル１９は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。
【００１６】
図４は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。図４に示される各ブロックは、ＣＰＵ１３によってプログラムが処理されることにより実現される。
【００１７】
図４において、画像形成装置１０のソフトウェアは、システム部１１０とインタプリタ部１２０とに大別される。システム部１１０は、ＯＳ（Operating System）等、システム制御を担う部分であり、入力Ｉ／Ｆ１１１、ホストバッファ１１２、及びフレームバッファ１１３を含む。インタプリタ部１２０は、ホストコンピュータ２０より送信される印刷データ（ＰＳ（PostScript）データ）に含まれているＰＳ（PostScript）言語を解釈し、ＰＳ言語によって指示された処理を実行する部分であり、ストリームバッファ１２１、言語解析部１２２、印刷設定部１２３、及び描画処理部１２４等を含む。なお、ホストバッファ１１２、ストリームバッファ１２１、及びフレームバッファ１１３は、ＲＡＭ１５又はＨＤＤ１７上に確保される記憶領域である。
【００１８】
ホストコンピュータ２０より送信されるＰＳデータは、入力Ｉ／Ｆ１１１によって受信され、ホストバッファ１１２に一時的に格納される。ホストバッファ１１２に格納されたＰＳデータは、ストリームバッファ１２１にコピーされる。言語解析部１２２は、ストリームバッファ１２１にコピーされたＰＳデータを解析し、中間形式のデータであるディスプレイリスト１２５を生成すると共に、パンチ、ステープル、及び集約等の仕上げ機能に関する設定情報を印刷設定部１２３に出力する。
【００１９】
描画処理部１２４は、ディスプレイリスト１２５に基づいてフレームバッファ１１３に画像データを描画（生成）する。フレームバッファ１１３に描画された画像データは、プリンタエンジン１８によって印刷される。この際、印刷設定部１２３より仕上げ機能に関する指示がプリンタエンジン１８に出力され、パンチ、ステープル、集約等の処理が行われる。
【００２０】
図４に示される構成において、本実施の形態では、言語解析部１２２、印刷設定部１２３、及び描画処理部１２４が、ＰＳデータに基づいて印刷される文書の方向の自動判定機能（以下、「印刷文書方向判定機能」という。）に関係する。
【００２１】
ところで、ＰＳデータに基づいて、文書の方向を判定するのは困難である。ＰＳ言語の仕様にＯｒｉｅｎｔａｔｉｏｎという概念が無いからである。そこで、本発明者は、印刷文書方向判定機能を実現すべく独自に調査を行った。その結果、ＰＳ言語において文書方向の判定に利用し得るパラメータの候補として、ＤＳＣコメント、＜＜／ＰａｇｅＳｉｚｅ［Ｘ  Ｙ］＞＞ｓｅｔｐａｇｅｄｅｖｉｃｅコマンド、ＣＴＭ（Current Transfer Matrix）、及びＯｒｉｅｎｔａｔｉｏｎＯｖｅｒｒｉｄｅが挙げられた。
【００２２】
ＤＳＣコメントとは、Ａｄｏｂｅ（登録商標）社によって記述が推奨されているコメントであり、その一つとしてＯｒｉｅｎｔａｔｉｏｎコメントが存在する。Ｏｒｉｅｎｔａｔｉｏｎコメントには、値として「Ｐｏｒｔｒａｉｔ」（縦長方向）又は「Ｌａｎｄｓｃａｐｅ」（横長方向）の別を指定することができる。但し、当該パラメータは、推奨されているコメントに過ぎない。したがって、ＰＳデータを出力するソフトウェアにおいて必ずしも記述されているとは限らず、また、その値の信頼性も低い。本発明者が市販されている主なアプリケーションを調査したところ、この値が当該ＰＳデータに係る文書の方向と一致しないものが多数あることが判明した。したがって、本発明者は、Ｏｒｉｅｎｔａｔｉｏｎコメントに基づいて判定するのは適切ではないと判断した。
【００２３】
＜＜／ＰａｇｅＳｉｚｅ［Ｘ  Ｙ］＞＞ｓｅｔｐａｇｅｄｅｖｉｃｅコマンド（以下、「ｓｅｔｐａｇｅｄｅｖｉｃｅ／ＰａｇｅＳｉｚｅコマンド」という。）とは、用紙サイズの縦方向の長さ（Ｘ）と横方向の長さ（Ｙ）とが指定される（すなわち、用紙の方向が指定される）コマンドである。図５は、ｓｅｔｐａｇｅｄｅｖｉｃｅ／ＰａｇｅＳｉｚｅコマンドによる文書方向の判定の可否を説明するための図である。
【００２４】
本発明者が調査したところ、Ｘ＜Ｙの場合（用紙が縦長の場合、図５において上段に示される。）、当該ＰＳデータに係る文書の方向を確定できないことが判明した。用紙が縦長の場合、描画オブジェクトが回転される場合が有るからである。図５の上段においても、縦長の用紙に、「Ｐｏｒｔｒａｉｔ」という横文字列が回転されずに描画された例と、「Ｌａｎｄｓｃａｐｅ」という横文字列が９０度回転された例とが示されている。前者は、ユーザから見ればＰｏｒｔｒａｉｔの文書であるが、後者はユーザからみればＬａｎｄｓｃａｐｅの文書である。
【００２５】
一方、当該コマンドにおいてＸ＞Ｙの場合（用紙が横長の場合、図５において下段に示される。）、当該ＰＳデータに係る文書の描画方向は横方向であると判定できることが分かった。横長の用紙を指定しておいて、あえて描画オブジェクトを回転させるようなＰＳデータを出力するようなソフトウェアは、確認した範囲では存在しなかったからである。すなわち、図５の下段において、横長の用紙に「Ｌａｎｄｓｃａｐｅ」という横文字列が回転されずに描画された例が示されているが、当該文字列を回転させることによりＰｏｒｔｒａｉｔの文書にするようなソフトウェアは確認されなかった。そこで、本発明者は、ｓｅｔｐａｇｅｄｅｖｉｃｅ／ＰａｇｅＳｉｚｅコマンドにおいて、Ｘ＞Ｙの場合は、文書の方向はＬａｎｄｓｃａｐｅであると判定してよいと判断した。
【００２６】
ＣＴＭは、文書のページ中の描画オブジェクトを回転等させるための変換行列であり、描画オブジェクトごとに指定されている。印刷文書方向判定機能は、人間によって判断される文書の方向を自動的に判断するための機能であるところ、人間は描画オブジェクトを視認することによって文書の方向を判断する。したがって、用紙の方向が特定できれば描画オブジェクトの回転角度によって文書の方向を判断するのが合理的である。ところで、上述したように、ｓｅｔｐａｇｅｄｅｖｉｃｅ／ＰａｇｅＳｉｚｅコマンドによって、用紙の方向が横長のときは、文書の方向はＬａｎｄｓｃａｐｅであると判定してよいことが調査によって分かっている。したがって、文書の方向が不明なケースは用紙の方向が縦長の場合に特定される。よって、本発明者は、用紙の方向が縦長の場合（横長以外の場合をいう）について、ＣＴＭによって文書の方向を判定するのが妥当であると判断した。
【００２７】
図６は、本実施の形態におけるＣＴＭによる文書方向の判断基準を示す図である。図６に示されるように、用紙が縦長の場合、描画オブジェクトの回転角度が０度又は１８０度の場合、文書の方向はＰｏｒｔｒａｉｔであると判定する。一方、回転角度が９０度又は２７０度の場合、文書の方向はＬａｎｄｓｃａｐｅであると判定する。
【００２８】
ＯｒｉｅｎｔａｔｉｏｎＯｖｅｒｒｉｄｅは、ＰＳ言語の仕様として定義されているものではなく、各ベンダが独自にＯｒｉｅｎｔａｔｉｏｎを定義するために設けたパラメータを本実施の形態において総称したものである。すなわち、当該パラメータの名前は、各ベンダに応じて異なるが、本実施の形態では、総称してＯｒｉｅｎｔａｔｉｏｎＯｖｅｒｒｉｄｅと呼ぶ。当該パラメータは、通常、ユーザによる強制的な指定に応じてＰＳデータ内に記述される。したがって、当該パラメータがＰＳデータ内に含まれているときは、当該パラメータに従うのが妥当である。
【００２９】
上記より、本実施の形態の画像形成装置１０は、ＯｒｉｅｎｔａｔｉｏｎＯｖｅｒｒｉｄｅ、ｓｅｔｐａｇｅｄｅｖｉｃｅ／ＰａｇｅＳｉｚｅコマンド、及びＣＴＭを用いて文書方向を判定する。ＯｒｉｅｎｔａｔｉｏｎＯｖｅｒｒｉｄｅ、及びｓｅｔｐａｇｅｄｅｖｉｃｅ／ＰａｇｅＳｉｚｅコマンドは、言語解析部１２２によってＰＳデータより取得され、印刷設定部１２３に出力される。ＣＴＭは、描画処理部１２４によって用いられるため、描画処理部１２４より描画オブジェクトごとのＣＴＭが印刷設定部１２３に出力される。印刷設定部１２３は、言語解析部１２２及び描画処理部１２４より出力された情報に基づいて、文書方向を判定し、判定された文書方向に応じた仕上げ機能の設定（例えば、パンチの位置、ステープルの位置、又は折りの方向等）を判断する。
【００３０】
以下、印刷設定部１２３の処理手順について説明する。図７は、印刷設定部による文書方向の判定処理を説明するためのフローチャートである。なお、図７の処理は、文書が複数ページの場合、ページごとに行われる。
【００３１】
まず、言語解析部１２２よりＯｒｉｅｎｔａｔｉｏｎＯｖｅｒｒｉｄｅが出力されたか否か（すなわち、ＰＳデータ内にＯｒｉｅｎｔａｔｉｏｎＯｖｅｒｒｉｄｅが指定されているか否か）を判定する（Ｓ１０１）。ＯｒｉｅｎｔａｔｉｏｎＯｖｅｒｒｉｄｅが指定されている場合（Ｓ１０１でＹＥＳ）、ＯｒｉｅｎｔａｔｉｏｎＯｖｅｒｒｉｄｅに指定されたＯｒｉｅｎｔａｉｏｎを文書の方向として判定する（Ｓ１０２）。
【００３２】
ＯｒｉｅｎｔａｔｉｏｎＯｖｅｒｒｉｄｅが指定されていない場合（Ｓ１０１でＮＯ）、言語解析部１２２より出力されたｓｅｔｐａｇｅｄｅｖｉｃｅ／ＰａｇｅＳｉｚｅコマンドにおいてＸ＞Ｙ（用紙が横長方向）であるか否かを判定する（Ｓ１０３）。用紙が横長方向である場合（Ｓ１０３でＹＥＳ）、文書の方向は、Ｌａｎｄｓｃａｐｅ（横長方向）であると判定する（Ｓ１０４）。
【００３３】
ｓｅｔｐａｇｅｄｅｖｉｃｅ／ＰａｇｅＳｉｚｅコマンドにおいてＸ＞Ｙでない場合（Ｓ１０３でＮＯ）、描画処理部１２４より出力された描画オブジェクトごとの各ＣＴＭに基づいて、以下の処理を実行する。
【００３４】
一つのＣＴＭを処理対象とし、当該ＣＴＭに基づいて当該描画オブジェクトの回転角度を判定する（Ｓ１０５）。回転角度が０度又は１８０度の場合、文書方向がＰｏｒｔｒａｉｔである可能性を示す値（以下、「Ｐｏｒｔｒａｉｔポイント」という。）に対してポイントを加算する（Ｓ１０６）。一方、回転角度が９０度又は２７０度の場合、文書方向がＬａｎｄｓｃａｐｅである可能性を示す値（以下、「Ｌａｎｄｓｃａｐｅポイント」という。）に対してポイントを加算する（Ｓ１０７）。なお、「ポイント」については後述する。
【００３５】
ステップＳ１０５〜Ｓ１０７は、処理対象となっているページの全て又は所定の範囲の描画オブジェクトの各ＣＴＭについて実行される。当該各ＣＴＭの全てについて当該処理が完了すると（Ｓ１０８でＹＥＳ）、ＰｏｒｔｒａｉｔポイントとＬａｎｄｓｃａｐｅポイントとを比較し、値の大きい方のポイントに係る文書方向を判定結果とする（Ｓ１０９）。
【００３６】
なお、ＣＴＭ［ａ  ｂ  ｃ  ｄ  ｔｘ  ｔｙ］に基づいて描画オブジェクトの回転角度を判定する場合、ａ要素及びｄ要素の値が０のときは、回転角度は９０度又は２７０度であると判定すればよい。一方、ｂ要素及びｃ要素が０のときは、回転角度は０度又は１８０度であると判定すればよい。
【００３７】
図７においてＣＴＭに基づいて文書方向を判定するために用いられる「ポイント」の加算方法についていくつかの例を説明する。
【００３８】
第一の方法は、描画回数をポイントとする。すなわち、ステップＳ１０６又はＳ１０７では「１」が加算される。この場合、回転角度が０度又は１８０度の描画オブジェクトの総数と２７０度（−９０度）又は２７０度の描画オブジェクトの総数とが比較され、前者が大きければＰｏｒｔｒａｉｔ、後者が大きければＬａｎｄｓｃａｐｅと判定される。第一の方法によれば、文書の方向が描画オブジェクトの方向の多数決によって判定される。したがって、ユーザが見た全体的な印象に近い判定結果を出力することができる。
【００３９】
第二の方法は、描画面積をポイントとする。すなわち、ステップＳ１０６又はＳ１０７では当該描画オブジェクトの描画面積が加算される。この場合、回転角度が０度又は１８０度の描画オブジェクトの描画面積の合計値と２７０度（−９０度）又は２７０度の描画オブジェクトの描画面積の合計値とが比較され、前者が大きければＰｏｒｔｒａｉｔ、後者が大きければＬａｎｄｓｃａｐｅと判定される。第二の方法によれば、描画方向ごとにおける描画オブジェクト大きさの合計値によってページの描画方向が判定される。大きい描画オブジェクト程、ページ全体に与える印象は大きい。したがって、ユーザが見た全体的な印象に近い判定結果を出力することができる。
【００４０】
第三の方法は、アプリケーション等において文書が作成されるときの描画オブジェクトの描画順に応じてポイントの値（重み付け）を変化させる。文書をメイン部分（例えば、本文等、文書の内容において主要部となる部分）とサブ部分（例えば、欄外に付記される付加情報等）とに分けた場合、メイン部分によって文書方向を判定するのが妥当であると考えられるところ、メイン部分とサブ部分との描画順は、文書を作成するアプリケーションや、作成される文書の種類（帳票等）に応じて或る程度のパターンがあるものと考えられる。第三の方法は、このような事情に着目し、できるだけ文書のメイン部分によって文書方向を判定しようとするものである。
【００４１】
図８は、第三の方法卯におけるポイントの重み付けパターンの例を示す図である。図８において、パターン（Ａ）は、最初にメイン部分が描かれ、その後サブ部分が描かれる文書に対して適用されるポイントの重み付けのパターンである。この場合、ステップＳ１０６又はＳ１０７では、ループの回数（描画順）が、最初から所定の範囲までは相対的に高い値（図８の例では「３」）が加算され、所定の範囲以降は相対的に低い値（図８の例では「１」）が加算される。なお、ＰＳデータにおいて、描画オブジェクト及びＣＴＭは、描画順に出現するため、描画オブジェクトが処理される順番（ループの回数）を描画順とみなせばよい。
【００４２】
パターン（Ｂ）は、中間にメイン部分が描かれ、その前後でサブ部分が描かれる文書に対して適用されるポイントの重み付けパターンである。この場合、ステップＳ１０６又はＳ１０７では、ループの回数が、途中から所定の範囲において相対的に高い値（図８の例では「３」）が加算され、その前後の範囲においては相対的に低い値（図８の例では「１」）が加算される。
【００４３】
パターン（Ｃ）は、最初にサブ部分が描かれ、その後メイン部分が描かれる文書に対して適用されるポイントの重み付けのパターンである。この場合、ステップＳ１０６又はＳ１０７では、ループの回数（描画順）が、最初から所定の範囲までは相対的に低い値（図８の例では「１」）が加算され、所定の範囲以降は相対的に高い値（図８の例では「３」）が加算される。
【００４４】
なお、印刷対象とされている文書がいずれのパターンに相当するかは、印刷の指示の際にユーザに指定させてもよいし、言語解析部１２２が、ＰＳデータに含まれているアプリケーションの種類を示すパラメータに基づいて、自動的に判定するようにしてもよい。
【００４５】
図９は、第一の方法から第三の方法によるポイントの加算方法による文書方向の判定例を示す図である。
【００４６】
図９では、１０個の描画オブジェクトがサンプルとされており、描画オブジェクトごとに、描画順番、回転角度、及び描画面積の他、第一の方法、第二の方法、及び第三の方法によるポイントの値が示されている。なお、第三の方法については、パターン（Ｂ）が適用された例が示されている。
【００４７】
図９においては、第一の方法（第一の例）の場合、Ｐｏｒｔｒａｉｔポイントは「７」、Ｌａｎｄｓｃａｐｅポイントは「３」となり、Ｐｏｒｔｒａｉｔが文書方向の判定結果とされている。第二の方法（第二の例）の場合、Ｐｏｒｔｒａｉｔポイントは「１３」、Ｌａｎｄｓｃａｐｅポイントは「２０」となり、Ｐｏｒｔｒａｉｔが文書方向の判定結果とされている。第三の方法（第三の例）の場合、Ｐｏｒｔｒａｉｔポイント及びＬａｎｄｓｃａｐｅポイントの双方が同じ値（同点）となっている。
【００４８】
このように、第一の方法から第三の方法のいずれかを採用してポイントを計算した結果、ＰｏｒｔｒａｉｔポイントとＬａｎｄｓｃａｐｅポイントが等しい場合、又はほぼ等しい場合（双方のポイント差が予め定められた範囲内である場合）には、常にＰｏｒｔｒａｉｔ又はＬａｎｄｓｃａｐｅのいずれかを判定結果とするようにしてもよい。また、操作パネル１９に、文書方向を確定できない旨のメッセージを表示させ、操作パネル１９を介してユーザに選択させるようにしてもよい。
【００４９】
また、採用した方法以外の方法によって、改めてポイントを算出するようにしてもよい。すなわち、例えば、第二の方法において同点だった場合、第一の方法又は第三の方法による判定結果を採用してもよい。また、二つの方法（例えば、第一の方法と第二の方法）によっても判定できない場合は、残りの方法（例えば、第三の方法）の判定結果を採用してもよい。更に、三つの方法によっても判定できない場合、常にＰｏｒｔｒａｉｔ又はＬａｎｄｓｃａｐｅのいずれかを判定結果としたり、操作パネル１９を介してユーザに問い合わせるようにしたりしてもよい。
【００５０】
上述したように、本実施の形態における画像形成装置１０によれば、ＰＳデータに基づいて印刷文書の方向を合理的かつ自動的に判定することができる。したがって、パンチ、ステープル、及び折り等に代表されるような仕上げ機能等、印刷文書の方向に応じて処理結果が異なる処理について、ユーザの感覚に即した処理結果を出力することができる。
【００５１】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００５２】
【図１】Ｌａｎｄｓｃａｐｅの描画例を示す図である。
【図２】ユーザの意図とは異なった位置にパンチされた例を示す図である。
【図３】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図４】本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。
【図５】ｓｅｔｐａｇｅｄｅｖｉｃｅ／ＰａｇｅＳｉｚｅコマンドによる文書方向の判定の可否を説明するための図である。
【図６】本実施の形態におけるＣＴＭによる文書方向の判定基準を示す図である。
【図７】印刷設定部による文書方向の判定処理を説明するためのフローチャートである。
【図８】第三の方法におけるポイントの重み付けパターンの例を示す図である。
【図９】第一の方法から第三の方法によるポイントの加算方法による文書方向の判定例を示す図である。
【符号の説明】
【００５３】
１０        画像形成装置
１１        コントローラ
１２        ホストＩ／Ｆ
１３        ＣＰＵ
１４        ＲＯＭ
１５        ＲＡＭ
１６        エンジンＩ／Ｆ
１７        ＨＤＤ
１８        プリンタエンジン
１９        操作パネル
１１０      システム部
１１１      入力Ｉ／Ｆ
１１２      ホストバッファ
１１３      フレームバッファ
１２０      インタプリタ部
１２１      ストリームバッファ
１２２      言語解析部
１２３      印刷設定部
１２４      描画処理部
Ｂ          バス
【図１】
2008213189.tif 000003
【図２】
2008213189.tif 000004
【図３】
2008213189.tif 000005
【図４】
2008213189.tif 000006
【図５】
2008213189.tif 000007
【図６】
2008213189.tif 000008
【図７】
2008213189.tif 000009
【図８】
2008213189.tif 000010
【図９】
2008213189.tif 000011