JP2010244313A - データ表示装置、データ表示方法、そのためのコンピュータプログラム、及びコンピュータプログラムを記録した記録媒体 - Google Patents

データ表示装置、データ表示方法、そのためのコンピュータプログラム、及びコンピュータプログラムを記録した記録媒体 Download PDF

Info

Publication number
JP2010244313A
JP2010244313A JP2009092579A JP2009092579A JP2010244313A JP 2010244313 A JP2010244313 A JP 2010244313A JP 2009092579 A JP2009092579 A JP 2009092579A JP 2009092579 A JP2009092579 A JP 2009092579A JP 2010244313 A JP2010244313 A JP 2010244313A
Authority
JP
Japan
Prior art keywords
character
width
type
string
character code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009092579A
Other languages
English (en)
Inventor
Kayo Okamoto
岡本佳世
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2009092579A priority Critical patent/JP2010244313A/ja
Publication of JP2010244313A publication Critical patent/JP2010244313A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】文字列の表示態様を好ましくするとともに、表示される文字の読みやすさの調整を図り文字の視認性を高める。
【解決手段】データ表示装置は、モニタに表示する文字列のデータを取得するステップ(S1000)と、1行分の文字の送り幅を取得するステップ(S2000)と、1行分の文字送り幅とモニタの表示領域の幅との差により1行における残りドット数を取得するステップ(S3000)と、取得した残りドット数を用いてモニタに表示する各文字の文字幅を決定する後端揃え処理を実行するステップ(S4000)と、決定された文字幅で各文字をRAMに描画した後、モニタに表示するステップ(S5000)とを含むプログラムを実行する。
【選択図】図3

Description

この発明は、データ(文字、図形、記号、テキスト)を表示する装置に関し、特に、携帯電話のメール画面、携帯電話のインターネットブラウザ画面、携帯小説、TV画面のEPG表示、TV設定メニュー、ウェブブラウザ等、におけるテキストの表示の改善に関する。
近年、携帯電話等の情報端末は小型化が求められる一方で、画面の高解像度化が進んでおり、限られた表示領域において、見やすい画面表示が望まれている。また、TVにおいてはデジタル情報化が進んでおり、番組表、番組情報などのサービスが普及し、限られた領域での見やすい表示が望まれている。
例えば、表示領域が限られている場合、画面上に表示される文字の表示サイズを小さくする場合がある。表示サイズを小さくする方法として、日本語では、漢字に比較して小さくても認識が容易な英数字及び/又はカタカナを半角にしてこれらの文字種についての文字送り幅を狭めるように調整することがある。しかしながら、このようにすると、文字送り幅を狭める文字数が行によって同じであることは極めて稀であり、一行分の文字送り幅の総和が行によって異なることになる。その結果、画面内の行末の位置が揃わないことになる。
そこで、特許第3495496号公報(特許文献1)においては、各行の文字の後端を揃えるように文字間または単語間に空白を挿入する文章情報出力装置が提案されている。この文章情報出力装置は、入力する文書データを1行単位で記憶する文書データ記憶手段と、文書データ記憶手段に記憶された各文字の文字種を判定する文字種判定手段と、特定の文字種の文字毎の行方向(横書き書式にあっては水平方向、縦書き書式にあっては垂直方向)の送り幅を記憶したテーブル手段と、文字種判定手段の文字種判定に応じてテーブル手段を参照し特定の文字種の文字毎に文字パターンの行方向の幅に応じてその文字の送り幅を変える文字送り幅設定手段と、文字送り幅設定手段で設定された送り幅を用いて各文字の文字パターンを発生する文字パターン発生手段と、文字パターン発生手段から発生した文字パターンを一時記憶し記憶した文字パターンを表示装置または印字装置へ供給する出力データ記憶手段とを具備する。この文字送り幅設定手段は、カタカナの場合は文字種毎に送り幅を変える字種毎プロポーショナル送り幅とし、ひらがなと英数字については文字毎に送り幅を変える字毎プロポーショナル送り幅として送り幅を設定することを特徴とする。さらに、この文章情報出力装置は、複数行にわたる文書情報の表示または印字の場合においての文字送り幅設定の処理を行なった後に、各行末の文字の後端を揃えるように文字間の空白または単語間の空白の行方向の幅を調整する1行後端揃え処理手段をさらに有する。
この文章情報出力装置によれば、各文字種毎にその集合に属する文字の構成線分数や複雑さなどの形状的な特徴に着眼して表示または印字する文字サイズを切り替えたり、特定の文字種については各文字のフォント形状に着目して表示または印字する文字毎の行方向(横書き書式にあっては水平方向、縦書き書式にあっては垂直方向)の送り幅を変えたりする。さらに、複数行にわたる文書情報の表示または印字において上述の文字種毎、文字毎の切り替え制御処理を行なった後に、各行末の文字の後端を揃えるように文字間の空白または単語間の空白の行方向の幅を調整する。このため、文書情報を表示または印字する装置における限定された構成画素を使用して、和文を読み易い出力品質でしかも表示文字数をできるだけ多くして、文書情報を表示または印字する際の総合的な品質が向上することができる。
特許第3495496号公報(特開平9−244617号公報)
上述したように、特許文献1に開示された文章情報出力装置においては、文字間または単語間に空白を挿入することによって、各行の文字の後端が揃って表示される。このようにすると、各行の後端位置は揃うが、個々の文字の表示サイズを変更することなく小さいままであるので、文字データの読みやすさという点において改善の余地がある。
したがって本発明の目的は、文字列の表示態様を好ましいものとするとともに(行の前端はもちろんのこと後端を揃える)、表示される文字の読みやすさを図り文字の視認性を高めることができるデータ表示装置、データ表示方法、及びそのためのコンピュータプログラムを提供することを目的とする。
本発明の第1の局面に係るデータ表示装置は、画面上の予め定められた領域内に、文字コード列により表される文字列を表示するデータ表示装置である。文字コードは、第1の種類及び第2の種類に分類される。データ表示装置は、文字列を含む画像を表示するための表示手段と、表示対象の文字コード列を所定のソースから受けるための入力手段と、表示手段における表示幅と表示される文字列の幅とに基づいて空き幅を算出するための算出手段と、入力手段が受けた文字コード列に含まれる第1の種類の文字コードのみからなる文字コード列に対応する文字を表示手段に表示する際の文字幅を、各文字列の幅が均一になるように、空き幅に基づいて決定するための決定手段と、入力手段が受けた文字コード列を、決定手段によって決定された文字幅と、第2の種類の文字コードに設定された文字幅とにしたがって表示手段上に描画するための描画手段とを含む。
このデータ表示装置によると、入力手段により表示対象の文字コード列が受け取られると、表示手段における表示幅と表示される文字列の幅とに基づいて空き幅(例えば、一文字の文字幅が共通であれば、空き幅=表示領域幅−(一文字の文字幅×文字列を構成する文字数))が算出される。この空き幅は、横書きであれば、文字列の各行の前端を揃えると後端の空きスペースを意味し、文字列の各行の後端を揃えると前端の空きスペースを意味し、文字列の各行を中央揃えとすると前端及び後端の空きスペースを意味し、縦書きであれば、文字列の各行の上端を揃えると下端の空きスペースを意味し、文字列の各行の下端を揃えると上端の空きスペースを意味し、文字列の各行を中央揃えとすると上端及び下端の空きスペースを意味する。各文字列の幅(横書きの場合)又は各文字列の高さ(縦書きの場合)が均一になるように、すなわちこれらの空きスペースがなくなるように、第1の文字コードの種類の文字の文字幅が広げられるように決定される。このため、第2の文字コードの種類の文字よりも第1の文字コードの種類の文字のほうが視認性が好ましくない(日本語で言うとひらがなよりも漢字のほうが視認性が好ましくない)場合に、各文字列の幅を均一にして空きスペースを無くして後端を揃えるとともに、文字の視認性を向上させることができる。この結果、文字列の表示態様を好ましいものとするとともに、表示される文字の読みやすさを図り文字の視認性を高めることができる、データ表示装置を提供することができる。
好ましくは、決定手段は、文字列において連続する第1の種類の文字コードに対応する文字幅が互いに異ならないように、文字幅を決定するための手段を含むように構成できる。
視認性が好ましくない第1の種類の文字コードに対応する文字が連続する場合には、同じ文字幅としてバランスよく配置して視認性を高めることができるので、例えば漢字が連続する場合には同じ文字幅とする。この結果、連続する文字の組合せを考慮して文字幅を決定することで、文字のバラツキを少なく、かつ、視認性の高いデータ表示が可能となる。
さらに好ましくは、決定手段は、空き幅に基づいて判定した結果、第1の種類の文字コードのみからなる文字コード列において、連続する第1の種類の文字コードに対応する文字に対して同じ文字幅を与えられない場合には、仮決定された文字幅を修正するための手段を含むように構成できる。
空き幅が少なくて、連続している第1の種類の文字コードに対応する文字に同じ文字幅を与えることができない場合には、仮決定された文字幅を修正して、例えば漢字が連続する場合には同じ文字幅とすることができる。
さらに好ましくは、決定手段は、仮決定された文字幅の少なくとも一部を破棄して、文字幅を修正するための手段を含むように構成できる。
空き幅が少なくて、連続している第1の種類の文字コードに対応する文字に同じ文字幅を与えることができない場合には、決定された文字幅を破棄して、例えば漢字が連続する場合には同じ文字幅とすることができる。
さらに好ましくは、第1の種類の文字コードに対応する文字は、第2の種類の文字コードに対応する文字よりも、視認が困難な文字であるように構成できる。
比較すると、視認性が好ましくない(視認が困難)な第1の種類の文字コードに対応する文字の文字幅を広げるように、空き幅を配分するので、視認性を向上できる。
さらに好ましくは、表示手段は、漢字及び漢字以外の文字を含む日本語を表示するための手段を含み、第1の種類に分類される文字コードは、漢字に対応する文字コードであって、第2の種類に分類される文字コードは、漢字以外に対応する文字コードであって、データ表示装置は、文字コードによって、文字コードに対応する文字が第1の種類の文字及び第2の種類の文字のいずれであるかを判別するための判別手段をさらに含むように構成できる。
日本語においては、小さくても認識が容易な英数字、ひらがな及びカタカナよりも、漢字のほうが視認性が好ましくなく視認が困難である。このような漢字(第1の種類の文字コードに対応)と、英数字、ひらがな及びカタカナ(第2の種類の文字コードに対応)とを、文字コードの値によって判別することができる。
本発明の第2の局面に係るデータ表示方法は、画面上の定められた領域内に、文字コード列により表される文字列を表示するデータ表示装置におけるデータ表示方法である。文字コードは、第1の種類及び第2の種類に分類される。データ表示装置は、文字列を含む画像を表示するための表示手段と、表示対象の文字コード列を所定のソースから受けるための入力手段とを含む。データ表示方法は、表示手段における表示幅と表示される文字列の幅とに基づいて空き幅を算出する算出ステップと、入力手段が受けた文字コード列に含まれる第1の種類の文字コードのみからなる文字コード列に対応する文字を表示手段に表示する際の文字幅を、各文字列の幅が均一になるように、空き幅に基づいて決定する決定ステップと、入力手段が受けた文字コード列を、決定ステップにおいて決定された文字幅と、第2の種類の文字コードに設定された文字幅とにしたがって表示手段上に描画する描画ステップとを含む。
本発明の第3の局面に係るコンピュータプログラムは、第1の種類及び第2の種類に分類される文字コードに対応する文字から構成される文字列を表示する表示装置に接続されるコンピュータにより実行されると、当該コンピュータを、表示対象の文字コード列を所定のソースから受けるための入力手段と、表示装置における表示幅と表示される文字列の幅とに基づいて空き幅を算出するための算出手段と、入力手段が受けた文字コード列に含まれる第1の種類の文字コードのみからなる文字コード列に対応する文字を表示装置に表示する際の文字幅を、各文字列の幅が均一になるように、空き幅に基づいて決定するための決定手段と、入力手段が受けた文字コード列を、決定手段によって決定された文字幅と、第2の種類の文字コードに設定された文字幅とにしたがって表示装置上に描画するための描画手段として機能させる。
本発明の第4の局面に係る記録媒体は、上記コンピュータプログラムを記録した、コンピュータ読取可能な記録媒体である。
データ表示装置によると、例えば各行の文字の後端を揃えて表示するに際して、後端の空き幅を文字間または単語間へスペースとして挿入するのではなく、視認性がより困難な漢字の文字幅が拡張している。これにより、日本語においては漢字以外よりも漢字のほうが文字の表示態様にバラツキが発生すると読みにくいので、後端を揃えるにあたり文字間ではなく漢字の文字幅を拡張して、漢字の視認性を向上させつつ、文字列の表示態様を好ましいもの(行の後端が揃っているもの)とすることができる。
さらに、連続する2文字(3文字以上でも構わない)が漢字である場合に、両方ともを同じ文字幅とすることができない場合には、同じ文字幅とするようにしている。この結果、連続する文字の組合せを考慮して同じ文字幅に決定することで、文字のバラツキを少なく、かつ、視認性の高いデータ表示が可能となる。
本発明の実施の形態に係るデータ表示装置を採用した情報処理装置のハードウェア構成を示すブロック図である。 本発明の実施の形態に係るデータ表示装置のデータに対する基本的な表示動作を説明するためのフローチャートである。 図2に示した後端揃え処理のより詳細な構成を示すフローチャートである。 図3に示した文字幅統一処理のより詳細な構成を示すフローチャートである。 従来のデータ表示装置による横書きの文字列の表示の一例を示す図である。 本発明の実施の形態に係るデータ表示装置により表示した横書きの文字列の一例を示す図である。
以下の説明において、同一の部品には同一の参照番号を付す。それらの機能及び名称も同一である。したがって、それらに関する詳細な説明は繰返さない。以下の説明で「テキスト」とは、文字列データのことをいう。文字列データとは、文字、記号、図形などを、コードと対応付けて系列化したデータのことをいう。いわゆる「フォント」が典型的な例であるが、表示されるものは文字とは限らない。要するに、何らかの図形(文字も図形の一種である。)をコードと対応付けておき、コードが与えられると対応する図形を表示することができるようなデータのことをいう。なお、このコードは文字コードと呼ばれるものであって、この文字コードにより、文字の種類(漢字であるか否かという種類)及びフォントデータが備える文字幅(初期値)を取得することができる。
[ハードウェア構成]
図1を参照して、本発明の実施の形態に係るデータ表示装置を採用した情報処理システム200は、所定のプログラムを実行することにより情報処理の中心的機能を実現するための、実質的にコンピュータからなる情報処理装置220と、情報処理装置220に接続され、情報処理装置220の制御にしたがって、テキストなどを含む画像を表示するためのモニタ203と、情報処理装置220と無線による通信が可能なリモートコントローラ204とを含む。
情報処理装置220は、バス207と、バス207に接続されたCPU(Central Processing Unit)206と、バス207に接続されたROM(Read−Only Memory)208と、バス207に接続されたRAM(Random Access Memory)209と、バス207に接続されたハードディスク212と、バス207に接続され、光ディスク210が装着可能で、光ディスク210に対する情報の書込及び光ディスク210からの情報の読出が可能な光ディスクドライブ201と、バス207に接続され、磁気ディスク211が装着可能で、磁気ディスク211に対する情報の書込及び磁気ディスク211にからの情報の読出が可能な磁気ディスクドライブ202と、バス207に接続され、リモートコントローラ204との間の無線通信に関するインタフェースを提供するためのリモートコントローラインタフェース(以下「リモコンI/F」と呼ぶ。)205と、無線によりインターネットへの接続を提供する無線I/F214とを含む。モニタ203は、図示しないモニタインタフェースを介してバス207に接続されている。
バス207、ROM208、RAM209、ハードディスク212、光ディスクドライブ201、磁気ディスクドライブ202、モニタ203及びリモコンI/F205は、いずれもCPU206の制御のもとに協調して動作し、情報処理システム200において種々のアプリケーションによる処理を実現する。それらアプリケーションは、例えば電子メールの送信及び受信、光ディスク210に記録された映像の再生、ワードプロセッサによる文書の作成などを含む。
情報処理装置220にこの実施の形態に係るデータ表示装置としての動作を行なわせるためのコンピュータプログラムは、光ディスクドライブ201または磁気ディスクドライブ202に挿入される光ディスク210または磁気ディスク211に記憶され、さらにハードディスク212に転送される。または、プログラムは図示しないネットワークを通じて情報処理装置220に送信されハードディスク212に記憶されてもよい。プログラムは実行の際にRAM209にロードされる。光ディスク210から、磁気ディスク211から、またはネットワークを介して、直接にRAM209にプログラムをロードしてもよい。
このプログラムは、情報処理装置220にこの実施の形態のデータ表示装置として動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかは情報処理装置220上で動作するオペレーティングシステム(OS)もしくはサードパーティのプログラム、または情報処理装置220にインストールされる各種ツールキットのモジュールにより提供される。従って、このプログラムはこの実施の形態のシステムおよび方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」を呼出すことにより、上記したデータ表示装置としての動作を実行する命令のみを含んでいればよい。情報処理装置220の実体であるコンピュータの一般的動作は周知であるので、ここでは繰返して説明しない。
以下の実施の形態においては、情報処理システム200が、テレビ放送の番組一覧をテキストにより表示することを想定する。現在ではケーブルテレビ放送及び衛星テレビ放送を含めて多数のチャンネルで種々の番組が放送されている。番組一覧画面は一覧性が要求されるため、できるだけ多くのチャンネルのできるだけ幅広い時間帯の番組の情報をモニタ203に表示することが求められる。モニタ203の画面の面積は限られているため、モニタ203の画面をできるだけ多くの小さな区画に区分し、かつ各区画内において、必要な情報を読みやすく表示することが必要である。本発明に係るデータ表示装置はそのために用いられる。なお、データ表示装置のハードウェアは情報処理装置220のハードウェアと共通であり、情報処理装置220のハードウェアと、以下に説明するデータ表示方法を実現するプログラムとが協調して動作することによって、本発明の実施の形態に係るデータ表示装置が実現される。
なお、本実施の形態においては、文字を、漢字とそれ以外の文字(ひらがな、カタカナ、記号、数字、アルファベットなどであって、これらを以後「漢字以外の文字」と呼ぶことがある。)とに分類する。本実施の形態における文字幅統一処理では、横書き前端揃えの文字ごとに文字幅を仮決定し、さらに漢字のみで構成される文字列ごとに各文字の文字幅を統一する。本実施の形態においては、各行の後端にある空きスペースである残りのドット数(残りドット数)を漢字の文字幅として追加することにより文字幅を変更して表示したり、残りドット数が連続する漢字からなる文字列の文字数に満たない場合には文字幅を変更せず、残りドット数が漢字からなる文字列の文字数を満たした場合にはその文字列に含まれる各文字の文字幅を変更して表示したりする。以下において、このような処理をさらに具体的に説明する。
[ソフトウェア構成]
図2を参照して、本実施の形態に係るデータ表示装置を実現するためのプログラムの制御構造について説明する。このプログラムは、情報処理システム200の情報処理装置220におけるCPU206により実行される。なお、このプログラムは、より上位のプログラム(例えばメール送受信プログラム)がテキストを表示するときに呼び出されて、実行される。
ステップ(以下、ステップをSと略す。)1000にて、CPU206は、モニタ203に表示すべきデータ(テキストデータ)を取得する。S2000にて、CPU206は、S1000において取得された文字列1行分の文字送り幅を取得する。このとき、CPU206は、詳しくは後述する文字コードを用いて、文字の文字幅(漢字以外の文字幅は24ドット、漢字の文字幅は24ドット又は30ドットと想定する。)を取得して加算することにより文字列1行分の文字送り幅を取得する。
S3000にて、CPU206は、S2000において取得した1行分の文字送り幅と、モニタ203の表示領域の幅との差により、1行における残りドット数を取得する。
S4000にて、CPU206は、S3000において取得した残りドット数を用いて、S1000において取得した1行分の文字における、各文字の文字幅を決定する後端揃え処理を実行する。このS4000における後端揃え処理の詳細については後述する。
S5000にて、CPU206は、S4000において決定された文字幅で各文字をRAM109に描画した後、出力装置(モニタ203等)に表示する。後端揃え処理を、テキストデータを構成する全ての行に対して繰返した後、このS5000において、各文字をそれぞれの文字幅にしたがって描画してモニタ203に表示する。この処理の結果、各行に残りドット数が含まれている場合、その行に含まれる漢字に残りドットが文字幅として割り当てられ、漢字が含まれる各行において漢字の文字幅を広げて視認性を向上させつつ各行の後端位置が調整されて揃えられる。
図3を参照して、図2のS4000における後端揃え処理の詳細について説明する。この図3に示すプログラムはサブルーチンプログラムとして機能する。
S4100にて、CPU206は、変数I及び変数Jを初期化(I=0及びJ=0)する。ここで、変数Iは、S1000において取得されたテキストデータのなかで処理対象のテキストの順番を示す変数である。変数Jは、読込んだテキストデータのなかで漢字以外の文字で最後(最新)に読込まれたものの番号を示す変数である。なお、後述するように、本実施の形態に係る処理対象の文字とは漢字である。
S4200にて、CPU206は、変数Iに1を加算する。なお、以下においては、S1000において取得された文字列における文字のうち、I番目の文字コード(以下、簡単のためにこの文字コードを「文字コード(I)」と書き、文字コード(I)により表される文字を「文字(I)」と書く。)を取得する。
S4300にて、CPU206は、文字コード(I)を取得する。S4300にて、CPU206は、S4400にて、CPU206は、S4300において取得された文字コード(I)が所定範囲内のコードであるか否かを判定する。この文字コードの所定範囲は、言語の種類によって異なっていても構わない。文字の表示態様にバラツキが発生すると読みにくいか否かの基準で範囲を指定することが好ましい。なお、日本語の場合には、典型的には上記したようにいわゆる漢字か、漢字以外の文字かが、文字コード表上で明確に区分されているため(すなわち、文字コード表の中で漢字は所定の範囲内のコードで表されているため)、文字コード(I)が所定範囲内のコードであるか否かを判定することにより、文字コード(I)により表される文字(I)が漢字(バラツキが発生すると読みにくい文字)であるか否かを判定できる。なお、本実施の形態における「文字幅変更の対象」は、文字ごとに横(又は縦)方向の長さを1ドット追加するか否かを判定する対象の文字のことであって、より具体的には漢字である。ひらがな、カタカナ、記号、数字及びアルファベットについては、本実施の形態では、文字幅変更の対象ではない。文字コード(I)が所定の範囲内にある(すなわち、文字(I)は漢字)と判定されると(S4400にてYES)、処理はS4500へ移される。もしそうでないと(文字(I)は漢字以外)(S4400にてNO)、この処理はS4910へ移される。
S4500にて、CPU206は、その文字を含め、直前の、文字幅変更の対象となる一連の文字列の文字幅を統一する、文字幅統一処理を実行する。このS4500における文字幅統一処理の詳細については後述する。
S4600にて、CPU206は、一連の文字列の文字幅を決定する。このS4600においては、次のような処理が行なわれる。文字コード(I)が所定範囲外である場合には(すなわち漢字以外の文字の場合には)、その文字の文字幅を変更しない。文字コード(I)が所定範囲内である場合には(すなわち漢字の場合には)、直前の一連の同種の文字列、すなわち、漢字が連続する文字列について、その文字表示幅をS4500の処理により統一して処理された文字幅に決定する。
S4700にて、CPU206は、次の文字が存在するか否かを判定する。次の文字が存在すると判定されると(S4700にてYES)、処理はS4200へ戻される。もしそうでないと(S4700にてNO)、この処理はS4800へ移される。S4800にて、CPU206は、各行の後端にある残りドット数が存在するか否かを判定する。残りドット数が存在すると判定されると(S4800にてYES)、処理はS4900へ移される。もしそうでないと(S4800にてNO)、このサブルーチン処理は終了して、処理は図2のS5000へ戻される。
S4900にて、CPU206は、保持している残りドット数と、S4800の判定において用いた残りドット数とが一致するか否かを判定する。このS4900において、保持している残りドット数とは、処理中の行に対して1回目のプログラムが実行されている場合には、図2のS3000で取得した残りドット数のことであり、2回目以降のプログラムが実行されている場合には、S4800の判定において用いた残りドット数のことである。保持している残りドット数と、残りドット数とが一致すると判定されると(S4900にてYES)、このサブルーチン処理は終了して、処理は図2のS5000へ戻される。もしそうでないと(S4900にてNO)、処理はS4930へ移される。なお、S4900の判定結果がYESの場合とは、処理中の行に対して、再度、後端揃え処理を行なったが、残りドットを割り当てる文字がなかった場合である。この場合(S4900にてYES)において、与えられた文字列によっては、必ずしも後端の残りドット数が0にならない場合があることを確認的に記載しておく。
S4910にて、CPU206は、変数Jに変数Iの値を代入する。すなわち、変数Jには、最後に読込んだ文字幅変更対象外の文字の番号が格納される。さらに、このS4910にて、CPU206は、変数Kに0を代入する。S4920にて、CPU206は、S4500の処理において取得された破棄した文字数(詳しくは後述する。)を残りドット数に追加する。ここで、変数Kとは、文字幅変更の対象となる文字コードの範囲の文字が連続する場合に、残りドット数が連続する文字数に足りず、全ての文字幅を均一に増やすことができなかった場合の状態を判定するために用いられる変数である。その後、この処理はS4600へ移される。
S4930にて、CPU206は、S4800の判定において用いた残りドット数を保持する。その後、この処理はS4100へ移される。すなわち、このS4930の処理の後、処理中の行の先頭の文字に戻される。これらの処理により、残りドット数が存在する場合には、再度、所定の範囲内の文字コードである各文字の文字幅に対して、残りドット数を割り当てる処理が繰返されることになる。
図4を参照して、図3のS4500における文字幅統一処理の詳細について説明する。この図4に示すプログラムはサブルーチンプログラムとして機能する。
S4502にて、CPU206は、文字(I)の文字幅を文字コード(I)を用いて文字幅テーブルから取得する。ここでの文字幅は、初期値としては、フォントデータが保持する文字幅である。
S4504にて、CPU206は、処理中の後端にある残りドット数が存在するか否かを判定する。残りドット数とは、処理中の行に対して図3に示すサブルーチンプログラムの1回目の実行の場合には、図2のS3000において求めた残りドット数のことであり、2回目以降の実行の場合には、図3のS4030で保持した残りドット数のことである。残りのドット数が0以外であって残りドット数が存在すると判定されると(S4504にてYES)、処理はS4514へ移される。もしそうでないと(残りのドット数が0であると)(S4504にてNO)、この処理はS4506へ移される。
S4506にて、CPU206は、全ての文字幅を均一に増やすことができなかった場合の状態を判定するために用いられる変数Kの値が0か否かを判定する。変数Kが0であると(S4506にてYES)、処理はS4508へ移される、もしそうでないと(S4506にてNO)、このサブルーチン処理は終了して、処理は図3のS4600へ戻される。
S4508にて、CPU206は、文字(J+1)〜文字(I)までの文字の仮文字幅を破棄する。仮文字幅から1ドットを減少させた文字幅を文字(J+1)〜文字(I)までの各文字の文字幅と設定する。
S4510にて、CPU206は、仮文字幅を破棄した文字数((I−1)−(J+1)+1)を、破棄した文字数として保持する。
S4512にて、CPU206は、変数Kに1を代入する。これにより、文字幅変更の対象となる文字コードの範囲の文字が連続する場合において残りドット数が不足し、全ての文字幅を均一に増やすことができなかった場合の状態であることが判定できるようになる。その後、このサブルーチン処理は終了して、処理は図3のS4600へ戻される。
S4514にて、CPU206は、文字(I)の文字幅を1ドット追加して文字(I)の文字幅を設定する。S4516にて、CPU206は、S4512において設定した文字(I)の文字幅を、文字(I)の仮文字幅として保持する。その後、このサブルーチン処理は終了して、処理は図3のS4600へ戻される。
[動作]
以上のような構造及びフローチャートに基づく、情報処理システム200により動作される本実施の形態に係るデータ表示装置(携帯電話、TV等)に表示される態様について、図5〜図6を用いて説明する。なお、図5は従来のデータ表示装置による横書きの文字列の表示の一例を示す図であって、図6は本実施の形態に係るデータ表示装置により表示した横書きの文字列の一例を示す図である。この動作の説明においては、フォントデータに規定された文字幅として、漢字以外の文字幅は24ドット、漢字の文字幅は24ドット又は30ドットの2種類が存在すると想定する。
情報処理システム200は以下のように動作する。図1を参照して、上記したプログラムは予め光ディスク210又は磁気ディスク211に格納されており、光ディスクドライブ201又は磁気ディスクドライブ202を介してハードディスク212にインストールされる。プログラム実行時には、利用者がモニタ203及びリモートコントローラ204を用いてデータ表示処理を含むプログラムを起動したことに応答して、上記したデータ表示のためのプログラムがハードディスク212から読出されてRAM209にロードされ、CPU206により実行される。CPU206によるプログラムの実行形式は、プログラムカウンタと呼ばれるレジスタの値をアドレスとして用いてRAM209から命令を読出し、RAM209及びハードディスク212など、CPU206がアドレス指定してアクセスできるデータを読出してその命令により指定される処理を行なう、というものである。命令の実行結果もまた、その命令で指定されるアドレスに出力される。
データ表示処理が呼び出されたものとする。このときには、表示領域を指定する情報(モニタ203の表示領域の幅)と、表示対象のデータの文字コードとがデータ表示プログラムに引数として渡される。このプログラムは、表示対象のデータの文字コードを取得する(S1000)。取得した文字コードを用いて、文字の文字幅(漢字以外の文字幅は24ドット、漢字の文字幅は24ドット又は30ドット)を加算することにより文字列1行分の文字送り幅を取得する(S2000)。取得した1行分の文字送り幅と、モニタ203の表示領域の幅との差により、1行における残りドット数が取得される(S3000)。
この残りドット数が取得されると、変数I及び変数Jに0が代入されて(S4100)、各行の処理が開始される。I文字目である文字(I)について文字コードが取得される(S4200)。
<文字(I)が漢字以外の場合>
ここで、文字コードに基づいて判定された結果、その文字(I)が漢字でないと(S4400にてNO)、変数Jに変数Iが代入されるとともに、変数Kに0が代入され(S4910)、取得された破棄した文字数が残りドット数に追加される(S4920)。そのままの文字幅が決定されて(S4600)、さらに次の文字がある場合には(S4700にてYES),次の文字(I+1)について処理が行なわれる。
<文字(I)が漢字で残りドット数が存在する場合>
一方、文字コードに基づいて判定された結果、その文字(I)が漢字であると(S4400にてYES)、文字幅統一処理が実行される(S4500)。文字(I)の文字幅情報(初期値としてはフォントデータが保持する文字幅であって24ドット又は30ドット)が保持される(S4502)。
残りドット数が存在する場合には(S4504にてYES)、文字(I)の文字幅に1ドットが追加され(S4514)、文字(I)の仮文字幅(1ドット追加された文字幅)が保持される(S4516)。文字幅が決定されて(S4600)、さらに次の文字がある場合には(S4700にてYES),次の文字(I+1)について処理が行なわれる。
<文字(I)が漢字で残りドット数が存在しないでK≠0>
さらに、文字(I)が漢字であって残りドット数が存在しない場合であって(S4504にてNO)、変数Kが0でない場合には(S4506にてNO)、そのままの文字幅が決定されて(S4600)、さらに次の文字がある場合には(S4700にてYES),次の文字(I+1)について処理が行なわれる。
<文字(I)が漢字で残りドット数が存在しないでK=0>
さらに、文字(I)が漢字であって残りドット数が存在しない場合であって(S4504にてNO)、変数Kが0である場合には(S4506にてYES)、文字(J+1)〜文字(I)までの文字の仮文字幅が破棄されて仮文字幅から1ドットを減少させた文字幅を文字(J+1)〜文字(I)までの各文字の文字幅と設定するとともに(S4508)、仮文字幅を破棄した文字数((I−1)−(J+1)+1)が、破棄した文字数として保持される(S4510)。なお、このときに変数Kに1が代入される(S4512)。文字幅が決定されて(S4600)、さらに次の文字がある場合には(S4700にてYES),次の文字(I+1)について処理が行なわれる。
<行端文字まで到達した場合で残りドット数なし>
上述した動作が繰返し行なわれて、次の文字が存在しなくなり(S4700にてNO)、残りドット数が存在しないと(S4800にてNO)、各文字をそれぞれの文字幅にしたがって描画されてモニタ203に複数行から構成される文字列が表示される(S5000)。
<行端文字まで到達した場合で残りドット数ありで一致>
上述した動作が繰返し行なわれて、次の文字が存在しなくなり(S4700にてNO)、残りドット数が存在していても(S4800にてYES)、保持している残りドット数と存在している残りドット数とが一致していると(S4900にてYES)、各文字をそれぞれの文字幅にしたがって描画されてモニタ203に複数行から構成される文字列が表示される(S5000)。
<行端文字まで到達した場合で残りドット数ありで不一致>
上述した動作が繰返し行なわれて、次の文字が存在しなくなり(S4700にてNO)、残りドット数が存在していて(S4800にてYES)、保持している残りドット数と存在している残りドット数とが一致していないと(S4900にてNO)、残りドット数を保持した状態で、変数I及び変数Jに0が代入されて(S4100)、各行の処理が再度開始される。この動作は、処理中の行の先頭の文字に戻されて、残りドット数が存在する場合には、再度、所定の範囲内の文字コードである各文字の文字幅に対して、残りドット数を割り当てる処理が繰返されることになる。
<表示例>
図5は、表示領域(モニタ203の表示領域)の幅480ドットに対し、1行目の後端には、18ドットの空きが存在することを示している。図5により示されるように、各行の後端には、1行目18ドット、2行目12ドット、3行目10ドット、4行目6ドットの空きが存在する。そのため、各行の後端が不揃いとなり、非常に読みにくい。
これに対して、図6に示すように、本実施の形態に係るデータ表示装置により表示された文字列では、各行の後端の空きが全てなくなっている。この結果、各行の後端が揃うことになり、表示される文字列が図6と比較してはるかに読みやすくなる。
以上のようにして、本実施の形態に係る表示システムによると、各行の文字の後端が揃って表示するに際して、文字間または単語間にスペースを挿入するのではなく、漢字の文字幅ができる限り統一的になるように拡張している。これにより、日本語においては漢字以外よりも漢字のほうが文字の表示態様にバラツキが発生すると読みにくいので、すなわち、漢字のほうが概ね画数が多く画数が多く込み入った漢字は読みにくいので、後端を揃えるにあたり文字間ではなく漢字の文字幅を拡張して、漢字の視認性を向上させつつ、文字列の表示態様を好ましいもの(行の後端が揃っているもの)とすることができる。
特に、図6の4段目における12文字目の「池」の文字幅が30ドットから32ドットに変更されて、17文字目の「御」及び18文字目の「佇」の文字幅は30ドットのままであるのは、以下の理由による。12文字目の「池」の文字幅を30ドットから31ドットに変更して、17文字目の「御」の文字幅を30ドットから31ドットに変更しても同じように文字列の後端を揃えることができる。しかしながら、これでは、18文字目の「佇」の文字幅は30ドットのままとなってしまう。すなわち、連続する2文字の漢字「御佇」である「御」と「佇」との両方ともを1ドットずつ増加させることができないためである。このようにすることにより、残りドットが存在しない場合に、連続する同一種(ここでは漢字)の文字列の文字幅を元の文字幅に戻すことになる。この結果、連続する文字の組合せを考慮して文字幅を決定することで、文字のバラツキを少なく、かつ、視認性の高いデータ表示が可能となる。
本実施の形態では、文字幅の統一処理では、各文字の文字幅を1ドット追加している。しかしながら、本発明はこのような実施の形態には限定されない。文字幅の統一処理は、予め設定された規則(ルール)により統一を行なうものであればどのようなものでも構わない。例えば、文字サイズが大きい場合には、2ドットずつ追加してもよい。
また、漢字の文字幅についても上記した実施の形態のように2通りの文字幅(24ドット及び30ドット)だけではなく、3通り以上の文字幅を用いるようにしてもよい。このように、使用する文字幅を何通りかに固定する場合には、文字幅テーブルには文字幅そのものを記憶する必要はなく、文字幅を特定するための情報(例えばフラグなど)を記憶するようにして、そのフラグを用いても3種類以上の文字幅を特定するようにすればよい。さらに、デフォルトの仮文字幅を固定する場合には、デフォルトの文字幅で表示する文字については、文字幅テーブルに文字幅を記憶しておく必要がないことはもちろんである。
また、本実施の形態では、横書きということで、文字の後端の空きドット数を、各文字の横幅に割り当て、文字幅を変更するようにしている。しかしながら、本発明はこのような実施の形態には限定されない。例えば、縦書きの場合は、一行の下端の空きドット数を各文字の縦方向の長さに割り当て、文字高さを変更するようにしてもよい。
また、本実施の形態では、文字を漢字とそれ以外の文字とに分類することで、一行の後端の空きドット数を漢字に割り当てているが、漢字の中でしきい値を設定し、画数の多い文字と少ない文字とに分類して、画数の多い文字に空きドットを割り当てるようにしても構わない。一般的に、画数の多い文字は大きく表示する必要があるのに対し、画数の少ない文字は多少縮小されたままでも読み易さはあまり損なわれないためである。なお、画数は、文字コードごとに、その文字の画数を格納した画数テーブルを利用することができる。また、各漢字について空白以外の部分(ストローク部分)の割合を計算して、その割合にしきい値を設定して分類してもよい。ストローク部分が多いほど複雑な漢字であって、文字幅を変更する必要性が高いと考えられるためである。
また、上述した実施の形態においては、文字幅を仮決定した後に、同じ文字幅を与えられない場合には、仮決定した文字幅を破棄するとしたが本発明はこれに限定されない。例えば、これとは別の方法として、同じ文字幅を与えられるか否かを判定した後に、文字幅を1ドット追加するという方法であっても構わない。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
200 情報処理システム
203 モニタ
206 CPU
208 ROM
209 RAM
212 ハードディスク

Claims (9)

  1. 画面上の予め定められた領域内に、文字コード列により表される文字列を表示するデータ表示装置であって、
    文字コードは、第1の種類及び第2の種類に分類され、
    前記データ表示装置は、
    前記文字列を含む画像を表示するための表示手段と、
    表示対象の文字コード列を所定のソースから受けるための入力手段と、
    前記表示手段における表示幅と表示される文字列の幅とに基づいて空き幅を算出するための算出手段と、
    前記入力手段が受けた前記文字コード列に含まれる前記第1の種類の文字コードのみからなる文字コード列に対応する文字を前記表示手段に表示する際の文字幅を、各文字列の幅が均一になるように、前記空き幅に基づいて決定するための決定手段と、
    前記入力手段が受けた文字コード列を、前記決定手段によって決定された文字幅と、前記第2の種類の文字コードに設定された文字幅とにしたがって前記表示手段上に描画するための描画手段とを含む、データ表示装置。
  2. 前記決定手段は、前記文字列において連続する第1の種類の文字コードに対応する文字幅が互いに異ならないように、前記文字幅を決定するための手段を含む、請求項1に記載のデータ表示装置。
  3. 前記決定手段は、空き幅に基づいて判定した結果、前記第1の種類の文字コードのみからなる文字コード列において、連続する前記第1の種類の文字コードに対応する文字に対して同じ文字幅を与えられない場合には、仮決定された文字幅を修正するための手段を含む、請求項2に記載のデータ表示装置。
  4. 前記決定手段は、仮決定された文字幅の少なくとも一部を破棄して、文字幅を修正するための手段を含む、請求項3に記載のデータ表示装置。
  5. 前記第1の種類の文字コードに対応する文字は、前記第2の種類の文字コードに対応する文字よりも、視認が困難な文字である、請求項1〜請求項4のいずれかに記載のデータ表示装置。
  6. 前記表示手段は、漢字及び漢字以外の文字を含む日本語を表示するための手段を含み、
    前記第1の種類に分類される文字コードは、漢字に対応する文字コードであって、
    前記第2の種類に分類される文字コードは、漢字以外に対応する文字コードであって、
    前記データ表示装置は、前記文字コードによって、前記文字コードに対応する文字が第1の種類の文字及び第2の種類の文字のいずれであるかを判別するための判別手段をさらに含む、請求項1〜請求項5のいずれかに記載のデータ表示装置。
  7. 画面上の定められた領域内に、文字コード列により表される文字列を表示するデータ表示装置におけるデータ表示方法であって、
    文字コードは、第1の種類及び第2の種類に分類され、
    前記データ表示装置は、
    前記文字列を含む画像を表示するための表示手段と、
    表示対象の文字コード列を所定のソースから受けるための入力手段とを含み、
    前記データ表示方法は、
    前記表示手段における表示幅と表示される文字列の幅とに基づいて空き幅を算出する算出ステップと、
    前記入力手段が受けた前記文字コード列に含まれる前記第1の種類の文字コードのみからなる文字コード列に対応する文字を前記表示手段に表示する際の文字幅を、各文字列の幅が均一になるように、前記空き幅に基づいて決定する決定ステップと、
    前記入力手段が受けた文字コード列を、前記決定ステップにおいて決定された文字幅と、前記第2の種類の文字コードに設定された文字幅とにしたがって前記表示手段上に描画する描画ステップとを含む、データ表示方法。
  8. 第1の種類及び第2の種類に分類される文字コードに対応する文字から構成される文字列を表示する表示装置に接続されるコンピュータにより実行されると、当該コンピュータを、
    表示対象の文字コード列を所定のソースから受けるための入力手段と、
    前記表示装置における表示幅と表示される文字列の幅とに基づいて空き幅を算出するための算出手段と、
    前記入力手段が受けた前記文字コード列に含まれる前記第1の種類の文字コードのみからなる文字コード列に対応する文字を前記表示装置に表示する際の文字幅を、各文字列の幅が均一になるように、前記空き幅に基づいて決定するための決定手段と、
    前記入力手段が受けた文字コード列を、前記決定手段によって決定された文字幅と、前記第2の種類の文字コードに設定された文字幅とにしたがって前記表示装置上に描画するための描画手段として機能させる、コンピュータプログラム。
  9. 請求項8に記載のコンピュータプログラムを記録した、コンピュータ読取可能な記録媒体。
JP2009092579A 2009-04-07 2009-04-07 データ表示装置、データ表示方法、そのためのコンピュータプログラム、及びコンピュータプログラムを記録した記録媒体 Pending JP2010244313A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009092579A JP2010244313A (ja) 2009-04-07 2009-04-07 データ表示装置、データ表示方法、そのためのコンピュータプログラム、及びコンピュータプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009092579A JP2010244313A (ja) 2009-04-07 2009-04-07 データ表示装置、データ表示方法、そのためのコンピュータプログラム、及びコンピュータプログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2010244313A true JP2010244313A (ja) 2010-10-28

Family

ID=43097265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009092579A Pending JP2010244313A (ja) 2009-04-07 2009-04-07 データ表示装置、データ表示方法、そのためのコンピュータプログラム、及びコンピュータプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2010244313A (ja)

Similar Documents

Publication Publication Date Title
US20070055931A1 (en) Document data output device capable of appropriately outputting document data containing a text and layout information
US7440037B2 (en) Anti-aliasing characters for improved display on an interlaced television monitor
US6078306A (en) Basic input-output system (BIOS) read-only memory (ROM) with capability for vertical scrolling of bitmapped graphic text by columns
US7940273B2 (en) Determination of unicode points from glyph elements
JP5290433B2 (ja) 表示処理装置、表示処理装置の制御方法、制御プログラム、および、制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US6928611B2 (en) Setting text composition spacing amount
JP4812077B2 (ja) データ表示方法及びデータ表示装置並びにプログラム
US7623130B1 (en) Text rendering with improved command stream operations
JP2024513380A (ja) 字幕の処理方法、装置、機器及び記憶媒体
US6281876B1 (en) Method and apparatus for text image stretching
EP1622040A2 (en) Apparatus and method for processing text data
US8633941B2 (en) Image-processing apparatus, method for controlling thereof, and computer program
JP2010193150A (ja) 字幕変換装置および字幕変換方法
US7168037B2 (en) Text composition spacing amount setting device with icon indicators
TW508563B (en) Font controlling method and apparatus
US7532216B2 (en) Method of scaling a graphic character
JP2010244313A (ja) データ表示装置、データ表示方法、そのためのコンピュータプログラム、及びコンピュータプログラムを記録した記録媒体
CN114339373A (zh) 一种队列弹幕生成方法、装置、存储介质和设备
JP3872295B2 (ja) データ表示方法、記録媒体、及びプロセッサ・ベース・システム
US8106908B2 (en) Image generating apparatus and method, and image display apparatus and method
US7423648B2 (en) On screen displaying device supporting proportional font and method thereof
US7327367B2 (en) Method and apparatus for font processing
JP2010160210A (ja) データ表示装置、データ表示方法、そのためのコンピュータプログラム、及び当該コンピュータプログラムを記録した記録媒体
JP4698139B2 (ja) 画像表示装置及びマルチディスプレイ装置
JP2007108499A (ja) 画像データ生成装置および方法、プログラム並びに記録媒体