(57)【要約】【課題】フォント処理を伴う描画の高速化を図る。【解決手段】電子原稿形式のデータを解析し（Ｓ１００２）、データに組み込まれるフォントの指定を抽出する（Ｓ１００３）。フォントの指定に対応するフォントデータを、電子原稿形式のデータ共通のフォントデータとして生成し、システムＯＳに登録する（Ｓ１０１２）。そして、電子原稿形式のデータを描画処理する際に、データ中で指定されたフォントを描画するために、登録されたフォントデータを参照し、データの描画に組み込む（Ｓ１０１１）。【選択図】    図１Ｅ
2004318681.tif 000002
【特許請求の範囲】
【請求項１】
電子原稿形式のデータを解析し、該データに組み込まれるフォントの指定を抽出する抽出手段と、
前記フォントの指定に対応するフォントデータを、前記電子原稿形式のデータ共通のフォントデータとして生成し、システムＯＳに登録する登録手段と、
前記電子原稿形式のデータを描画処理する際に、該データ中で指定されたフォントを描画するために、前記登録されたフォントデータを参照し、該データの描画に組み込む描画処理手段と、
を有することを特徴とする描画処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、描画処理技術に関するもので、特に、電子文書において組込まれたフォントを効率的に管理し、高速に処理するための描画処理技術に関するものである。
【０００２】
【従来の技術】
文字や表、画像など、データの種類が異なると、データを定義する構造やそれらデータに対する編集処理が異なるために、データの種類に応じた様々なアプリケーションプログラムが提供されている。利用者は、文字を編集するためには文字処理プログラム、表を編集するためには表計算プログラム、画像を編集するためには画像編集プログラムといった具合に、データの種類別にアプリケーションを使い分けている。
【０００３】
このように、利用者はデータの種類ごとにアプリケーションプログラムを使い分けるのが一般的である。しかし、利用者が作成しようとする文書としては、例えば文字のみや、表のみ、画像のみといった１種類のデータのみから構成される文書よりも、文字と表、文字と画像など、複数種類のデータから構成される文書の方が一般的であり、電子文書として生成されるデータには、複数種類のフォントデータが組み込まれたたものとなる。
【０００４】
従来、複数種類のフォントが埋め込まれた電子文書の描画を行う場合、描画を行う前には、その電子文書において使用するすべてのフォントはＯＳに登録され、その登録したフォントデータを参照して、フォントデータを組み込んだ電子文書の描画が行われていた。
【０００５】
【発明が解決しようとする課題】
しかしながら、従来の電子文書における描画処理では、複数種類フォントデータを電子文書の処理に合わせて同じタイミングでＯＳに登録することとなるために、その登録するフォントデータのボリュームによってはＯＳのリソース（主にメモリー）が占有されてしまい、ＯＳが実行するべき他の機能が動作するためのメモリーを十分に確保できずにシステムのパフォーマンスが著しく低下するという課題があった。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本発明にかかる描画処理装置等は以下の構成を有することを特徴とする。
【０００７】
すなわち、電子原稿形式のデータを解析し、該データに組み込まれるフォントの指定を抽出する抽出手段と、
前記フォントの指定に対応するフォントデータを、前記電子原稿形式のデータ共通のフォントデータとして生成し、システムＯＳに登録する登録手段と、
前記電子原稿形式のデータを描画処理する際に、該データ中で指定されたフォントを描画するために、前記登録されたフォントデータを参照し、該データの描画に組み込む描画処理手段と、を有することを特徴とする。
【０００８】
【発明の実施の形態】
＜システムの構成＞
図１Ａは、電子原稿を処理するシステム（以下、「電子原稿処理システム」という。）のハードウエア構成を示す図である。図１Ａにおいて、ＣＰＵ１０は、ＲＯＭ３０に記憶された、あるいはハードディスク（ＨＤ）１１０からＲＡＭ２０にロードされたＯＳやアプリケーション、あるいは後に説明する電子原稿処理モジュールなどのプログラムを実行し、図１Ｂのソフトウエア構成や、後述するフローチャートの手順を実現する。
【０００９】
ＲＡＭ２０は、ＣＰＵ１０の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）５０は、キーボード９０や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６０は、ＣＲＴディスプレイ１００の表示を制御する。ディスクコントローラ（ＤＫＣ）７０は、ブートプログラム、種々のアプリケーション、ユーザファイル等を記憶するハードディスク（ＨＤ）１１０やフロッピーディスク（ＦＤ）等とのアクセスを制御する。ＰＲＴＣ８０は、接続されたプリンタ等のデバイスとの間の信号の交換を制御する。ＮＣ１２０はネットワークに接続された他の機器との通信制御処理を実行する。
【００１０】
図１Ｂは、電子原稿処理システムにおけるソフトウエア構成を示す図である。電子原稿処理システムはコンピュータ１０００によって実現されている。アプリケーション１０１０は、ワードプロセシングやスプレッドシート、ドローあるいはペイント、テキスト編集などの機能を提供するアプリケーションプログラムである。これらアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム（ＯＳ）１０６０により提供される所定のインターフェースを利用し、生成された電子原稿は電子原稿処理モジュール１０２５により処理される。ここで、電子原稿処理モジュール１０２５は、本電子原稿処理システム実現のために提供されるソフトウエアモジュールであり、フォント管理モジュール１０２０と描画処理モジュール１０３０とを有する。
【００１１】
フォント管理モジュール１０２０は、アプリケーション１０１０で生成されたデータを描画処理するために、データ中において組み込むフォントデータ（以下、これを「エンベットフォント」という。）をＯＳに登録（この登録処理については、後に詳細に説明する）し、描画処理モジュール１０３０は、デバイスドライバ１０４０により処理が可能な形式に、登録されたフォントデータを組み込んだ描画データを生成する。この描画処理モジュール１０３０による処理後の形式（以後、「電子原稿形式」と呼ぶ）は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうちでは、例えばＰＤＦ形式や、ＩＷＰ形式などが電子原稿形式として採用できる。
【００１２】
描画処理モジュール１０３０は、ＯＳ１０６０のフォントファイル管理テーブル１０７０に登録されたフォントデータ（フォントファイル）を組み込んだ出力コマンドを生成し、出力デバイスとして使用されるプリンタ等の出力デバイス１０５０に対応するデバイスドライバ１０４０にデータを送信する。デバイスドライバ１０４０は受信したデータを、出力デバイス１０５０で解釈し、実行することが可能なデバイスコマンドに変換する。そしてデバイスコマンドは出力デバイス１０５０に送信され、出力デバイス１０５０によってデバイスコマンドに応じた描画が実行される。
【００１３】
＜フォントの処理＞
図１Ｃは、アプリケーション１０１０によって生成される電子原稿の構成例を示す図であり、３ページからなる電子原稿には、それぞれ、ページ毎にフォントデータが組み込まれている。例えば、１ページ目の描画情報（１００）には、▲１▼Ｆｏｎｔ００１のＴＥＸＴ描画と、▲２▼Ｆｏｎｔ００３のＴｅｘｔ描画が含まれている。▲３▼また、通常の処理により処理されるＴＥＸＴ描画データ（エンベットフォントには該当しないデータ）も含まれている。２ページ目の描画情報（１０１）には、▲１▼Ｆｏｎｔ００２のＴｅｘｔ描画が指定されている。更に、３ページ目の描画情報（１０２）には、▲１▼Ｆｏｎｔ００３のＴｅｘｔ描画と、▲２▼Ｆｏｎｔ００１のＴｅｘｔ描画の組み込みが指定されている。
【００１４】
図１Ｄは、電子原稿処理モジュール１０２５の処理の概略的な流れを説明するフローチャートである。上位のアプリケーション１０１０により電子原稿形式のファイルの描画が指示されると本モジュールは起動する。
【００１５】
まず、ステップＳ９０１において、指定された電子原稿形式のファイルをオープンする。この時、ファイルオープンできない場合については別途エラー処理が施される。次に、ステップＳ９０２において、フォントデータの登録を制御する制御テーブルの初期設定を行い、ステップＳ９０３で、フォントファイル管理テーブルの初期設定を行う。
【００１６】
ステップＳ９０４〜Ｓ９０７は、電子原稿形式の各ページ（１ページ〜Ｎページ）の描画処理を実行する処理ステップで、この詳細は、図１Ｅで説明する。
【００１７】
フォント管理モジュール１０２０は、アプリケーション１０１０で生成された電子原稿からフォントデータを抽出し、これをＯＳ１０６０のフォントファイル管理テーブル１０７０に登録するが、最終ページの描画処理（Ｓ９０７）が終了した時点で、登録されたフォントファイルの情報は、描画処理モジュール１０３０により削除される（Ｓ９０８）。
【００１８】
フォントファイルの削除完了後、ステップＳ９０９、Ｓ９１０において、制御テーブル、フォントファイル管理テーブル１０７０は初期化され、電子原稿形式のファイルをクローズする（Ｓ９１２）。
【００１９】
図１Ｅは、ページ毎の描画処理の流れを説明するフローチャートである。
【００２０】
まず、ステップＳ１００１において、電子原稿形式のページデータをメモリー（例えば、ＲＡＭ２０等）にロードする。次に、フォント管理モジュール１０２０は、メモリーにロードされたページデータを描画するために、電子原稿形式の仕様に従い、ページデータの構造を解析する（Ｓ１００２）。そして、該当ページデータ中において組み込むフォントを抽出するために、フォントを描画するための制御コマンド（オペレータ）を取り出し（Ｓ１００３）、これに対応するフォントファイル（フォントデータ）を作成する（Ｓ１００４）。そして、このフォントファイルの登録を管理する制御テーブルを作成する（Ｓ１００５）。ここで、フォントファイルの作成において、複数のページで、同一のフォントデータを組み込むこととなる場合は、冗長なファイル生成と、その登録による不要なメモリの占有を回避するために、使用するページに関する情報や、フォント名称、フォントファイル名称などが、フォントデータとともにフォントファイルの生成において管理される。また、ＯＳの機能を確保するために、過度のフォントファイル数の登録を防止するために、登録数（あるいは、登録に要する記憶領域）の制限も管理される。この重複防止等の処理に関する詳細は、後に図３Ｂを用いて詳細に説明する。
【００２１】
ステップＳ１００６において、描画処理モジュール１０３０は、例えば、図１Ｃで示されたように、ページデータ中の描画コマンド（▲１▼Ｆｏｎｔ００１のＴＥＸＴ描画、▲２▼Ｆｏｎｔ００３のＴｅｘｔ描画、▲３▼通常の処理により処理されるＴＥＸＴ描画データ等）に従い描画処理を実行する。
【００２２】
ステップＳ１００７において、１ページ分の描画が終了か否かを判定し、終了した場合（Ｓ１００７−Ｙｅｓ）は処理を終了する。
【００２３】
１ページ分の描画が終了していない場合（Ｓ１００７−Ｎｏ）、次に指定されているＴＥＸＴ描画コマンドの処理に進み（Ｓ１００８）、そのＴＥＸＴ描画コマンドがエンベットフォントか否かを判定する（Ｓ１００９）。描画処理に際して、エンベットフォントを処理する場合、描画処理モジュール１０３０は、ＯＳ１０６０に登録されたフォントファイル管理テーブル１０７０のデータを利用する。エンベットフォントの描画である場合（Ｓ１００９−Ｙｅｓ）、処理をステップＳ１０１１に進め、エンベットフォントをＯＳ１０６０のフォントファイル管理テーブル１０７０に登録する必要があるか否かを判定する（Ｓ１０１１）。フォントファイルの登録を行なう場合（Ｓ１０１１−Ｙｅｓ）、処理をステップＳ１０１２に進める。描画するべきエンベットフォントが既に登録済みである場合は、フォントファイルの登録は不要なので（Ｓ１０１１−Ｎｏ）、処理をステップＳ１０１１に進め、エンベットフォントファイルの描画処理を実行する（Ｓ１０１１）。ステップＳ１００９の判断で、ＴＥＸＴ描画のコマンドがエンベットフォントの処理でない通常のＴＥＸＴ描画である場合は（Ｓ１００９−Ｎｏ）、処理をステップＳ１０１１に進め、通常の描画処理を実行する（Ｓ１０１１）。
【００２４】
そして、これらの処理後、再びステップＳ１００７に戻り、１ページ分の描画処理が全て終了したか否かを判断し、ページの描画が終了するまで上述の処理を実行する。尚、ステップＳ１０１１における、エンベットフォントの描画処理については図２Ｂで説明し、ステップＳ１０１２のフォントファイルの登録処理については図３Ｂで詳細に説明する。
【００２５】
図２Ａは、電子原稿形式のファイルフォーマットにおいて、ページ描画データとエンベットフォントデータの格納例を示す図である。電子原稿形式のファイルの先頭行（２０１）には、ファイルの属性を識別するための識別子として、所定の文字列（例えば、ＩＷＰ形式の電子原稿形式の場合文字列「％ＩＷＰ−」が付加される。）（２０１）が設定されており、電子原稿処理モジュール１０２５は、この識別子に基づき処理することが可能なファイルか否かを識別することができる。
【００２６】
フォント管理モジュール１０２０は、アプリケーション１０１０で生成されたページデータを解析し、エンベットフォントを取り出し（２０２〜２０４、図１ＥのＳ１００２、Ｓ１００３）、フォントファイルを作成する（図１ＥのＳ１００４）。また、各ページの描画データ（２０６〜２０８）には、ページ中に組み込まれるフォントを指定する。ここで作成されたフォントファイルは、フォントファイル管理テーブルに登録される（図１ＥのＳ１０１２）。
【００２７】
描画処理モジュール１０３０は、ページデータの描画処理においてエンベットフォントに関するデータをフォントフィル管理テーブルを参照して行なう。１ページ目の描画データ（２０６）には、Ｆｏｎｔ００１のデータと、Ｆｏｎｔ００３のデータと、二つのフォントデータの組み込みが指定されており、同ページを描画する場合には、Ｆｏｎｔ００１（２０２）のフォントデータと、Ｆｏｎｔ００３（２０４）のフォントデータがフォントファイル管理テーブル上で参照される。
【００２８】
同様に、２ページ目の描画データ（２０７）には、Ｆｏｎｔ００２のフォントデータが組み込みが指定されており、２ページ目を描画する際には、Ｆｏｎｔ００２（２０３）のフォントデータが参照される。更に、３ページ目の描画データ（２０８）には、Ｆｏｎｔ００３（２０４）と、Ｆｏｎｔ００１（２０２）の二つのフォントデータの組み込みが指定されており、同ページを描画する場合には、Ｆｏｎｔ００３（２０４）のフォントデータと、Ｆｏｎｔ００１（２０２）のフォントデータとが参照される。ページの描画データと、フォントデータとを分離して、複数のページで、同じフォントデータを描画する場合でも、参照するフォントデータは共通のものである。
【００２９】
各ページの描画は、この登録されたフォントファイル管理テーブルのフォント情報の参照に従い処理される（図１ＥのＳ１００６、Ｓ１０１１）。
【００３０】
図２Ｂのフローチャートは、図１ＥのステップＳ１０１１の処理に対応する、エンベットフォント描画処理の流れを説明する図である。エンベットフォントを描画をするためにページ中に指定されている制御コマンド（オペレータ）（２０９〜２１３）を解析し（Ｓ１１０１）、このオペレータに対応するフォント名のデータを、登録済みのフォントファイル管理テーブルを参照して収集する（Ｓ１１０２）。そして、収集したフォントデータに基づき描画を実行する（Ｓ１１０３）。
【００３１】
図３Ａは、ＯＳ１０６０に登録されたフォントファイル管理テーブルの構成を例示する図であり、この内容は制御テーブル（図１ＥのＳ１００５）の内容に従い管理されている。ここでは、特に、各フォントが使用されているページの情報（３０１）と、ＯＳに登録するファイル名称（３０２）、そして、ＯＳに登録するフォント名称（３０３）の関係を示している。また、参照番号３０４は登録番号（Ｎｏ．）を示し、図３Ａでは最大２００個としている（但し、この値は設定により可変である）。図３Ａにおいて、例えば、登録Ｎｏ．１番目（３０４）に登録されているフォントデータは、フォントの使用ページ（３０１）の欄で「Ｐａｇｅ１」と登録されているので、このフォントデータの使用は１ページ目に限定されることになる。また、登録Ｎｏ．２番目（３０４）に登録されているフォントデータは、フォントの使用ページ（３０１）の欄で「Ｐａｇｅ１／Ｐａｇｅ２」と登録されているので、このフォントデータの使用は１ページ目と２ページで共用されることになる。
【００３２】
また、フォントファイルの名称（３０２）や、フォント名称（３０３）は、同一のフォントを同時にＯＳに登録する弊害を防止するために重複が禁止される。ここでは、ＯＳに登録するフォントファイル名称（３０２）を「ＮｅｗＤＴＸＤＥＦ＋Ｃｅｎｔｕｒｙ１１２５０４０１００．ｔｔｆ」、ＯＳに登録するフォント名称は「ＮｅｗＤＴＸＤＥＦ＋Ｃｅｎｔｕｒｙ１１２５０４０１００」と設定している。
【００３３】
フォントファイル管理テーブル１０７０でフォントデータを管理した場合の効果は、例として、１ページ目を描画し、次に２ページ目を描画する場合について示すと以下のようになる。図３Ａにおいて、１ページ目の描画用（フォント使用ページとして「Ｐａｇｅ１」と設定されている）として８個のフォントファイル（登録Ｎｏ．１〜８）が登録されている。一方、２ページ目の描画では、１１個のフォントファイル（登録Ｎｏ．２、４、６〜１４）が必要となるが、１ページ目と２ページ目双方で使用する５つのフォントファイルは、１ページ目において作成され、登録済み（登録Ｎｏ．２、４、６、７、８）であるので、２ページ目で新規に参照することが必要となる６個のフォントファイル（登録Ｎｏ．９〜１４）を作成し、登録すればよいことになり、１ページ目の描画と重複する５個分のファイル作成に要する処理時間を省くことができる。
【００３４】
新規に登録するフォントデータについてはフォントファイル管理テーブル１０７０に必ず登録する必要がある。
【００３５】
図３Ｂは、図１ＥのステップＳ１０１２に対応し、フォントファイル管理テーブルにデータを登録するための処理を説明するフローチャートである。フォント管理モジュール１０２０は、制御テーブルの内容を確認し、フォントファイル管理テーブル１０７０に登録されているフォントファイルの数を調べる（Ｓ１２０１）。そして、登録数が２００個（登録可能な上限値であり、任意に設定することが可能）以下か否かを判断する（Ｓ１２０２）。
【００３６】
登録数が２００以下でない場合（Ｓ１２０２−Ｎｏ）、処理をステップＳ１２０３に進め、フォントファイル管理テーブル１０７０に登録したのが、最も古いフォントファイルを削除する。
【００３７】
一方、登録数が２００以下の場合（Ｓ１２０２−Ｙｅｓ）、制御テーブルの内容を変更し（Ｓ１２０３）、ＯＳ１０６０のフォントファイル管理テーブル１０７０にフォントファイルを新たに登録し（Ｓ１２０４）、処理を終了する。
【００３８】
フォント管理モジュール１０２０が登録するフォントファイル管理テーブル１０７０には、各ＯＳ１０６０に応じた登録できるフォントの数の上限を設定すことで、フォントデータの過剰な登録によりメモリ等のリソースの占有を防止することが可能になり、フォントファイルの重複作成を回避し、ＯＳのパフォーマンスの低下を防ぐことが可能になる。
【００３９】
図４は、フォントファイル管理テーブル１０７０に対するアクセスを制御する制御テーブルを示す図であり、フォンファイル管理テーブル１０７０に登録されているデータを参照するためのポインター（５０１）と、作成済みフォントファイル数（５０２）と、登録済みのフォントファイル数（５０３）とを含む構成になっている。描画するページに組み込まれるエンベットフォントデータを描画する場合、制御テーブルをまず参照し、次に、フォントファイル管理テーブルへのポインタ（５０１）からフォントファイル管理テーブルに登録されているフォント情報を参照することができる。
【００４０】
図５に示すフォントファイル管理テーブルの構成例には「電子原稿形式内部のフォント名称」（３０５）と、「ＯＳに登録するフォントファイル名称」（３０２）、「ＯＳに登録するフォント名称」（３０３）、「登録Ｎｏ．」（３０４）の４項目を示している（説明の便宜上、図３で示した「フォント使用ページ」（３０１）の欄は省略している。）。電子原稿形式のファイル中に組み込まれている内部フォント名称（３０５）と、ＯＳに登録するフォント名称（３０３）とは異なるフォント名称がつけられている。これは、電子原稿形式のファイルはページ毎に他の電子原稿形式のファイルと入れ替えなどの編集を行うことが可能であるが、組み込まれるフォントデータに関しては、使用するページ毎に分割や結合ができないため、電子原稿形式のファイルのページ編集に際して、他のページで使用している同一のフォントと重複することを防止するための措置である。
【００４１】
また、フォント管理モジュール１０２０は同一のコンピュータ１０００内で複数のモジュールが起動されることがあり、その際、同じ電子原稿形式のファイルを描画することがある。このとき、ファイルで使用されているフォントをそのままＯＳ１０６０に登録すると、同じフォントを同時にＯＳに登録することとなり、アプリケーションの不正処理やＯＳのクラッシュなどの問題を引き起こす原因となる。このため、ＯＳに登録するフォント名称（３０２）を電子原稿形式のファイル内のフォント名称と異なるように変更して登録する。
【００４２】
フォントファイル管理テーブルが、２００個のファイルを登録した状態を図７に示す。このとき、制御テーブルの設定は、図６に示すように作成済みのフォントファイル数（６０２）が２００、登録済みのフォントファイル数（６０３）も２００となる。また、フォントファイル管理テーブルへのポインタ（６０１）は、ページデータ中のフォントファイルの指定（図２Ａの２０９〜２１３）に従い、フォントファイル管理テーブル中の登録データをサーチするためのポインタとして機能する。
【００４３】
図８は、１ページの描画データ中に、登録可能なフォント数（この場合は２００個とする。）を超えるフォントデータが指定された例を示す図であり、１ページあたり２０１個のフォントデータが組み込まれている（フォント００１〜フォント２０１）。この場合、フォントファイル管理テーブルに登録が可能な数を超えることになる（図３ＢのフローチャートのステップＳ１２０２−Ｎｏ）。このような場合、２０１個目のフォントデータの組み込みは、図３ＢのステップＳ１２０６の処理で説明したとおり、フォントファイル管理テーブルへの登録の最も古いフォントファイルを削除して空領域を確保する。
【００４４】
図９は、フォントファイル管理テーブル１０７０に対するアクセスを制御する制御テーブルの設定例を示す図であり、作成済みフォントファイル数（８０２）が２０１個と設定されると、２０１番目の新しいフォントファイルを登録するために、ポインタ（８０１）が一番登録の古いフォントファイルをサーチして、ＯＳ１０６０のフォントファイル管理テーブル１０７０から登録されているフォントファイルを削除する。フォントファイルの登録の削除により、登録済みのフォントファイル数は、削除されたファイル１つ分が減じられ、１９９個となる。そして登録番号を更新し、２０１番目のフォントファイルとして作成されたファイルを２００番目のファイルとしてフォントファイル管理テーブルに登録する（図１０）。
【００４５】
以上説明したように、本実施形態によれば、エンベットフォントの登録を管理をすることによって、同一のフォントファイルの重複登録を防止することが可能になり、フォント処理における描画速度の高速化が可能になる。あるいは、過度のフォントファイルの登録を防止するために、その登録数、あるいは登録に要する記憶領域を確保することで、ＯＳのワークエリアが確保され、フォント処理における描画速度の高速化が可能になる。
【００４６】
＜他の実施形態＞
なお、本発明は、出力デバイスとして、表示装置に対する表示や、記録媒体に記録して出力するプリンタ、ファクシミリ装置などに適用してもよい。
【００４７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムモジュールを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムモジュールを読出し実行することによっても、達成される。
【００４８】
この場合、記憶媒体から読み出されたプログラムモジュール自体が前述した実施形態の機能を実現することになり、そのプログラムモジュールを記憶した記憶媒体は本発明を構成することになる。
【００４９】
プログラムモジュールを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００５０】
また、コンピュータが読み出したプログラムモジュールを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムモジュールの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００５１】
さらに、記憶媒体から読出されたプログラムモジュールが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムモジュールの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００５２】
＜実施態様の例＞
本発明の実施態様の例を以下に列挙する。
【００５３】
［実施態様１］  電子原稿形式のデータを解析し、該データに組み込まれるフォントの指定を抽出する抽出手段と、
前記フォントの指定に対応するフォントデータを、前記電子原稿形式のデータ共通のフォントデータとして生成し、システムＯＳに登録する登録手段と、
前記電子原稿形式のデータを描画処理する際に、該データ中で指定されたフォントを描画するために、前記登録されたフォントデータを参照し、該データの描画に組み込む描画処理手段と、
を有することを特徴とする描画処理装置。
【００５４】
［実施態様２］  前記登録手段は、前記フォントデータをシステムに登録する際、重複の有無を判断し、既に登録されている場合は該フォントデータの生成を行なわないことを特徴とする実施態様１に記載の描画処理装置。
【００５５】
［実施態様３］  前記登録手段は、前記フォントデータをシステムに登録する際、前記システムＯＳに登録できる設定数を超えるか否かを判断し、該判断結果に従いフォントデータの登録を制御することを特徴とする実施態様１に記載の描画処理装置。
【００５６】
［実施態様４］  前記登録手段は、前記システムＯＳに登録できる設定数を超える場合、新規登録が可能な領域を確保するために、登録順に従って既登録のフォントデータを削除することを特徴とする実施態様３に記載の描画装置。
【００５７】
［実施態様５］  前記描画処理の結果を出力する出力手段を更に備えることを特徴とする実施態様１に記載の描画処理装置。
【００５８】
［実施態様６］  前記出力手段には、描画処理の結果を可視化する表示装置、あるいは、記録媒体に記録して出力するプリンタ、ファクシミリ装置が含まれることを特徴とする実施態様１または５に記載の描画処理装置。
【００５９】
［実施態様７］  前記設定数は、可変のパラメータであることを特徴とする実施態様３に記載の描画処理装置。
【００６０】
［実施態様８］  電子原稿形式のデータを解析し、該データに組み込まれるフォントの指定を抽出する抽出工程と、
前記フォントの指定に対応するフォントデータを、前記電子原稿形式のデータ共通のフォントデータとして生成し、システムＯＳに登録する登録工程と、
前記電子原稿形式のデータを描画処理する際に、該データ中で指定されたフォントを描画するために、前記登録されたフォントデータを参照し、該データの描画に組み込む描画処理工程と、
を有することを特徴とする描画処理方法。
【００６１】
［実施態様９］  前記登録工程は、前記フォントデータをシステムに登録する際、重複の有無を判断し、既に登録されている場合は該フォントデータの生成を行なわないことを特徴とする実施態様８に記載の描画処理方法。
【００６２】
［実施態様１０］  前記登録工程は、前記フォントデータをシステムに登録する際、前記システムＯＳに登録できる設定数を超えるか否かを判断し、該判断結果に従いフォントデータの登録を制御することを特徴とする実施態様８に記載の描画処理方法。
【００６３】
［実施態様１１］  描画処理装置の制御プログラムであって、該プログラムが、電子原稿形式のデータを解析し、該データに組み込まれるフォントの指定を抽出する抽出モジュールと、
前記フォントの指定に対応するフォントデータを、前記電子原稿形式のデータ共通のフォントデータとして生成し、システムＯＳに登録する登録モジュールと、
前記電子原稿形式のデータを描画処理する際に、該データ中で指定されたフォントを描画するために、前記登録されたフォントデータを参照し、該データの描画に組み込む描画処理モジュールと、
を有することを特徴とする描画処理装置の制御プログラム。
【００６４】
［実施態様１２］  実施態様１１に記載の描画処理装置の制御プログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
【００６５】
【発明の効果】
以上説明したように、本発明によれば、エンベットフォントの登録を管理することによって、同一のフォントファイルの重複登録を防止することが可能になり、描画処理の高速化が可能になる。
【００６６】
あるいは、過度のフォントファイルの登録を防止するために、その登録数を制限し、ＯＳのワークエリアを確保することで、描画処理の高速化が可能になる。
【図面の簡単な説明】
【図１Ａ】電子原稿を処理するシステムのハードウエア構成を示す図である。
【図１Ｂ】電子原稿処理システムにおけるソフトウエア構成を示す図である。
【図１Ｃ】アプリケーションによって生成される電子原稿の構成例を示す図である。
【図１Ｄ】電子原稿処理モジュールの処理の概略的な流れを説明するフローチャートである。
【図１Ｅ】ページ毎の描画処理の流れを説明するフローチャートである。
【図２Ａ】電子原稿形式のファイルフォーマットにおいて、ページ描画データとエンベットフォントデータの格納例を示す図である。
【図２Ｂ】図１ＥのステップＳ１０１１の処理に対応する、エンベットフォント描画処理の流れを説明する図である。
【図３Ａ】ＯＳ１０６０に登録されたフォントファイル管理テーブルの構成を例示する図である。
【図３Ｂ】図１ＥのステップＳ１０１２に対応し、フォントファイル管理テーブルにデータを登録するための処理を説明するフローチャートである。
【図４】フォントファイル管理テーブルに対するアクセスを制御する制御テーブルを示す図である。
【図５】フォントファイル管理テーブルの構成例を示す図である。
【図６】制御テーブルの設定を示す図である。
【図７】フォントファイル管理テーブルが、２００個のファイルを登録した状態を例示する図である。
【図８】１ページの描画データ中に、登録可能なフォント数を超えるフォントデータが指定された例を示す図である。
【図９】フォントファイル管理テーブルに対するアクセスを制御する制御テーブルの設定例を示す図である。
【図１０】２０１番目のフォントファイルをフォントファイル管理テーブルに登録する処理を説明する図である。
【図１Ａ】
2004318681.tif 000003
【図１Ｂ】
2004318681.tif 000004
【図１Ｃ】
2004318681.tif 000005
【図１Ｄ】
2004318681.tif 000006
【図１Ｅ】
2004318681.tif 000007
【図２Ａ】
2004318681.tif 000008
【図２Ｂ】
2004318681.tif 000009
【図３Ａ】
2004318681.tif 000010
【図３Ｂ】
2004318681.tif 000011
【図４】
2004318681.tif 000012
【図５】
2004318681.tif 000013
【図６】
2004318681.tif 000014
【図７】
2004318681.tif 000015
【図８】
2004318681.tif 000016
【図９】
2004318681.tif 000017
【図１０】
2004318681.tif 000018