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

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

Info

Publication number
JP2011003010A
JP2011003010A JP2009145441A JP2009145441A JP2011003010A JP 2011003010 A JP2011003010 A JP 2011003010A JP 2009145441 A JP2009145441 A JP 2009145441A JP 2009145441 A JP2009145441 A JP 2009145441A JP 2011003010 A JP2011003010 A JP 2011003010A
Authority
JP
Japan
Prior art keywords
line
underline
modification
position information
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.)
Pending
Application number
JP2009145441A
Other languages
English (en)
Inventor
Terunobu Kume
照宣 粂
Fumito Nishino
文人 西野
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 JP2009145441A priority Critical patent/JP2011003010A/ja
Publication of JP2011003010A publication Critical patent/JP2011003010A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

【課題】デジタルコンテンツ上の目的の位置に他の修飾線と視覚的に区別可能な状態で修飾線を配置することができる修飾線配置プログラム、修飾線配置装置及び修飾線配置方法を提供することを目的とする。
【解決手段】コンピュータを、ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知をブラウザから受信し、デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得手段と、修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる新しい修飾線の論理的位置に基づき、デジタルコンテンツ上の新しい修飾線の論理的位置に新しい修飾線のオブジェクトを既存の修飾線のオブジェクトから、ずらして配置する修飾線配置処理手段として動作させることにより上記課題を解決する。
【選択図】 図12

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ページの一例のイメージ図である。図4は該当部分に重複して引かれた下線を表した説明図である。
図3は図4に示すようにWebページ上の該当部分である文字列「今日は朝から」に下線が一本引かれると共に、文字列「朝から雨」に下線が一本引かれるため、文字列「朝から」の部分が重複し、文字列「今日は朝から雨」に一本の下線が引かれているように見えてしまう。つまり、既に下線が引かれている場所に対して重複を許しながら下線を追加する場合、レビュアは重複した下線を視覚的に区別できない。したがって、レビュアは下線が複数あることに気付かず、下線の意図を誤解してしまうという問題があった。
ところで、ブラウザの表示サイズ(以下、ブラウザサイズという)はユーザが自由に変更することができる。ブラウザサイズの変更により、ブラウザはWebページに含まれる文字列「今日は朝から雨だった。」の表示位置を自動的に調整する。一方、文字列に引かれた下線の表示位置は変更されない。
図5は下線が引かれたWebページの一例のイメージ図である。図5のWebページは文字列「今日は」に一本の下線が引かれると共に、文字列「朝から雨」に一本の下線が引かれている。図5のWebページがブラウザに表示されているとき、ブラウザサイズの変更があると、下線は図6に示すように、目的の位置に再現されない。図6は、ブラウザサイズの変更により意図しない位置に下線が引かれたWebページの一例のイメージ図である。図6ではWebページ上の下線の意図が不明となっている。
本発明の一実施形態は、上記の点に鑑みなされたもので、デジタルコンテンツ上の目的の位置に他の修飾線と視覚的に区別可能な状態で修飾線を配置することができる修飾線配置プログラム、修飾線配置装置及び修飾線配置方法を提供することを目的とする。
上記課題を解決するため、本発明の一実施形態は、コンピュータを、ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得手段と、前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる新しい修飾線の論理的位置に基づき、前記デジタルコンテンツ上の前記新しい修飾線の論理的位置に前記新しい修飾線のオブジェクトを既存の下線のオブジェクトから、ずらして配置する修飾線配置処理手段として動作させる為の修飾線配置プログラムである。
なお、本発明の一実施形態の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
上述の如く、本発明の一実施形態によれば、デジタルコンテンツ上の目的の位置に他の修飾線と視覚的に区別可能な状態で修飾線を配置することができる修飾線配置プログラム、修飾線配置装置及び修飾線配置方法を提供可能である。
Webページを記述したHTMLの一例の構成図である。 オリジナルのHTMLへ追加したタグと用意されたスタイルシートとを表した構成図である。 該当部分に引かれた下線が重複しているWebページの一例のイメージ図である。 該当部分に重複して引かれた下線を表した説明図である。 下線が引かれたWebページの一例のイメージ図である。 ブラウザサイズの変更により意図しない位置に下線が引かれたWebページの一例のイメージ図である。 本実施例のシステムの一実施例のシステム構成図である。 本実施例のシステムの他の実施例のシステム構成図である。 位置情報管理テーブルの一例の構成図である。 利用者端末の一例の構成図である。 利用者端末で実現される拡張機能部の一例の処理ブロック図である。 コンテンツのロード時又はブラウザのリサイズ時における拡張機能部の処理手順を説明する為のフローチャートである。 下線配置処理の手順を表した一例のフローチャートである。 ノードに関する情報の一例のイメージ図である。 単一行処理の手順を表した一例のフローチャートである。 位置情報管理テーブルの一例の構成図である。 該当部分に下線が引かれたWebページの一例のイメージ図である。 下線配置位置調整処理の手順を表した一例のフローチャートである。 同一ブロック内改行処理の手順を表した一例のフローチャートである。 該当部分に下線が引かれたWebページの一例のイメージ図である。 複数ブロック改行処理の手順を表した一例のフローチャートである。 位置情報管理テーブルの一例の構成図である。 Webページを記述したHTMLの一例の構成図である。 該当部分に下線が引かれたWebページの一例のイメージ図である。 ツリー構造の一例の構成図である。 深さ優先探索で論理的開始位置から論理的終了位置まで保存されるノードの順序を表した模式図である。 視覚的に区別できる位置に下線をずらして表示しているWebページの一例のイメージ図である。
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では修飾線の一例として下線を例に説明するが、取り消し線など如何なる修飾線であってもよい。
(システム構成)
図7は本実施例のシステムの一実施例のシステム構成図である。図7に示す本実施例のシステムは、利用者端末10,コンテンツサーバ20,位置情報管理サーバ30,ネットワーク50を有する。利用者端末10,コンテンツサーバ20及び位置情報管理サーバ30は、ネットワーク50を介してデータ通信可能に接続されている。ネットワーク50はインターネットやLANなど、データ通信可能な如何なる通信網であってもよい。
利用者端末10はブラウザ11がインストールされている。ブラウザ11はプラグイン12により拡張機能が追加されている。プラグイン12はブラウザ11に拡張機能を追加する為のプログラムの一例である。コンテンツサーバ20はWebページ等のデジタルコンテンツ(以下、単にコンテンツと呼ぶ)21を格納している。位置情報管理サーバ30は位置情報管理テーブル31を有している。
図8は本実施例のシステムの他の実施例のシステム構成図である。図8に示す本実施例のシステムは、図7のシステムと同様に、利用者端末10,コンテンツサーバ20,位置情報管理サーバ30,ネットワーク50を有する。利用者端末10,コンテンツサーバ20及び位置情報管理サーバ30は、ネットワーク50を介してデータ通信可能に接続されている。
利用者端末10はブラウザ11がインストールされている。また、コンテンツサーバ20はコンテンツ21を格納している。JavaScript等のスクリプト22はコンテンツ21の一部を構成する。スクリプト22は、ブラウザ11に拡張機能を追加する為のプログラムの一例である。位置情報管理サーバ30は位置情報管理テーブル31を有している。
このように、図7のシステムはプラグイン12によりブラウザ11の拡張機能を実現している。また、図8のシステムはスクリプト22によりブラウザ11の拡張機能を実現している。
図9は位置情報管理テーブルの一例の構成図である。図9の位置情報管理テーブル31は対象URL,スタートXPath(Start_XPath),スタートXPathオフセット(Offset),エンドXPath,エンドXPathオフセットをデータ項目として含む下線付与位置情報が登録されている。
対象URLは下線を付与したコンテンツ21を特定するものである。スタートXpath及びスタートXPathオフセットは付与した下線のコンテンツ21内の論理的開始位置を特定するものである。エンドXpath及びエンドXPathオフセットは付与した下線のコンテンツ21内の論理的終了位置を特定するものである。
なお、図9の位置情報管理テーブル31はユーザがWebアノテーションシステムを利用し、ブラウザ11で見ているコンテンツ21に下線を引くことで下線付与位置情報が登録される。Webアノテーションシステムによる位置情報管理テーブル31への下線付与位置情報の登録は予め行われているものとする。
図7及び図8に示すシステムでは利用者端末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の構成)
図10は利用者端末の一例の構成図である。利用者端末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に格納された下線配置プログラムに従って、後述するような各種処理ブロックを実現している。
図11は利用者端末で実現される拡張機能部の一例の処理ブロック図である。図11の拡張機能部70は、イベント受信部71,下線付与位置情報取得部72,下線配置処理部73及び下線配置終了通知部74を有する。なお、イベント受信部71,下線付与位置情報取得部72,下線配置処理部73及び下線配置終了通知部74は、演算処理装置66がプラグイン12又はスクリプト22を実行することにより実現される。図11に示した拡張機能部70の各種処理ブロックの処理手順は以下のようになる。
(処理手順)
図12はコンテンツのロード時又はブラウザのリサイズ時における拡張機能部の処理手順を説明する為のフローチャートである。ステップS1に進み、利用者端末10のブラウザ11はコンテンツサーバ20からのコンテンツ21のロードを完了するか、ユーザからブラウザサイズを変更するリサイズの要求を受ける。
コンテンツ21のロードが完了するか、ユーザからリサイズの要求を受けると、ブラウザ11は拡張機能部70へイベント通知を行う。イベント通知があると、拡張機能部70のイベント受信部71はステップS2に進み、下線配置処理の開始を下線付与位置情報取得部72に通知する。
ステップS3に進み、下線付与位置情報取得部72はブラウザ11からコンテンツ21のURLを取得する。なお、図8のシステムの場合はコンテンツ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の下線配置処理の詳細は図13に示すようになる。図13は下線配置処理の手順を表した一例のフローチャートである。ステップS21に進み、下線配置処理部73は位置情報管理サーバ30から受信した図9のような下線付与位置情報からスタートXpath及びスタートXPathオフセットを下線のコンテンツ21内の論理的開始位置として取得し、論理的開始位置から下線の開始位置座標を取得する。
また、ステップS22に進み、下線配置処理部73は下線付与位置情報からエンドXpath及びエンドXPathオフセットを下線のコンテンツ21内の論理的終了位置として取得し、論理的終了位置から下線の終了位置座標を取得する。
なお、拡張機能部70の下線配置処理部73は、W3Cで規定されているDocument Object Model(DOM)の定義に従い、図14に示すように、XPathで指示されるノードに関する情報を取得できる。図14はノードに関する情報の一例のイメージ図である。下線配置処理部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の単一行処理の詳細は図15に示すようになる。図15は単一行処理の手順を表した一例のフローチャートである。なお、ここでは位置情報管理テーブル31が図16、Webページを記述したHTMLが図1、ブラウザに表示されるWebページが図17であるときの処理を一例として説明する。
図16は位置情報管理テーブルの一例の構成図である。図16の位置情報管理テーブル31はスタートXpath及びエンドXpathが同じ例を表している。また、ブラウザにより表示されるWebページ上の文字列「今日は朝から雨だった」は図17のように改行されていないものとする。
ステップS31に進み、下線配置処理部73は終了位置X座標と開始位置X座標との差を下線の長さとして算出する。ステップS32に進み、下線配置処理部73は開始位置X座標を下線開始X座標とする。ステップS33に進み、下線配置処理部73は開始位置Y座標にフォントサイズ(文字の大きさ)を加算して下線開始Y座標を算出する。
ステップS34に進み、下線配置処理部73は該当ブロック(同一ブロック)内に他の下線があるか否かを判定する。該当ブロック内に他の下線がなければ、下線配置処理部73はステップS36に進み、下線開始X座標及び下線開始Y座標から下線の長さのDIV要素を挿入(配置)する。DIV要素は、下線のオブジェクト(下線表示用のオブジェクト)の一例である。つまり、本実施例ではHTML等で用いられる下線表示用のタグを用いずに、画像やブロックを指定するタグ(div)を用いてWebページ上に下線を配置する。一方、該当ブロック内に他の下線があれば、下線配置処理部73はステップS35に進み、後述の下線配置位置調整処理により他の下線との位置をずらすように下線の長さのDIV要素を配置する。
下線は図15のフローチャートの処理により、下線付与位置情報の論理的開始位置である文字「朝」から論理的終了位置である文字「雨」まで、言い換えればWebページ上の文字列「朝から雨」に引かれることになる。
ステップS35の下線配置位置調整処理の詳細は図18に示すようになる。図18は下線配置位置調整処理の手順を表した一例のフローチャートである。下線配置処理部73はステップS100に進み、ノードに関する情報として、該当ブロックの位置,幅,高さをブラウザ11から取得する。ステップS101に進み、下線配置処理部73はステップS100で取得した該当ブロックの位置,幅,高さに基づき、該当ブロックの範囲内にある既存の下線の開始位置Y座標又は終了位置Y座標を取得する。
ステップS102に進み、下線配置処理部73はノードに関する情報として行間の幅をブラウザ11から取得する。ステップS103に進み、下線配置処理部73はステップS33で算出した下線開始Y座標に行間幅を加算してY座標上限を計算する。
ステップS104に進み、下線配置処理部73は既存の下線の開始位置Y座標又は終了位置Y座標(以下、既存の下線のY座標という)と、これから配置する新しい下線の開始位置Y座標又は終了位置Y座標(以下、新しい下線のY座標という)とが同じか否かを判定する。
既存の下線のY座標と新しい下線のY座標とが同じであれば、下線配置処理部73はステップS105に進み、下線のY座標が同一の既存の下線の開始位置X座標及び終了位置X座標を取得する。ステップS106に進み、下線配置処理部73は新しい下線の開始位置X座標がステップS105で取得した既存の下線の終了位置X座標よりも大きいか、又は、新しい下線の終了位置X座標がステップS105で取得した既存の下線の開始位置X座標よりも小さいかを判定する。ステップS106の処理は、新しい下線と既存の下線とが重複しているか(重なっているか)、又は、繋がっているかを判定するものである。以下の説明では、新しい下線と既存の下線とが繋がっている状態も、新しい下線と既存の下線とが重複している状態に含まれるものとする。
新しい下線の開始位置X座標がステップS105で取得した既存の下線の終了位置X座標よりも大きくなく、又は、新しい下線の終了位置X座標がステップS105で取得した既存の下線の開始位置X座標よりも小さくなければ、下線配置処理部73はステップS107に進み、新しい下線のY座標に移動幅を加算した加算値がステップS103で計算したY座標上限よりも小さいか否かを判定する。なお、移動幅は下線同士が視覚的に区別できる大きさ(例えば下線の幅)を予め設定しておく。
新しい下線のY座標に移動幅を加算した加算値がステップS103で計算したY座標上限よりも小さければ、下線配置処理部73はステップS108に進み、加算値を新しい下線のY座標とした後、ステップS104に戻る。
なお、ステップS104において、既存の下線のY座標と新しい下線のY座標とが同じでなければ、新しい下線と既存の下線とが重なっていないため、下線配置処理部73はステップS109に進み、下線開始X座標及び下線開始Y座標から下線の長さのDIV要素を配置する。
ステップS106において、新しい下線の開始位置X座標がステップS105で取得した既存の下線の終了位置X座標よりも大きく、又は、新しい下線の終了位置X座標がステップS105で取得した既存の下線の開始位置X座標よりも小さければ、新しい下線と既存の下線とが重なっていないため、下線配置処理部73はステップS109に進み、下線開始X座標及び下線開始Y座標から下線の長さのDIV要素を配置する。
また、ステップS107において、新しい下線のY座標に移動幅を加算した加算値がステップS103で計算したY座標上限よりも小さくなければ、下線配置処理部73は加算値を新しい下線のY座標としない。下線配置処理部73は加算値がY座標上限を超えているため、行間の幅に収まる範囲内で新しい下線を既存の下線と重ならないように、ずらすことができないと判断する。
ステップS107からステップS109に進んだ場合、下線配置処理部73は新しい下線と既存の下線とが重なるのを許容しつつ、下線開始X座標及び下線開始Y座標から下線の長さのDIV要素を配置する。
ステップS26の同一ブロック内改行処理の詳細は図19に示すようになる。図19は同一ブロック内改行処理の手順を表した一例のフローチャートである。なお、ここでは位置情報管理テーブル31が図16、Webページを記述したHTMLが図1、ブラウザに表示されるWebページが図20であるときの処理を一例として説明する。
図20は、該当部分に下線が引かれたWebページの一例のイメージ図である。図20ではブラウザ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座標との差を下線の長さとして算出する。例えば図20の例ではWebページ上の文字列「朝から」に引く下線の長さを算出する。
ステップS47に進み、下線配置処理部73は図15に示す単一行処理のステップS34以降の処理を実行する。例えば図20の例では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座標との差を下線の長さとして算出する。図20の例ではWebページ上の文字列「雨」に引く下線の長さを算出する。ステップS47に進み、下線配置処理部73は図15に示す単一行処理のステップS34以降の処理を実行する。例えば図20の例ではWebページ上の文字列「雨」に下線を引く。
ステップS48に進み、下線配置処理部73はブロック位置X座標を新たな下線開始X座標とする。ステップS49に進み、下線配置処理部73は下線開始Y座標にフォントサイズを加算して新たな下線開始Y座標を算出する。
ステップS43に戻り、下線配置処理部73は下線開始Y座標が終了位置Y座標より大きいかを判定する。ここでは、下線開始Y座標が終了位置Y座標より大きいため、全ての下線を配置したと判定し、同一ブロック内改行処理を終了する。
下線は図19のフローチャートの処理により、下線付与位置情報の論理的開始位置である文字「朝」から論理的終了位置である文字「雨」まで、言い換えればWebページ上の改行された文字列「朝から雨」に引かれることになる。
ステップS27の複数ブロック改行処理の詳細は図21に示すようになる。図21は複数ブロック改行処理の手順を表した一例のフローチャートである。なお、ここでは位置情報管理テーブル31が図22、Webページを記述したHTMLが図23、ブラウザに表示されるWebページが図24であるときの処理を一例として説明する。
図22は位置情報管理テーブルの一例の構成図である。図22の位置情報管理テーブル31はスタートXpath及びエンドXpathが異なる例を表している。図23はWebページを記述したHTMLの一例の構成図である。図24は該当部分に下線が引かれたWebページの一例のイメージ図である。図24では、ブラウザにより表示されるWebページ上の文字列「今日は朝から雨だった」が文字「か」の前で改行されている。
ステップS51に進み、下線配置処理部73は深さ優先探索で論理的開始位置から論理的終了位置までノードを保存する。例えばHTMLが図25のツリー構造の場合、下線配置処理部73は図26に示すような順番でノードを保存する。
ステップ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は図19の同一ブロック内改行処理を実行したあと、ステップS52に戻る。ステップS52において保存されたノードがなければ、下線配置処理部73は複数ブロック改行処理を終了する。
図21のフローチャートの処理は複数のブロックを跨る下線をブロック毎に分けることにより、同一ブロック内改行処理で下線の配置を実現するものである。下線は、図21のフローチャートの処理により、下線付与位置情報の論理的開始位置である文字「朝」から論理的終了位置である文字「雨」まで、言い換えればWebページ上の改行された文字列である「朝から雨」に引かれることになる。
(効果)
以上、本実施例のシステムによればブラウザ11にコンテンツ21がロードされた時点又はユーザからブラウザサイズを変更するリサイズの要求を受けた時点で、Webページ上の論理的位置に下線を動的に配置することで、Webページ上の目的の位置に下線を再現できる。
また、本実施例のシステムによれば、Webページ上の論理的位置に下線を動的に配置するとき、既存の下線があるか否かを判定し、新しい下線と既存の下線とが重なる場合や繋がる場合に、新しい下線を行間に収まる範囲内で、ずらして配置することにより、Webページ上の目的の位置に既存の下線と視覚的に区別可能な状態で新しい下線を配置することができる。
例えば図4に示すように、Webページ上の該当部分である文字列「今日は朝から」に下線が一本引かれると共に、文字列「朝から雨」に下線が一本引かれたとしても、本実施例のシステムでは、図27(A)に示すように、視覚的に区別できる位置に下線をずらして表示できる。
また、図5のWebページがブラウザに表示されているとき、ブラウザサイズの変更があり、二列であった文字列「今日は」と文字列「朝から雨」とが一列の文字列「今日は朝から雨」になったとしても、本実施例のシステムでは、図27(B)に示すように、視覚的に区別できる位置に下線をずらして表示できる。
即ち、本実施例によれば、Webページ上の目的の位置に他の下線と視覚的に区別可能な状態で下線を配置することができる。
本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
コンピュータを、
ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得手段と、
前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる新しい修飾線の論理的位置に基づき、前記デジタルコンテンツ上の前記新しい修飾線の論理的位置に前記新しい修飾線のオブジェクトを既存の修飾線のオブジェクトから、ずらして配置する修飾線配置処理手段と
して動作させる為の修飾線配置プログラム。
(付記2)
前記修飾線配置処理手段は、前記デジタルコンテンツ上の前記新しい修飾線の論理的位置で指示されるブロック内に前記既存の修飾線のオブジェクトがあれば、前記新しい修飾線のオブジェクトを前記既存の修飾線のオブジェクトと重複又は繋がらないように、前記既存の修飾線のオブジェクトとY座標をずらして配置する付記1記載の修飾線配置プログラム。
(付記3)
前記修飾線配置処理手段は、前記修飾線付与位置情報に含まれる行間の幅の範囲内で、前記新しい修飾線のオブジェクトを、前記既存の修飾線のオブジェクトとY座標をずらして配置する付記2記載の修飾線配置プログラム。
(付記4)
前記コンピュータを、更に、
前記ブラウザからの前記デジタルコンテンツのロード完了又は前記ブラウザサイズを変更するリサイズの要求をイベント通知として受信すると、修飾線配置処理の開始を通知するイベント受信手段として機能させる付記1乃至3何れか一項記載の修飾線配置プログラム。
(付記5)
前記修飾線配置プログラムは、前記ブラウザに機能を追加するプログラム又は前記デジタルコンテンツの一部を構成するスクリプトである付記1乃至4何れか一項記載の修飾線配置プログラム。
(付記6)
ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得手段と、
前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる新しい修飾線の論理的位置に基づき、前記デジタルコンテンツ上の前記新しい修飾線の論理的位置に前記新しい修飾線のオブジェクトを既存の修飾線のオブジェクトから、ずらして配置する修飾線配置処理手段と
を有する修飾線配置装置。
(付記7)
コンピュータによって実行される修飾線配置方法であって、
前記コンピュータが、
ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得ステップと、
前記修飾線付与位置情報取得ステップで取得した修飾線付与位置情報に含まれる新しい修飾線の論理的位置に基づき、前記デジタルコンテンツ上の前記新しい修飾線の論理的位置に前記新しい修飾線のオブジェクトを既存の修飾線のオブジェクトから、ずらして配置する修飾線配置処理ステップと
を実行する修飾線配置方法。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、実施例において処理の主体がプログラムのように記載されている箇所は、演算処理装置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. 前記修飾線配置処理手段は、前記デジタルコンテンツ上の前記新しい修飾線の論理的位置で指示されるブロック内に前記既存の修飾線のオブジェクトがあれば、前記新しい修飾線のオブジェクトを前記既存の修飾線のオブジェクトと重複又は繋がらないように、前記既存の修飾線のオブジェクトとY座標をずらして配置する請求項1記載の修飾線配置プログラム。
  3. ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得手段と、
    前記修飾線付与位置情報取得手段が取得した修飾線付与位置情報に含まれる新しい修飾線の論理的位置に基づき、前記デジタルコンテンツ上の前記新しい修飾線の論理的位置に前記新しい修飾線のオブジェクトを既存の修飾線のオブジェクトから、ずらして配置する修飾線配置処理手段と
    を有する修飾線配置装置。
  4. コンピュータによって実行される修飾線配置方法であって、
    前記コンピュータが、
    ブラウザに表示するデジタルコンテンツの識別情報を含むイベント通知を前記ブラウザから受信し、前記デジタルコンテンツの識別情報と関連付けて修飾線付与位置情報を保持する位置情報管理手段から、修飾線付与位置情報を取得する修飾線付与位置情報取得ステップと、
    前記修飾線付与位置情報取得ステップで取得した修飾線付与位置情報に含まれる新しい修飾線の論理的位置に基づき、前記デジタルコンテンツ上の前記新しい修飾線の論理的位置に前記新しい修飾線のオブジェクトを既存の修飾線のオブジェクトから、ずらして配置する修飾線配置処理ステップと
    を実行する修飾線配置方法。
JP2009145441A 2009-06-18 2009-06-18 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法 Pending JP2011003010A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2011003010A true JP2011003010A (ja) 2011-01-06

Family

ID=43560918

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2011003010A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011096204A (ja) * 2009-11-02 2011-05-12 Sharp Corp 装飾表示装置、装飾表示方法、装飾表示プログラム、及びコンピュータ読み取り可能な記録媒体

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244199A (ja) * 2005-03-04 2006-09-14 Seiko Epson Corp 電子ファイル書き込みシステム、プログラム、電子ファイルへの書き込み情報反映方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244199A (ja) * 2005-03-04 2006-09-14 Seiko Epson Corp 電子ファイル書き込みシステム、プログラム、電子ファイルへの書き込み情報反映方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011096204A (ja) * 2009-11-02 2011-05-12 Sharp Corp 装飾表示装置、装飾表示方法、装飾表示プログラム、及びコンピュータ読み取り可能な記録媒体

Similar Documents

Publication Publication Date Title
US9436419B2 (en) Selectively printing portions of a web page based on user selection
JP4344693B2 (ja) ブラウザの文書編集のためのシステムおよびその方法
JP4144806B2 (ja) 情報編集装置、情報編集システム、情報編集方法、およびプログラム
US9639517B2 (en) Web page authoring
JP2019083063A (ja) モバイル向けのおよび他の表示環境をサポートするインタラクティブなサイトおよびアプリケーションの自動変換のためのシステムおよび方法
JP4351405B2 (ja) トランスコーディングシステム及びアノテーション管理装置
US20100299591A1 (en) Markup language document conversion system, device, method, and program
US20130117656A1 (en) Conversion of web template designs
JP2004030582A (ja) 構造化文書編集装置、構造化文書編集方法及びプログラム
JP2011523133A (ja) レイアウトファイルの構造処理方法及び装置
JP2001243222A (ja) 構造化文書の表示規則の生成方法、システムおよびプログラムが記録された媒体ならびに構造化文書およびその文書型定義の変更方法、システムおよびプログラムが記録された媒体
WO2008070419A1 (en) Editing web pages via a web browser
JP2005056028A (ja) ナビゲーション生成装置、情報管理装置、ナビゲーション生成方法、サイト構造管理方法、プログラム、およびサイト構造データ
JP2011145747A (ja) スタイル要素を用いた画面表示の選択した表示領域をコピーアンドペーストする方法、システム及びプログラム
US20100218083A1 (en) Document processing apparatus and document processing method
JPWO2006137563A1 (ja) データ処理装置及びデータ処理方法
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
JP5063877B2 (ja) 情報処理装置およびコンピュータプログラム
JP2007510194A (ja) ブラウザを使用してsvgタイプのデジタルグラフィック文書を編集する方法及び装置
US10275127B2 (en) Client apparatus, information processing system, information processing method, and non-transitory computer readable medium
JP2011003010A (ja) 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法
JPWO2006051974A1 (ja) 文書処理装置および文書処理方法
JP5326851B2 (ja) 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法
TW201337605A (zh) 多用途網路編輯頁面自動轉檔技術
JP4756907B2 (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

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130625