(57)【要約】【課題】搭載したアウトラインフォント生成部がキャッシュ機能を有していない場合でもキャッシュ機能を実現するとともに、色変換計算を含む透過処理を不要として、高精細なカラー文字画像の描画を高速に行うことを可能とする。【解決手段】判定部７１４は、出力処理部７１２がアウトラインフォント生成部７１１を制御してアウトラインフォント生成部７１１に文字データを生成させる前に、色情報を含む当該文字データに関連する属性情報とキャッシュ記憶部７５に保存されている属性情報とに基づき、生成しようとする文字データがキャッシュ記憶部７５に保存されているか否かを判定する。【選択図】図３
2011081057.tif 000002
【特許請求の範囲】
【請求項１】
アウトラインフォントデータに基づきビットマップ展開処理を実行してビットマップの文字データを生成するアウトラインフォント生成部と、
前記アウトラインフォント生成部を制御して前記アウトラインフォント生成部に前記文字データを生成させるとともに、その文字データと色情報を含む当該文字データに関連する属性情報とを用いて色変換計算を含む透過処理を実行し、出力部に文字画像を出力するためのビットマップデータを生成する出力処理部と、
データを一時的に記憶するキャッシュ記憶部と、
前記出力処理部により生成された前記ビットマップデータを前記属性情報と対応付けて前記キャッシュ記憶部に保存するキャッシュ制御部と、
前記出力処理部が前記アウトラインフォント生成部を制御して前記アウトラインフォント生成部に前記文字データを生成させる前に、当該生成しようとする文字データに関連する前記属性情報と前記キャッシュ記憶部に保存されている前記属性情報とに基づき、前記生成しようとする文字データが前記キャッシュ記憶部に保存されているか否かを判定する判定部と
を備え、
前記出力処理部は、前記生成しようとする文字データが前記キャッシュ記憶部に保存されていると前記判定部が判定したときは、前記アウトラインフォント生成部に前記文字データを生成させずに、前記キャッシュ記憶部に保存されている前記ビットマップデータを用いることを特徴とする情報処理装置。
【請求項２】
前記属性情報は、前記色情報として、前記出力部に出力する文字画像の色情報、前記出力部に出力する文字画像の背景の色情報および前記出力部のベース背景の色情報を含み、
前記出力処理部は、前記属性情報に含まれる前記文字画像の色情報、前記文字画像の背景の色情報および前記ベース背景の色情報と前記アウトラインフォント生成部が生成した前記文字データとを用いて前記透過処理を実行し、前記ビットマップデータを生成する請求項１記載の情報処理装置。
【請求項３】
前記属性情報は、前記出力部に文字画像を出力するために必要な全ての情報を含み、
前記判定部は、生成しようとする文字データに関連する属性情報と前記キャッシュ記憶部に保存されている前記属性情報とを比較して、前記各属性情報に含まれる全ての情報が互いに一致したときに、前記生成しようとする文字データが前記キャッシュ記憶部に保存されていると判定する請求項１または２記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アウトラインフォントの文字画像を生成するアウトラインフォント生成部を備えた情報処理装置に関するものである。
【背景技術】
【０００２】
アウトラインフォントの文字を画像化する場合、ビットマップ展開処理、すなわち文字の輪郭を示す関数から塗り潰す画素位置を計算し、文字の輪郭を塗り潰す処理を行っている。このため、アウトラインフォントの文字画像は、ビットマップフォントの文字画像に比べて高精細な文字を描画することができる。しかしながら、アウトラインフォントの文字画像生成には、関数計算などを含むため、ビットマップフォントの文字画像生成に比べて、文字の表示までに長時間を要するという問題があった。このような問題を解決するために、特許文献１では、アウトラインフォントに基づき生成したビットマップの文字データをキャッシュメモリーに保存しておき、その文字データを再び表示する際には、キャッシュメモリーに保存されている文字データを使用することでビットマップ展開処理を不要として、描画の高速化を図っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−４６１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、アウトラインフォントの文字画像を生成する機能を備えた装置を構成する際には、組込用のソフトウェアとして外部ベンダーにより開発されたアウトラインフォント生成モジュールを装置に搭載することも良く行われる。このとき、搭載したアウトラインフォント生成モジュールが特許文献１のようなキャッシュ機能を有していない場合には、描画に時間がかかりすぎて実用にならない。一方、搭載したアウトラインフォント生成モジュールがキャッシュ機能を有している場合、キャッシュメモリー領域の確保や解放をアウトラインフォント生成モジュールが独自に行うこととなる。このため、メモリー資源の利用範囲が制限されるなど、ソフトウェア設計の自由度が低下することもあり得る。さらに、文字画像を例えば表示部などの出力部に出力する際には、カラーの自由度を高めて見映えを良くするために、文字列を出力するエリアの背景色、各文字毎の背景色や、文字自体のフォント色などを重なったレイヤーとして透過処理して出力することも良く行われている。この場合、単に、アウトラインフォントに基づき生成したビットマップの文字データをキャッシュメモリーに保存しておくだけでは、文字画像を出力する度に、色変換計算を含む透過処理が必要となる。このため、最終的に、出力部に出力する文字画像を生成するのに時間を要するという問題があった。
【０００５】
この発明は、上記課題に鑑みてなされたもので、アウトラインフォントの文字画像を生成するアウトラインフォント生成部を備えた情報処理装置において、当該アウトラインフォント生成部がキャッシュ機能を有していない場合でもキャッシュ機能を実現するとともに、色変換計算を含む透過処理を不要として、高精細なカラー文字画像の描画を高速に行うことを可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００６】
この発明にかかる情報処理装置は、上記目的を達成するため、アウトラインフォントデータに基づきビットマップ展開処理を実行してビットマップの文字データを生成するアウトラインフォント生成部と、アウトラインフォント生成部を制御してアウトラインフォント生成部に文字データを生成させるとともに、その文字データと色情報を含む当該文字データに関連する属性情報とを用いて色変換計算を含む透過処理を実行し、出力部に文字画像を出力するためのビットマップデータを生成する出力処理部と、データを一時的に記憶するキャッシュ記憶部と、出力処理部により生成されたビットマップデータを属性情報と対応付けてキャッシュ記憶部に保存するキャッシュ制御部と、出力処理部がアウトラインフォント生成部を制御してアウトラインフォント生成部に文字データを生成させる前に、当該生成しようとする文字データに関連する属性情報とキャッシュ記憶部に保存されている属性情報とに基づき、生成しようとする文字データがキャッシュ記憶部に保存されているか否かを判定する判定部とを備え、出力処理部は、生成しようとする文字データがキャッシュ記憶部に保存されていると判定部が判定したときは、アウトラインフォント生成部に文字データを生成させずに、キャッシュ記憶部に保存されているビットマップデータを用いることを特徴としている。
【０００７】
このように構成された発明によれば、出力処理部により制御されて、アウトラインフォント生成部がアウトラインフォントデータに基づきビットマップ展開処理を実行してビットマップの文字データを生成する。そして、その生成された文字データと色情報を含む当該文字データに関連する属性情報とを用いて、出力処理部により色変換計算を含む透過処理が実行され、出力部に文字画像を出力するためのビットマップデータが生成される。この生成されたビットマップデータは、キャッシュ制御部により、属性情報と対応付けてキャッシュ記憶部に保存される。一方、出力処理部がアウトラインフォント生成部を制御してアウトラインフォント生成部に文字データを生成させる前に、当該生成しようとする文字データに関連する属性情報とキャッシュ記憶部に保存されている属性情報とに基づき、生成しようとする文字データがキャッシュ記憶部に保存されているか否かが、判定部により判定される。そして、生成しようとする文字データがキャッシュ記憶部に保存されていると判定されたときは、出力処理部は、アウトラインフォント生成部に文字データを生成させずに、キャッシュ記憶部に保存されているビットマップデータを用いる。ここで、出力処理部により生成されキャッシュ記憶部に保存されているビットマップデータは、アウトラインフォント生成部により生成された文字データがそのまま保存されたものではなく、その生成された文字データと色情報を含む属性情報とを用いて、色変換計算を含む透過処理が実行されて生成されたものである。このため、例えば表示部などの出力部に出力する際に、改めて透過処理を行うことなく、そのまま用いることでカラー文字画像を出力することができる。アウトラインフォント生成部により生成された文字データをキャッシュ記憶部に保存している場合には、出力部に出力する際に、改めて色変換計算を含む透過処理を行う必要があるため、出力に時間を要することになる。これに対して、この発明によれば、キャッシュ記憶部に保存されているビットマップデータをそのまま出力部に出力することが可能になっているので、出力に時間を要しないという利点がある。
【０００８】
また、属性情報は、色情報として、出力部に出力する文字画像の色情報、出力部に出力する文字画像の背景の色情報および出力部のベース背景の色情報を含み、出力処理部は、属性情報に含まれる文字画像の色情報、文字画像の背景の色情報およびベース背景の色情報とアウトラインフォント生成部が生成した文字データとを用いて透過処理を実行し、ビットマップデータを生成するとしてもよい。このように構成された発明によれば、属性情報は、色情報として、出力部に出力する文字画像の色情報、出力部に出力する文字画像の背景の色情報および出力部のベース背景の色情報を含むため、透過処理により見映えの良いカラー文字画像を出力することができる。
【０００９】
また、属性情報は、出力部に文字画像を出力するために必要な全ての情報を含み、判定部は、生成しようとする文字データに関連する属性情報とキャッシュ記憶部に保存されている属性情報とを比較して、各属性情報に含まれる全ての情報が互いに一致したときに、生成しようとする文字データがキャッシュ記憶部に保存されていると判定するとしてもよい。このように構成された発明によれば、属性情報は、出力部に文字画像を出力するために必要な全ての情報を含み、各属性情報に含まれる全ての情報が互いに一致したときに、生成しようとする文字データがキャッシュ記憶部に保存されていると判定されるため、キャッシュ記憶部に保存されている文字データは、出力部に出力すべく生成しようとしている文字データと確実に一致することとなる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態であるフォトプリンターを示す斜視図。
【図２】フォトプリンターの内部構成の概略を示す図。
【図３】フォトプリンターの電気的構成の要部を示すブロック図。
【図４】透過処理による文字画像生成を説明する図。
【図５】文字データに関連する属性情報を表として示す図。
【図６Ａ】動作手順を示すフローチャート。
【図６Ｂ】動作手順を示すフローチャート。
【図６Ｃ】動作手順を示すフローチャート。
【図７Ａ】メニュー画面を示す図。
【図７Ｂ】メニュー画面を示す図。
【図７Ｃ】メニュー画面を示す図。
【図７Ｄ】メニュー画面を示す図。
【図８Ａ】指定された宛名整列順の表示画面を示す図。
【図８Ｂ】指定された宛名整列順の表示画面を示す図。
【図８Ｃ】指定された宛名整列順の表示画面を示す図。
【図９Ａ】表示画面におけるカーソル移動を説明する図。
【図９Ｂ】表示画面におけるカーソル移動を説明する図。
【図９Ｃ】表示画面におけるカーソル移動を説明する図。
【発明を実施するための形態】
【００１１】
図１は本発明の一実施形態であるフォトプリンターを示す斜視図である。また、図２はフォトプリンターの内部構成の概略を示す図である。このフォトプリンター１０では、プリンター本体１２の内部にはプリント機構５０が内蔵されており、このプリント機構５０の制御を司るコントローラー７０からの動作指令に応じて用紙Ｐへの印刷を実行する。そして、こうして印刷された用紙Ｐがプリンター本体１２の前面に排紙される。
【００１２】
このプリンター本体１２の前面には、前面扉１４が開閉自在に取り付けられている。この前面扉１４はプリンター本体１２の前面を開閉するための蓋である。そして、開状態のときには、プリント機構５０から排紙される用紙Ｐを受けるための排紙トレイとして機能する。また、プリンター本体１２の前面に設けられた各種のメモリーカードスロット１６をユーザーが利用可能な状態となる。つまり、この状態でユーザは印刷対象となる画像ファイルを記憶したメモリーカードＭをメモリーカードスロット１６に差し込むことができる。さらに、この実施形態では、記憶媒体としてメモリーカード以外にＣＤ−Ｒ（Compact Disc Recordable：書き込み可能なコンパクトディスク）や映像ＤＶＤ（Digital Versatile Disc：デジタル多用途ディスク）などのディスクを利用可能となっている。つまり、プリンター本体１２のベース部分に光ディスクドライブ（Optical Disc Drive）１３が設けられている。
【００１３】
また、プリンター本体１２の上面には操作パネル２０が設けられる一方、プリンター本体１２の上面の奥の一辺に対してカバー３０が開閉自在に取り付けられている。このカバー３０は、プリンター本体１２の上面を覆うことのできる大きさに成形された樹脂板であり、開状態では操作パネル２０の表面を外部に露出する。一方、カバー３０が閉状態に閉じられると、操作パネル２０全体を覆う。
【００１４】
この操作パネル２０には、文字や図形、記号などを表示する例えばＬＣＤ（Liquid Crystal Display）により構成された表示部２２と、この表示部２２の周囲に配置されたボタン群２４とを備えている。ボタン群２４は、図２に示すように、電源のオンオフを行うための電源ボタン２４ａ、メインメニュー画面を呼び出すためのメニューボタン２４ｂ、操作を途中でキャンセルしたり用紙Ｐへの印刷を途中で中断したりするためのキャンセルボタン２４ｃ、用紙Ｐへの印刷実行を指示するための印刷ボタン２４ｄ、メモリーカードスロット１６に挿入されたメモリーカードＭに編集画像等を保存するための保存ボタン２４ｅ、表示部２２に表示された複数の選択肢の中から所望の選択肢を選択したりカーソルを移動したりするときに操作される上下左右の各矢印ボタン２４ｆ〜２４ｉ、この上下左右の各矢印ボタン２４ｆ〜２４ｉの中央に配置され各矢印ボタン２４ｆ〜２４ｉによって選択されている選択肢に決定したことを指示するためのＯＫボタン２４ｊ、表示部２２での画面表示を切り替えるための表示切替ボタン２４ｋ、表示部２２に表示される左ガイドを選択する左ガイド選択ボタン２４ｌ、表示部２２に表示される右ガイドを選択する右ガイド選択ボタン２４ｍ、排紙トレイとしての機能を備えた前面扉１４を開く排紙トレイオープンボタン２４ｎなどで構成されている。
【００１５】
また、表示部２２の表示内容を確認するために、カバー３０には表示部２２と同じ大きさの窓３２が設けられている。つまり、カバー３０が閉状態にあるときにはユーザーはこの窓３２を介して表示部２２の表示内容を確認することができる。一方、カバー３０は開状態のときには、表示部２２を図１に示すように好みの角度に調整することが可能となっている。
【００１６】
このようにカバー３０を開状態としたときには、操作パネル２０に対して斜め後方に傾斜した状態でカバー３０は保持され、用紙Ｐをプリント機構５０へ供給するためのトレイとして利用可能となっている。また、操作パネル２０の奥には、プリント機構５０の給紙口２８が設けられるとともに、ガイド幅が用紙の幅に合うように左右方向にスライド操作される一対の用紙ガイド２９が設けられている。
【００１７】
そして、給紙口２８を介して用紙Ｐがプリント機構５０に送り込まれて印刷が実行される。このプリント機構５０には、図２に示すように、キャリッジ５３が左右方向にループ状に架け渡されたタイミングベルト５１により駆動されガイド５２に沿って左右に往復動する。このキャリッジ５３には、センサー５７が設けられ、用紙Ｐの左右端や上下端を検出する。つまり、センサー５７は、給紙口２８にセットされた用紙に対して印刷前にキャリッジ５３が左右方向に走査したときにその用紙の左右端を検出して用紙幅の認識を可能にしたり、印刷途中で用紙の後端を検出して用紙長さの認識を可能にする。
【００１８】
また、このキャリッジ５３には、シアン・マゼンタ・イエロー・ブラック等の各色のインクを個別に収容したインクカートリッジ５４が搭載されている。これらのインクカートリッジ５４はそれぞれ印刷ヘッド５５に接続されている。そして、印刷ヘッド５５はインクカートリッジ５４からのインクに圧力をかけてノズル（図示省略）から用紙Ｐに向かってインクを吐出する。この実施形態では、印刷ヘッド５５は圧電素子に電圧をかけることにより該圧電素子を変形させてインクを加圧する方式を採用しているが、発熱抵抗体（例えばヒーターなど）に電圧をかけインクを加熱して発生した気泡によりインクを加圧する方式を採用してもよい。こうして印刷された用紙Ｐは搬送ローラー５６によって開状態の前面扉（排紙トレイ）１４へ送り出される。また、画像形成のために、インクに代えてトナーや現像剤を用いてもよい。
【００１９】
図２に示すキャリッジ５３をその可動範囲内で最も右側のキャップ位置まで移動させたときに印刷ヘッド５５と対向する位置には、キャップ５８が設けられている。キャップ５８は、長時間印刷動作を行わないときに印刷ヘッド５５のノズルに被せられることにより、インクの乾燥に起因するノズルの目詰まりを防止する。また、装置が電源オフ状態にあるときにも、キャリッジ５３はキャップ位置に位置決めされノズルにキャップが施されている。
【００２０】
図３はフォトプリンターの電気的構成の要部を示すブロック図である。コントローラー７０は、図３に示すように、ＣＰＵ７１を中心とするマイクロプロセッサーとして構成されており、各種処理プログラムや各種データや各種テーブルなどを記憶したＲＯＭ７２と、一時的にデータを記憶するＲＡＭ７３と、電気的に書き換え可能で電源を切ってもデータは保持されるフラッシュメモリー７４と、表示部２２に描画すべき画像のデータを格納するＶＲＡＭ７６とを備え、これらはシステムバス７７を介して互いに信号のやり取りが可能なように接続されている。このコントローラー７０に対して、メモリーカードスロット１６に差し込まれたメモリーカードＭや光ディスクドライブ1３に挿入されたディスクの画像ファイルなどが入力されるほか、プリント機構５０のセンサー５７からの検出信号や操作パネル２０のボタン群２４からの指令信号が入力される。また、コントローラー７０は、メモリーカードＭに画像やデータなどを保存するほか、プリント機構５０の印刷ヘッド５５への制御信号や操作パネル２０の表示部２２への制御信号を出力する。また、コントローラー７０は、フラッシュメモリー７４に、住所録や、宛名ごとのはがき印刷の履歴などを保存する。
【００２１】
ＣＰＵ７１のユーザー・インターフェース（ＵＩ）入力部７０１は、ユーザーのボタン群２４に対するスイッチ操作に基づく種々の指令信号を受けて、他の機能ブロックに必要な情報を送出する。レイアウト生成部７０２は、ＵＩ入力部７０１からの情報や、メモリーカードＭからのデータなどに基づき、印刷のためのレイアウトデータを生成し、印刷処理部７０３に送出する。印刷処理部７０３は、レイアウト生成部７０２からのレイアウトデータを印刷データに変換し、プリント機構５０の動作を制御して印刷処理を実行する。すなわち、キャリッジ５３を主走査方向に往復移動させつつ、印刷ヘッド５５の駆動を制御してノズルからインクを吐出させる。
【００２２】
表示画像制御部７０４は、ＵＩ入力部７０１からの情報やメモリーカードＭからのデータなどに基づき、表示部２２の表示内容を制御する。アウトラインフォント生成モジュール７１１は、アウトラインフォントデータに基づきビットマップ展開処理（文字の輪郭を示す関数から塗り潰す画素位置を計算し、文字の輪郭を塗り潰す処理）を実行して、ビットマップの文字データを生成する。なお、このアウトラインフォント生成モジュール７１１は、生成した文字データをキャッシュメモリーに保存するキャッシュ機能を有していない。描画処理部７１２は、ＵＩ入力部７０１からの情報に基づき、アウトラインフォント生成モジュール７１１の動作を開始させて、アウトラインフォント生成モジュール７１１にビットマップの文字データを生成させる。また、描画処理部７１２は、その生成された文字データおよび当該文字データに関連する属性情報を用いて、色変換計算を含む透過処理を実行し、表示部２２に表示するためのビットマップデータを生成する。ここで、文字データに関連する属性情報と、色変換計算を含む透過処理とについて説明する。
【００２３】
図４は透過処理による文字画像生成を説明する図、図５は文字データに関連する属性情報を表として示す図である。表示部２２に画像を表示する際は、図４に示すように、最下層のベース背景パターンレイヤーＬ１、その上層の文字列エリア背景レイヤーＬ２、さらにその上層の文字背景レイヤーＬ３および最上層のアウトラインフォントレイヤーＬ４の各レイヤーが重なっているものとして、色変換計算を含む透過処理を実行して、表示部２２における表示色を決定する。
【００２４】
ベース背景パターンレイヤーＬ１は、表示部２２のベース背景を表わすもので、図５の行背景色情報または行グラデーション情報に対応する。行背景色情報は、Ｒ，Ｇ，Ｂの各値（それぞれ例えば０〜２５５の２５６段階）を有する。また、行グラデーション情報は、開始色のデータ（Ｒ，Ｇ，Ｂ）および終了色のデータ（Ｒ，Ｇ，Ｂ）と、開始から終了までのグラデーションデータとを有する。文字列エリア背景レイヤーＬ２は、文字列エリアの背景を表わすもので、図５のエリア背景色に対応する。文字背景レイヤーＬ３は各文字の背景を表わすもので、図５の文字背景色に対応する。アウトラインフォントレイヤーＬ４は、文字列（図４では「あいう」）を表わすもので、図５の文字色に対応する。エリア背景色、文字背景色、文字色は、それぞれ、透過率αおよびＲ，Ｇ，Ｂの各値（それぞれ例えば０〜２５５の２５６段階）を有する。そして、各レイヤーＬ２〜Ｌ４の透過率αに基づく当該レイヤーのＲ，Ｇ，Ｂ各値の寄与度を計算（例えば透過率１００％ならば寄与度は０）し、表示部２２に表示する画像の表示色を決定する。
【００２５】
文字データに関連する属性情報は、図５に示すように、上記色情報以外に、文字列コード、縦横サイズ、文字方向縦横、均等割付指定、文字揃え、改行制限、字数制限、フォント種別、フォントサイズ、下限フォントサイズ、文字配置指定、文字間、行間、文字装飾に関する情報を含んでいる。文字列コードは、表示する文字列を表わすもので、この実施形態では例えば、シフトＪＩＳコードで表わされている。このように、図５の属性情報は、表示部２２に表示する文字列フォント画像を生成するのに必要な全てのパラメーターを含んでいる。描画処理部７１２は、上述したように、アウトラインフォント生成モジュール７１１により生成された文字データおよび当該文字データに関連する属性情報を用いて、色変換計算を含む透過処理を実行し、表示部２２に表示するためのビットマップデータを生成している。ここで、描画処理部７１２が用いる属性情報は、文字列フォント画像を生成するのに必要な全てのパラメーターを含んでいる。したがって、描画処理部７１２が生成したビットマップデータは、そのまま表示部２２に描画可能なデータになっている。つまり、描画処理部７１２が生成したビットマップデータは、他に何ら演算をすることなく、ＶＲＡＭ７６に格納するだけでよいデータになっている。
【００２６】
図３に戻って、説明を続ける。キャッシュ制御部７１３は、ＲＡＭ７３の指定領域をキャッシュメモリー７５として確保する。キャッシュメモリー７５の記憶領域は、インデックス領域７５ａとデータ領域７５ｂとによって構成される。そして、キャッシュ制御部７１３は、図５に示す属性情報をインデックス領域７５ａに格納し、インデックス領域７５ａの属性情報と対応付けて、描画処理部７１２が生成したビットマップデータをデータ領域７５ｂに格納する。
【００２７】
判定部７１４は、描画処理部７１２がアウトラインフォント生成モジュール７１１を制御してアウトラインフォント生成モジュール７１１に文字データを生成させる前に、当該生成しようとする文字データに関連する属性情報とキャッシュメモリー７５に保存されている属性情報とに基づき、生成しようとする文字データが既にキャッシュメモリー７５に保存されているか否かを判定する。このとき、判定部７１４は、図５の属性情報の全てが一致した場合に、生成しようとする文字データがキャッシュメモリー７５に保存されている（キャッシュにヒットした）と判定する。
【００２８】
そして、描画処理部７１２は、生成しようとする文字データがキャッシュメモリー７５に保存されていると判定部７１４が判定したときは、アウトラインフォント生成モジュール７１１に文字データを生成させずに、キャッシュメモリー７５に保存されているビットマップデータを用いる。つまり、描画処理部７１２は、当該ビットマップデータをＶＲＡＭ７６の指定位置に格納する。
【００２９】
図６Ａ，６Ｂは表示画像制御部７０４により実行される動作手順を示すフローチャート、図６Ｃは図６ＡのステップＳ１４の具体的な手順を示すフローチャート、図７Ａ〜７Ｄは表示部２２に表示されるメニュー画面の一例を示す図、図８Ａ〜８Ｃは表示部２２に表示される指定の宛名整列順での表示画面を示す図である。なお、図７Ｂ〜７Ｄでは、カーソル位置を太枠で示し、図８Ａ〜８Ｃでは、カーソル位置を太枠および斜体文字で示している。以下、図７Ａ〜７Ｄ，８Ａ〜８Ｃの表示画面を参照しつつ、図６Ａ〜６Ｃのステップに沿って動作手順を説明する。図７Ａのメインメニュー画面で矢印ボタン２４ｆ〜２４ｉに対する操作によりカーソルが移動して「はがき作成」が選択され、ＯＫボタン２４ｊが押されると（ステップＳ１０でＹＥＳ）、図７Ｂのはがき作成ＴＯＰメニュー画面が表示部２２に表示される（ステップＳ１２）。すなわち、このフォトプリンター１０では、矢印ボタン２４ｆ〜２４ｉに対する操作によりラインスクロールでカーソルが移動し、ＯＫボタン２４ｊの操作によりカーソル位置のメニューが決定されるようになっている。なお、ステップＳ１０において、ＯＫボタン２４ｊが押されるまでは（ステップＳ１０でＮＯ）、以降のステップに進まずに、このルーチンを終了する。
【００３０】
ステップＳ１２に続いて、ほぼ同時に、印刷日時順、印刷頻度順、フリガナ順で、上位レコードの文字列フォント画像の生成および生成した画像のキャッシュメモリー７５への保存が開始される（ステップＳ１４）。すなわち、描画処理部７１２は、フラッシュメモリー７４に保存されている印刷履歴に基づき、アウトラインフォント生成モジュール７１１を動作させ、属性情報を用いてビットマップデータを生成する。また、キャッシュ制御部７１３はＲＡＭ７３の指定領域にキャッシュメモリー７５を確保し、描画処理部７１２が生成したビットマップデータをキャッシュメモリー７５に保存する。ステップＳ１４において、「上位レコード」とは、図８Ａ〜８Ｃに示すように、フラッシュメモリー７４に登録されている宛名を印刷日時順、印刷頻度順、フリガナ順で表示部２２に表示したときに、画面に表示される範囲のレコードを言う。つまり、この実施形態では７人分のレコードになる。
【００３１】
ここで、ステップＳ１４で実行される具体的な手順について、図６Ｃを参照して説明する。まず、印刷日時順、印刷頻度順、フリガナ順で、上位レコードの文字列データが検索される（ステップＳ５０）。次いで、検索した文字列の属性情報とキャッシュメモリー７５に保存されている文字列の属性情報とが一致するか否かが判定され（ステップＳ５２：判定工程）、一致すれば（ステップＳ５４でＹＥＳ）、その文字列がキャッシュメモリー７５に保存されているということで、ステップＳ６２に進む。一方、属性情報が一致しなければ（ステップＳ５４でＮＯ）、キャッシュメモリー７５に他の文字列データが保存されているか否かが判定され（ステップＳ５６）、他に保存されていれば（ステップＳ５６でＹＥＳ）、ステップＳ５２に戻って、以上のステップを繰り返す。
【００３２】
一方、キャッシュメモリー７５に他の文字列データが保存されていなければ（ステップＳ５６でＮＯ）、キャッシュメモリー７５が満杯か否かが判定され（ステップＳ５８）、満杯であれば（ステップＳ５８でＹＥＳ）、このルーチンを終了する一方、満杯でなければ（ステップＳ５８でＮＯ）、検索した文字列フォント画像を新たに生成して、キャッシュメモリー７５に追加する（ステップＳ６０：生成・キャッシュ工程）。次いで、検索した文字列が他に残っているか否かが判定され（ステップＳ６２）、残っていれば（ステップＳ６２でＹＥＳ）、ステップＳ５２に戻って、以上のステップを繰り返す一方、検索した文字列が他に残っていなければ（ステップＳ６２でＮＯ）、このルーチンを終了する。
【００３３】
この実施形態では、単文字ではなくて文字列として文字データを生成し、文字列がキャッシュメモリー７５に保存されているか否かを判定する。そして、図６Ｃの手順を実行することにより、文字列が重複することなく、キャッシュメモリー７５に保存されることとなる。すなわち、例えば図８Ａ〜８Ｃでは、グループの名称として「友達」がそれぞれ２箇所に存在するが、この文字列「友達」は、最初に検索されたときに、文字列フォント画像が新たに生成されてキャッシュメモリー７５に追加される。しかし、２回目以降に検索されても、既にキャッシュメモリー７５に保存されていると判定されるため、重複して生成されてキャッシュメモリー７５に保存されることはない。
【００３４】
そして、図６Ｃの手順と図６Ａの手順とが並行して実行される。図６Ａにおいて、ステップＳ１４に続くステップＳ１６では、図７Ｂのはがき作成ＴＯＰメニュー画面で矢印ボタン２４ｆ〜２４ｉに対する操作によりカーソルが移動して「住所録管理」が選択され、ＯＫボタン２４ｊが押されると、図７Ｃの住所録管理画面が表示部２２に表示される。次いで、ステップＳ１８では、図７Ｃの住所録管理画面で矢印ボタン２４ｆ〜２４ｉに対する操作によりカーソルが移動して「宛名管理」が選択され、ＯＫボタン２４ｊが押されると、図７Ｄの宛名整列順選択画面が表示部２２に表示される。次いで、ステップＳ２０では、図７Ｄの宛名整列順選択画面で矢印ボタン２４ｆ〜２４ｉに対する操作によりカーソルが移動して、例えば「印刷日時順」が選択され、ＯＫボタン２４ｊが押されると、印刷日時順に宛名を整列させた図８Ａに示す画面を表示部２２に表示すべく、以下の動作が行われる。ここで、ステップＳ２０でＯＫボタン２４ｊが押された時点で図６Ｃの手順を実行中の場合は、図６Ｃの手順を終了させた上で、以下の動作を行う。
【００３５】
まず、描画すべき文字列がキャッシュメモリー７５に保存されているか否かが、描画すべき文字列の属性情報とキャッシュメモリー７５に保存されている文字データの属性情報とが一致するか否かに基づき判定され（ステップＳ２２）、一致すれば（ステップＳ２４でＹＥＳ）、その一致した文字列フォント画像をＶＲＡＭ７６の指定位置に描画して（ステップＳ２６）、ステップＳ３８に進む。一方、属性情報が一致しなければ（ステップＳ２４でＮＯ）、キャッシュメモリー７５に他の文字データが保存されているか否かが判定され（ステップＳ２８）、他にあれば（ステップＳ２８でＹＥＳ）、ステップＳ２２に戻って、以上のステップを繰り返す。
【００３６】
一方、キャッシュメモリー７５に他の文字データが保存されていなければ（ステップＳ３０でＮＯ）、描画すべき文字列フォント画像（ビットマップデータ）を新たに生成して、ＶＲＡＭ７６の指定位置に描画する（ステップＳ３０）。次いで、キャッシュメモリー７５が満杯になったか否かが判定され（ステップＳ３２）、満杯であれば（ステップＳ３２でＹＥＳ）、最もヒット率の低いデータをキャッシュメモリー７５から削除した後（ステップＳ３４）、ステップＳ３６に進む一方、満杯でなければ（ステップＳ３２でＮＯ）、直接ステップＳ３６に進む。
【００３７】
ステップＳ３６では、ステップＳ３０で新たに生成したビットマップデータをキャッシュメモリー７５に保存する。次いで、描画すべき文字列が他に残っているか否かが判定され（ステップＳ３８）、残っていれば（ステップＳ３８でＹＥＳ）、ステップＳ２２に戻って、以上のステップを繰り返す一方、描画すべき文字列が他に残っていなければ（ステップＳ３８でＮＯ）、このルーチンを終了する。
【００３８】
以上説明したように、この実施形態では、ユーザーが印刷日時順などの宛名整列順を選択して決定する（ステップＳ２０）前の、「はがき作成」の選択が決定された時点（ステップＳ１０）で、表示画像制御部７０４の各機能ブロックの動作を開始させて、時間を要するアウトラインフォントの生成や色変換計算を含む透過処理などを実行させて、生成したビットマップデータをキャッシュメモリー７５に保存している。これによって、ユーザーが操作している時間を有効に活用することができる。その結果、ユーザーが宛名整列順を選択して決定した時点で、描画すべき文字列フォント画像のビットマップデータの少なくとも一部がキャッシュメモリー７５に保存されているため、ユーザーの操作に応じて、表示部２２への高精細の文字表示を短時間で行うことができる。
【００３９】
また、この実施形態では、アウトラインフォントに基づき生成した文字データをキャッシュメモリー７５に保存するのではなく、アウトラインフォントに基づき生成した文字データに色変換計算を含む透過処理を実行して、そのまま描画可能なビットマップデータを生成して、キャッシュメモリー７５に保存するようにしている。これによって、キャッシュがヒットしたときは、キャッシュメモリー７５に保存されているビットマップデータを、そのままＶＲＡＭ７６に描画することができる。これに対して、単に、アウトラインフォントに基づき生成した文字データをキャッシュメモリー７５に保存していた場合には、ＶＲＡＭ７６に描画する前に色変換計算を含む透過処理を実行する必要があったため、この実施形態によれば、ユーザーの操作に応じて短時間で、見映えの良いカラー文字画像の描画を行うことができるという利点がある。
【００４０】
また、この実施形態では、表示部２２に画像を表示する際の最下層のベース背景パターンレイヤーＬ１（図４）として、行背景色情報または行グラデーション情報（図５）で表わすようにしている。すなわち、ベース背景パターンレイヤーＬ１を動画などのように変化するパターンではなくて、単色塗り潰しまたはグラデーションの規則的なパターンとしている。したがって、そのままＶＲＡＭ７６に描画可能な、色変換計算を含む透過処理後のビットマップデータをキャッシュメモリー７５に保存することができる。したがって、透過処理も含めたアウトラインフォント文字列を高速に描画することができる。
【００４１】
また、この実施形態では、フラッシュメモリー７４に保存されている印刷履歴を参照することにより、文字列フォント画像をキャッシュメモリー７５に保存できるため、印刷頻度順や印刷日時順などの印刷履歴に関する文字列の描画を高速に行うことができる。
【００４２】
また、この実施形態では、属性情報は、表示部２２に表示する文字列フォント画像を生成するのに必要な全てのパラメーターを含んでいる。したがって、描画処理部７１２が生成したビットマップデータは、そのまま表示部２２に描画可能なデータになっている。つまり、描画処理部７１２が生成したビットマップデータは、他に何ら演算をすることなく、ＶＲＡＭ７６に格納するだけでよいという利点がある。
【００４３】
また、この実施形態によれば、属性情報に含まれている全ての情報が一致したときに、当該文字列がキャッシュメモリー７５に保存されている（キャッシュにヒットした）と判定している。したがって、キャッシュにヒットしたと判定されたときは、描画すべき文字列と、キャッシュメモリー７５に保存されている文字列とが、同一であると確実に言うことができる。したがって、キャッシュメモリー７５に保存されているビットマップデータをそのままＶＲＡＭ７６に格納することができるという利点がある。
【００４４】
また、この実施形態では、描画処理部７１２、キャッシュ制御部７１３、判定部７１４を備え、これらの機能ブロックによりキャッシュ機能を構成しているため、アウトラインフォント生成モジュール７１１がキャッシュ機能を有していないにも拘らず、アウトラインフォントによる見映えの良い文字画像を高速に描画することができる。よって、アウトラインフォント生成モジュール７１１として、外部ベンダーが開発したキャッシュ機能を有していない組込用ソフトウェアを採用することもできる。また、外部ベンダーによるキャッシュ機能を有する組込用ソフトウェアを採用すると、キャッシュメモリーの容量が規定されてしまうなど、ソフトウェア設計の自由度が低下してしまう。これに対して、この実施形態では、描画処理部７１２、キャッシュ制御部７１３、判定部７１４の機能ブロックによりキャッシュ機能を構成しているため、キャッシュメモリー７５としてＲＡＭ７３に確保する領域を自由に設計できるなど、ソフトウェア設計の自由度を向上できるという利点がある。
【００４５】
以上説明したように、この実施形態では、アウトラインフォント生成モジュール７１１が本発明の「アウトラインフォント生成部」に相当し、描画処理部７１２が本発明の「出力処理部」に相当し、キャッシュメモリー７５が本発明の「キャッシュ記憶部」に相当し、表示部２２が本発明の「出力部」に相当する。
【００４６】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば上記実施形態では、上位レコード、すなわち図８Ａ〜８Ｃに示すように、フラッシュメモリー７４に登録されている宛名を印刷日時順、印刷頻度順、フリガナ順で表示部２２に表示したときに、画面に表示される範囲の各７人分のレコードについて、文字列フォント画像の生成および生成した画像のキャッシュメモリー７５への保存（以下「キャッシュ動作」という）を開始するようにしているが、これに限られない。例えば、７人分のレコードに隣接するレコードについても、キャッシュ動作を開始するようにしてもよい。以下、この利点について説明する。
【００４７】
図９Ａ〜図９Ｃは表示部２２に表示される表示画面におけるカーソル移動を説明する図で、宛名整列順を印刷頻度順として表示したものを示している。すなわち、図９Ａは図８Ｂと同一画面を表わしている。なお、図９Ａ〜９Ｃでも、上記実施形態と同様に、カーソル位置を太枠および斜体文字で示している。
【００４８】
上述したように、フォトプリンター１０では、矢印ボタン２４ｆ〜２４ｉに対する操作によりラインスクロールでカーソルが移動し、ＯＫボタン２４ｊの操作によりカーソル位置のメニューが決定されるようになっている。したがって、図９Ａに示す状態から矢印ボタン２４ｆ〜２４ｉに対する操作によりラインスクロールでカーソルを下方に移動させ、図９Ｂに示すようにカーソルが最下端のレコードに位置した後、さらにカーソルを下方に移動させると、図９Ｃに示すように、図９Ｂの最上端のレコードが表示されなくなるとともに、図９Ｂの最下端のレコードの次のレコードが、最下端に表示される。つまり、ラインスクロールによるカーソル移動を採用している場合には、上位レコード（表示部２２に表示される範囲のレコード）に隣接するレコードが表示部２２に表示される確率は高いものとなる。したがって、上位レコードに加えて、その隣接するレコードについても、キャッシュ動作を開始するようにしておくのが好ましいこととなる。つまり、図９Ａの場合には、最上端の上方に隣接するレコード（印刷回数の最も少ないレコード）と、最下端の下方に隣接するレコード（図９Ｃの最下端のレコード）とについて、キャッシュ動作を開始しておけばよい。
【００４９】
ところで、上述したように、図８Ａ〜８Ｃ，９Ａ〜９Ｃでは、カーソル位置を太枠および斜体文字で示している。一方、図５に示すように、属性情報として「斜体」の有無を含む「文字装飾」情報を有している。したがって、図９Ａのカーソルが位置している最上端のレコードと、図９Ｂのカーソルが位置していない最上端のレコードとは、属性情報が一致しないため、文字列としては異なるものと判定される。また、このフォトプリンター１０では、上述したように、ラインスクロールでカーソルが移動するため、あるレコードが、カーソルの位置する文字列として表示された後、続いてカーソルの位置しない文字列として表示されることが多くなる。
【００５０】
そこで、上位レコードは、カーソルが位置する文字列と位置しない文字列との両方について、キャッシュ動作を開始しておくようにしてもよい。このようにすると、ラインスクロールでは、カーソル有無の両方の文字列のヒット率が高くなるため、好ましい。また、図９Ｃの最下端に示すように、ラインスクロールでは、上位レコードに隣接するレコードは、まず最初に、カーソルが位置するものとして表示されるため、カーソルが位置する文字列について、キャッシュ動作を開始しておくのが好ましい。そして、キャッシュメモリー７５の容量に余裕があれば、上位レコードに隣接するレコードのカーソルが位置しない文字列についても、キャッシュ動作を開始しておくのが好ましい。
【００５１】
なお、上記実施形態では、カーソル位置を太枠および斜体文字で示しているが、例えば背景色などの表示色を変更することによってカーソル位置を示すことも考えられる。この場合にも、属性情報のうち背景色を示す情報が異なるため、文字列としては異なるものと判定される。したがって、上記実施形態とは異なる表示方法でカーソルの有無を示す場合にも、カーソルが位置する文字列と位置しない文字列との両方について、キャッシュ動作を開始しておくようにするのが好ましいこととなる。
【００５２】
また、上記実施形態では、ステップＳ１４（図６Ａ）において、印刷日時順、印刷頻度順、フリガナ順の全ての宛名整列順で、上位レコードのキャッシュ動作を開始するようにしているが、これに限られない。例えば、印刷日時順、印刷頻度順、フリガナ順のいずれか１種類または２種類の宛名整列順でキャッシュ動作を開始するようにしてもよい。この形態は、ＲＡＭ７３に確保可能なキャッシュメモリー７５の容量が小さい場合に有効である。また、例えば、キャッシュ動作を開始する宛名整列順に優先順位を設けるようにしてもよい。すなわち、例えば最初にフリガナ順の上位レコードについてキャッシュ動作を開始し、キャッシュメモリー７５に余裕があれば、次に印刷履歴に基づく印刷日時順または印刷頻度順の上位レコードについてキャッシュ動作を開始するようにしてもよい。
【００５３】
さらに、印刷日時順、印刷頻度順、フリガナ順の全ての宛名整列順でキャッシュ動作を開始（ステップＳ１４）した後に、ステップＳ２０で表示する宛名整列順が選択、決定されたとき、その宛名整列順以外の整列順（つまり上記実施形態では印刷頻度順およびフリガナ順）のレコードをキャッシュメモリー７５から削除するようにしてもよい。これによって、キャッシュメモリー７５の使用可能な容量を増大することができる。この場合、選択、決定された宛名整列順（つまり上記実施形態では印刷日時順）の上位レコードの描画動作が完了（図６Ａ，６Ｂのルーチンが終了）したときに、その上位レコードの上下に隣接するレコードについて、それぞれカーソルが位置する文字列と位置しない文字列との両方のキャッシュ動作を開始して、空いたキャッシュメモリー７５に保存するようにしてもよい。
【００５４】
また、上記実施形態では、ステップＳ３４（図６Ｂ）において、最もヒット率の低いデータをキャッシュメモリー７５から削除しているが、これに限られない。例えば、最も長時間ヒットしなかったデータをキャッシュメモリー７５から削除したり、最も古くキャッシュメモリー７５に保存されたデータを削除するようにしてもよい。
【００５５】
また、上記実施形態では、ＲＡＭ７３の指定領域にキャッシュメモリー７５を確保するようにしているが、これに限られず、ＲＡＭ７３とは別に専用のキャッシュメモリーを備えるようにしてもよい。
【００５６】
また、上記実施形態におけるプリント機構５０はインクジェット方式のプリンターであるが、例えば電子写真方式のプリンターであってもよい。また、上記実施形態における表示部２２はＬＣＤディスプレイによって画像を表示するものであるが、ＥＬ（エレクトロルミネセンス素子）ディスプレイ等他の表示方式で画像を表示するものであってもよい。
【００５７】
また、上記実施形態は、文字画像などを表示する表示機能および該文字画像などを印刷する印刷機能を有するフォトプリンターに本発明を適用したものであるが、本発明の適用対象は上記したフォトプリンターに限定されない。例えば、アウトラインフォントの文字画像を生成するアウトラインフォント生成部を備え、文字画像を表示する表示部や文字画像を印刷する印刷部などの出力部に文字画像を出力する一般の情報処理装置に対しても、本発明を適用することが可能である。
【符号の説明】
【００５８】
２２…表示部（出力部）、７５…キャッシュメモリー（キャッシュ記憶部）、７１１…アウトラインフォント生成モジュール（アウトラインフォント生成部）、７１２…描画処理部（出力処理部）、７１３…キャッシュ制御部、７１４…判定部
【図１】
2011081057.tif 000003
【図２】
2011081057.tif 000004
【図３】
2011081057.tif 000005
【図４】
2011081057.tif 000006
【図５】
2011081057.tif 000007
【図６Ａ】
2011081057.tif 000008
【図６Ｂ】
2011081057.tif 000009
【図６Ｃ】
2011081057.tif 000010
【図７Ａ】
2011081057.tif 000011
【図７Ｂ】
2011081057.tif 000012
【図７Ｃ】
2011081057.tif 000013
【図７Ｄ】
2011081057.tif 000014
【図８Ａ】
2011081057.tif 000015
【図８Ｂ】
2011081057.tif 000016
【図８Ｃ】
2011081057.tif 000017
【図９Ａ】
2011081057.tif 000018
【図９Ｂ】
2011081057.tif 000019
【図９Ｃ】
2011081057.tif 000020