(57)【要約】【課題】データサイズが抑制されたＸＭＬデータを生成する電子ドキュメントデータ処理装置を提供する。【解決手段】電子ドキュメントデータ処理装置１００は、電子ドキュメントファイル入力部１１０と、印刷描画データ生成部１２０と、ＸＭＬデータ生成部１３０と、制御部１５０と備える。ＸＭＬデータ生成部１３０は、描画命令を分類する印刷描画命令分類部１３１と、描画の対象となるデータの冗長さを除去するＸＭＬデータ最適化部１３２と、電子文書から出力用のＸＭＬデータを生成するＸＭＬデータ変換部１３６とを含む。【選択図】図１
2007193655.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを格納する記憶手段と、
前記電子ドキュメントファイルを出力する指示を受け付ける入力手段と、
前記指示に基づいて、前記電子ドキュメントファイルから複数の描画命令を生成する生成手段と、
各前記描画命令間の相互関係に基づいて、各前記描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換する変換手段とを備える、電子ドキュメントデータ処理装置。
【請求項２】
前記データ記述言語は、ＸＭＬ（eXtensible Markup Language）データを含む、請求項１に記載の電子ドキュメントデータ処理装置。
【請求項３】
前記データ記述言語は、ベクター画像記述言語を含む、請求項１に記載の電子ドキュメントデータ処理装置。
【請求項４】
前記変換手段は、
各前記描画命令のデータ構造を解析する解析手段と、
前記解析手段による解析の結果に基づいて、各前記描画命令間の相互関係を識別する識別手段と、
前記識別された相互関係に基づいて、各前記描画命令を前記データ記述言語により表わされるデータに変換する描画命令変換手段とを含む、請求項１に記載の電子ドキュメントデータ処理装置。
【請求項５】
前記描画命令は、予め規定された複数の分類基準のいずれかに従って分類される複数のレコードを含み、各前記レコードは前記電子ドキュメントファイルにおけるデータの属性を含み、
前記解析手段は、各前記レコードごとに前記電子ドキュメントファイルにおけるデータの属性を抽出し、
前記識別手段は、前記解析手段によって抽出された各前記データの属性に基づいて、前記相互関係を識別する、請求項４に記載の電子ドキュメントデータ処理装置。
【請求項６】
前記識別手段は、
前記複数の描画命令の各々から、共通の属性を有するデータを抽出する抽出手段と、
前記抽出手段によって抽出された各前記データを前記属性ごとにグループ化するグループ化手段とを含む、請求項４に記載の電子ドキュメントデータ処理装置。
【請求項７】
前記識別手段は、
相互に隣接する各テキストを表示するための各テキスト描画データを、予め設定された座標に基づいてそれぞれ抽出するテキスト抽出手段と、
前記テキスト抽出手段によって抽出された各前記テキスト描画データを、前記座標に基づいて１つのデータに合成する合成手段とを含む、請求項４に記載の電子ドキュメントデータ処理装置。
【請求項８】
前記識別手段は、
相互に隣接する各画像を表示するための各画像データを、予め設定された座標に基づいてそれぞれ抽出する画像抽出手段と、
前記画像抽出手段によって抽出された各画像データを、前記座標に基づいて１つのデータに合成する合成手段とを含む、請求項４に記載の電子ドキュメントデータ処理装置。
【請求項９】
前記アプリケーションプログラムは、前記指示に基づいて、電子ドキュメントファイルを印刷するための印刷指令を出力し、
前記生成手段は、前記印刷指令に基づいて前記複数の描画命令を生成する、請求項１に記載の電子ドキュメントデータ処理装置。
【請求項１０】
前記変換手段による変換によって生成されたデータを出力する出力手段をさらに備える、請求項１に記載の電子ドキュメントデータ処理装置。
【請求項１１】
前記出力手段は、前記変換によって生成されたデータに基づいて前記電子ドキュメントファイルを表示する表示手段を含む、請求項１０に記載の電子ドキュメントデータ処理装置。
【請求項１２】
前記出力手段は、前記変換によって生成されたデータを出力するデータ出力インターフェイスを含む、請求項１０に記載の電子ドキュメントデータ処理装置。
【請求項１３】
前記描画命令は、メタファイルの開始を表わす命令と、オブジェクトを描画する命令と、前記メタファイルの終了を表わす命令とを含む、請求項１に記載の電子ドキュメントデータ処理装置。
【請求項１４】
前記オブジェクトを描画する命令は、線図を描画する命令と、描画される画像を着色する命令と、文字を描く命令と、前記文字が描かれる色を指定する命令とのいずれかを含む、請求項１３に記載の電子ドキュメントデータ処理装置。
【請求項１５】
アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを準備するステップと、
前記電子ドキュメントファイルを出力する指示を受け付けるステップと、
前記指示に基づいて、前記電子ドキュメントファイルから複数の描画命令を生成するステップと、
各前記描画命令間の相互関係に基づいて、各前記描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換するステップとを備える、電子ドキュメントデータ処理方法。
【請求項１６】
コンピュータを、電子ドキュメントデータ処理装置として機能させるためのプログラムであって、前記プログラムは前記コンピュータに、
アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを準備するステップと、
前記電子ドキュメントファイルを出力する指示を受け付けるステップと、
前記指示に基づいて、前記電子ドキュメントファイルから複数の描画命令を生成するステップと、
各前記描画命令間の相互関係に基づいて、各前記描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子ドキュメントデータを処理する技術に関する。本発明は、より特定的には、アプリケーションプログラムの印刷実行機能の実行により得られる電子ドキュメントデータを表現するバイナリデータ形式で表現されたファイルを、データ記述言語に基づくファイル形式に変換する技術に関する。
【背景技術】
【０００２】
従来の電子ドキュメントデータ処理装置、電子ドキュメントデータ処理方法の一例として、特開２００３−１０８３３１号公報（特許文献１）は、電子ドキュメント処理装置を開示している。この電子ドキュメント処理装置によると、アプリケーションプログラムの印刷実行機能の結果得られる電子ドキュメントを表現する第１の言語仕様に基づく記述で表現されたファイルを、ＸＭＬ（（eXtensible Markup Language））言語仕様に基づく記述で表現するファイル形式に変換処理を行うことができる。
【特許文献１】特開２００３−１０８３３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
現在、アプリケーションプログラムの印刷実行機能の出力の結果得られる電子ドキュメントデータを表現する言語仕様に基づく記述に従った第１のファイルをＸＭＬ言語仕様に基づく記述に従った第２ファイルへの変換処理は、第１のファイルを構成する記述の各々に対して、変換を行うことで実現されている。
【０００４】
特開２００３−１０８３３１号公報に開示されている電子ドキュメント処理装置によると、出力されるファイル形式は、指定されたＸＭＬ言語仕様に基づく記述の表現で構成される。その際、アプリケーションプログラム上では本来１つの画像として取り扱われる記述表現が、第１のファイルにおいて複数の画像の集合として表現される場合がある。同様に、１つの文字列として表現されたものが、複数の文字列の集合として表現される場合がある。
【０００５】
その結果、変換で得られた第２のファイルに含まれる記述表現は、その言語仕様に基づく記述で表現されるが、その記述表現には、第１のファイルに含まれる冗長な記述表現が継承されることがある。冗長な記述表現は、変換によって得られるファイルのサイズに影響を与えたり、変換後のファイルを利用するアプリケーションプログラムの処理に影響を与えたりする場合がある。
【０００６】
本発明は、上述の問題点を解決するためになされたものであって、その第１の目的は、データサイズを小さくできるファイルを生成する電子ドキュメントデータ処理装置を提供することである。
【０００７】
本発明の第２の目的は、変換後のファイルを用いるアプリケーションプログラムの処理をスムーズに実行させることができるファイルを生成できる電子ドキュメントデータ処理装置を提供することである。
【０００８】
本発明の第３の目的は、第１の言語仕様に基づき表現された電子ドキュメントデータを、第２の言語仕様に基づく記述によって表現されるファイルの形式に変換する際に、第２のファイル形式での冗長な記述表現が少なくなるファイルを生成できる電子ドキュメントデータ処理装置を提供することである。
【０００９】
本発明の第４の目的は、データサイズを小さくできるファイルを生成する電子ドキュメントデータ処理装置としてコンピュータを機能させるためのプログラムを提供することである。
【００１０】
本発明の第５の目的は、変換後のファイルを用いるアプリケーションプログラムの処理をスムーズに実行させることができるファイルを生成できる電子ドキュメントデータ処理装置として、コンピュータを機能させるためのプログラムを提供することである。
【００１１】
本発明の第６の目的は、第１の言語仕様に基づき表現された電子ドキュメントデータを、第２の言語仕様に基づく記述によって表現されるファイルの形式に変換する際に、第２のファイル形式での冗長な記述表現が少なくなるファイルを生成できる電子ドキュメントデータ処理装置としてコンピュータを機能させるためのプログラムを提供することである。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、この発明のある局面に従う電子ドキュメントデータ処理装置は、アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを格納する記憶手段と、電子ドキュメントファイルを出力する指示を受け付ける入力手段と、指示に基づいて、電子ドキュメントファイルから複数の描画命令を生成する生成手段と、各描画命令間の相互関係に基づいて、各描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換する変換手段とを備える。
【００１３】
好ましくは、データ記述言語は、ＸＭＬ（eXtensible Markup Language）データを含む。
【００１４】
好ましくは、データ記述言語は、ベクター画像記述言語を含む。
好ましくは、変換手段は、各描画命令のデータ構造を解析する解析手段と、解析手段による解析の結果に基づいて、各描画命令間の相互関係を識別する識別手段と、識別された相互関係に基づいて、各描画命令をデータ記述言語により表わされるデータに変換する描画命令変換手段とを含む。
【００１５】
好ましくは、描画命令は、予め規定された複数の分類基準のいずれかに従って分類される複数のレコードを含む。各レコードは電子ドキュメントファイルにおけるデータの属性を含む。解析手段は、各レコードごとに電子ドキュメントファイルにおけるデータの属性を抽出する。識別手段は、解析手段によって抽出された各データの属性に基づいて、相互関係を識別する。
【００１６】
好ましくは、識別手段は、複数の描画命令の各々から、共通の属性を有するデータを抽出する抽出手段と、抽出手段によって抽出された各データを属性ごとにグループ化するグループ化手段とを含む。
【００１７】
好ましくは、識別手段は、相互に隣接する各テキストを表示するための各テキスト描画データを、予め設定された座標に基づいてそれぞれ抽出するテキスト抽出手段と、テキスト抽出手段によって抽出された各テキスト描画データを、座標に基づいて１つのデータに合成する合成手段とを含む。
【００１８】
好ましくは、識別手段は、相互に隣接する各画像を表示するための各画像データを、予め設定された座標に基づいてそれぞれ抽出する画像抽出手段と、画像抽出手段によって抽出された各画像データを、座標に基づいて１つのデータに合成する合成手段とを含む。
【００１９】
好ましくは、アプリケーションプログラムは、指示に基づいて、電子ドキュメントファイルを印刷するための印刷指令を出力する。生成手段は、印刷指令に基づいて複数の描画命令を生成する。
【００２０】
好ましくは、電子ドキュメントデータ処理装置は、変換手段による変換によって生成されたデータを出力する出力手段をさらに備える。
【００２１】
好ましくは、出力手段は、変換によって生成されたデータに基づいて電子ドキュメントファイルを表示する表示手段を含む。
【００２２】
好ましくは、出力手段は、変換によって生成されたデータを出力するデータ出力インターフェイスを含む。
【００２３】
好ましくは、描画命令は、メタファイルの開始を表わす命令と、オブジェクトを描画する命令と、メタファイルの終了を表わす命令とを含む。
【００２４】
好ましくは、オブジェクトを描画する命令は、線図を描画する命令と、描画される画像を着色する命令と、文字を描く命令と、文字が描かれる色を指定する命令とのいずれかを含む。
【００２５】
この発明の他の局面に従う電子ドキュメントデータ処理方法は、アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを準備するステップと、電子ドキュメントファイルを出力する指示を受け付けるステップと、指示に基づいて、電子ドキュメントファイルから複数の描画命令を生成するステップと、各描画命令間の相互関係に基づいて、各描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換するステップとを備える。
【００２６】
この発明のさらに他の局面に従うと、コンピュータを、電子ドキュメントデータ処理装置として機能させるためのプログラムが提供される。このプログラムはコンピュータに、アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを準備するステップと、電子ドキュメントファイルを出力する指示を受け付けるステップと、指示に基づいて、電子ドキュメントファイルから複数の描画命令を生成するステップと、各描画命令間の相互関係に基づいて、各描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換するステップとを実行させる。
【発明の効果】
【００２７】
本発明に係る電子ドキュメントデータ処理装置によると、アプリケーションのデータを印刷するための描画命令からＸＭＬ形式のデータを生成する際、関連する描画命令が識別されて、冗長なデータが省かれ、データが結合される。これにより、変換後のＸＭＬデータのサイズが縮小される。また、他の局面において再利用性の高いＸＭＬデータが生成され得る。
【００２８】
本発明に係る電子ドキュメントデータ処理方法によると、アプリケーションのデータを印刷するための描画命令からＸＭＬ形式のデータを生成する際、関連する描画命令が識別されて、冗長なデータが省かれ、データが結合される。これにより、変換後のＸＭＬデータのサイズが縮小される。また、他の局面において再利用性の高いＸＭＬデータが生成され得る。
【００２９】
本発明に係るプログラムによると、コンピュータを上記のような電子ドキュメントデータ処理装置として機能させることができる。その結果、コンピュータは、変換後のデータサイズが縮小されたＸＭＬデータを生成することができる。また、コンピュータは、他の局面において再利用性の高いＸＭＬデータを生成し得る。
【発明を実施するための最良の形態】
【００３０】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３１】
図１を参照して、本発明の実施の形態に係る電子ドキュメントデータ処理装置１００について説明する。図１は、電子ドキュメントデータ処理装置１００により実現される機能の概略の構成を表わすブロック図である。電子ドキュメントデータ処理装置１００は、指示入力部１０２と、電子ドキュメントファイル入力部１１０と、印刷描画データ生成部１２０と、ＸＭＬデータ生成部１３０と、制御部１５０と、一時記憶部１６０と、記憶部１７０と、出力部１８０とを備える。
【００３２】
ＸＭＬデータ生成部１３０は、印刷描画命令分類部１３１と、ＸＭＬデータ最適化部１３２と、ＸＭＬデータ変換部１３６とを含む。ＸＭＬデータ最適化部１３２は、共通属性グループ化管理部１３３と、テキスト描画データ最適化部１３４と、イメージ描画データ最適化部１３５とを含む。ＸＭＬデータ変換部１３６は、ＸＭＬヘッダ生成部１３７と、ＸＭＬフッタ生成部１３８と、図形描画ＸＭＬデータ生成部１３９と、テキスト描画ＸＭＬデータ生成部１４０と、イメージ描画ＸＭＬデータ生成部１４１と、属性情報管理部１４２と、カレントオブジェクト管理部１４３とを含む。
【００３３】
指示入力部１０２は、電子ドキュメントデータ処理装置１００の外部から指示の入力を受付ける。当該指示は、電子ドキュメントの表示指示、電子ドキュメントの出力指示などを含む。
【００３４】
電子ドキュメントファイル入力部１１０は、ファイル選択のためのユーザインターフェイスの画面を表示し、表示されているファイルの名称の選択のためのユーザによる入力を受け付ける。電子ドキュメントは、たとえば文書作成ソフトウェアあるいは表計算ソフトウェアなどにより生成される電子文書として実現される。また、電子ドキュメントファイル入力部１１０は、外部から電子ドキュメントのファイルの入力を受け付ける。たとえば、電子ドキュメントファイル入力部１１０は、データ通信インターフェイスとして機能し、電子ドキュメントのファイルの入力を受け付ける。また、電子ドキュメントデータ処理装置１００自身が電子文書の作成機能を有している場合には、当該電子文書を作成するための入力を受け付ける。この場合、電子ドキュメントファイル入力部１１０は、たとえばタッチパネル、キーボード、マウス等として実現される。
【００３５】
印刷描画データ生成部１２０は、電子ドキュメントファイル入力部１１０によって入力が受け付けられた電子ドキュメントファイルに関連付けられたアプリケーションプログラムの印刷機能に基づいて描画命令を生成する。描画命令は、たとえば指示入力部１０２を介して電子文書の印刷指示が入力された場合に生成される。ここで、文書作成ソフトウェアが用いられる場合において「ｔｅｓｔ．ｄｏｃｕｍｅｎｔ」という名前のファイルを一例として説明する。まず、このファイル名の拡張子「ｄｏｃｕｍｅｎｔ」は、当該文書作成ソフトウェアに関連付けられている。このソフトウェアは印刷機能を有しており、ユーザがこのファイル名を指定して印刷指示を電子ドキュメントデータ処理装置１００に入力すると、文書作成ソフトウェアの印刷機能により、ｔｅｓｔ．ｄｏｃｕｍｅｎｔに対応する文書の描画命令が生成される。
【００３６】
ＸＭＬデータ生成部１３０は、印刷描画データ生成部１２０によって生成された印刷描画命令を表わすデータを解析し、ＸＭＬ形式に従うデータ（以下、単にＸＭＬデータ）を生成する。ＸＭＬデータ生成部１３０は、各当該印刷描画命令間の相互関係に基づいて、各描画命令を、データの属性とデータの内容とが関連付けられるデータ記述言語によって表わされるデータに変換する。ＸＭＬデータの形式は、たとえば、ＳＶＧ（Scalable  Vector  Graphics）形式である。具体的には、印刷描画命令分類部１３１は、印刷描画命令を分類する。この分類は、たとえば描画命令に含まれる属性データに従って行なわれる。
【００３７】
ＸＭＬデータ最適化部１３２は、各印刷描画命令の相互関係を調べ、冗長なＸＭＬデータを生成することなく印刷指示に対応したＸＭＬデータを生成する。具体的には、共通属性グループ化管理部１３３は、各印刷描画命令の属性データを確認し、共通の属性データのグループ化を行なう。テキスト描画データ最適化部１３４は、予め規定された座標に従って隣り合うテキスト描画データを抽出し、複数のテキスト描画データを当該座標に従って１つに合成する。イメージ描画データ最適化部１３５は、上記座標に従って隣り合うイメージ描画データ、あるいは重なり合うイメージ描画データを抽出し、当該抽出された複数のイメージ描画データを１つに合成する。
【００３８】
ＸＭＬデータ変換部１３０は、印刷描画命令をＸＭＬデータに変換する。具体的には、ＸＭＬヘッダ生成部１３７は、印刷描画命令に含まれるヘッダ命令からＸＭＬヘッダを生成する。ＸＭＬフッタ生成部１３８は、印刷描画命令に含まれる終了命令からＸＭＬフッタを生成する。図形描画ＸＭＬデータ生成部１３９は、印刷描画命令に含まれる図形描画命令から、ＸＭＬの図形描画データを生成する。テキスト描画ＸＭＬデータ生成部１４０は、印刷描画命令に含まれるテキスト描画命令から、ＸＭＬのテキスト描画データを生成する。イメージ描画ＸＭＬデータ生成部１４１は、印刷描画命令に含まれるイメージ描画命令から、ＸＭＬのイメージ描画データを生成する。属性情報管理部１４２は、印刷描画命令の中で生成された属性情報を管理する。カレントオブジェクト管理部１４３は、ＸＭＬデータへの変換処理において現在選択あるいは指定されている属性情報、テキスト色などを管理する。
【００３９】
制御部１５０は、電子ドキュメントデータ処理装置１００におけるデータの入力動作、出力動作および前述のような演算処理動作の実行を制御する。
【００４０】
一時記憶部１６０は、外部から入力されたデータあるいはＸＭＬデータ生成部１３０によって生成されたデータを揮発的に格納する。
【００４１】
記憶部１７０は、外部から入力されたデータ、あるいは電子ドキュメントデータ処理装置１００の動作によって生成されたデータを不揮発的に格納する。
【００４２】
出力部１８０は、電子ドキュメントデータ処理装置１００による出力動作を実行する。出力動作は、たとえばＸＭＬデータに基づく画像、テキストなどの表示、あるいはＸＭＬデータの外部への出力などを含む。
【００４３】
図２から図８を参照して、電子ドキュメントデータ処理装置１００のデータ構造について説明する。図２は、記憶部１７０における電子ドキュメントファイルの格納の一態様を概念的に表わす図である。電子ドキュメントファイルは、前述のように文書作成ソフトウェアあるいは表計算ソフトウェアの実行によって生成される。電子ドキュメントファイルは、各ソフトウェアに固有なデータ形式によって表わされる。電子ドキュメントファイル２００は、テキスト領域２１０，２２０と、矩形として表わされる図形２３０，２４０と、２つの画像２５０，２６０とを含む。
【００４４】
図３は、図２に示される電子ドキュメントファイル２００から生成された印刷描画データの一態様を表わす図である。印刷描画データは、たとえば一時記憶部１６０に格納される。具体的には、印刷描画データ生成部１２０が指示入力部１０２を介して入力された印刷指示に基づいて電子ドキュメントファイル２００に関連付けられるアプリケーションプログラムの印刷機能を用い、電子ドキュメントデータを印刷するための描画命令を生成する。印刷描画データ生成部１２０は、その生成したデータを一時記憶部１６０において予め確保された領域に格納する。格納されるデータのファイル形式は、たとえばWindows（登録商標）環境においては、ＥＭＦ（Enhanced Meta File）によって表わされる。ＥＭＦは実際にはバイナリ形式のデータであるが、図３に示されるように、テキストや図形の描画命令がレコードという単位で表現される。ＥＭＦのレコードは、以下のように分類される。
【００４５】
（１）  ヘッダ命令
ヘッダ命令は、ＥＭＦの開始を表わす。図３に示される印刷描画データファイル３００の例では、第１行目に示される「EMR＿HEADER」レコードが該当する。
【００４６】
（２）  終了命令
終了命令は、ＥＭＦの終了を表わす。印刷描画データファイル３００においては、たとえば第５６行目に示される「EMR＿EOF」が該当する。
【００４７】
（３）  ペン生成命令
ペン生成命令は、ペンの生成を表わす。具体的には、「EMR＿CREATEPEN」レコードが該当する（たとえば第２行目等）。
【００４８】
ここで、ペンは、「線」の属性を表わす。「EMR＿CREATEPEN」レコードは、ペンの識別子であるハンドル名として「pen１」、ペンの色として「♯００００００」（黒色）、ペンの幅として「２」を含む。このようにして特定されるペンが使用されると、当該ペン生成命令によって描画される線は、その色が「黒色」となり、太さが「２」となる。
【００４９】
（４）  ブラシ生成命令
ブラシ生成命令は、ブラシの生成を表わす。印刷描画データファイル３００においては、「EMR＿CREATEBRUSHINDIRECT」レコードが該当する。ブラシは、「塗りつぶし」の属性を表わす。たとえば印刷描画データファイル３００の第４行目に示される「EMR＿CREATEBRUSHINDIRECT」レコードは、ブラシの識別子であるハンドル名として「brush１」、ブラシの色として「♯ＦＦ００００」（赤色）を含む。このようにして特定されるブラシが使用されると、当該ブラシ生成命令に基づいて描かれる図形は、「赤色」で塗りつぶされる。
【００５０】
（５）  フォント生成命令
フォント生成命令は、フォントの生成を表わす。印刷描画データファイル３００においては、「EMR＿EXTCREATEFONTINDIRECTW」レコードが該当する。フォントは、テキストの属性を表わす。たとえば、印刷描画データファイル３００の第１０行目に示される「EMR＿EXTCREATEFONTINDIRECTW」レコードは、フォントの識別子であるハンドル名として「font１」、フォントの名称を表わすフォントファミリーとして「MS ゴシック」、フォントサイズ「４４」、フォントウエイト「７００」を含む。このようにして特定されるフォントを用いて描かれるテキストは、その書体が「MS ゴシック」、そのサイズが「４４」、太さが「７００」となる。
【００５１】
（６）  テキスト色指定命令
テキスト色指定命令は、テキストの色を指定する。印刷描画データファイル３００においては、「EMR＿SETTEXTCOLOR」が該当する。たとえば、第１２行目における「EMR＿SETTEXTCOLOR」は、テキストの色を「♯００００００」（黒色）に指定している。したがって、その後描かれるテキストは、黒色になる。
【００５２】
（７）  オブジェクト選択命令
オブジェクト選択命令は、オブジェクトの選択を表わす。ここでオブジェクトは、上述のペン、ブラシ、フォントなどを含む。印刷描画データファイル３００においては、「EMR＿SELECTOBJECT」レコードが該当する。上記（３）から（５）の各命令によって生成されたペン、ブラシ、フォントは、当該オブジェクト選択命令によって選択されることで、初めて有効となる。たとえば、印刷描画データファイル３００における第３行目の「EMR＿SELECTOBJECT」レコードは、第２行目で生成されたハンドル名「pen１」のペンの選択を表わす。これにより、当該命令後の後述する図形描画命令が実行されると、その図形の線は色が「♯０００００００」（黒色）となり、その太さは「２」となる。
【００５３】
（８）  図形描画命令
図形描画命令は、図形の描画を表わす。印刷描画データファイル３００においては、「EMR＿RECTANGLE」レコードは、矩形の描画を表わす。具体的には、印刷描画データファイル３００の第６行目に示される「EMR＿RECTANGLE」レコードは、左上の座標が（１００，１００）、右下の座標が（１１００，６００）の矩形の描画を表わす。この命令によって描画される矩形は、そのときに選択されているペンとブラシとによって、線の色が「♯００００００」（黒色）、線の幅が「２」、塗りつぶしの色が「♯ＦＦ００００」（赤色）となる。なお、図形描画命令は、矩形を描画するための命令に限られず、たとえば線、円その他の図形を描画する命令が含まれてもよい。
【００５４】
（９）  テキスト描画命令
テキスト描画命令は、テキストの描画を表わす。印刷描画データファイル３００においては、「EMR＿EXTTEXTOUTW」レコードが該当する。たとえば、印刷描画データファイル３００の第１３行目に示される「EMR＿EXTTEXTOUTW」レコードは、座標（２００，２００）にテキスト「第」を描画することを表わす。このとき描画されるテキストは、現在選択あるいは指定されているフォントとテキストの色とによって、その書体が「MS ゴシック」、サイズが「４４」、太さが「７００」、色が「♯００００００」（黒色）となる。
【００５５】
（１０）  イメージ描画命令
イメージ描画命令は、イメージの描画を表わす。印刷描画データファイル３００においては、「EMR＿BITBLT」レコードが該当する。たとえば、印刷描画データファイル３００における第５２行目に示される「EMR＿BITBLT」レコードは、座標（３００，８００）に、幅「１７００」、高さ「５００」の大きさで、データ属性「・・・」で指定されるイメージデータを描画することを表わす。
【００５６】
なお、図２に示される電子ドキュメントファイル２００は、２つのイメージ２５０，２６０を含む。これに対して、図３に示される印刷描画データファイル３００は、第５２行目から５５行目に示されるように、４つのイメージ描画命令「EMR＿BITBLT」レコードを含む。すなわち、電子ドキュメントファイルの１つのイメージが、当該ファイルに対応して生成された印刷描画データにおいて複数のイメージ描画命令に分割される場合もある。
【００５７】
なお、図３に示される印刷描画データは、説明を簡単にするためにＥＭＦの各レコードの情報を当業者に理解される態様で表現されている。実際には、各情報は、当該ＥＭＦによって規定されたデータ構造で表わされる。
【００５８】
図４は、図３に示される印刷描画データファイル３００に含まれるレコードの相互関係を識別することなく各レコードごとに１対１にＳＶＧ形式のデータに変換した態様を表わす図である。ＳＶＧレコードファイルは、したがって以下に示すように冗長なデータを含んでいる。たとえば、ファイル４００の第３行目および第４行目に示されるRECT要素において、いずれの要素も属性データとして「stroke＝“♯００００００” stroke−width＝“２”」を含む。この属性は、いずれの要素にも含まれる共通の属性である。
【００５９】
またファイル４００における第５行目から第２２行目に示されるtext要素は、いずれも属性データとして「fill＝“♯００００００”」を含む。
【００６０】
また、第５行目から第７行目に示される「第１試合」のテキストの描画を表わすデータは、ＥＭＦのレコードを「第」、「１」、および「試合」に分割したものである。そこで、この「第１試合」のテキストを１つのtext要素として表わすことができれば、データ量を削減して再利用性の高いＸＭＬデータを生成することができる。
【００６１】
さらに、ファイル４００における第２４行目および第２５行目に示されるように、図２に示されるイメージ２５０の描画を表わすデータは、ＥＭＦのレコードが２つに分割されたため、１対１に変換されたＳＶＧデータにおいても２つに分割されている。これらのデータも、１つのimage要素として表わすことができれば、イメージを描画するためのデータ量を削減することができる。
【００６２】
図５は、本実施の形態に係る電子ドキュメントデータ処理装置１００によって生成されたＳＶＧ形式のデータ構造を表わす図である。ＳＶＧファイル５００は、後述するように、各レコードの関係を識別することによってグループ化された命令ごとにまとめられている。ＳＶＧファイル５００の生成の態様については、図９から図２６を参照して詳述する。
【００６３】
図６は、電子ドキュメントデータ処理装置１００によって生成されるテーブルを概念的に表わす図である。テーブルは、たとえば一時記憶部１６０において確保された領域に生成され、各命令の処理に従ってその内容が更新される。具体的には、一時記憶部１６０は、ペン属性情報管理テーブル６１０と、ブラシ属性情報管理テーブル６２０と、フォント属性情報管理テーブル６３０とを含む。ペン属性情報管理テーブル６１０は、ハンドル名６１１と、ペンの色６１２と、ペンの幅６１３とを含む。たとえばデータレコード６１５は、ハンドル名として「pen１」、ペンの色として「♯００００００」、ペンの幅として「２」を含む。
【００６４】
ブラシ属性情報管理テーブル６２０は、ハンドル名６２１とブラシの色６２２とを含む。たとえばデータレコード６２５は、ハンドル名として「brush１」、ブラシの色として「♯ＦＦ００００」を含む。またデータレコード６２６は、ハンドル名として「brush２」、ブラシの色として「♯ＦＦＦＦ００」を含む。
【００６５】
フォント属性情報管理テーブル６３０は、ハンドル名６３１と、フォントファミリー６３２と、フォントサイズ６３３と、フォントウエイト６３４とを含む。たとえば、データレコード６３５は、ハンドル名として「font１」、フォントファミリーとして「MS ゴシック」、フォントサイズとして「４４」、フォントウエイトとして「７００」を含む。データレコード６３６は、ハンドル名とフォントウエイトとが異なる内容を含む。
【００６６】
図７は、カレントオブジェクト管理テーブル７００におけるデータの変化の態様を表わす図である。カレントオブジェクト管理テーブル７００は、カレントオブジェクト管理部１４３によって管理される。カレントオブジェクト管理部１４３は、ＸＭＬデータ生成部１３０における命令の処理に従って、カレントオブジェクト管理テーブル７００におけるレコードを逐次更新する。
【００６７】
カレントオブジェクト管理テーブル７００は、オブジェクトを格納するための領域７０１と、ハンドル名を格納するための領域７０２とを含む。たとえば状態（Ａ）において、データレコード７１０は、オブジェクトとして「ペン」およびハンドル名として「pen１」を含む。
【００６８】
状態（Ａ）は、たとえば図３に示される印刷描画データファイル３００の第３行目におけるオブジェクト選択命令が処理された直後に生成される。
【００６９】
その後、第５行目に示されるオブジェクト選択命令が処理されると、カレントオブジェクト管理テーブル７００は、状態（Ｂ）に示されるものに更新される。すなわち、カレントオブジェクト管理テーブル７００は、データレコード７１０に加えてデータレコード７２０を含む。データレコード７２０は、オブジェクトとして「ブラシ」およびハンドル名として「brush１」を含む。
【００７０】
その後、第８行目に示されるオブジェクト選択命令が処理されると、カレントオブジェクト管理部１４３は、カレントオブジェクト管理テーブル７００を更新する。その更新によって、当該テーブルは状態（Ｃ）に示されるものに変更される。すなわち、状態（Ｃ）においては、データレコード７２０は、ハンドル名として状態（Ｂ）における「brush１」に代えて「brush２」を含む。
【００７１】
その後、印刷描画データファイル３００の第１１行目におけるオブジェクト選択命令が処理されると、カレントオブジェクト管理テーブル７００は、状態（Ｄ）に示されるものに更新される。すなわちカレントオブジェクト管理テーブル７００は、データレコード７１０，７２０に加えてデータレコード７３０を含む。データレコード７３０は、オブジェクトとして「フォント」およびハンドル名として「font１」を含む。
【００７２】
さらに命令が処理されて、第２０行目に示されるオブジェクト選択命令が処理されると、カレントオブジェクト管理部１４３は、カレントオブジェクト管理テーブル７００を更新する。この更新によってカレントオブジェクト管理テーブル７００は、状態（Ｅ）に示されるものに切換わる。すなわち、カレントオブジェクト管理テーブル７００は、データレコード７３０において、それまでのハンドル名「font１」に代えて「font２」を含む。
【００７３】
このようにしてカレントオブジェクト管理テーブル７００が逐次更新され、印刷描画データファイル３００からＳＶＧデータへの変換が行なわれる。
【００７４】
図８は、テキスト色管理テーブル８００の構成を表わす図である。テキスト色管理テーブル８００は、一時記憶部１６０において確保された領域に生成される。テキスト色管理テーブル８００は、現在のテキスト色を表わすための領域８１０を含む。この領域には、図３に示される命令によって指定されたデータが格納される。カレントオブジェクト管理部１４３は、テキスト色管理テーブル８００の内容を図３に示される命令の処理に応じて逐次更新する。
【００７５】
以下、図９〜図２６を参照して、電子ドキュメントデータ処理装置１００の制御構造について説明する。図９〜図２６は、それぞれ、電子ドキュメントデータ処理装置１００の各部（図１）が実行する処理の手順を表わすフローチャートである。
【００７６】
図９を参照して、ステップＳ９１０にて、制御部１５０は、印刷描画データ生成部１２０において格納されているＥＭＦの１レコードを読出す。ステップＳ９２０にて、印刷描画命令分類部１３１は、読み出されたレコードに含まれる属性に従って当該レコードの分類を行なう。読み出されたレコードがヘッダ命令である場合には、制御はステップＳ９３０に移される。読み出されたレコードがペン生成命令である場合には、制御はステップＳ９４０に移される。読み出されたレコードがブラシ生成命令である場合には、制御はステップＳ９５０に移される。読み出されたレコードがフォント生成命令である場合には、制御はステップＳ９６０に移される。読み出されたレコードがテキスト色指定命令である場合には、制御はステップＳ９７０に移される。読み出されたレコードがオブジェクト選択命令である場合には、制御はステップＳ９８０に移される。読み出されたレコードが図形描画命令である場合には、制御はステップＳ１０００に移される。読み出されたレコードがテキスト描画命令である場合には、制御はステップＳ１８００に移される。読み出されたレコードがイメージ描画命令である場合には、制御はステップＳ２５００に移される。読み出されたレコードが終了命令である場合には、制御はステップＳ２６００に移される。
【００７７】
ステップＳ９３０にて、ＸＭＬヘッダ生成部１３７は、当該ヘッダ命令に従ってＸＭＬのヘッダを生成するための処理を実行する。具体的には、ＸＭＬヘッダ生成部１３７は、ＳＶＧデータの開始を表わすxml宣言とsvg要素の開始タグとを書き出す（図５に示される第１および第２行目）。
【００７８】
ステップＳ９４０にて、属性情報管理部１４２は、当該ペン生成命令に基づいてペンの属性情報を抽出し、ペン属性情報管理テーブル６１０にその属性情報を登録する（図６）。
【００７９】
具体的には、属性情報管理部１４２は、「EMR＿CREATEPEN」レコードからペンの属性情報を抽出し、ペン属性情報管理テーブル６１０の各領域に対して、抽出された情報を書き込む。図６に示される例では、ハンドル名として「pen１」、ペンの色として「♯００００００」、ペンの幅として「２」の各情報が登録される。
【００８０】
ステップＳ９５０にて、属性情報管理部１４２は、ブラシ生成命令に基づいてブラシの属性情報を抽出し、抽出された情報をブラシ属性情報管理テーブル６２０に登録する（図６）。具体的には、属性情報管理部１４２は、「EMR＿CREATEBRUSHINDIRECT」レコードからブラシの属性情報を抽出し、属性情報管理テーブル６２０の各領域にそれぞれ対応する情報を格納する。たとえば図６に示される例では、データレコード６２５としてハンドル名として「brush１」、ブラシの色として「♯ＦＦ００００」がそれぞれ登録される。
【００８１】
ステップＳ９６０にて、属性情報管理部１４２は、フォント生成命令に基づいてフォントの属性情報を抽出し、抽出された情報をフォント属性情報管理テーブル６３０に登録する。
【００８２】
ステップＳ９７０にて、カレントオブジェクト管理部１４３は、テキスト色指定命令に基づいてテキストの色情報を抽出し、抽出された情報をテキスト色管理テーブル８００（図８）に登録する。
【００８３】
ステップＳ９８０にて、カレントオブジェクト管理部１４３は、オブジェクト選択命令に基づいてカレントオブジェクト管理テーブル７００（図７）を更新する。
【００８４】
ステップＳ１０００にて、共通属性グループ化管理部１３３は、図形描画命令に基づいて、後述する「図形描画命令の共通属性グループ化処理」を実行する。この処理が実行されると、共通属性のグループ化処理状態が分類され、当該分類の結果に基づく各処理がそれぞれ実行される。
【００８５】
ステップＳ１８００にて、共通属性グループ化管理部１３３は、テキスト描画命令に基づいて、後述する「テキスト描画命令の共通属性グループ化処理」を実行する。この処理が実行されると、イメージ描画命令の処理状態に応じてそれぞれ処理が行なわれる。
【００８６】
ステップＳ２５００にて、ＸＭＬデータ生成部１３０は、イメージ描画命令に基づいて、後述するイメージ描画命令のＸＭＬ変換処理を実行する。この処理が実行されると、イメージ描画命令の処理状態の分類の結果に基づく各処理がそれぞれ実現される。
【００８７】
ステップＳ２６００にて、ＸＭＬデータ生成部１３０は、終了命令に基づいて、後述する「ＸＭＬ生成の終了処理」を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類が行なわれ、分類の結果に基づく各処理が実行された後、ＸＭＬのフッタが生成される。
【００８８】
図１０を参照して、ステップＳ１０１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態を分類する。その処理状態が初期状態である場合には、制御はステップＳ１０２０に移される。当該処理状態が、テキスト描画命令のグループ化開始前、フォント属性のグループ化中、あるいはテキスト色属性のグループ化中のいずれかである場合には、制御はステップＳ１２００に移される。当該処理状態が、図形描画命令のグループ化開始前、ペン属性のグループ化中、あるいはテキスト色属性グループ化中のいずれかである場合には、制御はステップＳ１３００に移される。
【００８９】
ステップＳ１０２０にて、共通属性グループ化管理部１３３は、イメージ描画命令の処理状態が処理中であるか否かを判断する。共通属性グループ化管理部１３３が、その処理状態は処理中であると判断すると（ステップＳ１０２０にてＹＥＳ）、制御はステップＳ１１００に移される。そうでない場合には（ステップＳ１０２０にてＮＯ）、制御はステップＳ１０３０に移される。
【００９０】
ステップＳ１０３０にて、共通属性グループ化管理部１３３は、現在選択されているペン、ブラシの各ハンドル名と、当該図形描画命令とを保持し、共通属性のグループ化処理状態を「図形描画命令のグループ化開始前」とする。これらの情報は、たとえば一時記憶部１６０において処理の前に予め確保された領域に格納される。
【００９１】
ステップＳ１１００にて、共通属性グループ化管理部１３３は、後述する「イメージ描画命令の終了処理」を実行する。この処理が実行されると、イメージ描画命令の処理状態が「初期状態」に設定される。
【００９２】
ステップＳ１２００にて、共通属性グループ化管理部１３３は、後述する「テキスト描画命令のグループ化終了処理」を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じた処理が行なわれる。
【００９３】
ステップＳ１３００にて、共通属性グループ化管理部１３３は、後述する「図形描画命令のＸＭＬ変換処理」を実行する。この処理が実行されると、ペンの属性とブラシの属性との一致状況に応じた変換処理が実現される。
【００９４】
図１１を参照して、ステップＳ１１１０にて、共通属性グループ化管理部１３３は、一時記憶部１６０において予め確保された領域に、一時的に記憶しているイメージ描画命令に対応するＸＭＬデータを書き出す。
【００９５】
ステップＳ１１２０にて、共通属性グループ化管理部１３３は、イメージ描画命令の処理状態を「初期状態」に設定する。この設定の状態は、たとえば一時記憶部１６０において当該処理のために確保された領域に「初期状態」を表わすデータを書き込むことにより実現される。
【００９６】
図１２を参照して、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態を分類する。当該処理状態が「テキスト描画命令のグループ化開始前」である場合には、制御はステップＳ１２２０に移される。当該処理状態が「テキスト色属性のグループ化中」である場合には、制御はステップＳ１２３０に移される。当該処理状態が「フォント属性のグループ化中」である場合には、制御はステップＳ１２４０に移される。
【００９７】
ステップＳ１２２０にて、共通属性グループ化管理部１３３は、一時記憶部１６０に記憶しているテキスト描画命令に対応するＸＭＬデータを書き出す。共通属性グループ化管理部１３３は、このとき、同様に一時記憶部１６０に記憶しているテキスト色、フォントの属性情報を含んだ形で当該データを書き出す。
【００９８】
ステップＳ１２３０にて、共通属性グループ化管理部１３３は、グループ化中であったフォント属性情報のグループ化終了要素を一時記憶部１６０において予め確保された領域に書き出す。さらに、共通属性グループ化管理部１３３は、グループ化中であったテキスト色属性情報のグループ化終了要素を、一時記憶部１６０の他の領域に同様に書き出す。
【００９９】
ステップＳ１２４０にて、共通属性グループ化管理部１３３は、グループ化中であったテキスト色属性情報のグループ化終了要素を一時記憶部１６０において予め確保された領域に書き出す。さらに、共通属性グループ化管理部１３３は、グループ化中であったフォント属性情報のグループ化終了要素を、一時記憶部１６０の他の領域に同様に書き出す。
【０１００】
図１３を参照して、ステップＳ１３１０にて、共通属性グループ化管理部１３３は、一時記憶部１６０に記憶している１つ前の図形描画命令時におけるペンおよびブラシの属性情報と、当該図形描画命令時におけるペンおよびブラシの属性情報とを比較する。当該比較の結果、ペン属性のみが一致する場合には、制御はステップＳ１４００に移される。ブラシ属性のみが一致する場合には、制御はステップＳ１５００に移される。ペンおよびブラシのいずれの属性も一致する場合には、制御はステップＳ１６００に移される。ペンの属性およびブラシの属性のいずれも一致しない場合には、制御はステップＳ１７００に移される。
【０１０１】
ステップＳ１４００にて、共通属性グループ化管理部１３３は、後述する第１の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実現される。
【０１０２】
ステップＳ１５００にて、共通属性グループ化管理部１３３は、後述する第２の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実現される。
【０１０３】
ステップＳ１６００にて、共通属性グループ化管理部１３３は、後述する第３の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実現される。
【０１０４】
ステップＳ１７００にて、共通属性グループ化管理部１３３は、後述する第４の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実現される。
【０１０５】
図１４を参照して、ステップＳ１４１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態の分類を行なう。この分類は、各命令にそれぞれ対応付けられる属性に従って行なわれる。当該処理状態が「図形描画命令のグループ化開始前」である場合には、制御はステップＳ１４２０に移される。当該処理状態が「ペン属性のグループ化中」である場合には、制御はステップＳ１４３０に移される。当該処理状態が「ブラシ属性のグループ化中」である場合には、制御はステップＳ１４４０に移される。
【０１０６】
ステップＳ１４２０にて、共通属性グループ化管理部１３３は、第１の処理として、一時記憶部１６０において予め確保した領域に、ペンの属性情報に含まれるグループ化開始要素を書き出す。共通属性グループ化管理部１３３は、第２の処理として、一時記憶部１６０に格納されている前回の図形描画命令時におけるブラシの属性情報のグループ化開始要素を、他の領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、一時記憶部１６０に格納されている前回の図形描画命令に対応するＸＭＬデータを、今回の命令の処理のために確保された領域に書き出す。共通属性グループ化管理部１３３は、第４の処理として、第２の処理において使用されたブラシの属性情報についてのグループ化終了要素を、一時記憶部１６０に書き出す。共通属性グループ化管理部１３３は、第５の処理として、今回の図形描画命令についてのブラシの属性情報のグループ化開始要素を書き出す。共通属性グループ化管理部１３３は、第６の処理として、今回の図形描画命令に対応するＸＭＬデータを書き出す。共通属性グループ化管理部１３３は、第７の処理として、現在選択されているペン、ブラシのハンドル名をそれぞれ書き込み、共通属性のグループ化処理状態を「ペン属性のグループ化中」とする。当該処理状態を表わすデータは、一時記憶部１６０において事前に確保された領域に格納される。
【０１０７】
ステップＳ１４３０にて、共通属性グループ化管理部１３３は、第１の処理として、一時記憶部１６０において確保された領域に、前回の図形描画命令についてのブラシ属性情報のグループ化終了要素を格納する。共通属性グループ化管理部１３３は、第２の処理として、今回の図形描画命令についてのブラシの属性情報のグループ化開始要素を一時記憶部１６０に確保された領域に格納する。共通属性グループ化管理部１３３は、第３の処理として、今回の図形描画命令に対応するＸＭＬデータを一時記憶部１６０において確保された領域に書き込む。共通属性グループ化管理部１３３は、第４の処理として、現在選択されているペンおよびブラシのハンドル名を一時記憶部１６０に書き込み、共通属性のグループ化処理状態を「ペン属性のグループ化中」とする。当該処理状態を表わすデータも、一時記憶部１６０において確保された領域に格納される。
【０１０８】
ステップＳ１４４０にて、共通属性グループ化管理部１３３は、第１の処理として、一時記憶部１６０において確保された領域に、前回の図形描画命令についてのペン属性情報のグループ化終了要素を書き込む。共通属性グループ化管理部１３３は、第２の処理として、上記領域とは別の領域に、今回の図形描画命令についてのブラシの属性情報のグループ化終了要素を書き込む。共通属性グループ化管理部１３３は、第３の処理として、現在選択されているペンおよびブラシの各ハンドル名と、今回の図形描画命令とを一時記憶部１６０において確保された領域に格納し、共通属性のグループ化処理状態を「図形描画命令のグループ化開始前」とする。当該処理状態を表わすデータも、一時記憶部１６０において確保された領域に格納される。
【０１０９】
図１５を参照して、ステップＳ１５１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「図形描画命令のグループ化開始前」である場合には、制御はステップＳ１５２０に移される。当該処理状態が「ペン属性のグループ化中」である場合には、制御はステップＳ１５３０に移される。当該処理状態が「ブラシ属性のグループ化中」である場合には、制御はステップＳ１５４０に移される。
【０１１０】
ステップＳ１５２０にて、共通属性グループ化管理部１３３は、第１の処理として、ブラシの属性情報のグループ化開始要素を書き出す。共通属性グループ化管理部１３３は、第２の処理として、一時記憶部１６０に保持されている前回の図形描画命令時におけるペンの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、一時記憶部１６０に保持されている前回の図形描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、第４の処理として、第２の処理において参照されたペンの属性情報についてのグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第５の処理として、今回の図形描画命令についてのペンの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第６の処理として、今回の図形描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、第７の処理として現在選択されているペンおよびブラシのハンドル名を一時的に保持し、共通属性のグループ化処理状態を「ブラシ属性のグループ化中」とする。
【０１１１】
ステップＳ１５３０にて、共通属性グループ化管理部１３３は、第１の処理として、前回の図形描画命令についてのブラシ属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、前回の図形描画命令についてのペン属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時的に保存し、共通属性のグループ化処理状態を「図形描画命令の開始前」とする。
【０１１２】
ステップＳ１５４０にて、共通属性グループ化管理部１３３は、第１の処理として、前回の図形描画命令についてのペン属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、今回の図形描画命令についてのペンの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、今回の図形描画命令に対応するＸＭＬデータを書き出す。共通属性グループ化管理部１３３は、第４の処理として、現在選択されているペンおよびブラシの各ハンドル名を一時的に保存し、共通属性のグループ化処理状態を「ブラシ属性のグループ化中」とする。
【０１１３】
図１６を参照して、ステップＳ１６１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「図形描画命令のグループ化開始前」である場合には、制御はステップＳ１６２０に移される。当該処理状態が「ペン属性のグループ化中」である場合には、制御はステップＳ１６３０に移される。当該処理状態が「ブラシ属性のグループ化中」である場合には、制御はステップＳ１６４０に移される。
【０１１４】
ステップＳ１６２０にて、共通属性グループ化管理部１３３は、第１の処理として、ペンの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、一時記憶部１６０に保持されている前回の図形描画命令時におけるブラシの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、一時記憶部１６０に格納されている前回の図形描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、上記第２の処理において参照されたブラシの属性情報についてのグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第５の処理として、今回の図形描画命令についてのブラシの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第６の処理として、今回の図形描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、第７の処理として、現在選択されているペンおよびブラシの各ハンドル名を一時記憶部１６０に書き込み、共通属性のグループ化処理状態を「ペン属性のグループ化中」とする。
【０１１５】
ステップＳ１６３０にて、共通属性グループ化管理部１３３は、第１の処理として、今回の図形描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時的に記憶し、共通属性のグループ化処理状態を「ペン属性のグループ化中」とする。
【０１１６】
ステップＳ１６４０にて、共通属性グループ化管理部１３３は、第１の処理として、今回の図形描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時的に格納し、共通属性のグループ化処理状態を「ブラシ属性のグループ化中」とする。
【０１１７】
図１７を参照して、ステップＳ１７１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「図形描画命令のグループ化開始前」である場合には、制御はステップＳ１７２０に移される。当該処理状態が「ペン属性のグループ化中」である場合には、制御はステップＳ１７３０に移される。当該処理状態が「ブラシ属性のグループ化中」である場合には、制御はステップＳ１７４０に移される。
【０１１８】
ステップＳ１７２０にて、共通属性グループ化管理部１３３は、第１の処理として、一時記憶部１６０に格納されている前回の図形描画命令に対応するＸＭＬデータをワーク領域に書き出す。このとき、共通属性グループ化管理部１３３は、一時的に記憶されている前回の図形描画命令時におけるペンおよびブラシの属性情報を含んだ形で、データをワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時記憶部１６０に記憶し、共通属性のグループ化処理状態を「図形描画命令の開始前」とする。
【０１１９】
ステップＳ１７３０にて、共通属性グループ化管理部１３３は、第１の処理として、前回の図形描画命令についてのブラシの属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、前回の図形描画命令についてのペンの属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時的に格納し、共通属性のグループ化処理状態を「図形描画命令の開始前」とする。
【０１２０】
ステップＳ１７４０にて、共通属性グループ化管理部１３３は、第１の処理として、前回の図形描画命令についてのペンの属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、前回の図形描画命令についてのブラシ属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時的に記憶し、共通属性のグループ化処理状態を「図形描画命令の開始前」とする。
【０１２１】
図１８を参照して、ステップＳ１８１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「初期状態」である場合には、制御はステップＳ１８２０に移される。当該処理状態が「図形描画命令のグループ化開始前」、「ペン属性のグループ化中」、および「ブラシ属性のグループ化中」のいずれかである場合には、制御はステップＳ１９００に移される。当該処理状態が「テキスト描画命令のグループ化開始前」、「フォント属性のグループ化中」、および「テキストから属性のグループ化中」のいずれかである場合には、制御はステップＳ２０００に移される。
【０１２２】
ステップＳ１８２０にて、共通属性グループ化管理部１３３は、イメージ描画命令の処理状態が「処理中」であるか否かを判断する。共通属性グループ化管理部１３３が、当該処理状態は「処理中」であると判断すると（ステップＳ１８２０にてＹＥＳ）、制御はステップＳ１１００に移される。そうでない場合には（ステップＳ１８２０にてＮＯ）、制御はステップＳ１８３０に移される。
【０１２３】
ステップＳ１８３０にて、共通属性グループ化管理部１３３は、現在選択あるいは指定されているフォントのハンドル名とテキスト色と当該テキスト描画命令とを一時記憶部１６０に格納し、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。
【０１２４】
ステップＳ１９００にて、共通属性グループ化管理部１３３は、後述する図形描画命令のグループ化終了処理を実行する。この処理が実行されると、共通属性のグループ化処理状態に応じて予め規定された処理がそれぞれ実現される。
【０１２５】
ステップＳ２０００にて、共通属性グループ化管理部１３３は、後述するテキスト描画命令のＸＭＬ変換処理を実行する。この処理が実行されると、テキスト描画命令に含まれる続性に応じて予め規定された処理が実現される。
【０１２６】
図１９を参照して、ステップＳ１９１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「描画命令のグループ化開始前」である場合には、制御はステップＳ１９２０に移される。当該処理状態が「ペン属性のグループ化中」である場合には、制御はステップＳ１９３０に移される。当該処理状態が「ブラシ属性のグループ化中」である場合には、制御はステップＳ１９４０に移される。
【０１２７】
ステップＳ１９２０にて、共通属性グループ化管理部１３３は、一時記憶部１６０に格納されている前回の図形描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、このとき同様に格納されている前回の図形描画命令時におけるペンおよびブラシの各属性情報を含んだ形で当該データを書き出す。
【０１２８】
ステップＳ１９３０にて、共通属性グループ化管理部１３３は、第１の処理として、グループ化中であったブラシ属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、グループ化中であったペンの属性情報のグループ化終了要素をワーク領域に書き出す。
【０１２９】
ステップＳ１９４０にて、共通属性グループ化管理部１３３は、第１の処理として、グループ化中であったペンの属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、グループ化中であったブラシの属性情報のグループ化終了要素をワーク領域に書き出す。
【０１３０】
図２０を参照して、ステップＳ２０１０にて、共通属性グループ化管理部１３３は、一時記憶部１６０に格納されている１つ前のテキスト描画命令時のフォントのハンドル名およびテキスト色と、今回のテキスト描画命令に含まれるフォントのハンドル名およびテキスト色とを比較する。比較の結果テキスト色のみが一致する場合には、制御はステップＳ２１００に移される。フォントのハンドル名のみが一致する場合には、制御はステップＳ２２００に移される。フォントのハンドル名とテキスト色とがいずれも一致する場合には、制御はステップＳ２３００に移される。フォントのハンドル名およびテキスト色のいずれも一致しない場合には、制御はステップＳ２４００に移される。
【０１３１】
ステップＳ２１００にて、共通属性グループ化管理部１３３は、後述する第５の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された各処理が実現される。
【０１３２】
ステップＳ２２００にて、共通属性グループ化管理部１３３は、後述する第６の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定されたそれぞれの処理が実現される。
【０１３３】
ステップＳ２３００にて、共通属性グループ化管理部１３３は、後述する第７の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実行される。
【０１３４】
ステップＳ２４００にて、共通属性グループ化管理部１３３は、後述する第８の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実行される。
【０１３５】
図２１を参照して、ステップＳ２１１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態の分類を行なう。分類の結果、当該処理状態が「テキスト描画命令のグループ化開始前」である場合には、制御はステップＳ２１２０に移される。当該処理状態が「テキスト色属性のグループ化中」である場合には、制御はステップＳ２１３０に移される。当該処理状態が「フォント属性のグループ化中」である場合には、制御はステップＳ２１４０に移される。
【０１３６】
ステップＳ２１２０にて、共通属性グループ化管理部１３３は、第１の処理として、テキスト色属性のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、フォント属性のグループ化開始要素を他のワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、一時記憶部１６０に保持されているテキスト描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、第４の処理として、上記第２の処理において参照されたフォント属性についてのグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第５の処理として、今回のテキスト描画命令についてのフォント属性のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第６の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部１６０において確保した領域に保持し、共通属性のグループ化処理状態を「テキスト色属性のグループ化中」とする。
【０１３７】
ステップＳ２１３０にて、共通属性グループ化管理部１３３は、第１の処理として、一時記憶部１６０に保持されているテキスト描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、処理状態が「グループ化中」であったフォントの属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、今回のテキスト描画命令についてのフォントの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第４の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部１６０において確保した領域に保持し、共通属性のグループ化処理状態を「テキスト色属性のグループ化中」とする。
【０１３８】
ステップＳ２１４０にて、共通属性グループ化管理部１３３は、第１の処理として、一時記憶部１６０に保持されているテキスト描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、処理状態が「グループ化中」であったテキスト色属性のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、当該処理状態が「グループ化中」であったフォント属性の属性のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第４の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部１６０において予め確保した領域に保持し、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。
【０１３９】
図２２を参照して、ステップＳ２２１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「テキスト描画命令のグループ化開始前」である場合には、制御はステップＳ２２２０に移される。当該処理状態が「テキスト色属性のグループ化中」である場合には、制御はステップＳ２２３０に移される。当該処理状態が「フォント属性のグループ化中」である場合には、制御はステップＳ２２４０に移される。
【０１４０】
ステップＳ２２２０にて、共通属性グループ化管理部１３３は、第１の処理として、フォント属性のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、テキスト色属性のグループ化開始要素を他のワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として一時記憶部１６０に保持されているテキスト描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、第４の処理として上記第２の処理において参照されたテキスト色属性についてグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第５の処理として、今回のテキスト描画命令についてのテキスト色属性のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第６の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部１６０において確保した領域に保持し、共通属性のグループ化処理状態を「フォント属性のグループ化中」とする。
【０１４１】
ステップＳ２２３０にて、共通属性グループ化管理部１３３は、第１の処理として、一時記憶部１６０に保持されているテキスト描画命令に対応するＸＭＬデータをワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として処理状態が「グループ化中」であったフォント属性のグループ化終了要素を書き出す。共通属性グループ化管理部１３３は、第３の処理として処理状態が「グループ化中」であったテキスト色属性のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第４の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部１６０において確保された領域に保持し、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。
【０１４２】
ステップＳ２１４０にて、共通属性グループ化管理部１３３は、第１の処理として、一時記憶部１６０に保持されているテキスト描画命令に対応するＸＭＬデータを書き出す。共通属性グループ化管理部１３３は、第２の処理として、処理状態が「グループ化中」であったテキスト色属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第３の処理として、今回のテキスト描画命令についてのテキスト色属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第４の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部１６０において確保された領域に書き込み、共通属性のグループ化処理状態を「フォント属性グループ化中」とする。
【０１４３】
図２３を参照して、ステップＳ２３１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態が「テキスト描画命令のグループ化処理前」であるか否かを判断する。共通属性グループ化管理部１３３が、当該処理状態は「テキスト描画命令のグループ化処理前」であると判断すると（ステップＳ２３１０にてＹＥＳ）、制御はステップＳ２３２０に移される。そうでない場合には（ステップＳ２３１０にてＮＯ）、制御はステップＳ２３３０に移される。
【０１４４】
ステップＳ２３２０にて、共通属性グループ化管理部１３３は、第１の処理として、テキスト色のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、フォント属性のグループ化開始要素を他のワーク領域に書き出す。
【０１４５】
ステップＳ２３３０にて、共通属性グループ化管理部１３３は、一時記憶部１６０に保持されているテキスト描画命令に含まれるｙ座標と今回のテキスト描画命令に含まれるｙ座標とが一致するか否かを判断する。共通属性グループ化管理部１３３がこれらのｙ座標は一致すると判断すると（ステップＳ２３３０にてＹＥＳ）、制御はステップＳ２３４０に移される。そうでない場合には（ステップＳ２３３０にてＮＯ）、制御はステップＳ２３５０に移される。
【０１４６】
ステップＳ２３４０にて、共通属性グループ化管理部１３３は、一時記憶部１６０に保持されているテキスト描画命令の最後の文字と、今回のテキスト描画命令の最初の文字とが隣接しているか否かを判断する。この判断は、たとえば各文字の座標値を比較することにより行なわれる。共通属性グループ化管理部１３３が、当該最後の文字と当該最初の文字とは隣接していると判断すると（ステップＳ２３４０にてＹＥＳ）、制御はステップＳ２３７０に移される。そうでない場合には（ステップＳ２３４０にてＮＯ）、制御はステップＳ２３５０に移される。
【０１４７】
ステップＳ２３５０にて、共通属性グループ化管理部１３３は、一時記憶部１６０に保持されているテキスト描画命令に対応するＸＭＬデータをワーク領域に書き出す。ステップＳ２３６０にて、共通属性グループ化管理部１３３は、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部１６０において事前に確保された領域に保持する。
【０１４８】
ステップＳ２３７０にて、共通属性グループ化管理部１３３は、一時記憶部１６０に保持されているテキスト描画命令に今回のテキスト描画命令を加える。ステップＳ２３８０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態を「テキスト色属性グループ化処理中」とする。
【０１４９】
図２４を参照して、ステップ２４１０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「テキスト描画命令のグループ化開始前」である場合には、制御はステップＳ２４２０に移される。当該処理状態が「テキスト色属性のグループ化中」である場合には、制御はステップＳ２４３０に移される。当該処理状態が「フォント属性のグループ化中」である場合には、制御はステップＳ２４４０に移される。
【０１５０】
ステップＳ２４２０にて、共通属性グループ化管理部１３３は、第１の処理として、一時記憶部１６０に保持されているテキスト描画命令に対応するＸＭＬデータデータをワーク領域に書き出す。このとき、共通属性グループ化管理部１３３は、同様に保持されているフォントおよびテキスト色の属性情報を含んだ形でＸＭＬデータを書き出す。共通属性グループ化管理部１３３は、第２の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部１６０に書き込み、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。
【０１５１】
ステップＳ２４３０にて、共通属性グループ化管理部１３３は、第１の処理として、処理状態が「グループ化中」であったフォント属性についてグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として、処理状態が「グループ化中」であったテキスト色属性についてのグループ化終了要素を書き出す。共通属性グループ化管理部１３３は、第３の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色の今回のテキスト描画命令とを一時記憶部１６０において確保された領域に書き込み、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。
【０１５２】
ステップＳ２４４０にて、共通属性グループ化管理部１３３は、第１の処理として、処理状態が「グループ化中」であったテキスト色属性についてのグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部１３３は、第２の処理として処理状態が「グループ化中」であったフォント属性についてのグループ化終了要素を書き出す。共通属性グループ化管理部１３３は、第３の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色の今回のテキスト描画命令とを一時記憶部１６０に書き込み、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。
【０１５３】
図２５を参照して、ステップＳ２５１０にて、共通属性グループ化管理部１３３は、イメージ描画命令の処理状態の分類を行なう。当該処理状態が「処理中」である場合には、制御はステップＳ２５３０に移される。当該処理状態が「初期状態」である場合には、制御はステップＳ２５２０に移される。
【０１５４】
ステップＳ２５２０にて、共通属性グループ化管理部１３３は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「図形描画命令のグループ化開始前」、「ペン属性のグループ化中」、および「テキスト色属性のグループ化中」のいずれかである場合には、制御はステップＳ１９００に移される。当該処理状態が「テキスト描画命令のグループ化開始前」、「フォント属性のグループ化中」、および「テキスト色属性のグループ化中」のいずれかである場合には、制御はステップＳ１２００に移される。当該処理状態が「初期状態」である場合には、制御はステップＳ２５５０に移される。
【０１５５】
ステップＳ２５３０にて、イメージ描画データ最適化部１３５は、一時記憶部１６０に記憶されているイメージ描画命令が描くイメージの領域と今回のイメージ描画命令に基づいて描かれるイメージの領域とが接するかあるいは重なっているか否かを判断する。イメージ描画データ最適化部１３５がこれらの領域は接しているあるいは重なっていると判断すると（ステップＳ２５３０にてＹＥＳ）、制御はステップＳ２５６０に移される。そうでない場合は（ステップＳ２５３０にてＮＯ）、制御はステップＳ２５４０に移される。
【０１５６】
ステップＳ２５４０にて、イメージ描画データ最適化部１３５は、一時記憶部１６０に格納されているイメージ描画命令に対応するＸＭＬデータをワーク領域に書き出す。
【０１５７】
ステップＳ２５５０にて、イメージ描画データ最適化部１３５は、今回のイメージ描画命令を一時記憶部１６０において確保した領域に格納し、イメージ描画命令の処理状態を「処理中」とする。
【０１５８】
ステップＳ２５６０にて、イメージ描画データ最適化部１３５は、一時記憶部１６０に格納されているイメージ描画命令に、今回のイメージ描画命令を加える。
【０１５９】
図２６を参照して、ステップＳ２６１０にて、ＸＭＬデータ生成部１３０は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「図形描画命令のグループ化開始前」、「ペン属性のグループ化中」および「テキスト色属性のグループ化中」のいずれかである場合には、制御はステップＳ１９００に移される。当該処理状態が「テキスト描画命令のグループ化開始前」、「フォント属性のグループ化中」、および「テキスト色属性のグループ化中」のいずれかである場合には、制御はステップＳ１２００に移される。当該処理状態が「初期状態」である場合には、制御はステップＳ２６２０に移される。
【０１６０】
ステップＳ２６２０にて、ＸＭＬデータ生成部１３０は、イメージ描画命令の処理状態が「処理中」であるか否かを判断する。ＸＭＬデータ生成部１３０が、当該処理状態は「処理中」であると判断すると（ステップＳ２６２０にてＹＥＳ）、制御はステップＳ１１００に移される。そうでない場合には（ステップＳ２６２０にてＮＯ）、制御はステップＳ２６３０に移される。
【０１６１】
ステップＳ２６３０にて、ＸＭＬデータ生成部１３０は、ＸＭＬのフッタを生成する。
以上のような構造およびフローチャートに基づく電子ドキュメントデータ処理装置１００の動作について説明する。ここでは、電子ドキュメントデータ処理装置が図３に示される印刷描画データファイル３００を使用する場合について説明する。
【０１６２】
［１行目］
電子ドキュメントデータ処理装置の制御部１５０は、ＥＭＦの１行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＨＥＡＤＥＲ」）を読み出す（ステップＳ９１０）。そのレコードはヘッダ命令であるため（ステップＳ９２０）、ＸＭＬのヘッダ生成処理が実行される（ステップＳ９３０）。その結果、図５に示されるようなｘｍｌ宣言とｓｖｇ要素の開始タグが書き出される。その後、ステップＳ９１０の処理が再度実行される。
【０１６３】
［２行目］
制御部１５０はＥＭＦの２行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＣＲＥＡＴＥＰＥＮ」）を読み出す（ステップＳ９１０）。当該レコードはペン生成命令であるため（ステップＳ９２０）、ステップＳ９４０に示される処理が実行される。その結果、図６に示されるように、ハンドル名「ｐｅｎ１」と、ペンの色「＃００００００」と、ペンの幅「２」の各情報がテーブル６１０に格納される。その後、ステップＳ９１０の処理が再度実行される。
【０１６４】
［３行目］
制御部１５０はＥＭＦの３行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＳＥＬＥＣＴＯＢＪＥＣＴ」）を読み出す（ステップＳ９１０）。当該レコードはオブジェクト選択命令であるため（ステップＳ９２０）、ステップＳ９８０に示される処理が実行される。その結果、図７に示されるように、現在選択されているペンが、ハンドル名「ｐｅｎ１」として特定されるペンであることを表わす情報が、テーブル７００に登録される（状態（Ａ））。その後、ステップＳ９１０の処理が再度実行される。
【０１６５】
［４行目］
制御部１５０はＥＭＦの４行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＣＲＥＡＴＥＢＲＵＳＨＩＮＤＩＲＥＣＴ」）を読み出す（ステップＳ９１０）。当該レコードはブラシ生成命令であるため（ステップＳ９２０）、ステップＳ９５０に示される処理が実行される。その結果、図６に示されるように、ハンドル名「ｂｒｕｓｈ１」とブラシの色「＃ＦＦ００００」の各情報が、テーブル６２０に格納される。その後、ステップＳ９１０の処理が再度実行される。
【０１６６】
［５行目］
制御部１５０はＥＭＦの５行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＳＥＬＥＣＴＯＢＪＥＣＴ」）を読み出す（ステップＳ９１０）。当該レコードはオブジェクト選択命令であるため（ステップＳ９２０）、ステップＳ９８０に示される処理が実行される。その結果、図７に示されるように、現在選択されているブラシが、ハンドル名「ｂｒｕｓｈ１」として特定されるブラシであることを表わす情報が、テーブル７００に追加される（状態（Ｂ））。その後、ステップＳ９１０の処理が再度実行される。
【０１６７】
［６行目］
制御部１５０はＥＭＦの６行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＲＥＣＴＡＮＧＬＥ」）を読み出す（ステップＳ９１０）。当該レコードは図形描画命令であるため（ステップＳ９２０）、ステップＳ１０００に示される処理が実行される。この時点では、共通属性のグループ化処理状態が初期状態であり、イメージ描画命令の処理状態も「初期状態」であるため（ステップＳ１０１０、ステップＳ１０２０にてＮＯ）。したがって、ペンのハンドル名「ｐｅｎ１」、ブラシのハンドル名「ｂｒｕｓｈ１」、図形描画命令「ＥＭＲ＿ＲＥＣＴＡＮＧＬＥ  ｌｅｆｔ＝“１００”  ｔｏｐ＝“１００”  ｒｉｇｈｔ＝“１１００”  ｂｏｔｔｏｍ＝“６００”」が一時記憶部１６０に格納される（ステップＳ１０３０）。また、制御部１５０は、共通属性のグループ化状態を、「図形描画命令のグループ化開始前」に設定する。制御部１５０は、図形描画命令をＸＭＬに変換することなく処理を終了し、制御は、ステップＳ１０００を読み出した処理に復帰する。
【０１６８】
［７行目］
制御部１５０はＥＭＦの７行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＣＲＥＡＴＥＢＲＵＳＨＩＮＤＩＲＥＣＴ」）を読み出す（ステップＳ９１０）。４行目のレコードに対して実行された処理と同様の処理が実行される。その結果、図６に示されるように、ハンドル名「ｂｒｕｓｈ２」とブラシの色「＃ＦＦＦＦ００」の各情報が、データレコード６２５として、テーブル６２０に追加される。その後、ステップＳ９１０の処理が再度実行される。
【０１６９】
［８行目］
制御部１５０は、ＥＭＦの８行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＳＥＬＥＣＴＯＢＪＥＣＴ」）を読み出す（ステップＳ９１０）。５行目のレコードに対して実行された処理と同様の処理が実行される。その結果、図７に示されるように、現在選択されているブラシが、ハンドル名「ｂｒｕｓｈ２」として特定されるブラシであることを表わす情報が、テーブル７００に書き込まれ、テーブル７００が更新される（状態（Ｃ））。その後、ステップＳ９１０の処理が再度実行される。
【０１７０】
［９行目］
制御部１５０は、ＥＭＦの９行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＲＥＣＴＡＮＧＬＥ」）を読み出す（ステップＳ９１０）。当該レコードは図形描画命令であるため（ステップＳ９２０）、ステップＳ１０００に示される処理が実行される。この時点では、共通属性のグループ化処理状態が「図形描画命令のグループ化開始前」であるため、図形描画命令のＸＭＬ変換処理（ステップＳ１３００）が実行される。
【０１７１】
具体的には、前回の図形描画命令時（６行目のレコード参照）のペンおよびブラシの各ハンドル名は、それぞれ「ｐｅｎ１」、「ｂｒｕｓｈ１」であり、今回の図形描画命令時のペンおよびブラシの各ハンドル名は、それぞれ「ｐｅｎ１」、「ｂｒｕｓｈ２」である。したがって、ペンのハンドル名のみが一致する。そこで、第１の変換処理（ステップＳ１４００）が実行される。
【０１７２】
ここでは、既に６行目のレコードに対する処理が実行された時に、共通属性のグループ化状態が「図形描画命令のグループ化開始前」に設定されているため、第１の変換処理においては、ステップＳ１４２０として規定されている処理が実行されることになる。
【０１７３】
すなわち、第１の処理として、ペンのハンドル名「ｐｅｎ１」の属性情報から、線の色「＃００００００」および線の幅「２」を表すＸＭＬのグループ化開始要素「＜ｇ  ｓｔｒｏｋｅ＝“＃００００００” ｓｔｒｏｋｅ−ｗｉｄｔｈ＝“２”＞」が、一時記憶部１６０に確保された領域に書き込まれる（図５に示されるＳＶＧファイル５００の３行目）。
【０１７４】
第２の処理として、ブラシのハンドル名「ｂｒｕｓｈ１」の属性情報から、塗りつぶしの色「＃ＦＦ００００」を表すＸＭＬのグループ化開始要素「＜ｇ  ｆｉｌｌ＝“＃ＦＦ００００”＞」が、一時記憶部１６０に確保された領域に書き込まれる（ＳＶＧファイル５００の４行目）。
【０１７５】
第３の処理として、一時記憶部１６０の他の領域に格納されていた図形描画命令「ＥＭＲ＿ＲＥＣＴＡＮＧＬＥ  ｌｅｆｔ＝“１００”  ｔｏｐ＝“１００”  ｒｉｇｈｔ＝“１１００”  ｂｏｔｔｏｍ＝“６００”」がＸＭＬデータに変換され、変換後のデータである「＜ｒｅｃｔ  ｘ＝“１００”  ｙ＝“１００”  ｗｉｄｔｈ＝“１０００”  ｈｅｉｇｈｔ＝“５００”／＞」が、一時記憶部１６０に確保された領域に書き込まれる（ＳＶＧファイル５００の５行目）。
【０１７６】
ここで、上記ブラシの属性は、第３の処理において書き込まれた前回の図形描画命令にのみ有効である。そこで、第４の処理として、当該ブラシ属性のグループ化開始要素に対応するグループ化終了要素が当該領域に書き込まれる（ＳＶＧファイル５００の６行目）。
【０１７７】
第５の処理として、ブラシのハンドル名「ｂｒｕｓｈ２」の属性情報から、塗りつぶしの色「＃００００ＦＦ」を表すＸＭＬのグループ化開始要素「＜ｇ  ｆｉｌｌ＝“＃００００ＦＦ”＞」が、上記領域に書き込まれる（ＳＶＧファイル５００の７行目）。
【０１７８】
第６の処理として、今回の図形描画命令「ＥＭＲ＿ＲＥＣＴＡＮＧＬＥ  ｌｅｆｔ＝“１２００”  ｔｏｐ＝“１００”  ｒｉｇｈｔ＝“２２００”  ｂｏｔｔｏｍ＝“６００”」がＸＭＬデータに変換され、当該変換により生成されたデータである「＜ｒｅｃｔ  ｘ＝“１２００”  ｙ＝“１００”  ｗｉｄｔｈ＝”１０００“  ｈｅｉｇｈｔ＝”５００“／＞」が、上記領域に書き込まれる（ＳＶＧファイル５００の８行目）。
【０１７９】
第７の処理として、ペンのハンドル名「ｐｅｎ１」、ブラシのハンドル名「ｂｒｕｓｈ２」が一時記憶部１６０において確保された他の領域に格納される。共通属性のグループ化状態は、「ペン属性のグループ化中」に設定される。以上の処理が完了すると、その後、ステップＳ９１０の処理が再度実行される。
【０１８０】
［１０行目］
制御部１５０は、ＥＭＦの１０行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＥＸＴＣＲＥＡＴＥＦＯＮＴＩＮＤＩＲＥＣＴＷ」）を読み出す（ステップＳ９１０）。当該レコードはフォント生成命令であるため（ステップＳ９２０）、ステップＳ９６０として規定される処理が実行される。具体的には、図６に示されるように、ハンドル名「ｆｏｎｔ１」、フォントファミリ「ＭＳ  ゴシック」、フォントサイズ「４４」、フォントウェイト「７００」の各データが、テーブル６３０においてデータレコード６３５として記録される。
【０１８１】
［１１行目］
制御部１５０は、ＥＭＦの１１行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＳＥＬＥＣＴＯＢＪＥＣＴ」）を読み出す（ステップＳ９１０）。当該レコードはオブジェクト選択命令であるため（ステップＳ９２０）、ステップＳ９８０に示される処理が実行される。その結果、図７に示されるように、現在選択されているフォントはハンドル名「ｆｏｎｔ１」のフォントであることを表す情報が、カレントオブジェクト管理テーブル７００に登録される（状態（Ｄ））。その後、ステップＳ９１０の処理が再度実行される。
【０１８２】
［１２行目］
制御部１５０は、ＥＭＦの１２行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＳＥＴＴＥＸＴＣＯＬＯＲ」）を読み出す（ステップＳ９１０）。当該レコードはテキスト色指定命令であるため（ステップＳ９２０）、ステップＳ９７０に示される処理が実行される。その結果、図８に示されるように、現在指定されているテキスト色は「＃００００００」であることを表すデータ８１０が、テキスト色管理テーブル８００に登録される。
【０１８３】
［１３行目］
制御部１５０は、ＥＭＦの１３行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ」）を読み出す（ステップＳ９１０）。当該レコードはテキスト描画命令であるため（ステップＳ９２０）、ステップＳ１８００に示される処理が実行される。
【０１８４】
この時点で、共通属性のグループ化処理状態が「ペン属性のグループ化中」であるため、ステップＳ１９００として規定される処理が実行される。具体的には、共通属性のグループ化処理状態が上記のように分類されたことに基づき、ステップＳ１９３０として規定されている処理が実行される。
【０１８５】
具体的には、第１の処理として、グループ化中であったブラシ属性情報のグループ化終了要素が、一時記憶部１６０に書き込まれる（図５に示されるＳＶＧファイル５００の９行目）。第２の処理として、グループ化中であったペン属性情報のグループ化終了要素が、一時記憶部１６０に書き込まれる（ＳＶＧファイル５００における１０行目）。
【０１８６】
その後、フォントのハンドル名「ｆｏｎｔ１」、テキスト色「＃００００００」、および、テキスト描画命令「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“２００”  ｙ＝“２００”  ｄａｔａ＝“第”」が一時記憶部１６０に格納される（ステップＳ１８３０）。共通属性のグループ化処理状態は、「テキスト描画命令のグループ化開始前」に変更される。制御部１５０は、テキスト描画命令をＸＭＬに変換することなく処理を終了する。
【０１８７】
［１４行目］
制御部１５０は、ＥＭＦの１４行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ」）を読み出す（ステップＳ９１０）。当該レコードはテキスト描画命令であるため（ステップＳ９２０）、ステップＳ１８００に示される処理が実行される。
【０１８８】
この時点で、共通属性のグループ化処理状態が「テキスト描画命令のグループ化開始前」であるため、ステップＳ２０００として規定される処理が実行される（図２０）。
【０１８９】
具体的には、一時的に記憶されている１つ前のテキスト描画命令時のフォントのハンドル名およびテキスト色と、今回のテキスト描画命令時のフォントのハンドル名およびテキスト色とが比較される。１４行目のレコードが処理される時点では、前回のテキスト描画命令時のフォントのハンドル名およびテキスト色は、それぞれ「ｆｏｎｔ１」および「＃００００００」である。今回のテキスト描画命令時のフォントのハンドル名およびテキスト色も、それぞれ「ｆｏｎｔ１」および「＃００００００」である。したがって、ステップＳ２３００として規定されている処理が実行される（図２０）。
【０１９０】
具体的には、図２３に示されるように、この時点では、共通属性のグループ化処理状態が「テキスト描画命令のグループ化処理前」である。そこで、ステップＳ２３２０に規定される処理が実行される。すなわち、第１に、前回のテキスト描画命令と今回のテキスト描画命令とに共通するテキスト色「＃００００００」を表すＸＭＬのグループ化開始要素「＜ｇ  ｆｉｌｌ＝“＃００００００”＞」が、一時記憶部１６０に書き込まれる（図５に示されるＳＶＧファイル５００の１１行目）。第２に、前回のテキスト描画命令と今回のテキスト描画命令とに共通するフォントのハンドル名「ｆｏｎｔ１」の属性情報から、フォントファミリ「ＭＳ  ゴシック」、フォントサイズ「４４」、およびフォントウェイト「７００」を表すＸＭＬのグループ化開始要素「＜ｇ  ｆｏｎｔ−ｆａｍｉｌｙ＝“ＭＳ  ゴシック”  ｆｏｎｔ−ｗｅｉｇｈｔ＝“７００”  ｆｏｎｔ−ｓｉｚｅ＝“４４”」が、一時記憶部１６０に書き込まれる（ＳＶＧファイル５００における１２行目）。
【０１９１】
その後、テキスト描画データの結合処理が行なわれる。まず、一時的に記憶しているテキスト描画命令のｙ座標と、今回のテキスト描画命令のｙ座標とが一致するかどうか確認される（ステップＳ２３３０）。この時点では、一時的に保持されているテキストの描画命令が「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“２００”  ｙ＝“２００”  ｄａｔａ＝“第”」であるため、ｙ座標は「２００」である。また、今回のテキスト描画命令が「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“２４４”  ｙ＝“２００”  ｄａｔａ＝“１”」であるため、ｙ座標は「２００」である。したがって、２つのテキスト描画命令に含まれる各ｙ座標は一致することになり（ステップＳ２３３０にてＹＥＳ）、一時的に記憶されいるテキスト描画命令の最後の文字と、今回のテキスト描画命令の最初の文字とが隣接しているか否かがｘ座標の値に基づいて確認される（ステップＳ２３４０）。
【０１９２】
ここでは、一時的に記憶されているテキスト描画命令の最後の文字「第」のｘ座標は「２００」である。また、今回のテキスト描画命令の最初の文字「１」のｘ座標は「２４４」である。このｘ座標は、一時的に記憶されているテキスト描画命令の最後の文字のｘ座標（２００）に、フォントサイズ「４４」を加えた値に等しい。したがって、一時的に記憶されているテキスト描画命令の最後の文字と今回のテキスト描画命令の最後の文字とは隣接していると判断され（ステップＳ２３４０にてＹＥＳ）、これらのデータは、結合可能となる。そこで、制御部１５０は、一時的に記憶されているテキスト描画命令に、今回のテキスト描画命令を加える（ステップＳ２３７０）。その結果、一時的に保持されるテキスト描画命令は、「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“２００，２４４”  ｙ＝“２００”  ｄａｔａ＝“第１”」となる。共通属性のグループ化処理状態は、「テキスト色属性のグループ化処理中」に設定される（Ｓ２３８０）。
【０１９３】
［１５行目］
制御部１５０は、ＥＭＦの１５行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ」）を読み出す（ステップＳ９１０）。当該レコードはテキスト描画命令であるため（ステップＳ９２０）、ステップＳ１８００に示される処理が実行される。
【０１９４】
この時点で、共通属性のグループ化処理状態は、１４行目のレコードの場合とは異なり、「テキスト色属性のグループ化処理中」であるため、ステップＳ２０００として規定される処理が実行される（図２０）。
【０１９５】
すなわち、まず、一時的に記憶されている１つ前のテキスト描画命令時のフォントのハンドル名およびテキスト色と、今回のテキスト描画命令時のフォントのハンドル名およびテキスト色が比較される（ステップＳ２０１０）。この時点では、当該ハンドル名およびテキスト色がいずれも一致するため、ステップＳ２３００として規定される処理が実行される。
【０１９６】
具体的には、共通属性のグループ化処理状態は「テキスト色属性のグループ化処理中」である（ステップＳ２３１０にてＮＯ）。また、一時的に保持されているテキスト描画命令が「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“２００，２４４”  ｙ＝“２００”  ｄａｔａ＝“第１”」であるため、当該ｙ座標は「２００」である。また、今回のテキスト描画命令が「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“２８８，３３２”  ｙ＝“２００”  ｄａｔａ＝“試合”」であるため、当該ｙ座標は「２００」である。したがって、２つのテキスト描画命令のｙ座標が一致すると判断され（ステップＳ２３３０にてＹＥＳ）、制御部１５０は、文字が隣接しているか否かを確認する（ステップＳ２３４０）。
【０１９７】
具体的には、この時点で、一時的に保持されているテキスト描画命令の最後の文字「１」のｘ座標の値は「２４４」である。また、今回のテキスト描画命令の最初の文字「試」のｘ座標の値は「２８８」である。当該ｘ座標は、一時的に保持されているテキスト描画命令の最後の文字のｘ座標の値に、フォントサイズ「４４」を加えた値に相当する。したがって、制御部１５０は、一時的に保持されているテキスト描画命令の最後の文字と今回のテキスト描画命令の最後の文字とが隣接していると判断し（ステップＳ２３４０にてＹＥＳ）、これらのデータは結合可能となる。そこで、制御部１５０は、一時記憶部１６０に格納されているテキスト描画命令に、今回のテキスト描画命令を加える（ステップＳ２３７０）。その結果、当該テキスト描画命令は、「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“２００，２４４，２８８，３３２”  ｙ＝“２００”  ｄａｔａ＝“第１試合”」となる。共通属性のグループ化処理状態は、引き続き「テキスト色属性のグループ化処理中」に設定される（ステップＳ２３８０）。
【０１９８】
［１６行目］
制御部１５０は、ＥＭＦの１６行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ」）を読み出す（ステップＳ９１０）。当該レコードはテキスト描画命令であるため（ステップＳ９２０）、ステップＳ１８００に示される処理が実行される。
【０１９９】
この時点で、共通属性のグループ化処理状態は、１５行目のレコードの場合と同様に、「テキスト色属性のグループ化処理中」であるため、ステップＳ２０００として規定される処理が実行される（図２０）。
【０２００】
すなわち、まず、一時的に記憶されている１つ前のテキスト描画命令時のフォントのハンドル名およびテキスト色と、今回のテキスト描画命令時のフォントのハンドル名およびテキスト色が比較される（ステップＳ２０１０）。この時点では、当該ハンドル名およびテキスト色がいずれも一致するため、ステップＳ２３００として規定される処理が実行される。
【０２０１】
具体的には、いずれの描画命令のｙ座標も一致する（ステップＳ２３３０にてＹＥＳ）。そこで、共通属性グループ化管理部１３３は、一時的に保持しているテキスト描画命令「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“２００，２４４，２８８，３３２”  ｙ＝“２００”  ｄａｔａ＝“第１試合”」の最後の文字「合」のｘ座標の値「３３２」と、今回のテキスト描画命令「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“１３００”  ｙ＝“２００”  ｄａｔａ＝“第”」の最初の文字「第」のｘ座標の値「１３００」とを比較する。この場合、フォントサイズ「４４」が「合」のｘ座標の値「３３２」に加えられても「第」のｘ座標の値「１３００」にはならないため、共通属性グループ化管理部１３３は、当該文字が隣接していないと判断する（ステップＳ２３４０にてＮＯ）。そこで、共通属性グループ化管理部１３３は、テキスト描画ＸＭＬデータ生成部１４０に対して、一時的に記憶されているテキスト描画命令を渡し、該当するＸＭＬデータの書き出しを指示する。
【０２０２】
具体的には、テキスト描画ＸＭＬデータ生成部１４０は、一時的に記憶されているテキスト描画命令「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“２００，２４４，２８８，３３２”  ｙ＝“２００”  ｄａｔａ＝“第１試合”」をＸＭＬデータに変換し、変換によって生成されたデータ「＜ｔｅｘｔ  ｘ＝“２００，２４４，２８８，３３２”  ｙ＝“２００”＞第１試合＜／ｔｅｘｔ＞」を一時記憶部１６０に書き込む（図５のＳＶＧファイル５００における１３行目）。
【０２０３】
カレントオブジェクト管理部１４３は、現在選択／指定されているフォントのハンドル名およびテキスト色と、当該テキスト描画命令とを保持する（ステップＳ２３６０）。具体的には、カレントオブジェクト管理部１４３は、フォントのハンドル名「ｆｏｎｔ１」、テキスト色「＃００００００」、およびテキスト描画命令「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“１３００”  ｙ＝“２００”  ｄａｔａ＝“第”」を記憶する。共通属性のグループ化処理状態は、引き続き「テキスト色属性のグループ化処理中」に設定される（Ｓ２３８０）。
【０２０４】
［１７行目および１８行目］
制御部１５０は、ＥＭＦの１７行目および１８行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ」）に対しても、上記のような処理を実行する。処理の結果、一時的に保持されるテキスト描画命令は、「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“１３００，１３４４，１３８８，１４３２”  ｙ＝“２００”  ｄａｔａ＝“第２試合”」となる。
【０２０５】
［１９行目〜２１行目］
制御部１５０は、ＥＭＦの１９行目〜２１行目における各レコードに対しても、前述と同様の処理を行なう。その結果、図６に示されるように、データレコード６３６が、フォント属性情報管理テーブル６３０に追加される。また、図７に示されるように、データレコード７３０が更新され、カレントオブジェクト管理テーブル７００は状態（Ｅ）に示される状態となる。テキスト色管理テーブル８００は、図８に示される状態のままである。
【０２０６】
［２２行目］
制御部１５０は、２２行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ」）を読み出す（ステップＳ９１０）。当該レコードはテキスト描画命令であるため（ステップＳ９２０）、ステップＳ１８００に示される処理が実行される。
【０２０７】
この時点で、共通属性のグループ化処理状態は「テキスト色属性のグループ化処理中」であるため、ステップＳ２０００として規定される処理が実行される。
【０２０８】
具体的には、一時的に記憶されている１つ前のテキスト描画命令時のフォントのハンドル名およびテキスト色と、今回のテキスト描画命令時のフォントのハンドル名およびテキスト色とが比較される（ステップＳ２０１０）。この時、前回のテキスト描画命令時のフォントのハンドル名およびテキスト色は、それぞれ「ｆｏｎｔ１」、「＃００００００」である。今回のテキスト描画命令時のフォントのハンドル名およびテキスト色は、それぞれ「ｆｏｎｔ２」、「＃００００００」である。したがって、テキスト色のみが一致することになる。そこで、ステップＳ２１００に規定される第５の変換処理が実行される。
【０２０９】
現在の共通属性のグループ化処理状態が「テキスト色属性のグループ化処理中」であるため、共通属性グループ化管理部１３３は、ステップＳ２１３０として規定される処理を行う。具体的には、共通属性グループ化管理部１３３は、第１の処理として、一時的に保持しているテキスト描画命令「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“１３００，１３４４，１３８８，１４３２”  ｙ＝“２００”  ｄａｔａ＝“第２試合”」をＸＭＬデータに変換し、変換によって生成されたデータ「＜ｔｅｘｔ  ｘ＝“１３００，１３４４，１３８８，１４３２”  ｙ＝“２００”＞第２試合＜／ｔｅｘｔ＞」を一時記憶部１６０のＳＶＧファイル５００に書き込む（図５に示されるＳＶＧファイル５００における１４行目）。共通属性グループ化管理部１３３は、第２の処理として、グループ化処理中であったフォント属性情報のグループ化終了要素をＳＶＧファイル５００に書き込む（ＳＶＧファイル５００における１５行目）。
【０２１０】
共通属性グループ化管理部１３３は、第３の処理として、今回のテキスト描画命令のフォントのハンドル名「ｆｏｎｔ２」の属性情報から、フォントファミリ「ＭＳ  ゴシック」、フォントサイズ「４４」、フォントウェイト「４００」を表すＸＭＬのグループ化要素「＜ｇ  ｆｏｎｔ−ｆａｍｉｌｙ＝“ＭＳ  ゴシック"  ｆｏｎｔ−ｗｅｉｇｈｔ＝“４００”  ｆｏｎｔ−ｓｉｚｅ＝“４４”」を、ＳＶＧファイル５００に書き込む（ＳＶＧファイル５００における１６行目）。共通属性グループ化管理部１３３は、第４の処理として、フォントのハンドル名「ｆｏｎｔ２」、テキスト色「＃００００００」、テキスト描画命令「ＥＭＲ＿ＥＸＴＴＥＸＴＯＵＴＷ  ｘ＝“２００，２４４，２８８，３３２”  ｙ＝“３００”  ｄａｔａ＝“開始時間”」を一時的に保存する。共通属性のグループ化処理状態は、引き続き「テキスト色属性のグループ化処理中」に設定される。
【０２１１】
［２３行目〜５０行目］
制御部１５０は、ＥＭＦの２３行目〜５０行目における各レコードに対しても、前述と同様の処理を行なう。その結果、図５に示されるように、１７〜４５行目に示されるＸＭＬがＳＶＧファイル５００に書き込まれる。
【０２１２】
［５２行目］
制御部１５０は、５２行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＢＩＴＢＬＴ」）を読み出す（ステップＳ９１０）。当該レコードはイメージ描画命令であるため、ステップＳ２５００として規定されたイメージ描画命令のＸＭＬ変換処理（図２５）が実行される。
【０２１３】
具体的には、まず、イメージ描画命令の処理状態が「初期状態」であるため、Ｓ２５２０において共通属性のグループ化処理状態が確認され、その後、ステップＳ２５５０において、今回のイメージ描画命令が一時的に記憶される。具体的には、イメージ描画命令「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“８００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」が一時記憶部１６０に格納される。イメージ描画処理状態は、「処理中」に設定される。
【０２１４】
［５３行目］
制御部１５０は、５３行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＢＩＴＢＬＴ」）を読み出す（ステップＳ９１０）。当該レコードもイメージ描画命令であるため、イメージ描画命令のＸＭＬ変換処理（ステップＳ２５００）が実行される。
【０２１５】
具体的には、イメージ描画命令の処理状態が「処理中」であるため、イメージ描画データ最適化部１３５は、イメージ描画データの結合処理を行う（ステップＳ２５３０）。すなわち、一時的に記憶しているイメージ描画命令が描くイメージの領域と、今回のイメージ描画命令が描くイメージの領域とが、接しているか、あるいは重なっているかが確認される。ここでは、イメージ描画データ最適化部１３５は、一時的に記憶されているイメージ描画命令「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“８００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」と、今回のイメージ描画命令「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“１３００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」とに基づいて、各イメージの位置関係を調べる。イメージ描画データ最適化部１３５は、２つのイメージが座標（３００，８００）と（２０００，８００）を結ぶ線で接していると判断し、２つのイメージは結合可能と判定する（ステップＳ２５３０にてＹＥＳ）。
【０２１６】
そこで、イメージ描画データ最適化部１３５は、「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“８００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」と、「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“１３００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」の２つのイメージ描画命令を記憶する（ステップＳ２５６０）。
【０２１７】
［５４行目］
制御部１５０は、５４行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＢＩＴＢＬＴ」）を読み出す（ステップＳ９１０）。当該レコードもイメージ描画命令であるため、イメージ描画命令のＸＭＬ変換処理（ステップＳ２５００）が実行される。
【０２１８】
具体的には、イメージ描画命令の処理状態が「処理中」であるため、イメージ描画データ最適化部１３５は、イメージ描画データの結合処理を行う（ステップＳ２５３０）。すなわち、一時的に記憶しているイメージ描画命令が描くイメージの領域と、今回のイメージ描画命令が描くイメージの領域とが、接しているか、あるいは重なっているかが確認される。
【０２１９】
ここでは、イメージ描画データ最適化部１３５は、一時的に記憶されているイメージ描画命令「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“８００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」、「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“１３００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」と、今回のイメージ描画命令「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“２０００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」とに基づいて、一時的に記憶しているイメージ描画命令が描くイメージの領域と、今回のイメージ描画命令が描くイメージの領域とが、接するものではなく、重なるものでもないと判断する。
【０２２０】
そこで、イメージ描画データ最適化部１３５は、イメージ描画ＸＭＬデータ生成部１４１に対して、一時的に記憶されているイメージ描画命令に対応するＸＭＬデータの書き出しを指示する。その指示に応答して、イメージ描画ＸＭＬデータ生成部１４１は、複数のイメージ描画命令が存在すれば、これらの命令を結合し、１つのイメージとして表す。ここでは、イメージ描画ＸＭＬデータ生成部１４１は、２つのイメージ描画命令「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“８００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」と、「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“１３００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」とを結合し、結合された１つのイメージの描画を表すＸＭＬデータ「＜ｉｍａｇｅ  ｘ＝“３００”  ｙ＝“８００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“１０００”  ｘｌｉｎｋ：ｈｒｅｆ＝“．．．”／＞」を一時記憶部１６０のＳＶＧファイル５００に書き込む（図５に示されるＳＶＧファイル５００の４７行目）。イメージ描画ＸＭＬデータ生成部１４１は、今回のイメージ描画命令、すなわち「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“２０００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」を一時的に記憶する（ステップＳ２５４０）。イメージ描画命令の処理状態は、引き続き「処理中」に維持される。
【０２２１】
［５５行目］
制御部１５０は、５５行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＢＩＴＢＬＴ」）を読み出す（ステップＳ９１０）。当該レコードもイメージ描画命令であるため、イメージ描画命令のＸＭＬ変換処理（ステップＳ２５００）が実行される。
【０２２２】
さらに、上記と同様に、イメージ描画データの結合処理が実行される。具体的には、２つのイメージ描画命令「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“２０００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」と「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“２５００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」とが格納される。
【０２２３】
［５６行目］
最後に、制御部１５０は、５６行目のレコード（印刷描画データファイル３００における「ＥＭＲ＿ＥＯＦ」を処理する。当該レコードは終了命令であるため、ＸＭＬ生成の終了処理（ステップＳ２６００）が実行される。
【０２２４】
この時点で、共通属性のグループ化処理状態が「初期状態」であるため、ステップＳ２６２０として規定される処理が実行され、イメージ描画命令の処理状態が確認される。この時、当該処理状態は「処理中」であるため（ステップＳ２６２０にてＹＥＳ）、イメージ描画命令の終了処理（ステップＳ１１００）が実行される。
【０２２５】
具体的には、一時的に記憶されている２つのイメージ描画命令「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“２０００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」と「ＥＭＲ＿ＢＩＴＢＬＴ  ｘ＝“３００”  ｙ＝“２５００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“５００”  ｄａｔａ＝“．．．”」とが１つに結合されたＸＭＬデータ「＜ｉｍａｇｅ  ｘ＝“３００”  ｙ＝“２０００”  ｗｉｄｔｈ＝“１７００”  ｈｅｉｇｈｔ＝“１０００”  ｘｌｉｎｋ：ｈｒｅｆ＝“．．．”／＞」が一時記憶部１６０に書き込まれる（図５のＳＶＧファイル５００における４８行目）。
【０２２６】
イメージ描画命令の処理状態は「初期状態」に設定される。ＸＭＬフッタ生成部１３８は、ＸＭＬデータのフッタとして、ＳＶＧの終了命令「＜／ｓｖｇ＞」をＳＶＧファイル５００に書き込む（ＳＶＧファイル５００における４９行目）。
【０２２７】
以上のようにして、本実施の形態に係る電子ドキュメントデータ処理装置１００によれば、アプリケーションのデータを印刷するための描画命令に基づいてＸＭＬ形式のデータを生成する際、関連する描画命令を識別し、複数の命令に共通に用いられる属性のような冗長なデータを省き、各命令に固有なデータを結合することにより、サイズが縮小されたＸＭＬデータを生成する。これにより、アプリケーションのデータを用いる演算処理装置に対して求められる能力が抑制され得る。
【０２２８】
以上詳述した電子ドキュメントデータ処理装置１００は、たとえば、各処理を実行する回路素子を組み合わせることによりハードウェアの組み合わせとして実現することができる。また、以下に示すように、各処理を実現するためのソフトウェアをコンピュータシステムに読み込ませることによっても実現できる。
【０２２９】
そこで、図２７を参照して、本実施の形態に係る電子ドキュメントデータ処理装置１００の具体的構成の一態様について説明する。図２７は、電子ドキュメントデータ処理装置１００として機能するコンピュータシステム２７００のハードウェア構成を表わすブロック図である。
【０２３０】
コンピュータシステム２７００は、ハードウェアとして、ＣＰＵ２７１０と、コンピュータシステム２７００の使用者による指示の入力を受けるマウス２７２０およびキーボード２７３０と、ＣＰＵ２７１０によるプログラムの実行により生成されたデータ、又はマウス２７２０若しくはキーボード２７３０を介して入力されたデータを揮発的に格納するＲＡＭ２７４０と、データを不揮発的に格納するハードディスク２７５０と、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）駆動装置２７６０と、モニタ２７８０と、通信ＩＦ（Interface）２７９０とを含む。各ハードウェアは、相互にデータバスによって接続されている。ＣＤ−ＲＯＭ駆動装置２７６０には、ＣＤ−ＲＯＭ２７６２が装着される。
【０２３１】
コンピュータシステム２７００における処理は、各ハードウェアおよびＣＰＵ２７１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク２７５０に予め記憶されている場合がある。また、ソフトウェアは、ＣＤ−ＲＯＭ２７６２その他の記憶媒体に格納されて、プログラム製品として流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、ＣＤ−ＲＯＭ駆動装置２７６０その他の読取装置によりその記憶媒体から読み取られて、あるいは、通信ＩＦ２７９０を介してダウンロードされた後、ハードディスク２７５０に一旦格納される。そのソフトウェアは、ＣＰＵ２７１０によってハードディスク２７５０から読み出され、ＲＡＭ２７４０に実行可能なプログラムの形式で格納される。ＣＰＵ２７１０は、そのプログラムを実行する。
【０２３２】
図２７に示されるコンピュータシステム２７００を構成する各ハードウェアは、一般的なものである。したがって、本発明の本質的な部分は、ＲＡＭ２７４０、ハードディスク２７５０、ＣＤ−ＲＯＭ２７６２その他の記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、コンピュータシステム２７００の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【０２３３】
なお、記録媒体としては、ＣＤ−ＲＯＭ、ＦＤ、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc））、ＩＣ（Integrated Circuit）カード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。
【０２３４】
ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【０２３５】
このようにしてコンピュータシステム２７００によって生成されたＸＭＬ形式のデータが、ＰＤＡ（Personal  Digital  Assistant）、携帯電話その他の情報処理端末に移送されると、当該情報処理端末は、そのＸＭＬ形式のデータに基づいて、テキスト、図表その他の電子文書を表示する。このＸＭＬ形式のデータサイズは、上述のように冗長な表現を有しておらず通常の処理によって生成されるデータのサイズよりも小さい。したがって、情報処理端末は、当該データに基づいて表示を行なう際、冗長なデータに基づく処理を実行する必要がなくなるため、スムーズに表示動作を実現することができる。具体的には、電子ドキュメントデータ処理装置１００によって生成されたＸＭＬ形式のデータにおけるオブジェクトの数は、通常の処理によって生成されたデータにおけるオブジェクトの数よりも少ないため、描画のために必要な時間が短くなる。これにより、当該情報処理端末のユーザは、ストレスなく電子文書を閲覧することができる。
【０２３６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２３７】
【図１】電子ドキュメントデータ処理装置１００により実現される機能の概略の構成を表わすブロック図である。
【図２】記憶部１７０における電子ドキュメントファイルの格納の一態様を概念的に表わす図である。
【図３】電子ドキュメントファイル２００から生成された印刷描画データの一態様を表わす図である。
【図４】印刷描画データファイル３００に含まれるレコードごとに、１対１にＳＶＧ形式のデータに変換した態様を表わす図である。
【図５】電子ドキュメントデータ処理装置１００によって生成されたＳＶＧ形式のデータ構造を表わす図である。
【図６】電子ドキュメントデータ処理装置１００によって生成されるテーブルを概念的に表わす図である。
【図７】カレントオブジェクト管理テーブル７００におけるデータの変化の態様を表わす図である。
【図８】テキスト色管理テーブル８００の構成を表わす図である。
【図９】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その１）である。
【図１０】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その２）である。
【図１１】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その３）である。
【図１２】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その４）である。
【図１３】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その５）である。
【図１４】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その６）である。
【図１５】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その７）である。
【図１６】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その８）である。
【図１７】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その９）である。
【図１８】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その１０）である。
【図１９】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その１１）である。
【図２０】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その１２）である。
【図２１】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その１３）である。
【図２２】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その１４）である。
【図２３】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その１５）である。
【図２４】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その１６）である。
【図２５】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その１７）である。
【図２６】電子ドキュメントデータ処理装置１００が実行する処理の手順を表わすフローチャート（その１８）である。
【図２７】電子ドキュメントデータ処理装置１００として機能するコンピュータシステム２７００のハードウェア構成を表わすブロック図である。
【符号の説明】
【０２３８】
１００  電子ドキュメントデータ処理装置、２００  電子ドキュメントファイル、３００  印刷描画データ、２７００  コンピュータシステム、２７１０  ＣＰＵ、２７２０  マウス、２７３０  キーボード、２７４０  ＲＡＭ、２７５０  ハードディスク、２７６０  ＣＤ−ＲＯＭ駆動装置、２７６２  ＣＤ−ＲＯＭ。
【図１】
2007193655.tif 000003
【図２】
2007193655.tif 000004
【図３】
2007193655.tif 000005
【図４】
2007193655.tif 000006
【図５】
2007193655.tif 000007
【図６】
2007193655.tif 000008
【図７】
2007193655.tif 000009
【図８】
2007193655.tif 000010
【図９】
2007193655.tif 000011
【図１０】
2007193655.tif 000012
【図１１】
2007193655.tif 000013
【図１２】
2007193655.tif 000014
【図１３】
2007193655.tif 000015
【図１４】
2007193655.tif 000016
【図１５】
2007193655.tif 000017
【図１６】
2007193655.tif 000018
【図１７】
2007193655.tif 000019
【図１８】
2007193655.tif 000020
【図１９】
2007193655.tif 000021
【図２０】
2007193655.tif 000022
【図２１】
2007193655.tif 000023
【図２２】
2007193655.tif 000024
【図２３】
2007193655.tif 000025
【図２４】
2007193655.tif 000026
【図２５】
2007193655.tif 000027
【図２６】
2007193655.tif 000028
【図２７】
2007193655.tif 000029