(57)【要約】【課題】プロポーショナルフォントによる文字列が表示領域に収まるか否かを確認することが可能なプログラム、ＧＵＩ開発装置、ＧＵＩ開発方法を提供すること。【解決手段】ディスプレイを備える機器のＧＵＩ開発を行うコンピュータに、機器のディスプレイにおける表示領域のサイズと表示領域に表示する文字列とを格納する表計算ソフトのワークシートから、表示領域のサイズと文字列とを読み取る読取ステップと、読取ステップにおいて読み取られた文字列をラスタライズしてメモリ空間に書き込む書込ステップと、書込ステップにおける書き込みの結果に基づいて、文字列が表示領域のサイズを超えたか否かを検出する検出ステップと、検出ステップにおいて文字列が表示領域のサイズを超えたことが検出された場合に、文字列が表示領域のサイズを超えたことが分かるようにワークシートを編集する編集ステップと、を含む第１ルーチンを実行させる。【選択図】図２
2011227725.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイを備える機器のグラフィカルユーザインタフェースの開発をコンピュータ上で行うためのアプリケーションプログラムであって、前記コンピュータに、
前記機器の前記ディスプレイにおける表示領域のサイズと前記表示領域に表示する文字列とを格納する表計算ソフトのワークシートから、前記表示領域のサイズと前記文字列とを読み取る読取ステップと、
前記読取ステップにおいて読み取られた前記文字列をラスタライズしてメモリ空間に書き込む書込ステップと、
前記書込ステップにおける書き込みの結果に基づいて、前記文字列が前記表示領域のサイズを超えたか否かを検出する検出ステップと、
前記検出ステップにおいて前記文字列が前記表示領域のサイズを超えたことが検出された場合に、前記文字列が前記表示領域のサイズを超えたことが分かるように前記ワークシートを編集する編集ステップと、
を含む第１ルーチンを実行させることを特徴とするプログラム。
【請求項２】
前記書込ステップは、
前記機器が前記ディスプレイに前記文字列を表示する場合に前記文字列のラスタライズを行うためのソフトウェアのソースコードを、前記コンピュータを機能させるプログラムに変換することで作成されたプログラムによって実現される
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記コンピュータに、
前記機器の前記ディスプレイのためにデザインされた画面のデータから、前記表示領域を識別する識別情報と、前記表示領域のサイズと、前記文字列が含まれる場合には前記文字列と、を抽出する抽出ステップと、
前記抽出ステップにおいて抽出された前記識別情報と、前記表示領域のサイズと、前記文字列と、を前記ワークシートに記入する記入ステップと、
を含む第２ルーチンをさらに実行させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記コンピュータに、
ユーザの操作に基づいて選択的に前記第１ルーチンと前記第２ルーチンと
を実行させることを特徴とする請求項３に記載のプログラム。
【請求項５】
前記ワークシートは、
複数の前記表示領域について、前記識別情報毎に前記表示領域のサイズと前記文字列とを格納する行を有し、
前記読取ステップは、
前記ワークシートから、前記行毎に前記表示領域のサイズと前記文字列とを読み取る
ことを特徴とする請求項３又は４に記載のプログラム。
【請求項６】
前記ワークシートは、
複数の言語について、言語毎に前記文字列を格納する列を有し、
前記記入ステップは、
前記画面のデータに前記文字列が含まれる場合に前記抽出ステップにおいて抽出された前記文字列を、前記ワークシートの基準となる言語の列に記入する
ことを特徴とする請求項３乃至５に記載のプログラム。
【請求項７】
前記編集ステップは、
前記表示領域のサイズを超えなかった文字列を格納するセルの表示態様を第１態様とし、前記表示領域のサイズを超えた文字列を格納するセルの表示態様を前記第１態様と異なる第２態様にする
ことを特徴とする請求項１乃至６に記載のプログラム。
【請求項８】
ディスプレイを備える機器のグラフィカルユーザインタフェースの開発を行うＧＵＩ開発装置であって、
前記機器の前記ディスプレイにおける表示領域のサイズと前記表示領域に表示する文字列とを格納する表計算ソフトのワークシートから、前記表示領域のサイズと前記文字列とを読み取る読取手段と、
前記読取手段によって読み取られた前記文字列をラスタライズしてメモリ空間に書き込む書込手段と、
前記書込手段による書き込みの結果に基づいて、前記文字列が前記表示領域のサイズを超えたか否かを検出する検出手段と、
前記検出手段によって前記文字列が前記表示領域のサイズを超えたことが検出された場合に、前記文字列が前記表示領域のサイズを超えたことが分かるように前記ワークシートを編集する編集手段と、
を備えることを特徴とするＧＵＩ開発装置。
【請求項９】
ソースコードを実行可能なプログラムに変換する変換手段を備え、
前記書込手段は、
前記機器が前記ディスプレイに前記文字列を表示する場合に前記文字列のラスタライズを行うためのソフトウェアのソースコードを、前記変換手段が処理することで作成されたプログラムによって実現される
ことを特徴とする請求項８に記載のＧＵＩ開発装置。
【請求項１０】
ディスプレイを備える機器のグラフィカルユーザインタフェースの開発をコンピュータ上で行うＧＵＩ開発方法であって、
前記コンピュータが、前記機器の前記ディスプレイにおける表示領域のサイズと前記表示領域に表示する文字列とを格納する表計算ソフトのワークシートから、前記表示領域のサイズと前記文字列とを読み取る読取ステップと、
前記コンピュータが、前記読取ステップにおいて読み取られた前記文字列をラスタライズしてメモリ空間に書き込む書込ステップと、
前記コンピュータが、前記書込ステップにおける書き込みの結果に基づいて、前記文字列が前記表示領域のサイズを超えたか否かを検出する検出ステップと、
前記コンピュータが、前記検出ステップにおいて前記文字列が前記表示領域のサイズを超えたことが検出された場合に、前記文字列が前記表示領域のサイズを超えたことが分かるように前記ワークシートを編集する編集ステップと、
を備えることを特徴とするＧＵＩ開発方法。
【請求項１１】
前記書込ステップは、
前記機器が前記ディスプレイに前記文字列を表示する場合に前記文字列のラスタライズを行うためのソフトウェアのソースコードを、前記コンピュータを機能させるプログラムに変換することで作成されたプログラムによって実現される
ことを特徴とする請求項１０に記載のＧＵＩ開発方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイを備える機器のグラフィカルユーザインタフェースの開発をコンピュータ上で行うためのアプリケーションプログラム、ＧＵＩ開発装置、ＧＵＩ開発方法に関する。
【背景技術】
【０００２】
様々な機器にディスプレイが搭載され、グラフィカルユーザインタフェース（ＧＵＩ）による操作が一般的になっている。ＧＵＩが主流となり、機器に搭載されるディスプレイが大型化、高解像度化するにつれ、任意のサイズの文字をディスプレイに表示することが可能になった。任意のサイズの文字を表示するためには、文字の形状をベクトル情報として持つスケーラブルフォントを採用したほうが、文字の形状をドットの組み合わせで表現するビットマップフォントに比べて必要とするデータサイズが小さくなるため、機器のメモリを節約できるというメリットがある。また、ビットマップフォントがフォントピッチが固定である等幅フォントであるのに対し、スケーラブルフォントは状況によって変化するプロポーショナルフォントであるという特徴を持つ。
【０００３】
等幅フォントは文字の幅が等しいため、表示領域の幅と文字の幅とから、表示領域に収まる最大文字数が決まる。したがって、等幅フォントの場合、文字数が最大文字数以内となるように文字列を検討することができる。これに対して、プロポーショナルフォントは文字によって幅が異なり、また、その文字の隣に表示される文字に対応して文字の幅が変化するなど、文字数から文字列を検討することができない。
【０００４】
これに関連して、例えば、特許文献１には、プロポーショナルフォントを用いた文字列を表示する際、文字列の幅が画面の幅を超えるようであれば改行するという技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１００７７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＧＵＩの開発は、例えば、画面をデザインするデザイナ、デザイナがデザインした画面と文字列とを統合するコーディネータ、文字列を各国語に翻訳する翻訳者、等によって分担して行われることがある。このようなＧＵＩの開発において、翻訳者は、等幅フォントの場合には文字数が最大文字数以内となるように文字列を検討することができるが、プロポーショナルフォントの場合にはそれができない。
【０００７】
本発明は、ＧＵＩの開発段階で、プロポーショナルフォントによる文字列が表示領域に収まるか否かを確認することが可能なプログラム、ＧＵＩ開発装置、ＧＵＩ開発方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のプログラムは、ディスプレイを備える機器のグラフィカルユーザインタフェースの開発をコンピュータ上で行うためのアプリケーションプログラムであって、コンピュータに、読取ステップと、書込ステップと、検出ステップと、編集ステップと、を含む第１ルーチンを実行させる。読取ステップにおいて、コンピュータは、機器のディスプレイにおける表示領域のサイズと表示領域に表示する文字列とを格納する表計算ソフトのワークシートから、表示領域のサイズと文字列とを読み取る。書込ステップにおいて、コンピュータは、読取ステップにおいて読み取られた文字列をラスタライズしてメモリ空間に書き込む。検出ステップにおいて、コンピュータは、書込ステップにおける書き込みの結果に基づいて、文字列が表示領域のサイズを超えたか否かを検出する。編集ステップにおいて、コンピュータは、検出ステップにおいて文字列が表示領域のサイズを超えたことが検出された場合に、文字列が表示領域のサイズを超えたことが分かるようにワークシートを編集する。
【０００９】
これにより、ＧＵＩの開発段階で、翻訳者等のユーザは、文字数から文字列を検討することができないプロポーショナルフォントによる文字列が表示領域に収まるか否かを確認することができる。
【００１０】
また、本発明のプログラムがコンピュータに実行させる書込ステップは、機器がディスプレイに文字列を表示する場合に文字列のラスタライズを行うためのソフトウェアのソースコードを、コンピュータを機能させるプログラムに変換することで作成されたプログラムによって実現されるようにしてもよい。
【００１１】
これにより、コンピュータ上で、実機と同じ処理で文字列をラスタライズしてメモリ空間に書き込み、仮想的に描画を行うことができる。文字列を実機と同様に表示させた場合のサイズと表示領域のサイズとに基づいて、文字列が表示領域のサイズを超えるか否かを検出することができる。
【００１２】
また、本発明のプログラムは、コンピュータに、機器のディスプレイのためにデザインされた画面のデータから、表示領域を識別する識別情報と、表示領域のサイズと、文字列が含まれる場合には文字列と、を抽出する抽出ステップと、抽出ステップにおいて抽出された識別情報と、表示領域のサイズと、文字列と、をワークシートに記入する記入ステップと、を含む第２ルーチンをさらに実行させるようにしてもよい。
【００１３】
これにより、デザイン画面データから必要な情報を自動的にワークシートに読み込むことができるため、入力ミスをなくし、作業効率を向上させることができる。
【００１４】
また、本発明のプログラムは、コンピュータに、ユーザの操作に基づいて選択的に第１ルーチンと第２ルーチンとを実行させるようにしてもよい。これにより、ユーザは、必要な処理を実行することができるため、使い勝手が良い。
【００１５】
また、ワークシートは、複数の表示領域について、識別情報毎に表示領域のサイズと文字列とを格納する行を有し、本発明のプログラムがコンピュータに実行させる読取ステップは、ワークシートから、行毎に表示領域のサイズと文字列とを読み取るようにしてもよい。また、ワークシートは、複数の言語について、言語毎に文字列を格納する列を有し、本発明のプログラムがコンピュータに実行させる記入ステップは、画面のデータに文字列が含まれる場合に抽出ステップにおいて抽出された文字列を、ワークシートの基準となる言語の列に記入するようにしてもよい。
【００１６】
これにより、ユーザは、複数の表示領域、複数の言語について、簡単に確認することができる。
【００１７】
また、本発明のプログラムがコンピュータに実行させる編集ステップは、表示領域のサイズを超えなかった文字列を格納するセルの表示態様を第１態様とし、表示領域のサイズを超えた文字列を格納するセルの表示態様を第１態様と異なる第２態様にするようにしてもよい。これにより、セルの表示態様から、文字列が表示領域に収まるか否かを容易に確認することができる。
【００１８】
また、本発明は、ディスプレイを備える機器のグラフィカルユーザインタフェースの開発を行うＧＵＩ開発装置、あるいは、ディスプレイを備える機器のグラフィカルユーザインタフェースの開発をコンピュータ上で行うＧＵＩ開発方法としても構成可能であり、上記のプログラムと同様の効果が得られる。
【発明の効果】
【００１９】
本発明のプログラム、ＧＵＩ開発装置、ＧＵＩ開発方法によれば、ＧＵＩの開発段階で、実機に実装することなく、プロポーショナルフォントによる文字列が表示領域に収まるか否かを確認することができる。
【図面の簡単な説明】
【００２０】
【図１】ＧＵＩ開発装置（ＰＣ）のハードウェア構成図である。
【図２】プログラムのソフトウェア構成図である。
【図３】プログラムを実行するＰＣの表示画面の一例を示す図である。
【図４】メイン処理のフローチャートである。
【図５】ｘｍｌファイル読み込み処理のフローチャート（その１）である。
【図６】ｘｍｌファイル読み込み処理のフローチャート（その２）である。
【図７】文字列幅設定処理のフローチャートである。
【図８】文字列ＩＤ設定処理のフローチャートである。
【図９】ＬＣＤを備える複合機における文字列の表示について説明する図である。
【図１０】文字列長チェック処理のフローチャート（その１）である。
【図１１】文字列長チェック処理のフローチャート（その２）である。
【図１２】ｘｍｌファイルのサンプルを示す図である。
【発明を実施するための形態】
【００２１】
図面を参照して実施例を説明する。図１は、ＧＵＩ開発装置の一例であるＰＣ１０のハードウェア構成図を示す。バス１７によって各部は互いに接続されている。ＣＰＵ１１は、プログラムに従って様々な処理を実行する。メモリ１２は、ＣＰＵ１１に様々な処理を実行させるためのプログラムを格納するＲＯＭ、プログラムに従って処理が実行される過程で生成される各種データを一時記憶するＲＡＭ、を含む。ディスプレイコントローラ１３は、ＣＰＵ１１が発行する描画命令に基づいて、ディスプレイ１８に画面表示する。入力機器インタフェース１４は、キーボード１９、マウス２０などの入力機器をＰＣ１０に接続する。ユーザは、キーボード１９、マウス２０を介してＰＣ１０に入力操作を行うことができる。ネットワークインタフェース１５は、ＰＣ１０をインターネットに接続する。外部機器インタフェース１６は、ＨＤＤ２１、メディアドライブ２２などの外部機器をＰＣ１０に接続する。
【００２２】
図２は、上記の構成を有するＰＣ１０上で、ディスプレイを備えるプリンタ、複合機といった機器のグラフィカルユーザインタフェースの開発を行うためのアプリケーションプログラムのソフトウェア構成図を示す。本プログラムは、第１の機能として、機器のディスプレイにおける表示領域のサイズとその表示領域に表示する文字列とを格納するＥｘｃｅｌ（登録商標）のような表計算ソフトのワークシートから、表示領域のサイズと文字列とを読み取り、文字列が表示領域に収まるかチェックする構成を含む。このチェック機能は、ワークシートから読み取られた表示領域のサイズと文字列とを入力として与えられた表示ライブラリがフォントＡＰＩ（Application Programming Interface）を介してフォントデータを取得しラスタライズした結果を利用して行われる。これにより、本プログラムでは、擬似的に文字列の描画が行われ、表示領域内に収まるか否かが判定される。
【００２３】
また、本プログラムは、第２の機能として、画像編集ソフトによりデザイナが機器のディスプレイのためにデザインした画面のデータから、表示領域を識別する識別情報、表示領域のサイズ、文字列が含まれる場合には文字列、をワークシートに読み込む構成を含む。この読み込み機能によってデザイン画面データの情報が読み込まれたワークシートに、翻訳者は、各言語に翻訳した文字列を記入していく。そして、上記のチェック機能を利用して、翻訳者等のユーザは、文字列が表示領域に収まるか否か確認する。
尚、本実施例では、上記表示領域を識別する識別情報、表示領域のサイズ、文字列はｘｍｌ形式のファイルにより読み込んでいるが、ｘｍｌ形式での情報保守手段を有しない画像編集ソフト（例  Ｐｈｏｔｏｓｈｏｐ（登録商標））が対応するファイル形式のファイルを読み込むよう、本プログラムが構成されていてもよい。
また、ｘｍｌ形式での情報保守手段を有しない画像編集ソフトが対応するファイル形式のファイルをｘｍｌ形式に変換し、変換したｘｍｌ形式のファイルを読み込むよう、本プログラムが構成されていてもよい。
【００２４】
図３は、複合機のＧＵＩ開発を例に、上記の構成を有する本プログラムを実行するＰＣ１０のディスプレイ１８に表示される画面の一例を示す。ここで、本実施例では、表計算ソフトとしてＥｘｃｅｌを用いた場合について説明するため、図３は、Ｅｘｃｅｌで作成したｘｌｓファイルのワークシートを示している。図３に示されるように、ＰＣ１０のディスプレイ１８に表示されるワークシートには、読み込みボタンＢ１、チェックボタンＢ２が含まれる。ユーザは、マウス２０を用いて読み込みボタンＢ１を押下することにより、本プログラムの読み込み機能を利用することができる。また、ユーザは、マウス２０を用いてチェックボタンＢ２を押下することにより、本プログラムのチェック機能を利用することができる。
【００２５】
続いて、ワークシートに格納されるデータについて説明する。ＳＴ−１の行は各データのタイトル行であり、ＳＴ行目からデータ値が格納される。ＮＡＭＥ列は、デザイン画面データから読み込んだ表示領域の識別情報を格納する。ＷＩＤＴＨ列は、デザイン画面データから読み込んだ表示領域の幅、すなわち、横方向のサイズを格納する。ＨＩＧＨＴ列は、デザイン画面データから読み込んだ表示領域の高さ、すなわち、縦方向のサイズを格納する。ＭＰ列目に配置されたＭＳＧ列は、基準となる言語（ここでは英語）による文字列を格納する。デザイン画面データに文字列が含まれる場合にデザイン画面データから読み込んだ文字列は、このＭＳＧ列に格納される。仏、日、独の各列は、それぞれ対応する言語（仏語、日本語、独語）による文字列を格納する。このように、ワークシートは、デザイン画面データから読み込んだ複数の表示領域について、識別情報毎に表示領域のサイズと文字列とを格納する行を有する。また、ワークシートは、複数の言語について、言語毎に文字列を格納する列を有する。
【００２６】
図４は、本プログラムのメイン処理のフローチャートである。ＣＰＵ１１は、Ｓ１において、読み込みボタンＢ１が押下されたか否かを判断し、Ｓ２において、チェックボタンＢ２が押下されたか否かを判断する。読み込みボタンＢ１が押下された場合（Ｓ１：ＹＥＳ）、ＣＰＵ１１は、Ｓ３のｘｍｌファイル読み込み処理に移行する。チェックボタンＢ２が押下された場合（Ｓ２：ＹＥＳ）、ＣＰＵ１１は、Ｓ４の文字列長チェック処理に移行する。
【００２７】
図５、図６は、本プログラムのｘｍｌファイル読み込み処理のフローチャートである。ｘｍｌファイル読み込み処理は、図４で説明したように、メイン処理において読み込みボタンＢ１が押下されると実行される。ここで、本実施例では、処理を容易にするため、デザイン画面データのファイルをｘｍｌファイルに変換し、そのｘｍｌファイルを読み込むという方法が取られる。
【００２８】
図１２を参照して、ｘｍｌファイルについて説明する。図１２は、ｘｍｌファイルのサンプルを示す図である。ｘｍｌファイルは、ツリー構造を有する。<>で囲まれた部分は、タグと呼ばれる。タグには開始タグと終了タグとがあり、終了タグはタグ名の前に/が付く。開始タグ<PANEL_STRING>と終了タグ</PANEL_STRING>とで囲まれた部分に、表示領域の識別情報、表示領域の幅、表示領域の高さ、表示領域に表示する文字列、などを内容として持つ要素が、各要素をマークアップするタグに囲まれて記述される。
【００２９】
図５に示されるｘｍｌファイル読み込み処理のＳ１１において、ＣＰＵ１１は、書き出し行ポインタＮを０に設定する。Ｓ１３において、ＣＰＵ１１は、読み込む対象となるｘｍｌファイルのファイル名の入力処理を行う。ユーザは、キーボード１９からファイル名を入力する。Ｓ１５において、ＣＰＵ１１は、対象となるｘｍｌファイルから１行読み込む。Ｓ１７において、ＣＰＵ１１は、読み込み結果に基づいて、ｘｍｌファイルの終了と判断すると、ｘｍｌファイル読み込み処理を終了し、メイン処理のＳ１（図４）に戻る。一方、Ｓ１７において、ＣＰＵ１１は、読み込み結果に基づいて、１行読み込むことに成功したと判断すると、Ｓ１９に進む。
【００３０】
Ｓ１９において、ＣＰＵ１１は、読み込んだ１行が開始タグ<PANEL_STRING>を含むか否かを判断する。開始タグ<PANEL_STRING>を含まない場合（Ｓ１９：ＮＯ）、ＣＰＵ１１は、Ｓ１５に戻る。一方、開始タグ<PANEL_STRING>を含む場合（Ｓ１９：ＹＥＳ）、ＣＰＵ１１は、Ｓ２１において、ｘｍｌファイルからさらに１行読み込む。
【００３１】
Ｓ２３において、ＣＰＵ１１は、読み込んだ１行が終了タグ</PANEL_STRING>を含むか否かを判断する。終了タグ</PANEL_STRING>を含む場合（Ｓ２３：ＹＥＳ）、ＣＰＵ１１は、Ｓ３３において、書き出し行ポインタＮに１を加算し、Ｓ１５に戻る。一方、終了タグ</PANEL_STRING>を含まない場合（Ｓ２３：ＮＯ）、Ｓ２５において、ＣＰＵ１１は、読み込んだ１行がタグ<STRING_WIDTH>を含むか否かを判断する。
【００３２】
タグ<STRING_WIDTH>は、表示領域の幅を内容として持つ要素をマークアップするタグである。タグ<STRING_WIDTH>を含む場合（Ｓ２５：ＹＥＳ）、ＣＰＵ１１は、Ｓ３５の文字列幅設定処理に移行する。一方、タグ<STRING_WIDTH>を含まない場合（Ｓ２５：ＮＯ）、Ｓ２７において、ＣＰＵ１１は、読み込んだ１行がタグ<STRING_HIGHT>を含むか否かを判断する。
【００３３】
タグ<STRING_HIGHT>は、表示領域の高さを内容として持つ要素をマークアップするタグである。タグ<STRING_HIGHT>を含む場合（Ｓ２７：ＹＥＳ）、ＣＰＵ１１は、Ｓ３７の文字列高設定処理に移行する。一方、タグ<STRING_HIGHT>を含まない場合（Ｓ２７：ＮＯ）、図６のＳ２９において、ＣＰＵ１１は、読み込んだ１行がタグ<STRING_NAME>を含むか否かを判断する。
【００３４】
タグ<STRING_NAME>は、表示領域の識別情報を内容として持つ要素をマークアップするタグである。タグ<STRING_NAME>を含む場合（Ｓ２９：ＹＥＳ）、ＣＰＵ１１は、Ｓ３９の文字列ＩＤ設定処理に移行する。一方、タグ<STRING_NAME>を含まない場合（Ｓ２９：ＮＯ）、Ｓ３１において、ＣＰＵ１１は、読み込んだ１行がタグ<STRING_MSG>を含むか否かを判断する。
【００３５】
タグ<STRING_MSG>は、表示領域に表示する文字列を内容として持つ要素をマークアップするタグである。タグ<STRING_MSG>を含む場合（Ｓ３１：ＹＥＳ）、ＣＰＵ１１は、Ｓ４１の基本文字列設定処理に移行する。一方、タグ<STRING_MSG>を含まない場合（Ｓ３１：ＮＯ）、ＣＰＵ１１は、図５のＳ２１に戻る。
【００３６】
図７は、本プログラムの文字列幅設定処理のフローチャートである。文字列幅設定処理は、図５で説明したように、ｘｍｌファイル読み込み処理のＳ３５で実行される。Ｓ５１において、ＣＰＵ１１は、読み込んだ１行がタグ</STRING_WIDTH>を含むか否かを判断する。タグ</STRING_WIDTH>を含まない場合（Ｓ５１：ＮＯ）、ＣＰＵ１１は、文字列幅設定処理を終了し、ｘｍｌファイル読み込み処理のＳ２１（図５）に戻る。一方、タグ</STRING_WIDTH>を含む場合（Ｓ５１：ＹＥＳ）、ＣＰＵ１１は、Ｓ５３に進む。
【００３７】
Ｓ５３において、ＣＰＵ１１は、タグ<STRING_WIDTH>とタグ</STRING_WIDTH>との間の文字列を取り出す。Ｓ５５において、ＣＰＵ１１は、取り出した文字列が数値であるか否かを判断する。取り出した文字列が数値でない場合（Ｓ５５：ＮＯ）、ＣＰＵ１１は、文字列幅設定処理を終了し、ｘｍｌファイル読み込み処理のＳ２１（図５）に戻る。一方、取り出した文字列が数値である場合（Ｓ５５：ＹＥＳ）、ＣＰＵ１１は、Ｓ５７において、文字列を数値化して、ｘｌｓファイル（図３参照）のＳＴ＋Ｎ行目のＷＩＤＴＨ列のセルに書き込む。その後、ＣＰＵ１１は、文字列幅設定処理を終了し、ｘｍｌファイル読み込み処理のＳ２１（図５）に戻る。
【００３８】
尚、ｘｍｌファイル読み込み処理のＳ３７（図５）における文字列高設定処理は、図７の文字列幅設定処理のフローチャートにおいて、ＷＩＤＴＨをＨＩＧＨＴと読み替えることで、同様に実行することができる。
【００３９】
図８は、本プログラムの文字列ＩＤ設定処理のフローチャートである。文字列ＩＤ設定処理は、図６で説明したように、ｘｍｌファイル読み込み処理のＳ３９で実行される。Ｓ６１において、ＣＰＵ１１は、読み込んだ１行がタグ</STRING_NAME>を含むか否かを判断する。タグ</STRING_NAME>を含まない場合（Ｓ６１：ＮＯ）、ＣＰＵ１１は、文字列ＩＤ設定処理を終了し、ｘｍｌファイル読み込み処理のＳ２１（図５）に戻る。一方、タグ</STRING_NAME>を含む場合（Ｓ６１：ＹＥＳ）、ＣＰＵ１１は、Ｓ６３に進む。
【００４０】
Ｓ６３において、ＣＰＵ１１は、タグ<STRING_NAME>とタグ</STRING_WIDTH>との間の文字列を取り出す。Ｓ６５において、ＣＰＵ１１は、取り出した文字列を、ｘｌｓファイル（図３参照）のＳＴ＋Ｎ行目のＮＡＭＥ列のセルに書き込む。その後、ＣＰＵ１１は、文字列ＩＤ設定処理を終了し、ｘｍｌファイル読み込み処理のＳ２１（図５）に戻る。
【００４１】
尚、ｘｍｌファイル読み込み処理のＳ４１（図６）における基本文字列設定処理は、図８の文字列ＩＤ設定処理のフローチャートにおいて、ＮＡＭＥをＭＳＧと読み替えることで、同様に実行することができる。
【００４２】
続いて、図９を参照して、実機上の文字列表示手順について説明する。図９は、ＬＣＤ（Liquid Crystal Display）を備える複合機における文字列の表示について説明する図である。複合機では、図９（Ａ）に示されるように、メモリ空間上の定められた領域にデータを書き込むと、ハードウェアによって、ＬＣＤにおいてメモリアドレスに対応するドット（ピクセル）が点灯あるいは消灯する。本実施例に係る複合機では、ＬＣＤに文字列を表示する場合、ＬＣＤ上のドット（ピクセル）の点灯、消灯に関係する一連の必要な処理を、以下のような引き数を有する関数として保持している。
ｓｔｒｉｎｇ＿ｄｉｓｐｌａｙ（Ｐｘ，Ｐｙ，Ｗ，Ｈ，＊ｄ＿ｍｓｇ）
ここで、
ＰｘはＬＣＤ全体における文字列を表示する表示領域の左上位置のＸ座標（ＬＣＤの左上を原点とした横方向の値）である。
ＰｙはＬＣＤ全体における文字列を表示する表示領域の左上位置のＹ座標（ＬＣＤの左上を原点とした縦方向の値）である。
Ｗは文字列を表示する表示領域の幅である。
Ｈは文字列を表示する表示領域の高さである。
＊ｄ＿ｍｓｇは表示したい文字列（例えば、「ＣＯＰＹ」等）を示すポインタである。
尚、図９（Ｂ）、（Ｃ）において斜線部は文字列を表示する表示領域を示す。
【００４３】
上記の関数は、指定された表示領域に文字列を配置する（メモリ上に必要なデータを書き込む）。そして、図９（Ｂ）に示されるように、表示領域内に全ての点を書き込めた場合、上記の関数は、返り値として０を返す。また、図９（Ｃ）に示されるように、表示領域内に全ての点を書き込めなかった場合、上記の関数は、返り値として−１を返す。
【００４４】
本プログラムは、文字列が表示領域に収まるかチェックする際、ワークシートから読み取られた表示領域のサイズと文字列とを表示ライブラリに入力として与え、表示ライブラリの出力を利用する、ということを図２で説明した。この表示ライブラリは、具体的には、複合機で文字列のラスタライズを行う上記の関数のソースコードをＰＣ１０用のコンパイラによって処理することで実機と共通のソースコードにより作成されたｄｌｌ（dynamic link library）によって実現される。
【００４５】
図１０、図１１は、本プログラムの文字列長チェック処理のフローチャートである。文字列長チェック処理は、図４で説明したように、メイン処理においてチェックボタンＢ２が押下されると実行される。Ｓ７１において、ＣＰＵ１１は、Ｒ＝０に設定する。Ｓ７３において、ＣＰＵ１１は、ＳＴ−１の行、ＭＰ＋Ｒの列のセル（図３参照）が空でないと判断すると、Ｓ７５に進む。Ｓ７５において、ＣＰＵ１１は、Ｒに１を加算し、Ｓ７３に戻る。一方、Ｓ７３において、ＣＰＵ１１は、ＳＴ−１の行、ＭＰ＋Ｒの列のセル（図３参照）が空であると判断すると、Ｓ７７に進む。図３で説明したように、ＳＴ−１の行は各データのタイトル行である。そして、ＭＰ列目から言語毎に文字列データが格納される。したがって、ＣＰＵ１１は、Ｓ７１、Ｓ７３、Ｓ７５の処理を行うことにより、表示領域に収まるか否かの文字列長チェックを行うべき範囲（列）を調べることができる。
【００４６】
Ｓ７７において、ＣＰＵ１１は、Ｃ＝０、ＲＴ＝０に設定する。Ｓ７９において、ＣＰＵ１１は、ＳＴ＋Ｃの行、ＷＩＤＴＨ列のセル（図３参照）にある数値を読み取り、変数Ｗに設定する。Ｓ８１において、ＣＰＵ１１は、ＳＴ＋Ｃの行、ＨＩＧＨＴ列のセル（図３参照）にある数値を読み取り、変数Ｈに設定する。Ｓ８３において、ＣＰＵ１１は、ＳＴ＋Ｃの行、ＭＰ＋ＲＴの列のセル（図３参照）に設定されている文字列を変数ｍｓｇ［］にコピーする。
【００４７】
Ｓ８５において、ＣＰＵ１１は、変数ｍｓｇ［］が空でないと判断すると、Ｓ８７に進む。Ｓ８７において、ＣＰＵ１１は、前述したｄｌｌにより、以下の関数を上記Ｓ７９、Ｓ８１、Ｓ８３で設定したパラメータで呼び出す。
ｓｔｒｉｎｇ＿ｄｉｓｐｌａｙ（０，０，Ｗ，Ｈ，＊ｍｓｇ）
これにより、ＰＣ１０のディスプレイ１８に可視化はされないが、ＣＰＵ１１は、実機と同じ処理で文字列をラスタライズしてメモリ空間に書き込み、仮想的に描画を行う。
【００４８】
図１１のＳ９１において、ＣＰＵ１１は、ｓｔｒｉｎｇ＿ｄｉｓｐｌａｙの返り値が０である（すなわち、表示領域からの文字列のはみ出しがない）と判断すると、Ｓ９３に進む。Ｓ９３において、ＣＰＵ１１は、ＳＴ＋Ｃの行、ＭＰ＋ＲＴの列のセル（図３参照）の背景色を白色に変更し、Ｓ９７に進む。また、Ｓ９１において、ＣＰＵ１１は、ｓｔｒｉｎｇ＿ｄｉｓｐｌａｙの返り値が−１である（すなわち、表示領域からの文字列のはみ出しがある）と判断すると、Ｓ９５に進む。Ｓ９５において、ＣＰＵ１１は、ＳＴ＋Ｃの行、ＭＰ＋ＲＴの列のセル（図３参照）の背景色を赤色に変更し、Ｓ９７に進む。
【００４９】
一方、図１０のＳ８５において、ＣＰＵ１１は、変数ｍｓｇ［］が空であると判断すると、Ｓ８９に進む。Ｓ８９において、ＣＰＵ１１は、ＳＴ＋Ｃの行、ＭＰ＋ＲＴの列のセル（図３参照）の背景色を黄色に変更し、図１１のＳ９７に進む。
【００５０】
Ｓ９７において、ＣＰＵ１１は、ＲＴに１を加算する。これにより、チェック対象セルが右へ１つ移動する。Ｓ９９において、ＣＰＵ１１は、ＲＴ＝Ｒであるか否かを判断する。ＲＴ≠Ｒである場合、現在の行について文字列長チェックを行うべき範囲（列）が残っていることになるので、ＣＰＵ１１は、図１０のＳ８３に戻る。一方、ＲＴ＝Ｒである場合、現在の行について文字列長チェックが全て済んだことになるので、ＣＰＵ１１は、Ｓ１０１に進み、ＲＴを０にリセットし、Ｃに１を加算する。これにより、チェック対象となる行が下へ１つ移動する。
【００５１】
Ｓ１０３において、ＣＰＵ１１は、ＳＴ＋Ｃの行、ＮＡＭＥ列のセル（図３参照）の内容が空でないと判断すると、図１０のＳ７９に戻る。これにより、文字列長チェックを行うべき範囲（行）が残っている場合には、処理が続けられる。一方、Ｓ１０３において、ＣＰＵ１１は、ＳＴ＋Ｃの行、ＮＡＭＥ列のセル（図３参照）の内容が空であると判断すると、文字列長チェック処理を終了し、メイン処理のＳ１（図４）に戻る。これにより、文字列長チェックを行うべき全範囲（行、列）について、処理が行われる。
【００５２】
本実施例の効果を以下に説明する。ユーザがチェックボタンＢ２（図３参照）を押下すると、ＣＰＵ１１は文字列長チェック処理を行う。その結果、文字列が表示領域からはみ出る場合には該当セルの背景色が赤色となり、文字列が設定されていない場合には該当セルの背景色が黄色となり、何れにも該当しないセルの背景色は白色となる。これにより、ＧＵＩの開発段階で、翻訳者等のユーザは、文字数から文字列を検討することができないプロポーショナルフォントによる文字列が表示領域に収まるか否かを、セルの背景色から容易に確認することができる。
【００５３】
また、文字列長チェック処理のＳ８７（図１０）では、複合機で文字列のラスタライズを行う関数のソースコードをＰＣ１０用のコンパイラによって処理することで実機と共通のソースコードにより作成されたｄｌｌが利用される。これにより、ＰＣ１０上で、実機と同じ処理で文字列をラスタライズしてメモリ空間に書き込み、仮想的に描画を行うことができる。文字列を実機と同様に表示させた場合のサイズと表示領域のサイズとに基づいて、文字列が表示領域のサイズを超えるか否かを検出することができる。
【００５４】
また、ユーザが読み込みボタンＢ１（図３参照）を押下すると、ＣＰＵ１１はｘｍｌファイル読み込み処理を行う。これにより、デザイン画面データから必要な情報を自動的にワークシートに読み込むことができるため、入力ミスをなくし、作業効率を向上させることができる。
【００５５】
以上、本発明の実施例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、上記の実施例を様々に変形、変更したものが含まれる。
【００５６】
例えば、前述のフローチャートは単なる一例であり、前述のフローチャートの処理と同等の結果を得ることできるものであれば、他のフローチャートによって処理を実現してもよい。
【００５７】
上記の実施例では、表計算ソフトとしてＥｘｃｅｌを用いた場合について説明したが、これに限られないことは言うまでもない。また、図１０、図１１の文字列長チェック処理において、文字列が表示領域のサイズを超えたことをユーザに報知する方法は、セルの背景色を変更することに限られず、文字列が表示領域のサイズを超えたことがユーザに分かればよい。
【００５８】
尚、複合機はディスプレイを備える機器の一例である。Ｅｘｃｅｌは表計算ソフトの一例である。文字列長チェック処理のＳ７９、Ｓ８１、Ｓ８３（図１０）を実行するＣＰＵ１１によって読取ステップ（手段）が実現される。文字列長チェック処理のＳ８７（図１０）を実行するＣＰＵ１１によって書込ステップ（手段）が実現される。文字列長チェック処理のＳ９１（図１１）を実行するＣＰＵ１１によって検出ステップ（手段）が実現される。文字列長チェック処理のＳ９３、Ｓ９５（図１１）を実行するＣＰＵ１１によって編集ステップ（手段）が実現される。メイン処理のＳ４（図４）は第１ルーチンの一例である。ｘｍｌファイル読み込み処理のＳ３５、Ｓ３７、Ｓ３９、Ｓ４１（図５、図６）を実行するＣＰＵ１１によって抽出ステップ、記入ステップが実現される。メイン処理のＳ３（図４）は第２ルーチンの一例である。セルの背景色における白色、赤色はそれぞれ第１態様、第２態様の一例である。また、ＰＣ１０用のコンパイラによって変換手段が実現される。
【符号の説明】
【００５９】
１０  ＧＵＩ開発装置（ＰＣ）
１１  ＣＰＵ
１２  メモリ
１８  ディスプレイ
１９  キーボード
２０  マウス
２１  ＨＤＤ
【図１】
2011227725.tif 000003
【図２】
2011227725.tif 000004
【図３】
2011227725.tif 000005
【図４】
2011227725.tif 000006
【図５】
2011227725.tif 000007
【図６】
2011227725.tif 000008
【図７】
2011227725.tif 000009
【図８】
2011227725.tif 000010
【図９】
2011227725.tif 000011
【図１０】
2011227725.tif 000012
【図１１】
2011227725.tif 000013
【図１２】
2011227725.tif 000014