(57)【特許請求の範囲】
【請求項１】
任意のアプリケーションプログラムが表示する文書の画面座標をスクロールバー情報に基づいて、文書全体から見た文書座標を算出する文書座標算出ステップと、
前記スクロールバー情報を取得して文書総ライン数を算出し、文書のページ追加やページ削除の有無を監視する追加削除監視制御ステップと
を含み、前記追加削除監視制御ステップでページ追加やページ削除が検出された場合は、前記文書座標算出ステップで算出した文書座標をページ追加やページ削除に応じて補正することを特徴とする文書位置補正方法。
【請求項２】
前記追加削除監視制御ステップは、前記スクロールバー情報を取得して文書総ライン数を算出し、文書総ライン数が増加した場合は、文書のページ追加があったと判定することを特徴とする請求項１に記載の文書位置補正方法。
【請求項３】
前記追加削除監視制御ステップは、前記スクロールバー情報を取得して文書総ライン数を算出し、文書総ライン数が減少した場合は、文書のページ削除があったと判定することを特徴とする請求項１に記載の文書位置補正方法。
【請求項４】
文書のページ削除があったと判定され、ページを削除した場合は、削除ページを元に戻すメッセージを表示することを特徴とする請求項３に記載の文書位置補正方法。
【請求項５】
ページを追加する追加ページ、あるいはページを削除する削除ページを指定して上端画面座標を取得するページ上端入力制御ステップをさらに含み、
前記ページ上端入力制御ステップにより取得した上端画面座標を前記文書座標算出ステップのスクロールバー情報に基づいて、上端文書座標を算出することを特徴とする請求項１〜４のいずれか一つに記載の文書位置補正方法。
【請求項６】
前記文書総ライン数の増加に基づいて、追加ページ長を算出する追加補正制御ステップをさらに含むことを特徴とする請求項２または５に記載の文書位置補正方法。
【請求項７】
前記文書総ライン数の減少に基づいて、削除ページ長を算出する削除補正制御ステップをさらに含むことを特徴とする請求項３または５に記載の文書位置補正方法。
【請求項８】
ページ追加があった場合は、前記追加ページの上端文書座標より大きい保存文書座標に前記追加補正制御ステップで算出した追加ページ長を加えて、補正文書座標を算出することを特徴とする請求項６に記載の文書位置補正方法。
【請求項９】
ページ削除があった場合は、前記削除ページの上端文書座標より大きい保存文書座標から前記削除補正制御ステップで算出した削除ページ長を差し引いて、補正文書座標を算出することを特徴とする請求項７に記載の文書位置補正方法。
【請求項１０】
前記請求項１〜９のいずれか一つに記載の文書位置補正方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書位置補正方法およびその方法をコンピュータに実行させるプログラムに関するものである。
【背景技術】
【０００２】
従来、汎用ＯＳ（オペレーティング・システム）上で動作する任意のアプリケーションプログラムが表示する文書位置（ページ番号、ページ内表示位置）情報を他のアプリケーションプログラムが取得するためには、文書表示プログラムが情報を提供するＡＰＩ（アプリケーション・プログラム・インターフェース）を用意し、これを実行する必要がある。
【０００３】
しかし、現在この機能を提供しているのは、Microsoft Office（商標登録）といったごく一部のアプリケーションプログラムに限られており、他の多くのプログラムでは提供していない。このため、ページの追加や削除が行われると、適正な文書位置情報が把握できなくなる。
【０００４】
そこで、文書位置情報がＡＰＩによって提供されるアプリケーションプログラム（Microsoft Word、Excel、PowerPoint等）を用いて、文書位置を算出する表示制御装置が開示されている（特許文献１参照）。
【０００５】
また、文書にページ情報を付加して印刷し、そのページ情報を自動検知できるようにして、上書き情報とページ情報との整合性を図る情報処理システムが開示されている（特許文献２参照）。
【０００６】
さらに、ディスプレイ画面に表示されている文書等に所定のデータを重ねて表示させたい場合に、文書上に上書きすべき上書きデータを画像メモリ上に直接描画する画像処理装置が開示されている（特許文献３参照）。
【０００７】
また、上書き時のＰＣ画像と手書き情報とを分離保存し、表示時に重ねて表示する投影文書管理装置が開示されている（特許文献４参照）。
【０００８】
【特許文献１】特開２００４−９４６７９号公報
【特許文献２】特開２０００−２１５０００号公報
【特許文献３】特開２００１−３１２２６４号公報
【特許文献４】特開２００１−１６３８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記特許文献１によれば、文書位置情報がＡＰＩによって提供されるアプリケーションプログラムを使用しなければ、他のアプリケーションプログラムで文書位置情報が取得できないという問題があった。
【００１０】
また、上記特許文献２によれば、文書に一度ページ情報を付加印刷し、その印刷したページ情報を識別するための特別な装置が別に必要となり、その分コストがかかるという問題があった。
【００１１】
さらに、上記特許文献３によれば、表示倍率を拡大縮小した場合やスクロール表示した場合でも、上書き位置情報が保持されて表示することができる。しかし、一旦文書を画像メモリから退避させると同時に上書きデータも削除されるので、文書の同じ位置に、再度上書きデータを表示することができなくなるという問題があった。
【００１２】
また、上記特許文献４によれば、ＰＣ画像と手書き情報とが分離保存されているため、ＰＣ画像と手書き情報の位置関係が不明となって、ＰＣ画像の表示位置と手書き情報の表示位置とを関連付けて管理する必要があるという問題があった。
【００１３】
本発明は、上記に鑑みてなされたものであって、任意のアプリケーションプログラムが表示する文書の位置情報を他のアプリケーションプログラムによって取得できるようにすると共に、ページの追加や削除があっても文書の位置情報を適正に補正することのできる文書位置補正方法およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、請求項１にかかる文書位置補正方法は、任意のアプリケーションプログラムが表示する文書の画面座標をスクロールバー情報に基づいて、文書全体から見た文書座標を算出する文書座標算出ステップと、前記スクロールバー情報を取得して文書総ライン数を算出し、文書のページ追加やページ削除の有無を監視する追加削除監視制御ステップとを含み、前記追加削除監視制御ステップでページ追加やページ削除が検出された場合は、前記文書座標算出ステップで算出した文書座標をページ追加やページ削除に応じて補正することを特徴とする。
【００１５】
また、請求項２にかかる発明は、請求項１に記載の文書位置補正方法において、前記追加削除監視制御ステップは、前記スクロールバー情報を取得して文書総ライン数を算出し、文書総ライン数が増加した場合は、文書のページ追加があったと判定することを特徴とする。
【００１６】
また、請求項３にかかる発明は、請求項１に記載の文書位置補正方法において、前記追加削除監視制御ステップは、前記スクロールバー情報を取得して文書総ライン数を算出し、文書総ライン数が減少した場合は、文書のページ削除があったと判定することを特徴とする。
【００１７】
また、請求項４にかかる発明は、請求項３に記載の文書位置補正方法において、文書のページ削除があったと判定され、ページを削除した場合は、削除ページを元に戻すメッセージを表示することを特徴とする。
【００１８】
また、請求項５にかかる発明は、請求項１〜４のいずれか一つに記載の文書位置補正方法において、ページを追加する追加ページ、あるいはページを削除する削除ページを指定して上端画面座標を取得するページ上端入力制御ステップをさらに含み、前記ページ上端入力制御ステップにより取得した上端画面座標を前記文書座標算出ステップのスクロールバー情報に基づいて、上端文書座標を算出することを特徴とする。
【００１９】
また、請求項６にかかる発明は、請求項２または５に記載の文書位置補正方法において、前記文書総ライン数の増加に基づいて、追加ページ長を算出する追加補正制御ステップをさらに含むことを特徴とする。
【００２０】
また、請求項７にかかる発明は、請求項３または５に記載の文書位置補正方法において、前記文書総ライン数の減少に基づいて、削除ページ長を算出する削除補正制御ステップをさらに含むことを特徴とする。
【００２１】
また、請求項８にかかる発明は、請求項６に記載の文書位置補正方法において、ページ追加があった場合は、前記追加ページの上端文書座標より大きい保存文書座標に前記追加補正制御ステップで算出した追加ページ長を加えて、補正文書座標を算出することを特徴とする。
【００２２】
また、請求項９にかかる発明は、請求項７に記載の文書位置補正方法において、ページ削除があった場合は、前記削除ページの上端文書座標より大きい保存文書座標から前記削除補正制御ステップで算出した削除ページ長を差し引いて、補正文書座標を算出することを特徴とする。
【００２３】
また、請求項１０にかかる発明は、前記請求項１〜９のいずれか一つに記載の文書位置補正方法をコンピュータに実行させるプログラムである。
【発明の効果】
【００２４】
請求項１にかかる文書位置補正方法は、文書座標算出ステップにより任意のアプリケーションプログラムが表示する文書の画面座標をスクロールバー情報に基づいて、文書全体から見た文書座標を算出し、追加削除監視制御ステップによりスクロールバー情報を取得して文書総ライン数を算出し、文書のページ追加やページ削除の有無を監視して、ページ追加やページ削除が検出されると、文書座標算出ステップで算出した文書座標をページ追加やページ削除に応じて補正する。これにより、文書の位置情報を提供しないアプリケーションプログラムであっても、文書位置情報の取得が可能となり、ページ追加やページ削除があった場合でも文書位置情報が適正に補正できるという効果を奏する。
【００２５】
請求項２にかかる文書位置補正方法は、追加削除監視制御ステップにおいて、スクロールバー情報を取得して文書総ライン数を算出し、その文書総ライン数が増加すると、文書のページ追加があったと判定する。これにより、文書のページ追加があったことを自動検知できるという効果を奏する。
【００２６】
請求項３にかかる文書位置補正方法は、追加削除監視制御ステップにおいて、スクロールバー情報を取得して文書総ライン数を算出し、その文書総ライン数が減少すると、文書のページ削除があったと判定する。これにより、文書のページ削除があったことを自動検知できるという効果を奏する。
【００２７】
請求項４にかかる文書位置補正方法は、文書のページ削除があったと判定され、ページ削除が行われると、削除ページを元に戻すメッセージを表示する。これにより、削除したページを元に戻すべきかどうかが確認可能となり、誤ってページ削除が行われるのを防止できるという効果を奏する。
【００２８】
請求項５にかかる文書位置補正方法は、ページ上端入力制御ステップにより追加ページや削除ページを指定して上端画面座標を取得し、その取得した上端画面座標を文書座標算出ステップのスクロールバー情報に基づいて、上端文書座標を算出する。これにより、通常行われる文書へのページ追加やページ削除に対して、追加ページや削除ページの上端画面座標を指定するだけで、上端文書座標を補正することができるという効果を奏する。
【００２９】
請求項６にかかる文書位置補正方法は、追加補正制御ステップにより文書総ライン数の増加に基づいて、追加ページ長を算出するようにする。これにより、文書のページ追加があると自動的に追加ページ長を算出することができるという効果を奏する。
【００３０】
請求項７にかかる文書位置補正方法は、削除補正制御ステップにより文書総ライン数の減少に基づいて、削除ページ長を算出するようにする。これにより、文書のページ削除があると自動的に削除ページ長を算出することができるという効果を奏する。
【００３１】
請求項８にかかる文書位置補正方法は、ページ追加があると、追加ページの上端文書座標より大きい保存文書座標に追加補正制御ステップで算出した追加ページ長を加えて、補正文書座標を算出する。これにより、ページの追加によって追加ページ以降の保存文書座標にずれが生じたとしても、追加ページ長を加えることで、文書座標を適正に補正できるという効果を奏する。
【００３２】
請求項９にかかる文書位置補正方法は、ページ削除があると、削除ページの上端文書座標より大きい保存文書座標から削除補正制御ステップで算出した削除ページ長を差し引いて、補正文書座標を算出する。これにより、ページの削除によって削除ページ以降の保存文書座標にずれが生じたとしても、削除ページ長を差し引くことで、文書座標を適正に補正できるという効果を奏する。
【００３３】
請求項１０にかかるプログラムは、請求項１〜９のいずれか一つに記載の文書位置補正方法をコンピュータに実行させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３４】
以下に、本発明にかかる文書位置補正方法、その方法をコンピュータに実行させるプログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００３５】
図１は、本発明の文書位置補正方法を実施するコンピュータシステムの構成を説明するブロック図であり、図２−１は、座標データの構造を示す図であり、図２−２は、座標ステータスの状態説明図であり、図３−１は、マウスデータの構造を示す図であり、図３−２は、マウスステータスの状態説明図である。
【００３６】
図１に示すコンピュータシステム１０は、タッチパネル１１の付いたディスプレイ１２とパーソナルコンピュータ（以下、ＰＣという）１５とが組み合わされて構成されている。
【００３７】
（座標入力制御）
図１に示すディスプレイ１２面に接触する座標指示物（電子ペンなど）の描画位置をタッチパネル１１で検出し、座標算出制御装置１３により座標位置を算出して、その座標データ１４をＰＣＩ／Ｆ（ＰＣインターフェース）を介してＰＣ１５へ送信する。ＰＣＩ／Ｆとしては、ＲＳ２３２ＣやＵＳＢ等を使うことができる。なお、図１では、座標位置を算出する座標算出制御装置１３が説明の便宜上、タッチパネル１１とＰＣ１５の間に描かれているが、実際にはディスプレイ１２内に格納されている。
【００３８】
座標データ１４の構造は、図２−１に示すように、座標の状態を表す座標ステータスと、座標位置を表すＸ座標、Ｙ座標とを含んでいる。座標ステータスには、タッチ座標、停止座標、移動座標、デタッチ座標の４つがあり、それぞれのデータフレームが「１」であればその座標状態を表し、「０」であれば無効を表している。
【００３９】
座標データにおける座標ステータスの具体的な内容として、図２−２に示すように、タッチ座標とは、座標指示物が非検知状態から最初に検知された座標のことである。停止座標とは、接触中の座標指示物が前回検知（１０ｍｓ周期）したのと同じ位置に止まっている座標のことである。移動座標とは、接触中の座標指示物が前回検知（１０ｍｓ周期）から移動した座標のことである。デタッチ座標とは、座標指示物が非検知状態となった座標のことである。
【００４０】
ＰＣＩ／Ｆを介してＰＣ１５へ送信された座標データ１４は、ＰＣ１５内のタッチパネルドライバ１５１で受信して、ＯＳ（オペレーティング・システム）の定義するマウスデータ１５２に変換される。タッチパネルドライバ１５１で変換されたマウスデータ１５２は、ＯＳの提供するマウスＩ/Ｆ（マウスインターフェース）１５３へ出力される。
【００４１】
上記したマウスデータ１５２は、ＰＣ１５に接続されるマウスによって出力されるデータと同一の形式であって、アプリケーションプログラム１５４はマウス操作の場合と同一に扱うことができる。通常マウスは右ボタンと左ボタンを有し、中ボタンを有するマウスも存在する。これに対して、タッチパネル１１には、これらのボタンに相当するものが存在しないため、タッチ操作をボタンＯＮ、デタッチ操作をボタンＯＦＦとして扱い、ボタン種別（右、中、左）についてはタッチパネルドライバが提供するプロパティによりユーザが選択するものとする。
【００４２】
マウスデータ１５２の構造は、図３−１に示すように、マウスの状態を表すマウスステータスと、マウスの座標位置を表すＸ座標、Ｙ座標とを含んでいる。マウスステータスには、左ボタン、中ボタン、右ボタンの３つがあり、それぞれのデータフレームが「１」であれば当該ボタンのＯＮ状態を表し、「０」であれば当該ボタンのＯＦＦ状態を表している。
【００４３】
マウスデータにおけるマウスステータスの具体的な内容として、図３−２に示すように、座標ステータスがタッチ座標の場合は、マウスステータスをユーザ選択ボタンＯＮとする。座標ステータスが停止座標の場合は、マウスステータスを未出力とする。座標ステータスが移動座標の場合は、マウスステータスをユーザ選択ボタンＯＮとする。座標ステータスがデタッチ座標の場合は、マウスステータスをユーザ選択ボタンＯＦＦとする。
【００４４】
図１に戻って、ＰＣ１５のＯＳにより実行権が与えられているアプリケーションプログラム１５４は、マウスＩ/Ｆ１５３からマウスデータを受け取ると、マウス座標下の情報（メニューやボタン等）に定義されている機能を実行する。その実行結果として画面表示が変更され、画像データ１５５が更新されて、ＲＧＢ信号に変換され、ディスプレイ１２上に描画像として表示される。
【００４５】
上記図１のコンピュータシステムの一例としては、タブレットＰＣなどがある。以下、保存文書を画面上に表示させて、その上から手書き文字等を描画することのできるタブレットＰＣの構成例について図４〜図６を用いて説明する。なお、このタブレットＰＣのタッチパネルは、電磁誘導センサーユニットと電子ペンなどによって構成されている。
【００４６】
（タブレットＰＣ）
図４は、ノート型のタブレットＰＣの概略図であり、図５は、図４のタッチパネルを構成する電磁誘導センサーユニットの構成説明図であり、図６は、電子ペンにより発生する誘導起電圧分布を示す図である。
【００４７】
図４に示すタブレットＰＣ２０は、キーボード２１とマウス操作を前提とする既存のＰＣとは異なり、電子ペン２３を用いてマウスの代わりに操作を行い、あるいは、キーボードに代えてテキスト入力を手書き文字描画と文字認識とによって行えるよう、ディスプレイ２２にタッチパネルが標準装備されている。また、マイクロソフト社からタブレットＰＣ用のＯＳ（例えば、「Windows（登録商標）  PC  Tablet  PC  Edition」など）がリリースされており、手書き文字認識エンジン、あるいは音声認識エンジンなどが提供されている。
【００４８】
タブレットＰＣ２０は、一般的なノートＰＣと同様に、液晶ディスプレイ、キーボード、マウスなどで構成され、同様の操作が可能である。図４には、ディスプレイ２２を１８０度回転させて折り畳んだ状態が示されている。この折り畳んだ状態でのディスプレイ２２の内部構造は、上から強化ガラス２２１、液晶ディスプレイユニット２２２、電磁誘導センサーユニット２２３の順に配置されており、ディスプレイ表示と電子ペン２３による座標指示の両方を行うことができる。
【００４９】
電磁誘導センサーユニット２２３は、タブレットＰＣ２０に内蔵されていて、ディスプレイ上の電子ペン２３の位置（座標）により、マウスのクリック、ドラッグ操作をエミュレートする。水平のディスプレイ２２と電子ペン２３によりマウス操作では困難な手書き文字が、紙に文字を書く感覚で描画可能となる。
【００５０】
電磁誘導センサーユニット２２３の電子ペン描画面の構成は、図４に示したように、電子ペン２３が直接接触する面には強化ガラス２２１が設置され、液晶ディスプレイユニット２２２に傷つくのを防止している。また、液晶ディスプレイユニット２２２の下に電子ペンの位置を検知する電磁誘導センサーユニット２２３が設置されているため、ディスプレイの画像品質が損なわれない構造となっている。図４のタブレットＰＣ２０では、ディスプレイ２２を回転して折り畳む形式を示したが、ディスプレイ２２の部分を取りはずせるようにしても良い。
【００５１】
図５に示す電磁誘導による座標検知方式は、コイル２３１とコンデンサ２３２で構成された共振回路２３３が電子ペン２３に内蔵されていて、電磁誘導センサーユニット２２３のセンサーコイル３０に流れる電流による磁界により、電子ペン２３のコイル２３１に誘導起電圧が生じ、コンデンサ２３２とからなる共振回路２３３が励振され共振電流が流れる。
【００５２】
電磁誘導センサーユニット２２３のセンサーコイル３０は、座標検知精度に比例した密度に設置されている。図５は、Ｘ軸方向を検知するためのセンサーコイルの１部を示している。また、図示していないが、これと直角の方向にＹ軸方向を検知するためのセンサーコイルも設置されている。
【００５３】
座標算出制御装置１３は、送受切替スイッチ３２を制御し、送受切替スイッチ３２をＡ−Ｃに接続して、交流電源３１からセンサーコイル３０に電流を流し、Ｘ軸コイル切替スイッチ３３を制御して、高速にスイッチを切替えながら順次センサーコイル３０へ電流を流す。これによりセンサーコイル３０上に順次磁界が発生する。この磁界により電子ペン２３が共振することになる。
【００５４】
次に、送受切替スイッチ３２をＢ−Ｃに接続し、Ｘ軸コイル切替スイッチ３３を順次高速に切り替える。この時、電子ペン３２の共振電流により発する磁界により、センサーコイル３０に誘導起電圧が発生する。このように、センサーコイル３０に発生する誘導起電圧は、増幅し、電圧（Ｖ）を測定する。図６の誘導起電圧分布図には、この時検知された誘導起電圧分布の状態が示されている。
【００５５】
例えば、電子ペン２３が図５のセンサーコイル３０の「２」上にある場合、その「２」のコイルから受信される誘導起電圧が最も高くなる。これにより、図６に示す誘導起電圧分布の最も高い点「２」を検出することで、Ｘ座標が確定する。また、図示していないが、Ｙ座標も同様にして確定する。
【００５６】
このようにして検知した電子ペン２３の座標は、ＰＣＩ／Ｆ（例えば、ＲＳ２３２Ｃ、ＵＳＢなどの汎用Ｉ／Ｆ、又は専用Ｉ／Ｆ）によりＰＣ１５へ座標データとして通知される。なお、図５に示す座標算出制御装置１３もディスプレイ２２に内蔵されているものとする。
【００５７】
（タッチパネルディスプレイ）
図７は、タッチパネルディスプレイの概略図である。図７のタッチパネルディスプレイ４０は、ディスプレイ４１として、ＰＤＰ（プラズマ・パネル・ディスプレイ）や液晶リアプロジェクタ等の大型の表示装置からなり、ＰＣ１５から出力される画像を表示する。タッチパネル４２は、ディスプレイ４１面上に触れた指、あるいはペン等の座標指示物の位置を検知するものである。
【００５８】
座標算出制御装置１３は、タッチパネル４２が検知する情報に基づいて座標指示物の位置を算出し、座標データとしてＲＳ２３２ＣやＵＳＢなどのＰＣＩ／Ｆを介してＰＣ１５へ通知する。
【００５９】
（光遮断検知方式）
図８は、タッチパネルの一例としての光遮断検知方式を説明する図である。図８に示すディスプレイの外枠５０の部分に発光ダイオード（ＬＥＤ）５１がＸ軸方向（外枠５０の上辺部分）とＹ軸方向（外枠５０の左辺部分）に検知精度に応じて一列に複数個（図８は、ＸＧＡディスプレイであるので、解像度が１０２４×７６８ピクセルと同じ個数）が配置され、赤外光を発する。
【００６０】
また、この赤外光を受光するフォトトランジスタ５２は、上記発光ダイオード（ＬＥＤ）５１と対向する位置（外枠５０のＸ軸方向の下辺部分と外枠５０のＹ軸方向の右辺部分）に配置され、発光された赤外光を受光して電気信号に変換し、座標算出制御装置１３へ送信される。座標算出制御装置１３は、Ｘ軸方向とＹ軸方向のＬＥＤ５１を順次発光させ、この光を受光するフォトトランジスタ５２から送信される電気信号が特定量以下である場合、座標指示物５３がタッチパネル上に存在するものとして、Ｘ軸方向とＹ軸方向のＬＥＤ５１のそれぞれの位置から座標位置を算出する。
【００６１】
図８に示すように、座標指示物５３が図８に示す位置にある場合は、Ｘ軸方向の「ＬＥＤ２」から発光された赤外光が座標指示物５３で遮られ、外枠５０のＸ軸方向の下辺部分に設けられたフォトランジスタ５２で受光されないＸ座標を「２」とする。同様にＹ軸「ＬＥＤ３」から発光された赤外光が座標指示物５３に遮られ、外枠５０のＹ軸方向の右辺部分に設けられたフォトランジスタ５２で受光されないＹ座標を「３」として検知される。
【００６２】
このように、光遮断検知方式を用いたタッチパネルは、座標指示物として特殊な電子ペン等を用いる必要がなく、光を遮るものであればよいため、人の指等でも座標を指示することができるという利点がある。
【００６３】
（画面表示情報）
図９は、ＯＳが提供するインターフェースにより取得できる画面表示情報を説明する図である。図９に示すように、表示中の全てのウィンドウ情報として、左上原点座標（ＷＸ，ＷＹ）６０、幅（ＷＷ）６１、高さ（ＷＨ）６２、ウィンドウハンドル、ウィンドウクラス、ウィンドウスタイル、ウィンドウタイトルなどを取得することができる。
【００６４】
ウィンドウハンドルは、表示中のウィンドウにユニークに割り当てられたウィンドウの識別子であり、これによりウィンドウの情報取得や設定などが行なわれる。
【００６５】
垂直スクロールバー６３は、ウィンドウとして作成される場合、ウィンドウクラス「Scroll Bar」、（ウィンドウ幅＜ウィンドウ高さ）、ウィンドウに付属する場合、ウィンドウスタイル「WS_VSCROLL」から識別される。
【００６６】
水平スクロールバー６４は、ウィンドウとして作成される場合、ウィンドウクラス「Scroll Bar」、（ウィンドウ幅＞ウィンドウ高さ）、ウィンドウに付属する場合、ウィンドウスタイル「WS_HSCROLL」から識別される。
【００６７】
水平スクロールバー６４からは、左上原点座標（ＨＸ，ＨＹ）６５、幅（ＨＷ）６６、高さ（ＨＨ）６７を取得することができる。
【００６８】
水平スクロール長（ＨＬ）６８は、文書の非表示部分も含めた全幅を示し、ＯＳが提供するインターフェースにより取得することができる。
【００６９】
水平スクロール表示幅（ＨＢ）６９は、文書の表示部分の幅を示している。また、水平スクロールボックス位置（ＨＰ）７０は、表示文書左端の位置を示している。これらもＯＳが提供するインターフェースにより取得することができる。
【００７０】
垂直スクロールバー６３は、左上原点座標（ＶＸ，ＶＹ）７１、幅（ＶＷ）７２、高さ（ＶＨ）７３を取得することができる。
【００７１】
垂直スクロール長（ＶＬ）７４は、非表示部分も含めた文書全ページの縦の長さを示し、ＯＳが提供するインターフェースにより取得することができる。
【００７２】
垂直スクロール表示長（ＶＢ）７５は、文書の表示部分の縦長を示している。また、垂直スクロールボックス位置（ＶＰ）７６は、表示文書上端の位置を示している。これらもＯＳが提供するインターフェースにより取得することができる。
【００７３】
このように、スクロールバー６３，６４に接するウィンドウがスクロールバーが制御するウィンドウ（文書表示領域５９）となり、左上原点座標（ＷＸ，ＷＹ）６０、ウィンドウ幅（ＷＷ）６１、ウィンドウ高さ（ＷＨ）６２を取得することができ、ウィンドウタイトル情報から表示している文書のファイル名を取得することができる。
【００７４】
（画面座標から文書座標への変換）
図１０−１〜図１０−３は、画面座標から文書座標への変換方法を説明する図である。図１０−１に示すように、水平スクロール長（ＨＬ）６８が表示文書の水平方向の全長を示し、水平スクロール表示幅（ＨＢ）６９は、画面に表示されている部分の幅を示している。
【００７５】
また、垂直スクロール長（ＶＬ）７４は、表示文書の垂直方向のページ長を示し、垂直スクロール表示長（ＶＢ）７５は画面に表示されている部分の高さを示している。
【００７６】
このため、文書全ページ領域（文書座標空間７７）と画面表示部分（文書表示領域５９）とは、図１０−２に示すような位置関係となる。
【００７７】
そこで、図１０−１〜図１０−３に示すように、ＯＳが提供する情報により、垂直スクロールボックス位置（ＶＰ）７６をスクロールライン数（ＬＮ）に換算し、ＯＳが提供する情報のスクロールライン長（ＬＬ：スクロールバーボタン押下によりスクロールされる基本単位となるピクセル長）から画面Ｙ座標を、先頭ページ上端を原点とする文書Ｙ座標（ＳＹ）へ変換する。この文書Ｙ座標（ＳＹ）は、次式により求まる。
文書Ｙ座標（ＳＹ）＝ＬＮ＊ＬＬ＋（Ｙ−ＷＹ）
【００７８】
さらに、ＯＳが提供する情報によって、水平スクロールボックス位置（ＨＰ）７０を文書ページ左端からの距離（ＸＰ：ピクセル長）に換算し、水平スクロール長（ＨＬ）６８をピクセル長（ＸＬ）に換算し、画面Ｘ座標として文書ページ中央を原点（左側−、右側＋）とする文書Ｘ座標（ＳＸ）へ変換する。この文書Ｘ座標（ＳＸ）は、次式により求まる。
文書Ｘ座標（ＳＸ）＝（Ｘ −ＷＸ）−（ＸＬ ／２−ＸＰ）
【００７９】
このように、ＯＳが提供する情報によって、垂直スクロール長をスクロールライン数に換算することにより、文書総ライン数（ＴＬ）を求めることができる。
【００８０】
（文書座標から画面座標への変換）
図１１−１〜図１１−４は、文書座標から画面座標への変換方法を説明する図である。図１１−１に示すように、ＯＳが提供する情報によって、垂直スクロールボックス位置（ＶＰ）７６をスクロールライン数（ＬＮ）に換算し、ＯＳが提供する情報のスクロールライン長（ＬＬ）から文書表示領域の文書原点Ｙ座標（ＤＹ）８０を算出する。表示領域原点文書Ｙ座標（ＤＹ）は、次式により求まる。
表示領域原点文書Ｙ座標（ＤＹ）＝ＬＮ＊ＬＬ
【００８１】
また、ＯＳが提供する情報によって、水平スクロールボックス位置（ＨＰ）７０を文書ページ左端からの距離（ＸＰ：ピクセル長）に換算し、ＯＳが提供する情報によって、水平スクロール長（ＨＬ）をピクセル長（ＸＬ）に換算し、文書中央座標（ＤＣ）８１を算出する。文書中央座標（ＤＣ）は、次式により求まる。
文書中央座標（ＤＣ）＝（ＸＬ／２−ＸＰ）＋ＷＸ
【００８２】
次に、図１１−２に示すように、ＤＣ８１が｛ＷＸ＜ＤＣ＜（ＷＸ＋ＷＷ）｝である場合は、表示領域文書空間８３は以下のようになる。
ＤＹ≦文書Ｙ座標≦（ＤＹ＋ＷＨ）
−（ＤＣ−ＷＸ）≦文書Ｘ座標 ≦ ＋（ＷＷ ＋ＷＸ−ＤＣ）
【００８３】
また、図１１−３に示すように、ＤＣ８１が（ＤＣ≦ＷＸ）である場合は、表示領域文書空間８３は以下のようになる。
ＤＹ≦文書Ｙ座標≦（ＤＹ＋ＷＨ）
＋（ＷＸ−ＤＣ）≦文書Ｘ座標 ≦＋（ＷＸ−ＤＣ＋ＷＷ）
【００８４】
さらに、図１１−４に示すように、ＤＣ８１が｛（ＷＸ＋ＷＹ）≦ ＤＣ｝である場合は、表示領域文書空間８３は以下のようになる。
ＤＹ≦文書Ｙ座標≦（ＤＹ＋ＷＨ）
−（ＤＣ−ＷＸ）≦文書Ｘ座標 ≦−｛ＤＣ −（ＷＸ＋ＷＹ）｝
【００８５】
また、図１１−１に示すように、文書座標（ＳＸ，ＳＹ）が文書表示領域５９内となる場合は、画面座標（Ｘ，Ｙ）へ以下の式により変換することができる。
画面Ｘ座標＝ＤＣ ＋ 文書Ｘ座標
画面Ｙ座標＝文書Ｙ座標−ＤＹ＋ＷＹ
【００８６】
（ページ追加補正方法）
図１２−１〜図１２−２は、文書座標保存後にページが追加された場合の保存座標補正方法を説明する図である。なお、文書Ｘ座標については、ページ追加や削除があっても影響を受けない。
【００８７】
まず、図１２−１に示すように、ページを追加する前の追加前文書総ライン数を（ＴＬ０）とする。そして、垂直スクロールバー情報を周期的に取得し、垂直スクロール長から文書総ライン数（ＴＬ１）を算出して、追加前文書総ライン数（ＴＬ０）と比べてライン数が増加した場合は、ページが追加されたと判定する（図１２−２参照）。
【００８８】
後述する「ページ追加・削除操作方法」により、追加ページの上端画面座標（Ｘ，Ｙ）を取得して、垂直スクロールボックス位置（ＶＰ）をスクロールライン数（ＬＮ）に換算し、スクロールライン長（ＬＬ）と文書領域ウィンドウ左上原点Ｙ座標（ＷＹ）から、図１２−２に示す追加ページ上端文書座標（ＡＰ）を算出する。追加ページ上端文書座標（ＡＰ）は、次式により求まる。
追加ページ上端文書座標（ＡＰ）＝ＬＮ ＊ＬＬ＋（Ｙ−ＷＹ）
【００８９】
次に、増加文書ライン数により図１２−２に示す追加ページ長（ＡＰＬ）を算出する。追加ページ長（ＡＰＬ）は、次式により求まる。
追加ページ長（ＡＰＬ）＝（ＴＬ１−ＴＬ０）＊ＬＬ
【００９０】
そして、上記した追加ページ上端文書座標（ＡＰ）よりも小さい保存文書座標９０については（保存文書座標≦ＡＰ）、ページ追加があっても座標に影響を与えないため、文書座標は追加前と同一となる。
【００９１】
しかし、上記した追加ページ上端文書座標（ＡＰ）よりも大きい保存文書座標９１については（保存文書座標＞ＡＰ）、次式により保存文書座標の追加補正を行なう必要がある。
追加補正文書Ｙ座標＝保存文書Ｙ座標＋ＡＰＬ
【００９２】
（ページ削除補正方法）
図１３−１〜図１３−２は、文書座標保存後にページを削除する場合の保存座標補正方法を説明する図である。
【００９３】
まず、図１３−１に示すように、ページ削除前の文書総ライン数を（ＴＬ０）とする。そして、垂直スクロールバー情報を周期的に取得し、垂直スクロール長から文書総ライン数（ＴＬ１）を算出して、ページ削除前文書総ライン数（ＴＬ０）と比べてライン数が減少した場合は、ページが削除されたと判定する（図１３−２参照）。
【００９４】
ここで、削除ページを戻して、後述する「ページ追加・削除操作方法」により削除ページの上端画面座標（Ｘ，Ｙ）を取得し、垂直スクロールボックス位置（ＶＰ）をスクロールライン数（ＬＮ）に換算して、スクロールライン長（ＬＬ）、文書領域ウィンドウ左上原点Ｙ座標（ＷＹ）から削除ページ上端文書座標（ＤＰ）を算出する（図１３−１参照）。削除ページ上端文書座標（ＤＰ）は、次式により求まる。
削除ページ上端文書座標（ＤＰ）＝ＬＮ＊ＬＬ＋（Ｙ−ＷＹ）
【００９５】
続いて、減少文書ライン数により削除ページ長（ＤＰＬ）を算出する。削除ページ長（ＤＰＬ）は、次式により求まる（図１３−１参照）。
削除ページ長（ＤＰＬ）＝（ＴＬ０−ＴＬ１）＊ ＬＬ
【００９６】
そして、上記した削除ページ上端文書座標（ＤＰ）よりも小さい保存文書座標１００については（保存文書座標≦ＤＰ）、ページ削除があっても座標に影響を与えないため、文書座標は削除前と同一となる。
【００９７】
しかし、上記した削除ページ上端文書座標（ＤＰ）よりも大きい保存文書座標１０１については（保存文書座標＞ＤＰ）、次式により保存文書座標の削除補正を行なう必要がある。
削除補正文書Ｙ座標＝保存文書Ｙ座標−ＤＰＬ
【００９８】
（ページ追加・削除の上端画面座標確定方法）
図１４−１〜図１４−５は、ページ追加・削除の上端画面座標確定方法を説明する図である。図１４−１に示すように、上書き対象となる任意のアプリケーションプログラムによる垂直スクロールバー６３の情報を、ＯＳが提供するインターフェースにより周期的に取得するようにする。
【００９９】
このように、周期的に取得する垂直スクロールバー６３の情報に基づいて、文書総ライン数を算出し、文書総ライン数が増加した場合は、図１４−２に示すような追加ページ指定メッセージ１１０を表示する。
【０１００】
また、逆に文書総ライン数が減少した場合は、図１４−３に示すような削除ページ指定メッセージ１１１を表示し、ＯＫボタンを押下して削除ページを戻すようにする。
【０１０１】
削除ページが元に戻ると同時に、図１４−４に示すように、ページ指定ツールバー１１２を画面の表示領域内に表示する。ここで、ページ指定ツールバー１１２の指定ボタン１１４を押下すると、全画面サイズの透明ウィンドウ１１３が表示され、ページ追加やページ削除指定操作によって上書き対象プログラムが実行され、不具合が生じるのを防止する。
【０１０２】
そして、図１４−４に示す追加（削除）ページ１１６のページ上端部をタッチ（マウスボタンＯＮ）すると、カーソル１１８がタッチ位置へ表示される。
【０１０３】
このカーソル１１８のタッチ位置の微調整は、ページ指定ツールバー１１２の矢印ボタン（↑、↓、→、←）を使って行うことができる。例えば、図１４−４の場合であれば、矢印ボタン「↑」を使ってタッチ位置をページ上端部へ移動させ、確定ボタン１１７を押下することにより、図１４−５に示すように、追加（削除）ページ１１６の上端画面座標（Ｘ，Ｙ）１１５を確定することができる。
【０１０４】
（上書き描画方法）
図１５−１〜図１５−３は、文書上へ手書き文字や図形を上書き描画する上書き描画方法を説明する図である。この上書き描画方法は、上記した文書位置検知技術の応用例として、既存の文書上へ明示、補足説明等を行う目的で手書き文字や図形を描画し、再度同ページが表示されたときに再表示を行う場合である。
【０１０５】
図１５−１に示すように、任意のアプリケーションプログラムで作成された文書上に、全画面サイズの透明ウィンドウ（背景が透過されるウィンドウ）１２０を表示する。そして、ペンや指などの座標指示物を用いて当該文書上へ手書き文字（図形）を描画する。この時の描画軌跡１２１は、図１５−１のＡ→Ｂ→Ｃ→Ｄ→Ｅ→Ｆ→Ｇ→Ｈ→Ｉ→Ｊ→Ａという順序でマウスデータが入力されると、各座標間を予め設定されている線色（ストローク色）と線幅（ストローク太さ）にて線描画される。
【０１０６】
そして、図１５−２の上書きデータファイルに示すように、上書きが実行された文書ファイル名１２２、文書を表示するＡＰＬ（アプリケーション）プログラムの識別情報として、ＡＰＬウィンドウタイトル１２３、ＡＰＬウィンドウクラス１２４、文書表示領域の識別情報として文書領域ウィンドウタイトル１２５、文書領域ウィンドウクラス１２６をそれぞれ取得し、その上書きデータファイルに保存する。
【０１０７】
さらに、上述したページ追加やページ削除による検知情報として文書総ライン数１２７を算出して保存し、画面座標を文書座標１２８へ変換して、保存する。
【０１０８】
また、図１５−３に示す画面上の表示領域文書空間を算出し、その表示領域文書空間内となる文書座標を図１５−２の上書きデータファイルから検索して画面座標に変換する。そして、変換した画面座標間を所定のストローク色とストローク太さとで線描画することで、文書上に手書き文字や図形の描画軌跡１２９が上書きされたものを再表示することができる。
【０１０９】
（文書座標検知制御機能）
図１６は、文書座標の検知制御機能を説明するための模式的な構成図である。図１６に示す応用制御部１３０は、上書き描画等を行う文書位置を示す文書位置情報１３７とマウス操作座標を示すマウスデータとを関連付けて保存し、活用するアプリケーション部を構成している。また、文書座標検知制御部は、文書座標算出制御部１３１、画面座標算出制御部１３２、追加補正制御部１３３、削除補正制御部１３４、ページ上端入力制御部１３５、および追加削除監視制御部１３６などを備えていて、上記各部を制御しながら、目的の機能を実現するものである。
【０１１０】
文書座標算出制御部１３１は、上記応用制御部１３０から受け取った画面座標を演算処理することにより、文書座標に変換するものである。
【０１１１】
画面座標算出制御部１３２は、上記応用制御部１３０から受け取った文書座標を演算処理することにより、画面座標に変換するものである。
【０１１２】
追加補正制御部１３３は、ページ追加があった場合に、上記応用制御部１３０から保存文書座標を入力して、文書座標の補正を行うものである。
【０１１３】
削除補正制御部１３４は、ページ削除があった場合に、上記応用制御部１３０から保存文書座標を入力して、文書座標の補正を行うものである。
【０１１４】
ページ上端入力制御部１３５は、ページ追加があった場合に、追加ページの上端画面座標を指定して入力し、ページ削除があった場合に、削除ページの上端画面座標を指定して入力するものである。
【０１１５】
追加削除監視制御部１３６は、周期的に垂直スクロールバー情報を取得して、文書総ライン数を算出し、ページ追加やページ削除の有無を検知して、上記応用制御部１３０へ通知するものである。
【０１１６】
（文書座標算出制御フロー）
次に、本実施の形態の動作を図１７〜図２２のフローチャートを用いて説明する。図１７−１は、図１６の文書座標算出制御部における文書座標の算出制御方法を説明するフローチャートであり、図１７−２は、入力値の概略を説明する図であり、図１７−３は、算出する文書座標の概略を説明する図である。
【０１１７】
図１６の文書座標算出制御部１３１は、応用制御部１３０から画面Ｘ座標と画面Ｙ座標とを入力して文書座標を算出し、応用制御部１３０へその算出結果を返す。
【０１１８】
まず、図１７−１のステップＳ１００では、図９に示す文書表示領域５９の左上原点座標（ＷＸ，ＷＹ）６０、幅（ＷＷ）６１、高さ（ＷＨ）６２などからなる文書領域ウィンドウ情報をＯＳが提供するインターフェースを介して取得する。
【０１１９】
そして、垂直ロールバー情報として、図９に示す垂直スクロール長（ＶＬ）７４、垂直スクロールボックス位置（ＶＰ）７６をＯＳが提供するインターフェースを介して取得する（ステップＳ１０１）。
【０１２０】
さらに、水平スクロールバー情報として、図９に示す水平スクロール長（ＨＬ）６８、水平スクロールボックス位置（ＨＰ）７０をＯＳが提供するインターフェースを介して取得する（ステップＳ１０２）。
【０１２１】
上記のようにして取得した水平スクロールバー情報は、文書領域ウィンドウ情報に基づく画面Ｘ座標から文書Ｘ座標へ変換する（ステップＳ１０３）。また、上記のようにして取得した垂直スクロールバー情報は、文書領域ウィンドウ情報に基づく画面Ｙ座標から文書Ｙ座標へ変換する（ステップＳ１０４）。そして、上記のように取得した垂直スクロールバー情報に基づいて文書総ライン数を算出する（ステップＳ１０５）。
【０１２２】
このように、図１６の文書座標算出制御部１３１では、応用制御部１３０から画面Ｘ座標と画面Ｙ座標とを入力することにより文書座標を算出し、応用制御部１３０へ算出した文書座標を渡す。
【０１２３】
（画面座標算出制御フロー）
図１８−１は、図１６の画面座標算出制御部における画面座標の算出制御方法を説明するフローチャートであり、図１８−２は、入力値の概略を説明する図であり、図１８−３は、算出する画面座標を説明する図である。
【０１２４】
図１６の画面座標算出制御部１３２は、応用制御部１３０から図１８−２に示す入力値として、文書総ライン数、文書Ｘ座標、文書Ｙ座標が入力されると、図１８−３に示す画面座標（Ｘ，Ｙ）を算出して、応用制御部１３０へ算出結果を返す。
【０１２５】
まず、図１８−１のステップＳ２００では、図９に示す文書表示領域５９の左上原点座標（ＷＸ，ＷＹ）６０、幅（ＷＷ）６１、高さ（ＷＨ）６２などからなる文書領域ウィンドウ情報をＯＳが提供するインターフェースを介して取得する。
【０１２６】
そして、垂直ロールバー情報として、図９に示す垂直スクロール長（ＶＬ）７４、垂直スクロールボックス位置（ＶＰ）７６をＯＳが提供するインターフェースを介して取得する（ステップＳ２０１）。
【０１２７】
さらに、水平スクロールバー情報として、図９に示す水平スクロール長（ＨＬ）６８、水平スクロールボックス位置（ＨＰ）７０をＯＳが提供するインターフェースを介して取得する（ステップＳ２０２）。
【０１２８】
上記のようにして取得した文書領域ウィンドウ情報、垂直スクロールバー情報、水平スクロールバー情報に基づいて表示領域文書空間８３を算出する（ステップＳ２０３）。
【０１２９】
そして、入力文書座標が表示領域文書空間８３内か否かを判断し（ステップＳ２０４）、表示領域文書空間８３内であれば文書座標を画面座標へ変換する。すなわち、画面Ｘ座標を算出し（ステップＳ２０５）、画面Ｙ座標を算出する（ステップＳ２０６）。
【０１３０】
また、入力文書座標が表示領域文書空間８３内でない場合は、画面座標を無効に設定する。すなわち、画面Ｘ座標を無効（ＦＦＦＦ）に設定し（ステップＳ２０７）、画面Ｙ座標を無効（ＦＦＦＦ）に設定する（ステップＳ２０８）。
【０１３１】
このように、図１６の画面座標算出制御部１３２では、応用制御部１３０から文書Ｘ座標と文書Ｙ座標とを入力することで画面座標を算出し、応用制御部１３０へ算出した画面座標を渡す。
【０１３２】
（追加補正制御フロー）
図１９−１は、図１６の追加補正制御部において追加ページにより文書座標を補正する方法を説明するフローチャートであり、図１９−２は、入力値の概略を説明する図である。
【０１３３】
図１６の追加補正制御部１３３は、応用制御部１３０から図１９−２に示す入力値として、追加ページ上端画面座標（Ｘ，Ｙ）、追加前文書総ライン数、文書Ｙ座標総数、文書Ｙ座標格納ポインタが入力され、ページが追加された状態で追加補正制御が実行される。
【０１３４】
まず、図１９−１のステップＳ３００では、垂直スクロールバー情報を取得し、文書領域ウィンドウ情報を取得する（ステップＳ３０１）。そして、取得した垂直スクロールバー情報に基づいて、文書総ライン数を算出する（ステップＳ３０２）。
【０１３５】
さらに、追加ページの上端画面Ｙ座標を上記した垂直スクロールバー情報、文書領域ウィンドウ情報に基づいて、追加ページ上端文書Ｙ座標を算出する（ステップＳ３０３）。
【０１３６】
そして、上記取得した文書総ライン数、および追加前文書総ライン数から追加ページ長を算出する（ステップＳ３０４）。ここで、Ｎ＝０とし（ステップＳ３０５）、文書Ｙ座標格納領域のＮ番目の文書Ｙ座標が追加ページ上端Ｙ座標より大きい場合は（ステップＳ３０６）、文書Ｙ座標に追加ページ長を加えて補正する（ステップＳ３０７）。
【０１３７】
その後、Ｎをインクリメント（＋１）し（ステップＳ３０８）、そのＮの値が文書Ｙ座標数よりも小さい場合は、上記ステップＳ３０６に戻って、上記処理が繰り返される（ステップＳ３０９）。
【０１３８】
そして、上記した追加補正処理は、Ｎの値が文書Ｙ座標数と同じになるまで、すなわち、文書Ｙ座標数分だけ繰り返し実行される。
【０１３９】
このように、図１６の追加補正制御部１３３は、応用制御部１３０から図１９−２の入力値として、追加ページ上端画面座標（Ｘ，Ｙ）、追加前文書総ライン数、文書Ｙ座標総数、文書Ｙ座標格納ポインタが入力され、ページ追加があると、追加補正制御が実行される。
【０１４０】
（削除補正制御フロー）
図２０−１は、図１６の削除補正制御部において削除ページにより文書座標を補正する方法を説明するフローチャートであり、図２０−２は、入力値の概略を説明する図である。
【０１４１】
図２０−２に示すように、図１６の削除補正制御部１３４への入力値として、削除ページ上端画面座標（Ｘ，Ｙ）、削除後文書総ライン数、文書Ｙ座標総数、文書Ｙ座標格納ポインタを入力して、削除ページを戻し、以下にフローを実行する。
【０１４２】
そして、図２０−１に示すように、削除補正制御部１３４は、垂直スクロールバー情報を取得し（ステップＳ４００）、図９に示すような文書表示領域５９の左上原点座標（ＷＸ，ＷＹ）６０、幅（ＷＷ）６１、高さ（ＷＨ）６２などからなる文書領域ウィンドウ情報をＯＳが提供するインターフェースを介して取得する（ステップＳ４０１）。
【０１４３】
また、上記取得した垂直スクロールバー情報により文書総ライン数を算出し（ステップＳ４０２）、削除ページ上端画面Ｙ座標を上記取得した垂直スクロールバー情報と文書領域ウィンドウ情報とに基づいて、削除ページ上端文書Ｙ座標を算出する（ステップＳ４０３）。
【０１４４】
さらに、上記取得した文書総ライン数と削除後の文書総ライン数とから削除ページ長を算出し（ステップＳ４０４）、Ｎをリセットして「０」とする（ステップＳ４０５）。
【０１４５】
続いて、図２０−１のステップＳ４０６において、文書Ｙ座標格納領域のＮ番目の文書Ｙ座標が削除ページ上端Ｙ座標よりも大きいか否かを判断し、大きい場合は文書Ｙ座標を補正する（ステップＳ４０７）。
【０１４６】
また、上記ステップＳ４０６において、文書Ｙ座標格納領域のＮ番目の文書Ｙ座標が削除ページ上端Ｙ座標と同じかそれよりも小さい場合は、Ｎをインクリメント（＋１）し（ステップＳ４０８）、そのＮの値が文書Ｙ座標数よりも小さければ（ステップＳ４０９）、ステップＳ４０６に戻って上記処理が繰り返し実行される。
【０１４７】
ステップＳ４０９において、文書Ｙ座標数とＮが等しくなった場合は、削除補正制御処理が終了する。
【０１４８】
（追加削除監視制御フロー）
図２１は、図１６の追加削除監視制御部においてページの追加と削除を監視する方法を説明するフローチャートである。
【０１４９】
図２１に示すように、図１６の追加削除監視制御部１３６が垂直スクロールバー情報を取得すると（ステップＳ５００）、その垂直スクロールバー情報に基づいて文書総ライン数を算出する（ステップＳ５０１）。
【０１５０】
この垂直スクロールバー情報に基づく文書総ライン数の算出処理は、一定の周期が経過したか否かを監視し（ステップＳ５０２）、一定周期毎に垂直スクロールバー情報を取得し（ステップＳ５０３）、その取得した垂直スクロールバー情報に基づいて文書総ライン数を算出する（ステップＳ５０４）。
【０１５１】
ここで、文書総ライン数に変化があったか否かを判断し（ステップＳ５０５）、変化がない場合は、上記ステップＳ５０２に戻って周期的に文書総ライン数の算出が繰り返される。
【０１５２】
また、文書総ライン数に変化があって、文書総ライン数が減少した場合は（ステップＳ５０６）、算出した文書総ライン数を「削除後文書総ライン数」として、図１６の応用制御部１３０へ通知すると共に（ステップＳ５０７）、応用制御部１３０へ「ページ削除」を通知する（ステップＳ５０８）。応用制御部１３０は、この通知を受けて、図１６のページ上端入力制御部１３５および削除補正制御部１３４における処理を実行する。
【０１５３】
また、文書総ライン数に変化があって、文書総ライン数が増加した場合は（ステップＳ５０６）、応用制御部１３０へ「ページ追加」を通知する（ステップＳ５０９）。応用制御部１３０は、この通知を受けて、図１６のページ上端入力制御部１３５および追加補正制御部１３３における処理を実行する。
【０１５４】
（ページ上端入力制御フロー）
図２２−１は、図１６のページ上端入力制御部において削除ページや追加ページがあった場合の上端画面座標入力方法を説明するフローチャートであり、図２２−２は、入力値の概略を説明する図であり、図２２−３は、ページ指定ツールバーの表示例を示す図である。
【０１５５】
図１６に示すページ上端入力制御部１３５は、応用制御部１３０が追加削除監視制御部１３６よりページ削除通知、あるいはページ追加通知を受けると、図２２−２に示すようなモード（０：削除、１：追加）を入力値として、削除ページ、あるいは追加ページの上端画面座標を入力する。
【０１５６】
図２２−１に示すステップＳ６００において、図１６の応用制御部１３０が追加削除監視制御部１３６からページ削除通知、あるいはページ追加通知を受けると、ページ上端入力制御部１３５の入力値として、「１」または「２」の何れかが入力される。「１」の追加モードの場合は、ページ追加有りとなり（ステップＳ６００：ＹＥＳ）、図１４−２に示すような追加ページ指定メッセージ１１０を表示する（ステップＳ６０１）。
【０１５７】
「２」の削除モードの場合は、ページ追加でないため（ステップＳ６００：ＮＯ）、図１４−３に示すような削除ページ指定メッセージ１１１を表示する（ステップＳ６０２）。そして、図２２−３に示すようなページ指定ツールバー１１２を表示し（ステップＳ６０３）、指定ボタン１１４が押下されるのを待つ（ステップＳ６０４）。
【０１５８】
ページ指定ツールバー１１２の指定ボタン１１４が押下されると、全画面サイズの透明色ウィンドウを表示する（ステップＳ６０５）。そして、全マウスデータ（タッチデータ）を入力すると（ステップＳ６０６）、それがツールバー上の座標か否かを判断し（ステップＳ６０７）、ページ指定ツールバー１１２外の座標である場合は、図１４−４に示すように、入力座標へカーソル１１８を表示する（ステップＳ６０８）。
【０１５９】
次に、カーソル１１８がページ上端画面に来ていない場合は、ページ指定ツールバー１１２の矢印ボタンを使ってカーソル位置を移動させる。例えば、「↑」ボタンを押下するとカーソルＹ座標を「−１」として、カーソルを上に移動させる（ステップＳ６０９，ステップＳ６１０）。また、「↓」ボタンを押下するとカーソルＹ座標を「＋１」として、カーソルを下に移動させる（ステップＳ６１１，ステップＳ６１２）。また、「→」ボタンを押下するとカーソルＸ座標を「＋１」として、カーソルを右に移動させる（ステップＳ６１３，ステップＳ６１４）。また、「←」ボタンを押下するとカーソルＸ座標を「−１」として、カーソルを左に移動させる（ステップＳ６１５，ステップＳ６１６）。このように、矢印ボタンを使って、カーソル１１８を図１４−５に示すページ上端の上端画面座標１１５の位置まで移動させる。
【０１６０】
ここで、ページ指定ツールバー１１２の確定ボタン１１７を押下することにより（ステップＳ６１７）、ページ上端画面座標１１５が取得される（ステップＳ６１８）。このようにして取得されたページ上端画面座標１１５は、図１６の応用制御部１３０へ渡され、全画面透明ウィンドウを消去し（ステップＳ６１９）、ページ指定ツールバーも消去する（ステップＳ６２０）。
【０１６１】
このように、本実施の形態にかかる文書位置補正方法によれば、文書位置情報を提供するＡＰＩ（アプリケーション・プログラム・インタフェース）を持たない任意のアプリケーションプログラムが表示する文書位置であっても、文書位置情報を検出することが可能である。このため、ＡＰＩを持たない任意のアプリケーションプログラムを用いて表示する文書上に上書きし、文書位置と上書き位置とを関連付けて保存し、必要に応じて文書を表示し、文書上への上書きを上書き時の文書位置へ表示することが可能になる。
【０１６２】
従って、手書きの利便性を生かした２次利用が可能になる。例えば、市販の問題集を表示して、その回答を上書きし、回答のデータのみを通信教育センターへ送信し、問題集を表示させて、上書き回答を表示させることで、採点が可能となり、その採点内容データのみを再び返信すること等が可能となる。
【０１６３】
また、本実施の形態によれば、ページ追加やページ削除があるとその旨のメッセージを表示して、順次操作手順を指示するため、ページ追加操作やページ削除操作を忘れることがなくなり、ページ追加やページ削除があっても、操作位置と文書位置との関連付けが維持されることから、常に適正な文書位置を検知することが可能となる。
【０１６４】
さらに、本実施の形態によれば、ページ追加やページ削除があった場合に、追加ページや削除ページの上端位置を指定するだけで文書位置が自動補正されるため、比較的簡単な操作で文書位置を補正することができる。
【０１６５】
なお、本実施の形態では、図７に示すようなタッチパネルディスプレイを用いた電子黒板として実施した例で説明したが、必ずしもこれに限定されない。例えば、図２３〜図２６に示すような装置あるいはシステムを用いて実施することも可能である。
【０１６６】
図２３は、電子ペンで手書き文字描画を行えるタブレットをＰＣに接続したＰＣシステムを説明する図であり、図２４は、タッチパネルを画面上に装着したノート型のタブレットＰＣを示す図であり、図２５は、大型ディスプレイにタッチパネルを装着して手書きにより文字描画が行えるようにした会議システムの説明図であり、図２６は、タブレットＰＣにプロジェクタを接続してスクリーン上に拡大投影し資料へ上書きしながら説明を行う会議システムの説明図である。
【０１６７】
図２３に示したＰＣシステムの場合は、ＰＣ本体１４０とキーボード１４１にタブレット１４２を接続し、電子ペン１４３を使って手書き入力することが可能である。ＰＣ本体１４０における任意のアプリケーションプログラムが作成する文書上へ、タブレット１４２を使って手書きによる文書の修正、変更内容を文字描画する場合に適用することができる。タブレット１４２を使って手書き入力する代わりに、マウス操作で行うことも可能であるが、タブレット１４２の方が文字描画の利便性は高い。このように、ＰＣシステムを使い、手書き文字描画時の文書位置と描画位置とを関連付けて保存することができる。また、ページ追加やページ削除があっても、文書位置が自動的に補正されるため、位置ずれが起きる心配がない。
【０１６８】
また、図２４に示したタブレットＰＣ１４６の場合は、キーボード１４４とディスプレイ１４５で構成されており、ディスプレイ１４５を１８０度回転させてキーボード１４４上に重ね合わせ、ディスプレイ１４５の表面に設けられた不図示のタッチパネルと電子ペン１４７とを使って文字等を手書き入力することができる。タブレットＰＣ１４６の場合は、ＰＣの任意のアプリケーションプログラムが作成する文書上へタッチパネルと電子ペン１４７とを使い、手書きによる文書の修正、変更内容を文字描画する場合にも適用することができ、図２３と同様な効果を得ることかできる。
【０１６９】
さらに、図２５に示した会議システム１５０の場合は、ＰＤＰ（プラズマディスプレイパネル）やリヤプロジェクタ等の大型ディスプレイ１４８にタッチパネル１４９を装着し、手書きによる文字描画を行うことで、電子黒板として代用することができる。また、ＰＣ等を使って任意のアプリケーションプログラムにより作成した資料上へ上書きすることにより、会議や講演の効率化を図ることができる。この場合も、図２３と同様な効果を得ることができる。
【０１７０】
図２６に示した会議システム１５４の場合は、タブレットＰＣ１５３にプロジェクタ１５２が接続され、会議室中央に大型のスクリーン１５１が設置されている。タブレットＰＣ１５３の任意のアプリケーションプログラムにより作成した資料をスクリーン１５１上に投影すると共に、会議中にタブレットＰＣ１５３を使い、その資料へ自由に上書きすることが可能となるため、会議の効率化を図ることができる。この場合も、図２３と同様な効果を得ることができる。
【産業上の利用可能性】
【０１７１】
以上のように、本発明にかかる文書位置補正方法その方法をコンピュータに実行させるプログラムは、任意のアプリケーションプログラムを用いて作成された文書に対して、タブレットやタッチパネルを用いて手書き文字を上書きしてプレゼンテーションを行ったり、通信教育やＰＣ会議、あるいは文書添削、アンケート調査などを行ったりするＰＣシステム、タブレットＰＣあるいはそれらを用いた会議システムなどに適している。
【図面の簡単な説明】
【０１７２】
【図１】本発明の文書位置補正方法を実施するコンピュータシステムの構成を説明するブロック図である。
【図２−１】座標データの構造を示す図である。
【図２−２】座標ステータスの状態説明図である。
【図３−１】マウスデータの構造を示す図である。
【図３−２】マウスステータスの状態説明図である。
【図４】ノート型のタブレットＰＣの概略図である。
【図５】図４のタッチパネルを構成する電磁誘導センサーユニットの構成説明図である。
【図６】電子ペンにより発生する誘導起電圧分布を示す図である。
【図７】タッチパネルディスプレイの概略図である。
【図８】タッチパネルの一例としての光遮断検知方式を説明する図である。
【図９】ＯＳが提供するインターフェースにより取得できる画面表示情報を説明する図である。
【図１０−１】画面座標から文書座標への変換方法を説明する図である。
【図１０−２】画面座標から文書座標への変換方法を説明する図である。
【図１０−３】画面座標から文書座標への変換方法を説明する図である。
【図１１−１】文書座標から画面座標への変換方法を説明する図である。
【図１１−２】文書座標から画面座標への変換方法を説明する図である。
【図１１−３】文書座標から画面座標への変換方法を説明する図である。
【図１１−４】文書座標から画面座標への変換方法を説明する図である。
【図１２−１】文書座標保存後にページが追加された場合の保存座標補正方法を説明する図である。
【図１２−２】文書座標保存後にページが追加された場合の保存座標補正方法を説明する図である。
【図１３−１】文書座標保存後にページを削除する場合の保存座標補正方法を説明する図である。
【図１３−２】文書座標保存後にページを削除する場合の保存座標補正方法を説明する図である。
【図１４−１】ページ追加・削除の上端画面座標確定方法を説明する図である。
【図１４−２】ページ追加・削除の上端画面座標確定方法を説明する図である。
【図１４−３】ページ追加・削除の上端画面座標確定方法を説明する図である。
【図１４−４】ページ追加・削除の上端画面座標確定方法を説明する図である。
【図１４−５】ページ追加・削除の上端画面座標確定方法を説明する図である。
【図１５−１】文書上へ手書き文字や図形を上書き描画する上書き描画方法を説明する図である。
【図１５−２】文書上へ手書き文字や図形を上書き描画する上書き描画方法を説明する図である。
【図１５−３】文書上へ手書き文字や図形を上書き描画する上書き描画方法を説明する図である。
【図１６】文書座標の検知制御機能を説明するための模式的な構成図である。
【図１７−１】図１６の文書座標算出制御部における文書座標の算出制御方法を説明するフローチャートである。
【図１７−２】入力値の概略を説明する図である。
【図１７−３】算出する文書座標の概略を説明する図である。
【図１８−１】図１６の画面座標算出制御部における画面座標の算出制御方法を説明するフローチャートである。
【図１８−２】入力値の概略を説明する図である。
【図１８−３】算出する画面座標を説明する図である。
【図１９−１】図１６の追加補正制御部において追加ページにより文書座標を補正する方法を説明するフローチャートである。
【図１９−２】入力値の概略を説明する図である。
【図２０−１】図１６の削除補正制御部において削除ページにより文書座標を補正する方法を説明するフローチャートである。
【図２０−２】入力値の概略を説明する図である。
【図２１】図１６の追加削除監視制御部においてページの追加と削除を監視する方法を説明するフローチャートである。
【図２２−１】図１６のページ上端入力制御部において削除ページや追加ページがあった場合の上端画面座標入力方法を説明するフローチャートである。
【図２２−２】入力値の概略を説明する図である。
【図２２−３】ページ指定ツールバーの表示例を示す図である。
【図２３】図２３は、電子ペンで手書き文字描画を行えるタブレットをＰＣに接続したＰＣシステムを説明する図である。
【図２４】タッチパネルを画面上に装着したノート型のタブレットＰＣを示す図である。
【図２５】大型ディスプレイにタッチパネルを装着して手書きにより文字描画が行えるようにした会議システムの説明図である。
【図２６】タブレットＰＣにプロジェクタを接続してスクリーン上に拡大投影し資料へ上書きしながら説明を行う会議システムの説明図である。
【符号の説明】
【０１７３】
１０  コンピュータシステム
１１  タッチパネル
１２  ディスプレイ
１３  座標算出制御装置
１４  座標データ
１５  パーソナルコンピュータ（ＰＣ）
１５１  タッチパネルドライバ
１５２  マウスデータ
１５３  マウスインターフェース（マウスＩ／Ｆ）
１５４  アプリケーションプログラム
１５５  画像データ
２０  タブレットＰＣ
２１  キーボード
２２  ディスプレイ
２２１  強化ガラス
２２２  液晶ディスプレイユニット
２２３  電磁誘導センサーユニット
２３  電子ペン
２３１  コイル
２３２  コンデンサ
２３３  共振回路
３０  センサーコイル
３１  交流電源
３２  送受切替スイッチ
３３  Ｘ軸コイル切替スイッチ
４０  タッチパネルディスプレイ
４１  ディスプレイ
４２  タッチパネル
５０  外枠
５１  発光ダイオード（ＬＥＤ）
５２  フォトトランジスタ
５９  文書表示領域
６０  左上原点座標（ＷＸ，ＷＹ）
６１  幅（ＷＷ）
６２  高さ（ＷＨ）
６３  垂直スクロールバー
６４  水平スクロールバー
６５  左上原点座標（ＨＸ，ＨＹ）
６６  幅（ＨＷ）
６７  高さ（ＨＨ）
６８  水平スクロール長（ＨＬ）
６９  水平スクロール表示幅（ＨＢ）
７０  水平スクロールボックス位置（ＨＰ）
７１  左上原点座標（ＶＸ，ＶＹ）
７２  幅（ＶＷ）
７３  高さ（ＶＨ）
７４  垂直スクロール長（ＶＬ）
７５  垂直スクロール表示長（ＶＢ）
７６  垂直スクロールボックス位置（ＶＰ）
７７  文書座標空間
８０  文書原点Ｙ座標（ＤＹ）
８１  文書中央座標（ＤＣ）
８３  表示領域文書空間
９０，９１  保存文書座標
１００，１０１  保存文書座標
１１０  追加ページ指定メッセージ
１１１  削除ページ指定メッセージ
１１２  ページ指定ツールバー
１１３  透明ウィンドウ
１１４  指定ボタン
１１５  上端画面座標
１１６  追加（削除）ページ
１１７  確定ボタン
１１８  カーソル
１２０  透明ウィンドウ
１２１  描画軌跡
１２２  文書ファイル名
１２３  ＡＰＬウィンドウタイトル
１２４  ＡＰＬウィンドウクラス
１２５  文書領域ウィンドウタイトル
１２６  文書領域ウィンドウクラス
１２７  文書総ライン数
１２８  文書座標
１２９  描画軌跡
１３０  応用制御部
１３１  文書座標算出制御部
１３２  画面座標算出制御部
１３３  追加補正制御部
１３４  削除補正制御部
１３５  ページ上端入力制御部
１３６  追加削除監視制御部
１３７  文書位置情報
１４０  ＰＣ本体
１４１  キーボード
１４２  タブレット
１４３  電子ペン
１４４  キーボード
１４５  ディスプレイ
１４６  タブレットＰＣ
１４７  電子ペン
１４８  大型ディスプレイ
１４９  タッチパネル
１５０  会議システム
１５１  スクリーン
１５２  プロジェクタ
１５３  タブレットＰＣ
１５４  会議システム
【図１】
0004659674.tif 000002
【図２−１】
0004659674.tif 000003
【図２−２】
0004659674.tif 000004
【図３−１】
0004659674.tif 000005
【図３−２】
0004659674.tif 000006
【図４】
0004659674.tif 000007
【図５】
0004659674.tif 000008
【図６】
0004659674.tif 000009
【図７】
0004659674.tif 000010
【図８】
0004659674.tif 000011
【図９】
0004659674.tif 000012
【図１０−１】
0004659674.tif 000013
【図１０−２】
0004659674.tif 000014
【図１０−３】
0004659674.tif 000015
【図１１−１】
0004659674.tif 000016
【図１１−２】
0004659674.tif 000017
【図１１−３】
0004659674.tif 000018
【図１１−４】
0004659674.tif 000019
【図１２−１】
0004659674.tif 000020
【図１２−２】
0004659674.tif 000021
【図１３−１】
0004659674.tif 000022
【図１３−２】
0004659674.tif 000023
【図１４−１】
0004659674.tif 000024
【図１４−２】
0004659674.tif 000025
【図１４−３】
0004659674.tif 000026
【図１４−４】
0004659674.tif 000027
【図１４−５】
0004659674.tif 000028
【図１５−１】
0004659674.tif 000029
【図１５−２】
0004659674.tif 000030
【図１５−３】
0004659674.tif 000031
【図１６】
0004659674.tif 000032
【図１７−１】
0004659674.tif 000033
【図１７−２】
0004659674.tif 000034
【図１７−３】
0004659674.tif 000035
【図１８−１】
0004659674.tif 000036
【図１８−２】
0004659674.tif 000037
【図１８−３】
0004659674.tif 000038
【図１９−１】
0004659674.tif 000039
【図１９−２】
0004659674.tif 000040
【図２０−１】
0004659674.tif 000041
【図２０−２】
0004659674.tif 000042
【図２１】
0004659674.tif 000043
【図２２−１】
0004659674.tif 000044
【図２２−２】
0004659674.tif 000045
【図２２−３】
0004659674.tif 000046
【図２３】
0004659674.tif 000047
【図２４】
0004659674.tif 000048
【図２５】
0004659674.tif 000049
【図２６】
0004659674.tif 000050