(57)【要約】【課題】  表示能力の低い表示装置で位置関係が重要な表などを表示させた場合であっても，見やすく，しかも誤解を生じさせない表示を行うことの可能なソース変換装置を提供する。【解決手段】  与えられた入力ソースを対象となる出力装置で出力可能にするよう変換するソース変換装置１００において，ブロック変換部１０３は，位置関係再現サイズ計算部１０６の計算結果が，位置関係再現条件記憶部１０４に記憶された条件を満たす場合には位置関係再現変換部１０７を用いてブロックのソース変換を行い，位置関係再現条件記憶部に記憶された条件を満たさない場合には位置関係非再現変換部１０５を用いてブロックのソース変換を行う。セルを含むブロックについては，セル内のブロックのいずれかが位置関係非再現変換部を用いて変換を行った場合に，位置関係非再現変換部を用いて変換を行う。【選択図】  図１
2006146675.tif 000002
【特許請求の範囲】
【請求項１】
与えられた入力ソースを対象となる出力装置で出力可能にするよう変換するソース変換装置であって，
入力ソースに含まれる位置関係を有するブロック各々を，対象となる出力装置で位置関係を再現するよう出力した際に必要となる出力サイズを計算する位置関係再現サイズ計算部と，
前記ブロックを対象となる出力装置で出力する際に前記ブロックの位置関係を再現するようソースを変換する位置関係再現変換部と，
前記ブロックを対象となる出力装置で出力する際に前記ブロックの位置関係は再現しないようソースを変換する位置関係非再現変換部と，
前記ブロックを位置関係を再現するようソース変換を行う条件を記憶する位置関係再現条件記憶部と，
前記位置関係再現サイズ計算部の計算結果が，前記位置関係再現条件記憶部に記憶された条件を満たす場合には前記位置関係再現変換部を用いて前記ブロックのソース変換を行い，前記位置関係再現条件記憶部に記憶された条件を満たさない場合には前記位置関係非再現変換部を用いて前記ブロックのソース変換を行うブロック変換部と，
を有することを特徴とする，ソース変換装置。
【請求項２】
前記ブロック変換部は，前記入力ソースに含まれるブロックを構成するセル内にさらにブロックが含まれている場合において，
前記セル内のブロックについては各々独立にソース変換を行うとともに，
前記セルを含むブロックについては，前記セル内のブロックのいずれかが前記位置関係非再現変換部を用いて変換を行った場合に，前記位置関係非再現変換部を用いて変換を行い，前記セル内のブロックのすべてが前記位置関係再現変換部を用いて変換を行った場合に，前記位置関係再現変換部を用いて変換を行うことを特徴とする，請求項１に記載のソース変換装置。
【請求項３】
前記位置関係再現サイズ計算部は，少なくとも前記ブロック全体の横幅を計算し，前記位置関係再現条件記憶部は，少なくとも前記ブロック全体の横幅を制限値として持つことを特徴とする，請求項１または２に記載のソース変換装置。
【請求項４】
前記位置関係再現サイズ計算部は，少なくとも前記ブロック全体の縦幅を計算し，前記位置関係再現条件記憶部は，少なくとも前記ブロック全体の縦幅を制限値として持つことを特徴とする，請求項１〜３のいずれかに記載のソース変換装置。
【請求項５】
前記位置関係再現サイズ計算部は，少なくとも前記ブロック全体の横幅と縦幅の積を計算し，前記位置関係再現条件記憶部は，少なくとも前記ブロック全体の横幅と縦幅の積を制限値として持つことを特徴とする，請求項１〜４のいずれかに記載のソース変換装置。
【請求項６】
前記位置関係再現サイズ計算部は，少なくとも前記ブロック全体の横幅と縦幅をパラメータとする評価関数を計算し，前記位置関係再現条件記憶部は，少なくとも前記評価関数の計算結果を制限値として持つことを特徴とする，請求項１〜５のいずれかに記載のソース変換装置。
【請求項７】
前記位置関係再現サイズ計算部は，少なくとも前記ブロックを構成する個々のセルの横幅を計算し，前記位置関係再現条件記憶部は，少なくとも１セルの横幅を制限値として持つことを特徴とする，請求項１〜６のいずれかに記載のソース変換装置。
【請求項８】
前記位置関係再現サイズ計算部は，少なくとも前記ブロックを構成する個々のセルの縦幅を計算し，前記位置関係再現条件記憶部は，少なくとも１セルの縦幅を制限値として持つことを特徴とする，請求項１〜７のいずれかに記載のソース変換装置。
【請求項９】
前記位置関係再現サイズ計算部は，少なくとも前記ブロックを構成する個々のセルの縦幅と横幅の積を計算し，前記位置関係再現条件記憶部は，少なくとも１セルの縦幅と横幅の積を制限値として持つことを特徴とする，請求項１〜８のいずれかに記載のソース変換装置。
【請求項１０】
前記位置関係再現サイズ計算部は，少なくとも前記ブロックを構成する個々のセルの縦幅と横幅をパラメータとする評価関数を計算し，前記位置関係再現条件記憶部には，少なくとも前記評価関数の計算結果を制限値として持つことを特徴とする，請求項１〜９のいずれかに記載のソース変換装置。
【請求項１１】
前記位置関係再現サイズ計算部は，少なくとも前記ブロック全体の横幅と縦幅，及び，前記ブロックを構成する個々のセルの縦幅と横幅の，少なくとも１つ以上をパラメータとする評価関数を計算し，前記位置関係再現条件記憶部は，少なくとも前記評価関数の計算結果を制限値として持つことを特徴とする，請求項１〜１０のいずれかに記載のソース変換装置。
【請求項１２】
コンピュータを，請求項１〜１１のいずれかに記載のソース変換装置として機能させるための，コンピュータプログラム。
【請求項１３】
請求項１２に記載のコンピュータプログラムを記録した，コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は位置関係情報を含む入力ソースを，位置関係情報を忠実に表現することができない出力装置に対し，出力を可能にするべくソース変換を行う装置に関するものであり，具体的には，コンピュータ向けに作成されたＨＴＭＬソースを，携帯端末で閲覧する際等で用いられるソース変換装置およびその関連技術に関する。
【背景技術】
【０００２】
主にパーソナルコンピュータでの閲覧を対象に作成されたＨＴＭＬソースは，携帯端末のように表示機能の劣る機器ではそのままでは表示できないことが多い。携帯端末用のソースを別途用意することなく，携帯端末でＨＴＭＬソースを表示可能にするためには，元のＨＴＭＬソースを変換する必要がある（例えば，特許文献１参照。）。テキスト以外のデータ，例えば画像であれば，携帯端末の能力に合わせて解像度や色数を下げて表示することが考えられる。さらには，携帯端末で表示可能なフォーマットに変換（例えばＰＮＧからＧＩＦに変換）することや，画像の代わりに代替文字（ＨＴＭＬではＡＬＴ属性として指定される）やファイル名で置換することも考えられる。
【０００３】
一方，テキストに関しては，それぞれの位置関係（例えば「表」では，どの項目の欄にあるか）の指定（ＨＴＭＬでは＜ｔａｂｌｅ＞，＜ｔｒ＞，＜ｔｄ＞などのタグを用いて指定される）や，文字飾りの指定（ＨＴＭＬでは＜ｓｔｒｏｎｇ＞などのタグを用いて指定される）などの情報を全て無視する方法が考えられる。さらには，携帯端末の能力に合わせて，例えば＜ｓｔｒｏｎｇ＞と書かれたタグを＜ｂ＞と置換するなど，それぞれのタグを，タグ種別毎に別のタグや空白に変換する方法が考えられる。
【０００４】
【特許文献１】特開平１１−２５０００９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら，上記従来技術では，位置関係を持つテキストを含むＨＴＭＬソースの場合，最低限の表示は可能なものの，非常に見づらく，場合によっては内容を正確に伝えられなかったり，誤解を生じたりする可能性がある。以下に，このような具体例について説明する。
【０００６】
図６は，「表」の一例として，ソフトボールのスコアボードを示す説明図である。この表では，個々の数字がどの欄にあるか（例えば，合計点は「計」の下にくる）という位置関係が重要である。この表は，ＨＴＭＬソースでは，図７に示すように＜ｔａｂｌｅ＞，＜ｔｒ＞，＜ｔｄ＞といった位置関係を示すタグを用いて表現される。
【０００７】
本来，テキスト端末であっても，十分な表示幅があれば，ＨＴＭＬを忠実に解釈して，空白や改行を適宜挿入しつつテキストに変換（以下「位置関係再現変換」という。）することで，表の位置関係を忠実に再現表示できることも多い。これはすでに高度なテキストブラウザなどで実現されている。図８は，ＨＴＭＬソースを位置関係再現変換し，テキスト端末に出力させたものである。
【０００８】
ところが「表」を表現するための＜ｔａｂｌｅ＞などのタグは，純粋に「表」として使用されるだけでなく，図９に示すように，ページ全体のレイアウト用にも使用されているのが現状である。これに対して位置関係再現変換を行うと，その出力は図１０のようになるが，これは非常に大きな表示幅を要求することになる。これを，その表示幅を持たない携帯テキスト端末で表示すると位置関係が崩れてしまい，図１１に示すように非常に見づらいものとなる。
【０００９】
一方，特許文献１に提案されているような，携帯端末の能力に合わせてタグを一意に別のタグに置換するなど，位置関係は再現しない変換（以下「位置関係非再現変換」という。）では，携帯端末の幅表示能力は高くないので，携帯端末の表示可能幅を超過する表が存在しうることを考えると，表関連のタグは，位置関係を無視するような変換が行われることとなる。しかし位置関係を失った表は，注意深く見なければ，内容を正確に伝えられなかったり，誤解を生じたりする可能性がある。例えば，図１２に示した例では，本来「計」，「Ｈ」，「Ｅ」の下に位置すべき数字が左方にずれて表示されており，あたかもＡチームが勝っているような，誤解を生じる表示になってしまう。
【００１０】
本発明は，上記問題点に鑑みてなされたものであり，本発明の目的は，表示能力の低い表示装置で位置関係が重要な表などを表示させた場合であっても，見やすく，しかも誤解を生じさせない表示を行うことの可能な，新規かつ改良されたソース変換装置およびその関連技術を提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するため，本発明の第１の観点によれば，与えられた入力ソースを対象となる出力装置で出力可能にするよう変換するソース変換装置が提供される。本発明のソース変換装置（１００）は，入力ソースに含まれる位置関係を有するブロック各々を，対象となる出力装置で位置関係を再現するよう出力した際に必要となる出力サイズを計算する位置関係再現サイズ計算部（１０６）と；ブロックを対象となる出力装置で出力する際にブロックの位置関係を再現するようソースを変換する位置関係再現変換部（１０７）と；ブロックを対象となる出力装置で出力する際にブロックの位置関係は再現しないようソースを変換する位置関係非再現変換部（１０５）と；ブロックを位置関係を再現するようソース変換を行う条件を記憶する位置関係再現条件記憶部（１０４）と；位置関係再現サイズ計算部の計算結果が，位置関係再現条件記憶部に記憶された条件を満たす場合には位置関係再現変換部を用いてブロックのソース変換を行い，位置関係再現条件記憶部に記憶された条件を満たさない場合には位置関係非再現変換部を用いてブロックのソース変換を行うブロック変換部（１０３）と；を有することを特徴とする（請求項１）。
【００１２】
かかるソース変換装置によれば，予め，ブロック各々について，位置関係を再現するよう出力した際に必要となる出力サイズを計算しておき，その出力サイズに合わせて適切なソース変換を行うことが可能である。すなわち，（ａ）位置関係を再現するようソース変換を行う条件を満たす場合には，ブロックを位置関係を再現するようソース変換を行い，（ｂ）位置関係を再現するようソース変換を行う条件を満たさない場合には，ブロックの位置関係は再現しないようソース変換を行うことが可能である。このようにして，従来と比較して，表示能力の低い表示装置で位置関係が重要な表などを表示させた場合であっても，見やすく，しかも誤解を生じさせない表示を行うことが可能である。
【００１３】
本発明の応用例として，ブロック変換部（１０３）は，入力ソースに含まれるブロックを構成するセル内にさらにブロックが含まれている場合においては，以下のようにブロック変換処理を行うことができる。まず，セル内のブロックについては各々独立にソース変換を行う。そして，セルを含むブロックについては，（ａ）セル内のブロックのいずれかが位置関係非再現変換部を用いて変換を行った場合に，位置関係非再現変換部を用いて変換を行い，（ｂ）セル内のブロックのすべてが位置関係再現変換部を用いて変換を行った場合に，位置関係再現変換部を用いて変換を行うことが可能である（請求項２）。
【００１４】
あるブロックが位置関係再現変換できなくても，そのブロックに内包されている個々のブロックは位置関係再現変換可能となる場合がある。一方，内包されているブロックがすでに位置関係再現されていなければ，内包されているブロックを含むセルのサイズを特定できないため，そのセルの位置関係再現を行うことが難しい。このため，そのセルについては位置関係再現変換を行わないようにすることが好ましい。このようにして，入力ソースに含まれるブロックを構成するセル内にさらにブロックが含まれている場合においても，柔軟なソース変換処理を行うことが可能である。
【００１５】
上記において，位置関係再現条件記憶部（１０７）は，位置関係再現サイズ計算部（１０６）の計算結果に対して，以下のような制限値を持つようにしてもよい。
【００１６】
位置関係再現サイズ計算部（１０６）は，少なくともブロック全体の横幅を計算し，位置関係再現条件記憶部（１０７）は，少なくともブロック全体の横幅を制限値として持つようにしてもよい（請求項３）。
【００１７】
位置関係再現サイズ計算部（１０６）は，少なくともブロック全体の縦幅を計算し，位置関係再現条件記憶部（１０７）は，少なくともブロック全体の縦幅を制限値として持つようにしてもよい（請求項４）。
【００１８】
位置関係再現サイズ計算部（１０６）は，少なくともブロック全体の横幅と縦幅の積を計算し，位置関係再現条件記憶部（１０７）は，少なくともブロック全体の横幅と縦幅の積を制限値として持つようにしてもよい（請求項５）。
【００１９】
位置関係再現サイズ計算部（１０６）は，少なくともブロック全体の横幅と縦幅をパラメータとする評価関数を計算し，位置関係再現条件記憶部（１０７）は，少なくとも評価関数の計算結果を制限値として持つようにしてもよい（請求項６）。
【００２０】
位置関係再現サイズ計算部（１０６）は，少なくともブロックを構成する個々のセルの横幅を計算し，位置関係再現条件記憶部（１０７）は，少なくとも１セルの横幅を制限値として持つようにしてもよい（請求項７）。
【００２１】
位置関係再現サイズ計算部（１０６）は，少なくともブロックを構成する個々のセルの縦幅を計算し，位置関係再現条件記憶部（１０７）は，少なくとも１セルの縦幅を制限値として持つようにしてもよい（請求項８）。
【００２２】
位置関係再現サイズ計算部（１０６）は，少なくともブロックを構成する個々のセルの縦幅と横幅の積を計算し，位置関係再現条件記憶部（１０７）は，少なくとも１セルの縦幅と横幅の積を制限値として持つようにしてもよい（請求項９）。
【００２３】
位置関係再現サイズ計算部（１０６）は，少なくともブロックを構成する個々のセルの縦幅と横幅をパラメータとする評価関数を計算し，位置関係再現条件記憶部（１０７）には，少なくとも評価関数の計算結果を制限値として持つようにしてもよい（請求項１０）。
【００２４】
位置関係再現サイズ計算部（１０６）は，少なくともブロック全体の横幅と縦幅，及び，ブロックを構成する個々のセルの縦幅と横幅の，少なくとも１つ以上をパラメータとする評価関数を計算し，位置関係再現条件記憶部（１０７）は，少なくとも評価関数の計算結果を制限値として持つようにしてもよい（請求項１１）。
【００２５】
また，本発明の他の観点によれば，コンピュータを，上記ソース変換装置として機能させるためのコンピュータプログラム（請求項１２）と，そのコンピュータプログラムを記録した，コンピュータにより読み取り可能な記録媒体（請求項１３）が提供される。ここで，コンピュータプログラムはいかなるプログラム言語により記述されていてもよい。また，記録媒体としては，例えば，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，フレキシブルディスクなど，プログラムを記録可能な記録媒体として現在一般に用いられている記録媒体，あるいは将来用いられるいかなる記録媒体をも採用することができる。
【００２６】
なお上記において，構成要素に付随して括弧書きで記した参照符号は，理解を容易にするため，後述の実施形態および図面における対応する構成要素を一例として記したに過ぎず，本発明がこれに限定されるものではない。
【発明の効果】
【００２７】
以上のように，本発明によれば，予め，ブロック各々について，位置関係を再現するよう出力した際に必要となる出力サイズを計算しておき，その出力サイズに合わせて適切なソース変換を行うことが可能である。このようにして，表示能力の低い表示装置で位置関係が重要な表などを表示させた場合であっても，見やすく，しかも誤解を生じさせない表示を行うことが可能である。
【００２８】
また，入力ソースに含まれるブロックを構成するセル内にさらにブロックが含まれている場合においても，柔軟なソース変換処理を行うことが可能である。
【発明を実施するための最良の形態】
【００２９】
以下に添付図面を参照しながら，本発明の好適な実施形態について詳細に説明する。なお，本明細書および図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００３０】
本実施形態では，一例として，位置関係をもつテキストである「表」を含むＨＴＭＬソースを処理対象とし，これを，携帯テキスト端末に表示する場合について説明する。ただし本発明はこれに限定されるものではない。すなわち，本発明の処理対象は「表」を含むＨＴＭＬソースに限定されるものではなく，出力対象も携帯テキスト端末に限定されるものではない。
【００３１】
本実施形態の説明では，１つの「表」を「ブロック」と呼ぶ。これはＨＴＭＬでは＜ｔａｂｌｅ＞と＜／ｔａｂｌｅ＞で囲まれた部分である。また，「表」を構成する１つ１つの要素を「セル」と呼ぶ。これはＨＴＭＬでは＜ｔｄ＞と＜／ｔｄ＞で囲まれた部分である。ここで「表」は，「純粋な表」として使用される他に，レイアウト用にも流用されているため，「セル」の中に「表」が存在することもある。また，ＨＴＭＬソースを解析する単位に分割したものを「トークン」と呼ぶ。トークンの１つ１つは，ＨＴＭＬのタグか，タグ間に挟まれたテキストである。
【００３２】
図１に，本実施形態にかかるソース変換装置の構成を示す。
ソース変換装置１００は，図１に示したように，制御部１０１と，非ブロック変換部１０２と，ブロック変換部１０３と，位置関係再現条件記憶部１０４と，位置関係非再現変換部１０５と，位置関係再現サイズ計算部１０６と，位置関係再現変換部１０７を備えて構成されている。以下，各構成要素について詳細に説明する。
【００３３】
（制御部１０１）
制御部１０１は，非ブロック変換部１０２とブロック変換部１０３の制御を行う機能部である。制御部１０１は，ＨＴＭＬソースをトークンに分解しながら取得し，取得したトークンがブロックの先頭でなければ非ブロック変換部１０２で，ブロックの先頭であればブロック変換部１０３で，ＨＴＭＬソースからテキストへの変換を行うよう制御する。
【００３４】
（非ブロック変換部１０２）
非ブロック変換部１０２は，ＨＴＭＬソースのブロック範囲外の部分について変換を行う機能部である。
【００３５】
（ブロック変換部１０３）
ブロック変換部１０３は，ＨＴＭＬソースのブロック範囲内の部分について変換を行う機能部である。ブロック変換部１０３は，位置関係再現サイズ計算部１０６で得られる計算結果を，位置関係再現条件記憶部１０４に記憶された位置関係再現条件と比較し，その比較結果に応じて，位置関係非再現変換部１０５と位置関係再現変換部１０７を使い分けてブロック範囲内の変換を行う。
【００３６】
（位置関係再現条件記憶部１０４）
位置関係再現条件記憶部１０４は，出力対象となる装置の位置関係再現変換を行うにあたっての，制限情報を記憶する機能部である。位置関係再現条件記憶部１０４で記憶される再現条件は，位置関係再現変換を行う上限のサイズである。このサイズの単位は，出力対象となる端末が固定長フォントのテキストのみを表示するものであれば文字数とすればよく，一方，文字フォントに可変長のものが使用できる端末を対象とする場合には，ピクセル数で記憶すればよい。
【００３７】
再現条件の具体例としては，例えば，ブロック全体の横幅，縦幅，ブロックを構成する個々のセルの横幅，縦幅，さらにはブロック全体，またはブロックを構成する個々のセルの面積（＝横幅×縦幅），または，少なくとも横幅と縦幅をパラメータとする評価関数で求められる値のいずれか１つ以上を含むものとすることができる。
【００３８】
また，再現条件は，ソース変換装置１００を複数の出力装置で共有する場合には個々の携帯テキスト端末または携帯テキスト端末種別毎に予め設定されていてもよいし，携帯テキスト端末と接続される毎に，任意のプロトコルで毎回携帯テキスト端末から設定するようにしてもよい。
【００３９】
さらにまた，再現条件は，携帯テキスト端末の表示能力にかかわらず，別途指定してもよい。その理由の１つは，一般にレイアウト用に流用された「表」は内部に文章を含むことが多く，内部に文章を含んだセルのサイズは，本来の目的で使用される「表」に比べ，大きい傾向があるので，再現条件を別途指定することにより，携帯テキスト端末の表示能力的には位置関係再現可能であっても，レイアウト用に流用された「表」の位置関係再現を抑止し，本来の「表」のみを位置関係再現できる可能性を高められるためである。
【００４０】
（位置関係非再現変換部１０５）
位置関係非再現変換部１０５は，位置関係非再現変換を行う機能部である。位置関係非再現変換部１０５は，ＨＴＭＬソースのタグを，位置関係に関するタグは無視し，それ以外のタグについては，無視または一意にその他のタグに置換するなどして変換する。位置関係非再現変換では，位置関係に関するタグは無視されるので，「表」内の各セルの位置関係に関する情報は失われる。
【００４１】
（位置関係再現サイズ計算部１０６）
位置関係再現サイズ計算部１０６は，位置関係再現変換した場合に要する表示サイズの計算を行う機能部である。このような表示サイズの計算を行うことにより，例えば，ＨＴＭＬソースに含まれる位置関係情報を元に，ブロック内のテキスト間に空白などを適宜挿入することで，その位置関係を保持したまま出力することが可能である。ここで求めるサイズの単位は，位置関係再現条件記憶部１０４で記憶されている値と同じ単位である必要がある。
【００４２】
（位置関係再現変換部１０７）
位置関係再現変換部１０７は，位置関係再現変換を行う機能部である。位置関係再現変換部１０７は，ＨＴＭＬソースに含まれる位置関係情報を元に，ブロック内のテキスト間に空白などを適宜挿入することで，その位置関係を保持しつつ変換する。
【００４３】
本実施形態にかかるソース変換装置１００は以上のように構成されている。
【００４４】
本実施形態にかかるソース変換装置１００の上記各構成要素は，ハードウェアとして実現することもでき，または，コンピュータを，上記ソース変換装置１００として機能させるためのコンピュータプログラムにより，ソフトウェア的に実現することも可能である。後者の場合，そのコンピュータプログラムは，コンピュータにより読み取り可能な記録媒体により市場に流通させることもでき，または，ネットワークを介したダウンロードによる方法で市場に流通させることもできる。
【００４５】
ここで，コンピュータプログラムはいかなるプログラム言語により記述されていてもよい。また，記録媒体としては，例えば，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，フレキシブルディスクなど，プログラムを記録可能な記録媒体として現在一般に用いられている記録媒体，あるいは将来用いられるいかなる記録媒体をも採用することができる。
【００４６】
次いで，図２〜３の流れ図を参照しながら，本実施形態の動作について説明する。
【００４７】
ソース変換装置１００は，与えられたＨＴＭＬソースに対し，制御部１０１で処理を行う。まず，ＨＴＭＬソースからトークンを取得する（ステップＳ１０２），制御部１０１はトークンが取得できたか，すなわち終了であるか否かを判断する（ステップＳ１０３）。
【００４８】
ステップＳ１０３において，トークンが取得できた場合，すなわち終了でなければ，そのトークンがブロックの先頭，すなわち＜ｔａｂｌｅ＞タグであるか判断する（ステップＳ１０５）。ブロックの先頭でなければ，非ブロック変換を行う（ステップＳ１０６）。非ブロック変換部１０２で行われる非ブロック変換（ステップＳ１０６）は，入力ソースのブロック以外の部分について，タグあるいはタグで囲まれた部分を単に無視し，または別のタグに置換するなど，すでに広く実装されている方法を用いて，テキストに変換する。
【００４９】
一方，ステップＳ１０５において，ブロックの先頭，すなわち＜ｔａｂｌｅ＞タグを取得した場合には，ブロック変換処理（ステップＳ１０７）を呼び出す。ブロック変換処理はブロック変換部１０３で行われるが，この処理が本実施形態と従来技術との差分であるので，図３を用いてさらに後述する。
【００５０】
非ブロック変換処理（ステップＳ１０６）またはブロック変換処理（ステップＳ１０７）から復帰すると，制御部１０１は，再びトークン取得を行う（ステップＳ１０２）。この一連の処理はトークンが取得できなくなるまで繰り返される。そして，ステップＳ１０３においてトークンが取得できなかった場合，すなわちＨＴＭＬソースの最後まで処理を終えた場合に，処理は終了する。
【００５１】
＜ブロック変換処理（ステップＳ１０７）＞
次に，上述した，本実施形態に特徴的な動作である，ブロック変換部１０３で行われるブロック変換処理（ステップＳ１０７）について，図３を参照しながら説明する。このブロック変換処理（ステップＳ１０７）は，上述のように，ステップＳ１０５（図２）において，ブロックの始まりを意味する＜ｔａｂｌｅ＞タグがトークンとして取得されたときに開始される。
【００５２】
処理が開始されると，最初に位置関係再現フラグを生成し，位置関係再現フラグをＯＮで初期化する（ステップＳ２０２）。
【００５３】
次に，続くトークンを取得し（ステップＳ２０３），ブロックの終了，すなわち取得したトークンが＜／ｔａｂｌｅ＞であるかを判断する（ステップＳ２０４）。ブロックの終了でなければ，ブロック内処理（ステップＳ２０５）を呼び出す。この処理については図４を用いてさらに後述するが，ブロック内処理が位置関係再現フラグを変更可能にするよう呼び出す必要がある。これはすなわち，ブロック内処理で位置関係再現フラグが変更されることがあることを意味する。
【００５４】
一方，ステップＳ２０４において，取得したトークンがブロックの終了を示す場合，すなわち取得したトークンが＜／ｔａｂｌｅ＞であった場合，位置関係再現フラグを参照する（ステップＳ２０６）。位置関係再現フラグがＯＮであれば，まず位置関係再現サイズ計算部１０６で，現在処理しているブロックを位置関係再現変換した場合に表示に必要なサイズを計算する（ステップＳ２０７）。そして，位置関係再現条件内で出力可能であるかを判断する（ステップＳ２０８）。位置関係再現条件内で出力可能であれば，位置関係再現変換部１０７で位置関係再現変換を行う（ステップＳ２０９）。
【００５５】
ステップＳ２０６において位置関係再現フラグがＯＦＦであるか，または，ステップＳ２０６において位置関係再現フラグがＯＮであっても，ステップＳ２０８において計算したブロックのサイズが位置関係再現条件を越えてしまうのであれば，位置関係非再現変換部１０５で位置関係非再現変換を行う（ステップＳ２１０）。
【００５６】
位置関係非再現変換部１０５で行われる位置関係非再現変換（ステップＳ２１０）は，位置関係に関するタグは無視し，それ以外のタグについては，タグやタグで囲まれた部分を単純に無視し，または，従来技術のようなタグ毎の変換を行う。
【００５７】
そして，位置関係再現変換（ステップＳ２０９）あるいは位置関係非再現変換（ステップＳ２１０）のいずれを行った場合であっても，位置関係再現フラグを解放する（ステップＳ２１１）。さらに，このブロック変換処理の呼び元に，ブロックの変換結果を，位置関係再現変換あるいは位置関係非再現変換のいずれを行ったかが判断可能なデータとともにリターンする（ステップＳ２１２）。
【００５８】
＜ブロック内処理（ステップＳ２０５）＞
最後に，ブロック内処理（ステップＳ２０５）について，図４を参照しながら説明する。ブロック内処理（ステップＳ２０５）は，ブロック内変換部１０３で行われる処理の一部である。
【００５９】
処理が開始されると，まず，呼び元で読み込んだ最後のトークンが，タグかどうかを判断する（ステップＳ３０２）。そして，タグでなければ，ブロック内テキスト処理（ステップＳ３０３）を行う。ブロック内テキスト処理（ステップＳ３０３）は，具体的にはセル内のテキスト内容の保持である。そして，このブロック内処理を終了する。
【００６０】
一方，ステップＳ３０２においてトークンがタグであれば，それがさらにブロック先頭タグであるか，すなわち＜ｔａｂｌｅ＞タグであるか否かを判断する（ステップＳ３０４）。そして，ブロック先頭タグでなければ，位置関係再現フラグの値を判断して（ステップＳ３０６），位置関係再現フラグの値に応じて，ブロック内タグ情報処理（ステップＳ３０７，Ｓ３０８）を行う。
【００６１】
ブロック内タグ情報処理（ステップＳ３０７，Ｓ３０８）は，＜ｔｄ＞と＜／ｔｄ＞で囲まれた範囲をセルとして，ブロック内テキスト処理で保持したテキストと関連づける処置や，＜ｔｒ＞と＜／ｔｒ＞で囲まれた範囲を１行として，その中のセルと関連づけるなどの処理である。この時，位置関係再現フラグがＯＦＦの場合のブロック内タグ情報処理（ステップＳ３０７）は，表の位置関係に関する情報は保持しないが，位置関係再現フラグがＯＮの場合のブロック内タグ情報処理（ステップＳ３０８）は，表の位置関係に関する情報を保持するところが異なる。
【００６２】
さらに，位置関係再現フラグがＯＮの場合のブロック内タグ情報処理（ステップＳ３０８）のフローを通るときには，以下の処理を行う。まず，トークンが，セルの最後を示す＜／ｔｄ＞，または，１行の終わりを示す＜／ｔｒ＞であるかを判断する（ステップＳ３０９）。トークンが，セルの最後を示す＜／ｔｄ＞，または，１行の終わりを示す＜／ｔｒ＞である場合には，それぞれセルのサイズ及び１行のサイズを，位置関係再現サイズ計算部１０８で計算する（ステップＳ３１０）。
【００６３】
このとき，位置関係再現サイズ計算部１０８は，位置関係再現条件を参照し，そのセルのサイズまたは１行に配置されたセルの合計サイズが位置関係再現条件を越えていないかのチェックを行う（ステップＳ３１１）。セルのサイズまたは１行に配置されたセルの合計サイズが位置関係再現条件を越えてしまった場合には，位置関係再現フラグをＯＦＦにする（ステップＳ３１２）。
【００６４】
一方，ステップＳ３０４において，トークンがブロックの先頭タグ，すなわち＜ｔａｂｌｅ＞タグであった場合には，ブロック変換処理（ステップＳ３０５）を呼び出す。このブロック変換処理は，図３を参照しながら説明したブロック変換処理（ステップＳ１０７）と実質的に同様の処理である。すなわち，ブロック変換処理は再帰的に呼び出されることになる。そして，このブロック変換処理を呼び出した結果が，位置関係再現変換された結果であるか，すなわち位置関係非再現変換の結果であるかを判断する（ステップＳ３１３）。位置関係再現変換された結果でなければ，すなわち位置関係非再現変換の結果であれば（ステップＳ３１３），位置関係再現フラグをＯＦＦにする（ステップＳ３１４）。
【００６５】
位置関係再現フラグはブロック変換処理が起動される毎に生成されるので，再帰的に呼び出された場合，それぞれに位置関係再現フラグを持つことになる。このことはすなわち，内包されているブロックの変換は，呼び元のブロック，すなわち内包しているブロックの位置関係再現フラグには関係せず，内包しているブロックがすでに位置関係再現フラグＯＦＦとなっていても，内包されているブロックは，可能であれば位置関係再現変換を行うということである。
【００６６】
このことを具体的に図９を用いて説明すると，図９のソースでは，外側の＜ｔａｂｌｅ＞（００６行）は位置関係再現変換を行われなくても，その中のスコア−表を構成する内側の＜ｔａｂｌｅ＞（０１９行）は変換されるということである。これにより，あるブロックが位置関係再現変換できなくても，そのブロックに内包されている個々のブロックは位置関係再現変換可能となる場合がある。
【００６７】
一方，ブロックの中のセルに，さらにブロックを内包しているブロックは，その内包されているブロックのいずれかが位置関係再現変換されなければ，位置関係再現フラグをＯＦＦとし，このブロック自身も位置関係再現変換しない。これは，内包されているブロックがすでに位置関係再現されていなければ，内包されているブロックを含むセルのサイズを特定できないため，位置関係再現を行うことができないからである。
【００６８】
このように本実施形態によれば，ブロックを構成するセル内にさらにブロックが含まれている場合においても，その内包されているブロックが位置関係再現変換されるか否かを判断して，柔軟なソース変換処理を行うことが可能である。
【００６９】
（本実施形態の効果）
以上説明したように，本実施形態によれば，予め，ブロック各々について，位置関係を再現するよう出力した際に必要となる出力サイズを計算しておき，その出力サイズに合わせて適切なソース変換を行うことが可能である。図５は，本実施形態を適用して携帯テキスト端末で表示した結果を示す説明図である。このように，本実施形態によれば，従来技術による図１１や図１２と比較して，字崩れのない，見やすく誤解を生じないものとなる。
【００７０】
また，入力ソースに含まれるブロックを構成するセル内にさらにブロックが含まれている場合においても，柔軟なソース変換処理を行うことが可能である。
【００７１】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明はかかる例に限定されない。当業者であれば，特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【００７２】
例えば，本発明は出力を携帯テキスト端末に限定するものではなく，出力形式もテキストに限定するものではない。本発明は有限の出力サイズをもつ出力装置に対し，位置関係を有する表示物を含む入力ソースを出力可能な形式に変換する際に広く適用可能である。
【産業上の利用可能性】
【００７３】
本発明は位置関係情報を含む入力ソースを，位置関係情報を忠実に表現することができない出力装置に対し，出力を可能にするべくソース変換を行う装置に関するものであり，具体的には，コンピュータ向けに作成されたＨＴＭＬソースを，携帯端末で閲覧する際等で用いられるソース変換装置およびその関連技術として利用可能である。
【図面の簡単な説明】
【００７４】
【図１】ソース変換装置の構成を示す説明図である。
【図２】ソース変換装置の動作シーケンスを示す流れ図である。
【図３】ブロック変換処理（Ｓ１０７）を示す流れ図である。
【図４】ブロック内処理（Ｓ２０５）を示す流れ図である。
【図５】本発明の一実施形態によるＨＴＭＬソースの位置関係再現変換結果を示す説明図である。
【図６】スコアボードの説明図である。
【図７】図６のスコアボードのソースコードを説明図である。
【図８】図６のスコアボードを位置関係再現変換して表示した説明図である。
【図９】ページ全体の位置関係再現に＜ｔａｂｌｅ＞を流用したＨＴＭＬソースを示す説明図である。
【図１０】図９のＨＴＭＬソースの位置関係再現変換結果を示す説明図である。
【図１１】図９のＨＴＭＬソースの位置関係再現変換結果を携帯テキスト端末で表示した説明図である。
【図１２】図９のＨＴＭＬソースの位置関係非再現変換結果を携帯テキスト端末で表示した説明図である。
【符号の説明】
【００７５】
１００  ソース変換装置
１０１  制御部
１０２  非ブロック変換部
１０３  ブロック変換部
１０４  位置関係再現条件記憶部
１０５  位置関係非再現変換部
１０６  位置関係再現サイズ計算部
１０７  位置関係再現変換部
【図１】
2006146675.tif 000003
【図２】
2006146675.tif 000004
【図３】
2006146675.tif 000005
【図４】
2006146675.tif 000006
【図５】
2006146675.tif 000007
【図６】
2006146675.tif 000008
【図７】
2006146675.tif 000009
【図８】
2006146675.tif 000010
【図９】
2006146675.tif 000011
【図１０】
2006146675.tif 000012
【図１１】
2006146675.tif 000013
【図１２】
2006146675.tif 000014