(57)【要約】【課題】  メモリ使用量及び処理負荷の増大を抑制しながらも、表示する文字のちらつきを防止して文字を画像に重畳し表示できるようにする。【解決手段】  表示手段に表示する画像の画像データを記憶媒体に記憶する記憶手段と、画像にて文字を描画するために指定された文字描画領域に文字を描画する描画手段と、表示制御処置を行う制御手段とを備え、文字を重畳して画像を表示する際、当該画像にて文字描画領域に対応する領域の画像データを記憶媒体に退避させ、当該画像の画像データに文字を描画して表示手段にて表示し、表示した画像の画像データに記憶媒体に退避させた画像データを書き戻して復元することができるようにする。【選択図】  図４
2005038263.tif 000002
【特許請求の範囲】
【請求項１】
表示手段に表示する画像の画像データを記憶媒体に記憶する記憶手段と、
上記画像の指定された文字描画領域に文字を描画する描画手段と、
上記画像を表示する際、当該画像にて上記文字描画領域に対応する領域の画像データを記憶媒体に退避させ、当該画像の画像データに文字を描画して上記表示手段にて表示した後、上記表示した画像の画像データに上記退避させた画像データを書き戻す表示制御処理を行う制御手段とを備えることを特徴とする画像処理装置。
【請求項２】
上記制御手段は、上記文字描画領域に対応する領域の画像データを上記記憶媒体に退避させる退避手段と、
上記退避させた画像データを上記表示した画像の画像データに書き戻す復元手段とを備えることを特徴とする請求項１記載の画像処理装置。
【請求項３】
上記画像に描画する文字に基づいて、当該画像にて文字が描画される領域を算出する領域算出手段をさらに備え、
上記制御手段は、上記領域算出手段にて算出した領域の画像データを記憶媒体に退避させることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
上記画像に描画する文字を入力する文字入力手段をさらに備え、
上記文字入力手段からの文字入力があるたびに、上記制御手段は上記表示制御処理を実行することを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
上記画像の画像データは、上記記憶媒体の第１の記憶領域に記憶され、上記文字描画領域に対応する領域の画像データは、上記第１の記憶領域とは異なる上記記憶媒体の第２の記憶領域に記憶されることを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項６】
上記画像の画像データは、第１の記憶媒体に記憶され、上記文字描画領域に対応する領域の画像データは、上記第１の記憶媒体とは異なる第２の記憶媒体に記憶されることを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項７】
上記画像を表示する際、当該画像にて上記文字描画領域に一致する領域の画像データだけを退避させることを特徴とする請求項１〜６の何れか１項に記載の画像処理装置。
【請求項８】
指定された文字描画領域に描画され、印刷手段にて印刷可能面の形状が円形の印刷媒体に印刷する文字を指定する文字指定手段と、
上記円形の印刷媒体の内径及び外径で規定される印刷可能領域に応じて、上記文字描画領域の位置及び大きさの少なくとも一方を修正可能な修正手段と、
上記修正手段により修正された上記文字描画領域に従って、上記文字指定手段により指定された文字を上記円形の印刷媒体に印刷するよう上記印刷手段を制御する印刷制御手段とを備えることを特徴とする画像処理装置。
【請求項９】
上記円形の印刷媒体の内径及び外径を設定する設定手段をさらに備え、
上記修正手段は、設定された上記内径及び外径に基づいて、上記文字描画領域の位置及び大きさの少なくとも一方を修正することを特徴とする請求項８記載の画像処理装置。
【請求項１０】
上記文字描画領域を指定する領域指定手段をさらに備えることを特徴とする請求項８又は９に記載の画像処理装置。
【請求項１１】
上記描画する文字と、上記文字描画領域の大きさに応じて、当該文字のフォントサイズを変更する文字サイズ変更手段をさらに備えることを特徴とする請求項１〜１０の何れか１項に記載の画像処理装置。
【請求項１２】
上記文字サイズ変更手段は、上記描画する文字を予め設定されたフォントサイズで描画した際の描画幅を算出もしくは測定する描画幅出力手段と、
上記描画幅出力手段にて得られた描画幅と、上記文字描画領域の大きさとを比較する比較手段と、
上記比較手段での比較結果に応じて、上記フォントサイズを変更する変更手段とを備えることを特徴とする請求項１１記載の画像処理装置。
【請求項１３】
画像とともに、当該画像の指定された文字描画領域に文字を描画して表示手段に表示するための画像処理方法であって、
上記表示手段に表示する画像の画像データを記憶媒体に記憶する記憶工程と、
当該画像にて上記文字描画領域に対応する領域の画像データを記憶媒体に退避させる退避工程と、
当該画像の画像データに文字を描画する描画工程と、
上記文字を描画した画像データに係る画像を表示手段にて表示する表示工程と、
上記表示した画像の画像データに上記退避させた画像データを書き戻す復元工程とを有することを特徴とする画像処理方法。
【請求項１４】
指定された文字描画領域に描画され、印刷手段にて印刷可能面の形状が円形の印刷媒体に印刷する文字を指定する文字指定工程と、
上記円形の印刷媒体の内径及び外径で規定される印刷可能領域に応じて、上記文字描画領域の位置及び大きさの少なくとも一方を修正する修正工程と、
上記修正された文字描画領域に従って、上記文字指定工程にて指定された文字を上記円形の印刷媒体に印刷するよう上記印刷手段を制御する印刷制御工程とを有することを特徴とする画像処理方法。
【請求項１５】
上記描画する文字と、上記文字描画領域の大きさに応じて、当該文字のフォントサイズを変更することを特徴とする請求項１３又は１４に記載の画像処理方法。
【請求項１６】
表示手段に表示する画像の画像データを記憶媒体に記憶する記憶手段と、
上記画像の指定された文字描画領域に文字を描画する描画手段と、
上記画像を表示する際、当該画像にて上記文字描画領域に対応する領域の画像データを記憶媒体に退避させ、当該画像の画像データに文字を描画して上記表示手段にて表示した後、上記表示した画像の画像データに上記退避させた画像データを書き戻す表示制御処理を行う制御手段としてコンピュータを機能させるためのプログラム。
【請求項１７】
指定された文字描画領域に描画され、印刷手段にて印刷可能面の形状が円形の印刷媒体に印刷する文字を指定する文字指定手段と、
上記円形の印刷媒体の内径及び外径で規定される印刷可能領域に応じて、上記文字描画領域の位置及び大きさの少なくとも一方を修正可能な修正手段と、
上記修正手段により修正された上記文字描画領域に従って、上記文字指定手段により指定された文字を上記円形の印刷媒体に印刷するよう上記印刷手段を制御する印刷制御手段としてコンピュータを機能させるためのプログラム。
【請求項１８】
請求項１６又は１７に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、記録媒体及びプログラムに関する。
【背景技術】
【０００２】
従来、画像に文字を重畳して表示する、すなわち文字背景を透過にして画像に重ねて文字を描画したり、プリンタブルＣＤＲ等の円形の印刷メディアに文字を印刷したりするということが行われてきた。
また、例えばパンフレット等の作成において、文字群を配置するための仮想的な割付矩形を指定し、その割付矩形に基づいて文字サイズを自動的に決定するものがあった（例えば、特許文献１参照。）。
【０００３】
【特許文献１】特開平５−３０７２５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えばインタラクティブな文字入力に連動して表示する場合など、連続的に文字を画像に重畳して表示する際には、単純に画像を描画して文字を重畳すると文字の表示がちらつき、操作者に不快感を与えるという問題があった。この文字表示のちらつきは、１つの文字が入力される毎に、画像が再描画され、さらに文字の重畳が順次行われることで、画像において文字に隠されているべき部分が一瞬表示され、その後に文字が表示されるために生じていた。そこで、従来、いわゆるダブルバッファリングの手法を用いて、文字の表示がちらつくことを抑制していたが、ダブルバッファリングの手法においては、メモリ使用量と処理負荷が増大するという問題があった。
【０００５】
また、円形の印刷メディアの１つであるプリンタブルＣＤＲはメディア毎に印刷可能範囲が異なり、例えば印刷可能範囲の内径が小さいメディアに合わせて文字を配置したものを、内径の大きなメディアに印刷しようとすると文字欠けを生じるおそれがあるという問題があった。上記特許文献１のようにして文字を配置するための割付矩形を指定し、それに基づいて文字サイズを決定させる方法も考えられるが、割付矩形自体は操作者が設定しなければならず、作業量の増加を招いてしまう。
【０００６】
本発明は、このような問題を解決するためになされたものであり、メモリ使用量及び処理負荷の増大を抑制しながらも、表示する文字のちらつきを防止して文字を画像に重畳し表示できるようにすることを目的とする。また、本発明は、円形の印刷メディアに文字を印刷する際に、文字欠けが生じることを防止することができるようにすることを第２の目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、表示手段に表示する画像の画像データを記憶媒体に記憶する記憶手段と、上記画像の指定された文字描画領域に文字を描画する描画手段と、上記画像を表示する際、当該画像にて上記文字描画領域に対応する領域の画像データを記憶媒体に退避させ、当該画像の画像データに文字を描画して上記表示手段にて表示した後、上記表示した画像の画像データに上記退避させた画像データを書き戻す表示制御処理を行う制御手段とを備えることを特徴とする。
本発明の画像処理装置の他の特徴とするところは、指定された文字描画領域に描画され、印刷手段にて印刷可能面の形状が円形の印刷媒体に印刷する文字を指定する文字指定手段と、上記円形の印刷媒体の内径及び外径で規定される印刷可能領域に応じて、上記文字描画領域の位置及び大きさの少なくとも一方を修正可能な修正手段と、上記修正手段により修正された上記文字描画領域に従って、上記文字指定手段により指定された文字を上記円形の印刷媒体に印刷するよう上記印刷手段を制御する印刷制御手段とを備えることを特徴とする。
本発明の画像処理方法は、画像とともに、当該画像の指定された文字描画領域に文字を描画して表示手段に表示するための画像処理方法であって、上記表示手段に表示する画像の画像データを記憶媒体に記憶する記憶工程と、当該画像にて上記文字描画領域に対応する領域の画像データを記憶媒体に退避させる退避工程と、当該画像の画像データに文字を描画する描画工程と、上記文字を描画した画像データに係る画像を表示手段にて表示する表示工程と、上記表示した画像の画像データに上記退避させた画像データを書き戻す復元工程とを有することを特徴とする。
本発明の画像処理方法の他の特徴とするところは、指定された文字描画領域に描画され、印刷手段にて印刷可能面の形状が円形の印刷媒体に印刷する文字を指定する文字指定工程と、上記円形の印刷媒体の内径及び外径で規定される印刷可能領域に応じて、上記文字描画領域の位置及び大きさの少なくとも一方を修正する修正工程と、上記修正された文字描画領域に従って、上記文字指定工程にて指定された文字を上記円形の印刷媒体に印刷するよう上記印刷手段を制御する印刷制御工程とを有することを特徴とする。
本発明のプログラムは、表示手段に表示する画像の画像データを記憶媒体に記憶する記憶手段と、上記画像の指定された文字描画領域に文字を描画する描画手段と、上記画像を表示する際、当該画像にて上記文字描画領域に対応する領域の画像データを記憶媒体に退避させ、当該画像の画像データに文字を描画して上記表示手段にて表示した後、上記表示した画像の画像データに上記退避させた画像データを書き戻す表示制御処理を行う制御手段としてコンピュータを機能させることを特徴とする。
本発明のプログラムの他の特徴とするところは、指定された文字描画領域に描画され、印刷手段にて印刷可能面の形状が円形の印刷媒体に印刷する文字を指定する文字指定手段と、上記円形の印刷媒体の内径及び外径で規定される印刷可能領域に応じて、上記文字描画領域の位置及び大きさの少なくとも一方を修正可能な修正手段と、上記修正手段により修正された上記文字描画領域に従って、上記文字指定手段により指定された文字を上記円形の印刷媒体に印刷するよう上記印刷手段を制御する印刷制御手段としてコンピュータを機能させることを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、上述したプログラムを記録したことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画像を表示する際、当該画像にて文字描画領域に対応する領域の画像データを退避し、画像データに文字を描画して表示し、退避した画像データを書き戻して復元する。これにより、文字を画像に重畳して表示する際、従来利用されているダブルバッファリングの手法より少ないメモリ使用量と処理負荷で、ちらつきのない文字表示を実現することができる。
また、本発明によれば、円形の印刷媒体（メディア）の印刷可能領域に応じて、文字を描画するための文字描画領域の位置及び大きさの少なくとも一方を自動調整した後、その文字描画領域に従って指定された文字を円形の印刷媒体に印刷するよう制御する。これにより、文字描画領域を再設定したりする手間なく、印刷可能領域から文字がはみ出さないようにすることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。
（第１の実施形態）
図１は、本発明の第１の実施形態による画像処理装置の機能を実現するコンピュータシステム（以下、単に「システム」とも称す。）の構成例を示すブロック図である。
【００１０】
図１において、１０１はＣＰＵであり、システム全体の制御を行っている。１０２はキーボードであり、マウス１０２ａとともに、指示や文字等をシステムに入力するために使用される。１０３は表示装置（ディスプレイ）であり、例えばＣＲＴや液晶ディスプレイ等で構成されている。ＲＯＭ１０４及びＲＡＭ１０５は、システムの記憶装置を構成しており、システムが実行するプログラムやシステムが利用するデータを記憶する。
【００１１】
１０６はハードディスク装置（ＨＤＤ）であり、システムのファイルシステムに使用される外部記憶装置を構成している。１０８はプリンタであり、１０９は図示しない他の装置等とネットワークを介してデータを送受信するためのネットワークインターフェースである。なお、上述した各構成部１０１〜１０９は、バス１１０を介して互いに通信可能なように接続されている。
【００１２】
図１に示したシステムでは、ＣＰＵ１０１は、ＲＯＭ１０４（あるいはＨＤＤ１０６）から後述するような動作を行うためのプログラムを読み出して実行することで、バス１１０に接続された各構成部を制御し、本実施形態での動作を実現するための制御を行う。このとき、ＲＡＭ１０５は、例えばＣＰＵ１０１の主メモリあるいはワークメモリ等として機能する。ここで、上記ＣＰＵ１０１、ＲＯＭ１０４、ＲＡＭ１０５等により、本発明の記憶手段、描画手段、制御手段、退避手段、復元手段、領域算出手段等の機能が実現される。
【００１３】
図２は、表示装置１０３の画面に表示する画像とテキストの関係を説明するための図である。図２において、画像２１はビットマップイメージであり、その画像データは、文字データとは別にＲＡＭ１０５に格納されている。テキスト２２は、画像に重畳して表示される文字（文字群）である。テキスト表示領域（テキスト描画領域）２３は、画像２１上に規定された、文字を重畳すべき領域を指定する座標矩形であり、テキスト表示領域２３の中央にテキスト２２が背景を透過にして描画される。
【００１４】
図２に示すように、テキスト表示領域２３に従った座標にテキスト２２を表示して、画像２１とテキスト２２を表示装置１０３に表示するものとする。このとき、画像２１は所望の表示領域にあうように変倍して描画される。また、テキスト２２は、ＲＡＭ１０５に格納された文字列情報（テキストデータ）に従い、システムにより文字を示すビットマップイメージに変換された後、画面に直接もしくは画像２１上に描画される。
【００１５】
なお、テキスト２２の文字列情報は、ＲＡＭ１０５に予め格納された静的なものであっても良い。しかし、操作者がキーボード１０２等を用いて連続的に入力する文字列を表示するときに、上述した従来の問題である表示のちらつきが顕著であった。
【００１６】
ここで、図３を用いて文字列入力時における従来の処理動作を説明する。
まず、ステップＳ３０１では、キーボード１０２等から文字入力（キー入力等）があったか否かをチェックし、文字入力がなければステップＳ３０１に戻る。すなわち、ステップＳ３０１は、キーボード１０２等を監視する（キーボード１０２でのキー入力等を待つ）処理ループを形成している。文字入力があればステップＳ３０２に進む。
【００１７】
ステップＳ３０２では、文字入力に従ってテキスト２２（テキスト２２の文字列情報）を更新する。画像データとは別々に管理されているテキスト２２は、例えば最初空文字列であったのが、文字入力が一回あるごとに、“”→“Ａ”→“ＡＢ”→“ＡＢＣ”→…のように更新されていく。
【００１８】
ステップＳ３０３では、表示装置１０３の画面に画像２１を描画する。より詳細には、表示装置１０３の画面の表示内容を保持しているＲＡＭ１０５の所定の領域（ＶＲＡＭ：ビデオＲＡＭ）に画像２１の内容（画像データ）をコピーする。このとき、画面上の画素数と画像２１の画素数は、一致する場合もあるが一般的には異なるので、周知の方法で変倍処理を施しながらＲＡＭ１０５にコピーする。
【００１９】
ステップＳ３０４では、文字が入力される度に、文字列情報（テキストデータ）をビットマップイメージに変換ＲＡＭ１０５の所定の領域（ＶＲＡＭ：ビデオＲＡＭ）の画像２１上に、テキスト２２を描画する。なお、上記図２においてはテキスト２２を１．５倍程度に拡大表示する例を示しているが、画像２１の大きさが画面における表示領域の大きさより大きく、テキスト２２を縮小表示する場合もあり得る。
ステップＳ３０５では、文字入力処理を終了したか否かを判断し、判断の結果、文字入力処理を続行する場合にはステップＳ３０１に戻る。
【００２０】
上記図３に示した従来の処理動作においては、文字入力があるたびに、画像２１にてテキスト２２に隠されているべき部分が画面上に一時的に（一瞬）表示され（Ｓ３０３）、その後テキスト２２が表示される（Ｓ３０４）。その結果、操作者には文字描画が点滅するように見えて不快感を与える問題があった。
そこで本実施形態では、上記図３において点線により囲んで示したステップＳ３０３、Ｓ３０４における処理を、図４を用いて説明する処理に置き換えることで上述した従来の問題を解決する。
【００２１】
図４は、本実施形態での文字列入力時における処理動作を示すフローチャートである。なお、図４においては処理動作の一部を示しており、上記図３に示したステップＳ３０１、Ｓ３０２の処理が実行された後に、図４に示した処理が実行され、その後図３に示したステップＳ３０５の処理が実行される。なお、この一連の処理は、上述したようにＣＰＵ１０１が、ＲＯＭ１０４等からプログラムを読み出して実行し各構成部の制御を行うことにより実現する。
【００２２】
ステップＳ４０１では、画像２１において矩形のテキスト表示領域２３に対応する部分の画像データをＲＡＭ１０５（詳細には、ＲＡＭ１０５内の退避領域）に退避（コピー）する。
ステップＳ４０２では、ＲＡＭ１０５の所定領域（例えば、ＶＲＡＭ）に格納されている画像２１にテキスト２２を直接描画する。
【００２３】
ステップＳ４０３では、表示装置１０３の画面に画像２１を表示する。このとき、画像２１の画像データは、ステップＳ４０２での処理によりテキスト２２がすでに重畳された状態であるので、表示装置１０３の画面には画像２１とテキスト２２が同時に表示される。したがって、表示するテキスト２２のちらつきを生じずに、テキスト２２を画像２１に重畳して表示することができる。
【００２４】
ステップＳ４０４では、ＲＡＭ１０５に退避していた画像データ（テキスト表示領域２３に対応する部分の画像データ）を画像２１に対して書き戻す。この結果、画像２１の画像データは、テキスト２２を重畳する前の最初の状態に復元されるので、このサブルーチンは繰り返し実行することができる。すなわち、再び上記図３に示したステップＳ３０２においてテキスト２２が変更されても、図４に示した処理動作を再度行うことができる。
【００２５】
以上説明した処理動作を繰り返し実行することで、操作者による文字入力に追従して表示装置１０３の画面表示を、ちらつきなく連続的に更新することができるとともに、入力前の状態を保持することで、文字入力の修正も行うことができる。
【００２６】
なお、上述した第１の実施形態では、ステップＳ４０１にて、画像２１においてテキスト表示領域２３に対応する部分の画像データをＲＡＭ１０５に退避するようにしているが、これに限定されるものではない。
例えば、画像２１に重畳して描画するテキスト２２が短い（例えば“Ａ”の１文字）場合には、図２に示したテキスト表示領域２３に対応する部分のすべての画像データ、つまりテキスト表示領域２３全体に対応する部分の画像データをＲＡＭ１０５に退避すると、使用するメモリの無駄が大きい。この場合には、１文字分が重畳される領域を計算し、計算結果に基づいて退避させるべき部分の画像データだけＲＡＭ１０５に退避するようにすればメモリ使用量を減らすことができるとともに、処理の負荷を軽減することができる。
ただし、プロポーショナルピッチフォントを使用してテキスト２２を描画するなど、画像２１においてテキスト２２が重畳される領域を算出するのが必ずしも容易でない場合があるので、この場合にはテキスト表示領域２３に対応する部分全体の画像データを退避するなどして、重畳するテキスト２２に応じて上述した両方の方法を使い分ければ良い。
また、本実施形態では、ＲＡＭ１０５に表示する画像データ及びテキスト表示領域２３に対応する部分の画像データを記憶するようにしているが、それぞれの画像データは、同じメモリの異なる記憶領域に記憶するようにしても良いし、異なるメモリに記憶するようにしても良い。
また、第１の実施形態においては、画像及びテキストがそれぞれ１つである、最も単純な場合を一例として説明したが、これに限定されるものではなく、例えば表示装置１０３に複数の画像を表示して、各々の画像にさらに複数個のテキストを重畳して表示するようなより複雑な表示を行う場合でも本発明を適用することができる。
【００２７】
（第２の実施形態）
次に、第２の実施形態について説明する。
上述した第１の実施形態においては、テキスト表示領域２３にテキスト２２が収まるものとして説明したが、操作者により十分長い文字列が入力されるとテキスト表示領域２３をはみ出してしまうことがある。このような場合には、テキスト２２においてテキスト表示領域２３に収まらない部分を単に切り捨てる（後述する図５（ｃ）参照。）か、入力可能な文字列の長さに制限を加えて一定長さ以上の入力を禁止するのが一般的である。
【００２８】
それに対して、以下に説明する第２の実施形態は、テキスト表示領域２３にテキスト２２の全体が収まるように、テキスト表示領域２３とテキスト２２に基づいて文字フォントの大きさ（フォントサイズ）を自動的に変更するものである。なお、第２の実施形態における画像処理装置のハードウェア構成等は、上述した第１の実施形態と同様であるので説明は省略する。
【００２９】
図５（ａ）〜（ｄ）は、文字列の長さに応じて、フォントサイズと描画位置とを変更する例を説明するための図である。なお、図５（ａ）〜（ｄ）において、実際には描画されないが、説明の便宜上、テキスト表示領域２３を点線にて示している。
【００３０】
図５（ａ）は、画像２１に規定されたテキスト表示領域２３にテキスト２２が丁度収まる場合を示している。
図５（ｂ）は、画像２１に規定されたテキスト表示領域２３に対してテキスト２２が短い場合を示しており、図示したようにテキスト２２をセンタリングしたり、左端又は右端に寄せて描画したりするなど、従来から一般に行われている処理であるので説明は省略する。
【００３１】
図５（ｃ）は、画像２１に規定されたテキスト表示領域２３に収まらないような長いテキスト２２を表示する場合の従来例を示している。図５（ｃ）は、“ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ"というテキスト２２をテキスト表示領域２３に表示しようとしたものであるが、図５（ａ）と同じ大きさのフォントではテキスト２２はテキスト表示領域２３をはみ出してしまい、テキスト２２の左端から表示できる限りの部分だけを表示している。
【００３２】
図５（ｄ）も画像２１に規定されたテキスト表示領域２３に長いテキスト２２を表示する場合を示しているが、図５（ｃ）に示したものとは異なり、フォントサイズを小さくすることによりテキスト２２の全体をテキスト表示領域２３に表示している。
【００３３】
以下では、上記図５（ｄ）に示したように長いテキスト２２をテキスト表示領域２３に描画するためのフォントサイズの計算方法について説明する。なお、テキスト２２を固定ピッチフォントにより描画する場合には、テキスト２２の内容によらず文字幅と文字間隔が一定であるのでフォントサイズ計算方法は自明である。本実施形態では、プロポーショナルピッチフォントを用いてテキスト２２を描画する場合であっても適用できるフォントサイズの算出方法について図６に基づいて説明する。
【００３４】
図６は、テキスト表示領域２３に応じて、テキスト２２のフォントサイズを自動的に決定して文字描画を行う処理動作を示すフローチャートである。
ステップＳ６０１では、フォントサイズの初期値を設定する。初期値は、例えばテキスト表示領域２３の高さを参照して決める。フォントサイズは、フォントの高さで指定するのが一般的であるので、テキスト表示領域２３の高さとフォントの高さが一致するフォントサイズを初期値とする。または、予め定めた適当な倍率（０．９５倍など）の定数をテキスト表示領域２３の高さに掛けて、それとフォントの高さが一致するフォントサイズを初期値とするようにしても良い。
【００３５】
ステップＳ６０２では、設定されたフォントサイズでテキスト２２を描画したとして、その描画幅を算出もしくは測定する。例えば、Microsoft  Windows（Ｒ）等、近年のＯＳでは実際にテキストの描画を行わなくても描画に要する幅を算出する方法を提供していることが多い。また、このような簡易的な方法を有しない場合には、ＲＡＭ１０５において画面表示に使用しない領域（例えば、上述した第１の実施形態におけるＲＡＭ１０５内の退避領域等）に実際にテキスト２２を描画して描画に要した幅を測定すれば良い。
【００３６】
ステップＳ６０３では、テキスト表示領域２３の幅と、上記ステップ６０２において得られた描画幅とを比較する。上記比較の結果、描画幅がテキスト表示領域２３の幅より小さい、すなわちテキスト２２がテキスト表示領域２３に収まる場合には、ステップＳ６０５に進み、テキスト表示領域２３内にセンタリングしてテキスト２２を描画して処理を終了する。
【００３７】
一方、ステップＳ６０３での比較の結果、描画幅がテキスト表示領域２３の幅より大きく、テキスト２２がテキスト表示領域２３に収まらない場合には、ステップＳ６０４に進み、システムにおいて利用可能な一段階小さなフォントサイズに変更する。そして、フォントサイズを変更したらステップＳ６０２に戻り、上述した処理を再び行う。ここで、例外はあるが、通常、フォントサイズは整数ポイント数で指定することが多く連続量ではない（例えば、１６ポイントのフォントサイズの次に小さいサイズは、１５ポイントであり、１５．９ポイントなどという指定はできないことが多い。）ため、「次に小さい（一段階小さい）フォントサイズ」という指定が可能である。なお、フォントサイズが連続値で指定できるシステムであれば、例えば現在のフォントサイズよりも１％小さいフォントサイズに置き換えるなどすれば良い。
【００３８】
以上のように処理を行うことにより、指定されたテキスト表示領域２３にテキスト２２が収まるように、フォントサイズを自動的に調整してテキスト表示領域２３内に描画することができる。
【００３９】
なお、上述した第２の実施形態においては、最も基本的なフォントサイズの探索方法を一例として説明したが、適切なフォントサイズを探すための方法としては必ずしも効率の良い方法ではない。例えば、上述したステップＳ６０３にて、テキスト表示領域２３の幅に対してどの程度の割合で、テキスト２２がはみ出しているかを算出し、その算出結果に基づいて上記ステップＳ６０４にて、次に試すフォントサイズを決定するようにしても良い。また、周知の２分検索法（バイナリーサーチ）等を援用して、より効率良く適切なフォントサイズを探索するようにしても良い。
【００４０】
（第３の実施形態）
次に、第３の実施形態について説明する。
以下に説明する第３の実施形態は、円形のプリンタブルメディア等の印刷媒体に文字を印刷する際に、プリンタブルメディア等の印刷可能領域に応じて、文字の描画領域の位置及び大きさを自動調整するものである。なお、第３の実施形態における画像処理装置のハードウェア構成等は、上述した第１の実施形態と同様であるので説明は省略する。また、本実施形態においては、ＣＰＵ１０１、ＲＯＭ１０４、ＲＡＭ１０５等により、本発明の文字指定手段、修正手段、印刷制御手段等の機能が実現される。
【００４１】
まず、プリンタブルＣＤＲに代表されるプリンタブルメディアの印字可能面の概略を図７に基づいて説明する。図７において、７１はプリンタブルメディアに設けられた中央の穴、７２は印字可能領域の内径、７３は印字可能領域の外径、７４はプリンタブルメディアの外周である。すなわち、内径７２と外径７３の間の領域が、プリンタ１０８を用いて印刷することができる印刷可能領域（印刷可能範囲）である。この印刷可能領域は、種々販売されているプリンタブルメディアもしくはプリンタブルメディアに対応した円形のラベルに応じて異なる。そこで、本実施形態においては、プリンタブルメディア毎の印刷可能領域に連動して、テキストを描画する領域の位置及び大きさを自動的に調整することにより手動でテキスト等を調整することなく適切なテキスト印刷を可能にする。
【００４２】
図８及び図９は、第３の実施形態におけるテキスト描画領域の自動調整の概略を示す図である。図８及び図９において、各２重同心円７２、７３は、それぞれ印刷可能領域の内径、外径であり、予め設定されている。また、矩形８１（図８及び図９にて黒色で塗りつぶされた矩形）は文字描画を指定したテキスト描画領域であり、矩形８１にて示される領域内に指定されたテキストが配置される。なお、図８及び図９においては、説明の便宜上、矩形８１の長辺の長さをテキスト描画領域の幅と呼び、矩形８１の短辺の長さをテキスト描画領域の高さと呼ぶ。
【００４３】
図８（ａ）は、内径７２に隣接してテキストが配置されている状態（テキスト描画領域８１の一方の長辺が内径７２に接している状態）を示している。内径７２が、図８（ａ）に示したものより大きいときには、内径７２から外径７３に向かって、テキスト描画領域８１の長辺に垂直な直径方向（図８（ａ）において紙面上方）にテキスト描画領域８１を移動することでテキストの欠けを防止する。
【００４４】
図８（ｂ）は、上記図８（ａ）と同様にして内径７２に隣接してテキストが配置されている状態を示しているが、テキスト描画領域８１の高さ（文字高さ）を減少することで内径７２の増大に対処するものである。このように、テキスト描画領域８１の高さを減少させることでもテキストの欠けを防止することができる。
【００４５】
上記図８（ａ）、（ｂ）に示したように内径７２に隣接してテキストが配置されている場合には、テキスト位置（テキスト描画領域８１の位置）を移動するか、テキスト高さ（テキスト描画領域８１の高さ）を調整するかの二通りの対処方法が存在し、両者を使い分けるか、もしくは組み合わせることでテキストの欠けを防止することができる。
【００４６】
図８（ｃ）は、内径７２にテキスト描画領域８１の一方の短辺が接して配置されている状態（図８（ｃ）においては内径７２の左側にテキスト描画領域８１の短辺が隣接している状態）を示している。内径７２が、図８（ｃ）に示したものより大きいときには、テキスト描画領域の幅を減少することで、テキストの欠けを防止することができる。
【００４７】
図９（ａ）は、外径７３に接してテキストが配置されている状態（テキスト描画領域８１が外径７３に接している状態）を示している。外径７３が、図９（ａ）に示したものより小さいときには、テキスト描画領域の幅を減少する（例えば、図９（ａ）に示すテキスト描画領域８１において左右同じだけテキスト描画領域の幅を減少させる。）ことで、テキストの欠けを防止することができる。
【００４８】
図９（ｂ）は、外径７３に接しているとともに、内径７２にも接してテキストが配置されている状態（テキスト描画領域８１の一方の短辺が外径７３に接しているとともに、他方の短辺が内径７２に接している状態）を示している。この場合でも外径７３が、図９（ｂ）に示したものより小さいときには、テキスト描画領域の幅を減少することで、テキストの欠けを防止することができる。ただし、テキスト描画領域幅の減少のしかたが、図より明らかなように、上記図９（ａ）に示したものとは異なる。上記図９（ｂ）においては、例えばテキスト描画領域８１における左側だけ幅を減少させる。
【００４９】
上述したように、内径７２の増大と外径７３の縮小に対し、テキスト位置（テキスト描画領域８１の位置）に応じた方法で、設定された内径及び外径に基づきテキスト描画領域８１の位置、幅及び高さを調整する。これにより、テキスト描画領域８１に配置して描画するテキストがプリンタブルメディアの印刷可能領域外にはみ出してテキストが欠けてしまうことを防ぐことができる。なお、説明は省略するが、内径７２に対し下側または右側にテキスト描画領域８１がある場合も同様である。
【００５０】
こうして自動調整されたテキスト描画領域８１に、上述した第２の実施形態にて説明した方法と同様にしてフォントサイズを自動的に調整してテキストを描画することで、任意のテキストと印刷可能領域指定に対して自動的に最適な文字描画を行うことができる。
【００５１】
なお、上記図８及び図９に一例として示したテキスト描画領域８１の自動調整において、図９（ａ）に示したパターン以外におけるテキスト描画領域８１の修正アルゴリズムは、図より自明であるので説明を省略する。以下では、上記図９（ａ）に示したパターンにおけるテキスト描画領域８１の修正方法について説明する。ここで、図８（ａ）に示した状態における修正の結果、テキスト描画領域８１を示す矩形が上方に移動して外径７３にぶつかってしまうことがあるが、その逆はない。つまり、これら二つの修正には順番があり、適用の際にはまず図８（ａ）に示した状態に基づく修正を行ってから、図９（ａ）に示した状態における修正を行うことになる。
【００５２】
［図９（ａ）に示したパターンにおけるテキスト描画領域８１の修正方法について］
本実施形態におけるプリンタブルメディアの内径７２、外径７３とテキスト描画領域８１の関係を図１０に示す。内径７２、外径７３を示す同心円の中心を点Ｏとし、内径７２の半径をｒ０、外径７３の半径をｒ１とする。また、既定のテキスト描画領域８１の中心（重心）を点Ｐ（０，ｙ）とし、幅をｗ、高さをｈとする。
【００５３】
テキスト描画領域８１を示す矩形の長辺が十分短く、外径７３と交わらない場合には、テキスト描画領域８１を修正する必要は無く、そのまま文字を上述した第２の実施形態と同様にして描画すれば良い。図１０に示すようにテキスト描画領域８１の長辺が外径７３と交わる場合には、このままでは文字の一部が印刷可能領域の外側にはみ出してしまい文字が欠けてしまうので、テキスト描画領域８１の幅ｗを短くすることで描画する文字がはみ出さないようにする。
【００５４】
テキスト描画領域８１の上辺と外径７３が交わる点を点Ｑとし、そのｘ座標をαとおく。点Ｑは、テキスト描画領域８１の上辺の点であるので、そのｙ座標は（ｙ＋ｈ／２）である。また、点Ｑは外径７３上の点でもあるので、原点Ｏからの距離はｒ１である。
【００５５】
したがって、
α2＋（ｙ＋ｈ／２）2＝ｒ１2
の関係がなりたち、従って、
α＝√（ｒ１2−（ｙ＋ｈ／２）2）
となる。テキスト描画領域８１の幅を点Ｑまでに切り詰める、すなわち矩形の幅ｗを
ｗ←２√（ｒ１2−（ｙ＋ｈ／２）2）
とすることで、テキスト描画領域８１を外径７３の内側に接しておさめることができる。
【００５６】
なお、上述した第３の実施形態において、テキスト描画領域８１は内径７２と外径７３により制限を受けることとしたが、必ずしもこれに限定されるものではなく、例えば図１１に示すように写真等の画像８２など他の印刷要素を制限としてもよい。図１１に示した例では、内径７２の増大に伴いテキスト描画領域８１は外周方向に（外径７３に向かって）移動するが、外径７３にぶつかるまで移動するのでなく、画像８２に接するまでの移動にとどめることで画像８２にテキストを上書きしないですむようになる。
【００５７】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、上記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００５８】
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体は本発明を構成する。また、そのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５９】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００６０】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００６１】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施形態による画像処理装置の機能を実現可能なコンピュータシステムの構成例を示すブロック図である。
【図２】表示する画像とテキストの関係を説明するための図である。
【図３】従来の画像処理装置における文字入力時の処理動作を示すフローチャートである。
【図４】第１の実施形態による画像処理装置における文字入力時の処理動作を示すフローチャートである。
【図５】文字列の長さに応じたフォントサイズと描画位置の変更例を説明するための図である。
【図６】第２の実施形態における画像処理装置の処理動作を示すフローチャートである。
【図７】円形のプリンタブルメディアの印刷可能領域を説明するための図である。
【図８】第３の実施形態におけるテキスト描画領域の自動調整方法の一例を示す図である。
【図９】第３の実施形態におけるテキスト描画領域の自動調整方法の他の例を示す図である。
【図１０】テキスト描画領域と印刷可能領域の関係を説明するための図である。
【図１１】第３の実施形態におけるテキスト描画領域の自動調整方法のその他の例を示す図である。
【符号の説明】
【００６３】
１０１  ＣＰＵ
１０２  キーボード
１０３  表示装置
１０４  ＲＯＭ
１０５  ＲＡＭ
１０６  ハードディスク装置
１０８  プリンタ
１０９  ネットワークインターフェース
１１０  バス
【図１】
2005038263.tif 000003
【図２】
2005038263.tif 000004
【図３】
2005038263.tif 000005
【図４】
2005038263.tif 000006
【図５】
2005038263.tif 000007
【図６】
2005038263.tif 000008
【図７】
2005038263.tif 000009
【図８】
2005038263.tif 000010
【図９】
2005038263.tif 000011
【図１０】
2005038263.tif 000012
【図１１】
2005038263.tif 000013