情報処理装置
【課題】搭載したアウトラインフォント生成部がキャッシュ機能を有していない場合でもキャッシュ機能を実現するとともに、色変換計算を含む透過処理を不要として、高精細なカラー文字画像の描画を高速に行うことを可能とする。
【解決手段】判定部714は、出力処理部712がアウトラインフォント生成部711を制御してアウトラインフォント生成部711に文字データを生成させる前に、色情報を含む当該文字データに関連する属性情報とキャッシュ記憶部75に保存されている属性情報とに基づき、生成しようとする文字データがキャッシュ記憶部75に保存されているか否かを判定する。
【解決手段】判定部714は、出力処理部712がアウトラインフォント生成部711を制御してアウトラインフォント生成部711に文字データを生成させる前に、色情報を含む当該文字データに関連する属性情報とキャッシュ記憶部75に保存されている属性情報とに基づき、生成しようとする文字データがキャッシュ記憶部75に保存されているか否かを判定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、アウトラインフォントの文字画像を生成するアウトラインフォント生成部を備えた情報処理装置に関するものである。
【背景技術】
【0002】
アウトラインフォントの文字を画像化する場合、ビットマップ展開処理、すなわち文字の輪郭を示す関数から塗り潰す画素位置を計算し、文字の輪郭を塗り潰す処理を行っている。このため、アウトラインフォントの文字画像は、ビットマップフォントの文字画像に比べて高精細な文字を描画することができる。しかしながら、アウトラインフォントの文字画像生成には、関数計算などを含むため、ビットマップフォントの文字画像生成に比べて、文字の表示までに長時間を要するという問題があった。このような問題を解決するために、特許文献1では、アウトラインフォントに基づき生成したビットマップの文字データをキャッシュメモリーに保存しておき、その文字データを再び表示する際には、キャッシュメモリーに保存されている文字データを使用することでビットマップ展開処理を不要として、描画の高速化を図っている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−46142号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、アウトラインフォントの文字画像を生成する機能を備えた装置を構成する際には、組込用のソフトウェアとして外部ベンダーにより開発されたアウトラインフォント生成モジュールを装置に搭載することも良く行われる。このとき、搭載したアウトラインフォント生成モジュールが特許文献1のようなキャッシュ機能を有していない場合には、描画に時間がかかりすぎて実用にならない。一方、搭載したアウトラインフォント生成モジュールがキャッシュ機能を有している場合、キャッシュメモリー領域の確保や解放をアウトラインフォント生成モジュールが独自に行うこととなる。このため、メモリー資源の利用範囲が制限されるなど、ソフトウェア設計の自由度が低下することもあり得る。さらに、文字画像を例えば表示部などの出力部に出力する際には、カラーの自由度を高めて見映えを良くするために、文字列を出力するエリアの背景色、各文字毎の背景色や、文字自体のフォント色などを重なったレイヤーとして透過処理して出力することも良く行われている。この場合、単に、アウトラインフォントに基づき生成したビットマップの文字データをキャッシュメモリーに保存しておくだけでは、文字画像を出力する度に、色変換計算を含む透過処理が必要となる。このため、最終的に、出力部に出力する文字画像を生成するのに時間を要するという問題があった。
【0005】
この発明は、上記課題に鑑みてなされたもので、アウトラインフォントの文字画像を生成するアウトラインフォント生成部を備えた情報処理装置において、当該アウトラインフォント生成部がキャッシュ機能を有していない場合でもキャッシュ機能を実現するとともに、色変換計算を含む透過処理を不要として、高精細なカラー文字画像の描画を高速に行うことを可能とする技術の提供を目的とする。
【課題を解決するための手段】
【0006】
この発明にかかる情報処理装置は、上記目的を達成するため、アウトラインフォントデータに基づきビットマップ展開処理を実行してビットマップの文字データを生成するアウトラインフォント生成部と、アウトラインフォント生成部を制御してアウトラインフォント生成部に文字データを生成させるとともに、その文字データと色情報を含む当該文字データに関連する属性情報とを用いて色変換計算を含む透過処理を実行し、出力部に文字画像を出力するためのビットマップデータを生成する出力処理部と、データを一時的に記憶するキャッシュ記憶部と、出力処理部により生成されたビットマップデータを属性情報と対応付けてキャッシュ記憶部に保存するキャッシュ制御部と、出力処理部がアウトラインフォント生成部を制御してアウトラインフォント生成部に文字データを生成させる前に、当該生成しようとする文字データに関連する属性情報とキャッシュ記憶部に保存されている属性情報とに基づき、生成しようとする文字データがキャッシュ記憶部に保存されているか否かを判定する判定部とを備え、出力処理部は、生成しようとする文字データがキャッシュ記憶部に保存されていると判定部が判定したときは、アウトラインフォント生成部に文字データを生成させずに、キャッシュ記憶部に保存されているビットマップデータを用いることを特徴としている。
【0007】
このように構成された発明によれば、出力処理部により制御されて、アウトラインフォント生成部がアウトラインフォントデータに基づきビットマップ展開処理を実行してビットマップの文字データを生成する。そして、その生成された文字データと色情報を含む当該文字データに関連する属性情報とを用いて、出力処理部により色変換計算を含む透過処理が実行され、出力部に文字画像を出力するためのビットマップデータが生成される。この生成されたビットマップデータは、キャッシュ制御部により、属性情報と対応付けてキャッシュ記憶部に保存される。一方、出力処理部がアウトラインフォント生成部を制御してアウトラインフォント生成部に文字データを生成させる前に、当該生成しようとする文字データに関連する属性情報とキャッシュ記憶部に保存されている属性情報とに基づき、生成しようとする文字データがキャッシュ記憶部に保存されているか否かが、判定部により判定される。そして、生成しようとする文字データがキャッシュ記憶部に保存されていると判定されたときは、出力処理部は、アウトラインフォント生成部に文字データを生成させずに、キャッシュ記憶部に保存されているビットマップデータを用いる。ここで、出力処理部により生成されキャッシュ記憶部に保存されているビットマップデータは、アウトラインフォント生成部により生成された文字データがそのまま保存されたものではなく、その生成された文字データと色情報を含む属性情報とを用いて、色変換計算を含む透過処理が実行されて生成されたものである。このため、例えば表示部などの出力部に出力する際に、改めて透過処理を行うことなく、そのまま用いることでカラー文字画像を出力することができる。アウトラインフォント生成部により生成された文字データをキャッシュ記憶部に保存している場合には、出力部に出力する際に、改めて色変換計算を含む透過処理を行う必要があるため、出力に時間を要することになる。これに対して、この発明によれば、キャッシュ記憶部に保存されているビットマップデータをそのまま出力部に出力することが可能になっているので、出力に時間を要しないという利点がある。
【0008】
また、属性情報は、色情報として、出力部に出力する文字画像の色情報、出力部に出力する文字画像の背景の色情報および出力部のベース背景の色情報を含み、出力処理部は、属性情報に含まれる文字画像の色情報、文字画像の背景の色情報およびベース背景の色情報とアウトラインフォント生成部が生成した文字データとを用いて透過処理を実行し、ビットマップデータを生成するとしてもよい。このように構成された発明によれば、属性情報は、色情報として、出力部に出力する文字画像の色情報、出力部に出力する文字画像の背景の色情報および出力部のベース背景の色情報を含むため、透過処理により見映えの良いカラー文字画像を出力することができる。
【0009】
また、属性情報は、出力部に文字画像を出力するために必要な全ての情報を含み、判定部は、生成しようとする文字データに関連する属性情報とキャッシュ記憶部に保存されている属性情報とを比較して、各属性情報に含まれる全ての情報が互いに一致したときに、生成しようとする文字データがキャッシュ記憶部に保存されていると判定するとしてもよい。このように構成された発明によれば、属性情報は、出力部に文字画像を出力するために必要な全ての情報を含み、各属性情報に含まれる全ての情報が互いに一致したときに、生成しようとする文字データがキャッシュ記憶部に保存されていると判定されるため、キャッシュ記憶部に保存されている文字データは、出力部に出力すべく生成しようとしている文字データと確実に一致することとなる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態であるフォトプリンターを示す斜視図。
【図2】フォトプリンターの内部構成の概略を示す図。
【図3】フォトプリンターの電気的構成の要部を示すブロック図。
【図4】透過処理による文字画像生成を説明する図。
【図5】文字データに関連する属性情報を表として示す図。
【図6A】動作手順を示すフローチャート。
【図6B】動作手順を示すフローチャート。
【図6C】動作手順を示すフローチャート。
【図7A】メニュー画面を示す図。
【図7B】メニュー画面を示す図。
【図7C】メニュー画面を示す図。
【図7D】メニュー画面を示す図。
【図8A】指定された宛名整列順の表示画面を示す図。
【図8B】指定された宛名整列順の表示画面を示す図。
【図8C】指定された宛名整列順の表示画面を示す図。
【図9A】表示画面におけるカーソル移動を説明する図。
【図9B】表示画面におけるカーソル移動を説明する図。
【図9C】表示画面におけるカーソル移動を説明する図。
【発明を実施するための形態】
【0011】
図1は本発明の一実施形態であるフォトプリンターを示す斜視図である。また、図2はフォトプリンターの内部構成の概略を示す図である。このフォトプリンター10では、プリンター本体12の内部にはプリント機構50が内蔵されており、このプリント機構50の制御を司るコントローラー70からの動作指令に応じて用紙Pへの印刷を実行する。そして、こうして印刷された用紙Pがプリンター本体12の前面に排紙される。
【0012】
このプリンター本体12の前面には、前面扉14が開閉自在に取り付けられている。この前面扉14はプリンター本体12の前面を開閉するための蓋である。そして、開状態のときには、プリント機構50から排紙される用紙Pを受けるための排紙トレイとして機能する。また、プリンター本体12の前面に設けられた各種のメモリーカードスロット16をユーザーが利用可能な状態となる。つまり、この状態でユーザは印刷対象となる画像ファイルを記憶したメモリーカードMをメモリーカードスロット16に差し込むことができる。さらに、この実施形態では、記憶媒体としてメモリーカード以外にCD−R(Compact Disc Recordable:書き込み可能なコンパクトディスク)や映像DVD(Digital Versatile Disc:デジタル多用途ディスク)などのディスクを利用可能となっている。つまり、プリンター本体12のベース部分に光ディスクドライブ(Optical Disc Drive)13が設けられている。
【0013】
また、プリンター本体12の上面には操作パネル20が設けられる一方、プリンター本体12の上面の奥の一辺に対してカバー30が開閉自在に取り付けられている。このカバー30は、プリンター本体12の上面を覆うことのできる大きさに成形された樹脂板であり、開状態では操作パネル20の表面を外部に露出する。一方、カバー30が閉状態に閉じられると、操作パネル20全体を覆う。
【0014】
この操作パネル20には、文字や図形、記号などを表示する例えばLCD(Liquid Crystal Display)により構成された表示部22と、この表示部22の周囲に配置されたボタン群24とを備えている。ボタン群24は、図2に示すように、電源のオンオフを行うための電源ボタン24a、メインメニュー画面を呼び出すためのメニューボタン24b、操作を途中でキャンセルしたり用紙Pへの印刷を途中で中断したりするためのキャンセルボタン24c、用紙Pへの印刷実行を指示するための印刷ボタン24d、メモリーカードスロット16に挿入されたメモリーカードMに編集画像等を保存するための保存ボタン24e、表示部22に表示された複数の選択肢の中から所望の選択肢を選択したりカーソルを移動したりするときに操作される上下左右の各矢印ボタン24f〜24i、この上下左右の各矢印ボタン24f〜24iの中央に配置され各矢印ボタン24f〜24iによって選択されている選択肢に決定したことを指示するためのOKボタン24j、表示部22での画面表示を切り替えるための表示切替ボタン24k、表示部22に表示される左ガイドを選択する左ガイド選択ボタン24l、表示部22に表示される右ガイドを選択する右ガイド選択ボタン24m、排紙トレイとしての機能を備えた前面扉14を開く排紙トレイオープンボタン24nなどで構成されている。
【0015】
また、表示部22の表示内容を確認するために、カバー30には表示部22と同じ大きさの窓32が設けられている。つまり、カバー30が閉状態にあるときにはユーザーはこの窓32を介して表示部22の表示内容を確認することができる。一方、カバー30は開状態のときには、表示部22を図1に示すように好みの角度に調整することが可能となっている。
【0016】
このようにカバー30を開状態としたときには、操作パネル20に対して斜め後方に傾斜した状態でカバー30は保持され、用紙Pをプリント機構50へ供給するためのトレイとして利用可能となっている。また、操作パネル20の奥には、プリント機構50の給紙口28が設けられるとともに、ガイド幅が用紙の幅に合うように左右方向にスライド操作される一対の用紙ガイド29が設けられている。
【0017】
そして、給紙口28を介して用紙Pがプリント機構50に送り込まれて印刷が実行される。このプリント機構50には、図2に示すように、キャリッジ53が左右方向にループ状に架け渡されたタイミングベルト51により駆動されガイド52に沿って左右に往復動する。このキャリッジ53には、センサー57が設けられ、用紙Pの左右端や上下端を検出する。つまり、センサー57は、給紙口28にセットされた用紙に対して印刷前にキャリッジ53が左右方向に走査したときにその用紙の左右端を検出して用紙幅の認識を可能にしたり、印刷途中で用紙の後端を検出して用紙長さの認識を可能にする。
【0018】
また、このキャリッジ53には、シアン・マゼンタ・イエロー・ブラック等の各色のインクを個別に収容したインクカートリッジ54が搭載されている。これらのインクカートリッジ54はそれぞれ印刷ヘッド55に接続されている。そして、印刷ヘッド55はインクカートリッジ54からのインクに圧力をかけてノズル(図示省略)から用紙Pに向かってインクを吐出する。この実施形態では、印刷ヘッド55は圧電素子に電圧をかけることにより該圧電素子を変形させてインクを加圧する方式を採用しているが、発熱抵抗体(例えばヒーターなど)に電圧をかけインクを加熱して発生した気泡によりインクを加圧する方式を採用してもよい。こうして印刷された用紙Pは搬送ローラー56によって開状態の前面扉(排紙トレイ)14へ送り出される。また、画像形成のために、インクに代えてトナーや現像剤を用いてもよい。
【0019】
図2に示すキャリッジ53をその可動範囲内で最も右側のキャップ位置まで移動させたときに印刷ヘッド55と対向する位置には、キャップ58が設けられている。キャップ58は、長時間印刷動作を行わないときに印刷ヘッド55のノズルに被せられることにより、インクの乾燥に起因するノズルの目詰まりを防止する。また、装置が電源オフ状態にあるときにも、キャリッジ53はキャップ位置に位置決めされノズルにキャップが施されている。
【0020】
図3はフォトプリンターの電気的構成の要部を示すブロック図である。コントローラー70は、図3に示すように、CPU71を中心とするマイクロプロセッサーとして構成されており、各種処理プログラムや各種データや各種テーブルなどを記憶したROM72と、一時的にデータを記憶するRAM73と、電気的に書き換え可能で電源を切ってもデータは保持されるフラッシュメモリー74と、表示部22に描画すべき画像のデータを格納するVRAM76とを備え、これらはシステムバス77を介して互いに信号のやり取りが可能なように接続されている。このコントローラー70に対して、メモリーカードスロット16に差し込まれたメモリーカードMや光ディスクドライブ13に挿入されたディスクの画像ファイルなどが入力されるほか、プリント機構50のセンサー57からの検出信号や操作パネル20のボタン群24からの指令信号が入力される。また、コントローラー70は、メモリーカードMに画像やデータなどを保存するほか、プリント機構50の印刷ヘッド55への制御信号や操作パネル20の表示部22への制御信号を出力する。また、コントローラー70は、フラッシュメモリー74に、住所録や、宛名ごとのはがき印刷の履歴などを保存する。
【0021】
CPU71のユーザー・インターフェース(UI)入力部701は、ユーザーのボタン群24に対するスイッチ操作に基づく種々の指令信号を受けて、他の機能ブロックに必要な情報を送出する。レイアウト生成部702は、UI入力部701からの情報や、メモリーカードMからのデータなどに基づき、印刷のためのレイアウトデータを生成し、印刷処理部703に送出する。印刷処理部703は、レイアウト生成部702からのレイアウトデータを印刷データに変換し、プリント機構50の動作を制御して印刷処理を実行する。すなわち、キャリッジ53を主走査方向に往復移動させつつ、印刷ヘッド55の駆動を制御してノズルからインクを吐出させる。
【0022】
表示画像制御部704は、UI入力部701からの情報やメモリーカードMからのデータなどに基づき、表示部22の表示内容を制御する。アウトラインフォント生成モジュール711は、アウトラインフォントデータに基づきビットマップ展開処理(文字の輪郭を示す関数から塗り潰す画素位置を計算し、文字の輪郭を塗り潰す処理)を実行して、ビットマップの文字データを生成する。なお、このアウトラインフォント生成モジュール711は、生成した文字データをキャッシュメモリーに保存するキャッシュ機能を有していない。描画処理部712は、UI入力部701からの情報に基づき、アウトラインフォント生成モジュール711の動作を開始させて、アウトラインフォント生成モジュール711にビットマップの文字データを生成させる。また、描画処理部712は、その生成された文字データおよび当該文字データに関連する属性情報を用いて、色変換計算を含む透過処理を実行し、表示部22に表示するためのビットマップデータを生成する。ここで、文字データに関連する属性情報と、色変換計算を含む透過処理とについて説明する。
【0023】
図4は透過処理による文字画像生成を説明する図、図5は文字データに関連する属性情報を表として示す図である。表示部22に画像を表示する際は、図4に示すように、最下層のベース背景パターンレイヤーL1、その上層の文字列エリア背景レイヤーL2、さらにその上層の文字背景レイヤーL3および最上層のアウトラインフォントレイヤーL4の各レイヤーが重なっているものとして、色変換計算を含む透過処理を実行して、表示部22における表示色を決定する。
【0024】
ベース背景パターンレイヤーL1は、表示部22のベース背景を表わすもので、図5の行背景色情報または行グラデーション情報に対応する。行背景色情報は、R,G,Bの各値(それぞれ例えば0〜255の256段階)を有する。また、行グラデーション情報は、開始色のデータ(R,G,B)および終了色のデータ(R,G,B)と、開始から終了までのグラデーションデータとを有する。文字列エリア背景レイヤーL2は、文字列エリアの背景を表わすもので、図5のエリア背景色に対応する。文字背景レイヤーL3は各文字の背景を表わすもので、図5の文字背景色に対応する。アウトラインフォントレイヤーL4は、文字列(図4では「あいう」)を表わすもので、図5の文字色に対応する。エリア背景色、文字背景色、文字色は、それぞれ、透過率αおよびR,G,Bの各値(それぞれ例えば0〜255の256段階)を有する。そして、各レイヤーL2〜L4の透過率αに基づく当該レイヤーのR,G,B各値の寄与度を計算(例えば透過率100%ならば寄与度は0)し、表示部22に表示する画像の表示色を決定する。
【0025】
文字データに関連する属性情報は、図5に示すように、上記色情報以外に、文字列コード、縦横サイズ、文字方向縦横、均等割付指定、文字揃え、改行制限、字数制限、フォント種別、フォントサイズ、下限フォントサイズ、文字配置指定、文字間、行間、文字装飾に関する情報を含んでいる。文字列コードは、表示する文字列を表わすもので、この実施形態では例えば、シフトJISコードで表わされている。このように、図5の属性情報は、表示部22に表示する文字列フォント画像を生成するのに必要な全てのパラメーターを含んでいる。描画処理部712は、上述したように、アウトラインフォント生成モジュール711により生成された文字データおよび当該文字データに関連する属性情報を用いて、色変換計算を含む透過処理を実行し、表示部22に表示するためのビットマップデータを生成している。ここで、描画処理部712が用いる属性情報は、文字列フォント画像を生成するのに必要な全てのパラメーターを含んでいる。したがって、描画処理部712が生成したビットマップデータは、そのまま表示部22に描画可能なデータになっている。つまり、描画処理部712が生成したビットマップデータは、他に何ら演算をすることなく、VRAM76に格納するだけでよいデータになっている。
【0026】
図3に戻って、説明を続ける。キャッシュ制御部713は、RAM73の指定領域をキャッシュメモリー75として確保する。キャッシュメモリー75の記憶領域は、インデックス領域75aとデータ領域75bとによって構成される。そして、キャッシュ制御部713は、図5に示す属性情報をインデックス領域75aに格納し、インデックス領域75aの属性情報と対応付けて、描画処理部712が生成したビットマップデータをデータ領域75bに格納する。
【0027】
判定部714は、描画処理部712がアウトラインフォント生成モジュール711を制御してアウトラインフォント生成モジュール711に文字データを生成させる前に、当該生成しようとする文字データに関連する属性情報とキャッシュメモリー75に保存されている属性情報とに基づき、生成しようとする文字データが既にキャッシュメモリー75に保存されているか否かを判定する。このとき、判定部714は、図5の属性情報の全てが一致した場合に、生成しようとする文字データがキャッシュメモリー75に保存されている(キャッシュにヒットした)と判定する。
【0028】
そして、描画処理部712は、生成しようとする文字データがキャッシュメモリー75に保存されていると判定部714が判定したときは、アウトラインフォント生成モジュール711に文字データを生成させずに、キャッシュメモリー75に保存されているビットマップデータを用いる。つまり、描画処理部712は、当該ビットマップデータをVRAM76の指定位置に格納する。
【0029】
図6A,6Bは表示画像制御部704により実行される動作手順を示すフローチャート、図6Cは図6AのステップS14の具体的な手順を示すフローチャート、図7A〜7Dは表示部22に表示されるメニュー画面の一例を示す図、図8A〜8Cは表示部22に表示される指定の宛名整列順での表示画面を示す図である。なお、図7B〜7Dでは、カーソル位置を太枠で示し、図8A〜8Cでは、カーソル位置を太枠および斜体文字で示している。以下、図7A〜7D,8A〜8Cの表示画面を参照しつつ、図6A〜6Cのステップに沿って動作手順を説明する。図7Aのメインメニュー画面で矢印ボタン24f〜24iに対する操作によりカーソルが移動して「はがき作成」が選択され、OKボタン24jが押されると(ステップS10でYES)、図7Bのはがき作成TOPメニュー画面が表示部22に表示される(ステップS12)。すなわち、このフォトプリンター10では、矢印ボタン24f〜24iに対する操作によりラインスクロールでカーソルが移動し、OKボタン24jの操作によりカーソル位置のメニューが決定されるようになっている。なお、ステップS10において、OKボタン24jが押されるまでは(ステップS10でNO)、以降のステップに進まずに、このルーチンを終了する。
【0030】
ステップS12に続いて、ほぼ同時に、印刷日時順、印刷頻度順、フリガナ順で、上位レコードの文字列フォント画像の生成および生成した画像のキャッシュメモリー75への保存が開始される(ステップS14)。すなわち、描画処理部712は、フラッシュメモリー74に保存されている印刷履歴に基づき、アウトラインフォント生成モジュール711を動作させ、属性情報を用いてビットマップデータを生成する。また、キャッシュ制御部713はRAM73の指定領域にキャッシュメモリー75を確保し、描画処理部712が生成したビットマップデータをキャッシュメモリー75に保存する。ステップS14において、「上位レコード」とは、図8A〜8Cに示すように、フラッシュメモリー74に登録されている宛名を印刷日時順、印刷頻度順、フリガナ順で表示部22に表示したときに、画面に表示される範囲のレコードを言う。つまり、この実施形態では7人分のレコードになる。
【0031】
ここで、ステップS14で実行される具体的な手順について、図6Cを参照して説明する。まず、印刷日時順、印刷頻度順、フリガナ順で、上位レコードの文字列データが検索される(ステップS50)。次いで、検索した文字列の属性情報とキャッシュメモリー75に保存されている文字列の属性情報とが一致するか否かが判定され(ステップS52:判定工程)、一致すれば(ステップS54でYES)、その文字列がキャッシュメモリー75に保存されているということで、ステップS62に進む。一方、属性情報が一致しなければ(ステップS54でNO)、キャッシュメモリー75に他の文字列データが保存されているか否かが判定され(ステップS56)、他に保存されていれば(ステップS56でYES)、ステップS52に戻って、以上のステップを繰り返す。
【0032】
一方、キャッシュメモリー75に他の文字列データが保存されていなければ(ステップS56でNO)、キャッシュメモリー75が満杯か否かが判定され(ステップS58)、満杯であれば(ステップS58でYES)、このルーチンを終了する一方、満杯でなければ(ステップS58でNO)、検索した文字列フォント画像を新たに生成して、キャッシュメモリー75に追加する(ステップS60:生成・キャッシュ工程)。次いで、検索した文字列が他に残っているか否かが判定され(ステップS62)、残っていれば(ステップS62でYES)、ステップS52に戻って、以上のステップを繰り返す一方、検索した文字列が他に残っていなければ(ステップS62でNO)、このルーチンを終了する。
【0033】
この実施形態では、単文字ではなくて文字列として文字データを生成し、文字列がキャッシュメモリー75に保存されているか否かを判定する。そして、図6Cの手順を実行することにより、文字列が重複することなく、キャッシュメモリー75に保存されることとなる。すなわち、例えば図8A〜8Cでは、グループの名称として「友達」がそれぞれ2箇所に存在するが、この文字列「友達」は、最初に検索されたときに、文字列フォント画像が新たに生成されてキャッシュメモリー75に追加される。しかし、2回目以降に検索されても、既にキャッシュメモリー75に保存されていると判定されるため、重複して生成されてキャッシュメモリー75に保存されることはない。
【0034】
そして、図6Cの手順と図6Aの手順とが並行して実行される。図6Aにおいて、ステップS14に続くステップS16では、図7Bのはがき作成TOPメニュー画面で矢印ボタン24f〜24iに対する操作によりカーソルが移動して「住所録管理」が選択され、OKボタン24jが押されると、図7Cの住所録管理画面が表示部22に表示される。次いで、ステップS18では、図7Cの住所録管理画面で矢印ボタン24f〜24iに対する操作によりカーソルが移動して「宛名管理」が選択され、OKボタン24jが押されると、図7Dの宛名整列順選択画面が表示部22に表示される。次いで、ステップS20では、図7Dの宛名整列順選択画面で矢印ボタン24f〜24iに対する操作によりカーソルが移動して、例えば「印刷日時順」が選択され、OKボタン24jが押されると、印刷日時順に宛名を整列させた図8Aに示す画面を表示部22に表示すべく、以下の動作が行われる。ここで、ステップS20でOKボタン24jが押された時点で図6Cの手順を実行中の場合は、図6Cの手順を終了させた上で、以下の動作を行う。
【0035】
まず、描画すべき文字列がキャッシュメモリー75に保存されているか否かが、描画すべき文字列の属性情報とキャッシュメモリー75に保存されている文字データの属性情報とが一致するか否かに基づき判定され(ステップS22)、一致すれば(ステップS24でYES)、その一致した文字列フォント画像をVRAM76の指定位置に描画して(ステップS26)、ステップS38に進む。一方、属性情報が一致しなければ(ステップS24でNO)、キャッシュメモリー75に他の文字データが保存されているか否かが判定され(ステップS28)、他にあれば(ステップS28でYES)、ステップS22に戻って、以上のステップを繰り返す。
【0036】
一方、キャッシュメモリー75に他の文字データが保存されていなければ(ステップS30でNO)、描画すべき文字列フォント画像(ビットマップデータ)を新たに生成して、VRAM76の指定位置に描画する(ステップS30)。次いで、キャッシュメモリー75が満杯になったか否かが判定され(ステップS32)、満杯であれば(ステップS32でYES)、最もヒット率の低いデータをキャッシュメモリー75から削除した後(ステップS34)、ステップS36に進む一方、満杯でなければ(ステップS32でNO)、直接ステップS36に進む。
【0037】
ステップS36では、ステップS30で新たに生成したビットマップデータをキャッシュメモリー75に保存する。次いで、描画すべき文字列が他に残っているか否かが判定され(ステップS38)、残っていれば(ステップS38でYES)、ステップS22に戻って、以上のステップを繰り返す一方、描画すべき文字列が他に残っていなければ(ステップS38でNO)、このルーチンを終了する。
【0038】
以上説明したように、この実施形態では、ユーザーが印刷日時順などの宛名整列順を選択して決定する(ステップS20)前の、「はがき作成」の選択が決定された時点(ステップS10)で、表示画像制御部704の各機能ブロックの動作を開始させて、時間を要するアウトラインフォントの生成や色変換計算を含む透過処理などを実行させて、生成したビットマップデータをキャッシュメモリー75に保存している。これによって、ユーザーが操作している時間を有効に活用することができる。その結果、ユーザーが宛名整列順を選択して決定した時点で、描画すべき文字列フォント画像のビットマップデータの少なくとも一部がキャッシュメモリー75に保存されているため、ユーザーの操作に応じて、表示部22への高精細の文字表示を短時間で行うことができる。
【0039】
また、この実施形態では、アウトラインフォントに基づき生成した文字データをキャッシュメモリー75に保存するのではなく、アウトラインフォントに基づき生成した文字データに色変換計算を含む透過処理を実行して、そのまま描画可能なビットマップデータを生成して、キャッシュメモリー75に保存するようにしている。これによって、キャッシュがヒットしたときは、キャッシュメモリー75に保存されているビットマップデータを、そのままVRAM76に描画することができる。これに対して、単に、アウトラインフォントに基づき生成した文字データをキャッシュメモリー75に保存していた場合には、VRAM76に描画する前に色変換計算を含む透過処理を実行する必要があったため、この実施形態によれば、ユーザーの操作に応じて短時間で、見映えの良いカラー文字画像の描画を行うことができるという利点がある。
【0040】
また、この実施形態では、表示部22に画像を表示する際の最下層のベース背景パターンレイヤーL1(図4)として、行背景色情報または行グラデーション情報(図5)で表わすようにしている。すなわち、ベース背景パターンレイヤーL1を動画などのように変化するパターンではなくて、単色塗り潰しまたはグラデーションの規則的なパターンとしている。したがって、そのままVRAM76に描画可能な、色変換計算を含む透過処理後のビットマップデータをキャッシュメモリー75に保存することができる。したがって、透過処理も含めたアウトラインフォント文字列を高速に描画することができる。
【0041】
また、この実施形態では、フラッシュメモリー74に保存されている印刷履歴を参照することにより、文字列フォント画像をキャッシュメモリー75に保存できるため、印刷頻度順や印刷日時順などの印刷履歴に関する文字列の描画を高速に行うことができる。
【0042】
また、この実施形態では、属性情報は、表示部22に表示する文字列フォント画像を生成するのに必要な全てのパラメーターを含んでいる。したがって、描画処理部712が生成したビットマップデータは、そのまま表示部22に描画可能なデータになっている。つまり、描画処理部712が生成したビットマップデータは、他に何ら演算をすることなく、VRAM76に格納するだけでよいという利点がある。
【0043】
また、この実施形態によれば、属性情報に含まれている全ての情報が一致したときに、当該文字列がキャッシュメモリー75に保存されている(キャッシュにヒットした)と判定している。したがって、キャッシュにヒットしたと判定されたときは、描画すべき文字列と、キャッシュメモリー75に保存されている文字列とが、同一であると確実に言うことができる。したがって、キャッシュメモリー75に保存されているビットマップデータをそのままVRAM76に格納することができるという利点がある。
【0044】
また、この実施形態では、描画処理部712、キャッシュ制御部713、判定部714を備え、これらの機能ブロックによりキャッシュ機能を構成しているため、アウトラインフォント生成モジュール711がキャッシュ機能を有していないにも拘らず、アウトラインフォントによる見映えの良い文字画像を高速に描画することができる。よって、アウトラインフォント生成モジュール711として、外部ベンダーが開発したキャッシュ機能を有していない組込用ソフトウェアを採用することもできる。また、外部ベンダーによるキャッシュ機能を有する組込用ソフトウェアを採用すると、キャッシュメモリーの容量が規定されてしまうなど、ソフトウェア設計の自由度が低下してしまう。これに対して、この実施形態では、描画処理部712、キャッシュ制御部713、判定部714の機能ブロックによりキャッシュ機能を構成しているため、キャッシュメモリー75としてRAM73に確保する領域を自由に設計できるなど、ソフトウェア設計の自由度を向上できるという利点がある。
【0045】
以上説明したように、この実施形態では、アウトラインフォント生成モジュール711が本発明の「アウトラインフォント生成部」に相当し、描画処理部712が本発明の「出力処理部」に相当し、キャッシュメモリー75が本発明の「キャッシュ記憶部」に相当し、表示部22が本発明の「出力部」に相当する。
【0046】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば上記実施形態では、上位レコード、すなわち図8A〜8Cに示すように、フラッシュメモリー74に登録されている宛名を印刷日時順、印刷頻度順、フリガナ順で表示部22に表示したときに、画面に表示される範囲の各7人分のレコードについて、文字列フォント画像の生成および生成した画像のキャッシュメモリー75への保存(以下「キャッシュ動作」という)を開始するようにしているが、これに限られない。例えば、7人分のレコードに隣接するレコードについても、キャッシュ動作を開始するようにしてもよい。以下、この利点について説明する。
【0047】
図9A〜図9Cは表示部22に表示される表示画面におけるカーソル移動を説明する図で、宛名整列順を印刷頻度順として表示したものを示している。すなわち、図9Aは図8Bと同一画面を表わしている。なお、図9A〜9Cでも、上記実施形態と同様に、カーソル位置を太枠および斜体文字で示している。
【0048】
上述したように、フォトプリンター10では、矢印ボタン24f〜24iに対する操作によりラインスクロールでカーソルが移動し、OKボタン24jの操作によりカーソル位置のメニューが決定されるようになっている。したがって、図9Aに示す状態から矢印ボタン24f〜24iに対する操作によりラインスクロールでカーソルを下方に移動させ、図9Bに示すようにカーソルが最下端のレコードに位置した後、さらにカーソルを下方に移動させると、図9Cに示すように、図9Bの最上端のレコードが表示されなくなるとともに、図9Bの最下端のレコードの次のレコードが、最下端に表示される。つまり、ラインスクロールによるカーソル移動を採用している場合には、上位レコード(表示部22に表示される範囲のレコード)に隣接するレコードが表示部22に表示される確率は高いものとなる。したがって、上位レコードに加えて、その隣接するレコードについても、キャッシュ動作を開始するようにしておくのが好ましいこととなる。つまり、図9Aの場合には、最上端の上方に隣接するレコード(印刷回数の最も少ないレコード)と、最下端の下方に隣接するレコード(図9Cの最下端のレコード)とについて、キャッシュ動作を開始しておけばよい。
【0049】
ところで、上述したように、図8A〜8C,9A〜9Cでは、カーソル位置を太枠および斜体文字で示している。一方、図5に示すように、属性情報として「斜体」の有無を含む「文字装飾」情報を有している。したがって、図9Aのカーソルが位置している最上端のレコードと、図9Bのカーソルが位置していない最上端のレコードとは、属性情報が一致しないため、文字列としては異なるものと判定される。また、このフォトプリンター10では、上述したように、ラインスクロールでカーソルが移動するため、あるレコードが、カーソルの位置する文字列として表示された後、続いてカーソルの位置しない文字列として表示されることが多くなる。
【0050】
そこで、上位レコードは、カーソルが位置する文字列と位置しない文字列との両方について、キャッシュ動作を開始しておくようにしてもよい。このようにすると、ラインスクロールでは、カーソル有無の両方の文字列のヒット率が高くなるため、好ましい。また、図9Cの最下端に示すように、ラインスクロールでは、上位レコードに隣接するレコードは、まず最初に、カーソルが位置するものとして表示されるため、カーソルが位置する文字列について、キャッシュ動作を開始しておくのが好ましい。そして、キャッシュメモリー75の容量に余裕があれば、上位レコードに隣接するレコードのカーソルが位置しない文字列についても、キャッシュ動作を開始しておくのが好ましい。
【0051】
なお、上記実施形態では、カーソル位置を太枠および斜体文字で示しているが、例えば背景色などの表示色を変更することによってカーソル位置を示すことも考えられる。この場合にも、属性情報のうち背景色を示す情報が異なるため、文字列としては異なるものと判定される。したがって、上記実施形態とは異なる表示方法でカーソルの有無を示す場合にも、カーソルが位置する文字列と位置しない文字列との両方について、キャッシュ動作を開始しておくようにするのが好ましいこととなる。
【0052】
また、上記実施形態では、ステップS14(図6A)において、印刷日時順、印刷頻度順、フリガナ順の全ての宛名整列順で、上位レコードのキャッシュ動作を開始するようにしているが、これに限られない。例えば、印刷日時順、印刷頻度順、フリガナ順のいずれか1種類または2種類の宛名整列順でキャッシュ動作を開始するようにしてもよい。この形態は、RAM73に確保可能なキャッシュメモリー75の容量が小さい場合に有効である。また、例えば、キャッシュ動作を開始する宛名整列順に優先順位を設けるようにしてもよい。すなわち、例えば最初にフリガナ順の上位レコードについてキャッシュ動作を開始し、キャッシュメモリー75に余裕があれば、次に印刷履歴に基づく印刷日時順または印刷頻度順の上位レコードについてキャッシュ動作を開始するようにしてもよい。
【0053】
さらに、印刷日時順、印刷頻度順、フリガナ順の全ての宛名整列順でキャッシュ動作を開始(ステップS14)した後に、ステップS20で表示する宛名整列順が選択、決定されたとき、その宛名整列順以外の整列順(つまり上記実施形態では印刷頻度順およびフリガナ順)のレコードをキャッシュメモリー75から削除するようにしてもよい。これによって、キャッシュメモリー75の使用可能な容量を増大することができる。この場合、選択、決定された宛名整列順(つまり上記実施形態では印刷日時順)の上位レコードの描画動作が完了(図6A,6Bのルーチンが終了)したときに、その上位レコードの上下に隣接するレコードについて、それぞれカーソルが位置する文字列と位置しない文字列との両方のキャッシュ動作を開始して、空いたキャッシュメモリー75に保存するようにしてもよい。
【0054】
また、上記実施形態では、ステップS34(図6B)において、最もヒット率の低いデータをキャッシュメモリー75から削除しているが、これに限られない。例えば、最も長時間ヒットしなかったデータをキャッシュメモリー75から削除したり、最も古くキャッシュメモリー75に保存されたデータを削除するようにしてもよい。
【0055】
また、上記実施形態では、RAM73の指定領域にキャッシュメモリー75を確保するようにしているが、これに限られず、RAM73とは別に専用のキャッシュメモリーを備えるようにしてもよい。
【0056】
また、上記実施形態におけるプリント機構50はインクジェット方式のプリンターであるが、例えば電子写真方式のプリンターであってもよい。また、上記実施形態における表示部22はLCDディスプレイによって画像を表示するものであるが、EL(エレクトロルミネセンス素子)ディスプレイ等他の表示方式で画像を表示するものであってもよい。
【0057】
また、上記実施形態は、文字画像などを表示する表示機能および該文字画像などを印刷する印刷機能を有するフォトプリンターに本発明を適用したものであるが、本発明の適用対象は上記したフォトプリンターに限定されない。例えば、アウトラインフォントの文字画像を生成するアウトラインフォント生成部を備え、文字画像を表示する表示部や文字画像を印刷する印刷部などの出力部に文字画像を出力する一般の情報処理装置に対しても、本発明を適用することが可能である。
【符号の説明】
【0058】
22…表示部(出力部)、75…キャッシュメモリー(キャッシュ記憶部)、711…アウトラインフォント生成モジュール(アウトラインフォント生成部)、712…描画処理部(出力処理部)、713…キャッシュ制御部、714…判定部
【技術分野】
【0001】
この発明は、アウトラインフォントの文字画像を生成するアウトラインフォント生成部を備えた情報処理装置に関するものである。
【背景技術】
【0002】
アウトラインフォントの文字を画像化する場合、ビットマップ展開処理、すなわち文字の輪郭を示す関数から塗り潰す画素位置を計算し、文字の輪郭を塗り潰す処理を行っている。このため、アウトラインフォントの文字画像は、ビットマップフォントの文字画像に比べて高精細な文字を描画することができる。しかしながら、アウトラインフォントの文字画像生成には、関数計算などを含むため、ビットマップフォントの文字画像生成に比べて、文字の表示までに長時間を要するという問題があった。このような問題を解決するために、特許文献1では、アウトラインフォントに基づき生成したビットマップの文字データをキャッシュメモリーに保存しておき、その文字データを再び表示する際には、キャッシュメモリーに保存されている文字データを使用することでビットマップ展開処理を不要として、描画の高速化を図っている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−46142号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、アウトラインフォントの文字画像を生成する機能を備えた装置を構成する際には、組込用のソフトウェアとして外部ベンダーにより開発されたアウトラインフォント生成モジュールを装置に搭載することも良く行われる。このとき、搭載したアウトラインフォント生成モジュールが特許文献1のようなキャッシュ機能を有していない場合には、描画に時間がかかりすぎて実用にならない。一方、搭載したアウトラインフォント生成モジュールがキャッシュ機能を有している場合、キャッシュメモリー領域の確保や解放をアウトラインフォント生成モジュールが独自に行うこととなる。このため、メモリー資源の利用範囲が制限されるなど、ソフトウェア設計の自由度が低下することもあり得る。さらに、文字画像を例えば表示部などの出力部に出力する際には、カラーの自由度を高めて見映えを良くするために、文字列を出力するエリアの背景色、各文字毎の背景色や、文字自体のフォント色などを重なったレイヤーとして透過処理して出力することも良く行われている。この場合、単に、アウトラインフォントに基づき生成したビットマップの文字データをキャッシュメモリーに保存しておくだけでは、文字画像を出力する度に、色変換計算を含む透過処理が必要となる。このため、最終的に、出力部に出力する文字画像を生成するのに時間を要するという問題があった。
【0005】
この発明は、上記課題に鑑みてなされたもので、アウトラインフォントの文字画像を生成するアウトラインフォント生成部を備えた情報処理装置において、当該アウトラインフォント生成部がキャッシュ機能を有していない場合でもキャッシュ機能を実現するとともに、色変換計算を含む透過処理を不要として、高精細なカラー文字画像の描画を高速に行うことを可能とする技術の提供を目的とする。
【課題を解決するための手段】
【0006】
この発明にかかる情報処理装置は、上記目的を達成するため、アウトラインフォントデータに基づきビットマップ展開処理を実行してビットマップの文字データを生成するアウトラインフォント生成部と、アウトラインフォント生成部を制御してアウトラインフォント生成部に文字データを生成させるとともに、その文字データと色情報を含む当該文字データに関連する属性情報とを用いて色変換計算を含む透過処理を実行し、出力部に文字画像を出力するためのビットマップデータを生成する出力処理部と、データを一時的に記憶するキャッシュ記憶部と、出力処理部により生成されたビットマップデータを属性情報と対応付けてキャッシュ記憶部に保存するキャッシュ制御部と、出力処理部がアウトラインフォント生成部を制御してアウトラインフォント生成部に文字データを生成させる前に、当該生成しようとする文字データに関連する属性情報とキャッシュ記憶部に保存されている属性情報とに基づき、生成しようとする文字データがキャッシュ記憶部に保存されているか否かを判定する判定部とを備え、出力処理部は、生成しようとする文字データがキャッシュ記憶部に保存されていると判定部が判定したときは、アウトラインフォント生成部に文字データを生成させずに、キャッシュ記憶部に保存されているビットマップデータを用いることを特徴としている。
【0007】
このように構成された発明によれば、出力処理部により制御されて、アウトラインフォント生成部がアウトラインフォントデータに基づきビットマップ展開処理を実行してビットマップの文字データを生成する。そして、その生成された文字データと色情報を含む当該文字データに関連する属性情報とを用いて、出力処理部により色変換計算を含む透過処理が実行され、出力部に文字画像を出力するためのビットマップデータが生成される。この生成されたビットマップデータは、キャッシュ制御部により、属性情報と対応付けてキャッシュ記憶部に保存される。一方、出力処理部がアウトラインフォント生成部を制御してアウトラインフォント生成部に文字データを生成させる前に、当該生成しようとする文字データに関連する属性情報とキャッシュ記憶部に保存されている属性情報とに基づき、生成しようとする文字データがキャッシュ記憶部に保存されているか否かが、判定部により判定される。そして、生成しようとする文字データがキャッシュ記憶部に保存されていると判定されたときは、出力処理部は、アウトラインフォント生成部に文字データを生成させずに、キャッシュ記憶部に保存されているビットマップデータを用いる。ここで、出力処理部により生成されキャッシュ記憶部に保存されているビットマップデータは、アウトラインフォント生成部により生成された文字データがそのまま保存されたものではなく、その生成された文字データと色情報を含む属性情報とを用いて、色変換計算を含む透過処理が実行されて生成されたものである。このため、例えば表示部などの出力部に出力する際に、改めて透過処理を行うことなく、そのまま用いることでカラー文字画像を出力することができる。アウトラインフォント生成部により生成された文字データをキャッシュ記憶部に保存している場合には、出力部に出力する際に、改めて色変換計算を含む透過処理を行う必要があるため、出力に時間を要することになる。これに対して、この発明によれば、キャッシュ記憶部に保存されているビットマップデータをそのまま出力部に出力することが可能になっているので、出力に時間を要しないという利点がある。
【0008】
また、属性情報は、色情報として、出力部に出力する文字画像の色情報、出力部に出力する文字画像の背景の色情報および出力部のベース背景の色情報を含み、出力処理部は、属性情報に含まれる文字画像の色情報、文字画像の背景の色情報およびベース背景の色情報とアウトラインフォント生成部が生成した文字データとを用いて透過処理を実行し、ビットマップデータを生成するとしてもよい。このように構成された発明によれば、属性情報は、色情報として、出力部に出力する文字画像の色情報、出力部に出力する文字画像の背景の色情報および出力部のベース背景の色情報を含むため、透過処理により見映えの良いカラー文字画像を出力することができる。
【0009】
また、属性情報は、出力部に文字画像を出力するために必要な全ての情報を含み、判定部は、生成しようとする文字データに関連する属性情報とキャッシュ記憶部に保存されている属性情報とを比較して、各属性情報に含まれる全ての情報が互いに一致したときに、生成しようとする文字データがキャッシュ記憶部に保存されていると判定するとしてもよい。このように構成された発明によれば、属性情報は、出力部に文字画像を出力するために必要な全ての情報を含み、各属性情報に含まれる全ての情報が互いに一致したときに、生成しようとする文字データがキャッシュ記憶部に保存されていると判定されるため、キャッシュ記憶部に保存されている文字データは、出力部に出力すべく生成しようとしている文字データと確実に一致することとなる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態であるフォトプリンターを示す斜視図。
【図2】フォトプリンターの内部構成の概略を示す図。
【図3】フォトプリンターの電気的構成の要部を示すブロック図。
【図4】透過処理による文字画像生成を説明する図。
【図5】文字データに関連する属性情報を表として示す図。
【図6A】動作手順を示すフローチャート。
【図6B】動作手順を示すフローチャート。
【図6C】動作手順を示すフローチャート。
【図7A】メニュー画面を示す図。
【図7B】メニュー画面を示す図。
【図7C】メニュー画面を示す図。
【図7D】メニュー画面を示す図。
【図8A】指定された宛名整列順の表示画面を示す図。
【図8B】指定された宛名整列順の表示画面を示す図。
【図8C】指定された宛名整列順の表示画面を示す図。
【図9A】表示画面におけるカーソル移動を説明する図。
【図9B】表示画面におけるカーソル移動を説明する図。
【図9C】表示画面におけるカーソル移動を説明する図。
【発明を実施するための形態】
【0011】
図1は本発明の一実施形態であるフォトプリンターを示す斜視図である。また、図2はフォトプリンターの内部構成の概略を示す図である。このフォトプリンター10では、プリンター本体12の内部にはプリント機構50が内蔵されており、このプリント機構50の制御を司るコントローラー70からの動作指令に応じて用紙Pへの印刷を実行する。そして、こうして印刷された用紙Pがプリンター本体12の前面に排紙される。
【0012】
このプリンター本体12の前面には、前面扉14が開閉自在に取り付けられている。この前面扉14はプリンター本体12の前面を開閉するための蓋である。そして、開状態のときには、プリント機構50から排紙される用紙Pを受けるための排紙トレイとして機能する。また、プリンター本体12の前面に設けられた各種のメモリーカードスロット16をユーザーが利用可能な状態となる。つまり、この状態でユーザは印刷対象となる画像ファイルを記憶したメモリーカードMをメモリーカードスロット16に差し込むことができる。さらに、この実施形態では、記憶媒体としてメモリーカード以外にCD−R(Compact Disc Recordable:書き込み可能なコンパクトディスク)や映像DVD(Digital Versatile Disc:デジタル多用途ディスク)などのディスクを利用可能となっている。つまり、プリンター本体12のベース部分に光ディスクドライブ(Optical Disc Drive)13が設けられている。
【0013】
また、プリンター本体12の上面には操作パネル20が設けられる一方、プリンター本体12の上面の奥の一辺に対してカバー30が開閉自在に取り付けられている。このカバー30は、プリンター本体12の上面を覆うことのできる大きさに成形された樹脂板であり、開状態では操作パネル20の表面を外部に露出する。一方、カバー30が閉状態に閉じられると、操作パネル20全体を覆う。
【0014】
この操作パネル20には、文字や図形、記号などを表示する例えばLCD(Liquid Crystal Display)により構成された表示部22と、この表示部22の周囲に配置されたボタン群24とを備えている。ボタン群24は、図2に示すように、電源のオンオフを行うための電源ボタン24a、メインメニュー画面を呼び出すためのメニューボタン24b、操作を途中でキャンセルしたり用紙Pへの印刷を途中で中断したりするためのキャンセルボタン24c、用紙Pへの印刷実行を指示するための印刷ボタン24d、メモリーカードスロット16に挿入されたメモリーカードMに編集画像等を保存するための保存ボタン24e、表示部22に表示された複数の選択肢の中から所望の選択肢を選択したりカーソルを移動したりするときに操作される上下左右の各矢印ボタン24f〜24i、この上下左右の各矢印ボタン24f〜24iの中央に配置され各矢印ボタン24f〜24iによって選択されている選択肢に決定したことを指示するためのOKボタン24j、表示部22での画面表示を切り替えるための表示切替ボタン24k、表示部22に表示される左ガイドを選択する左ガイド選択ボタン24l、表示部22に表示される右ガイドを選択する右ガイド選択ボタン24m、排紙トレイとしての機能を備えた前面扉14を開く排紙トレイオープンボタン24nなどで構成されている。
【0015】
また、表示部22の表示内容を確認するために、カバー30には表示部22と同じ大きさの窓32が設けられている。つまり、カバー30が閉状態にあるときにはユーザーはこの窓32を介して表示部22の表示内容を確認することができる。一方、カバー30は開状態のときには、表示部22を図1に示すように好みの角度に調整することが可能となっている。
【0016】
このようにカバー30を開状態としたときには、操作パネル20に対して斜め後方に傾斜した状態でカバー30は保持され、用紙Pをプリント機構50へ供給するためのトレイとして利用可能となっている。また、操作パネル20の奥には、プリント機構50の給紙口28が設けられるとともに、ガイド幅が用紙の幅に合うように左右方向にスライド操作される一対の用紙ガイド29が設けられている。
【0017】
そして、給紙口28を介して用紙Pがプリント機構50に送り込まれて印刷が実行される。このプリント機構50には、図2に示すように、キャリッジ53が左右方向にループ状に架け渡されたタイミングベルト51により駆動されガイド52に沿って左右に往復動する。このキャリッジ53には、センサー57が設けられ、用紙Pの左右端や上下端を検出する。つまり、センサー57は、給紙口28にセットされた用紙に対して印刷前にキャリッジ53が左右方向に走査したときにその用紙の左右端を検出して用紙幅の認識を可能にしたり、印刷途中で用紙の後端を検出して用紙長さの認識を可能にする。
【0018】
また、このキャリッジ53には、シアン・マゼンタ・イエロー・ブラック等の各色のインクを個別に収容したインクカートリッジ54が搭載されている。これらのインクカートリッジ54はそれぞれ印刷ヘッド55に接続されている。そして、印刷ヘッド55はインクカートリッジ54からのインクに圧力をかけてノズル(図示省略)から用紙Pに向かってインクを吐出する。この実施形態では、印刷ヘッド55は圧電素子に電圧をかけることにより該圧電素子を変形させてインクを加圧する方式を採用しているが、発熱抵抗体(例えばヒーターなど)に電圧をかけインクを加熱して発生した気泡によりインクを加圧する方式を採用してもよい。こうして印刷された用紙Pは搬送ローラー56によって開状態の前面扉(排紙トレイ)14へ送り出される。また、画像形成のために、インクに代えてトナーや現像剤を用いてもよい。
【0019】
図2に示すキャリッジ53をその可動範囲内で最も右側のキャップ位置まで移動させたときに印刷ヘッド55と対向する位置には、キャップ58が設けられている。キャップ58は、長時間印刷動作を行わないときに印刷ヘッド55のノズルに被せられることにより、インクの乾燥に起因するノズルの目詰まりを防止する。また、装置が電源オフ状態にあるときにも、キャリッジ53はキャップ位置に位置決めされノズルにキャップが施されている。
【0020】
図3はフォトプリンターの電気的構成の要部を示すブロック図である。コントローラー70は、図3に示すように、CPU71を中心とするマイクロプロセッサーとして構成されており、各種処理プログラムや各種データや各種テーブルなどを記憶したROM72と、一時的にデータを記憶するRAM73と、電気的に書き換え可能で電源を切ってもデータは保持されるフラッシュメモリー74と、表示部22に描画すべき画像のデータを格納するVRAM76とを備え、これらはシステムバス77を介して互いに信号のやり取りが可能なように接続されている。このコントローラー70に対して、メモリーカードスロット16に差し込まれたメモリーカードMや光ディスクドライブ13に挿入されたディスクの画像ファイルなどが入力されるほか、プリント機構50のセンサー57からの検出信号や操作パネル20のボタン群24からの指令信号が入力される。また、コントローラー70は、メモリーカードMに画像やデータなどを保存するほか、プリント機構50の印刷ヘッド55への制御信号や操作パネル20の表示部22への制御信号を出力する。また、コントローラー70は、フラッシュメモリー74に、住所録や、宛名ごとのはがき印刷の履歴などを保存する。
【0021】
CPU71のユーザー・インターフェース(UI)入力部701は、ユーザーのボタン群24に対するスイッチ操作に基づく種々の指令信号を受けて、他の機能ブロックに必要な情報を送出する。レイアウト生成部702は、UI入力部701からの情報や、メモリーカードMからのデータなどに基づき、印刷のためのレイアウトデータを生成し、印刷処理部703に送出する。印刷処理部703は、レイアウト生成部702からのレイアウトデータを印刷データに変換し、プリント機構50の動作を制御して印刷処理を実行する。すなわち、キャリッジ53を主走査方向に往復移動させつつ、印刷ヘッド55の駆動を制御してノズルからインクを吐出させる。
【0022】
表示画像制御部704は、UI入力部701からの情報やメモリーカードMからのデータなどに基づき、表示部22の表示内容を制御する。アウトラインフォント生成モジュール711は、アウトラインフォントデータに基づきビットマップ展開処理(文字の輪郭を示す関数から塗り潰す画素位置を計算し、文字の輪郭を塗り潰す処理)を実行して、ビットマップの文字データを生成する。なお、このアウトラインフォント生成モジュール711は、生成した文字データをキャッシュメモリーに保存するキャッシュ機能を有していない。描画処理部712は、UI入力部701からの情報に基づき、アウトラインフォント生成モジュール711の動作を開始させて、アウトラインフォント生成モジュール711にビットマップの文字データを生成させる。また、描画処理部712は、その生成された文字データおよび当該文字データに関連する属性情報を用いて、色変換計算を含む透過処理を実行し、表示部22に表示するためのビットマップデータを生成する。ここで、文字データに関連する属性情報と、色変換計算を含む透過処理とについて説明する。
【0023】
図4は透過処理による文字画像生成を説明する図、図5は文字データに関連する属性情報を表として示す図である。表示部22に画像を表示する際は、図4に示すように、最下層のベース背景パターンレイヤーL1、その上層の文字列エリア背景レイヤーL2、さらにその上層の文字背景レイヤーL3および最上層のアウトラインフォントレイヤーL4の各レイヤーが重なっているものとして、色変換計算を含む透過処理を実行して、表示部22における表示色を決定する。
【0024】
ベース背景パターンレイヤーL1は、表示部22のベース背景を表わすもので、図5の行背景色情報または行グラデーション情報に対応する。行背景色情報は、R,G,Bの各値(それぞれ例えば0〜255の256段階)を有する。また、行グラデーション情報は、開始色のデータ(R,G,B)および終了色のデータ(R,G,B)と、開始から終了までのグラデーションデータとを有する。文字列エリア背景レイヤーL2は、文字列エリアの背景を表わすもので、図5のエリア背景色に対応する。文字背景レイヤーL3は各文字の背景を表わすもので、図5の文字背景色に対応する。アウトラインフォントレイヤーL4は、文字列(図4では「あいう」)を表わすもので、図5の文字色に対応する。エリア背景色、文字背景色、文字色は、それぞれ、透過率αおよびR,G,Bの各値(それぞれ例えば0〜255の256段階)を有する。そして、各レイヤーL2〜L4の透過率αに基づく当該レイヤーのR,G,B各値の寄与度を計算(例えば透過率100%ならば寄与度は0)し、表示部22に表示する画像の表示色を決定する。
【0025】
文字データに関連する属性情報は、図5に示すように、上記色情報以外に、文字列コード、縦横サイズ、文字方向縦横、均等割付指定、文字揃え、改行制限、字数制限、フォント種別、フォントサイズ、下限フォントサイズ、文字配置指定、文字間、行間、文字装飾に関する情報を含んでいる。文字列コードは、表示する文字列を表わすもので、この実施形態では例えば、シフトJISコードで表わされている。このように、図5の属性情報は、表示部22に表示する文字列フォント画像を生成するのに必要な全てのパラメーターを含んでいる。描画処理部712は、上述したように、アウトラインフォント生成モジュール711により生成された文字データおよび当該文字データに関連する属性情報を用いて、色変換計算を含む透過処理を実行し、表示部22に表示するためのビットマップデータを生成している。ここで、描画処理部712が用いる属性情報は、文字列フォント画像を生成するのに必要な全てのパラメーターを含んでいる。したがって、描画処理部712が生成したビットマップデータは、そのまま表示部22に描画可能なデータになっている。つまり、描画処理部712が生成したビットマップデータは、他に何ら演算をすることなく、VRAM76に格納するだけでよいデータになっている。
【0026】
図3に戻って、説明を続ける。キャッシュ制御部713は、RAM73の指定領域をキャッシュメモリー75として確保する。キャッシュメモリー75の記憶領域は、インデックス領域75aとデータ領域75bとによって構成される。そして、キャッシュ制御部713は、図5に示す属性情報をインデックス領域75aに格納し、インデックス領域75aの属性情報と対応付けて、描画処理部712が生成したビットマップデータをデータ領域75bに格納する。
【0027】
判定部714は、描画処理部712がアウトラインフォント生成モジュール711を制御してアウトラインフォント生成モジュール711に文字データを生成させる前に、当該生成しようとする文字データに関連する属性情報とキャッシュメモリー75に保存されている属性情報とに基づき、生成しようとする文字データが既にキャッシュメモリー75に保存されているか否かを判定する。このとき、判定部714は、図5の属性情報の全てが一致した場合に、生成しようとする文字データがキャッシュメモリー75に保存されている(キャッシュにヒットした)と判定する。
【0028】
そして、描画処理部712は、生成しようとする文字データがキャッシュメモリー75に保存されていると判定部714が判定したときは、アウトラインフォント生成モジュール711に文字データを生成させずに、キャッシュメモリー75に保存されているビットマップデータを用いる。つまり、描画処理部712は、当該ビットマップデータをVRAM76の指定位置に格納する。
【0029】
図6A,6Bは表示画像制御部704により実行される動作手順を示すフローチャート、図6Cは図6AのステップS14の具体的な手順を示すフローチャート、図7A〜7Dは表示部22に表示されるメニュー画面の一例を示す図、図8A〜8Cは表示部22に表示される指定の宛名整列順での表示画面を示す図である。なお、図7B〜7Dでは、カーソル位置を太枠で示し、図8A〜8Cでは、カーソル位置を太枠および斜体文字で示している。以下、図7A〜7D,8A〜8Cの表示画面を参照しつつ、図6A〜6Cのステップに沿って動作手順を説明する。図7Aのメインメニュー画面で矢印ボタン24f〜24iに対する操作によりカーソルが移動して「はがき作成」が選択され、OKボタン24jが押されると(ステップS10でYES)、図7Bのはがき作成TOPメニュー画面が表示部22に表示される(ステップS12)。すなわち、このフォトプリンター10では、矢印ボタン24f〜24iに対する操作によりラインスクロールでカーソルが移動し、OKボタン24jの操作によりカーソル位置のメニューが決定されるようになっている。なお、ステップS10において、OKボタン24jが押されるまでは(ステップS10でNO)、以降のステップに進まずに、このルーチンを終了する。
【0030】
ステップS12に続いて、ほぼ同時に、印刷日時順、印刷頻度順、フリガナ順で、上位レコードの文字列フォント画像の生成および生成した画像のキャッシュメモリー75への保存が開始される(ステップS14)。すなわち、描画処理部712は、フラッシュメモリー74に保存されている印刷履歴に基づき、アウトラインフォント生成モジュール711を動作させ、属性情報を用いてビットマップデータを生成する。また、キャッシュ制御部713はRAM73の指定領域にキャッシュメモリー75を確保し、描画処理部712が生成したビットマップデータをキャッシュメモリー75に保存する。ステップS14において、「上位レコード」とは、図8A〜8Cに示すように、フラッシュメモリー74に登録されている宛名を印刷日時順、印刷頻度順、フリガナ順で表示部22に表示したときに、画面に表示される範囲のレコードを言う。つまり、この実施形態では7人分のレコードになる。
【0031】
ここで、ステップS14で実行される具体的な手順について、図6Cを参照して説明する。まず、印刷日時順、印刷頻度順、フリガナ順で、上位レコードの文字列データが検索される(ステップS50)。次いで、検索した文字列の属性情報とキャッシュメモリー75に保存されている文字列の属性情報とが一致するか否かが判定され(ステップS52:判定工程)、一致すれば(ステップS54でYES)、その文字列がキャッシュメモリー75に保存されているということで、ステップS62に進む。一方、属性情報が一致しなければ(ステップS54でNO)、キャッシュメモリー75に他の文字列データが保存されているか否かが判定され(ステップS56)、他に保存されていれば(ステップS56でYES)、ステップS52に戻って、以上のステップを繰り返す。
【0032】
一方、キャッシュメモリー75に他の文字列データが保存されていなければ(ステップS56でNO)、キャッシュメモリー75が満杯か否かが判定され(ステップS58)、満杯であれば(ステップS58でYES)、このルーチンを終了する一方、満杯でなければ(ステップS58でNO)、検索した文字列フォント画像を新たに生成して、キャッシュメモリー75に追加する(ステップS60:生成・キャッシュ工程)。次いで、検索した文字列が他に残っているか否かが判定され(ステップS62)、残っていれば(ステップS62でYES)、ステップS52に戻って、以上のステップを繰り返す一方、検索した文字列が他に残っていなければ(ステップS62でNO)、このルーチンを終了する。
【0033】
この実施形態では、単文字ではなくて文字列として文字データを生成し、文字列がキャッシュメモリー75に保存されているか否かを判定する。そして、図6Cの手順を実行することにより、文字列が重複することなく、キャッシュメモリー75に保存されることとなる。すなわち、例えば図8A〜8Cでは、グループの名称として「友達」がそれぞれ2箇所に存在するが、この文字列「友達」は、最初に検索されたときに、文字列フォント画像が新たに生成されてキャッシュメモリー75に追加される。しかし、2回目以降に検索されても、既にキャッシュメモリー75に保存されていると判定されるため、重複して生成されてキャッシュメモリー75に保存されることはない。
【0034】
そして、図6Cの手順と図6Aの手順とが並行して実行される。図6Aにおいて、ステップS14に続くステップS16では、図7Bのはがき作成TOPメニュー画面で矢印ボタン24f〜24iに対する操作によりカーソルが移動して「住所録管理」が選択され、OKボタン24jが押されると、図7Cの住所録管理画面が表示部22に表示される。次いで、ステップS18では、図7Cの住所録管理画面で矢印ボタン24f〜24iに対する操作によりカーソルが移動して「宛名管理」が選択され、OKボタン24jが押されると、図7Dの宛名整列順選択画面が表示部22に表示される。次いで、ステップS20では、図7Dの宛名整列順選択画面で矢印ボタン24f〜24iに対する操作によりカーソルが移動して、例えば「印刷日時順」が選択され、OKボタン24jが押されると、印刷日時順に宛名を整列させた図8Aに示す画面を表示部22に表示すべく、以下の動作が行われる。ここで、ステップS20でOKボタン24jが押された時点で図6Cの手順を実行中の場合は、図6Cの手順を終了させた上で、以下の動作を行う。
【0035】
まず、描画すべき文字列がキャッシュメモリー75に保存されているか否かが、描画すべき文字列の属性情報とキャッシュメモリー75に保存されている文字データの属性情報とが一致するか否かに基づき判定され(ステップS22)、一致すれば(ステップS24でYES)、その一致した文字列フォント画像をVRAM76の指定位置に描画して(ステップS26)、ステップS38に進む。一方、属性情報が一致しなければ(ステップS24でNO)、キャッシュメモリー75に他の文字データが保存されているか否かが判定され(ステップS28)、他にあれば(ステップS28でYES)、ステップS22に戻って、以上のステップを繰り返す。
【0036】
一方、キャッシュメモリー75に他の文字データが保存されていなければ(ステップS30でNO)、描画すべき文字列フォント画像(ビットマップデータ)を新たに生成して、VRAM76の指定位置に描画する(ステップS30)。次いで、キャッシュメモリー75が満杯になったか否かが判定され(ステップS32)、満杯であれば(ステップS32でYES)、最もヒット率の低いデータをキャッシュメモリー75から削除した後(ステップS34)、ステップS36に進む一方、満杯でなければ(ステップS32でNO)、直接ステップS36に進む。
【0037】
ステップS36では、ステップS30で新たに生成したビットマップデータをキャッシュメモリー75に保存する。次いで、描画すべき文字列が他に残っているか否かが判定され(ステップS38)、残っていれば(ステップS38でYES)、ステップS22に戻って、以上のステップを繰り返す一方、描画すべき文字列が他に残っていなければ(ステップS38でNO)、このルーチンを終了する。
【0038】
以上説明したように、この実施形態では、ユーザーが印刷日時順などの宛名整列順を選択して決定する(ステップS20)前の、「はがき作成」の選択が決定された時点(ステップS10)で、表示画像制御部704の各機能ブロックの動作を開始させて、時間を要するアウトラインフォントの生成や色変換計算を含む透過処理などを実行させて、生成したビットマップデータをキャッシュメモリー75に保存している。これによって、ユーザーが操作している時間を有効に活用することができる。その結果、ユーザーが宛名整列順を選択して決定した時点で、描画すべき文字列フォント画像のビットマップデータの少なくとも一部がキャッシュメモリー75に保存されているため、ユーザーの操作に応じて、表示部22への高精細の文字表示を短時間で行うことができる。
【0039】
また、この実施形態では、アウトラインフォントに基づき生成した文字データをキャッシュメモリー75に保存するのではなく、アウトラインフォントに基づき生成した文字データに色変換計算を含む透過処理を実行して、そのまま描画可能なビットマップデータを生成して、キャッシュメモリー75に保存するようにしている。これによって、キャッシュがヒットしたときは、キャッシュメモリー75に保存されているビットマップデータを、そのままVRAM76に描画することができる。これに対して、単に、アウトラインフォントに基づき生成した文字データをキャッシュメモリー75に保存していた場合には、VRAM76に描画する前に色変換計算を含む透過処理を実行する必要があったため、この実施形態によれば、ユーザーの操作に応じて短時間で、見映えの良いカラー文字画像の描画を行うことができるという利点がある。
【0040】
また、この実施形態では、表示部22に画像を表示する際の最下層のベース背景パターンレイヤーL1(図4)として、行背景色情報または行グラデーション情報(図5)で表わすようにしている。すなわち、ベース背景パターンレイヤーL1を動画などのように変化するパターンではなくて、単色塗り潰しまたはグラデーションの規則的なパターンとしている。したがって、そのままVRAM76に描画可能な、色変換計算を含む透過処理後のビットマップデータをキャッシュメモリー75に保存することができる。したがって、透過処理も含めたアウトラインフォント文字列を高速に描画することができる。
【0041】
また、この実施形態では、フラッシュメモリー74に保存されている印刷履歴を参照することにより、文字列フォント画像をキャッシュメモリー75に保存できるため、印刷頻度順や印刷日時順などの印刷履歴に関する文字列の描画を高速に行うことができる。
【0042】
また、この実施形態では、属性情報は、表示部22に表示する文字列フォント画像を生成するのに必要な全てのパラメーターを含んでいる。したがって、描画処理部712が生成したビットマップデータは、そのまま表示部22に描画可能なデータになっている。つまり、描画処理部712が生成したビットマップデータは、他に何ら演算をすることなく、VRAM76に格納するだけでよいという利点がある。
【0043】
また、この実施形態によれば、属性情報に含まれている全ての情報が一致したときに、当該文字列がキャッシュメモリー75に保存されている(キャッシュにヒットした)と判定している。したがって、キャッシュにヒットしたと判定されたときは、描画すべき文字列と、キャッシュメモリー75に保存されている文字列とが、同一であると確実に言うことができる。したがって、キャッシュメモリー75に保存されているビットマップデータをそのままVRAM76に格納することができるという利点がある。
【0044】
また、この実施形態では、描画処理部712、キャッシュ制御部713、判定部714を備え、これらの機能ブロックによりキャッシュ機能を構成しているため、アウトラインフォント生成モジュール711がキャッシュ機能を有していないにも拘らず、アウトラインフォントによる見映えの良い文字画像を高速に描画することができる。よって、アウトラインフォント生成モジュール711として、外部ベンダーが開発したキャッシュ機能を有していない組込用ソフトウェアを採用することもできる。また、外部ベンダーによるキャッシュ機能を有する組込用ソフトウェアを採用すると、キャッシュメモリーの容量が規定されてしまうなど、ソフトウェア設計の自由度が低下してしまう。これに対して、この実施形態では、描画処理部712、キャッシュ制御部713、判定部714の機能ブロックによりキャッシュ機能を構成しているため、キャッシュメモリー75としてRAM73に確保する領域を自由に設計できるなど、ソフトウェア設計の自由度を向上できるという利点がある。
【0045】
以上説明したように、この実施形態では、アウトラインフォント生成モジュール711が本発明の「アウトラインフォント生成部」に相当し、描画処理部712が本発明の「出力処理部」に相当し、キャッシュメモリー75が本発明の「キャッシュ記憶部」に相当し、表示部22が本発明の「出力部」に相当する。
【0046】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば上記実施形態では、上位レコード、すなわち図8A〜8Cに示すように、フラッシュメモリー74に登録されている宛名を印刷日時順、印刷頻度順、フリガナ順で表示部22に表示したときに、画面に表示される範囲の各7人分のレコードについて、文字列フォント画像の生成および生成した画像のキャッシュメモリー75への保存(以下「キャッシュ動作」という)を開始するようにしているが、これに限られない。例えば、7人分のレコードに隣接するレコードについても、キャッシュ動作を開始するようにしてもよい。以下、この利点について説明する。
【0047】
図9A〜図9Cは表示部22に表示される表示画面におけるカーソル移動を説明する図で、宛名整列順を印刷頻度順として表示したものを示している。すなわち、図9Aは図8Bと同一画面を表わしている。なお、図9A〜9Cでも、上記実施形態と同様に、カーソル位置を太枠および斜体文字で示している。
【0048】
上述したように、フォトプリンター10では、矢印ボタン24f〜24iに対する操作によりラインスクロールでカーソルが移動し、OKボタン24jの操作によりカーソル位置のメニューが決定されるようになっている。したがって、図9Aに示す状態から矢印ボタン24f〜24iに対する操作によりラインスクロールでカーソルを下方に移動させ、図9Bに示すようにカーソルが最下端のレコードに位置した後、さらにカーソルを下方に移動させると、図9Cに示すように、図9Bの最上端のレコードが表示されなくなるとともに、図9Bの最下端のレコードの次のレコードが、最下端に表示される。つまり、ラインスクロールによるカーソル移動を採用している場合には、上位レコード(表示部22に表示される範囲のレコード)に隣接するレコードが表示部22に表示される確率は高いものとなる。したがって、上位レコードに加えて、その隣接するレコードについても、キャッシュ動作を開始するようにしておくのが好ましいこととなる。つまり、図9Aの場合には、最上端の上方に隣接するレコード(印刷回数の最も少ないレコード)と、最下端の下方に隣接するレコード(図9Cの最下端のレコード)とについて、キャッシュ動作を開始しておけばよい。
【0049】
ところで、上述したように、図8A〜8C,9A〜9Cでは、カーソル位置を太枠および斜体文字で示している。一方、図5に示すように、属性情報として「斜体」の有無を含む「文字装飾」情報を有している。したがって、図9Aのカーソルが位置している最上端のレコードと、図9Bのカーソルが位置していない最上端のレコードとは、属性情報が一致しないため、文字列としては異なるものと判定される。また、このフォトプリンター10では、上述したように、ラインスクロールでカーソルが移動するため、あるレコードが、カーソルの位置する文字列として表示された後、続いてカーソルの位置しない文字列として表示されることが多くなる。
【0050】
そこで、上位レコードは、カーソルが位置する文字列と位置しない文字列との両方について、キャッシュ動作を開始しておくようにしてもよい。このようにすると、ラインスクロールでは、カーソル有無の両方の文字列のヒット率が高くなるため、好ましい。また、図9Cの最下端に示すように、ラインスクロールでは、上位レコードに隣接するレコードは、まず最初に、カーソルが位置するものとして表示されるため、カーソルが位置する文字列について、キャッシュ動作を開始しておくのが好ましい。そして、キャッシュメモリー75の容量に余裕があれば、上位レコードに隣接するレコードのカーソルが位置しない文字列についても、キャッシュ動作を開始しておくのが好ましい。
【0051】
なお、上記実施形態では、カーソル位置を太枠および斜体文字で示しているが、例えば背景色などの表示色を変更することによってカーソル位置を示すことも考えられる。この場合にも、属性情報のうち背景色を示す情報が異なるため、文字列としては異なるものと判定される。したがって、上記実施形態とは異なる表示方法でカーソルの有無を示す場合にも、カーソルが位置する文字列と位置しない文字列との両方について、キャッシュ動作を開始しておくようにするのが好ましいこととなる。
【0052】
また、上記実施形態では、ステップS14(図6A)において、印刷日時順、印刷頻度順、フリガナ順の全ての宛名整列順で、上位レコードのキャッシュ動作を開始するようにしているが、これに限られない。例えば、印刷日時順、印刷頻度順、フリガナ順のいずれか1種類または2種類の宛名整列順でキャッシュ動作を開始するようにしてもよい。この形態は、RAM73に確保可能なキャッシュメモリー75の容量が小さい場合に有効である。また、例えば、キャッシュ動作を開始する宛名整列順に優先順位を設けるようにしてもよい。すなわち、例えば最初にフリガナ順の上位レコードについてキャッシュ動作を開始し、キャッシュメモリー75に余裕があれば、次に印刷履歴に基づく印刷日時順または印刷頻度順の上位レコードについてキャッシュ動作を開始するようにしてもよい。
【0053】
さらに、印刷日時順、印刷頻度順、フリガナ順の全ての宛名整列順でキャッシュ動作を開始(ステップS14)した後に、ステップS20で表示する宛名整列順が選択、決定されたとき、その宛名整列順以外の整列順(つまり上記実施形態では印刷頻度順およびフリガナ順)のレコードをキャッシュメモリー75から削除するようにしてもよい。これによって、キャッシュメモリー75の使用可能な容量を増大することができる。この場合、選択、決定された宛名整列順(つまり上記実施形態では印刷日時順)の上位レコードの描画動作が完了(図6A,6Bのルーチンが終了)したときに、その上位レコードの上下に隣接するレコードについて、それぞれカーソルが位置する文字列と位置しない文字列との両方のキャッシュ動作を開始して、空いたキャッシュメモリー75に保存するようにしてもよい。
【0054】
また、上記実施形態では、ステップS34(図6B)において、最もヒット率の低いデータをキャッシュメモリー75から削除しているが、これに限られない。例えば、最も長時間ヒットしなかったデータをキャッシュメモリー75から削除したり、最も古くキャッシュメモリー75に保存されたデータを削除するようにしてもよい。
【0055】
また、上記実施形態では、RAM73の指定領域にキャッシュメモリー75を確保するようにしているが、これに限られず、RAM73とは別に専用のキャッシュメモリーを備えるようにしてもよい。
【0056】
また、上記実施形態におけるプリント機構50はインクジェット方式のプリンターであるが、例えば電子写真方式のプリンターであってもよい。また、上記実施形態における表示部22はLCDディスプレイによって画像を表示するものであるが、EL(エレクトロルミネセンス素子)ディスプレイ等他の表示方式で画像を表示するものであってもよい。
【0057】
また、上記実施形態は、文字画像などを表示する表示機能および該文字画像などを印刷する印刷機能を有するフォトプリンターに本発明を適用したものであるが、本発明の適用対象は上記したフォトプリンターに限定されない。例えば、アウトラインフォントの文字画像を生成するアウトラインフォント生成部を備え、文字画像を表示する表示部や文字画像を印刷する印刷部などの出力部に文字画像を出力する一般の情報処理装置に対しても、本発明を適用することが可能である。
【符号の説明】
【0058】
22…表示部(出力部)、75…キャッシュメモリー(キャッシュ記憶部)、711…アウトラインフォント生成モジュール(アウトラインフォント生成部)、712…描画処理部(出力処理部)、713…キャッシュ制御部、714…判定部
【特許請求の範囲】
【請求項1】
アウトラインフォントデータに基づきビットマップ展開処理を実行してビットマップの文字データを生成するアウトラインフォント生成部と、
前記アウトラインフォント生成部を制御して前記アウトラインフォント生成部に前記文字データを生成させるとともに、その文字データと色情報を含む当該文字データに関連する属性情報とを用いて色変換計算を含む透過処理を実行し、出力部に文字画像を出力するためのビットマップデータを生成する出力処理部と、
データを一時的に記憶するキャッシュ記憶部と、
前記出力処理部により生成された前記ビットマップデータを前記属性情報と対応付けて前記キャッシュ記憶部に保存するキャッシュ制御部と、
前記出力処理部が前記アウトラインフォント生成部を制御して前記アウトラインフォント生成部に前記文字データを生成させる前に、当該生成しようとする文字データに関連する前記属性情報と前記キャッシュ記憶部に保存されている前記属性情報とに基づき、前記生成しようとする文字データが前記キャッシュ記憶部に保存されているか否かを判定する判定部と
を備え、
前記出力処理部は、前記生成しようとする文字データが前記キャッシュ記憶部に保存されていると前記判定部が判定したときは、前記アウトラインフォント生成部に前記文字データを生成させずに、前記キャッシュ記憶部に保存されている前記ビットマップデータを用いることを特徴とする情報処理装置。
【請求項2】
前記属性情報は、前記色情報として、前記出力部に出力する文字画像の色情報、前記出力部に出力する文字画像の背景の色情報および前記出力部のベース背景の色情報を含み、
前記出力処理部は、前記属性情報に含まれる前記文字画像の色情報、前記文字画像の背景の色情報および前記ベース背景の色情報と前記アウトラインフォント生成部が生成した前記文字データとを用いて前記透過処理を実行し、前記ビットマップデータを生成する請求項1記載の情報処理装置。
【請求項3】
前記属性情報は、前記出力部に文字画像を出力するために必要な全ての情報を含み、
前記判定部は、生成しようとする文字データに関連する属性情報と前記キャッシュ記憶部に保存されている前記属性情報とを比較して、前記各属性情報に含まれる全ての情報が互いに一致したときに、前記生成しようとする文字データが前記キャッシュ記憶部に保存されていると判定する請求項1または2記載の情報処理装置。
【請求項1】
アウトラインフォントデータに基づきビットマップ展開処理を実行してビットマップの文字データを生成するアウトラインフォント生成部と、
前記アウトラインフォント生成部を制御して前記アウトラインフォント生成部に前記文字データを生成させるとともに、その文字データと色情報を含む当該文字データに関連する属性情報とを用いて色変換計算を含む透過処理を実行し、出力部に文字画像を出力するためのビットマップデータを生成する出力処理部と、
データを一時的に記憶するキャッシュ記憶部と、
前記出力処理部により生成された前記ビットマップデータを前記属性情報と対応付けて前記キャッシュ記憶部に保存するキャッシュ制御部と、
前記出力処理部が前記アウトラインフォント生成部を制御して前記アウトラインフォント生成部に前記文字データを生成させる前に、当該生成しようとする文字データに関連する前記属性情報と前記キャッシュ記憶部に保存されている前記属性情報とに基づき、前記生成しようとする文字データが前記キャッシュ記憶部に保存されているか否かを判定する判定部と
を備え、
前記出力処理部は、前記生成しようとする文字データが前記キャッシュ記憶部に保存されていると前記判定部が判定したときは、前記アウトラインフォント生成部に前記文字データを生成させずに、前記キャッシュ記憶部に保存されている前記ビットマップデータを用いることを特徴とする情報処理装置。
【請求項2】
前記属性情報は、前記色情報として、前記出力部に出力する文字画像の色情報、前記出力部に出力する文字画像の背景の色情報および前記出力部のベース背景の色情報を含み、
前記出力処理部は、前記属性情報に含まれる前記文字画像の色情報、前記文字画像の背景の色情報および前記ベース背景の色情報と前記アウトラインフォント生成部が生成した前記文字データとを用いて前記透過処理を実行し、前記ビットマップデータを生成する請求項1記載の情報処理装置。
【請求項3】
前記属性情報は、前記出力部に文字画像を出力するために必要な全ての情報を含み、
前記判定部は、生成しようとする文字データに関連する属性情報と前記キャッシュ記憶部に保存されている前記属性情報とを比較して、前記各属性情報に含まれる全ての情報が互いに一致したときに、前記生成しようとする文字データが前記キャッシュ記憶部に保存されていると判定する請求項1または2記載の情報処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7A】
【図7B】
【図7C】
【図7D】
【図8A】
【図8B】
【図8C】
【図9A】
【図9B】
【図9C】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7A】
【図7B】
【図7C】
【図7D】
【図8A】
【図8B】
【図8C】
【図9A】
【図9B】
【図9C】
【公開番号】特開2011−81057(P2011−81057A)
【公開日】平成23年4月21日(2011.4.21)
【国際特許分類】
【出願番号】特願2009−231225(P2009−231225)
【出願日】平成21年10月5日(2009.10.5)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成23年4月21日(2011.4.21)
【国際特許分類】
【出願日】平成21年10月5日(2009.10.5)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]