JP2007193655A - Electronic document data processor, electronic document data processing method and program for functioning computer as electronic document data processor - Google Patents

Electronic document data processor, electronic document data processing method and program for functioning computer as electronic document data processor Download PDF

Info

Publication number
JP2007193655A
JP2007193655A JP2006012403A JP2006012403A JP2007193655A JP 2007193655 A JP2007193655 A JP 2007193655A JP 2006012403 A JP2006012403 A JP 2006012403A JP 2006012403 A JP2006012403 A JP 2006012403A JP 2007193655 A JP2007193655 A JP 2007193655A
Authority
JP
Japan
Prior art keywords
data
electronic document
grouping
command
text
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.)
Pending
Application number
JP2006012403A
Other languages
Japanese (ja)
Inventor
Tomohiro Aiso
友宏 相曽
Tadahide Shibao
忠秀 柴尾
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2006012403A priority Critical patent/JP2007193655A/en
Publication of JP2007193655A publication Critical patent/JP2007193655A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an electronic document data processor generating XML data having suppressed data size. <P>SOLUTION: The electronic document data processor 100 is provided with an electronic document file input part 110, a printing/drawing data generation part 120, an XML data generation part 130, and a control part 150. The XML data generation part 130 includes a printing/drawing instruction classification part 131 for classifying drawing instructions, an XML data optimizing part 132 for removing the redundancy of data to be drawn and an XML data conversion part 136 for generating XML data for output from an electronic document. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、電子ドキュメントデータを処理する技術に関する。本発明は、より特定的には、アプリケーションプログラムの印刷実行機能の実行により得られる電子ドキュメントデータを表現するバイナリデータ形式で表現されたファイルを、データ記述言語に基づくファイル形式に変換する技術に関する。   The present invention relates to a technique for processing electronic document data. More specifically, the present invention relates to a technique for converting a file expressed in a binary data format expressing electronic document data obtained by executing a print execution function of an application program into a file format based on a data description language.

従来の電子ドキュメントデータ処理装置、電子ドキュメントデータ処理方法の一例として、特開2003−108331号公報(特許文献1)は、電子ドキュメント処理装置を開示している。この電子ドキュメント処理装置によると、アプリケーションプログラムの印刷実行機能の結果得られる電子ドキュメントを表現する第1の言語仕様に基づく記述で表現されたファイルを、XML((eXtensible Markup Language))言語仕様に基づく記述で表現するファイル形式に変換処理を行うことができる。
特開2003−108331号公報
As an example of a conventional electronic document data processing apparatus and electronic document data processing method, Japanese Patent Laid-Open No. 2003-108331 (Patent Document 1) discloses an electronic document processing apparatus. According to this electronic document processing apparatus, a file expressed by a description based on the first language specification expressing the electronic document obtained as a result of the print execution function of the application program is based on the XML ((eXtensible Markup Language)) language specification. Conversion processing can be performed to a file format expressed by description.
JP 2003-108331 A

現在、アプリケーションプログラムの印刷実行機能の出力の結果得られる電子ドキュメントデータを表現する言語仕様に基づく記述に従った第1のファイルをXML言語仕様に基づく記述に従った第2ファイルへの変換処理は、第1のファイルを構成する記述の各々に対して、変換を行うことで実現されている。   Currently, the process of converting the first file according to the description based on the language specification expressing the electronic document data obtained as a result of the output of the print execution function of the application program into the second file according to the description based on the XML language specification is as follows. This is realized by converting each of the descriptions constituting the first file.

特開2003−108331号公報に開示されている電子ドキュメント処理装置によると、出力されるファイル形式は、指定されたXML言語仕様に基づく記述の表現で構成される。その際、アプリケーションプログラム上では本来1つの画像として取り扱われる記述表現が、第1のファイルにおいて複数の画像の集合として表現される場合がある。同様に、1つの文字列として表現されたものが、複数の文字列の集合として表現される場合がある。   According to the electronic document processing apparatus disclosed in Japanese Patent Laid-Open No. 2003-108331, the output file format is composed of a representation of description based on a specified XML language specification. At this time, a description expression that is originally handled as one image on the application program may be expressed as a set of a plurality of images in the first file. Similarly, what is expressed as one character string may be expressed as a set of a plurality of character strings.

その結果、変換で得られた第2のファイルに含まれる記述表現は、その言語仕様に基づく記述で表現されるが、その記述表現には、第1のファイルに含まれる冗長な記述表現が継承されることがある。冗長な記述表現は、変換によって得られるファイルのサイズに影響を与えたり、変換後のファイルを利用するアプリケーションプログラムの処理に影響を与えたりする場合がある。   As a result, the description expression included in the second file obtained by the conversion is expressed by a description based on the language specification, but the redundant description expression included in the first file is inherited by the description expression. May be. The redundant descriptive expression may affect the size of a file obtained by conversion, or may affect the processing of an application program that uses the converted file.

本発明は、上述の問題点を解決するためになされたものであって、その第1の目的は、データサイズを小さくできるファイルを生成する電子ドキュメントデータ処理装置を提供することである。   The present invention has been made to solve the above-described problems, and a first object of the present invention is to provide an electronic document data processing apparatus that generates a file capable of reducing the data size.

本発明の第2の目的は、変換後のファイルを用いるアプリケーションプログラムの処理をスムーズに実行させることができるファイルを生成できる電子ドキュメントデータ処理装置を提供することである。   A second object of the present invention is to provide an electronic document data processing apparatus capable of generating a file that can smoothly execute processing of an application program that uses a converted file.

本発明の第3の目的は、第1の言語仕様に基づき表現された電子ドキュメントデータを、第2の言語仕様に基づく記述によって表現されるファイルの形式に変換する際に、第2のファイル形式での冗長な記述表現が少なくなるファイルを生成できる電子ドキュメントデータ処理装置を提供することである。   A third object of the present invention is to convert the electronic document data expressed based on the first language specification into a file format expressed by a description based on the second language specification. It is an object of the present invention to provide an electronic document data processing apparatus capable of generating a file with less redundant description expression.

本発明の第4の目的は、データサイズを小さくできるファイルを生成する電子ドキュメントデータ処理装置としてコンピュータを機能させるためのプログラムを提供することである。   A fourth object of the present invention is to provide a program for causing a computer to function as an electronic document data processing apparatus for generating a file capable of reducing the data size.

本発明の第5の目的は、変換後のファイルを用いるアプリケーションプログラムの処理をスムーズに実行させることができるファイルを生成できる電子ドキュメントデータ処理装置として、コンピュータを機能させるためのプログラムを提供することである。   A fifth object of the present invention is to provide a program for causing a computer to function as an electronic document data processing apparatus capable of generating a file that can smoothly execute processing of an application program that uses the converted file. is there.

本発明の第6の目的は、第1の言語仕様に基づき表現された電子ドキュメントデータを、第2の言語仕様に基づく記述によって表現されるファイルの形式に変換する際に、第2のファイル形式での冗長な記述表現が少なくなるファイルを生成できる電子ドキュメントデータ処理装置としてコンピュータを機能させるためのプログラムを提供することである。   A sixth object of the present invention is to convert the second file format when electronic document data expressed based on the first language specification is converted into a file format expressed by a description based on the second language specification. It is to provide a program for causing a computer to function as an electronic document data processing apparatus capable of generating a file with fewer redundant description expressions.

上記の課題を解決するために、この発明のある局面に従う電子ドキュメントデータ処理装置は、アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを格納する記憶手段と、電子ドキュメントファイルを出力する指示を受け付ける入力手段と、指示に基づいて、電子ドキュメントファイルから複数の描画命令を生成する生成手段と、各描画命令間の相互関係に基づいて、各描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換する変換手段とを備える。   In order to solve the above problems, an electronic document data processing device according to an aspect of the present invention provides a storage means for storing an electronic document file represented by a data format unique to an application program, and an instruction to output the electronic document file. Based on the input means to be received, the generating means for generating a plurality of drawing commands from the electronic document file based on the instruction, and on the basis of the mutual relationship between the drawing commands, each drawing command is divided into data attributes and data contents. Conversion means for converting into data represented by a data description language described in association with each other.

好ましくは、データ記述言語は、XML(eXtensible Markup Language)データを含む。   Preferably, the data description language includes XML (eXtensible Markup Language) data.

好ましくは、データ記述言語は、ベクター画像記述言語を含む。
好ましくは、変換手段は、各描画命令のデータ構造を解析する解析手段と、解析手段による解析の結果に基づいて、各描画命令間の相互関係を識別する識別手段と、識別された相互関係に基づいて、各描画命令をデータ記述言語により表わされるデータに変換する描画命令変換手段とを含む。
Preferably, the data description language includes a vector image description language.
Preferably, the converting unit includes an analyzing unit that analyzes a data structure of each drawing command, an identifying unit that identifies a mutual relationship between the drawing commands based on a result of the analysis by the analyzing unit, and an identified mutual relationship. And a rendering command converting means for converting each rendering command into data represented by a data description language.

好ましくは、描画命令は、予め規定された複数の分類基準のいずれかに従って分類される複数のレコードを含む。各レコードは電子ドキュメントファイルにおけるデータの属性を含む。解析手段は、各レコードごとに電子ドキュメントファイルにおけるデータの属性を抽出する。識別手段は、解析手段によって抽出された各データの属性に基づいて、相互関係を識別する。   Preferably, the drawing command includes a plurality of records classified according to any of a plurality of predefined classification criteria. Each record includes data attributes in the electronic document file. The analysis means extracts data attributes in the electronic document file for each record. The identification unit identifies the mutual relationship based on the attribute of each data extracted by the analysis unit.

好ましくは、識別手段は、複数の描画命令の各々から、共通の属性を有するデータを抽出する抽出手段と、抽出手段によって抽出された各データを属性ごとにグループ化するグループ化手段とを含む。   Preferably, the identification unit includes an extraction unit that extracts data having a common attribute from each of the plurality of drawing commands, and a grouping unit that groups the data extracted by the extraction unit for each attribute.

好ましくは、識別手段は、相互に隣接する各テキストを表示するための各テキスト描画データを、予め設定された座標に基づいてそれぞれ抽出するテキスト抽出手段と、テキスト抽出手段によって抽出された各テキスト描画データを、座標に基づいて1つのデータに合成する合成手段とを含む。   Preferably, the identifying means extracts each text drawing data for displaying each adjacent text based on preset coordinates, and each text drawing extracted by the text extracting means. Combining means for combining the data into one data based on the coordinates.

好ましくは、識別手段は、相互に隣接する各画像を表示するための各画像データを、予め設定された座標に基づいてそれぞれ抽出する画像抽出手段と、画像抽出手段によって抽出された各画像データを、座標に基づいて1つのデータに合成する合成手段とを含む。   Preferably, the identification means extracts each image data for displaying each image adjacent to each other based on preset coordinates, and each image data extracted by the image extraction means. And combining means for combining the data into one data based on the coordinates.

好ましくは、アプリケーションプログラムは、指示に基づいて、電子ドキュメントファイルを印刷するための印刷指令を出力する。生成手段は、印刷指令に基づいて複数の描画命令を生成する。   Preferably, the application program outputs a print command for printing the electronic document file based on the instruction. The generation unit generates a plurality of drawing commands based on the print command.

好ましくは、電子ドキュメントデータ処理装置は、変換手段による変換によって生成されたデータを出力する出力手段をさらに備える。   Preferably, the electronic document data processing apparatus further includes output means for outputting data generated by conversion by the conversion means.

好ましくは、出力手段は、変換によって生成されたデータに基づいて電子ドキュメントファイルを表示する表示手段を含む。   Preferably, the output means includes display means for displaying the electronic document file based on the data generated by the conversion.

好ましくは、出力手段は、変換によって生成されたデータを出力するデータ出力インターフェイスを含む。   Preferably, the output means includes a data output interface that outputs data generated by the conversion.

好ましくは、描画命令は、メタファイルの開始を表わす命令と、オブジェクトを描画する命令と、メタファイルの終了を表わす命令とを含む。   Preferably, the drawing command includes a command indicating the start of the metafile, a command for drawing the object, and a command indicating the end of the metafile.

好ましくは、オブジェクトを描画する命令は、線図を描画する命令と、描画される画像を着色する命令と、文字を描く命令と、文字が描かれる色を指定する命令とのいずれかを含む。   Preferably, the command for drawing an object includes any one of a command for drawing a diagram, a command for coloring a drawn image, a command for drawing a character, and a command for specifying a color for drawing a character.

この発明の他の局面に従う電子ドキュメントデータ処理方法は、アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを準備するステップと、電子ドキュメントファイルを出力する指示を受け付けるステップと、指示に基づいて、電子ドキュメントファイルから複数の描画命令を生成するステップと、各描画命令間の相互関係に基づいて、各描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換するステップとを備える。   According to another aspect of the present invention, there is provided an electronic document data processing method comprising: preparing an electronic document file represented by a data format specific to an application program; receiving an instruction to output the electronic document file; Based on the step of generating a plurality of drawing commands from the electronic document file and the mutual relationship between the drawing commands, each drawing command is represented by a data description language in which data attributes and data contents are described in association with each other. Converting to data.

この発明のさらに他の局面に従うと、コンピュータを、電子ドキュメントデータ処理装置として機能させるためのプログラムが提供される。このプログラムはコンピュータに、アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを準備するステップと、電子ドキュメントファイルを出力する指示を受け付けるステップと、指示に基づいて、電子ドキュメントファイルから複数の描画命令を生成するステップと、各描画命令間の相互関係に基づいて、各描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換するステップとを実行させる。   According to still another aspect of the present invention, a program for causing a computer to function as an electronic document data processing device is provided. The program includes a step of preparing an electronic document file represented by a data format specific to the application program in a computer, a step of receiving an instruction to output the electronic document file, and a plurality of drawing instructions from the electronic document file based on the instruction. And a step of converting each drawing command into data represented by a data description language in which the attribute of the data and the content of the data are described in association with each other based on the mutual relationship between the drawing commands. Let

本発明に係る電子ドキュメントデータ処理装置によると、アプリケーションのデータを印刷するための描画命令からXML形式のデータを生成する際、関連する描画命令が識別されて、冗長なデータが省かれ、データが結合される。これにより、変換後のXMLデータのサイズが縮小される。また、他の局面において再利用性の高いXMLデータが生成され得る。   According to the electronic document data processing apparatus of the present invention, when generating XML format data from a drawing command for printing application data, the related drawing command is identified, redundant data is omitted, and the data is saved. Combined. As a result, the size of the converted XML data is reduced. In other aspects, highly reusable XML data can be generated.

本発明に係る電子ドキュメントデータ処理方法によると、アプリケーションのデータを印刷するための描画命令からXML形式のデータを生成する際、関連する描画命令が識別されて、冗長なデータが省かれ、データが結合される。これにより、変換後のXMLデータのサイズが縮小される。また、他の局面において再利用性の高いXMLデータが生成され得る。   According to the electronic document data processing method of the present invention, when generating XML format data from a drawing command for printing application data, the related drawing command is identified, redundant data is omitted, and the data is saved. Combined. As a result, the size of the converted XML data is reduced. In other aspects, highly reusable XML data can be generated.

本発明に係るプログラムによると、コンピュータを上記のような電子ドキュメントデータ処理装置として機能させることができる。その結果、コンピュータは、変換後のデータサイズが縮小されたXMLデータを生成することができる。また、コンピュータは、他の局面において再利用性の高いXMLデータを生成し得る。   According to the program according to the present invention, the computer can function as the electronic document data processing apparatus as described above. As a result, the computer can generate XML data in which the data size after conversion is reduced. In addition, the computer can generate highly reusable XML data in other aspects.

以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.

図1を参照して、本発明の実施の形態に係る電子ドキュメントデータ処理装置100について説明する。図1は、電子ドキュメントデータ処理装置100により実現される機能の概略の構成を表わすブロック図である。電子ドキュメントデータ処理装置100は、指示入力部102と、電子ドキュメントファイル入力部110と、印刷描画データ生成部120と、XMLデータ生成部130と、制御部150と、一時記憶部160と、記憶部170と、出力部180とを備える。   With reference to FIG. 1, an electronic document data processing apparatus 100 according to an embodiment of the present invention will be described. FIG. 1 is a block diagram showing a schematic configuration of functions realized by the electronic document data processing apparatus 100. The electronic document data processing apparatus 100 includes an instruction input unit 102, an electronic document file input unit 110, a print drawing data generation unit 120, an XML data generation unit 130, a control unit 150, a temporary storage unit 160, and a storage unit. 170 and an output unit 180.

XMLデータ生成部130は、印刷描画命令分類部131と、XMLデータ最適化部132と、XMLデータ変換部136とを含む。XMLデータ最適化部132は、共通属性グループ化管理部133と、テキスト描画データ最適化部134と、イメージ描画データ最適化部135とを含む。XMLデータ変換部136は、XMLヘッダ生成部137と、XMLフッタ生成部138と、図形描画XMLデータ生成部139と、テキスト描画XMLデータ生成部140と、イメージ描画XMLデータ生成部141と、属性情報管理部142と、カレントオブジェクト管理部143とを含む。   The XML data generation unit 130 includes a print drawing command classification unit 131, an XML data optimization unit 132, and an XML data conversion unit 136. The XML data optimization unit 132 includes a common attribute grouping management unit 133, a text drawing data optimization unit 134, and an image drawing data optimization unit 135. The XML data conversion unit 136 includes an XML header generation unit 137, an XML footer generation unit 138, a graphic drawing XML data generation unit 139, a text drawing XML data generation unit 140, an image drawing XML data generation unit 141, and attribute information. A management unit 142 and a current object management unit 143 are included.

指示入力部102は、電子ドキュメントデータ処理装置100の外部から指示の入力を受付ける。当該指示は、電子ドキュメントの表示指示、電子ドキュメントの出力指示などを含む。   The instruction input unit 102 receives an instruction input from the outside of the electronic document data processing apparatus 100. The instructions include an electronic document display instruction, an electronic document output instruction, and the like.

電子ドキュメントファイル入力部110は、ファイル選択のためのユーザインターフェイスの画面を表示し、表示されているファイルの名称の選択のためのユーザによる入力を受け付ける。電子ドキュメントは、たとえば文書作成ソフトウェアあるいは表計算ソフトウェアなどにより生成される電子文書として実現される。また、電子ドキュメントファイル入力部110は、外部から電子ドキュメントのファイルの入力を受け付ける。たとえば、電子ドキュメントファイル入力部110は、データ通信インターフェイスとして機能し、電子ドキュメントのファイルの入力を受け付ける。また、電子ドキュメントデータ処理装置100自身が電子文書の作成機能を有している場合には、当該電子文書を作成するための入力を受け付ける。この場合、電子ドキュメントファイル入力部110は、たとえばタッチパネル、キーボード、マウス等として実現される。   The electronic document file input unit 110 displays a user interface screen for selecting a file, and accepts an input by the user for selecting a name of the displayed file. The electronic document is realized as an electronic document generated by, for example, document creation software or spreadsheet software. Also, the electronic document file input unit 110 receives an input of an electronic document file from the outside. For example, the electronic document file input unit 110 functions as a data communication interface and accepts input of an electronic document file. When the electronic document data processing apparatus 100 itself has an electronic document creation function, it accepts an input for creating the electronic document. In this case, the electronic document file input unit 110 is realized as a touch panel, a keyboard, a mouse, or the like, for example.

印刷描画データ生成部120は、電子ドキュメントファイル入力部110によって入力が受け付けられた電子ドキュメントファイルに関連付けられたアプリケーションプログラムの印刷機能に基づいて描画命令を生成する。描画命令は、たとえば指示入力部102を介して電子文書の印刷指示が入力された場合に生成される。ここで、文書作成ソフトウェアが用いられる場合において「test.document」という名前のファイルを一例として説明する。まず、このファイル名の拡張子「document」は、当該文書作成ソフトウェアに関連付けられている。このソフトウェアは印刷機能を有しており、ユーザがこのファイル名を指定して印刷指示を電子ドキュメントデータ処理装置100に入力すると、文書作成ソフトウェアの印刷機能により、test.documentに対応する文書の描画命令が生成される。   The print drawing data generation unit 120 generates a drawing command based on the print function of the application program associated with the electronic document file whose input is received by the electronic document file input unit 110. The drawing command is generated, for example, when an electronic document print instruction is input via the instruction input unit 102. Here, a file named “test.document” will be described as an example when document creation software is used. First, the extension “document” of the file name is associated with the document creation software. This software has a print function. When the user designates this file name and inputs a print instruction to the electronic document data processing apparatus 100, the print function of the document creation software causes the test. A document drawing command corresponding to the document is generated.

XMLデータ生成部130は、印刷描画データ生成部120によって生成された印刷描画命令を表わすデータを解析し、XML形式に従うデータ(以下、単にXMLデータ)を生成する。XMLデータ生成部130は、各当該印刷描画命令間の相互関係に基づいて、各描画命令を、データの属性とデータの内容とが関連付けられるデータ記述言語によって表わされるデータに変換する。XMLデータの形式は、たとえば、SVG(Scalable Vector Graphics)形式である。具体的には、印刷描画命令分類部131は、印刷描画命令を分類する。この分類は、たとえば描画命令に含まれる属性データに従って行なわれる。   The XML data generation unit 130 analyzes data representing the print drawing command generated by the print drawing data generation unit 120 and generates data conforming to the XML format (hereinafter simply referred to as XML data). The XML data generation unit 130 converts each drawing command into data represented by a data description language in which data attributes and data contents are associated with each other based on the mutual relationship between the print drawing commands. The format of the XML data is, for example, the SVG (Scalable Vector Graphics) format. Specifically, the print drawing command classification unit 131 classifies the print drawing commands. This classification is performed according to, for example, attribute data included in the drawing command.

XMLデータ最適化部132は、各印刷描画命令の相互関係を調べ、冗長なXMLデータを生成することなく印刷指示に対応したXMLデータを生成する。具体的には、共通属性グループ化管理部133は、各印刷描画命令の属性データを確認し、共通の属性データのグループ化を行なう。テキスト描画データ最適化部134は、予め規定された座標に従って隣り合うテキスト描画データを抽出し、複数のテキスト描画データを当該座標に従って1つに合成する。イメージ描画データ最適化部135は、上記座標に従って隣り合うイメージ描画データ、あるいは重なり合うイメージ描画データを抽出し、当該抽出された複数のイメージ描画データを1つに合成する。   The XML data optimizing unit 132 examines the mutual relationship between the print drawing commands, and generates XML data corresponding to the print instruction without generating redundant XML data. Specifically, the common attribute grouping management unit 133 checks the attribute data of each print drawing command and groups the common attribute data. The text drawing data optimizing unit 134 extracts adjacent text drawing data according to predetermined coordinates, and combines a plurality of text drawing data into one according to the coordinates. The image drawing data optimizing unit 135 extracts adjacent image drawing data or overlapping image drawing data according to the coordinates, and synthesizes the extracted image drawing data into one.

XMLデータ変換部130は、印刷描画命令をXMLデータに変換する。具体的には、XMLヘッダ生成部137は、印刷描画命令に含まれるヘッダ命令からXMLヘッダを生成する。XMLフッタ生成部138は、印刷描画命令に含まれる終了命令からXMLフッタを生成する。図形描画XMLデータ生成部139は、印刷描画命令に含まれる図形描画命令から、XMLの図形描画データを生成する。テキスト描画XMLデータ生成部140は、印刷描画命令に含まれるテキスト描画命令から、XMLのテキスト描画データを生成する。イメージ描画XMLデータ生成部141は、印刷描画命令に含まれるイメージ描画命令から、XMLのイメージ描画データを生成する。属性情報管理部142は、印刷描画命令の中で生成された属性情報を管理する。カレントオブジェクト管理部143は、XMLデータへの変換処理において現在選択あるいは指定されている属性情報、テキスト色などを管理する。   The XML data conversion unit 130 converts the print drawing command into XML data. Specifically, the XML header generation unit 137 generates an XML header from a header command included in the print drawing command. The XML footer generating unit 138 generates an XML footer from an end command included in the print drawing command. The graphic drawing XML data generation unit 139 generates XML graphic drawing data from a graphic drawing command included in the print drawing command. The text drawing XML data generation unit 140 generates XML text drawing data from a text drawing command included in the print drawing command. The image drawing XML data generation unit 141 generates XML image drawing data from an image drawing command included in the print drawing command. The attribute information management unit 142 manages the attribute information generated in the print drawing command. The current object management unit 143 manages attribute information, text color, and the like that are currently selected or specified in the conversion processing to XML data.

制御部150は、電子ドキュメントデータ処理装置100におけるデータの入力動作、出力動作および前述のような演算処理動作の実行を制御する。   The control unit 150 controls the data input operation, the output operation, and the execution of the arithmetic processing operation as described above in the electronic document data processing apparatus 100.

一時記憶部160は、外部から入力されたデータあるいはXMLデータ生成部130によって生成されたデータを揮発的に格納する。   The temporary storage unit 160 stores data input from the outside or data generated by the XML data generation unit 130 in a volatile manner.

記憶部170は、外部から入力されたデータ、あるいは電子ドキュメントデータ処理装置100の動作によって生成されたデータを不揮発的に格納する。   The storage unit 170 stores data input from the outside or data generated by the operation of the electronic document data processing apparatus 100 in a nonvolatile manner.

出力部180は、電子ドキュメントデータ処理装置100による出力動作を実行する。出力動作は、たとえばXMLデータに基づく画像、テキストなどの表示、あるいはXMLデータの外部への出力などを含む。   The output unit 180 executes an output operation by the electronic document data processing apparatus 100. The output operation includes, for example, display of an image based on XML data, text, or output of XML data to the outside.

図2から図8を参照して、電子ドキュメントデータ処理装置100のデータ構造について説明する。図2は、記憶部170における電子ドキュメントファイルの格納の一態様を概念的に表わす図である。電子ドキュメントファイルは、前述のように文書作成ソフトウェアあるいは表計算ソフトウェアの実行によって生成される。電子ドキュメントファイルは、各ソフトウェアに固有なデータ形式によって表わされる。電子ドキュメントファイル200は、テキスト領域210,220と、矩形として表わされる図形230,240と、2つの画像250,260とを含む。   The data structure of the electronic document data processing apparatus 100 will be described with reference to FIGS. FIG. 2 is a diagram conceptually showing one aspect of storage of the electronic document file in storage unit 170. As described above, the electronic document file is generated by executing document creation software or spreadsheet software. The electronic document file is represented by a data format unique to each software. The electronic document file 200 includes text areas 210 and 220, graphics 230 and 240 represented as rectangles, and two images 250 and 260.

図3は、図2に示される電子ドキュメントファイル200から生成された印刷描画データの一態様を表わす図である。印刷描画データは、たとえば一時記憶部160に格納される。具体的には、印刷描画データ生成部120が指示入力部102を介して入力された印刷指示に基づいて電子ドキュメントファイル200に関連付けられるアプリケーションプログラムの印刷機能を用い、電子ドキュメントデータを印刷するための描画命令を生成する。印刷描画データ生成部120は、その生成したデータを一時記憶部160において予め確保された領域に格納する。格納されるデータのファイル形式は、たとえばWindows(登録商標)環境においては、EMF(Enhanced Meta File)によって表わされる。EMFは実際にはバイナリ形式のデータであるが、図3に示されるように、テキストや図形の描画命令がレコードという単位で表現される。EMFのレコードは、以下のように分類される。   FIG. 3 is a diagram illustrating an aspect of print drawing data generated from electronic document file 200 shown in FIG. The print drawing data is stored in the temporary storage unit 160, for example. Specifically, the print drawing data generation unit 120 uses the print function of the application program associated with the electronic document file 200 based on the print instruction input via the instruction input unit 102 to print the electronic document data. Generate drawing instructions. The print drawing data generation unit 120 stores the generated data in an area secured in advance in the temporary storage unit 160. The file format of data to be stored is represented by EMF (Enhanced Meta File) in the Windows (registered trademark) environment, for example. The EMF is actually binary data, but as shown in FIG. 3, text and graphics drawing commands are expressed in units of records. EMF records are classified as follows.

(1) ヘッダ命令
ヘッダ命令は、EMFの開始を表わす。図3に示される印刷描画データファイル300の例では、第1行目に示される「EMR_HEADER」レコードが該当する。
(1) Header instruction The header instruction represents the start of EMF. In the example of the print drawing data file 300 shown in FIG. 3, the “EMR_HEADER” record shown in the first line corresponds to this.

(2) 終了命令
終了命令は、EMFの終了を表わす。印刷描画データファイル300においては、たとえば第56行目に示される「EMR_EOF」が該当する。
(2) End command The end command represents the end of the EMF. In the print drawing data file 300, for example, “EMR_EOF” shown in the 56th line corresponds.

(3) ペン生成命令
ペン生成命令は、ペンの生成を表わす。具体的には、「EMR_CREATEPEN」レコードが該当する(たとえば第2行目等)。
(3) Pen generation instruction The pen generation instruction represents generation of a pen. Specifically, the “EMR_CREATEPEN” record is applicable (for example, the second row).

ここで、ペンは、「線」の属性を表わす。「EMR_CREATEPEN」レコードは、ペンの識別子であるハンドル名として「pen1」、ペンの色として「♯000000」(黒色)、ペンの幅として「2」を含む。このようにして特定されるペンが使用されると、当該ペン生成命令によって描画される線は、その色が「黒色」となり、太さが「2」となる。   Here, the pen represents the attribute of “line”. The “EMR_CREATEPEN” record includes “pen1” as the handle name that is the pen identifier, “# 000000” (black) as the pen color, and “2” as the pen width. When the pen specified in this way is used, the line drawn by the pen generation command has the color “black” and the thickness “2”.

(4) ブラシ生成命令
ブラシ生成命令は、ブラシの生成を表わす。印刷描画データファイル300においては、「EMR_CREATEBRUSHINDIRECT」レコードが該当する。ブラシは、「塗りつぶし」の属性を表わす。たとえば印刷描画データファイル300の第4行目に示される「EMR_CREATEBRUSHINDIRECT」レコードは、ブラシの識別子であるハンドル名として「brush1」、ブラシの色として「♯FF0000」(赤色)を含む。このようにして特定されるブラシが使用されると、当該ブラシ生成命令に基づいて描かれる図形は、「赤色」で塗りつぶされる。
(4) Brush generation instruction The brush generation instruction represents generation of a brush. In the print drawing data file 300, an “EMR_CREATEBRUSHINDIRECT” record corresponds. The brush represents an attribute of “filling”. For example, the “EMR_CREATEBRUSHINDIRECT” record shown in the fourth line of the print drawing data file 300 includes “brush1” as the handle name that is the brush identifier and “# FF0000” (red) as the brush color. When the brush specified in this way is used, the graphic drawn based on the brush generation command is painted in “red”.

(5) フォント生成命令
フォント生成命令は、フォントの生成を表わす。印刷描画データファイル300においては、「EMR_EXTCREATEFONTINDIRECTW」レコードが該当する。フォントは、テキストの属性を表わす。たとえば、印刷描画データファイル300の第10行目に示される「EMR_EXTCREATEFONTINDIRECTW」レコードは、フォントの識別子であるハンドル名として「font1」、フォントの名称を表わすフォントファミリーとして「MS ゴシック」、フォントサイズ「44」、フォントウエイト「700」を含む。このようにして特定されるフォントを用いて描かれるテキストは、その書体が「MS ゴシック」、そのサイズが「44」、太さが「700」となる。
(5) Font generation instruction The font generation instruction represents generation of a font. In the print drawing data file 300, an “EMR_EXTCREATEFONTINDIRECTW” record corresponds. The font represents text attributes. For example, in the “EMR_EXTCREATEFONTINDIRECTW” record shown in the 10th line of the print drawing data file 300, “font1” is used as the handle name that is the font identifier, “MS Gothic” is used as the font family representing the font name, and the font size is “44”. ”And font weight“ 700 ”. The text drawn using the font specified in this way has a typeface of “MS Gothic”, a size of “44”, and a thickness of “700”.

(6) テキスト色指定命令
テキスト色指定命令は、テキストの色を指定する。印刷描画データファイル300においては、「EMR_SETTEXTCOLOR」が該当する。たとえば、第12行目における「EMR_SETTEXTCOLOR」は、テキストの色を「♯000000」(黒色)に指定している。したがって、その後描かれるテキストは、黒色になる。
(6) Text color designation command The text color designation command designates the text color. In the print drawing data file 300, “EMR_SETTEXTCOLOR” corresponds. For example, “EMR_SETTEXTCOLOR” in the 12th line designates the text color as “# 000000” (black). Therefore, the text drawn after that becomes black.

(7) オブジェクト選択命令
オブジェクト選択命令は、オブジェクトの選択を表わす。ここでオブジェクトは、上述のペン、ブラシ、フォントなどを含む。印刷描画データファイル300においては、「EMR_SELECTOBJECT」レコードが該当する。上記(3)から(5)の各命令によって生成されたペン、ブラシ、フォントは、当該オブジェクト選択命令によって選択されることで、初めて有効となる。たとえば、印刷描画データファイル300における第3行目の「EMR_SELECTOBJECT」レコードは、第2行目で生成されたハンドル名「pen1」のペンの選択を表わす。これにより、当該命令後の後述する図形描画命令が実行されると、その図形の線は色が「♯0000000」(黒色)となり、その太さは「2」となる。
(7) Object selection instruction The object selection instruction represents selection of an object. Here, the object includes the above-described pen, brush, font, and the like. In the print drawing data file 300, an “EMR_SELECTOBJECT” record corresponds. The pen, brush, and font generated by the commands (3) to (5) are effective only when they are selected by the object selection command. For example, the “EMR_SELECTOBJECT” record in the third line in the print drawing data file 300 represents the selection of the pen with the handle name “pen1” generated in the second line. As a result, when a graphic drawing command to be described later is executed after the command, the color of the graphic line is “# 0000000” (black) and the thickness is “2”.

(8) 図形描画命令
図形描画命令は、図形の描画を表わす。印刷描画データファイル300においては、「EMR_RECTANGLE」レコードは、矩形の描画を表わす。具体的には、印刷描画データファイル300の第6行目に示される「EMR_RECTANGLE」レコードは、左上の座標が(100,100)、右下の座標が(1100,600)の矩形の描画を表わす。この命令によって描画される矩形は、そのときに選択されているペンとブラシとによって、線の色が「♯000000」(黒色)、線の幅が「2」、塗りつぶしの色が「♯FF0000」(赤色)となる。なお、図形描画命令は、矩形を描画するための命令に限られず、たとえば線、円その他の図形を描画する命令が含まれてもよい。
(8) Graphic Drawing Command The graphic drawing command represents drawing of a graphic. In the print drawing data file 300, the “EMR_RECTANGLE” record represents rectangular drawing. Specifically, the “EMR_RECTANGLE” record shown in the sixth line of the print drawing data file 300 represents a drawing of a rectangle whose upper left coordinates are (100, 100) and lower right coordinates are (1100, 600). . The rectangle drawn by this command has a line color of “# 000000” (black), a line width of “2”, and a fill color of “# FF0000” depending on the pen and brush selected at that time. (Red). Note that the graphic drawing command is not limited to a command for drawing a rectangle, and may include, for example, a command for drawing a line, circle, or other graphic.

(9) テキスト描画命令
テキスト描画命令は、テキストの描画を表わす。印刷描画データファイル300においては、「EMR_EXTTEXTOUTW」レコードが該当する。たとえば、印刷描画データファイル300の第13行目に示される「EMR_EXTTEXTOUTW」レコードは、座標(200,200)にテキスト「第」を描画することを表わす。このとき描画されるテキストは、現在選択あるいは指定されているフォントとテキストの色とによって、その書体が「MS ゴシック」、サイズが「44」、太さが「700」、色が「♯000000」(黒色)となる。
(9) Text Drawing Command The text drawing command represents text drawing. In the print drawing data file 300, an “EMR_EXTTEXTOUTW” record corresponds. For example, the “EMR_EXTTEXTOUTW” record shown in the 13th line of the print drawing data file 300 indicates that the text “No.” is drawn at the coordinates (200, 200). The text drawn at this time is “MS Gothic” in the font type, “44” in size, “700” in thickness, and “# 000000” in color depending on the currently selected or designated font and text color. (Black).

(10) イメージ描画命令
イメージ描画命令は、イメージの描画を表わす。印刷描画データファイル300においては、「EMR_BITBLT」レコードが該当する。たとえば、印刷描画データファイル300における第52行目に示される「EMR_BITBLT」レコードは、座標(300,800)に、幅「1700」、高さ「500」の大きさで、データ属性「・・・」で指定されるイメージデータを描画することを表わす。
(10) Image Drawing Command The image drawing command represents image drawing. In the print drawing data file 300, an “EMR_BITBLT” record corresponds. For example, the “EMR_BITBLT” record shown in the 52nd line in the print drawing data file 300 has the coordinates (300, 800), the width “1700”, the height “500”, and the data attribute “. "Represents that the image data specified by""is drawn.

なお、図2に示される電子ドキュメントファイル200は、2つのイメージ250,260を含む。これに対して、図3に示される印刷描画データファイル300は、第52行目から55行目に示されるように、4つのイメージ描画命令「EMR_BITBLT」レコードを含む。すなわち、電子ドキュメントファイルの1つのイメージが、当該ファイルに対応して生成された印刷描画データにおいて複数のイメージ描画命令に分割される場合もある。   Note that the electronic document file 200 shown in FIG. 2 includes two images 250 and 260. In contrast, the print drawing data file 300 shown in FIG. 3 includes four image drawing command “EMR_BITBLT” records as shown in the 52nd to 55th lines. That is, one image of the electronic document file may be divided into a plurality of image drawing commands in the print drawing data generated corresponding to the file.

なお、図3に示される印刷描画データは、説明を簡単にするためにEMFの各レコードの情報を当業者に理解される態様で表現されている。実際には、各情報は、当該EMFによって規定されたデータ構造で表わされる。   Note that the print drawing data shown in FIG. 3 is expressed in such a manner that information of each record of the EMF can be understood by those skilled in the art for the sake of simplicity. In practice, each piece of information is represented by a data structure defined by the EMF.

図4は、図3に示される印刷描画データファイル300に含まれるレコードの相互関係を識別することなく各レコードごとに1対1にSVG形式のデータに変換した態様を表わす図である。SVGレコードファイルは、したがって以下に示すように冗長なデータを含んでいる。たとえば、ファイル400の第3行目および第4行目に示されるRECT要素において、いずれの要素も属性データとして「stroke=“♯000000” stroke−width=“2”」を含む。この属性は、いずれの要素にも含まれる共通の属性である。   FIG. 4 is a diagram showing a state in which the records are converted into SVG format data on a one-to-one basis for each record without identifying the mutual relationship of the records included in the print drawing data file 300 shown in FIG. The SVG record file therefore contains redundant data as shown below. For example, in the RECT elements shown in the third and fourth lines of the file 400, both elements include “stroke =“ # 000000 ”stroke-width =“ 2 ”” as attribute data. This attribute is a common attribute included in all elements.

またファイル400における第5行目から第22行目に示されるtext要素は、いずれも属性データとして「fill=“♯000000”」を含む。   In addition, the text elements shown in the 5th to 22nd lines in the file 400 all include “fill =“ # 000000 ”” as attribute data.

また、第5行目から第7行目に示される「第1試合」のテキストの描画を表わすデータは、EMFのレコードを「第」、「1」、および「試合」に分割したものである。そこで、この「第1試合」のテキストを1つのtext要素として表わすことができれば、データ量を削減して再利用性の高いXMLデータを生成することができる。   Further, the data representing the drawing of the text of “first game” shown in the fifth to seventh lines is obtained by dividing the EMF record into “first”, “1”, and “match”. . Therefore, if the text of the “first game” can be expressed as one text element, XML data with high reusability can be generated by reducing the data amount.

さらに、ファイル400における第24行目および第25行目に示されるように、図2に示されるイメージ250の描画を表わすデータは、EMFのレコードが2つに分割されたため、1対1に変換されたSVGデータにおいても2つに分割されている。これらのデータも、1つのimage要素として表わすことができれば、イメージを描画するためのデータ量を削減することができる。   Further, as shown in the 24th and 25th lines in the file 400, the data representing the drawing of the image 250 shown in FIG. 2 is converted into one-to-one because the EMF record is divided into two. The divided SVG data is also divided into two. If these data can also be expressed as one image element, the amount of data for rendering an image can be reduced.

図5は、本実施の形態に係る電子ドキュメントデータ処理装置100によって生成されたSVG形式のデータ構造を表わす図である。SVGファイル500は、後述するように、各レコードの関係を識別することによってグループ化された命令ごとにまとめられている。SVGファイル500の生成の態様については、図9から図26を参照して詳述する。   FIG. 5 is a diagram showing the data structure of the SVG format generated by electronic document data processing apparatus 100 according to the present embodiment. As will be described later, the SVG file 500 is grouped for each instruction grouped by identifying the relationship between the records. A manner of generating the SVG file 500 will be described in detail with reference to FIGS.

図6は、電子ドキュメントデータ処理装置100によって生成されるテーブルを概念的に表わす図である。テーブルは、たとえば一時記憶部160において確保された領域に生成され、各命令の処理に従ってその内容が更新される。具体的には、一時記憶部160は、ペン属性情報管理テーブル610と、ブラシ属性情報管理テーブル620と、フォント属性情報管理テーブル630とを含む。ペン属性情報管理テーブル610は、ハンドル名611と、ペンの色612と、ペンの幅613とを含む。たとえばデータレコード615は、ハンドル名として「pen1」、ペンの色として「♯000000」、ペンの幅として「2」を含む。   FIG. 6 is a diagram conceptually showing a table generated by the electronic document data processing apparatus 100. The table is generated, for example, in an area secured in the temporary storage unit 160, and the contents are updated according to the processing of each command. Specifically, the temporary storage unit 160 includes a pen attribute information management table 610, a brush attribute information management table 620, and a font attribute information management table 630. The pen attribute information management table 610 includes a handle name 611, a pen color 612, and a pen width 613. For example, the data record 615 includes “pen1” as the handle name, “# 000000” as the pen color, and “2” as the pen width.

ブラシ属性情報管理テーブル620は、ハンドル名621とブラシの色622とを含む。たとえばデータレコード625は、ハンドル名として「brush1」、ブラシの色として「♯FF0000」を含む。またデータレコード626は、ハンドル名として「brush2」、ブラシの色として「♯FFFF00」を含む。   The brush attribute information management table 620 includes a handle name 621 and a brush color 622. For example, the data record 625 includes “brush1” as the handle name and “# FF0000” as the brush color. The data record 626 includes “brush2” as the handle name and “# FFFF00” as the brush color.

フォント属性情報管理テーブル630は、ハンドル名631と、フォントファミリー632と、フォントサイズ633と、フォントウエイト634とを含む。たとえば、データレコード635は、ハンドル名として「font1」、フォントファミリーとして「MS ゴシック」、フォントサイズとして「44」、フォントウエイトとして「700」を含む。データレコード636は、ハンドル名とフォントウエイトとが異なる内容を含む。   The font attribute information management table 630 includes a handle name 631, a font family 632, a font size 633, and a font weight 634. For example, the data record 635 includes “font1” as the handle name, “MS Gothic” as the font family, “44” as the font size, and “700” as the font weight. The data record 636 includes contents with different handle names and font weights.

図7は、カレントオブジェクト管理テーブル700におけるデータの変化の態様を表わす図である。カレントオブジェクト管理テーブル700は、カレントオブジェクト管理部143によって管理される。カレントオブジェクト管理部143は、XMLデータ生成部130における命令の処理に従って、カレントオブジェクト管理テーブル700におけるレコードを逐次更新する。   FIG. 7 is a diagram showing how data changes in the current object management table 700. The current object management table 700 is managed by the current object management unit 143. The current object management unit 143 sequentially updates the records in the current object management table 700 in accordance with the instruction processing in the XML data generation unit 130.

カレントオブジェクト管理テーブル700は、オブジェクトを格納するための領域701と、ハンドル名を格納するための領域702とを含む。たとえば状態(A)において、データレコード710は、オブジェクトとして「ペン」およびハンドル名として「pen1」を含む。   The current object management table 700 includes an area 701 for storing objects and an area 702 for storing handle names. For example, in the state (A), the data record 710 includes “pen” as an object and “pen1” as a handle name.

状態(A)は、たとえば図3に示される印刷描画データファイル300の第3行目におけるオブジェクト選択命令が処理された直後に生成される。   The state (A) is generated immediately after the object selection command in the third line of the print drawing data file 300 shown in FIG. 3 is processed, for example.

その後、第5行目に示されるオブジェクト選択命令が処理されると、カレントオブジェクト管理テーブル700は、状態(B)に示されるものに更新される。すなわち、カレントオブジェクト管理テーブル700は、データレコード710に加えてデータレコード720を含む。データレコード720は、オブジェクトとして「ブラシ」およびハンドル名として「brush1」を含む。   Thereafter, when the object selection command shown in the fifth line is processed, the current object management table 700 is updated to that shown in the state (B). That is, the current object management table 700 includes a data record 720 in addition to the data record 710. The data record 720 includes “brush” as an object and “brush1” as a handle name.

その後、第8行目に示されるオブジェクト選択命令が処理されると、カレントオブジェクト管理部143は、カレントオブジェクト管理テーブル700を更新する。その更新によって、当該テーブルは状態(C)に示されるものに変更される。すなわち、状態(C)においては、データレコード720は、ハンドル名として状態(B)における「brush1」に代えて「brush2」を含む。   Thereafter, when the object selection command shown in the eighth line is processed, the current object management unit 143 updates the current object management table 700. By the update, the table is changed to that shown in the state (C). That is, in the state (C), the data record 720 includes “brush2” instead of “brush1” in the state (B) as a handle name.

その後、印刷描画データファイル300の第11行目におけるオブジェクト選択命令が処理されると、カレントオブジェクト管理テーブル700は、状態(D)に示されるものに更新される。すなわちカレントオブジェクト管理テーブル700は、データレコード710,720に加えてデータレコード730を含む。データレコード730は、オブジェクトとして「フォント」およびハンドル名として「font1」を含む。   Thereafter, when the object selection command in the eleventh line of the print drawing data file 300 is processed, the current object management table 700 is updated to that shown in the state (D). That is, the current object management table 700 includes a data record 730 in addition to the data records 710 and 720. The data record 730 includes “font” as an object and “font1” as a handle name.

さらに命令が処理されて、第20行目に示されるオブジェクト選択命令が処理されると、カレントオブジェクト管理部143は、カレントオブジェクト管理テーブル700を更新する。この更新によってカレントオブジェクト管理テーブル700は、状態(E)に示されるものに切換わる。すなわち、カレントオブジェクト管理テーブル700は、データレコード730において、それまでのハンドル名「font1」に代えて「font2」を含む。   When the command is further processed and the object selection command shown in the 20th line is processed, the current object management unit 143 updates the current object management table 700. By this update, the current object management table 700 is switched to that shown in the state (E). That is, the current object management table 700 includes “font2” in the data record 730 in place of the handle name “font1” so far.

このようにしてカレントオブジェクト管理テーブル700が逐次更新され、印刷描画データファイル300からSVGデータへの変換が行なわれる。   In this way, the current object management table 700 is sequentially updated, and conversion from the print drawing data file 300 to SVG data is performed.

図8は、テキスト色管理テーブル800の構成を表わす図である。テキスト色管理テーブル800は、一時記憶部160において確保された領域に生成される。テキスト色管理テーブル800は、現在のテキスト色を表わすための領域810を含む。この領域には、図3に示される命令によって指定されたデータが格納される。カレントオブジェクト管理部143は、テキスト色管理テーブル800の内容を図3に示される命令の処理に応じて逐次更新する。   FIG. 8 is a diagram showing the configuration of the text color management table 800. The text color management table 800 is generated in an area secured in the temporary storage unit 160. Text color management table 800 includes an area 810 for representing the current text color. In this area, data designated by the instruction shown in FIG. 3 is stored. The current object management unit 143 sequentially updates the contents of the text color management table 800 in accordance with the command processing shown in FIG.

以下、図9〜図26を参照して、電子ドキュメントデータ処理装置100の制御構造について説明する。図9〜図26は、それぞれ、電子ドキュメントデータ処理装置100の各部(図1)が実行する処理の手順を表わすフローチャートである。   The control structure of the electronic document data processing apparatus 100 will be described below with reference to FIGS. FIGS. 9 to 26 are flowcharts showing the procedure of processing executed by each unit (FIG. 1) of the electronic document data processing apparatus 100.

図9を参照して、ステップS910にて、制御部150は、印刷描画データ生成部120において格納されているEMFの1レコードを読出す。ステップS920にて、印刷描画命令分類部131は、読み出されたレコードに含まれる属性に従って当該レコードの分類を行なう。読み出されたレコードがヘッダ命令である場合には、制御はステップS930に移される。読み出されたレコードがペン生成命令である場合には、制御はステップS940に移される。読み出されたレコードがブラシ生成命令である場合には、制御はステップS950に移される。読み出されたレコードがフォント生成命令である場合には、制御はステップS960に移される。読み出されたレコードがテキスト色指定命令である場合には、制御はステップS970に移される。読み出されたレコードがオブジェクト選択命令である場合には、制御はステップS980に移される。読み出されたレコードが図形描画命令である場合には、制御はステップS1000に移される。読み出されたレコードがテキスト描画命令である場合には、制御はステップS1800に移される。読み出されたレコードがイメージ描画命令である場合には、制御はステップS2500に移される。読み出されたレコードが終了命令である場合には、制御はステップS2600に移される。   Referring to FIG. 9, in step S910, control unit 150 reads one EMF record stored in print drawing data generation unit 120. In step S920, the print drawing command classification unit 131 classifies the record according to the attribute included in the read record. If the read record is a header command, control is transferred to step S930. If the read record is a pen generation command, control is transferred to step S940. If the read record is a brush generation command, control is transferred to step S950. If the read record is a font generation command, control is transferred to step S960. If the read record is a text color designation command, control is transferred to step S970. If the read record is an object selection command, control is transferred to step S980. If the read record is a graphic drawing command, control is transferred to step S1000. If the read record is a text drawing command, control is transferred to step S1800. If the read record is an image drawing command, control is transferred to step S2500. If the read record is an end command, control is transferred to step S2600.

ステップS930にて、XMLヘッダ生成部137は、当該ヘッダ命令に従ってXMLのヘッダを生成するための処理を実行する。具体的には、XMLヘッダ生成部137は、SVGデータの開始を表わすxml宣言とsvg要素の開始タグとを書き出す(図5に示される第1および第2行目)。   In step S930, the XML header generation unit 137 executes processing for generating an XML header according to the header instruction. Specifically, the XML header generation unit 137 writes an xml declaration indicating the start of SVG data and a start tag of the svg element (first and second lines shown in FIG. 5).

ステップS940にて、属性情報管理部142は、当該ペン生成命令に基づいてペンの属性情報を抽出し、ペン属性情報管理テーブル610にその属性情報を登録する(図6)。   In step S940, the attribute information management unit 142 extracts pen attribute information based on the pen generation instruction, and registers the attribute information in the pen attribute information management table 610 (FIG. 6).

具体的には、属性情報管理部142は、「EMR_CREATEPEN」レコードからペンの属性情報を抽出し、ペン属性情報管理テーブル610の各領域に対して、抽出された情報を書き込む。図6に示される例では、ハンドル名として「pen1」、ペンの色として「♯000000」、ペンの幅として「2」の各情報が登録される。   Specifically, the attribute information management unit 142 extracts pen attribute information from the “EMR_CREATEPEN” record, and writes the extracted information in each area of the pen attribute information management table 610. In the example shown in FIG. 6, information “pen1” as the handle name, “# 000000” as the pen color, and “2” as the pen width are registered.

ステップS950にて、属性情報管理部142は、ブラシ生成命令に基づいてブラシの属性情報を抽出し、抽出された情報をブラシ属性情報管理テーブル620に登録する(図6)。具体的には、属性情報管理部142は、「EMR_CREATEBRUSHINDIRECT」レコードからブラシの属性情報を抽出し、属性情報管理テーブル620の各領域にそれぞれ対応する情報を格納する。たとえば図6に示される例では、データレコード625としてハンドル名として「brush1」、ブラシの色として「♯FF0000」がそれぞれ登録される。   In step S950, the attribute information management unit 142 extracts brush attribute information based on the brush generation command, and registers the extracted information in the brush attribute information management table 620 (FIG. 6). Specifically, the attribute information management unit 142 extracts brush attribute information from the “EMR_CREATEBRUSHINDIRECT” record, and stores information corresponding to each area of the attribute information management table 620. For example, in the example shown in FIG. 6, “brush1” is registered as the handle name and “# FF0000” is registered as the brush color as the data record 625, respectively.

ステップS960にて、属性情報管理部142は、フォント生成命令に基づいてフォントの属性情報を抽出し、抽出された情報をフォント属性情報管理テーブル630に登録する。   In step S960, the attribute information management unit 142 extracts font attribute information based on the font generation command, and registers the extracted information in the font attribute information management table 630.

ステップS970にて、カレントオブジェクト管理部143は、テキスト色指定命令に基づいてテキストの色情報を抽出し、抽出された情報をテキスト色管理テーブル800(図8)に登録する。   In step S970, current object management unit 143 extracts text color information based on the text color designation command, and registers the extracted information in text color management table 800 (FIG. 8).

ステップS980にて、カレントオブジェクト管理部143は、オブジェクト選択命令に基づいてカレントオブジェクト管理テーブル700(図7)を更新する。   In step S980, current object management unit 143 updates current object management table 700 (FIG. 7) based on the object selection command.

ステップS1000にて、共通属性グループ化管理部133は、図形描画命令に基づいて、後述する「図形描画命令の共通属性グループ化処理」を実行する。この処理が実行されると、共通属性のグループ化処理状態が分類され、当該分類の結果に基づく各処理がそれぞれ実行される。   In step S1000, the common attribute grouping management unit 133 executes a “graphic drawing command common attribute grouping process” to be described later based on the graphic drawing command. When this process is executed, the common attribute grouping process state is classified, and each process based on the result of the classification is executed.

ステップS1800にて、共通属性グループ化管理部133は、テキスト描画命令に基づいて、後述する「テキスト描画命令の共通属性グループ化処理」を実行する。この処理が実行されると、イメージ描画命令の処理状態に応じてそれぞれ処理が行なわれる。   In step S1800, common attribute grouping management section 133 executes a “text drawing command common attribute grouping process” to be described later based on the text drawing command. When this processing is executed, the processing is performed according to the processing state of the image drawing command.

ステップS2500にて、XMLデータ生成部130は、イメージ描画命令に基づいて、後述するイメージ描画命令のXML変換処理を実行する。この処理が実行されると、イメージ描画命令の処理状態の分類の結果に基づく各処理がそれぞれ実現される。   In step S2500, XML data generation unit 130 executes an XML rendering process for an image rendering command, which will be described later, based on the image rendering command. When this processing is executed, each processing based on the result of classification of the processing state of the image rendering command is realized.

ステップS2600にて、XMLデータ生成部130は、終了命令に基づいて、後述する「XML生成の終了処理」を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類が行なわれ、分類の結果に基づく各処理が実行された後、XMLのフッタが生成される。   In step S2600, the XML data generation unit 130 executes an “XML generation end process” to be described later based on the end command. When this processing is executed, the common attribute grouping processing state is classified, and each processing based on the result of the classification is performed, and then an XML footer is generated.

図10を参照して、ステップS1010にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態を分類する。その処理状態が初期状態である場合には、制御はステップS1020に移される。当該処理状態が、テキスト描画命令のグループ化開始前、フォント属性のグループ化中、あるいはテキスト色属性のグループ化中のいずれかである場合には、制御はステップS1200に移される。当該処理状態が、図形描画命令のグループ化開始前、ペン属性のグループ化中、あるいはテキスト色属性グループ化中のいずれかである場合には、制御はステップS1300に移される。   Referring to FIG. 10, in step S1010, common attribute grouping management section 133 classifies the common attribute grouping processing state. If the processing state is the initial state, control is transferred to step S1020. If the processing state is before the start of text rendering command grouping, during font attribute grouping, or during text color attribute grouping, control is transferred to step S1200. If the processing state is before the grouping of the graphics drawing command, the grouping of pen attributes, or the grouping of text color attributes, control is transferred to step S1300.

ステップS1020にて、共通属性グループ化管理部133は、イメージ描画命令の処理状態が処理中であるか否かを判断する。共通属性グループ化管理部133が、その処理状態は処理中であると判断すると(ステップS1020にてYES)、制御はステップS1100に移される。そうでない場合には(ステップS1020にてNO)、制御はステップS1030に移される。   In step S1020, common attribute grouping management section 133 determines whether or not the processing state of the image rendering command is being processed. If common attribute grouping management section 133 determines that the processing state is being processed (YES in step S1020), the control moves to step S1100. Otherwise (NO in step S1020), control is transferred to step S1030.

ステップS1030にて、共通属性グループ化管理部133は、現在選択されているペン、ブラシの各ハンドル名と、当該図形描画命令とを保持し、共通属性のグループ化処理状態を「図形描画命令のグループ化開始前」とする。これらの情報は、たとえば一時記憶部160において処理の前に予め確保された領域に格納される。   In step S1030, the common attribute grouping management unit 133 retains the currently selected pen and brush handle names and the graphic drawing command, and sets the common attribute grouping processing state to “graphic drawing command. "Before starting grouping". These pieces of information are stored, for example, in an area secured in advance in the temporary storage unit 160 before processing.

ステップS1100にて、共通属性グループ化管理部133は、後述する「イメージ描画命令の終了処理」を実行する。この処理が実行されると、イメージ描画命令の処理状態が「初期状態」に設定される。   In step S1100, the common attribute grouping management unit 133 executes an “image drawing command end process” to be described later. When this processing is executed, the processing state of the image drawing command is set to “initial state”.

ステップS1200にて、共通属性グループ化管理部133は、後述する「テキスト描画命令のグループ化終了処理」を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じた処理が行なわれる。   In step S1200, the common attribute grouping management unit 133 executes a “text drawing command grouping end process” to be described later. When this process is executed, a process corresponding to the result of the classification of the common attribute grouping process state is performed.

ステップS1300にて、共通属性グループ化管理部133は、後述する「図形描画命令のXML変換処理」を実行する。この処理が実行されると、ペンの属性とブラシの属性との一致状況に応じた変換処理が実現される。   In step S1300, common attribute grouping management section 133 executes a “graphic drawing command XML conversion process” to be described later. When this process is executed, a conversion process according to the matching status between the pen attribute and the brush attribute is realized.

図11を参照して、ステップS1110にて、共通属性グループ化管理部133は、一時記憶部160において予め確保された領域に、一時的に記憶しているイメージ描画命令に対応するXMLデータを書き出す。   Referring to FIG. 11, in step S1110, common attribute grouping management unit 133 writes XML data corresponding to the temporarily stored image drawing command in an area reserved in advance in temporary storage unit 160. .

ステップS1120にて、共通属性グループ化管理部133は、イメージ描画命令の処理状態を「初期状態」に設定する。この設定の状態は、たとえば一時記憶部160において当該処理のために確保された領域に「初期状態」を表わすデータを書き込むことにより実現される。   In step S1120, common attribute grouping management section 133 sets the processing state of the image rendering command to “initial state”. This state of setting is realized by writing data representing the “initial state” in an area reserved for the processing in temporary storage unit 160, for example.

図12を参照して、共通属性グループ化管理部133は、共通属性のグループ化処理状態を分類する。当該処理状態が「テキスト描画命令のグループ化開始前」である場合には、制御はステップS1220に移される。当該処理状態が「テキスト色属性のグループ化中」である場合には、制御はステップS1230に移される。当該処理状態が「フォント属性のグループ化中」である場合には、制御はステップS1240に移される。   Referring to FIG. 12, common attribute grouping management section 133 classifies the common attribute grouping processing state. If the processing state is “before text rendering command grouping starts”, control is transferred to step S1220. If the processing state is “grouping text color attributes”, control is transferred to step S1230. If the processing status is “grouping font attributes”, control is transferred to step S1240.

ステップS1220にて、共通属性グループ化管理部133は、一時記憶部160に記憶しているテキスト描画命令に対応するXMLデータを書き出す。共通属性グループ化管理部133は、このとき、同様に一時記憶部160に記憶しているテキスト色、フォントの属性情報を含んだ形で当該データを書き出す。   In step S1220, common attribute grouping management unit 133 writes XML data corresponding to the text drawing command stored in temporary storage unit 160. At this time, the common attribute grouping management unit 133 writes the data in a form including the text color and font attribute information stored in the temporary storage unit 160 in the same manner.

ステップS1230にて、共通属性グループ化管理部133は、グループ化中であったフォント属性情報のグループ化終了要素を一時記憶部160において予め確保された領域に書き出す。さらに、共通属性グループ化管理部133は、グループ化中であったテキスト色属性情報のグループ化終了要素を、一時記憶部160の他の領域に同様に書き出す。   In step S 1230, common attribute grouping management section 133 writes the grouping end element of the font attribute information that was being grouped into an area reserved in advance in temporary storage section 160. Further, the common attribute grouping management unit 133 similarly writes the grouping end element of the text color attribute information that was being grouped into another area of the temporary storage unit 160.

ステップS1240にて、共通属性グループ化管理部133は、グループ化中であったテキスト色属性情報のグループ化終了要素を一時記憶部160において予め確保された領域に書き出す。さらに、共通属性グループ化管理部133は、グループ化中であったフォント属性情報のグループ化終了要素を、一時記憶部160の他の領域に同様に書き出す。   In step S1240, common attribute grouping management section 133 writes the grouping end element of the text color attribute information that was being grouped into an area reserved in advance in temporary storage section 160. Further, the common attribute grouping management unit 133 similarly writes the grouping end element of the font attribute information that was being grouped into another area of the temporary storage unit 160.

図13を参照して、ステップS1310にて、共通属性グループ化管理部133は、一時記憶部160に記憶している1つ前の図形描画命令時におけるペンおよびブラシの属性情報と、当該図形描画命令時におけるペンおよびブラシの属性情報とを比較する。当該比較の結果、ペン属性のみが一致する場合には、制御はステップS1400に移される。ブラシ属性のみが一致する場合には、制御はステップS1500に移される。ペンおよびブラシのいずれの属性も一致する場合には、制御はステップS1600に移される。ペンの属性およびブラシの属性のいずれも一致しない場合には、制御はステップS1700に移される。   Referring to FIG. 13, in step S1310, common attribute grouping management section 133 displays pen and brush attribute information at the time of the previous graphic drawing command stored in temporary storage section 160, and the graphic drawing concerned. The attribute information of the pen and brush at the time of command is compared. If only the pen attributes match as a result of the comparison, the control moves to step S1400. If only the brush attributes match, control is transferred to step S1500. If both pen and brush attributes match, control is transferred to step S1600. If neither the pen attribute nor the brush attribute match, control is transferred to step S1700.

ステップS1400にて、共通属性グループ化管理部133は、後述する第1の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実現される。   In step S1400, the common attribute grouping management unit 133 executes a first conversion process to be described later. When this process is executed, processes defined in advance according to the result of the grouping process state classification of the common attribute are realized.

ステップS1500にて、共通属性グループ化管理部133は、後述する第2の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実現される。   In step S1500, the common attribute grouping management unit 133 executes a second conversion process to be described later. When this process is executed, processes defined in advance according to the result of the grouping process state classification of the common attribute are realized.

ステップS1600にて、共通属性グループ化管理部133は、後述する第3の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実現される。   In step S1600, the common attribute grouping management unit 133 executes a third conversion process to be described later. When this process is executed, processes defined in advance according to the result of the grouping process state classification of the common attribute are realized.

ステップS1700にて、共通属性グループ化管理部133は、後述する第4の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実現される。   In step S1700, the common attribute grouping management unit 133 executes a fourth conversion process to be described later. When this process is executed, processes defined in advance according to the result of the grouping process state classification of the common attribute are realized.

図14を参照して、ステップS1410にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態の分類を行なう。この分類は、各命令にそれぞれ対応付けられる属性に従って行なわれる。当該処理状態が「図形描画命令のグループ化開始前」である場合には、制御はステップS1420に移される。当該処理状態が「ペン属性のグループ化中」である場合には、制御はステップS1430に移される。当該処理状態が「ブラシ属性のグループ化中」である場合には、制御はステップS1440に移される。   Referring to FIG. 14, in step S1410, common attribute grouping management section 133 classifies the common attribute grouping processing state. This classification is performed according to an attribute associated with each instruction. If the processing state is “before the start of grouping of graphic drawing commands”, control is transferred to step S1420. If the processing state is “grouping of pen attributes”, control is transferred to step S1430. If the process state is “grouping of brush attributes”, control is transferred to step S1440.

ステップS1420にて、共通属性グループ化管理部133は、第1の処理として、一時記憶部160において予め確保した領域に、ペンの属性情報に含まれるグループ化開始要素を書き出す。共通属性グループ化管理部133は、第2の処理として、一時記憶部160に格納されている前回の図形描画命令時におけるブラシの属性情報のグループ化開始要素を、他の領域に書き出す。共通属性グループ化管理部133は、第3の処理として、一時記憶部160に格納されている前回の図形描画命令に対応するXMLデータを、今回の命令の処理のために確保された領域に書き出す。共通属性グループ化管理部133は、第4の処理として、第2の処理において使用されたブラシの属性情報についてのグループ化終了要素を、一時記憶部160に書き出す。共通属性グループ化管理部133は、第5の処理として、今回の図形描画命令についてのブラシの属性情報のグループ化開始要素を書き出す。共通属性グループ化管理部133は、第6の処理として、今回の図形描画命令に対応するXMLデータを書き出す。共通属性グループ化管理部133は、第7の処理として、現在選択されているペン、ブラシのハンドル名をそれぞれ書き込み、共通属性のグループ化処理状態を「ペン属性のグループ化中」とする。当該処理状態を表わすデータは、一時記憶部160において事前に確保された領域に格納される。   In step S1420, common attribute grouping management section 133 writes the grouping start element included in the pen attribute information in an area secured in advance in temporary storage section 160 as a first process. As a second process, the common attribute grouping management unit 133 writes the grouping start element of the brush attribute information stored in the temporary storage unit 160 at the previous graphic drawing command to another area. As a third process, the common attribute grouping management unit 133 writes the XML data corresponding to the previous graphic drawing command stored in the temporary storage unit 160 in an area reserved for the processing of the current command. . As the fourth process, the common attribute grouping management unit 133 writes the grouping end element for the brush attribute information used in the second process to the temporary storage unit 160. As a fifth process, the common attribute grouping management unit 133 writes a grouping start element of brush attribute information for the current graphic drawing command. The common attribute grouping management unit 133 writes XML data corresponding to the current graphic drawing command as a sixth process. As a seventh process, the common attribute grouping management unit 133 writes the currently selected pen and brush handle names, and sets the common attribute grouping process state as “grouping of pen attributes”. Data representing the processing state is stored in an area secured in advance in temporary storage unit 160.

ステップS1430にて、共通属性グループ化管理部133は、第1の処理として、一時記憶部160において確保された領域に、前回の図形描画命令についてのブラシ属性情報のグループ化終了要素を格納する。共通属性グループ化管理部133は、第2の処理として、今回の図形描画命令についてのブラシの属性情報のグループ化開始要素を一時記憶部160に確保された領域に格納する。共通属性グループ化管理部133は、第3の処理として、今回の図形描画命令に対応するXMLデータを一時記憶部160において確保された領域に書き込む。共通属性グループ化管理部133は、第4の処理として、現在選択されているペンおよびブラシのハンドル名を一時記憶部160に書き込み、共通属性のグループ化処理状態を「ペン属性のグループ化中」とする。当該処理状態を表わすデータも、一時記憶部160において確保された領域に格納される。   In step S1430, common attribute grouping management section 133 stores the grouping end element of the brush attribute information for the previous graphic drawing command in the area secured in temporary storage section 160 as the first processing. As a second process, the common attribute grouping management unit 133 stores the grouping start element of the brush attribute information for the current graphic drawing command in an area secured in the temporary storage unit 160. As a third process, the common attribute grouping management unit 133 writes XML data corresponding to the current graphic drawing command in an area secured in the temporary storage unit 160. As a fourth process, the common attribute grouping management unit 133 writes the currently selected pen and brush handle names in the temporary storage unit 160, and sets the common attribute grouping process state to “grouping pen attributes”. And Data representing the processing state is also stored in an area secured in temporary storage unit 160.

ステップS1440にて、共通属性グループ化管理部133は、第1の処理として、一時記憶部160において確保された領域に、前回の図形描画命令についてのペン属性情報のグループ化終了要素を書き込む。共通属性グループ化管理部133は、第2の処理として、上記領域とは別の領域に、今回の図形描画命令についてのブラシの属性情報のグループ化終了要素を書き込む。共通属性グループ化管理部133は、第3の処理として、現在選択されているペンおよびブラシの各ハンドル名と、今回の図形描画命令とを一時記憶部160において確保された領域に格納し、共通属性のグループ化処理状態を「図形描画命令のグループ化開始前」とする。当該処理状態を表わすデータも、一時記憶部160において確保された領域に格納される。   In step S1440, common attribute grouping management section 133 writes the grouping end element of the pen attribute information for the previous graphic drawing command in the area secured in temporary storage section 160 as the first process. As a second process, the common attribute grouping management unit 133 writes the grouping end element of the brush attribute information for the current graphic drawing command in an area different from the above area. As a third process, the common attribute grouping management unit 133 stores each handle name of the currently selected pen and brush and the current graphic drawing command in an area secured in the temporary storage unit 160, and Assume that the attribute grouping processing state is “before grouping of graphics drawing commands”. Data representing the processing state is also stored in an area secured in temporary storage unit 160.

図15を参照して、ステップS1510にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「図形描画命令のグループ化開始前」である場合には、制御はステップS1520に移される。当該処理状態が「ペン属性のグループ化中」である場合には、制御はステップS1530に移される。当該処理状態が「ブラシ属性のグループ化中」である場合には、制御はステップS1540に移される。   Referring to FIG. 15, in step S1510, common attribute grouping management section 133 classifies the common attribute grouping processing state. If the processing state is “before the start of grouping of graphic drawing commands”, control is transferred to step S1520. If the processing state is “grouping of pen attributes”, control is transferred to step S1530. If the processing status is “grouping of brush attributes”, control is transferred to step S1540.

ステップS1520にて、共通属性グループ化管理部133は、第1の処理として、ブラシの属性情報のグループ化開始要素を書き出す。共通属性グループ化管理部133は、第2の処理として、一時記憶部160に保持されている前回の図形描画命令時におけるペンの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として、一時記憶部160に保持されている前回の図形描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、第4の処理として、第2の処理において参照されたペンの属性情報についてのグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第5の処理として、今回の図形描画命令についてのペンの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第6の処理として、今回の図形描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、第7の処理として現在選択されているペンおよびブラシのハンドル名を一時的に保持し、共通属性のグループ化処理状態を「ブラシ属性のグループ化中」とする。   In step S1520, the common attribute grouping management unit 133 writes the grouping start element of the brush attribute information as the first process. As a second process, the common attribute grouping management unit 133 writes the grouping start element of the pen attribute information at the time of the previous graphic drawing command held in the temporary storage unit 160 to the work area. As a third process, the common attribute grouping management unit 133 writes XML data corresponding to the previous graphic drawing command held in the temporary storage unit 160 to the work area. As a fourth process, the common attribute grouping management unit 133 writes a grouping end element for the pen attribute information referred to in the second process in the work area. As a fifth process, the common attribute grouping management unit 133 writes the grouping start element of the pen attribute information for the current graphic drawing command in the work area. As a sixth process, the common attribute grouping management unit 133 writes XML data corresponding to the current graphic drawing command to the work area. The common attribute grouping management unit 133 temporarily stores the handle names of pens and brushes that are currently selected as the seventh process, and sets the common attribute grouping processing state to “grouping brush attributes”. .

ステップS1530にて、共通属性グループ化管理部133は、第1の処理として、前回の図形描画命令についてのブラシ属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、前回の図形描画命令についてのペン属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時的に保存し、共通属性のグループ化処理状態を「図形描画命令の開始前」とする。   In step S1530, the common attribute grouping management unit 133 writes the grouping end element of the brush attribute information for the previous graphic drawing command in the work area as the first process. As the second process, the common attribute grouping management unit 133 writes the grouping end element of the pen attribute information for the previous graphic drawing command in the work area. As a third process, the common attribute grouping management unit 133 temporarily stores the currently selected pen and brush handle names and the current graphic drawing command, and sets the common attribute grouping process status to “ "Before starting drawing command".

ステップS1540にて、共通属性グループ化管理部133は、第1の処理として、前回の図形描画命令についてのペン属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、今回の図形描画命令についてのペンの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として、今回の図形描画命令に対応するXMLデータを書き出す。共通属性グループ化管理部133は、第4の処理として、現在選択されているペンおよびブラシの各ハンドル名を一時的に保存し、共通属性のグループ化処理状態を「ブラシ属性のグループ化中」とする。   In step S1540, the common attribute grouping management unit 133 writes the grouping end element of the pen attribute information for the previous graphic drawing command in the work area as the first process. As a second process, the common attribute grouping management unit 133 writes a grouping start element of pen attribute information for the current graphic drawing command in the work area. The common attribute grouping management unit 133 writes XML data corresponding to the current graphic drawing command as a third process. As a fourth process, the common attribute grouping management unit 133 temporarily stores the handle names of the currently selected pen and brush, and sets the common attribute grouping process state to “grouping brush attributes”. And

図16を参照して、ステップS1610にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「図形描画命令のグループ化開始前」である場合には、制御はステップS1620に移される。当該処理状態が「ペン属性のグループ化中」である場合には、制御はステップS1630に移される。当該処理状態が「ブラシ属性のグループ化中」である場合には、制御はステップS1640に移される。   Referring to FIG. 16, in step S1610, common attribute grouping management section 133 classifies common attribute grouping processing states. If the processing state is “before the start of grouping of graphic drawing commands”, control is transferred to step S1620. If the processing state is “grouping of pen attributes”, control is transferred to step S1630. If the processing status is “grouping brush attributes”, control is transferred to step S1640.

ステップS1620にて、共通属性グループ化管理部133は、第1の処理として、ペンの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、一時記憶部160に保持されている前回の図形描画命令時におけるブラシの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として、一時記憶部160に格納されている前回の図形描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、上記第2の処理において参照されたブラシの属性情報についてのグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第5の処理として、今回の図形描画命令についてのブラシの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第6の処理として、今回の図形描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、第7の処理として、現在選択されているペンおよびブラシの各ハンドル名を一時記憶部160に書き込み、共通属性のグループ化処理状態を「ペン属性のグループ化中」とする。   In step S1620, common attribute grouping management section 133 writes the grouping start element of the pen attribute information in the work area as the first process. As a second process, the common attribute grouping management unit 133 writes the grouping start element of the brush attribute information at the time of the previous graphic drawing command held in the temporary storage unit 160 to the work area. As a third process, the common attribute grouping management unit 133 writes XML data corresponding to the previous graphic drawing command stored in the temporary storage unit 160 to the work area. The common attribute grouping management unit 133 writes the grouping end element for the brush attribute information referred to in the second process to the work area. As a fifth process, the common attribute grouping management unit 133 writes the grouping start element of the brush attribute information for the current graphic drawing command to the work area. As a sixth process, the common attribute grouping management unit 133 writes XML data corresponding to the current graphic drawing command to the work area. As a seventh process, the common attribute grouping management unit 133 writes the handle names of the currently selected pen and brush in the temporary storage unit 160, and sets the common attribute grouping process state to “Pen attribute grouping in progress”. "

ステップS1630にて、共通属性グループ化管理部133は、第1の処理として、今回の図形描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時的に記憶し、共通属性のグループ化処理状態を「ペン属性のグループ化中」とする。   In step S1630, as a first process, common attribute grouping management unit 133 writes XML data corresponding to the current graphic drawing command to the work area. As the second process, the common attribute grouping management unit 133 temporarily stores the currently selected pen and brush handle names and the current graphics drawing command, and sets the common attribute grouping process state to “ "Pen attribute grouping".

ステップS1640にて、共通属性グループ化管理部133は、第1の処理として、今回の図形描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時的に格納し、共通属性のグループ化処理状態を「ブラシ属性のグループ化中」とする。   In step S1640, as a first process, common attribute grouping management unit 133 writes XML data corresponding to the current graphic drawing command to the work area. As the second process, the common attribute grouping management unit 133 temporarily stores the currently selected pen and brush handle names and the current graphics drawing command, and sets the common attribute grouping process status to “ “Brush attribute grouping”.

図17を参照して、ステップS1710にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「図形描画命令のグループ化開始前」である場合には、制御はステップS1720に移される。当該処理状態が「ペン属性のグループ化中」である場合には、制御はステップS1730に移される。当該処理状態が「ブラシ属性のグループ化中」である場合には、制御はステップS1740に移される。   Referring to FIG. 17, in step S1710, common attribute grouping management section 133 classifies the common attribute grouping processing state. If the processing state is “before the start of grouping of graphic drawing commands”, control is transferred to step S1720. If the processing state is “grouping of pen attributes”, control is transferred to step S1730. If the processing status is “grouping of brush attributes”, control is transferred to step S1740.

ステップS1720にて、共通属性グループ化管理部133は、第1の処理として、一時記憶部160に格納されている前回の図形描画命令に対応するXMLデータをワーク領域に書き出す。このとき、共通属性グループ化管理部133は、一時的に記憶されている前回の図形描画命令時におけるペンおよびブラシの属性情報を含んだ形で、データをワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時記憶部160に記憶し、共通属性のグループ化処理状態を「図形描画命令の開始前」とする。   In step S1720, as a first process, common attribute grouping management unit 133 writes XML data corresponding to the previous graphic drawing command stored in temporary storage unit 160 in the work area. At this time, the common attribute grouping management unit 133 writes the data to the work area in a form including the pen and brush attribute information at the time of the previous graphic drawing command temporarily stored. As the second process, the common attribute grouping management unit 133 stores the handle name of the currently selected pen and brush and the current graphic drawing command in the temporary storage unit 160, and the common attribute grouping process state Is “before the start of the graphics drawing command”.

ステップS1730にて、共通属性グループ化管理部133は、第1の処理として、前回の図形描画命令についてのブラシの属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、前回の図形描画命令についてのペンの属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時的に格納し、共通属性のグループ化処理状態を「図形描画命令の開始前」とする。   In step S1730, as a first process, common attribute grouping management unit 133 writes the grouping end element of the brush attribute information for the previous graphic drawing command to the work area. As the second process, the common attribute grouping management unit 133 writes the grouping end element of the pen attribute information for the previous graphic drawing command in the work area. As a third process, the common attribute grouping management unit 133 temporarily stores the handle name of the currently selected pen and brush and the current graphic drawing command, and sets the grouping process state of the common attribute to “ "Before starting drawing command".

ステップS1740にて、共通属性グループ化管理部133は、第1の処理として、前回の図形描画命令についてのペンの属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、前回の図形描画命令についてのブラシ属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として、現在選択されているペンおよびブラシの各ハンドル名と今回の図形描画命令とを一時的に記憶し、共通属性のグループ化処理状態を「図形描画命令の開始前」とする。   In step S1740, as a first process, common attribute grouping management unit 133 writes a grouping end element of pen attribute information for the previous graphic drawing command in the work area. As the second process, the common attribute grouping management unit 133 writes the grouping end element of the brush attribute information for the previous graphic drawing command to the work area. As the third process, the common attribute grouping management unit 133 temporarily stores the currently selected pen and brush handle names and the current graphics drawing command, and sets the common attribute grouping process status to “ "Before starting drawing command".

図18を参照して、ステップS1810にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「初期状態」である場合には、制御はステップS1820に移される。当該処理状態が「図形描画命令のグループ化開始前」、「ペン属性のグループ化中」、および「ブラシ属性のグループ化中」のいずれかである場合には、制御はステップS1900に移される。当該処理状態が「テキスト描画命令のグループ化開始前」、「フォント属性のグループ化中」、および「テキストから属性のグループ化中」のいずれかである場合には、制御はステップS2000に移される。   Referring to FIG. 18, in step S1810, common attribute grouping management section 133 classifies common attribute grouping processing states. If the processing state is the “initial state”, control is transferred to step S1820. If the processing state is any one of “Before grouping of graphic drawing commands”, “Pen attribute grouping”, and “Brush attribute grouping”, control is passed to step S1900. If the processing state is “before text rendering command grouping start”, “grouping font attributes”, and “grouping text to attributes”, control is passed to step S2000. .

ステップS1820にて、共通属性グループ化管理部133は、イメージ描画命令の処理状態が「処理中」であるか否かを判断する。共通属性グループ化管理部133が、当該処理状態は「処理中」であると判断すると(ステップS1820にてYES)、制御はステップS1100に移される。そうでない場合には(ステップS1820にてNO)、制御はステップS1830に移される。   In step S1820, common attribute grouping management section 133 determines whether or not the processing state of the image rendering command is “processing”. If common attribute grouping management section 133 determines that the processing state is “processing” (YES in step S1820), the control moves to step S1100. If not (NO in step S1820), control is transferred to step S1830.

ステップS1830にて、共通属性グループ化管理部133は、現在選択あるいは指定されているフォントのハンドル名とテキスト色と当該テキスト描画命令とを一時記憶部160に格納し、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。   In step S1830, common attribute grouping management section 133 stores the handle name, text color, and text rendering command of the currently selected or designated font in temporary storage section 160, and the common attribute grouping processing state Is “before the start of grouping of text drawing commands”.

ステップS1900にて、共通属性グループ化管理部133は、後述する図形描画命令のグループ化終了処理を実行する。この処理が実行されると、共通属性のグループ化処理状態に応じて予め規定された処理がそれぞれ実現される。   In step S1900, the common attribute grouping management unit 133 executes a grouping end process of a graphics drawing command to be described later. When this process is executed, a process defined in advance according to the grouping process state of the common attribute is realized.

ステップS2000にて、共通属性グループ化管理部133は、後述するテキスト描画命令のXML変換処理を実行する。この処理が実行されると、テキスト描画命令に含まれる続性に応じて予め規定された処理が実現される。   In step S2000, the common attribute grouping management unit 133 executes an XML conversion process of a text drawing command to be described later. When this process is executed, a process defined in advance according to the continuity included in the text rendering command is realized.

図19を参照して、ステップS1910にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「描画命令のグループ化開始前」である場合には、制御はステップS1920に移される。当該処理状態が「ペン属性のグループ化中」である場合には、制御はステップS1930に移される。当該処理状態が「ブラシ属性のグループ化中」である場合には、制御はステップS1940に移される。   Referring to FIG. 19, in step S1910, common attribute grouping management section 133 classifies the common attribute grouping processing state. If the processing state is “before starting drawing command grouping”, control is passed to step S1920. If the processing state is “grouping of pen attributes”, control is transferred to step S1930. If the processing status is “grouping of brush attributes”, control is transferred to step S1940.

ステップS1920にて、共通属性グループ化管理部133は、一時記憶部160に格納されている前回の図形描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、このとき同様に格納されている前回の図形描画命令時におけるペンおよびブラシの各属性情報を含んだ形で当該データを書き出す。   In step S1920, common attribute grouping management unit 133 writes XML data corresponding to the previous graphic drawing command stored in temporary storage unit 160 in the work area. The common attribute grouping management unit 133 writes the data in a form including the pen and brush attribute information at the previous graphic drawing command stored in the same manner.

ステップS1930にて、共通属性グループ化管理部133は、第1の処理として、グループ化中であったブラシ属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、グループ化中であったペンの属性情報のグループ化終了要素をワーク領域に書き出す。   In step S1930, as a first process, common attribute grouping management section 133 writes the grouping end element of the brush attribute information that was being grouped into the work area. As a second process, the common attribute grouping management unit 133 writes the grouping end element of the pen attribute information being grouped into the work area.

ステップS1940にて、共通属性グループ化管理部133は、第1の処理として、グループ化中であったペンの属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、グループ化中であったブラシの属性情報のグループ化終了要素をワーク領域に書き出す。   In step S1940, the common attribute grouping management unit 133 writes the grouping end element of the pen attribute information being grouped in the work area as the first process. As a second process, the common attribute grouping management unit 133 writes the grouping end element of the attribute information of the brushes that were being grouped into the work area.

図20を参照して、ステップS2010にて、共通属性グループ化管理部133は、一時記憶部160に格納されている1つ前のテキスト描画命令時のフォントのハンドル名およびテキスト色と、今回のテキスト描画命令に含まれるフォントのハンドル名およびテキスト色とを比較する。比較の結果テキスト色のみが一致する場合には、制御はステップS2100に移される。フォントのハンドル名のみが一致する場合には、制御はステップS2200に移される。フォントのハンドル名とテキスト色とがいずれも一致する場合には、制御はステップS2300に移される。フォントのハンドル名およびテキスト色のいずれも一致しない場合には、制御はステップS2400に移される。   Referring to FIG. 20, in step S2010, the common attribute grouping management unit 133 stores the handle name and text color of the font at the time of the previous text drawing command stored in the temporary storage unit 160, and the current The font handle name and text color included in the text rendering command are compared. If only the text colors match as a result of the comparison, the control moves to step S2100. If only the font handle names match, control is transferred to step S2200. If both the font handle name and the text color match, control is transferred to step S2300. If neither the font handle name nor the text color match, control is transferred to step S2400.

ステップS2100にて、共通属性グループ化管理部133は、後述する第5の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された各処理が実現される。   In step S2100, the common attribute grouping management unit 133 executes a fifth conversion process to be described later. When this process is executed, each process defined in advance according to the result of classification of the common attribute grouping process state is realized.

ステップS2200にて、共通属性グループ化管理部133は、後述する第6の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定されたそれぞれの処理が実現される。   In step S2200, common attribute grouping management section 133 executes a sixth conversion process to be described later. When this process is executed, each process defined in advance according to the result of the classification of the common attribute grouping process state is realized.

ステップS2300にて、共通属性グループ化管理部133は、後述する第7の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実行される。   In step S2300, common attribute grouping management section 133 executes a seventh conversion process to be described later. When this process is executed, processes specified in advance according to the result of the grouping process state classification of the common attributes are respectively executed.

ステップS2400にて、共通属性グループ化管理部133は、後述する第8の変換処理を実行する。この処理が実行されると、共通属性のグループ化処理状態の分類の結果に応じて予め規定された処理がそれぞれ実行される。   In step S2400, common attribute grouping management section 133 executes an eighth conversion process to be described later. When this process is executed, processes specified in advance according to the result of the grouping process state classification of the common attributes are respectively executed.

図21を参照して、ステップS2110にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態の分類を行なう。分類の結果、当該処理状態が「テキスト描画命令のグループ化開始前」である場合には、制御はステップS2120に移される。当該処理状態が「テキスト色属性のグループ化中」である場合には、制御はステップS2130に移される。当該処理状態が「フォント属性のグループ化中」である場合には、制御はステップS2140に移される。   Referring to FIG. 21, in step S2110, common attribute grouping management section 133 classifies the common attribute grouping processing state. As a result of the classification, when the processing state is “before the start of grouping of text drawing commands”, the control is moved to step S2120. If the processing state is “grouping text color attributes”, control is transferred to step S2130. If the processing status is “grouping font attributes”, control is transferred to step S2140.

ステップS2120にて、共通属性グループ化管理部133は、第1の処理として、テキスト色属性のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、フォント属性のグループ化開始要素を他のワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として、一時記憶部160に保持されているテキスト描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、第4の処理として、上記第2の処理において参照されたフォント属性についてのグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第5の処理として、今回のテキスト描画命令についてのフォント属性のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第6の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部160において確保した領域に保持し、共通属性のグループ化処理状態を「テキスト色属性のグループ化中」とする。   In step S2120, common attribute grouping management section 133 writes the text color attribute grouping start element in the work area as the first process. As a second process, the common attribute grouping management unit 133 writes a font attribute grouping start element in another work area. As a third process, the common attribute grouping management unit 133 writes XML data corresponding to the text drawing command held in the temporary storage unit 160 to the work area. As the fourth process, the common attribute grouping management unit 133 writes the grouping end element for the font attribute referred to in the second process to the work area. As a fifth process, the common attribute grouping management unit 133 writes a font attribute grouping start element for the current text drawing command in the work area. As the sixth process, the common attribute grouping management unit 133 stores the handle name, text color, and current text drawing command of the currently selected or designated font in the area secured in the temporary storage unit 160, and the common processing is performed. The attribute grouping processing state is assumed to be “grouping text color attributes”.

ステップS2130にて、共通属性グループ化管理部133は、第1の処理として、一時記憶部160に保持されているテキスト描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、処理状態が「グループ化中」であったフォントの属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として、今回のテキスト描画命令についてのフォントの属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第4の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部160において確保した領域に保持し、共通属性のグループ化処理状態を「テキスト色属性のグループ化中」とする。   In step S2130, common attribute grouping management section 133 writes XML data corresponding to the text rendering command held in temporary storage section 160 in the work area as a first process. As the second process, the common attribute grouping management unit 133 writes the grouping end element of the font attribute information whose processing state is “grouping” in the work area. As a third process, the common attribute grouping management unit 133 writes the grouping start element of the font attribute information for the current text drawing command in the work area. As a fourth process, the common attribute grouping management unit 133 holds the handle name, text color, and current text drawing command of the currently selected or designated font in the area secured in the temporary storage unit 160, and the common processing is performed. The attribute grouping processing state is assumed to be “grouping text color attributes”.

ステップS2140にて、共通属性グループ化管理部133は、第1の処理として、一時記憶部160に保持されているテキスト描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、処理状態が「グループ化中」であったテキスト色属性のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として、当該処理状態が「グループ化中」であったフォント属性の属性のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第4の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部160において予め確保した領域に保持し、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。   In step S2140, common attribute grouping management section 133 writes XML data corresponding to the text rendering command held in temporary storage section 160 in the work area as a first process. As the second process, the common attribute grouping management unit 133 writes the grouping end element of the text color attribute whose processing state is “grouping” in the work area. As the third process, the common attribute grouping management unit 133 writes the grouping end element of the attribute of the font attribute whose processing state is “grouping” in the work area. As a fourth process, the common attribute grouping management unit 133 stores the handle name, text color, and current text drawing command of the currently selected or designated font in an area secured in advance in the temporary storage unit 160, The common attribute grouping processing state is assumed to be “before text rendering command grouping starts”.

図22を参照して、ステップS2210にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「テキスト描画命令のグループ化開始前」である場合には、制御はステップS2220に移される。当該処理状態が「テキスト色属性のグループ化中」である場合には、制御はステップS2230に移される。当該処理状態が「フォント属性のグループ化中」である場合には、制御はステップS2240に移される。   Referring to FIG. 22, in step S2210, common attribute grouping management section 133 classifies the common attribute grouping processing state. If the processing state is “before text rendering command grouping is started”, control is passed to step S2220. If the processing state is “grouping text color attributes”, control is transferred to step S2230. If the processing state is “grouping font attributes”, control is transferred to step S2240.

ステップS2220にて、共通属性グループ化管理部133は、第1の処理として、フォント属性のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、テキスト色属性のグループ化開始要素を他のワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として一時記憶部160に保持されているテキスト描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、第4の処理として上記第2の処理において参照されたテキスト色属性についてグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第5の処理として、今回のテキスト描画命令についてのテキスト色属性のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第6の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部160において確保した領域に保持し、共通属性のグループ化処理状態を「フォント属性のグループ化中」とする。   In step S2220, as a first process, common attribute grouping management section 133 writes a font attribute grouping start element in the work area. As the second process, the common attribute grouping management unit 133 writes the text color attribute grouping start element to another work area. The common attribute grouping management unit 133 writes XML data corresponding to the text drawing command held in the temporary storage unit 160 as a third process in the work area. The common attribute grouping management unit 133 writes a grouping end element in the work area for the text color attribute referred to in the second process as the fourth process. As a fifth process, the common attribute grouping management unit 133 writes a text color attribute grouping start element for the current text drawing command in the work area. As the sixth process, the common attribute grouping management unit 133 stores the handle name, text color, and current text drawing command of the currently selected or designated font in the area secured in the temporary storage unit 160, and the common processing is performed. The attribute grouping processing state is set to “grouping font attributes”.

ステップS2230にて、共通属性グループ化管理部133は、第1の処理として、一時記憶部160に保持されているテキスト描画命令に対応するXMLデータをワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として処理状態が「グループ化中」であったフォント属性のグループ化終了要素を書き出す。共通属性グループ化管理部133は、第3の処理として処理状態が「グループ化中」であったテキスト色属性のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第4の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部160において確保された領域に保持し、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。   In step S2230, common attribute grouping management section 133 writes XML data corresponding to the text rendering command held in temporary storage section 160 in the work area as the first process. The common attribute grouping management unit 133 writes out the grouping end element of the font attribute whose processing state is “grouping” as the second process. The common attribute grouping management unit 133 writes the grouping end element of the text color attribute whose processing state is “grouping” as the third process in the work area. As the fourth process, the common attribute grouping management unit 133 stores the handle name, text color, and current text drawing command of the currently selected or designated font in the area secured in the temporary storage unit 160, The common attribute grouping processing state is assumed to be “before text rendering command grouping starts”.

ステップS2140にて、共通属性グループ化管理部133は、第1の処理として、一時記憶部160に保持されているテキスト描画命令に対応するXMLデータを書き出す。共通属性グループ化管理部133は、第2の処理として、処理状態が「グループ化中」であったテキスト色属性情報のグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第3の処理として、今回のテキスト描画命令についてのテキスト色属性情報のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第4の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部160において確保された領域に書き込み、共通属性のグループ化処理状態を「フォント属性グループ化中」とする。   In step S2140, common attribute grouping management section 133 writes XML data corresponding to the text rendering command held in temporary storage section 160 as the first process. As the second process, the common attribute grouping management unit 133 writes the grouping end element of the text color attribute information whose processing state is “grouping” in the work area. As a third process, the common attribute grouping management unit 133 writes the grouping start element of the text color attribute information for the current text drawing command in the work area. As a fourth process, the common attribute grouping management unit 133 writes the handle name, text color, and current text drawing command of the currently selected or designated font in the area secured in the temporary storage unit 160, and the common processing is performed. The attribute grouping processing state is set to “font attribute grouping”.

図23を参照して、ステップS2310にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態が「テキスト描画命令のグループ化処理前」であるか否かを判断する。共通属性グループ化管理部133が、当該処理状態は「テキスト描画命令のグループ化処理前」であると判断すると(ステップS2310にてYES)、制御はステップS2320に移される。そうでない場合には(ステップS2310にてNO)、制御はステップS2330に移される。   Referring to FIG. 23, in step S2310, common attribute grouping management section 133 determines whether or not the common attribute grouping processing state is “before text rendering command grouping processing”. If common attribute grouping management section 133 determines that the processing state is “before text rendering command grouping processing” (YES in step S2310), the control moves to step S2320. If not (NO in step S2310), control is transferred to step S2330.

ステップS2320にて、共通属性グループ化管理部133は、第1の処理として、テキスト色のグループ化開始要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、フォント属性のグループ化開始要素を他のワーク領域に書き出す。   In step S2320, common attribute grouping management section 133 writes the text color grouping start element in the work area as the first process. As a second process, the common attribute grouping management unit 133 writes a font attribute grouping start element in another work area.

ステップS2330にて、共通属性グループ化管理部133は、一時記憶部160に保持されているテキスト描画命令に含まれるy座標と今回のテキスト描画命令に含まれるy座標とが一致するか否かを判断する。共通属性グループ化管理部133がこれらのy座標は一致すると判断すると(ステップS2330にてYES)、制御はステップS2340に移される。そうでない場合には(ステップS2330にてNO)、制御はステップS2350に移される。   In step S2330, common attribute grouping management unit 133 determines whether or not the y coordinate included in the text drawing command held in temporary storage unit 160 matches the y coordinate included in the current text drawing command. to decide. If common attribute grouping management section 133 determines that these y coordinates match (YES in step S2330), the control moves to step S2340. If not (NO in step S2330), control is transferred to step S2350.

ステップS2340にて、共通属性グループ化管理部133は、一時記憶部160に保持されているテキスト描画命令の最後の文字と、今回のテキスト描画命令の最初の文字とが隣接しているか否かを判断する。この判断は、たとえば各文字の座標値を比較することにより行なわれる。共通属性グループ化管理部133が、当該最後の文字と当該最初の文字とは隣接していると判断すると(ステップS2340にてYES)、制御はステップS2370に移される。そうでない場合には(ステップS2340にてNO)、制御はステップS2350に移される。   In step S2340, common attribute grouping management unit 133 determines whether or not the last character of the text drawing command held in temporary storage unit 160 is adjacent to the first character of the current text drawing command. to decide. This determination is made, for example, by comparing the coordinate values of the characters. If common attribute grouping management section 133 determines that the last character and the first character are adjacent (YES in step S2340), the control moves to step S2370. If not (NO in step S2340), control is transferred to step S2350.

ステップS2350にて、共通属性グループ化管理部133は、一時記憶部160に保持されているテキスト描画命令に対応するXMLデータをワーク領域に書き出す。ステップS2360にて、共通属性グループ化管理部133は、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部160において事前に確保された領域に保持する。   In step S2350, common attribute grouping management unit 133 writes XML data corresponding to the text drawing command held in temporary storage unit 160 in the work area. In step S2360, common attribute grouping management section 133 holds the handle name, text color, and current text drawing command of the currently selected or designated font in an area reserved in advance in temporary storage section 160. .

ステップS2370にて、共通属性グループ化管理部133は、一時記憶部160に保持されているテキスト描画命令に今回のテキスト描画命令を加える。ステップS2380にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態を「テキスト色属性グループ化処理中」とする。   In step S 2370, common attribute grouping management unit 133 adds the current text drawing command to the text drawing command held in temporary storage unit 160. In step S2380, common attribute grouping management section 133 sets the common attribute grouping processing state to “text color attribute grouping processing in progress”.

図24を参照して、ステップ2410にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「テキスト描画命令のグループ化開始前」である場合には、制御はステップS2420に移される。当該処理状態が「テキスト色属性のグループ化中」である場合には、制御はステップS2430に移される。当該処理状態が「フォント属性のグループ化中」である場合には、制御はステップS2440に移される。   Referring to FIG. 24, in step 2410, common attribute grouping management section 133 classifies the common attribute grouping processing state. If the processing state is “before text rendering command grouping is started”, control is passed to step S2420. If the processing state is “grouping text color attributes”, control is transferred to step S2430. If the processing status is “grouping font attributes”, control is transferred to step S2440.

ステップS2420にて、共通属性グループ化管理部133は、第1の処理として、一時記憶部160に保持されているテキスト描画命令に対応するXMLデータデータをワーク領域に書き出す。このとき、共通属性グループ化管理部133は、同様に保持されているフォントおよびテキスト色の属性情報を含んだ形でXMLデータを書き出す。共通属性グループ化管理部133は、第2の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色と今回のテキスト描画命令とを一時記憶部160に書き込み、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。   In step S2420, common attribute grouping management section 133 writes XML data data corresponding to the text rendering command held in temporary storage section 160 in the work area as the first process. At this time, the common attribute grouping management unit 133 writes the XML data in a form including the attribute information of the font and text color that are similarly held. As a second process, the common attribute grouping management unit 133 writes the handle name, text color, and current text drawing command of the currently selected or designated font to the temporary storage unit 160, and performs a common attribute grouping process. The state is assumed to be “before the start of grouping of text drawing commands”.

ステップS2430にて、共通属性グループ化管理部133は、第1の処理として、処理状態が「グループ化中」であったフォント属性についてグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として、処理状態が「グループ化中」であったテキスト色属性についてのグループ化終了要素を書き出す。共通属性グループ化管理部133は、第3の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色の今回のテキスト描画命令とを一時記憶部160において確保された領域に書き込み、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。   In step S2430, as the first process, common attribute grouping management unit 133 writes a grouping end element in the work area for the font attribute whose processing state is “grouping”. As a second process, the common attribute grouping management unit 133 writes a grouping end element for the text color attribute whose processing state is “grouping”. As the third process, the common attribute grouping management unit 133 writes the handle name of the currently selected or designated font and the current text drawing command of the text color in the area secured in the temporary storage unit 160, and the common The attribute grouping processing state is set to “before text rendering command grouping starts”.

ステップS2440にて、共通属性グループ化管理部133は、第1の処理として、処理状態が「グループ化中」であったテキスト色属性についてのグループ化終了要素をワーク領域に書き出す。共通属性グループ化管理部133は、第2の処理として処理状態が「グループ化中」であったフォント属性についてのグループ化終了要素を書き出す。共通属性グループ化管理部133は、第3の処理として、現在選択あるいは指定されているフォントのハンドル名とテキスト色の今回のテキスト描画命令とを一時記憶部160に書き込み、共通属性のグループ化処理状態を「テキスト描画命令のグループ化開始前」とする。   In step S2440, as the first process, common attribute grouping management unit 133 writes the grouping end element for the text color attribute whose processing state is “grouping” in the work area. The common attribute grouping management unit 133 writes out a grouping end element for the font attribute whose processing state is “grouping” as the second process. As a third process, the common attribute grouping management unit 133 writes the handle name of the currently selected or designated font and the current text drawing command of the text color to the temporary storage unit 160, and performs a common attribute grouping process The state is assumed to be “before the start of grouping of text drawing commands”.

図25を参照して、ステップS2510にて、共通属性グループ化管理部133は、イメージ描画命令の処理状態の分類を行なう。当該処理状態が「処理中」である場合には、制御はステップS2530に移される。当該処理状態が「初期状態」である場合には、制御はステップS2520に移される。   Referring to FIG. 25, in step S2510, common attribute grouping management unit 133 classifies the processing state of the image drawing command. If the processing state is “processing”, control is transferred to step S2530. If the processing state is the “initial state”, control is transferred to step S2520.

ステップS2520にて、共通属性グループ化管理部133は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「図形描画命令のグループ化開始前」、「ペン属性のグループ化中」、および「テキスト色属性のグループ化中」のいずれかである場合には、制御はステップS1900に移される。当該処理状態が「テキスト描画命令のグループ化開始前」、「フォント属性のグループ化中」、および「テキスト色属性のグループ化中」のいずれかである場合には、制御はステップS1200に移される。当該処理状態が「初期状態」である場合には、制御はステップS2550に移される。   In step S2520, common attribute grouping management section 133 classifies the common attribute grouping processing state. If the processing state is any of “Before grouping of graphic drawing commands”, “Pen attribute grouping”, and “Text color attribute grouping”, control is passed to step S1900. . If the processing state is one of “Before starting text rendering command grouping”, “Grouping font attributes”, and “Grouping text color attributes”, control is passed to step S1200. . If the processing state is the “initial state”, control is transferred to step S2550.

ステップS2530にて、イメージ描画データ最適化部135は、一時記憶部160に記憶されているイメージ描画命令が描くイメージの領域と今回のイメージ描画命令に基づいて描かれるイメージの領域とが接するかあるいは重なっているか否かを判断する。イメージ描画データ最適化部135がこれらの領域は接しているあるいは重なっていると判断すると(ステップS2530にてYES)、制御はステップS2560に移される。そうでない場合は(ステップS2530にてNO)、制御はステップS2540に移される。   In step S2530, image drawing data optimizing unit 135 determines whether the image region drawn by the image drawing command stored in temporary storage unit 160 is in contact with the image region drawn based on the current image drawing command, or Determine if they overlap. If image drawing data optimizing unit 135 determines that these areas are in contact with each other or overlap (YES in step S2530), control is transferred to step S2560. If not (NO in step S2530), control is transferred to step S2540.

ステップS2540にて、イメージ描画データ最適化部135は、一時記憶部160に格納されているイメージ描画命令に対応するXMLデータをワーク領域に書き出す。   In step S2540, image drawing data optimizing unit 135 writes XML data corresponding to the image drawing command stored in temporary storage unit 160 in the work area.

ステップS2550にて、イメージ描画データ最適化部135は、今回のイメージ描画命令を一時記憶部160において確保した領域に格納し、イメージ描画命令の処理状態を「処理中」とする。   In step S2550, image drawing data optimizing unit 135 stores the current image drawing command in the area secured in temporary storage unit 160, and sets the processing state of the image drawing command to “processing”.

ステップS2560にて、イメージ描画データ最適化部135は、一時記憶部160に格納されているイメージ描画命令に、今回のイメージ描画命令を加える。   In step S2560, image drawing data optimizing unit 135 adds the current image drawing command to the image drawing command stored in temporary storage unit 160.

図26を参照して、ステップS2610にて、XMLデータ生成部130は、共通属性のグループ化処理状態の分類を行なう。当該処理状態が「図形描画命令のグループ化開始前」、「ペン属性のグループ化中」および「テキスト色属性のグループ化中」のいずれかである場合には、制御はステップS1900に移される。当該処理状態が「テキスト描画命令のグループ化開始前」、「フォント属性のグループ化中」、および「テキスト色属性のグループ化中」のいずれかである場合には、制御はステップS1200に移される。当該処理状態が「初期状態」である場合には、制御はステップS2620に移される。   Referring to FIG. 26, in step S2610, XML data generation unit 130 classifies the common attribute grouping processing state. If the processing state is any of “Before grouping of graphic drawing commands”, “Pen attribute grouping”, and “Text color attribute grouping”, control is passed to step S1900. If the processing state is one of “Before starting text rendering command grouping”, “Grouping font attributes”, and “Grouping text color attributes”, control is passed to step S1200. . If the processing state is the “initial state”, control is transferred to step S2620.

ステップS2620にて、XMLデータ生成部130は、イメージ描画命令の処理状態が「処理中」であるか否かを判断する。XMLデータ生成部130が、当該処理状態は「処理中」であると判断すると(ステップS2620にてYES)、制御はステップS1100に移される。そうでない場合には(ステップS2620にてNO)、制御はステップS2630に移される。   In step S2620, XML data generation unit 130 determines whether or not the processing state of the image rendering command is “processing”. If XML data generation unit 130 determines that the processing state is “processing” (YES in step S2620), the control moves to step S1100. If not (NO in step S2620), control is transferred to step S2630.

ステップS2630にて、XMLデータ生成部130は、XMLのフッタを生成する。
以上のような構造およびフローチャートに基づく電子ドキュメントデータ処理装置100の動作について説明する。ここでは、電子ドキュメントデータ処理装置が図3に示される印刷描画データファイル300を使用する場合について説明する。
In step S2630, the XML data generation unit 130 generates an XML footer.
The operation of the electronic document data processing apparatus 100 based on the above-described structure and flowchart will be described. Here, a case where the electronic document data processing apparatus uses the print drawing data file 300 shown in FIG. 3 will be described.

[1行目]
電子ドキュメントデータ処理装置の制御部150は、EMFの1行目のレコード(印刷描画データファイル300における「EMR_HEADER」)を読み出す(ステップS910)。そのレコードはヘッダ命令であるため(ステップS920)、XMLのヘッダ生成処理が実行される(ステップS930)。その結果、図5に示されるようなxml宣言とsvg要素の開始タグが書き出される。その後、ステップS910の処理が再度実行される。
[First line]
The control unit 150 of the electronic document data processing apparatus reads the record in the first line of the EMF (“EMR_HEADER” in the print drawing data file 300) (step S910). Since the record is a header command (step S920), XML header generation processing is executed (step S930). As a result, the xml declaration and the start tag of the svg element as shown in FIG. 5 are written. Thereafter, the process of step S910 is executed again.

[2行目]
制御部150はEMFの2行目のレコード(印刷描画データファイル300における「EMR_CREATEPEN」)を読み出す(ステップS910)。当該レコードはペン生成命令であるため(ステップS920)、ステップS940に示される処理が実行される。その結果、図6に示されるように、ハンドル名「pen1」と、ペンの色「#000000」と、ペンの幅「2」の各情報がテーブル610に格納される。その後、ステップS910の処理が再度実行される。
[Second line]
The control unit 150 reads the record in the second line of the EMF (“EMR_CREATEPEN” in the print drawing data file 300) (step S910). Since the record is a pen generation command (step S920), the process shown in step S940 is executed. As a result, as illustrated in FIG. 6, information on the handle name “pen1”, the pen color “# 000000”, and the pen width “2” is stored in the table 610. Thereafter, the process of step S910 is executed again.

[3行目]
制御部150はEMFの3行目のレコード(印刷描画データファイル300における「EMR_SELECTOBJECT」)を読み出す(ステップS910)。当該レコードはオブジェクト選択命令であるため(ステップS920)、ステップS980に示される処理が実行される。その結果、図7に示されるように、現在選択されているペンが、ハンドル名「pen1」として特定されるペンであることを表わす情報が、テーブル700に登録される(状態(A))。その後、ステップS910の処理が再度実行される。
[3rd line]
The control unit 150 reads the record in the third line of the EMF (“EMR_SELECTECTJECT” in the print drawing data file 300) (step S910). Since the record is an object selection command (step S920), the process shown in step S980 is executed. As a result, as shown in FIG. 7, information indicating that the currently selected pen is the pen identified as the handle name “pen1” is registered in the table 700 (state (A)). Thereafter, the process of step S910 is executed again.

[4行目]
制御部150はEMFの4行目のレコード(印刷描画データファイル300における「EMR_CREATEBRUSHINDIRECT」)を読み出す(ステップS910)。当該レコードはブラシ生成命令であるため(ステップS920)、ステップS950に示される処理が実行される。その結果、図6に示されるように、ハンドル名「brush1」とブラシの色「#FF0000」の各情報が、テーブル620に格納される。その後、ステップS910の処理が再度実行される。
[Line 4]
The control unit 150 reads the record in the fourth line of the EMF (“EMR_CREATEBRUSHINDIRECT” in the print drawing data file 300) (step S910). Since the record is a brush generation command (step S920), the process shown in step S950 is executed. As a result, as shown in FIG. 6, information on the handle name “brush1” and the brush color “# FF0000” is stored in the table 620. Thereafter, the process of step S910 is executed again.

[5行目]
制御部150はEMFの5行目のレコード(印刷描画データファイル300における「EMR_SELECTOBJECT」)を読み出す(ステップS910)。当該レコードはオブジェクト選択命令であるため(ステップS920)、ステップS980に示される処理が実行される。その結果、図7に示されるように、現在選択されているブラシが、ハンドル名「brush1」として特定されるブラシであることを表わす情報が、テーブル700に追加される(状態(B))。その後、ステップS910の処理が再度実行される。
[5th line]
The control unit 150 reads the record in the fifth line of EMF (“EMR_SELECTBJECT” in the print drawing data file 300) (step S910). Since the record is an object selection command (step S920), the process shown in step S980 is executed. As a result, as shown in FIG. 7, information indicating that the currently selected brush is the brush identified as the handle name “brush1” is added to the table 700 (state (B)). Thereafter, the process of step S910 is executed again.

[6行目]
制御部150はEMFの6行目のレコード(印刷描画データファイル300における「EMR_RECTANGLE」)を読み出す(ステップS910)。当該レコードは図形描画命令であるため(ステップS920)、ステップS1000に示される処理が実行される。この時点では、共通属性のグループ化処理状態が初期状態であり、イメージ描画命令の処理状態も「初期状態」であるため(ステップS1010、ステップS1020にてNO)。したがって、ペンのハンドル名「pen1」、ブラシのハンドル名「brush1」、図形描画命令「EMR_RECTANGLE left=“100” top=“100” right=“1100” bottom=“600”」が一時記憶部160に格納される(ステップS1030)。また、制御部150は、共通属性のグループ化状態を、「図形描画命令のグループ化開始前」に設定する。制御部150は、図形描画命令をXMLに変換することなく処理を終了し、制御は、ステップS1000を読み出した処理に復帰する。
[6th line]
The control unit 150 reads the record in the sixth line of the EMF (“EMR_RECTANGLE” in the print drawing data file 300) (step S910). Since the record is a graphic drawing command (step S920), the process shown in step S1000 is executed. At this point, the grouping processing state of the common attribute is the initial state, and the processing state of the image drawing command is also the “initial state” (NO in steps S1010 and S1020). Therefore, the pen handle name “pen1”, the brush handle name “brush1”, and the graphic drawing command “EMR_RECTANGLE left =“ 100 ”top =“ 100 ”right =“ 1100 ”bottom =“ 600 ”” are stored in the temporary storage unit 160. Stored (step S1030). In addition, the control unit 150 sets the grouping state of the common attribute to “before start of grouping of graphic drawing commands”. The control unit 150 ends the process without converting the graphic drawing command into XML, and the control returns to the process that read step S1000.

[7行目]
制御部150はEMFの7行目のレコード(印刷描画データファイル300における「EMR_CREATEBRUSHINDIRECT」)を読み出す(ステップS910)。4行目のレコードに対して実行された処理と同様の処理が実行される。その結果、図6に示されるように、ハンドル名「brush2」とブラシの色「#FFFF00」の各情報が、データレコード625として、テーブル620に追加される。その後、ステップS910の処理が再度実行される。
[7th line]
The control unit 150 reads the EMF record on the seventh line (“EMR_CREATEBRUSHINDIRECT” in the print drawing data file 300) (step S910). Processing similar to that performed on the record in the fourth row is executed. As a result, as shown in FIG. 6, each information of the handle name “brush2” and the brush color “# FFFF00” is added to the table 620 as a data record 625. Thereafter, the process of step S910 is executed again.

[8行目]
制御部150は、EMFの8行目のレコード(印刷描画データファイル300における「EMR_SELECTOBJECT」)を読み出す(ステップS910)。5行目のレコードに対して実行された処理と同様の処理が実行される。その結果、図7に示されるように、現在選択されているブラシが、ハンドル名「brush2」として特定されるブラシであることを表わす情報が、テーブル700に書き込まれ、テーブル700が更新される(状態(C))。その後、ステップS910の処理が再度実行される。
[8th line]
The control unit 150 reads the EMF line 8 record (“EMR_SELECTBJECT” in the print drawing data file 300) (step S910). A process similar to the process executed for the record in the fifth row is executed. As a result, as shown in FIG. 7, information indicating that the currently selected brush is the brush identified as the handle name “brush2” is written in the table 700, and the table 700 is updated (see FIG. 7). State (C)). Thereafter, the process of step S910 is executed again.

[9行目]
制御部150は、EMFの9行目のレコード(印刷描画データファイル300における「EMR_RECTANGLE」)を読み出す(ステップS910)。当該レコードは図形描画命令であるため(ステップS920)、ステップS1000に示される処理が実行される。この時点では、共通属性のグループ化処理状態が「図形描画命令のグループ化開始前」であるため、図形描画命令のXML変換処理(ステップS1300)が実行される。
[9th line]
The control unit 150 reads the EMF 9th line record (“EMR_RECTANGLE” in the print drawing data file 300) (step S910). Since the record is a graphic drawing command (step S920), the process shown in step S1000 is executed. At this point, since the common attribute grouping processing state is “before the start of grouping of graphic drawing commands”, the XML conversion processing of the graphic drawing commands (step S1300) is executed.

具体的には、前回の図形描画命令時(6行目のレコード参照)のペンおよびブラシの各ハンドル名は、それぞれ「pen1」、「brush1」であり、今回の図形描画命令時のペンおよびブラシの各ハンドル名は、それぞれ「pen1」、「brush2」である。したがって、ペンのハンドル名のみが一致する。そこで、第1の変換処理(ステップS1400)が実行される。   Specifically, the pen and brush handle names at the time of the previous graphic drawing command (see the record on the sixth line) are “pen1” and “brush1”, respectively, and the pen and brush at the time of the current graphic drawing command The handle names are “pen1” and “brush2”, respectively. Therefore, only the pen handle name matches. Therefore, the first conversion process (step S1400) is executed.

ここでは、既に6行目のレコードに対する処理が実行された時に、共通属性のグループ化状態が「図形描画命令のグループ化開始前」に設定されているため、第1の変換処理においては、ステップS1420として規定されている処理が実行されることになる。   Here, since the grouping state of the common attribute is set to “before the start of grouping of graphic drawing commands” when the process for the record on the sixth line has already been executed, the first conversion process includes the step The process defined as S1420 is executed.

すなわち、第1の処理として、ペンのハンドル名「pen1」の属性情報から、線の色「#000000」および線の幅「2」を表すXMLのグループ化開始要素「<g stroke=“#000000” stroke−width=“2”>」が、一時記憶部160に確保された領域に書き込まれる(図5に示されるSVGファイル500の3行目)。   That is, as the first processing, from the attribute information of the pen handle name “pen1”, the XML grouping start element “<g stroke =“ # 000000 ”representing the line color“ # 000000 ”and the line width“ 2 ”is obtained. “Stroke-width =“ 2 ”>” is written in the area secured in the temporary storage unit 160 (third line of the SVG file 500 shown in FIG. 5).

第2の処理として、ブラシのハンドル名「brush1」の属性情報から、塗りつぶしの色「#FF0000」を表すXMLのグループ化開始要素「<g fill=“#FF0000”>」が、一時記憶部160に確保された領域に書き込まれる(SVGファイル500の4行目)。   As a second process, from the attribute information of the brush handle name “brush1”, the XML grouping start element “<g file =“ # FF0000 ”>” representing the fill color “# FF0000” is stored in the temporary storage unit 160. Is written in the area secured in (4th line of the SVG file 500).

第3の処理として、一時記憶部160の他の領域に格納されていた図形描画命令「EMR_RECTANGLE left=“100” top=“100” right=“1100” bottom=“600”」がXMLデータに変換され、変換後のデータである「<rect x=“100” y=“100” width=“1000” height=“500”/>」が、一時記憶部160に確保された領域に書き込まれる(SVGファイル500の5行目)。   As a third process, the graphic drawing command “EMR_RECTANGLE left =“ 100 ”top =“ 100 ”right =“ 1100 ”bottom =“ 600 ”” ”stored in another area of the temporary storage unit 160 is converted into XML data. Then, the converted data “<rect x =“ 100 ”y =“ 100 ”width =“ 1000 ”height =“ 500 ”/>” ”is written in the area secured in the temporary storage unit 160 (SVG 5th line of file 500).

ここで、上記ブラシの属性は、第3の処理において書き込まれた前回の図形描画命令にのみ有効である。そこで、第4の処理として、当該ブラシ属性のグループ化開始要素に対応するグループ化終了要素が当該領域に書き込まれる(SVGファイル500の6行目)。   Here, the attribute of the brush is valid only for the previous graphic drawing command written in the third process. Therefore, as a fourth process, the grouping end element corresponding to the grouping start element of the brush attribute is written in the area (sixth line of the SVG file 500).

第5の処理として、ブラシのハンドル名「brush2」の属性情報から、塗りつぶしの色「#0000FF」を表すXMLのグループ化開始要素「<g fill=“#0000FF”>」が、上記領域に書き込まれる(SVGファイル500の7行目)。   As a fifth process, from the attribute information of the brush handle name “brush2”, an XML grouping start element “<g fill =“ # 0000FF ”>” representing the fill color “# 0000FF” is written in the area. (7th line of SVG file 500).

第6の処理として、今回の図形描画命令「EMR_RECTANGLE left=“1200” top=“100” right=“2200” bottom=“600”」がXMLデータに変換され、当該変換により生成されたデータである「<rect x=“1200” y=“100” width=”1000“ height=”500“/>」が、上記領域に書き込まれる(SVGファイル500の8行目)。   As a sixth process, the current graphic drawing command “EMR_RECTANGLE left =“ 1200 ”top =“ 100 ”right =“ 2200 ”bottom =“ 600 ”” ”is converted into XML data, and is generated by the conversion. “<Rect x =“ 1200 ”y =“ 100 ”width =” 1000 ”height =” 500 ”/>” is written in the area (the 8th line of the SVG file 500).

第7の処理として、ペンのハンドル名「pen1」、ブラシのハンドル名「brush2」が一時記憶部160において確保された他の領域に格納される。共通属性のグループ化状態は、「ペン属性のグループ化中」に設定される。以上の処理が完了すると、その後、ステップS910の処理が再度実行される。   As a seventh process, the pen handle name “pen1” and the brush handle name “brush2” are stored in another area secured in the temporary storage unit 160. The grouping state of the common attribute is set to “grouping pen attributes”. When the above process is completed, the process of step S910 is then executed again.

[10行目]
制御部150は、EMFの10行目のレコード(印刷描画データファイル300における「EMR_EXTCREATEFONTINDIRECTW」)を読み出す(ステップS910)。当該レコードはフォント生成命令であるため(ステップS920)、ステップS960として規定される処理が実行される。具体的には、図6に示されるように、ハンドル名「font1」、フォントファミリ「MS ゴシック」、フォントサイズ「44」、フォントウェイト「700」の各データが、テーブル630においてデータレコード635として記録される。
[10th line]
The control unit 150 reads the record in the 10th line of the EMF (“EMR_EXTCREATEFONTDIRECTW” in the print drawing data file 300) (step S910). Since the record is a font generation command (step S920), the process defined as step S960 is executed. Specifically, as shown in FIG. 6, each data of handle name “font1”, font family “MS Gothic”, font size “44”, and font weight “700” is recorded as data record 635 in table 630. Is done.

[11行目]
制御部150は、EMFの11行目のレコード(印刷描画データファイル300における「EMR_SELECTOBJECT」)を読み出す(ステップS910)。当該レコードはオブジェクト選択命令であるため(ステップS920)、ステップS980に示される処理が実行される。その結果、図7に示されるように、現在選択されているフォントはハンドル名「font1」のフォントであることを表す情報が、カレントオブジェクト管理テーブル700に登録される(状態(D))。その後、ステップS910の処理が再度実行される。
[11th line]
The control unit 150 reads the EMF 11th line record (“EMR_SELECTBJECT” in the print drawing data file 300) (step S910). Since the record is an object selection command (step S920), the process shown in step S980 is executed. As a result, as shown in FIG. 7, information indicating that the currently selected font is the font with the handle name “font1” is registered in the current object management table 700 (state (D)). Thereafter, the process of step S910 is executed again.

[12行目]
制御部150は、EMFの12行目のレコード(印刷描画データファイル300における「EMR_SETTEXTCOLOR」)を読み出す(ステップS910)。当該レコードはテキスト色指定命令であるため(ステップS920)、ステップS970に示される処理が実行される。その結果、図8に示されるように、現在指定されているテキスト色は「#000000」であることを表すデータ810が、テキスト色管理テーブル800に登録される。
[12th line]
The control unit 150 reads the record in the 12th line of the EMF (“EMR_SETTEXTCOLOR” in the print drawing data file 300) (step S910). Since the record is a text color designation command (step S920), the process shown in step S970 is executed. As a result, as shown in FIG. 8, data 810 indicating that the currently designated text color is “# 000000” is registered in the text color management table 800.

[13行目]
制御部150は、EMFの13行目のレコード(印刷描画データファイル300における「EMR_EXTTEXTOUTW」)を読み出す(ステップS910)。当該レコードはテキスト描画命令であるため(ステップS920)、ステップS1800に示される処理が実行される。
[13th line]
The control unit 150 reads the record in the 13th line of the EMF (“EMR_EXTTEXTOUTW” in the print drawing data file 300) (step S910). Since the record is a text drawing command (step S920), the process shown in step S1800 is executed.

この時点で、共通属性のグループ化処理状態が「ペン属性のグループ化中」であるため、ステップS1900として規定される処理が実行される。具体的には、共通属性のグループ化処理状態が上記のように分類されたことに基づき、ステップS1930として規定されている処理が実行される。   At this time, since the common attribute grouping process state is “grouping pen attributes”, the process defined as step S1900 is executed. Specifically, based on the fact that the common attribute grouping process state is classified as described above, the process defined as step S1930 is executed.

具体的には、第1の処理として、グループ化中であったブラシ属性情報のグループ化終了要素が、一時記憶部160に書き込まれる(図5に示されるSVGファイル500の9行目)。第2の処理として、グループ化中であったペン属性情報のグループ化終了要素が、一時記憶部160に書き込まれる(SVGファイル500における10行目)。   Specifically, as the first process, the grouping end element of the brush attribute information that was being grouped is written to the temporary storage unit 160 (9th line of the SVG file 500 shown in FIG. 5). As a second process, the grouping end element of the pen attribute information that was being grouped is written to the temporary storage unit 160 (10th line in the SVG file 500).

その後、フォントのハンドル名「font1」、テキスト色「#000000」、および、テキスト描画命令「EMR_EXTTEXTOUTW x=“200” y=“200” data=“第”」が一時記憶部160に格納される(ステップS1830)。共通属性のグループ化処理状態は、「テキスト描画命令のグループ化開始前」に変更される。制御部150は、テキスト描画命令をXMLに変換することなく処理を終了する。   Thereafter, the handle name “font1” of the font, the text color “# 000000”, and the text drawing command “EMR_EXTTEXTOUTW x =“ 200 ”y =“ 200 ”data =“ first ”” are stored in the temporary storage unit 160 ( Step S1830). The common attribute grouping processing state is changed to “before text rendering command grouping is started”. The control unit 150 ends the process without converting the text drawing command into XML.

[14行目]
制御部150は、EMFの14行目のレコード(印刷描画データファイル300における「EMR_EXTTEXTOUTW」)を読み出す(ステップS910)。当該レコードはテキスト描画命令であるため(ステップS920)、ステップS1800に示される処理が実行される。
[14th line]
The control unit 150 reads the EMF 14th line record (“EMR_EXTTEXTOUTW” in the print drawing data file 300) (step S910). Since the record is a text drawing command (step S920), the process shown in step S1800 is executed.

この時点で、共通属性のグループ化処理状態が「テキスト描画命令のグループ化開始前」であるため、ステップS2000として規定される処理が実行される(図20)。   At this point, since the common attribute grouping process state is “before text rendering command grouping starts”, the process defined as step S2000 is executed (FIG. 20).

具体的には、一時的に記憶されている1つ前のテキスト描画命令時のフォントのハンドル名およびテキスト色と、今回のテキスト描画命令時のフォントのハンドル名およびテキスト色とが比較される。14行目のレコードが処理される時点では、前回のテキスト描画命令時のフォントのハンドル名およびテキスト色は、それぞれ「font1」および「#000000」である。今回のテキスト描画命令時のフォントのハンドル名およびテキスト色も、それぞれ「font1」および「#000000」である。したがって、ステップS2300として規定されている処理が実行される(図20)。   Specifically, the handle name and text color of the font at the time of the previous text drawing command stored temporarily are compared with the handle name and text color of the font at the time of the current text drawing command. At the time when the record on the 14th line is processed, the handle name and text color of the font at the previous text drawing command are “font1” and “# 000000”, respectively. The handle name and text color of the font at the time of this text drawing command are also “font1” and “# 000000”, respectively. Therefore, the process defined as step S2300 is executed (FIG. 20).

具体的には、図23に示されるように、この時点では、共通属性のグループ化処理状態が「テキスト描画命令のグループ化処理前」である。そこで、ステップS2320に規定される処理が実行される。すなわち、第1に、前回のテキスト描画命令と今回のテキスト描画命令とに共通するテキスト色「#000000」を表すXMLのグループ化開始要素「<g fill=“#000000”>」が、一時記憶部160に書き込まれる(図5に示されるSVGファイル500の11行目)。第2に、前回のテキスト描画命令と今回のテキスト描画命令とに共通するフォントのハンドル名「font1」の属性情報から、フォントファミリ「MS ゴシック」、フォントサイズ「44」、およびフォントウェイト「700」を表すXMLのグループ化開始要素「<g font−family=“MS ゴシック” font−weight=“700” font−size=“44”」が、一時記憶部160に書き込まれる(SVGファイル500における12行目)。   Specifically, as shown in FIG. 23, at this time, the grouping process state of the common attribute is “before text rendering command grouping process”. Therefore, the process specified in step S2320 is executed. That is, first, the XML grouping start element “<g file =“ # 000000 ”>” representing the text color “# 000000” common to the previous text drawing command and the current text drawing command is temporarily stored. Is written in the unit 160 (11th line of the SVG file 500 shown in FIG. 5). Second, from the attribute information of the font handle name “font1” common to the previous text drawing command and the current text drawing command, the font family “MS Gothic”, the font size “44”, and the font weight “700”. An XML grouping start element “<g font-family =“ MS Gothic ”font-weight =“ 700 ”font-size =“ 44 ”” is written in the temporary storage unit 160 (12 lines in the SVG file 500) Eye).

その後、テキスト描画データの結合処理が行なわれる。まず、一時的に記憶しているテキスト描画命令のy座標と、今回のテキスト描画命令のy座標とが一致するかどうか確認される(ステップS2330)。この時点では、一時的に保持されているテキストの描画命令が「EMR_EXTTEXTOUTW x=“200” y=“200” data=“第”」であるため、y座標は「200」である。また、今回のテキスト描画命令が「EMR_EXTTEXTOUTW x=“244” y=“200” data=“1”」であるため、y座標は「200」である。したがって、2つのテキスト描画命令に含まれる各y座標は一致することになり(ステップS2330にてYES)、一時的に記憶されいるテキスト描画命令の最後の文字と、今回のテキスト描画命令の最初の文字とが隣接しているか否かがx座標の値に基づいて確認される(ステップS2340)。   Thereafter, text drawing data combining processing is performed. First, it is confirmed whether or not the y coordinate of the text drawing command temporarily stored matches the y coordinate of the current text drawing command (step S2330). At this time, the text drawing command temporarily held is “EMR_EXTTEXTOUTW x =“ 200 ”y =“ 200 ”data =“ second ””, and therefore the y coordinate is “200”. In addition, since the current text drawing command is “EMR_EXTTEXTOUTW x =“ 244 ”y =“ 200 ”data =“ 1 ”” ”, the y coordinate is“ 200 ”. Therefore, the y coordinates included in the two text drawing commands match (YES in step S2330), the last character of the text drawing command temporarily stored and the first character of the current text drawing command Whether or not the character is adjacent is checked based on the value of the x coordinate (step S2340).

ここでは、一時的に記憶されているテキスト描画命令の最後の文字「第」のx座標は「200」である。また、今回のテキスト描画命令の最初の文字「1」のx座標は「244」である。このx座標は、一時的に記憶されているテキスト描画命令の最後の文字のx座標(200)に、フォントサイズ「44」を加えた値に等しい。したがって、一時的に記憶されているテキスト描画命令の最後の文字と今回のテキスト描画命令の最後の文字とは隣接していると判断され(ステップS2340にてYES)、これらのデータは、結合可能となる。そこで、制御部150は、一時的に記憶されているテキスト描画命令に、今回のテキスト描画命令を加える(ステップS2370)。その結果、一時的に保持されるテキスト描画命令は、「EMR_EXTTEXTOUTW x=“200,244” y=“200” data=“第1”」となる。共通属性のグループ化処理状態は、「テキスト色属性のグループ化処理中」に設定される(S2380)。   Here, the last x coordinate of the last character “text” of the text drawing command stored temporarily is “200”. In addition, the x coordinate of the first character “1” of the current text drawing command is “244”. This x coordinate is equal to a value obtained by adding the font size “44” to the x coordinate (200) of the last character of the text drawing command stored temporarily. Therefore, it is determined that the last character of the text drawing command temporarily stored is adjacent to the last character of the current text drawing command (YES in step S2340), and these data can be combined. It becomes. Therefore, the control unit 150 adds the current text drawing command to the temporarily stored text drawing command (step S2370). As a result, the text drawing command temporarily held becomes “EMR_EXTTEXTOUTW x =“ 200, 244 ”y =“ 200 ”data =“ first ””. The common attribute grouping processing state is set to “text color attribute grouping processing in progress” (S2380).

[15行目]
制御部150は、EMFの15行目のレコード(印刷描画データファイル300における「EMR_EXTTEXTOUTW」)を読み出す(ステップS910)。当該レコードはテキスト描画命令であるため(ステップS920)、ステップS1800に示される処理が実行される。
[Line 15]
The control unit 150 reads the EMF 15th line record (“EMR_EXTTEXTOUTW” in the print drawing data file 300) (step S910). Since the record is a text drawing command (step S920), the process shown in step S1800 is executed.

この時点で、共通属性のグループ化処理状態は、14行目のレコードの場合とは異なり、「テキスト色属性のグループ化処理中」であるため、ステップS2000として規定される処理が実行される(図20)。   At this time, the grouping process state of the common attribute is “in process of grouping the text color attribute” unlike the case of the record in the 14th line, and therefore the process defined as step S2000 is executed ( FIG. 20).

すなわち、まず、一時的に記憶されている1つ前のテキスト描画命令時のフォントのハンドル名およびテキスト色と、今回のテキスト描画命令時のフォントのハンドル名およびテキスト色が比較される(ステップS2010)。この時点では、当該ハンドル名およびテキスト色がいずれも一致するため、ステップS2300として規定される処理が実行される。   That is, first, the handle name and text color of the font at the time of the previous text drawing command stored temporarily are compared with the handle name and text color of the font at the time of the current text drawing command (step S2010). ). At this time, since both the handle name and the text color match, the process defined as step S2300 is executed.

具体的には、共通属性のグループ化処理状態は「テキスト色属性のグループ化処理中」である(ステップS2310にてNO)。また、一時的に保持されているテキスト描画命令が「EMR_EXTTEXTOUTW x=“200,244” y=“200” data=“第1”」であるため、当該y座標は「200」である。また、今回のテキスト描画命令が「EMR_EXTTEXTOUTW x=“288,332” y=“200” data=“試合”」であるため、当該y座標は「200」である。したがって、2つのテキスト描画命令のy座標が一致すると判断され(ステップS2330にてYES)、制御部150は、文字が隣接しているか否かを確認する(ステップS2340)。   Specifically, the common attribute grouping process state is “in process of text color attribute grouping” (NO in step S2310). Further, since the text drawing command temporarily held is “EMR_EXTTEXTOUTW x =“ 200, 244 ”y =“ 200 ”data =“ first ””, the y coordinate is “200”. Further, since the current text drawing command is “EMR_EXTTEXTOUTW x =“ 288, 332 ”y =“ 200 ”data =“ game ””, the y coordinate is “200”. Therefore, it is determined that the y-coordinates of the two text drawing commands match (YES in step S2330), and control unit 150 checks whether or not the characters are adjacent (step S2340).

具体的には、この時点で、一時的に保持されているテキスト描画命令の最後の文字「1」のx座標の値は「244」である。また、今回のテキスト描画命令の最初の文字「試」のx座標の値は「288」である。当該x座標は、一時的に保持されているテキスト描画命令の最後の文字のx座標の値に、フォントサイズ「44」を加えた値に相当する。したがって、制御部150は、一時的に保持されているテキスト描画命令の最後の文字と今回のテキスト描画命令の最後の文字とが隣接していると判断し(ステップS2340にてYES)、これらのデータは結合可能となる。そこで、制御部150は、一時記憶部160に格納されているテキスト描画命令に、今回のテキスト描画命令を加える(ステップS2370)。その結果、当該テキスト描画命令は、「EMR_EXTTEXTOUTW x=“200,244,288,332” y=“200” data=“第1試合”」となる。共通属性のグループ化処理状態は、引き続き「テキスト色属性のグループ化処理中」に設定される(ステップS2380)。   Specifically, at this time, the value of the x coordinate of the last character “1” of the text drawing command temporarily held is “244”. In addition, the value of the x coordinate of the first character “trial” of the current text drawing command is “288”. The x-coordinate corresponds to a value obtained by adding the font size “44” to the x-coordinate value of the last character of the text drawing command that is temporarily held. Therefore, control unit 150 determines that the last character of the text drawing command that is temporarily held is adjacent to the last character of the current text drawing command (YES in step S2340). Data can be combined. Therefore, the control unit 150 adds the current text drawing command to the text drawing command stored in the temporary storage unit 160 (step S2370). As a result, the text drawing command is “EMR_EXTTEXTOUTW x =“ 200, 244, 288, 332 ”y =“ 200 ”data =“ first game ””. The grouping process state of the common attribute is continuously set to “during text color attribute grouping process” (step S2380).

[16行目]
制御部150は、EMFの16行目のレコード(印刷描画データファイル300における「EMR_EXTTEXTOUTW」)を読み出す(ステップS910)。当該レコードはテキスト描画命令であるため(ステップS920)、ステップS1800に示される処理が実行される。
[16th line]
The control unit 150 reads the record of the 16th line of EMF (“EMR_EXTTEXTOUTW” in the print drawing data file 300) (step S910). Since the record is a text drawing command (step S920), the process shown in step S1800 is executed.

この時点で、共通属性のグループ化処理状態は、15行目のレコードの場合と同様に、「テキスト色属性のグループ化処理中」であるため、ステップS2000として規定される処理が実行される(図20)。   At this point, the grouping process state of the common attribute is “during text color attribute grouping process” as in the case of the record in the 15th line, and therefore the process defined as step S2000 is executed ( FIG. 20).

すなわち、まず、一時的に記憶されている1つ前のテキスト描画命令時のフォントのハンドル名およびテキスト色と、今回のテキスト描画命令時のフォントのハンドル名およびテキスト色が比較される(ステップS2010)。この時点では、当該ハンドル名およびテキスト色がいずれも一致するため、ステップS2300として規定される処理が実行される。   That is, first, the handle name and text color of the font at the time of the previous text drawing command stored temporarily are compared with the handle name and text color of the font at the time of the current text drawing command (step S2010). ). At this time, since both the handle name and the text color match, the process defined as step S2300 is executed.

具体的には、いずれの描画命令のy座標も一致する(ステップS2330にてYES)。そこで、共通属性グループ化管理部133は、一時的に保持しているテキスト描画命令「EMR_EXTTEXTOUTW x=“200,244,288,332” y=“200” data=“第1試合”」の最後の文字「合」のx座標の値「332」と、今回のテキスト描画命令「EMR_EXTTEXTOUTW x=“1300” y=“200” data=“第”」の最初の文字「第」のx座標の値「1300」とを比較する。この場合、フォントサイズ「44」が「合」のx座標の値「332」に加えられても「第」のx座標の値「1300」にはならないため、共通属性グループ化管理部133は、当該文字が隣接していないと判断する(ステップS2340にてNO)。そこで、共通属性グループ化管理部133は、テキスト描画XMLデータ生成部140に対して、一時的に記憶されているテキスト描画命令を渡し、該当するXMLデータの書き出しを指示する。   Specifically, the y-coordinates of any drawing command match (YES in step S2330). Therefore, the common attribute grouping management unit 133 temporarily stores the last text drawing command “EMR_EXTTEXTOUTW x =“ 200, 244, 288, 332 ”y =“ 200 ”data =“ first game ””. The value “332” of the x coordinate of the character “go” and the value “332” of the first character “first” of the current text drawing command “EMR_EXTTEXTOUTW x =“ 1300 ”y =“ 200 ”data =“ th ”” 1300 ". In this case, even if the font size “44” is added to the “coordinate” x-coordinate value “332”, it does not become the “first” x-coordinate value “1300”. It is determined that the character is not adjacent (NO in step S2340). Therefore, the common attribute grouping management unit 133 passes a temporarily stored text drawing command to the text drawing XML data generation unit 140 and instructs the writing of the corresponding XML data.

具体的には、テキスト描画XMLデータ生成部140は、一時的に記憶されているテキスト描画命令「EMR_EXTTEXTOUTW x=“200,244,288,332” y=“200” data=“第1試合”」をXMLデータに変換し、変換によって生成されたデータ「<text x=“200,244,288,332” y=“200”>第1試合</text>」を一時記憶部160に書き込む(図5のSVGファイル500における13行目)。   Specifically, the text drawing XML data generation unit 140 stores the text drawing command “EMR_EXTTEXTOUTW x =“ 200, 244, 288, 332 ”y =“ 200 ”data =“ first game ”” temporarily stored. Is converted into XML data, and the data “<text x =“ 200,244,288,332 ”y =“ 200 ”> first game </ text>” generated by the conversion is written in the temporary storage unit 160 (FIG. 5th line 13 in the SVG file 500).

カレントオブジェクト管理部143は、現在選択/指定されているフォントのハンドル名およびテキスト色と、当該テキスト描画命令とを保持する(ステップS2360)。具体的には、カレントオブジェクト管理部143は、フォントのハンドル名「font1」、テキスト色「#000000」、およびテキスト描画命令「EMR_EXTTEXTOUTW x=“1300” y=“200” data=“第”」を記憶する。共通属性のグループ化処理状態は、引き続き「テキスト色属性のグループ化処理中」に設定される(S2380)。   The current object management unit 143 holds the handle name and text color of the currently selected / designated font, and the text drawing command (step S2360). Specifically, the current object management unit 143 sets the font handle name “font1”, the text color “# 000000”, and the text drawing command “EMR_EXTTEXTOUTW x =“ 1300 ”y =“ 200 ”data =“ second ””. Remember. The common attribute grouping processing state is continuously set to “text color attribute grouping processing in progress” (S2380).

[17行目および18行目]
制御部150は、EMFの17行目および18行目のレコード(印刷描画データファイル300における「EMR_EXTTEXTOUTW」)に対しても、上記のような処理を実行する。処理の結果、一時的に保持されるテキスト描画命令は、「EMR_EXTTEXTOUTW x=“1300,1344,1388,1432” y=“200” data=“第2試合”」となる。
[17th and 18th lines]
The control unit 150 also executes the above-described processing for the records on the 17th and 18th lines of the EMF (“EMR_EXTTEXTOUTW” in the print drawing data file 300). As a result of the processing, the text drawing command temporarily retained is “EMR_EXTTEXTOUTW x =“ 1300, 1344, 1388, 1432 ”y =“ 200 ”data =“ second game ””.

[19行目〜21行目]
制御部150は、EMFの19行目〜21行目における各レコードに対しても、前述と同様の処理を行なう。その結果、図6に示されるように、データレコード636が、フォント属性情報管理テーブル630に追加される。また、図7に示されるように、データレコード730が更新され、カレントオブジェクト管理テーブル700は状態(E)に示される状態となる。テキスト色管理テーブル800は、図8に示される状態のままである。
[Lines 19-21]
The control unit 150 performs the same processing as described above for each record in the 19th to 21st lines of the EMF. As a result, as shown in FIG. 6, the data record 636 is added to the font attribute information management table 630. Further, as shown in FIG. 7, the data record 730 is updated, and the current object management table 700 is in the state shown in the state (E). The text color management table 800 remains in the state shown in FIG.

[22行目]
制御部150は、22行目のレコード(印刷描画データファイル300における「EMR_EXTTEXTOUTW」)を読み出す(ステップS910)。当該レコードはテキスト描画命令であるため(ステップS920)、ステップS1800に示される処理が実行される。
[Line 22]
The control unit 150 reads the record on the 22nd line (“EMR_EXTTEXTOUTW” in the print drawing data file 300) (step S910). Since the record is a text drawing command (step S920), the process shown in step S1800 is executed.

この時点で、共通属性のグループ化処理状態は「テキスト色属性のグループ化処理中」であるため、ステップS2000として規定される処理が実行される。   At this point, since the common attribute grouping process state is “in process of text color attribute grouping”, the process defined as step S2000 is executed.

具体的には、一時的に記憶されている1つ前のテキスト描画命令時のフォントのハンドル名およびテキスト色と、今回のテキスト描画命令時のフォントのハンドル名およびテキスト色とが比較される(ステップS2010)。この時、前回のテキスト描画命令時のフォントのハンドル名およびテキスト色は、それぞれ「font1」、「#000000」である。今回のテキスト描画命令時のフォントのハンドル名およびテキスト色は、それぞれ「font2」、「#000000」である。したがって、テキスト色のみが一致することになる。そこで、ステップS2100に規定される第5の変換処理が実行される。   Specifically, the handle name and text color of the font at the time of the previous text drawing command stored temporarily are compared with the handle name and text color of the font at the time of the current text drawing command ( Step S2010). At this time, the handle name and text color of the font at the time of the previous text drawing command are “font1” and “# 000000”, respectively. The handle name and text color of the font at the time of this text drawing command are “font2” and “# 000000”, respectively. Therefore, only the text color matches. Therefore, the fifth conversion process defined in step S2100 is executed.

現在の共通属性のグループ化処理状態が「テキスト色属性のグループ化処理中」であるため、共通属性グループ化管理部133は、ステップS2130として規定される処理を行う。具体的には、共通属性グループ化管理部133は、第1の処理として、一時的に保持しているテキスト描画命令「EMR_EXTTEXTOUTW x=“1300,1344,1388,1432” y=“200” data=“第2試合”」をXMLデータに変換し、変換によって生成されたデータ「<text x=“1300,1344,1388,1432” y=“200”>第2試合</text>」を一時記憶部160のSVGファイル500に書き込む(図5に示されるSVGファイル500における14行目)。共通属性グループ化管理部133は、第2の処理として、グループ化処理中であったフォント属性情報のグループ化終了要素をSVGファイル500に書き込む(SVGファイル500における15行目)。   Since the current common attribute grouping process state is “text color attribute grouping process in progress”, the common attribute grouping management unit 133 performs the process defined as step S2130. Specifically, as the first process, the common attribute grouping management unit 133 temporarily stores the text drawing command “EMR_EXTTEXTOUTW x =“ 1300, 1344, 1388, 1432 ”y =“ 200 ”data = “Second game” is converted into XML data, and data “<text x =“ 1300, 1344, 1388, 1432 ”y =“ 200 ”> second game </ text>” generated by the conversion is temporarily stored. Is written into the SVG file 500 of the section 160 (14th line in the SVG file 500 shown in FIG. 5). As a second process, the common attribute grouping management unit 133 writes the grouping end element of the font attribute information that was being grouped into the SVG file 500 (15th line in the SVG file 500).

共通属性グループ化管理部133は、第3の処理として、今回のテキスト描画命令のフォントのハンドル名「font2」の属性情報から、フォントファミリ「MS ゴシック」、フォントサイズ「44」、フォントウェイト「400」を表すXMLのグループ化要素「<g font−family=“MS ゴシック" font−weight=“400” font−size=“44”」を、SVGファイル500に書き込む(SVGファイル500における16行目)。共通属性グループ化管理部133は、第4の処理として、フォントのハンドル名「font2」、テキスト色「#000000」、テキスト描画命令「EMR_EXTTEXTOUTW x=“200,244,288,332” y=“300” data=“開始時間”」を一時的に保存する。共通属性のグループ化処理状態は、引き続き「テキスト色属性のグループ化処理中」に設定される。   As a third process, the common attribute grouping management unit 133 obtains the font family “MS Gothic”, the font size “44”, and the font weight “400” from the attribute information of the font handle name “font2” of the current text drawing command. "<G font-family =" MS gothic "font-weight =" 400 "font-size =" 44 "" is written to the SVG file 500 (16th line in the SVG file 500) . As a fourth process, the common attribute grouping management unit 133 performs the font handle name “font2”, the text color “# 000000”, and the text drawing command “EMR_EXTTEXTOUTW x =“ 200,244,288,332 ”y =“ 300 ”. “Data =“ start time ”” is temporarily saved. The grouping process state of the common attribute is continuously set to “text color attribute grouping process in progress”.

[23行目〜50行目]
制御部150は、EMFの23行目〜50行目における各レコードに対しても、前述と同様の処理を行なう。その結果、図5に示されるように、17〜45行目に示されるXMLがSVGファイル500に書き込まれる。
[Lines 23 to 50]
The control unit 150 performs the same process as described above for each record in the 23rd to 50th lines of the EMF. As a result, the XML shown in the 17th to 45th lines is written to the SVG file 500 as shown in FIG.

[52行目]
制御部150は、52行目のレコード(印刷描画データファイル300における「EMR_BITBLT」)を読み出す(ステップS910)。当該レコードはイメージ描画命令であるため、ステップS2500として規定されたイメージ描画命令のXML変換処理(図25)が実行される。
[Line 52]
The control unit 150 reads the record on the 52nd line (“EMR_BITBLT” in the print drawing data file 300) (step S910). Since the record is an image drawing command, the XML conversion processing (FIG. 25) of the image drawing command defined as step S2500 is executed.

具体的には、まず、イメージ描画命令の処理状態が「初期状態」であるため、S2520において共通属性のグループ化処理状態が確認され、その後、ステップS2550において、今回のイメージ描画命令が一時的に記憶される。具体的には、イメージ描画命令「EMR_BITBLT x=“300” y=“800” width=“1700” height=“500” data=“...”」が一時記憶部160に格納される。イメージ描画処理状態は、「処理中」に設定される。   Specifically, first, since the processing state of the image rendering command is “initial state”, the grouping processing state of the common attribute is confirmed in S2520, and then, in step S2550, the current image rendering command is temporarily stored. Remembered. Specifically, the image drawing command “EMR_BITBLT x =“ 300 ”y =“ 800 ”width =“ 1700 ”height =“ 500 ”data =“. . . “” Is stored in the temporary storage unit 160. The image drawing processing state is set to “processing”.

[53行目]
制御部150は、53行目のレコード(印刷描画データファイル300における「EMR_BITBLT」)を読み出す(ステップS910)。当該レコードもイメージ描画命令であるため、イメージ描画命令のXML変換処理(ステップS2500)が実行される。
[Line 53]
The control unit 150 reads the record on the 53rd line (“EMR_BITBLT” in the print drawing data file 300) (step S910). Since the record is also an image drawing command, the XML conversion processing (step S2500) of the image drawing command is executed.

具体的には、イメージ描画命令の処理状態が「処理中」であるため、イメージ描画データ最適化部135は、イメージ描画データの結合処理を行う(ステップS2530)。すなわち、一時的に記憶しているイメージ描画命令が描くイメージの領域と、今回のイメージ描画命令が描くイメージの領域とが、接しているか、あるいは重なっているかが確認される。ここでは、イメージ描画データ最適化部135は、一時的に記憶されているイメージ描画命令「EMR_BITBLT x=“300” y=“800” width=“1700” height=“500” data=“...”」と、今回のイメージ描画命令「EMR_BITBLT x=“300” y=“1300” width=“1700” height=“500” data=“...”」とに基づいて、各イメージの位置関係を調べる。イメージ描画データ最適化部135は、2つのイメージが座標(300,800)と(2000,800)を結ぶ線で接していると判断し、2つのイメージは結合可能と判定する(ステップS2530にてYES)。   Specifically, since the processing state of the image drawing command is “processing”, the image drawing data optimizing unit 135 performs image drawing data combining processing (step S2530). That is, it is confirmed whether the image area drawn by the temporarily stored image drawing command is in contact with or overlaps the image area drawn by the current image drawing command. In this case, the image drawing data optimizing unit 135 performs the temporarily stored image drawing instruction “EMR_BITBLT x =“ 300 ”y =“ 800 ”width =“ 1700 ”height =“ 500 ”data =“. . . “” And the current image drawing command “EMR_BITBLT x =“ 300 ”y =“ 1300 ”width =“ 1700 ”height =“ 500 ”data =“. . . Based on “”, the positional relationship of each image is examined. The image drawing data optimization unit 135 determines that the two images are in contact with each other by a line connecting the coordinates (300, 800) and (2000, 800), and determines that the two images can be combined (step S2530). YES)

そこで、イメージ描画データ最適化部135は、「EMR_BITBLT x=“300” y=“800” width=“1700” height=“500” data=“...”」と、「EMR_BITBLT x=“300” y=“1300” width=“1700” height=“500” data=“...”」の2つのイメージ描画命令を記憶する(ステップS2560)。   Therefore, the image drawing data optimizing unit 135 determines that “EMR_BITBLT x =“ 300 ”y =“ 800 ”width =“ 1700 ”height =“ 500 ”data =“. . . "" And "EMR_BITBLT x =" 300 "y =" 1300 "width =" 1700 "height =" 500 "data =". . . Two image drawing commands "" are stored (step S2560).

[54行目]
制御部150は、54行目のレコード(印刷描画データファイル300における「EMR_BITBLT」)を読み出す(ステップS910)。当該レコードもイメージ描画命令であるため、イメージ描画命令のXML変換処理(ステップS2500)が実行される。
[Line 54]
The control unit 150 reads the record on line 54 (“EMR_BITBLT” in the print drawing data file 300) (step S910). Since the record is also an image drawing command, the XML conversion processing (step S2500) of the image drawing command is executed.

具体的には、イメージ描画命令の処理状態が「処理中」であるため、イメージ描画データ最適化部135は、イメージ描画データの結合処理を行う(ステップS2530)。すなわち、一時的に記憶しているイメージ描画命令が描くイメージの領域と、今回のイメージ描画命令が描くイメージの領域とが、接しているか、あるいは重なっているかが確認される。   Specifically, since the processing state of the image drawing command is “processing”, the image drawing data optimizing unit 135 performs image drawing data combining processing (step S2530). That is, it is confirmed whether the image area drawn by the temporarily stored image drawing command is in contact with or overlaps the image area drawn by the current image drawing command.

ここでは、イメージ描画データ最適化部135は、一時的に記憶されているイメージ描画命令「EMR_BITBLT x=“300” y=“800” width=“1700” height=“500” data=“...”」、「EMR_BITBLT x=“300” y=“1300” width=“1700” height=“500” data=“...”」と、今回のイメージ描画命令「EMR_BITBLT x=“300” y=“2000” width=“1700” height=“500” data=“...”」とに基づいて、一時的に記憶しているイメージ描画命令が描くイメージの領域と、今回のイメージ描画命令が描くイメージの領域とが、接するものではなく、重なるものでもないと判断する。   In this case, the image drawing data optimizing unit 135 performs the temporarily stored image drawing instruction “EMR_BITBLT x =“ 300 ”y =“ 800 ”width =“ 1700 ”height =“ 500 ”data =“. . . "", "EMR_BITBLT x =" 300 "y =" 1300 "width =" 1700 "height =" 500 "data =". . . ”” And the current image drawing command “EMR_BITBLT x =“ 300 ”y =“ 2000 ”width =“ 1700 ”height =“ 500 ”data =“. . . Based on “”, it is determined that the image area drawn by the temporarily stored image drawing command and the image area drawn by the current image drawing command are not touching or overlapping.

そこで、イメージ描画データ最適化部135は、イメージ描画XMLデータ生成部141に対して、一時的に記憶されているイメージ描画命令に対応するXMLデータの書き出しを指示する。その指示に応答して、イメージ描画XMLデータ生成部141は、複数のイメージ描画命令が存在すれば、これらの命令を結合し、1つのイメージとして表す。ここでは、イメージ描画XMLデータ生成部141は、2つのイメージ描画命令「EMR_BITBLT x=“300” y=“800” width=“1700” height=“500” data=“...”」と、「EMR_BITBLT x=“300” y=“1300” width=“1700” height=“500” data=“...”」とを結合し、結合された1つのイメージの描画を表すXMLデータ「<image x=“300” y=“800” width=“1700” height=“1000” xlink:href=“...”/>」を一時記憶部160のSVGファイル500に書き込む(図5に示されるSVGファイル500の47行目)。イメージ描画XMLデータ生成部141は、今回のイメージ描画命令、すなわち「EMR_BITBLT x=“300” y=“2000” width=“1700” height=“500” data=“...”」を一時的に記憶する(ステップS2540)。イメージ描画命令の処理状態は、引き続き「処理中」に維持される。   Therefore, the image drawing data optimization unit 135 instructs the image drawing XML data generation unit 141 to write out XML data corresponding to the temporarily stored image drawing command. In response to the instruction, if there are a plurality of image drawing commands, the image drawing XML data generation unit 141 combines these commands and represents them as one image. Here, the image drawing XML data generation unit 141 includes two image drawing commands “EMR_BITBLT x =“ 300 ”y =“ 800 ”width =“ 1700 ”height =“ 500 ”data =“. . . "" And "EMR_BITBLT x =" 300 "y =" 1300 "width =" 1700 "height =" 500 "data =". . . "" And XML data representing drawing of one combined image "<image x =" 300 "y =" 800 "width =" 1700 "height =" 1000 "xlink:" ref = ". . . “/>” Is written into the SVG file 500 of the temporary storage unit 160 (the 47th line of the SVG file 500 shown in FIG. 5). The image drawing XML data generation unit 141 executes the current image drawing command, that is, “EMR_BITBLT x =“ 300 ”y =“ 2000 ”width =“ 1700 ”height =“ 500 ”data =“. . . "" Is temporarily stored (step S2540). The processing state of the image drawing command is continuously maintained as “processing”.

[55行目]
制御部150は、55行目のレコード(印刷描画データファイル300における「EMR_BITBLT」)を読み出す(ステップS910)。当該レコードもイメージ描画命令であるため、イメージ描画命令のXML変換処理(ステップS2500)が実行される。
[Line 55]
The control unit 150 reads the record on the 55th line (“EMR_BITBLT” in the print drawing data file 300) (step S910). Since the record is also an image drawing command, the XML conversion processing (step S2500) of the image drawing command is executed.

さらに、上記と同様に、イメージ描画データの結合処理が実行される。具体的には、2つのイメージ描画命令「EMR_BITBLT x=“300” y=“2000” width=“1700” height=“500” data=“...”」と「EMR_BITBLT x=“300” y=“2500” width=“1700” height=“500” data=“...”」とが格納される。   Further, the image drawing data combining process is executed as described above. Specifically, two image rendering commands “EMR_BITBLT x =“ 300 ”y =“ 2000 ”width =“ 1700 ”height =“ 500 ”data =“. . . "" And "EMR_BITBLT x =" 300 "y =" 2500 "width =" 1700 "height =" 500 "data =". . . "" Is stored.

[56行目]
最後に、制御部150は、56行目のレコード(印刷描画データファイル300における「EMR_EOF」を処理する。当該レコードは終了命令であるため、XML生成の終了処理(ステップS2600)が実行される。
[Line 56]
Finally, the control unit 150 processes the record on line 56 (“EMR_EOF” in the print drawing data file 300. Since this record is an end command, an XML generation end process (step S2600) is executed.

この時点で、共通属性のグループ化処理状態が「初期状態」であるため、ステップS2620として規定される処理が実行され、イメージ描画命令の処理状態が確認される。この時、当該処理状態は「処理中」であるため(ステップS2620にてYES)、イメージ描画命令の終了処理(ステップS1100)が実行される。   At this point, since the common attribute grouping processing state is “initial state”, the processing defined as step S2620 is executed, and the processing state of the image rendering command is confirmed. At this time, since the processing state is “processing” (YES in step S2620), an image drawing command end process (step S1100) is executed.

具体的には、一時的に記憶されている2つのイメージ描画命令「EMR_BITBLT x=“300” y=“2000” width=“1700” height=“500” data=“...”」と「EMR_BITBLT x=“300” y=“2500” width=“1700” height=“500” data=“...”」とが1つに結合されたXMLデータ「<image x=“300” y=“2000” width=“1700” height=“1000” xlink:href=“...”/>」が一時記憶部160に書き込まれる(図5のSVGファイル500における48行目)。   Specifically, two temporarily stored image drawing commands “EMR_BITBLT x =“ 300 ”y =“ 2000 ”width =“ 1700 ”height =“ 500 ”data =“. . . "" And "EMR_BITBLT x =" 300 "y =" 2500 "width =" 1700 "height =" 500 "data =". . . "" And the XML data "<image x =" 300 "y =" 2000 "width =" 1700 "height =" 1000 "xlink: href =". . . “/>” Is written in the temporary storage unit 160 (the 48th line in the SVG file 500 of FIG. 5).

イメージ描画命令の処理状態は「初期状態」に設定される。XMLフッタ生成部138は、XMLデータのフッタとして、SVGの終了命令「</svg>」をSVGファイル500に書き込む(SVGファイル500における49行目)。   The processing state of the image drawing command is set to “initial state”. The XML footer generation unit 138 writes the SVG end instruction “</ svg>” into the SVG file 500 as the footer of the XML data (line 49 in the SVG file 500).

以上のようにして、本実施の形態に係る電子ドキュメントデータ処理装置100によれば、アプリケーションのデータを印刷するための描画命令に基づいてXML形式のデータを生成する際、関連する描画命令を識別し、複数の命令に共通に用いられる属性のような冗長なデータを省き、各命令に固有なデータを結合することにより、サイズが縮小されたXMLデータを生成する。これにより、アプリケーションのデータを用いる演算処理装置に対して求められる能力が抑制され得る。   As described above, according to the electronic document data processing apparatus 100 according to the present embodiment, when generating XML format data based on a drawing command for printing application data, the related drawing command is identified. Then, redundant data such as attributes commonly used for a plurality of instructions is omitted, and data unique to each instruction is combined to generate XML data with a reduced size. Thereby, the capability calculated | required with respect to the arithmetic processing apparatus using the data of an application can be suppressed.

以上詳述した電子ドキュメントデータ処理装置100は、たとえば、各処理を実行する回路素子を組み合わせることによりハードウェアの組み合わせとして実現することができる。また、以下に示すように、各処理を実現するためのソフトウェアをコンピュータシステムに読み込ませることによっても実現できる。   The electronic document data processing apparatus 100 described in detail above can be realized as a combination of hardware by combining circuit elements that execute each process, for example. Further, as shown below, it can also be realized by causing a computer system to read software for realizing each processing.

そこで、図27を参照して、本実施の形態に係る電子ドキュメントデータ処理装置100の具体的構成の一態様について説明する。図27は、電子ドキュメントデータ処理装置100として機能するコンピュータシステム2700のハードウェア構成を表わすブロック図である。   Therefore, with reference to FIG. 27, an aspect of a specific configuration of electronic document data processing apparatus 100 according to the present embodiment will be described. FIG. 27 is a block diagram illustrating a hardware configuration of a computer system 2700 that functions as the electronic document data processing apparatus 100.

コンピュータシステム2700は、ハードウェアとして、CPU2710と、コンピュータシステム2700の使用者による指示の入力を受けるマウス2720およびキーボード2730と、CPU2710によるプログラムの実行により生成されたデータ、又はマウス2720若しくはキーボード2730を介して入力されたデータを揮発的に格納するRAM2740と、データを不揮発的に格納するハードディスク2750と、CD−ROM(Compact Disk-Read Only Memory)駆動装置2760と、モニタ2780と、通信IF(Interface)2790とを含む。各ハードウェアは、相互にデータバスによって接続されている。CD−ROM駆動装置2760には、CD−ROM2762が装着される。   The computer system 2700 includes, as hardware, a CPU 2710, a mouse 2720 and a keyboard 2730 that receive input of instructions from a user of the computer system 2700, data generated by execution of a program by the CPU 2710, or a mouse 2720 or a keyboard 2730. RAM 2740 for storing the input data in a volatile manner, hard disk 2750 for storing the data in a nonvolatile manner, CD-ROM (Compact Disk-Read Only Memory) driving device 2760, monitor 2780, communication IF (Interface) 2790. Each hardware is mutually connected by a data bus. A CD-ROM 2762 is attached to the CD-ROM drive 2760.

コンピュータシステム2700における処理は、各ハードウェアおよびCPU2710により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク2750に予め記憶されている場合がある。また、ソフトウェアは、CD−ROM2762その他の記憶媒体に格納されて、プログラム製品として流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、CD−ROM駆動装置2760その他の読取装置によりその記憶媒体から読み取られて、あるいは、通信IF2790を介してダウンロードされた後、ハードディスク2750に一旦格納される。そのソフトウェアは、CPU2710によってハードディスク2750から読み出され、RAM2740に実行可能なプログラムの形式で格納される。CPU2710は、そのプログラムを実行する。   Processing in computer system 2700 is implemented by hardware and software executed by CPU 2710. Such software may be stored in the hard disk 2750 in advance. The software may be stored in a CD-ROM 2762 or other storage medium and distributed as a program product. Alternatively, the software may be provided as a program product that can be downloaded by an information provider connected to the so-called Internet. Such software is read from the storage medium by the CD-ROM drive 2760 or other reading device, or downloaded via the communication IF 2790 and then temporarily stored in the hard disk 2750. The software is read from the hard disk 2750 by the CPU 2710 and stored in the RAM 2740 in the form of an executable program. CPU 2710 executes the program.

図27に示されるコンピュータシステム2700を構成する各ハードウェアは、一般的なものである。したがって、本発明の本質的な部分は、RAM2740、ハードディスク2750、CD−ROM2762その他の記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、コンピュータシステム2700の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。   Each hardware constituting the computer system 2700 shown in FIG. 27 is general. Therefore, it can be said that the essential part of the present invention is software stored in the RAM 2740, the hard disk 2750, the CD-ROM 2762 or other storage media, or software downloadable via a network. Since the operation of each hardware of computer system 2700 is well known, detailed description will not be repeated.

なお、記録媒体としては、CD−ROM、FD、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、IC(Integrated Circuit)カード(メモリカードを含む)、光カード、マスクROM、EPROM、EEPROM、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。   The recording media are not limited to CD-ROM, FD, and hard disk, but are magnetic tape, cassette tape, optical disk (MO (Magnetic Optical Disc) / MD (Mini Disc) / DVD (Digital Versatile Disc)), IC (Integrated). Circuits (including memory cards), optical cards, mask ROMs, EPROMs, EEPROMs, flash ROMs, and other semiconductor memories may be used as mediums that carry a fixed program.

ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。   The program here includes not only a program directly executable by the CPU but also a program in a source program format, a compressed program, an encrypted program, and the like.

このようにしてコンピュータシステム2700によって生成されたXML形式のデータが、PDA(Personal Digital Assistant)、携帯電話その他の情報処理端末に移送されると、当該情報処理端末は、そのXML形式のデータに基づいて、テキスト、図表その他の電子文書を表示する。このXML形式のデータサイズは、上述のように冗長な表現を有しておらず通常の処理によって生成されるデータのサイズよりも小さい。したがって、情報処理端末は、当該データに基づいて表示を行なう際、冗長なデータに基づく処理を実行する必要がなくなるため、スムーズに表示動作を実現することができる。具体的には、電子ドキュメントデータ処理装置100によって生成されたXML形式のデータにおけるオブジェクトの数は、通常の処理によって生成されたデータにおけるオブジェクトの数よりも少ないため、描画のために必要な時間が短くなる。これにより、当該情報処理端末のユーザは、ストレスなく電子文書を閲覧することができる。   When the XML format data thus generated by the computer system 2700 is transferred to a PDA (Personal Digital Assistant), a mobile phone or other information processing terminal, the information processing terminal is based on the XML format data. Text, diagrams, and other electronic documents. The data size of the XML format does not have a redundant expression as described above, and is smaller than the size of data generated by normal processing. Therefore, when the information processing terminal performs display based on the data, it is not necessary to execute processing based on redundant data, so that a display operation can be realized smoothly. Specifically, since the number of objects in the XML format data generated by the electronic document data processing apparatus 100 is smaller than the number of objects in the data generated by normal processing, the time required for drawing is reduced. Shorter. Thereby, the user of the information processing terminal can view the electronic document without stress.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

電子ドキュメントデータ処理装置100により実現される機能の概略の構成を表わすブロック図である。2 is a block diagram showing a schematic configuration of functions implemented by electronic document data processing apparatus 100. FIG. 記憶部170における電子ドキュメントファイルの格納の一態様を概念的に表わす図である。FIG. 3 is a diagram conceptually illustrating one aspect of storage of an electronic document file in a storage unit. 電子ドキュメントファイル200から生成された印刷描画データの一態様を表わす図である。FIG. 4 is a diagram illustrating an aspect of print drawing data generated from an electronic document file 200. 印刷描画データファイル300に含まれるレコードごとに、1対1にSVG形式のデータに変換した態様を表わす図である。FIG. 6 is a diagram illustrating a mode in which records included in a print drawing data file 300 are converted into SVG format data on a one-to-one basis. 電子ドキュメントデータ処理装置100によって生成されたSVG形式のデータ構造を表わす図である。3 is a diagram illustrating a data structure of an SVG format generated by the electronic document data processing apparatus 100. FIG. 電子ドキュメントデータ処理装置100によって生成されるテーブルを概念的に表わす図である。3 is a diagram conceptually showing a table generated by the electronic document data processing apparatus 100. FIG. カレントオブジェクト管理テーブル700におけるデータの変化の態様を表わす図である。It is a figure showing the mode of change of the data in the current object management table 700. FIG. テキスト色管理テーブル800の構成を表わす図である。FIG. 4 is a diagram showing the configuration of a text color management table 800. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その1)である。4 is a flowchart (part 1) showing a procedure of processing executed by the electronic document data processing apparatus 100. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その2)である。6 is a flowchart (No. 2) showing a procedure of processing executed by the electronic document data processing apparatus. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その3)である。10 is a flowchart (part 3) illustrating a procedure of processing executed by the electronic document data processing apparatus 100. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その4)である。6 is a flowchart (part 4) illustrating a procedure of processes executed by the electronic document data processing apparatus. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その5)である。10 is a flowchart (No. 5) showing a procedure of processing executed by the electronic document data processing apparatus. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その6)である。10 is a flowchart (No. 6) showing a procedure of processes executed by the electronic document data processing apparatus 100. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その7)である。10 is a flowchart (No. 7) showing a procedure of processing executed by the electronic document data processing apparatus 100. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その8)である。12 is a flowchart (No. 8) showing a procedure of processes executed by electronic document data processing apparatus 100. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その9)である。12 is a flowchart (No. 9) showing a procedure of processes executed by the electronic document data processing apparatus 100. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その10)である。10 is a flowchart (No. 10) showing a procedure of processes executed by electronic document data processing apparatus 100. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その11)である。10 is a flowchart (No. 11) showing a procedure of processes executed by the electronic document data processing apparatus 100. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その12)である。14 is a flowchart (No. 12) showing a procedure of processes executed by the electronic document data processing apparatus 100. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その13)である。14 is a flowchart (No. 13) showing a procedure of processes executed by electronic document data processing apparatus 100. FIG. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その14)である。14 is a flowchart (No. 14) showing a procedure of processes executed by electronic document data processing apparatus 100. FIG. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その15)である。18 is a flowchart (No. 15) showing a procedure of processes executed by electronic document data processing apparatus 100. FIG. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その16)である。18 is a flowchart (No. 16) showing a procedure of processes executed by electronic document data processing apparatus 100. FIG. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その17)である。18 is a flowchart (No. 17) showing a procedure of processing executed by the electronic document data processing apparatus 100. FIG. 電子ドキュメントデータ処理装置100が実行する処理の手順を表わすフローチャート(その18)である。18 is a flowchart (No. 18) showing a procedure of processes executed by electronic document data processing apparatus 100. FIG. 電子ドキュメントデータ処理装置100として機能するコンピュータシステム2700のハードウェア構成を表わすブロック図である。2 is a block diagram illustrating a hardware configuration of a computer system 2700 that functions as the electronic document data processing apparatus 100. FIG.

符号の説明Explanation of symbols

100 電子ドキュメントデータ処理装置、200 電子ドキュメントファイル、300 印刷描画データ、2700 コンピュータシステム、2710 CPU、2720 マウス、2730 キーボード、2740 RAM、2750 ハードディスク、2760 CD−ROM駆動装置、2762 CD−ROM。   100 electronic document data processing apparatus, 200 electronic document file, 300 print drawing data, 2700 computer system, 2710 CPU, 2720 mouse, 2730 keyboard, 2740 RAM, 2750 hard disk, 2760 CD-ROM drive, 2762 CD-ROM.

Claims (16)

アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを格納する記憶手段と、
前記電子ドキュメントファイルを出力する指示を受け付ける入力手段と、
前記指示に基づいて、前記電子ドキュメントファイルから複数の描画命令を生成する生成手段と、
各前記描画命令間の相互関係に基づいて、各前記描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換する変換手段とを備える、電子ドキュメントデータ処理装置。
Storage means for storing an electronic document file represented in a data format specific to the application program;
Input means for receiving an instruction to output the electronic document file;
Generating means for generating a plurality of drawing commands from the electronic document file based on the instructions;
An electronic document comprising: conversion means for converting each drawing command into data represented by a data description language in which data attributes and data contents are described in association with each other based on a mutual relationship between the drawing commands. Data processing device.
前記データ記述言語は、XML(eXtensible Markup Language)データを含む、請求項1に記載の電子ドキュメントデータ処理装置。   The electronic document data processing apparatus according to claim 1, wherein the data description language includes XML (eXtensible Markup Language) data. 前記データ記述言語は、ベクター画像記述言語を含む、請求項1に記載の電子ドキュメントデータ処理装置。   The electronic document data processing apparatus according to claim 1, wherein the data description language includes a vector image description language. 前記変換手段は、
各前記描画命令のデータ構造を解析する解析手段と、
前記解析手段による解析の結果に基づいて、各前記描画命令間の相互関係を識別する識別手段と、
前記識別された相互関係に基づいて、各前記描画命令を前記データ記述言語により表わされるデータに変換する描画命令変換手段とを含む、請求項1に記載の電子ドキュメントデータ処理装置。
The converting means includes
Analyzing means for analyzing the data structure of each drawing command;
Identification means for identifying a mutual relationship between the drawing commands based on the result of analysis by the analysis means;
The electronic document data processing apparatus according to claim 1, further comprising: a drawing command conversion unit that converts each drawing command into data represented by the data description language based on the identified correlation.
前記描画命令は、予め規定された複数の分類基準のいずれかに従って分類される複数のレコードを含み、各前記レコードは前記電子ドキュメントファイルにおけるデータの属性を含み、
前記解析手段は、各前記レコードごとに前記電子ドキュメントファイルにおけるデータの属性を抽出し、
前記識別手段は、前記解析手段によって抽出された各前記データの属性に基づいて、前記相互関係を識別する、請求項4に記載の電子ドキュメントデータ処理装置。
The drawing command includes a plurality of records classified according to any of a plurality of predefined classification criteria, each record including an attribute of data in the electronic document file,
The analysis means extracts data attributes in the electronic document file for each of the records,
The electronic document data processing apparatus according to claim 4, wherein the identification unit identifies the mutual relationship based on an attribute of each of the data extracted by the analysis unit.
前記識別手段は、
前記複数の描画命令の各々から、共通の属性を有するデータを抽出する抽出手段と、
前記抽出手段によって抽出された各前記データを前記属性ごとにグループ化するグループ化手段とを含む、請求項4に記載の電子ドキュメントデータ処理装置。
The identification means includes
Extraction means for extracting data having a common attribute from each of the plurality of drawing commands;
The electronic document data processing apparatus according to claim 4, further comprising: a grouping unit that groups the data extracted by the extraction unit for each attribute.
前記識別手段は、
相互に隣接する各テキストを表示するための各テキスト描画データを、予め設定された座標に基づいてそれぞれ抽出するテキスト抽出手段と、
前記テキスト抽出手段によって抽出された各前記テキスト描画データを、前記座標に基づいて1つのデータに合成する合成手段とを含む、請求項4に記載の電子ドキュメントデータ処理装置。
The identification means includes
Text extraction means for extracting each text drawing data for displaying each text adjacent to each other based on preset coordinates;
The electronic document data processing apparatus according to claim 4, further comprising: a combining unit that combines the text drawing data extracted by the text extracting unit into one data based on the coordinates.
前記識別手段は、
相互に隣接する各画像を表示するための各画像データを、予め設定された座標に基づいてそれぞれ抽出する画像抽出手段と、
前記画像抽出手段によって抽出された各画像データを、前記座標に基づいて1つのデータに合成する合成手段とを含む、請求項4に記載の電子ドキュメントデータ処理装置。
The identification means includes
Image extracting means for extracting each image data for displaying each image adjacent to each other based on preset coordinates;
The electronic document data processing apparatus according to claim 4, further comprising: combining means for combining each image data extracted by the image extracting means into one data based on the coordinates.
前記アプリケーションプログラムは、前記指示に基づいて、電子ドキュメントファイルを印刷するための印刷指令を出力し、
前記生成手段は、前記印刷指令に基づいて前記複数の描画命令を生成する、請求項1に記載の電子ドキュメントデータ処理装置。
The application program outputs a print command for printing the electronic document file based on the instruction,
The electronic document data processing apparatus according to claim 1, wherein the generation unit generates the plurality of drawing commands based on the print command.
前記変換手段による変換によって生成されたデータを出力する出力手段をさらに備える、請求項1に記載の電子ドキュメントデータ処理装置。   The electronic document data processing apparatus according to claim 1, further comprising output means for outputting data generated by the conversion by the conversion means. 前記出力手段は、前記変換によって生成されたデータに基づいて前記電子ドキュメントファイルを表示する表示手段を含む、請求項10に記載の電子ドキュメントデータ処理装置。   The electronic document data processing apparatus according to claim 10, wherein the output unit includes a display unit that displays the electronic document file based on the data generated by the conversion. 前記出力手段は、前記変換によって生成されたデータを出力するデータ出力インターフェイスを含む、請求項10に記載の電子ドキュメントデータ処理装置。   The electronic document data processing apparatus according to claim 10, wherein the output unit includes a data output interface that outputs data generated by the conversion. 前記描画命令は、メタファイルの開始を表わす命令と、オブジェクトを描画する命令と、前記メタファイルの終了を表わす命令とを含む、請求項1に記載の電子ドキュメントデータ処理装置。   The electronic document data processing apparatus according to claim 1, wherein the drawing command includes a command that indicates the start of a metafile, a command that draws an object, and a command that indicates the end of the metafile. 前記オブジェクトを描画する命令は、線図を描画する命令と、描画される画像を着色する命令と、文字を描く命令と、前記文字が描かれる色を指定する命令とのいずれかを含む、請求項13に記載の電子ドキュメントデータ処理装置。   The instruction for drawing the object includes any of an instruction for drawing a diagram, an instruction for coloring an image to be drawn, an instruction for drawing a character, and an instruction for designating a color for drawing the character. Item 14. The electronic document data processing device according to Item 13. アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを準備するステップと、
前記電子ドキュメントファイルを出力する指示を受け付けるステップと、
前記指示に基づいて、前記電子ドキュメントファイルから複数の描画命令を生成するステップと、
各前記描画命令間の相互関係に基づいて、各前記描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換するステップとを備える、電子ドキュメントデータ処理方法。
Preparing an electronic document file represented in a data format specific to the application program;
Receiving an instruction to output the electronic document file;
Generating a plurality of drawing commands from the electronic document file based on the instructions;
Transforming each rendering command into data represented by a data description language in which data attributes and data contents are described in association with each other based on the interrelationship between the rendering commands. Processing method.
コンピュータを、電子ドキュメントデータ処理装置として機能させるためのプログラムであって、前記プログラムは前記コンピュータに、
アプリケーションプログラムに固有のデータ形式によって表わされる電子ドキュメントファイルを準備するステップと、
前記電子ドキュメントファイルを出力する指示を受け付けるステップと、
前記指示に基づいて、前記電子ドキュメントファイルから複数の描画命令を生成するステップと、
各前記描画命令間の相互関係に基づいて、各前記描画命令を、データの属性とデータの内容とが関連付けて記述されるデータ記述言語によって表わされるデータに変換するステップとを実行させる、プログラム。
A program for causing a computer to function as an electronic document data processing device, wherein the program causes the computer to
Preparing an electronic document file represented in a data format specific to the application program;
Receiving an instruction to output the electronic document file;
Generating a plurality of drawing commands from the electronic document file based on the instructions;
A program for executing the step of converting each drawing command into data represented by a data description language in which data attributes and data contents are described in association with each other based on a mutual relationship between the drawing commands.
JP2006012403A 2006-01-20 2006-01-20 Electronic document data processor, electronic document data processing method and program for functioning computer as electronic document data processor Pending JP2007193655A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006012403A JP2007193655A (en) 2006-01-20 2006-01-20 Electronic document data processor, electronic document data processing method and program for functioning computer as electronic document data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006012403A JP2007193655A (en) 2006-01-20 2006-01-20 Electronic document data processor, electronic document data processing method and program for functioning computer as electronic document data processor

Publications (1)

Publication Number Publication Date
JP2007193655A true JP2007193655A (en) 2007-08-02

Family

ID=38449300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006012403A Pending JP2007193655A (en) 2006-01-20 2006-01-20 Electronic document data processor, electronic document data processing method and program for functioning computer as electronic document data processor

Country Status (1)

Country Link
JP (1) JP2007193655A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010267034A (en) * 2009-05-13 2010-11-25 Canon Inc Information processing apparatus and information processing method
KR101618381B1 (en) 2008-03-04 2016-05-18 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Shader-based extensions for a declarative presentation framework

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0796641A (en) * 1993-09-29 1995-04-11 Fuji Xerox Co Ltd Method and apparatus for converting print information
JPH10198539A (en) * 1997-01-08 1998-07-31 Fuji Xerox Co Ltd Device and method for forming image
JP2003108331A (en) * 2001-09-27 2003-04-11 Fujitsu Ltd Method for data conversion, program and recording medium
JP2004106192A (en) * 2002-09-13 2004-04-08 Ricoh Co Ltd Writing processor, information processor, image formation apparatus, writing processing method and program
JP2005173801A (en) * 2003-12-09 2005-06-30 Canon Inc Document print system, method, and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0796641A (en) * 1993-09-29 1995-04-11 Fuji Xerox Co Ltd Method and apparatus for converting print information
JPH10198539A (en) * 1997-01-08 1998-07-31 Fuji Xerox Co Ltd Device and method for forming image
JP2003108331A (en) * 2001-09-27 2003-04-11 Fujitsu Ltd Method for data conversion, program and recording medium
JP2004106192A (en) * 2002-09-13 2004-04-08 Ricoh Co Ltd Writing processor, information processor, image formation apparatus, writing processing method and program
JP2005173801A (en) * 2003-12-09 2005-06-30 Canon Inc Document print system, method, and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101618381B1 (en) 2008-03-04 2016-05-18 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Shader-based extensions for a declarative presentation framework
JP2010267034A (en) * 2009-05-13 2010-11-25 Canon Inc Information processing apparatus and information processing method

Similar Documents

Publication Publication Date Title
US8792116B2 (en) Printing controller, GUI display method, printer driver, and recording medium
JP3760904B2 (en) GUI application development support apparatus, GUI display apparatus and method, and computer program
JP2005004489A (en) Device and program for creating component catalog
JP2023050977A (en) Computer program for terminal device, computer-readable storage medium storing computer program, and method to be executed by terminal device
JP2007193655A (en) Electronic document data processor, electronic document data processing method and program for functioning computer as electronic document data processor
JP2006048695A (en) Device for and method of processing text data according to script attribute
JP2005292964A (en) Print data editing device and print data edit program
CN109933766A (en) Document generating method, device and storage medium
JP6795767B2 (en) Information processing device and its processing method and program
CN112560397B (en) Drawing method, drawing device, terminal equipment and storage medium
US11526578B2 (en) System and method for producing transferable, modular web pages
JP6353261B2 (en) Information processing apparatus, control method, and program
JP6701268B2 (en) Information processing apparatus, control method, and program
JP4828318B2 (en) Multiple form integrated printing method, system and program
JP4006477B2 (en) Form creation device, form creation method, and storage medium
JP2020135159A (en) Source file generation program, source file generation method, and information processing device
JP3969926B2 (en) Form creation device, form creation method, and storage medium
JP4021290B2 (en) Information processing apparatus, information processing method, and information processing program
JP2001101327A (en) Information processing method, information processor and printing system
JP7048912B2 (en) Information processing equipment and its processing method and program
JP7210093B2 (en) Information processing device, its processing method and program
JP2011048453A (en) Information processor, computer program, and electronic file
JP6700559B2 (en) Information processing apparatus, processing method thereof, and program
JP2973906B2 (en) Character user interface device
CN118377477A (en) Method, device, equipment, medium and program product for coding table lowly

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100527

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100615