(57)【要約】【課題】スクリプトファイルの内容を解釈する際にメモリを無駄に消費し、また、同ファイルの書き換えを行う際の処理速度が遅かった。【解決手段】各データを文字列を含む状態にて記述したデータファイルを対象として解析を行うことにより、該文字列について、文字列のデータファイルにおける記述位置を特定するアドレス情報と、該文字列の属性とを記録した解析結果データを生成するとともに、同生成した解析結果データを上記データファイルを利用する所定のデータ処理手段に引き渡す構成とした。【選択図】図４
2007102368.tif 000002
【特許請求の範囲】
【請求項１】
各データを文字列を含む状態にて記述したデータファイルを対象として解析を行うことにより、該文字列について、文字列のデータファイルにおける記述位置を特定するアドレス情報と、該文字列の属性とを記録した解析結果データを生成するとともに、同生成した解析結果データを上記データファイルを利用する所定のデータ処理手段に引き渡すことを特徴とするデータファイル解析装置。
【請求項２】
上記文字列はその属性と共に、タグとして上記データ内に記述されていることを特徴とする請求項１に記載のデータファイル解析装置。
【請求項３】
上記データファイルは、画像を印刷する際のレイアウトを規定するデータを記述したスクリプトファイルであることを特徴とする請求項１または請求項２のいずれかに記載のデータファイル解析装置。
【請求項４】
各データを文字列を含む状態にて記述したデータファイルを対象として解析を行うことにより、該文字列について、文字列のデータファイルにおける記述位置を特定するアドレス情報と、該文字列の属性とを記録した解析結果データを生成するデータファイル解析手段と、
上記データファイル解析手段から解析結果データを取得するとともに、同解析結果データを参照することにより、上記データファイルに記述された所定の属性を示す文字列の記述位置を特定し同特定した記述位置から文字列を読み出す文字列処理手段とを備えることを特徴とするデータファイル編集装置。
【請求項５】
上記文字列処理手段は、所定の入力受付手段を介して、データファイルに記録されている各文字列のうち書き換え可能な文字列について換わりとなる新たな文字列を取得した際に、上記解析結果データを参照することによりデータファイル中の書き換え対象となる文字列の記述位置を特定し同特定した記述位置における文字列を上記新たな文字列によって書き換えることを特徴とする請求項４に記載のデータファイル編集装置。
【請求項６】
上記文字列処理手段は、上記書き換え対象とした文字列の書き換え前後における文字数に変動が生じた場合に当該変動に応じて、上記解析結果データに記録された各文字列のアドレス情報のうち、上記データファイルにおいて上記書き換え対象とした文字列以降に記述されている他の文字列についてのアドレス情報を変更することを特徴とする請求項５に記載のデータファイル編集装置。
【請求項７】
各データを文字列を含む状態にて記述したデータファイルを対象として解析を行うことにより、該文字列について、文字列のデータファイルにおける記述位置を特定するアドレス情報と、該文字列の属性とを記録した解析結果データを生成するとともに、同生成した解析結果データを上記データファイルを利用する所定のデータ処理手段に引き渡すことを特徴とするデータファイル解析方法。
【請求項８】
各データを文字列を含む状態にて記述したデータファイルを対象として解析を行うことにより、該文字列について、文字列のデータファイルにおける記述位置を特定するアドレス情報と、該文字列の属性とを記録した解析結果データを生成するとともに、同生成した解析結果データを上記データファイルを利用する所定のデータ処理手段に引き渡す機能をコンピュータに実行させることを特徴とするデータファイル解析プログラム。
【請求項９】
各データを文字列を含む状態にて記述したデータファイルを対象として解析を行うことにより、該文字列について、文字列のデータファイルにおける記述位置を特定するアドレス情報と、該文字列の属性とを記録した解析結果データを生成し、
上記解析結果データを取得して同解析結果データを参照することにより、上記データファイルに記述された所定の属性を示す文字列の記述位置を特定し同特定した記述位置から文字列を読み出すことを特徴とするデータファイル編集方法。
【請求項１０】
各データを文字列を含む状態にて記述したデータファイルを対象として解析を行うことにより、該文字列について、文字列のデータファイルにおける記述位置を特定するアドレス情報と、該文字列の属性とを記録した解析結果データを生成する機能と、
上記解析結果データを取得して同解析結果データを参照することにより、上記データファイルに記述された所定の属性を示す文字列の記述位置を特定し同特定した記述位置から文字列を読み出す機能とをコンピュータに実行させることを特徴とするデータファイル編集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データファイル解析装置、データファイル編集装置、データファイル解析方法、データファイル解析プログラム、データファイル編集方法およびデータファイル編集プログラムに関する。
【背景技術】
【０００２】
従来より、ＸＭＬ形式やＸＨＴＭＬ形式などによって記述したデータファイルを画像処理ソフトなどのアプリケーションによって使用する場合、データファイルとアプリケーションとの間にいわゆるパーサと呼ばれるソフトウェアを介在させていた。パーサは、上記ＸＭＬ形式やＸＨＴＭＬ形式などで記述されたファイルの内容を解析してアプリケーションが利用するのに適した形のデータに変換するものであり、アプリケーションは、同変換後のデータ（解析結果）をパーサから入力して所定のメモリに記録し、以後、かかる解析結果を参照して上記データファイルの内容を解釈し、所定の画像処理を実行していた。
【０００３】
また関連する文献として、コントローラより送信された、表示文字列を記述したＨＴＭＬタグ付文字列を、ＨＴＭＬパーサによって解析し、同ＨＴＭＬタグ付文字列からディスプレイ上に表示する文字列を取り出す文字表示制御装置が知られている（例えば、特許文献１参照。）。
【特許文献１】特開２００４‐８５７５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した従来のパーサは、解析元のファイルに各タグに対応して属性と属性値としての文字列とが記述されている場合、かかる属性値としての文字列自体を解析結果として抽出していた。そのため、アプリケーションがパーサから出力された解析結果を記録する際のメモリの消費が大きかった。かかる問題は、解析元のファイルに記述されている属性値の文字数が多い場合、より顕著となる。また、上記アプリケーションを備える携帯電話機など、もともと同アプリケーションの動作の際に使用可能なメモリ容量にかなりの制限がある機器においては、上記メモリの浪費は大きな問題であった。
【０００５】
また、上記従来の構成では、パーサの解析結果から得られた特定の文字列を他の文字列に書き換える場合も処理負担が非常に大きかった。つまり、特定の文字列を他の文字列に書き換える場合、上記ファイルに記述されている各文字列を対象として上記特定の文字列と一致するものを検索し上記ファイル中における同特定の文字列の記述位置を探すという処理が必要であったため、かかる検索処理に要する負担が大きく、その結果、文字列の書き換えを高速に実行することができなかった。
なお、上記文献においても、ＨＴＭＬパーサはＨＴＭＬタグ付文字列に記述された文字列を抽出する構成であるため、上述したメモリの浪費および書き換え処理の高速化の困難性という課題は未解決のままである。
【０００６】
本発明は、上記課題に鑑みてなされたもので、データファイルの記述内容の読み出しや書き換え処理を少ないメモリ資源と処理時間とによって実現することの可能なデータファイル解析装置、データファイル編集装置、データファイル解析方法、データファイル解析プログラム、データファイル編集方法およびデータファイル編集プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明にかかるデータファイル解析装置では、各データを文字列を含む状態にて記述したデータファイルを対象として解析を行う。かかるデータファイルは、所定の記憶媒体に記録されている場合には、同記憶媒体から読み出すことになり、他のコンピュータなどが保持している場合にはそのコンピュータから同データファイルの送信を受ける。そして、データファイル解析装置は上記解析により、文字列について、文字列のデータファイルにおける記述位置を特定するアドレス情報と、文字列の属性とを記録した解析結果データを生成する。そして、データファイル解析装置は、当該解析結果データを、上記データファイルを利用する所定のデータ処理手段、例えばデータファイルに記述されたデータを使用して所定の画像処理を実行するアプリケーション等に引き渡す。
【０００８】
つまり本発明によれば、データファイル解析装置が、上記データファイルを解析して生成する解析結果データは、文字列のデータファイルにおける記述位置を特定するアドレス情報と、文字列の属性とを備える。そのため、解析結果データの情報量は、従来のパーサが上記のようなデータファイルの解析結果として属性値の文字列自体を抽出していた場合と比較して大きく低減され、その結果、データファイルを利用する側においては、解析結果データを記録するのに必要なメモリ資源を大きく節約することが可能となる。
ここで、上記文字列はその属性と共に、タグとして上記データ内に記述されているとしてもよい。かかる構成によれば、例えばＸＭＬ形式やＸＨＴＭＬ形式によって記述されたデータファイルを対象として上記解析を行い、上記解析結果データを生成することができる。
【０００９】
上記データファイルは、各データを文字列を含む状態にて記述した形式のファイルであれば特に限定されないが、一つの具体例として、上記データファイルは、画像を印刷する際のレイアウトを規定するデータを記述したスクリプトファイルであるとしてもよい。つまり、印刷することを目的として作成された画像データが存在する場合、この画像の印刷時のレイアウトを規定したスクリプトファイルも存在し得る。そこで、かかるスクリプトファイルを対象として上記解析結果データを生成するとすれば、スクリプトファイルを使用する所定のデータ処理手段において、少ないメモリ資源によって当該解析結果データを記録することが可能となる。
【００１０】
ここで、上記のようなデータファイルの解析処理を行う構成と、解析によって得られた解析結果データを取得しこれを使用する側の構成とを併せた発明をも把握することができる。つまり、上記解析結果データを生成するデータファイル解析手段に加え、データファイル解析手段から解析結果データを取得し、同解析結果データを参照することにより、上記データファイルに記述された所定の属性を示す文字列の記述位置を特定する文字列処理手段とを備えるとしてもよい。つまり、解析結果データには、文字列のアドレス情報と属性との組み合わせが記録されているため、文字列処理手段は、かかる組み合わせを参照することにより、データファイル中から所定の文字列の記述位置を特定して文字列を読み出すことができる。また、同読み出した文字列に基づく表示処理など、所定の画像処理を行うことができる。
【００１１】
さらに、文字列処理手段は、所定の入力受付手段を介して、データファイルに記録されている各文字列のうち書き換え可能な文字列について、換わりとなる新たな文字列を取得した際に、解析結果データを参照して書き換えを行うとしてもよい。具体的には、解析結果データを参照してデータファイル中の書き換え対象となる文字列の記述位置を特定し、同特定した記述位置における文字列を上記新たな文字列によって書き換える。
つまり、従来であれば、データファイル中の文字列を書き換えるには、書き換え対象とした文字列をデータファイル中において検索する必要があったが、本発明では、解析結果データに記録されたアドレス情報によってデータファイル中における書き換え対象とした文字列の記述位置を直ちに特定できるため、上記書き換え処理を迅速に行うことができる。
【００１２】
さらに、上記文字列処理手段は、上記書き換え処理を行った後、必要に応じて解析結果データに記録してあるアドレス情報を変更するとしてもよい。つまり、データファイル中のある文字列を書き換えたことによって書き換え前後における文字数に変動が生じた場合、同変動に応じて、データファイル中における他の文字列の記述位置が変化する場合がある。そこで、上記文字列処理手段は、上記文字数の変動に応じて、解析結果データに記録された各文字列のアドレス情報のうち、上記データファイルにおいて書き換え対象とした文字列以降に記述されている他の文字列についてのアドレス情報を変更する。その結果、後に他の文字列について読み出しや書き換えを行うときにも解析結果データを参照すれば、当該他の文字列についての正しいアドレス情報を取得することができる。つまり、複数の文字列に対して繰り返し書き換えを行う場合でも、上記構成によれば書き換え処理全体を迅速に行うことができる。
【００１３】
上述のデータファイル解析装置にかかる技術的思想は、その手順を実行すデータファイル解析方法の発明としても把握でき、請求項７にかかる発明は、上記データファイル解析装置と同様の作用及び効果を発揮する。同様に、データファイル解析装置にかかる技術的思想は、その手順をコンピュータに実行させるデータファイル解析プログラムの発明として把握することもでき、請求項８にかかる発明も、上記データファイル解析装置と同様の作用、効果を有する。
【００１４】
さらに、上述のデータファイル編集装置にかかる技術的思想は、その手順を実行すデータファイル編集方法の発明としても把握でき、請求項９にかかる発明は、上記データファイル編集装置と同様の作用及び効果を発揮する。同様に、データファイル編集装置にかかる技術的思想は、その手順をコンピュータに実行させるデータファイル編集プログラムの発明として把握することもでき、請求項１０にかかる発明も、上記データファイル編集装置と同様の作用、効果を有する。
【発明を実施するための最良の形態】
【００１５】
下記の順序に従って本発明の実施形態を説明する。
（１）携帯電話の構成
（２）パッケージファイルの構成
（３）パッケージファイルの編集処理
（４）まとめ
【００１６】
（１）携帯電話の構成
図１は、本発明の一実施形態にかかる携帯電話１０のハードウェア構成を示すブロック図である。携帯電話１０は、通話やデータ通信など種々の機能を実現しており、その機能の一部として画像処理を実施することで画像処理装置として機能する。また、携帯電話１０は、本発明にかかるデータファイル解析装置およびデータファイル編集装置として機能する。携帯電話１０は、リムーバブルメモリＩ／Ｆ１１ａと、表示部１２と、入力ボタン１３と、通信部１４と、ＣＰＵ１５と、ＲＯＭ１６と、ＲＡＭ１７と、ワークメモリ１９とを備えている。ＣＰＵ１５はバス１８を介して各部に接続されており、ＲＯＭ１６，ＲＡＭ１７と協働して所定のプログラムを実行することができる。
【００１７】
表示部１２は、携帯電話１０に備えられたディスプレイであり、ＣＰＵ１５の制御によって各種の画像やＵＩ等を表示することができる。入力ボタン１３は、複数の押しボタンを含み、ＣＰＵ１５は、利用者による押しボタンの押し込み操作を受け付け、各種の入力情報を取得することができる。通信部１４は、ＣＰＵ１５の制御によって図示しない基地局との無線通信を実行し通話やデータ通信を実行する。ワークメモリ１９は、後述のパッケージファイル１１ｂの編集処理を実行する際に生成されるデータベース等の記録に利用され、本実施形態では、例えばフラッシュメモリを用いる。
【００１８】
リムーバブルメモリＩ／Ｆ１１ａにはリムーバブルメモリ１１を装着可能であり、ＣＰＵ１５は、リムーバブルメモリ１１に対してデータを書き込み、また、リムーバブルメモリ１１からデータを読み出すことが可能である。本実施形態では、リムーバブルメモリ１１には、画像を印刷する際の同画像のレイアウトを記述したスクリプトファイル１１ｂ１と、レイアウトを編集する際に携帯電話１０にて印刷のサムネイル画像を表示するためのサムネイルデータファイル１１ｂ２と、印刷を実行する際にプリンタにて参照される印刷用データを記述した印刷用データファイル１１ｂ３という複数のデータファイルを一つにパッケージ化したパッケージファイル１１ｂが記録されている。パッケージファイル１１ｂの詳細は後述する。
【００１９】
パッケージファイル１１ｂは、携帯電話１０にて画像の表示を行う前にリムーバブルメモリ１１に記憶されていれば良く、携帯電話１０はこのパッケージファイル１１ｂを所定のサーバからダウンロードによって取得してもよいし、他の機器（例えばパーソナルコンピュータ）から取得してもよい。パッケージファイル１１ｂに含まれる複数のファイルは印刷のために用意されたファイルであるとも言える。この印刷は、図示しないプリンタにリムーバブルメモリ１１を装着し、パッケージファイル１１ｂに基づいてプリンタが印刷処理を行うことによって実行される。
【００２０】
（２）パッケージファイルの構成
図２は、パッケージファイル１１ｂの一例を示す図である。同図に示すように、パッケージファイル１１ｂは、スクリプトファイル１１ｂ１と、サムネイルデータファイル１１ｂ２と、印刷用データファイル１１ｂ３とを所定の順序にて合体させて構成した一つのファイルである。
本実施形態では、パッケージファイル１１ｂに基づく画像処理や同パッケージファイル１１ｂの編集を携帯電話１０において実行する際に、使用するメモリ資源の節約や処理スピードの高速化を実現する構成を提案している。
【００２１】
スクリプトファイル１１ｂ１は、印刷時のレイアウトを特定するための複数のパラメータデータを含むファイルであり、本実施形態では、ＸＭＬ形式またはＸＨＴＭＬ形式を採用し、いわゆるタグを利用してレイアウトのパラメータを記述している。具体的には、スクリプトファイル１１ｂ１では、各タグによって、印刷用紙の種類（大きさ（Ａ４，はがき，Ｌ版等）や品質（光沢紙、普通紙等）、印刷画像のレイアウト上に配置可能な文字枠の位置、文字枠の大きさ、文字枠内に含め得る文字の上限値（文字数）、文字の大きさ等を記述する。また、各文字枠に対する編集作業にて入力する文字を示すデータも記述可能になっている。
【００２２】
図３は、スクリプトファイル１１ｂ１のデータ構造の一例を示している。
スクリプトファイル１１ｂ１は各行において、「＜（左アンクルブラケット）」，「＞（右アングルブラケット）」で左右を挟んだ状態にてデータを記述しており、本実施形態では、各行における＜＞で囲んだ文字列全体をタグと呼ぶ。各タグは、タグ名と、属性と、属性値とによって構成されている。同図における上からｎ１行目のタグを例に説明すると、「＜」の次の位置に記載された文字列「ｍｅｔａ」がタグ名であり、タグ名の後に記述された文字列「ｎａｍｅ」および「ｃｏｎｔｅｎｔ」が属性であり、各属性の後に「”（ダブルクォーテイション）」で挟まれて記述された文字列「ａａａ」および「ｂｂｂ」がそれぞれ対応する属性の属性値を示している。スクリプトファイル１１ｂ１においては、上記のレイアウトを特定する各データを各属性の属性値として文字列で記述している。
【００２３】
サムネイルデータファイル１１ｂ２は、携帯電話１０の表示部１２で表示可能な画素数で印刷対象の画像を表示するためのデータであり、本実施形態においてはＥＸＩＦ形式を採用している（ＥＸＩＦは社団法人電子情報技術産業協会の登録商標）。従って、ＳＯＩ（Start of Image）マーカから始まり、ＥＯＩ（End of Image）マーカで終わるファイルにおいて、予め決められたマーカやデータが含まれている。
【００２４】
この形式において、本実施形態では、２つのサムネイルデータを含めてひとつのファイルにしている。つまり、一方のサムネイルデータをアプリケーションマーカ部分（図２にて「ＡＰＰ７」と示す部分。）に記述し、他方のサムネイルデータを圧縮データ部分（図２にて「圧縮データ」と示す部分、通常は圧縮画像データの本体が格納される。）に記述している。
【００２５】
上記２つのサムネイルデータは、アプリケーションマーカ部分に記述されたものが編集前の画像データ、圧縮データ部分に記述されたものが編集後の画像データであり、大きさ（画素数）は双方とも同じであり、双方ともＪＰＥＧ形式で圧縮されている。ここで、編集前の画像データは、編集にて入力可能な文字についてはこれを含まない画像となっている。従って、編集前の画像データに基づいて画像を表示したときには、文字枠および文字枠に挿入され得る文字は表示されない。例えば、図２に示すように編集前の画像が、日の出の画像の背景に「あけましておめでとう」という文字を重ねた画像であるときには、図２の中央に示すように日の出の画像と「あけましておめでとう」という文字を表示するための画像が編集前の画像データになる（ここでいう「あけましておめでとう」の文字は、編集にて入力される文字ではない。）。
【００２６】
一方、編集後の画像データは、編集前の画像とともにレイアウト上に文字を配置した後の画像を示している。従って、編集後の画像データに基づいて画像を表示したときには、画像上の所定位置に設定されている文字枠位置に文字が挿入された状態の画像が表示される。例えば、後述の編集画面を介して「郵便番号」「住所」「名前」等の文字枠に対して何らかの文字を入力する編集を行った後には、その文字と編集前の画像が重畳され、「郵便番号」「住所」「名前」等の編集内容を含む画像が編集後の画像データになる。なお、携帯電話１０によるパッケージファイル１１ｂに対する編集を一回も行っていない段階では、編集前の画像データと編集後の画像データとはまったく同じデータである。
【００２７】
（３）パッケージファイルの編集処理
図４は、携帯電話１０による編集処理を示すフローチャートである。携帯電話１０の利用者は、携帯電話１０の入力ボタン１３を操作して、ＲＯＭ１６に保存された編集プログラム（データファイル解析プログラムおよびデータファイル編集プログラムの内容を備える）を起動可能であり、当該編集プログラムによって図４に示す編集処理が実施される。当該フローを実行する前提として、リムーバブルメモリ１１には、利用者の所望のパッケージファイル１１ｂ（パッケージファイルの数は任意である。）が記憶されている状態であるとする。つまり利用者は、入力ボタン１３を操作して所定のサーバからのパッケージファイル１１ｂのダウンロード等を行い、所望のパッケージファイル１１ｂをリムーバブルメモリ１１に記憶させる。
【００２８】
まず、ステップＳ（以下、ステップの表記を省略する。）２００では、ＣＰＵ１５は、リムーバブルメモリ１１に保存されているパッケージファイル１１ｂの中から一つのパッケージファイル１１ｂを選択する。この場合、携帯電話１０の利用者は、入力ボタン１３を操作してパッケージファイル１１ｂの選択を行う。つまり、ＣＰＵ１５は、リムーバブルメモリ１１にアクセスし、当該リムーバブルメモリ１１に記憶されている複数のパッケージファイル１１ｂを認識し、表示部１２の表示を制御してそれらのいずれかを選択できるように選択肢を提供する。利用者は入力ボタン１３によって所望のパッケージファイル１１ｂを指示し、ＣＰＵ１５がその指示内容を取得すると、パッケージファイル１１ｂの選択が確定する。
【００２９】
次にＣＰＵ１５は、上記選択したパッケージファイル１１ｂにおけるサムネイルデータファイル１１ｂ２からサムネイルデータを抽出する。このとき、初編集と再編集とで表示対象となる画像は異なり、ＣＰＵ１５は、上記選択されたパッケージファイル１１ｂの編集が再編集であるか否かを判別する（Ｓ２０５）。ここでは、再編集であるか否かを判別することができればよく、再編集であるか否かを判別するためのフラグ等をパッケージファイル１１ｂに含めてもよいし、サムネイルデータファイル１１ｂ２に記述されている編集前の画像データと編集後の画像データを比較してもよいし、種々の構成を採用可能である。
【００３０】
Ｓ２０５において、再編集ではないと判別されたときには、サムネイルデータファイル１１ｂ２のアプリケーションマーカ部分から編集前の画像データを取得する（Ｓ２１０）。ただし、再編集ではない場合は、編集前の画像データと編集後の画像データとは同一内容となっているため、Ｓ２１０においては、アプリケーションマーカ部分から画像データを取得することは必須ではなく、圧縮データ部分から編集後の画像データを取得するようにしてもよい。Ｓ２０５において、再編集であると判別されたときには、サムネイルデータファイル１１ｂ２の圧縮データ部分から編集後の画像データを取得する（Ｓ２１５）。
ＣＰＵ１５は、取得した画像データに基づいて表示部１２にサムネイル画像を表示する（Ｓ２２０）。また、ここでは、画像の表示とともに編集開始指示を受け付けるためのＵＩも表示する。
【００３１】
図５は、携帯電話１０において編集を行う際に表示部１２で表示する画面の例を示す図である。同図においては、再編集である場合に表示部１２に表示されるサムネイル画像の例を（ａ）として示している。図５（ａ）においては、画面の中央に編集前の画像データに基づく画像が表示され、左下に編集開始指示を受け付けるための編集ボタンが表示されている。なお、かかる編集ボタンは、編集前の画像データに基づく画像を表示する場合でも表示される。編集後の画像データにおいては、図５（ａ）にて破線で示す文字枠において何らかの文字が表示される。なお、図５（ａ）では理解の容易のために文字枠を破線で示しているが、実際の表示画面において破線は表示されない。すなわち、編集前または編集後の画像データは印刷画像のプレビューであり、印刷時に文字枠は印刷しないため、文字枠を明示的に示していない。
【００３２】
また、図５（ａ）において左下に示す編集ボタンは入力ボタン１３のいずれかに対応しており、ＣＰＵ１５は、この編集ボタンによる編集開始指示を受け付けたか否かを判別している（Ｓ２２５）。すなわち、図５（ａ）のような画面表示を行っている状態で、ＣＰＵ１５は上記編集ボタンに対応した入力ボタン１３の操作を受け付けたか否かを判別している。
【００３３】
Ｓ２２５にて編集開始指示を受け付けたと判別されたときには、ＣＰＵ１５は、Ｓ２３０において、上記選択したパッケージファイル１１ｂに含まれるスクリプトファイル１１ｂ１を対象としたデータファイル解析処理を実行する。ここでいう解析処理とは、上述したようにタグを用いて記述されているスクリプトファイル１１ｂ１に基づいて、以後における編集画面の表示処理やレイアウト上に配置可能な文字の編集処理等の際に参照して好適なデータベース（ＤＢ）３０を生成する処理を指す。
【００３４】
図６は、ＣＰＵ１５がスクリプトファイル１１ｂ１を解析して生成したＤＢ３０を示している。
同図に示すように、ＤＢ３０は、スクリプトファイル１１ｂ１の各行毎に、タグ名と、属性と、属性値のアドレス情報とを抽出して生成した情報テーブルである。ＤＢ３０は、特許請求の範囲に言う解析結果データに対応する。図３のスクリプトファイル１１ｂ１に基づいてＤＢ３０を生成した場合、図６に示すように、ｎ１行目のタグ名「ｍｅｔａ」に対応した情報として、属性「ｎａｍｅ」とその属性値のアドレス情報「ｎ１行目，１２文字目」、および属性「ｃｏｎｔｅｎｔ」とその属性値のアドレス情報「ｎ１行目，２６文字目」が記録される。また、ｎ２行目のタグ名「住所」に対応した情報として、属性「Ｚｉｐｃｏｄｅ」とその属性値のアドレス情報「ｎ２行目，１３文字目」、および属性「Ａｄｄｒｅｓｓ」とその属性値のアドレス情報「ｎ２行目，３２文字目」が記録される。
【００３５】
アドレス情報とは、スクリプトファイル１１ｂ１中での各属性値の文字列の記述位置を特定する情報である。より具体的には、属性値の文字列が何行目の何文字目に記述されているかを示す情報である。属性「ｎａｍｅ」の属性値「ａａａ」に注目すると、図３によればその文字列は、ｎ１行目のタグにおいて、頭文字が１２文字目（左アンクルブラケットの次から数えた場合。またスペースも１文字とする。）に記述されている。従って、属性「ｎａｍｅ」の属性値のアドレス情報は上記「ｎ１行目，１２文字目」となる。同様に、属性「ｃｏｎｔｅｎｔ」の属性値「ｂｂｂ」は、ｎ１行目のタグにおいて頭文字が２６文字目に記述されている。そのため、属性「ｃｏｎｔｅｎｔ」の属性値のアドレス情報は上記「ｎ１行目，２６文字目」となる。
【００３６】
むろん、図６に示すアドレス情報「ｎ２行目，１３文字目」は、属性「Ｚｉｐｃｏｄｅ」の属性値「１２３‐４５６７」の頭文字の記述位置であり、アドレス情報「ｎ２行目，３２文字目」は、属性「Ａｄｄｒｅｓｓ」の属性値「長野県塩尻市」の頭文字の記述位置である。
従って、アドレス情報に基づいてスクリプトファイル１１ｂ１からある属性の属性値を読み出す場合には、アドレス情報が指し示す位置から次の「”」の前まで連続する文字列を読み出せばよい。
【００３７】
なお上記においてアドレス情報は、各属性値の文字列の頭文字の位置を定義しているが、かかる定義に限定されるものではない。ここで、各属性値の文字列は「”」によって前後を挟まれているので、アドレス情報は、属性の後の「＝（イコール）」の後に記述されている「”」の位置を示すものとしてもよい。この場合、アドレス情報に基づいてある属性の属性値を読み出す場合には、アドレス情報が指し示す位置から次の「”」までの間に連続している文字列を読み出せばよい。
さらに、アドレス情報はスクリプトファイル１１ｂ１中での各属性値の文字列の記述位置を特定可能な情報であればよい。つまり、上記のように「何行目，何文字目」という情報形態に限る必要はなく、例えば、スクリプトファイル１１ｂ１の先頭文字（例えば、最上行の最も左の文字）から所定の走査順で数えて何文字目かを示す数字をアドレス情報としてもよい。
【００３８】
ここで、スクリプトファイル１１ｂ１を解析して上記のようなＤＢ３０を生成する処理について詳述する。図８は、Ｓ２３０における処理内容の一例をフローチャートにより示している。
Ｓ３００においては、ＣＰＵ１５は、スクリプトファイル１１ｂ１の各行のうち検索対象とする一つの行（対象行）を設定する。基本的には、最上行から最下行に向かって順に設定していけばよいが、特定の順序に従ったりあるいはランダムな順序で一つの対象行を決定してもよい。
【００３９】
Ｓ３１０では、上記設定した対象行中に記述されている「＜」の位置を特定する。対象行中の「＜」の位置を特定することで、以後において、属性値の文字列の記述位置を特定することができる。
Ｓ３２０では、上記特定した「＜」から右方向に向かって走査を行い、その行に記述されている属性を全て検索する。例えば、対象行がｎ１行目であれば、属性「ｎａｍｅ」および属性「ｃｏｎｔｅｎｔ」の文字列が発見されることになる。Ｓ３３０では、属性を発見したか否か判断しており、発見を完了した場合に、Ｓ３４０の処理に進む。
【００４０】
Ｓ３４０においては、ＣＰＵ１５は、「＜」の次の文字位置から上記発見した各属性に対応する属性値の頭文字位置（属性「ｎａｍｅ」に対応する属性値「ａａａ」の頭文字位置および、属性「ｃｏｎｔｅｎｔ」に対応する属性値「ｂｂｂ」の頭文字位置）までの文字数をそれぞれカウントする。
Ｓ３５０では、上記対象行のタグ名を取得する。ｎ１行目であれば、タグ名「ｍｅｔａ」の文字列を取得する。
以上の処理によって、ある対象行における、タグ名と属性と属性値の当該行における記述位置とが取得できたことになる。
【００４１】
Ｓ３６０では、ＣＰＵ１５は、スクリプトファイル１１ｂ１を構成する全行についてＳ３５０までの処理を行ったか否か判断し、未処理の行が残存する場合にはＳ３００に戻り、対象行を変更した上でＳ３５０までの処理を繰り返す。一方、全行についてＳ３５０までの処理を行ったと判断した場合は、Ｓ３７０の処理に進む。
Ｓ３７０においては、ＣＰＵ１５は、上記の処理によって取得した各行についての情報を用いてＤＢ３０を構築する。つまり、各行毎にタグ名と属性と属性値のアドレス情報とを記録した図３に示すようなＤＢ３０を生成する。むろん、アドレス情報は、各行の行番号とＳ３４０においてカウントして得た記述位置によって構成する。
【００４２】
このように本発明では、タグを利用して属性と属性値との組み合わせによって印刷画像のレイアウトの各種パラメータを記述するスクリプトファイル１１ｂ１の解析結果として、属性とその属性値の文字列そのものとではなく、属性とその属性値のアドレス情報とを抽出し、それらによってＤＢ３０を構成する。ただし本実施形態では、ＤＢ３０を生成する場合に、属性値としての文字列そのものを構成要素に加えることを完全に禁止しているわけではなく、ある条件の下、属性値の文字列についてもスクリプトファイル１１ｂ１から抽出しＤＢ３０に加えている。かかる条件については後述する。
【００４３】
Ｓ２３５においては、ＣＰＵ１５は、上記のように生成したＤＢ３０を所定の記録領域に保存する。本実施形態では、ＤＢ３０はワークメモリ１９に保存する。以降においては、ＣＰＵ１５は、ＤＢ３０を参照することにより、スクリプトファイル１１ｂ１にアクセスすることが可能となる。
Ｓ２４０においては、ＣＰＵ１５は、スクリプトファイル１１ｂ１にアクセスして所定の編集画面を表示するために必要なデータを読み出し、同読み出したデータに基づいた編集画面の表示を同表示部１２に実行させる。つまり、ＣＰＵ１５は、ＤＢ３０を参照して各タブにおける属性と属性値のアドレス情報との対応関係を取得し、同対応関係に基づいて、スクリプトファイル１１ｂ１中から必要とする属性値を読み出し、同読み出した属性値に基づいて編集画面を表示させる。
【００４４】
ＣＰＵ１５は、編集画面を表示する際に、スクリプトファイル１１ｂ１から、各文字枠に対応した項目名を表示するためのデータである属性値や、各文字枠の文字数を規定したデータである属性値などを読み出すことにより、図５（ｂ）に示すような編集画面を表示部１２に表示させる。同図においては、編集画面は、画像に配置する文字を入力させるための複数の入力ボックスを、各入力ボックスの項目名とともに表示する。ここでは、「郵便番号」「住所」「名前」の各項目名とともに、郵便番号、住所、名前をそれぞれ入力させるための入力ボックスを表示している。
【００４５】
なお、ＣＰＵ１５は、上記編集画面を表示させる場合、ＤＢ３０を参照して属性「Ｚｉｐｃｏｄｅ」や属性「Ａｄｄｒｅｓｓ」など、編集画面の入力ボックスを介して入力される文字データに対応する属性について、アドレス情報を取得するとともに、同アドレス情報によってスクリプトファイル１１ｂ１に記述されている属性値を読み出し、同読み出した属性値の文字列に基づく表示を上記入力ボックス内に行う。本実施形態では、スクリプトファイル１１ｂ１の属性「Ｚｉｐｃｏｄｅ」や属性「Ａｄｄｒｅｓｓ」について、既に具体的な意味を持つ属性値が記述されている状態であるため、スクリプトファイル１１ｂ１は少なくとも一度は上記編集画面を介しての編集を施されている。従って、Ｓ２４０において表示する編集画面の各入力ボックスには、郵便番号「１２３‐４５６７」や住所「長野県塩尻市」などが表示される。なお、初編集前の状況では、ＣＰＵ１５は、空の入力ボックスを表示部１２に表示させることになる。
【００４６】
この編集画面において、ＣＰＵ１５は、入力ボタン１３による入力ボックスの指示および文字の入力を受け付けており（Ｓ２４５）、また、入力ボタン１３によって文字入力の終了指示がなされたか否かを判別している（Ｓ２５０）。本実施形態では、入力ボックスにおいて上記文字数を超える文字を受け付けないようにしており、これによって文字枠内に収まる範囲内で文字を編集できるようにしている。利用者が入力ボタン１３の操作によって新たな郵便番号などを入力した場合、ＣＰＵ１５は、図５の（ｂ）に示した入力ボックス中のそれまでの郵便番号等を消去し、新たな郵便番号等を同入力ボックスに表示する。
【００４７】
Ｓ２５０にて文字入力の終了指示がなされたと判別されると、ＣＰＵ１５は、その時点で入力されていた各項目への文字にて入力内容を確定し、その入力内容を示す文字列（新たな文字列）によって、スクリプトファイル１１ｂ１中の書き換え可能な所定の属性値を更新する（Ｓ２５５）。かかる更新処理を行うに際しても、ＣＰＵ１５はＤＢ３０を参照する。すなわち、ＤＢ３０を参照することにより、そのとき書き換え対象としている属性値のアドレス情報を属性との対応関係から認識し、そのアドレス情報によってスクリプトファイル１１ｂ１における書き換え対象としている属性値の記述位置を特定し、同特定した位置に記述されている属性値（文字列）を上記新たな文字列によって書き換える。
【００４８】
例えば、図３に示した、スクリプトファイル１１ｂ１のタグ名「住所」の行に記述されている属性値を書き換える場合について説明する。スクリプトファイル１１ｂ１に記述されている各属性値は、携帯電話１０の操作において書き換え可能なものと書き換え不能なものとがあるが、タグ名「住所」の行に記述されている二つの属性値はいずれも、上記編集画面を介した入力作業によって書き換え可能な部類に属する。
【００４９】
上記編集画面を介して、新たな郵便番号が入力された場合、ＣＰＵ１５は、ＤＢ３０を参照して、タグ名「住所」における属性「Ｚｉｐｃｏｄｅ」に対応して記録されているアドレス情報「ｎ２行目，１３文字目」を取得し、このアドレス情報によってスクリプトファイル１１ｂ１中の一つの位置を特定する。その結果、ｎ２行目における「＜」の次から数えて１３文字目の位置が特定できるため、同特定した位置から「”」が記述されている位置の前まで連続する文字列（この場合、１２３‐４５６７）を、新たな郵便番号（例えば、４５６‐７８９００）を示す文字列によって書き換える。
【００５０】
また、上記編集画面を介して、新たな住所が入力された場合、ＣＰＵ１５は、ＤＢ３０を参照して、タグ名「住所」における属性「Ａｄｄｒｅｓｓ」に対応して記録されているアドレス情報「ｎ２行目，３２文字目」を取得し、このアドレス情報によってスクリプトファイル１１ｂ１中の一つの位置を特定する。ただしこの場合、同じ行に記述されている属性「Ｚｉｐｃｏｄｅ」の属性値が既に書き換えられている。そのため、かかる書き換えによって属性「Ｚｉｐｃｏｄｅ」の属性値の文字数が変動している場合（例えば、１文字増加している場合）には、ＣＰＵ１５は、その変動数に応じてアドレス情報のうち文字数を表す箇所を変更（３２に１を足す）し、同変更後のアドレス情報によって位置を特定する。その結果、属性「Ａｄｄｒｅｓｓ」の属性値の文字列の頭文字位置が正確に特定できるため、同特定した位置から「”」が記述されている位置の前まで連続する文字列（この場合、長野県塩尻市）を、新たな住所（例えば、東京都新宿区）を示す文字列によって書き換える。
【００５１】
Ｓ２６０では、ＣＰＵ１５は、上記文字列の書き換えに応じてアドレス情報の変更の必要が生じた場合に、ＤＢ３０に記録してあるアドレス情報を更新する。つまり、上記のように書き換え対象とした属性値としての文字列の書き換え前後における文字数が変動した場合には、同じ行であってその文字列以後に記述されている他の属性値としての文字列の記述位置がずれることとなる。そのため、かかるずれに応じて、ＤＢ３０に記録している所定の属性値のアドレス情報を更新する（アドレス情報のうち文字数を表す箇所の数字を増減させる）。かかる更新をすることで、以降においてＤＢ３０を参照した場合に、スクリプトファイル１１ｂ１中に記述されている各属性値の記述位置を正確に特定することができる。
【００５２】
Ｓ２６５では、上記スクリプトファイル１１ｂ１の書き換えに応じて、サムネイルデータファイル１１ｂ２の内容を書き換える。すなわち、スクリプトファイル１１ｂ１は画像のレイアウトを規定しており、上述のようなスクリプトファイル１１ｂ１の更新により、携帯電話１０において表示すべきサムネイル画像のレイアウトも変更されることになる。そこで、Ｓ２６５においては、ＣＰＵ１５は、編集後の画像データを作成し、同生成した編集後の画像データによってサムネイルデータファイル１１ｂ２を一部更新する。
【００５３】
Ｓ２６５における処理を詳述すると以下のようになる。ＣＰＵ１５は、サムネイルデータファイル１１ｂ２のアプリケーションマーカ部分から編集前の画像データを読み出すとともに、ＤＢ３０を参照して取得した各属性とアドレス情報とをもとに、スクリプトファイル１１ｂ１にアクセスし、同スクリプトファイル１１ｂ１から、文字枠の位置、各文字枠への入力文字、文字の大きさ、印刷用紙の大きさ等の内容を示すデータを読み出す。これらのデータはそれぞれに、所定の属性に対応付けられて属性値としてスクリプトファイル１１ｂ１に記述されている。
【００５４】
このように必要な情報を読み出したら、ＣＰＵ１５は、上記画像データ上における各文字枠の位置を特定し、この特定した位置に上記編集画面を介して受け付けた各文字枠への入力文字を配置する。このとき、配置する文字については、スクリプトファイル１１ｂ１に記述していた上記文字の大きさ（フォントサイズ）を所定の縮小比（印刷用紙の大きさと表示部１２が表示する画像のサイズとの比）で縮小した大きさにて配置する。この結果、上記編集画面を介して入力した文字が適正な大きさで適正な位置に配置された場合の画像のプレビュー画像が作成されることになるので、この画像データを新たな編集後の画像データとし、上記サムネイルデータファイル１１ｂ２を更新する（サムネイルデータファイル１１ｂ２の圧縮データ部分に既に記録してある編集後の画像データを新たな編集後の画像データによって書き換える。）。
【００５５】
なお、スクリプトファイル１１ｂ１に記述されている属性値は、図６の「ａａａ」の表示のように、ＤＢ３０にも記述する場合がある。本発明では、ＤＢ３０には属性値自体は記録しないのが基本であるが、書き換え対象とはならず読み出し専用であるという条件と文字数自体がある基準数よりも少ないという条件とのいずれか一方または両方を備える属性値については、例外的に、ＤＢ３０に記録することを許容している。つまり、読み出されるだけの属性値であれば、同読み出しの際にＤＢ３０を参照した後にスクリプトファイル１１ｂ１にアクセスする手順が無駄であるため、ＤＢ３０に記録しておき、読み出しにかかる時間を短縮する。また、文字数が少ない属性値であればワークメモリ１９の浪費という問題も少ないため、ＤＢ３０に記録してもよい。ＤＢ３０に記録されている属性値については、上記においてスクリプトファイル１１ｂ１から属性値を読み出すとしている場面においても、ＣＰＵ１５はＤＢ３０から読み出すものとする。
さらには、上記のような書き換え対象とはならず読み出し専用の属性値については、ＤＢ３０にその文字列自体を記録するとともに、そのアドレス情報は記録しないとしても良い。
【００５６】
以上の処理により、スクリプトファイル１１ｂ１とサムネイルデータファイル１１ｂ２の更新が終了する。なお、印刷用データファイル１１ｂ３についても、スクリプトファイル１１ｂ１とサムネイルデータファイル１１ｂ２の更新内容に応じて、その内容を更新するとしてもよい。
【００５７】
Ｓ２７０においては、ＣＰＵ１５は、入力ボタン１３を介して、パッケージファイル１１ｂに対する編集処理を繰り返す指示（再編集指示）を受け付けたか否か判断する。つまり、上記編集画面を表示して各項目に対する文字の入力を受付てスクリプトファイル１１ｂ１とサムネイルデータファイル１１ｂ２の更新を済ませた後に、再度、同じパッケージファイル１１ｂを選択した状態にて利用者が上記編集を希望した場合には上記再編集指示が入力されるため、ＣＰＵ１５は、同再編集指示に応じてＳ２１５以下の処理を繰り返す。Ｓ２７０において、再編集指示を受け付けたと判断されない場合は、当該フローチャートを終了する。
【００５８】
図７は、サムネイル画像の変移の様子を説明するための説明図である。
同図（ａ）においては、一度も編集を行っていないときの画像を表示している表示部１２の画面を示している。この画面は、Ｓ２０５にて再編集であると判別されなかったときにＳ２２０にて表示される画面であり、サムネイルデータファイル１１ｂ２における編集前の画像データに基づいて表示される画面を示している。
【００５９】
図７（ｂ）は、この編集前の画像データについてＳ２２５〜Ｓ２６５の処理に基づいて編集を行った後に表示部１２に表示される画面を示している。すなわち、一旦編集を行った後に、再度の編集を行う場合、Ｓ２１５にて編集後の画像データが取得されるので、表示部１２には編集後の画像が表示される。
【００６０】
以上のように、編集前には図７（ａ）が表示されることによって、利用者は画像が未編集であることを容易に判定することができるし、編集後には図７（ｂ）が表示されることによって、利用者は画像が編集済みであることを容易に判定することができる。
図７（ｃ）は、図７（ｂ）に示す状態から更に再編集を行った場合に表示部１２にて表示される画面を示している。この場合、Ｓ２２５〜Ｓ２６５の処理によって、受け付けた文字をサムネイル画像に配置した状態の画像データが作成されることになるが、このとき、上述したようにＳ２６５において、サムネイルデータファイル１１ｂ２から編集前の画像データを抽出し、この画像データに対して上記縮小後の文字を配置する。従って、この編集の直前に、編集後の画像が図７（ｂ）のようになっていたとしても、図７（ｂ）にて配置されている文字を削除し、また、配置前の画像を再描画することなく、単に編集前の画像に上記縮小後の文字を配置するのみで新たな編集後の画像データを作成することができる。
【００６１】
（４）まとめ
このように本発明においては、携帯電話１０におけるパッケージファイル１１ｂの編集処理に際し、同パッケージファイル１１ｂの一部を構成するスクリプトファイル１１ｂ１を解析して、各タグ毎に属性とその属性値のアドレス情報とを抽出してＤＢ３０を生成し、このＤＢ３０をワークメモリ１９に保存するとした。よって、従来のパーサが行っていたような、各タグ毎の属性とその属性値の文字列そのものを抽出してメモリに記録していた場合と比較して、ワークメモリ１９におけるメモリ資源の消費を大きく低減することができる。
【００６２】
特に、スクリプトファイル１１ｂ１に記述されている属性値の文字数が多い場合には、これを直接にワークメモリ１９に記録することはメモリ資源の消費が大きくなってしまうが、本発明の構成を用いることで、もともとリソースの少ない携帯電話１０という機器において、確実にメモリ消費の抑制を図ることができる。
【００６３】
また、上記編集においてスクリプトファイル１１ｂ１のある文字列（属性値）を書き換える場合、従来においては、スクリプトファイル１１ｂ１の中から書き換え対象とした文字列と一致するものを探す検索処理を実行する必要があり、かかる検索処理はＣＰＵ１５にとって大きな負担であった。しかし本発明では、上記のような検索処理は不要であり、ＤＢ３０に記録したアドレス情報に基づいて、スクリプトファイル１１ｂ１中の書き換え対象とした文字列を直ちに特定できるため、同書き換え処理を格段に高速化することができる。
【図面の簡単な説明】
【００６４】
【図１】携帯電話の構成を示す概略ブロック図である。
【図２】パッケージファイルの一例を示す図である。
【図３】スクリプトファイルのデータ構造を示す図である。
【図４】携帯電話による編集処理を示すフローチャートである。
【図５】表示部で表示する画面の例を示す図である。
【図６】データベースを示す図である。
【図７】サムネイル画像の変移の様子を説明するための説明図である。
【図８】スクリプトファイルの解析およびＤＢの生成処理を示したフローチャートである。
【符号の説明】
【００６５】
１０…携帯電話、１１…リムーバブルメモリ、１１ａ…リムーバブルメモリＩ／Ｆ、１１ｂ…パッケージファイル、１１ｂ１…スクリプトファイル、１１ｂ２…サムネイルデータファイル、１１ｂ３…印刷用データファイル、１２…表示部、１３…入力ボタン、１４…通信部、１５…ＣＰＵ、１６…ＲＯＭ、１７…ＲＡＭ、１９…ワークメモリ、３０…データベース（ＤＢ）
【図１】
2007102368.tif 000003
【図２】
2007102368.tif 000004
【図３】
2007102368.tif 000005
【図４】
2007102368.tif 000006
【図５】
2007102368.tif 000007
【図６】
2007102368.tif 000008
【図７】
2007102368.tif 000009
【図８】
2007102368.tif 000010