JP4289856B2 - 文書印刷システム及び方法 - Google Patents

文書印刷システム及び方法 Download PDF

Info

Publication number
JP4289856B2
JP4289856B2 JP2002279951A JP2002279951A JP4289856B2 JP 4289856 B2 JP4289856 B2 JP 4289856B2 JP 2002279951 A JP2002279951 A JP 2002279951A JP 2002279951 A JP2002279951 A JP 2002279951A JP 4289856 B2 JP4289856 B2 JP 4289856B2
Authority
JP
Japan
Prior art keywords
size
font
font size
smaller
minimum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002279951A
Other languages
English (en)
Other versions
JP2004118465A5 (ja
JP2004118465A (ja
Inventor
政幸 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002279951A priority Critical patent/JP4289856B2/ja
Priority to US10/660,639 priority patent/US7797631B2/en
Publication of JP2004118465A publication Critical patent/JP2004118465A/ja
Publication of JP2004118465A5 publication Critical patent/JP2004118465A5/ja
Application granted granted Critical
Publication of JP4289856B2 publication Critical patent/JP4289856B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、文書を印刷する文書印刷システムおよび方法に関する。
【0002】
【従来の技術】
HTMLのデータには出力時の用紙サイズや解像度等は意識せずに作成されている場合が多い。そして、HTML(Hyper Text Markup Language)ファイルの内容もInternet Explorer(登録商標)やNetscape Navigator(登録商標)等で領域の大きさが変更された場合に、変更された領域に合わせてレイアウトも変化できるように相対座標値や割合で定義されている場合が多い。また、構造化記述言語で記述された文書データを物理ページにレイアウトする際に、前記文書データから特定データとして最小文字サイズを検出し、該検出された特定データをレイアウトするための変倍率を算出し、前記文書データに対して、物理ページへのレイアウトが可能となるように前記変倍率に基づく変換を施していた。(たとえば、特許文献1参照)
【0003】
【特許文献1】
特開2002−91946号公報
【0004】
【発明が解決しようとする課題】
しかしながら、このようなHTMLファイルは出力用紙サイズを意識して作成されていないため、期待したものと出力のサイズが異なって、例えば、出力用紙の用紙サイズに収まらず、領域をオーバして印刷されたり、領域に収めようとすると、文字が小さくなってしまって読めなくなってしまったり等の問題点があった。
【0005】
そこで、本発明の目的は、上記問題点を解決し、出力領域に適したレイアウトを行なうことができ、どのような書体指定がされた文書でも小さいサイズのときに見やすくレイアウトすることができる文書印刷システムおよび方法を提供することにある。
【0006】
【課題を解決するための手段】
請求項1の発明は、文書印刷システムであって、出力領域の拡大縮小率に基づきフォントサイズを計算する第1計算手段と、前記第1計算手段により計算されたフォントサイズが最小フォントサイズより小さいか否かを判別する判別手段と、前記判別手段により前記第1計算手段により計算されたフォントサイズが最小フォントサイズより小さいと判別された場合、フォントサイズを最小サイズまで拡大するための拡大率を計算する第2計算手段と、前記第2計算手段により計算された拡大率に基づき出力領域の調整を行う調整手段と、フォントのサイズが第1のサイズ以上の場合、指定された書体でウエイトを変更せずにフォントを選択し、フォントのサイズが第1のサイズより小さく第2のサイズ以上の場合、指定された書体で最も細いウエイトのフォントを選択し、フォントのサイズが第2のサイズより小さい場合、指定された書体に関わらず特定の書体のフォントを選択する選択手段とを有することを特徴とする。
【0008】
請求項の発明において、特定の書体は、ゴシック体を含むことができる。
【0009】
請求項1の発明において、調整手段は、出力領域が複数ページに分割されて出力されるように調整することができる。
【0010】
請求項4の発明は、文書印刷方法であって、出力領域の拡大縮小率に基づきフォントサイズを計算する第1計算ステップと、前記第1計算ステップにより計算されたフォントサイズが最小フォントサイズより小さいか否かを判別する判別ステップと、前記判別ステップにより前記第1計算ステップにより計算されたフォントサイズが最小フォントサイズより小さいと判別された場合、フォントサイズを最小サイズまで拡大するための拡大率を計算する第2計算ステップと、前記第2計算ステップにより計算された拡大率に基づき出力領域の調整を行う調整ステップと、フォントのサイズが第1のサイズ以上の場合、指定された書体でウエイトを変更せずにフォントを選択し、フォントのサイズが第1のサイズより小さく第2のサイズ以上の場合、指定された書体で最も細いウエイトのフォントを選択し、フォントのサイズが第2のサイズより小さい場合、指定された書体に関わらず特定の書体のフォントを選択する選択ステップとを有することを特徴とする。
【0012】
請求項4の発明において、特定の書体は、ゴシック体を含むことができる。
【0013】
請求項の発明において、調整ステップは、出力領域が複数ページに分割されて出力されるように調整することができる。
【0014】
請求項の発明は、プログラムであって、出力領域の拡大縮小率に基づきフォントサイズを計算する第1計算ステップと、前記第1計算ステップにより計算されたフォントサイズが最小フォントサイズより小さいか否かを判別する判別ステップと、前記判別ステップにより前記第1計算ステップにより計算されたフォントサイズが最小フォントサイズより小さいと判別された場合、フォントサイズを最小サイズまで拡大するための拡大率を計算する第2計算ステップと、前記第2計算ステップにより計算された拡大率に基づき出力領域の調整を行う調整ステップと、フォントのサイズが第1のサイズ以上の場合、指定された書体でウエイトを変更せずにフォントを選択し、フォントのサイズが第1のサイズより小さく第2のサイズ以上の場合、指定された書体で最も細いウエイトのフォントを選択し、フォントのサイズが第2のサイズより小さい場合、指定された書体に関わらず特定の書体のフォントを選択する選択ステップとをコンピュータに実行させることを特徴する。
【0016】
請求項7の発明において、特定の書体は、ゴシック体を含むことができる。
請求項7の発明において、調整ステップは、出力領域が複数ページに分割されて出力されるように調整することができる。
【0017】
請求項10の発明は、請求項乃至のいずれかに記載のプログラムを記憶したことを特徴とする。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【0019】
図1は本発明の一実施の形態を示す。これは、文書印刷システムの例である。この文書印刷システムは、複数台のパーソナルコンピュータ(以下「クライアントパソコン」という。)3,4と、1台のファイルサーバ1と、1台のWebサーバ2と、少なくとも1台のXML(Extensible Markup Language)データを処理できるプリンタ5とが、ネットワーク7を介して相互に接続してある。
【0020】
プリンタ5には、携帯情報端末のようなモバイル端末6が、直接、IrDA、RS-232Cやセントロニクスなどを通して、ネットワーク7に接続せずに、接続してある。
【0021】
なお、クライアントパソコン3,4に代えて、ワードプロセッサ、ワークステーション、携帯情報端末等の情報処理装置を接続することも可能である。
【0022】
クライアントパソコン3,4およびファイルサーバ1は、複数種のフォントにかかるフォントデータ群やWebのデータや画像データ等が格納されている。
【0023】
モバイル端末6、またはクライアントパソコン3もしくは4から、プリンタ5に対して、印刷したいWebのURLや印刷部数等の印刷要求を出し、プリンタ5からWebサーバにファイル要求を出し、Webサーバは必要な文書データやフォントデータ等をファイルサーバより集めて、プリンタ5に転送し、プリンタ5はその転送されたデータを展開することによって印刷する。
【0024】
図2は図1のクライアントパソコン3,4、ファイルサーバ1、及びWebサーバ2の概略構成を示すブロック図である。図2において、101はCPU(central processing unit)であり、装置全体の制御及び演算処理等を行う。102はROM(read only memory)であり、システム起動プログラム、基本I/Oプログラム、及び文字コードをビットパターンに変換するための文字パターンデータ(フォントデータ)等を記憶している。103はRAM(random access memory)であり、CPU101の演算に使用するデータや演算結果、表示のために文字コードから変換された文字パターンデータ列等を一時記憶する。
【0025】
104はキーボード制御部(KBC)であり、キーボード(KB)105よりキー入力データ(文字コードや制御コード)を受け取り、CPU101へ伝達する。106はディスプレイ制御部(CRTC)であり、RAM103に格納された文字パターンデータ列を読み出し、CRT107に転送する。107はディスプレイ装置(CRT)であり、CRTC106より文字パターンデータ列を受け取り、表示画面に表示する。
【0026】
108はディスク制御部(DKC)であり、外部記憶装置109に対するアクセス制御を行う。109はフロッピー(登録商標)ディスク装置(FD)、ハードディスク装置(HD)、又はCD−ROM等の外部記憶装置である。HDには、文字パターンデータ(フォントデータ)やフォントデータを読み出してビットマップデータに変換する文字展開処理プログラム等が記憶してある。FD又はCD−ROM等の外部記憶装置から、アプリケーションプログラム及び関連データが供給される。
【0027】
110はネットワーク制御部(NTC)であり、ネットワーク装置(NT)111の動作を制御する。112はシステムバスであり、上述の構成要素間のデータ転送を行う。
【0028】
図3は図2のRAM103のメモリマップを示す。基本I/Oプログラムは、ROM102内のシステム起動プログラムによりRAM103に読み込まれる。また、外部記憶装置109としてのFD又はCD−ROMから、アプリケーションプログラム及び関連データを、一旦、HDへインストールした状態で電源がONされたときに、HDからRAM103にロードすることにより、実行することが可能となる。なお、HDへインストールせずに、直接、FD又はCD−ROMからRAM103にロードして実行することも可能である。なお、ファイルサーバ1では、後述のプリンタ情報テーブルが関連データの領域に形成されている。
【0029】
図4は図1のプリンタ5の構成を示すブロック図である。プリンタ5は、レーザビームプリンタ、バブルジェット(登録商標)プリンタ、又は熱転写プリンタ等のいずれのタイプでもよいが、XML形式のデータを処理できる能力を有している。
【0030】
プリンタ5は、CPU211と、ROM212と、RAM213と、プリンタコントローラ(PRTC)215と、プリンタエンジン(PRT)219と、ディスクコントローラ(DKC)216と、ハードディスク装置(HD)217と、ネットワークコントローラ(NTC)220と、ネットワーク装置(NT)218とが、システムバス214を介して、相互に接続してある。
【0031】
なお、DKC217およびHD218はプリンタの種類によっては存在しない場合もある。
【0032】
CPU211は装置全体を制御するものであって、RAM213をワークエリア等として利用しながら、ROM212に格納されたプログラムに従って、印刷に必要な各種の処理を実行する。システムバス214は上記各構成要素間でデータ及び制御信号を授受するための通路である。なお、ROM212には、文字パターンデータ(フォントデータ)等が格納されている。RAM213またはHD218には、Webサーバ2へ要求した文書データ、イメージデータ、又はフォントデータ等がWebサーバ2からダウンロードされ格納される。
【0033】
CPU211は、Webサーバ2から供給された文書データ、イメージデータあるいはフォントデータを、ROM212内にあるプログラムに従って文字パターンデータや画像データ(ビットマップデータ)を生成し、プリンタコントローラ215内の印刷バッファに展開する。プリンタコントローラ215は、ビットマップデータに基づいて生成した印刷コントロール信号をプリンタエンジン219に出力する。
【0034】
ネットワークコントローラ220は、ネットワーク7を介してクライアントパソコン3、4やファイルサーバ1との間でデータ送受信を行う際のネットワーク装置(NT)218の動作を制御するものである。
【0035】
図9はファイルの変換の流れを示す。本処理の流れは、ホスト側の処理とプリンタ側の処理に分かれていて、ホスト側の処理は図1のWebサーバ2上で行なわれたり、クライアントパソコン3または4で処理されたりする。まず、ファイルサーバよりXML形式で保存されたドキュメント又はHTML形式で保存されたドキュメントを読み込み、それを一旦XHTML(Extensible Hyper Text Markup Language)の形式のデータに変換する。そして、そこから、図5に示すフローチャートに従って出力用紙サイズや解像度に従って適切なレイアウトを行なうSVG(Scalable Vector Graphic)に変換を行なう。
【0036】
なお、XHTMLおよびSVGの内容については、W3Cのテクニカルレポートに記載されている。基本的にXHTMLは、HTMLの文法をXML形式に従って拡張したものであり、表示向きである。一方、SVGはPS(Post Script)等のページ記述の文法に似たものであり、XML拡張されたものであり、出力フォーマットに適している。したがって、HTMLやXMLの文書データを一旦XHTMLに変換し、さらにそこで出力用紙サイズや解像度を得て、SVG形式のデータに変換し、それをSVGが解釈できるプリンタへSVGファイルで転送するのである。そうすることによって、XMLやHTMLでかかれた文書データを適切にレイアウトして出力することが可能となる。
【0037】
図5は図2のROM102にストアされる制御プログラムであって、XHTML形式の文書データからSVG形式の文書データに変換する制御プログラムの一例を示すフローチャートである。ステップS501にて、変換元となるXHTML形式のデータの中から、まず変換の基準となるフォントサイズを求める。基準となるフォントサイズは、XHTMLのファイルでは特に指定されていない。したがって、各ブラウザが独自に基準フォントサイズを定めていることが多いが、ここでは出力用紙への基準フォントサイズとして10ポイント又は10.5ポイント等の値を定める。また、XHTMLドキュメントの中に基準フォントサイズが記入してあるような場合にはその値を基準フォントサイズとして定める。
【0038】
ステップS502にて、XHTMLドキュメント全体をチェックして、テーブルの属性がないかどうかを調べる。テーブルの属性がない場合には、所定の出力したい用紙や画面のサイズの横領域が各XHTML要素であるタグの横領域の基準となるサイズとなる。テーブルの属性が存在する場合には、各テーブルの内容を比較する。例えば、XHTMLの<TABLE>の要素にwidthの属性が合った場合には、その値がテーブルの幅の値となるので、その値が最大のものを選択する。<TABLE>の要素にwidthの属性がない場合には出力領域の横領域がそのテーブルの横領域となる。
【0039】
ステップS503にて、ステップS502で得られたテーブルの最大値から出力領域の拡大縮小率を計算する。計算方法は出力領域の横領域と、ステップS502で求めたテーブルの最大横領域との比率から求めることができる。つまり、拡大縮小率=(出力領域の横領域)/(テーブルの最大横領域)となる。
【0040】
そして、ステップS504以降において、各要素の配置および要素内の文字の配置位置等の計算を行なう。
【0041】
ステップS504にて、まず対象となる要素がテーブル要素なのか、テキスト要素なのか、イメージ要素なのかの判定を行なう。テーブル要素としては、<TABLE>、<TR>、<TH>、<TD>、<CAPTION>、<THEAD>、<TFOOT>、<TBODY>等がある。テキスト要素としては、<H1>~<H6>、<P>、<Q>、<BLOCKQUOTE>、<EM>、<STRONG>、<SUP>、<SUB>等がある。そして、イメージ要素としては、<IMG>、<MAP>、<AREA>、<OBJECT>、<APPLET>等がある。それぞれの要素の意味については、http://www.w3.org/TR/xhtml1/ に記載されているXHTMLの仕様や、http://www.w3.org/TR/html40/ に記載されているHTMLの仕様を参照されたい。
【0042】
そして、ステップS504にて、対象となる要素がテーブルの要素であれば、ステップS505へ進み、ステップS505にて、テーブル内の配置を行なう。ここでの処理の詳細は後で図6のフローチャートを参照して説明する。
【0043】
ステップS504にて、テキストの要素と判定した場合には、ステップS506へ進み、ステップS506にて、テキストの要素内にある個々の文字に対する配置位置を決定する。
【0044】
テキスト領域はブロック要素とインライン要素とに分かれ、ブロック要素としては、<H1>〜<H6>、<P>要素等があり、インライン要素としては、<EM>、<STRONG>等がある。このインライン要素はブロック要素の子要素として、文章中のある文字列を強調したり、色を変えたりするときに使用される。
【0045】
テキストのブロック要素の配置方法としては、まずテキスト領域の横領域を決定する。ここではテキスト要素の親要素の横領域がテキスト領域の横領域ということになる。例えば、親要素が<XHTML>であれば、それが最上位要素ということになるので、出力すべき用紙や画面のサイズの横領域がテキスト領域の横領域として設定される。
【0046】
文字の大きさに関しては、W3Cの仕様であるCSSのプロパティで指定されている場合には、その値に対して、特に文字のサイズを指定していない場合には、ステップS501で求めた標準の文字サイズに対して、ステップS503で求めた拡大縮小率をかけた値を文字サイズの大きさとする。このとき決定された文字サイズの大きさは、ステップS510で予め設定された最小サイズより大きい値に設定されているかどうかをチェックするので、保存しておく。
【0047】
そして、決定された文字サイズで文字を1文字ずつ配置していき、横領域を越えるところで文字の折り返しを行ない、次の行の先頭から続きを配置していく。
【0048】
そして、すべての文字を配置し終わったときに、そのときの行数とフォントサイズから領域の高さを計算する。このとき、行間の大きさはCSSのプロパティで指定されている場合には、それに従い、特に指定がない場合には、文字の高さに対してある一定の値を標準として、その行間の値を設定する。
【0049】
また、テキストのインライン要素の配置方法としては、インラインに指定された文字列の1つ前の文字の配置位置の終了点を基準点とし、そこから要素で指定された文字種や文字サイズで各文字のピッチ情報に従って配置していく。
【0050】
他方、ステップS504にて、イメージの要素であると判定した場合には、ステップS507へ進む。ステップS507にて、イメージ要素の領域の決定と配置位置の決定の処理を行なう。イメージ領域の大きさの決定方法は、イメージ領域の大きさがXHTMLドキュメントの中で指定してある大きさに対して、ステップS503で求めた拡大縮小率をかけた領域の大きさになる。
【0051】
そして、ステップS508において、ステップS505から507までで求めた各要素の内容をSVGデータに変換する。このとき、テキストの要素は<tspan>にイメージ要素は<image>に変換される。例えば、図11に示すようなレイアウトのデータは、図10に示すようなXHTMLのドキュメントで表され、それをSVGで表現すると、図12に示すようになる。
【0052】
ステップS509にて、すべての要素に対してステップS505からステップS507までの処理が終了したかどうかをチェックし、まだ処理が終了していない場合には、ステップS504へ戻って、各要素の配置位置の計算を行なう。すべての要素に対して処理が終了していれば、ステップS510へ進む。
【0053】
ステップS510にて、各要素の中の配置およびフォントサイズの計算が行なわれた結果を見て、出力すべきフォントの大きさの最小値をチェックする。そして、予め設定されたフォントサイズより小さいフォントサイズのデータが存在する場合には、印刷しても小さすぎて見ることができないので、全体領域を大きくする処理を行なう。この処理の詳細は、後程、図7のフローチャートを参照して詳細に説明する。
【0054】
ステップS510において最小フォントサイズ以上にセットされた場合でも、線幅が太い書体等では黒くつぶれてしまったり、又は筆書系では、字形が複雑で判別がつかなかったりする場合がある。
【0055】
そこで、ステップS511では、書体およびサイズに応じて、読みやすい書体に変換し、近い書体でより読みやすい出力を行なう。そうすることによって、ステップS510における最小値よりも小さな値をとることが可能となる。
【0056】
具体的には、図13に示すように、明朝体W3、明朝体W5、明朝体W7、ゴシック体W3、ゴシック体W5、ゴシック体W7、行書体、楷書体のデータがシステムにあったとする。
【0057】
明朝体W3を例にとると、4ポイント以上の場合は、明朝体W3のデータで十分判別できるので、そのままの書体を使う。しかし、4ポイント未満になると、明朝体特有の「打ち込み」や「うろこ」の部分が判別の妨げとなって読みづらくなるので、ゴシック体W3のデータに置き換える。
【0058】
明朝体W5の場合は、5ポイント以上であれば、そのまま明朝体W5を使う。そして、4ポイント以上5ポイント未満の場合は、線幅の太さが認識の妨げとなるため、明朝体W3に置き換える。そして、4ポイント未満の場合には、明朝体W3でも認識しづらくなるので、ゴシック体W3に置き換える。
【0059】
明朝体W7の場合も同様に、5ポイント以上の場合は明朝体W7を使い、4ポイント以上5ポイント未満の場合は明朝体W3に置換え、4ポイント未満の場合はゴシック体W3に置き換える。
【0060】
以上のようにして、文字が小さくなったときでも、まずは書体として認識できるように置き換えを行ない、さらに小さくなった場合には、最も認識できる文字に置き換えるようにすることによって、ステップS510で求める最小のポイントサイズをできる限り小さくすることが可能となる。
【0061】
そして、ステップS512にて、すべての要素の配置位置が計算された後、ドキュメント全体を<svg>と</svg>で囲み、必要に応じてスタイルシートを<style>要素で定義してsvgドキュメントの作成を終了する。
【0062】
図6はテーブルの内容の配置位置の計算を行なうステップS505(図5)をより詳細に示すフローチャートである。ステップS601にてテーブル内の各セルの横領域の計算を行なう。このときの計算方法は、<TR>要素で囲まれる各セルの領域の大きさを合計して、親要素であるテーブル要素の横領域を各セルの割合に応じて割り当てる。例えば、XHTMLのドキュメント内のあるテーブルの子要素としてセルが3つあり、それぞれのセルの横領域が、セル1が10、セル2が20、セル3が10で、親要素のテーブルの横領域が100である場合、セル1の横領域は100×(10/40)=25、同様に、セル2の横領域は50、セル3の横領域は25となる。
【0063】
ステップS602にて、各セルの内容をチェックする各セルの内容としては、さらにテーブルになっている場合、テキストになっている場合、又はイメージになっている場合がある。
【0064】
そして、それぞれの判定方法は、ステップS504で述べた方法と同様に、<TABLE>、<TR>、<TH>、<TD>、<CAPTION>、<THEAD>、<TFOOT>、<TBODY>等の要素であれば、テーブル要素と判定し、ステップS607に進み、拡大縮小率を再計算して、ステップS601に戻り、テーブル要素の処理を行なう。
【0065】
他方、<H1>〜<H6>、<P>、<Q>、<BLOCKQUOTE>、<EM>、<STRONG>、<SUP>、<SUB>等の要素であれば、テキスト要素と判定し、ステップS603へ進み、他方、<IMG>、<MAP>、<AREA>、<OBJECT>、<APPLET>等の要素であれば、イメージと判定し、ステップS606へ進む。
【0066】
ステップS603からステップS605までは、テキストの要素であると判定された場合であり、テキスト要素内にある個々の文字に対する配置位置の決定を行なう。
【0067】
テキスト領域のうちブロック要素とインライン要素に分かれるが、ブロック要素としては、<H1>〜<H6>、<P>要素等がある。インライン要素としては、<EM>、<STRONG>等がある。インライン要素はブロック要素の子要素として文章中のある文字列を強調したり、色を変えたりするときに使用される。
【0068】
テキストのブロック要素の配置方法としては、まずテキスト領域の横領域を取り込む。ここではステップS601で決定したセルの横領域がここで対象となるテキストの横領域となる。
【0069】
ステップS603にて文字の大きさに関して、W3Cの仕様であるCSSのプロパティで指定されている場合には、その値に対して、特に文字のサイズを指定していない場合には、ステップS501で求めた標準の文字サイズに対して、ステップS503又はステップS607で求めた拡大縮小率をかけた値を文字サイズの大きさとする。
【0070】
そして、このとき決定された文字サイズの大きさは、ステップS510で予め設定された最小サイズより大きい値に設定されているかどうかをチェックするので、保存しておく。
【0071】
そして、ステップS604において決定された文字サイズで文字を1文字ずつ配置していき、横領域を越えるところで文字の折り返しを行ない、次の行の先頭から続きを配置していく。また、テキストのインライン要素の配置方法としては、インラインに指定された文字列の一つ前の文字の配置位置の終了点を基準点とし、そこから要素で指定された文字種や文字サイズで各文字のピッチ情報に従って配置していく。
【0072】
そして、すべての文字を配置し終わったとき、ステップS605において行数とフォントサイズから領域の高さを計算する。このとき行間の大きさは、CSSのプロパティで指定されている場合には、それに従い、特に指定がない場合には、文字の高さに対してある一定の値を標準として、その行間の値を設定する。
【0073】
他方、ステップS602にてイメージの要素であると判定した場合には、ステップS606にて、イメージ要素の領域の決定と配置位置の決定の処理を行なう。イメージ領域の大きさの決定方法は、イメージ領域の大きさがXHTMLドキュメントの中で指定してある大きさの縦横比を、ステップS601で求めたセルの横領域に適用して高さを求める。
【0074】
他方、ステップS602にて、セルの中にさらにテーブルの要素があると判定された場合には、ステップS607にて、対象となるテーブルの親要素となるセルの大きさはステップS601で求めてあるので、その大きさに収まるようにテーブルのサイズを変換する必要がある。拡大縮小率は、拡大縮小率=(親要素のテーブルの拡大縮小率)×(テーブルの横サイズ)÷(親要素のセルの横幅)、から得られる。
【0075】
ステップS608にて、さらに処理すべきセルが存在するかどうかをチェックし、セルが存在する場合には、ステップS602へ戻って同様の処理を行ない、セルが存在しない場合には、処理を終了する。
【0076】
図7はフォントサイズの最小値チェックとそれに応じた各ブロックのレイアウトの再設定処理を行なうステップS508(図5)をより詳細に示すフローチャートである。ステップS701にて、ステップS501で求めた基準フォントサイズと、ステップS503又はステップS607で求めた各ブロックの拡大縮小率を基に、各ブロックの基準フォントサイズの大きさを求める。これら基準フォントサイズの大きさは、基準フォントサイズの大きさ=(基準フォントサイズ)×(拡大縮小率)、から求められる。
【0077】
そして、ステップS702にて、ステップS701で計算された各ブロックの基準フォントサイズの大きさの値を比較して、最も小さいフォントサイズの値を抽出する。ステップS703にて、予め設定された基準フォントサイズの最小値と、ステップS702で抽出された最小フォントサイズとを比較する。ステップS702で抽出された最小フォントサイズが、基準フォントサイズの最小値よりも大きい場合には特に処理をする必要がないので、ここで処理を終了する。
【0078】
他方、ステップS702で抽出された最小フォントサイズが基準フォントサイズの最小値よりも小さい場合には、出力フォントが小さくなり過ぎて、印刷してもフォントが読めない等の弊害が出てしまい、基準フォントサイズの最小値まで拡大する必要があるので、ステップS704へ進む。
【0079】
ステップS704にて、ステップS702で求めた最小フォントサイズを基準フォントサイズの最小値まで拡大する拡大倍率計算を行なって、拡大倍率を求める。ステップS705にて、ステップS705で求めた拡大倍率を、全てのブロックのフォントサイズ、配置位置座標値、領域の幅や高さ等に乗算して、全体領域を広げる処理を行なう。
【0080】
そうすることによって、指定出力用紙サイズに無理やり縮小して文字がつぶれてしまっていたようなドキュメントも、図8に示すように、複数ページに広げることが可能となる。そして、プリンタ側では、広げられた領域が複数ページに分割されて出力されることになる。
【0081】
【発明の効果】
以上説明したように、本発明によれば、上記のように構成したので、出力領域に適したレイアウトを行なうことができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態を示すブロック図である。
【図2】図1のクライアントパソコン3,4、ファイルサーバ1、及びWebサーバ2の概略構成を示すブロック図である。
【図3】図2のRAM103のメモリマップを示す図である。
【図4】図1のプリンタ5の構成を示すブロック図である。
【図5】図2のROM102にストアされる制御プログラムであって、XHTML形式の文書データからSVG形式の文書データに変換する制御プログラムの一例を示すフローチャートである。
【図6】テーブルの内容の配置位置の計算を行なうステップS505(図5)をより詳細に示すフローチャートである。
【図7】フォントサイズの最小値チェックとそれに応じた各ブロックのレイアウトの再設定処理を行なうステップS508(図5)をより詳細に示すフローチャートである。
【図8】フォントサイズを拡大した例を示す図である。
【図9】ファイルの変換の流れを示す図である。
【図10】 XHTMLのドキュメントの内容の一例を示す図である。
【図11】ドキュメントを表示したイメージ図である。
【図12】SVGのドキュメントの内容の一例を示す図である。
【図13】書体の置換えの対応関係をテーブルにして示す図である。
【符号の説明】
1 ファイルサーバ
2 Webサーバ
3,4 パーソナルコンピュータ
5 プリンタ
6 モバイル端末
101,211 CPU
102,212 ROM
103,213 RAM
104 キーボード制御部
105 キーボード
106 ディスプレイ制御部
107 ディスプレイ装置
108 ディスク制御部
109 記憶装置
110 ネットワーク制御部
111,218 ネットワーク装置
215 プリンタコントローラ
216 ディスクコントローラ
217 ハードディスク装置
219 プリンタエンジン
220 ネットワークコントローラ

Claims (10)

  1. 出力領域の拡大縮小率に基づきフォントサイズを計算する第1計算手段と、
    前記第1計算手段により計算されたフォントサイズが最小フォントサイズより小さいか否かを判別する判別手段と、
    前記判別手段により前記第1計算手段により計算されたフォントサイズが最小フォントサイズより小さいと判別された場合、フォントサイズを最小サイズまで拡大するための拡大率を計算する第2計算手段と、
    前記第2計算手段により計算された拡大率に基づき出力領域の調整を行う調整手段と、フォントのサイズが第1のサイズ以上の場合、指定された書体でウエイトを変更せずにフォントを選択し、フォントのサイズが第1のサイズより小さく第2のサイズ以上の場合、指定された書体で最も細いウエイトのフォントを選択し、フォントのサイズが第2のサイズより小さい場合、指定された書体に関わらず特定の書体のフォントを選択する選択手段と
    を有することを特徴とする文書印刷システム。
  2. 前記特定の書体は、ゴシック体を含むことを特徴とする請求項1記載の文書印刷システム。
  3. 前記調整手段は、出力領域が複数ページに分割されて出力されるように調整することを特徴とする請求項1記載の文書印刷システム。
  4. 出力領域の拡大縮小率に基づきフォントサイズを計算する第1計算ステップと、
    前記第1計算ステップにより計算されたフォントサイズが最小フォントサイズより小さいか否かを判別する判別ステップと、
    前記判別ステップにより前記第1計算ステップにより計算されたフォントサイズが最小フォントサイズより小さいと判別された場合、フォントサイズを最小サイズまで拡大するための拡大率を計算する第2計算ステップと、
    前記第2計算ステップにより計算された拡大率に基づき出力領域の調整を行う調整ステップと、
    フォントのサイズが第1のサイズ以上の場合、指定された書体でウエイトを変更せずにフォントを選択し、フォントのサイズが第1のサイズより小さく第2のサイズ以上の場合、指定された書体で最も細いウエイトのフォントを選択し、フォントのサイズが第2のサイズより小さい場合、指定された書体に関わらず特定の書体のフォントを選択する選択ステップと
    を有することを特徴とする文書印刷方法。
  5. 前記特定の書体は、ゴシック体を含むことを特徴とする請求項4記載の文書印刷方法。
  6. 前記調整ステップは、出力領域が複数ページに分割されて出力されるように調整することを特徴とする請求項4記載の文書印刷方法。
  7. 出力領域の拡大縮小率に基づきフォントサイズを計算する第1計算ステップと、
    前記第1計算ステップにより計算されたフォントサイズが最小フォントサイズより小さいか否かを判別する判別ステップと、
    前記判別ステップにより前記第1計算ステップにより計算されたフォントサイズが最小フォントサイズより小さいと判別された場合、フォントサイズを最小サイズまで拡大するための拡大率を計算する第2計算ステップと、
    前記第2計算ステップにより計算された拡大率に基づき出力領域の調整を行う調整ステップと、
    フォントのサイズが第1のサイズ以上の場合、指定された書体でウエイトを変更せずにフォントを選択し、フォントのサイズが第1のサイズより小さく第2のサイズ以上の場合、指定された書体で最も細いウエイトのフォントを選択し、フォントのサイズが第2のサイズより小さい場合、指定された書体に関わらず特定の書体のフォントを選択する選択ステップと
    をコンピュータに実行させることを特徴するプログラム。
  8. 前記特定の書体は、ゴシック体を含むことを特徴とする請求項7記載のプログラム。
  9. 前記調整ステップは、出力領域が複数ページに分割されて出力されるように調整することを特徴とする請求項7記載のプログラム。
  10. 請求項7乃至9のいずれかに記載のプログラムを記憶したことを特徴とする記憶媒体。
JP2002279951A 2002-09-18 2002-09-25 文書印刷システム及び方法 Expired - Fee Related JP4289856B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002279951A JP4289856B2 (ja) 2002-09-25 2002-09-25 文書印刷システム及び方法
US10/660,639 US7797631B2 (en) 2002-09-18 2003-09-12 Document printing control apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002279951A JP4289856B2 (ja) 2002-09-25 2002-09-25 文書印刷システム及び方法

Publications (3)

Publication Number Publication Date
JP2004118465A JP2004118465A (ja) 2004-04-15
JP2004118465A5 JP2004118465A5 (ja) 2005-11-17
JP4289856B2 true JP4289856B2 (ja) 2009-07-01

Family

ID=32274811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002279951A Expired - Fee Related JP4289856B2 (ja) 2002-09-18 2002-09-25 文書印刷システム及び方法

Country Status (1)

Country Link
JP (1) JP4289856B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4743601B2 (ja) * 2005-09-21 2011-08-10 Kddi株式会社 動画像処理装置
JP4715550B2 (ja) * 2006-02-28 2011-07-06 富士ゼロックス株式会社 プリンタドライバおよびその印刷制御方法、印刷装置
JP5260397B2 (ja) * 2009-04-22 2013-08-14 株式会社 オクノ 霊園・墓石販売の画面表示文書、これを利用した霊園・墓石販売システムおよび媒体
US8384918B2 (en) * 2010-06-30 2013-02-26 Konica Minolta Laboratory U.S.A., Inc. Enforcing a minimum font size
JP6083453B2 (ja) * 2014-07-11 2017-02-22 キヤノンマーケティングジャパン株式会社 情報処理装置と、その処理方法及びプログラム

Also Published As

Publication number Publication date
JP2004118465A (ja) 2004-04-15

Similar Documents

Publication Publication Date Title
US7797631B2 (en) Document printing control apparatus and method
US7949942B2 (en) System and method for identifying line breaks
US8384918B2 (en) Enforcing a minimum font size
US20020111963A1 (en) Method, system, and program for preprocessing a document to render on an output device
US20050262441A1 (en) Method and apparatus for printing web pages
US20080225306A1 (en) Imposition systems, methods and drivers for printer products
JP5610781B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20100123935A1 (en) Document processing apparatus and document processing method
JP4289856B2 (ja) 文書印刷システム及び方法
JP4510232B2 (ja) 情報処理装置および情報処理方法および記憶媒体
JP2005078236A (ja) 印刷制御装置
US20080158599A1 (en) Print support system, print support program, and print support method
US9019552B2 (en) Information processing apparatus, system and method for outputting data to a medium
JPH0725068A (ja) 文字生成方法及びその装置
JP2004110401A (ja) 文書印刷装置及び方法
JP5947508B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP4536872B2 (ja) 情報処理装置および情報処理方法および記憶媒体
JP2005196679A (ja) 印刷方法およびその装置
JP2008242760A (ja) 印刷支援システム、及び、印刷支援プログラム
JP4227294B2 (ja) 画像処理装置及びその方法、及び記憶媒体
JP4013748B2 (ja) 文書生成装置
JP2004288096A (ja) 印刷システム
KR20070035335A (ko) 웹문서 프린트 방법
JP2006119708A (ja) ドキュメントチェックシステム、ドキュメントチェック方法、および記憶媒体
JP2005173801A (ja) ドキュメント印刷システム、方法および記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050926

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090331

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees