(57)【要約】【課題】  フォント指定が一つしかできないテキストで、テキスト内に指定したフォントにない文字を別のフォントに代替表示するシステムにおいて、テキスト全体が別のフォントに代替されてしまい、表示の際の描画結果と出力の際の描画結果が異なってしまう。【解決手段】  表示で描画された文字列を取得し、フォントが代替されていた場合、表示で描画されたテキストをフォント毎に分割し、それぞれ別のテキストとして出力データを作成する。【選択図】  図５
2011248739.tif 000002
【特許請求の範囲】
【請求項１】
一つのテキストに対し一つのフォントが指定されているテキスト内に指定したフォントにない文字がある場合、別のフォントで代替して表示する表示側のフォント描画システムを利用する文書処理装置において、
テキストを出力側のフォント描画システムを用いて出力する際、表示されるテキストのフォントが代替して表示されるか否かを判定する判定手段と、
前記判定手段によりテキストを別のフォント描画システムを用いて出力する際、表示されるテキストのフォントが代替して表示されると判定された場合、１つのテキストをフォント毎に複数のテキストに分割する分割手段とを有することを特徴とする文書処理装置。
【請求項２】
テキストを表示側のフォント描画システムに渡し、描画結果を取得する取得手段とを有し、
前記判定手段は、前記取得手段により取得された描画結果に基づき判定することを特徴とする請求項１記載の文書処理装置。
【請求項３】
テキストに装飾が使用されている場合、前記分割手段により分割されたテキストの装飾情報を用いることなく、前記分割手段で分割されたテキストに対して、前記分割手段で分割する前のテキストの装飾情報を用いて描画する描画手段とを有することを特徴とする請求項１記載の文書処理装置。
【請求項４】
一つのテキストに対し一つのフォントが指定されているテキスト内に指定したフォントにない文字がある場合、別のフォントで代替して表示する表示側のフォント描画システムを利用する文書処理装置において、
テキストを出力側のフォント描画システムを用いて出力する際、表示されるテキストのフォントが代替して表示されるか否かを判定する判定ステップと、
前記判定ステップによりテキストを別のフォント描画システムを用いて出力する際、表示されるテキストのフォントが代替して表示されると判定された場合、１つのテキストをフォント毎に複数のテキストに分割する分割ステップとを有することを特徴とする文書処理方法。
【請求項５】
テキストを表示側のフォント描画システムに渡し、描画結果を取得する取得ステップと、
前記判定ステップは、前記取得ステップにより取得された描画結果に基づき判定することを特徴とする請求項４記載の文書処理方法。
【請求項６】
テキストに装飾が使用されている場合、前記分割ステップで分割したテキストの装飾情報を用いることなく、前記分割ステップにより分割されたテキストに対して、前記分割ステップで分割する前のテキストの装飾情報を用いて描画する描画ステップとを有することを特徴とする請求項４記載の文書処理方法。
【請求項７】
一つのテキストに対し一つのフォントが指定されているテキスト内に指定したフォントにない文字がある場合、別のフォントで代替して表示する表示側のフォント描画システムを利用するコンピュータで実行されるプログラムにおいて、
テキストを出力側のフォント描画システムを用いて出力する際、表示されるテキストのフォントが代替して表示されるか否かを判定する判定手段、
前記判定手段によりテキストを別のフォント描画システムを用いて出力する際、表示されるテキストのフォントが代替して表示されると判定された場合、１つのテキストをフォント毎に複数のテキストに分割する分割手段としてコンピュータを機能させるためのプログラム。
【請求項８】
テキストを表示側のフォント描画システムに渡し、描画結果を取得する取得手段としてコンピュータを機能させるためのプログラムであって、
前記判定手段は、前記取得手段により取得された描画結果に基づき判定することを特徴とする請求項７記載のプログラム。
【請求項９】
テキストに装飾が使用されている場合、前記分割手段により分割されたテキストの装飾情報を用いることなく、前記分割手段で分割されたテキストに対して、前記分割手段で分割する前のテキストの装飾情報を用いて描画する描画手段としてコンピュータを機能させるための請求項７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書アプリケーションにおいて、表示時と出力時に異なるフォント描画システムを利用した際に、表示時と出力時のフォントを同一の描画結果とする文書処理装置に関する。
【背景技術】
【０００２】
従来、フォント描画システムにおいて、１つのフォントを指定した文字列に対して、出力命令を行う場合、指定したフォントが出力する環境に存在しない時、自動的に出力する環境に存在するフォントに代替して出力する機能が存在する（特許文献１）。
【０００３】
また、フォント置き換え機能を有する複数の印刷データ生成部をページ毎に切り替えて使用して印刷データを出力するプリンタドライバにおいて、フォント置き換えに用いる物理フォントを全印刷データ生成部で統一可能な技術が存在する（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−３２５０３５号公報
【特許文献２】特開２００２−２５９１０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、フォント指定が一つしかできないテキスト文字列で指定フォントにない文字を別のフォントで代替表示するシステムにおいて、別のフォント描画システムにデータ出力する際に、表示と出力の描画結果が異なってしまうといった課題が発生する。
【０００６】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は上記の状況において、表示と出力の描画結果を同一の結果にさせる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明の文書処理装置は、
一つのテキストに対し一つのフォントが指定されているテキスト内に指定したフォントにない文字がある場合、別のフォントで代替して表示する表示側のフォント描画システムを利用する文書処理装置において、
テキストを出力側のフォント描画システムを用いて出力する際、表示されるテキストのフォントが代替して表示されるか否かを判定する判定手段と、
前記判定手段によりテキストを別のフォント描画システムを用いて出力する際、表示されるテキストのフォントが代替して表示されると判定された場合、１つのテキストをフォント毎に複数のテキストに分割する分割手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明を適用することによって、表示と出力で異なるフォント描画システムを用いた場合でも、同一の描画結果を得ることができる。
【図面の簡単な説明】
【０００９】
【図１】文書アプリケーションを構成するシステム構成を示したブロック図
【図２】文書アプリケーションのソフトウェアの構成を示したブロック図
【図３】文書アプリケーションの文書表示部がディスプレイに表示する画面の一例を示した図
【図４】文書アプリケーションの出力データ生成部で作成したデータを別アプリケーションでディスプレイに表示する画面の一例を示した図
【図５】出力時のテキスト描画処理の手順を示したフローチャート
【図６】出力側描画処理の手順を示したフローチャート
【図７】文書表示部の描画結果と出力データ生成部の描画結果が異なる状態を示した図
【図８】出力データ生成部が文書表示部の描画結果と同一の描画結果を得る手段を示した図
【図９】入力されたテキスト文字列と表示された描画結果をフォント毎に分割したテキスト文字列のデータ構造を示した図
【図１０】文書表示部の取り消し線の描画結果と出力データ生成部の取り消し線の描画結果が異なる状態を示した図
【図１１】出力データ生成部が文書表示部の描画結果と同一の取り消し線の描画結果を得る手段を示した図
【図１２】テキストエディタ画面の一例を示した図
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１１】
図１は、本発明の実施に好適な、文書アプリケーションを有する文書処理装置として機能するＰＣ（パーソナルコンピュータ）を示したブロック図である。ＰＣ１００は、文書の内容を表示するディスプレイ１０１、文書編集を行う際に文字やフォントの入力値として利用されるキーボード／マウス１０２を備える。さらに、ＰＣ１００は、文書アプリケーション２００及び文書を保存する場所としてハードディスク１０３、ＲＡＭ１０４、ＣＤ−ＲＯＭ１０５を備え、プログラム実行を行うＣＰＵ１０６を備える。また、文書ファイル及び、文書ファイルを保存する場所はＰＣ内に限らず、ネットワークで接続されたＰＣ外の場所でも良い。
【００１２】
図２は、本発明の実施の形態の、文書アプリケーション２００のソフトウェアの構成を示したブロック図である。文書アプリケーション２００では、文書情報管理部２０３が文書ファイルデータベース２０６から文書ファイルを取得し、文書表示部２０１がディスプレイ１０１を通じて文書ファイルの内容を表示する。表示した内容を変更する場合、ユーザはキーボード／マウス１０２を通じて入力を行い、入力した値を文書編集部２０２が取得し、文書情報管理部２０３を通じて文書ファイルに反映させる。また、文書ファイルを印刷や別形式のデータとして出力する際には出力データ生成部２０４でデータの生成を行う。また、文書表示部２０１と出力データ生成部２０４は、文書内のテキストに対してそれぞれがフォント描画システムを持ち、描画に利用するフォントセットについてはフォントセットデータベース２０５から取得する。文書表示部２０１で利用するフォントセットと出力データ生成部２０４で利用するフォントセットは同一であることが前提である。ただし、異なるフォントセットである場合は、それぞれのフォントセットで共通するフォントのみ利用する仕組みとする。
【００１３】
図３は、文書表示部２０１がディスプレイ１０１に表示する画面の一例を示した図である。文書情報管理部２０３が文書ファイルデータベース２０６から取得した文書ファイルを文書表示ウィンドウ３０１に表示する。
【００１４】
図４は、出力データ生成部２０４で作成したデータの出力結果の一例を示した図である。出力データ生成結果４０１は、元の文書以外の形式となるため、別のアプリケーションで表示した結果や印刷結果などを示す。
【００１５】
次に、図１〜４、及び図５、図６のフローチャートを用いて、出力時のテキスト描画処理の手順を説明する。図５の出力時のテキスト描画処理は、アプリケーションで表示していたテキストをＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）にエクスポートする際に実行される。なお、図５、図６のフローに関わるプログラムは、ハードディスク１０３に記憶されており、ＲＡＭ１０４に読み出されＣＰＵ１０６によって実行される。
【００１６】
文書情報管理部２０３は、文書ファイルデータベース２０６から文書ファイルを取得し、文書表示部２０１に文書情報を渡す（Ｓ５０１）。次に、文書情報管理部２０３は文書表示部２０１がディスプレイ１０１のために描画したテキスト情報を取得する（Ｓ５０２）。この時、文書表示部２０１はディスプレイに表示は行わない。次に、文書情報管理部２０３は文書ファイルと、文書表示部２０１から取得したテキスト情報を比較し、表示される文字列に表示側フォント描画システムの代替フォントが存在するか判定する（Ｓ５０３）。
【００１７】
例えば、文書ファイルには、フォント選択命令「Ａｒｉａｌ」／文字列（文字コード）「ＡＢＣあいう１２３」が指定されたテキストが存在する。文書表示部２０１から取得したテキスト情報には、「ＡＢＣ」、「１２３」はフォント「Ａｒｉａｌ」で描画し、「あいう」はフォント「メイリオ」で描画したことを示すテキスト情報が存在する。文字ごとにフォントを比較し、この例では、「あいう」の部分のフォントが異なっているので代替されたと判定できる。
【００１８】
フォントの代替が行われていない時、文書情報管理部２０３はテキスト情報を出力データ生成部２０４に渡し、出力データ生成部２０４は出力データの生成を行う（Ｓ５０５）。フォントの代替が行われたとき、文書表示部２０１の描画結果と、出力データ生成部の描画結果を一致させるための処理を行う。まず、文書情報管理部２０３は、テキストに文字装飾がされているかを確認する（Ｓ５０４）。文字装飾がされている場合、線描画情報を取得する（Ｓ５０６）。この時線描画情報は文字装飾の下線・取り消し線を指し、線の太さ、高さ、始点、終点を取得する。テスト全体に下線・取り消し線を引くための情報であれば、これらの取得情報でなくてもよい。次に、文書情報管理部２０３は、テキストをフォント毎に複数のテキストに分割をし（Ｓ５０７）、出力データ生成部２０４に渡し、出力側描画処理を行う（Ｓ６００）。
【００１９】
テキストの分割処理では、例えば、前述の例で「あいう」の部分が代替されていたので、「あいう」の部分に代替フォントが指定できるように「ＡＢＣ」、「あいう」、「１２３」の３つに分割する。なお、分割の際、「ＡＢＣ」の部分のフォント選択命令は「Ａｒｉａｌ」、「あいう」の部分のフォント選択命令は「メイリオ」、「１２３」の部分のフォント選択命令は「Ａｒｉａｌ」とする。
【００２０】
出力データ生成部２０４は、分割されたテキストに対し、１つずつ描画処理を行う（Ｓ６０１）。この際、テキストの装飾情報を除外する（Ｓ６０２）。このとき除外する装飾情報は、下線や取り消し線を指す。除外せずにフォント毎に線情報を描画した場合、フォント毎に下線や取り消し線の太さと高さが異なるため、テキスト全体で１本の線にならず、ずれてしまう。次に、出力データ生成部２０４は、出力データ生成部２０４の持つフォント描画システムによってテキストの描画を行う（Ｓ６０３）。分割されたテキスト全ての描画が完了したとき、テキスト全体に対し線描画情報の描画を行う（Ｓ６０４）。
【実施例１】
【００２１】
本発明の図２〜１０に基づいて説明する。
【００２２】
本発明の第１の実施形態として、文書アプリケーションが図３，４のように、１つのテキストを１つのオブジェクトとして挿入することができるアプリケーションを例として説明する。文書には複数のテキストを挿入することが可能であるが、１つのテキストに対し、１つのフォントを指定することができる。
【００２３】
フォント「Ａｒｉａｌ」／文字列「ＡＢＣあいう１２３」が指定されたテキストが存在する文書ファイルを、別形式のファイルに出力するケースを例に挙げて説明する。文書ファイルは表示用フォント描画システムによってテキストを表示し、別形式のファイルは出力用フォント描画システムによってテキストを出力する。
【００２４】
まず、文書表示部２０１のフォント描画システムではテキスト内に指定したフォントでは表示できない文字が存在する場合、表示できない文字に対して代替フォント「メイリオ」で描画するシステムとする。一方、出力データ生成部２０４のもつフォント描画システムではテキスト内に指定したフォントでは表示できない文字が存在する場合、全ての文字列を代替フォント「ゴシック」で描画するシステムとする。本システムを用いずに、それぞれがフォント「Ａｒｉａｌ」／文字列「ＡＢＣあいう１２３」のテキストを描画する場合を考える。文書表示部２０１のフォント描画システムでは、フォント「Ａｒｉａｌ」は日本語の文字に対応していないため、「ＡＢＣ」、「１２３」はフォント「Ａｒｉａｌ」で描画し、「あいう」は代替フォント「メイリオ」で描画する。しかし、出力データ生成部２０４のもつフォント描画システムでは、「ＡＢＣあいう１２３」全てが代替フォント「ゴシック」で描画する。このように、本システムを用いない場合、それぞれの描画結果が異なってしまうケースが存在する。（図７）
本システムを用いた場合の、フォント「Ａｒｉａｌ」／文字列「ＡＢＣあいう１２３」のテキストの出力データ生成処理の説明を行う。まず、文書情報管理部２０３は出力データ生成部２０４にテキストを渡す前に、文書表示部２０１にテキストを渡し、文書表示部２０１の持つ表示用フォント描画システムによる描画結果のテキストを取得し、フォントが代替されているかを判定する。判定手段としては、表示用フォント描画システムから、描画結果として用いられたフォントと文字列のセットを取得し、描画時に使用したフォントが「Ａｒｉａｌ」でない場合、フォントが代替されたと判断できる。また、表示されている文字列を取得し、１文字ずつフォントを見て、「Ａｒｉａｌ」でないフォントが用いられている文字がある場合も、フォントが代替されたと判断できる。また、文書表示部２０１で使用しているフォント描画システムから、代替フォントとして使用されるフォントを取得し、そのフォントが使用されている場合はフォントが代替されていると判定できるが、手段はこれらの方法に限らなくて良い。
【００２５】
次に、文書表示部２０１から取得した描画結果を、フォント毎にテキスト分割を行う。文書表示部２０１から取得した描画結果をフォント毎に分割した場合、フォント「Ａｒｉａｌ」／文字列「ＡＢＣ」、フォント「メイリオ」／文字列「あいう」、フォント「Ａｒｉａｌ」／文字列「１２３」の３つのテキストに分割することができる。（図９）
次に、分割したテキストを１つずつ出力データ生成部２０４に渡す。これによって、文書表示部２０１で描画した結果と同一の描画結果を得ることができる。（図８）
また、テキストに下線や取り消し線が用いられている場合、出力データ生成部２０４では、それぞれのテキストがそれぞれのフォントに応じた下線と取り消し線が引かれてしまい、分割前のテキストと線の位置がずれてしまう。（図１０）そこで、文書情報管理部２０３では、分割前の下線と取り消し線の始点と終点の座標及び線の太さを線描画情報として記録しておく。出力データ生成部２０４では、テキストごとに下線と取り消し線を引かず、テキスト描画後に、文書情報管理部２０３が記録していた線描画情報を取得し、描画を行う。これによって下線・取り消し線の位置がずれることなく、表示と出力データを同一の描画結果にすることができる。（図１１）
【実施例２】
【００２６】
本発明の図２、図５〜１１に基づいて説明する。
【００２７】
本発明の第２の実施形態として、文書アプリケーションが図１２のように、１つの文書に対して、１つのフォントを指定するアプリケーションを例として説明する。文書内に指定したフォントが対応していない文字が存在する場合は、その文字は図１２のアプリケーションの持つフォント描画システムによって代替フォントが用いられるものとする。この場合、代替フォントが適用される範囲が文字単位でも文書単位でもよい。出力に用いるアプリケーションは前述にある図４のようなアプリケーションとする。
【００２８】
図１２のような文書アプリケーションから、出力データを生成する際には、一般的にテキスト全体または行単位で出力データ生成部２０４にテキストを渡される。本発明では、文書表示部２０１で表示されているテキストを、フォント単位で取得し、フォント単位で出力データ生成部２０４に渡す。そのため、１つの文書に対し、１つのフォントが割り当てられるような文書アプリケーションで代替フォントが用いられている場合でも、表示と出力で同一の描画結果を得ることができる。
【符号の説明】
【００２９】
２０１  文書表示部
２０３  文書情報管理部
２０４  出力データ生成部
２０５  フォントセットデータベース
３０１  文書表示ウィンドウ
【図１】
2011248739.tif 000003
【図２】
2011248739.tif 000004
【図３】
2011248739.tif 000005
【図４】
2011248739.tif 000006
【図５】
2011248739.tif 000007
【図６】
2011248739.tif 000008
【図７】
2011248739.tif 000009
【図８】
2011248739.tif 000010
【図９】
2011248739.tif 000011
【図１０】
2011248739.tif 000012
【図１１】
2011248739.tif 000013
【図１２】
2011248739.tif 000014