(57)【特許請求の範囲】
【請求項１】
フォントを識別するための方法であって、
文書における各文字が用いる埋込フォントを、文書の記述情報に従って、文書が用いる埋込フォントとして識別するステップを含み、前記文書における各文字が用いる前記埋込フォントは、前記文書の前記記述情報に記録され、さらに、
前記埋込フォントのグリフ集合において少なくとも１つのグリフを選択するステップと、
各選択されたグリフに対応するフォントを識別するステップと、
各選択されたグリフに対応する前記フォントに従って、前記埋込フォントに対応するオリジナルフォントを識別するステップとを含み、
前記各選択されたグリフに対応するフォントを識別するステップは、
各選択されたグリフについて、前記グリフに対応する文字エンコードを識別し、前記グリフのグリフ特徴値を計算し、前記文字エンコードと事前に生成されたグリフ特徴表における前記グリフ特徴値とに対応するフォントを求めて検索を行い、前記グリフに対応するフォントとして、前記グリフ特徴表において発見された前記フォントを識別するステップを含むか、または、
各選択されたグリフについて、前記選択されたグリフのグリフ特徴値を計算し、グリフ特徴表における前記グリフ特徴値に対応するフォントを求めて検索を行い、前記グリフに対応するフォントとして、前記グリフ特徴表において発見された前記フォントを識別するステップを含み、
前記グリフ特徴表は、文字エンコードと、フォントと、グリフ特徴値との間のマッピング関係を含み、
各選択されたグリフに対応するフォントに従って前記埋込フォントに対応するオリジナルフォントを識別するステップは、
各グリフに対応するフォントが同じフォントである場合、前記同じフォントを、前記埋込フォントに対応する前記オリジナルフォントとして識別するステップを含むか、または
同じフォントに対応するグリフを識別し、前記グリフが設定された条件を満たすかどうか判断し、かつ前記設定された条件が満たされる場合には前記同じフォントを前記埋込フォントに対応する前記オリジナルフォントとして識別するステップを含む、方法。
【請求項２】
前記埋込フォントのグリフ集合において少なくとも１つのグリフを選択するステップは、
前記文書における文字エンコードとグリフとの間のマッピング関係に従って、複数の事前に設定された一般的な文字にそれぞれ対応するグリフを識別し、前記埋込フォントの前記グリフ集合から、識別された前記グリフを選択するステップを含むか、または
前記文書において前記埋込フォントを用いる各グリフの出現回数を数え、前記グリフのうちもっとも出現回数が多かった少なくとも１つのグリフを選択するステップを含む、請求項１に記載の方法。
【請求項３】
前記グリフに対応する文字エンコードを識別するステップは、
文字エンコードとグリフとの間のマッピング関係が前記埋込フォントの前記グリフ集合に含まれる場合、前記マッピング関係に従って、前記グリフに対応する前記文字エンコードを識別するステップを含むか、または
光学文字認識（ＯＣＲ）技術を用いることにより、前記グリフに対応する前記文字エンコードを識別するステップを含む、請求項１に記載の方法。
【請求項４】
前記方法はさらに、ある文字が表示されるべきときに、前記埋込フォントに対応するオリジナルフォントが識別された後、
表示されるべき前記文字に対応するグリフを求めて、前記オリジナルフォントに対応するローカルに格納されたグリフ集合を検索し、前記検索により発見された前記グリフを用いて前記文字を表示するステップを含む、請求項１から請求項３のいずれか１項に記載の方法。
【請求項５】
フォントを識別するための装置であって、
文書における各文字が用いる埋込フォントを、文書の記述情報に従って、文書が用いる埋込フォントとして識別するよう構成される埋込フォント識別部を含み、前記文書における各文字が用いる前記埋込フォントは、前記文書の前記記述情報に記録され、さらに、
前記埋込フォントのグリフ集合において少なくとも１つのグリフを選択するか、または前記文書において埋込フォントを用いる文字に対応する少なくとも１つのグリフを選択するよう構成されるグリフ選択部と、
各選択されたグリフに対応するフォントを識別するよう構成されるグリフフォント識別部と、
各選択されたグリフに対応する前記フォントに従って、前記埋込フォントに対応するオリジナルフォントを識別するよう構成されるオリジナルフォント識別部とを含み、
前記グリフフォント識別部は、
各選択されたグリフについて、前記グリフに対応する文字エンコードを識別し、前記グリフのグリフ特徴値を計算し、前記文字エンコードと事前に生成されたグリフ特徴表における前記グリフ特徴値とに対応するフォントを求めて検索を行い、前記グリフに対応するフォントとして、前記グリフ特徴表において発見された前記フォントを識別するために用いられるか、または、
各選択されたグリフについて、前記選択されたグリフのグリフ特徴値を計算し、グリフ特徴表における前記グリフ特徴値に対応するフォントを求めて検索を行い、前記グリフに対応するフォントとして、前記グリフ特徴表において発見された前記フォントを識別するために用いられ、
前記グリフ特徴表は、文字エンコードと、フォントと、グリフ特徴値との間のマッピング関係を含み、
前記オリジナルフォント識別部は、
各グリフに対応するフォントが同じフォントである場合、前記同じフォントを、前記埋込フォントに対応する前記オリジナルフォントとして識別するために用いられるか、または
同じフォントに対応するグリフを識別し、前記グリフが設定された条件を満たすかどうか判断し、かつ前記設定された条件が満たされる場合には前記同じフォントを前記埋込フォントに対応する前記オリジナルフォントとして識別するために用いられる、装置。
【請求項６】
前記グリフ選択部は、
前記文書における文字エンコードとグリフとの間のマッピング関係に従って、複数の事前に設定された一般的な文字にそれぞれ対応するグリフを識別し、前記埋込フォントの前記グリフ集合から、識別された前記グリフを選択するために用いられるか、または
前記文書において前記埋込フォントを用いる各グリフの出現回数を数え、前記グリフのうちもっとも出現回数が多かった少なくとも１つのグリフを選択するために用いられる、請求項５に記載の装置。
【請求項７】
前記グリフフォント識別部は、
文字エンコードとグリフとの間の前記マッピング関係が前記埋込フォントの前記グリフ集合に含まれる場合、前記マッピング関係に従って、前記グリフに対応する前記文字エンコードを識別するために用いられるか、または
光学文字認識（ＯＣＲ）技術を用いることにより、前記グリフに対応する前記文字エンコードを識別するために用いられる、請求項５に記載の装置。
【請求項８】
前記埋込フォントに対応する前記オリジナルフォントが識別された後、表示されるべき文字に対応するグリフを求めて、前記オリジナルフォントに対応するローカルに格納されたグリフ集合を検索し、前記ローカルに格納されたグリフ集合において発見された前記グリフを用いて前記文字を表示するために動作する表示部をさらに含む、請求項５から請求項７のいずれか１項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、テキストデータ処理に関し、より特定的には、フォントを識別するための方法および装置に関する。
【背景技術】
【０００２】
発明の背景
異なる処理プラットフォーム上での文書表示の一貫性を確実にするために、フォント埋込が広く用いられている。具体的には、オリジナルフォントに対応するグリフ集合から部分的なグリフが抽出され、これらの抽出されたグリフが統合されて新しいグリフ集合を形成する。このような処理はフォント埋込と称されており、得られた新しいフォント、すなわち新しいグリフ集合に対応するフォントは埋込フォントである。たとえば部分的なグリフは、宋体フォントに対応するグリフ集合から抽出され、これらの抽出されたグリフが統合されて新しいグリフ集合を形成し、これによりフォント埋込処理が達成される。新しいグリフ集合に対応するフォントは埋込フォントである。埋込フォントが埋込フォントＡであるとすると、埋込フォントＡに対応するオリジナルフォントは宋体フォントである。ここでは埋込フォントＡである埋込フォントのグリフ集合は、埋込フォントに対応するオリジナルフォント（宋体フォント）のグリフ集合のサブセットとして考えられ得る。
【０００３】
一般に、グリフ集合のデータサイズを低減するよう、文書中の文字を表示するのに必要とされる部分的なグリフのみが埋込フォントのグリフ集合に含まれる。さらにグリフ集合は、文書中の各文字の文字エンコードまたはインデックスと、対応するグリフとの間のマッピング関係も含んでもよい。文書中のある文字が表示されると、その文字の文字エンコードまたはインデックスに対応するグリフが上記のマッピング関係に従って得られ、次いで当該文字がこの得られたグリフに従って表示される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、既存のフォント埋込技術にはいくつかの欠点がある。
フォント埋込技術は異なるプラットフォーム上での文書表示の一貫性を支援するが、文書において用いられる埋込フォントに対応するオリジナルフォントが容易に識別され得ないので、使用にいくつかの制限が存在する。
【０００５】
たとえば、オリジナルフォントのグリフ集合における部分的なグリフのみが埋込フォントのグリフ集合に含まれるので、ユーザは当該文書を自由に編集することができない。たとえば、ユーザが「和」という単語を文書中に加える必要があるとき、「和」という単語のグリフが埋込フォントのグリフ集合に含まれていなければ、この「和」という単語は表示され得ない。これにより、編集作業の成功が妨げられる。
【０００６】
別の例として、文書を表示する際に埋込フォントのグリフ集合が用いられることになるので、たとえばサーバに格納される文書がクライアントにて表示されることが必要である場合、クライアントは、この文書が用いる埋込フォントのグリフ集合を含むこの文書のすべての構成ファイルをダウンロードする必要がある。しかしながら、埋込フォントのグリフ集合のデータサイズは一般的に大きいので、ネットワーク環境におけるこれらの文書の表示速度は遅い。
【課題を解決するための手段】
【０００７】
発明の概要
本発明の目的は、文書に用いられる埋込フォントに対応するオリジナルフォントがこれまで識別され得なかったフォントを識別するための方法および装置を提供することである。
【０００８】
本発明の一実施例では、文書が用いる埋込フォントが識別される。埋込フォントのグリフ集合における少なくとも１つのグリフが選択される。各選択されたグリフに対応するフォントが識別され、各選択されたグリフに対応するフォントに従って、埋込フォントに対応するオリジナルフォントが識別される。
【０００９】
本発明は、フォントを識別するための装置を考慮する。当該装置は、文書が用いる埋込フォントを識別するための埋込フォント識別部と、埋込フォントのグリフ集合において少なくとも１つのグリフを選択するためのグリフ選択部と、各選択されたグリフに対応するフォントを識別するためのグリフフォント識別部と、各選択されたグリフに対応するフォントに従って、埋込フォントに対応するオリジナルフォントを識別するためのオリジナルフォント識別部とを含む。
【００１０】
本発明では、少なくとも１つのグリフがまず埋込フォントのグリフ集合から選択され、次いで、各選択されたグリフに対応するフォントが識別され、各選択されたグリフに対応するフォントに従って、埋込フォントに対応するオリジナルフォントが識別される。文書において用いられる埋込フォントに対応するオリジナルフォントを識別するソリューションは、本発明により実現され得ることが分かり得る。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例によって提供される方法の概略的なフローチャートである。
【図２】本発明の実施例の概略的なフローチャートである。
【図３】本発明の実施例によって提供される装置の構造の概略図である。
【発明を実施するための形態】
【００１２】
ある好ましい実施例の詳細な説明
文書において用いられる埋込フォントに対応するオリジナルフォントが識別され得ない問題を解決するために、本発明の実施例は、フォントを識別するための方法を提供する。この方法ではまず、少なくとも１つのグリフが埋込フォントのグリフ集合から選択されるか、または埋込フォントを用いる文字に対応する少なくとも１つのグリフが文書から選択され、次いで、各選択されたグリフに対応するフォントが識別され、埋込フォントに対応するオリジナルフォントが各選択されたグリフに対応するフォントに従って識別される。
【００１３】
図１を参照して、本発明の実施例が提供する、フォントを識別するための方法は以下のステップを含む。
【００１４】
ステップ１０：文書が用いる埋込フォントを識別する。
ここで、文書における各文字が用いる埋込フォントは、文書の記述情報を含む電子ファイルのデータに記録され、当該文書中の各文字が用いる埋込フォントは、記述情報に従って、文書が用いる埋込フォントとして識別されてもよい。
【００１５】
ステップ１１：識別された埋込フォントのグリフ集合において少なくとも１つのグリフを選択する。
【００１６】
ステップ１２：各選択されたグリフに対応するフォントを識別する。
ステップ１３：各選択されたグリフに対応するフォントに従って、埋込フォントに対応するオリジナルフォントを識別する。
【００１７】
ステップ１１では、埋込フォントのグリフ集合における少なくとも１つのグリフが選択される。具体的には、このステップは、以下の２つのアプローチを用いることにより実現され得る。
【００１８】
第１のアプローチでは、文字エンコードとグリフとの間のマッピング関係が文書情報に含まれている場合、複数の事前に設定された一般的な文字にそれぞれ対応するグリフがマッピング関係に従って識別され、これらの識別されたグリフが埋込フォントのグリフ集合から選択される。
【００１９】
第２のアプローチでは、文書において埋込フォントを用いる各グリフの出現が数えられ、これらのグリフのうち、出現回数のもっとも多い少なくとも１つのグリフが選択される。この方法は、文字エンコードとグリフとの間のマッピング関係が文書情報に含まれない状況に適用可能であるとともに、文字エンコードとグリフとの間のマッピング関係が文書情報に含まれる状況にも適用可能である。
【００２０】
ステップ１２では、各選択されたグリフに対応するフォントが識別される。このステップは、以下の２つのアプローチを用いることにより実現されてもよい。
【００２１】
第１のアプローチでは、各選択されたグリフについて、当該グリフに対応する文字エンコードが識別され、このグリフのグリフ特徴値が計算される。文字エンコードとグリフ特徴値とに対応するフォントを求めて、事前に生成されたグリフ特徴表が検索され、発見されたフォントが当該グリフに対応するフォントとして識別される。
【００２２】
第２のアプローチでは、各選択されたグリフについて、このグリフのグリフ特徴値が計算される。当該グリフ特徴値に対応するフォントを求めてグリフ特徴表が検索され、発見されたフォントが当該グリフに対応するフォントとして識別される。
【００２３】
上記の２つのアプローチにおけるグリフ特徴表は、文字エンコードと、フォントと、グリフ特徴値との間のマッピング関係を含む。グリフ特徴表を生成する好ましい方法は以下のとおりである。複数の事前に設定された一般的な文字が選択され、選択された複数の一般的な文字のグリフが、フォントの複数のローカルに格納されたグリフ集合から抽出され、各抽出されたグリフのグリフ特徴値が計算され、抽出されたグリフのマッピング関係がグリフ特徴表に格納される。各マッピング関係は、グリフに対応するフォントと、グリフに対応する文字エンコードと、グリフに対応するグリフ特徴値とを含む。
【００２４】
グリフに対応する文字エンコードを識別する上述した第１のアプローチは、以下の２つのアプローチを用いることにより実現され得る。
【００２５】
第１のアプローチでは、文字エンコードとグリフとの間のマッピング関係が埋込フォントのグリフ集合に含まれる場合、マッピング関係に従って、グリフに対応する文字エンコードが識別される。
【００２６】
第２のアプローチでは、光学文字認識（ＯＣＲ）技術を用いることにより、グリフに対応する文字エンコードが識別される。
【００２７】
ステップ１３では、埋込フォントに対応するオリジナルフォントが、各グリフに対応するフォントに従って識別される。具体的には、このステップは以下の２つの技術を用いることにより実現され得る。
【００２８】
第１の技術では、各グリフに対応するフォントが同じフォントである場合、この同じフォントが、埋込フォントに対応するオリジナルフォントとして識別される。
【００２９】
第２の技術では、ステップ１１において選択されたグリフから同じフォントに対応するグリフが識別され、グリフが設定された条件を満たすかどうか判断される。この条件が満たされる場合には上記同じフォントが、埋込フォントに対応するオリジナルフォントとして識別される。例を以下に記載する。
【００３０】
例１：同じフォントに対応するグリフの数が事前に設定されたしきい値を超える場合、同じフォントが、埋込フォントに対応するオリジナルフォントとして識別される。しきい値は０より大きい整数である。
【００３１】
例２：ステップ１１において選択されたグリフの合計数に対する同じフォントに対応するグリフの数の割合が事前に設定されたしきい値を超える場合、同じフォントが、埋込フォントに対応するオリジナルフォントとして識別される。このしきい値は０と１との間である。
【００３２】
例３：同じフォントに対応するグリフの重み付けされた値の合計が事前に設定されたしきい値を超える場合、同じフォントが、埋込フォントに対応するオリジナルフォントとして識別される。このしきい値は、０よりも大きい値である。たとえば、同じフォントに対応するグリフの数が６０個であって、１０個のグリフの重み付けされた値が２であり、他の５０個のグリフの重み付けされた値が１である場合、これら６０個のグリフの重み付けされた値の合計は７０である。しきい値が５０であれば、これらの６０個のグリフに対応するフォントは、埋込フォントに対応するオリジナルフォントである。
【００３３】
本発明は、上記の方法に限定されないということは明らかである。同じフォントに対応するグリフに従って、埋込フォントに対応するオリジナルフォントを識別することが可能である任意の方法が本発明によって意図される。
【００３４】
好ましくは、埋込フォントに対応するオリジナルフォントを識別した後、ある文字が表示されるべきときに、表示されるべき文字に対応するグリフを求めて、オリジナルフォントに対応するローカルに格納されたグリフ集合が検索され、発見されたグリフを用いて、表示されるべき文字が表示される。
【００３５】
好ましくは本発明では、文字編集などのような文書処理アプリケーションによって用いられる情報は電子文書ファイルに格納されてもよい。この情報は、埋込フォントに対応するオリジナルフォント、識別された文字エンコードなどの情報を含む。
【００３６】
なおこの方法は、クライアント、サーバ、または文書を処理することが可能である他の装置によって実行されてもよい。サーバの場合、当該サーバは、文書ファイルにおいて担持される、埋込フォントに対応する識別されたオリジナルフォントの情報をクライアントに送信し得る。クライアント上においてこの文書を表示する場合、オリジナルフォントに対応するローカルに格納されたグリフ集合において、表示されるべき各文字に対応するグリフを求めて検索が行われる。表示されるべき文字は、発見されたグリフを用いて表示される。
【００３７】
図２のフローチャートに関連して、本発明をさらに以下に詳細に記載する。
文書が用いる各埋込フォントについて、以下のステップが行われる。
【００３８】
ステップ１：文字エンコードとグリフとの間のマッピング関係が埋込フォントのグリフ集合に存在するかどうかチェックを行い、存在すれば、ステップ２へと進み、そうでなければステップ５へと進む。
【００３９】
ステップ２：埋込フォントのグリフ集合から一般的な文字の少なくとも１つのグリフを選択し、各選択されたグリフのグリフ特徴値を計算し、文字エンコードとグリフとの間のマッピング関係に従って、各グリフに対応する文字エンコードを識別する。
【００４０】
ステップ３：各選択されたグリフについて、文字エンコードおよびグリフ特徴表におけるグリフのグリフ特徴値に対応するフォントを求めて検索を行い、発見されたフォントを当該グリフのフォントとして識別する。
【００４１】
ステップ４：各選択されたグリフのフォントに従って、埋込フォントに対応するオリジナルフォントを識別する。そして、このフローは終了する。
【００４２】
具体的には、各選択されたグリフのフォントが同じフォントＡに属する場合、埋込フォントのオリジナルフォントは、フォントＡとして識別される。
【００４３】
ステップ５：文書における埋込フォントを用いる各グリフの出現回数を数え、出現回数がもっとも多い少なくとも１つのグリフを選択し、ステップ６ａまたはステップ６ｂに進む。
【００４４】
ステップ６ａ：各選択されたグリフについて、ＯＣＲ技術を用いてグリフの文字エンコードを識別する。文字エンコードの識別が成功した場合、文字エンコードとグリフ特徴表におけるグリフのグリフ特徴値とに対応するフォントを求めて検索を行うステップ３に進むことにより、グリフのグリフ特徴値を計算する。次いで、ステップ４に進み、発見されたフォントがグリフのフォントとして識別され、次いでステップ７に進む。ステップ３において、対応するフォントが発見されなかった場合、フローチャートはステップ６ｂに進む。
【００４５】
ステップ６ｂ：各選択されたグリフについて、このグリフのグリフ特徴値を計算する。グリフ特徴表におけるグリフのグリフ特徴値に対応するフォントを求めて検索が行われ、発見されたフォントは、グリフに対応するフォントとして識別される。
【００４６】
ステップ７：各選択されたグリフのフォントに従って、埋込フォントに対応するオリジナルフォントを識別する。そして、このフローが終了する。
【００４７】
同じフォントに対応するグリフの数が事前に設定されたしきい値を超える場合、埋込フォントに対応するオリジナルフォントは同じフォントであると判断され得る。たとえば、２０個の一般的なグリフが選択されるとする。少なくとも１８個のグリフが同じフォントＡに対応する場合、埋込フォントに対応するオリジナルフォントはフォントＡであると判断され得る。
【００４８】
グリフ特徴表は、文字エンコードと、オリジナルフォントと、グリフ特徴値との多くのマッピング関係を記録する。ローカルに格納されたフォントの数が限られている（何百の一般的なフォント）とともに、選択されたグリフの数が一般にあまり大きくない場合、一般的な文字についてのグリフ特徴表を構築するコストは許容可能であり、グリフ特徴表をマッチングおよび検索するためのコストは非常に小さい。
【００４９】
１つの実際の適用例では、１つより多いグリフ特徴表が存在してもよい。たとえば、各文字タイプごとに１つのグリフ特徴表が作り出されてもよく、この文字タイプは数字、アルファベット、句読文字、漢字、および他の特殊記号を含む。各グリフ特徴表ごとに、グリフを選択するためのルールが異なってもよい。たとえば、句読点の種類がより少なければ、すべての句読点に対応するグリフのマッピング関係は対応するグリフ特徴表に加えられてもよく、その一方、漢字の場合は、２００個のもっとも共通する漢字に対応するグリフのマッピング関係が、対応するグリフ特徴表に加えられてもよい。これらのグリフ特徴表を用いる際に、文字タイプに従って、対応するグリフ特徴表においてフォントを求めて検索が行われ得る。すべてのグリフ特徴表においても、フォントを求めて検索が行われてもよい。
【００５０】
ＯＣＲ技術における識別率は不正確である場合があると同時に、選択された一般的な文字として選択されたものが実際には一般的な文字ではないということも起こり得る。したがって、対応するフォントがグリフ特徴値に従って発見され得ない状況が存在し得るので、ステップ７においてオリジナルフォントを識別するステップを行う際に、しきい値が適切に低下されてもよい。
【００５１】
文字エンコードとグリフとの間のマッピング関係を有する埋込フォントの場合に、マッピング関係は無視されてもよい。すなわち、ステップ１のクエリが肯定的に応答される場合、すなわちステップ１において文字エンコードとグリフとの間にマッピング関係が存在する場合に、フローはステップ５に進んでもよい。しかしながら、文字エンコードの支援なしでは、効率および精度はいくつかの条件下において影響を受け得る。
【００５２】
本実施例によると、埋込フォントに従ってオリジナルフォントが発見され得、これによりテキスト編集が自由に行なわれ得る。さらに、埋込フォントのデータ送信は省略されてもよい。本実施例は、オリジナルフォントに依存する他の適用例にも適用できる。
【００５３】
実施例１：
埋込フォントＡが新宋体フォント（simsun.ttf）から得られ、そのグリフ集合は、文字エンコードとグリフとの間のマッピング関係を含む。グリフデータのＭＤ５値は、グリフのグリフ特徴値として用いられる。２００個の一般的な漢字（たとえば「的」、「一」、「是」、「了」など）が選択され、これら２００個の文字のグリフが、１０個の一般的な中国語フォント（たとえば新宋体（Simsum）、黒体（Bold）、楷体（KaiTi）、華文倣宋（ST Fang Song）、幼円（Young circle）など）のグリフ集合から抽出される。各グリフのグリフ特徴値はそれぞれ計算され、したがって、一般的な漢字のグリフ特徴表が得られる。これは以下に表１として示される。
【００５４】
【表１】
0005829330.tif 000002
この例では、「的」、「一」、「是」および「了」の４つの文字に対応するグリフが、埋込フォントＡのグリフ集合から選択される。これらの４つの文字は一般的であり、埋込フォントＡのグリフ集合に含まれているからである。代替的には、埋込フォントのグリフ集合にのみ含まれていないがグリフ特徴表には含まれている一般的な文字が選択される。
【００５５】
次いで、各選択されたグリフに対応するグリフ特徴値が計算される。たとえば、「是」のグリフ特徴値は、６５ｃ８ｃ４８６３６８ｄａ８９ｄｅｄｄ４３０ｂ０９１２７ｆ８８３として計算される。文字エンコードが「是」であり特徴値が６５ｃ８ｃ４８６３６８ｄａ８９ｄｅｄｄ４３０ｂ０９１２７ｆ８８３であるフォントは、グリフ特徴表を検索することにより新宋体として識別される。
【００５６】
同様に、他の３つのグリフに対応するフォントも新宋体として識別される。
各選択されたグリフに対応するフォントが新宋体であるので、埋込フォントＡに対応するオリジナルフォントが新宋体として識別される。
【００５７】
上記の実施例におけるグリフ特徴表は必ずしも表として保存されるわけではない。むしろ、グリフ特徴は、与えられた条件に従って検索および探知が行われ得る限り、ツリーのような他のデータ構造で保存されてもよい。
【００５８】
実施例２：
埋込フォントＡは、新宋体フォント（simsun.ttf）から得られ、そのグリフ集合は、文字エンコードとグリフとの間のマッピング関係を含まない。グリフデータのＭＤ５値は、グリフのグリフ特徴値として用いられる。２００個の一般的な漢字（たとえば「的」、「一」、「是」、「了」など（「銀」は除く））が選択され、これら２００個の文字のグリフが、１０個の一般的な中国語フォント（たとえば新宋体、黒体、楷体、華文倣宋、幼円など）のグリフ集合から抽出される。各グリフのグリフ特徴値はそれぞれ計算され、これにより、表１に示されるように一般的な漢字のグリフ特徴表が得られる。
【００５９】
この例では、文書において埋込フォントＡを用いる一般的なグリフの出現回数が数えられ、たとえば「的」、「是」、「了」、「銀」、および「一」といったもっとも出現数が多い５つの一般的なグリフが選択される。
【００６０】
「的」のグリフを処理する際に、まずＯＣＲ技術を用いて認識が行われ、「的」の文字エンコードを得る。次いで、「的」の文字エンコードおよびグリフ特徴値５３ｄ１１６９０５８６１１８８６ｅ５ｃｆ２ｂ２ｂ４ｄｄ０６２７ｆに従ってグリフ特徴表を検索することにより、「的」のグリフを、新宋体に対応すると識別する。
【００６１】
「是」のグリフを処理する際、ＯＣＲ技術を用いることにより、この文字は誤って「足」として認識される可能性がある。したがって、対応するフォントがグリフ特徴表において発見されないことになる。しかしながら、「是」のグリフは、「是」のグリフ特徴値６５ｃ８ｃ４８６３６８ｄａ８９ｄｅｄｄ４３０ｂ０９１２７ｆ８８３に従ってグリフ特徴表を直接検索することにより、新宋体に対応すると識別されることになる。
【００６２】
「了」および「一」に関する冗長な説明はここでは省略される。「了」および「一」の両方のグリフは、新宋体に対応すると識別されることになる。
【００６３】
「銀」のグリフを処理する際に、グリフに対応するフォントは、ＯＣＲ技術およびグリフ特徴値を用いることにより発見され得ない。
【００６４】
したがって、５つのグリフを処理することが完了した後、新宋体に対応する４つのグリフが発見されることとなり、残りの１つのグリフのフォントが識別されない。文書における一般的なグリフの分布と一般的な文字の分布との間にはいくつかの差異が存在し得ることを考慮して、５番目の文字のフォントが明確に識別されなくても、埋込フォントＡのオリジナルフォントは新宋体であると最終的に判断される。
【００６５】
本発明では、埋込フォントに対応する識別されたオリジナルフォントの情報は、その後のアプリケーションでの使用のために文書の記述情報に書き戻されてもよい。たとえば、ある文字が表示される必要がある際に、その文字のグリフが埋込フォントのグリフ集合に含まれない場合、埋込フォントに対応するオリジナルフォントのグリフ集合において当該文字のグリフを求めて検索が行われ得、次いで、当該グリフに従ってテキスト表示が行われる。
【００６６】
同様に本発明では、識別された文字エンコードも、テキスト編集などのアプリケーションのために文書の構成ファイルに書き戻されてもよい。たとえば、ある文字が編集される必要がある場合、対応するグリフが、文字の保存された文字エンコードに従って直接的に発見され得、次いで当該グリフに従ってテキスト編集が行われる。その文字の文字エンコードを一時的に識別する必要はない。そのため、表示速度が向上される。
【００６７】
本発明では、計算を行うために、メッセージダイジェストアルゴリズム（Message Digest Algorithm（ＭＤ５））が用いられてもよく、実際の適用例では、セキュアハッシュアルゴリズム（Secure Hash Algorithm（ＳＨＡ−１））または他のダイジェスト計算方法が用いられてもよい。この計算を行うために、画像処理における輪郭特徴抽出または他の技術も用いられてもよい。
【００６８】
図３を参照して、フォントを識別するための装置が示される。この装置は、文書が用いる埋込フォントを識別するための埋込フォント識別部３０と、埋込フォントのグリフ集合において少なくとも１つのグリフを選択するか、または当該文書において埋込フォントを用いる文字に対応する少なくとも１つのグリフを選択するためのグリフ選択部３１と、各選択されたグリフに対応するフォントを識別するためのグリフフォント識別部３２と、各選択されたグリフに対応する識別されたフォントに従って、埋込フォントに対応するオリジナルフォントを識別するためのオリジナルフォント識別部３３とを含む。
【００６９】
文字エンコードとグリフとの間のマッピング関係が文書中に含まれている場合は、グリフ選択部３１は、マッピング関係に従って、複数の事前に設定された一般的な文字にそれぞれ対応するグリフを識別するよう用いられ、これらの識別されたグリフは埋込フォントのグリフ集合から選択される。代替的には、グリフ選択部３１は、文書において、埋込フォントを用いる各グリフの出現回数を数えるよう用いられ、これらのグリフの中でもっとも出現回数が多い少なくとも１つのグリフが選択される。
【００７０】
グリフフォント識別部３２は、各選択されたグリフについて、グリフに対応する文字エンコードを識別するよう用いられる。このグリフのグリフ特徴値が計算され、文字エンコードおよびグリフ特徴値に対応するフォントを求めて、事前に生成されたグリフ特徴表が検索される。発見されたフォントは、当該グリフに対応するフォントとして識別される。代替的には、グリフフォント識別部３２は、各選択されたグリフについて、グリフ特徴値を計算するよう用いられる。計算されたグリフ特徴値に対応するフォントを求めてグリフ特徴表が検索され、発見されたフォントが当該グリフに対応するフォントとして識別される。グリフ特徴表は、文字エンコードと、フォントと、グリフ特徴値との間のマッピング関係を含む。
【００７１】
文字エンコードとグリフとの間のマッピング関係がグリフ集合に含まれる場合、グリフフォント識別部３２は、マッピング関係に従って、グリフに対応する文字エンコードを識別するよう用いられる。代替的には、グリフフォント識別部３２は、ＯＣＲ技術を用いることにより、グリフに対応する文字エンコードを識別するよう用いられる。
【００７２】
各グリフに対応するフォントが同じフォントである場合、オリジナルフォント識別部３３は、この同じフォントを埋込フォントに対応するオリジナルフォントとして識別するよう用いられる。代替的には、オリジナルフォント識別部３３は、同じフォントに対応するグリフを識別するよう用いられるとともに、これらのグリフが設定された条件を満たすかどうかを判断する。その条件が満たされる場合、埋込フォントに対応するオリジナルフォントとして、同じフォントが識別される。
【００７３】
図３に示される装置はさらに、表示部３４を含む。埋込フォントに対応するオリジナルフォントが識別された後、ある文字が表示される必要である場合、表示部３４は、オリジナルフォントに対応するローカルに格納されたグリフ集合において、表示されるべき文字に対応するグリフを求めて検索を行う。次いで、当該文字が、発見されたグリフを用いて表示される。
【００７４】
要約すると、本発明の有益な効果は以下を含む。
本発明の実施例では、まず少なくとも１つのグリフが、文書において用いられる埋込フォントのグリフ集合から選択される。次いで、各選択されたグリフに対応するフォントに従って、埋込フォントに対応するフォントが判断される。文書において用いられる埋込フォントに対応するオリジナルフォントを識別することが本発明によって実現され得るので、文書において用いられる埋込フォントに対応するオリジナルフォントが識別され得ないという問題が解決されるということが分かり得る。
【００７５】
埋込フォントに対応するオリジナルフォントが特定された後、ある文字が表示される必要がある場合、表示されるべき文字に対応するグリフを求めて、オリジナルフォントに対応するローカルに格納されたグリフ集合が検索され、表示されるべき文字が、発見されたグリフを用いて表示される。これにより、文書において用いられる埋込フォントに対応するオリジナルフォントが識別されないことによる問題が克服される。たとえば、ユーザが文書にある文字を加える必要がある際に、加えられるべき文字のグリフがこの文書が用いる埋込フォントのグリフ集合に含まれていない場合、加えられるべき文字のグリフを求めて、埋込フォントに対応するオリジナルフォントのローカルに格納されたグリフ集合が検索され得る。次いで、そのグリフに従って、テキストが表示されるので、編集が不成功となる問題が回避される。別の例として、サーバに格納される文書がクライアント装置上に表示される必要がある場合、当該クライアントは、文書が用いる埋込フォントに対応するオリジナルフォントのローカルに格納されたグリフ集合を得てもよいが、文書が用いる埋込フォントのグリフ集合をダウンロードする必要はない。結果として、ネットワーク環境における文書の表示速度が向上される。
【００７６】
本発明は、方法、装置（システム）、ならびに本発明の実施例に従ったコンピュータプログラムプロダクトのフローチャートおよび／またはブロック図を参照して記載された。フローチャートおよび／またはブロック図の各フロー要素および／またはブロック、ならびにフロー要素および／またはブロックの組合せは、コンピュータプログラムの命令によって実現されてもよいということが理解されるべきである。コンピュータプログラムのこれらの命令は、汎用コンピュータ、専用コンピュータ、埋込みプロセッサ、またはプログラム可能なデータ処理装置の他のプロセッサに与えられて、コンピュータまたはプログラム可能なデータ処理装置の他のプロセッサによって実行される命令が、本願明細書においてフローチャートにおける１つ以上のステップおよび／またはブロック図における１つ以上のブロックによって指定される機能を実現するよう用いられる装置を作り出すようにマシンを作り出してもよい。
【００７７】
コンピュータプログラムのこれらの命令は、特定の態様で機能するようコンピュータまたは他のプログラム可能なデータ処理装置に命令し得る一時的でないコンピュータ可読メモリに格納されてもよく、そのため、コンピュータ可読メモリに格納される命令が命令装置を含むプロダクトを作り出す。この命令装置は、本願明細書においてフローチャートにおける１つ以上のステップおよび／またはブロック図における１つ以上のブロックによって指定される機能を実現する。
【００７８】
コンピュータプログラムのこれらの命令はさらに、一連の動作プロシージャがコンピュータまたは他のプログラム可能なデータ処理装置上で実行されて、コンピュータによって実現される処理を作り出すように、コンピュータまたは他のプログラム可能なデータ処理装置にロードされてもよい。これにより、コンピュータまたは他のプログラム可能なデータ処理装置上で実行される命令は、本願明細書においてフローチャートにおける１つ以上のステップおよび／またはブロック図における１つ以上のブロックによって指定される機能を実現するよう用いられるプロシージャを提供する。
【００７９】
本発明の好ましい実施例を記載してきたが、当業者であれば、本願明細書における基本的な発明概念を理解すれば、付加的な変形例および修正例がこれらの実施例に対してなされることが可能である。したがって、添付の特許請求の範囲は、好ましい実施例ならびにすべての変形例および修正例を本発明の範囲内に含むよう解釈されることが意図される。
【００８０】
当業者によって、本発明の精神および範囲から逸脱することなく、さまざまな修正例および変形例がなされ得るということは明らかである。したがって、本発明のこれらの修正例および変形例は、特許請求の範囲およびそれらの均等物の範囲内となり、本発明はこのような修正例および変形例を包含するということが意図される。
【図１】
0005829330.tif 000003
【図２】
0005829330.tif 000004
【図３】
0005829330.tif 000005