(57)【特許請求の範囲】
【請求項１】
制御部を有するコンピュータにより情報処理を行うプログラムにおいて、
コンピュータに、
入力行へ入力される複数の候補文字列を表示する際に、前記入力行の前行の文字列を前記制御部により取得し、
取得した前行の文字列と、前記複数の候補文字列とを前記制御部により列方向が一致するように対応づけて表示し、
一の候補文字列が選択された際の選択位置を示す位置情報を前記制御部により取得し、
取得した選択位置を示す位置情報に基づき、選択された候補文字列に対するスペース数を前記制御部により決定する
処理を実行させるプログラム。
【請求項２】
前記取得する処理は、
入力行へ入力される複数の候補文字列を表示する際に、前記入力行以外の行の文字列を前記制御部により取得し、
取得した入力行以外の複数の行の文字列から、一の行の文字列の選択を受け付け、
前記表示する処理は、
選択された一の行の文字列と、前記複数の候補文字列とを前記制御部により列方向が一致するように対応づけて表示する
請求項１に記載のプログラム。
【請求項３】
入力行または前行のフォントサイズを取得し、
前記決定する処理は、
取得したフォントサイズ及び取得した選択位置を示す位置情報に基づき、選択された候補文字列に対するスペース数を前記制御部により決定する
請求項１または２に記載のプログラム。
【請求項４】
前行のフォントサイズ及び入力行のフォントサイズを取得し、
前記表示する処理は、
取得した前行のフォントサイズ及び入力行のフォントサイズの比に基づき、取得した前行の文字列または複数の候補文字列のフォントサイズを前記制御部により決定し、
決定したフォントサイズに基づき、取得した前行の文字列と、複数の候補文字列とを前記制御部により対応づけて表示する
請求項１または２に記載のプログラム。
【請求項５】
制御部を有するコンピュータにより情報処理を行うプログラムにおいて、
コンピュータに、
入力行へ入力される複数の候補文字列を表示する際に、前記複数の候補文字列を前記入力行の前行に表示された文字列に前記制御部により列方向が一致するように対応づけて表示し、
一の候補文字列が選択された際の選択位置を示す位置情報を前記制御部により取得し、
取得した選択位置を示す位置情報に基づき、選択された候補文字列に対するスペース数を前記制御部により決定する
処理を実行させるプログラム。
【請求項６】
情報処理を行う情報処理装置において、
入力行へ入力される複数の候補文字列を表示する際に、前記入力行の前行の文字列を取得する取得部と、
該取得部により取得した前行の文字列と、前記複数の候補文字列とを列方向が一致するように対応づけて表示する表示処理部と、
一の候補文字列が選択された際の選択位置を示す位置情報を取得する位置情報取得部と、
該位置情報取得部が取得した選択位置を示す位置情報に基づき、選択された候補文字列に対するスペース数を決定する決定部と
を備える情報処理装置。
【請求項７】
制御部を有するコンピュータにより情報処理を行う情報処理方法において、
入力行へ入力される複数の候補文字列を表示する際に、前記入力行の前行の文字列を前記制御部により取得し、
取得した前行の文字列と、前記複数の候補文字列とを前記制御部により列方向が一致するように対応づけて表示し、
一の候補文字列が選択された際の選択位置を示す位置情報を前記制御部により取得し、
取得した選択位置を示す位置情報に基づき選択された候補文字列に対するスペース数を前記制御部により決定する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにより情報処理を行うためのプログラム、情報処理装置、及び、情報処理方法に関する。
【背景技術】
【０００２】
情報処理装置を用いて、文書データを編集する技術が開示されている。これらの技術は桁揃え等の処理を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−８９２８１号公報
【特許文献２】特開平７−２５３９８０号公報
【特許文献３】特開２０１０−２８６９２２号公報
【特許文献４】特開２０１１−２８５７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来は改行の度に必要な数のスペースを入力しなければならないという問題があった。
【０００５】
本発明は斯かる事情に鑑みてなされたものである。その目的は、ユーザが意図した箇所に必要なスペース数を挿入することが可能なプログラム等を提供することにある。
【課題を解決するための手段】
【０００６】
本願に開示するプログラムは、制御部を有するコンピュータにより情報処理を行うプログラムにおいて、コンピュータに、入力行へ入力される複数の候補文字列を表示する際に、前記入力行の前行の文字列を前記制御部により取得し、取得した前行の文字列と、前記複数の候補文字列とを前記制御部により列方向が一致するように対応づけて表示し、一の候補文字列が選択された際の選択位置を示す位置情報を前記制御部により取得し、取得した選択位置を示す位置情報に基づき、選択された候補文字列に対するスペース数を前記制御部により決定する処理を実行させる。
【発明の効果】
【０００７】
本願の一観点によれば、ユーザが意図した箇所に必要なスペース数を挿入することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】入力処理イメージを示す説明図である。
【図２】パーソナルコンピュータのハードウェア群を示すブロック図である。
【図３】文例ファイルのレコードレイアウトを示す説明図である。
【図４】行テーブルのレコードレイアウトを示す説明図である。
【図５】候補文字列の表示処理手順を示すフローチャートである。
【図６】候補文字列の表示処理手順を示すフローチャートである。
【図７】選択欄の表示イメージを示す説明図である。
【図８】文字列表示処理の手順を示すフローチャートである。
【図９】文字列表示処理の手順を示すフローチャートである。
【図１０】表示処理のイメージを示す説明図である。
【図１１】表示処理のイメージを示す説明図である。
【図１２】表示処理のイメージを示す説明図である。
【図１３】表示処理のイメージを示す説明図である。
【図１４】第３基準線の表示処理の手順を示すフローチャートである。
【図１５】表示処理のイメージを示す説明図である。
【図１６】表示処理のイメージを示す説明図である。
【図１７】行テーブルのレコードレイアウトを示す説明図である。
【図１８】表示処理の手順を示すフローチャートである。
【図１９】表示処理の手順を示すフローチャートである。
【図２０】表示イメージを示す説明図である。
【図２１】表示イメージを示す説明図である。
【図２２】表示処理の手順を示すフローチャートである。
【図２３】表示処理の手順を示すフローチャートである。
【図２４】表示処理の手順を示すフローチャートである。
【図２５】表示イメージを示す説明図である。
【図２６】表示イメージを示す説明図である。
【図２７】表示処理手順を示すフローチャートである。
【図２８】表示処理手順を示すフローチャートである。
【図２９】表示イメージを示す説明図である。
【図３０】表示処理の手順を示すフローチャートである。
【図３１】表示処理の手順を示すフローチャートである。
【図３２】第３基準線の他の表示形態を示す説明図である。
【図３３】上述した形態のパーソナルコンピュータの動作を示す機能ブロック図である。
【図３４】実施の形態７に係るパーソナルコンピュータのハードウェア群を示すブロック図である。
【発明を実施するための形態】
【０００９】
実施の形態１
以下実施の形態を、図面を参照して説明する。図１は入力処理イメージを示す説明図である。情報処理装置１の表示部１４には入力した文字列が表示される。情報処理装置１は例えば、パーソナルコンピュータ、携帯電話機、ＰＤＡ（Personal Digital Assistant）、ブックリーダ、ゲーム機、または、医療機器、半導体製造装置若しくは工作機械等の制御用コンピュータ等である。以下では情報処理装置１をパーソナルコンピュータ１であるものとして説明する。図１Ａは候補となる文字列を入力する際のイメージ図である。
【００１０】
図１Ａの例では、第１行目に「咳：止まらない」、改行後の第２行目に「食欲はない」と表示されている。そして、改行後、第３行目に「こまく」を入力した際に、「こまく」に対応する複数の候補文字列が表示される。これらの候補文字列は選択された後、第３行目の入力行に、所定のスペース数が付加された上で、入力される。候補文字列を表示する場合、前行文字列表示欄（以下、ヘッダ２１という）及び候補文字列表示欄（以下、候補欄２２という）を含む選択欄２が表示部１４に表示される。ヘッダ２１には入力行の前行である第２行目の「食欲はない」が表示される。
【００１１】
ヘッダ２１に表示された前行の文字列に対応づけて、当該ヘッダ２１の下側に複数の候補文字列が候補欄２２に並列表示される。図１Ａの例では、候補欄２２の第１行目に「鼓膜：異常所見なし」、第２行目に「鼓膜：右ややcloudy」等が並列に表示されている。また選択欄２には文字列と交差する方向に点線で示す第１基準線３１と、実線で示す第２基準線３２が表示される。第２基準線３２はヘッダ２１に表示された前行の文字列の先頭文字左側に表示される。この第２基準線３２は前行の文字列先頭と、入力文字列先頭とを一致させたい場合に参照される。第１基準線３１は前行または入力行のフォントサイズに対応した位置に表示される。具体的には全角スペースと全角スペースとの間を交差する位置に第１基準線３１が表示される。なお、本実施形態では説明を容易にするために、全角スペースと全角スペースとの間を交差する位置に第１基準線３１を表示する例を挙げたがこれに限るものではない。半角スペースと半角スペースとの間を交差する位置に第１基準線３１を表示しても良い。
【００１２】
ユーザは第１基準線３１及び第２基準線３２を参照し、入力行の文字列の配置を希望する位置と入力を希望する候補文字列を決定する。図１Ａの例では黒矢印で示すポインタにより、候補文字列「鼓膜：右ややcloudy」が選択されている。また入力を希望する位置として「鼓膜：右ややcloudy」の５番目の文字「や」が選択されている。
【００１３】
入力行「や」に対応する前行の文字列は「食欲はない」のうち「は」である。また入力行「や」の前には４つの全角スペースが存在する。図１Ｂは入力結果を示す説明図である。入力行である第３行目には、「鼓膜：右ややcloudy」が表示される。この場合、入力行の選択された文字「鼓膜：右ややcloudy」には４つのスペースが挿入される。そして入力行の先頭文字「鼓」は前行の「は」に一致する。以下詳細を説明する。
【００１４】
図２はパーソナルコンピュータ１のハードウェア群を示すブロック図である。パーソナルコンピュータ１は制御部としてのＣＰＵ(Central Processing Unit)１１、ＲＡＭ（Random Access Memory）１２、入力部１３、表示部１４、記憶部１５、時計部１８及び通信部１６等を含む。ＣＰＵ１１は、バス１７を介してハードウェア各部と接続されている。ＣＰＵ１１は記憶部１５に記憶された制御プログラム１５Ｐに従いハードウェア各部を制御する。ＲＡＭ１２は例えばＳＲＡＭ（Static ＲＡＭ）、ＤＲＡＭ（Dynamic ＲＡＭ）、フラッシュメモリ等である。ＲＡＭ１２は、記憶部としても機能し、ＣＰＵ１１による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００１５】
入力部１３はマウス、キーボード、またはタッチパネル等の入力デバイスであり、受け付けた操作情報をＣＰＵ１１へ出力する。表示部１４は液晶ディスプレイまたは有機ＥＬ（electroluminescence）ディスプレイ等で有り、ＣＰＵ１１の指示に従い各種情報を表示する。時計部１８は日時情報をＣＰＵ１１へ出力する。通信部１６は有線または無線ＬＡＮ（Local Area Network）カード等であり、インターネット等の通信網Ｎを介して他のコンピュータ（図示せず）等との間で情報の送受信を行う。記憶部１５は例えば、ハードディスクまたは大容量フラッシュメモリ等であり、制御プログラム１５Ｐを格納する。記憶部１５はこの他、文例ファイル１５１及び行テーブル１５２等を格納している。
【００１６】
図３は文例ファイル１５１のレコードレイアウトを示す説明図である。文例ファイル１５１はキーフィールド及び文例フィールド等を含む。文例ファイル１５１には入力部１３から入力行へ文字が入力された際の入力文字候補を記憶している。例えば文例ファイルには、変換候補となる漢字辞書、文法辞書、文例等が記憶されている。本実施形態では説明を容易にするために、入力された文字列に対応する文例が複数記憶されているものとして説明する。図３の例では入力された文字列「こまく」に対応する文例の読みがキーフィールドに記憶されている。文例フィールドには、キーフィールドに記憶した文例の読みを変換した後の文例が記憶されている。例えば、ＣＰＵ１１は「こまく」が入力部１３から入力された場合、文例ファイル１５１に「こまく」に対応づけて記憶されている候補文字列「鼓膜：異常所見なし」、「鼓膜：右ややcloudy」等を読み出す。なお、本実施形態では文字列に対応する文例を表示する形態を示したがこれに限るものではない。例えば、文字列に対応する単語を表示しても良い。例えば、ＣＰＵ１１は「かわさき」と文字列が入力部１３から入力された場合、文法辞書及び漢字辞書が記憶されている文例ファイルを参照し、単語「川崎」、「河崎」、または「川先」等の単語を候補文字列として表示しても良い。
【００１７】
図４は行テーブル１５２のレコードレイアウトを示す説明図である。行テーブルは位置情報フィールド、行フォントサイズフィールド、行文字列フィールド及び入力行フォントサイズフィールド等を含む。位置情報フィールドには、入力行を基準とした入力行以外の行の位置を示す情報を記憶している。本実施形態では、入力行の前行の行位置を「−１」、入力行の２行前の行位置を「−２」、入力行の一行下の行の行位置を「＋１」、入力行の２行下の行位置を「＋２」とする。行フォントサイズフィールドには、各行のフォントサイズが行位置に対応づけて記憶されている。行文字列フィールドには、行位置に対応づけて、文字列が記憶されている。入力行フォントサイズフィールドには、入力行のフォントサイズが記憶されている。
【００１８】
ＣＰＵ１１は改行された場合、行テーブル１５２の更新を行う。ＣＰＵ１１は入力行のフォントサイズを取得し、入力行フォントサイズフィールドに記憶する。またＣＰＵ１１は入力行以外の行についてのフォントサイズ及び行文字列を取得し、行テーブル１５２に記憶する。図４の例では、前行である行位置「−１」に対応づけて、前行の行フォントサイズが「１５」、行文字列が「食欲はない」と記憶されている。また入力行のフォントサイズも前行と同じく「１５」と記憶されている。なお、本実施形態で述べる文例ファイル１５１及び行テーブル１５２のレコードレイアウトは一例でありこれに限るものではない。また行テーブル１５２はＲＡＭ１２に記憶しても良い。さらに、文例ファイル１５１を記憶部１５に記憶する例を挙げたがこれに限るものではない。文例ファイル１５１を図示しない通信網Ｎを介して接続される図示しないデータベースサーバに記憶し、必要に応じてデータの読み出しまたは書き込みを行っても良い。
【００１９】
図５及び図６は候補文字列の表示処理手順を示すフローチャートである。ＣＰＵ１１は改行処理の後以下の処理を行う。ＣＰＵ１１は前行のフォントサイズを取得する（ステップＳ５１）。ＣＰＵ１１は前行の文字列を取得する（ステップＳ５２）。ＣＰＵ１１は行テーブル１５２に取得した前行のフォントサイズ及び文字列を記憶する（ステップＳ５３）。ＣＰＵ１１は入力行のフォントサイズを取得する（ステップＳ５４）。ＣＰＵ１１は取得した入力行のフォントサイズを行テーブル１５２に記憶する（ステップＳ５５）。
【００２０】
ＣＰＵ１１は入力部１３から文字入力を受け付ける（ステップＳ５６）。なお、本実施形態ではキーボードからタイプされた文字の入力を受け付ける例を挙げるがこれに限るものではない。例えば、予め表示部１４に表示された入力対象となる文字列をアイコンとして表示しておいても良い。この場合ＣＰＵ１１は記憶部１５に予め記憶した「鼓膜」、「心臓」等のアイコンを表示部１４に表示する。ユーザはマウス等により、アイコンを選択する。ＣＰＵ１１は選択されたアイコンに対応する文字列の入力を受け付ける。ＣＰＵ１１は、文例ファイル１５１を参照し、入力された文字または文字列に対応する文例が存在するか否かを判断する。ＣＰＵ１１は文例が存在しない場合、引き続き文字の入力を受け付ける。
【００２１】
ＣＰＵ１１は対応する文例が存在すると判断した場合、文例ファイル１５１から複数の候補文字列を読み出す（ステップＳ５７）。ＣＰＵ１１は記憶部１５に予め記憶した選択欄２を読み出す。ＣＰＵ１１は選択欄２を入力行の下側または上側の位置にて、表示部１４に表示する。ＣＰＵ１１は選択欄２の候補欄２２に左寄せで、読み出した候補文字列を並列に表示する（ステップＳ５８）。図１を参照して具体的に説明する。本実施形態においては、入力行及び前行の文字列入力方向（図１右方向）をＸ軸正方向とする。文字列入力方向と交差し、かつ、改行する方向をＹ軸正方向とする。
【００２２】
ＣＰＵ１１は前行の文字列が表示されるヘッダ２１の下側、すなわちＹ軸正方向に複数の候補文字列を一つずつ、候補欄２２内に並列に表示する。この場合、ＣＰＵ１１は各候補文字列を候補欄２２の左端に一致するよう並列表示する。図１の例では「鼓膜」の「鼓」の文字が候補欄２２の左枠線を基準に一致していることが理解できる。ＣＰＵ１１は前行の先頭文字の前にスペースが存在するか否かを判断する（ステップＳ５９）。具体的には、ＣＰＵ１１はステップＳ５２で前行のデータを取得する際に、前行の文字列先頭の文字の前にスペースが存在するか否かを判断する。
【００２３】
ＣＰＵ１１は前行文字列の先頭文字の前にスペースが存在すると判断した場合（ステップＳ５９でＹＥＳ）、スペース数を計数する（ステップＳ６１）。ＣＰＵ１１は行テーブル１５２から前行のフォントサイズを読み出す（ステップＳ６２）。ＣＰＵ１１は計数したスペース数及びフォントサイズに基づき、フォントサイズに対応するスペース数をヘッダ２１に左側から挿入する（ステップＳ６３）。ＣＰＵ１１はヘッダ２１に、挿入したスペースの後に、前行の文字列を表示する（ステップＳ６４）。これにより図１Ａに示すように、ヘッダ２１には、２つの全角スペースが挿入された上で前行の文字列「食欲はない」が表示される。
【００２４】
ＣＰＵ１１はヘッダ２１のフォントサイズに基づき、選択欄２内に第１基準線３１を表示する（ステップＳ６５）。具体的にはＣＰＵ１１は、ヘッダ２１全てにスペースが存在すると仮定した場合のスペースとスペースとの間の位置に第１基準線３１を点線で表示する。なお、本実施形態ではヘッダ２１のフォントサイズを基準としたが、候補欄２２のフォントサイズを基準としても良い。具体的には、ＣＰＵ１１は候補欄２２のフォントサイズを参照し、全角文字（または半角）一字あたりのＸ軸方向表示領域の境界上に第１基準線３１を表示する。
【００２５】
ＣＰＵ１１は一の第１基準線３１上であり、かつ、ヘッダ２１内の前行の先頭文字列の左側に第２基準線３２を実線で表示する（ステップＳ６６）。ＣＰＵ１１は第２基準線３２の重畳された第１基準線３１を消去しても良い。その他ＣＰＵ１１は前行先頭文字列左側の位置情報、すなわちＹ軸座標値を取得する。そしてＣＰＵ１１は取得したＹ軸座標値に最も近接する第１基準線３１を第２基準線３２としても良い。なお、本実施形態では容易に視認できるよう、第１基準線３１を点線とし、第２基準線３２を実線としたが、一例であり、これに限るものではない。例えば、第１基準線３１を黒、第２基準線３２を赤とする等、異なる色としても良い。
【００２６】
これにより、図１Ａに示すように、前行の文字列及び入力行の候補文字列が対応づけて表示され、かつ、選択欄２内に第１基準線３１及び第２基準線３２が重畳して表示される。なお、図１Ａの例では、第１基準線３１をヘッダ２１内の前行文字列が存在する位置にのみ表示しているがこれに限るものではない。その他、ヘッダ２１内に第１基準線３１及び第２基準線３２を表示しているが、ヘッダ２１内には第１基準線３１及び第２基準線３２を表示しなくとも良い。
【００２７】
ＣＰＵ１１は前行文字列の先頭文字の前にスペースが存在しないと判断した場合（ステップＳ５９でＮＯ）、処理をステップＳ６７へ移行させる。スペースが存在しないことから、ＣＰＵ１１はヘッダ２１に前行文字列を左寄せで表示する（ステップＳ６７）。
【００２８】
図７は選択欄２の表示イメージを示す説明図である。ヘッダ２１にはスペースを挿入することなく左寄せで前行文字列「食欲はない」が表示される。ステップＳ５８においてＣＰＵ１１は左寄せで候補文字列を候補欄２２に表示していることから、相互の文字列の先頭文字の表示位置が一致する。ＣＰＵ１１はヘッダ２１のフォントサイズを参照し、全角文字のＸ軸方向表示領域の境界位置に第１基準線３１を表示する（ステップＳ６８）。
【００２９】
ステップＳ６８及びＳ６６の処理後ステップＳ６９へ移行する。ＣＰＵ１１は第１基準線３１及び第２基準線３２のＸ軸座標値をＲＡＭ１２に記憶する（ステップＳ６９）。なお、第２基準線３２を表示していない場合、第２基準線３２のＸ軸座標値を記憶する必要はない。ＣＰＵ１１は選択欄２の両端のＸ座標値、すなわち左端及び右端のＸ軸座標値を記憶する（ステップＳ６１０）。ＣＰＵ１１は候補欄２２の各入力文字列のＹ軸座標範囲を記憶する（ステップＳ６１１）。すなわち、ＣＰＵ１１は候補欄２２に表示された各入力文字列のＹ軸方向の座標範囲を記憶する。
【００３０】
図８及び図９は文字列表示処理の手順を示すフローチャートである。ＣＰＵ１１は候補文字列の選択を受け付ける（ステップＳ８１）。ＣＰＵ１１は候補文字列の選択を受け付けた際、入力部１３から受け付けた位置情報、すなわちＸ軸座標値及びＹ軸座標値を取得する（ステップＳ８２）。なお、本実施形態においては、図１に示すようにカーソルを表示し、マウスによりクリックされた場合に、Ｘ軸座標値及びＹ軸座標値を取得する例を挙げて説明するがこれに限るものではない。例えば、ＣＰＵ１１はカーソルを表示することなく、表示部１４に積層されたタッチパネルから出力されるＸ軸座標値及びＹ軸座標値を取得するようにしても良い。
【００３１】
ＣＰＵ１１は、ステップＳ６１１で記憶したＹ軸座標範囲を読み出す（ステップＳ８３）。ＣＰＵ１１は取得したＹ軸座標値がＹ軸座標範囲を超えるか否かを判断する（ステップＳ８４）。すなわち、入力部１３から取得したＹ軸座標値が、Ｙ軸座標範囲の上限及び下限を越えて、選択欄２の領域外にあるか否かを判断する。図１の例ではＣＰＵ１１は選択欄２の候補文字列１行目の「鼓膜：異常所見なし」についてのＹ軸方向の座標範囲のうち、値が最も小さいＹ軸座標値を取得する。またＣＰＵ１１は選択欄２の候補文字列７行目の「鼓膜：ごく僅か陥凹しているが正常範囲」についてのＹ軸方向の座標範囲のうち、値が最も大きいＹ軸座標値を取得する。ＣＰＵ１１は入力部１３から入力されたＹ軸座標値が、最も小さいＹ軸座標値と、最も大きいＹ軸座標値との間の範囲内に属するか否かを判断する。
【００３２】
ＣＰＵ１１はＹ軸座標範囲を超えると判断した場合（ステップＳ８４でＹＥＳ）、ステップＳ８５へ移行する。ＣＰＵ１１は候補欄２２に表示された文例を選択せずに、直接入力文字列を、スペースを挿入することなく表示する（ステップＳ８５）。図１Ｂの例では、候補欄２２が消去され、入力文字列「こまく」がそのまま「咳」の下側の開始位置に表示される。
【００３３】
ＣＰＵ１１はＹ軸座標範囲を超えないと判断した場合（ステップＳ８４でＮＯ）、取得したＹ軸座標値に基づき選択文字列を決定する（ステップＳ８６）。具体的にはＣＰＵ１１は、候補欄２２の各文字列とＹ軸座標範囲とを対応づけて記憶したＲＡＭ１２を参照し、取得したＹ軸座標値が属するＹ軸座標範囲に対応する文字列を選択する。ＣＰＵ１１は取得したＸ軸座標値は選択欄２の左端及び右端のＸ軸座標値の範囲内であるか否かを判断する（ステップＳ８７）。ＣＰＵ１１はＸ軸座標値の範囲内であると判断した場合（ステップＳ８７でＹＥＳ）、候補欄２２のフォントサイズを読み出す（ステップＳ８８）。
【００３４】
ＣＰＵ１１は読み出したフォントサイズに基づき、候補欄２２Ｘ軸方向の全角文字の表示座標領域を算出する（ステップＳ８９）。ＣＰＵ１１は候補欄２２の左端から文字列の表示位置番号と、座標領域とを対応づけてＲＡＭ１２に記憶する（ステップＳ９１）。具体的には、ＣＰＵ１１はフォントサイズを参照し、候補欄２２左端のＸ軸座標値から１文字目の表示領域右側のＸ軸座標値までを、第１番目の座標領域とする。次いで、ＣＰＵ１１は２文字目の左端のＸ軸座標値から２文字目の表示領域右側のＸ軸座標値までを、第２番目の座標領域とする。これをＣＰＵ１１は選択欄２の右端座標まで繰り返し行う。
【００３５】
なお、本実施形態では候補欄２２の全角フォントサイズを基準としたが半角のフォントサイズを基準としても良い。この場合、ＣＰＵ１１はフォントサイズを参照し、候補欄２２左端のＸ軸座標値から１文字目の２分の１の表示領域右端のＸ軸座標値までを、第１番目の座標領域とする。次いで、ＣＰＵ１１は１文字目の２分の１の表示領域右端のＸ軸座標値から１文字目の表示領域右端のＸ軸座標値までを、第２番目の座標領域とする。同様に、ＣＰＵ１１はフォントサイズを参照し、２文字目の表示領域左側のＸ軸座標値から２文字目の２分の１の表示領域右端のＸ軸座標値までを、第３番目の座標領域とする。次いで、ＣＰＵ１１は２文字目の２分の１の表示領域右端のＸ軸座標値から２文字目の表示領域右端のＸ軸座標値までを、第４番目の座標領域とする。これをＣＰＵ１１は選択欄２の右端座標まで繰り返し行う。
【００３６】
ＣＰＵ１１は取得したＸ軸座標値が属する座標領域を抽出する（ステップＳ９２）。ＣＰＵ１１は抽出した座標領域に対応する番号から１を減じてスペース数を決定する（ステップＳ９３）。例えば図１Ａの例では候補欄２２の２行目の「鼓膜：右ややcloudy」が選択文字列として決定され、第５番目の表示領域に対応する「や」がクリックされている。この場合、スペース数は４となる。また図１Ａの例において候補欄２２の２行目の「鼓膜：右ややcloudy」が選択文字列として決定され、第１番目の表示領域に対応する「鼓」がクリックされた場合、スペース数は０となる。なお、本実施形態においては候補欄２２、すなわち入力行のフォントサイズに基づき、スペース数を決定する例を挙げたがこれに限るものではない。
【００３７】
ヘッダ２１、すなわち前行のフォントサイズに基づきスペース数を決定しても良い。この場合、ＣＰＵ１１は、取得したＸ軸座標値と、ステップＳ６９及びステップＳ６１０で記憶した第１基準線３１、第２基準線３２、及び、左端のＸ軸座標値とを比較する。ＣＰＵ１１は取得したＸ軸座標値の左側にある第１基準線３１、第２基準線３２、または左端のＸ軸座標値を抽出する。そしてＣＰＵ１１は抽出したＸ軸座標値に基づきスペース数を決定する。例えば左端のＸ軸座標値が選択された場合、スペース数は０、左端から１本目の第１基準線３１のＸ軸座標値が選択された場合、スペース数は１、第２基準線３２のＸ軸座標値が選択された場合、スペース数は２となる。続く第３番目の第１基準線のＸ軸座標値が選択された場合、スペース数は３となる。
【００３８】
ＣＰＵ１１は取得したＸ軸座標値が、選択欄２の左欄及び右欄のＸ軸座標値の範囲内でないと判断した場合（ステップＳ８７でＮＯ）、処理をステップＳ９４へ移行させる。ＣＰＵ１１はスペース数を０と決定する（ステップＳ９４）。
【００３９】
図１０は表示処理のイメージを示す説明図である。図１０Ａは選択欄２の領域を越えてクリックされた際のイメージを示す説明図である。図１０Ａの例では、「鼓膜：右ややcloudy」が選択欄２の外側で選択されていることが理解できる。この場合、ユーザはスペースの挿入を希望していないものと見なし、ＣＰＵ１１はスペース数を０と決定する。この他、選択欄２の右外側でクリックした場合も、スペース数０としても良い。
【００４０】
ステップＳ９４及びＳ９３の後、以下の処理を行う。ＣＰＵ１１は決定したスペース数分、入力行にスペースを挿入する（ステップＳ９５）。ＣＰＵ１１はスペースの後に選択文字列を表示する（ステップＳ９６）。図１Ｂの例では、スペース数が４つ挿入された後の５スペース目を開始位置として、すなわち前行「は」の下に「鼓膜：右ややcloudy」が表示される。一方図１０Ｂの例では、スペースが挿入されず、前行の「食」の２スペース前、すなわち「咳」の下側を開始位置として「鼓膜：右ややcloudy」が表示される。なお、本実施形態ではヘッダ２１の下側に候補欄２２を表示し、前行の文字列と入力行の文字列とを対応づける例を挙げたがこれに限るものではない。ヘッダ２１の上側に候補欄２２を表示しても良い。その他、ヘッダ２１の左側または右側に候補欄２２を表示し、前行の文字列と入力行の文字列とを対応づける例を挙げたがこれに限るものではない。以下、一例としてヘッダ２１の左側に候補欄２２を表示する例を説明する。
【００４１】
図１１は表示処理のイメージを示す説明図である。文字列は縦方向に記載される、候補文字列を表示する場合、ヘッダ２１に前行の文字列「食欲はない」が表示される。ヘッダ２１の左側に複数の候補文字列が並列表示される。ＣＰＵ１１は第１基準線３１を文字列と交差する左方向へ表示する。同様にＣＰＵ１１は第２基準線３２を、前行の先頭文字の上側に、文字列と交差する左方向へ表示する。図１１Ａの例では、候補文字列のうち、「鼓膜：異常所見なし」が選択されている。また前行の「な」左側の「所」の位置が選択されている。この場合、ＣＰＵ１１はスペース数５と決定する。図１１Ｂでは、スペース数５が挿入され、前行の「な」の左側を開始位置として「鼓膜：異常所見なし」が表示される。
【００４２】
本実施の形態においては、図１に示すように「鼓膜：異常所見なし」、「鼓膜：右ややcloudy」の如く、一の候補文字列を一行としたが、複数行としても良い。図１２は表示処理のイメージを示す説明図である。入力文字列「けつあつ」に対する候補文字列は例えば以下の３つとしても良い。ＣＰＵ１１は文例ファイル１５１に記憶した候補文字列を表示部１４に表示する。第１の候補文字列は「血圧  ｍｍＨｇ（改行の後）血液型  型」である。このように候補文字列は複数行にわたっても良い。第２の候補文字列は「血圧  ｍｍＨｇ（改行の後）心拍数」である。第３の候補文字列は「血圧：平常」と１行である。これにより、挿入位置を前行の文字列との関係を視認しつつ、文字列をスペースと共に入力することが可能となる。
【００４３】
実施の形態２
実施の形態２は第３基準線を表示する形態に関する。図１３は表示処理のイメージを示す説明図である。第１基準線３１及び第２基準線３２に変えて、または、第１基準線３１及び第２基準線３２に加えて第３基準線３３を表示しても良い。本実施形態では説明を容易にするために、第３基準線３３のみを表示する例を挙げて説明する。ＣＰＵ１１はカーソルの動きに合わせてＹ軸方向に伸びる第３基準線３３を表示する。図１３の例では、前行の「は」の下側Ｙ軸方向に向けて第３基準線３３が表示される。第３基準線３３は例えば、透過率の高い灰色、赤色等で着色するか、または、第３基準線３３で覆われた領域に対し白黒反転処理を行っても良い。さらには、着色せずに矩形状の枠線を表示するようにしても良い。
【００４４】
図１４は第３基準線３３の表示処理の手順を示すフローチャートである。ＣＰＵ１１は入力部１３からの操作信号を監視し、カーソルのＸ軸座標値及びＹ軸座標値を取得する（ステップＳ１４１）。ＣＰＵ１１はステップＳ９１で行った処理と同様に表示位置番号とＸ軸方向の座標領域を決定する（ステップＳ１４２）。具体的には、ＣＰＵ１１は前行または入力行のフォントサイズを取得する。ＣＰＵ１１はフォントサイズに基づき全角または半角文字のＸ軸方向の座標領域を決定する。ＣＰＵ１１は座標領域の左から順番に番号を付し表示位置番号を決定する。ＣＰＵ１１はステップＳ１４１で取得したＸ軸座標値が属する座標領域を抽出する（ステップＳ１４３）。ＣＰＵ１１は抽出した座標領域について、Ｙ軸方向に第３基準線３３を表示する（ステップＳ１４４）。なお線幅はＸ軸の座標領域と同一か、または、それ以下とすればよい。
【００４５】
ＣＰＵ１１は入力部１３からクリックを受け付けたか否かを判断する（ステップＳ１４５）。ＣＰＵ１１は入力部１３からクリックを受け付けていない場合（ステップＳ１４５でＮＯ）、処理をステップＳ１４１へ戻す。これによりカーソルの移動に伴い、第３基準線３３がＹ軸方向に左右に平行移動することとなる。ＣＰＵ１１はクリックを受け付けたと判断した場合（ステップＳ１４５でＹＥＳ）、カーソルのＸ軸座標値及びＹ軸座標値を取得する（ステップＳ１４６）。なお、第３基準線３３はヘッダ２１及び候補欄２２の双方に表示する例を挙げたが、いずれか一方にのみ表示させても良い。以降の処理は図８及び図９で述べたとおりであるので詳細な説明は省略する。なお、タッチパネルの場合、ＣＰＵ１１は指の接触を検知した場合にステップＳ１４１の処理を開始する。ＣＰＵ１１は接触された指が離された場合に、ステップＳ１４５でＹＥＳの処理、すなわちクリックされたものとみなし、同様の処理を行えばよい。
【００４６】
本実施の形態２は以上の如きであり、その他は実施の形態１と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００４７】
実施の形態３
実施の形態３はヘッダ２１に前行を含む入力行以外の行をも表示する形態に関する。図１５及び図１６は表示処理のイメージを示す説明図である。図１５Ａにはヘッダ２１に前行の「食欲はない」が表示されている。ヘッダ２１の右側には入力行以外の行を選択するための選択ボタン２３が表示されている。ユーザは入力部１３から、選択ボタン２３をクリックすることにより、ヘッダ２１に表示する行の文字列を選択する。例えば、上方向の選択ボタン２３をクリックした場合、前行よりも一つ上の行の文字列「咳：止まらない」が図１５Ｂの如くヘッダ２１に表示される。一方、下方向の選択ボタン２３をクリックした場合、入力行よりも一つ下の行の文字列「投薬状況」がヘッダ２１に表示される。
【００４８】
図１７は行テーブル１５２のレコードレイアウトを示す説明図である。位置情報フィールドに記憶された「＋１」は入力行よりも一つ下の行であることを示す。「＋２」の場合、入力行よりも２行下であることを示す。ＣＰＵ１１は入力行の１行下の行の文字列を取得し、行位置「＋１」に対応づけて行文字列フィールドに「投薬状況」を記憶する。なお、フォントサイズは「１５」であり、ＣＰＵ１１は行位置「＋１」に対応づけて行フォントサイズフィールドに「１５」を記憶する。なお、図１５において上下のいずれかを選択することができる選択ボタン２３を設ける例を挙げたが、行を選択することができる形態であればこれに限るものではない。例えば、ユーザに、入力部１３から行を特定するための数字、例えば＋１、−２等を入力させても良い。
【００４９】
図１８及び図１９は表示処理の手順を示すフローチャートである。ＣＰＵ１１は入力部１３から改行指示を受け付ける（ステップＳ１８１）。ＣＰＵ１１は入力行以外の行のフォントサイズを取得する（ステップＳ１８２）。ＣＰＵ１１は行位置に対応づけて各行のフォントサイズを記憶する（ステップＳ１８３）。図１７の例では、入力行より２行上、前行、及び、一行下のフォントサイズが記憶される。同様に、ＣＰＵ１１は入力行以外の行の文字列を全て取得する（ステップＳ１８４）。
【００５０】
ＣＰＵ１１は行位置に対応づけて各行の文字列を、行テーブル１５２に記憶する（ステップＳ１８５）。図１７の例では、２行上、前行、及び、一行下の文字列「咳：止まらない」、「食欲はない」及び「投薬状況」がそれぞれ行位置に対応づけて記憶される。なお、本実施形態においては入力行以外の全ての行のフォントサイズ及び文字列を取得する例を挙げるがこれに限るものではない。ＣＰＵ１１は予め記憶部１５に記憶した行数分だけフォントサイズ及び文字列を取得しても良い。例えば、前行から上側５行までと、下側１行目から下側３行目までの計９行分のフォントサイズ及び文字列を取得すればよい。
【００５１】
ＣＰＵ１１は入力行のフォントサイズを取得する（ステップＳ１８６）。ＣＰＵ１１は取得した入力行のフォントサイズを行テーブル１５２に記憶する（ステップＳ１８７）。ＣＰＵ１１は入力部１３から文字入力を受け付ける（ステップＳ１８８）。ＣＰＵ１１は、文例ファイル１５１を参照し、入力された文字または文字列に対応する文例が存在するか否かを判断する。ＣＰＵ１１は文例が存在しない場合、引き続き文字の入力を受け付ける。
【００５２】
ＣＰＵ１１は対応する文例が存在すると判断した場合、文例ファイル１５１から複数の候補文字列を読み出す（ステップＳ１８９）。ＣＰＵ１１は記憶部１５に予め記憶した選択欄２を読み出す。ＣＰＵ１１は選択欄２を入力行の下側または上側の適宜の位置にて、表示部１４に表示する。なお、本実施形態では、ＣＰＵ１１は最終行の文字列「投薬状況」の下側に選択欄２を表示している。ＣＰＵ１１は選択欄２の候補欄２２に左寄せで、読み出した候補文字列を並列に表示する（ステップＳ１９１）。
【００５３】
ＣＰＵ１１はヘッダ２１に表示する行の先頭文字の前にスペースが存在するか否かを判断する（ステップＳ１９２）。具体的には、ＣＰＵ１１は第１回目にヘッダ２１に表示される前行の文字列先頭の文字の前にスペースが存在するか否かを判断する。ＣＰＵ１１は先頭文字の前にスペースが存在すると判断した場合（ステップＳ１９２でＹＥＳ）、スペース数を計数する（ステップＳ１９３）。ＣＰＵ１１は行テーブル１５２からヘッダ２１に表示される文字列のフォントサイズを読み出す（ステップＳ１９４）。ＣＰＵ１１は計数したスペース数及びフォントサイズに基づき、フォントサイズに対応するスペース数をヘッダ２１に左側から挿入する（ステップＳ１９５）。ＣＰＵ１１はヘッダ２１に、挿入したスペースの後に、対象となる文字列を表示する（ステップＳ１９６）。
【００５４】
ＣＰＵ１１は先頭文字の前にスペースが存在しないと判断した場合（ステップＳ１９２でＮＯ）、ヘッダ２１に文字列を左寄せで表示する（ステップＳ１９７）。ＣＰＵ１１はステップＳ１９７及びＳ１９６の処理後、処理をステップＳ１９８へ移行させる。ＣＰＵ１１は入力部１３からの操作信号を監視し、カーソルのＸ軸座標値及びＹ軸座標値を取得する（ステップＳ１９８）。ＣＰＵ１１は表示位置番号とＸ軸方向の座標領域を決定する（ステップＳ１９９）。具体的には、ＣＰＵ１１はヘッダ２１の文字列または入力行の文字列のフォントサイズを行テーブル１５２から取得する。ＣＰＵ１１はフォントサイズに基づき全角または半角文字を表示する際のＸ軸方向の座標領域を決定する。ＣＰＵ１１は座標領域の左から順番に番号を付し表示位置番号を決定する。
【００５５】
ＣＰＵ１１はステップＳ１９８で取得したＸ軸座標値が属する座標領域を抽出する（ステップＳ１９１０）。ＣＰＵ１１は抽出した座標領域について、Ｙ軸方向に第３基準線３３を表示する（ステップＳ１９１１）。なお、本実施形態では第３基準線３３を表示する例を示したが、代わりにまたは併せて第１基準線３１または第２基準線３２の一方または双方を表示部１４に表示しても良い。第１基準線３１及び第２基準線３２の表示処理は実施の形態１の図５及び６で述べたとおりであるので、詳細な説明は省略する。
【００５６】
ＣＰＵ１１は入力部１３から選択ボタン２３の入力を受け付けたか否かを判断する（ステップＳ１９１２）。ＣＰＵ１１は選択ボタン２３の入力を受け付けたと判断した場合（ステップＳ１９１２でＹＥＳ）、選択された行の文字列を行テーブル１５２から読み出す（ステップＳ１９１３）。その後ＣＰＵ１１は処理をステップＳ１９２に戻す。これにより、前行以外の文字列についても、選択により文字列がヘッダ２１に表示される。
【００５７】
図１５Ｂは前行よりも一行上の文字列「咳：止まらない」が選択された例を示している。ＣＰＵ１１は選択ボタン２３の入力を受け付けていないと判断した場合（ステップＳ１９１２でＮＯ）、入力部１３からクリックを受け付けたか否かを判断する（ステップＳ１９１４）。ＣＰＵ１１は入力部１３からクリックを受け付けていない場合（ステップＳ１９１４でＮＯ）、処理をステップＳ１９８へ戻す。これによりカーソルの移動に伴い、第３基準線３３がＸ軸方向に左右に平行移動することとなる。
【００５８】
ＣＰＵ１１はクリックを受け付けたと判断した場合（ステップＳ１９１４でＹＥＳ）、カーソルのＸ軸座標値及びＹ軸座標値を取得する（ステップＳ１９１５）。図１５Ｂにおいては候補文字列「鼓膜：異常所見なし」が選択され、ヘッダ２１に表示された第１行目の文字列「ま」に対応する部分がＸ軸座標値として入力される。この場合図１６に示すように、スペースは３つ挿入され、第１行目の「ま」を開始位置として入力文字列「鼓膜：異常所見なし」が表示される。これにより、前行だけではなく、入力行を除く任意の行の文字列を視認しながら、挿入位置を決定することが可能となる。
【００５９】
本実施の形態３は以上の如きであり、その他は実施の形態１及び２と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００６０】
実施の形態４
実施の形態４は各行のフォントサイズが異なる形態に関する。図２０及び図２１は表示イメージを示す説明図である。図２０の例では、前行のフォントサイズが２４、前行以外の他の行のフォントサイズを１２としている。ＣＰＵ１１は選択欄２のヘッダ２１の文字列のフォントサイズ及び候補欄２２の文字列のフォントサイズを、前行の文字列のフォントサイズと入力行のフォントサイズとの比に基づき決定する。図２０の例では、前行のフォントサイズが２４、入力行のフォントサイズは２分の１の１２である。従って、候補欄２２の文字列のフォントサイズは、ヘッダ２１の文字列のフォントサイズの２分の１となる。
【００６１】
初期設定により候補欄２２のフォントサイズが１１とした場合、ヘッダ２１の文字列のフォントサイズは２２となる。また初期設定によりヘッダ２１の文字列のフォントサイズが２０の場合、候補欄２２のフォントサイズは１０となる。図２０の例では、前行の文字列と入力行との比を用いたが、これに限るものではない。選択ボタン２３により選択された入力行以外の行と、入力行との比を用いても良い。
【００６２】
図２２乃至図２４は表示処理の手順を示すフローチャートである。ＣＰＵ１１は入力部１３から改行指示を受け付ける（ステップＳ２２１）。ＣＰＵ１１は入力行以外の行のフォントサイズを取得する（ステップＳ２２２）。ＣＰＵ１１は行位置に対応づけて各行のフォントサイズを記憶する（ステップＳ２２３）。図１７の行テーブル１５２の例では、入力行より２行上及び一行下のフォントサイズ「１２」が行フォントサイズに記憶される。また前行のフォントサイズ「２４」が行フォントサイズに記憶される。同様に、ＣＰＵ１１は入力行以外の行の文字列を全て取得する（ステップＳ２２４）。
【００６３】
ＣＰＵ１１は行位置に対応づけて各行の文字列を、行テーブル１５２に記憶する（ステップＳ２２５）。ＣＰＵ１１は入力行のフォントサイズを取得する（ステップＳ２２６）。ＣＰＵ１１は取得した入力行のフォントサイズを行テーブル１５２に記憶する（ステップＳ２２７）。ＣＰＵ１１は入力部１３から文字入力を受け付ける（ステップＳ２２８）。ＣＰＵ１１は、文例ファイル１５１を参照し、入力された文字または文字列に対応する文例が存在するか否かを判断する。ＣＰＵ１１は文例が存在しない場合、引き続き文字の入力を受け付ける。
【００６４】
ＣＰＵ１１は対応する文例が存在すると判断した場合、文例ファイル１５１から複数の候補文字列を読み出す（ステップＳ２２９）。ＣＰＵ１１は記憶部１５に予め記憶した選択欄２を読み出す。ＣＰＵ１１は選択欄２を入力行の下側または上側の適宜の位置にて、表示部１４に表示する。ＣＰＵ１１は記憶部１５から候補欄２２の基準フォントサイズを読み出す（ステップＳ２３１）。ＣＰＵ１１は選択欄２の候補欄２２に左寄せで、読み出した基準フォントサイズにて、読み出した候補文字列を並列に表示する（ステップＳ２３２）。
【００６５】
ＣＰＵ１１はヘッダ２１に表示される行の先頭文字の前にスペースが存在するか否かを判断する（ステップＳ２３３）。具体的には、ＣＰＵ１１は第１回目にヘッダ２１に表示される前行の文字列先頭の文字の前にスペースが存在するか否かを判断する。ＣＰＵ１１は先頭文字の前にスペースが存在すると判断した場合（ステップＳ２３３でＹＥＳ）、ヘッダ２１に表示される行のスペース数を計数する（ステップＳ２３４）。
【００６６】
ＣＰＵ１１はヘッダ２１に表示される行のフォントサイズを行テーブル１５２から読み出す（ステップＳ２３５）。ＣＰＵ１１は行テーブル１５２から入力行のフォントサイズを読み出す（ステップＳ２３６）。ＣＰＵ１１は入力行のフォントサイズに対するヘッダ２１に表示される行のフォントサイズの比を算出する（ステップＳ２３７）。ＣＰＵ１１は算出した比をステップＳ２３１で読み出した基準フォントサイズに乗じ、ヘッダ２１のフォントサイズを決定する（ステップＳ２３８）。
【００６７】
ＣＰＵ１１はヘッダ２１のフォントサイズに対応するスペース数をヘッダ２１に挿入する（ステップＳ２３９）。ＣＰＵ１１はヘッダ２１に、挿入したスペースの後に、ヘッダ２１のフォントサイズにて対象となる文字列を表示する（ステップＳ２４１）。
【００６８】
ＣＰＵ１１は先頭文字の前にスペースが存在しないと判断した場合（ステップＳ２３３でＮＯ）、ステップＳ２４２へ移行する。ＣＰＵ１１はヘッダ２１に表示される行のフォントサイズを行テーブル１５２から読み出す（ステップＳ２４２）。ＣＰＵ１１は行テーブル１５２から入力行のフォントサイズを読み出す（ステップＳ２４３）。ＣＰＵ１１は入力行のフォントサイズに対するヘッダ２１に表示される行のフォントサイズの比を算出する（ステップＳ２４４）。ＣＰＵ１１は算出した比をステップＳ２３１で読み出した基準フォントサイズに乗じ、ヘッダ２１のフォントサイズを決定する（ステップＳ２４５）。
【００６９】
ＣＰＵ１１はヘッダ２１に文字列を、算出したヘッダ２１のフォントサイズにて左寄せで表示する（ステップＳ２４６）。ＣＰＵ１１はステップＳ２４６及びＳ２４１の処理後、処理をステップＳ２４７へ移行させる。ＣＰＵ１１は入力部１３からの操作信号を監視し、カーソルのＸ軸座標値及びＹ軸座標値を取得する（ステップＳ２４７）。ＣＰＵ１１、ヘッダ２１のフォントサイズに基づき、Ｘ軸方向の座標領域を決定する（ステップＳ２４８）。具体的には、ＣＰＵ１１はヘッダ２１のフォントサイズに基づき半角文字を表示する際の、Ｘ軸方向の座標領域を決定する。なお、本実施形態ではヘッダ２１のフォントサイズの半角文字表示領域を座標領域としたが、全角文字の表示領域を対象としても良い。その他、ＣＰＵ１１は候補欄２２のフォントサイズに基づき半角（または全角）文字を表示する際の、Ｘ軸方向の座標領域を決定しても良い。
【００７０】
ＣＰＵ１１はステップＳ２４７で取得したＸ軸座標値が属する座標領域を抽出する（ステップＳ２４９）。ＣＰＵ１１は抽出した座標領域について、Ｙ軸方向に第３基準線３３を表示する（ステップＳ２４１１）。なお、本実施形態では第３基準線３３を表示する例を示したが、代わりにまたは併せて第１基準線３１または第２基準線３２の一方または双方を表示部１４に表示しても良い。第１基準線３１及び第２基準線３２の表示処理は実施の形態１の図５及び６で述べたとおりであるので、詳細な説明は省略する。
【００７１】
ＣＰＵ１１は入力部１３から選択ボタン２３の入力を受け付けたか否かを判断する（ステップＳ２４１２）。ＣＰＵ１１は選択ボタン２３の入力を受け付けたと判断した場合（ステップＳ２４１２でＹＥＳ）、選択された行の文字列を行テーブル１５２から読み出す（ステップＳ２４１３）。その後ＣＰＵ１１は処理をステップＳ２３３に戻す。
【００７２】
ＣＰＵ１１は選択ボタン２３の入力を受け付けていないと判断した場合（ステップＳ２４１２でＮＯ）、入力部１３からクリックを受け付けたか否かを判断する（ステップＳ２４１４）。ＣＰＵ１１は入力部１３からクリックを受け付けていない場合（ステップＳ２４１４でＮＯ）、処理をステップＳ２４７へ戻す。
【００７３】
ＣＰＵ１１はクリックを受け付けたと判断した場合（ステップＳ２４１４でＹＥＳ）、カーソルのＸ軸座標値及びＹ軸座標値を取得する（ステップＳ２４１５）。図２０の例では、ヘッダ２１に表示された文字列「食欲はない」のうち全角文字「食」の半角後半部分に第３基準線３３が表示されている。図２０の例ではＹ軸座標値に基づき候補欄２２から「異常所見なし」が選択され、Ｘ軸座標値に基づき、「食」の半角後半部と、「所」の位置が選択されていることが理解できる。実施の形態１の図８及び図９で述べた処理により図２１に示すように、ＣＰＵ１１はスペース数５つを決定する。ＣＰＵ１１は５つのスペースの後に、選択された文字列「鼓膜：異常所見なし」を表示部１４に表示する。これにより入力行と基準とすべき行とのフォントサイズが相違する場合でも、ユーザが視認しながら希望する位置に文字列を挿入することが可能となる。
【００７４】
本実施の形態４は以上の如きであり、その他は実施の形態１乃至３と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００７５】
実施の形態５
実施の形態５はヘッダ２１を表示しない形態に関する。図２５及び図２６は表示イメージを示す説明図である。入力行に文字が入力された場合、前行の文字列に対応づけて、複数の候補文字列が候補欄２２内に表示される。
【００７６】
図２７及び図２８は表示処理手順を示すフローチャートである。ＣＰＵ１１は前行のフォントサイズを取得する（ステップＳ２７１）。ＣＰＵ１１は前行の文字列を取得する（ステップＳ２７２）。ＣＰＵ１１は行テーブル１５２に取得した前行のフォントサイズ及び文字列を記憶する（ステップＳ２７３）。ＣＰＵ１１は入力行のフォントサイズを取得する（ステップＳ２７４）。ＣＰＵ１１は取得した入力行のフォントサイズを行テーブル１５２に記憶する（ステップＳ２７５）。
【００７７】
ＣＰＵ１１は入力部１３から文字入力を受け付ける（ステップＳ２７６）。ＣＰＵ１１は、文例ファイル１５１を参照し、入力された文字または文字列に対応する文例が存在するか否かを判断する。ＣＰＵ１１は文例が存在しない場合、引き続き文字の入力を受け付ける。ＣＰＵ１１は対応する文例が存在すると判断した場合、文例ファイル１５１から複数の候補文字列を読み出す（ステップＳ２７７）。ＣＰＵ１１は記憶部１５から候補欄２２の描画データを読み出す。ＣＰＵ１１は前行の左端と候補欄２２の左端とを一致させて、表示部１４上に候補欄２２を表示する（ステップＳ２７８）。具体的には、ＣＰＵ１１は前行の文字の入力が可能な領域のうち、左端の座標値を読み出す。ＣＰＵ１１は読み出した座標値と候補欄２２の左端とが一致するよう候補欄２２を表示する。その他、ＣＰＵ１１は前行の第１番目の文字表示領域左端と、候補文字列の第１番目の文字表示領域左端とが一致するようにしても良い。
【００７８】
ＣＰＵ１１は候補欄２２に左寄せで候補文字列を並列表示する（ステップＳ２７９）。これにより、候補文字列が文字入力方向と交差する方向へ、前行の文字列と対応づけられて表示される。ＣＰＵ１１は前行のフォントサイズを読み出す（ステップＳ２８１）。ＣＰＵ１１は前行のフォントサイズを参照し、前行の全角文字のＸ軸方向の座標領域を算出する（ステップＳ２８２）。なお、半角文字のＸ軸方向の座標領域を算出しても良い。ＣＰＵ１１は算出したＸ軸の座標領域に基づき、第１基準線３１を表示部１４に表示する（ステップＳ２８３）。例えば、ＣＰＵ１１はＸ軸方向の各座標領域の境目に第１基準線３１を点線にて表示する。
【００７９】
ＣＰＵ１１は一の第１基準線３１上であり、かつ、前行の先頭文字列の左側に第２基準線３２を実線で表示する（ステップＳ２８４）。ＣＰＵ１１は第２基準線３２の重畳された第１基準線３１を消去しても良い。なお、本実施形態においては第１基準線３１及び第２基準線３２を候補欄２２内及び候補欄２２から前行に向けて前行文字列まで突出させるよう表示したが一例でありこれに限るものではない。候補欄２２内への表示を消去しても良い。また候補欄２２内のみに第１基準線３１及び第２基準線３２を表示しても良い。また第２基準線３２は必ずしも表示する必要はない。
【００８０】
これにより、図２５に示すように、前行の文字列及び入力行の候補文字列が対応づけて表示され、かつ、候補欄２２内に第１基準線３１及び第２基準線３２が重畳して表示される。ＣＰＵ１１は候補欄２２の両端のＸ座標値、すなわち左端及び右端のＸ軸座標値を記憶する（ステップＳ２８５）。ＣＰＵ１１は候補欄２２の各入力文字列のＹ軸座標範囲を記憶する（ステップＳ２８６）。そして実施の形態１の図８及び図９で述べた処理を行い、スペース数を決定する。図２５の例では前行「食欲はない」の「は」の下側にある「常」がクリックされていることから、スペース数は４と決定される。図２６に示すように、入力行「鼓膜：異常所見なし」は、スペース数４の後前行の文字「は」の下側を開始位置として表示される。これにより、前行を視認しながら、容易にスペースを挿入することが可能となる。
【００８１】
本実施の形態５は以上の如きであり、その他は実施の形態１乃至４と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００８２】
実施の形態６
実施の形態３は第３基準線３３を表示する形態に関する。図２９は表示イメージを示す説明図である。候補欄２２には複数の候補文字列が、前行に対応づけて表示される。表示部１４にはカーソルの動きに合わせて第３基準線３３が表示される。図３０及び図３１は表示処理の手順を示すフローチャートである。ＣＰＵ１１は前行のフォントサイズを取得する（ステップＳ３０１）。ＣＰＵ１１は前行の文字列を取得する（ステップＳ３０２）。ＣＰＵ１１は行テーブル１５２に取得した前行のフォントサイズ及び文字列を記憶する（ステップＳ３０３）。ＣＰＵ１１は入力行のフォントサイズを取得する（ステップＳ３０４）。ＣＰＵ１１は取得した入力行のフォントサイズを行テーブル１５２に記憶する（ステップＳ３０５）。
【００８３】
ＣＰＵ１１は入力部１３から文字入力を受け付ける（ステップＳ３０６）。ＣＰＵ１１は、文例ファイル１５１を参照し、入力された文字または文字列に対応する文例が存在するか否かを判断する。ＣＰＵ１１は文例が存在しない場合、引き続き文字の入力を受け付ける。ＣＰＵ１１は対応する文例が存在すると判断した場合、文例ファイル１５１から複数の候補文字列を読み出す（ステップＳ３０７）。ＣＰＵ１１は記憶部１５から候補欄２２の描画データを読み出す。ＣＰＵ１１は前行の左端と候補欄２２の左端とを一致させて、表示部１４上に候補欄２２を表示する（ステップＳ３０８）。
【００８４】
ＣＰＵ１１は候補欄２２に左寄せで候補文字列を並列表示する（ステップＳ３０９）。ＣＰＵ１１は候補欄２２の左端及び右端のＸ軸座標値を記憶する（ステップＳ３１１）。ＣＰＵ１１は候補欄２２の各入力文字列のＹ軸座標範囲を記憶する（ステップＳ３１２）。ＣＰＵ１１は前行のフォントサイズを読み出す（ステップＳ３１３）。ＣＰＵ１１は前行のフォントサイズを参照し、前行の全角文字のＸ軸方向の座標領域を算出する（ステップＳ３１４）。
【００８５】
ＣＰＵ１１は入力部１３からの操作信号を監視し、カーソルのＸ軸座標値及びＹ軸座標値を位置情報として取得する（ステップＳ３１５）。ＣＰＵ１１はステップＳ３１５で取得したＸ軸座標値が属する座標領域を抽出する（ステップＳ３１６）。ＣＰＵ１１は抽出した座標領域について、Ｙ軸方向に第３基準線３３を表示する（ステップＳ３１７）。なお、本実施形態では第３基準線３３を表示する例を示したが、代わりにまたは併せて第１基準線３１または第２基準線３２の一方または双方を表示部１４に表示しても良い。第１基準線３１及び第２基準線３２の表示処理は実施の形態５で述べたとおりであるので、詳細な説明は省略する。
【００８６】
ＣＰＵ１１はクリックを受け付けたか否かを判断する（ステップＳ３１８）。ＣＰＵ１１はクリックを受け付けていないと判断した場合（ステップＳ３１８でＮＯ）、処理をステップＳ３１５へ戻す。ＣＰＵ１１はクリックを受け付けたと判断した場合（ステップＳ３１８でＹＥＳ）、入力部１３から出力されるカーソルのＸ軸座標値及びＹ軸座標値を取得する（ステップＳ３１９）。これにより第３基準線３３はカーソルの動きに合わせて、前行のフォントサイズに基づきＸ軸方向に移動することとなる。上述した実施形態においては、前行の全角一文字のＸ軸方向の表示領域にわたって幅広の第３基準線３３を表示したがこれに限るものではない。本実施形態の如く、ＣＰＵ１１は前行の全角一文字のＸ軸方向の表示領域の左端のＸ軸座標値を抽出する。そして、ＣＰＵ１１はＸ軸座標値からＹ軸方向に上下に伸びる幅狭の第３基準線３３を表示部１４に表示しても良い。さらに、本実施形態においては第３基準線３３を前行の文字列方向と交差する方向に表示したが、これに限るものではない。第３基準線３３を前行の文字列方向と同方向に表示、または、第３基準線３３を前行の文字列方向と同方向及び交差する方向に表示しても良い。
【００８７】
図３２は第３基準線３３の他の表示形態を示す説明図である。図３２の例では一例として第３基準線３３を前行の文字列方向と同方向及び交差する方向に表示している。ＣＰＵ１１は記憶部１５から文字列と交差する方向に伸びる線分と、線分の下端から文字列入力方向に向けて伸びる矢印とが連結されたＬ字状の第３基準線３３を読み出す。ＣＰＵ１１はステップＳ３１６で抽出した座標領域の左端と、第３基準線３３の上述した線分とを一致させる。ＣＰＵ１１は上述した矢印の始点を線分と交わる位置として表示する。ＣＰＵ１１は、矢印の始点のＹ軸座標値を前行文字列の下側、すなわち前行文字列の下線描画位置に一致させる。これにより、カーソルの移動に伴い、Ｌ字状の第３基準線３３は前行文字列に沿ってＸ軸方向に移動することとなる。なお、矢印の長さはフォントサイズに従い適宜の長さとすればよい。これにより、スペースの入力負担を軽減することが可能となる。
【００８８】
本実施の形態６は以上の如きであり、その他は実施の形態１乃至５と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００８９】
実施の形態７
図３３は上述した形態のパーソナルコンピュータ１の動作を示す機能ブロック図である。ＣＰＵ１１が制御プログラム１５Ｐ等を実行することにより、パーソナルコンピュータ１は以下のように動作する。パーソナルコンピュータ１は取得部１０１、表示処理部１０２、位置情報取得部１０３及び決定部１０４等を含む。取得部１０１は入力行へ入力される複数の候補文字列を表示する際に、前記入力行の前行の文字列を取得する。表示処理部１０２は、取得部１０１により取得した前行の文字列と、複数の候補文字列とを対応づけて表示する。位置情報取得部１０３は、一の候補文字列が選択された際の位置情報を取得する。決定部１０４は位置情報取得部１０３が取得した位置情報に基づき、選択された候補文字列に対するスペース数を決定する。
【００９０】
図３４は実施の形態７に係るパーソナルコンピュータ１のハードウェア群を示すブロック図である。パーソナルコンピュータ１を動作させるためのプログラムは、ディスクドライブ等の読み取り部１０ＡにCD-ROM、DVD（Digital Versatile Disc）ディスクまたはUSBメモリ等の可搬型記録媒体１Ａを読み取らせて記憶部１５に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ１Ｂをパーソナルコンピュータ１内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網Ｎを介して接続される他のサーバコンピュータ（図示せず）からダウンロードすることも可能である。以下に、その内容を説明する。
【００９１】
図３４に示すパーソナルコンピュータ１は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体１Ａまたは半導体メモリ１Ｂから読み取り、或いは、通信網Ｎを介して他のサーバコンピュータ（図示せず）からダウンロードする。当該プログラムは、制御プログラム１５Ｐとしてインストールされ、ＲＡＭ１２にロードして実行される。これにより、上述したパーソナルコンピュータ１として機能する。
【００９２】
本実施の形態７は以上の如きであり、その他は実施の形態１乃至６と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００９３】
以上の実施の形態１乃至７を含む実施形態に関し、さらに以下の付記を開示する。
【００９４】
（付記１）
制御部を有するコンピュータにより情報処理を行うプログラムにおいて、
コンピュータに、
入力行へ入力される複数の候補文字列を表示する際に、前記入力行の前行の文字列を前記制御部により取得し、
取得した前行の文字列と、前記複数の候補文字列とを前記制御部により対応づけて表示し、
一の候補文字列が選択された際の位置情報を前記制御部により取得し、
取得した位置情報に基づき、選択された候補文字列に対するスペース数を前記制御部により決定する
処理を実行させるプログラム。
【００９５】
（付記２）
前記取得する処理は、
入力行へ入力される複数の候補文字列を表示する際に、前記入力行以外の行の文字列を前記制御部により取得し、
取得した入力行以外の複数の行の文字列から、一の行の文字列の選択を受け付け、
前記表示する処理は、
選択された一の行の文字列と、前記複数の候補文字列とを前記制御部により対応づけて表示する
付記１に記載のプログラム。
【００９６】
（付記３）
入力行または前行のフォントサイズを取得し、
前記決定する処理は、
取得したフォントサイズ及び取得した位置情報に基づき、選択された候補文字列に対するスペース数を前記制御部により決定する
付記１または２に記載のプログラム。
【００９７】
（付記４）
前行のフォントサイズ及び入力行のフォントサイズを取得し、
前記表示する処理は、
取得した前行のフォントサイズ及び入力行のフォントサイズの比に基づき、取得した前行の文字列または複数の候補文字列のフォントサイズを前記制御部により決定し、
決定したフォントサイズに基づき、取得した前行の文字列と、複数の候補文字列とを前記制御部により対応づけて表示する
付記１または２に記載のプログラム。
【００９８】
（付記５）
前記表示する処理は、
取得した前行の文字列の上側若しくは下側、または、右側若しくは左側に、複数の候補文字列を前記制御部により並列表示し、
前行のフォントサイズに基づき、第１基準線を上下または左右に前記制御部により表示する
付記１乃至４のいずれか一つに記載のプログラム。
【００９９】
（付記６）
前記表示する処理は、
前行の文字列先頭の位置情報を前記制御部により取得し、
取得した前行の文字列先頭の位置情報に基づき、第２基準線を前記制御部により表示する
付記５に記載のプログラム。
【０１００】
（付記７）
前記表示する処理は、
取得した前行の文字列の上側若しくは下側、または、右側若しくは左側に、複数の候補文字列を前記制御部により並列表示し、
前行のフォントサイズ及び入力部により特定される位置情報に基づき、第３基準線を上下または左右に前記制御部により表示する
付記１乃至４のいずれか一つに記載のプログラム。
【０１０１】
（付記８）
前記表示する処理は、
前行のフォントサイズ及び入力部により特定される位置情報に基づき、第３基準線を上下または左右に前記制御部により表示する
付記５または６に記載のプログラム。
【０１０２】
（付記９）
前記決定する処理は、
決定した前行の文字列のフォントサイズまたは候補文字列のフォントサイズと、取得した位置情報とに基づき、選択された候補文字列に対するスペース数を前記制御部により決定する
付記４に記載のプログラム。
【０１０３】
（付記１０）
制御部を有するコンピュータにより情報処理を行うプログラムにおいて、
コンピュータに、
入力行へ入力される複数の候補文字列を表示する際に、前記複数の候補文字列を前記入力行の前行に表示された文字列に前記制御部により対応づけて表示し、
一の候補文字列が選択された際の位置情報を前記制御部により取得し、
取得した位置情報に基づき、選択された候補文字列に対するスペース数を前記制御部により決定する
処理を実行させるプログラム。
【０１０４】
（付記１１）
入力行または前行のフォントサイズを取得し、
前記決定する処理は、
取得したフォントサイズ及び取得した位置情報に基づき、選択された候補文字列に対するスペース数を前記制御部により決定する
付記１０に記載のプログラム。
【０１０５】
（付記１２）
前記表示する処理は、
取得した前行の文字列の上側若しくは下側、または、右側若しくは左側に、複数の候補文字列を前記制御部により並列表示し、
前行または入力行のフォントサイズに基づき、第1基準線を上下または左右に前記制御部により表示する
付記１０または１１のいずれか一つに記載のプログラム。
【０１０６】
（付記１３）
前記表示する処理は、
前行の文字列先頭の位置情報を前記制御部により取得し、
取得した前行の文字列先頭の位置情報に基づき、第2基準線を前記制御部により表示する
付記１２に記載のプログラム。
【０１０７】
（付記１４）
前記表示する処理は、
取得した前行の文字列の上側若しくは下側、または、右側若しくは左側に、複数の候補文字列を前記制御部により並列表示し、
前行または入力行のフォントサイズ及び入力部により特定される位置情報に基づき、第３基準線を上下または左右に前記制御部により表示する
付記１０または１１に記載のプログラム。
【０１０８】
（付記１５）
情報処理を行う情報処理装置において、
入力行へ入力される複数の候補文字列を表示する際に、前記入力行の前行の文字列を取得する取得部と、
該取得部により取得した前行の文字列と、前記複数の候補文字列とを対応づけて表示する表示処理部と、
一の候補文字列が選択された際の位置情報を取得する位置情報取得部と、
該位置情報取得部が取得した位置情報に基づき、選択された候補文字列に対するスペース数を決定する決定部と
を備える情報処理装置。
【０１０９】
（付記１６）
制御部を有するコンピュータにより情報処理を行う情報処理方法において、
入力行へ入力される複数の候補文字列を表示する際に、前記入力行の前行の文字列を前記制御部により取得し、
取得した前行の文字列と、前記複数の候補文字列とを前記制御部により対応づけて表示し、
一の候補文字列が選択された際の位置情報を前記制御部により取得し、
取得した位置情報に基づき選択された候補文字列に対するスペース数を前記制御部により決定する
情報処理方法。
【０１１０】
（付記１７）
情報処理を行う情報処理装置において、
入力行へ入力される複数の候補文字列を表示する際に、前記複数の候補文字列を前記入力行の前行に表示された文字列に対応づけて表示する表示処理部と、
一の候補文字列が選択された際の位置情報を取得する位置情報取得部と、
該位置情報取得部により取得した位置情報に基づき、選択された候補文字列に対するスペース数を決定する決定部と
を備える情報処理装置。
【０１１１】
（付記１８）
制御部を有するコンピュータにより情報処理を行う情報処理方法において、
入力行へ入力される複数の候補文字列を表示する際に、前記複数の候補文字列を前記入力行の前行に表示された文字列に前記制御部により対応づけて表示し、
一の候補文字列が選択された際の位置情報を前記制御部により取得し、
取得した位置情報に基づき、選択された候補文字列に対するスペース数を前記制御部により決定する
情報処理方法。
【符号の説明】
【０１１２】
１      パーソナルコンピュータ
１Ａ    可搬型記録媒体
１Ｂ    半導体メモリ
２      選択欄
１１    ＣＰＵ
１２    ＲＡＭ
１３    入力部
１４    表示部
１５    記憶部
１５Ｐ  制御プログラム
１６    通信部
１７    バス
１８    時計部
２１    ヘッダ
２２    候補欄
２３    選択ボタン
３１    第１基準線
３２    第２基準線
３３    第３基準線
１０１  取得部
１０２  表示処理部
１０３  位置情報取得部
１０４  決定部
１５１  文例ファイル
１５２  行テーブル
Ｎ      通信網
【図１】
0005708067.tif 000002
【図２】
0005708067.tif 000003
【図３】
0005708067.tif 000004
【図４】
0005708067.tif 000005
【図５】
0005708067.tif 000006
【図６】
0005708067.tif 000007
【図７】
0005708067.tif 000008
【図８】
0005708067.tif 000009
【図９】
0005708067.tif 000010
【図１０】
0005708067.tif 000011
【図１１】
0005708067.tif 000012
【図１２】
0005708067.tif 000013
【図１３】
0005708067.tif 000014
【図１４】
0005708067.tif 000015
【図１５】
0005708067.tif 000016
【図１６】
0005708067.tif 000017
【図１７】
0005708067.tif 000018
【図１８】
0005708067.tif 000019
【図１９】
0005708067.tif 000020
【図２０】
0005708067.tif 000021
【図２１】
0005708067.tif 000022
【図２２】
0005708067.tif 000023
【図２３】
0005708067.tif 000024
【図２４】
0005708067.tif 000025
【図２５】
0005708067.tif 000026
【図２６】
0005708067.tif 000027
【図２７】
0005708067.tif 000028
【図２８】
0005708067.tif 000029
【図２９】
0005708067.tif 000030
【図３０】
0005708067.tif 000031
【図３１】
0005708067.tif 000032
【図３２】
0005708067.tif 000033
【図３３】
0005708067.tif 000034
【図３４】
0005708067.tif 000035