(57)【特許請求の範囲】
【請求項１】
文書データに含まれるテキストに関するサブセットフォントを生成する第１の生成手段と、
前記文書データに含まれるテキストに対して指定されている指定フォント名と、当該指定フォント名が属するフォントファミリ名とに関する情報を、前記文書データに追加する追加手段と、
前記指定フォント名とフォントファミリ名とが追加された文書データと、前記生成されたサブセットフォントとを、クライアントに送信する送信手段と、
を有し、
前記追加手段は、前記クライアントにおいて、前記サブセットフォントにグリフが含まれていない文字の追加が前記文書データに対して行われた場合に、前記指定フォント名もしくは前記フォントファミリ名のいずれかに対応するフォントを用いて当該追加された文字が表示されるように、前記指定フォント名と当該指定フォント名が属するフォントファミリ名とに関する情報を、前記文書データに追加することを特徴とするデータ生成装置。
【請求項２】
前記追加手段は、前記サブセットフォント、前記指定フォント名に対応するフォント、前記フォントファミリ名に対応するフォント、の順で使用される際の優先順位がつくように、前記指定フォント名と前記フォントファミリ名とに関する情報を、前記文書データに追加することを特徴とする請求項１に記載のデータ生成装置。
【請求項３】
フォーム情報とフィールドデータとをオーバレイ処理することにより、前記文書データを生成する第２の生成手段を更に有し、
前記指定フォント名は、前記フォーム情報の対象フィールドで指定されているフォント名であることを特徴とする請求項１または２に記載のデータ生成装置。
【請求項４】
前記フォントファミリ名は、一般フォントファミリ名であることを特徴とする請求項１乃至３のいずれか１項に記載のデータ生成装置。
【請求項５】
前記文書データは、ＳＶＧ形式であることを特徴とする請求項１乃至４のいずれか１項に記載のデータ生成装置。
【請求項６】
前記指定フォント名とフォントファミリ名とが追加された文書データと、前記生成されたサブセットフォントと、前記文書データをウェブブラウザ上で表示し編集するためのプログラムとを含むウェブアプリケーションを生成する第３の生成手段を更に有し、
前記送信手段は、前記第３の生成手段で生成されたウェブアプリケーションをクライアントに送信することを特徴とする請求項１乃至５のいずれか１項に記載のデータ生成装置。
【請求項７】
前記クライアントにおいて前記サブセットフォントにグリフが含まれていない文字の追加が行われた後の文書データを、前記クライアントから受信した場合、当該受信した文書データに基づいてサブセットフォントの再生成を行う第４の生成手段を更に有することを特徴とする請求項１乃至６のいずれか１項に記載のデータ生成装置。
【請求項８】
前記クライアントにおいて前記サブセットフォントにグリフが含まれていない文字の追加が行われた後の文書データを、前記クライアントから受信した場合、当該受信した文書データに追加された文字についてのサブセットフォントの生成を行う第５の生成手段を更に有することを特徴とする請求項１乃至６のいずれか１項に記載のデータ生成装置。
【請求項９】
コンピュータを、請求項１乃至８のいずれか１項に記載のデータ生成装置の各手段として機能させるためのコンピュータプログラム。
【請求項１０】
装置の生成手段が、文書データに含まれるテキストに関するサブセットフォントを生成する生成ステップと、
前記装置の追加手段が、前記文書データに含まれるテキストに対して指定されている指定フォント名と、当該指定フォント名が属するフォントファミリ名とに関する情報を、前記文書データに追加する追加ステップと、
前記装置の送信手段が、前記指定フォント名とフォントファミリ名とが追加された文書データと、前記生成されたサブセットフォントとを、クライアントに送信する送信ステップと、
を有し、
前記追加ステップでは、前記クライアントにおいて前記サブセットフォントにグリフが含まれていない文字の追加が前記文書データに対して行われた場合に前記指定フォント名もしくは前記フォントファミリ名のいずれかに対応するフォントを用いて当該追加された文字が表示されるように、前記指定フォント名と当該指定フォント名が属するフォントファミリ名とに関する情報を、前記文書データに追加することを特徴とするデータ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示・編集に適した文書データの生成に関するものである。
【背景技術】
【０００２】
帳票の定型部分を示すフォーム情報に、各帳票のデータ（例えばテキスト形式のフィールドデータ）を重ね合わせること（オーバレイ処理）により帳票文書データを生成し、当該生成された帳票文書データを印刷することが行われている。また、クラウドコンピューティングシステムのサーバ（帳票生成サーバ）に、該帳票文書データを生成する機能（オーバレイ処理機能）を持たせた帳票生成システムも考えられている。このようなシステムにおいて、クライアントコンピュータは、ウェブブラウザ等を利用して該帳票生成サーバにアクセスして、帳票文書データの生成指示を行うことができる。そして、クライアントコンピュータのウェブブラウザは、当該生成された帳票文書データ（例えばＰＤＦ形式の帳票文書データ）をサーバから受信してプレビュー表示を行った後、印刷を行うことができる。
【０００３】
また、帳票文書データ（例えば、ＰＤＦ形式の帳票文書データ）を生成する際、当該帳票文書データにフォントを埋め込んでおけば、どのクライアントでも同じフォントで表示させることができる。このとき、埋め込むフォントのデータサイズを小さくするために、その文書データで使用されている文字のフォントデータだけを抜き出したサブセットフォントを埋め込む技術も一般的に知られている。なお、全ての文字のグリフを含むフォントデータを埋め込む（すなわち、フォントをフルエンベッドする）ことも可能であるが、日本語フォントなどの文字数が多い言語では埋め込みフォントのデータサイズが大きくなってしまうので、ネットワーク環境下では好ましくない。
【０００４】
特許文献１では、原稿エディタで文書のテキスト編集を終了して保存する際に、ダイアログを表示して、ユーザに追加のサブセットフォントを埋め込むかどうか選択させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１０７０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方で、ウェブブラウザにおいて、帳票文書データをプレビュー表示（閲覧）するだけではなく、当該表示した帳票文書データ上で誤字の修正等の編集を行い、当該編集後に印刷するような利用ケースも望まれている。本出願人は、生成した帳票文書データ（例えばＰＤＦ形式の帳票文書データ）を、ウェブブラウザで編集可能なフォーマット（例えばＳＶＧ形式のフォーマット）に変換することにより、ウェブブラウザで編集を行えるようにすることを考えている。しかしながら、サブセットフォントが埋め込まれた帳票文書データをウェブブラウザ上で編集したときに、当該編集で新たに追加された文字のグリフがサブセットフォントに含まれない場合、当該追加された文字はウェブブラウザのデフォルトのフォントで表示されてしまう。すなわち、ウェブブラウザを用いて帳票文書データの編集を行うと、埋め込みフォント（例えば明朝体のフォント）とブラウザのデフォルトフォント（例えばゴシック体のフォント）とが混在して表示されることになり、違和感が大きくなってしまう。
【０００７】
本発明は上記課題を鑑みてなされたものであり、文書データに埋め込むサブセットフォントのサイズを小さくしつつ、文書データを編集する際にも違和感が小さくなる文書データを生成することを目的にする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のデータ生成装置は、文書データに含まれるテキストに関するサブセットフォントを生成する第１の生成手段と、前記文書データに含まれるテキストに対して指定されている指定フォント名と、当該指定フォント名が属するフォントファミリ名とに関する情報を、前記文書データに追加する追加手段と、前記指定フォント名とフォントファミリ名とが追加された文書データと、前記生成されたサブセットフォントとを、クライアントに送信する送信手段と、を有し、前記追加手段は、前記クライアントにおいて、前記サブセットフォントにグリフが含まれていない文字の追加が前記文書データに対して行われた場合に、前記指定フォント名もしくは前記フォントファミリ名のいずれかに対応するフォントを用いて当該追加された文字が表示されるように、前記指定フォント名と当該指定フォント名が属するフォントファミリ名とに関する情報を、前記文書データに追加することを特徴とする。
【発明の効果】
【０００９】
本発明により、文書データの編集を行っている間に、サブセットフォントに無い文字が追加されたとしても、表示の違和感が軽減される。
【図面の簡単な説明】
【００１０】
【図１】本実施形態のシステム構成例
【図２】本実施形態のハードウェア構成例
【図３】帳票生成サーバ上で動作するソフトウェアモジュールの構成例
【図４】フォーム情報ファイルの構成例
【図５】オーバレイ出力処理の例
【図６】帳票閲覧画面を生成する処理のシーケンス図
【図７】オーバレイ出力処理フロー
【図８】帳票閲覧画面の例
【図９】帳票閲覧画面上で行う編集処理のフロー
【図１０】保存処理のシーケンス図
【図１１】第２の実施例における保存処理におけるテキスト要素分割フロー
【発明を実施するための形態】
【００１１】
（実施例１）
最初に、一般的なオーバレイ印刷（オーバレイ出力）について説明する。オーバレイ印刷とは、原稿の枠線などの定型の部品を記録したフォーム情報と、テキスト形式の可変データ（フィールドデータ）とを重ねあわせて帳票文書データを生成して印刷することである。例えば、プリンタ（またはプリントサーバ）にフォーム情報を予め登録しておく（フォーム登録）。そして、複数の帳票それぞれの記載内容を示すフィールドデータを、該プリンタまたはプリントサーバに送信し、該プリンタまたはプリントサーバにおいて、登録済みのフォーム情報と各フィールドデータとを重ねあわせて帳票文書データを生成して印刷する。このようにフォーム情報とフィールドデータを重ねあわせて生成した帳票文書データを出力（または印刷）することをオーバレイ出力（またはオーバレイ印刷）と定義している。オーバレイした結果を紙に印刷出力するのではなく、仮想プリンタを使用することによりオーバレイの結果を電子ファイルとして電子出力することも可能である。
【００１２】
図１は、本実施形態のシステム構成例を示す図である。図１に示すシステムは、帳票生成サーバ１０１とクライアント装置１０２とがネットワーク１００を介して接続されたシステムである。ネットワーク１００は、例えば、インターネット等のＷＡＮ、ＬＡＮ、電話回線などの各種通信回線であり、帳票生成サーバ１０１とクライアント装置１０２とを通信可能に接続させるためのものである。
【００１３】
帳票生成サーバ（文書データ生成装置）１０１は、クライアント装置１０２からのリクエストを受信すると、オーバレイ出力処理、並びに電子帳票閲覧プログラムの生成処理を実行する。すなわち、帳票生成サーバ１０１は、フィールドデータとフォーム情報とを重ね合わせて帳票文書ページ（印刷ページ）を生成し、仮想プリンタに指示して当該生成された印刷ページを第１のフォーマット（例えばＰＤＦ形式）の帳票文書ファイルとして生成する。そして、当該生成された第１のフォーマットの帳票文書ファイルを、ウェブブラウザでの編集に適した第２のフォーマット（例えばＳＶＧ形式）のファイルに変換する。さらに、帳票生成サーバ１０１は、第２のフォーマットの帳票文書ファイルを用いて、ウェブブラウザ上でその帳票を閲覧及び編集できる帳票閲覧プログラムを生成する。本実施例の帳票閲覧プログラムとは、ウェブブラウザ上で動作するウェブアプリケーションである。ここで、ウェブアプリケーションとは、ウェブページを表現するマッシュアップ言語（ＨＴＭＬ）及びウェブブラウザ上で動作するプログラミング言語（ＪａｖａＳｃｒｉｐｔ（登録商標））により動作するアプリケーションのことを示す。帳票閲覧プログラムによりウェブブラウザ上で帳票を表示する画面を、以下では、帳票閲覧画面とも呼ぶ。
【００１４】
なお、本実施例では、帳票生成サーバ１０１でウェブアプリケーションを生成する例について説明するが、これに限るものではない。例えば、帳票生成サーバ１０１が帳票文書データ及びフィールド間の計算条件等のファイルのみを生成し、クライアント装置１０２でこれらのファイルを使用して後述する帳票閲覧を行うような構成でも良い。
【００１５】
図２は、帳票生成サーバ１０１またはクライアント装置１０２として機能させることが可能な情報処理装置のハードウェア構成例を示すブロック図である。ＣＰＵ２０１は、内部バスで接続される各デバイス（後述のＲＯＭ、ＲＡＭなど）を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行する中央処理制御部である。ＲＯＭ２０２にはＢＩＯＳが格納されている。ＲＡＭ２０３は、ＣＰＵ２０１のワーク領域として利用されたり、本発明を実現するためのソフトウェアモジュールをロードするための一時記憶領域として利用されたりするメモリである。２０４は、ＯＳやソフトウェアモジュールが記憶されているＨＤＤ（ハードディスクドライブ）、もしくはＳＳＤ（ソリッドステートドライブ）などの大容量記憶装置である。入力装置２０５はキーボードやポインティングデバイスなどであり、ユーザからの指示が入力される。２０６は、ディスプレイなどの出力装置である。２０７は、ネットワーク１００に接続するためのネットワークＩ／Ｆである。
【００１６】
図２の情報処理装置のＣＰＵ２０１は、ＨＤＤ２０４からＲＡＭ２０３にＯＳをロードして実行することにより起動する。その後、ＣＰＵ２０１は、後述する各種ソフトウェアモジュール（コンピュータプログラム）をＨＤＤ２０４からＲＡＭ２０３にロードして実行する。すなわち、該コンピュータプログラムは、コンピュータ（ＣＰＵ）を、後述する各ステップを実行するための処理部として機能させるためのプログラムである。
【００１７】
図３は、帳票生成サーバ１０１上で動作するソフトウェアモジュールによって実現される各処理部の構成例を示す図である。
【００１８】
アクセス制御部３０１は、クライアント装置１０２からのリクエストを受信する。ページ生成部３０２は、クライアント装置１０２にレスポンスを返すためのＷｅｂページを生成する。本実施例では、帳票閲覧プログラムであるウェブアプリケーションを構成するためのＨＴＭＬやＪａｖａＳｃｒｉｐｔ（登録商標）などのファイルも、ページ生成部３０２で生成され、クライアント装置１０２に返すものとする。
【００１９】
帳票生成部３０３は、アクセス制御部３０１が受信したフォーム情報ファイル内のフォーム情報と、フィールドデータファイル内のフィールドデータとを重ね合わせて、帳票ページ（例えばＰＤＦ形式の帳票文書データ）を生成する。具体的には、フォーム情報とフィールドデータをオーバレイ処理することにより印刷データを生成し、当該生成した印刷データに対して仮想プリンタを利用して電子ファイル化することにより、ＰＤＦ形式の帳票ページ（帳票文書データ）を生成する。
【００２０】
ファイル変換部３０４は、帳票生成部３０３で生成した帳票ページ（例えばＰＤＦ形式）と、ウェブブラウザで編集可能な形式（例えばＳＶＧ形式）のファイルの相互変換を行う。
【００２１】
図４は、フォール情報ファイル４０１の構成を示す図である。フォーム情報ファイル４０１は、専用のフォーム情報設計システムを利用して作成することができる。フォーム情報は、フィールドデータに依存せずに出力される固定的な図形（フォーム図形）と、受け取ったフィールドデータを指定した出力書式に従って出力する図形（フィールド図形）から構成される。
【００２２】
フィールド図形を作成するには、予めフィールドデータを受け取るための項目（フィールド）を作成する必要がある。フォーム情報設計システムにて表示された専用の画面において、フィールドを作成し、その後、当該作成したフィールドを作成元として、フィールド図形を作成すると、当該作成されたフィールド図形と当該作成元であるフィールドとの関連付けが内部的におこなわれる。図４の例では、まず、フィールド名が「商品名」、「金額」、「合計」の各フィールドを作成して、それぞれのフィールド形式、データ型、フォントなどを指定する。その後、「商品名」のフィールドを作成元として、４０２の左の列の各フィールド図形「ＸＸＸＸＸＸＸＸ」が作成されて関連づけられる。また、「金額」のフィールドに対しては、４０２の右の列の各フィールド図形が作成されて関連付けられ、「合計」のフィールドに対しては、フィールド図形４０３が作成されて関連付けられている。なお、表形式のフィールド図形（表図形）４０２については、フィールドデータをレコード単位に受け取る必要があるため、フィールド形式がレコード形式であるフィールド４０５、４０６を作成する必要がある。また、指定した集計方法で集計しフィールドデータを生成するフィールド形式は、集計フィールドと定義する。フィールド図形４０３の場合、どのフィールドとどのような集計方法が指定されていることを表すために集計フィールド４０７を作成する必要がある。また、各フィールドに格納するデータの種類はフィールドの「データ型」属性で定義する。さらに、各フィールドには、フィールドデータの値をどのフォントで表示するかを表す属性であるフォント４０９が指定されている。
【００２３】
図５は、帳票生成サーバ１０１におけるオーバレイ出力処理の例について説明した図である。帳票生成サーバ１０１の帳票生成部３０３は、アクセス制御部３０１で受信したフォーム情報ファイル４０１とフィールドデータファイル５０１とを読み込む。そして、帳票生成部３０３は、当該読み込んだフォーム情報ファイル４０１とフィールドデータファイル５０１とを重ね合わせることでオーバレイ処理を実行する。フィールドデータファイル５０１には、各フィールド名に対応するデータがテキスト形式で記載されており、表形式のフィールド図形４０２の関連付けられている各行に順番にオーバレイ処理される。また集計フィールドは、フィールドデータに基づいて予め定義された計算式により集計処理が為され、その結果がオーバレイ処理される。図５の５０２は、そのオーバレイ出力結果であるＰＤＦ形式の帳票文書データを表す。
【００２４】
以下では、本実施形態の特徴的な動作について説明する。図６は、編集可能な帳票閲覧画面を生成する処理のシーケンスを示す図である。
【００２５】
Ｓ６０１において、ユーザの操作に基づいてクライアント装置１０２のウェブブラウザは、帳票生成サーバ１０１に対して閲覧画面生成リクエスト（帳票生成リクエスト）を送信する。このとき、ユーザは生成させたい帳票に関するフォーム情報とフィールドデータとを指定する。したがって、閲覧画面生成リクエストには、オーバレイ処理対象のフォーム情報ファイルとフォームデータファイルとが添付される。
【００２６】
Ｓ６０２において、帳票生成サーバ１０１の帳票生成部３０３は、アクセス制御部３０１を介して閲覧画面生成リクエストを受信すると、受信したフォーム情報ファイルとフィールドデータファイルとを用いてオーバレイ出力処理を行う。
【００２７】
図７は、Ｓ６０２のオーバレイ処理の詳細を説明するためのフローチャートである。
【００２８】
Ｓ７０１において、帳票生成部３０３は、閲覧画面生成リクエストに添付されたフォーム情報とフィールドデータとを使用して、出力される帳票のレイアウト構成を計算する。
【００２９】
Ｓ７０２において、帳票生成部３０３は、Ｓ７０１で計算されたレイアウト構成に従って、各図形（フィールドデータに依存しないフォーム図形、及びフィールドデータに依存するフィールド図形）の描画命令を順次呼び出して描画を実行する。
【００３０】
Ｓ７０３において、帳票生成部３０３は、Ｓ７０２で実行した描画命令が、フィールド図形の描画命令であったかどうか判断する。Ｓ７０３においてＹＥＳと判断された場合、Ｓ７０４の処理に進み、Ｓ７０３においてＮＯと判断された場合、Ｓ７０６の処理に進む。
【００３１】
Ｓ７０４において、帳票生成部３０３は、Ｓ７０２で実行した描画命令の対象フィールドの情報を取得する。取得する情報は、対象フィールドで指定されているフォント名と、当該指定されているフォント名が属する一般フォントファミリ名である。一般フォントファミリ名とは、ｓｅｒｉｆ（セリフ体）、ｓａｎｓ−ｓｅｒｉｆ（サンセリフ体）、ｃｕｒｓｉｖｅ（草書体）、ｍｏｎｏｓｐａｃｅ（固定ピッチ）などのフォントの分類を表すものである。一般フォントファミリ名は、指定されている各フォント名に対して予め定義されているものとする。なお、指定されているフォント名に類似する形状を有するフォントの情報もフォントファミリ名として予め定義しておき、指定されているフォント名に加えてその類似フォントファミリ名と一般フォントファミリ名とを取得するようにしてもよい。
【００３２】
Ｓ７０５において、帳票生成部３０３はＳ７０４で取得したフォント情報７０１（指定されているフォント名、ならびに、取得した一般フォントファミリ名）を後述する処理のために帳票生成サーバ１０１のＲＡＭ２０３に記録する。本実施例の場合、フォント情報７０１はＪＳＯＮフォーマットで記述されるものとする。
【００３３】
Ｓ７０６において、帳票生成部３０３は、すべての描画命令の処理が完了したかどうか判断し、完了していないと判断した場合、Ｓ７０２に戻って次の描画命令の処理を行う。一方、Ｓ７０６において、帳票生成部３０３は、すべての描画命令の処理が完了したと判断した場合、オーバレイ処理を終了して、図６のＳ６０３の処理に進む。
【００３４】
Ｓ６０３において、帳票生成部３０３は、ＰＤＦファイルへの変換処理を実行する仮想プリンタドライバを利用して、Ｓ６０２のオーバレイ結果の描画情報（プリンタに描画を指示するためのＰＤＬ情報）から、ＰＤＦ形式の帳票ページを生成する。
【００３５】
Ｓ６０４において、ファイル変換部３０４は、Ｓ６０３で生成したＰＤＦ形式の帳票ページを、ＳＶＧ（スケーラブル・ベクター・グラフィックス）形式の帳票ページに変換する。ＰＤＦ形式の帳票ページは、ウェブブラウザ上で直接編集できないため、ウェブブラウザ上で編集できる形式（本実施例の場合はＳＶＧ形式）に変換する。なお、ファイル変換部３０４は、ＰＤＦ形式の帳票ページをＳＶＧ形式に変換する時、帳票生成サーバ１０１にインストールされているフォント情報に基づいて、帳票ページ中に含まれているテキストに関するサブセットフォントを生成する。また、Ｓ６０４でＳＶＧ形式の帳票ページを生成する際、Ｓ７０５で記録しておいたフォント情報７０１を帳票生成サーバ１０１のＲＡＭから読み込み、ＳＶＧ形式の帳票ページに埋め込む（すなわち、フォント情報７０１を帳票ページに追加する）。ＳＶＧ形式の帳票ページにフォント情報７０１を埋め込む際の埋め込み形式は限定するものではないが、ＳＶＧ形式の帳票ページ上の各フィールドで指定されているフォント名とその一般フォントファミリ名とを判別できるような形式であればよい。本実施例の場合は、フォント情報７０１を、８１０で示すようにＳＶＧファイル内にフォントファミリ定義として埋め込む。
【００３６】
Ｓ６０５において、帳票生成サーバ１０１のページ生成部３０２は、ＳＶＧ形式の帳票ページの編集処理を実行可能な帳票閲覧画面（帳票閲覧プログラム）を生成する。生成された帳票閲覧プログラムには、Ｓ６０４で生成されたＳＶＧ形式の帳票ページおよびサブセットフォントと、その帳票ページに対する閲覧・編集・印刷の各操作を制御するためのＪａｖａＳｃｒｉｐｔ（登録商標）プログラムとが含まれている。
【００３７】
Ｓ６０６において、帳票生成サーバ１０１は、Ｓ６０５で生成した帳票閲覧プログラム（帳票閲覧画面に関する情報）をクライアント装置１０２に返却する。
【００３８】
Ｓ６０７において、クライアント装置１０２は帳票生成サーバ１０１からのレスポンスを受け取り、ウェブブラウザ上で該帳票閲覧プログラムを実行することにより、帳票ページの編集処理を実行可能な帳票閲覧画面を表示する。
【００３９】
図８は、Ｓ６０７で表示される帳票閲覧画面８０１の例である。
【００４０】
領域８０２は、ＳＶＧ形式の帳票ページを表示する領域である。８０２の領域内で、横方向（左方向または右方向）のフリック操作を行うと、前後の帳票ページへの切り替えができるものとする。８０４は、現在の表示されている帳票ページを保存するように指示するためのボタンである。
【００４１】
表８０３内の商品名や金額のレコードに対応づけられた各フィールド図形には、ＳＶＧ形式の帳票文書データ８１０に指定されているサブセットフォント８１１を使用して文字列や数値が描画される。また、帳票閲覧プログラムには、帳票文書データを閲覧・編集・保存操作を制御するためのＪａｖａＳｃｒｉｐｔ（登録商標）プログラムが含まれている。このＪａｖａＳｃｒｉｐｔ（登録商標）プログラムにより、編集を開始する際、各フィールドに対して、当該指定されているサブセットフォントに加えて、フォントファミリ名（各フィールドで指定されているフォント名（指定フォント名）と一般フォントファミリ名）を追加する。この時、各フォントを使用する優先順位は、サブセットフォント、指定フォント名、一般フォントファミリ名の順とする。
【００４２】
帳票ページ内の文字列（商品名や金額に対応する文字列）のいずれかに対してクリック操作が行われると、帳票閲覧プログラム内の編集プログラムが動作し、図９で示すような編集処理を行う。図９は、帳票閲覧画面において実行する編集処理の流れを示すフローチャートである。
【００４３】
Ｓ９０１において、帳票閲覧画面８０１に表示されている帳票ページ上でのクリック操作が為されたことを検知する。
【００４４】
Ｓ９０２において、帳票閲覧プログラム内の編集プログラムを実行するクライアント装置のＣＰＵは、当該クリックされた位置が編集可能なフィールドの領域内であるかどうかを判断する。Ｓ９０２において、当該クリックされた位置が編集可能なフィールドの領域内であると判断した場合はＳ９０３に進み、編集可能なフィールドの領域外であると判断した場合は編集処理を行わない。
【００４５】
Ｓ９０３において、クライアント装置のＣＰＵは、ＳＶＧ形式の帳票文書データ８１０に埋め込まれているフォント情報に基づいて、当該クリックされたフィールドに対して、サブセットフォントに加えて指定フォント名と一般フォントファミリ名とを追加したフォント指定とする。このフォント指定の優先順位は、サブセットフォント、指定フォント名、一般フォントファミリの順になる。
【００４６】
Ｓ９０４において、当該クリックされたフィールド内の文字列について、ユーザの操作により文字列の編集作業が行われる。このとき、クライアント装置のウェブブラウザは、Ｓ９０３で読み込んだフォント指定に基づいて優先順位の高いフォントから順に、文字列の描画に使用する。すなわち、ユーザの編集作業で追加された文字のグリフが、サブセットフォントに含まれていない場合、まず、次の優先順位である指定フォント名のフォントで描画を行えるか（指定フォント名のフォントをクライアント装置が有するかどうか）を判断する。指定フォント名のフォントで描画できると判断した場合は、当該指定フォント名のフォントを用いて、当該追加された文字を描画する。指定フォント名のフォントで描画できないと判断した場合は、一般ファミリフォント名に対して当該ウェブブラウザで対応づけられているデフォルトフォントを用いて、当該追加された文字を描画する。
【００４７】
Ｓ９０５において、保存ボタン８０４がユーザにより操作されたことを検知すると、Ｓ９０６において、編集プログラムは、当該編集後のＳＶＧ形式の帳票ページを帳票生成サーバに帳票保存リクエストと共に送信する。
【００４８】
図１０は、帳票閲覧画面の保存ボタンがユーザにより操作された際の保存処理のシーケンスを示す図である。
【００４９】
Ｓ１００１において、帳票閲覧画面８０１の保存ボタン８０４がユーザにより操作されたことを検知すると、Ｓ１００２において、クライアント装置１０２は、帳票生成サーバ１０１に対して帳票保存リクエストと当該編集後のＳＶＧ形式の帳票ページとを送信する。
【００５０】
Ｓ１００３において、帳票生成サーバのファイル変換部３０４は、当該編集後のＳＶＧ形式の帳票ページ内に、サブセットフォントに含まれていない新たな文字が追加されているかどうか判定する。新たな文字が追加されていると判定した場合はＳ１００４に進み、新たな文字が追加されていないと判定した場合はＳ１００５に進む。
【００５１】
Ｓ１００４において、ファイル変換部３０４は、当該編集後のＳＶＧ形式の帳票ページに記載されているテキストとそれぞれの指定フォント名とに基づいて、帳票生成サーバ１０１にインストールされているフォントからサブセットフォントを再生成する。
【００５２】
Ｓ１００５において、ファイル変換部３０４は、編集後のＳＶＧ形式の帳票ページとサブセットフォントとに基づいて、ＳＶＧ形式の帳票ページをＰＤＦ形式のファイルに変換する。
【００５３】
Ｓ１００６において、アクセス制御部３０１は、Ｓ１００５で変換されたＰＤＦファイルをクライアント装置に返却する。
【００５４】
Ｓ１００７において、クライアント装置１０２は、Ｓ１００７で返却されたＰＤＦファイルをダウンロードする。クライアント装置は、ダウンロードしたＰＤＦファイルを用いて印刷等の処理を実行することができる。
【００５５】
本実施例によれば、オーバレイ処理により生成された帳票文書データを、クライアントで編集可能な形式（例えばＳＶＧ形式）の帳票文書データ（帳票ページ）に変換する際に、サブセットフォントと指定フォント名と一般フォントファミリ名とに関する情報を埋め込んでおく。このようにすることにより、クライアント装置で編集が行われた際に、サブセットフォントにグリフが無い文字が追加されたとしても、指定フォントもしくは類似するフォントファミリで表示されるので、全く異なる形状の字体で表示されることが無くなり、違和感が低減する。また、サーバからクライアント装置に送信されるフォントは、サブセットフォントであるので、データサイズも小さく抑えることができる。
【００５６】
（実施例２）
実施例１では、Ｓ１００４において、編集後のＳＶＧ形式の帳票ページに含まれる全てのテキストをサブセットフォント再生成の対象にしている。一方、帳票閲覧画面８０１で帳票ページを表示する際に使用されていたサブセットフォント８１１には、編集前のテキストで使用されている文字のグリフが含まれている。本実施例２では、編集前後で追加された文字のみに関するサブセットフォントを再生成することで、サブセットフォント再生成処理の省力化を可能にする。
【００５７】
図１１は、実施例２において、帳票閲覧画面において帳票ページの編集処理が行われ、保存ボタンがユーザにより操作された際のクライアント装置の処理シーケンスを示す図である。
【００５８】
Ｓ１１０１において、クライアント装置は、サーバから受信したＳＶＧ形式の帳票ページ８１０で使用されている文字列の情報を、編集前テキストの情報として保存する。
【００５９】
Ｓ１１０２において、帳票閲覧画面８０１に表示されている帳票ページ上でのクリック操作が為されたことを検知する。
【００６０】
Ｓ１１０３において、当該クリックされた位置が編集可能なフィールドの領域内である場合、詳細説明は省略するがＳ９０２〜Ｓ９０４の処理と同様に、データの編集操作が行われる。
【００６１】
Ｓ１１０４において、保存ボタン８０４がユーザにより操作されたことを検知すると、Ｓ１２０５において、クライアント装置は、編集後のＳＶＧ形式の帳票ページ中の全てのテキストについてＳ１１０６〜Ｓ１１０８の処理を完了したか判定する。まだ処理していないテキストがあると判定した場合、Ｓ１２０６において次の一文字を取得する。
【００６２】
Ｓ１１０７において、Ｓ１１０６で取得した一文字とＳ１１０１で保存しておいた編集前テキストとを比較し、当該一文字がサブセットフォントに含まれている文字であるか判定し、Ｓ１１０８において、その判定結果を保存する。
【００６３】
Ｓ１１０５において、編集後のＳＶＧ形式の帳票ページ内の全てのテキストについての処理を完了したと判定した場合はＳ１１０９に進む。
【００６４】
Ｓ１１０９において、クライアント装置は、Ｓ１１０８で保存した判定結果に基づいて、編集後のＳＶＧ形式の帳票ページに、新たな文字（サブセットフォントに含まれていない文字）があるかどうか判定する。
【００６５】
Ｓ１１０９において、新たな文字が無い（全ての文字がサブセットフォントに含まれている）と判定された場合、Ｓ１１１３に進んで、クライアント装置は帳票保存リクエストを送信する。
【００６６】
Ｓ１１０９において、新たな文字がある（サブセットフォントに含まれていない文字がある）と判定された場合、Ｓ１１１０において、クライアント装置は、編集後のＳＶＧ形式の帳票ページ中のテキストを新たな文字とそれ以外の文字とに分割した場合の分割数を判定する。分割数が規定値未満になると判定した場合、Ｓ１１１１において、クライアント装置は、当該編集後のＳＶＧ形式の帳票ページのテキスト要素を、編集で追加された新たな文字とそれ以外の文字とに分割する。
【００６７】
Ｓ１１１２において、Ｓ１１１１で分割された新たな文字のテキスト要素について、フォント指定を、Ｓ６０４においてＳＶＧ形式の帳票ページ８１０に埋め込んだフォント名に指定し、新たな文字のテキスト要素として分割されていることを判別可能な識別子を付与する。そして、Ｓ１１１３において、帳票保存リクエストと当該テキスト要素が分割された帳票ページとを送信する。
【００６８】
一方、Ｓ１１１０において、分割数が規定値以上になると判定した場合は、テキストを分割せずにＳ１１１３において、帳票保存リクエストと編集後の帳票ページとを送信する。
【００６９】
帳票生成サーバ１０１は、帳票保存リクエストと編集後の帳票ページとを受信すると、その編集後の帳票ページにおいて、新たな文字のテキスト要素が分割されているかどうか判定する。分割されていると判定した場合は、当該分割されているテキスト要素に関してのみサブセットフォントの生成処理を行い、当該新たに生成されたサブセットフォントと以前から作成済みのサブセットフォント８１１とを用いて編集後の帳票ページをＰＤＦファイルに変換する。一方、新たな文字のテキスト要素が分割されていないと判定した場合は、Ｓ１００３〜Ｓ１００５と同様の処理を行う。Ｓ１１１０において分割数が既定値以上になると判定した場合は、全てのテキストをサブセットフォント再生成の処理対象とする。
【００７０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0006602234.tif 000002
【図２】
0006602234.tif 000003
【図３】
0006602234.tif 000004
【図４】
0006602234.tif 000005
【図５】
0006602234.tif 000006
【図６】
0006602234.tif 000007
【図７】
0006602234.tif 000008
【図８】
0006602234.tif 000009
【図９】
0006602234.tif 000010
【図１０】
0006602234.tif 000011
【図１１】
0006602234.tif 000012