(57)【特許請求の範囲】
【請求項１】
コンピュータにより制御されるディスプレイの画面上の表示領域に楽譜を表示するための楽譜表示方法において、
一つの小節が一つの段に表示されるものであり、ＣＰＵにより、楽譜の１段当たりの小節数を示す情報とディスプレイの画面上の表示領域に表示する段数を示す情報とに基づいて、前記表示領域に表示すべき小節数を算出し、前記算出した小節数の小節を前記表示領域に表示する
ことを特徴とする楽譜表示方法。
【請求項２】
請求項１記載の楽譜表示方法において、
ＣＰＵにより、前記小節の高さを示す情報と前記表示領域の高さを示す情報とに基づいて、前記表示領域に表示可能な段数を算出する
ことを特徴とする楽譜表示方法。
【請求項３】
請求項２記載の楽譜表示方法において、
ＣＰＵにより、前記小節の縦横比を示す情報と前記小節の高さを示す情報と前記表示領域の幅を示す情報とに基づいて、前記表示領域における１段当たりに表示可能な小節数を算出する
ことを特徴とする楽譜表示方法。
【請求項４】
請求項２記載の楽譜表示方法において、
ＣＰＵにより、前記小節の縦横比を示す情報と前記表示領域の幅を示す情報とに基づいて、前記表示領域に表示可能な小節の高さを算出する
ことを特徴とする楽譜表示方法。
【請求項５】
コンピュータにより制御されるディスプレイの画面上の表示領域に楽譜を表示するための楽譜表示方法において、
一つの小節が一つの段に表示されるものであり、ＣＰＵにより、段の縦横比を示す情報とディスプレイの画面上の表示領域の幅を示す情報とに基づいて、前記表示領域に表示可能な前記段の高さを算出し、前記算出した段の高さと前記表示領域の高さとに基づいて、前記表示領域に表示可能な段数を算出する
ことを特徴とする楽譜表示方法。
【請求項６】
コンピュータにより制御されるディスプレイの画面上の表示領域に楽譜を表示するための楽譜表示方法において、
一つの小節が一つの段に表示されるものであり、ＣＰＵにより、段の高さが指定されたとき、ディスプレイの画面上の表示領域の幅を示す情報と前記指定された段の高さを示す情報とに基づいて、前記段の縦横比を可変制御するとともに、前記表示領域の幅が指定されたとき、前記段の縦横比を示す情報と前記指定された表示領域の幅を示す情報とに基づいて、前記表示領域に表示可能な段の高さを算出し、前記算出した段の高さと前記表示領域の高さとに基づいて、前記表示領域に表示可能な段数を算出する
ことを特徴とする楽譜表示方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽譜表示方法に関し、さらに詳細には、パーソナルコンピュータなどの汎用のコンピュータに備えられたＬＣＤやＣＲＴなどのディスプレイの画面上に楽譜を表示するための楽譜表示方法に関する。
【０００２】
【従来の技術】
従来より、パーソナルコンピュータなどの汎用のコンピュータに備えられたＬＣＤやＣＲＴなどのディスプレイの画面上に楽譜を表示し、表示した楽譜を用紙に印刷することができるようにした楽譜表示方法が知られているが、こうした楽譜表示方法においては、画面の表示領域に関わらず、楽譜を印刷する用紙のサイズに合わせて、小節数や段数を設定するようになされている。
【０００３】
このため、こうした従来の楽譜表示方法にあっては、画面の表示領域と用紙の形状とが異なると、画面の表示領域には、図１に示すように用紙の一部分が表示されるか、図２に示すように用紙全体が縮小されて表示されるかするようになるものであった。
【０００４】
即ち、従来の楽譜表示方法のように、楽譜を印刷する用紙のサイズに合わせて、小節数や段数を設定する方法では、画面の表示領域の形状やサイズによって、画面の表示領域においては楽譜の一部が欠けたり、あるいは縮小されて表示されたりすることになり、ユーザーが視認し難いという問題点があった。
【０００５】
【発明が解決しようとする課題】
そこで、本発明は、従来の技術の有する上記したような種々の問題点に鑑みてなされたものであり、その目的とするところは、画面の表示領域がどのような形状やサイズであっても楽譜が欠けて表示されることがなく、ユーザーが視認し易い形態で楽譜を表示することができるようにした楽譜表示方法を提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明のうち請求項１に記載の発明は、コンピュータにより制御されるディスプレイの画面上の表示領域に楽譜を表示するための楽譜表示方法において、一つの小節が一つの段に表示されるものであり、ＣＰＵにより、楽譜の１段当たりの小節数を示す情報とディスプレイの画面上の表示領域に表示する段数を示す情報とに基づいて、上記表示領域に表示すべき小節数を算出し、上記算出した小節数の小節を上記表示領域に表示するようにしたものである。
【０００７】
ここで、請求項１に記載の発明において、例えば、本発明のうち請求項２に記載の発明のように、ＣＰＵにより、上記小節の高さを示す情報と上記表示領域の高さを示す情報とに基づいて、上記表示領域に表示可能な段数を算出するようにしてもよい。
【０００８】
また、請求項２に記載の発明において、例えば、本発明のうち請求項３に記載の発明のように、ＣＰＵにより、上記小節の縦横比を示す情報と上記小節の高さを示す情報と上記表示領域の幅を示す情報とに基づいて、上記表示領域における１段当たりに表示可能な小節数を算出するようにしてもよい。
【０００９】
さらに、請求項２に記載の発明において、例えば、本発明のうち請求項４に記載の発明のように、ＣＰＵにより、上記小節の縦横比を示す情報と上記表示領域の幅を示す情報とに基づいて、上記表示領域に表示可能な小節の高さを算出するようにしてもよい。
【００１０】
また、本発明のうち請求項５に記載の発明は、コンピュータにより制御されるディスプレイの画面上の表示領域に楽譜を表示するための楽譜表示方法において、一つの小節が一つの段に表示されるものであり、ＣＰＵにより、段の縦横比を示す情報とディスプレイの画面上の表示領域の幅を示す情報とに基づいて、上記表示領域に表示可能な上記段の高さを算出し、上記算出した段の高さと上記表示領域の高さとに基づいて、上記表示領域に表示可能な段数を算出するようにしたものである。
【００１１】
また、本発明のうち請求項６に記載の発明は、コンピュータにより制御されるディスプレイの画面上の表示領域に楽譜を表示するための楽譜表示方法において、一つの小節が一つの段に表示されるものであり、ＣＰＵにより、段の高さが指定されたとき、ディスプレイの画面上の表示領域の幅を示す情報と上記指定された段の高さを示す情報とに基づいて、上記段の縦横比を可変制御するとともに、上記表示領域の幅が指定されたとき、上記段の縦横比を示す情報と上記指定された表示領域の幅を示す情報とに基づいて、上記表示領域に表示可能な段の高さを算出し、上記算出した段の高さと上記表示領域の高さとに基づいて、上記表示領域に表示可能な段数を算出するようにしたものである。
【００１２】
【発明の実施の形態】
以下、図面に基づいて、本発明による楽譜表示方法の実施の形態の一例を詳細に説明するものとする。なお、以下の説明においては、各構成の中で同一あるいは相当する構成に関しては、それぞれ共通の符号を付して示すものとする。
【００１３】
図３は、本発明による楽譜表示方法を実施するためのパーソナルコンピュータなどの汎用のコンピュータの全体構成を示すブロック構成図であり、このコンピュータは、ＣＰＵ１０と、ＲＡＭ１２と、外部記憶装置１４と、キーボード１６と、マウス１８と、ディスプレイ２０とを備えている。
【００１４】
ここで、ＣＰＵ１０は、コンピュータ全体の制御をＯＳ（ＯｐｅｒａｔｉｎｇＳｙｓｔｅｍ）の処理に従って行うものである。ＯＳは、外部記憶装置１４やキーボード１６ならびにマウス１８の入出力の処理、本発明による楽譜表示方法の要旨たるディスプレイに楽譜を表示させるための処理を実行する楽譜表示プログラムの実行制御ならびにディスプレイ２０の画面の表示制御を行うとともに、ディスプレイ２０の画面上にウィンドウを表示し、さらに、ウィンドウが画面をはみ出した場合のクリッピング処理なども行う。
【００１５】
また、ＯＳは、ディスプレイ２０の画面上にマウスカーソルを表示して、ユーザーのマウス１８の操作に応じた入出力の処理やウィンドウの形状変更の処理などを行う。
【００１６】
ところで、楽譜表示プログラムは、ユーザーの起動指示に応じてＯＳから起動され、ＯＳと情報を交換し合うことにより、演算に必要な情報を取得したり、楽譜をウィンドウに表示したりする。
【００１７】
ＲＡＭ１２は、外部記憶装置１４から読み込まれたＯＳや楽譜表示プログラムならびに楽譜データを格納するとともに、楽譜表示プログラムなどが用いる各種変数を格納するものである。
【００１８】
外部記憶装置１４は、ＯＳ、楽譜表示プログラムならびに楽譜データを記憶するものである。
【００１９】
キーボード１６は、数値や文字の入力、ディスプレイ２０の画面の入力要求への応答などを行うものである。
【００２０】
マウス１８は、ディスプレイ２０の画面上のマウスカーソルの移動制御、マウスカーソルの表示位置での選択および選択取り消しなどを行うためのものである。
【００２１】
ディスプレイ２０は画面を備え、当該画面に０Ｓにより制御されたウィンドウを表示するとともに、楽譜表示プログラムに従って楽譜などを表示する。
【００２２】
ここで、以下に詳述する本発明による楽譜表示方法の理解を容易にするために、当該楽譜表示方法による楽譜表示の処理の原理を、図４ならびに図５を参照しながら説明するものとする。
【００２３】
図４において、音符表示領域１００は、５線の音部記号や調性記号などの表示部分を除いた長方形の領域であり、横方向にＨｗドットとし、縦方向にＶｗドットとする。また、１段の縦、即ち、小節の縦はＶｍドットとし、小節の横はＨｍドットとする。
【００２４】
そして、１段の中は、５線の上下に２本の加線１０２を加えた９本の線によって、１０個の線間１０４に等分に区切られる。なお、各線間１０４は、３度の音高差を備える。
【００２５】
また、各小節内では、４分音符を２４等分したクロックという単位を横方向の表示単位とする。
【００２６】
従って、Ｖｍドットの縦の高さの中に５線をひき、Ｈｍドットの小節の横幅で小節線をひくことによって、小節が表示されることになる。
【００２７】
また、小節内には、音符だけではなく、休符や強弱記号なども表示されるが、こうした音符、休符あるいは強弱記号など（以下、音符、休符あるいは強弱記号などを総称して、「記号」と称する。）は、図５に示すように、
小節：クロック  音高  記号種
というフォーマットで記憶されているものとする。なお、記号種とは、音符、休符、強弱記号などの各記号の種類を示すものである。
【００２８】
ここで、各記号の大きさは、ｆドットで示されるフォントサイズにより指定される。ここで、ｆは正の整数であり、線間に対応した値が指定される。ただし、「ｆ＝０」の場合は、「ｆ＝１」に相当するフォントサイズで表示するものとする。
【００２９】
従って、各記号においては、「小節：クロック」から小節内の横方向の表示位置が指定され、音高から縦方向の表示位置が指定され、その大きさは線間に対応したフォントサイズで指定されることになる。
【００３０】
以下においては、こうした原理に基づく本発明による楽譜表示方法を、発明の実施の形態のそれぞれに関してより詳細に説明する。
（１）  第１の実施の形態：指定された小節数と段数とに対応して楽譜表示を行う場合の処理
図６には、第１の実施の形態における楽譜表示プログラムによって表示されるウィンドウが示されている。このウィンドウ内には、マウス１８によって操作可能な各種スイッチが表示されている。ユーザーはマウス１８によってこれらのスイッチを操作することにより、所望の動作を指定できる。
【００３１】
また、これらのスイッチや音部記号、余白などの表示領域を除いた部分が音符表示領域１００として設定されている。従って、音符表示領域１００は、ウィンドウの形状変化に応じて、その形状が変化する。
【００３２】
さらに、リサイズボックス１０６が表示されており、ユーザーはこのリサイズボックス１０６にマウス１８を合わせて、クリックしながら移動（ドラッグ）させることにより、このウィンドウの形状変更を指定できる。なお、ウィンドウの形状変化の情報はＯＳの処理よって検出され、楽譜表示プログラムに与えられる。
【００３３】
ここで、図６のウィンドウに示されるスイッチを説明すると、ページ＋スイッチ１０８ａは表示された楽譜のページを進めるスイッチであり、ページ−スイッチ１０８ｂは表示された楽譜のページを戻すスイッチであり、小節＋スイッチ１１０ａは１段当たりの表示小節数を増加させるスイッチであり、小節−スイッチ１１０ｂは１段当たりの表示小節数を減少させるスイッチであり、段数＋スイッチ１１２ａは表示段数を増加させるスイッチであり、段数−スイッチ１１２ｂは表示段数を減少させるスイッチである。
【００３４】
なお、ページ＋スイッチ１０８ａとページ−スイッチ１０８ｂとを総称してページスイッチ（ページＳＷ）と称し、小節＋スイッチ１１０ａと小節−スイッチ１１０ｂとを総称して小節スイッチ（小節ＳＷ）と称し、段数＋スイッチ１１２ａと段数−スイッチ１１２ｂとを総称して段数スイッチ（段数ＳＷ）と称する。そして、指定された小節数と段数とに対応して楽譜表示を行う場合の処理においては、以下に示す変数が使用される。
【００３５】
即ち、
・音符表示領域サイズ      横方向  Ｈｗドット、縦方向  Ｖｗドット
・小節サイズ              横方向  Ｈｍドット、縦方向  Ｖｍドット
・１段当たりの小節数      ｍ
・段数                    ｎ
・１ページ当たりの小節数  Ｄ
・フォントサイズ          ｆ（ｆは正の整数）
・表示開始小節            Ｓｔ
・最終小節                Ｅｎｄ
の変数が使用される。
【００３６】
図７には、ユーザーの起動指示によりＯＳから起動される楽譜表示プログラムのルーチンのフローチャートが示されている。
【００３７】
即ち、ユーザーの起動指示によって、楽譜表示プログラムのルーチンがＯＳから起動されると、まず、各種変数の初期設定を行い、ＯＳより供給されたウィンドウサイズに基づいて、音符表示領域サイズＨｗ、Ｖｗを設定する（ステップＳ７０２）。
【００３８】
それから、外部記憶装置１４より、楽譜データに含まれる拍子、音部記号、調性記号などの初期化データを読み込む（ステップＳ７０４）。
【００３９】
次に、変数の初期値として、ｍ＝４、ｎ＝２、Ｓｔ＝１を設定し、Ｈｍ＝Ｈｗ／ｍ、Ｖｍ＝Ｖｗ／ｎ、ｆ＝ｉｎｔ（Ｖｍ／１０）を算出する。ここで、ｆは、四捨五入された整数値である（ステップＳ７０６）。
【００４０】
上記した各種の初期状態における設定を終了すると、この楽譜表示プログラムのルーチンのサブルーチンたる表示ルーチン（図８参照）を実行し、図８を参照しながら後述するように、算出された小節サイズに基づいて、５線と小節を表示し、音部記号、調性記号などを表示するとともに、外部記憶装置１４より小節毎に楽譜データを読み込み、小節サイズ、フォントサイズに基づいて音符などの楽音記号を表示する（ステップＳ７０８）。
【００４１】
この表示ルーチンを終了すると、ページＳＷがオン（ＯＮ）されたか否かを判断し（ステップＳ７１０）、ページＳＷがオンされたと判断された場合には、この楽譜表示プログラムのルーチンのサブルーチンたるページＳＷ処理ルーチン（図９）を実行する（ステップＳ７１２）。そして、ページＳＷ処理ルーチンを実行した後は、ステップＳ７０８の表示ルーチンへ戻って処理を繰り返す。
【００４２】
なお、ページＳＷ処理ルーチンにおいては、図９を参照しながら後述するように、押されたページＳＷに応じて、音符表示領域全体を１ページとして、１ページ分の表示小節を進めたり、戻したりする処理を行う。
【００４３】
一方、ステップＳ７１０において、ページＳＷはオンされていないと判断された場合には、小節ＳＷがオンされたか否かを判断する（ステップＳ７１４）。
【００４４】
そして、ステップＳ７１４において、小節ＳＷがオンされたと判断された場合には、この楽譜表示プログラムのルーチンのサブルーチンたる小節ＳＷ処理ルーチン（図１０）を実行する（ステップＳ７１６）。そして、小節ＳＷ処理ルーチンを実行した後は、ステップＳ７０８の表示ルーチンへ戻って処理を繰り返す。なお、小節ＳＷ処理ルーチンにおいては、図１０を参照しながら後述するように、押された小節ＳＷに応じて、１段当たりの小節数を増減する。
【００４５】
一方、ステップＳ７１４において、小節ＳＷはオンされていないと判断された場合には、段数ＳＷがオンされたか否かを判断する（ステップＳ７１８）。
【００４６】
そして、ステップＳ７１８において、段数ＳＷがオンされたと判断された場合には、この楽譜表示プログラムのルーチンのサブルーチンたる段数ＳＷ処理ルーチン（図１１）を実行する（ステップＳ７２０）。そして、段数ＳＷ処理ルーチンを実行した後は、ステップＳ７０８の表示ルーチンへ戻って処理を繰り返す。なお、段数ＳＷ処理ルーチンにおいては、図１１を参照しながら後述するように、押された段数ＳＷに応じて、１ページ内の表示段数を増減する。
【００４７】
一方、ステップＳ７１８において、段数ＳＷはオンされていないと判断された場合には、ウィンドウ（Ｗｉｎｄｏｗ）の変化があったか否かを判断する（ステップＳ７２２）。即ち、ＯＳにウィンドウサイズが変更されたか否かを問い合わせる。
【００４８】
そして、ステップＳ７２２において、ウィンドウサイズが変更されたと判断された場合には、この楽譜表示プログラムのルーチンのサブルーチンたるＷｉｎｄｏｗ変更処理ルーチン（図１２）を実行する（ステップＳ７２４）。そして、Ｗｉｎｄｏｗ変更処理ルーチンを実行した後は、ステップＳ７０８の表示ルーチンへ戻って処理を繰り返す。
【００４９】
なお、Ｗｉｎｄｏｗ変更処理ルーチンにおいては、図１２を参照しながら後述するように、ＯＳから変更されたウィンドウサイズを受け取って新たな音符表示領域を設定し、新たな音符表示領域に収まるように変数を再計算する。
【００５０】
なお、ページＳＷ、小節ＳＷあるいは段数ＳＷのいずれもオンではなく、ウィンドウサイズも変更されていない場合には、ステップＳ７１０へ戻ってループして待機する。
【００５１】
次に、図８に示すフローチャート参照しながら、表示ルーチンについて説明する。
【００５２】
この表示ルーチンにおいては、まず、段数のカウンタｉを０にクリアし（ステップＳ８０２）、小節数のカウンタｊを０にクリアする（ステップＳ８０４）。次に、ウィンドウ内の各種スイッチを表示するとともに、縦がｉ×Ｖｍドットから（１＋ｉ）×Ｖｍドットまでの高さＶｍの表示領域に５線を表示し、音部記号、調性記号などを音符表示領域１００外の５線上の所定の位置に表示する（ステップＳ８０６）。
【００５３】
それから、音符表示領域１００の５線上にＨｍドットの間隔で小節線を表示する（ステップＳ８０８）。
【００５４】
次に、外部記憶装置１４より（Ｓｔ＋（ｉ×ｍ）＋ｊ）小節の楽譜データを読み出し、クロック、音高、記号種、フォントサイズｆに従って、音符などの記号を表示する（ステップＳ８１０）。
【００５５】
そして、ｊを１だけインクリメントし（ステップＳ８１２）、その後に、Ｓｔ＋（ｉ×ｍ）＋ｊ＞Ｅｎｄであるか否かを判断する（ステップＳ８１４）。
【００５６】
ステップＳ８１４において、Ｓｔ＋（ｉ×ｍ）＋ｊ＞Ｅｎｄであると判断されて最終小節を超えていた場合には、終止線を小節の終わりに表示するとともにその後の５線を消去して（ステップＳ８１６）、楽譜表示プログラムのルーチン（図７）へリターンする。
【００５７】
一方、Ｓｔ＋（ｉ×ｍ）＋ｊ＞Ｅｎｄでないと判断された場合には、ｊ≧ｍであるか否かを判断する（ステップＳ８１８）。
【００５８】
ステップＳ８１８において、ｊ≧ｍであると判断されて１段落分の小節の表示を終えた場合には、ｉを１だけインクリメントし（ステップＳ８２０）、それからｉ≧ｎであるか否かを判断する（ステップＳ８２２）。
【００５９】
そして、ステップＳ８２２において、ｉ≧ｎであると判断されて全ての段の表示を終えた場合には、楽譜表示プログラムのルーチン（図７）へリターンする。一方、ステップＳ８２２において、ｉ≧ｎでないと判断されて全ての段の表示を終えていない場合には、ステップＳ８０４へ戻って処理を繰り返す。
【００６０】
また、ステップＳ８１８において、ｊ≧ｍでないと判断されて１段落分の小節の表示を終えていない場合には、ステップＳ８１０へ戻って処理を繰り返す。
【００６１】
上記したように、表示ルーチン（図８）においては、小節サイズ（Ｈｍ，Ｖｍ）に基づいて、現在の音符表示領域、即ち、１ページに、１段ｍ小節でｎ段の小節を表示し、ここに音符などの記号を表示することによって、１ページ分の楽譜を表示する処理を行っている。
【００６２】
次に、図９に示すフローチャート参照しながら、ページＳＷ処理ルーチンについて説明する。
【００６３】
このページＳＷ処理ルーチンにおいては、まず、１ページ当たりの小節数Ｄを、ｍ×ｎにより算出する（ステップＳ９０２）。
【００６４】
次に、オンされたページＳＷはページ＋スイッチ１０８ａであるか否かを判断する（ステップＳ９０４）。
【００６５】
ステップＳ９０４において、オンされたページＳＷはページ＋スイッチ１０８ａでない、即ち、オンされたページＳＷはページ−スイッチ１０８ｂであると判断されてページを戻す場合には、表示開始小節Ｓｔが１であるか否かを判断する（ステップＳ９０６）。
【００６６】
ステップＳ９０６において、表示開始小節Ｓｔは１であると判断されて最初の小節が表示されている場合には、楽譜表示プログラムのルーチン（図７）へリターンする。
【００６７】
一方、表示開始小節Ｓｔは１でないと判断された場合には、Ｓｔ−Ｄ＜１であるか否かを判断する（ステップＳ９０８）。
【００６８】
ステップＳ９０８において、Ｓｔ−Ｄ＜１でないと判断された場合には、Ｓｔ＝Ｓｔ−Ｄとして、１ページ分の小節数だけ表示開始Ｓｔを減らし、楽譜表示プログラムのルーチン（図７）へリターンする（ステップＳ９１０）。
【００６９】
一方、ステップＳ９０８において、Ｓｔ−Ｄ＜１であると判断された場合には、表示開始小節Ｓｔを１に設定し、楽譜表示プログラムのルーチン（図７）へリターンする（ステップＳ９１２）。
【００７０】
また、ステップＳ９０４において、オンされたページＳＷはページ＋スイッチ１０８ａであると判断されてページを進める場合には、Ｓｔ＋Ｄ≧Ｅｎｄであるか否かを判断する（ステップＳ９１４）。
【００７１】
ステップＳ９１４において、Ｓｔ＋Ｄ≧Ｅｎｄであると判断されて最終小節が既に表示されている場合には、楽譜表示プログラムのルーチン（図７）へリターンする。
【００７２】
一方、ステップＳ９１４において、Ｓｔ＋Ｄ≧Ｅｎｄでないと判断された場合には、Ｓｔ＝Ｓｔ＋Ｄとして、１ページ分の小節数だけ表示開始Ｓｔを増やし、楽譜表示プログラムのルーチン（図７）へリターンする（ステップＳ９１６）。即ち、このページＳＷ処理ルーチンにおいては、ページＳＷによりページの変更が指示されたので、それに応じて表示開始小節Ｓｔを１ページ分の小節数Ｄにより加減している。これによって、新たな表示開始小節Ｓｔが設定され、実際の表示は表示ルーチン（図８）で更新される。
【００７３】
次に、図１０に示すフローチャート参照しながら、小節ＳＷ処理ルーチンについて説明する。
【００７４】
この小節ＳＷ処理ルーチンにおいては、まず、オンされた小節ＳＷは小節＋スイッチ１１０ａであるか否かを判断する（ステップＳ１００２）。
【００７５】
ステップＳ１００２において、オンされた小節ＳＷは小節＋スイッチ１１０ａでない、即ち、オンされた小節ＳＷは小節−スイッチ１１０ｂであると判断されて１段当たりの小節数を減少させる場合には、現在の小節数ｍが１以下（ｍ≦１）であるか否かを判断する（ステップＳ１００４）。
【００７６】
ステップＳ１００４において、現在の小節数ｍが１以下（ｍ≦１）であると判断された場合には、小節数をそれ以上減少させられないので、楽譜表示プログラムのルーチン（図７）へリターンする。
【００７７】
一方、ステップＳ１００４において、現在の小節数ｍが１以下（ｍ≦１）でないと判断された場合には、ｍを１だけデクリメントし（ステップＳ１００６）、ステップＳ１０１０へ進む。
【００７８】
また、ステップＳ１００２において、オンされた小節ＳＷは小節＋スイッチ１１０ａであると判断されて１段当たりの小節数を増加させる場合には、ｍを１だけインクリメントし（ステップＳ１００８）、ステップＳ１０１０へ進む。
【００７９】
ステップＳ１０１０においては、小節サイズの横方向Ｈｍ＝Ｈｗ／ｍの演算を行い小節サイズの横方向Ｈｍを算出し、楽譜表示プログラムのルーチン（図７）へリターンする。
【００８０】
即ち、この小節ＳＷ処理ルーチンにおいては、小節ＳＷにより１段当たりの小節数の変更が指示されたので、それに応じて新たな小節サイズの横方向Ｈｍを算出している。これによって、新たな小節サイズの横方向Ｈｍが設定され、実際の表示は表示ルーチン（図８）で更新される。
【００８１】
次に、図１１に示すフローチャート参照しながら、段数ＳＷ処理ルーチンについて説明する。
【００８２】
この段数ＳＷ処理ルーチンにおいては、まず、オンされた段数ＳＷは段数＋スイッチ１１２ａであるか否かを判断する（ステップＳ１１０２）。
【００８３】
ステップＳ１１０２において、オンされた段数ＳＷは段数＋スイッチ１１２ａでない、即ち、オンされた段数ＳＷは段数−スイッチ１１２ｂであると判断されて１ページの段数を減少させる場合には、現在の段数ｎが１以下（ｎ≦１）であるか否かを判断する（ステップＳ１１０４）。
【００８４】
ステップＳ１１０４において、現在の段数ｎが１以下（ｎ≦１）であると判断された場合には、段数をそれ以上減少させられないので、楽譜表示プログラムのルーチン（図７）へリターンする。
【００８５】
一方、ステップＳ１１０４において、現在の段数ｎが１以下（ｎ≦１）でないと判断された場合には、ｎを１だけデクリメントし（ステップＳ１１０６）、ステップＳ１１１０へ進む。
【００８６】
また、ステップＳ１１０２において、オンされた段数ＳＷは段数＋スイッチ１１２ａであると判断されて１ページの段数を増加させる場合には、ｎを１だけインクリメントし（ステップＳ１１０８）、ステップＳ１１１０へ進む。
【００８７】
ステップＳ１１１０においては、小節サイズの縦方向Ｖｍ＝Ｖｗ／ｎの演算を行い小節サイズの縦方向Ｖｍを算出するとともに、フォントサイズｆ＝ｉｎｔ（Ｖｍ／１０）（ｆは四捨五入）の演算を行いフォントサイズｆを算出し、楽譜表示プログラムのルーチン（図７）へリターンする。
【００８８】
即ち、この段数ＳＷ処理ルーチンにおいては、段数ＳＷにより１ページの段数の変更が指示されたので、それに応じて新たな小節サイズの縦方向Ｖｍを算出するとともに、新たなフォントサイズｆを算出している。これによって、新たな小節サイズの縦方向Ｖｍおよび新たなフォントサイズｆが設定され、実際の表示は表示ルーチン（図８）で更新される。
【００８９】
次に、図１２に示すフローチャート参照しながら、Ｗｉｎｄｏｗ変更処理ルーチンについて説明する。
【００９０】
このＷｉｎｄｏｗ変更処理ルーチンにおいては、まず、ＯＳよりウィンドウサイズを取得し、音符表示領域サイズの横方向Ｈｗと縦方向Ｖｗとを設定する（ステップＳ１２０２）。
【００９１】
次に、小節サイズの横方向Ｈｍ＝Ｈｗ／ｍの演算を行い小節サイズの横方向Ｈｍを算出するとともに、小節サイズの縦方向Ｖｍ＝Ｖｗ／ｎの演算を行い小節サイズの縦方向Ｖｍを算出し、さらに、フォントサイズｆ＝ｉｎｔ（Ｖｍ／１０）（ｆは四捨五入）の演算を行いフォントサイズｆを算出し、楽譜表示プログラムのルーチン（図７）へリターンする（ステップＳ１２０４）。
【００９２】
即ち、このＷｉｎｄｏｗ変更処理ルーチンにおいては、変更されたウィンドウサイズに応じて新たな音符表示領域サイズの横方向Ｈｗと縦方向Ｖｗとを設定するとともに、新たな小節サイズの横方向Ｈｍと縦方向Ｖｍとを算出し、さらに新たなフォントサイズｆを算出している。これによって、新たな音符表示領域サイズの横方向Ｈｗおよび縦方向Ｖｗ、新たな小節サイズの横方向Ｈｍおよび縦方向Ｖｍならびに新たなフォントサイズｆが設定され、実際の表示は表示ルーチン（図８）で更新される。
【００９３】
以上において詳細に説明したように、上記した第１の実施の形態によると、初期状態では図１３（ａ）に示すように、ディスプレイ２０の画面上には１段当たり４小節で２段に表示される。
【００９４】
ここで、例えば、音符の数が多い楽譜を表示するために１小節の幅を伸ばしたい場合には、ユーザーが小節−スイッチ１１０ｂを１回オンすることにより、図１３（ｂ）に示すように、１段当たりの小節数を１つ減らして、各小節の幅を伸ばすことができる。
【００９５】
また、図１３（ａ）の表示態様において、例えば、多くの小節を一度に見たい場合には、ユーザーが段数＋スイッチ１１２ａを１回オンすることにより、図１３（ｃ）に示すように、１ページ当たりの表示段数を１段増やすことができる。なお、図１３（ｃ）の表示態様においてはフォントサイズが小さくなるが、図１３（ｄ）に示すようにウィンドウサイズを大きくすれば、フォントサイズを大きくすることができる。
【００９６】
このように、上記した第１の実施の形態によれば、ユーザーの要望に応じて、適当な表示形態を適宜選択することができる。
【００９７】
なお、上記した第１の実施の形態においては、１段が１０線間の幅に固定されているため、これを超える音高の音符は、段をはみ出して表示されることになる。こうした段をはみ出す表示を避けるためには、予め楽譜データの全ての音符の音高を読み出しておいて、その最高音と最低音とから１段の線間の数を決定するようにすればよい。また、表示領域よりオクターブ以上離れた音符に対しては、オクターブ変更記号を付加して、表示領域内に収まるようにしてもよい。
【００９８】
また、上記した第１の実施の形態においては、ユーザーの要望に応じて、小節数、段数を設定できるので、音符の数が多く１小節が長いような楽譜に合わせた表示形態をとることができる。
【００９９】
さらに、上記した第１の実施の形態においては、１段当たりの小節数ならびに段数の上限を設けなかったが、上限を設定するようにしてもよい。なお、上限を設定する場合には、音符表示領域の大きさに対応して上限を決定するようにしてもよい。
（２）  第２の実施の形態：指定されたフォントサイズで楽譜表示を行う場合の処理、ウィンドウサイズの変更時には段の縦横比を固定してフォントサイズの変更を行う場合の処理、フォントサイズが変更されたとき段の縦横比の変更を行う場合の処理
図１４には、第２の実施の形態における楽譜表示プログラムによって表示されるウィンドウが示されている。このウィンドウ内には、マウス１８によって操作可能な各種スイッチが表示されている。ユーザーはマウス１８によってこれらのスイッチを操作することにより、所望の動作を指定できる。
【０１００】
また、これらのスイッチや音部記号、余白などの表示領域を除いた部分が音符表示領域１００として設定されている。従って、音符表示領域１００は、ウィンドウの形状変化に応じて、その形状が変化する。
【０１０１】
さらに、リサイズボックス１０６が表示されており、ユーザーはこのリサイズボックス１０６にマウス１８を合わせて、クリックしながら移動（ドラッグ）させることにより、このウィンドウの形状変更を指定できる。なお、ウィンドウの形状変化の情報はＯＳの処理よって検出され、楽譜表示プログラムに与えられる。
【０１０２】
ここで、図１４のウィンドウに示されるスイッチを説明すると、ページ＋スイッチ１０８ａは表示された楽譜のページを進めるスイッチであり、ページ−スイッチ１０８ｂは表示された楽譜のページを戻すスイッチであり、小節＋スイッチ１１０ａは１段当たりの表示小節数を増加させるスイッチであり、小節−スイッチ１１０ｂは１段当たりの表示小節数を減少させるスイッチであり、フォント＋スイッチ１１４ａはフォントを１ドットづつ大きくするスイッチであり、フォント−スイッチ１１４ｂはフォントを１ドットづつ小さくするスイッチである。
【０１０３】
なお、ページ＋スイッチ１０８ａとページ−スイッチ１０８ｂとを総称してページスイッチ（ページＳＷ）と称し、小節＋スイッチ１１０ａと小節−スイッチ１１０ｂとを総称して小節スイッチ（小節ＳＷ）と称し、フォント＋スイッチ１１４ａとフォント−スイッチ１１４ｂとを総称してフォントスイッチ（フォントＳＷ）と称する。
【０１０４】
そして、この第２の実施の形態においては、上記した第１の実施の形態に用いた変数に加え、以下に示す変数が使用される。
【０１０５】
即ち、
・段の縦横比              Ｒ
・ウィンドウ修正フラグ    Ｗｃｈｇ
・段間サイズ              Ｖｒ
の変数が、上記した第１の実施の形態に用いた変数に加えて用いられる。
【０１０６】
以下、フローチャートを参照しながら説明するが、第１の実施の形態における各ルーチンのフローチャートの処理と同様な処理内容に関しては、第１の実施の形態と同一のステップ番号を付して示すことにより、その詳細な説明は省略する。
【０１０７】
図１５には、ユーザーの起動指示によりＯＳから起動される楽譜表示プログラムのルーチンのフローチャートが示されている。
【０１０８】
即ち、第２の実施の形態における図１５に示す楽譜表示プログラムのルーチンにおいては、ステップＳ１５０６において、変数の初期値として、ｍ＝４、ｎ＝２、Ｓｔ＝１、Ｗｃｈｇ＝０を設定し、Ｈｍ＝Ｈｗ／ｍ、Ｖｍ＝Ｖｗ／ｎ、ｆ＝ｉｎｔ（Ｖｍ／１０）を算出するとともに、段の縦横比Ｒ＝Ｖｍ／Ｈｗを算出する。ここで、ｆは、四捨五入された整数値である。
【０１０９】
上記した各種の初期状態における設定を終了すると、この楽譜表示プログラムのルーチンのサブルーチンたる表示ルーチン（図１６参照）を実行する（ステップＳ１５０８）。
【０１１０】
また、ステップＳ１５１８においては、フォントＳＷがオンされたか否かを判断する。
【０１１１】
そして、ステップＳ１５１８において、フォントＳＷがオンされたと判断された場合には、この楽譜表示プログラムのルーチンのサブルーチンたるフォントＳＷ処理ルーチン（図１７）を実行する（ステップＳ１５２０）。そして、フォントＳＷ処理ルーチンを実行した後は、ステップＳ１５０８の表示ルーチンへ戻って処理を繰り返す。
【０１１２】
なお、フォントＳＷ処理ルーチンにおいては、図１７を参照しながら後述するように、押されたフォントＳＷに応じてフォントサイズを大きくしたり、小さくしたりする処理を行う。フォントサイズは１段の縦に対応しているので、フォントサイズを変更すると、表示段数の再計算が行われるとともに、１段の縦横比も変更される。
【０１１３】
一方、ステップＳ１５１８において、フォントＳＷはオンされていないと判断された場合には、ウィンドウ（Ｗｉｎｄｏｗ）の変化があったか否かを判断する（ステップＳ１５２２）。即ち、ＯＳにウィンドウサイズが変更されたか否かを問い合わせる。
【０１１４】
そして、ステップＳ１５２２において、ウィンドウサイズが変更されたと判断された場合には、この楽譜表示プログラムのルーチンのサブルーチンたるＷｉｎｄｏｗ変更処理ルーチン（図１８）を実行する（ステップＳ１５２４）。そして、Ｗｉｎｄｏｗ変更処理ルーチンを実行した後は、ステップＳ１５０８の表示ルーチンへ戻って処理を繰り返す。
【０１１５】
なお、ページＳＷ、小節ＳＷあるいはフォントＳＷのいずれもオンではなく、ウィンドウサイズも変更されていない場合には、ステップＳ７１０へ戻ってループして待機する。
【０１１６】
次に、図１６に示すフローチャート参照しながら、表示ルーチンについて説明する。なお、第１の実施の形態における図８に示す表示ルーチンのフローチャートの処理と同様な処理内容に関しては、図８と同一のステップ番号を付して示すことにより、その詳細な説明は省略する。
【０１１７】
この表示ルーチンにおいては、まず、Ｗｃｈｇが１であるか否かを判断する（ステップＳ１６０２）。
【０１１８】
ステップＳ１６０２において、Ｗｃｈｇが１であると判断されてウィンドウサイズの修正が指示されている場合には、音符表示領域サイズＨｗ、Ｖｗに対応したウィンドウサイズに現在のウィンドウサイズを変更するようにＯＳに指示し、さらに、Ｗｃｈｇを０にしてウィンドウ修正フラグをクリアし（ステップＳ１６０４）、ステップＳ１６０６の処理へ進む。
【０１１９】
一方、ステップＳ１６０２において、Ｗｃｈｇが１でない、即ち、Ｗｃｈｇが０にクリアされている場合には、ステップＳ１６０６へ進む。
【０１２０】
ステップＳ１６０６においては、段間サイズＶｒ＝（Ｖｗ／ｎ）−Ｖｍの演算を行い、段間サイズＶｒを算出する。
【０１２１】
ステップＳ１６０６の処理を終了すると、段数のカウンタｉを０にクリアし（ステップＳ８０２）、小節数のカウンタｊを０にクリアする（ステップＳ８０４）。
【０１２２】
次に、ウィンドウ内の各種スイッチを表示するとともに、縦がｉ×（Ｖｍ＋Ｖｒ）ドットからｉ×（Ｖｍ＋Ｖｒ）＋Ｖｍドットまでの幅Ｖｍの表示領域に５線を表示し、音部記号、調性記号などを音符表示領域１００外の５線上の所定の位置に表示する（ステップＳ１６１２）。これにより、各段間はＶｒの間隔をもって、音符表示領域１００に均等に割り付けられることになる。
【０１２３】
次に、図１７に示すフローチャート参照しながら、フォントＳＷ処理ルーチンについて説明する。
【０１２４】
このフォントＳＷ処理ルーチンにおいては、まず、オンされたフォントＳＷはフォント−スイッチ１１４ｂであるか否かを判断する（ステップＳ１７０２）。ステップＳ１７０２において、オンされたフォントＳＷはフォント−スイッチ１１４ｂでない、即ち、オンされたフォントＳＷはフォント＋スイッチ１１４ａであると判断されてフォントを大きくする場合には、フォントサイズのテンポラリレジスタｆ’＝ｆ＋１の演算を行いフォントサイズのテンポラリレジスタｆを算出し、小節サイズの縦のテンポラリレジスタＶｍ’＝ｆ’×１０の演算を行い小節サイズの縦のテンポラリレジスタＶｍ’を算出し、段数のテンポラリレジスタｎ’＝ｉｎｔ（Ｖｗ／Ｖｍ’）（ただし、ｎ’は切り捨て）の演算を行い段数のテンポラリレジスタｎ’を算出する（ステップＳ１７０４）。
【０１２５】
それから、ｎ’は１未満（ｎ’＜１）であるか否かを判断する（ステップＳ１７０６）。
【０１２６】
ステップＳ１７０６において、ｎ’は１未満（ｎ’＜１）であると判断された場合には、指定されたフォントサイズが大きすぎて、段の縦の幅が音符表示領域を超えてしまっているので、フォントＳＷ処理ルーチンを終了して、楽譜表示プログラムのルーチン（図１５）へリターンする。
【０１２７】
一方、ステップＳ１７０６において、ｎ’は１未満（ｎ’＜１）でないと判断された場合には、ｆ＝ｆ’、Ｖｍ＝Ｖｍ’、ｎ＝ｎ’として、各テンポラリレジスタを各変数にコピーし（ステップＳ１７０８）、ステップＳ１７１４へ進む。一方、ステップＳ１７０２において、オンされたフォントＳＷはフォント−スイッチ１１４ｂであると判断されてフォントを小さくする場合には、ｆは１以下（ｆ≦１）であるか否か判断する（ステップＳ１７１０）。
【０１２８】
ステップＳ１７１０において、ｆは１以下（ｆ≦１）でありフォントサイズが最小になっている場合には、フォントＳＷ処理ルーチンを終了して、楽譜表示プログラムのルーチン（図１５）へリターンする。
【０１２９】
一方、ステップＳ１７１０において、ｆは１以下（ｆ≦１）でないと判断された場合には、ｆ＝ｆ−１、Ｖｍ＝ｆ×１０、ｎ＝ｉｎｔ（Ｖｗ／Ｖｍ）（ただし、ｎは切り捨て。）を算出し（ステップＳ１７１２）、ステップＳ１７１４へ進む。
【０１３０】
ステップＳ１７１４においては、段の縦横比Ｒ＝Ｖｍ／Ｈｗを演算し、段の縦横比Ｒを算出する。これは、フォントサイズが変更されて段の高さが変更された場合に、段の縦横比をこれに応じて変更するものである。後述するＷｉｎｄｏｗ変更処理（図１８）においては、この変更された段の縦横比を使用して演算が行われる。そして、このステップＳ１７１４の処理を終了すると、楽譜表示プログラムのルーチン（図１５）へリターンする。
【０１３１】
つまり、このフォントＳＷ処理ルーチンにおいては、フォントＳＷによりフォントの変更が指示されたので、それに応じて小節の縦、即ち、段の縦を算出するとともに、新たな段の縦横比を算出しているものである。なお、小節の横は変更しない。
【０１３２】
次に、図１８に示すフローチャート参照しながら、Ｗｉｎｄｏｗ変更処理ルーチンについて説明する。
【０１３３】
このＷｉｎｄｏｗ変更処理ルーチンにおいては、まず、ＯＳよりウィンドウサイズを取得し、音符表示領域サイズの横方向Ｈｗと縦方向Ｖｗとを設定する（ステップＳ１２０２）。
【０１３４】
次に、小節サイズの横方向Ｈｍ＝Ｈｗ／ｍの演算を行い小節サイズの横方向Ｈｍを算出し、小節サイズの縦方向Ｖｍ＝Ｈｗ×Ｒの演算を行い小節サイズの縦方向Ｒを算出し、フォントサイズｆ＝ｉｎｔ（Ｖｍ／１０）（ｆは四捨五入）の演算を行いフォントサイズｆを算出し、さらに、段数ｎ＝ｉｎｔ（Ｖｗ／Ｖｍ）（ただし、ｎは切り捨て。）の演算を行い段数ｎを算出する（ステップＳ１８０４）。
【０１３５】
ここでは、ウィンドウサイズが変更された場合は、段の縦横比を一定に保つようにしている。
【０１３６】
それから、ｎは１未満（ｎ＜１）であるか否か判断するし（ステップＳ１８０６）。
【０１３７】
そして、ステップＳ１８０６において、ｎは１未満（ｎ＜１）でないと判断された場合には、楽譜表示プログラムのルーチン（図１５）へリターンする。
【０１３８】
一方、ステップＳ１８０６において、ｎは１未満（ｎ＜１）であると判断された場合には、変更されたウィンドウサイズが小さすぎて、音符表示領域が段の縦の幅より狭くなってしまっているので、ウィンドウサイズを最低限必要な大きさに修正を行う（ステップＳ１８０８）。具体的には、Ｖｗ＝Ｖｍで音符表示領域の縦を段の縦に一致させ、ｎ＝１とし、ウィンドウ修正フラグＷｃｈｇに１をセットして、楽譜表示プログラムのルーチン（図１５）へリターンする。これにより、このＷｉｎｄｏｗ変更処理ルーチンを終了した後に、表示ルーチン（図１６）においてウィンドウサイズの修正が行われる。
【０１３９】
即ち、Ｗｉｎｄｏｗ変更処理ルーチンにおいては、変更されたウィンドウサイズに応じて、段の縦横比を一定にするように段の縦を算出し、これから新たな段部とフォントサイズとを算出している。
【０１４０】
以上において詳細に説明したように、上記した第２の実施の形態によると、初期状態においては、上記した第１の実施の形態による図１３（ａ）と同様に、１段当たり４小節で２段に表示される。
【０１４１】
ここで、ユーザーが１小節の幅を変更したい場合には、第１の実施の形態の場合と同様に、小節ＳＷの操作により１段当たりの小節数を増減させればよい。
【０１４２】
また、音符の数が多い楽譜などで、１段当たりの小節数は減らしたくないが、表示されている音符が詰まりすぎている場合は、フォント−スイッチ１１４ｂでフォントサイズを小さくすればい。その場合には、図１９（ａ）に示すように、１段の縦Ｖｍが小さくなり、余った部分は段間サイズＶｒとして各段毎に均等に配分され、バランスのとれた割り付けがなされる。このとき、同時に段の縦横比Ｒ＝Ｖｍ／Ｈｗも減少される。
【０１４３】
この後に、ウィンドウサイズを図１９（ｂ）に示すように縦に伸ばしたとすると、減少した段の縦横比Ｒはそのままで段数の計算が行われ、例えば、３段が表示できるようになる。
【０１４４】
このように、ウィンドウサイズの変更に対して、段の形状バランスを保つようにすることができる。
【０１４５】
なお、この第２の実施の形態にいては、フォントを指定するのにフォントサイズｆドットを指定したが、指定するのは段の高さの値にしておいて、フォントサイズは計算によって求めてもよい。
【０１４６】
また、上記した第２の実施の形態においては、段の形状比率を保つことで、表示領域の形状やサイズに関わらず、段のイメージを保ったままで、拡大／縮小を行うことができる。
（３）  第３の実施の形態：小節の縦横比を固定で表示を行う処理
図２０には、第３の実施の形態における楽譜表示プログラムによって表示されるウィンドウが示されている。このウィンドウ内には、マウス１８によって操作可能な各種スイッチが表示されている。ユーザーはマウス１８によってこれらのスイッチを操作することにより、所望の動作を指定できる。
【０１４７】
また、これらのスイッチや音部記号、余白などの表示領域を除いた部分が音符表示領域１００として設定されている。従って、音符表示領域１００は、ウィンドウの形状変化に応じて、その形状が変化する。
【０１４８】
さらに、リサイズボックス１０６が表示されており、ユーザーはこのリサイズボックス１０６にマウス１８を合わせて、クリックしながら移動（ドラッグ）させることにより、このウィンドウの形状変更を指定できる。なお、ウィンドウの形状変化の情報はＯＳの処理よって検出され、楽譜表示プログラムに与えられる。
【０１４９】
ここで、図２０のウィンドウに示されるスイッチを説明すると、ページ＋スイッチ１０８ａは表示された楽譜のページを進めるスイッチであり、ページ−スイッチ１０８ｂは表示された楽譜のページを戻すスイッチであり、小節＋スイッチ１１０ａは１段当たりの表示小節数を増加させるスイッチであり、小節−スイッチ１１０ｂは１段当たりの表示小節数を減少させるスイッチであり、段数＋スイッチ１１２ａは表示段数を増加させるスイッチであり、段数−スイッチ１１２ｂは表示段数を減少させるスイッチであり、フォント＋スイッチ１１４ａはフォントを１ドットづつ大きくするスイッチであり、フォント−スイッチ１１４ｂはフォントを１ドットづつ小さくするスイッチである。
【０１５０】
さらに、図２０のウィンドウには、優先モードスイッチ（優先モードＳＷ）１１６が示されている。この優先モードスイッチ１１６は、ウィンドウサイズの変更のときに、どの状態を優先して保存するかを選択するためのスイッチであり、１段あたり小節数、段数、フォントサイズの三者択一である。モードＭの値としては、小節（Ｍ＝１）、段数（Ｍ＝２）、フォントサイズ（Ｍ＝３）の値をとるものとする。
【０１５１】
なお、ページ＋スイッチ１０８ａとページ−スイッチ１０８ｂとを総称してページスイッチ（ページＳＷ）と称し、小節＋スイッチ１１０ａと小節−スイッチ１１０ｂとを総称して小節スイッチ（小節ＳＷ）と称し、段数＋スイッチ１１２ａと段数−スイッチ１１２ｂとを総称して段数スイッチ（段数ＳＷ）と称する。そして、この第３の実施の形態においては、上記した第１の実施の形態ならびに第２の実施の形態に用いた変数に加え、以下に示す変数が使用される。
【０１５２】
即ち、
・小節の縦横比            ｒ
・ウィンドウ修正フラグ    Ｗｃｈｇ
・段間サイズ              Ｖｒ
・モード                  Ｍ
の変数が、上記した第１の実施の形態に用いた変数に加えて用いられる。
【０１５３】
以下、フローチャートを参照しながら説明するが、第１の実施の形態ならびに第２の実施の形態における各ルーチンのフローチャートの処理と同様な処理内容に関しては、第１の実施の形態ならびに第２の実施の形態におけるステップ番号と同一のステップ番号を付して示すことにより、その詳細な説明は省略する。
【０１５４】
図２１には、ユーザーの起動指示によりＯＳから起動される楽譜表示プログラムのルーチンのフローチャートが示されている。
【０１５５】
即ち、第３の実施の形態における図２１に示す楽譜表示プログラムのルーチンにおいては、ステップＳ２１０６において、変数の初期値として、ｍ＝４、
ｒ＝０．３３、Ｓｔ＝１を設定し、Ｈｍ＝Ｈｗ／ｍ、Ｖｍ＝ｒ×Ｈｍ、ｎ＝ｉｎｔ（Ｖｗ／Ｖｍ）、ｆ＝ｉｎｔ（Ｖｍ／１０）を算出する。ここで、ｎは切り捨てられた整数値であり、ｆは四捨五入された整数値である。
【０１５６】
上記した各種の初期状態における設定を終了すると、この楽譜表示プログラムのルーチンのサブルーチンたる表示ルーチンを実行する（ステップＳ２１０８）。
【０１５７】
また、ステップＳ１５１８においては、フォントＳＷがオンされたか否かを判断する。
【０１５８】
そして、ステップＳ１５１８において、フォントＳＷがオンされたと判断された場合には、この楽譜表示プログラムのルーチンのサブルーチンたるフォントＳＷ処理ルーチン（図２４）を実行する（ステップＳ２１２２）。そして、フォントＳＷ処理ルーチンを実行した後は、ステップＳ２１０８の表示ルーチンへ戻って処理を繰り返す。
【０１５９】
なお、フォントＳＷ処理ルーチンにおいては、図２４を参照しながら後述するように、押されたフォントＳＷに応じてフォントサイズを大きくしたり、小さくしたりする処理を行う。フォントサイズは１段の縦に対応しているので、フォントサイズを変更すると、表示段数の再計算が行われるとともに、１段当たりの小節数の再計算も行われる。
【０１６０】
一方、ステップＳ１５１８において、フォントＳＷはオンされていないと判断された場合には、ウィンドウ（Ｗｉｎｄｏｗ）の変化があったか否かを判断する（ステップＳ２１２４）。即ち、ＯＳにウィンドウサイズが変更されたか否かを問い合わせる。
【０１６１】
そして、ステップＳ２１２４において、ウィンドウサイズが変更されたと判断された場合には、この楽譜表示プログラムのルーチンのサブルーチンたるＷｉｎｄｏｗ変更処理ルーチン（図２５）を実行する（ステップＳ２１２６）。そして、Ｗｉｎｄｏｗ変更処理ルーチンを実行した後は、ステップＳ２１０８の表示ルーチンへ戻って処理を繰り返す。
【０１６２】
一方、ステップＳ２１２４において、ウィンドウサイズが変更されていないと判断された場合には、優先モードスイッチ１１６の変更があったか否かを判断する（ステップＳ２１２８）。
【０１６３】
ステップＳ２１２８において、優先モードスイッチ１１６の変更があったと判断された場合には、モードＭに対応する値を読み込む（ステップＳ２１３０）。なお、ページＳＷ、小節ＳＷ、段数ＳＷあるいはフォントＳＷのいずれもオンではなく、ウィンドウサイズも変更されておらず、さらには優先モードスイッチ１１６も変更されていない場合には、ステップＳ７１０へ戻ってループして待機する。
【０１６４】
なお、ステップＳ２１０８の表示ルーチンは、第２の実施の形態における表示ルーチン（図１６）とほぼ同じ処理内容であるので、その図示を省略した。なお、第３の実施の形態にいては、ステップＳ１６０６において、Ｈｍ＝Ｈｗ／ｍの処理が追加される。
【０１６５】
これは、小節の縦横比を一定に保とうとした場合、左右に余白または不足が生じることがあるが、その場合に、各小節を均等に引き伸ばしたりあるいは縮めたりして、音符表示領域内にちょうど収まるようにするものである。
【０１６６】
次に、図２２に示すフローチャート参照しながら、小節ＳＷ処理ルーチンについて説明する。
【０１６７】
この小節ＳＷ処理ルーチンにおいては、まず、オンされた小節ＳＷは小節＋スイッチ１１０ａであるか否かを判断する（ステップＳ１００２）。
【０１６８】
ステップＳ１００２において、オンされた小節ＳＷは小節＋スイッチ１１０ａでない、即ち、オンされた小節ＳＷは小節−スイッチ１１０ｂであると判断されて１段当たりの小節数を減少させる場合には、現在の小節数ｍが１以下（ｍ≦１）であるか否かを判断する（ステップＳ１００４）。
【０１６９】
ステップＳ１００４において、現在の小節数ｍが１以下（ｍ≦１）であると判断された場合には、小節数をそれ以上減少させられないので、楽譜表示プログラムのルーチン（図２１）へリターンする。
【０１７０】
一方、ステップＳ１００４において、現在の小節数ｍが１以下（ｍ≦１）でないと判断された場合には、小節数のテンポラリレジスタｍ’＝ｍ−１、小節サイズの横方向のテンポラリレジスタＨｍ’＝Ｈｗ／ｍ’、小節サイズの縦方向のテンポラリレジスタＶｍ’＝ｒ×Ｈｍ’および段数のテンポラリレジスタｎ’＝ｉｎｔ（Ｖｗ／Ｖｍ’）（ただし、ｎ’は切り捨て。）の演算を行い、小節数のテンポラリレジスタｍ’、小節サイズの横方向のテンポラリレジスタＨｍ’、小節サイズの縦方向のテンポラリレジスタＶｍ’および段数のテンポラリレジスタｎ’を算出する（ステップＳ２２０６）。
【０１７１】
それから、ｎ’は１未満（ｎ’＜１）であるか否かを判断する（ステップＳ２２０８）。
【０１７２】
ステップＳ２２０８において、ｎ’は１未満（ｎ’＜１）であると判断された場合には、段の縦の幅が音符表示領域を越えてしまっているので、小節ＳＷルーチンの処理を中断して楽譜表示プログラムのルーチン（図２１）へリターンする。
【０１７３】
一方、ステップＳ２２０８において、ｎ’は１未満（ｎ’＜１）でないと判断された場合には、ｍ＝ｍ’、Ｈｍ＝Ｈｍ’、Ｖｍ＝Ｖｍ’およびｎ＝ｎ’としてテンポラリレジスタを各変数にコピーするとともに、ｆ＝ｉｎｔ（Ｖｍ／１０）（ただし、ｆは四捨五入。）を算出して、楽譜表示プログラムのルーチン（図２１）へリターンする（ステップＳ２２１０）。
【０１７４】
また、ステップＳ１００２において、オンされた小節ＳＷは小節＋スイッチ１１０ａであると判断されて１段当たりの小節数を増加させる場合には、ｍ＝ｍ＋１、Ｈｍ＝Ｈｗ／ｍ、Ｖｍ＝ｒ×Ｈｍ、ｎ＝ｉｎｔ（Ｖｗ／Ｖｍ）（ただし、ｎは切り捨て。）、ｆ＝ｉｎｔ（Ｖｍ／１０）（らだし、ｆは四捨五入。）の演算を行い、ｍ、Ｈｍ、Ｖｍ、ｎおよびｆを算出し（ステップＳ２２１２）、楽譜表示プログラムのルーチン（図２１）へリターンする。
【０１７５】
即ち、この小節ＳＷ処理ルーチンにおいては、小節ＳＷにより１段当たりの小節数の変更が指示されたので、それに応じて新たな小節サイズの横方向Ｈｍを算出し、小節の縦横比が一定になるように小節の縦方向Ｖｍを算出し、段数、フォントサイズを算出しており、実際の表示は表示ルーチン（図８）で更新される。次に、図２３に示すフローチャート参照しながら、段数ＳＷ処理ルーチンについて説明する。
【０１７６】
この段数ＳＷ処理ルーチンにおいては、まず、オンされた段数ＳＷは段数＋スイッチ１１２ａであるか否かを判断する（ステップＳ１１０２）。
【０１７７】
ステップＳ１１０２において、オンされた段数ＳＷは段数＋スイッチ１１２ａでない、即ち、オンされた段数ＳＷは段数−スイッチ１１２ｂであると判断されて１ページの段数を減少させる場合には、現在の段数ｎが１以下（ｎ≦１）であるか否かを判断する（ステップＳ１１０４）。
【０１７８】
ステップＳ１１０４において、現在の段数ｎが１以下（ｎ≦１）であると判断された場合には、段数をそれ以上減少させられないので、楽譜表示プログラムのルーチン（図２１）へリターンする。
【０１７９】
一方、ステップＳ１１０４において、現在の段数ｎが１以下（ｎ≦１）でないと判断された場合には、段数のテンポラリレジスタｎ’＝ｎ−１、小節サイズの縦方向のテンポラリレジスタＶｍ’＝Ｖｗ／ｎ、小節サイズの横方向のテンポラリレジスタＨｍ’＝Ｖｍ／ｒおよび１段当たりの小節数のテンポラリレジスタｍ’＝ｉｎｔ（Ｈｗ／Ｈｍ）（ただし、ｍ’は四捨五入。）の演算を行い、段数のテンポラリレジスタｎ’、小節サイズの縦方向のテンポラリレジスタＶｍ’、小節サイズの横方向のテンポラリレジスタＨｍ’および１段当たりの小節数のテンポラリレジスタｍ’を算出する（ステップＳ２３０６）。
【０１８０】
それから、ｍ’は１未満（ｍ’＜１）であるか否かを判断する（ステップＳ２３０８）。
【０１８１】
ステップＳ２３０８において、ｍ’は１未満（ｍ’＜１）であると判断された場合には、指定された段数を表示しようとすると、音符表示領域サイズの横方向Ｈｗが小節サイズの横方向Ｈｍに比べて小さく表示ができないので、この場合は段数ＳＷ処理ルーチンを中断して楽譜表示プログラムのルーチン（図２１）へリターンする。
【０１８２】
一方、ステップＳ２３０８において、ｍ’は１未満（ｍ’＜１）でないと判断された場合には、ｎ＝ｎ’、Ｖｍ＝Ｖｍ’、Ｈｍ＝Ｈｍ’およびｍ＝ｍ’としてテンポラリレジスタを各変数にコピーし（ステップＳ２３１０）、ステップＳ２３１４へ進む。
【０１８３】
また、ステップＳ１１０２において、オンされた段数ＳＷは段数＋スイッチ１１２ａであると判断されて１ページの段数を増加させる場合には、ｎ＝ｎ＋１、Ｖｍ＝Ｖｗ／ｎ、Ｈｍ＝Ｖｍ／ｒおよびｍ＝ｉｎｔ（Ｈｗ／Ｈｍ）（ただし、ｍ’は四捨五入。）の演算を行い、ｎ、Ｖｍ、Ｈｍおよびｍを算出する（ステップＳ２３１２）し、ステップＳ２３１４へ進む。
【０１８４】
ステップＳ２３１４においては、フォントサイズｆ＝ｉｎｔ（Ｖｍ／１０）（ただし、ｆは四捨五入。）を算出して、楽譜表示プログラムのルーチン（図２１）へリターンする。（ステップＳ２２１０）。
【０１８５】
即ち、この段数ＳＷ処理ルーチンにおいては、段数ＳＷにより１ページの段数の変更が指示されたので、それに応じて新たな小節サイズの縦方向Ｖｍを算出し、小節の縦横比が一定になるように小節サイズの横方向Ｈｍを算出し、新たな１段当たりの小節数ｍを算出するとともに、新たなフォントサイズｆを算出しており、実際の表示は表示ルーチン（図２１０８）で更新される。
【０１８６】
次に、図２４に示すフローチャート参照しながら、フォントＳＷ処理ルーチンについて説明する。
【０１８７】
このフォントＳＷ処理ルーチンにおいては、まず、オンされたフォントＳＷはフォント−スイッチ１１４ｂであるか否かを判断する（ステップＳ１７０２）。ステップＳ１７０２において、オンされたフォントＳＷはフォント−スイッチ１１４ｂでない、即ち、オンされたフォントＳＷはフォント＋スイッチ１１４ａであると判断されてフォントを大きくする場合には、フォントサイズのテンポラリレジスタｆ’＝ｆ＋１、小節サイズの縦方向のテンポラリレジスタＶｍ’＝ｆ’×１０、小節サイズの横方向のテンポラリレジスタＨｍ’＝Ｖｍ／ｒ、１段当たりの小節数のテンポラリレジスタｍ’＝ｉｎｔ（Ｈｗ／Ｈｍ）（ただし、ｍ’は四捨五入。）および段数のテンポラリレジスタｎ’＝ｉｎｔ（Ｖｗ／Ｖｍ’）（ただし、ｎ’は切り捨て。）の演算を行い、フォントサイズのテンポラリレジスタｆ’、小節サイズの縦方向のテンポラリレジスタＶｍ’、小節サイズの横方向のテンポラリレジスタＨｍ’、１段当たりの小節数のテンポラリレジスタｍ’および段数のテンポラリレジスタｎ’を算出する（ステップＳ２４０４）。
【０１８８】
それから、ｍ’は１未満（ｍ’＜１）あるいはｎ’は１未満（ｎ’＜１）であるか否かを判断する（ステップＳ２４０６）。
【０１８９】
ステップＳ２４０６において、ｍ’は１未満（ｍ’＜１）あるいはｎ’は１未満（ｎ’＜１）であると判断された場合には、指定されたフォントサイズによって小節サイズを変更しようとすると、音符表示領域の縦あるいは横をはみ出してしまい表示ができなくなるので、フォントＳＷ処理ルーチンを終了して、楽譜表示プログラムのルーチン（図２１）へリターンする。
【０１９０】
一方、ステップＳ２４０６において、ｍ’は１未満（ｍ’＜１）あるいはｎ’は１未満（ｎ’＜１）でないと判断された場合には、ｆ＝ｆ’、Ｖｍ＝Ｖｍ’、Ｈｍ＝Ｈｍ’、ｍ＝ｍ’およびｎ＝ｎ’として、各テンポラリレジスタを各変数にコピーし（ステップＳ２４０８）、楽譜表示プログラムのルーチン（図２１）へリターンする。
【０１９１】
また、ステップＳ１７０２において、オンされたフォントＳＷはフォント−スイッチ１１４ｂであると判断されてフォントを小さくする場合には、ｆは１以下（ｆ≦１）であるか否か判断する（ステップＳ１７１０）。
【０１９２】
ステップＳ１７１０において、ｆは１以下（ｆ≦１）でありフォントサイズが最小になっている場合には、フォントＳＷ処理ルーチンを終了して、楽譜表示プログラムのルーチン（図２１）へリターンする。
【０１９３】
一方、ステップＳ１７１０において、ｆは１以下（ｆ≦１）でないと判断された場合には、ｆ＝ｆ−１、Ｖｍ＝ｆ×１０、ｍ＝ｉｎｔ（Ｈｗ／Ｈｍ）（ただし、ｍは四捨五入。）ならびにｎ＝ｉｎｔ（Ｖｗ／Ｖｍ）（ただし、ｎは切り捨て。）を算出し（ステップＳ２４１２）、楽譜表示プログラムのルーチン（図２１）へリターンする。
【０１９４】
つまり、このフォントＳＷ処理ルーチンにおいては、フォントＳＷによりフォントサイズの変更が指示されたので、それに応じて小節サイズの縦方向Ｖｍを算出し、小節の縦横比が一定になるように小節サイズの横方向Ｈｍを算出し、新たな１段当たりの小節数ｍ算出するとともに、新たな段数ｎを算出しているものである。
【０１９５】
次に、図２５に示すフローチャート参照しながら、Ｗｉｎｄｏｗ変更処理ルーチンについて説明する。
【０１９６】
このＷｉｎｄｏｗ変更処理ルーチンにおいては、まず、ＯＳよりウィンドウサイズを取得し、音符表示領域サイズの横方向Ｈｗと縦方向Ｖｗとを設定する（ステップＳ１２０２）。
【０１９７】
次に、Ｍ＝１に設定されていて優先モードが小節になっているか否かについて判断する（ステップＳ２５０４）。
【０１９８】
ステップＳ２５０４において、Ｍ＝１に設定されていないと判断された場合には、Ｍ＝２に設定されていて優先モードが段数になっているか否かについて判断する（ステップＳ２５０６）。
【０１９９】
ステップＳ２５０６において、Ｍ＝２に設定されていないと判断された場合、即ち、Ｍ＝１でもなくＭ＝２でもなく、優先モードがＭ＝３のフォントになっている場合には、現在のフォントサイズｆに基づいて、Ｖｍ＝ｆ×１０、Ｈｍ＝Ｖｍ／ｒ、ｍ＝ｉｎｔ（Ｈｗ／Ｈｍ）（ただし、ｍは四捨五入。）およびｎ＝ｉｎｔ（Ｖｗ／Ｖｍ）（ｎは、四捨五入。）を算出する（ステップＳ２５０８）。
【０２００】
それから、ｍは１未満（ｍ＜１）であるか否かを判断する（ステップＳ２５１０）。
【０２０１】
ステップＳ２５１０において、ｍは１未満（ｍ＜１）である場合には、変更された音符表示領域サイズの横方向Ｈｗが１小節よりも小さくなってしまっているので、ウィンドウサイズを最低限必要な大きさに修正する。即ち、ｍ＝１、Ｈｗ＝ＨｍおよびＷｃｈｇ＝１に設定する（ステップＳ２５１２）。
【０２０２】
これにより、このＷｉｎｄｏｗ変更処理ルーチンを終了した後に、表示ルーチン（ステップＳ２１０８）においてウィンドウサイズの修正が行われる。
【０２０３】
ステップＳ２５１２の処理を終了した場合、あるいはステップＳ２５１０においてｍは１未満（ｍ＜１）でないと判断された場合には、ｎは１未満（ｎ＜１）であるか否かを判断する（ステップＳ２５１４）。
【０２０４】
ステップＳ２５１４において、ｎは１未満（ｎ＜１）であると判断された場合には、変更された音符表示領域サイズの縦方向Ｖｗが小節の縦よりも小さくなってしまっているので、ウィンドウサイズを最低限必要な大きさに修正する。即ち、ｎ＝１、Ｖｗ＝ＶｍおよびＷｃｈｇ＝１に設定する（ステップＳ２５１６）。これにより、このＷｉｎｄｏｗ変更処理ルーチンを終了した後に、表示ルーチン（ステップＳ２１０８）においてウィンドウサイズの修正が行われる。
【０２０５】
ステップＳ２５１６の処理を終了した場合、あるいはステップＳ２５１４においてｎは１未満（ｎ＜１）でないと判断された場合には、楽譜表示プログラムのルーチン（図２１）へリターンする。
【０２０６】
また、ステップＳ２５０６において、Ｍ＝２に設定されていると判断された場合、即ち、優先モードがＭ＝２の段数になっている場合には、現在の段数ｎに基づいて、Ｖｍ＝Ｖｗ／ｎおよびＨｍ＝Ｖｍ／ｒ、ｍ＝ｉｎｔ（Ｈｗ／Ｈｍ）（ただし、ｍは四捨五入。）を算出する（ステップＳ２５１８）。
【０２０７】
それから、ｍは１未満（ｍ＜１）であるか否かを判断する（ステップＳ２５２０）。
【０２０８】
ステップＳ２５２０において、ｍは１未満（ｍ＜１）である場合には、変更された音符表示領域サイズの横方向Ｈｗが１小節よりも小さくなってしまっているので、ウィンドウサイズを最低限必要な大きさに修正する。即ち、ｍ＝１、Ｈｗ＝ＨｍおよびＷｃｈｇ＝１に設定する（ステップＳ２５２２）。
【０２０９】
これにより、このＷｉｎｄｏｗ変更処理ルーチンを終了した後に、表示ルーチン（ステップＳ２１０８）においてウィンドウサイズの修正が行われる。
【０２１０】
ステップＳ２５２２の処理を終了した場合、あるいはステップＳ２５２０においてｍは１未満（ｍ＜１）でないと判断された場合には、フォントサイズｆ＝ｉｎｔ（Ｖｍ／１０）（ただし、ｆは四捨五入。）を算出し（ステップＳ２５２４）、楽譜表示プログラムのルーチン（図２１）へリターンする。
【０２１１】
また、ステップＳ２５０４において、Ｍ＝１に設定されていると判断された場合、即ち、優先モードがＭ＝１の小節になっている場合には、現在の１段当たりの小節数ｍに基づいて、Ｈｍ＝Ｈｗ／ｍ、Ｖｍ＝ｒ×Ｈｍおよびｎ＝ｉｎｔ（Ｖｗ／Ｖｍ）（ただし、ｎは切り捨て。）を算出する（ステップＳ２５２６）。
【０２１２】
それから、ｎは１未満（ｎ＜１）であるか否かを判断する（ステップＳ２５２８）。
【０２１３】
ステップＳ２５２８において、ｎは１未満（ｎ＜１）であると判断された場合には、変更された音符表示領域サイズの縦方向Ｖｗが小節の縦よりも小さくなってしまっているので、ウィンドウサイズを最低限必要な大きさに修正する。即ち、ｎ＝１、Ｖｗ＝ＶｍおよびＷｃｈｇ＝１に設定する（ステップＳ２５３０）。これにより、このＷｉｎｄｏｗ変更処理ルーチンを終了した後に、表示ルーチン（ステップＳ２１０８）においてウィンドウサイズの修正が行われる。
【０２１４】
ステップＳ２５３０の処理を終了した場合、あるいはステップＳ２５２８においてｎは１未満（ｎ＜１）でないと判断された場合には、フォントサイズｆ＝ｉｎｔ（Ｖｍ／１０）（ただし、ｆは四捨五入。）を算出し（ステップＳ２５３２）、楽譜表示プログラムのルーチン（図２１）へリターンする。
【０２１５】
即ち、このＷｉｎｄｏｗ変更処理ルーチンにおいては、変更されたウィンドウサイズと指定された優先モードに応じて、小節の縦横比を一定にするように、小節の大きさ、１段当たりの小節数、段数などを算出している。これによって、新たな音符表示領域サイズの横方向Ｈｗおよび縦方向Ｖｗ、新たな小節サイズの横方向Ｈｍおよび縦方向Ｖｍならびに新たなフォントサイズｆが設定され、実際の表示は表示ルーチン（ステップＳ２１０８）で更新される。
【０２１６】
以上において詳細に説明したように、上記した第３の実施の形態によると、初期状態では図２６（ａ）に示すように、ディスプレイ２０の画面上には１段当たり４小節で２段に表示される。
【０２１７】
ここで、例えば、ユーザーが小節＋スイッチ１１０ａを１回オンすることにより、１段当たりの小節数を１小節増やした場合には、図２６（ｂ）に示すように、小節の縦横比が一定なので、小節の縦が短くなり、段間Ｖｒとして配分されて段が割り付けられ、フォントも小節の縦に応じて小さくなる。
【０２１８】
また、例えば、ユーザーが段数＋スイッチ１１２ａを１回オンすることにより、段数を１段増やした場合には、図２６（ｃ）に示すように、小節の縦横比が一定なので、小節の横が短くなり、１段当たりの小節数が増加し、フォントも小節の縦に応じて小さくなる。
【０２１９】
また、例えば、ユーザーがフォント＋スイッチ１１４ａを１回オンすることにより、フォントを大きくした場合には、図２６（ｄ）に示すように、小節の縦横比が一定なので、小節の縦横ともに大きくなり、小節数、段数ともに減少する。また、優先モードが小節になっているときに、ウィンドウサイズを大きくすると、図２６（ｅ）に示すように、小節数が固定されているので、小節の横が長くなり、また、小節の縦横比が固定なので、小節の縦も長くなる。従って、フォントも大きくなる。なお、縦の余白が生じた場合は、段間Ｖｒとして配分されて段が割り付けられる。
【０２２０】
また、優先モードが段数になっているときに、ウィンドウサイズを大きくすると、図２６（ｆ）に示すように、段数が固定されているので、小節の縦が長くなり、また、小節の縦横比が固定なので、小節の横も長くなる。従って、フォントも大きくなる。
【０２２１】
また、優先モードがフォントになっているときに、ウィンドウサイズを大きくすると、図２６（ｇ）に示すように、小節の縦横が変わらずに、小節数、段数が増加する。なお、縦の余白が生じた場合は、段間Ｖｒとして配分されて段が割り付けられる。
【０２２２】
なお、上記した第３の実施の形態においては、小節の縦横比は一定であったが、小節当たりの音符の密度によって変更してもよい。このようにすれば、小節内の音符が多い楽譜の場合には、小節の形状を横長にすることで、ユーザーにとってより見易くすることができる。
【０２２３】
また、拍子に応じて小節の縦横比を換えてもよい。そのようにすると、拍子が多い楽曲の楽譜は小節の形状が横長になり、ユーザーにとって拍子の感覚が捉えやすくなる。
【０２２４】
さらにまた、１段当たりの小節数の代わりに、小節の横のドット数に対応する値を指定するようにしてもよい。
【０２２５】
また、上記した第３の実施の形態においては、音符の数がそれほど多くない通常の曲の場合には、小節の形状比率を保つことで、表示領域の形状やサイズに関わらず、バランスのとれた楽譜表示を提供することができる。
【０２２６】
【発明の効果】
本発明は、以上説明したように構成されているので、画面の表示領域がどのような形状やサイズであっても楽譜が欠けて表示されることがなく、ユーザーが視認し易い形態で楽譜を表示することができるという優れた効果を奏する。
【図面の簡単な説明】
【図１】従来の楽譜表示方法の問題点を説明するための説明図である。
【図２】従来の楽譜表示方法の問題点を説明するための説明図である。
【図３】本発明による楽譜表示方法を実施するためのパーソナルコンピュータなどの汎用のコンピュータの全体構成を示すブロック構成図である。
【図４】本発明の楽譜表示方法による楽譜表示の処理の原理を説明するための説明図である。
【図５】記号のデータのフォーマットを示す説明図である。
【図６】第１の実施の形態における楽譜表示プログラムによって表示されるウィンドウを示す説明図である。
【図７】第１の実施の形態における楽譜表示プログラムのルーチンを示すフローチャートである。
【図８】第１の実施の形態における表示ルーチンを示すフローチャートである。
【図９】第１の実施の形態におけるページＳＷルーチンを示すフローチャートである。
【図１０】第１の実施の形態における小節ＳＷルーチンを示すフローチャートである。
【図１１】第１の実施の形態における段数ＳＷルーチンを示すフローチャートである。
【図１２】第１の実施の形態におけるＷｉｎｄｏｗ変更処理ルーチンを示すフローチャートである。
【図１３】第１の実施の形態における楽譜の表示形態を示す説明図である。
【図１４】第２の実施の形態における楽譜表示プログラムによって表示されるウィンドウを示す説明図である。
【図１５】第２の実施の形態における楽譜表示プログラムのルーチンを示すフローチャートである。
【図１６】第２の実施の形態における表示ルーチンを示すフローチャートである。
【図１７】第２の実施の形態におけるフォントＳＷルーチンを示すフローチャートである。
【図１８】第２の実施の形態におけるＷｉｎｄｏｗ変更処理ルーチンを示すフローチャートである。
【図１９】第２の実施の形態における楽譜の表示形態を示す説明図である。
【図２０】第３の実施の形態における楽譜表示プログラムによって表示されるウィンドウを示す説明図である。
【図２１】第３の実施の形態における楽譜表示プログラムのルーチンを示すフローチャートである。
【図２２】第３の実施の形態における小節ＳＷルーチンを示すフローチャートである。
【図２３】第３の実施の形態における段数ＳＷルーチンを示すフローチャートである。
【図２４】第３の実施の形態におけるフォントＳＷ処理ルーチンを示すフローチャートである。
【図２５】第３の実施の形態におけるＷｉｎｄｏｗ変更処理ルーチンを示すフローチャートである。
【図２６】第３の実施の形態における楽譜の表示形態を示す説明図である。
【符号の説明】
１０      ＣＰＵ
１２      ＲＡＭ
１４      外部記憶装置
１６      キーボード
１８      マウス
２０      ディスプレイ
１００      音符表示領域
１０２      加線
１０４      線間
【図１】
0003771342.tif 000002
【図２】
0003771342.tif 000003
【図３】
0003771342.tif 000004
【図４】
0003771342.tif 000005
【図５】
0003771342.tif 000006
【図６】
0003771342.tif 000007
【図７】
0003771342.tif 000008
【図８】
0003771342.tif 000009
【図９】
0003771342.tif 000010
【図１０】
0003771342.tif 000011
【図１１】
0003771342.tif 000012
【図１２】
0003771342.tif 000013
【図１３】
0003771342.tif 000014
【図１４】
0003771342.tif 000015
【図１５】
0003771342.tif 000016
【図１６】
0003771342.tif 000017
【図１７】
0003771342.tif 000018
【図１８】
0003771342.tif 000019
【図１９】
0003771342.tif 000020
【図２０】
0003771342.tif 000021
【図２１】
0003771342.tif 000022
【図２２】
0003771342.tif 000023
【図２３】
0003771342.tif 000024
【図２４】
0003771342.tif 000025
【図２５】
0003771342.tif 000026
【図２６】
0003771342.tif 000027