(57)【要約】【課題】  ＯＳがラスタライズ機能を持つ場合と持たない場合でフォントの描画品質が異なり、ユーザーに混乱を招くという問題がある。【解決手段】  フォントを描画する際、予め代替えフォントを固定的に行うか、及び、ＯＳがＴｙｐｅ１フォントを描画する能力があるかどうか確認し、ＯＳにＴｙｐｅ１フォントの描画能力がある場合は、エンベットされたＴｙｐｅ１フォントをＯＳに登録し、描画を行い、ＯＳにＴｙｐｅ１フォントの描画能力が無ければ、Ｔｙｐｅ１フォントを独自のラスタライズ機能でＢｉｔｍａｐ化し画像（原稿）に付加する事によってＩＷＰファイル作成時と同一のフォント描画をＯＳの種別によらず可能とする。【選択図】        図８
2006277035.tif 000002
【特許請求の範囲】
【請求項１】
フォントファイルが埋め込まれた電子文書からフォントファイルを抽出し、抽出したフォントファイルをＯＳに対して登録し、登録したフォントを用いて画面表示や印刷を行うためにデバイスコンテキスト描画を行う情報処理装置であって、
ＯＳに登録するフォントを管理するためのフォントファイル管理テーブルと、
フォントを描画するためにフォントファイルをＯＳに登録する際、使用したいフォントがすでに登録されているか前記フォントファイル管理テーブルを検索する検索手段と、
登録されていない場合は前記フォントファイル管理テーブルに当該フォントを登録した後、ＯＳにこのフォントファイルを登録する登録手段と、
登録済みのフォントが最大フォント数である場合、登録が古いフォントのＯＳへの登録を解除するとともに、前記フォントファイル管理テーブルから抹消する削除手段と、
フォントがＴｙｐｅ１であった場合、このフォントがＯＳに登録可能か判定し、登録可能な場合に該ＯＳに当該フォントを登録し、それ以外の場合はＯＳに登録されているフォントから一番近い代替えフォントを使用するか、又は、Ｔｙｐｅ１フォントのラスタライザを使用してフォントをビットマップ画像として描画することを選択できることを特徴とする情報処理装置。
【請求項２】
電子文書のフォーマットがＰＤＦであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
Ｔｙｐｅ１の埋め込みフォントについて固定的に代替え処理を行う様に予め設定可能であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
Ｔｙｐｅ１の非埋め込みフォントについて固定的に代替え処理を行う様に予め設定可能であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記フォントファイル管理テーブルに登録できるフォントがＯｐｅｎＴｙｐｅであることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
Ｔｙｐｅ１の埋め込みフォントについて固定的にラスタライズ処理を行う様に予め設定可能であることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
フォントファイルが埋め込まれた電子文書からフォントファイルを抽出し、抽出したフォントファイルをＯＳに対して登録し、ＯＳに登録するフォントを管理するためのフォントファイル管理テーブルと、登録したフォントとを用いて画面表示や印刷を行うためにデバイスコンテキスト描画を行う情報処理方法であって、
フォントを描画するためにフォントファイルをＯＳに登録する際、使用したいフォントがすでに登録されているか前記フォントファイル管理テーブルを検索する検索ステップと、
登録されていない場合は前記フォントファイル管理テーブルに当該フォントを登録した後、ＯＳにこのフォントファイルを登録する登録ステップと、
登録済みのフォントが最大フォント数である場合、登録が古いフォントのＯＳへの登録を解除するとともに、前記フォントファイル管理テーブルから抹消する削除ステップと、
フォントがＴｙｐｅ１であった場合、このフォントがＯＳに登録可能か判定し、登録可能な場合に該ＯＳに当該フォントを登録し、それ以外の場合はＯＳに登録されているフォントから一番近い代替えフォントを使用するか、又は、Ｔｙｐｅ１フォントのラスタライザを使用してフォントをビットマップ画像として描画することを選択できることを特徴とする情報処理方法。
【請求項８】
フォントファイルが埋め込まれた電子文書からフォントファイルを抽出し、抽出したフォントファイルをＯＳに対して登録し、ＯＳに登録するフォントを管理するためのフォントファイル管理テーブルと、登録したフォントとを用いて画面表示や印刷を行うためにデバイスコンテキスト描画を行う装置を制御するためのコンピュータプログラムであって、
フォントを描画するためにフォントファイルをＯＳに登録する際、使用したいフォントがすでに登録されているか前記フォントファイル管理テーブルを検索する検索ステップと、
登録されていない場合は前記フォントファイル管理テーブルに当該フォントを登録した後、ＯＳにこのフォントファイルを登録する登録ステップと、
登録済みのフォントが最大フォント数である場合、登録が古いフォントのＯＳへの登録を解除するとともに、前記フォントファイル管理テーブルから抹消する削除ステップと、
フォントがＴｙｐｅ１であった場合、このフォントがＯＳに登録可能か判定し、登録可能な場合に該ＯＳに当該フォントを登録し、それ以外の場合はＯＳに登録されているフォントから一番近い代替えフォントを使用するか、又は、Ｔｙｐｅ１フォントのラスタライザを使用してフォントをビットマップ画像として描画することを選択できるように制御するためのプログラムコードを含むことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書（例えば、独自に開発した電子文書（後述する実施例ではＩＷＰ文書フォーマットと呼ぶ）、または、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）文書など）を使用した電子的な文書描画ソフトウエアに係る情報処理装置、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、Ｔｙｐｅ１フォントが埋め込まれたまたは、使用された電子文書の描画を行う場合、ＯＳにＴｙｐｅ１フォントの描画能力が無い場合、全て代替えフォントにより描画を行っていた。
【特許文献１】特開平１０−０９１６２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の技術では、ＯＳがラスタライズ機能を持つ場合と持たない場合でフォントの描画品質が異なり、ユーザーに混乱を招く恐れがあるという問題がある。
【０００４】
本発明は、以上の点に着目して成されたもので、ＯＳによらず同一のフォント描画を保証でき、速度重視などの使用状況にあわせた動作環境を実現する情報処理装置、情報処理方法およびコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、フォントを描画する際、予め代替えフォントを固定的に行うか、及び、ＯＳがＴｙｐｅ１フォントを描画する能力があるかどうか確認し、ＯＳにＴｙｐｅ１フォントの描画能力がある場合は、エンベットされたＴｙｐｅ１フォントをＯＳに登録し、描画を行い、ＯＳにＴｙｐｅ１フォントの描画能力が無ければ、Ｔｙｐｅ１フォントを独自のラスタライズ機能でＢｉｔｍａｐ化し画像（原稿）に付加する事によってＩＷＰファイル作成時と同一のフォント描画をＯＳの種別によらず可能とする。
【０００６】
すなわち、本発明の技術内容は以下の構成を備えることにより前記課題を解決できた。
【０００７】
（１）フォントファイルが埋め込まれた電子文書からフォントファイルを抽出し、抽出したフォントファイルをＯＳに対して登録し、登録したフォントを用いて画面表示や印刷を行うためにデバイスコンテキスト描画を行う情報処理装置であって、ＯＳに登録するフォントを管理するためのフォントファイル管理テーブルと、フォントを描画するためにフォントファイルをＯＳに登録する際、使用したいフォントがすでに登録されているか前記フォントファイル管理テーブルを検索する検索手段と、登録されていない場合は前記フォントファイル管理テーブルに当該フォントを登録した後、ＯＳにこのフォントファイルを登録する登録手段と、登録済みのフォントが最大フォント数である場合、登録が古いフォントのＯＳへの登録を解除するとともに、前記フォントファイル管理テーブルから抹消する削除手段と、フォントがＴｙｐｅ１であった場合、このフォントがＯＳに登録可能か判定し、登録可能な場合に該ＯＳに当該フォントを登録し、それ以外の場合はＯＳに登録されているフォントから一番近い代替えフォントを使用するか、又は、Ｔｙｐｅ１フォントのラスタライザを使用してフォントをビットマップ画像として描画することを選択できることを特徴とする情報処理装置。
【０００８】
（２）フォントファイルが埋め込まれた電子文書からフォントファイルを抽出し、抽出したフォントファイルをＯＳに対して登録し、ＯＳに登録するフォントを管理するためのフォントファイル管理テーブルと、登録したフォントとを用いて画面表示や印刷を行うためにデバイスコンテキスト描画を行う情報処理方法であって、フォントを描画するためにフォントファイルをＯＳに登録する際、使用したいフォントがすでに登録されているか前記フォントファイル管理テーブルを検索する検索ステップと、登録されていない場合は前記フォントファイル管理テーブルに当該フォントを登録した後、ＯＳにこのフォントファイルを登録する登録ステップと、登録済みのフォントが最大フォント数である場合、登録が古いフォントのＯＳへの登録を解除するとともに、前記フォントファイル管理テーブルから抹消する削除ステップと、フォントがＴｙｐｅ１であった場合、このフォントがＯＳに登録可能か判定し、登録可能な場合に該ＯＳに当該フォントを登録し、それ以外の場合はＯＳに登録されているフォントから一番近い代替えフォントを使用するか、又は、Ｔｙｐｅ１フォントのラスタライザを使用してフォントをビットマップ画像として描画することを選択できることを特徴とする情報処理方法。
【０００９】
（３）フォントファイルが埋め込まれた電子文書からフォントファイルを抽出し、抽出したフォントファイルをＯＳに対して登録し、ＯＳに登録するフォントを管理するためのフォントファイル管理テーブルと、登録したフォントとを用いて画面表示や印刷を行うためにデバイスコンテキスト描画を行う装置を制御するためのコンピュータプログラムであって、フォントを描画するためにフォントファイルをＯＳに登録する際、使用したいフォントがすでに登録されているか前記フォントファイル管理テーブルを検索する検索ステップと、登録されていない場合は前記フォントファイル管理テーブルに当該フォントを登録した後、ＯＳにこのフォントファイルを登録する登録ステップと、登録済みのフォントが最大フォント数である場合、登録が古いフォントのＯＳへの登録を解除するとともに、前記フォントファイル管理テーブルから抹消する削除ステップと、フォントがＴｙｐｅ１であった場合、このフォントがＯＳに登録可能か判定し、登録可能な場合に該ＯＳに当該フォントを登録し、それ以外の場合はＯＳに登録されているフォントから一番近い代替えフォントを使用するか、又は、Ｔｙｐｅ１フォントのラスタライザを使用してフォントをビットマップ画像として描画することを選択できるように制御するためのプログラムコードを含むことを特徴とするコンピュータプログラム。
【発明の効果】
【００１０】
本発明によれば、Ｔｙｐｅ１フォントの独自ラスタライザを使うことによって、ＯＳによらず同一のフォント描画を保証できる。また、このラスタライザを使用するかどうかの設定を予め行うことによって、速度重視などの使用状況にあわせた動作環境を提供することが出来る。
【発明を実施するための最良の形態】
【００１１】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例１】
【００１２】
図１の「各ページで使用するフォントが同じ場合」では、３ページの電子文書のそれぞれにフォントが組み込まれている場合について説明する。
【００１３】
１ページ目にはＦｏｎｔ００１とＦｏｎｔ００３の組み込みフォントを使用したテキスト描画がある（１００）。２ページ目にはＦｏｎｔ００２の組み込みフォントを使用したテキスト描画がある（１０１）。３ページ目にはＦｏｎｔ００３とＦｏｎｔ００１の組み込みフォントを使用したテキスト描画がある（１０２）。
【００１４】
図２の「ＩＷＰファイルのページ描画データと組み込み（以降、エンベットと記載する）フォントデータ」では、ＩＷＰ（またはＰＤＦ）データ内のフォントの描画情報と、描画に必要なエンベットフォント情報の関係について説明する。なお、本実施例では、フォントデータを組み込み可能な独自フォーマットの電子文書をＩＷＰ文書と呼ぶこととする。
【００１５】
まず、ファイルヘッダの先頭行には“％ＩＷＰ−”と言う特定の文字列があり、データがこの文字列から始まる場合本ソフトウエアで描画可能なファイルである（２０１）。
【００１６】
図２のＩＷＰファイルには複数ページの描画に必要な情報を確認する事ができる。
【００１７】
（２０６）は（１００）のページデータのＩＷＰファイル内の格納位置を示したものである。このページではＦｏｎｔ００１と、Ｆｏｎｔ００３の二つのフォントをエンベットしている。これらのフォントを描画する場合Ｆｏｎｔ１は（２０２）のフォント情報を参照し、Ｆｏｎｔ３は（２０４）のフォント情報を参照する。
【００１８】
（２０７）は（１０１）のページデータのＩＷＰファイル内の格納位置を示したものである。このページではＦｏｎｔ００２エンベットしている。これらのフォントを描画する場合Ｆｏｎｔ２は（２０３）のフォント情報を参照する。
【００１９】
（２０８）は（１０２）のページデータのＩＷＰファイル内の格納位置を示したものである。このページではＦｏｎｔ００３と、Ｆｏｎｔ００１の二つのフォントをエンベットしている。これらのフォントを描画する場合Ｆｏｎｔ１は（２０２）のフォント情報を参照Ｆｏｎｔ３は（２０４）のフォント情報を参照する。
【００２０】
このように、複数のページで同じフォントを描画する場合、参照するフォントファイルを共通化している。
【００２１】
本アプリケーションではエンベットされたフォントを描画する際、図２に示すようなフォント情報からフォントファイルを作成し、このフォントファイルをＯＳに登録後に描画を行う。一方、Ｗｉｎｄｏｗｓ（登録商標）は多くのＯＳの種類を持っているが、各ＯＳによって登録できるフォント数の上限が異なる。このため、ＯＳに登録できるフォントの上限を管理し、また、フォントファイルの重複作成、無駄なＯＳへのフォント登録を回避し、描画速度を向上させるためにフォント管理テーブルを作成する。
【００２２】
図３は各フォントが使用されているページとＯＳ登録するファイル名称」、「ＯＳに登録するフォント名称」の関係を整理したものである。
【００２３】
各ＯＳでは最大Ｎ個（プログラム作成時に変更可能）のフォントを同時に登録する事が可能である。例えば、テーブル番号１のフォントは１ページ目でのみ使用され、ＯＳに登録するフォントファイル名称は「ＮｅｗＤＴＸＤＥＦ＋Ｃｅｎｔｕｒｙ１１２５０４０１００．ｔｔｆ」、ＯＳに登録するフォント名称は「ＮｅｗＤＴＸＤＥＦ＋Ｃｅｎｔｕｒｙ１１２５０４０１００」のようになる。今、１ページを描画し、次に２ページを描画する場合を考える。Ｐａｇｅ１では８個のフォントファイルを作成し、８種類のフォントを描画する。次に２ページ目を描画する場合、１１個のフォントファイルが必要だが、１ページ目で作成されていない６個のフォントファイルを作成すれば良い事になり、５個分のファイル作成時間を省く事ができる。
【００２４】
図４−１のフォント管理テーブルは図４−２のフォントファイル管理テーブルへのポインター（５０１）、作成済みフォントファイル数（５０２）、登録済みのフォントファイル数（５０３）で構成されている。
【００２５】
最初のページの最初のフォントを描画する場合、フォント管理テーブルをまず参照し、次にフォントファイル管理テーブルポインタからフォントファイル管理テーブルを参照する。
【００２６】
フォントファイル管理テーブルには「ＩＷＰ内部のフォント名称」、「ＯＳに登録するフォントファイル名称」、「ＯＳに登録するフォント名称」の３つの項目がある。ＩＷＰファイルにエンベットされたフォントはＩＷＰファイル作成時に使用したオリジナルのフォントと異なるフォント名称がつけられている。これは、ＩＷＰファイルがページ毎に他のＩＷＰファイルと入れ替えなどの編集を行う事が可能であるが、エンベットフォントに関しては使用ページ毎に分割や結合ができないため、ページ編集の時に他のページで使用している同一のフォントと重複しない措置である。
【００２７】
また、本アプリケーションは同一のＰＣ内で複数起動されることがあり、その際同じＩＷＰファイルを描画する事がある。この時、ＩＷＰファイルで使用されているフォントをそのままＯＳに登録すると、同じフォントを同時にＯＳに登録する。このような状況ではアプリケーションの不正処理やＯＳのクラッシュなどの問題をふきおこす可能性がある。このため、ＯＳに登録するフォント名称をＩＷＰファイル内のフォント名称と変異なるように変更している。新規にＯＳに登録するフォントについてはフォントファイル管理テーブルに必ず登録する必要がある。
【００２８】
図５−１、図５−２はＯＳに登録するファイルがＮ（最大値）になった場合である。
【００２９】
この時図６に示すように１ページあたり２０１種類のエンベットフォンとを使用している場合、登録テーブルの最大値を超えるので２０１個目のフォントが描画できない事になる。
【００３０】
図７−１、図７−２では２０１個目のエンベットフォントの描画のついて説明する。
【００３１】
図７−１の「フォント管理テーブル」の「登録済みのフォントファイル数」がＮ（最大値）の場合、「フォントファイル管理テーブル」の２０１番目に新しいエンベットフォント情報を登録する。次に一番古いフォントについてＯＳへのフォント登録を解除し、「フォントファイル管理テーブル」の「ＯＳに登録するＦＯＮＴ名称」を削除する。この時点では「登録済みのフォントファイル数」は１９９となる。最後に「フォントファイル管理テーブル」の２０１番目に登録したフォントをＯＳに登録し、「ＯＳに登録するＦＯＮＴ名称」にフォント名称を書き込む。
【００３２】
図８のＩＷＰ  Ｆｉｌｅの描画処理のフローチャートで詳細な動作を説明する。
【００３３】
本ソフトウエアは上位アプリケーションにより指定されたＩＷＰファイルを描画するアプリケーションである。上位アプリケーションによりＩＷＰファイルの描画指示がされると本アプリケーションが起動される。このフローチャートでは全体の流れを記載し、各項目の細かな処理については図９以降で説明する。
【００３４】
まず指定されたＩＷＰファイルをオープンする。この時、ＯＰＥＮできない場合については別途エラー処理が必要である（９０１）。
【００３５】
次にＦｏｎｔ管理テーブルの初期設定を行う（９０２）。フォント管理テーブルの最大値の決定については図１２を用いて別途説明する。ＦｏｎｔＦｉｌｅ管理テーブルの初期設定を行う（９０３）。１ページ目の描画処理を行い（９０４）、２ページ目の描画処理を行い（９０５）、３ページ目の描画処理を行（９０６）、最後にＸページ目の描画処理を行う（９０７）。
【００３６】
各ページの描画処理については図９以降で説明する。
【００３７】
本ソフトウエアはエンベットフォンとの描画のためにＩＷＰファイルから取り出したフォントをＯＳに登録するが、描画処理が終了した時点でこの登録を削除する必要がある（９０８）。
【００３８】
フォントのＯＳへの登録を削除完了後、Ｆｏｎｔ管理テーブルを初期化する（９０９）。一時作業エリアに作成したフォントファイルを削除すし（９１０）、フォントファイル管理テーブルを初期化する（９１１）。
【００３９】
図９の「ページ毎の描画処理のフローチャート」で、各ページの処理の流れを説明する。
【００４０】
ページ描画処理が起動されると、まず指定されたページをメモリーにロードする（１００１）。次にメモリーにロードされたＩＷＤファイルを描画するためにＩＷＤファイル仕様に従いオペレータの解析を行う（１００２）。指定されたページで使用するエンベットフォントを確認し、フォントファイル管理テーブルに登録する（１００５）。この特、図３で説明したように既に作成済みのフォントのついては再作成は行わない。
【００４１】
１ページ分描画終了かどうか判定し（１００６）、終了なら処理を終了する。終了でない場合、次のＴＥＸＴ描画コマンドを取り出す（１００７）。取り出したＴＥＸＴ描画コマンドについてエンベットフォントかどうか判定し（１００８）、エンベットフォントであれば（１００９）のフォントがＴｒｕｅＴｙｐｅかの判定を行う。エンベットフォントでない場合、通常のフォント描画処理を起動し（１０１３）、終了後に１ページの描画処理終了判定（１００６）に戻る。ＴｒｕｅＴｙｐｅフォントであれば、そのままフォントをＯＳに登録し、描画することが可能なので、（１０１５）のエンベットフォント描画処理を起動する。フォントがＴｒｕｅＴｙｐｅでない場合「Ｔｙｐｅ１代替え指定あり？」の判定（１０１０）に進む。
【００４２】
ユーザーによっては、ＯＳにより代替えする／しない条件異なる事によって、描画されるＴｙｐｅ１フォントのフォントフェースが異なってしまう事を避けるため、Ｔｙｐｅ１のエンベットフォントを固定的にＴｒｕｅＴｙｐｅに代替え設定する場合がある。この際、代替えを行うフォントを一意的に指定するためのフォント代替えテーブルにより代替えフォントを予め指定する事ができる。
【００４３】
予めＴｙｐｅ１を固定的に代替え（ＴｒｕｅＴｙｐｅ）する設定かどうかを確認し（１０１０）、代替えする設定ならば、（１０１３）のＦｏｎｔ描画処理に進む。代替えしない設定の場合、ＯＳがＴｙｐｅ１フォントを描画可能かどうか調査し（１０１１）、Ｔｙｐｅ１フォントの描画をサポートしていないＯＳであれば、Ｆｏｎｔのラスタライザを使用するかどうかの判定（１０１２）に進む。
【００４４】
ＯＳがＴｙｐｅ１フォントを描画可能であれば、（１０１５）のエンベットＦｏｎｔの描画処理に進む。
【００４５】
（１０１２）のＦｏｎｔのラスタライザを使用するかどうかの判定するため、予め設定された値を収集しておく。ラスタライザを使用する設定の場合、（１０１４）のＦｏｎｔラスタライザ処理に進む。
【００４６】
使用しない場合、（１０１３）のＦｏｎｔ描画処理に進む。
【００４７】
（１０１３）のフォント描画処理については図１１で説明する。
【００４８】
（１０１４）のＦｏｎｔラスタライズ処理について以下に説明する。
【００４９】
Ｆｏｎｔのラスタライズ処理を行う場合、描画するフォントの解像度、フォントのサイズ等、フォントの描画のために必要な情報を収集する。フォントの描画のために必要な様々な情報のあるヘッダ領域と、フォントの描画情報のあるグリフ領域、描画解像度にあわせて線の太さや位置を調整するＨｉｎｔ情報がある。Ｆｏｎｔのラスタライズのためにはこれらの情報を使用して、オリジナルのフォントを忠実にＢｉｔｍａｐ化しなければならない。このようにして作成されたＢｉｔｍａｐ（フォント）を原稿の指定された位置に描画を行うが、この際、背景にすでに色があった場合、背景色とフォントの色がスムーズにつながるように特に境界領域では表示色を計算する必要がある。
【００５０】
（１０１５）のエンベットフォンと描画処理については図１０で説明する。
【００５１】
図１０の「エンベットフォントの描画処理のフローチャート」について説明する。
【００５２】
エンベットフォンとの描画処理が起動されると、まず、ＴＥＸＴオペレータを解析する（１１０１）。描画するフォント名を収集する（１１０２）。複数のページを描画する場合、前に描画したページで同一のフォントを描画していた場合、このフォントがＯＳに登録されている場合がある。このような場合はＯＳへのフォント登録は行ってはいけない。
【００５３】
そこで、フォントが既にＯＳに登録されているかどうか判定し（１１０３）、登録されている場合はフォントの描画処理（１１０４）に進む。ＯＳに登録されていない場合フォント管理テーブルを確認し、ＯＳに登録されているフォントの数を調べ（１１０５）、フォントのＯＳへの登録数がＮ（最大値）以上であれば、一番古いＯＳに「登録したフォントをＯＳの登録から削除し（１１０７）、（１１０６）の処理に進む。ＯＳへのフォントの登録数がＮ（最大値）未満なら、そのままエンベットフォンとをＯＳに登録し（１１０６）、（１１０４）のフォント描画処理に進む。
【００５４】
フォントの描画処理（１１０４）が終了すると、この処理を終了する。
【００５５】
図１１の「フォントの描画処理のフローチャート」について説明する。
【００５６】
図９でフォントの描画処理が起動されると、まず、（１００２）番で解析されたＩｗｐオペレータからＴＥＸＴ描画オペレータ情報を収集し解析する（１２０１）。同様に描画するフォント名を収集する（１２０２）。（１２０１）、（１２０２）の情報から描画を行うフォントがＴｙｐｅ１フォントで、かつ、（１０１２）で説明したように固定的な代替え設定かどうか判定し（１２０４）、Ｔｙｐｅ１フォントかつ代替え設定でない場合、（１２０３）でＯＳのＴＥＸＴ描画コマンドを作成し、描画を行い（１２０３）、ＴＥＸＴ描画後に処理を起動元に返す。
【００５７】
Ｔｙｐｅ１かつ代替え設定でない場合、このフォントがＯＳに既に登録されているかどうかを判定し（１２０５）、登録されていれば、ＴｒｕｅＴｙｐｅのフォント描画と同様にＦｏｎｔの描画を行う処理（１２０３）に進む。ＯＳ登録が無い場合、（１０１２）で説明した、予め指定されたフォントの代替え指定テーブル（図１３  フォントの代替え指定テーブル）があり、かつ、代替えするフォントが設定されている場合は（１２０８）の処理に進む。フォント代替え指定テーブルが指定されていなければ（１２０６）の処理に進む。
【００５８】
（１２０８）では代替えフォントテーブル（図１３  フォントの代替え指定テーブル）から代替えするフォント名を検索し、（１２０６）のＯＳによるフォント代替処理にこのフォント情報を渡す。（１２０６）のＯＳによる代替えフォント代替え処理では、（１２０８）で描画フォントが指定されていれば、このフォントで描画し、指定されていない場合、Ｔｙｐｅ１フォント名を使ってＯＳへフォント指定処理を行い、ＯＳによるフォント代替え処理を使用してフォントを指定する。ＯＳに登録されていないフォントを描画し辞された場合、ＯＳはフォント情報から最適なフォントを選択する機構を差なえている。
【００５９】
図１２の「フォント管理テーブルの初期設定のフローチャート」について説明する。
【００６０】
フォント管理テーブルの初期設定が起動されると、まず、外部から本ソフトウエアが起動された時、フォント管理テーブルの上限値を収集する（１３０１）。外部設定ありかどうか判定し（１３０２）、外部設定値があればこの値を「フォント管理テーブルの上限値」として設定し（１３０３）本処理を終了する。外部設定値が無い場合、現在のＯＳに登録されているフォントの登録数を調査する（１３０４）、登録損と数が予め設定されていた閾値（本ソフトウエアを開発する際に固定的に決めた上限値）より多い場合、「フォント管理テーブルの上限値＝“５０”」とし（１３０７）、閾値と同じか閾値より少ない場合、「フォント管理テーブルの上限値＝“２”」とし、（１３０６）本処理を終了する。
【００６１】
これらの「フォント管理テーブルの上限値」の最大値“５０”、“２”は本ソフトウエアを開発する際に設定する事ができる。
【実施例２】
【００６２】
本発明の実施例２について述べる。ＩＷＰ又はＰＤＦを用いた文書管理を行うドキュメント管理システムにおいて、これらのファイルを表示、または印刷のためにＯＳに描画するための機能を提供するためのソフトウエアである。エンベットされたフォントはＩＷＰファイル作成時にオリジナルのフォントの解像度から下げられている場合も少なくない。
【００６３】
このようなフォントは拡大して印刷した場合に輪郭が滑らかでないなどの品質の低下が起きる場合が有る。このような場合、全てのフォントを描画ＰＣに登録されている解像度の高いフォントに代替えして描画する事により、描画品質の低下を防ぐという積極的な使用方法も考えられる。
【００６４】
また、独自で開発したＦｏｎｔのラスタライザを使用した場合、ＯＳのＦｏｎｔ描画機能を使用した場合に比べて処理速度が遅くなる場合がある。特に処理速度を優先する場合等、独自Ｆｏｎｔのラスタライザを使用しないような選択も有効である。
【００６５】
さらに、ＯＳにＴｙｐｅ１フォントの描画機能がある場合と無い場合では、フォントの描画処理が異なるため、描画されたフォントのタイプフェースが異なる可能性がある。そこで、ＯＳにＴｙｐｅ１のラスタライズ機能がある／無いに関わらず、一律独自のラスタライザを使用することで、ＯＳによらず同一のフォントタイプフェースを保証できる。
【００６６】
以上説明してきたように、本発明によれば、Ｔｙｐｅ１フォントの独自ラスタライザを使うことによって、ＯＳによらず同一のフォント描画を保証できる。また、このラスタライザを使用するかどうかの設定を予め行うことによって、速度重視などの使用状況にあわせた動作環境を提供することが出来る。
【図面の簡単な説明】
【００６７】
【図１】複数ページを描画する際、複数のフォントを使用した例の図
【図２】ＩＷＰファイルフォーマットにおけるページデータとエンベットフォントデータの格納例の図
【図３】複数ページで多数のエンベットフォントを使用した場合のフォント作成状況を説明した図
【図４】４−１はフォント管理テーブル、４−２はフォントファイル管理テーブル
【図５】５−１は最大値まで登録されたフォント管理テーブル、５−２は最大値まで登録されたフォントファイル管理テーブル
【図６】１ページにＮ＋１個のフォント描画がある場合の例を示す図
【図７】７−１はＮ＋１個（最大値＋１）目のフォントを登録した場合のフォント管理テーブル、７−２はＮ＋１個（最大値＋１）目のフォントを登録した場合のフォントファイル管理テーブル
【図８】ＩＷＰファイルの描画を説明したフローチャート
【図９】ページ毎の描画手順を説明したフローチャート
【図１０】エンベットフォントの描画手順を説明したフローチャート
【図１１】通常のフォントの描画手順を説明したフローチャート
【図１２】フォントファイル管理テーブル初期設定のフローチャート
【図１３】フォントの代替え指定テーブル
【符号の説明】
【００６８】
１００  １ページ目のテキスト描画
１０１  ２ページ目のテキスト描画
１０２  ３ページ目のテキスト描画
【図１】
2006277035.tif 000003
【図２】
2006277035.tif 000004
【図３】
2006277035.tif 000005
【図４】
2006277035.tif 000006
【図５】
2006277035.tif 000007
【図６】
2006277035.tif 000008
【図７】
2006277035.tif 000009
【図８】
2006277035.tif 000010
【図９】
2006277035.tif 000011
【図１０】
2006277035.tif 000012
【図１１】
2006277035.tif 000013
【図１２】
2006277035.tif 000014
【図１３】
2006277035.tif 000015