(57)【要約】【課題】文字情報を記憶するメモリ上の領域を小さくする。【解決手段】ソースコードで定義されている変数の型名と初期値とからなる文字データが、主記憶部１０ｂに展開される。次に、展開された文字データに基づいて、有効文字リストが生成される。そして、当該有効文字リストに基づいて、最終的にリモートコントロール装置１００に出力される圧縮文字フォントが生成される。これにより、リモートコントロール装置１００に、必要最小限の文字情報のみを記憶させることができ、結果的に、リモートコントロール装置１００の記憶回路に占める文字情報の記憶領域を小さくすることができる。【選択図】図１
2011138201.tif 000002
【特許請求の範囲】
【請求項１】
被操作機器を操作するリモートコントロール装置の画面に、文字を表示するためのプログラムを生成するプログラム生成装置であって、
前記プログラムのソースコードから文字データを重複なく抽出する抽出手段と、
前記文字データからなる有効文字リストを生成する有効文字リスト生成手段と、
を備えるプログラム生成装置。
【請求項２】
前記抽出手段は、前記ソースコードをメモリ上に展開して、前記ソースコードを構成する動的テキストの初期値の前記メモリにおける先頭アドレスと最終アドレスとの間のデータを、前記文字データとして取り出す請求項１に記載のプログラム生成装置。
【請求項３】
前記プログラムは、前記有効文字リストの文字コードで特定されるビットマップデータで規定される文字を表示する請求項１に記載のプログラム生成装置。
【請求項４】
所定の文字がリスト化された文字リストから、前記有効文字リストに対応する前記所定の文字に関する情報を抽出して、圧縮文字リストを生成する圧縮文字リスト生成手段を更に備える請求項１乃至３のいずれか一項に記載のプログラム生成装置。
【請求項５】
前記圧縮文字リストで規定される文字情報の量が、前記リモートコントロール装置の記憶容量を超える場合に、前記文字情報に含まれる前記ビットマップデータを圧縮する請求項４に記載のプログラム生成装置。
【請求項６】
前記有効文字リスト生成手段は、前記リモートコントロール装置から出力される不足文字リストにリストアップされた文字を、前記有効文字リストにリストアップして、前記有効文字リストを更新する請求項１乃至５のいずれか一項に記載のプログラム生成装置。
【請求項７】
被操作機器を操作するリモートコントロール装置の画面に、文字を表示するためのプログラムを生成するプログラム生成方法であって、
前記プログラムのソースコードから文字データを重複なく抽出する第１工程と、
前記文字データからなる有効文字リストを生成する第２工程と、
を含むプログラム生成方法。
【請求項８】
前記第１工程では、前記ソースコードをメモリ上に展開して、前記ソースコードを構成する動的テキストの初期値の前記メモリにおける先頭アドレスと最終アドレスとの間のデータを、前記文字データとして取り出す請求項７に記載のプログラム生成方法。
【請求項９】
所定の文字がリスト化された文字リストから、前記有効文字リストに対応する前記所定の文字に関する情報を抽出して、圧縮文字リストを生成する工程を更に含む請求項７又は８に記載のプログラム生成方法。
【請求項１０】
コンピュータを、
プログラムのソースコードから文字データを重複なく抽出する抽出手段と、
前記文字データからなる有効文字リストを生成する有効文字リスト生成手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム生成装置、プログラム生成方法及びプログラムに関し、更に詳しくは、グラフィカルユーザインタフェースを備える機器が実行するプログラムを生成するためのプログラム生成装置、プログラム生成方法及びプログラムに関する。
【背景技術】
【０００２】
液晶パネルの低価格化、高密度化にともない、グラフィカルユーザインタフェース（GUI: Graphical User Interface）が、様々な機器に用いられるようになってきた。これまで処理能力の高いパソコンなどにのみ使われていたＧＵＩは、設備機器用のリモートコントロール装置などにも浸透しつつある。この種のリモートコントロール装置では、ＧＵＩを用いることにより、装置の高機能化にともなう操作スイッチの増加を抑制することができる。また、ユーザは、ＧＵＩを介して、直感的に指令を入力することができる。
【０００３】
ＧＵＩを有する機器は、表示する文字を規定するためのビットマップやフォント情報などの文字情報を記憶するために、ＧＵＩを持たない機器に比べて、容量が大きいメモリを必要とする。特に、リモートコントロール装置などに代表される小型の機器は、ユーザに有用な情報を表示するために、状況に応じて画面の切り替えを行う。このため、文字情報を記憶するメモリの容量が増大する傾向にある。
【０００４】
そこで、メモリに記憶される文字情報の量を削減する技術が種々提案されている。（例えば特許文献１、及び特許文献２参照）。
【０００５】
特許文献１に記載された技術は、複数のバイトデータから構成されるフォントデータから、同一のバイトデータが連続する部分を削除することで、フォントデータを圧縮することを目的とする。この技術によれば、同一のバイトデータが連続する部分を、サイズの小さい識別情報に置換することができる。これにより、フォントデータが記憶されるメモリ上の領域を小さくすることができる。
【０００６】
特許文献２に記載された技術は、フォントデータを生成するための複数のパーツを予め用意しておく。そして、フォントデータを、表示する文字に応じたパーツの組み合わせを示す情報に変換することで、フォントデータを圧縮することを目的とする。これによれば、文字それぞれについて、完全なフォントデータを用意する必要がなくなる。このため、フォントデータが記憶されるメモリ上の領域を小さくすることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−１７３５３５号公報
【特許文献２】特開平７−６４５３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した技術は、フォントデータだけに注目しているが、当該データが記憶されるメモリ上の領域を小さくするためには、フォントデータを処理するためのプログラムも総合的に勘案する必要がある。
【０００９】
本発明は、上述に事情の下になされたもので、プログラムに有用な文字情報以外の情報を除外することで、文字情報を記憶するメモリ上の領域を小さくすることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明のプログラム生成装置は、被操作機器を操作するリモートコントロール装置の画面に、文字を表示するためのプログラムを生成するプログラム生成装置であって、前記プログラムのソースコードから文字データを重複なく抽出する抽出手段と、前記文字データからなる有効文字リストを生成する有効文字リスト生成手段と、を備える。
【発明の効果】
【００１１】
プログラムに有用な文字情報以外の情報を除外することができ、文字情報を記憶するメモリ上の領域を小さくすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るプログラム生成装置のブロック図である。
【図２】リモートコントロール装置を構成する液晶ディスプレイ、及び回路基板を示す図である。
【図３】液晶ディスプレイの画面に表示される画像の一例を示す図である。
【図４】圧縮フォント情報の構成を模式的に示す図である。
【図５】ビットマップの一例を示す図である。
【図６】表示プログラムの構造を模式的に示す図である。
【図７】制御回路が実行する処理を示すフローチャートである。
【図８】圧縮フォント情報を生成するまでの過程を模式的に示す図である。
【図９】フォント情報の構成を模式的に示す図である。
【図１０】ＣＰＵによって実行される処理を示すフローチャート（その１）である。
【図１１】ＣＰＵによって実行される処理を示すフローチャート（その２）である。
【図１２】有効文字リストを模式的に示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態を、図面を参照しつつ説明する。図１は本実施形態に係るプログラム生成装置１０を、リモートコントロール装置１００とともに示すブロック図である。
【００１４】
リモートコントロール装置１００は、例えばメタルケーブルなどの通信線を介して、空気調和装置に、ユーザからの指令を送信するための装置である。このリモートコントロール装置１００は、操作対象となる機器の運転状況や、周囲温度などに関する情報を表示する液晶ディスプレイ１０１と、液晶ディスプレイ１０１に重ねて配置されたタッチパネル１０１ａからなるインタフェース（図２参照）を備えている。
【００１５】
図２には、リモートコントロール装置１００を構成する液晶ディスプレイ１０１、この液晶ディスプレイ１０１を覆うように取り付けられたタッチパネル１０１ａ、及びリモートコントロール装置１００の内部に収容される回路基板１０２が示されている。
【００１６】
液晶ディスプレイ１０１は、ＴＦＴ（Thin Film Transistor）を用いた液晶ディスプレイであり、文字、アイコン、図形、操作ボタンなどを表示する。一例として、図３には、液晶ディスプレイ１０１の画面に表示される画像１１０が示されている。図３に示されるように、液晶ディスプレイ１０１には、機器が設置された場所の名称、時刻、設定温度、モード、風速などを示すテキスト１１０ａと、機器のモードや風速の設定を示すアイコン１１０ｂと、モード、設定温度、風速を変更するためのボタン１１０ｃと、画面の視認性を向上するためのラインなどの図形画像１１０ｄなどが表示される。
【００１７】
図２に戻り、タッチパネル１０１ａは、ユーザによってボタン１１０ｃがタッチされると、タッチされた位置を検出し、検出結果を出力する。
【００１８】
回路基板１０２は、長方形板状の基板であり表面には、制御回路１０２ａ、記憶回路１０２ｂ、及び入出力回路１０２ｃが形成され、更にコネクタ１０２ｄ、通信端子１０２ｅが実装されている。また、上記回路１０２ａ〜１０２ｃ、コネクタ１０２ｄ、通信端子１０２ｅ、及び液晶ディスプレイ１０１は、システムバス１０３によって、相互に接続されている。
【００１９】
制御回路１０２ａは、ＣＰＵと、このＣＰＵの作業領域となるＲＡＭなどの揮発性メモリを有している。そして、記憶回路１０２ｂに記憶されたプログラムを読み込んで実行する。
【００２０】
記憶回路１０２ｂは、ＥＰＲＯＭなどの半導体メモリを有している。そして、液晶ディスプレイ１０１に文字などを表示する表示プログラム４０、及び液晶ディスプレイ１０１に表示される文字を規定するための文字情報などを記憶している。
【００２１】
文字情報は、文字のサイズなどを規定するテキスト情報と、圧縮フォント情報６０とに分類される。
【００２２】
テキスト情報は、液晶ディスプレイ１０１での位置を特定するための情報、文字の色を特定するための情報、文字の太さや文字が斜体であるか否か等のスタイルを特定するための情報からなる。
【００２３】
図４は、圧縮フォント情報６０の構成を模式的に示す図である。圧縮フォント情報６０は、リモートコントロール装置１００で用いられる文字に関する情報のみをパッケージングした情報である。具体的には、後述するフォント情報５０から、リモートコントロール装置１００で使用される文字に関する情報のみを抽出してグループ化した情報である。図４に示されるように、圧縮フォント情報６０は、文字フォント情報５１と、複数の文字フォント５２とから構成される。
【００２４】
文字フォント５２は、１文字分のビットマップ５２ａと、ビットマップ５２ａに関連づけられた文字コード５２ｂから構成される。ビットマップ５２ａは、例えば図５に示されるように、文字を、高輝度の画素Ｄと、低輝度の画素Ｄからなる二値画像で表現するための情報である。このビットマップ５２ａには、文字コード５２ｂが割り当てられている。後述するプログラムによって文字が表示される際は、このビットマップ５２ａは、文字コード５２ｂによって特定される。
【００２５】
文字フォント情報５１は、パッケージングされた文字フォント５２からなる文字フォント群を特定するための情報である。例えば、文字フォント情報５１は、文字フォント群を特定するためのフォントＩＤ５３と、ビットマップ５２ａのサイズを規定する情報と、パッケージングされた文字フォント群を構成する文字フォント５２が、明朝体であるか、或いはゴシック体であるかなどを判断するための情報とを含んでいる。
【００２６】
図６は、記憶回路１０２ｂに記憶された表示プログラム４０の構造を模式的に示す図である。表示プログラム４０は、図６に示されるように、通信プログラム４１、制御プログラム４２、画像表示プログラム４３、及び文字画像化プログラム４４から構成されている。
【００２７】
通信プログラム４１は、リモートコントロール装置１００の操作対象としての空調装置と通信を行うためのプログラムである。また、制御プログラム４２は、空調装置を制御するための処理を行うプログラムである。また、画像表示プログラム４３は、液晶ディスプレイ１０１に画像を表示するためのプログラムである。また、文字画像化プログラム４４は、液晶ディスプレイ１０１に文字を表示するためのプログラムである。
【００２８】
次に、上述のように構成されたリモートコントロール装置１００の動作について説明する。図７は、制御回路１０２ａが実行する処理を示すフローチャートである。リモートコントロール装置１００では、電源が供給されると、制御回路１０２ａが、記憶回路１０２ｂに記憶された表示プログラム４０を読み込む。そして、リモートコントロール装置１００に対して、液晶ディスプレイ１０１に表示された文字の変更をともなう操作がなされると、制御回路１０２ａは、表示プログラム４０に従った処理を実行する。
【００２９】
まず、制御回路１０２ａは、変更対象となる文字についてのテキスト情報を取得する（ステップＳ２０１）。そして、変更対象となる文字について、液晶ディスプレイ１０１における位置、文字の色、及び文字のスタイルを特定する。文字の変更をともなう操作は、例えば、リモートコントロール装置１００における設定温度が２５℃から２６℃へ変更される操作などである。この場合、制御回路１０２ａは、設定温度を表示する文字「５」についての、テキスト情報を読み出す。そして、液晶ディスプレイ１０１における文字「５」の位置、文字の色、及び文字のスタイルを特定する。
【００３０】
次に、制御回路１０２ａは、記憶回路１０２ｂから、新たに液晶ディスプレイ１０１に表示する文字についての文字コード５２ｂを読み出す。例えば、制御回路１０２ａは、文字「５」に代わり新たに表示する文字「６」についての、文字コード５２ｂを読み出す（ステップＳ２０２）。
【００３１】
制御回路１０２ａは、文字コード５２ｂを読み出すことに成功したら（ステップＳ２０３：Ｙｅｓ）、文字コード５２ｂが関連づけられたビットマップ５２ａを取得する。そして、ビットマップ５２ａを、テキスト情報に応じたサイズ、色、スタイルに変更して、液晶ディスプレイ１０１に表示する。
【００３２】
一方、制御回路１０２ａは、記憶回路１０２ｂに文字コード５２ｂが記憶されておらず、文字コード５２ｂを読み出すことができなかった場合は、当該文字を不足文字リストに加える。そして、当該不足文字リストを、プログラム生成装置１０へ出力する。
【００３３】
図１に戻り、プログラム生成装置１０は、リモートコントロール装置１００によって実行されるプログラムを生成する装置である。このプログラム生成装置１０は、図１に示されるように、ＣＰＵ（Central Processing Unit）１０ａ、主記憶部１０ｂ、補助記憶部１０ｃ、表示部１０ｄ、入力部１０ｅ、インタフェース部１０ｆ、及び上記各部を相互に接続するシステムバス１０ｇを有している。
【００３４】
ＣＰＵ１０ａは、補助記憶部１０ｃに記憶されているプログラムに従って、後述する所定の処理を実行する。
【００３５】
主記憶部１０ｂは、ＲＡＭ（Random Access Memory）等を含んで構成され、ＣＰＵ１０ａの作業領域として用いられる。
【００３６】
補助記憶部１０ｃは、ＥＰＲＯＭ（Erasable Programmable ROM）、磁気ディスク、半導体メモリ等の不揮発性メモリを含んで構成されている。この補助記憶部１０ｃは、リモートコントロール装置１００によって実行されるプログラムを生成するためのプログラムを記憶している。
【００３７】
図８は、上述の圧縮フォント情報６０を生成するまでの過程を模式的に示す図である。補助記憶部１０ｃは、図８を参照するとわかるように、更にソースコード８１、予約文字リスト８２、不足文字リスト８３、文字情報８５を記憶している。
【００３８】
予約文字リスト８２は、予め定義された文字のリストである。予約文字リスト８２は、ひらがなリスト、かたかなリスト、常用漢字リスト、第一水準漢字リストから構成されている。
【００３９】
ひらがなリストは、すべてのひらがな文字を含むリストである。また、かたかなリストは、すべてのかたかな文字を含むリストである。また、常用漢字リストは、すべての常用漢字を含むリストである。また、第一水準漢字リストは、ＪＩＳにおける第一水準のすべての文字を含むリストである。
【００４０】
不足文字リスト８３は、リモートコントロール装置１００で、用いられる文字のうち、未だリモートコントロール装置１００の記憶回路１０２ｂに記憶されていない文字のリストである。この不足文字リスト８３は、上述したようにリモートコントロール装置１００によって更新される。
【００４１】
ソースコード８１は、特定のプログラミング言語で記述された表示プログラム４０のテキスト情報である。本実施形態では、予約文字リスト８２から適宜選択された文字コード５２ｂと、不足文字リスト８３を構成するすべての文字コード５２ｂとを含むように、ソースコード８１が生成されている。
【００４２】
文字情報８５は、文字のサイズなどを規定するテキスト情報と、複数の種類のフォント情報５０とに分類される。
【００４３】
テキスト情報は、画面上での位置を特定するための情報、文字の色を特定するための情報、及び文字の太さや文字が斜体であるか否か等のスタイルを特定するための情報からなる。
【００４４】
図９は、フォント情報５０の構成を模式的に示す図である。フォント情報５０は、複数の文字の情報をパッケージングした情報である。このフォント情報５０は、文字フォント情報５１と、複数の文字フォント５２とから構成される点で、圧縮フォント情報６０と共通している。そして、フォント情報５０は、ひらがなリスト、かたかなリスト、常用漢字リスト、第一水準漢字リストに含まれるすべての文字に関する情報をパッケージングした情報である点が、圧縮フォント情報６０とは異なっている。
【００４５】
図１に戻り、表示部１０ｄは、ＣＲＴ（Cathode Ray Tube）またはＬＣＤ（Liquid Crystal Display）などを含んで構成されている。この表示部１０ｄは、ＣＰＵ１０ａによる処理の結果などを表示する。
【００４６】
入力部１０ｅは、キーボードやマウス等のポインティングデバイスを含んで構成されている。オペレータの指示は、この入力部１０ｅを介して入力され、システムバス１０ｇを経由してＣＰＵ１０ａに通知される。
【００４７】
インタフェース部１０ｆは、ＵＳＢインタフェースや、ＬＡＮ（Local Area Network）インタフェース等を含んで構成されている。
【００４８】
上述したリモートコントロール装置１００は、ネットワーク２０及びインタフェース部１０ｆを介して、システムバス１０ｇに接続されている。
【００４９】
次に、上述したプログラム生成装置１０の動作について説明する。図１０及び図１１は、ＣＰＵ１０ａによって実行される処理を示すフローチャートである。ＣＰＵ１０ａは、プログラム生成装置１０が起動されると、図１０及び図１１に示される一連の処理を実行する。
【００５０】
まず、最初のステップＳ３０１では、ＣＰＵ１０ａは、文字画像化プログラム４４のソースコードを読み込む。そして、ソースコードで定義されている変数の型名と初期値を、主記憶部１０ｂに展開する。以下、ソースコードで定義されている変数の型名と初期値が展開された領域を領域Ａとする。
【００５１】
次のステップＳ３０２では、ＣＰＵ１０ａは、動的テキストの型名それぞれについて、初期値が記憶された場所の先頭アドレスと最終アドレスを記憶する。なお、動的テキストとは、例えば設定温度などのように、適宜内容が変更されるテキストをいう。また、初期値は、例えば温度を示す２０などの文字についてのデータである。以下、このデータを文字データという。
【００５２】
次のステップＳ３０３では、ＣＰＵ１０ａは、動的テキストの型名の初期値が配置された場所の先頭アドレスと最終アドレスとの間の領域に記憶された文字データに含まれる文字コードを抽出する。そして、文字コードをＪＩＳコードに変換した後、ＪＩＳコードを含む文字データを、主記憶部１０ｂの領域Ａとは異なる領域Ｂにコピーする。領域Ｂへの文字データのコピーは、文字データの先頭アドレスに従って文字データが配列されるように行う。これにより、文字データは、先頭アドレスが小さい順に配置される。
【００５３】
次のステップＳ３０４では、ＣＰＵ１０ａは、有効文字リスト８４の初期データを作成する。図１２は、有効文字リスト８４を模式的に示す図である。ここでは、ＣＰＵ１０ａは、文字フォント情報５１に含まれるフォントＩＤ５３を、有効文字リスト８４に付加する。
【００５４】
次のステップＳ３０５では、ＣＰＵ１０ａは、領域Ｂに記憶された文字データをアドレスにしたがって選択し、当該文字データに含まれる文字コード５２ｂを、有効文字リスト８４の中から検索する。
【００５５】
次のステップＳ３０６では、ＣＰＵ１０ａは、文字コード５２ｂが有効文字リスト８４にリストアップされているか否かを判断する。ＣＰＵ１０ａは、文字コード５２ｂが有効文字リスト８４にリストアップされておらず、文字コード５２ｂの検索ができなかった場合は（ステップＳ３０６：Ｎｏ）、次のステップＳ３０７へ移行する。一方、ＣＰＵ１０ａは、文字コード５２ｂが有効文字リスト８４にリストアップされており、文字コード５２ｂの検索ができた場合は（ステップＳ３０６：Ｙｅｓ）、ステップＳ３０９へ移行する。
【００５６】
ステップＳ３０７では、ＣＰＵ１０ａは、検索した文字コード５２ｂを、有効文字リスト８４にリストアップして、有効文字リストに追加する。
【００５７】
次のステップＳ３０８では、ＣＰＵ１０ａは、有効文字リスト８４のソートを実行する。これにより、文字コード５２ｂは昇順に整列する。
【００５８】
次のステップＳ３０９では、文字コード５２ｂの検索が終了したか否かを判断する。ＣＰＵ１０ａは、領域Ｂにコピーされたすべての文字データに含まれる文字コード５２ｂの検索が終了していない場合には（ステップＳ３０９：Ｎｏ）、ステップＳ３０５に戻り、以降、ステップＳ３０５〜ステップＳ３０９までの処理を繰り返し実行する。
【００５９】
一方、ＣＰＵ１０ａは、領域Ｂにコピーされたすべての文字データに含まれる文字コード５２ｂの検索が終了した場合には（ステップＳ３０９：Ｙｅｓ）、次のステップＳ３１０へ移行する。
【００６０】
次のステップＳ３１０では、ＣＰＵ１０ａは、有効文字リスト８４から、１つの文字コード５２ｂと、フォントＩＤ５３を読み込む。そして、フォントＩＤ５３を含む文字フォント情報５１を有するフォント情報５０を読み込む。
【００６１】
次のステップＳ３１１では、ＣＰＵ１０ａは、読み込んだ文字コード５２ｂによって特定されるビットマップ５２ａを圧縮する。この圧縮は、例えば「ａａａａａａ」というデータ列を「６ａ」というデータ列に変換する、ランレングス方式の圧縮方法を用いることができる。
【００６２】
次のステップＳ３１２では、ＣＰＵ１０ａは、圧縮したビットマップ５２ａと、文字コード５２ｂとからなる文字フォント５２のインスタンスを定義するソースコードを生成する。
【００６３】
次のステップＳ３１３では、ＣＰＵ１０ａは、有効文字リスト８４から、すべての文字コード５２ｂを読み込んだか否かを判断する。すべての文字コード５２ｂの読み込みが終わっていない場合は（ステップＳ３１３：Ｎｏ）、ＣＰＵ１０ａは、ステップＳ３１０へ戻り、以降、ステップＳ３１０〜Ｓ３１３の処理を繰り返し実行する。
【００６４】
ＣＰＵ１０ａは、すべての文字コード５２ｂの読み込みが終わった場合は（ステップＳ３１３：Ｙｅｓ）、次のステップＳ３１４へ移行する。
【００６５】
次のステップＳ３１４では、ＣＰＵ１０ａは、生成したソースコードの全容量が、リモートコントロール装置１００に許容される量（許容量）を超えているかどうか判断する。
【００６６】
ＣＰＵ１０ａは、ソースコードの全容量が、リモートコントロール装置１００の許容量を超えていない場合は（ステップＳ３１４：Ｎｏ）、次のステップＳ３１９へ移行し、ソースコードをリモートコントロール装置１００へ出力する。これによりリモートコントロール装置１００の記憶回路１０２ｂにソースコードが書き込まれる。
【００６７】
一方、ソースコードの全容量が、リモートコントロール装置１００の許容量を超えている場合は、次のステップＳ３１５へ移行する。
【００６８】
次のステップＳ３１５では、ＣＰＵ１０ａは、ソースコードから予約文字に関するコードを削除する。
【００６９】
次のステップＳ３１６では、ＣＰＵ１０ａは、予約文字に関するコードが削除されたソースコードの全容量が、リモートコントロール装置１００に許容される量（許容量）を超えているかどうか判断する。
【００７０】
ＣＰＵ１０ａは、ソースコードの全容量が、リモートコントロール装置１００の許容量を超えていない場合は（ステップＳ３１６：Ｎｏ）、次のステップＳ３１９へ移行し、ソースコードをリモートコントロール装置１００へ出力する。
【００７１】
一方、ソースコードの全容量が、リモートコントロール装置１００の許容量を超えている場合は（ステップＳ３１６：Ｙｅｓ）、次のステップＳ３１７へ移行する。
【００７２】
次のステップＳ３１７では、ＣＰＵ１０ａは、ソースコードから不足文字に関するコードを削除する。
【００７３】
次のステップＳ３１８では、ＣＰＵ１０ａは、不足文字に関するコードが削除されたソースコードの全容量が、リモートコントロール装置１００に許容される量（許容量）を超えているかどうか判断する。
【００７４】
ＣＰＵ１０ａは、ソースコードの全容量が、リモートコントロール装置１００の許容量を超えていない場合は（ステップＳ３１８：Ｎｏ）、次のステップＳ３１９へ移行し、ソースコードをリモートコントロール装置１００へ出力する。
【００７５】
一方、ソースコードの全容量が、リモートコントロール装置１００の許容量を超えている場合は（ステップＳ３１８：Ｙｅｓ）、処理を終了する。
【００７６】
以上説明したように、本実施形態では、ソースコードで定義されている変数の型名と初期値とからなる文字データが、主記憶部１０ｂの領域Ａに展開される。次に、展開された文字データに基づいて、有効文字リスト８４が生成される。そして、当該有効文字リスト８４に基づいて、最終的にリモートコントロール装置１００に出力される圧縮フォント情報６０が生成される。
【００７７】
これにより、リモートコントロール装置１００に、必要最小限の文字情報のみを記憶させることができ、結果的に、リモートコントロール装置１００の記憶回路１０２ｂに占める文字情報の記憶領域を小さくすることができる。
【００７８】
また、本実施形態では、プログラムのソースコードが読み込まれ、ソースコードで定義されている変数の初期値がメモリ上の所定の領域に配置される。これにより、ソースコードに含まれるコメントの文字などが、有効文字リストに混入することを回避することができる。
【００７９】
また、本実施形態では、動的なテキストについての初期値のみが抽出される。これにより、動的に画面に表示するテキスト以外の変数の初期値を示す文字を、有効文字リストから除外することができる。これにより、リモートコントロール装置１００の記憶回路１０２ｂに占める動的な文字情報の記憶領域を小さくすることができる。
【００８０】
また、本実施形態では、予約文字リスト８２から適宜選択された文字コード５２ｂと、不足文字リスト８３を構成するすべての文字コード５２ｂとを含むように、ソースコード８１が生成される。これにより、頻繁に使われる文字を予め追加することができ、また、プログラム実行時に発生する「文字フォントがなくて表示が欠落する」といった事態が起こる確率を低減することができる。
【００８１】
また、本実施形態では、プログラム生成装置１０によって生成されたプログラムのソースコードの全容量が、リモートコントロール装置１００の許容量を超える場合に、適宜、予約文字に関するコード、及び不足文字に関するコードが削除される。これにより、リモートコントロール装置１００の許容量を満たすソースコードを自動的に生成することができる。
【００８２】
また、上記実施形態に係るプログラム生成装置１０の機能は、専用のハードウエアによっても、また、通常のコンピュータシステムによっても実現することができる。例えば、本実施形態では、ＣＰＵ１０ａが、有効文字リスト８４を生成する有効文字リスト生成手段等として機能したが、これに限らず、有効文字リスト生成手段等をハードウエアで実現してもよい。
【００８３】
以上、本発明の実施形態について説明したが、本発明は上記各実施形態によって限定されるものではない。
【００８４】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【００８５】
本発明のプログラム生成装置、プログラム生成方法及びプログラムは、グラフィカルユーザインタフェースを備えたリモートコントロール装置のプログラムを生成するのに適している。
【符号の説明】
【００８６】
１０  プログラム生成装置
１０ａ  ＣＰＵ（Central Processing Unit）
１０ａ  ＣＰＵ
１０ｂ  主記憶部
１０ｃ  補助記憶部
１０ｄ  表示部
１０ｅ  入力部
１０ｆ  インタフェース部
１０ｇ  システムバス
２０  ネットワーク
３３  不足文字リスト
４０  表示プログラム
４１  通信プログラム
４２  制御プログラム
４３  画像表示プログラム
４４  文字画像化プログラム
５０  フォント情報
５１  文字フォント情報
５２  文字フォント
５２ａ  ビットマップ
５２ｂ  文字コード
５３  フォントＩＤ
６０  圧縮フォント情報
８１  ソースコード
８２  予約文字リスト
８３  不足文字リスト
８４  有効文字リスト
８５  文字情報
１００  リモートコントロール装置
１０１  液晶ディスプレイ
１０１ａ  タッチパネル
１０２  回路基板
１０２ａ  制御回路
１０２ｂ  記憶回路
１０２ｃ  入出力回路
１０２ｄ  コネクタ
１０２ｅ  通信端子
１０２ａ〜１０２ｃ  回路
１０３  システムバス
１１０  画像
１１０ａ  テキスト
１１０ｂ  アイコン
１１０ｃ  ボタン
１１０ｄ  図形画像
【図１】
2011138201.tif 000003
【図２】
2011138201.tif 000004
【図３】
2011138201.tif 000005
【図４】
2011138201.tif 000006
【図５】
2011138201.tif 000007
【図６】
2011138201.tif 000008
【図７】
2011138201.tif 000009
【図８】
2011138201.tif 000010
【図９】
2011138201.tif 000011
【図１０】
2011138201.tif 000012
【図１１】
2011138201.tif 000013
【図１２】
2011138201.tif 000014