JP5326851B2 - 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法 - Google Patents

修飾線配置プログラム、修飾線配置装置及び修飾線配置方法 Download PDF

Info

Publication number
JP5326851B2
JP5326851B2 JP2009145442A JP2009145442A JP5326851B2 JP 5326851 B2 JP5326851 B2 JP 5326851B2 JP 2009145442 A JP2009145442 A JP 2009145442A JP 2009145442 A JP2009145442 A JP 2009145442A JP 5326851 B2 JP5326851 B2 JP 5326851B2
Authority
JP
Japan
Prior art keywords
line
logical
modification
determined
modification line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009145442A
Other languages
English (en)
Other versions
JP2011003011A (ja
Inventor
照宣 粂
文人 西野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009145442A priority Critical patent/JP5326851B2/ja
Publication of JP2011003011A publication Critical patent/JP2011003011A/ja
Application granted granted Critical
Publication of JP5326851B2 publication Critical patent/JP5326851B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、修飾線配置プログラム、修飾線配置装置及び修飾線配置方法に係り、特にデジタルコンテンツ上に修飾線を配置する修飾線配置プログラム、修飾線配置装置及び修飾線配置方法に関する。
一般的に、電子文書の編集にはワードプロセッサが用いられる。また、複数のユーザで同一の電子文書を編集する場合には、元の電子文書をコピーし、コピーした電子文書を複数のユーザがそれぞれワードプロセッサを用いて編集し、最後に、編集後の電子文書の変更部分をマージして元の電子文書に反映させている。
また、デジタルコンテンツの一例としてのWebページを複数のユーザで編集する場合には、電子文書と同様、元のWebページのデータをコピーし、コピーしたWebページのデータを複数のユーザがそれぞれ編集できる。しかしながら、コピーしたWebページのデータの編集結果を確認する為にはブラウザに戻す必要があった。また、Webページのデータを編集するユーザはHTMLの記述方法が分からない場合もあった。
したがって、Webページを複数のユーザで編集する場合には、単純に、Webページをコピーしてユーザに編集させることができないこともあった。そこで、Webページを複数のユーザで編集する場合には、編集する各ユーザが修正箇所をWebページ上に明示して、修正の担当者に修正してもらう方法もとられている。
なお、ブラウザで見ているWebページに対して修正箇所を明示するためのシステムとしては、例えばWebアノテーションシステムがある(例えば特許文献1参照)。WebアノテーションシステムはWebページに対して外部から情報を付け加え、付け加えた情報を共有するためのシステムである。
Webアノテーションシステムの技術を利用することで、編集する各ユーザは1つのWebページに対して修正箇所を各ユーザで共有の修飾線である下線などにより明示しながらWebページの校正作業を行っていた。
特開2003−150542号公報
しかし、Webアノテーションシステムの技術は、Webページ上に、単純に情報を付け加えるものである。したがって、編集する各ユーザが、Webアノテーションシステムの技術を利用することで、1つのWebページに対して修正箇所を各ユーザで共有の下線により明示しながらWebページの校正作業を行う場合は、例えば以下のような問題が発生する。
図1はWebページを記述したHTMLの一例の構成図である。例えば図1に示すHTMLで記述されたWebページをレビューするような場合、レビュアはWebページの気になる部分を示すため、Webページの構造を変化させずに、Webページ上の該当部分に下線を引くものとする。ここでは図1に示すHTMLで記述されたWebページに含まれる文字列「朝から雨」に下線を引く例を説明する。
文字列「朝から雨」に下線を引く場合は図2に示すように、図1のオリジナルのHTMLへのタグ1の追加とスタイルシート2の用意とにより、オリジナルのHTMLの構造を変化させず、目的の部分に下線を引くことができる。図2はオリジナルのHTMLへ追加したタグと用意されたスタイルシートとを表した構成図である。図2に示すオリジナルのHTMLへのタグ1の追加とスタイルシート2の用意とにより、ブラウザは例えば図3に示すようなWebページを表示する。図3は該当部分に下線が引かれたWebページの一例のイメージ図である。図3ではWebページ上の該当部分である文字列「朝から雨」に下線が引かれている。
ところで、ブラウザの表示サイズ(以下、ブラウザサイズという)はユーザが自由に変更することができる。ブラウザサイズの変更により、ブラウザはWebページに含まれる文字列「今日は朝から雨だった。」の表示位置を自動的に調整する。一方、文字列「朝から雨」に引かれた下線の表示位置は変更されない。
したがって、図3のWebページがブラウザに表示されているとき、ブラウザサイズの変更があると、下線は図4に示すように、目的の位置に再現されない。図4は、ブラウザサイズの変更により意図しない位置に下線が引かれたWebページの一例のイメージ図である。図4ではWebページ上の下線の意図が不明となっている。
本発明の一実施形態は、上記の点に鑑みなされたもので、デジタルコンテンツ上の目的の位置に修飾線を配置し続けることができる修飾線配置プログラム、修飾線配置装置及び修飾線配置方法を提供することを目的とする。
上記課題を解決するため、本発明の一実施形態は、コンピュータを、ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得手段と、前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の論理的位置に基づき、前記デジタルコンテンツ上の論理的位置を決定し、決定された前記論理的位置に修飾線のオブジェクトを配置する修飾線配置処理手段として動作させ、前記修飾線配置処理手段は、前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の第一の論理的開始位置及び第一の論理的終了位置に基づき、前記デジタルコンテンツ上の第二の論理的開始位置及び第二の論理的終了位置を決定し、決定された前記第二の論理的開始位置及び前記第二の論理的終了位置に基づいて決定された修飾線の長さと、行内の前記第二の論理的開始位置以降に描画可能な長さと、の差分を次行の修飾線の長さとして決定し、決定された前記長さの修飾線のオブジェクトを次行に配置する為の修飾線配置プログラムである。
なお、本発明の一実施形態の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
上述の如く、本発明の一実施形態によれば、デジタルコンテンツ上の目的の位置に修飾線を配置し続けることができる修飾線配置プログラム、修飾線配置装置及び修飾線配置方法を提供可能である。
Webページを記述したHTMLの一例の構成図である。 オリジナルのHTMLへ追加したタグと用意されたスタイルシートとを表した構成図である。 該当部分に下線が引かれたWebページの一例のイメージ図である。 ブラウザサイズの変更により意図しない位置に下線が引かれたWebページの一例のイメージ図である。 本実施例のシステムの一実施例のシステム構成図である。 本実施例のシステムの他の実施例のシステム構成図である。 位置情報管理テーブルの一例の構成図である。 利用者端末の一例の構成図である。 利用者端末で実現される拡張機能部の一例の処理ブロック図である。 コンテンツのロード時又はブラウザのリサイズ時における拡張機能部の処理手順を説明する為のフローチャートである。 下線配置処理の手順を表した一例のフローチャートである。 ノードに関する情報の一例のイメージ図である。 単一行処理の手順を表した一例のフローチャートである。 位置情報管理テーブルの一例の構成図である。 同一ブロック内改行処理の手順を表した一例のフローチャートである。 該当部分に下線が引かれたWebページの一例のイメージ図である。 複数ブロック改行処理の手順を表した一例のフローチャートである。 位置情報管理テーブルの一例の構成図である。 Webページを記述したHTMLの一例の構成図である。 該当部分に下線が引かれたWebページの一例のイメージ図である。 ツリー構造の一例の構成図である。 深さ優先探索で論理的開始位置から論理的終了位置まで保存されるノードの順序を表した模式図である。
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では修飾線の一例として下線を例に説明するが、取り消し線など如何なる修飾線であってもよい。
(システム構成)
図5は本実施例のシステムの一実施例のシステム構成図である。図5に示す本実施例のシステムは、利用者端末10,コンテンツサーバ20,位置情報管理サーバ30,ネットワーク50を有する。利用者端末10,コンテンツサーバ20及び位置情報管理サーバ30は、ネットワーク50を介してデータ通信可能に接続されている。ネットワーク50はインターネットやLANなど、データ通信可能な如何なる通信網であってもよい。
利用者端末10はブラウザ11がインストールされている。ブラウザ11はプラグイン12により拡張機能が追加されている。プラグイン12はブラウザ11に拡張機能を追加する為のプログラムの一例である。コンテンツサーバ20はWebページ等のデジタルコンテンツ(以下、単にコンテンツと呼ぶ)21を格納している。位置情報管理サーバ30は位置情報管理テーブル31を有している。
図6は本実施例のシステムの他の実施例のシステム構成図である。図6に示す本実施例のシステムは、図5のシステムと同様に、利用者端末10,コンテンツサーバ20,位置情報管理サーバ30,ネットワーク50を有する。利用者端末10,コンテンツサーバ20及び位置情報管理サーバ30は、ネットワーク50を介してデータ通信可能に接続されている。
利用者端末10はブラウザ11がインストールされている。また、コンテンツサーバ20はコンテンツ21を格納している。JavaScript等のスクリプト22はコンテンツ21の一部を構成する。スクリプト22は、ブラウザ11に拡張機能を追加する為のプログラムの一例である。位置情報管理サーバ30は位置情報管理テーブル31を有している。
このように、図5のシステムはプラグイン12によりブラウザ11の拡張機能を実現している。また、図6のシステムはスクリプト22によりブラウザ11の拡張機能を実現している。
図7は位置情報管理テーブルの一例の構成図である。図7の位置情報管理テーブル31は対象URL,スタートXPath(Start_XPath),スタートXPathオフセット(Offset),エンドXPath,エンドXPathオフセットをデータ項目として含む下線付与位置情報が登録されている。
対象URLは下線を付与したコンテンツ21を特定するものである。スタートXpath及びスタートXPathオフセットは付与した下線のコンテンツ21内の論理的開始位置を特定するものである。エンドXpath及びエンドXPathオフセットは付与した下線のコンテンツ21内の論理的終了位置を特定するものである。
なお、図7の位置情報管理テーブル31はユーザがWebアノテーションシステムを利用し、ブラウザ11で見ているコンテンツ21に下線を引くことで下線付与位置情報が登録される。Webアノテーションシステムによる位置情報管理テーブル31への下線付与位置情報の登録は予め行われているものとする。
図5及び図6に示すシステムでは利用者端末10のブラウザ11にコンテンツサーバ20からコンテンツ21がロードされる。ブラウザ11にコンテンツ21がロードされた時点又はユーザからブラウザサイズを変更するリサイズの要求を受けた時点で、プラグイン12又はスクリプト22により実現されるブラウザ11の拡張機能(以下、拡張機能部と言う)は位置情報管理サーバ30へアクセスして、ロードされたコンテンツ21の下線付与位置情報が位置情報管理テーブル31に登録されているかを確認する。
ロードされたコンテンツ21の下線付与位置情報が位置情報管理テーブル31に登録されていれば、拡張機能部はロードされたコンテンツ21の下線付与位置情報を位置情報管理テーブル31から取得する。ロードされたコンテンツ21の下線付与位置情報が位置情報管理テーブル31に登録されていなければ、拡張機能部はロードされたコンテンツ21の下線付与位置情報を位置情報管理テーブル31から取得しない。
拡張機能部はコンテンツ21の下線付与位置情報を取得した場合、取得したコンテンツ21の下線付与位置情報を用いて、後述の下線配置処理を行うことにより、コンテンツ21上に下線を付与する。その後、ブラウザ11はコンテンツ21を表示する。
(利用者端末10の構成)
図8は利用者端末の一例の構成図である。利用者端末10は、それぞれバスBで相互に接続された入力装置61,出力装置62,ドライブ装置63,補助記憶装置64,主記憶装置65,演算処理装置66及びインターフェース装置67を有する。
入力装置61はキーボードやマウスなどである。入力装置61は各種信号を入力するために用いられる。出力装置62はディスプレイ装置などである。出力装置62は各種ウインドウやデータ等を表示するために用いられる。インターフェース装置67はモデム,LANカードなどである。インターフェース装置67はネットワーク50に接続する為に用いられる。
本実施例に掛かるプラグイン12やスクリプト22等の下線配置プログラムは利用者端末10を制御する各種プログラムの少なくとも一部である。下線配置プログラムは例えば記録媒体68の配布やネットワーク50からのダウンロードなどによって提供される。下線配置プログラムを記録した記録媒体68はCD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、下線配置プログラムを記録した記録媒体68がドライブ装置63にセットされると、下線配置プログラムは記録媒体68からドライブ装置63を介して補助記憶装置64にインストールされる。ネットワーク50からダウンロードされた下線配置プログラムはインターフェース装置67を介して補助記憶装置64にインストールされる。
補助記憶装置64はインストールされた下線配置プログラムを格納すると共に、必要なファイル,データ等を格納する。主記憶装置65は、補助記憶装置64から下線配置プログラムを読み出して格納する。そして、演算処理装置66は主記憶装置65に格納された下線配置プログラムに従って、後述するような各種処理ブロックを実現している。
図9は利用者端末で実現される拡張機能部の一例の処理ブロック図である。図9の拡張機能部70は、イベント受信部71,下線付与位置情報取得部72,下線配置処理部73及び下線配置終了通知部74を有する。なお、イベント受信部71,下線付与位置情報取得部72,下線配置処理部73及び下線配置終了通知部74は、演算処理装置66がプラグイン12又はスクリプト22を実行することにより実現される。図9に示した拡張機能部70の各種処理ブロックの処理手順は以下のようになる。
(処理手順)
図10はコンテンツのロード時又はブラウザのリサイズ時における拡張機能部の処理手順を説明する為のフローチャートである。ステップS1に進み、利用者端末10のブラウザ11はコンテンツサーバ20からのコンテンツ21のロードを完了するか、ユーザからブラウザサイズを変更するリサイズの要求を受ける。
コンテンツ21のロードが完了するか、ユーザからリサイズの要求を受けると、ブラウザ11は拡張機能部70へイベント通知を行う。イベント通知があると、拡張機能部70のイベント受信部71はステップS2に進み、下線配置処理の開始を下線付与位置情報取得部72に通知する。
ステップS3に進み、下線付与位置情報取得部72はブラウザ11からコンテンツ21のURLを取得する。なお、図6のシステムの場合はコンテンツ21のURLが固定値となる。ステップS4に進み、下線付与位置情報取得部72は位置情報管理サーバ30へアクセスし、コンテンツ21のURLを位置情報管理サーバ30へ送信する。
ステップS5に進み、位置情報管理サーバ30はブラウザ11にロードされているコンテンツ21のURLを取得する。ステップS6に進み、位置情報管理サーバ30は取得したコンテンツ21のURLをキーとして位置情報管理テーブル31を検索する。ステップS7に進み、位置情報管理サーバ30は検索された全ての下線付与位置情報を拡張機能部70へ送信する。なお、ステップS6において位置情報管理サーバ30により検索される下線付与位置情報はコンテンツ21のURLを対象URLとして持つ位置情報管理テーブル31のレコードである。
ステップS8に進み、拡張機能部70の下線配置処理部73は位置情報管理サーバ30により検索された全ての下線付与位置情報を受信する。ステップS9に進み、下線配置処理部73は受信した全ての下線付与位置情報について下線の配置が完了したか否かを判定する。
受信した全ての下線付与位置情報について下線の配置が完了していなければ、下線配置処理部73はステップS10に進み、下線の配置が完了していない下線付与位置情報について後述の下線配置処理を行い、ステップS9に戻る。
なお、受信した全ての下線付与位置情報について下線の配置が完了していれば、下線配置処理部73は下線の配置完了を下線配置終了通知部74に通知する。下線の配置完了が通知されると、下線配置終了通知部74はステップS11に進み、下線の配置終了をブラウザ11に通知する。下線の配置終了が通知されると、ブラウザ11はステップS12に進み、下線が配置されたコンテンツ21を表示する。
ステップS10の下線配置処理の詳細は図11に示すようになる。図11は下線配置処理の手順を表した一例のフローチャートである。ステップS21に進み、下線配置処理部73は位置情報管理サーバ30から受信した図7のような下線付与位置情報からスタートXpath及びスタートXPathオフセットを下線のコンテンツ21内の論理的開始位置として取得し、論理的開始位置から下線の開始位置座標を取得する。
また、ステップS22に進み、下線配置処理部73は下線付与位置情報からエンドXpath及びエンドXPathオフセットを下線のコンテンツ21内の論理的終了位置として取得し、論理的終了位置から下線の終了位置座標を取得する。
なお、拡張機能部70の下線配置処理部73は、W3Cで規定されているDocument Object Model(DOM)の定義に従い、図12に示すように、XPathで指示されるノードに関する情報を取得できる。図12はノードに関する情報の一例のイメージ図である。下線配置処理部73はノードに関する情報として、親ノード表示範囲,親ノードの高さ,文字の大きさ,行間の幅,コンテンツ21上の表示位置としての開始位置座標及び終了位置座標をブラウザ11から取得できる。
ステップS23に進み、下線配置処理部73は下線付与位置情報から取得したスタートXpath及びエンドXpathが同じかを判定することで、下線の開始位置及び終了位置が同一のノード(ブロック)内であるか否かを判定する。スタートXpath及びエンドXpathが同じであれば、下線配置処理部73は下線の開始位置及び終了位置が同一ブロック内であると判定し、ステップS24に進む。また、スタートXpath及びエンドXpathが同じでなければ、下線配置処理部73は下線の開始位置及び終了位置が同一ブロック内でないと判定し、ステップS27に進む。
ステップS24では、下線配置処理部73が、下線の開始位置Y座標及び終了位置Y座標が同じかを判定する。下線の開始位置Y座標及び終了位置Y座標が同じであれば、下線配置処理部73はステップS25に進み、後述の単一行処理により下線の開始位置座標から終了位置座標まで下線を1つ配置したあと、下線配置処理を終了する。
下線の開始位置Y座標及び終了位置Y座標が同じでなければ、下線配置処理部73はステップS26に進み、後述の同一ブロック内改行処理により開始位置座標から終了位置座標まで改行を計測し、下線を複数配置したあと、下線配置処理を終了する。
ステップS27では、下線配置処理部73が、後述の複数ブロック改行処理により開始位置座標から終了位置座標の間に含まれる複数のブロックを計測し、下線を複数配置したあと、下線配置処理を終了する。
ステップS25の単一行処理の詳細は図13に示すようになる。図13は単一行処理の手順を表した一例のフローチャートである。なお、ここでは位置情報管理テーブル31が図14、Webページを記述したHTMLが図1、ブラウザ11により表示されるWebページが図3であるときの処理を一例として説明する。
図14は位置情報管理テーブルの一例の構成図である。図14の位置情報管理テーブル31はスタートXpath及びエンドXpathが同じ例を表している。また、ブラウザ11により表示されるWebページ上の文字列「今日は朝から雨だった」は図3のように改行されていないものとする。
ステップS31に進み、下線配置処理部73は終了位置X座標と開始位置X座標との差を下線の長さとして算出する。ステップS32に進み、下線配置処理部73は開始位置X座標を下線開始X座標とする。ステップS33に進み、下線配置処理部73は開始位置Y座標にフォントサイズ(文字の大きさ)を加算して下線開始Y座標を算出する。
ステップS34に進み、下線配置処理部73は下線開始X座標及び下線開始Y座標から下線の長さのDIV要素を挿入(配置)する。DIV要素は下線のオブジェクト(下線表示用のオブジェクト)の一例である。つまり、本実施例ではHTML等で用いられる下線表示用のタグを用いずに画像やブロックを指定するタグ(div)を用いてWebページ上に下線を配置する。
下線は図13のフローチャートの処理により、下線付与位置情報の論理的開始位置である文字「朝」から論理的終了位置である文字「雨」まで、言い換えればWebページ上の文字列「朝から雨」に引かれることになる。
ステップS26の同一ブロック内改行処理の詳細は図15に示すようになる。図15は同一ブロック内改行処理の手順を表した一例のフローチャートである。なお、ここでは位置情報管理テーブル31が図14、Webページを記述したHTMLが図1、ブラウザ11に表示されるWebページが図16であるときの処理を一例として説明する。
図16は、該当部分に下線が引かれたWebページの一例のイメージ図である。図16ではブラウザ11により表示されるWebページ上の文字列「今日は朝から雨だった」がブラウザサイズの影響により文字「雨」の前で改行されている。
ステップS41に進み、下線配置処理部73は、開始位置X座標を下線開始X座標とする。ステップS42に進み、下線配置処理部73は開始位置Y座標にフォントサイズを加算して下線開始Y座標を算出する。ステップS43に進み、下線配置処理部73は下線開始Y座標が終了位置Y座標より大きいか否かにより、全ての下線を配置したか否かを判定する。
ステップS43の処理では、下線開始Y座標が終了位置Y座標より大きくなければ配置していない下線があると判定される。最初は、下線開始Y座標が終了位置Y座標より大きくないと判定される。
下線開始Y座標が終了位置Y座標より大きくないと判定されると、下線配置処理部73はステップS44に進み、下線開始Y座標と終了位置Y座標とが等しいか否かにより最後の下線であるか否かを判定する。ステップS44の処理では、下線開始Y座標と終了位置Y座標とが等しければ最後の下線であると判定される。最初は、下線開始Y座標と終了位置Y座標とが等しくないと判定される。
下線開始Y座標と終了位置Y座標とが等しくないと判定されると、下線配置処理部73はステップS45に進み、ブロック位置X座標及びブロック幅から得られるX座標と下線開始X座標との差を下線の長さとして算出する。例えば図16の例ではWebページ上の文字列「朝から」に引く下線の長さを算出する。
ステップS47に進み、下線配置処理部73は図13に示す単一行処理のステップS34の処理を実行する。例えば図16の例ではWebページ上の文字列「朝から」に下線を引く。
ステップS48に進み、下線配置処理部73はブロック位置X座標を新たな下線開始X座標とする。ステップS49に進み、下線配置処理部73は下線開始Y座標にフォントサイズを加算して新たな下線開始Y座標とする。ステップS43に戻り、下線配置処理部73は下線開始Y座標が終了位置Y座標より大きいかを判定する。ここでも、下線開始Y座標が終了位置Y座標より大きくないと判定される。
下線開始Y座標が終了位置Y座標より大きくないと判定されると、下線配置処理部73はステップS44に進み、下線開始Y座標と終了位置Y座標とが等しいか否かにより最後の下線であるか否かを判定する。ここでは、下線開始Y座標と終了位置Y座標とが等しく最後の下線であると判定される。下線開始Y座標と終了位置Y座標とが等しいと判定されると、下線配置処理部73はステップS46に進み、終了位置X座標と下線開始X座標との差を下線の長さとして算出する。図16の例ではWebページ上の文字列「雨」に引く下線の長さを算出する。ステップS47に進み、下線配置処理部73は図13に示す単一行処理のステップS34の処理を実行する。例えば図16の例ではWebページ上の文字列「雨」に下線を引く。
ステップS48に進み、下線配置処理部73はブロック位置X座標を新たな下線開始X座標とする。ステップS49に進み、下線配置処理部73は下線開始Y座標にフォントサイズを加算して新たな下線開始Y座標を算出する。
ステップS43に戻り、下線配置処理部73は下線開始Y座標が終了位置Y座標より大きいかを判定する。ここでは、下線開始Y座標が終了位置Y座標より大きいため、全ての下線を配置したと判定し、同一ブロック内改行処理を終了する。
下線は図15のフローチャートの処理により、下線付与位置情報の論理的開始位置である文字「朝」から論理的終了位置である文字「雨」まで、言い換えればWebページ上の改行された文字列「朝から雨」に引かれることになる。
ステップS27の複数ブロック改行処理の詳細は図17に示すようになる。図17は複数ブロック改行処理の手順を表した一例のフローチャートである。なお、ここでは位置情報管理テーブル31が図18、Webページを記述したHTMLが図19、ブラウザ11に表示されるWebページが図20であるときの処理を一例として説明する。
図18は位置情報管理テーブルの一例の構成図である。図18の位置情報管理テーブル31はスタートXpath及びエンドXpathが異なる例を表している。図19はWebページを記述したHTMLの一例の構成図である。図20は該当部分に下線が引かれたWebページの一例のイメージ図である。図20では、ブラウザ11により表示されるWebページ上の文字列「今日は朝から雨だった」が文字「か」の前で改行されている。
ステップS51に進み、下線配置処理部73は深さ優先探索で論理的開始位置から論理的終了位置までノードを保存する。例えばHTMLが図21のツリー構造の場合、下線配置処理部73は図22に示すような順番でノードを保存する。
ステップS52に進み、下線配置処理部73は、保存されたノードがないか否かを判定する。保存されたノードがあれば、下線配置処理部73はステップS53に進み、保存されたノードから一つのノードを取り出す。ステップS54に進み、下線配置処理部73は取り出したノードがテキストノードであるか否かを判定する。
テキストノードでなければ、下線配置処理部73はステップS52に戻る。一方、テキストノードであれば、下線配置処理部73はステップS55に進み、ステップS53で取り出した一つのノードの深さ優先探索における位置を判定する。最初は、深さ優先探索における位置として開始と判定される。
開始と判定されると、下線配置処理部73はステップS56に進み、終了位置座標をテキストの最後とする。なお、開始位置座標は下線付与位置情報の論理的開始位置から取得する。
中間と判定されると、下線配置処理部73はステップS57に進み、開始位置座標をテキストの先頭とする。ステップS57に続いてステップS58に進み、下線配置処理部73は終了位置座標をテキストの最後とする。
終了と判定されると、下線配置処理部73はステップS59に進み、開始位置座標をテキストの先頭とする。なお、終了位置座標は下線付与位置情報の論理的終了位置から取得する。
ステップS56,S58,S59に続いてステップS60に進み、下線配置処理部73は図15の同一ブロック内改行処理を実行したあと、ステップS52に戻る。ステップS52において保存されたノードがなければ、下線配置処理部73は複数ブロック改行処理を終了する。
図17のフローチャートの処理は複数のブロックを跨る下線をブロック毎に分けることにより、同一ブロック内改行処理で下線の配置を実現するものである。下線は、図17のフローチャートの処理により、下線付与位置情報の論理的開始位置である文字「朝」から論理的終了位置である文字「雨」まで、言い換えればWebページ上の改行された文字列である「朝から雨」に引かれることになる。
(効果)
以上、本実施例のシステムによればブラウザ11にコンテンツ21がロードされた時点又はユーザからブラウザサイズを変更するリサイズの要求を受けた時点で、Webページ上の論理的位置に下線を動的に配置することで、Webページ上の目的の位置に下線を再現できる。即ち、本実施例によれば、Webページ上の目的の位置に下線を配置し続けることができる。
本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
コンピュータを、
ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得手段と、
前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の論理的位置に基づき、前記デジタルコンテンツ上の論理的位置を決定し、決定された前記論理的位置に修飾線のオブジェクトを配置する修飾線配置処理手段と
して動作させる為の修飾線配置プログラム。
(付記2)
前記修飾線配置処理手段は、前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の第一の論理的開始位置及び第一の論理的終了位置に基づき、前記デジタルコンテンツ上の第二の論理的開始位置及び第二の論理的終了位置を決定し、決定された前記第二の論理的開始位置及び前記第二の論理的終了位置に基づいて決定された修飾線の長さと、行内の前記第二の論理的開始位置以降に描画可能な長さと、の差分を次行の修飾線の長さとして決定し、決定された前記長さの修飾線のオブジェクトを次行に配置する付記1記載の修飾線配置プログラム。
(付記3)
前記修飾線配置処理手段は、前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の第一の論理的開始位置及び第一の論理的終了位置に基づき、前記デジタルコンテンツ上の第二の論理的開始位置及び第二の論理的終了位置を決定し、
前記修飾線の第一の論理的開始位置及び第一の論理的終了位置に基づき、修飾線が複数ブロックに跨るときに、前記修飾線の第一の論理的開始位置から第一の論理的終了位置まで深さ優先探索でブロックを保存し、一つずつ取り出した前記ブロックがテキストノードであるときに、一つずつ取り出した前記ブロックの深さ優先探索における位置が開始,中間,終了の何れであるかを判定して、
前記ブロックの深さ優先探索における位置が開始であるときに前記第一の論理的開始位置に基づき前記デジタルコンテンツ上の第二の論理的開始位置を決定すると共に、前記ブロックのテキストの最後に基づき前記デジタルコンテンツ上の第二の論理的終了位置を決定し、
前記ブロックの深さ優先探索における位置が中間であるときに前記ブロックのテキストの先頭に基づき前記デジタルコンテンツ上の第二の論理的開始位置を決定すると共に、前記ブロックのテキストの最後に基づき前記デジタルコンテンツ上の第二の論理的終了位置を決定し、
前記ブロックの深さ優先探索における位置が終了であるときに前記ブロックのテキストの先頭に基づき前記デジタルコンテンツ上の第二の論理的開始位置を決定すると共に、前記第一の論理的終了位置に基づき前記デジタルコンテンツ上の第二の論理的終了位置を決定し、
決定された前記第二の論理的開始位置及び前記第二の論理的終了位置に基づいて決定された修飾線の長さと、行内の前記第二の論理的開始位置以降に描画可能な長さと、の差分を次行の修飾線の長さとして決定し、決定された前記長さの修飾線のオブジェクトを次行に配置する付記2記載の修飾線配置プログラム。
(付記4)
前記修飾線配置処理手段は、前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の論理的開始位置及び論理的終了位置に基づき、修飾線が同一ブロック内に含まれ、修飾線の論理的開始位置及び論理的終了位置のY座標が異なるときに同一ブロック内改行処理を選択する付記2又は3記載の修飾線配置プログラム。
(付記5)
前記修飾線配置処理手段は、前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の論理的開始位置及び論理的終了位置に基づき、修飾線が同一ブロック内に含まれ、修飾線の論理的開始位置及び論理的終了位置のY座標が同じときに単一行処理を選択する付記2乃至4何れか一項記載の修飾線配置プログラム。
(付記6)
前記コンピュータを、更に、
前記ブラウザからの前記デジタルコンテンツのロード完了又は前記ブラウザサイズを変更するリサイズの要求をイベント通知として受信すると、修飾線配置処理の開始を通知するイベント受信手段として機能させる付記1乃至5何れか一項記載の修飾線配置プログラム。
(付記7)
前記修飾線配置プログラムは、前記ブラウザに機能を追加するプログラム又は前記デジタルコンテンツの一部を構成するスクリプトである付記1乃至6何れか一項記載の修飾線配置プログラム。
(付記8)
ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得手段と、
前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の論理的位置に基づき、前記デジタルコンテンツ上の論理的位置を決定し、決定された前記論理的位置に修飾線のオブジェクトを配置する修飾線配置処理手段と
を有する修飾線配置装置。
(付記9)
コンピュータによって実行される修飾線配置方法であって、
前記コンピュータが、
ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得ステップと、
前記修飾線付与位置情報取得ステップで取得した修飾線付与位置情報に含まれる修飾線の論理的位置に基づき、前記デジタルコンテンツ上の論理的位置を決定し、決定された前記論理的位置に修飾線のオブジェクトを配置する修飾線配置処理ステップと
を実行する修飾線配置方法。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、実施例において処理の主体がプログラムのように記載されている箇所は、演算処理装置66がプログラムを実行することにより処理することを表している。
1 タグ
2 スタイルシート
10 利用者端末
11 ブラウザ
12 プラグイン
20 コンテンツサーバ
21 コンテンツ
22 スクリプト
30 位置情報管理サーバ
31 位置情報管理テーブル
50 ネットワーク
61 入力装置
62 出力装置
63 ドライブ装置
64 補助記憶装置
65 主記憶装置
66 演算処理装置
67 インターフェース装置
68 記録媒体
70 拡張機能部
71 イベント受信部
72 下線付与位置情報取得部
73 下線配置処理部
74 下線配置終了通知部
B バス

Claims (4)

  1. コンピュータを、
    ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得手段と、
    前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の論理的位置に基づき、前記デジタルコンテンツ上の論理的位置を決定し、決定された前記論理的位置に修飾線のオブジェクトを配置する修飾線配置処理手段と
    して動作させ
    前記修飾線配置処理手段は、前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の第一の論理的開始位置及び第一の論理的終了位置に基づき、前記デジタルコンテンツ上の第二の論理的開始位置及び第二の論理的終了位置を決定し、決定された前記第二の論理的開始位置及び前記第二の論理的終了位置に基づいて決定された修飾線の長さと、行内の前記第二の論理的開始位置以降に描画可能な長さと、の差分を次行の修飾線の長さとして決定し、決定された前記長さの修飾線のオブジェクトを次行に配置する為の修飾線配置プログラム。
  2. 前記修飾線配置処理手段は、前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の第一の論理的開始位置及び第一の論理的終了位置に基づき、前記デジタルコンテンツ上の第二の論理的開始位置及び第二の論理的終了位置を決定し、
    前記修飾線の第一の論理的開始位置及び第一の論理的終了位置に基づき、修飾線が複数ブロックに跨るときに、前記修飾線の第一の論理的開始位置から第一の論理的終了位置まで深さ優先探索でブロックを保存し、一つずつ取り出した前記ブロックがテキストノードであるときに、一つずつ取り出した前記ブロックの深さ優先探索における位置が開始,中間,終了の何れであるかを判定して、
    前記ブロックの深さ優先探索における位置が開始であるときに前記第一の論理的開始位置に基づき前記デジタルコンテンツ上の第二の論理的開始位置を決定すると共に、前記ブロックのテキストの最後に基づき前記デジタルコンテンツ上の第二の論理的終了位置を決定し、
    前記ブロックの深さ優先探索における位置が中間であるときに前記ブロックのテキストの先頭に基づき前記デジタルコンテンツ上の第二の論理的開始位置を決定すると共に、前記ブロックのテキストの最後に基づき前記デジタルコンテンツ上の第二の論理的終了位置を決定し、
    前記ブロックの深さ優先探索における位置が終了であるときに前記ブロックのテキストの先頭に基づき前記デジタルコンテンツ上の第二の論理的開始位置を決定すると共に、前記第一の論理的終了位置に基づき前記デジタルコンテンツ上の第二の論理的終了位置を決定し、
    決定された前記第二の論理的開始位置及び前記第二の論理的終了位置に基づいて決定された修飾線の長さと、行内の前記第二の論理的開始位置以降に描画可能な長さと、の差分を次行の修飾線の長さとして決定し、決定された前記長さの修飾線のオブジェクトを次行に配置する請求項記載の修飾線配置プログラム。
  3. ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得手段と、
    前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の論理的位置に基づき、前記デジタルコンテンツ上の論理的位置を決定し、決定された前記論理的位置に修飾線のオブジェクトを配置する修飾線配置処理手段と
    を有し、
    前記修飾線配置処理手段は、前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる修飾線の第一の論理的開始位置及び第一の論理的終了位置に基づき、前記デジタルコンテンツ上の第二の論理的開始位置及び第二の論理的終了位置を決定し、決定された前記第二の論理的開始位置及び前記第二の論理的終了位置に基づいて決定された修飾線の長さと、行内の前記第二の論理的開始位置以降に描画可能な長さと、の差分を次行の修飾線の長さとして決定し、決定された前記長さの修飾線のオブジェクトを次行に配置する修飾線配置装置。
  4. コンピュータによって実行される修飾線配置方法であって、
    前記コンピュータが、
    ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得ステップと、
    前記修飾線付与位置情報取得ステップで取得した修飾線付与位置情報に含まれる修飾線の論理的位置に基づき、前記デジタルコンテンツ上の論理的位置を決定し、決定された前記論理的位置に修飾線のオブジェクトを配置する修飾線配置処理ステップと
    を実行し、
    前記修飾線配置処理ステップは、前記修飾線付与位置情報取得ステップにおいて取得した修飾線付与位置情報に含まれる修飾線の第一の論理的開始位置及び第一の論理的終了位置に基づき、前記デジタルコンテンツ上の第二の論理的開始位置及び第二の論理的終了位置を決定し、決定された前記第二の論理的開始位置及び前記第二の論理的終了位置に基づいて決定された修飾線の長さと、行内の前記第二の論理的開始位置以降に描画可能な長さと、の差分を次行の修飾線の長さとして決定し、決定された前記長さの修飾線のオブジェクトを次行に配置する修飾線配置方法。
JP2009145442A 2009-06-18 2009-06-18 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法 Expired - Fee Related JP5326851B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009145442A JP5326851B2 (ja) 2009-06-18 2009-06-18 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009145442A JP5326851B2 (ja) 2009-06-18 2009-06-18 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法

Publications (2)

Publication Number Publication Date
JP2011003011A JP2011003011A (ja) 2011-01-06
JP5326851B2 true JP5326851B2 (ja) 2013-10-30

Family

ID=43560919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009145442A Expired - Fee Related JP5326851B2 (ja) 2009-06-18 2009-06-18 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法

Country Status (1)

Country Link
JP (1) JP5326851B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7218783B2 (en) * 2003-06-13 2007-05-15 Microsoft Corporation Digital ink annotation process and system for recognizing, anchoring and reflowing digital ink annotations
JPWO2006051715A1 (ja) * 2004-11-12 2008-05-29 株式会社ジャストシステム 文書処理装置及び文書処理方法

Also Published As

Publication number Publication date
JP2011003011A (ja) 2011-01-06

Similar Documents

Publication Publication Date Title
JP4344693B2 (ja) ブラウザの文書編集のためのシステムおよびその方法
US9946793B2 (en) Method for providing electronic book and cloud server
JP4144806B2 (ja) 情報編集装置、情報編集システム、情報編集方法、およびプログラム
US20090259949A1 (en) Cross-browser rich text editing via a hybrid client-side model
WO2008070419A1 (en) Editing web pages via a web browser
US20090006471A1 (en) Exposing Specific Metadata in Digital Images
JP2011523133A (ja) レイアウトファイルの構造処理方法及び装置
KR20060015494A (ko) 콘텐츠 작성 시스템, 콘텐츠 작성 방법, 이 콘텐츠 작성방법을 실행시키기 위한 컴퓨터 실행 가능한 프로그램, 이프로그램이 기록된 컴퓨터 판독 가능한 기억 매체,그래피컬 유저 인터페이스 시스템 및 표시 제어 방법
WO2011069903A1 (en) Method and system for on-line editing electronic documents
US20100229083A1 (en) Screen display program generating apparatus, screen display system, computer readable storage medium having stored therein a computer program causing a computer to function as the screen display program generating apparatus, and screen display program generating method
CN113360106B (zh) 一种网页打印方法和装置
KR101797573B1 (ko) 웹 기반의 스프레드시트 서비스 제공 장치 및 방법
KR101746477B1 (ko) 개체에 대한 스타일 동시 편집을 지원하는 문서 협업 장치 및 그 동작 방법
KR102013620B1 (ko) 웹 기반 문서의 템플릿을 변경하는 웹 기반 문서 편집 서버 및 이의 동작 방법
JP5063877B2 (ja) 情報処理装置およびコンピュータプログラム
JP5326851B2 (ja) 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法
US10275127B2 (en) Client apparatus, information processing system, information processing method, and non-transitory computer readable medium
JP2011003010A (ja) 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法
JP2007183849A (ja) 文書処理装置
JP4756907B2 (ja) 画像形成装置、画像形成装置の処理方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
JP5391738B2 (ja) アノテーションプログラム、アノテーション装置及びアノテーション方法
JP4825823B2 (ja) 情報編集装置、情報編集システム、情報編集方法、およびプログラム
CN110019968B (zh) Xml文件的处理方法和装置
JP5857281B2 (ja) レイアウト処理装置、レイアウト処理方法、およびプログラム
JP5765452B2 (ja) アノテーション付与復元方法及びアノテーション付与復元装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130501

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130708

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees