(57)【特許請求の範囲】
【請求項１】
文章を縦書きまたは横書きで表示する表示部と、
上記表示部に表示される上記文章のうちの所定の文字のフォントとそのフォントのサイズに応じた１文字あたりの描画領域内において、上記所定の文字の文字画像に外接する矩形枠を上記描画領域の中心に中心が一致するように配置して基準位置とする基準位置決定部と、
上記基準位置決定部により決定された上記基準位置に基づいて上記描画領域内で回転または移動の少なくとも一方を行うことにより、上記文字画像を変換する文字画像変換部と、
上記表示部に表示される上記文章の全文字の上記文字画像であって、かつ、上記文字画像変換部により変換された上記文字画像を含むかまたは含んでいない上記全文字の上記文字画像を、上記基準位置決定部により決定された上記基準位置に基づいて、上記描画領域に配置する文字画像配置部と、
を備えて、
上記文章を横書き用フォントで縦書き表示するとき、または、上記文章を縦書き用フォントで横書き表示するとき、上記文字画像配置部により上記描画領域に配置された上記全文字の上記文字画像を上記表示部に表示するようにしたことを特徴とする文章表示装置。
【請求項２】
請求項１に記載の文章表示装置において、
上記基準位置決定部は、上記フォントに属する全文字の文字画像に対して上記基準位置を決定することを特徴とする文章表示装置。
【請求項３】
請求項１に記載の文章表示装置において、
上記基準位置決定部は、上記文章のうちの上記表示部に表示される行毎に、その行に含まれる全文字の文字画像に対して上記基準位置を決定することを特徴とする文章表示装置。
【請求項４】
請求項１から３までのいずれか１つに記載の文章表示装置において、
上記基準位置決定部は、上記フォントに属する全文字のうちの複数の文字に対応する各文字画像に対して夫々外接する複数の矩形枠の高さの平均および上記複数の矩形枠の幅の平均で表された矩形枠を、上記描画領域の中心に中心が一致するように配置して上記基準位置とすることを特徴とする文章表示装置。
【請求項５】
請求項１に記載の文章表示装置において、
上記基準位置決定部は、上記文章のうちの上記表示部に表示される行毎に、その行に含まれる全ての文字に対応する各文字画像に対して夫々外接する複数の矩形枠のうちの最も大きい矩形枠を、上記描画領域の中心に中心が一致するように配置して上記基準位置とすることを特徴とする文章表示装置。
【請求項６】
請求項１に記載の文章表示装置において、
上記基準位置決定部は、上記文章のうちの上記表示部に表示される文字毎に、その文字を挟む前後の文字の一方の文字画像に対して上記基準位置を決定することを特徴とする文章表示装置。
【請求項７】
請求項１から６までのいずれか１つに記載の文章表示装置において、
上記基準位置決定部により決定された上記基準位置を上記フォントとそのフォントのサイズに対応させて記憶する基準位置記憶部を備えたことを特徴とする文章表示装置。
【請求項８】
請求項７に記載の文章表示装置において、
上記基準位置決定部は、上記基準位置記憶部に上記基準位置が記憶された上記フォントと同一のフォントでかつ上記基準位置記憶部に上記基準位置が記憶されていない上記フォントの他のサイズについて、上記基準位置記憶部に上記基準位置が記憶された上記フォントのサイズにおける上記１文字あたりの描画領域と上記他のサイズにおける上記１文字あたりの描画領域との大きさの割合に基づいて、上記基準位置記憶部に記憶された上記基準位置を拡大または縮小して用いることを特徴とする文章表示装置。
【請求項９】
プログラムされたコンピュータが基準位置決定部と文字画像変換部と基準位置記憶部として機能する文章表示方法であって、
表示部に表示される文章のうちの所定の文字のフォントとそのフォントのサイズに応じた１文字あたりの描画領域内において、基準位置決定部により、上記所定の文字の文字画像に外接する矩形枠を上記描画領域の中心に中心が一致するように配置して基準位置とする基準位置決定ステップと、
上記基準位置決定部により決定された上記基準位置に基づいて文字画像変換部により上記描画領域内で回転または移動の少なくとも一方を行うことにより、上記文字画像を変換する文字画像変換ステップと、
上記表示部に表示される上記文章の全文字の上記文字画像であって、かつ、上記文字画像変換部により変換された上記文字画像を含むかまたは含んでいない上記全文字の上記文字画像を、上記基準位置決定部により決定された上記基準位置に基づいて、文字画像配置部により上記描画領域に配置する文字画像配置ステップと、
上記文章を横書き用フォントで縦書き表示するとき、または、上記文章を縦書き用フォントで横書き表示するとき、上記文字画像配置部により上記描画領域に配置された上記全文字の上記文字画像を用いて、上記文章を縦書きまたは横書きで上記表示部に表示する表示ステップと
を含むことを特徴とする文章表示方法。
【請求項１０】
請求項９に記載の文章表示方法の上記各ステップをコンピュータに実行させることを特徴とする文章表示プログラム。
【請求項１１】
請求項１０に記載の文章表示プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、文章表示装置、文章表示方法、文章表示プログラムおよびコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来の第１の文章表示装置としては、２バイト文字(日本語)である横書き用文字を単純に９０度回転させて印刷するものがある(例えば、特開２００２−２７３９４３号公報(特許文献１)参照)。しかしながら、上記第１の文章表示装置では、全角文字を回転せずに縦方向に並べるだけでは、“「”や“」”、“、”等の位置が不自然になる。
【０００３】
また、従来の第２の文章表示装置としては、文字コードに応じて縦書き時のシフト量等を記憶したテーブルを保持し、回転,移動をテーブルに記載された分だけ行うことによって、横書き用フォントを縦書きで利用するものがある(例えば、特開２００１−１３４２５７号公報(特許文献２)参照)。
【０００４】
上記第２の文章表示装置では、シフト量を規定した場合には、フォントの種別ごとにテーブルを保持する必要があると共に、フォントサイズ毎のテーブルを予め保持する必要があり、多種類のデザイン、多段階のフォントサイズを持つフォントに適用するのは、現実的ではない。現在では、ダウンロードによるフォント追加等も多くなり、予め作成しておくテーブルでのシフト処理は初期フォントについては美しい表示が可能であるが、追加されたフォントに適用する場合には、追加フォントに対するテーブルが必要となり、そのテーブルを新たに追加する処理が必要となる。
【０００５】
また、従来の第３の文章表示装置としては、画像から認識した横書き(縦書き)画面から縦書き(横書き)のレイアウトの表示を生成するものがある(例えば、特開２０１０−１２９０２３号公報(特許文献３)参照)。上記第３の文章表示装置では、文字(フォント)の回転は、条件に応じて処理を変更し、文字認識結果、画像文字の領域認識(文字領域の位置や割合)等の条件に応じて文字画像の回転やシフトを行う。また、上記画像の配置位置等の情報から、ルールに基づいて文字画像のグループ分けを行う。
【０００６】
しかしながら、上記第３の文章表示装置では、様々なデザインのフォントに対して、決められた分類ルールを適用することは難しく、フォント毎に詳細にルールを定める必要がある。上記第３の文章表示装置では、等幅フォントの扱いをしているが、現状では等幅フォントは少なく、文字幅が異なるプロポーショナルフォントの場合に意図した表示ができないと共に、半角全角入り混じったような文字について適切なレイアウトができないという問題がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２７３９４３号公報
【特許文献２】特開２００１−１３４２５７号公報
【特許文献３】特開２０１０−１２９０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで、この発明の課題は、横書き用フォント(または縦書き用フォント)を用いて、全体としてのバランスのよいレイアウトの縦書き表示(または横書き表示)ができる文章表示装置、文章表示方法、文章表示プログラムおよびコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、この発明の文章表示装置は、
文章を縦書きまたは横書きで表示する表示部と、
上記表示部に表示される上記文章のうちの所定の文字のフォントとそのフォントのサイズに応じた１文字あたりの描画領域内において、上記所定の文字の文字画像に外接する矩形枠を上記描画領域の中心に中心が一致するように配置して基準位置とする基準位置決定部と、
上記基準位置決定部により決定された上記基準位置に基づいて上記描画領域内で回転または移動の少なくとも一方を行うことにより、上記文字画像を変換する文字画像変換部と、
上記表示部に表示される上記文章の全文字の上記文字画像であって、かつ、上記文字画像変換部により変換された上記文字画像を含むかまたは含んでいない上記全文字の上記文字画像を、上記基準位置決定部により決定された上記基準位置に基づいて、上記描画領域に配置する文字画像配置部と、
を備えて、
上記文章を横書き用フォントで縦書き表示するとき、または、上記文章を縦書き用フォントで横書き表示するとき、上記文字画像配置部により上記描画領域に配置された上記全文字の上記文字画像を上記表示部に表示するようにしたことを特徴とする。
【００１０】
上記構成によれば、基準位置決定部によって、表示部に表示される文章のうちの所定の文字のフォントとそのフォントのサイズに応じた１文字あたりの描画領域内において、上記所定の文字の文字画像に外接する矩形枠を上記描画領域の中心に中心が一致するように配置して基準位置とする。そして、上記文字画像変換部によって、基準位置決定部により決定された基準位置に基づいて描画領域内で回転または移動の少なくとも一方を行うことにより、上記文字画像を変換する。例えば、横書き用フォントを用いて横書き文章を縦書き表示するとき、“「”、“」”、“、”、“。”などの縦書き表示では全体としてのバランスが悪くなる文字について、その文字の文字画像を回転または移動の少なくとも一方により描画領域内で回転,移動させて、縦書き表示に適した文字画像に変換する。そして、表示部に表示される文章の全文字の文字画像であって、かつ、文字画像変換部により変換された文字画像を含むかまたは含んでいない上記全文字の文字画像を、基準位置決定部により決定された基準位置に基づいて、文字画像配置部により描画領域に配置する。そうして、表示部により文章を縦書き(または横書き)で表示するとき、文字画像配置部により上記描画領域に配置された上記全文字の文字画像を用いることによって、横書き用フォント(または縦書き用フォント)を用いて、全体としてのバランスのよいレイアウトの縦書き表示(または横書き表示)ができる。
【００１１】
なお、上記基準位置決定部において基準位置を決定するための上記基準となる文字は、フォントに属する全文字のうちの代表的な１文字であってもよいし、複数の文字であってもよい。また、文章は、複数種類のフォントの文字が用いられた文章が混在していてもよく、その場合は、例えば文字数の多い方のフォントを上記基準となる文字に用いる。
【００１２】
また、一実施形態の文章表示装置では、
上記基準位置決定部は、上記フォントに属する全文字の文字画像に対して上記基準位置を決定する。
【００１３】
上記実施形態によれば、上記文章のフォントに属する全文字の文字画像に対して基準位置決定部によって基準位置を決定することにより、フォント全体のデザインに対応した適切な基準位置が得られるので、文字画像変換部により文字画像を最適な位置に配置できる。
【００１４】
また、一実施形態の文章表示装置では、
上記基準位置決定部は、上記文章のうちの上記表示部に表示される行毎に、その行に含まれる全文字の文字画像に対して上記基準位置を決定する。
【００１５】
上記実施形態によれば、上記文章のうちの表示部に表示される行毎に、その行に含まれる全文字の文字画像に対して基準位置決定部によって基準位置を決定することにより、行毎に適切な基準位置が得られるので、文字画像変換部により文字画像を変換するとき、表示部に表示される行毎に最適な位置に配置できる。
【００１６】
また、一実施形態の文章表示装置では、
上記基準位置決定部は、上記フォントに属する全文字のうちの複数の文字に対応する各文字画像に対して夫々外接する複数の矩形枠の高さの平均および上記複数の矩形枠の幅の平均で表された矩形枠を、上記描画領域の中心に中心が一致するように配置して上記基準位置とする。
【００１７】
上記実施形態によれば、フォントに属する全文字のうちの複数の文字に対応する各文字画像に対して夫々外接する複数の矩形枠の高さの平均および上記複数の矩形枠の幅の平均を求めて、求めた平均高さと平均幅で定義される矩形枠を、描画領域の中心に中心が一致するように配置して基準位置とすることによって、文字画像変換部によりフォント全体のデザインに対してバランスのよい最適な位置に文字画像を配置できる。
【００１８】
また、一実施形態の文章表示装置では、
上記基準位置決定部は、上記文章のうちの上記表示部に表示される行毎に、その行に含まれる全ての文字に対応する各文字画像に対して夫々外接する複数の矩形枠のうちの最も大きい矩形枠を、上記描画領域の中心に中心が一致するように配置して上記基準位置とする。
【００１９】
上記実施形態によれば、基準位置決定部により、上記文章のうちの表示部に表示される行毎に、その行に含まれる全ての文字に対応する各文字画像に対して夫々外接する複数の矩形枠のうちの最も大きい矩形枠を、描画領域の中心に中心が一致するように配置して基準位置とすることによって、その行において、文字画像変換部により変換された文字画像が必ず上記基準位置内に含まれるようにできる。
【００２０】
また、一実施形態の文章表示装置では、
上記基準位置決定部は、上記文章のうちの上記表示部に表示される文字毎に、その文字を挟む前後の文字の一方の文字画像に対して上記基準位置を決定する。
【００２１】
上記実施形態によれば、上記文章のうちの表示部に表示される文字毎に、その文字を挟む前後の文字の一方の文字画像に対して基準位置決定部により基準位置を決定することによって、文字画像変換部により少なくとも前または後の文字と局所的にバランスのとれた位置に文字画像を配置できる。
【００２２】
また、一実施形態の文章表示装置では、
上記基準位置決定部により決定された上記基準位置を上記フォントとそのフォントのサイズに対応させて記憶する基準位置記憶部を備えた。
【００２３】
上記実施形態によれば、基準位置決定部により決定された基準位置をフォントとそのフォントのサイズに対応させて基準位置記憶部に記憶して、次に同一のフォントでかつ同一のサイズについては、基準位置記憶部に記憶された基準位置を用いることによって、基準位置決定部により基準位置を決定する必要がなくなり、基準位置を決定する処理を簡略化できる。
【００２４】
また、一実施形態の文章表示装置では、
上記基準位置決定部は、上記基準位置記憶部に上記基準位置が記憶された上記フォントと同一のフォントでかつ上記基準位置記憶部に上記基準位置が記憶されていない上記フォントの他のサイズについて、上記基準位置記憶部に上記基準位置が記憶された上記フォントのサイズにおける上記１文字あたりの描画領域と上記他のサイズにおける上記１文字あたりの描画領域との大きさの割合に基づいて、上記基準位置記憶部に記憶された上記基準位置を拡大または縮小して用いる。
【００２５】
上記実施形態によれば、基準位置記憶部に基準位置が記憶されたフォントと同一のフォントでかつ基準位置記憶部に基準位置が記憶されていない上記フォントの他のサイズについては、基準位置記憶部に基準位置が記憶されたフォントのサイズにおける１文字あたりの描画領域と上記フォントの他のサイズにおける１文字あたりの描画領域との大きさの割合に基づいて、基準位置決定部によって、基準位置記憶部に記憶された基準位置を拡大または縮小して用いることによって、基準位置決定部により上記基準となる文字の文字画像に対して外接する矩形枠を求める必要がなくなり、基準位置を決定する処理を簡略化できる。
【００２６】
また、この発明の文章表示方法では、
プログラムされたコンピュータが基準位置決定部と文字画像変換部と基準位置記憶部として機能する文章表示方法であって、
表示部に表示される文章のうちの所定の文字のフォントとそのフォントのサイズに応じた１文字あたりの描画領域内において、基準位置決定部により、上記所定の文字の文字画像に外接する矩形枠を上記描画領域の中心に中心が一致するように配置して基準位置とする基準位置決定ステップと、
上記基準位置決定部により決定された上記基準位置に基づいて文字画像変換部により上記描画領域内で回転または移動の少なくとも一方を行うことにより、上記文字画像を変換する文字画像変換ステップと、
上記表示部に表示される上記文章の全文字の上記文字画像であって、かつ、上記文字画像変換部により変換された上記文字画像を含むかまたは含んでいない上記全文字の上記文字画像を、上記基準位置決定部により決定された上記基準位置に基づいて、文字画像配置部により上記描画領域に配置する文字画像配置ステップと、
上記文章を横書き用フォントで縦書き表示するとき、または、上記文章を縦書き用フォントで横書き表示するとき、上記文字画像配置部により上記描画領域に配置された上記全文字の上記文字画像を用いて、上記文章を縦書きまたは横書きで上記表示部に表示する表示ステップと
を含むことを特徴とする。
【００２７】
上記構成によれば、基準位置決定ステップにおいて、表示部に表示される文章のうちの所定の文字のフォントとそのフォントのサイズに応じた１文字あたりの描画領域内において、基準位置決定部によって、上記所定の文字の文字画像に外接する矩形枠を上記描画領域の中心に中心が一致するように配置して基準位置とする。そして、文字画像変換ステップにおいて、文字画像変換部によって、基準位置決定部により決定された基準位置に基づいて描画領域内で回転または移動の少なくとも一方を行うことにより、上記文字画像を変換する。例えば、横書き用フォントを用いて横書き文章を縦書き表示するとき、「”、“」”、“、”、“。”などの縦書き表示では全体としてのバランスが悪くなる文字について、その文字の文字画像を回転または移動の少なくとも一方により描画領域内で回転,移動させて、縦書き表示に適した文字画像に変換する。そして、表示部に表示される文章の全文字の文字画像であって、かつ、文字画像変換部により変換された文字画像を含むかまたは含んでいない上記全文字の文字画像を、基準位置決定部により決定された基準位置に基づいて、文字画像配置部により描画領域に配置する。そうして、表示ステップにおいて、文字画像配置部により上記描画領域に配置された上記全文字の文字画像を用いて、表示部により文章を縦書き(または横書き)で表示する。これによって、横書き用フォント(または縦書き用フォント)を用いて、全体としてのバランスのよいレイアウトの縦書き表示(または横書き表示)ができる。
【００２８】
また、この発明の文章表示プログラムでは、
上記文章表示方法の上記各ステップをコンピュータに実行させることを特徴とする。
【００２９】
上記構成によれば、上記文章表示方法の上記各ステップをコンピュータに実行させることによって、横書き用フォント(または縦書き用フォント)を用いて、全体としてのバランスのよいレイアウトの縦書き表示(または横書き表示)ができる。
【００３０】
また、この発明のコンピュータ読み取り可能な記録媒体では、
上記文章表示プログラムを記録したことを特徴とする。
【００３１】
上記構成によれば、上記コンピュータ読み取り可能な記録媒体に記録された上記文章表示プログラムをコンピュータに読み込んで上記文章表示方法を実行することによって、横書き用フォント(または縦書き用フォント)を用いて、全体としてのバランスのよいレイアウトの縦書き表示(または横書き表示)ができる。
【発明の効果】
【００３２】
以上より明らかなように、この発明の文章表示装置、文章表示方法、文章表示プログラムおよびコンピュータ読み取り可能な記録媒体によれば、横書き用フォント(または縦書き用フォント)を用いて、全体としてのバランスのよいレイアウトの縦書き表示(または横書き表示)を実現することができる。
【図面の簡単な説明】
【００３３】
【図１】図１はこの発明の第１実施形態の文章表示装置のブロック図である。
【図２】図２は上記文章表示装置の動作を説明するためのフローチャートである。
【図３】図３は図２に続く文章表示装置の動作を説明するためのフローチャートである。
【図４】図４は文字コードに対応する処理ＩＤを示す図である。
【図５】図５は処理ＩＤ毎の処理内容を示す図である。
【図６】図６は指定された文字の基準位置を説明するための図である。
【図７】図７は横書き用フォントの半角“A”の文字画像を９０度回転(時計回り)させることにより縦書き用に変換した図である。
【図８】図８は横書き用フォントの長音記号“ー”の文字画像を９０度回転(時計回り),左右反転およびセンタリングすることにより縦書き用に変換した図である。
【図９】図９は横書き用フォントの“ぁ”の文字画像を右上シフト(移動量小)することにより縦書き用に変換した図である。
【図１０】図１０は横書き用フォントの読点“、”の文字画像を右上シフト(移動量大)することにより縦書き用に変換した図である。
【図１１】図１１は横書き用フォントのダブルクォーテーションの開き““”の文字画像を右下シフト,右下位置調整をすることにより縦書き用に変換した図である。
【図１２】図１２は横書き用フォントのダブルクォーテーションの閉じ“””の文字画像を１８０度回転,左上位置調整をすることにより縦書き用に変換した図である。
【図１３】図１３は横書き用フォントの鍵括弧閉じ“」”の文字画像を９０度回転(時計回り),左位置調整をすることにより縦書き用に変換した図である。
【図１４】図１４は横書き用フォントの鍵括弧開き“「”の文字画像を９０度回転(時計回り),右位置調整をすることにより縦書き用に変換した図である。
【図１５】図１５は上記文章表示装置に用いられるシフト位置ルールを示す図である。
【図１６】図１６は変更したシフト位置ルールの一例を示す図である。
【図１７】図１７は変更したシフト位置ルールに基づいて横書き用フォントの鍵括弧閉じ“」”の文字画像を９０度回転(時計回り),左位置調整をすることにより縦書き用に変換した図である。
【図１８】図１８は変更したシフト位置ルールに基づいて横書き用フォントの鍵括弧開き“「”の文字画像を９０度回転(時計回り),右位置調整をすることにより縦書き用に変換した図である。
【図１９】図１９はこの発明の第２実施形態の文章表示装置のブロック図である。
【図２０】図２０は指定された複数の文字から基準位置を求める方法を説明するための図である。
【図２１】図２１はこの発明の第３実施形態の文章表示装置のブロック図である。
【図２２】図２２は電子書籍の文章のフォントに属する全文字から基準位置を求める方法を説明するための図である。
【図２３】図２３はこの発明の第４実施形態の文章表示装置のブロック図である。
【図２４】図２４は上記文章表示装置の動作を説明するためのフローチャートである。
【図２５】図２５は図２４に続く文章表示装置の動作を説明するためのフローチャートである。
【図２６】図２６はこの発明の第５実施形態の文章表示装置のブロック図である。
【図２７】図２７はこの発明の第６実施形態の文章表示装置のブロック図である。
【図２８】図２８は基準位置の拡大について説明するための図である。
【図２９】図２９はフォント自体が左側に偏っている場合の縦書き表示の例を示す図である。
【図３０】図３０はフォント自体が左側に偏っている場合の縦書き表示のバランスを改善した例を示す図である。
【図３１】図３１は横書き文字のコード(１６進)に対応する縦書き動作を示す図である。
【図３２】図３２は図３１に続く横書き文字のコード(１６進)に対応する縦書き動作を示す図である。
【図３３】図３３は図３２に続く横書き文字のコード(１６進)に対応する縦書き動作を示す図である。
【発明を実施するための形態】
【００３４】
以下、この発明の文章表示装置、文章表示方法、文章表示プログラムおよびコンピュータ読み取り可能な記録媒体を図示の実施の形態により詳細に説明する。
【００３５】
〔第１実施形態〕
図１はこの発明の第１実施形態の電子書籍の文章を表示する文章表示装置のブロック図を示している。なお、この文章表示装置は、文字コードに対応する文字画像を備えた横書き用フォントのデータをフォントデータ記憶部(図示せず)に備えている。
【００３６】
この第１実施形態の文章表示装置は、図１に示すように、電子書籍のデータを取得する書籍データ取得部１と、書籍データ取得部１により取得された電子書籍のデータを解析してレイアウトを決定するレイアウト生成部２と、レイアウト生成部２により決定されたレイアウトを表すレイアウト情報および配置条件テーブル記憶部１１に記憶された配置条件テーブルに基づいて、文字画像の回転・シフトが必要か否かを判断する文字回転・シフト判断部３と、配置条件テーブル記憶部１１に記憶された配置条件テーブルに基づいて、文字画像の処理内容を確定する処理内容決定部４と、基準となる文字を取得する基準文字取得部５と、基準文字取得部５により取得された基準となる文字の文字画像に対して外接する矩形枠に基づいて基準位置を決定する基準位置決定部６と、基準位置決定部６により決定された基準位置およびシフト位置ルール記憶部１２に記憶されたシフト位置ルールに基づいて、文字画像の移動位置を確定する文字画像変換部の一例としての移動位置確定部７と、移動位置確定部７により移動位置が確定した文字画像および文字回転・シフト判断部３により回転・シフトが必要ないと判断された文字の文字画像を、上記レイアウト情報に基づいて１ページ分の画像メモリ(図示せず)に配置する文字画像配置部８と、文字画像配置部８により文字画像が配置された画像データを出力する画像出力部９と、画像出力部９から出力された画像データを表示する表示部１０とを備えている。この表示部１０は、電子書籍の文章を縦書きまたは横書きで表示する。
【００３７】
図２,図３は上記文章表示装置の動作を説明するためのフローチャートを示している。なお、このフローチャートは、表示部１０に電子書籍の１ページ分を表示する処理であり、ページ送り(または戻り)があるとこの表示処理が繰り返される。
【００３８】
まず、この処理がスタートすると、図２に示すステップＳ１で書籍データ取得部１により電子書籍のデータを取得する。
【００３９】
次に、ステップＳ２に進み、レイアウト生成部２により電子書籍のデータを解析してレイアウトに必要な表示ページの書籍データ情報を保持する。
【００４０】
次に、ステップＳ３に進み、書籍データ情報と表示部１０の表示設定に基づいて、レイアウト生成部２により画像やテキストのレイアウトを決定する。ここで、レイアウト生成部２は、レイアウトに必要なレイアウト情報を生成する。ここで、レイアウト情報とは、文字、画像、マルチメディアデータなどからなる要素の配置に関わる情報である。
【００４１】
次に、ステップＳ４に進み、レイアウト情報から電子書籍の文章が縦書きかまたは横書きかを判定する。
【００４２】
そして、ステップＳ４で電子書籍の文章が縦書きでないと判定すると、ステップＳ５に進み、文字回転・シフト判断部３は、レイアウト生成部２から１行のレイアウト情報を取得する。
【００４３】
次に、ステップＳ６に進み、文字回転・シフト判断部３は、レイアウト生成部２から文字コードを取得する。
【００４４】
次に、ステップＳ７に進み、文字画像配置部８は、文字コードに対応する文字画像を画像メモリ(図示せず)に配置する。
【００４５】
次に、ステップＳ８に進み、１行の配置が完了していないと判定すると、ステップＳ６に戻る一方、１行の配置が完了したと判定すると、ステップＳ９に進む。
【００４６】
次に、ステップＳ９で全行の配置が完了していないと判定すると、ステップＳ１１に進み、行を進めて、ステップＳ５に戻る。
【００４７】
一方、ステップＳ９で全行の配置が完了していると判定すると、ステップＳ１０に進み、画像出力部９により文字画像配置部８により文字画像が配置された画像データを表示部１０に出力して、この表示処理を終了する。
【００４８】
また、ステップＳ４で縦書きであると判定すると、図３に示すステップＳ２１に進む。
【００４９】
そして、ステップＳ２１に進み、基準文字取得部５により基準となる文字を取得する。この第１実施形態では、基準となる文字として“国”(Unicode 0x56fd)を取得する。
【００５０】
次に、ステップＳ２２に進み、基準位置決定部６により基準となる文字の文字画像に外接する矩形枠に基づいて基準位置を決定する。この第１実施形態では、“国”の文字画像に外接する矩形枠を仮想ボディの中心に中心が一致するように配置して基準位置とする。ここで、仮想ボディは、レイアウトから指定される「文字を描画するための枠」であり、実際には、文字の高さと、その文字の高さを指定してフォント情報から取得される文字幅からなる矩形の描画領域のことである。また、レイアウトは、上記矩形の描画領域の中心を揃えて文字を並べることにより、行を生成したりする配置のことである。
【００５１】
次に、ステップＳ２３では、文字回転・シフト判断部３は、レイアウト生成部２から１行のレイアウト情報を取得する。
【００５２】
次に、ステップＳ２４に進み、文字回転・シフト判断部３は、レイアウト生成部２から文字コードを取得する。
【００５３】
次に、ステップＳ２５に進み、文字回転・シフト判断部３は、ステップＳ２４で取得した文字コードに対して回転／シフトが必要か否かを判定する。すなわち、予め設定された文字コード表を用いて、取得された文字コードに対して回転／シフトが必要か否かを判定する。ここで、予め設定された文字コード表は、配置条件テーブル記憶部１１に配置条件テーブル(図４,図５に示す)として記憶されている。
【００５４】
そして、ステップＳ２５において、取得された文字コードに対して回転／シフトが必要と判定すると、ステップＳ２６に進む一方、取得された文字コードに対して回転／シフトが必要でないと判定すると、ステップＳ２９に進む。
【００５５】
ステップＳ２６では、配置条件テーブル記憶部１１から取得された文字コードに対応する処理ＩＤを取得する。
【００５６】
次に、ステップＳ２７に進み、処理内容決定部４は、取得された処理ＩＤに基づいて処理内容を決定する。
【００５７】
次に、ステップＳ２８に進み、移動位置確定部７により移動位置を確定する。すなわち、移動位置確定部７は、ステップＳ２２で決定された基準位置を用いて、ステップＳ２７で決定された処理内容に従って文字画像の回転または移動の少なくとも一方を行う。
【００５８】
次に、ステップＳ２９に進み、文字画像配置部８は、文字コードに対応する文字画像を画像メモリ(図示せず)に配置する。このステップＳ２９では、取得された文字コードに対して回転／シフトが必要と判定された文字コードに対しては、ステップＳ２８で移動位置に配置された文字画像を画像メモリに配置する。
【００５９】
次に、ステップＳ３０に進み、１行の配置が完了していないと判定すると、ステップＳ２４に戻る一方、１行の配置が完了したと判定すると、ステップＳ３１に進む。
【００６０】
次に、ステップＳ３１で全行の配置が完了していないと判定すると、ステップＳ３３に進み、行を進めて、ステップＳ２３に戻る。
【００６１】
一方、ステップＳ３１で全行の配置が完了していると判定すると、ステップＳ３２に進み、文字画像配置部８により文字画像が配置された画像データを画像出力部９から表示部１０に出力して、この表示処理を終了する。
【００６２】
上記処理内容決定部４は、配置条件テーブル記憶部１１に記憶された配置条件テーブルを用いて、文字コードに対応する処理ＩＤから処理内容を決定する。上記配置条件テーブル記憶部１１に記憶された配置条件テーブルは、図３１〜図３３に示す横書き文字のコード(１６進)に対応する縦書き動作について、図４,図５に示す表としてまとめたものである。
【００６３】
詳しくは、処理ＩＤが“１”の場合は、括弧、矢印、学術記号などの文字画像を９０度回転(時計回り)させる処理である。ここで、文字画像の９０度回転(時計回り)は、仮想ボディの中心すなわち矩形の仮想ボディの対角線の交点を中心に行う。
【００６４】
また、処理ＩＤが“２”の場合は、長音記号などの文字画像を９０度回転(時計回り)させると共に左右反転させる処理である。ここで、文字画像の左右反転は、文字画像の中心線に対して行う。なお、文字画像の左右反転は、これに限らず、仮想ボディの中心線すなわち矩形の仮想ボディの対角線の交点を通る縦直線に対して行ってもよい。
【００６５】
また、処理ＩＤが“３”の場合は、文字画像を右上へシフト(移動量小)させる処理である。
【００６６】
また、処理ＩＤが“４”の場合は、文字画像を右上へシフト(移動量大)させる処理である。
【００６７】
また、処理ＩＤが“５”の場合は、文字画像を右下へシフトさせる処理である。
【００６８】
また、処理ＩＤが“６”の場合は、文字画像を１８０度回転させると共に左上へシフトさせる処理である。ここで、文字画像の１８０度回転(時計回り)は、仮想ボディの中心すなわち矩形の仮想ボディの対角線の交点を中心に行う。
【００６９】
また、処理ＩＤが“７”の場合は、文字画像を９０度(時計回り)回転させると共に左シフトさせる処理である。
【００７０】
さらに、処理ＩＤが“８”の場合は、文字画像を９０度(時計回り)回転させると共に右シフトさせる処理である。
【００７１】
また、上記移動位置確定部７は、図１５に示すシフト位置ルール記憶部１２に記憶されたシフト位置ルールを用いて、処理ＩＤに対応する文字画像の移動位置を確定する。
【００７２】
図６は指定された文字の基準位置を説明するための図を示している。この第１実施形態では、指定された文字“国”のフォントの文字サイズ範囲(「仮想ボディ」)内において、“国”の文字画像に対して外接する矩形枠の左基準位置と右基準位置から矩形枠の幅を求め、矩形枠の上基準位置と下基準位置から矩形枠の高さを求めて、この幅と高さの矩形枠を仮想ボディの中心に中心が一致するように配置して基準位置とする。
【００７３】
次に、図７〜図１４に従って横書き用フォントの文字画像を変換する例を説明する。
【００７４】
＜半角“A”＞
まず、図７では、横書き用フォントの半角“A”の文字画像を９０度回転(時計回り)させることにより縦書き用に変換する。つまり、配置条件テーブル記憶部１１(図１に示す)から半角“A”の処理ＩＤ“１”を取得し、半角“A”の文字画像に対して処理ＩＤ“１”の処理内容である９０度回転(時計回り)を行う。そして、シフト位置ルール記憶部１２(図１に示す)の処理ＩＤ“１”のシフト位置ルールに従って文字画像をそのまま移動させずに配置する(図１５参照)。
【００７５】
＜長音記号“ー”＞
図８では、横書き用フォントの長音記号“ー”の文字画像を９０度回転(時計回り),左右反転およびセンタリングすることにより縦書き用に変換している。つまり、配置条件テーブル記憶部１１(図１に示す)から長音記号“ー”の処理ＩＤ“２”を取得し、長音記号“ー”の文字画像に対して処理ＩＤ“２”の処理内容である９０度回転(時計回り)と左右反転を行う。そして、シフト位置ルール記憶部１２(図１に示す)の処理ＩＤ“２”のシフト位置ルールに従って文字画像のセンタリングを行う(図１５参照)。
【００７６】
＜“ぁ”＞
図９では、横書き用フォントの“ぁ”の文字画像を右上シフト(移動量小)することにより縦書き用に変換している。つまり、配置条件テーブル記憶部１１(図１に示す)から“ぁ”の処理ＩＤ“３”を取得し、“ぁ”の文字画像に対して処理ＩＤ“３”の処理内容である右上へシフト(移動量小)を行う。そして、シフト位置ルール記憶部１２(図１に示す)の処理ＩＤ“３”のシフト位置ルール「文字画像の外接矩形の右上角が基準位置の右上角に一致」に従って、“ぁ”の文字画像の外接矩形の右辺が右基準位置に一致すると共に、文字画像の外接矩形の上辺が上基準位置に一致するように、“ぁ”の文字画像を配置する(図１５参照)。
【００７７】
＜読点“、”＞
図１０では、横書き用フォントの読点“、”の文字画像を右上シフト(移動量大)することにより縦書き用に変換している。つまり、配置条件テーブル記憶部１１(図１に示す)から読点“、”の処理ＩＤ“４”を取得し、読点“、”の文字画像に対して処理ＩＤ“４”の処理内容である右上へシフト(移動量小)を行う。そして、シフト位置ルール記憶部１２(図１に示す)の処理ＩＤ“４”のシフト位置ルール「文字画像の外接矩形の右上角が基準位置の右上角に一致」に従って、読点“、”の文字画像の外接矩形の右辺が右基準位置に一致すると共に、文字画像の外接矩形の上辺が上基準位置に一致するように、読点“、”の文字画像を配置する(図１５参照)。
【００７８】
＜ダブルクォーテーションの開き““”＞
図１１では、横書き用フォントのダブルクォーテーションの開き““”の文字画像を右下シフト,右下位置調整をすることにより縦書き用に変換している。つまり、配置条件テーブル記憶部１１(図１に示す)からダブルクォーテーションの開き““”の処理ＩＤ“５”を取得し、ダブルクォーテーションの開き““”の文字画像に対して処理ＩＤ“５”の処理内容である右下へシフトを行う。そして、シフト位置ルール記憶部１２(図１に示す)の処理ＩＤ“５”のシフト位置ルール「文字画像の外接矩形の右下角が基準位置の右下角に一致」に従って、ダブルクォーテーションの開き““”の文字画像の外接矩形の右辺が右基準位置に一致すると共に、文字画像の外接矩形の下辺が下基準位置に一致するように、ダブルクォーテーションの開き““”の文字画像を配置する(図１５参照)。
【００７９】
＜ダブルクォーテーションの閉じ“””＞
図１２では、横書き用フォントのダブルクォーテーションの閉じ“””の文字画像を１８０度回転,左上位置調整をすることにより縦書き用に変換している。つまり、配置条件テーブル記憶部１１(図１に示す)からダブルクォーテーションの閉じ“””の処理ＩＤ“６”を取得し、ダブルクォーテーションの閉じ“””の文字画像に対して処理ＩＤ“６”の処理内容である１８０度回転と左上へシフトを行う。そして、シフト位置ルール記憶部１２(図１に示す)の処理ＩＤ“６”のシフト位置ルール「文字画像の外接矩形の左上角が基準位置の左上角に一致」に従って、ダブルクォーテーションの閉じ“””の文字画像の外接矩形の左辺が左基準位置に一致すると共に、文字画像の外接矩形の上辺が上基準位置に一致するように、ダブルクォーテーションの閉じ“””の文字画像を配置する(図１５参照)。
【００８０】
＜鍵括弧閉じ“」”＞
図１３では、横書き用フォントの鍵括弧閉じ“」”の文字画像を９０度回転(時計回り),左位置調整をすることにより縦書き用に変換している。つまり、配置条件テーブル記憶部１１(図１に示す)から鍵括弧閉じ“」”の処理ＩＤ“７”を取得し、鍵括弧閉じ“」”の文字画像に対して処理ＩＤ“７”の処理内容である９０度回転(時計回り)と左シフトを行う。そして、シフト位置ルール記憶部１２(図１に示す)の処理ＩＤ“７”のシフト位置ルール「文字画像の外接矩形の左が基準位置の左に一致」に従って、鍵括弧閉じ“」”の文字画像の外接矩形の左辺が左基準位置に一致するように、鍵括弧閉じ“」”の文字画像を配置する(図１５参照)。
【００８１】
＜鍵括弧開き“「”＞
図１４では、横書き用フォントの鍵括弧開き“「”の文字画像を９０度回転(時計回り),右位置調整をすることにより縦書き用に変換している。つまり、配置条件テーブル記憶部１１(図１に示す)から鍵括弧開き“「”の処理ＩＤ“８”を取得し、鍵括弧閉開き“「”の文字画像に対して処理ＩＤ“８”の処理内容である９０度回転(時計回り)と右シフトを行う。そして、シフト位置ルール記憶部１２(図１に示す)の処理ＩＤ“８”のシフト位置ルール「文字画像の外接矩形の右が基準位置の右に一致」に従って、鍵括弧開き“「”の文字画像の外接矩形の右辺が右基準位置に一致するように、鍵括弧開き“「”の文字画像を配置する(図１５参照)。
【００８２】
図１５は上記第１実施形態の文章表示装置に用いられるシフト位置ルールを示す図を示している。処理ＩＤが“１”のシフト位置ルールは「そのまま」とする。また、処理ＩＤが“２”のシフト位置ルールは「センタリング」とする。また、処理ＩＤが“３”,“４”のシフト位置ルールは、「文字画像の外接矩形の右上角が基準位置の右上角に一致」とする。また、処理ＩＤが“５”のシフト位置ルールは、「文字画像の外接矩形の右下角が基準位置の右下角に一致」とする。また、処理ＩＤが“６”のシフト位置ルールは、「文字画像の外接矩形の左上角が基準位置の左上角に一致」とする。また、処理ＩＤが“７”のシフト位置ルールは、「文字画像の外接矩形の左が基準位置の左に一致」とする。また、処理ＩＤが“８”のシフト位置ルールは、「文字画像の外接矩形の右が基準位置の右に一致」とする。
【００８３】
なお、上記シフト位置ルールの一部を変更してもよい。例えば、図１６に示すように、処理ＩＤが“７”のシフト位置ルールを、文字画像の外接矩形の左辺を、左基準位置と仮想ボディの左位置との中間とする。また、処理ＩＤが“８”のシフト位置ルールは、文字画像の外接矩形の右辺を、右基準位置と仮想ボディの右位置との中間とする。
【００８４】
図１７では、図１６に示す処理ＩＤ“７”の配置ルールに基づいて、横書き用フォントの鍵括弧閉じ“」”の文字画像を９０度回転(時計回り),左位置調整をすることにより縦書き用に変換している。
【００８５】
また、図１８では、図１６に処理ＩＤ“８”の配置ルールに基づいて、横書き用フォントの鍵括弧開き“「”の文字画像を９０度回転(時計回り),右位置調整をすることにより縦書き用に変換している。
【００８６】
上記構成の文章表示装置によれば、基準位置決定部６により、基準となる文字の文字画像に対して外接する矩形枠に基づいて基準位置を決定して、横書き用フォントを用いて表示部１０により縦書き表示するとき、その基準位置に基づいて、移動位置確定部７が、予め設定された文字の文字画像に対して仮想ボディ(描画領域)内で回転または移動の少なくとも一方を行うことによって、横書き用フォントを用いて、全体としてのバランスのよいレイアウトの縦書き表示ができる。
【００８７】
なお、電子書籍は、複数種類のフォントの文字が用いられた文章が混在していてもよく、その場合は、例えば、全ての種類のフォントの基準位置を求めて平均化したり、文字数の多い方のフォントを基準となる文字に用いて基準位置を決定したりすればよい。
【００８８】
〔第２実施形態〕
図１９はこの発明の第２実施形態の電子書籍の文章を表示する文章表示装置のブロック図を示している。この第２実施形態の文章表示装置は、複数基準文字取得部１０５と平均基準位置決定部１０６を除き第１実施形態の文章表示装置と同一の構成をしており、同一構成部には、同一参照番号を付して説明を省略する。
【００８９】
複数基準文字取得部１０５は、基準位置を求めるための基準となる複数の文字の文字画像を取得する。この基準となる複数の文字は、予め設定された例えば“国”、“り”、“A”の文字画像を取得する。なお、上記基準となる複数の文字は、外部から任意に設定可能としてもよい。
【００９０】
そして、平均基準位置決定部１０６は、基準文字取得部５により取得された基準となる複数の文字に基づいて、基準位置を決定する。ここで、平均基準位置決定部１０６は、複数の文字に対応する各文字画像に夫々外接する複数の矩形枠の高さの平均および上記複数の矩形枠の幅の平均で表された矩形枠を求め、求めた矩形枠を仮想ボディの中心に中心が一致するように配置して基準位置とする。
【００９１】
次に、文字画像変換部の一例としての移動位置確定部７は、平均基準位置決定部１０６により決定された基準位置およびシフト位置ルール記憶部１２に記憶されたシフト位置ルールに基づいて、文字画像の回転または移動の少なくとも一方を行って文字画像の移動位置を確定する。
【００９２】
図２０は指定された複数の文字の基準位置から平均基準位置を求める方法を説明するための図を示している。図２０に示すように、“国”の幅をｗ1,高さｈ1とし、“り”の幅をｗ2,高さｈ2とし、“A”の幅をｗ3,高さｈ3とする。なお、半角“A”については、９０度回転(時計回り)させた文字画像の幅と高さをｗ3,ｈ3とする。
【００９３】
そうして、各文字画像の幅の平均ｗ(＝(ｗ1＋ｗ2＋ｗ3)÷３)および高さの平均ｈ(＝(ｈ1＋ｈ2＋ｈ3)÷３)とし、幅ｗと高さｈの矩形枠を中心が仮想ボディの中心に一致するように配置して基準位置とする。
【００９４】
このように、特徴的な文字や平均的な文字を予め基準となる文字として選択しておくことにより、処理時間をかけずに平均的な基準位置を求めることができる。
【００９５】
上記第２実施形態の文章表示装置は、第１実施形態の文章表示装置と同様の効果を有する。
【００９６】
また、上記文章表示装置では、基準となる複数の文字に対応する各文字画像に対して夫々外接する複数の矩形枠の高さの平均および上記複数の矩形枠の幅の平均を求めて、求めた平均高さと平均幅の矩形枠を中心が仮想ボディ(描画領域)の中心に一致するように配置して基準位置とすることによって、フォント全体のデザインに対してバランスのよい最適な位置に文字画像を配置することができる。
【００９７】
〔第３実施形態〕
図２１はこの発明の第３実施形態の電子書籍の文章を表示する文章表示装置のブロック図を示している。この第３実施形態の文章表示装置は、全文字取得部２０５を除き第２実施形態の文章表示装置と同一の構成をしており、同一構成部には、同一参照番号を付して説明を省略する。
【００９８】
全文字取得部２０５は、基準位置を求めるための基準となる全ての文字の文字画像を取得する。この基準となる全ての文字は、電子書籍のフォントに属する全ての文字である。
【００９９】
そして、平均基準位置決定部１０６は、全文字取得部２０５により取得された基準となる全ての文字に基づいて、基準位置を決定する。ここで、平均基準位置決定部１０６は、基準となる全ての文字に対応する各文字画像に対して夫々外接する複数の矩形枠の高さの平均および上記複数の矩形枠の幅の平均で表された矩形枠を求め、求めた矩形枠を中心が仮想ボディの中心に一致するように配置して基準位置とする。
【０１００】
次に、文字画像変換部の一例としての移動位置確定部７は、平均基準位置決定部１０６により決定された基準位置およびシフト位置ルール記憶部１２に記憶されたシフト位置ルールに基づいて、文字画像の回転または移動の少なくとも一方を行って文字画像の移動位置を確定する。
【０１０１】
図２２は電子書籍のフォントに属する全文字から平均基準位置を求める方法を説明するための図を示している。図２２に示すように、フォントに属する全文字の文字数をＮとし、各文字画像の幅をｗ1,ｗ2,ｗ3,…,ｗNとし、高さをｈ1,ｈ2,ｈ3,…,ｈNとする。
【０１０２】
そうして、各文字画像の幅の平均ｗ(＝(ｗ1＋ｗ2＋ｗ3＋…＋ｗN)÷Ｎ)および高さの平均ｈ(＝(ｈ1＋ｈ2＋ｈ3＋…＋ｈN)÷Ｎ)とし、幅ｗと高さｈの矩形枠を中心が仮想ボディの中心に一致するように配置して基準位置とする。
【０１０３】
この場合、電子書籍の文章に利用されているフォントについて、デザインの重心が下や右に偏っているなどの特徴を抽出して、そのようなフォントの文字に対応した文字画像の配置が可能になる。
【０１０４】
上記第３実施形態の文章表示装置は、第２実施形態の文章表示装置と同様の効果を有する。
【０１０５】
また、上記文章表示装置では、電子書籍の文章のフォントに属する全文字を基準となる文字として平均基準位置決定部１０６によって基準位置を決定することにより、フォント全体のデザインに対応した適切な基準位置が得られるので、文字画像を最適な位置に配置することができる。
【０１０６】
〔第４実施形態〕
図２３はこの発明の第４実施形態の電子書籍の文章を表示する文章表示装置のブロック図を示している。この第４実施形態の文章表示装置は、行中全文字取得部３０５を除き第１実施形態の文章表示装置と同一の構成をしており、同一構成部には、同一参照番号を付して説明を省略する。
【０１０７】
行中全文字取得部３０５は、表示部１０に表示しようとする１行に含まれる全文字を取得する。
【０１０８】
そして、基準位置決定部６は、行中全文字取得部３０５により取得された行に含まれる文字に基づいて、基準位置を決定する。
【０１０９】
次に、文字画像変換部の一例としての移動位置確定部７は、基準位置決定部６により決定された基準位置およびシフト位置ルール記憶部１２に記憶されたシフト位置ルールに基づいて、文字画像の回転または移動の少なくとも一方を行って文字画像の移動位置を確定する。
【０１１０】
以下、この文章表示装置は、第１実施形態の文章表示装置と同様の動作を行う。
【０１１１】
図２４,図２５は上記文章表示装置の動作を説明するためのフローチャートを示している。なお、このフローチャートは、表示部１０に電子書籍の１ページ分を表示する処理であり、ページ送り(または戻り)があるとこの表示処理が繰り返される。
【０１１２】
まず、この処理がスタートすると、図２４に示すステップＳ１０１で書籍データ取得部１により電子書籍のデータを取得する。
【０１１３】
次に、ステップＳ１０２に進み、レイアウト生成部２により電子書籍のデータを解析してレイアウトに必要な表示ページの書籍データ情報を保持する。
【０１１４】
次に、ステップＳ１０３に進み、書籍データ情報と表示部１０の表示設定に基づいて、レイアウト生成部２により画像やテキストのレイアウトを決定する。ここで、レイアウト生成部２は、レイアウトに必要なレイアウト情報を生成する。
【０１１５】
次に、ステップＳ１０４に進み、レイアウト情報から電子書籍の文章が縦書きかまたは横書きかを判定する。
【０１１６】
そして、ステップＳ１０４で電子書籍の文章が縦書きでないと判定すると、ステップＳ１０５に進み、文字回転・シフト判断部３は、レイアウト生成部２から１行のレイアウト情報を取得する。
【０１１７】
次に、ステップＳ１０６に進み、文字回転・シフト判断部３は、レイアウト生成部２から文字コードを取得する。
【０１１８】
次に、ステップＳ１０７に進み、文字画像配置部８は、文字コードに対応する文字画像を画像メモリ(図示せず)に配置する。
【０１１９】
次に、ステップＳ１０８に進み、１行の配置が完了していないと判定すると、ステップＳ１０６に戻る一方、１行の配置が完了したと判定すると、ステップＳ１０９に進む。
【０１２０】
次に、ステップＳ１０９で全行の配置が完了していないと判定すると、ステップＳ１０１１に進み、行を進めて、ステップＳ１０５に戻る。
【０１２１】
一方、ステップＳ１０９で全行の配置が完了していると判定すると、ステップＳ１０１０に進み、画像出力部９により文字画像配置部８により文字画像が配置された画像データを表示部１０に出力して、この表示処理を終了する。
【０１２２】
また、ステップＳ１０４で縦書きであると判定すると、図２５に示すステップＳ１２１に進む。
【０１２３】
そして、ステップＳ１２１では、文字回転・シフト判断部３は、レイアウト生成部２から１行のレイアウト情報を取得する。
【０１２４】
次に、ステップＳ１２２に進み、文字回転・シフト判断部３は、レイアウト生成部２から文字コードを取得する。
【０１２５】
次に、ステップＳ１２３に進み、ステップＳ１２２で取得した文字コードに対して回転／シフトが必要か否かを判定する。すなわち、予め設定された文字コード表(図４,図５に示す配置条件テーブル)を用いて、取得された文字コードに対して回転／シフトが必要か否かを判定する。
【０１２６】
そして、ステップＳ１２３において、取得された文字コードに対して回転／シフトが必要と判定すると、ステップＳ１２４に進む一方、取得された文字コードに対して回転／シフトが必要でないと判定すると、ステップＳ１２９に進む。
【０１２７】
ステップＳ１２４では、配置条件テーブル記憶部１１から取得された文字コードに対応する処理ＩＤを取得する。
【０１２８】
次に、ステップＳ１２５に進み、処理内容決定部４は、取得された処理ＩＤに基づいて処理内容を決定する。
【０１２９】
次に、ステップＳ１２６に進み、行中全文字取得部３０５により行中の全ての文字を取得する。
【０１３０】
次に、ステップＳ１２７に進み、行中全文字取得部３０５により行中の全ての文字の文字画像に外接する矩形枠に基づいて基準位置を基準位置決定部６により決定する。この第４実施形態では、行中の全ての文字の文字画像に夫々外接する複数の矩形枠の幅の平均および上記複数の矩形枠の高さの平均を求め、その平均幅と平均高さの矩形枠を仮想ボディの中心に中心が一致するように配置して基準位置とする。
【０１３１】
次に、ステップＳ１２８に進み、移動位置確定部７により移動位置を確定する。すなわち、移動位置確定部７は、処理ＩＤに基づく処理内容に従って文字画像の回転または移動の少なくとも一方を行う。
【０１３２】
次に、ステップＳ１２９に進み、文字画像配置部８は、文字コードに対応する文字画像を画像メモリ(図示せず)に配置する。このステップＳ１２９では、取得された文字コードに対して回転／シフトが必要と判定された文字コードに対しては、ステップＳ１２８で移動位置に配置された文字画像を画像メモリに配置する。
【０１３３】
次に、ステップＳ１３０に進み、１行の配置が完了していないと判定すると、ステップＳ１２２に戻る一方、１行の配置が完了したと判定すると、ステップＳ１３１に進む。
【０１３４】
次に、ステップＳ１３１で全行の配置が完了していないと判定すると、ステップＳ１３３に進み、行を進めて、ステップＳ１２１に戻る。
【０１３５】
一方、ステップＳ１３１で全行の配置が完了していると判定すると、ステップＳ１３２に進み、文字画像配置部８により文字画像が配置された画像データを画像出力部９から表示部１０に出力して、この表示処理を終了する。
【０１３６】
上記第４実施形態の文章表示装置は、第１実施形態の文章表示装置と同様の効果を有する。
【０１３７】
また、上記文章表示装置によれば、電子書籍の文章のうちの表示部１０に表示される行毎に、その行に含まれる全文字を基準となる文字として基準位置決定部６によって基準位置を決定することにより、行毎に適切な基準位置が得られるので、表示部１０に表示される行毎に文字画像を最適な位置に配置することができる。
【０１３８】
〔第５実施形態〕
図２６はこの発明の第５実施形態の電子書籍の文章を表示する文章表示装置のブロック図を示している。この第５実施形態の文章表示装置は、行中最大文字取得部４０５を除き第４実施形態の文章表示装置と同一の構成をしており、同一構成部には、同一参照番号を付して説明を省略する。
【０１３９】
行中最大文字取得部４０５は、表示部１０に表示しようとする行に含まれる複数の文字のうち、外接する矩形枠の大きさが最大の文字を取得する。
【０１４０】
そして、基準位置決定部６は、行中最大文字取得部３０５により取得された基準となる文字に基づいて、基準位置を決定する。ここで、基準となる文字の文字画像に対して外接する矩形枠(矩形枠の大きさが最大)を描画領域の中心に中心が一致するように配置して基準位置とする。
【０１４１】
次に、文字画像変換部の一例としての移動位置確定部７は、基準位置決定部６により決定された基準位置およびシフト位置ルール記憶部１２に記憶されたシフト位置ルールに基づいて、文字画像の回転または移動の少なくとも一方を行って文字画像の移動位置を確定する。
【０１４２】
以下、この文章表示装置は、第４実施形態の文章表示装置と同様の動作を行う。
【０１４３】
上記第５実施形態の文章表示装置は、第１実施形態の文章表示装置と同様の効果を有する。
【０１４４】
また、上記文章表示装置によれば、基準位置決定部６により、電子書籍の文章のうちの表示部１０に表示される行毎に、その行に含まれる全ての文字に対応する各文字画像に対して夫々外接する複数の矩形枠のうちの最も大きい矩形枠を描画領域の中心に中心が一致するように配置して基準位置とすることによって、その行において、移動位置確定部７により変換された文字画像が必ず基準位置内に含まれるようにできる。
【０１４５】
〔第６実施形態〕
図２７はこの発明の第６実施形態の電子書籍の文章を表示する文章表示装置のブロック図を示している。この第６実施形態の文章表示装置は、基準文字選択部４０１,指定文字取得部４０２を除き第１実施形態の文章表示装置と同一の構成をしており、同一構成部には、同一参照番号を付して説明を省略する。
【０１４６】
基準文字選択部５０１は、シフト条件情報から１つ前の文字を基準とするか、１つ後の文字を基準とするかを選択する。この基準文字選択部５０１の選択基準は、シフト条件が下基準位置を利用するものは、対象文字の下の文字を選択し、シフト条件が上基準位置を利用するものは、対象文字の上の文字を選択し、シフト条件が右基準位置のみ利用するものは下の文字を選択し、シフト条件が左基準位置のみ利用するものは上の文字を選択する。但し、上,下の一方に文字がない場合は、存在する方の文字を利用し、ともに存在しない場合は固定の文字(例えば、げた記号“〓”)等を利用する。
【０１４７】
そして、指定文字取得部５０２は、基準文字選択部５０１により選択された文字の文字画像を取得する。
【０１４８】
次に、基準位置決定部６は、指定文字取得部５０２により取得された文字の文字画像に対して外接する矩形枠に基づいて基準位置を決定する。
【０１４９】
次に、文字画像変換部の一例としての移動位置確定部７は、基準位置決定部６により決定された基準位置およびシフト位置ルール記憶部１２に記憶されたシフト位置ルールに基づいて、文字画像の回転または移動の少なくとも一方を行って文字画像の移動位置を確定する。
【０１５０】
以下、この文章表示装置は、第１実施形態の文章表示装置と同様の動作を行う。
【０１５１】
上記第６実施形態の文章表示装置は、第１実施形態の文章表示装置と同様の効果を有する。
【０１５２】
また、上記文章表示装置によれば、電子書籍の文章のうちの表示部１０に表示される文字毎に、その文字を挟む前後の文字の一方を基準となる文字として基準位置決定部６により基準位置を決定することによって、少なくとも前または後の文字と局所的にバランスのとれた位置に文字画像を配置することができる。また、基本的に、前後の文字もバランスのとれた配置であるので、結果として全体的にバランスのとれた文字の配置が可能となる。
【０１５３】
上記第１〜第６実施形態では、電子書籍を表示する毎に、文章のフォントに属する全文字のうちの基準となる文字の文字画像に対して外接する矩形枠に基づいて基準位置を決定したが、基準位置決定部により決定された基準位置をフォントとそのフォントのサイズに対応させて記憶する基準位置記憶部を備えてもよい。この場合、次に同一のフォントかつ同一のサイズについては、基準位置記憶部に記憶された基準位置を用いることによって、基準位置決定部により基準位置を決定する必要がなくなり、基準位置を決定する処理を簡略化することができる。
【０１５４】
また、上記基準位置記憶部に基準位置が記憶されたフォントと同一のフォントでかつ基準位置記憶部に基準位置が記憶されていない上記フォントの他のサイズについては、基準位置記憶部に基準位置が記憶されたフォントのサイズにおける１文字あたりの描画領域と上記フォントの他のサイズにおける１文字あたりの描画領域との大きさの割合に基づいて、基準位置決定部によって、基準位置記憶部に記憶された基準位置を拡大または縮小して用いることによって、基準位置決定部により上記基準となる文字の文字画像に対して外接する矩形枠を求める必要がなくなり、基準位置を決定する処理を簡略化できる。
【０１５５】
例えば、図２８に示すように、算出した位置の情報を仮想ボディの左上のコーナーの座標をｘ＝0,ｙ＝0とし、左基準位置の座標をｘ1,右基準位置の座標をｘ2上基準位置の座標をｙ1,下基準位置の座標をｙ2として記憶しておき、フォントサイズ変更(＝仮想ボディサイズ変更)時に、その割合に応じて拡大、縮小することで、各フォントサイズの基準位置を算出する(図２８では、１５０％に拡大)。
【０１５６】
これによって、基準位置記憶部に基準位置が記憶されたフォントと同一のフォントでかつ異なるサイズであっても、再計算せず、高速に基準位置の設定が可能となる。また、電子書籍を最初に開いたとき等に１回だけ基準位置の算出を行い、フォント名と関連させて、上記のような座標形式のデータとして基準位置を保管することにより、同一のフォントであれば、異なるサイズについての基準位置を高速に算出することができる。
【０１５７】
例えば、全ての種類のフォントの標準サイズについて算出した基準位置を基準位置記憶部に記憶し、サイズ変更時に上記基準位置記憶部に記憶された基準位置を拡大,縮小したものを用いることにより、基準位置の算出が大幅に簡略化できる。
【０１５８】
なお、上記基準位置の取得は、電子書籍を最初に開く時と決める必要がなく、基準位置を取得するときに保存されているデータがある場合は、それを利用し、保存されているデータがない場合は、算出、保存の処理を行うことで、効率的に基準位置計算が可能となる。
【０１５９】
上記第１〜第６実施形態では、基準となる文字の文字画像に対して外接する矩形枠の左基準位置と右基準位置から矩形枠の幅を求め、矩形枠の上基準位置と下基準位置から矩形枠の高さを求めて、この幅と高さの矩形枠を仮想ボディの中心に中心が一致するように配置して基準位置としたが、基準となる各文字の左基準位置,右基準位置,上基準位置,下基準位置の座標の平均により「仮想ボディ」内の平均基準位置の矩形枠の配置を決定してもよい。
【０１６０】
例えば、フォント自体が左側に偏っている場合、図２９に示すように、鍵括弧開き“「”の回転,移動させた位置では、矩形枠を仮想ボディの中心に中心が一致するように配置して基準位置とすると、縦書きでのバランスが悪くなる。これに対して、「仮想ボディ」の左下コーナーを座標基準点として横軸ｘ,縦軸ｙとして、基準となる各文字の左基準位置,右基準位置のｘ座標の平均および上基準位置,下基準位置のｙ座標の平均で定義される矩形枠を平均基準位置に用いることにより、図３０に示すように、横書き用フォントを用いて、全体としてのバランスのよいレイアウトの縦書き表示ができる。
【０１６１】
また、上記第１〜第６実施形態では、電子書籍の文章を表示する文章表示装置について説明したが、これに限らず、電子メールや書類などの他の文書の文章を表示する文章表示装置にこの発明を適用してもよい。
【０１６２】
また、上記第１〜第６実施形態では、文章を横書き用フォントで縦書き表示する文章表示装置について説明したが、これに限らず、文章を縦書き用フォントで横書き表示する文章表示装置にこの発明を適用してもよい。この場合、縦書き用フォントを用いて、全体としてのバランスのよいレイアウトの横書き表示ができる。
【０１６３】
また、上記第１〜第６実施形態では、１種類のフォントで文章が構成されている電子書籍のデータを表示する文章表示装置について説明したが、これに限らず、複数種類のフォントで文章が構成されている電子書籍の文章を表示する文章表示装置にこの発明を適用してもよい。例えば、電子書籍に用いられている全てのフォントのうちの文字数の多い方のフォントについて、基準となる文字の文字画像に対して外接する矩形枠に基づいて基準位置を決定するようにしてもよい。
【０１６４】
また、この発明の文章表示装置は、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０１６５】
すなわち、この発明の文章表示装置としては、各機能を実現する制御プログラム(文章表示プログラム)の命令を実行するＣＰＵ(central processing unit)、上記プログラムを格納したＲＯＭ(read only memory)、上記プログラムを展開するＲＡＭ(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備える。そして、本発明の目的は、上述した機能を実現するソフトウェアである文章表示装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラムなどを含む)をコンピュータで読み取り可能に記録した記録媒体を、文章表示装置に供給し、そのコンピュータ(またはＣＰＵやＭＰＵ)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１６６】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク／ハードディスク等の磁気ディスクやコンパクトディスク−ＲＯＭ／ＭＯ(光磁気)／ＭＤ(ミニディスク)／デジタルビデオディスク／コンパクトディスク−Ｒ等の光ディスクを含むディスク系、ＩＣカード(メモリカードを含む)／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０１６７】
また、コンピュータを通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ(Local Area Network：ローカル・エリア・ネットワーク)、ＩＳＤＮ(Integrated Service Digital Network：統合サービス・デジタル・ネットワーク)、ＶＡＮ(Value Added Network：付加価値通信網)、ＣＡＴＶ(Cable Television：ケーブル・テレビジョン)通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ(Institute of Electrical and Electronics Engineers)１３９４、ＵＳＢ(Universal Serial Bus)、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ(Asymmetric Digital Subscriber Line：非対称デジタル加入者線)回線等の有線でも、ＩｒＤＡ(Infrared Data Association)やリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ(登録商標)、８０２．１１無線、ＨＤＲ(High Data Rate：ハイ・データ・レート)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０１６８】
また、この発明の文章表示装置、文章表示方法、文章表示プログラムおよびコンピュータ読み取り可能な記録媒体は、日本語に限らず、縦書き表示および横書き表示が可能な中国語や韓国語などの言語で記載された電子書籍の表示に適用することができる。
【０１６９】
この発明の具体的な実施の形態について説明したが、この発明は上記実施の形態に限定されるものではなく、この発明の範囲内で種々変更して実施することができる。
【符号の説明】
【０１７０】
１…書籍データ取得部
２…レイアウト生成部
３…文字回転・シフト判断部
４…処理内容決定部
５…基準文字取得部
６…基準位置決定部
７…移動位置確定部
８…文字画像配置部
９…画像出力部
１０…表示部
１１…配置条件テーブル記憶部
１２…シフト位置ルール記憶部
１０５…複数基準文字取得部
１０６…平均基準位置決定部
２０５…全文字取得部
３０５…行中全文字取得部
４０５…行中最大文字取得部
５０１…基準文字選択部
５０２…指定文字取得部
【図１】
0005739733.tif 000002
【図２】
0005739733.tif 000003
【図３】
0005739733.tif 000004
【図４】
0005739733.tif 000005
【図５】
0005739733.tif 000006
【図６】
0005739733.tif 000007
【図７】
0005739733.tif 000008
【図８】
0005739733.tif 000009
【図９】
0005739733.tif 000010
【図１０】
0005739733.tif 000011
【図１１】
0005739733.tif 000012
【図１２】
0005739733.tif 000013
【図１３】
0005739733.tif 000014
【図１４】
0005739733.tif 000015
【図１５】
0005739733.tif 000016
【図１６】
0005739733.tif 000017
【図１７】
0005739733.tif 000018
【図１８】
0005739733.tif 000019
【図１９】
0005739733.tif 000020
【図２０】
0005739733.tif 000021
【図２１】
0005739733.tif 000022
【図２２】
0005739733.tif 000023
【図２３】
0005739733.tif 000024
【図２４】
0005739733.tif 000025
【図２５】
0005739733.tif 000026
【図２６】
0005739733.tif 000027
【図２７】
0005739733.tif 000028
【図２８】
0005739733.tif 000029
【図２９】
0005739733.tif 000030
【図３０】
0005739733.tif 000031
【図３１】
0005739733.tif 000032
【図３２】
0005739733.tif 000033
【図３３】
0005739733.tif 000034