(57)【要約】【課題】本発明は、ルビを見易く表示するための変換装置、変換方法、表示システム及びコンピュータプログラムを提供する。【解決手段】ＰＣ１は、ネットワーク網Ｎを介してサーバ装置２から歌詞データを受付ける。ＰＣ１は、歌詞データに含まれており、連続して配列してあるルビ付き歌詞文字列を読み出して連結すると共に、対応するルビ文字列を連結する。ＰＣ１は、受付けた歌詞データに含まれるルビ付き歌詞文字列及び対応するルビ文字列夫々を、連結したルビ付き歌詞文字列及び連結したルビ文字列に変換し、表示データとしてサーバ装置２に出力する。サーバ装置２は、ＰＣ１により変換して得た表示データをカラオケ装置３に送信する。カラオケ装置３は、受信した表示データを表示することにより、ルビ付き歌詞文字列に沿ってルビを見易く表示する。【選択図】図１
2010205151.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字列のうち、一部の文字列に子文字列が対応付けられた入力データを受付けて、表示装置により前記子文字列を前記一部の文字列に沿って表示すべく表示データへ変換する変換装置において、
連続して配列してある一部の文字列を連結する文字列連結手段と、
前記一部の文字列夫々に対応付けられた子文字列を連結する子文字列連結手段と、
該子文字列連結手段により連結した子文字列を前記文字列連結手段により連結した前記一部の文字列に対応付ける対応付け手段と、
前記入力データに含まれる前記一部の文字列を前記対応付け手段により対応付けられた一部の文字列へ変換する変換手段と
を備えることを特徴とする変換装置。
【請求項２】
前記子文字列は、前記一部の文字列に付されるルビであることを特徴とする請求項１に記載の変換装置。
【請求項３】
前記変換手段は、前記子文字列連結手段により連結した子文字列を、前記対応付け手段により対応付けられた一部の文字列に沿って配列してなる表示データへ変換するよう構成してあることを特徴とする請求項１又は請求項２に記載の変換装置。
【請求項４】
複数の文字列のうち、一部の文字列に子文字列が対応付けられた入力データを受付けて、表示装置により前記子文字列を前記一部の文字列に沿って表示すべく表示データへ変換する変換方法において、
連続して配列してある一部の文字列を連結する文字列連結ステップと、
前記一部の文字列夫々に対応付けられた子文字列を連結する子文字列連結ステップと、
該子文字列連結ステップにより連結した子文字列を前記文字列連結ステップにより連結した前記一部の文字列に対応付ける対応付けステップと、
前記入力データに含まれる一部の文字列を前記対応付けステップにより対応付けられた一部の文字列へ変換する変換ステップと
を備えることを特徴とする変換方法。
【請求項５】
請求項１から請求項３までのいずれか一項に記載の変換装置と、
該変換装置により変換した表示データを表示する表示装置と
を備えることを特徴とする表示システム。
【請求項６】
複数の文字列のうち、一部の文字列に子文字列が対応付けられた入力データを受付けるコンピュータに、表示装置により前記子文字列を前記一部の文字列に沿って表示すべく表示データへ変換させるコンピュータプログラムにおいて、
前記コンピュータに、
連続して配列してある一部の文字列を連結する文字列連結ステップと、
前記一部の文字列夫々に対応付けられた子文字列を連結する子文字列連結ステップと、
該子文字列連結ステップにより連結した子文字列を前記文字列連結ステップにより連結した前記一部の文字列に対応付ける対応付けステップと、
前記入力データに含まれる前記一部の文字列を前記対応付けステップにより対応付けた一部の文字列へ変換する変換ステップと
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルビを見易く表示するための変換装置、変換方法、表示システム及びコンピュータプログラムに関する。
【背景技術】
【０００２】
楽曲の演奏時に読み仮名を示すルビが付された歌詞を表示するカラオケ装置、カラオケ機能付き携帯電話機及びＤＴＭ（ Desk Top Music）装置等が使われている。このようなカラオケ装置は、ルビを含む歌詞データを受付けて表示するようにしてある。特許文献１及び特許文献２には、受付けた歌詞データに対して形態素解析及び構文解析等を施し、変換用の辞書を参照して歌詞の読み仮名を取得し、ルビを含む歌詞データを作成する装置が開示されている。しかし、歌詞の読み仮名は、一般的な読み仮名と曲毎に異なる場合があるため、ルビを含む歌詞データは、データ作成者により人手で作成されることがある。
【０００３】
データ作成者により、１曲の歌詞全体が複数の画面夫々に表示する歌詞に分割され、さらに各画面に表示する歌詞が複数の部分歌詞に分割される。次に、データ作成者により、複数の部分歌詞のうち、一部の部分歌詞にルビが付けられる。データ作成者により、複数の部分歌詞夫々を示す複数の文字列からなり、当該複数の文字列の一部にルビを示す子文字列が対応付けられた歌詞データが作成される。歌詞データは、カラオケ装置に与えられる。カラオケ装置は、カラオケ曲の演奏中に歌詞データに配列してある複数の文字列を順次表示し、子文字列を対応する文字列の上側に沿って表示することで、歌詞をルビと共に表示する。歌詞を複数の部分歌詞に分割する方法は、データ作成者によって異なり、例えば、歌詞を漢字一文字毎又は複合語の途中で分割し、得られた部分歌詞夫々を示す複数の文字列を含む歌詞データが作成されることがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−４１０７４号公報
【特許文献２】特開２００２−８２６６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような歌詞データがカラオケ装置に与えられて、漢字一文字又は複合語の途中で分割された部分歌詞夫々に沿ってルビが表示される場合、ルビが付される単語又は熟語との対応関係がユーザにとって把握し難く、ルビが見難いという問題があった。
【０００６】
本発明は斯かる事情に鑑みてなされたものであり、入力データに連続して配列してある一部の文字列を連結する文字列連結手段と、対応するルビ文字列を連結する連結手段とを備えることにより、ルビを視認し易く表示することが可能となる変換装置、変換方法、表示システム及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る変換装置は、複数の文字列のうち、一部の文字列に子文字列が対応付けられた入力データを受付けて、表示装置により前記子文字列を前記一部の文字列に沿って表示すべく表示データへ変換する変換装置において、連続して配列してある一部の文字列を連結する文字列連結手段と、前記一部の文字列夫々に対応付けられた子文字列を連結する子文字列連結手段と、該子文字列連結手段により連結した子文字列を前記文字列連結手段により連結した前記一部の文字列に対応付ける対応付け手段と、前記入力データに含まれる前記一部の文字列を前記対応付け手段により対応付けられた一部の文字列へ変換する変換手段とを備えることを特徴とする。
【０００８】
本発明にあっては、入力データに含まれており、子文字列が対応付けられた文字列のうち、連続して配列してある文字列が連結されると共に、当該文字列夫々に対応付けられた子文字列が連結される。入力データに含まれる子文字列が対応付けられた文字列は、連結された文字列に変換されると共に、当該子文字列は、連結された子文字列に変換される。これにより、入力データは、１つの単語及び熟語に対応した文字列に沿って子文字列が表示される表示データへ変換される。
【０００９】
本発明に係る変換装置は、前記子文字列は、前記一部の文字列に付されるルビであることを特徴とする。
【００１０】
本発明にあっては、文章及び歌詞等の部分を示す複数の文字列のうち、一部の文字列に沿って、当該文章及び歌詞等の読み仮名を示すルビが表示される。
【００１１】
本発明に係る変換装置は、前記変換手段は、前記子文字列連結手段により連結した子文字列を、前記対応付け手段により対応付けられた一部の文字列に沿って配列してなる表示データへ変換するよう構成してあることを特徴とする。
【００１２】
本発明にあっては、入力データが、連結された文字列に沿って、対応する連結された子文字列が配列された表示データへ変換される。表示装置が表示データを表示することにより、１つの単語及び熟語に対応した文字列に沿ってルビが表示される。
【００１３】
本発明に係る変換方法は、複数の文字列のうち、一部の文字列に子文字列が対応付けられた入力データを受付けて、表示装置により前記子文字列を前記一部の文字列に沿って表示すべく表示データへ変換する変換方法において、連続して配列してある一部の文字列を連結する文字列連結ステップと、前記一部の文字列夫々に対応付けられた子文字列を連結する子文字列連結ステップと、該子文字列連結ステップにより連結した子文字列を前記文字列連結ステップにより連結した前記一部の文字列に対応付ける対応付けステップと、前記入力データに含まれる一部の文字列を前記対応付けステップにより対応付けられた一部の文字列へ変換する変換ステップとを備えることを特徴とする。
【００１４】
本発明にあっては、入力データに含まれており、子文字列が対応付けられた文字列のうち、連続して配列してある文字列が連結されると共に、当該文字列夫々に対応付けられた子文字列が連結される。入力データに含まれており、子文字列が対応付けられた文字列は、連結された文字列に変換されると共に、当該子文字列は、連結された子文字列に変換される。これにより、入力データは、１つの単語及び熟語に対応した文字列に沿って子文字列が表示される表示データへ変換される。
【００１５】
本発明に係る表示システムは、前述の変換装置と、該変換装置により変換した表示データを表示する表示装置とを備えることを特徴とする。
【００１６】
本発明にあっては、入力データが変換装置によりルビを見易く表示すべく表示データへ変換される。表示装置は、表示データを表示することにより、ルビの配置の調整を必要とせずにルビを見易く表示する。
【００１７】
本発明に係るコンピュータプログラムは、複数の文字列のうち、一部の文字列に子文字列が対応付けられた入力データを受付けるコンピュータに、表示装置により前記子文字列を前記一部の文字列に沿って表示すべく表示データへ変換させるコンピュータプログラムにおいて、前記コンピュータに、連続して配列してある一部の文字列を連結する文字列連結ステップと、前記一部の文字列夫々に対応付けられた子文字列を連結する子文字列連結ステップと、該子文字列連結ステップにより連結した子文字列を前記文字列連結ステップにより連結した前記一部の文字列に対応付ける対応付けステップと、前記入力データに含まれる前記一部の文字列を前記対応付けステップにより対応付けた一部の文字列へ変換する変換ステップとを実行させることを特徴とする。
【００１８】
本発明にあっては、入力データに含まれており、子文字列が対応付けられた文字列のうち、連続して配列してある文字列が連結されると共に、当該文字列夫々に対応付けられた子文字列が連結される。入力データに含まれており、子文字列が対応付けられた文字列は、連結された文字列に変換されると共に、当該子文字列は、連結された子文字列に変換される。これにより、入力データは、１つの単語及び熟語に対応した文字列に沿って子文字列が表示される表示データへ変換される。
【発明の効果】
【００１９】
本発明にあっては、入力データに連続して配列してある一部の文字列を連結する文字列連結手段と、対応するルビ文字列を連結する連結手段とを備えることにより、ルビを視認し易く表示することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】実施の形態１に係るカラオケシステムの構成を示すブロック図である。
【図２】実施の形態１に係るＰＣの内部構成例を示すブロック図である。
【図３】実施の形態１に係る置換文字ＤＢのレコードレイアウト例を示す図表である。
【図４】実施の形態１に係る歌詞データのレコードレイアウト例を示す模式図である。
【図５】実施の形態１に係る対応表のレコードレイアウト例を示す図表である。
【図６】実施の形態１に係る第１ルビレイアウト処理を説明するための説明図である。
【図７】実施の形態１に係る第１ルビレイアウト処理を説明するための説明図である。
【図８】実施の形態１に係る第２ルビレイアウト処理を説明するための説明図である。
【図９】実施の形態１に係る第２ルビレイアウト処理を説明するための説明図である。
【図１０】実施の形態１に係る改行処理を説明するための説明図である。
【図１１】実施の形態１に係る改行処理を説明するための説明図である。
【図１２】実施の形態１に係る改行処理を説明するための説明図である。
【図１３】実施の形態１に係る改行処理を説明するための説明図である。
【図１４】実施の形態１に係る改行処理を説明するための説明図である。
【図１５】実施の形態１に係る改行処理を説明するための説明図である。
【図１６】実施の形態１に係る不要な空白文字の削除処理を説明するための説明図である。
【図１７】実施の形態１に係る表示データのレコードレイアウト例を示す模式図である。
【図１８】実施の形態１に係るデータ変換処理の手順を示すフローチャートである。
【図１９】実施の形態１に係るデータ読込処理の手順を示すフローチャートである。
【図２０】実施の形態１に係る第１ルビレイアウト処理の手順を示すフローチャートである。
【図２１】実施の形態１に係る先頭挿入処理の手順を示すフローチャートである。
【図２２】実施の形態２に係る第１ルビレイアウト処理を説明するための説明図である。
【図２３】実施の形態２に係る第１ルビレイアウト処理を説明するための説明図である。
【図２４】実施の形態２に係る第１ルビレイアウト処理の手順を示すフローチャートである。
【図２５】実施の形態２に係る均等挿入処理の手順を示すフローチャートである。
【図２６】実施の形態３に係るＰＣの内部構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
実施の形態１
以下、本発明をその実施の形態を示す図面を参照して具体的に説明する。本発明の表示システムは、ルビを含むテキストデータを受け付けて変換する変換装置と、変換装置により変換されたテキストデータを表示する表示装置とからなる。テキストデータは、例えばルビが付された文章からなる電子書籍データ、ルビが付されたセリフからなる映画及びドラマの字幕データ、並びにルビが付された歌詞からなる歌詞データ等である。変換装置は、ネットワーク網を介して変換すべきテキストデータを受け付けるサーバ装置、並びにネットワーク網及び記憶媒体を介して変換すべきテキストデータを受け付けるＰＣ（ Personal Computer ）等である。表示装置は、例えば、液晶パネル等の表示部を有する携帯端末装置及び携帯電話機、並びに表示部を有するカラオケ装置等である。本実施の形態では、表示システムとして、歌詞データを変換して得た表示データをカラオケ装置により表示するカラオケシステムを例に挙げて説明する。
【００２２】
図１は、実施の形態１に係るカラオケシステムの構成を示すブロック図である。図中１は、変換装置としてのＰＣであり、インターネット又はＬＡＮ（ Local Area Network ）等のネットワーク網Ｎを介してサーバ装置２に接続してある。サーバ装置２は、演奏データ、楽曲情報及びデータ作成者により作成された複数の歌詞データを管理している。また、サーバ装置２は、ネットワーク網Ｎを介してＰＣ１からの要求を受付け、当該要求に応じて歌詞データ及び楽曲情報をＰＣ１に送信するようにしてある。ＰＣ１は、サーバ装置２から送られてきた入力データとしての歌詞データを表示データに変換し、当該表示データに楽曲情報を付加してサーバ装置２に送信するようにしてある。
【００２３】
サーバ装置２は、ＰＣ１により変換された表示データを管理するようにしてある。サーバ装置２には、ネットワーク網Ｎを介して表示装置としてのカラオケ装置３が接続してある。カラオケ装置３は、サーバ装置２に特定の曲の表示データ及び演奏データを要求するようにしてある。また、カラオケ装置３は、要求に応じて送られてきた演奏データ及び表示データに基づいてカラオケ曲を演奏すると共に、ルビが付された歌詞を表示するようにしてある。カラオケ装置３により演奏及び表示されるカラオケ曲及び歌詞に応じてユーザが歌唱を行うようにしてある。
【００２４】
図２は、実施の形態１に係るＰＣ１の内部構成例を示すブロック図である。ＰＣ１は、ネットワーク網Ｎと接続し、当該ネットワーク網Ｎを介してサーバ装置２から歌詞データを受付けると共に、当該サーバ装置２へ表示データを出力するための通信部１３を備える。また、ＰＣ１は、コンピュータプログラムに従って挿入手段、変更手段、連結手段（文字列連結手段及び子文字列連結手段）、対応付け手段、変換手段、文字列長取得手段及び判定手段として機能するＣＰＵ（ Central Processing Unit ）１０を備える。
【００２５】
ＣＰＵ１０には、ＲＯＭ（Read Only Memory ）１１と、ＲＡＭ（ Random-Access Memory ）１２と、通信部１３と、置換文字ＤＢ（ Data Base ）１４と、表示部１５と、操作受付部１６とがバス１０ａを介して接続してある。ＣＰＵ１０は、バス１０ａを介してハードウェア各部を制御するようにしてある。置換文字ＤＢ１４は、歌詞データに含まれる特定の文字を予め指定してある文字に置換するための表を記憶してある。ＲＯＭ１１は、ＣＰＵ１０で実行されるコンピュータプログラム及び当該コンピュータプログラムを読み出すためのバッチファイルが記憶してある。
【００２６】
ＲＡＭ１２は、ＲＯＭ１１から読み出したプログラムを記憶すると共に、コンピュータプログラムの実行中に生じる変数等を記憶するようにしてある。表示部１５は、液晶パネル等からなり、コマンドプロンプトを表示するようにしてある。操作受付部１６は、キーボード及びマウス等からなり、ユーザによる操作を受け付けるようにしてある。ＣＰＵ１０は、表示部１５に表示したコマンドプロンプトを介して操作受付部１６がユーザによるバッチファイルの実行操作を受け付けた場合、ＲＯＭ１１からコンピュータプログラムをＲＡＭ１２に読み出して実行するようにしてある。
【００２７】
図３は、実施の形態１に係る置換文字ＤＢ１４のレコードレイアウト例を示す図表である。置換文字ＤＢ１４には、歌詞データに含まれる文字のうち、置換する文字が置換元文字として記憶してあり、各置換元文字に対して置換先の文字が置換先文字として記憶してある。置換元文字として、全角文字を示す文字列が指定してあり、置換先文字として、カタカナの半角文字が指定してある。図３に示す例では、全角文字のひらがなである置換元文字「あ」、「い」、…夫々に対応してカタカナの半角文字である置換先文字「ア」、「イ」、…が指定してある。また、濁点を含んでおり、濁音を示す全角文字である置換元文字「ガ」、「ギ」、…夫々に対応してカタカナの半角文字である置換先文字「カ゛」、「キ゛」、…が指定してある。また、半濁点を含んでおり、半濁音を示す全角文字である置換元文字「パ」、「ピ」、…夫々に対応してカタカナの半角文字である置換先文字「ハ゜」、「ヒ゜」、…が指定してある。
【００２８】
図４は、実施の形態１に係る歌詞データのレコードレイアウト例を示す模式図である。歌詞データは、全角文字及び半角文字からなるテキストデータである。ここで、全角文字は、等幅フォントを用いて表示した場合、文字の高さが文字幅と略同一となる文字である。また、半角文字は、等幅フォントを用いて表示した場合、文字の高さが文字幅の略２倍となる文字である。全角文字及び半角文字は、空白（スペース）が表示される空白文字を含んでいる。歌詞データは、画面切替えを示す「；」（セミコロン）で区切られており、各画面に表示する歌詞を示す画面歌詞データが複数配列してある。
【００２９】
図４に示す例では、３つのセミコロンにより３回の画面切替が指定されている。また、図４には、画面切替後に表示する歌詞を示す画面歌詞データ夫々が各セミコロンの次の行に配列されている。各画面歌詞データには、複数の文字列としての複数の部分歌詞文字列が配列されている。部分歌詞文字列夫々は、画面切替後に表示する歌詞がデータ作成者等により複数の部分歌詞に分割されて得られた文字列である。複数の部分歌詞文字列のうち、一部の部分歌詞文字列に子文字列としての部分ルビ文字列が対応付けられている。部分ルビ文字列夫々は、各部分歌詞の読み仮名を示す複数のルビ文字からなる文字列である。ここで、部分歌詞文字列及び部分ルビ文字列夫々は、１個の文字からなる文字列を含む。
【００３０】
部分歌詞文字列は、漢字、カタカナ、平仮名、数字、アルファベット及び空白を示す文字からなる。部分ルビ文字列は、平仮名及びカタカナを示すルビ文字からなる。部分歌詞文字列のうち、部分ルビ文字列が対応付けられる一部の部分歌詞文字列は、先頭に「”」（ダブルコーテーション）が付加されて、画面歌詞データに配列されている。また、部分ルビ文字列が対応付けられない部分歌詞文字列は、先頭にダブルコーテーションが付加されずに画面歌詞データに配列されている。部分ルビ文字列は、先頭及び終端にダブルコーテーションが付加されて、対応する部分歌詞文字列の後端に挿入されている。
【００３１】
以下、部分ルビ文字列が対応付けられた部分歌詞文字列をルビ付き部分歌詞文字列と呼ぶ。また、部分ルビ文字列が対応付けられていない部分歌詞文字列をルビ無し部分歌詞文字列と呼ぶ。例えば、図４に示す画面歌詞データ「”一”いち””番”ばん””大切”たいせつ”な”事”こと”」は、ルビ付き部分歌詞文字列「一」、「番」、「大切」及び「事」夫々の後端に対応する部分ルビ文字列「いち」、「ばん」、「たいせつ」及び「こと」が各挿入されている。また、ルビ無し部分歌詞文字列「な」は、ダブルコーテーションが付加された部分ルビ文字列の「”たいせつ”」の後端に配列してある。次に、ＰＣ１が歌詞データを読込む手順について説明する。
【００３２】
ＰＣ１は、各画面歌詞データに配列してある部分歌詞文字列を順に読み出す。ＰＣ１は、ルビ付き部分歌詞文字列を読み出す場合、対応する部分ルビ文字列と共に読み出すようにしてある。ＰＣ１は、読み出した部分歌詞文字列のうち、ルビ無し部分歌詞文字列を挟まずに連続して配列してある複数のルビ付き部分歌詞文字列を連結し、１つのルビ付き歌詞文字列として取得する。また、ＰＣ１は、連結したルビ付き部分歌詞文字列夫々に対応する部分ルビ文字列を連結し、１つのルビ文字列として取得する。読み出した部分文字列のうち、連続していない各ルビ付き部分歌詞文字列及びルビ無し部分歌詞文字列夫々は、１つのルビ付き歌詞文字列及びルビ無し歌詞文字列として各取得される。
【００３３】
また、連続していないルビ付き部分歌詞文字列に対応する部分ルビ文字列夫々は、１つのルビ文字列として各取得される。ＰＣ１は、取得したルビ付き歌詞文字列及びルビ無し歌詞文字列を、画面歌詞データにおける部分歌詞文字列の配列順に基づいて、歌詞文字列として並べた対応表を作成し、ＲＡＭ１２に記憶する。ＰＣ１は、対応表に並べた歌詞文字列のうち、ルビ付き歌詞文字列夫々にルビ文字列を対応付ける。
【００３４】
図５は、実施の形態１に係る対応表のレコードレイアウト例を示す図表である。図５に示す対応表の例は、図４の例に示す画面歌詞データ「”一”いち””番”ばん””大切”たいせつ”な”事”こと”」を読込んで作成された対応表を示している。画面歌詞データに連続して配置してあるルビ付き部分歌詞文字列「一」、「番」及び「大切」が連結されて１つのルビ付き歌詞文字列「一番大切」が取得されている。また、図５は、連続して配置されていないルビ付き部分歌詞文字列「事」が１つのルビ付き歌詞文字列「事」として取得されている。また、図５は、画面歌詞データに配置してあるルビ無し部分歌詞文字列「な」が１つのルビ無し歌詞文字列として取得されている。また、図５の対応表には、歌詞データでの配列順に基づいてルビ付き歌詞文字列「一番大切」、ルビ無し歌詞文字列「な」及びルビ付き歌詞文字列「事」の順に並べられている。
【００３５】
図５に示す例では、部分ルビ文字列「いち」、「ばん」及び「たいせつ」が連結されてルビ文字列「いちばんたいせつ」が取得され、当該ルビ文字列が対応表のルビ付き歌詞文字列「一番大切」に対応付けられている。ルビ部分文字列「こと」が１つのルビ文字列として取得され、対応表のルビ付き歌詞文字列「事」に対応付けられている。ＰＣ１は、全ての画面歌詞データに基づいて対応表を作成し、歌詞データの読込みを完了する。ＰＣ１は、対応表のルビ文字列に置換文字ＤＢ１４により指定された置換元文字が含まれている場合、置換先文字を用いて対応表を書き換える。これにより、ルビが全角文字を含んでいる場合、半角文字に置換される。
【００３６】
また、置換文字ＤＢ１４の置換先文字としてＪＩＳコード等に含まれない外字を指定し、当該外字に置換するようにしてもよい。この場合、歌詞部に”[”（左カッコ）及び”]”（右カッコ）で囲まれた特定の文字コードを示す文字列を挿入し、当該文字列を置換元文字とし、外字に対応付けて置換文字ＤＢ１４により指定するとよい。次に、ルビ文字列をなすルビ文字夫々のルビ付き歌詞文字列に対する配置を変更する第１ルビレイアウト処理を説明する。
【００３７】
ＰＣ１は、ルビ付き歌詞文字列及びルビ文字列夫々の文字列長を取得する。各文字列長は、半角文字幅で取得されるようにしてあり、文字列に含まれる全角文字の個数の２倍値と、当該文字列に含まれる半角文字の個数との合計値に対応する。また、１個の文字からなる文字列の場合、文字列長として１が取得されるようにしてある。ＰＣ１は、文字列長の差を２等分した数の空白文字をルビ付き歌詞文字列及びルビ文字列のうち、文字列長の短い文字列の先頭に挿入する。これにより、ルビ文字列がルビ付き歌詞文字列の略中央に表示されるよう配置が調整される。
【００３８】
ルビ文字列の終端文字が濁点又は半濁点である場合、ルビ文字列の文字列長として、終端文字を除いた文字列長を取得することにより、ルビ文字列又はルビ付き歌詞文字列の先頭に挿入する空白文字の個数が１個加算される。これにより、他の半角文字と比較して左側に位置するよう視認される濁点又は半濁点に合わせてルビ文字列がルビ付き歌詞文字列に対して空白文字１個分を右側に移動して配置される。以上の第１ルビレイアウト処理を数式に基づいて実行する方法を説明する。
【００３９】
ＰＣ１は、ルビ付き歌詞文字列の文字列長、すなわち一部の文字列の文字列長としての歌詞文字列長Ｗ１と、ルビ文字列の文字列長、すなわち子文字列の文字列長としてのルビ文字列長Ｗ２とを取得する。ＰＣ１は、判定値ｍを、次式（１）に基づいて算出する。
ｍ＝（Ｗ１−Ｗ２＋Ｃ）／２            （１）
ここで、Ｃは、ルビ文字列の終端文字が濁音又は半濁音である場合、１が設定され、濁音又は半濁音で無い場合、０が設定される補正値である。次にＰＣ１は、挿入個数ｎを次式（２）に基づいて算出する。
ｎ＝Ｉｎｔ〔｜ｍ｜〕                  （２）
ここでＩｎｔは、変数の小数点以下を切り捨てて変数の整数部を取得する関数である。
【００４０】
ＰＣ１は、ルビ付き歌詞文字列がルビ文字列よりも短く、判定値ｍが負値である場合、ルビ付き歌詞文字列の先頭に挿入個数ｎの半角の空白文字を挿入する。また、ＰＣ１は、ルビ付き歌詞文字列がルビ文字列よりも長く、判定値ｍが正値である場合、ルビ文字列の先頭に挿入個数ｎの半角の空白文字を挿入する。ＰＣ１は、配置を調整したルビ付き歌詞文字列及びルビ文字列の組を用いて対応表を書換える。ＰＣ１は、対応表に含まれるルビ付き歌詞文字列及びルビ文字列の組全てに第１ルビレイアウト処理を施して対応表を書換える。
【００４１】
図６は、実施の形態１に係る第１ルビレイアウト処理を説明するための説明図である。図中（ａ）及び（ｂ）夫々は、第１ルビレイアウト処理が施される前後のルビ付き歌詞文字列及びルビ文字列を示す。図６（ａ）に示す例では、ルビ付き歌詞文字列「Come on」の歌詞文字列長Ｗ１及びルビ文字列「カモン」のルビ文字列長Ｗ２夫々は、７及び３となる。ルビ文字列の終端文字が濁音又は半濁音でないため、補正値Ｃは０となる。この場合、式（１）より判定値ｍとして２が算出され、式（２）より挿入個数ｎとして２が算出される。判定値ｍは、正値であるため、ルビ文字列「カモン」の先頭に２個の半角の空白文字が図６（ｂ）に示す如く挿入されている。これにより、図６（ｂ）は、ルビ文字列「カモン」が、ルビ付き歌詞文字列「Come on」に対して略中央となるよう配置が調整されている。
【００４２】
図７は、実施の形態１に係る第１ルビレイアウト処理を説明するための説明図である。図中（ａ）及び（ｂ）夫々は、第１ルビレイアウト処理が施される前後のルビ付き歌詞文字列及びルビ文字列を示す。図７の（ａ）に示す例では、ルビ付き歌詞文字列「11万度」の歌詞文字列長Ｗ１及びルビ文字列「シ゛ュウイチマント゛」のルビ文字列長Ｗ２夫々は、６及び１０となる。ルビ文字列の終端文字が濁音であるため、補正値Ｃは１となる。この場合、式（１）より判定値ｍとして−１．５が算出され、式（２）より挿入個数ｎとして１が算出される。判定値ｍは、負値であるため、ルビ付き歌詞文字列「11万度」の先頭に１個の半角の空白文字が図７（ｂ）に示す如く挿入されている。
【００４３】
これにより、図７（ｂ）は、ルビ文字列「シ゛ュウイチマント゛」が、ルビ付き歌詞文字列「11万度」に対して略中央となるよう配置が調整されている。ＰＣ１は、対応表に含まれる全ての組の書換えを完了した場合、対応表に記憶してあるルビ付き歌詞文字列及びルビ無し歌詞文字列をルビ文字列と共に順に連結し、各画面歌詞データに対応した歌詞行を生成する。ＰＣ１は、文字列長の異なるルビ文字列が対応付けられたルビ付き歌詞文字列に他のルビ付き歌詞文字列を連結する場合、第２ルビレイアウト処理を行う。次に、第２ルビレイアウト処理について、ルビ文字列長Ｗ２よりも短い歌詞文字列長Ｗ１を有するルビ付き歌詞文字列を他のルビ付き歌詞文字列に連結する場合の手順を説明する。
【００４４】
図８は、実施の形態１に係る第２ルビレイアウト処理を説明するための説明図である。図中黒塗りで示す領域は、半角の空白文字からなるルビ無し歌詞文字列を示す。また、図中斜線で示す領域は、第１ルビレイアウト処理又は第２ルビレイアウト処理によりルビ付き歌詞文字列又はルビ文字列に挿入された半角の空白文字を示す。図８（ａ）に示す連結元のルビ付き歌詞文字列「 11万度 」は、第１ルビレイアウト処理により先頭に半角の空白文字１個が挿入してあるルビ付き歌詞文字列「 11万度」に、空白文字１個からなるルビ無し歌詞文字列が連結されてなる。また、ルビ付き歌詞文字列「 11万度 」は、ルビ文字列「シ゛ュウイチマント゛」よりも短い文字列長を有している。図８（ａ）に示す連結先のルビ付き歌詞文字列「Come on」は、先頭に半角の空白文字２個が第１ルビレイアウト処理により挿入されたルビ文字列「  カモン」が対応付けられている。
【００４５】
図８（ｂ）に示す如く歌詞文字列「11万度 」のルビ文字「ト」及び当該ルビ文字「ト」の後端に配置された「゛」に対応するよう２個の半角の空白文字を挿入されている。これにより、ルビ文字列及び歌詞文字列が同一の文字列長にされて、ルビ付き歌詞文字列「Come on」に、ルビ文字列「  カモン」と共に連結される。次に、図８（ｃ）に示す如く、連結されたルビ付き歌詞文字列間及び連結されたルビ文字列間夫々に２個以上の半角の空白文字が存在する場合、連結されたルビ文字列間の空白文字が１個となるようルビ文字列から空白文字が削除される。また、ルビ文字列から削除された空白文字と同数の空白文字が連結されたルビ付き歌詞文字列間から削除される。次に、第２ルビレイアウト処理について、ルビ文字列長Ｗ２よりも長い歌詞文字列長Ｗ１を有するルビ付き歌詞文字列を他のルビ付き歌詞文字列に連結する場合の手順を説明する。
【００４６】
図９は、実施の形態１に係る第２ルビレイアウト処理を説明するための説明図である。図中黒塗りで示す領域は、半角の空白文字からなるルビ無し歌詞文字列を示す。また、図中斜線で示す領域は、第１ルビレイアウト処理又は第２ルビレイアウト処理によりルビ付き歌詞文字列又はルビ文字列に挿入された半角又は全角の空白文字を示す。図９（ａ）に示す連結元のルビ付き歌詞文字列「不思議な 」は、ルビ付き歌詞文字列「不思議な」に、空白文字１個からなるルビ無し歌詞文字列が連結されてなる。また、ルビ付き歌詞文字列「不思議な 」には、第１レイアウト処理により先頭に半角の空白文字が1個挿入されたルビ文字列「 フシキ゛」が対応付けられている。ルビ付き歌詞文字列「不思議な 」は、ルビ付き文字列「 フシキ゛」よりも長い文字列長を有している。図９（ａ）に示す連結先のルビ付き歌詞文字列「 11万度」は、先頭に半角の空白文字１個が第１ルビレイアウト処理により挿入されたルビ文字列「シ゛ュウイチマント゛」が対応付けられている。
【００４７】
図９（ｂ）に示す如く、ルビ文字列「 フシキ゛」の終端に半角及び全角の空白文字夫々を挿入することにより、ルビ文字列及び歌詞文字列が同一の文字列長にされて、ルビ付き歌詞文字列「 11万度」にルビ文字列「シ゛ュウイチマント゛」と共に連結される。この場合、ルビ文字列「 フシキ゛」の終端に半角の空白文字のみを挿入してもよい。次に、図９（ｃ）に示す如く、連結されたルビ付き歌詞文字列間及び連結されたルビ文字列間夫々に２個以上の半角の空白文字が存在する場合、連結されたルビ付き歌詞文字列間の空白文字が１個となるようルビ付き歌詞文字から空白文字が削除される。また、ルビ付き歌詞文字列から削除された空白文字と同数の空白文字が連結されたルビ文字列から削除される。ＰＣ１は、生成した歌詞行が所定の文字列長に達した場合、改行処理を施して改行を行う。次に、改行処理を説明する。
【００４８】
改行処理は、４つの改行条件に基づいて実行される。ＰＣ１は、第１ルビレイアウト処理及び第２ルビレイアウト処理により挿入された空白文字と異なる空白文字が歌詞行に存在し、当該空白文字が改行位置よりも左側に位置している場合、当該空白文字のうち、改行位置に最も近い空白文字の直後で改行する（第１改行条件）。ＰＣ１は、第１ルビレイアウト処理及び第２ルビレイアウト処理により挿入された空白文字と異なる空白文字が歌詞行に存在しておらず、ルビ文字列の途中に改行が位置する場合、改行位置のルビ付き歌詞文字列の先端で改行する（第２改行条件）。
【００４９】
ＰＣ１は、第１ルビレイアウト処理及び第２ルビレイアウト処理により挿入された空白文字と異なる空白文字が歌詞行に存在しておらず、アルファベット表記でない歌詞文字列中に改行が位置する場合、改行位置で改行する（第３改行条件）。ＰＣ１は、第１ルビレイアウト処理及び第２ルビレイアウト処理により挿入された空白文字と異なる空白文字が存在しておらず、アルファベット表記の歌詞文字列中に改行が位置する場合、当該歌詞文字列の先端で改行する（第４改行条件）。また、ＰＣ１は、第１改行条件から第４改行条件までのいずれにも該当せずに改行が出来なかった場合、その旨の警告を示すログファイルを出力するようにしてある。
【００５０】
図１０は、実施の形態１に係る改行処理を説明するための説明図である。図１０は、第１改行条件に基づいて改行処理が行われる歌詞行の例を示している。図中黒塗りで示す領域は、半角の空白文字からなるルビ無し歌詞文字列を示す。また、図中斜線で示す領域は、第１ルビレイアウト処理又は第２ルビレイアウト処理によりルビ付き歌詞文字列又はルビ文字列に挿入された半角の空白文字を示す。歌詞行「不思議な 11万度  Come on この俺」には、第１ルビレイアウト処理及び第２ルビレイアウト処理により挿入された空白文字とは異なる空白文字が存在し、当該空白文字は、改行Ｍ１よりも左側に位置している。この場合、第１改行条件に該当し、図１０（ｂ）に示す如く改行Ｍ１の位置から最も近い空白文字として、「Come on」の終端に位置する空白文字の直後で改行される。
【００５１】
図１１は、実施の形態１に係る改行処理を説明するための説明図である。図１１は、第２改行条件に基づいて改行処理が行われる歌詞行の例を示している。図中斜線で示す領域は、第１ルビレイアウト処理又は第２ルビレイアウト処理によりルビ付き歌詞文字列又はルビ文字列に挿入された半角の空白文字を示す。歌詞行「不思議な11万度  Come onこの俺様」には、第１ルビレイアウト処理及び第２ルビレイアウト処理により挿入された空白文字とは異なる空白文字が存在しておらず、改行Ｍ２は、ルビ文字列「オレサマ」中に位置している。この場合、第２改行条件に該当し、図１１（ｂ）に示す如く、改行Ｍ２が位置するルビ付き歌詞文字列「俺様」の先端でルビ文字列「オレサマ」と共に改行される。
【００５２】
図１２は、実施の形態１に係る改行処理を説明するための説明図である。図１２に示す例は、第３改行条件に基づいて改行処理が行われる歌詞行である。図中斜線で示す領域は、第１ルビレイアウト処理又は第２ルビレイアウト処理によりルビ付き歌詞文字列又はルビ文字列に挿入された半角の空白文字を示す。歌詞行「不思議な11万度  Come onこの俺様」には、第１ルビレイアウト処理及び第２ルビレイアウト処理により挿入された空白文字とは異なる空白文字が存在しておらず、改行Ｍ３は、アルファベット表記でない歌詞文字列「この」中に位置している。この場合、第３改行条件に該当し、図１２（ｂ）に示す如く、改行Ｍ３が位置する文字「の」で改行される。
【００５３】
図１３は、実施の形態１に係る改行処理を説明するための説明図である。図１３は、第４改行条件に基づいて改行処理が行われる歌詞行の例を示している。図中斜線で示す領域は、第１ルビレイアウト処理又は第２ルビレイアウト処理によりルビ付き歌詞文字列又はルビ文字列に挿入された半角の空白文字を示す。歌詞行「不思議な11万度  Come onこのore」には、第１ルビレイアウト処理及び第２ルビレイアウト処理により挿入された空白文字とは異なる空白文字が存在しておらず、改行Ｍ４は、アルファベット表記の歌詞文字列「ore」中に位置している。この場合、第４改行条件に該当し、図１３（ｂ）に示す如く、アルファベット表記の歌詞文字列「ore」の先端で改行される。
【００５４】
図１４は、実施の形態１に係る改行処理を説明するための説明図である。図１４に示す例は、第１改行条件から第４改行条件までのいずれの条件にも該当せず、改行処理が行われない場合を示す。図中斜線で示す領域は、第１ルビレイアウト処理又は第２ルビレイアウト処理によりルビ付き歌詞文字列又はルビ文字列に挿入された半角の空白文字を示す。図１４に示す例では、改行Ｍ５は、歌詞文字列「   従順的心構え」及びルビ文字列「シ゛ュウシ゛ュンテキココロカ゛マエ」の途中に位置している。この場合、第１改行条件から第４改行条件までのいずれにも該当せず、改行処理が行われなかった旨の警告を示すログファイルが出力される。
【００５５】
図１５は、実施の形態１に係る改行処理を説明するための説明図である。図１５は、第１改行条件に基づいて改行処理を行われる歌詞行の他の例を示している。図中黒塗りで示す領域は、半角の空白文字からなるルビ無し歌詞文字列を示す。また、図中斜線で示す領域は、第１ルビレイアウト処理又は第２ルビレイアウト処理によりルビ付き歌詞文字列又はルビ文字列に挿入された半角の空白文字を示す。歌詞行「不思議な 11万度  Come on この俺」には、第１ルビレイアウト処理及び第２ルビレイアウト処理により挿入された空白文字とは異なる空白文字が存在し、当該空白文字は、改行Ｍ６よりも左側に位置している。
【００５６】
この場合、第１改行条件に該当し、図１５（ｂ）に示す如く、改行Ｍ６の位置から最も近く、「Come on」の直前に位置する空白文字の直後で改行される。また、改行後にルビ付き歌詞文字列「Come on」の先端とルビ文字列「カモン」の先端とを一致させるべく、ルビ文字列「カモン」の先端に２個の空白文字が挿入される。更に、ルビ付き文字列「11万度」の終端に位置する空白文字が不要な空白文字として削除される。
【００５７】
図１６は、実施の形態１に係る不要な空白文字の削除処理を説明するための説明図である。図１６は、第３改行条件に基づいて改行処理が行われる歌詞行の他の例を示している。図中斜線で示す領域は、第１ルビレイアウト処理又は第２ルビレイアウト処理によりルビ付き歌詞文字列又はルビ文字列に挿入された半角の空白文字を示す。歌詞行「不思議な11万度の  俺」には、第１ルビレイアウト処理及び第２ルビレイアウト処理により挿入された空白文字とは異なる空白文字が存在しておらず、改行Ｍ７は、アルファベット表記でない歌詞文字列「  俺」に位置している。
【００５８】
この場合、第３改行条件に該当し、図１６（ｂ）に示す如く、改行Ｍ７が位置する歌詞文字列「  俺」中の空白文字で改行される。また、改行後にルビ付き文字列「シ゛ュウイチマント゛ 」の終端の空白文字及び、ルビ付き歌詞文字列「 俺」及びルビ文字列「 オレ」夫々の先端の空白文字が不要な空白文字として削除される。
【００５９】
図１７は、実施の形態１に係る表示データのレコードレイアウト例を示す模式図である。図１７は、図４に示す歌詞データを受付けた場合に出力される表示データの例を示している。ＰＣ１は、サーバ装置２から歌詞データに関する楽曲情報を要求して取得する。ＰＣ１は、歌詞データの各画面歌詞データを改行処理後の各歌詞行に変換した表示データを生成する。ＰＣ１は、取得した楽曲情報に基づいて楽曲データを生成して、表示データの先頭に付加し、当該表示データを出力する。図１７に示す例では、カラオケ選曲番号「１２３４」、歌詞データのファイル名「１２３４．ｔｘｔ」、曲名「夏の海」、歌手名「田中太郎」及び作曲者名「山田次郎」を含む楽曲データが表示データの先頭に付加されている。
【００６０】
また楽曲データは、作詞者名「ジョージ」、曲名の読み仮名「なつのうみ」、歌手名の読み仮名「たなかたろう」、曲の演奏時間「４’３２’’」及び曲の態様を示す「ソロ男」を含んでいる。「ソロ男」は、男性歌手がソロで歌う曲であることを示している。楽曲データの後に、画面切替を示すセミコロンで区切られており、各歌詞画面データから変換された歌詞行が配列してある。図１７に示す表示データの例には、図４に示した歌詞データに含まれる画面歌詞データ「”一”いち””番”ばん””大切”たいせつ”な”事”こと”」から変換された歌詞行「一番大切な事」及びルビ行「イチハ゛ンタイセツ コト」が含まれている。
【００６１】
図１８は、実施の形態１に係るデータ変換処理の手順を示すフローチャートである。データ変換処理は、入力データとしての歌詞データが与えられた場合にＰＣ１のＣＰＵ１０により実行される。ＣＰＵ１０は、後述のデータ読込処理を実行する（ステップＳ１１）。ＣＰＵ１０は、文字置換処理を実行する（ステップＳ１２）。ＣＰＵ１０は、第１ルビレイアウト処理を実行する（ステップＳ１３）。ＣＰＵ１０は、歌詞行を生成すべくルビ文字列と共に歌詞文字列を連結し（ステップＳ１４）、第２ルビレイアウト処理を実行する（ステップＳ１５）。ＣＰＵ１０は、改行処理を実行する（ステップＳ１６）。ＣＰＵ１０は、サーバ装置２から楽曲情報を取得する（ステップＳ１７）。ＣＰＵ１０は、歌詞データを変換して得た表示データを出力し（ステップＳ１８）、データ変換処理を終了する。
【００６２】
図１９は、実施の形態１に係るデータ読込処理の手順を示すフローチャートである。データ読込処理は、図１８に示すフローチャートのステップＳ１１で実行される。ＣＰＵ１０は、歌詞データから先頭の画面歌詞データを読み出す（ステップＳ３１）。ＣＰＵ１０は、連続した部分歌詞文字列を抽出し（ステップＳ３２）、連結して歌詞文字列を取得する（ステップＳ３３）。ＣＰＵ１０は、連結した部分歌詞文字列に対応する部分ルビ文字列があるか否かを判定する（ステップＳ３４）。ＣＰＵ１０は、部分ルビ文字列があると判定した場合（ステップＳ３４でＹＥＳ）、連結してルビ文字列を取得する（ステップＳ３５）。ＣＰＵ１０は、連続していない部分歌詞文字列及び部分ルビ文字列夫々を抽出して歌詞文字列及びルビ文字列として取得する (ステップＳ３６)。ＣＰＵ１０は、歌詞文字列及びルビ文字列を対応表に追加する（ステップＳ３７）。
【００６３】
ＣＰＵ１０は、全ての画面歌詞データを読み出したか否かを判定する（ステップＳ３８）。ＣＰＵ１０は、全ての画面歌詞データを読み出していないと判定した場合（ステップＳ３８でＮＯ）、次の画面歌詞データを読み出して(ステップＳ３９)、連続した部分歌詞文字列を抽出するステップＳ３２に処理を戻す。ＣＰＵ１０は、部分ルビ文字列があるか否かを判定するステップＳ３４において、部分ルビ文字列がないと判定した場合（ステップＳ３４でＮＯ）、連続していない部分歌詞文字列及び部分ルビ文字列夫々を抽出して歌詞文字列及びルビ文字列として取得するステップＳ３６に処理を移す。ＣＰＵ１０は、全ての画面歌詞データを読み出したか否かを判定するステップＳ３８において、全ての画面歌詞データを読み出したと判定した場合（ステップＳ３８でＹＥＳ）、データ読込処理を終了する。
【００６４】
図２０は、実施の形態１に係る第１ルビレイアウト処理の手順を示すフローチャートである。第１ルビレイアウト処理は、図１８に示すフローチャートのステップＳ１３で実行される。ＣＰＵ１０は、対応表から歌詞文字列及びルビ文字列の１組を読み出す（ステップＳ５１）。ＣＰＵ１０は、歌詞文字列長Ｗ１及びルビ文字列長Ｗ２を取得する（ステップＳ５２）。ＣＰＵ１０は、後述の先頭挿入処理を実行する（ステップＳ５３）。ＣＰＵ１０は、対応表から全ての組を読み出したか否かを判定する（ステップＳ５４）。ＣＰＵ１０は、全ての組を読み出していないと判定した場合（ステップＳ５４でＮＯ）、対応表から次の１組を読み出し（ステップＳ５５）、歌詞文字列長Ｗ１及びルビ文字列長Ｗ２を取得するステップＳ５２に処理を戻す。ＣＰＵ１０は、全ての組を読み出したと判定した場合（ステップＳ５４でＹＥＳ）、第１ルビレイアウト処理を終了する。
【００６５】
図２１は、実施の形態１に係る先頭挿入処理の手順を示すフローチャートである。先頭挿入処理は、図２０に示すフローチャートのステップＳ５３で実行される。ＣＰＵ１０は、終端文字が濁点又は半濁点であるか否かを判定する（ステップＳ６１）。ＣＰＵ１０は、終端文字が濁点又は半濁点であると判定した場合（ステップＳ６１でＹＥＳ）、補正値Ｃに１を設定する（ステップＳ６２）。ＣＰＵ１０は、終端文字が濁点又は半濁点でないと判定した場合（ステップＳ６１でＮＯ）、補正値Ｃに０を設定する（ステップＳ６３）。ＣＰＵ１０は、判定値ｍを算出し（ステップＳ６４）、挿入個数ｎを算出する（ステップＳ６５）。ＣＰＵ１０は、判定値ｍが正であるか否かを判定する（ステップＳ６６）。
【００６６】
ＣＰＵ１０は、判定値ｍが正であると判定した場合（ステップＳ６６でＹＥＳ）、ルビ文字列の先頭に挿入個数ｎの空白文字を挿入する（ステップＳ６７）。ＣＰＵ１０は、判定値ｍが正でないと判定した場合（ステップＳ６６でＮＯ）、歌詞文字列の先頭に挿入個数ｎの空白文字を挿入する（ステップＳ６８）。ＣＰＵ１０は、全ての組を読み出したか否かを判定する（ステップＳ６９）。ＣＰＵ１０は、全ての組を読み出していないと判定した場合（ステップＳ６９でＮＯ）、次の１組を読み出し（ステップＳ７０）、終端文字が濁点又は半濁点であるか否かを判定するステップＳ６１に処理を戻す。ＣＰＵ１０は、全ての組を読み出したと判定した場合（ステップＳ６９でＹＥＳ）、先頭挿入処理を終了する。
【００６７】
実施の形態２
本実施の形態は、実施の形態１がルビ文字列又はルビ付き歌詞文字列の先頭に空白文字を挿入するのに対して、ルビ付き歌詞文字列がルビ文字列よりも長い文字列長を有する場合、ルビ文字列の文字間に空白文字を挿入するようにしてある。ＰＣ１は、ルビ付き歌詞文字列の歌詞文字列長Ｗ１がルビ文字列長Ｗ２より短い場合、実施の形態１で示した先頭挿入処理により空白文字をルビ文字列の先頭に挿入する。ＰＣ１は、ルビ付き歌詞文字列の歌詞文字列長Ｗ１がルビ文字列長Ｗ２よりも長い場合、ルビ文字列の文字間の個数に先頭及び終端に対応する２個を加算して空白文字の挿入箇所数を算出する。
【００６８】
ＰＣ１は、ルビ文字列が濁点又は半濁点を含んでいる場合、当該濁点又は半濁点を除いてルビ文字列長Ｗ２を取得する。ＰＣ１は、歌詞文字列長Ｗ１及びルビ文字列長Ｗ２の差分を挿入箇所数で除算することにより、各挿入箇所に挿入すべき空白文字の挿入個数を算出する。ＰＣ１は、ルビ文字列の先頭、文字間及び終端夫々に算出した挿入個数の空白文字を挿入する。これにより、ルビ文字列がルビ付き歌詞文字列の略中央に表示されるよう配置されると共に、ルビ文字夫々が略均等な間隙を有して配置される。また、ＰＣ１は、算出した挿入個数が０である場合、挿入箇所数からルビ文字列の先頭に対応する１個を引き算して挿入個数を再算出し、ルビ文字列の文字間及び終端夫々に再算出した挿入個数の空白文字を挿入する。
【００６９】
図２２は、実施の形態２に係る第１ルビレイアウト処理を説明するための説明図である。図中（ａ）は、ルビ文字列長Ｗ２が３であるルビ文字列「カモン」が対応付けられており、歌詞文字列長Ｗ１が７であるルビ付き歌詞文字列「Come on」を示す。この場合、ルビ付き歌詞文字列は、ルビ文字列長Ｗ２よりも長い歌詞文字列長Ｗ１を有するため、空白文字を略均等に挿入する均等挿入処理が行われる。挿入箇所数として、ルビ文字列「カモン」の先頭、２つの文字間及び終端に対応する４が算出される。次に歌詞文字列長Ｗ１及びルビ文字列長Ｗ２の差分４が挿入箇所数４で除算されて挿入個数として１個が算出される。除算結果は、少数点以下を切り捨てることにより、整数として取得される。図中（ｂ）に示す如くルビ文字列「カモン」の先頭、文字間及び終端夫々に１個の空白文字が挿入される。これにより、ルビ文字列がルビ付き歌詞文字列に対して略中央に配置されると共に、ルビ文字夫々が略均等な間隙を有して配置される。
【００７０】
図２３は、実施の形態２に係る第１ルビレイアウト処理を説明するための説明図である。図中（ａ）は、ルビ文字列「フシキ゛」が対応付けられており、歌詞文字列長Ｗ１が６であるルビ付き歌詞文字列「不思議」を示す。ルビ文字列「フシキ゛」は、濁点が除かれ、ルビ文字列長Ｗ２として３が取得される。この場合、ルビ付き歌詞文字列は、ルビ文字列長Ｗ２よりも長い歌詞文字列長Ｗ１を有するため、空白文字を略均等に挿入する処理が行われる。挿入箇所数として、ルビ文字列「フシキ゛」の先頭、３つの文字間及び終端に対応する４が算出される。次に歌詞文字列長Ｗ１及びルビ文字列長Ｗ２の差分３が挿入箇所数４で除算されて挿入個数として０個が算出される。挿入個数として０が算出されたため、挿入箇所数５個からルビ文字列の先頭に対応する１個が減算されて挿入箇所数が３個にされる。
【００７１】
文字列長の差分３を挿入箇所数３で除算して挿入個数１個を再算出する。図中（ｂ）に示す如くルビ文字列「フシキ゛」の文字間及び終端夫々に１個の空白文字が挿入される。これにより、ルビ文字列がルビ付き歌詞文字列に対して略中央に配置されると共に、ルビ文字夫々が略均等な間隙を有して配置される。図中（ｃ）に示す如くルビ文字列「フシキ゛」の終端に挿入した空白文字が歌詞文字列の終端に対応する位置から右側に突出した不要な空白文字として削除される。次に挿入個数を数式に基づいて取得する方法を説明する。
【００７２】
ＰＣ１は、歌詞文字列長Ｗ１及びルビ文字列長Ｗ２を用いて式（３）に基づいて挿入個数ｎを算出する。
ｎ＝Ｉｎｔ〔｜（Ｗ１−Ｗ２）／（Ｗ２＋１）｜〕      （３）
ＰＣ１は、算出した挿入個数が０である場合、下記（４）に基づいて挿入個数ｎを再算出する。
ｎ＝Ｉｎｔ〔｜（Ｗ１−Ｗ２）／Ｗ２｜〕      （４）
【００７３】
図２４は、実施の形態２に係る第１ルビレイアウト処理の手順を示すフローチャートである。ＰＣ１は、対応表からルビ付き歌詞文字列及びルビ文字列の１組を読み出す（ステップＳ８１）。ＰＣ１は、歌詞文字列長Ｗ１及びルビ文字列長Ｗ２を取得する（ステップＳ８２）。ＰＣ１は、歌詞文字列長Ｗ１がルビ文字列長Ｗ２以上であるか否かを判定する（ステップＳ８３）。ＰＣ１は、歌詞文字列長Ｗ１がルビ文字列長Ｗ２以上でないと判定した場合（ステップＳ８３でＮＯ）、実施の形態１の図２１で示した先頭挿入処理を実行する（ステップＳ８４）。
【００７４】
ＰＣ１は、歌詞文字列長Ｗ１がルビ文字列長Ｗ２以上であると判定した場合（ステップＳ８３でＹＥＳ）、後述の均等挿入処理を実行する（ステップＳ８５）。ＰＣ１は、対応表から全ての組を読み出したか否かを判定する（ステップＳ８６）。ＰＣ１は、全ての組を読み出していないと判定した場合（ステップＳ８６でＮＯ）、対応表から次の１組を読み出して（ステップＳ８７）、歌詞文字列長Ｗ１及びルビ文字列長Ｗ２を取得するステップＳ８２に処理を戻す。ＰＣ１は、全ての組を読み出したと判定した場合（ステップＳ８６でＹＥＳ）、第１ルビレイアウト処理を終了する。
【００７５】
図２５は、実施の形態２に係る均等挿入処理の手順を示すフローチャートである。均等挿入処理は、図２４で示すフローチャートのステップＳ８５で実行される。ＰＣ１は、挿入個数ｎを算出する（ステップＳ１０１）。ＰＣ１は、挿入個数ｎが０であるか否かを判定する（ステップＳ１０２）。ＰＣ１は、挿入個数が０でないと判定した場合（ステップＳ１０２でＮＯ）、ルビ文字列の先頭、文字間及び終端夫々に挿入個数ｎの空白文字を挿入する（ステップＳ１０５）。ＰＣ１は、挿入個数ｎが０である場合（ステップＳ１０２でＹＥＳ）、挿入個数ｎを再算出し（ステップＳ１０３）、ルビ文字列の文字間及び終端夫々に挿入個数ｎの空白文字を挿入する（ステップＳ１０４）。
【００７６】
ＰＣ１は、濁点又は半濁点の直後の空白文字があるか否かを判定する（ステップＳ１０６）。ＰＣ１は、濁点又は半濁点の直後の空白文字があると判定した場合（ステップＳ１０６でＹＥＳ）、当該空白文字を削除して（ステップＳ１０７）、均等挿入処理を終了する。ＰＣ１は、濁点又は半濁点の直後の空白文字がないと判定した場合（ステップＳ１０６でＮＯ）、均等挿入処理を終了する。
【００７７】
本実施の形態２は以上の如き構成としてあり、その他の構成及び作用は実施の形態１と同様であるので対応する部分には同一の符号及び処理名を付してその詳細な説明を省略する。
【００７８】
実施の形態３
図２６は、実施の形態３に係るＰＣの内部構成例を示すブロック図である。本実施の形態３は、実施の形態１及び実施の形態２がＲＯＭからコンピュータプログラムを読み出して実行するのに対して、記録媒体から読み出して実行するよう構成してある。ＰＣ４のＣＰＵ１０には、バス１０ａを介してＨＤ（ Hard Disk ）４１及び記録媒体読込部４２が接続してある。ＰＣ４は、記録媒体読込部４２に挿入された記録媒体４２０から本発明のコンピュータプログラム４２１を読み込んでＨＤ４１に記憶するようにしてある。
【００７９】
ＣＰＵ１０は、ＨＤ４１が記憶する本発明のコンピュータプログラム４２１に従って、ＰＣ４による変換処理を実行する構成となっている。コンピュータプログラム４２１は、ＣＰＵ１０に画面歌詞データに連続して配列されたルビ付き歌詞文字列を連結させると共に、対応するルビ文字列を連結させる（連結ステップ）。コンピュータプログラム４２１は、ＣＰＵ１０に連結したルビ付き歌詞文字列及び連結したルビ文字列からなる対応表をＲＡＭ１２に記憶して対応付ける（対応付けステップ）。コンピュータプログラム４２１は、ＣＰＵ１０に、対応付けたルビ付き歌詞文字列又はルビ文字列に空白文字を挿入させて（挿入ステップ）、ルビ文字夫々のルビ付き歌詞文字列に対する配置を変更させる（変更ステップ）。コンピュータプログラム４２１は、ＣＰＵ１０に、歌詞データに含まれるルビ付き歌詞文字列及びルビ文字列夫々を、配置が変更されたルビ付き歌詞文字列及びルビ文字列に変換させる（変換ステップ）。
【００８０】
本発明に係るコンピュータプログラム４２１は、ＣＤ（ Compact Disc ）−ＲＯＭ又はＤＶＤ（ Digital Versatile Disc ）−ＲＯＭ等の記録媒体４２０だけでなく、ＣＰＵ１０に接続された図示しない外部のサーバーコンピュータとの間で通信を確立し、係るコンピュータプログラム４２１をＨＤ４１へダウンロードしても良い。
【００８１】
本実施の形態３は以上の如き構成としてあり、その他の構成及び作用は実施の形態１及び実施の形態２と同様であるので対応する部分には同一の符号及び処理名を付してその詳細な説明を省略する。
【符号の説明】
【００８２】
１，４  ＰＣ
２  サーバ装置
３  カラオケ装置
Ｎ  ネットワーク網
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  通信部
１４  置換文字ＤＢ
１５  表示部
１６  操作受付部
４１  ＨＤ
４２  記録媒体読込部
４２０  記録媒体
４２１  コンピュータプログラム
【図１】
2010205151.tif 000003
【図２】
2010205151.tif 000004
【図３】
2010205151.tif 000005
【図４】
2010205151.tif 000006
【図５】
2010205151.tif 000007
【図６】
2010205151.tif 000008
【図７】
2010205151.tif 000009
【図８】
2010205151.tif 000010
【図９】
2010205151.tif 000011
【図１０】
2010205151.tif 000012
【図１１】
2010205151.tif 000013
【図１２】
2010205151.tif 000014
【図１３】
2010205151.tif 000015
【図１４】
2010205151.tif 000016
【図１５】
2010205151.tif 000017
【図１６】
2010205151.tif 000018
【図１７】
2010205151.tif 000019
【図１８】
2010205151.tif 000020
【図１９】
2010205151.tif 000021
【図２０】
2010205151.tif 000022
【図２１】
2010205151.tif 000023
【図２２】
2010205151.tif 000024
【図２３】
2010205151.tif 000025
【図２４】
2010205151.tif 000026
【図２５】
2010205151.tif 000027
【図２６】
2010205151.tif 000028