(57)【要約】【課題】  フォント置き換え発生時に、オリジナルフォントもしくはオリジナルフォントに非常に近いピッチを再現することを目的とする。【解決手段】  レンダリング時もしくはファイル変換時にピッチ情報を使用するシステムにおいて、入力ファイル中にフォントがエンベッドされているかどうか判断する手段と、フォントがエンベッドされている場合は、フォント名がピッチ情報テーブルに登録されているかどうか判断する手段と、登録されていない場合はフォント名を登録する手段と、ピッチ情報テーブルに登録されていないグリフもしくは、仮登録のグリフかどうかを判断する手段と、登録されていないもしくは、仮登録の場合はピッチ情報テーブルに真の登録を行う手段を有する。【選択図】  図１
2007041936.tif 000002
【特許請求の範囲】
【請求項１】
レンダリング時もしくはファイル変換時にフォントの幅情報等、フォントの適切な配置に必要な情報(以下、ピッチ情報とする)を使用するシステムにおいて、入力ファイル中にフォントがエンベッドされているかどうか判断する手段と、フォントがエンベッドされている場合は、フォント名がフォントのピッチ情報を格納している情報保持手段(以下、ピッチ情報テーブルとする)に登録されているかどうか判断する手段と、登録されていない場合はフォント名を登録する手段と、ピッチ情報テーブルに登録されていないグリフもしくは、仮登録のグリフかどうかを判断する手段と、登録されていないもしくは、仮登録の場合はピッチ情報テーブルに真の登録を行う手段を有することを特徴とする請求項１に記載の文書処理システム。
【請求項２】
更に、請求項1の入力ファイル中にフォントがエンベッドされているかどうか判断する手段において、フォントがエンベッドされていないと判断された場合は、フォントがインストールされているかどうかを判断する手段と、無い場合は代替フォントを選択する手段と、ピッチ情報テーブルにフォント名が登録されているかどうか判断する手段と、登録されている場合は、グリフがピッチ情報テーブルに登録されているかどうか判断する手段と、登録されていればその情報を使用する手段と、登録されていない場合は予測ピッチ情報を算出する手段と、そのピッチ情報をピッチ情報テーブルに仮登録する手段を有することを特徴とする文書処理システム。
【請求項３】
レンダリング時もしくはファイル変換時にピッチ情報を使用するシステムにおいて、入力ファイル中にフォントがエンベッドされているかどうか判断するステップと、フォントがエンベッドされている場合はフォント名がピッチ情報テーブルに登録されているかどうか判断するステップと、登録されていない場合はフォント名を登録するステップと、ピッチ情報テーブルに登録されていないグリフもしくは、仮登録のグリフかどうかを判断するステップと、登録されていないもしくは、仮登録の場合はピッチ情報テーブルに真の登録を行うステップを有することを特徴とする文書処理方法。
【請求項４】
更に、請求項3の入力ファイル中にフォントがエンベッドされているかどうか判断するステップにおいて、フォントがエンベッドされていないと判断された場合は、フォントがインストールされているかどうかを判断するステップと、無い場合は代替フォントを選択するステップと、ピッチ情報テーブルにフォント名が登録されているかどうか判断するステップと、登録されている場合は、グリフがピッチ情報テーブルに登録されているかどうか判断するステップと、登録されていればその情報を使用するステップと、登録されていない場合は予測ピッチ情報を算出するステップと、そのピッチ情報をピッチ情報テーブルに仮登録するステップを有することを特徴とする請求項３に記載の文書処理方法。
【請求項５】
レンダリング時もしくはファイル変換時にピッチ情報を使用する記憶媒体において、入力ファイル中にフォントがエンベッドされているかどうか判断する工程と、フォントがエンベッドされている場合はフォント名がピッチ情報テーブルに登録されているかどうか判断する工程と、登録されていない場合はフォント名を登録する工程と、ピッチ情報テーブルに登録されていないグリフもしくは、仮登録のグリフかどうかを判断する工程と、登録されていないもしくは、仮登録の場合はピッチ情報テーブルに真の登録を行う工程を有することを特徴とする記憶媒体。
【請求項６】
更に、請求項５の入力ファイル中にフォントがエンベッドされているかどうか判断する工程において、フォントがエンベッドされていないと判断された場合は、フォントがインストールされているかどうかを判断する工程と、無い場合は代替フォントを選択する工程と、ピッチ情報テーブルにフォント名が登録されているかどうか判断する工程と、登録されている場合は、グリフがピッチ情報テーブルに登録されているかどうか判断する工程と、登録されていればその情報を使用する工程と、登録されていない場合は予測ピッチ情報を算出する工程と、そのピッチ情報をピッチ情報テーブルに仮登録する工程を有することを特徴とする請求項５に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォントのピッチ情報を持たないファイルから、ピッチ情報の持つファイルに変換する時に、オリジナルのピッチと同等もしくはそれに近いものを再現する技術の分野に関する。
【背景技術】
【０００２】
例えばPSやEPSのように、ファイルの構成としてフォントの幅情報等が必要ないファイルから、例えばPDFのようにそれらが必要なファイルに変換する時、それらのフォントの幅情報等が必要になる。また、イメージ等にラスタライズする時においても、フォントの適切な配置を必要とする場合、それらのフォント情報が必要になる。しかし、入力されたファイルに使用されているフォントが実際にファイル変換を行ったり、ラスタライズを行うマシンに無かった場合、エラーにせずに出力する時、フォントの置き換えを行う必要がある。
【０００３】
この時、従来の技術では、様々な工夫を行い、入力ファイル中の元のフォントにより近いフォントに置き換えるような技術を確立してきた。
【０００４】
又、従来例としては、例えば特許文献１と特許文献２をあげることが出来る。
【特許文献１】特開平06-059851号公報
【特許文献２】特開平10-171789号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来の技術では、フォントの幅等の情報は、置き換えられたフォントのものを使用していたため、置き換えるフォントによっては、図5のようにテキストが他のオブジェクトに重なってしまう状況を発生させてしまうことがあった。
【０００６】
本案は、以上の問題を解決するために、フォントのピッチ情報を随時蓄積または、予想ピッチ情報を算出し、オリジナルのピッチと同等もしくはそれに非常に近いものを再現することが可能なシステム、方法および媒体を提供する。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、レンダリング時もしくはファイル変換時にピッチ情報を使用するシステムにおいて、入力ファイル中にフォントがエンベッドされているかどうか判断する手段と、フォントがエンベッドされている場合は、フォント名がピッチ情報テーブルに登録されているかどうか判断する手段と、登録されていない場合はフォント名を登録する手段と、ピッチ情報テーブルに登録されていないグリフもしくは、仮登録のグリフかどうかを判断する手段と、登録されていないもしくは、仮登録の場合はピッチ情報テーブルに真の登録を行う手段を有することを特徴とするものである。
【０００８】
更に、入力ファイル中にフォントがエンベッドされているかどうか判断する手段において、フォントがエンベッドされていないと判断された場合は、フォントがインストールされているかどうかを判断する手段と、ある場合はシステムのフォントを使用する手段と、無い場合は代替フォントを選択する手段と、ピッチ情報テーブルにフォント名が登録されているかどうか判断する手段と、登録されていない場合は代替フォントのピッチを使用する手段と、登録されている場合、グリフがピッチ情報テーブルに登録されているかどうか判断する手段と、登録されていればその情報を使用する手段と、登録されていない場合は予測ピッチ情報を算出する手段と、そのピッチ情報をピッチ情報テーブルに仮登録する手段を有することを特徴とするものである。
【発明の効果】
【０００９】
以上によれば、ファイル出力後のオリジナルのフォントを、オリジナルのピッチと同等もしくはそれに近いピッチで配置するための情報を蓄積でき、また、ピッチ情報が一つでも合えば、オリジナルのピッチと同等もしくはそれに近いピッチでフォントを配置できる。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明の実施形態を説明する。
【００１１】
図1はコンピュータ等における、概略構成のブロック図である。11は、システムバスであり、構成要素間のデータの転送を行う。101はCPU、すなわち中央演算装置であり、装置全体の制御および演算処理を行う。102はROM、すなわち読み出し専用メモリである。システム起動時のプログラム、基本I/Oプログラム等を記憶している。103はRAM、すなわちランダムアクセスメモリである。CPU101での演算結果や文字データ、図形データ、イメージデータ、用紙サイズやその他必要に応じた情報等を記憶し、また、外部記憶装置等からロードされたアプリケーション等を一時的に記憶する。
【００１２】
104はKBC、すなわちキーボード制御部であり、105はKB、すなわちキーボードである。105KBで入力されたデータを104KBCが受け取り、CPU101へ伝送する。106はCRTC、すなわちディスプレイ制御部であり、RAM等から表示するためのデータを読み出し、107に転送する。107はCRTすなわちディスプレイ装置であり、CRTC106より受け取った表示用のデータを画面に表示する。
【００１３】
108はDKC、すなわちディスク制御部であり、109へのアクセスの制御を行う。109はDKすなわち外部記憶装置であり、FDすなわちフレキシブルディスク、HDすなわちハードディスク、CD-ROM等のことである。HDには、PS、PDF等ドキュメントを解釈するプログラムやそれらをビットマップイメージ等に展開していくプログラム、またファイルを生成したり、時には印刷等のデバイス出力等のプログラムが記憶されている。本発明にかかわるアプリケーションプログラムおよびそれに関連するプログラム・データ等は、フレキシブルディスク装置、あるいはCD-ROM等の外部記憶装置から供給される。
【００１４】
110はNTC、すなわちネットワーク制御部であり、111ＮＴ、すなわちネットワーク装置の制御を行う。
【００１５】
図2は、本発明の処理を行う際の図1におけるメモリ103のメモリマップを示した図である。基本I/Oプログラムは、ROM102内のシステム起動プログラムによりRAM103に読み込まれる。また、外部装置109からアプリケーションプログラムおよび関連データ等を一旦ハードディスク装置等へインストールした状態で電源が入れられた時にハードディスク装置等からRAM103にロードすることにより、実行可能となる。尚、ここでは便宜上ハードディスクとしているが、フレキシブルディスク、CD-ROM等からRAM103へロードして実行することも可能である。
【００１６】
図3は本発明における、ピッチ情報テーブルの例である。これはあくまで一例であり、この形態は問わない。ここの例では、フォント名があり、各フォントにおける各グリフのピッチ情報等を格納し、更に、それらの登録が実データに基づくものかどうかの判断を行うことができる<登録>フラグを備える。ここにあげる例以外でも、フォントの配置に必要な情報は、随時格納することが可能となっている。
【００１７】
次に、図4のフローチャートを用いて、本発明の詳細を説明する。
【００１８】
ステップ1は、フォントオブジェクトの解釈のスタートであり、本案が提供するシステム、媒体および方法のスタートである。もし、本案において、初期設定もしくはユーザ設定等が必要となる場合は、この時点で行われてもよいし、これ以前に設定されていてもよい。
【００１９】
ステップ2では、フォントが入力ファイルにエンベッドされているかどうかの判断が行われる。フォントがエンベッドされている場合はステップ3へ、エンベッドされていない場合はステップ10へ進む。
【００２０】
ステップ3では、入力ファイルにエンベッドされているフォントが、ピッチ情報テーブルに登録されているかどうかを判断する。初めて解釈されるフォントはピッチテーブルには登録されておらず、新たにピッチ情報テーブルにフォント名を追加する必要がある。登録されている場合はステップ5へ、登録されていない場合はステップ4へ進む。
【００２１】
ステップ4は、初めて解釈されるフォントのフォント名を、ピッチ情報テーブルに追加登録する処理が行われる。登録後、ステップ5へ進む。
【００２２】
ステップ5は、ループの始端である。ループ処理の始まりの後に、ステップ6が実行される。これは、フォントの1文字ごとの解釈のスタートである。その後、ステップ7へ進む。
【００２３】
ステップ7では、解釈されているグリフがピッチ情報テーブル上に登録されているか、仮登録か、真登録かの判断が行われる。登録されていない、もしくは、登録が仮登録の場合はステップ8へ、既に登録されているグリフの場合はステップ9へ進む。
【００２４】
ステップ9はループの終端である。
【００２５】
ステップ10は、ステップ2において、フォントがエンベッドされていないと判断された場合に行われる処理の始まりである。ここでは、フォントがシステム等、例えばインストールという形で、本案が提供するシステムにおいて使用できるフォントであるかどうかの判断が行われる。使用できるフォントであればステップ11へ、使用できないフォントであれば、ステップ12へ進む。
【００２６】
ステップ11では、使用できるフォントから、直接フォントデータ等を取得し、各処理を行う。
【００２７】
ステップ12は、代替フォントを選択する処理が行われる。代替フォントの選択は、システムが使用できるフォント内において、グリフの形状からセリフ、幅等に至るまで、全てを考慮して最適なフォントが選択される。ここでの選択方法の詳細は問わない。
【００２８】
次のステップ13では、使用されているフォントのフォント名が、ピッチ情報テーブルに登録されているかどうかの判断が行われる。もし登録されていなければステップ14へ、登録されていればステップ15へ進む。
【００２９】
ステップ14では、ステップ12で選択された代替フォントのピッチを使用する処理が行われる。
【００３０】
ステップ15は、フォントの1文字ごとの解釈のスタートである。次のステップ16は、ループの始端である。次にステップ17に進む。
【００３１】
ステップ17は、解釈されているグリフが、ピッチ情報テーブルに登録されているかどうかの判断が行われる。もし、真登録もしくは仮登録されていれば、ステップ18へ、登録されていなければステップ19へ進む。
【００３２】
ステップ18では、ピッチ情報テーブルに登録されているピッチ情報を使用する処理が行われる。これは、グリフの形状は、ステップ12で選択された代替フォントを使用し、フォントの配置にかかる情報については、ピッチ情報をもとに処理が行われるものである。
【００３３】
ステップ19は、予測ピッチ情報を算出する処理が行われる。予測ピッチ情報の算出の仕方は問わないが、図6を例として説明する。フォント名「明朝」が予め登録されていて、その中で、「あ」の文字は既に真登録されていて、「い」という文字が登録されていなかったとする。この時、ステップ12において選択された代替フォントの「あ」の文字と「い」の文字の実データにおけるピッチ情報を元にピッチ情報テーブル「い」の文字のピッチ情報を算出する。例えば、ピッチ情報テーブル「明朝」のピッチが100であった場合、代替フォントの「あ」が90、「い」が81の場合、代替フォントでの「い」の「あ」に対する比率は0.9となる。これを元に、ピッチ情報テーブルの「あ」のピッチ100に、0.9の比率から算出して、予測ピッチ情報は90と算出される。
【００３４】
ステップ20では、算出された予測ピッチ情報をピッチ情報テーブルに仮登録する処理が行われる。
【００３５】
ステップ21はループの終端である。
【図面の簡単な説明】
【００３６】
【図１】システムが稼動する概略構成の一案である。
【図２】本発明にかかる処理を実行する際の、コンピュータ内のRAMのメモリマップを示す図である。
【図３】本案で使用される、ピッチ情報テーブルの一例である。
【図４】本発明の実施例のフローチャートである。
【図５】フォント置き換え時における、フォントが他のオブジェクトに重なってしまう場合の一例である。
【図６】予測ピッチ情報処理の一例である。
【符号の説明】
【００３７】
11  システムバス
101  CPU
102  ROM
103  RAM
104  キーボード制御部
105  キーボード
106  ディスプレイ制御部
107  ディスプレイ装置
108  ディスク制御部
109  外部記憶装置
110  ネットワーク制御部
111  ネットワーク装置
【図１】
2007041936.tif 000003
【図２】
2007041936.tif 000004
【図３】
2007041936.tif 000005
【図４】
2007041936.tif 000006
【図５】
2007041936.tif 000007
【図６】
2007041936.tif 000008