(57)【要約】【課題】  プレビュー画像を描画するシステムで描画できないオブジェクトをプレビュー画像として表示する際に、ユーザの操作性が低下することを抑制する。【解決手段】  文書編集システム２００は、ＷＰＦ側で描画することができないオブジェクトがある場合、文書編集モジュール２２０に、そのオブジェクトの画像の作成を依頼する。文書編集システム２００は、そのオブジェクトの画像が作成されるまでの間、そのオブジェクトの画像のうち、ＷＰＦ側で描画できる部分を表示し、その他の部分を表示しない。【選択図】  図２
2018037794.tif 000002
【特許請求の範囲】
【請求項１】
文書データと当該文書データと共に表示されるオブジェクトとを含む画像をプレビューするためのプレビュー画像を描画する描画手段と、
前記プレビュー画像の表示を制御する表示制御手段と、を有し、
前記描画手段は、前記描画手段により描画できない部分が前記オブジェクトにある場合、前記オブジェクトのうち、前記描画手段により描画できる部分の少なくとも一部を描画し、前記オブジェクトのその他の部分を前記オブジェクトの通りに描画しないことを特徴とする情報処理装置。
【請求項２】
前記オブジェクトに対応するオブジェクトの画像を作成する作成手段を更に有し、
前記表示制御手段は、前記描画手段により描画された部分の表示を、前記作成手段で作成された前記オブジェクトの画像に差し替えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示制御手段は、前記オブジェクトの画像の作成を、前記作成手段に依頼することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記作成手段は、前記オブジェクトのうち、前記オブジェクトと同じ内容で作成できる部分の少なくとも一部については、当該内容で当該部分を作成し、前記オブジェクトのうち、前記オブジェクトと同じ内容で描画できない部分については、当該内容を代替する内容で当該部分を作成することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記オブジェクトのうち、前記オブジェクトと同じ内容で作成できる部分とは、前記オブジェクトのフォントのうち、前記作成手段で作成できるフォントと同じフォントの部分であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記プレビュー画像は、新たに設定された前記オブジェクトを前記文書データと共にプレビューするための画像であることを特徴とする請求項１〜５の何れか１項に記載の情報処理装置。
【請求項７】
前記オブジェクトは、前記文書データに対して付加されたオブジェクトであり、
前記プレビュー画像は、状態が変更された前記オブジェクトの変更後の当該状態を前記文書データと共にプレビューするための画像であり、
前記描画手段は、前記プレビュー画像における前記オブジェクトの状態の変更が指示されると、変更後の当該状態に合うように、当該オブジェクトのうち、前記描画手段により描画できる部分の少なくとも一部を描画し、当該オブジェクトのその他の部分を前記オブジェクトの通りに描画しないことを特徴とする請求項１〜５の何れか１項に記載の情報処理装置。
【請求項８】
前記表示制御手段は、前記プレビュー画像における前記オブジェクトの状態の変更の指示が完了すると、前記プレビュー画像における前記オブジェクトの状態を変更することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記表示制御手段は、前記プレビュー画像における前記オブジェクトの状態の変更の指示が完了すると、前記描画手段により描画された部分の表示を削除することを特徴とする請求項７または８に記載の情報処理装置。
【請求項１０】
前記オブジェクトの状態の変更は、前記オブジェクトの位置の変更を含むことを特徴とする請求項７〜９の何れか１項に記載の情報処理装置。
【請求項１１】
前記オブジェクトは、縦書きのテキストを含むオブジェクトであることを特徴とする請求項１〜１０の何れか１項に記載の情報処理装置。
【請求項１２】
文書データと当該文書データと共に表示されるオブジェクトとを含む画像をプレビューするためのプレビュー画像を描画する描画工程と、
前記プレビュー画像の表示を制御する表示制御工程と、を有し、
前記描画工程は、前記描画工程により描画できない部分が前記オブジェクトにある場合、前記オブジェクトのうち、前記描画工程により描画できる部分の少なくとも一部を描画して、前記オブジェクトのその他の部分を前記オブジェクトの通りに描画しないことを特徴とする情報処理方法。
【請求項１３】
請求項１〜１１の何れか１項に記載の情報処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、文書データのプレビュー画像を表示するために用いて好適なものである。
【背景技術】
【０００２】
文書編集システムにおいて扱う文書データは、ビットマップデータなどの画像データ、文字列データなどのテキストデータ、および四角形などのグラフィックデータなど様々なデータを描画オブジェクトとして含むことが可能である。文書編集システムは、文書データを構成するページに対して付加する注釈情報として、特定の文字列や、四角形、楕円といった図形などを作成することができる。
【０００３】
一方で、文書データにおいては、テキストデータは横書き・縦書きの両方に対応しているのに対して、文書編集システムは、縦書きのテキストデータに対応していないといったケースが存在する。こういったケースは文書編集システムの利用するＵＩライブラリの制限によって生じる。例えば、文書データのフォーマットとしてＰｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ（以下、ＰＤＦと称する）を利用する場合、ＰＤＦにおいては、テキストデータは横書き・縦書きの両方に対応している。一方で、文書編集システムが利用するＵＩライブラリがＷｉｎｄｏｗｓ（登録商標）  Ｐｒｅｓｅｎｔａｉｏｎ  Ｆｏｕｎｄａｔｉｏｎ（以下、ＷＰＦと称する）である場合、ＷＰＦは横書きのテキストデータにしか対応していない。つまり、ＷＰＦを利用する文書編集システムは、ＷＰＦ単体では縦書きの注釈情報をＰＤＦファイルにどのように付加して描画するのかを判断することができない。そこで、特許文献１には、サーバが、縦書きデータの代替データとしてＸＭＬデータや画像データなどを外部のプログラムに生成させて、縦書きレイアウトに対応していないクライアントに送信し、クライアントでそれを描画する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２５６９７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の方法では、代替データの作成を依頼した後、実際に代替データが生成されるまで文書編集システム上では待ち時間が発生することとなり、ユーザの操作性が低下する虞がある。
本発明は、以上の問題点に鑑みてなされたものであり、プレビュー画像を描画するシステムで描画できないオブジェクトをプレビュー画像として表示する際に、ユーザの操作性が低下することを抑制することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、文書データと当該文書データと共に表示されるオブジェクトとを含む画像をプレビューするためのプレビュー画像を描画する描画手段と、前記プレビュー画像の表示を制御する表示制御手段と、を有し、前記描画手段は、前記描画手段により描画できない部分が前記オブジェクトにある場合、前記オブジェクトのうち、前記描画手段により描画できる部分の少なくとも一部を描画し、前記オブジェクトのその他の部分を描画しないことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、プレビュー画像を描画するシステムで描画できないオブジェクトをプレビュー画像として表示する際に、当該オブジェクトの再現性およびユーザの操作性が低下することを抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置の構成を示す図である。
【図２】情報処理装置のソフトウェアの構成を示す図である。
【図３】プレビュー画面を示す図である。
【図４】文書検索画面を示す図である。
【図５】文書データの形式を示す図である。
【図６】原稿オブジェクトリストを示す図である。
【図７】注釈オブジェクトリストを示す図である。
【図８】文書データの描画層を示す図である。
【図９】原稿オブジェクトリストに格納される情報を示す図である。
【図１０】原稿オブジェクト情報が取り出される様子を示す図である。
【図１１】注釈情報入力画面を示す図である。
【図１２】プレビュー画像の作成の際の処理を示すフローチャートである。
【図１３】縦書き注釈オブジェクトを移動する際の様子を示す図である。
【図１４】縦書き注釈オブジェクトの移動の際の処理を示すフローチャートである。
【図１５】注釈オブジェクトの作成の際の処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施の形態を詳しく説明する。
＜第１の実施形態＞
まず、第１の実施形態について説明する。
図１は、情報処理装置の構成の一例を示す図である。情報処理装置は、例えば、ＰＣ（Personal Computer）を用いることにより実現される。この情報処理装置は、後述する文書編集システム、文書編集モジュール、および文書管理システムの機能を実現するためのハードウェアの一例である。図１に示されるハードウェアの構成は、一般的な情報処理装置のハードウェアの構成に相当し、本実施形態の情報処理装置には、一般的な情報処理装置のハードウェアの構成を適用できる。
【００１０】
図１において、ＣＰＵ１００は、オペレーティングシステム（ＯＳ）やアプリケーション等のプログラムを実行する。このプログラムは、ＲＯＭ１０２のプログラム用ＲＯＭに記憶されている。また、このプログラムは、ハードディスク１０９からＲＡＭ１０１にロードされるようにしてもよい。後述する各フローチャートの処理は、ＣＰＵ１００がプログラムを実行することにより実現される。ＲＡＭ１０１は、ＣＰＵ１００の主メモリおよびワークエリアなどとして機能する。キーボードコントローラ１０３は、キーボード１０８やマウスなど、図示しないポインティングデバイスからの入力を制御する。ディスプレイコントローラ１０４は、各種ディスプレイ１０７の表示を制御する。ディスクコントローラ１０５は、各種データを記憶するハードディスク（ＨＤ）１０９やフレキシブルディスク（ＦＤ）等におけるデータアクセスを制御する。ＮＣ１０６は、ネットワークに接続され、当該ネットワークに接続された他の機器との通信制御処理を実行する。
【００１１】
図２は、情報処理装置のソフトウェアの構成の一例を示す図である。本実施形態では、文書編集システム２００、文書管理システム２１０、および文書編集モジュール２２０の全ての機能は、情報処理装置１１０で実行されるプログラムによって実現されるものとする。
文書編集システム２００は、ＧＵＩ（Graphical User Interface）部２０１、入力制御部２０２、文書編集部２０３、保存／更新部２０４、およびデータ解析部２０５を有する。ＧＵＩ部２０１は、情報処理装置１１０のディスプレイ１０７に表示されるＧＵＩの表示を制御する。ＧＵＩ部２０１は、ＧＵＩに対する入力として、キーボード１０８やマウスなどの入力デバイスからの入力を受け付ける。入力制御部２０２は、ユーザによる入力デバイスの操作を、ＧＵＩ部２０１を通じて検知し、その操作の内容に応じて、文書データの編集・ファイルの保存などを指示する。文書編集部２０３は、入力制御部２０２からの文書データの編集指示に従い、文書編集システム２００で編集中の文書データに対して各種の編集処理などを行う。保存／更新部２０４は、入力制御部２０２からの保存指示に従い、文書データの保存・更新を指示する処理などを行う。データ解析部２０５は、文書編集部２０３の制御に応じて、文書データを解析し、描画オブジェクトを生成する処理などを行う。
【００１２】
文書編集モジュール２２０は、文書編集部２０３、保存／更新部２０４、およびデータ解析部２０５によって指示された操作を、文書データに対して実行できるよう解析・処理するモジュールである。
ここで、文書編集システム２００は、文書データを読み込み、それを編集するための機能をユーザに提供する。本実施形態では、文書データのフォーマットがＰＤＦである場合を例に挙げて説明する。ただし、文書データのフォーマットは、画像データおよびテキストデータを保持できるものであればよい。文書データのフォーマットは、文書編集システム２００独自のフォーマットであってもよいし、一般的なアプリケーションのデータファイルを文書編集システム２００独自のフォーマットに変換したものでもよい。以下の説明では、この文書データを編集するための文書編集モジュール２２０を必要に応じてＰＤＦ編集モジュール２２０と称する。更に本実施形態では、文書編集システム２００が、縦書きのオブジェクトを扱えないＷＰＦを、図示しないＵＩライブラリとして利用する場合を例に挙げて説明する。ただし、文書編集システム２００は、その他のＵＩライブラリを用いて実装されていてもよい。
【００１３】
文書管理システム２１０は、ＧＵＩ部２１１、入力制御部２１２、文書管理部２１３、および文書検索部２１４を有する。ＧＵＩ部２１１は、情報処理装置１１０のディスプレイ１０７に表示されるＧＵＩの表示を制御する。ＧＵＩ部２１１は、ＧＵＩに対する入力として、キーボード１０８やマウスなどの入力デバイスからの入力を受け付ける。入力制御部２１２は、ユーザによる入力デバイスの操作を、ＧＵＩ部２１１を通して検知し、その操作の内容に応じて、文書データの一覧表示、検索、複製、および削除などを指示する。文書管理部２１３は、入力制御部２１２からの指示に従い、文書管理システム２１０で管理対象の文書データに対して各種処理を制御する。文書検索部２１４は、入力制御部２１２からの検索指示に従い、文書データの検索を指示する。
【００１４】
図３は、プレビュー画面の一例を示す図である。プレビュー画面は、文書編集システム２００のＧＵＩ部２０１により表示される。プレビュー画面は、メインウインドウ３０１、メニュー／ツールバー３０２、およびページプレビュー３０３を有する。メニュー／ツールバー３０２には、文書編集システム２００がもつ各種機能の実行を指示するためのコントロールが配置される。例えば、メニュー／ツールバー３０２には、コントロール３１１、３１２などが含まれる。コントロール３１１は、文書データに対して注釈を付与するためのコントロールである。コントロール３１２は、文書全体を異なる形式に変換して保存するためのコントロールである。ページプレビュー３０３には、文書データの各ページの描画内容がプレビュー画像として表示される。文書データの各ページの描画内容は、後述する原稿データおよび注釈データにより決定される。
【００１５】
図４は、文書検索画面の一例を示す図である。文書検索画面は、文書管理システムのＧＵＩ部２１１により表示される。文書検索画面は、メインウインドウ４０１、メニュー／ツールバー４０２、フォルダー表示ペイン４０３、文書表示ペイン４０４、および検索ペイン４０５を有する。メニュー／ツールバー４０２には、文書管理システム２１０がもつ各種機能の実行を持するためのコントロールが配置される。フォルダー表示ペイン４０３には、文書管理部２１３によって管理されているフォルダー４１１が表示される。検索ペイン４０５では、文書管理部２１３によって管理されているフォルダー４１１に存在する文書データから特定の条件を満たす文書データを検索する機能を提供する。検索条件入力欄４１３には、検索を行うための条件が入力される。例えば、文書データ名や文書データに含まれる注釈文字列などを、検索を行うための条件として検索条件入力欄４１３に入力することが可能である。検索ボタン４１４は、検索の実行を受け付けるためのボタンである。検索ボタン４１４が押下されると、文書検索部２１４は、その時点で検索条件入力欄４１３に入力されている条件に従って、文書データを検索する。文書表示ペイン４０４には、フォルダー表示ペイン４０３で選択されたフォルダーに存在する文書データ４１２、または、検索ペイン４０５に対する操作に従って検索された文書データ４１２の一覧が表示される。
【００１６】
文書編集システム２００および文書管理システム２１０の詳細の一例を言及する前に、文書データのデータ構造の一例について説明する。文書データは、紙媒体の書物を模擬した構造を有する。まず、上位層は「文書」でありる。「文書」には、その文書全般に係る属性（文書属性）が定義される。下位層は「ページ」であり、文書編集システム２００で定義された各ページに相当する。尚、各「ページ」にも、ページ毎の属性（ページ属性）を定義することができる。更に、一つの「文書」は複数の「ページ」を含むことができる。「文書」、「ページ」は文書データの構成を示すために用いた用語であり、同等の構成を成していれば他の用語であってもかまわない。
【００１７】
図５は、文書データの形式の一例を模式的に示す図である。図５に示す例では、文書データ５００における文書５０１およびページ５０２Ａ〜５０２Ｄは、それぞれに相当するノードにより示される。一つの文書データ５００は一つの文書５０１を含む。文書５０１は、その属性値と下位層へのリンクとをその実体として含む。ページ５０２Ａ〜５０２Ｄは、ページ毎のデータを実体として有する。そのため、ページ５０２Ａ〜５０２Ｄは、その属性値の他に、原稿ページの実体（原稿オブジェクトデータおよび注釈オブジェクトデータ）を含む。
【００１８】
図５において、文書５０１には、当該文書５０１の属性値が定義されている。また、文書５０１には、４つのページ５０２Ａ、５０２Ｂ、５０２Ｃ、５０２Ｄがリンクされ、これらページ５０２Ａ〜５０２Ｄが文書５０１に含まれることが設定される。各ページ５０２Ａ〜５０２Ｄには、それぞれ属性値が定義される。また、各ページ５０２Ａ〜５０２Ｄには、その実体である原稿オブジェクトデータおよび注釈オブジェクトデータが含まれる。また、文書管理システム２１０が文書データ５００を検索するために用いるデータとして文書検索用情報５１０が、文書データ５００と対の状態で存在する。
【００１９】
図６は、原稿オブジェクトリストの一例を示す図である。原稿オブジェクトリスト６００は、文書データ５００を構成するページ５０２Ａ〜５０２Ｄ内の原稿データに存在する原稿オブジェクト情報を管理するためのものである。原稿オブジェクト情報６１０Ａ、６１０Ｂには、原稿オブジェクトＩＤ６０１Ａ、６０１Ｂ、原稿オブジェクト種類６０２Ａ、６０２Ｂ、左上座標６０３Ａ、６０３Ｂ、および右下座標６０４Ａ、６０４Ｂが含まれる。また、原稿オブジェクト情報６１０Ａ、６１０Ｂには、重なり順序６０５Ａ、６０５Ｂ、ページ番号６０６Ａ、６０６Ｂ、および原稿オブジェクト固有情報６０７Ａ、６０７Ｂが更に含まれる。
【００２０】
原稿オブジェクトＩＤ６０１Ａ、６０１Ｂは、原稿オブジェクト情報６１０Ａ、６１０Ｂにおける原稿オブジェクトの識別情報である。原稿オブジェクト種類６０２Ａ、６０２Ｂは、原稿オブジェクト情報６１０Ａ、６１０Ｂにおける原稿オブジェクトの種類を示す。左上座標６０３Ａ、６０３Ｂ、右下座標６０４Ａ、６０４Ｂは、それぞれ、原稿オブジェクト情報６１０Ａ、６１０Ｂにおける原稿オブジェクトの左上、右下の位置を示す。重なり順序６０５Ａ、６０５Ｂは、原稿オブジェクト情報６１０Ａ、６１０Ｂにおける原稿オブジェクトが他の原稿オブジェクトと重なっていた場合にどちらが上または下に描画されるのかの順序を示す。ページ番号６０６Ａ、６０６Ｂは、原稿オブジェクト情報６１０Ａ、６１０Ｂにおける原稿オブジェクトが存在するページの番号である。原稿オブジェクト種類６０２Ａが長方形である場合、原稿オブジェクト固有情報６０７Ａは、例えば、線の種類６１１、線の色情報６１２、および塗りつぶし色情報６１３を有する。線の色情報６１２は、線の色と透明度の情報を有する。塗りつぶし色情報６１３は、塗りつぶしの色と透明度の情報を有する。原稿オブジェクト種類６０２Ｂがテキスト（文字列）である場合、原稿オブジェクト固有情報６０７Ｂは、例えば、文字列６２１、フォント名６２２、および文字色情報６２３を有する。文字色情報６２３は、文字列の色と透明度の情報を有する。尚、原稿オブジェクト種類は、長方形やテキストに限定されない。このような原稿オブジェクト情報６１０Ａ、６１０Ｂがリスト構造になって、原稿オブジェクトリスト６００に格納される。原稿オブジェクトリスト６００は、原稿データ全体で１つのリストを保持する形式でも構わないし、ページごとに１つのリストを保持する形式でも構わない。
【００２１】
図７は、注釈オブジェクトリストの一例を示す図である。注釈オブジェクトリスト７００は、文書データ５００を構成するページ５０２Ａ〜５０２Ｄ内の注釈オブジェクトデータに存在する注釈オブジェクト情報を管理するためのものである。注釈オブジェクト情報７１０Ａ、７１０ｂには、注釈ＩＤ７０１Ａ、７０１Ｂ、注釈種類７０２Ａ、７０２Ｂ、左上座標７０３Ａ、７０３Ｂ、および右下座標７０４Ａ、７０４Ｂが含まれる。また、注釈オブジェクト情報７１０Ａ、７１０ｂには、重なり順序７０５Ａ、７０５Ｂ、ページ番号７０６Ａ、７０６Ｂ、および注釈オブジェクト固有情報７０７Ａ、７０７Ｂが更に含まれる。
【００２２】
注釈ＩＤ７０１Ａ、７０１Ｂは、注釈オブジェクト情報７１０Ａ、７１０Ｂにおける注釈オブジェクトの識別情報である。注釈種類７０２Ａ、７０２Ｂは、注釈オブジェクト情報７１０Ａ、７１０Ｂにおける注釈オブジェクトの種類を示す。左上座標７０３Ａ、７０３Ｂ、右下座標７０４Ａ、７０４Ｂは、それぞれ、注釈オブジェクト情報７１０Ａ、７１０Ｂにおける注釈オブジェクトの左上、右下の位置を示す。重なり順序７０５Ａ、７０５Ｂは、注釈オブジェクト情報７１０Ａ、７１０ｂにおける注釈オブジェクトが他の注釈オブジェクトと重なっていた場合にどちらが上または下に描画されるのかの順序を示す。ページ番号７０６Ａ、７０６Ｂは、注釈オブジェクト情報７１０Ａ、７１０Ｂにおける注釈オブジェクトが存在するページの番号である。注釈種類７０２Ａが長方形である場合、注釈オブジェクト固有情報７０７Ａは、例えば、線の種類７１１、線の色情報７１２、および塗りつぶし色情報７１３を有する。線の色情報７１２は、線の色と透明度の情報を有する。塗りつぶし色情報７１３は、塗りつぶしの色と透明度の情報を有する。注釈種類７０２Ｂがテキスト（文字列）である場合、注釈オブジェクト固有情報７０７Ｂは、例えば、文字列７２１、フォント名７２２、および文字色情報７２３を有する。文字色情報７２３は、例えば、文字列の色と透明度の情報を有する。尚、注釈種類は、長方形やテキストに限定されない。このような注釈オブジェクト情報７１０がリスト構造になって、注釈オブジェクトリスト７００に格納される。注釈オブジェクトリスト７００は、注釈オブジェクトデータ全体で１つのリストを保持する形式でも構わないし、ページごとに１つのリストを保持する形式でも構わない。
【００２３】
図８は、文書データの描画層の一例を模式的に示す図である。図８に示す例では、原稿データの原稿オブジェクトの描画層と、注釈オブジェクトデータに存在する注釈オブジェクトの描画層とは異なる層になる。具体的に図８に示す例では、原稿オブジェクトの描画層（オブジェクト描画層）の上に注釈オブジェクトの描画層（注釈描画層）が存在する。つまり、注釈オブジェクトが上位層として描画されることとなる。よって、原稿オブジェクトと同一の座標に注釈オブジェクトが存在する場合には、上位層である注釈オブジェクトが優先的に表示され、原稿オブジェクトが表示されない状態となる。尚、以下の説明では、原稿オブジェクトおよび注釈オブジェクトをまとめて表現する場合には、これらを必要に応じてオブジェクトと表現することとする。
【００２４】
次に、オブジェクトの解析方法と登録方法の一例について説明する。この処理は、文書編集部２０３からの指示に従って、データ解析部２０５がハードディスク１０９に格納されている文書データにアクセスして実行することにより行われる。
図９は、原稿オブジェクトリスト６００に格納される情報の一例を示す図である。図９（ａ）に示す座標に位置する長方形の原稿オブジェクトおよび文字列の原稿オブジェクトは、図９（ｂ）に示す内容によって、原稿オブジェクトリスト６００に登録される。図９（ｂ）に示すように、左上座標と右下座標により生成される四角形の領域がオブジェクトの存在する領域となり、ここではその領域をオブジェクトの存在領域と定義する。図９（ｂ）に示す例では、長方形の原稿オブジェクトの重なり順序が「０（ゼロ）」、テキスト（文字列）の原稿オブジェクトの重なり順序が「１」となっている。従って、長方形の原稿オブジェクトの上にテキストの原稿オブジェクトがのっている状態となる。逆に、長方形の原稿オブジェクトの重なり順序が「１」、テキストの原稿オブジェクトの重なり順序が「０（ゼロ）」となる場合、テキストの原稿オブジェクトの上に長方形の原稿オブジェクトがのる状態となる。この場合、テキストの原稿オブジェクトは表示されない状態となる。
【００２５】
図１０は、文書データ５００の内部フォーマットから、図９と同様の長方形の原稿オブジェクトが読み出され、原稿オブジェクト情報６１０Ａとして取り出される様子の一例を示す図である。図１０では、内部フォーマットとしてバイナリーデータを例に挙げて示すが、内部フォーマットは、例えば、ＸＭＬのようなテキスト形式のデータであってもよい。ここでは、原稿オブジェクトについての解析方法およびリストの登録方法の一例について図９および図１０を用いて説明した。注釈オブジェクトについても、原稿オブジェクトと同様に、データ解析部２０５が、文書データにアクセスし、注釈オブジェクトを解析し、その解析の結果に基づいて注釈オブジェクトリスト７００を生成することができる。従って、注釈オブジェクトについての解析方法およびリストの登録方法の詳細な説明を省略する。
【００２６】
図１１は、注釈情報入力画面の一例を示す図である。注釈情報入力画面１１００は、新たな注釈オブジェクトの作成のために用いる注釈情報を入力するための画面である。注釈情報入力画面１１００は、注釈を付与するためのコントロール３１１を押下することでＧＵＩ部２０１により表示される。尚、本実施形態において、注釈情報入力画面１１００が、テキスト形式の注釈情報を入力する画面である場合を例に挙げて示す。しかしながら、注釈情報入力画面１１００は、図形や画像といったテキスト形式以外の注釈情報を入力できてもよい。また、テキスト、図形、および画像といった注釈の種類ごとに、注釈情報入力画面１１００を分けてもよいし、一つの注釈情報入力画面１１００で注釈の種類を切り替えて情報を入力できるようにしてもよい。
【００２７】
文字列の方向選択ボタン１１０１は、テキスト注釈の文字列の方向を選択する。本実施形態では、文字列の方向として横書きか縦書きかを選択できる場合を例に挙げて説明する。テキスト入力領域１１０２は、テキスト注釈の内容となる文字列を入力する領域である。ここで、文字列の方向選択ボタン１１０１で選択した方向によらず、テキスト入力領域１１０２で入力した文字列は横書きで表示される。これは、ＷＰＦでは縦書きで表示可能なオブジェクトが存在しないためである。注釈設定１１０４は、テキスト注釈の詳細な設定を入力する領域である。図１１においては、フォント・フォントサイズ・枠線の種類・透過性といった設定のみを示すが、これ以外の設定が存在してもよい。また、図１１に示した設定のうち、存在しないものがあってもよい。プレビュー領域１１０３は、注釈オブジェクトが文書データに実際に挿入された際のプレビュー画像を表示する領域である。プレビュー画像における注釈オブジェクトは、文字列の方向選択ボタン１１０１、テキスト入力領域１１０２、および注釈設定１１０４に入力された文字列の情報を組み合わせることにより生成される。尚、プレビュー画像の生成方法の一例の詳細は、図１２に示すフローチャートを参照しながら後で説明する。本実施形態では、プレビュー領域１１０３に表示されるプレビュー画像が、作成されたオブジェクトを文書データと共にプレビューするための画像の一例である。確定ボタン１１０５は、注釈情報入力画面１１００に入力された内容を確定するためのボタンである。文書編集部２０３は、確定ボタン１１０５が押下されることで、その時点で注釈情報入力画面１１００に入力されている情報を元に、注釈情報を作成する。キャンセルボタン１１０６は、注釈情報の作成をキャンセルするためのボタンである。文書編集部２０３は、キャンセルボタン１１０６が押下されることで、それまでに注釈情報入力画面１１００に入力された情報を破棄し、注釈情報の作成をキャンセルする。
【００２８】
図１２は、注釈情報入力画面１１００においてプレビュー画像を作成する際の処理の一例を説明するフローチャートである。本フローチャートによる処理は、既に注釈情報入力画面１１００が開かれており、ユーザが注釈情報を入力できる状態になった後に開始する。
ステップＳ１２０１において、文書編集部２０３は、注釈情報入力画面１１００に対するユーザの操作が発生し、注釈情報入力画面１１００に入力されている情報に変更があった否かを判定する。この判定の結果、注釈情報入力画面１１００に入力されている情報に変更があった場合にはステップＳ１２０２に進む。一方、注釈情報入力画面１１００に入力されている情報に変更がない場合には後述するステップＳ１２０９に進む。
【００２９】
ステップＳ１２０２に進むと、文書編集部２０３は、注釈情報入力画面１１００に入力されている情報の収集を行う。本実施形態では、文書編集部２０３は、注釈情報入力画面１１００に記載の文字列の方向選択ボタン１１０１、テキスト入力領域１１０２、および注釈設定１１０４に入力された値を収集するものとする。後述するステップＳ１２０９で確定ボタン１１０５が押下されると判定すると、文書編集部２０３は、これらの値を用いて注釈情報を作成する。次に、ステップＳ１２０３において、文書編集部２０３は、ステップＳ１２０２で収集した情報から、文字列の方向が縦書きか否かを判定する。この判定の結果、文字列の方向が縦書きである場合にはステップＳ１２０４に進む。一方、文字列の方向が横書きである場合には後述するステップＳ１２０７に進む。
【００３０】
ステップＳ１２０４に進むと、文書編集部２０３は、プレビュー領域１１０３に表示するプレビュー画像を作成するため、ステップＳ１２０２で収集した情報を元に、ＰＤＦ編集モジュール２２０に対して画像の作成依頼を行う。尚、本実施形態においては、ＰＤＦ編集モジュール２２０を用いて画像の作成を行う場合を例に挙げて示す。しかしながら、ＰＤＦ以外のフォーマットの画像を作成するモジュールを用いて、画像を作成してもよい。ただし、文書データに実際に挿入される注釈オブジェクトとのズレが小さい方がプレビューとしての効果が高い。このため、文書データを編集するものと同じモジュールを、画像を作成するモジュールとして用いることが好ましい。このように図１２のフローチャートでは、ステップＳ１２０４の処理により、作成手段の一例が実現される。また、このステップＳ１２０４の処理により、表示制御手段が、オブジェクトの画像の作成を、作成手段に依頼することの一例が実現される。
【００３１】
次に、ステップＳ１２０５において、文書編集部２０３は、ステップＳ１２０４で作成依頼を行った画像の作成が完了したか否かを判定する。この判定の結果、画像の作成が完了した場合にはステップＳ１２０６に進む。一方、画像の作成が完了していない場合にはステップＳ１２１０に進む。ステップＳ１２０６に進むと、文書編集部２０３は、ＰＤＦ編集モジュール２２０で作成された画像をプレビュー画像として登録する。そして、後述するステップＳ１２０８に進む。一方、ステップＳ１２１０に進むと、文書編集部２０３は、ＰＤＦ編集モジュール２２０で作成される予定の画像の代わりに、プレビュー画像として表示可能な領域が、データ解析部２０５で描画され、ＧＵＩ部２０１により表示されたか否かを判定する。この判定の結果、プレビュー画像として表示可能な領域が既に表示済みの場合にはステップＳ１２０５に戻り、画像の作成が完了するのを待つことになる。一方、プレビュー画像として表示可能な領域がまだ表示されていない場合には、ステップＳ１２１１に進む。
【００３２】
ステップＳ１２１１に進むと、データ解析部２０５は、ＰＤＦ編集モジュール２２０で作成される予定の画像のうち、ＷＰＦ側で表示可能な描画領域のみを描画する。そして、ＧＵＩ部２０１は、データ解析部２０５で描画されたＷＰＦ側で表示可能な描画領域の描画オブジェクトをプレビュー画像としてプレビュー領域１１０３に表示する。そして、ステップＳ１２０５に戻り、画像の作成が完了するのを待つ。ここで、ＷＰＦ側で表示可能な描画領域とは、縦書きオブジェクトのうち、文字列の方向に寄らず描画可能な情報を指す。例えば、オブジェクトの大きさや、文字列を囲む枠線、色、透過性といったオブジェクトの設定に関してはＷＰＦ側でも描画することが可能である。そこで、文書編集システム２００は、縦書きオブジェクトの画像の作成をＰＤＦ編集モジュール２２０に依頼した後、注釈情報の設定のうち、ＷＰＦ側でもプレビュー画像に反映することが可能な設定をプレビュー画像として表示する。これにより、ユーザは縦書きオブジェクトの画像が作成される前でも、注釈情報の設定の変更のうち、ＷＰＦ側でもプレビュー画像に反映することが可能な設定の変更に関しては、即座に、その設定の変更による影響を確認することができる。
【００３３】
ここで、データ解析部２０５は、ＷＰＦ側で描画・表示されるオブジェクトの大きさを、例えば、注釈情報として入力された文字数から決定してもよい。また、データ解析部２０５は、文字部分を縦書き・横書きによらない図形、例えば円や四角形で表現してもよい。更に、既にＰＤＦ編集モジュール２２０によって作成された画像が存在している場合に、注釈情報入力画面１１００に入力されている情報の変更があり、その変更後の内容の一部を当該画像により表現することができるものとする。
【００３４】
このような場合、データ解析部２０５は、既にＰＤＦ編集モジュール２２０によって作成された画像を、ＷＰＦ側でプレビュー画像に反映することが可能な設定に関するオブジェクトとしてもよい。つまり、注釈情報入力画面１１００に入力されている情報から、ＷＰＦ側で描画可能な領域を描画して表示することで、ユーザが、ステップＳ１２０４で作成依頼を行った画像が作成されるまでの間、注釈オブジェクトの概略をユーザが掴めるようにする。このことがステップＳ１２１１の処理の目的となる。このように図１２のフローチャートでは、ステップＳ１２１１の処理により、描画手段の一例が実現される。尚、ここでは、ＷＰＦ側で描画可能な部分の全てをＷＰＦ側で描画する場合を例に挙げて説明したが、ＷＰＦ側で描画可能な部分の少なくとも一部をＷＰＦ側で描画していればよい（即ち、ＷＰＦ側で描画可能な部分の一部をＷＰＦ側で描画してもよい）。例えば、注釈オブジェクトの概略をユーザが掴めるようにするために不要な部分については、ＷＰＦ側で描画しなくてもよい。
【００３５】
前述したようにステップＳ１２０３において、文字列の方向が縦書きではないと判定された場合（即ち、横書きであると判定された場合）にはステップＳ１２０７に進む。ステップＳ１２０７に進むと、データ解析部２０５は、ステップＳ１２０２で収集された、注釈情報入力画面１１００に入力されている情報に基づいて、プレビュー画像用のオブジェクトを作成する。このようにＷＰＦ側でプレビュー画像用のオブジェクトが作成される。ステップＳ１２０７では、注釈情報入力画面１１００に対して入力された情報の設定の全てを反映したオブジェクトが描画される。そして、ステップＳ１２０８に進む。
【００３６】
ステップＳ１２０８に進むと、ＧＵＩ部２０１は、ステップＳ１２０６またはＳ１２０７で作成されたプレビュー画像をプレビュー領域１１０３に表示する。ステップＳ１２０６からステップＳ１２０８に進んだ場合、ＧＵＩ部２０１は、ステップＳ１２１１で表示したＷＰＦ側で表示可能な描画領域の描画オブジェクトを、ステップＳ１２０６で登録したＰＤＦ編集モジュール２２０で作成された画像に差し替える。そして、ステップＳ１２０９に進む。このように図１２のフローチャートでは、ステップＳ１２０８の処理により、表示制御手段が、描画手段により描画された部分の表示を、作成手段で作成されたオブジェクトの画像に差し替えることの一例が実現される。
【００３７】
ステップＳ１２０９に進むと、文書編集部２０３は、確定ボタン１１０５が押下されたか否かを判定する。この判定の結果、確定ボタン１１０５が押下された場合には、文書編集部２０３は、その時点で注釈情報入力画面１１００に入力された情報を用いて注釈情報を作成する。一方、確定ボタン１１０５が押下されていない場合にはステップＳ１２０１に戻り、注釈情報入力画面１１００に入力された情報の変更または確定ボタン１１０５の押下があるまで待機する。尚、本フローチャートには図示しないが、キャンセルボタン１１０６の押下があった場合には、文書編集部２０３は、それまでに注釈情報入力画面１１００に入力された情報を破棄し、図１２のフローチャートによる処理を終了する。
【００３８】
図１３は、ページプレビュー３０３において、文書データに付加された縦書きの注釈オブジェクトを移動する際の様子の一例を示す図である。文書データ１３０１は、注釈オブジェクトを付加する対象となる文書データである。縦書き注釈オブジェクト１３０２は、既に文書データ１３０１に付加され、文書データ１３０１側で描画されている縦書きの注釈オブジェクトである。移動中縦書きオブジェクト１３０３は、ユーザが、図示しないマウスカーソルを、縦書き注釈オブジェクト１３０２が表示されている領域に置いた状態でマウスを押下し、その後ドラッグしている最中に、ＷＰＦ側（文書編集システム２００側）で描画される。移動中縦書きオブジェクト１３０３は、縦書きのオブジェクトである。
【００３９】
ここで、縦書き注釈オブジェクト１３０２は文書データ１３０１側で描画されている。このため、縦書き注釈オブジェクト１３０２をＷＰＦ側で描画される移動中縦書きオブジェクト１３０３として用いることはできない。そのため、移動中縦書きオブジェクト１３０３の描画のためのプレビュー画像が必要となる。このプレビュー画像の作成の処理の一例に関しては後述する図１４のフローチャートを参照しながら説明する。このように本実施形態では、図１３に示す画像が、状態が変更されたオブジェクトの変更後の当該状態をプレビューするための画像（プレビュー画像）の一例である。マウスカーソルの押下が終了すると、移動中縦書きオブジェクト１３０３が存在していた座標に、縦書き注釈オブジェクト１３０２が移動され、移動中縦書きオブジェクト１３０３は削除される。
【００４０】
図１４は、ページプレビュー３０３において文書データに付加された縦書き注釈オブジェクト１３０２を移動する際の処理の一例を説明するフローチャートである。本フローチャートによる処理は、縦書き注釈オブジェクト１３０２がマウスで押下、つまり選択された状態になった後に開始する。
【００４１】
ステップＳ１４０１において、文書編集部２０３は、縦書き注釈オブジェクト１３０２がマウスで押下されたタイミングで、ＰＤＦ編集モジュール２２０に対してプレビュー用の画像の作成依頼を行う。ＰＤＦ編集モジュール２２０は、この作成依頼に基づいて、プレビュー用の画像の作成の作成を開始する。ここで、文書編集システム２００では、ユーザがマウスを押下したまま移動することで、縦書き注釈オブジェクト１３０２の移動操作が行われる。このように図１４のフローチャートでは、ステップＳ１４０１の処理により、作成手段の一例が実現される。また、このステップＳ１２０４の処理により、表示制御手段が、オブジェクトの画像の作成を、作成手段に依頼することの一例が実現される。
【００４２】
次に、ステップＳ１４０２において、データ解析部２０５は、縦書き注釈オブジェクト１３０２のうち、ＷＰＦ側で表示可能な領域のみをプレビュー画像として描画する。そして、ＧＵＩ部２０１は、データ解析部２０５で描画されたプレビュー画像を、移動中縦書きオブジェクト１３０３として、マウスの操作に応じた位置に表示する。ここで、ＷＰＦ側で表示可能な領域は、例えば、ステップＳ１２１１で説明した方法と同じ方法で決定される。このように図１４のフローチャートでは、ステップＳ１４０２の処理により、描画手段の一例が実現される。
【００４３】
次に、ステップＳ１４０３において、文書編集部２０３は、マウスが押下されたままであるか否かを判定する。この判定の結果、マウスが押下されたままである場合には、ステップＳ１４０４に進む。このとき、データ解析部２０５は、マウスの操作に応じた位置に、表示中の移動中縦書きオブジェクト１３０３の表示位置を変更する。一方、マウスが押下されていない場合、つまり縦書き注釈オブジェクト１３０２の移動が完了している場合には、後述するステップＳ１４０７に進む。ステップＳ１４０４に進むと、ステップＳ１４０２で表示されたプレビュー画像が、ステップＳ１４０１で作成されたプレビュー用の画像に差し替え済みであるか否かを判定する。この判定の結果、ステップＳ１４０２で表示されたプレビュー画像が、ステップＳ１４０１で作成されたプレビュー用の画像に差し替え済みである場合には、ステップＳ１４０３に戻り、縦書き注釈オブジェクト１３０２の移動の完了を待つことになる。一方、ステップＳ１４０２で表示されたプレビュー画像が、ステップＳ１４０１で作成されたプレビュー用の画像に差し替えられていない場合には、ステップＳ１４０５に進む。
【００４４】
ステップＳ１４０５に進むと、文書編集部２０３は、ＰＤＦ編集モジュール２２０に作成を依頼したプレビュー用の画像の作成が完了したか否かを判定する。この判定の結果、プレビュー用の画像の作成が完了していない場合には、ステップＳ１４０３に戻る。一方、プレビュー用の画像の作成が完了している場合には、ステップＳ１４０６に進む。
【００４５】
ステップＳ１４０６に進むと、データ解析部２０５は、ＷＰＦ側で作成したプレビュー画像を、ＰＤＦ編集モジュール２２０で作成されたプレビュー用の画像に差し替える。これにより、ユーザは、ＰＤＦ編集モジュール２２０で作成されたプレビュー用の画像を、プレビューすることができる。この処理により、実際に文書データ１３０１に挿入されている縦書き注釈オブジェクト１３０２と、移動中縦書きオブジェクト１３０３の描画イメージが一致することになる。このように図１４のフローチャートでは、ステップＳ１４０６の処理により、表示制御手段が、描画手段により描画された部分の表示を、作成手段で作成されたオブジェクトの画像に差し替えることの一例が実現される。
【００４６】
前述したように、マウスが押下されていない状態になり、縦書き注釈オブジェクト１３０２の移動が完了していると判定されると、ステップＳ１４０７に進む。ステップＳ１４０７に進むと、文書編集部２０３は、移動中縦書きオブジェクト１３０３の座標を取得し、その値を縦書き注釈オブジェクト１３０２の座標として用いるように設定を変更する。このように本実施形態では、ステップＳ１４０７の処理を行うことにより、プレビュー画像におけるオブジェクトの状態の変更の指示が完了すると、表示制御手段が、プレビュー画像における前記オブジェクトの状態を変更することの一例が実現される。
【００４７】
次に、ステップＳ１４０８において、文書編集部２０３は、移動中縦書きオブジェクト１３０３（ＷＰＦ側で作成されたプレビュー画像）を削除し、描画を終了させる。このように本実施形態では、ステップＳ１４０７の処理により、プレビュー画像におけるオブジェクトの状態の変更の指示が完了すると、表示制御手段が、描画手段により描画された部分の表示を削除することの一例が実現される。これらステップＳ１４０７およびＳ１４０８の処理により、移動後の位置における移動中縦書きオブジェクト１３０３が削除され、その位置に縦書き注釈オブジェクト１３０２が表示され、縦書き注釈オブジェクト１３０２の移動が完了する。
【００４８】
以上説明した通り、本実施形態では、文書編集システム２００は、ＷＰＦ側で描画することができないオブジェクトがある場合、文書編集モジュール２２０に、そのオブジェクトの画像の作成を依頼する。文書編集システム２００は、そのオブジェクトの画像が作成されるまでの間、そのオブジェクトの画像のうち、ＷＰＦ側で描画できる部分を表示し、その他の部分をそのオブジェクトの通りに表示しない。従って、プレビュー画像を描画する文書編集システム２００で全てを描画できないオブジェクトをプレビュー画像として表示する際に、ユーザの操作性が低下することを抑制することができる。また、文書編集モジュール２２０にオブジェクト画像の作成を依頼する。よって、元のオブジェクト画像と大きく異なるオブジェクト画像が作成されることを抑制することができ、オブジェクト画像の再現性が低下することを抑制することができる。本実施形態では、その具体例として、図１２および図１４の各フローチャートを提供することで、縦書きに未対応の文書編集システム２００（文書編集アプリケーション）上で、文字方向が縦書きの注釈のプレビュー画像を表示することが可能となる。また、文書編集モジュール２２０でプレビュー用の画像が作成されるまでは、文書編集システム２００で描画可能な領域を描画・表示し、当該プレビュー用の画像の作成が完了した後に、表示中の画像を当該プレビュー用の画像に差し替える。従って、プレビュー用の画像が作成されるまでの間もオブジェクトの変更状態や位置を示すことを可能とし、ユーザは待ち時間なく操作を行うことができる。
【００４９】
本実施形態では、文書編集システム２００が縦書きに未対応である場合を例に挙げて説明した。しかしながら、文書データと共に表示されるオブジェクトに、文書編集システム２００で描画できない部分があれば、文書編集システム２００は、必ずしも縦書きに未対応である必要はない。例えば、注釈オブジェクトが横書きである場合に、文書編集システム２００が横書きに未対応であってもよい。また、本実施形態（図１３および図１４）では、縦書き注釈オブジェクト１３０２を移動する場合を例に挙げて説明した。しかしながら、縦書き注釈オブジェクト１３０２の状態を変更していれば、必ずしも縦書き注釈オブジェクト１３０２を移動する場合に限定されない。例えば、縦書き注釈オブジェクト１３０２を拡大または縮小する場合に本実施形態の手法を適用してもよい。
【００５０】
＜第２の実施形態＞
次に、第２の実施形態について説明する。文書編集システム２００では、縦書きの注釈オブジェクトをサポートしていないため、注釈設定１１０４で設定された縦書きフォントがテキスト入力領域１１０２で入力された文字全てに有効かを判断できない。そこで、第１の実施形態では、文書編集システム２００で描画できない注釈オブジェクトの全てをＰＤＦ編集モジュール２２０の判断で作成する場合を例に挙げて説明した。しかしながら、ＰＤＦ編集モジュール２２０は、文書編集システム２００から指定されたフォントに対応していない文字が縦書きの注釈オブジェクトにあった場合には、注釈の全文を代替フォントに置き換える。このため、ＰＤＦ編集モジュール２２０は、本来であれば文書編集システム２００から指定されたフォントで描画できた文字であっても、そのフォントを代替フォントに置き換える。そこで、本実施形態は、よりユーザが意図したものに近いフォントで注釈オブジェクトを作成する。このように本実施形態と第１の実施形態とでは、文書編集システム２００が、ＰＤＦ編集モジュール２２０に対して注釈オブジェクトの作成を依頼する際の処理およびＰＤＦ編集モジュール２２０の一部が主として異なる。従って、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図１４に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５１】
図１５は、注釈オブジェクトを作成する際の処理の一例を説明するフローチャートである。
ステップＳ１５０１において、文書編集部２０３は、ＰＤＦ編集モジュール２２０に縦書きの注釈オブジェクトの画像の作成を依頼する際に、縦書き用のフォントをＰＤＦ編集モジュール２２０に対して指定する。縦書き用のフォントは、注釈設定１１０４のフォントの項目の内容に基づいて決定される。
【００５２】
次に、ステップＳ１５０２において、文書編集部２０３は、ステップＳ１５０１で指定した縦書き用のフォントを、縦書きの注釈オブジェクトのテキストの各文字に適用できるか否かをＰＤＦ編集モジュール２２０に対して確認する。即ち、文書編集部２０３は、ＰＤＦ編集モジュール２２０が、縦書きの注釈オブジェクトのテキストの各文字について、ステップＳ１５０１で指定した縦書き用のフォントで描画できるか否かを確認する。この段階では、ＰＤＦ編集モジュール２２０は、縦書きの注釈オブジェクトの描画処理を行わず、ステップＳ１５０１で指定された縦書き用のフォントに存在しない文字と、その代替フォントとを文書編集部２０３に返却するものとする。
【００５３】
次に、ステップＳ１５０３において、文書編集部２０３は、ステップＳ１５０２の結果に基づいて、ステップＳ１５０１で指定した縦書き用のフォントを適用できない文字があるか否かを判定する。この判定の結果、ステップＳ１５０１で指定した縦書き用のフォントを適用できない文字がある場合には、ステップＳ１５０４に進む。一方、ステップＳ１５０１で指定した縦書き用のフォントを適用できない文字がない場合には、後述するステップＳ１５０７に進む。
【００５４】
ステップＳ１５０４に進むと、文書編集部２０３は、ステップＳ１５０３において縦書き用のフォントを適用できないと判定した文字を一文字取得する。次に、ステップＳ１５０５において、文書編集部２０３は、ステップＳ１５０４で取得した文字に対して、代替フォントを設定する。ここで、本実施形態においては、ステップＳ１５０４で取得した文字の代替フォントとして、ＰＤＦ編集モジュール２２０が決定した代替フォントを用いるものとするが、必ずしもこのようにする必要はない。例えば、別のライブラリを用いて代替フォントを決定してもよい。また、文書編集システム２００側で、代替フォントとなるフォントの優先順位を決めておいてもよい。このようにする場合、例えば、文書編集部２０３は、それらのフォントをＰＤＦ編集モジュール２２０で適用できるか否かを、ステップＳ１５０２の処理と同様にして順に確認する。このようにことで、文書編集部２０３は、ＰＤＦ編集モジュール２２０で利用可能なフォントを探し、それを代替フォントとして決定してもよい。このように本実施形態では、ステップＳ１５０５の処理により作成手段の一例が実現される。尚、ここでは、ＰＤＦ編集モジュール２２０は、ＰＤＦ編集モジュール２２０において縦書き用のフォントを適用できる全ての文字を、当該縦書き用のフォントで描画する場合を例に挙げて説明した。しかしながら、ＰＤＦ編集モジュール２２０において縦書き用のフォントを適用できる文字の少なくとも一部を、当該縦書き用のフォントで描画していればよい。例えば、縦書き用のフォントを適用できない文字群の間に、縦書き用のフォントを適用できる文字が１つだけ存在している場合には、当該文字を代替フォントとしてもよい。
【００５５】
次に、ステップＳ１５０６において、文書編集部２０３は、ステップＳ１５０３において縦書き用のフォントを適用できないと判定した文字のうち、代替フォントが設定されていない文字が他にあるか否かを判定する。この判定の結果、代替フォントが設定されていない文字が他にある場合には、ステップＳ１５０４に戻る。そして、ステップＳ１５０３において縦書き用のフォントを適用できないと判定した文字の全てに代替フォントが設定されるまで、ステップＳ１５０４〜Ｓ１５０６の処理を繰り返し行う。そして、ステップＳ１５０３において縦書き用のフォントを適用できないと判定した文字の全てに代替フォントが設定されると、ステップＳ１５０７に進む。ステップＳ１５０７に進むと、ＰＤＦ編集モジュール２２０は、ステップＳ１５０１で指定されたフォントまたはステップＳ１５０５で設定された代替フォントを用いて、縦書きの注釈オブジェクトを文字毎に作成する。
【００５６】
以上のように本実施形態では、文書編集システム２００は、ＷＰＦ側で描画することができないオブジェクトがある場合、当該オブジェクトと同じ内容でＰＤＦ編集モジュール２２０が描画できる部分を、その内容でＰＤＦ編集モジュール２２０に描画させる。そして、文書編集システム２００は、その他の部分を、代替の内容でＰＤＦ編集モジュール２２０に描画させる。本実施形態では、その具体例として、図１５のフローチャートを提供することで、文書編集システム２００は、ＰＤＦ編集モジュール２２０に対して、ユーザによって指定されたフォントを極力用いた注釈オブジェクトの作成を依頼することが可能となる。
【００５７】
本実施形態では、フォントを代替する場合を例に挙げて説明した。しかしながら、オブジェクトのうち、前記オブジェクトと同じ内容で描画できない部分を、当該内容を代替する内容としていれば、必ずしも、フォントを代替する必要はない。例えば、フォントの代わりに色を代替するようにしてもよい。
【００５８】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００５９】
（その他の実施形態）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６０】
１１０：情報処理装置、２００：文書編集システム、２２０：文書編集モジュール
【図１】
2018037794.tif 000003
【図２】
2018037794.tif 000004
【図３】
2018037794.tif 000005
【図４】
2018037794.tif 000006
【図５】
2018037794.tif 000007
【図６】
2018037794.tif 000008
【図７】
2018037794.tif 000009
【図８】
2018037794.tif 000010
【図９】
2018037794.tif 000011
【図１０】
2018037794.tif 000012
【図１１】
2018037794.tif 000013
【図１２】
2018037794.tif 000014
【図１３】
2018037794.tif 000015
【図１４】
2018037794.tif 000016
【図１５】
2018037794.tif 000017