(57)【要約】【課題】第１コンテントが配置される領域を取り囲む第１枠と第２コンテントが配置される領域を取り囲む第２枠の上端同士の高さ位置を揃えたいという意思をユーザが持っている場合に、両枠の上端同士の高さ位置がずれることなく揃うようにする。【解決手段】第１枠５１ａの上辺から基準水平線までに存在する各区間の長さを単位変換後整数化した値の合算値ＳＵＭと基準水平線から第２枠５２ａの上辺までの長さを単位変換後整数化したマージン・トップＭＴｂとの差分Ｄに基づいて、ユーザが第１枠５１ａと第２枠５２ａとを上端を揃えてレイアウトする意思があるか否かを推定し、ユーザが第１枠５１ａと第２枠５２ａとを上端を揃えてレイアウトする意思があると推定したときには、先ほどの差分Ｄがキャンセルされるよう該差分Ｄに基づいてマージン・トップＭＴｂを補正する。【選択図】図７
2007219908.tif 000002
【特許請求の範囲】
【請求項１】
第１コンテントが配置される領域を取り囲む第１枠と、第２コンテントが配置される領域を取り囲む第２枠とを、各枠のレイアウトを指示する構造化文書の記述内容に基づいてレイアウトするレイアウト処理装置であって、
前記構造化文書を記憶する文書記憶手段と、
前記第１枠の上辺と所定の基準水平線との間を複数に区切ることにより得られる各区間の長さを前記構造化文書から読み出し該読み出した各区間の長さを所定の内部単位系に換算し該換算した後の各数値の小数点以下を操作して整数にする整数化処理を行い該整数化処理を行った後の各区間の整数値を合算した値を前記第１枠の上辺から前記基準水平線までの内部処理用長さに設定すると共に、前記基準水平線から前記第２枠の上辺までの長さを前記構造化文書から読み出し該読み出した長さを前記内部単位系に換算し該換算した後の数値に前記整数化処理を行った後の整数値を前記基準水平線から前記第２枠の上辺までの内部処理用長さに設定する内部処理用長さ設定手段と、
前記第１枠の上辺から前記基準水平線までの内部処理用長さと前記基準水平線から前記第２枠の上辺までの内部処理用長さとの差分に基づいてユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があるか否かを推定する推定手段と、
前記推定手段によりユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があると推定されたときには、前記差分がキャンセルされるよう前記差分に基づいて前記基準水平線から前記第２枠の上辺までの内部処理用長さを補正する補正手段と、
を備えるレイアウト処理装置。
【請求項２】
前記推定手段は、前記構造化文書の記述内容に基づいて前記第１枠と前記第２枠とが左右方向に重なるか否かを判定し、前記第１枠と前記第２枠とが重ならないときにユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があるか否かを推定する、
請求項１に記載のレイアウト処理装置。
【請求項３】
前記推定手段は、前記構造化文書の記述内容に基づいて前記第１枠と前記第２枠とが実質的に同じ大きさか否かを判定し、前記第１枠と前記第２枠とが実質的に同じ大きさのときにユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があるか否かを推定する、
請求項１又は２に記載のレイアウト処理装置。
【請求項４】
前記推定手段は、前記各区間の長さを前記内部単位系に換算したあと前記整数化処理を行う際に生じ得る個々の誤差の最大値を合算した値に基づいて定められた閾値を有し、前記第１枠の上辺から前記基準水平線までの内部処理用長さと前記基準水平線から前記第２枠の上辺までの内部処理用長さとの差分がゼロより大きく前記閾値未満の範囲に入るときにユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があると推定する、
請求項１〜３のいずれかに記載のレイアウト処理装置。
【請求項５】
前記内部処理用長さ設定手段は、前記内部単位系としてドットを用いる、
請求項１〜４のいずれかに記載のレイアウト処理装置。
【請求項６】
前記内部処理用長さ設定手段は、前記整数化処理として、前記内部単位系に換算した後の数値の小数点以下を切り上げるか切り捨てるか又は四捨五入する処理を採用する、
請求項１〜５のいずれかに記載のレイアウト処理装置。
【請求項７】
前記構造化文書は、ＸＨＴＭＬ−Ｐｒｉｎｔ文書である、
請求項１〜６のいずれかに記載のレイアウト処理装置。
【請求項８】
請求項１〜７のいずれかに記載のレイアウト処理装置を搭載し、前記第１コンテント及び前記第２コンテントとして画像を使用する画像印刷装置。
【請求項９】
第１コンテントが配置される領域を取り囲む第１枠と、第２コンテントが配置される領域を取り囲む第２枠とを、各枠のレイアウトを指示する構造化文書の記述内容に基づいてレイアウトする、コンピュータ・ソフトウェアによるレイアウト処理方法であって、
（ａ）前記第１枠の上辺と所定の基準水平線との間を複数に区切ることにより得られる各区間の長さを前記構造化文書から読み出し該読み出した各区間の長さを所定の内部単位系に換算し該換算した後の各数値の小数点以下を操作して整数にする整数化処理を行い該整数化処理を行った後の各区間の整数値を合算した値を前記第１枠の上辺から前記基準水平線までの内部処理用長さに設定すると共に、前記基準水平線から前記第２枠の上辺までの長さを前記構造化文書から読み出し該読み出した長さを前記内部単位系に換算し該換算した後の数値に前記整数化処理を行った後の整数値を前記基準水平線から前記第２枠の上辺までの内部処理用長さに設定するステップと、
（ｂ）前記第１枠の上辺から前記基準水平線までの内部処理用長さと前記基準水平線から前記第２枠の上辺までの内部処理用長さとの差分に基づいてユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があるか否かを推定するステップと、
（ｃ）前記ステップ（ｂ）でユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があると推定されたときには、前記差分がキャンセルされるよう前記差分に基づいて前記基準水平線から前記第２枠の上辺までの内部処理用長さを補正するステップと、
を含むレイアウト処理方法。
【請求項１０】
請求項９に記載されたレイアウト処理方法の各ステップを１又は複数のコンピュータに実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト処理装置、画像印刷装置、レイアウト処理方法及びそのプログラムに関し、詳しくは、第１コンテントが配置される領域を取り囲む第１枠と、第２コンテントが配置される領域を取り囲む第２枠とを、各枠のレイアウトを指示する構造化文書の記述内容に基づいてレイアウトするレイアウト処理装置、画像印刷装置、レイアウト処理方法及びそのプログラムに関する。
【背景技術】
【０００２】
従来、サムネイル画像に基づいてインデックス印刷を行う画像処理装置が知られている。例えば、特許文献１には、Ａ４の用紙に１行あたり５枚のサムネイル画像を全部で１０行配置するものとし、水平方向や垂直方向に隣り合うサムネイル画像の距離は等間隔に並ぶようにレイアウトする画像処理装置が開示されている。
【特許文献１】特開２００５−１７３８９７
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、最近、ＸＨＴＭＬ文書（ＸＨＴＭＬはｅＸｔｅｎｓｉｂｌｅ  ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅの略）に記述された内容に基づいて複数のサムネイル画像を処理してインデックス印刷を行う画像処理装置が開発されている。このようにしてインデックス印刷を行う方法としては、表を利用する方法、相対位置決めと絶対位置決めとを利用して座標指定を駆使する方法、マージン処理を利用する方法などが考えられる。ここで、マージン処理を利用する方法では、レイアウトするときは基本的には上から下に向かって、また左から右へ向かって並べることになる。例えば、図９に示すように、１枚目のサムネイル画像を組み入れた第１枠を左上に配置し、２枚目のサムネイル画像を組み入れた第２枠を第１枠と上端が揃うようにしてその右隣に配置することがある。その場合、マージン、枠のライン幅、パディングなどを指定することにより第１枠や第２枠が所望の位置に配置されるようにする。具体的には、第１枠の上辺とそれより下方に設定される基準水平線との間を複数に区切ることにより得られる各区間の長さの合算値（図９中、第１枠の上辺のライン幅を表すボーダー・トップＢＴ１，第１枠の上辺とサムネイル画像を組み入れる第１コンテント領域との間隔を表すパティング・トップＰＴ１，第１コンテント領域の高さＣＨ，第１コンテント領域と枠の下辺との間隔を表すパディング・ボトムＰＢ１，枠の下辺のライン幅を表すボーダー・ボトムＢＢ１，枠の下辺と基準水平線との間隔を表すマージン・ボトムＭＢ１の合算値）と、基準水平線から第２枠の上辺までの間隔を表すマージン・トップＭＴ２とが一致していれば、第１枠の上端と第２枠の上端とが同じ高さ位置に揃う。
【０００４】
ここで、ＸＨＴＭＬ文書ではマージンやライン幅、パディングを長さの単位（例えばｍｍとかｃｍ）で指定するのに対して、画像処理装置ではその長さの単位を内部単位系（例えばドットとかピクセル）に換算し換算後の数値の小数点以下を操作して整数にする整数化処理を行うことが多い。そうすると、第１枠の上辺と基準水平線との間に存在する各区間の長さの合算値と基準水平線から第２枠の上辺までの長さとが一致していたとしても、長さの単位を換算して整数化処理を行ったあとの整数値を用いて各区間の合算値を算出することになるため、結果的に合算値と基準水平線から第２枠の上辺までの長さとが一致せず、ユーザの意思に反して第１枠の上端と第２枠の上端の高さ位置がずれてしまうことがあった。
【０００５】
本発明のレイアウト処理装置、レイアウト処理方法及びそのプログラムは、第１コンテントが配置される領域を取り囲む第１枠と第２コンテントが配置される領域を取り囲む第２枠の上端同士の高さ位置を揃えたいという意思をユーザが持っている場合に、両枠の上端同士の高さ位置がずれることなく揃うようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の目的を達成するために以下の手段を採った。
【０００７】
本発明のレイアウト処理装置は、
第１コンテントが配置される領域を取り囲む第１枠と、第２コンテントが配置される領域を取り囲む第２枠とを、各枠のレイアウトを指示する構造化文書の記述内容に基づいてレイアウトするレイアウト処理装置であって、
前記構造化文書を記憶する文書記憶手段と、
前記第１枠の上辺と所定の基準水平線との間を複数に区切ることにより得られる各区間の長さを前記構造化文書から読み出し該読み出した各区間の長さを所定の内部単位系に換算し該換算した後の各数値の小数点以下を操作して整数にする整数化処理を行い該整数化処理を行った後の各区間の整数値を合算した値を前記第１枠の上辺から前記基準水平線までの内部処理用長さに設定すると共に、前記基準水平線から前記第２枠の上辺までの長さを前記構造化文書から読み出し該読み出した長さを前記内部単位系に換算し該換算した後の数値に前記整数化処理を行った後の整数値を前記基準水平線から前記第２枠の上辺までの内部処理用長さに設定する内部処理用長さ設定手段と、
前記第１枠の上辺から前記基準水平線までの内部処理用長さと前記基準水平線から前記第２枠の上辺までの内部処理用長さとの差分に基づいてユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があるか否かを推定する推定手段と、
前記推定手段によりユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があると推定されたときには、前記差分がキャンセルされるよう前記差分に基づいて前記基準水平線から前記第２枠の上辺までの内部処理用長さを補正する補正手段と、
を備えることを要旨とする。
【０００８】
このレイアウト処理装置では、第１枠の上辺と所定の基準水平線との間に存在する各区間の長さを構造化文書から読み出し該読み出した各区間の長さを所定の内部単位系に換算し該換算した後の各数値の小数点以下を操作して整数にする整数化処理を行い該整数化処理を行った後の各区間の整数値を合算した値を第１枠の上辺から基準水平線までの内部処理用長さに設定すると共に、基準水平線から第２枠の上辺までの長さを構造化文書から読み出し該読み出した長さを内部単位系に換算し該換算した後の数値に整数化処理を行った後の整数値を基準水平線から第２枠の上辺までの内部処理用長さに設定する。そして、第１枠の上辺から基準水平線までの内部処理用長さと基準水平線から第２枠の上辺までの内部処理用長さとの差分に基づいてユーザが第１枠と第２枠とを上端を揃えてレイアウトする意思があるか否かを推定し、ユーザが第１枠と第２枠とを上端を揃えてレイアウトする意思があると推定したときには、先ほどの差分がキャンセルされるよう該差分に基づいて基準水平線から第２枠の上辺までの内部処理用長さを補正する。つまり、長さの単位を内部単位系に換算し該換算した後の数値の小数点以下を操作して整数にした値を用いてレイアウトしたとしても、数値の小数点以下を操作して整数にする際に生じる誤差をキャンセルしたあとレイアウトすることになる。したがって、第１枠と第２枠の上端同士の高さ位置を揃えたいという意思をユーザが持っている場合に、両枠の上端同士の高さ位置がずれることなく揃うようにすることができる。
【０００９】
本発明のレイアウト処理装置において、前記推定手段は、前記構造化文書の記述内容に基づいて前記第１枠と前記第２枠とが左右方向に重なるか否かを判定し、前記第１枠と前記第２枠とが重ならないときにユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があるか否かを推定してもよい。こうすれば、このような推定の要否を適切に判断することができる。即ち、第１枠と第２枠とが左右方向に重なる場合には両枠の上端同士を揃えて見栄えを良くする必要性が乏しいため、ここでは、そのような場合にはユーザは両枠の上端同士を揃える意思がないと判定するようにしている。
【００１０】
本発明のレイアウト処理装置において、前記推定手段は、前記構造化文書の記述内容に基づいて前記第１枠と前記第２枠とが実質的に同じ大きさか否かを判定し、前記第１枠と前記第２枠とが実質的に同じ大きさのときにユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があるか否かを推定してもよい。こうすれば、このような推定の要否を適切に判断することができる。即ち、第１枠と第２枠とが異なる大きさの場合には両枠の上端同士を揃えて見栄えを良くする必要性が乏しいため、ここでは、そのような場合にはユーザは両枠の上端同士を揃える意思がないと判定するようにしている。なお、実質的に同じ大きさとは全く同じ大きさの場合を含むほか、視覚上ほとんど区別できないほど似通っている大きさの場合も含む。
【００１１】
本発明のレイアウト処理装置において、前記推定手段は、前記各区間の長さを前記内部単位系に換算したあと前記整数化処理を行う際に生じ得る個々の誤差の最大値を合算した値に基づいて定められた閾値を有し、前記第１枠の上辺から前記基準水平線までの内部処理用長さと前記基準水平線から前記第２枠の上辺までの内部処理用長さとの差分がゼロより大きく前記閾値未満の範囲に入るときにユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があると推定してもよい。こうすれば、推定の精度が高くなる。即ち、閾値を超えるほど差分が大きい場合には、ユーザは第１枠と第２枠の上端同士を意識的にずらしてレイアウトしようとしている可能性が高いため、そのような場合には両枠の上端同士を揃えてレイアウトする意思がないと推定するようにしている。
【００１２】
本発明のレイアウト処理装置において、前記内部処理用長さ設定手段は、前記内部単位系としてドットを用いてもよい。こうすれば、レイアウト後に印刷処理を実行する場合の利便性が高くなる。また、１ドットの大きさは１インチあたりのドット数によって変化するが、例えば３６０ｄｐｉの場合には１ドットの大きさは１インチ（つまり約２５．４ｍｍ）を３６０で割った値（つまり約０．０７０６ｍｍ）となるため、長さの単位がｍｍの場合にその単位をドットに換算すると割り切れることはほとんどない。このため、長さの単位をドットに変換し小数点以下を操作して整数化した場合には誤差が発生することが多くなる。したがって、本発明を適用する意義が大きい。
【００１３】
本発明のレイアウト処理装置において、前記内部処理用長さ設定手段は、前記整数化処理として、前記内部単位系に換算した後の数値の小数点以下を切り上げるか切り捨てるか又は四捨五入する処理を採用してもよい。ここで、各区間の長さごとの誤差の最大値は、小数点以下を切り上げたり切り捨てたりするときには１となり、小数点以下を四捨五入するときには０．５となる。
【００１４】
本発明のレイアウト処理装置において、前記構造化文書は、周知のマークアップ言語で作成された文書であれば特に限定されないが、例えばＸＨＴＭＬ−Ｐｒｉｎｔ文書としてもよい。ＸＨＴＭＬ−Ｐｒｉｎｔ文書は、プリンタドライバがインストール不可能な環境やインストールしたくない環境を考慮して、インターネット技術の標準化団体であるＷ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）により提供されている形式である。印刷装置は、ＸＨＴＭＬ−Ｐｒｉｎｔ文書を直接解釈して印刷することが可能になるため、例えば携帯電話やデジタルカメラなどのようにプリンタドライバのインストールが困難な電子機器からの印刷指令に対応して印刷を実行することが可能となる。
【００１５】
本発明の画像印刷装置は、上述したいずれかのレイアウト処理装置を搭載し、前記第１コンテント及び前記第２コンテントとして画像を使用することを要旨とする。この画像印刷装置では、上述したいずれかのレイアウト処理装置が奏する効果と同様の効果、例えば第１枠と第２枠の上端同士の高さ位置を揃えたいという意思をユーザが持っている場合に、両枠の上端同士の高さ位置がずれることなく揃うようにすることができるという効果を奏する。
【００１６】
本発明のレイアウト処理方法は、
第１コンテントが配置される領域を取り囲む第１枠と、第２コンテントが配置される領域を取り囲む第２枠とを、各枠のレイアウトを指示する構造化文書の記述内容に基づいてレイアウトする、コンピュータ・ソフトウェアによるレイアウト処理方法であって、
（ａ）前記第１枠の上辺と所定の基準水平線との間を複数に区切ることにより得られる各区間の長さを前記構造化文書から読み出し該読み出した各区間の長さを所定の内部単位系に換算し該換算した後の各数値の小数点以下を操作して整数にする整数化処理を行い該整数化処理を行った後の各区間の整数値を合算した値を前記第１枠の上辺から前記基準水平線までの内部処理用長さに設定すると共に、前記基準水平線から前記第２枠の上辺までの長さを前記構造化文書から読み出し該読み出した長さを前記内部単位系に換算し該換算した後の数値に前記整数化処理を行った後の整数値を前記基準水平線から前記第２枠の上辺までの内部処理用長さに設定するステップと、
（ｂ）前記第１枠の上辺から前記基準水平線までの内部処理用長さと前記基準水平線から前記第２枠の上辺までの内部処理用長さとの差分に基づいてユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があるか否かを推定するステップと、
（ｃ）前記ステップ（ｂ）でユーザが前記第１枠と前記第２枠とを上端を揃えてレイアウトする意思があると推定されたときには、前記差分がキャンセルされるよう前記差分に基づいて前記基準水平線から前記第２枠の上辺までの内部処理用長さを補正するステップと、
を含むことを要旨とする。
【００１７】
このレイアウト処理方法では、長さの単位を内部単位系に換算し該換算した後の数値の小数点以下を操作して整数にした値を用いてレイアウトしたとしても、数値の小数点以下を操作して整数にする際に生じる誤差をキャンセルしたあとレイアウトすることになる。したがって、第１枠と第２枠の上端同士の高さ位置を揃えたいという意思をユーザが持っている場合に、両枠の上端同士の高さ位置がずれることなく揃うようにすることができる。なお、このレイアウト処理方法に、上述したいずれかのレイアウト処理装置の機能を実現するようなステップを追加してもよい。
【００１８】
本発明のプログラムは、１又は複数のコンピュータに、上述したレイアウト処理方法の各ステップを実行させるためのプログラムである。このプログラムは、コンピュータが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか又は複数のコンピュータに各ステップを分担して実行させれば、上述したレイアウト処理方法が奏する効果と同様の効果、例えば第１枠と第２枠の上端同士の高さ位置を揃えたいという意思をユーザが持っている場合に、両枠の上端同士の高さ位置がずれることなく揃うようにすることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
次に、本発明を実施するための最良の形態を図面に基づいて説明する。図１は、本発明の一実施形態としてのマルチファンクションプリンタ２０の構成の概略を示す構成図である。
【００２０】
マルチファンクションプリンタ２０は、図示するように、パーソナルコンピュータ１０やデジタルテレビ１２，デジタルカメラ１４，携帯電話機１６などと接続され各種文書の入力を司る入力インタフェース２２と、入力インタフェース２２に入力される文書の形式に基づいてデータの出力先を割り振る信号処理部２４と、入力インタフェース２２に入力された文書の形式がＸＨＴＭＬ−Ｐｒｉｎｔ形式のときに信号処理部２４によってメモリ５０に保存されたＸＨＴＭＬ−Ｐｒｉｎｔ文書を解析して要素の木構造としてのＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）ツリーを作成してメモリ５０に書き込む文書解析部３０と、文書解析部３０により作成されたＤＯＭツリーとＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）により記述されたスタイルシートとを用いてＸＨＴＭＬ−Ｐｒｉｎｔ文書に記述されたオブジェクトとしての画像やテキストを印刷用のページ毎にレイアウトしてメモリ５０に書き込むレイアウタ３８と、レイアウタ３８により作成されるレイアウトを用いてＲＧＢデータとしての印刷用画像を描画するレンダリングプラグイン（以下、ＲＰＩという）４０と、描画されたＲＧＢデータの印刷用画像をＣＭＹＫデータに変換する色変換部４２と、変換されたＣＭＹＫデータを誤差拡散処理などの画像処理を行って２値化する２値化部４４と、２値化されたＣＭＹＫの各データを図示しないカラーインクジェットの印刷ヘッドを備える印刷実行部４８にバンド単位で出力するために一時的にデータを蓄えるイメージバッファ４６とを備えている。ここで、信号処理部２４は、入力された信号が直ちに印刷可能な印刷用データの場合には印刷実行部４８のイメージバッファ４６にデータを出力し、ＲＧＢデータの場合にはメモリ５０の印刷用画面格納領域に出力し、ＸＨＴＭＬ−Ｐｒｉｎｔ文書の場合にはメモリ５０の所定領域にその文書を保存する。このマルチファンクションプリンタ２０は、その他にフラットベッド型のフルカラースキャナや各種ボタンが配列された操作パネルなどを備えているが、これらの説明については省略する。
【００２１】
ＸＨＴＭＬ−Ｐｒｉｎｔ文書の一例を図２に示す。このＸＨＴＭＬ−Ｐｒｉｎｔ文書は、４つの画像ファイルのインデックス印刷を行うためのものであり、ＸＭＬ宣言のｅｎｃｏｄｉｎｇ属性がシフトＪＩＳ、ＤＯＣＴＹＰＥ宣言の識別子がＸＨＴＭＬ−Ｐｒｉｎｔとなっている。また、ページに関する情報を表すヘッダ部分には、内部スタイルシート（ｓｔｙｌｅ要素の開始タグと終了タグで囲まれた部分）がＣＳＳ言語で記述されている。この内部スタイルシートには、パディングに関する指定を行うｐａｄｄｉｎｇの値が設定されたｂｏｄｙ要素や、幅を指定するｗｉｄｔｈ，行揃えの位置・均等割付を指定するｔｅｘｔ−ａｌｉｇｎ，文字色を指定するｃｏｌｏｒといったプロパティの値が設定されたｈ１要素のほか、高さを指定するｈｅｉｇｈｔ，文字色を指定するｃｏｌｏｒ，マージンに関する指定を行うｍａｒｇｉｎ，パディングに関する指定を行うｐａｄｄｉｎｇ，幅を指定するｗｉｄｔｈ，行揃えの位置・均等割付を指定するｔｅｘｔ−ａｌｉｇｎ，フォントに関する指定を行うｆｏｎｔ，背景に関する指定を行うｂａｃｋｇｒｏｕｎｄといったプロパティの値が設定されたｐ要素が記述されている。また、内部スタイルシートには、ｃｌａｓｓ属性がｃｏｌ１であるｐ要素に適用されるクラスセレクタｐ．ｃｏｌ１やｃｌａｓｓ属性がｃｏｌ２であるｐ要素に適用されるクラスセレクタｐ．ｃｏｌ２、幅を指定するｗｉｄｔｈの値が設定されたｉｍｇ要素が記述されている。ヘッダ部分の次に記述されているボディ部分（ｂｏｄｙ要素の開始タグと終了タグで囲まれた部分）には、見出しが記述されたｈ１要素のほか、画像ファイルのパスを指定するｉｍｇ要素を子要素とするｃｌａｓｓ属性がｃｏｌ１であるｐ要素、同じく画像ファイルのパスを指定するｉｍｇ要素を子要素とするｃｌａｓｓ属性がｃｏｌ２であるｐ要素が記述されている。これらの画像ファイルは、ＸＨＴＭＬ−Ｐｒｉｎｔ文書と同じフォルダに格納されているものとする。このＸＨＴＭＬ−Ｐｒｉｎｔ文書では、４つの画像ファイルをインデックス印刷するためのものであるから、ボディ部分にはｐ要素に関する記述が４つ存在している。具体的には、１番目のｐ要素内のｉｍｇ要素で指定されている画像ファイルが左上にレイアウトされ、２番目のｐ要素内のｉｍｇ要素で指定されている画像ファイルが右上にレイアウトされ、３番目のｐ要素内のｉｍｇ要素で指定されている画像ファイルが左下にレイアウトされ、４番目のｐ要素内のｉｍｇ要素で指定されている画像ファイルが右下にレイアウトされる。ＣＳＳ言語では、ブロックレベルの要素（例えばｐ要素）を、ボックスと呼ばれる矩形領域で操作する。ブロックレベルの要素は、デフォルトとしてｐｏｓｉｔｉｏｎプロパティの値がｓｔａｔｉｃ、ｄｉｓｐｌａｙプロパティの値がｂｌｏｃｋになっている。ボックスは、図３に示すように、コンテント領域のほか、パディング、ボーダー、マージンと呼ばれる領域から構成される。
【００２２】
次に、こうして構成された本実施形態のマルチファンクションプリンタ２０の動作、特にＸＨＴＭＬ−Ｐｒｉｎｔ文書に基づいて印刷を行う際の動作について説明する。図４は、文書解析部３０により実行される文書解析ルーチンの一例を示すフローチャートである。この文書解析処理ルーチンは、入力インタフェース２２がいずれかの機器からのＸＨＴＭＬ−Ｐｒｉｎｔ文書を入力したときに実行される。この文書解析処理ルーチンが実行されると、まず、ＸＨＴＭＬ−Ｐｒｉｎｔ文書の解析を行う（ステップＳ１００）。ＸＨＴＭＬ−Ｐｒｉｎｔ文書はテキストファイルの形で存在するため、そのままアプリケーションで利用することができないことから、ＸＨＴＭＬ−Ｐｒｉｎｔ文書をアプリケーションが利用しやすい形に変換するために解析を行い、ＤＯＭツリーを作成する。ＤＯＭツリーは、ＸＴＨＭＬ文書を構成している要素や属性、イメージデータなどを解析して木構造としたものである。図５は、図２のＸＨＴＭＬ−Ｐｒｉｎｔ文書に基づいて作成したＤＯＭツリーの説明図である。続いて、ＸＨＴＭＬ−Ｐｒｉｎｔ文書の解析の結果得られたＤＯＭツリーをメモリ５０のＤＯＭツリー保存領域に保存し（ステップＳ１１０）、今回入力されたＸＨＴＭＬ−Ｐｒｉｎｔ文書のレイアウトを実行するようレイアウタ３８へ指令を出力し（ステップＳ１２０）、この文書解析ルーチンを終了する。
【００２３】
次に、レイアウタ３８により実行されるレイアウト処理ルーチンについて図６に基づいて説明する。図６はレイアウト処理ルーチンの一例を示すフローチャートである。このレイアウト処理ルーチンは、レイアウタ３８が文書解析部３０からＸＨＴＭＬ−Ｐｒｉｎｔ文書のレイアウトを実行するよう指令されたときに実行される。このルーチンが開始されると、ＸＨＴＭＬ−Ｐｒｉｎｔ文書のうち長さを指定する数値を入力する（ステップＳ２００）。
【００２４】
いま、図２のＸＨＴＭＬ−Ｐｒｉｎｔ文書のうちボディ部分のｐ要素に関する４つの記述のうち上から２つを例に挙げると、ｃｌａｓｓ属性がｃｏｌ１のｐ要素に関する記述に基づいて生成される第１ボックス５１とｃｌａｓｓ属性がｃｏｌ２のｐ要素に関する記述に基づいて生成される第２ボックス５２は、図７に示すように左右に並んでレイアウトされる。各ボックス５１，５２のマージン・トップＭＴ１，ＭＴ２，ボーダー・トップＢＴ１，ＢＴ２，パディング・トップＰＴ１，ＰＴ２，コンテント領域の高さＣＨ１，ＣＨ２，パディング・ボトムＰＢ１，ＰＢ２，ボーダー・ボトムＢＢ１，ＢＢ２，マージン・ボトムＭＢ１，ＭＢ２，マージン・レフトＭＬ１，ＭＬ２，ボーダー・レフトＢＬ１，ＢＬ２，パディング・レフトＰＬ１，ＰＬ２，コンテント領域の幅ＣＷ１，ＣＷ２，パディング・ライトＰＲ１，ＰＲ２，ボーダー・ライトＢＲ１，ＢＲ２，マージン・ライトＭＲ１，ＭＲ２の長さは、図２のＸＨＴＭＬ−Ｐｒｉｎｔ文書によれば下記表１のようになる。また、図７から明らかなように、第１ボックス５１の第１枠５１ａの上辺と基準水平線（第１ボックス５１の最外周の線分のうち下辺をなす線分を含む水平線）との間はボーダー・トップＭＴ１，パディング・トップＰＴ１，第１コンテント領域の高さＣＨ１，パディング・ボトムＰＢ１，ボーダー・ボトムＢＢ１，マージン・ボトムＭＢ２の６つの区間に区切られている。ここで、上下方向の長さについては下向きに延びる場合を正の数で表し、上向きに延びる場合を負の数で表す。また、第２ボックス５２のマージン・トップＭＴ２やマージン・レフトＭＬ２の長さの始点は、基準水平線のうち最も左側の位置（図７の基準点）になる。ちなみに、図示しない第３ボックス（ｐ要素に関する４つの記述のうち３つめの記述に基づいて生成されるボックス）のマージン・トップやマージン・レフトの長さの始点は、第２ボックス５２の最外周の線分のうち下辺をなす線分を含む水平線の最も左側の位置となるため、第２ボックス５２の始点（基準点）と一致する。
【００２５】
【表１】
2007219908.tif 000003
【００２６】
続いて、読み出した長さの単位を内部単位系であるドットに変換し変換後の値の小数点以下を切り上げて整数化する（ステップＳ２１０）。このように長さの単位をドットに変換することにより、レイアウト後に印刷処理を実行する場合の利便性が高くなる。ここで、印刷時の解像度が３６０ｄｐｉであるとすると、表１に示される区間のうち上下方向の区間の長さは表２に示すような整数値になる。なお、表２では添え字にａ，ｂを用いているが、添え字ａは第１ボックス５１における各区間の長さの単位をドットに変換したあと整数化した値であることを表し、添え字ｂは第２ボックス５２における各区間の長さの単位をドットに変換したあと整数化した値であることを表す。
【００２７】
【表２】
2007219908.tif 000004
【００２８】
続いて、今回のＸＨＴＭＬ−Ｐｒｉｎｔ文書に基づいて実行されるレイアウトがマージン処理を利用するものか否かを判定する（ステップＳ２２０）。マージン処理を利用するものか否かは、ここではｐｏｓｉｔｉｏｎプロパティの値がｓｔａｔｉｃでありｄｉｓｐｌａｙプロパティの値がｂｌｏｃｋであるという条件を満たすか否かで判定するものとした。図２のＸＨＴＭＬ−Ｐｒｉｎｔ文書では、ボディ部分のｈ１要素やｐ要素がブロックレベルの要素であり、デフォルトとしてｐｏｓｉｔｉｏｎプロパティの値がｓｔａｔｉｃでありｄｉｓｐｌａｙプロパティの値がｂｌｏｃｋとなっていることから、マージン処理を利用するものであると判定される。
【００２９】
そして、今回のＸＨＴＭＬ−Ｐｒｉｎｔ文書に基づいて実行されるレイアウトがマージン処理を利用するものであるときには、続いて第１ボックス５１の第１枠５１ａの高さ（つまりボーダー・トップＭＴａ，パディング・トップＰＴａ，第１コンテント領域の高さＣＨａ，パディング・ボトムＰＢａ，ボーダー・ボトムＢＢａの総和）と第２ボックス５２の第２枠５２ａの高さ（つまりボーダー・トップＭＴｂ，パディング・トップＰＴｂ，第１コンテント領域の高さＣＨｂ，パディング・ボトムＰＢｂ，ボーダー・ボトムＢＢｂの総和）とが一致するか否かを判定する（ステップＳ２３０）。インデックス印刷を実行する場合には第１枠５１ａと第２枠５２ａは同じ大きさであると考えられる。ここでは、両枠の大きさが一致しているか否かを高さで判定するようにしている。
【００３０】
そして、第１枠５１ａの高さと第２枠５２ａの高さとが一致したときには、第１ボックス５１のマージン・ボトムＭＢａ（正の値）と第２ボックス５２のマージン・トップＭＴｂ（負の値）との和が負になるか否かを判定する（ステップＳ２４０）。第１枠５１ａと第２枠５２ａを左右に並べてそれらの上端を揃える場合には、第１枠５１ａと第２枠５２ａとは上下方向にオーバーラップするような位置関係にあるが、この位置関係を式で表せば第１ボックス５１のマージン・ボトムＭＢａ（正の値）と第２ボックス５２のマージン・トップＭＴｂ（負の値）との和が負になるということになる。
【００３１】
そして、第１ボックス５１のマージン・ボトムＭＢａと第２ボックス５２のマージン・トップＭＴｂとの和が負のときには、第２ボックス５２の長さの始点から第１ボックス５１の第１枠５１ａの右端までの長さ（つまりマージン・レフトＭＬａ，ボーダー・レフトＢＬａ，パディング・レフトＰＬａ，第１コンテント領域の幅ＣＷａ，パディング・ライトＰＲａ，ボーダー・ライトＢＲａの総和）よりも第２ボックス５２の第２枠５２ａの左端までの長さ（つまりマージン・レフトＭＬｂ）の方が大きいか否かを判定する（ステップＳ２５０）。第１枠５１ａと第２枠５２ａを左右に並べてそれらの上端を揃える場合には、第１枠５１ａと第２枠５２ａとは左右方向にオーバーラップしないような位置関係にあるが、この位置関係を式で表せば第２ボックス５２の長さの始点から第１ボックス５１の第１枠５１ａの右端までの長さよりも第２ボックス５２の第２枠５２ａの左端までの長さの方が大きいということになる。
【００３２】
そして、第２ボックス５２の長さの始点から第１ボックス５１の第１枠５１ａの右端までの長さよりも第２ボックス５２の第２枠５２ａの左端までの長さの方が大きいときには、第１ボックス５１の第１枠５１ａの上端から基準水平線までの間に存在する各区間の長さの単位をドットに変換し小数点以下を切り上げて整数化した値を合算することにより合算値ＳＵＭを算出する（ステップＳ２６０）。この合算値ＳＵＭは、下記式（１）で表される。
【００３３】
SUM=BTa+PTa+CHa+PBa+BBa+MBa   （１）
【００３４】
このようにして求めた第１ボックス５１の第１枠５１ａの上端から基準水平線までの合算値ＳＵＭと、基準水平線から第２ボックス５２の第２枠５２ａの上端までの間隔に相当するマージン・トップＭＴｂ（負）との差分Ｄを算出し（ステップＳ２７０）、この差分Ｄがゼロより大きく所定の閾値Ｄｒｅｆ以下の範囲に入るか否かを判定する（ステップＳ２８０）。なお、合算値ＳＵＭが正、マージン・トップＭＴｂが負であることから、差分Ｄは合算値ＳＵＭとマージン・トップＭＴｂとの和とした。所定の閾値Ｄｒｅｆは、第１ボックス５１の第１枠５１ａの上端から基準水平線までの間に存在する各区間の長さの単位（ｍｍ）を内部単位系であるドットに換算したあと小数点以下を切り上げて整数化する処理を行う際に生じ得る個々の誤差の最大値を合算した値に基づいて決定した。ここで、個々の誤差の最大値は、小数点以下を切り上げて整数化していることから０．９９９・・・である。また、第１ボックス５１の第１枠５１ａの上端から基準水平線までの間には、６つの区間（ボーダー・トップＢＴａ，パディング・トップＰＴａ，第１コンテント領域の高さＣＨａ，パディング・ボトムＰＢａ，ボーダー・ボトムＢＢａ，マージン・ボトムＭＢａ）が存在するから、誤差の最大値を合算した値は下記式（２）で表される。このため、閾値Ｄｒｅｆとしては誤差の最大値を合算した値に最も近い整数値「６」を採用した。
【００３５】
誤差の最大値を合算した値=0.999・・・×6＝5.999・・・  （２）
【００３６】
ステップＳ２７０で差分Ｄがゼロより大きく閾値Ｄｒｅｆ以下のときには、ＸＨＴＭＬ−Ｐｒｉｎｔ文書の長さの単位を内部単位系であるドットに変換し変換後の数値の小数点以下を切り上げて整数化する処理を行ったために差分Ｄが生じたと考えられることから、ユーザは第１枠５１ａと第２枠５２ａのそれぞれの上端の高さ位置を揃えようとしていると推定する。ここで、閾値Ｄｒｅｆは上述したとおり誤差の最大値を合算した値に最も近い整数値としているため推定の精度が高い。そして、この差分Ｄをキャンセルするために、基準水平線から第２ボックス５２の第２枠５２ａの上端までの間隔に相当するマージン・トップＭＴｂ（負）に差分Ｄを加算した値を新たにマージン・トップＭＴｂに設定し（ステップＳ２９０）、ＸＨＴＭＬ−Ｐｒｉｎｔ文書のＣＳＳの記述に基づいてレイアウトを実行し（ステップＳ３００）、その後このルーチンを終了する。一方、ステップＳ２７０で差分Ｄがゼロであれば、何ら補正を行わなくても第１枠５１ａと第２枠５２ａの上端が揃っているため、ＸＨＴＭＬ−Ｐｒｉｎｔ文書のＣＳＳの記述に基づいてレイアウトを実行し（ステップＳ３００）、その後このルーチンを終了する。また、ステップＳ２７０で差分Ｄが閾値Ｄｒｅｆを超えるときには、ユーザは第１枠５１ａと第２枠５２ａのそれぞれの上端の高さ位置を意識的にずらして配置しようとする意思があったと推定し、そのままＸＨＴＭＬ−Ｐｒｉｎｔ文書のＣＳＳの記述に基づいてレイアウトを実行した後そのレイアウトをメモリ５０に書き込み（ステップＳ３００）、このルーチンを終了する。
【００３７】
いま、図２のＸＨＴＭＬ−Ｐｒｉｎｔ文書に基づいて印刷を行う場合を考えると、合算値ＳＵＭは７１２ドット、マージン・トップＭＴｂは−７０９ドットであるから、差分Ｄは３ドットとなる。したがって、ステップＳ２７０で肯定判定され、マージン・トップＭＴｂから差分Ｄを差し引いた値−７１２ドットを新たなマージン・トップＭＴｂに設定し、その後図２のＸＨＴＭＬ−Ｐｒｉｎｔ文書のＣＳＳの記述に基づいてレイアウトを実行し、そのレイアウトをメモリ５０に書き込むことになる。
【００３８】
さて、ステップＳ２２０で今回のＸＨＴＭＬ−Ｐｒｉｎｔ文書に基づいて実行されるレイアウトはマージン処理を利用するものでなかったときや、ステップＳ２３０で第１枠５１ａと第２枠５２ａの高さが一致しなかったとき、ステップＳ２４０で第１ボックス５１のマージン・ボトムＭＢａ（正の値）と第２ボックス５２のマージン・トップＭＴｂ（負の値）との和が負にならなかったとき、ステップＳ２５０で第２ボックス５２の長さの始点から第１ボックス５１の第１枠５１ａの右端までの長さよりも第２ボックス５２の第２枠５２ａの左端までの長さの方が大きくなかったときには、ユーザは第１枠５１ａと第２枠５２ａのそれぞれの上端の高さ位置を揃える意思がないと推定し、そのままＸＨＴＭＬ−Ｐｒｉｎｔ文書のＣＳＳの記述に基づいて１頁ごとのレイアウトを実行した後そのレイアウトをメモリ５０に書き込み（ステップＳ３００）、このルーチンを終了する。
【００３９】
こうしてレイアウト処理ルーチンが終了した後、図示しない操作パネルから印刷実行指示が入力されると、ＲＰＩ４０が、レイアウタ３８によってメモリ５０に書き込まれたレイアウトを用いてＲＧＢデータとしての印刷用画像を描画してメモリ５０の所定領域に格納し、色変換部４２が、印刷用画像をＣＭＹＫデータに色変換し、２値化部４４が、ＣＭＹＫデータを誤差拡散処理などの画像処理を行って２値化し、カラーインクジェットの印刷ヘッドを備える印刷実行部４８が、２値化されたデータをバンド単位でイメージバッファ４６から入力しながらカラー印刷を実行する。図２のＸＨＴＭＬ−Ｐｒｉｎｔ文書にしたがってインデックス印刷を実行したときの印刷物の一例を図８に示す。図８では、左上の画像を含む第１枠と右上の画像を含む第２枠は上端がきちんと揃っている。
【００４０】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のメモリ５０が本発明の文書記憶手段に相当し、レイアウタ３８が内部処理用長さ設定手段、推定手段及び補正手段に相当する。なお、本実施形態では、マルチファンクションプリンタ２０の動作を説明することにより本発明のレイアウト処理方法やそのプログラムの一例も明らかにしている。
【００４１】
以上詳述した本実施形態のマルチファンクションプリンタ２０によれば、第１枠５１ａの上辺から基準水平線までに存在する各区間の長さを単位変換後整数化した値の合算値ＳＵＭと基準水平線から第２枠５２ａの上辺までの長さを単位変換後整数化したマージン・トップＭＴｂとの差分Ｄに基づいて、ユーザが第１枠５１ａと第２枠５２ａとを上端を揃えてレイアウトする意思があるか否かを推定し、ユーザが第１枠５１ａと第２枠５２ａとを上端を揃えてレイアウトする意思があると推定したときには、先ほどの差分Ｄがキャンセルされるよう該差分Ｄに基づいてマージン・トップＭＴｂを補正する。したがって、第１枠５１ａと第２枠５２ａの上端同士の高さ位置を揃えたいという意思をユーザが持っている場合に、両枠５１ａ，５２ａの上端同士の高さ位置がずれることなく揃うようにすることができる。
【００４２】
また、ステップＳ２２０で今回のＸＨＴＭＬ−Ｐｒｉｎｔ文書に基づいて実行されるレイアウトはマージン処理を利用するものであり、ステップＳ２３０で第１枠５１ａと第２枠５２ａの高さが一致し、ステップＳ２４０で第１ボックス５１のマージン・ボトムＭＢａ（正の値）と第２ボックス５２のマージン・トップＭＴｂ（負の値）との和が負であり、ステップＳ２５０で第２ボックス５２の長さの始点から第１ボックス５１の第１枠５１ａの右端までの長さよりも第２ボックス５２の第２枠５２ａの左端までの長さの方が大きかったときに、ステップＳ２６０〜Ｓ２８０に進んでユーザが第１枠５１ａと第２枠５２ａとを上端を揃えてレイアウトする意思があるか否かを推定するため、このような推定の要否を適切に決定することができる。
【００４３】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００４４】
例えば、上述した実施形態では、パーソナルコンピュータ１０，デジタルテレビ１２，デジタルカメラ１４及び携帯電話機１６のいずれかからインデックス印刷用のＸＨＴＭＬ−Ｐｒｉｎｔ文書を入力したときに図４の文書解析ルーチンや図６のレイアウト処理ルーチンを実行するようにしたが、マルチファンクションプリンタ２０に設けられたスロットにＸＨＴＭＬ−Ｐｒｉｎｔ文書が記憶された携帯メモリが差し込まれたときに図４の文書解析ルーチンや図６のレイアウト処理ルーチンを実行するようにしてもよい。
【００４５】
上述した実施形態では、整数化処理として、長さの単位を内部単位系であるドットに換算した後の数値の小数点以下を切り上げる処理を採用したが、小数点以下を切り捨てる処理を採用してもよいし、小数点以下第１位を四捨五入する処理を採用してもよい。ここで、各区間の長さごとの誤差の最大値は、小数点以下を切り捨てるときには０．９９９・・・となり、小数点以下第１位を四捨五入するときには０．４９９・・・となる。
【００４６】
上述した実施形態では、図６のレイアウト処理ルーチンのフローチャートにおいてステップＳ２３０〜Ｓ２５０を採用したが、これらのステップをすべて省略してもよいし、これらのステップのうちいずれか一つ又は二つを採用してもよい。
【００４７】
上述した実施形態では、ＸＨＴＭＬ−Ｐｒｉｎｔ文書のヘッダ部分に内部スタイルシートを記述したものを例示したが、ｌｉｎｋ要素により外部スタイルシートを参照するようにしてもよい。また、オブジェクトとしてイメージデータ（画像）を取り上げたが、テキストデータや表データなどとしてもよい。
【００４８】
上述した実施形態では、構造化文書としてＸＨＴＭＬ文書とくにＸＨＴＭＬ−Ｐｒｉｎｔ文書を取り上げたが、他のマークアップ言語により記述された文書を採用してもよい。
【００４９】
上述した実施形態では、印刷実行部４８をカラーインクジェットの印刷ヘッドを備えるものとしたが、モノクロインクジェットの印刷ヘッドを備えるものとしてもよいし、カラーレーザプリンタやモノクロレーザプリンタとしてもよいし、ドットインパクトプリンタとしてもよい。
【００５０】
上述した実施形態では、マルチファンクションプリンタ２０に本発明を適用した例を示したが、頁ごとのレイアウトを有効に利用することのできる装置であれば、特にこれに限定されるものではなく、例えばスキャナを有さないプリンタに本発明を適用してもよいし、印刷機能を有さずディスプレイに頁ごとのレイアウトを表示出力する装置に本発明を適用してもよい。
【図面の簡単な説明】
【００５１】
【図１】マルチファンクションプリンタ２０の概略構成を表す説明図。
【図２】ＸＨＴＭＬ−Ｐｒｉｎｔ文書の一例を示す説明図。
【図３】ボックスの一例を示す説明図。
【図４】文書解析ルーチンのフローチャート。
【図５】ＤＯＭツリーの一例を示す説明図。
【図６】レイアウト処理ルーチンのフローチャート。
【図７】第１ボックス５１と第２ボックス５２のレイアウトの一例を示す説明図。
【図８】インデックス印刷で得られる印刷物の一例を示す説明図。
【図９】従来のレイアウトの一例を示す説明図。
【符号の説明】
【００５２】
１０  パーソナルコンピュータ、１２  デジタルテレビ、１４  デジタルカメラ、１６  携帯電話機、２０  マルチファンクションプリンタ、２２  入力インタフェース、２４  信号処理部、３０  文書解析部、３８  レイアウタ、４０  ＲＰＩ、４２  色変換部、４４  ２値化部、４６  イメージバッファ、４８  印刷実行部、５０  メモリ、５１  第１ボックス、５１ａ  第１枠、５２  第２ボックス、５２ａ  第２枠。
【図１】
2007219908.tif 000005
【図２】
2007219908.tif 000006
【図３】
2007219908.tif 000007
【図４】
2007219908.tif 000008
【図５】
2007219908.tif 000009
【図６】
2007219908.tif 000010
【図７】
2007219908.tif 000011
【図９】
2007219908.tif 000012
【図８】
2007219908.tif 000013