(57)【要約】【課題】文字列の表示態様を好ましくするとともに、表示される文字の読みやすさの調整を図り文字の視認性を高める。【解決手段】データ表示装置は、モニタに表示する文字列のデータを取得するステップ（Ｓ１０００）と、１行分の文字の送り幅を取得するステップ（Ｓ２０００）と、１行分の文字送り幅とモニタの表示領域の幅との差により１行における残りドット数を取得するステップ（Ｓ３０００）と、取得した残りドット数を用いてモニタに表示する各文字の文字幅を決定する後端揃え処理を実行するステップ（Ｓ４０００）と、決定された文字幅で各文字をＲＡＭに描画した後、モニタに表示するステップ（Ｓ５０００）とを含むプログラムを実行する。【選択図】図３
2010244313.tif 000002
【特許請求の範囲】
【請求項１】
画面上の予め定められた領域内に、文字コード列により表される文字列を表示するデータ表示装置であって、
文字コードは、第１の種類及び第２の種類に分類され、
前記データ表示装置は、
前記文字列を含む画像を表示するための表示手段と、
表示対象の文字コード列を所定のソースから受けるための入力手段と、
前記表示手段における表示幅と表示される文字列の幅とに基づいて空き幅を算出するための算出手段と、
前記入力手段が受けた前記文字コード列に含まれる前記第１の種類の文字コードのみからなる文字コード列に対応する文字を前記表示手段に表示する際の文字幅を、各文字列の幅が均一になるように、前記空き幅に基づいて決定するための決定手段と、
前記入力手段が受けた文字コード列を、前記決定手段によって決定された文字幅と、前記第２の種類の文字コードに設定された文字幅とにしたがって前記表示手段上に描画するための描画手段とを含む、データ表示装置。
【請求項２】
前記決定手段は、前記文字列において連続する第１の種類の文字コードに対応する文字幅が互いに異ならないように、前記文字幅を決定するための手段を含む、請求項１に記載のデータ表示装置。
【請求項３】
前記決定手段は、空き幅に基づいて判定した結果、前記第１の種類の文字コードのみからなる文字コード列において、連続する前記第１の種類の文字コードに対応する文字に対して同じ文字幅を与えられない場合には、仮決定された文字幅を修正するための手段を含む、請求項２に記載のデータ表示装置。
【請求項４】
前記決定手段は、仮決定された文字幅の少なくとも一部を破棄して、文字幅を修正するための手段を含む、請求項３に記載のデータ表示装置。
【請求項５】
前記第１の種類の文字コードに対応する文字は、前記第２の種類の文字コードに対応する文字よりも、視認が困難な文字である、請求項１〜請求項４のいずれかに記載のデータ表示装置。
【請求項６】
前記表示手段は、漢字及び漢字以外の文字を含む日本語を表示するための手段を含み、
前記第１の種類に分類される文字コードは、漢字に対応する文字コードであって、
前記第２の種類に分類される文字コードは、漢字以外に対応する文字コードであって、
前記データ表示装置は、前記文字コードによって、前記文字コードに対応する文字が第１の種類の文字及び第２の種類の文字のいずれであるかを判別するための判別手段をさらに含む、請求項１〜請求項５のいずれかに記載のデータ表示装置。
【請求項７】
画面上の定められた領域内に、文字コード列により表される文字列を表示するデータ表示装置におけるデータ表示方法であって、
文字コードは、第１の種類及び第２の種類に分類され、
前記データ表示装置は、
前記文字列を含む画像を表示するための表示手段と、
表示対象の文字コード列を所定のソースから受けるための入力手段とを含み、
前記データ表示方法は、
前記表示手段における表示幅と表示される文字列の幅とに基づいて空き幅を算出する算出ステップと、
前記入力手段が受けた前記文字コード列に含まれる前記第１の種類の文字コードのみからなる文字コード列に対応する文字を前記表示手段に表示する際の文字幅を、各文字列の幅が均一になるように、前記空き幅に基づいて決定する決定ステップと、
前記入力手段が受けた文字コード列を、前記決定ステップにおいて決定された文字幅と、前記第２の種類の文字コードに設定された文字幅とにしたがって前記表示手段上に描画する描画ステップとを含む、データ表示方法。
【請求項８】
第１の種類及び第２の種類に分類される文字コードに対応する文字から構成される文字列を表示する表示装置に接続されるコンピュータにより実行されると、当該コンピュータを、
表示対象の文字コード列を所定のソースから受けるための入力手段と、
前記表示装置における表示幅と表示される文字列の幅とに基づいて空き幅を算出するための算出手段と、
前記入力手段が受けた前記文字コード列に含まれる前記第１の種類の文字コードのみからなる文字コード列に対応する文字を前記表示装置に表示する際の文字幅を、各文字列の幅が均一になるように、前記空き幅に基づいて決定するための決定手段と、
前記入力手段が受けた文字コード列を、前記決定手段によって決定された文字幅と、前記第２の種類の文字コードに設定された文字幅とにしたがって前記表示装置上に描画するための描画手段として機能させる、コンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを記録した、コンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ（文字、図形、記号、テキスト）を表示する装置に関し、特に、携帯電話のメール画面、携帯電話のインターネットブラウザ画面、携帯小説、ＴＶ画面のＥＰＧ表示、ＴＶ設定メニュー、ウェブブラウザ等、におけるテキストの表示の改善に関する。
【０００２】
近年、携帯電話等の情報端末は小型化が求められる一方で、画面の高解像度化が進んでおり、限られた表示領域において、見やすい画面表示が望まれている。また、ＴＶにおいてはデジタル情報化が進んでおり、番組表、番組情報などのサービスが普及し、限られた領域での見やすい表示が望まれている。
【０００３】
例えば、表示領域が限られている場合、画面上に表示される文字の表示サイズを小さくする場合がある。表示サイズを小さくする方法として、日本語では、漢字に比較して小さくても認識が容易な英数字及び／又はカタカナを半角にしてこれらの文字種についての文字送り幅を狭めるように調整することがある。しかしながら、このようにすると、文字送り幅を狭める文字数が行によって同じであることは極めて稀であり、一行分の文字送り幅の総和が行によって異なることになる。その結果、画面内の行末の位置が揃わないことになる。
【０００４】
そこで、特許第３４９５４９６号公報（特許文献１）においては、各行の文字の後端を揃えるように文字間または単語間に空白を挿入する文章情報出力装置が提案されている。この文章情報出力装置は、入力する文書データを１行単位で記憶する文書データ記憶手段と、文書データ記憶手段に記憶された各文字の文字種を判定する文字種判定手段と、特定の文字種の文字毎の行方向（横書き書式にあっては水平方向、縦書き書式にあっては垂直方向）の送り幅を記憶したテーブル手段と、文字種判定手段の文字種判定に応じてテーブル手段を参照し特定の文字種の文字毎に文字パターンの行方向の幅に応じてその文字の送り幅を変える文字送り幅設定手段と、文字送り幅設定手段で設定された送り幅を用いて各文字の文字パターンを発生する文字パターン発生手段と、文字パターン発生手段から発生した文字パターンを一時記憶し記憶した文字パターンを表示装置または印字装置へ供給する出力データ記憶手段とを具備する。この文字送り幅設定手段は、カタカナの場合は文字種毎に送り幅を変える字種毎プロポーショナル送り幅とし、ひらがなと英数字については文字毎に送り幅を変える字毎プロポーショナル送り幅として送り幅を設定することを特徴とする。さらに、この文章情報出力装置は、複数行にわたる文書情報の表示または印字の場合においての文字送り幅設定の処理を行なった後に、各行末の文字の後端を揃えるように文字間の空白または単語間の空白の行方向の幅を調整する１行後端揃え処理手段をさらに有する。
【０００５】
この文章情報出力装置によれば、各文字種毎にその集合に属する文字の構成線分数や複雑さなどの形状的な特徴に着眼して表示または印字する文字サイズを切り替えたり、特定の文字種については各文字のフォント形状に着目して表示または印字する文字毎の行方向（横書き書式にあっては水平方向、縦書き書式にあっては垂直方向）の送り幅を変えたりする。さらに、複数行にわたる文書情報の表示または印字において上述の文字種毎、文字毎の切り替え制御処理を行なった後に、各行末の文字の後端を揃えるように文字間の空白または単語間の空白の行方向の幅を調整する。このため、文書情報を表示または印字する装置における限定された構成画素を使用して、和文を読み易い出力品質でしかも表示文字数をできるだけ多くして、文書情報を表示または印字する際の総合的な品質が向上することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３４９５４９６号公報（特開平９−２４４６１７号公報）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、特許文献１に開示された文章情報出力装置においては、文字間または単語間に空白を挿入することによって、各行の文字の後端が揃って表示される。このようにすると、各行の後端位置は揃うが、個々の文字の表示サイズを変更することなく小さいままであるので、文字データの読みやすさという点において改善の余地がある。
【０００８】
したがって本発明の目的は、文字列の表示態様を好ましいものとするとともに（行の前端はもちろんのこと後端を揃える）、表示される文字の読みやすさを図り文字の視認性を高めることができるデータ表示装置、データ表示方法、及びそのためのコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の局面に係るデータ表示装置は、画面上の予め定められた領域内に、文字コード列により表される文字列を表示するデータ表示装置である。文字コードは、第１の種類及び第２の種類に分類される。データ表示装置は、文字列を含む画像を表示するための表示手段と、表示対象の文字コード列を所定のソースから受けるための入力手段と、表示手段における表示幅と表示される文字列の幅とに基づいて空き幅を算出するための算出手段と、入力手段が受けた文字コード列に含まれる第１の種類の文字コードのみからなる文字コード列に対応する文字を表示手段に表示する際の文字幅を、各文字列の幅が均一になるように、空き幅に基づいて決定するための決定手段と、入力手段が受けた文字コード列を、決定手段によって決定された文字幅と、第２の種類の文字コードに設定された文字幅とにしたがって表示手段上に描画するための描画手段とを含む。
【００１０】
このデータ表示装置によると、入力手段により表示対象の文字コード列が受け取られると、表示手段における表示幅と表示される文字列の幅とに基づいて空き幅（例えば、一文字の文字幅が共通であれば、空き幅＝表示領域幅−（一文字の文字幅×文字列を構成する文字数））が算出される。この空き幅は、横書きであれば、文字列の各行の前端を揃えると後端の空きスペースを意味し、文字列の各行の後端を揃えると前端の空きスペースを意味し、文字列の各行を中央揃えとすると前端及び後端の空きスペースを意味し、縦書きであれば、文字列の各行の上端を揃えると下端の空きスペースを意味し、文字列の各行の下端を揃えると上端の空きスペースを意味し、文字列の各行を中央揃えとすると上端及び下端の空きスペースを意味する。各文字列の幅（横書きの場合）又は各文字列の高さ（縦書きの場合）が均一になるように、すなわちこれらの空きスペースがなくなるように、第１の文字コードの種類の文字の文字幅が広げられるように決定される。このため、第２の文字コードの種類の文字よりも第１の文字コードの種類の文字のほうが視認性が好ましくない（日本語で言うとひらがなよりも漢字のほうが視認性が好ましくない）場合に、各文字列の幅を均一にして空きスペースを無くして後端を揃えるとともに、文字の視認性を向上させることができる。この結果、文字列の表示態様を好ましいものとするとともに、表示される文字の読みやすさを図り文字の視認性を高めることができる、データ表示装置を提供することができる。
【００１１】
好ましくは、決定手段は、文字列において連続する第１の種類の文字コードに対応する文字幅が互いに異ならないように、文字幅を決定するための手段を含むように構成できる。
【００１２】
視認性が好ましくない第１の種類の文字コードに対応する文字が連続する場合には、同じ文字幅としてバランスよく配置して視認性を高めることができるので、例えば漢字が連続する場合には同じ文字幅とする。この結果、連続する文字の組合せを考慮して文字幅を決定することで、文字のバラツキを少なく、かつ、視認性の高いデータ表示が可能となる。
【００１３】
さらに好ましくは、決定手段は、空き幅に基づいて判定した結果、第１の種類の文字コードのみからなる文字コード列において、連続する第１の種類の文字コードに対応する文字に対して同じ文字幅を与えられない場合には、仮決定された文字幅を修正するための手段を含むように構成できる。
【００１４】
空き幅が少なくて、連続している第１の種類の文字コードに対応する文字に同じ文字幅を与えることができない場合には、仮決定された文字幅を修正して、例えば漢字が連続する場合には同じ文字幅とすることができる。
【００１５】
さらに好ましくは、決定手段は、仮決定された文字幅の少なくとも一部を破棄して、文字幅を修正するための手段を含むように構成できる。
【００１６】
空き幅が少なくて、連続している第１の種類の文字コードに対応する文字に同じ文字幅を与えることができない場合には、決定された文字幅を破棄して、例えば漢字が連続する場合には同じ文字幅とすることができる。
【００１７】
さらに好ましくは、第１の種類の文字コードに対応する文字は、第２の種類の文字コードに対応する文字よりも、視認が困難な文字であるように構成できる。
【００１８】
比較すると、視認性が好ましくない（視認が困難）な第１の種類の文字コードに対応する文字の文字幅を広げるように、空き幅を配分するので、視認性を向上できる。
【００１９】
さらに好ましくは、表示手段は、漢字及び漢字以外の文字を含む日本語を表示するための手段を含み、第１の種類に分類される文字コードは、漢字に対応する文字コードであって、第２の種類に分類される文字コードは、漢字以外に対応する文字コードであって、データ表示装置は、文字コードによって、文字コードに対応する文字が第１の種類の文字及び第２の種類の文字のいずれであるかを判別するための判別手段をさらに含むように構成できる。
【００２０】
日本語においては、小さくても認識が容易な英数字、ひらがな及びカタカナよりも、漢字のほうが視認性が好ましくなく視認が困難である。このような漢字（第１の種類の文字コードに対応）と、英数字、ひらがな及びカタカナ（第２の種類の文字コードに対応）とを、文字コードの値によって判別することができる。
【００２１】
本発明の第２の局面に係るデータ表示方法は、画面上の定められた領域内に、文字コード列により表される文字列を表示するデータ表示装置におけるデータ表示方法である。文字コードは、第１の種類及び第２の種類に分類される。データ表示装置は、文字列を含む画像を表示するための表示手段と、表示対象の文字コード列を所定のソースから受けるための入力手段とを含む。データ表示方法は、表示手段における表示幅と表示される文字列の幅とに基づいて空き幅を算出する算出ステップと、入力手段が受けた文字コード列に含まれる第１の種類の文字コードのみからなる文字コード列に対応する文字を表示手段に表示する際の文字幅を、各文字列の幅が均一になるように、空き幅に基づいて決定する決定ステップと、入力手段が受けた文字コード列を、決定ステップにおいて決定された文字幅と、第２の種類の文字コードに設定された文字幅とにしたがって表示手段上に描画する描画ステップとを含む。
【００２２】
本発明の第３の局面に係るコンピュータプログラムは、第１の種類及び第２の種類に分類される文字コードに対応する文字から構成される文字列を表示する表示装置に接続されるコンピュータにより実行されると、当該コンピュータを、表示対象の文字コード列を所定のソースから受けるための入力手段と、表示装置における表示幅と表示される文字列の幅とに基づいて空き幅を算出するための算出手段と、入力手段が受けた文字コード列に含まれる第１の種類の文字コードのみからなる文字コード列に対応する文字を表示装置に表示する際の文字幅を、各文字列の幅が均一になるように、空き幅に基づいて決定するための決定手段と、入力手段が受けた文字コード列を、決定手段によって決定された文字幅と、第２の種類の文字コードに設定された文字幅とにしたがって表示装置上に描画するための描画手段として機能させる。
【００２３】
本発明の第４の局面に係る記録媒体は、上記コンピュータプログラムを記録した、コンピュータ読取可能な記録媒体である。
【発明の効果】
【００２４】
データ表示装置によると、例えば各行の文字の後端を揃えて表示するに際して、後端の空き幅を文字間または単語間へスペースとして挿入するのではなく、視認性がより困難な漢字の文字幅が拡張している。これにより、日本語においては漢字以外よりも漢字のほうが文字の表示態様にバラツキが発生すると読みにくいので、後端を揃えるにあたり文字間ではなく漢字の文字幅を拡張して、漢字の視認性を向上させつつ、文字列の表示態様を好ましいもの（行の後端が揃っているもの）とすることができる。
【００２５】
さらに、連続する２文字（３文字以上でも構わない）が漢字である場合に、両方ともを同じ文字幅とすることができない場合には、同じ文字幅とするようにしている。この結果、連続する文字の組合せを考慮して同じ文字幅に決定することで、文字のバラツキを少なく、かつ、視認性の高いデータ表示が可能となる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施の形態に係るデータ表示装置を採用した情報処理装置のハードウェア構成を示すブロック図である。
【図２】本発明の実施の形態に係るデータ表示装置のデータに対する基本的な表示動作を説明するためのフローチャートである。
【図３】図２に示した後端揃え処理のより詳細な構成を示すフローチャートである。
【図４】図３に示した文字幅統一処理のより詳細な構成を示すフローチャートである。
【図５】従来のデータ表示装置による横書きの文字列の表示の一例を示す図である。
【図６】本発明の実施の形態に係るデータ表示装置により表示した横書きの文字列の一例を示す図である。
【発明を実施するための形態】
【００２７】
以下の説明において、同一の部品には同一の参照番号を付す。それらの機能及び名称も同一である。したがって、それらに関する詳細な説明は繰返さない。以下の説明で「テキスト」とは、文字列データのことをいう。文字列データとは、文字、記号、図形などを、コードと対応付けて系列化したデータのことをいう。いわゆる「フォント」が典型的な例であるが、表示されるものは文字とは限らない。要するに、何らかの図形（文字も図形の一種である。）をコードと対応付けておき、コードが与えられると対応する図形を表示することができるようなデータのことをいう。なお、このコードは文字コードと呼ばれるものであって、この文字コードにより、文字の種類（漢字であるか否かという種類）及びフォントデータが備える文字幅（初期値）を取得することができる。
【００２８】
［ハードウェア構成］
図１を参照して、本発明の実施の形態に係るデータ表示装置を採用した情報処理システム２００は、所定のプログラムを実行することにより情報処理の中心的機能を実現するための、実質的にコンピュータからなる情報処理装置２２０と、情報処理装置２２０に接続され、情報処理装置２２０の制御にしたがって、テキストなどを含む画像を表示するためのモニタ２０３と、情報処理装置２２０と無線による通信が可能なリモートコントローラ２０４とを含む。
【００２９】
情報処理装置２２０は、バス２０７と、バス２０７に接続されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０６と、バス２０７に接続されたＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０８と、バス２０７に接続されたＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０９と、バス２０７に接続されたハードディスク２１２と、バス２０７に接続され、光ディスク２１０が装着可能で、光ディスク２１０に対する情報の書込及び光ディスク２１０からの情報の読出が可能な光ディスクドライブ２０１と、バス２０７に接続され、磁気ディスク２１１が装着可能で、磁気ディスク２１１に対する情報の書込及び磁気ディスク２１１にからの情報の読出が可能な磁気ディスクドライブ２０２と、バス２０７に接続され、リモートコントローラ２０４との間の無線通信に関するインタフェースを提供するためのリモートコントローラインタフェース（以下「リモコンＩ／Ｆ」と呼ぶ。）２０５と、無線によりインターネットへの接続を提供する無線Ｉ／Ｆ２１４とを含む。モニタ２０３は、図示しないモニタインタフェースを介してバス２０７に接続されている。
【００３０】
バス２０７、ＲＯＭ２０８、ＲＡＭ２０９、ハードディスク２１２、光ディスクドライブ２０１、磁気ディスクドライブ２０２、モニタ２０３及びリモコンＩ／Ｆ２０５は、いずれもＣＰＵ２０６の制御のもとに協調して動作し、情報処理システム２００において種々のアプリケーションによる処理を実現する。それらアプリケーションは、例えば電子メールの送信及び受信、光ディスク２１０に記録された映像の再生、ワードプロセッサによる文書の作成などを含む。
【００３１】
情報処理装置２２０にこの実施の形態に係るデータ表示装置としての動作を行なわせるためのコンピュータプログラムは、光ディスクドライブ２０１または磁気ディスクドライブ２０２に挿入される光ディスク２１０または磁気ディスク２１１に記憶され、さらにハードディスク２１２に転送される。または、プログラムは図示しないネットワークを通じて情報処理装置２２０に送信されハードディスク２１２に記憶されてもよい。プログラムは実行の際にＲＡＭ２０９にロードされる。光ディスク２１０から、磁気ディスク２１１から、またはネットワークを介して、直接にＲＡＭ２０９にプログラムをロードしてもよい。
【００３２】
このプログラムは、情報処理装置２２０にこの実施の形態のデータ表示装置として動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかは情報処理装置２２０上で動作するオペレーティングシステム（ＯＳ）もしくはサードパーティのプログラム、または情報処理装置２２０にインストールされる各種ツールキットのモジュールにより提供される。従って、このプログラムはこの実施の形態のシステムおよび方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」を呼出すことにより、上記したデータ表示装置としての動作を実行する命令のみを含んでいればよい。情報処理装置２２０の実体であるコンピュータの一般的動作は周知であるので、ここでは繰返して説明しない。
【００３３】
以下の実施の形態においては、情報処理システム２００が、テレビ放送の番組一覧をテキストにより表示することを想定する。現在ではケーブルテレビ放送及び衛星テレビ放送を含めて多数のチャンネルで種々の番組が放送されている。番組一覧画面は一覧性が要求されるため、できるだけ多くのチャンネルのできるだけ幅広い時間帯の番組の情報をモニタ２０３に表示することが求められる。モニタ２０３の画面の面積は限られているため、モニタ２０３の画面をできるだけ多くの小さな区画に区分し、かつ各区画内において、必要な情報を読みやすく表示することが必要である。本発明に係るデータ表示装置はそのために用いられる。なお、データ表示装置のハードウェアは情報処理装置２２０のハードウェアと共通であり、情報処理装置２２０のハードウェアと、以下に説明するデータ表示方法を実現するプログラムとが協調して動作することによって、本発明の実施の形態に係るデータ表示装置が実現される。
【００３４】
なお、本実施の形態においては、文字を、漢字とそれ以外の文字（ひらがな、カタカナ、記号、数字、アルファベットなどであって、これらを以後「漢字以外の文字」と呼ぶことがある。）とに分類する。本実施の形態における文字幅統一処理では、横書き前端揃えの文字ごとに文字幅を仮決定し、さらに漢字のみで構成される文字列ごとに各文字の文字幅を統一する。本実施の形態においては、各行の後端にある空きスペースである残りのドット数（残りドット数）を漢字の文字幅として追加することにより文字幅を変更して表示したり、残りドット数が連続する漢字からなる文字列の文字数に満たない場合には文字幅を変更せず、残りドット数が漢字からなる文字列の文字数を満たした場合にはその文字列に含まれる各文字の文字幅を変更して表示したりする。以下において、このような処理をさらに具体的に説明する。
【００３５】
［ソフトウェア構成］
図２を参照して、本実施の形態に係るデータ表示装置を実現するためのプログラムの制御構造について説明する。このプログラムは、情報処理システム２００の情報処理装置２２０におけるＣＰＵ２０６により実行される。なお、このプログラムは、より上位のプログラム（例えばメール送受信プログラム）がテキストを表示するときに呼び出されて、実行される。
【００３６】
ステップ（以下、ステップをＳと略す。）１０００にて、ＣＰＵ２０６は、モニタ２０３に表示すべきデータ（テキストデータ）を取得する。Ｓ２０００にて、ＣＰＵ２０６は、Ｓ１０００において取得された文字列１行分の文字送り幅を取得する。このとき、ＣＰＵ２０６は、詳しくは後述する文字コードを用いて、文字の文字幅（漢字以外の文字幅は２４ドット、漢字の文字幅は２４ドット又は３０ドットと想定する。）を取得して加算することにより文字列１行分の文字送り幅を取得する。
【００３７】
Ｓ３０００にて、ＣＰＵ２０６は、Ｓ２０００において取得した１行分の文字送り幅と、モニタ２０３の表示領域の幅との差により、１行における残りドット数を取得する。
【００３８】
Ｓ４０００にて、ＣＰＵ２０６は、Ｓ３０００において取得した残りドット数を用いて、Ｓ１０００において取得した１行分の文字における、各文字の文字幅を決定する後端揃え処理を実行する。このＳ４０００における後端揃え処理の詳細については後述する。
【００３９】
Ｓ５０００にて、ＣＰＵ２０６は、Ｓ４０００において決定された文字幅で各文字をＲＡＭ１０９に描画した後、出力装置（モニタ２０３等）に表示する。後端揃え処理を、テキストデータを構成する全ての行に対して繰返した後、このＳ５０００において、各文字をそれぞれの文字幅にしたがって描画してモニタ２０３に表示する。この処理の結果、各行に残りドット数が含まれている場合、その行に含まれる漢字に残りドットが文字幅として割り当てられ、漢字が含まれる各行において漢字の文字幅を広げて視認性を向上させつつ各行の後端位置が調整されて揃えられる。
【００４０】
図３を参照して、図２のＳ４０００における後端揃え処理の詳細について説明する。この図３に示すプログラムはサブルーチンプログラムとして機能する。
【００４１】
Ｓ４１００にて、ＣＰＵ２０６は、変数Ｉ及び変数Ｊを初期化（Ｉ＝０及びＪ＝０）する。ここで、変数Ｉは、Ｓ１０００において取得されたテキストデータのなかで処理対象のテキストの順番を示す変数である。変数Ｊは、読込んだテキストデータのなかで漢字以外の文字で最後（最新）に読込まれたものの番号を示す変数である。なお、後述するように、本実施の形態に係る処理対象の文字とは漢字である。
【００４２】
Ｓ４２００にて、ＣＰＵ２０６は、変数Ｉに１を加算する。なお、以下においては、Ｓ１０００において取得された文字列における文字のうち、Ｉ番目の文字コード（以下、簡単のためにこの文字コードを「文字コード（Ｉ）」と書き、文字コード（Ｉ）により表される文字を「文字（Ｉ）」と書く。）を取得する。
【００４３】
Ｓ４３００にて、ＣＰＵ２０６は、文字コード（Ｉ）を取得する。Ｓ４３００にて、ＣＰＵ２０６は、Ｓ４４００にて、ＣＰＵ２０６は、Ｓ４３００において取得された文字コード（Ｉ）が所定範囲内のコードであるか否かを判定する。この文字コードの所定範囲は、言語の種類によって異なっていても構わない。文字の表示態様にバラツキが発生すると読みにくいか否かの基準で範囲を指定することが好ましい。なお、日本語の場合には、典型的には上記したようにいわゆる漢字か、漢字以外の文字かが、文字コード表上で明確に区分されているため（すなわち、文字コード表の中で漢字は所定の範囲内のコードで表されているため）、文字コード（Ｉ）が所定範囲内のコードであるか否かを判定することにより、文字コード（Ｉ）により表される文字（Ｉ）が漢字（バラツキが発生すると読みにくい文字）であるか否かを判定できる。なお、本実施の形態における「文字幅変更の対象」は、文字ごとに横（又は縦）方向の長さを１ドット追加するか否かを判定する対象の文字のことであって、より具体的には漢字である。ひらがな、カタカナ、記号、数字及びアルファベットについては、本実施の形態では、文字幅変更の対象ではない。文字コード（Ｉ）が所定の範囲内にある（すなわち、文字（Ｉ）は漢字）と判定されると（Ｓ４４００にてＹＥＳ）、処理はＳ４５００へ移される。もしそうでないと（文字（Ｉ）は漢字以外）（Ｓ４４００にてＮＯ）、この処理はＳ４９１０へ移される。
【００４４】
Ｓ４５００にて、ＣＰＵ２０６は、その文字を含め、直前の、文字幅変更の対象となる一連の文字列の文字幅を統一する、文字幅統一処理を実行する。このＳ４５００における文字幅統一処理の詳細については後述する。
【００４５】
Ｓ４６００にて、ＣＰＵ２０６は、一連の文字列の文字幅を決定する。このＳ４６００においては、次のような処理が行なわれる。文字コード（Ｉ）が所定範囲外である場合には（すなわち漢字以外の文字の場合には）、その文字の文字幅を変更しない。文字コード（Ｉ）が所定範囲内である場合には（すなわち漢字の場合には）、直前の一連の同種の文字列、すなわち、漢字が連続する文字列について、その文字表示幅をＳ４５００の処理により統一して処理された文字幅に決定する。
【００４６】
Ｓ４７００にて、ＣＰＵ２０６は、次の文字が存在するか否かを判定する。次の文字が存在すると判定されると（Ｓ４７００にてＹＥＳ）、処理はＳ４２００へ戻される。もしそうでないと（Ｓ４７００にてＮＯ）、この処理はＳ４８００へ移される。Ｓ４８００にて、ＣＰＵ２０６は、各行の後端にある残りドット数が存在するか否かを判定する。残りドット数が存在すると判定されると（Ｓ４８００にてＹＥＳ）、処理はＳ４９００へ移される。もしそうでないと（Ｓ４８００にてＮＯ）、このサブルーチン処理は終了して、処理は図２のＳ５０００へ戻される。
【００４７】
Ｓ４９００にて、ＣＰＵ２０６は、保持している残りドット数と、Ｓ４８００の判定において用いた残りドット数とが一致するか否かを判定する。このＳ４９００において、保持している残りドット数とは、処理中の行に対して１回目のプログラムが実行されている場合には、図２のＳ３０００で取得した残りドット数のことであり、２回目以降のプログラムが実行されている場合には、Ｓ４８００の判定において用いた残りドット数のことである。保持している残りドット数と、残りドット数とが一致すると判定されると（Ｓ４９００にてＹＥＳ）、このサブルーチン処理は終了して、処理は図２のＳ５０００へ戻される。もしそうでないと（Ｓ４９００にてＮＯ）、処理はＳ４９３０へ移される。なお、Ｓ４９００の判定結果がＹＥＳの場合とは、処理中の行に対して、再度、後端揃え処理を行なったが、残りドットを割り当てる文字がなかった場合である。この場合（Ｓ４９００にてＹＥＳ）において、与えられた文字列によっては、必ずしも後端の残りドット数が０にならない場合があることを確認的に記載しておく。
【００４８】
Ｓ４９１０にて、ＣＰＵ２０６は、変数Ｊに変数Ｉの値を代入する。すなわち、変数Ｊには、最後に読込んだ文字幅変更対象外の文字の番号が格納される。さらに、このＳ４９１０にて、ＣＰＵ２０６は、変数Ｋに０を代入する。Ｓ４９２０にて、ＣＰＵ２０６は、Ｓ４５００の処理において取得された破棄した文字数（詳しくは後述する。）を残りドット数に追加する。ここで、変数Ｋとは、文字幅変更の対象となる文字コードの範囲の文字が連続する場合に、残りドット数が連続する文字数に足りず、全ての文字幅を均一に増やすことができなかった場合の状態を判定するために用いられる変数である。その後、この処理はＳ４６００へ移される。
【００４９】
Ｓ４９３０にて、ＣＰＵ２０６は、Ｓ４８００の判定において用いた残りドット数を保持する。その後、この処理はＳ４１００へ移される。すなわち、このＳ４９３０の処理の後、処理中の行の先頭の文字に戻される。これらの処理により、残りドット数が存在する場合には、再度、所定の範囲内の文字コードである各文字の文字幅に対して、残りドット数を割り当てる処理が繰返されることになる。
【００５０】
図４を参照して、図３のＳ４５００における文字幅統一処理の詳細について説明する。この図４に示すプログラムはサブルーチンプログラムとして機能する。
【００５１】
Ｓ４５０２にて、ＣＰＵ２０６は、文字（Ｉ）の文字幅を文字コード（Ｉ）を用いて文字幅テーブルから取得する。ここでの文字幅は、初期値としては、フォントデータが保持する文字幅である。
【００５２】
Ｓ４５０４にて、ＣＰＵ２０６は、処理中の後端にある残りドット数が存在するか否かを判定する。残りドット数とは、処理中の行に対して図３に示すサブルーチンプログラムの１回目の実行の場合には、図２のＳ３０００において求めた残りドット数のことであり、２回目以降の実行の場合には、図３のＳ４０３０で保持した残りドット数のことである。残りのドット数が０以外であって残りドット数が存在すると判定されると（Ｓ４５０４にてＹＥＳ）、処理はＳ４５１４へ移される。もしそうでないと（残りのドット数が０であると）（Ｓ４５０４にてＮＯ）、この処理はＳ４５０６へ移される。
【００５３】
Ｓ４５０６にて、ＣＰＵ２０６は、全ての文字幅を均一に増やすことができなかった場合の状態を判定するために用いられる変数Ｋの値が０か否かを判定する。変数Ｋが０であると（Ｓ４５０６にてＹＥＳ）、処理はＳ４５０８へ移される、もしそうでないと（Ｓ４５０６にてＮＯ）、このサブルーチン処理は終了して、処理は図３のＳ４６００へ戻される。
【００５４】
Ｓ４５０８にて、ＣＰＵ２０６は、文字（Ｊ＋１）〜文字（Ｉ）までの文字の仮文字幅を破棄する。仮文字幅から１ドットを減少させた文字幅を文字（Ｊ＋１）〜文字（Ｉ）までの各文字の文字幅と設定する。
【００５５】
Ｓ４５１０にて、ＣＰＵ２０６は、仮文字幅を破棄した文字数（（Ｉ−１）−（Ｊ＋１）＋１）を、破棄した文字数として保持する。
【００５６】
Ｓ４５１２にて、ＣＰＵ２０６は、変数Ｋに１を代入する。これにより、文字幅変更の対象となる文字コードの範囲の文字が連続する場合において残りドット数が不足し、全ての文字幅を均一に増やすことができなかった場合の状態であることが判定できるようになる。その後、このサブルーチン処理は終了して、処理は図３のＳ４６００へ戻される。
【００５７】
Ｓ４５１４にて、ＣＰＵ２０６は、文字（Ｉ）の文字幅を１ドット追加して文字（Ｉ）の文字幅を設定する。Ｓ４５１６にて、ＣＰＵ２０６は、Ｓ４５１２において設定した文字（Ｉ）の文字幅を、文字（Ｉ）の仮文字幅として保持する。その後、このサブルーチン処理は終了して、処理は図３のＳ４６００へ戻される。
【００５８】
［動作］
以上のような構造及びフローチャートに基づく、情報処理システム２００により動作される本実施の形態に係るデータ表示装置（携帯電話、ＴＶ等）に表示される態様について、図５〜図６を用いて説明する。なお、図５は従来のデータ表示装置による横書きの文字列の表示の一例を示す図であって、図６は本実施の形態に係るデータ表示装置により表示した横書きの文字列の一例を示す図である。この動作の説明においては、フォントデータに規定された文字幅として、漢字以外の文字幅は２４ドット、漢字の文字幅は２４ドット又は３０ドットの２種類が存在すると想定する。
【００５９】
情報処理システム２００は以下のように動作する。図１を参照して、上記したプログラムは予め光ディスク２１０又は磁気ディスク２１１に格納されており、光ディスクドライブ２０１又は磁気ディスクドライブ２０２を介してハードディスク２１２にインストールされる。プログラム実行時には、利用者がモニタ２０３及びリモートコントローラ２０４を用いてデータ表示処理を含むプログラムを起動したことに応答して、上記したデータ表示のためのプログラムがハードディスク２１２から読出されてＲＡＭ２０９にロードされ、ＣＰＵ２０６により実行される。ＣＰＵ２０６によるプログラムの実行形式は、プログラムカウンタと呼ばれるレジスタの値をアドレスとして用いてＲＡＭ２０９から命令を読出し、ＲＡＭ２０９及びハードディスク２１２など、ＣＰＵ２０６がアドレス指定してアクセスできるデータを読出してその命令により指定される処理を行なう、というものである。命令の実行結果もまた、その命令で指定されるアドレスに出力される。
【００６０】
データ表示処理が呼び出されたものとする。このときには、表示領域を指定する情報（モニタ２０３の表示領域の幅）と、表示対象のデータの文字コードとがデータ表示プログラムに引数として渡される。このプログラムは、表示対象のデータの文字コードを取得する（Ｓ１０００）。取得した文字コードを用いて、文字の文字幅（漢字以外の文字幅は２４ドット、漢字の文字幅は２４ドット又は３０ドット）を加算することにより文字列１行分の文字送り幅を取得する（Ｓ２０００）。取得した１行分の文字送り幅と、モニタ２０３の表示領域の幅との差により、１行における残りドット数が取得される（Ｓ３０００）。
【００６１】
この残りドット数が取得されると、変数Ｉ及び変数Ｊに０が代入されて（Ｓ４１００）、各行の処理が開始される。Ｉ文字目である文字（Ｉ）について文字コードが取得される（Ｓ４２００）。
【００６２】
＜文字（Ｉ）が漢字以外の場合＞
ここで、文字コードに基づいて判定された結果、その文字（Ｉ）が漢字でないと（Ｓ４４００にてＮＯ）、変数Ｊに変数Ｉが代入されるとともに、変数Ｋに０が代入され（Ｓ４９１０）、取得された破棄した文字数が残りドット数に追加される（Ｓ４９２０）。そのままの文字幅が決定されて（Ｓ４６００）、さらに次の文字がある場合には（Ｓ４７００にてＹＥＳ），次の文字（Ｉ＋１）について処理が行なわれる。
【００６３】
＜文字（Ｉ）が漢字で残りドット数が存在する場合＞
一方、文字コードに基づいて判定された結果、その文字（Ｉ）が漢字であると（Ｓ４４００にてＹＥＳ）、文字幅統一処理が実行される（Ｓ４５００）。文字（Ｉ）の文字幅情報（初期値としてはフォントデータが保持する文字幅であって２４ドット又は３０ドット）が保持される（Ｓ４５０２）。
【００６４】
残りドット数が存在する場合には（Ｓ４５０４にてＹＥＳ）、文字（Ｉ）の文字幅に１ドットが追加され（Ｓ４５１４）、文字（Ｉ）の仮文字幅（１ドット追加された文字幅）が保持される（Ｓ４５１６）。文字幅が決定されて（Ｓ４６００）、さらに次の文字がある場合には（Ｓ４７００にてＹＥＳ），次の文字（Ｉ＋１）について処理が行なわれる。
【００６５】
＜文字（Ｉ）が漢字で残りドット数が存在しないでＫ≠０＞
さらに、文字（Ｉ）が漢字であって残りドット数が存在しない場合であって（Ｓ４５０４にてＮＯ）、変数Ｋが０でない場合には（Ｓ４５０６にてＮＯ）、そのままの文字幅が決定されて（Ｓ４６００）、さらに次の文字がある場合には（Ｓ４７００にてＹＥＳ），次の文字（Ｉ＋１）について処理が行なわれる。
【００６６】
＜文字（Ｉ）が漢字で残りドット数が存在しないでＫ＝０＞
さらに、文字（Ｉ）が漢字であって残りドット数が存在しない場合であって（Ｓ４５０４にてＮＯ）、変数Ｋが０である場合には（Ｓ４５０６にてＹＥＳ）、文字（Ｊ＋１）〜文字（Ｉ）までの文字の仮文字幅が破棄されて仮文字幅から１ドットを減少させた文字幅を文字（Ｊ＋１）〜文字（Ｉ）までの各文字の文字幅と設定するとともに（Ｓ４５０８）、仮文字幅を破棄した文字数（（Ｉ−１）−（Ｊ＋１）＋１）が、破棄した文字数として保持される（Ｓ４５１０）。なお、このときに変数Ｋに１が代入される（Ｓ４５１２）。文字幅が決定されて（Ｓ４６００）、さらに次の文字がある場合には（Ｓ４７００にてＹＥＳ），次の文字（Ｉ＋１）について処理が行なわれる。
【００６７】
＜行端文字まで到達した場合で残りドット数なし＞
上述した動作が繰返し行なわれて、次の文字が存在しなくなり（Ｓ４７００にてＮＯ）、残りドット数が存在しないと（Ｓ４８００にてＮＯ）、各文字をそれぞれの文字幅にしたがって描画されてモニタ２０３に複数行から構成される文字列が表示される（Ｓ５０００）。
【００６８】
＜行端文字まで到達した場合で残りドット数ありで一致＞
上述した動作が繰返し行なわれて、次の文字が存在しなくなり（Ｓ４７００にてＮＯ）、残りドット数が存在していても（Ｓ４８００にてＹＥＳ）、保持している残りドット数と存在している残りドット数とが一致していると（Ｓ４９００にてＹＥＳ）、各文字をそれぞれの文字幅にしたがって描画されてモニタ２０３に複数行から構成される文字列が表示される（Ｓ５０００）。
【００６９】
＜行端文字まで到達した場合で残りドット数ありで不一致＞
上述した動作が繰返し行なわれて、次の文字が存在しなくなり（Ｓ４７００にてＮＯ）、残りドット数が存在していて（Ｓ４８００にてＹＥＳ）、保持している残りドット数と存在している残りドット数とが一致していないと（Ｓ４９００にてＮＯ）、残りドット数を保持した状態で、変数Ｉ及び変数Ｊに０が代入されて（Ｓ４１００）、各行の処理が再度開始される。この動作は、処理中の行の先頭の文字に戻されて、残りドット数が存在する場合には、再度、所定の範囲内の文字コードである各文字の文字幅に対して、残りドット数を割り当てる処理が繰返されることになる。
【００７０】
＜表示例＞
図５は、表示領域（モニタ２０３の表示領域）の幅４８０ドットに対し、１行目の後端には、１８ドットの空きが存在することを示している。図５により示されるように、各行の後端には、１行目１８ドット、２行目１２ドット、３行目１０ドット、４行目６ドットの空きが存在する。そのため、各行の後端が不揃いとなり、非常に読みにくい。
【００７１】
これに対して、図６に示すように、本実施の形態に係るデータ表示装置により表示された文字列では、各行の後端の空きが全てなくなっている。この結果、各行の後端が揃うことになり、表示される文字列が図６と比較してはるかに読みやすくなる。
【００７２】
以上のようにして、本実施の形態に係る表示システムによると、各行の文字の後端が揃って表示するに際して、文字間または単語間にスペースを挿入するのではなく、漢字の文字幅ができる限り統一的になるように拡張している。これにより、日本語においては漢字以外よりも漢字のほうが文字の表示態様にバラツキが発生すると読みにくいので、すなわち、漢字のほうが概ね画数が多く画数が多く込み入った漢字は読みにくいので、後端を揃えるにあたり文字間ではなく漢字の文字幅を拡張して、漢字の視認性を向上させつつ、文字列の表示態様を好ましいもの（行の後端が揃っているもの）とすることができる。
【００７３】
特に、図６の４段目における１２文字目の「池」の文字幅が３０ドットから３２ドットに変更されて、１７文字目の「御」及び１８文字目の「佇」の文字幅は３０ドットのままであるのは、以下の理由による。１２文字目の「池」の文字幅を３０ドットから３１ドットに変更して、１７文字目の「御」の文字幅を３０ドットから３１ドットに変更しても同じように文字列の後端を揃えることができる。しかしながら、これでは、１８文字目の「佇」の文字幅は３０ドットのままとなってしまう。すなわち、連続する２文字の漢字「御佇」である「御」と「佇」との両方ともを１ドットずつ増加させることができないためである。このようにすることにより、残りドットが存在しない場合に、連続する同一種（ここでは漢字）の文字列の文字幅を元の文字幅に戻すことになる。この結果、連続する文字の組合せを考慮して文字幅を決定することで、文字のバラツキを少なく、かつ、視認性の高いデータ表示が可能となる。
【００７４】
本実施の形態では、文字幅の統一処理では、各文字の文字幅を１ドット追加している。しかしながら、本発明はこのような実施の形態には限定されない。文字幅の統一処理は、予め設定された規則（ルール）により統一を行なうものであればどのようなものでも構わない。例えば、文字サイズが大きい場合には、２ドットずつ追加してもよい。
【００７５】
また、漢字の文字幅についても上記した実施の形態のように２通りの文字幅（２４ドット及び３０ドット）だけではなく、３通り以上の文字幅を用いるようにしてもよい。このように、使用する文字幅を何通りかに固定する場合には、文字幅テーブルには文字幅そのものを記憶する必要はなく、文字幅を特定するための情報（例えばフラグなど）を記憶するようにして、そのフラグを用いても３種類以上の文字幅を特定するようにすればよい。さらに、デフォルトの仮文字幅を固定する場合には、デフォルトの文字幅で表示する文字については、文字幅テーブルに文字幅を記憶しておく必要がないことはもちろんである。
【００７６】
また、本実施の形態では、横書きということで、文字の後端の空きドット数を、各文字の横幅に割り当て、文字幅を変更するようにしている。しかしながら、本発明はこのような実施の形態には限定されない。例えば、縦書きの場合は、一行の下端の空きドット数を各文字の縦方向の長さに割り当て、文字高さを変更するようにしてもよい。
【００７７】
また、本実施の形態では、文字を漢字とそれ以外の文字とに分類することで、一行の後端の空きドット数を漢字に割り当てているが、漢字の中でしきい値を設定し、画数の多い文字と少ない文字とに分類して、画数の多い文字に空きドットを割り当てるようにしても構わない。一般的に、画数の多い文字は大きく表示する必要があるのに対し、画数の少ない文字は多少縮小されたままでも読み易さはあまり損なわれないためである。なお、画数は、文字コードごとに、その文字の画数を格納した画数テーブルを利用することができる。また、各漢字について空白以外の部分（ストローク部分）の割合を計算して、その割合にしきい値を設定して分類してもよい。ストローク部分が多いほど複雑な漢字であって、文字幅を変更する必要性が高いと考えられるためである。
【００７８】
また、上述した実施の形態においては、文字幅を仮決定した後に、同じ文字幅を与えられない場合には、仮決定した文字幅を破棄するとしたが本発明はこれに限定されない。例えば、これとは別の方法として、同じ文字幅を与えられるか否かを判定した後に、文字幅を１ドット追加するという方法であっても構わない。
【００７９】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【符号の説明】
【００８０】
２００  情報処理システム
２０３  モニタ
２０６  ＣＰＵ
２０８  ＲＯＭ
２０９  ＲＡＭ
２１２  ハードディスク
【図１】
2010244313.tif 000003
【図２】
2010244313.tif 000004
【図３】
2010244313.tif 000005
【図４】
2010244313.tif 000006
【図５】
2010244313.tif 000007
【図６】
2010244313.tif 000008