(57)【要約】【課題】  従来、サーバに記憶されたフォントをクライアント装置で用いる場合、サーバ装置はクライアント装置の要求した文字列を１つの画像データとして取り出している。したがって、このような方法ではクライアント装置内において文字列を動的に変形することができないという問題があった。つまり、このような変形を行うためには、変形の最中にクライアント装置−サーバ装置間で画像データの通信を行う必要がある。したがって処理時間が長くなってしまい、ユーザにとって操作性が良くないという問題があった。【解決手段】  テキストに含まれる各々の文字の画像データを作成する。またテキストボックス変形時には、変形にあわせて文字の画像データを移動させることで、サーバとの通信を行わずに動的にテキストボックスの変形（文字送り）を行うことができる。【選択図】  図９
2010091724.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたサーバ装置とクライアント装置とからなる画像処理システムであって、
前記サーバ装置は、
文字の描画形状情報を格納する格納手段と、
クライアント装置からテキスト情報を受信する第１の受信手段と、
前記第１の受信手段により受信したテキスト情報に含まれるフォント属性情報に応じて、前記格納手段により格納された描画形状情報のうち前記テキスト情報に含まれるテキストの文字毎に対応した描画形状情報を前記クライアント装置に送信する第１の送信手段と、
を有し、
前記クライアント装置は、
少なくともテキストとフォント属性情報とを含むテキスト情報を入力する入力手段と、
前記入力手段により入力したテキスト情報をサーバ装置に送信する第２の送信手段と、
前記サーバ装置から前記テキストの文字毎の描画形状情報を受信する第２の受信手段と、
前記第２の受信手段で受信した描画形状情報に基づき前記テキストに含まれる文字の画像を生成する生成手段と、
前記生成手段で生成された画像を表示装置に表示させる表示制御手段と、
を有することを特徴とする画像処理システム。
【請求項２】
ネットワークを介して接続されたサーバ装置とクライアント装置とからなる画像処理システムであって、
前記サーバ装置は、
文字の描画形状情報を格納する格納手段と、
クライアント装置から文字情報を受信する第１の受信手段と、
前記第１の受信手段により受信した文字情報に含まれるフォント属性情報に応じて、前記格納手段により格納された描画形状情報のうち前記文字情報に対応した文字の描画形状情報を前記クライアント装置に送信する第１の送信手段と、
を有し、
前記クライアント装置は、
少なくともテキストとフォント属性情報とを含むテキスト情報を入力する入力手段と、
前記入力手段により入力したテキスト情報に含まれるテキストの文字毎に対応した文字情報を前記サーバ装置に送信する第２の送信手段と、
前記サーバ装置から文字毎の描画形状情報を受信する第２の受信手段と、
前記第２の受信手段で受信した文字毎の描画形状情報に基づき、前記テキストに含まれる文字の画像を生成する生成手段と、
前記生成手段で生成された画像を表示装置に表示させる表示制御手段と、
を有することを特徴とする画像処理システム。
【請求項３】
フォント属性情報はフォントファミリーを含み、前記第１の送信手段は、フォント属性情報に含まれるフォントファミリーに応じた文字の描画形状情報を送信することを特徴とする請求項１又は請求項２に記載の画像処理システム。
【請求項４】
前記生成手段は前記テキストに含まれる文字毎に画像を生成し、前記表示制御手段は、前記生成手段により生成された文字毎の画像を、前記描画形状情報に基づき算出された位置に配置して表示させることを特徴とする請求項１乃至請求項３のいずれか１項に記載の画像処理システム。
【請求項５】
前記描画形状情報は、少なくともグリフとメトリクスを含むことを特徴とする請求項１乃至請求項４のいずれか１項に記載の画像処理システム。
【請求項６】
前記第２の受信手段で受信した文字の描画形状情報に基づき、前記表示制御手段により表示された画像を編集する編集手段を有することを特徴とする請求項１乃至請求項５のいずれか１項に記載の画像処理システム。
【請求項７】
前記編集手段は、前記生成手段で生成された画像の変形、拡大、縮小、回転の少なくとも１つの処理を行うことを特徴とする請求項６に記載の画像処理システム。
【請求項８】
少なくともテキストとフォント属性情報とを含むテキスト情報を入力し文字の描画形状情報に基づいて文字の画像を生成するクライアント装置と、ネットワークを介して接続されるサーバ装置であって、
文字の描画形状情報を格納する格納手段と、
接続されたクライアント装置からテキスト情報を受信する受信手段と、
前記受信手段により受信したテキスト情報に含まれるフォント属性情報に応じて、前記格納手段により格納された描画形状情報のうち前記テキスト情報に含まれるテキストの文字毎の描画形状情報を前記クライアント装置に送信する第１の送信手段と、
を有することを特徴とするサーバ装置。
【請求項９】
受信した文字情報に含まれるフォント属性情報に応じて格納された描画形状情報のうち前記文字情報に対応した文字の描画形状情報を送信するサーバ装置とネットワークを介して接続されるクライアント装置であって、
少なくともテキストとフォント属性情報とを含むテキスト情報を入力する入力手段と、
前記入力手段により入力したテキスト情報に含まれるテキストの文字毎に対応した文字情報を前記サーバ装置に送信する送信手段と、
前記サーバ装置から文字毎の描画形状情報を受信する受信手段と、
前記受信手段で受信した文字毎の描画形状情報に基づき、前記テキストに含まれる文字の画像を生成する生成手段と、
前記生成手段で生成された画像を表示装置に表示させる表示制御手段と、
を有することを特徴とするクライアント装置。
【請求項１０】
少なくともテキストとフォント属性情報とを含むテキスト情報を入力し文字の描画形状情報に基づいて文字の画像を生成するクライアント装置とネットワークを介して接続され、文字の描画形状情報を格納するサーバ装置の制御方法であって、
接続されたクライアント装置からテキスト情報を受信する受信工程と、
前記受信工程において受信したテキスト情報に含まれるフォント属性情報に応じて、格納された描画形状情報のうち前記テキスト情報に含まれるテキストの文字毎に対応した描画形状情報を前記クライアント装置に送信する送信工程と、
を有することを特徴とする制御方法。
【請求項１１】
受信した文字情報に含まれるフォント属性情報に応じて格納された描画形状情報のうち前記文字情報に対応した文字の描画形状情報を送信するサーバ装置とネットワークを介して接続されるクライアント装置の制御方法であって、
少なくともテキストとフォント属性情報とを含むテキスト情報を入力する入力工程と、
前記入力工程において入力したテキスト情報に含まれるテキストの文字毎に対応した文字情報を前記サーバ装置に送信する送信工程と
前記サーバ装置から文字毎の描画形状情報を受信する受信工程と、
前記受信工程において受信した文字毎の描画形状情報に基づき、前記テキストに含まれる文字の画像を生成する生成工程と、
前記生成工程において生成された画像を表示装置に表示させる表示制御工程と、
を有することを特徴とする制御方法。
【請求項１２】
請求項１０又は請求項１１に記載の制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１３】
請求項１２に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置に保持したフォントをクライアント装置で表示する画像処理システムおよび方法に関するものである。
【背景技術】
【０００２】
典型的なサーバ−クライアントのシステムでは、サーバ装置側にフォントを配置する方法が用いられている。この方法により、ユーザはクライアント装置に存在しない様々な種類のフォントを使用して文字を表現することができる。このような例として、サーバ装置が、クライアント装置により要求されたフォントを用いて画像データを作成してクライアント装置に送信するといった技術がある。
【０００３】
しかしその際、クライアント装置が要求してから画像データを取得するまでには、サーバ装置との通信やフォントの画像データ化等に多くの処理時間がかかってしまう。そこで処理時間の短縮を図る手段の一つとして、サーバ装置においてフォントを画像データ化すると、その画像データをサーバ装置に記憶しておく技術がある（例えば、特許文献１）。これにより、ユーザが選択したフォントの画像データがすでにサーバ装置に記憶されている場合、その画像データを取り出すだけでよいので、処理時間が短縮できる。
【特許文献１】特開２００５−１７３５５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上述した技術によりクライアント装置がサーバ装置から文字列を受信すると、この文字列を変形することが考えられる。しかしながら上記の従来技術においては、サーバ装置はクライアント装置の要求した文字列を１つの画像データとして取り出している。したがって、このような方法ではクライアント装置内において文字列を動的に変形することができないという問題があった。つまり、この文字列の動的な変形を行うためには、変形の最中にクライアント装置−サーバ装置間で画像データの通信を行わなければならなかった。
【０００５】
またユーザがこのような変形を行う際には、変形中の文字列を確認するために画像データの作成・表示を繰り返すことが多い。よって、このような場合にはクライアント装置−サーバ装置間で通信を繰り返し行わなければならず、処理時間が長くなってしまい、ユーザにとって操作性が良くないという問題がある。
【０００６】
上記の課題を鑑みて本発明は、サーバ装置側にフォントを配置するシステムにおいて、サーバから受信した文字列の変形を操作性よく行うことができる画像処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ネットワークを介して接続されたサーバ装置とクライアント装置とからなる画像処理システムであって、前記サーバ装置は、文字の描画形状情報を格納する格納手段と、クライアント装置からテキスト情報を受信する第１の受信手段と、前記第１の受信手段により受信したテキスト情報に含まれるフォント属性情報に応じて、前記格納手段により格納された描画形状情報のうち前記テキスト情報に含まれるテキストの文字毎に対応した描画形状情報を前記クライアント装置に送信する第１の送信手段と、を有し、前記クライアント装置は、少なくともテキストとフォント属性情報とを含むテキスト情報を入力する入力手段と、前記入力手段により入力したテキスト情報をサーバ装置に送信する第２の送信手段と、前記サーバ装置から前記テキストの文字毎の描画形状情報を受信する第２の受信手段と、前記第２の受信手段で受信した描画形状情報に基づき前記テキストに含まれる文字の画像を生成する生成手段と、前記生成手段で生成された画像を表示装置に表示させる表示制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によればサーバ装置側にフォントを配置するシステムにおいて、クライアント装置は、サーバ装置との通信を行わずに文字列の変形を行うことができる。これにより文字列の変形を操作性よく行うことができる。
【発明を実施するための最良の形態】
【０００９】
＜第１の実施形態＞
以下、図面を参照しながら本発明の実施形態に係る画像処理システムについて説明する。そこでまず、文字描画に必要な情報について説明する。一般的に文字描画では以下の情報が必要となる。
【００１０】
その情報としてまず「フォント」がある。これはゴシックや明朝等のフェース名で指定される文字の形状を表す情報であり、内部に文字毎に対応した描画形状（グリフ）を有する。その「グリフ」は、ある文字毎の描画形状を示す情報であり、またフォントの構成要素となる。さらに「メトリクス」がある。これは文字が占めるスペースの大きさを定義した、文字を表示するときのレイアウト情報であり、またグリフの横幅や文字間のカーニングも含まれる。文字描画ではこれらの情報が必要となる。
【００１１】
図１に、実施形態に係る画像処理システムのシステム構成図を示す。
【００１２】
画像処理システム１００は、サーバ装置１０１とインターネットやイントラネット等のネットワーク１０５を介して接続された１台または複数のクライアント装置１０２によって構成される。そしてクライアント装置１０２からのデータ要求に対し、サーバ装置１０１は要求されたデータを提供する。なお、これらの要求には出力画像の生成要求が含まれる。またサーバ装置１０１はサーバ用ＯＳを含むコンピュータであり、複数のフォントを記憶する記憶媒体を含む。
【００１３】
また本実施形態において、サーバ装置１０１は印刷用データ作成用のＷｅｂアプリケーションを提供するＷｅｂサーバである。さらにクライアント装置１０２は、サーバ装置１０１よりＷｅｂアプリケーションをダウンロードして、ブラウザソフトウェアを用いて実行させる。
【００１４】
またクライアント装置１０２は、データ転送用のインタフェースケーブル１０４を介してプリンタ１０３と接続されている。このインタフェースケーブル１０４は、クライアント装置１０２の制御により画像データを、プリンタ１０３に転送するためのインタフェースケーブルである。このプリンタ１０３は、クライアント装置１０２の制御に従って画像データを印刷して出力する。
【００１５】
図２に、実施形態に係るクライアント装置の物理的な構成図を示す。図のようにクライアント装置１０２は、プログラム命令を解釈し実行することのできる中央演算処理装置（以下ＣＰＵ）２０１、ＯＳやソフトウェアの実行コードやデータが格納されるＲＯＭ２０２や、一時記憶領域としてのＲＡＭ２０３を備える。ＣＰＵ２０１は、ＲＡＭを作業領域として、ＲＯＭに格納されているプログラムを実行することでクライアント装置全体を制御する。
【００１６】
またハードディスク２０４は不揮発性の記憶装置であり、種々のデータを記憶することができる。入力装置２０５はユーザインタフェースとして用いられ、ユーザによる操作内容がシステムバス２０８を通じてＣＰＵ２０１に入力されて、ＣＰＵ２０１はその操作内容に応じた制御を行う。つまりは、入力装置２０５が操作されることでユーザによる指示を入力することができる。なお入力装置２０５としては、例えばマウスやキーボードがある。表示装置２０６は、ＣＰＵ２０１の制御により文字や画像などの様々なデータを表示することができる。
【００１７】
クライアント装置１０２は、さらにプリンタ１０３との情報のやりとりを行う通信インタフェース２０７と、ネットワーク１０５との通信を行う通信インタフェース２０９とを備える。また図のように、それぞれの構成要素間のデータは、システムバス２０８を通じてやり取りされる。
【００１８】
図３に、実施形態に係るサーバ装置の物理的な構成図を示す。図のようにサーバ装置１０１は、プログラム命令を解釈し実行することのできる中央演算処理装置（以下ＣＰＵ）３０１、ＯＳやソフトウェアの実行コードやデータが格納されるＲＯＭ３０２や、一時記憶領域としてのＲＡＭ３０３を備える。ＣＰＵ３０１は、ＲＡＭ３０３を作業領域として、ＲＯＭ３０２に格納されているプログラムを実行することでサーバ装置全体を制御する。
【００１９】
またハードディスク３０４は不揮発性の記憶装置であり、種々のデータを記憶することができる。さらにネットワーク１０５との通信を行う通信インタフェース３０６を備える。また図のように、それぞれの構成要素間のデータは、システムバス３０５を通じてやり取りされる。
【００２０】
図４に、第１の実施形態に係るソフトウェアの構成図を示す。この図４に示したソフトウェアを構成する機能を、途中図５を用いて説明する。
【００２１】
なお、図４において１０２はクライアント装置であり、１０１はサーバ装置である。この構成においてクライアント装置１０２は、通信制御部４１１を介してサーバ装置１０１とのデータの送受信を行う。一方、サーバ装置１０１は通信制御部４２１を介して、クライアント装置の要求を受信し、その要求に対応するデータをクライアント装置に送信する。
【００２２】
表示制御部４１５は、表示装置２０６にＧＵＩ画面を表示させる。図５に実施形態に係る画像処理システムのクライアント装置上の、アプリケーションのＧＵＩ画面を示す。クライアント装置１０２において、アプリケーションはブラウザソフトウェアを用いて実行され、印刷用データを作成するためのＧＵＩ画面５００上に表示し、操作を受け付ける。
【００２３】
テキスト情報入力部４１２は、たとえばマウスやキーボードからのテキストと、フォントファミリー、フォントスタイル、フォントサイズ、フォントカラー等のフォント属性情報とを含むテキスト情報の入力を受け付ける入力インタフェースである。なお、フォントファミリーとしてゴシック、明朝体などフェース名で様々なものがある。またフォントスタイルとして、例えば太字、斜体などがある。
【００２４】
このフォント属性情報は、サーバ装置１０１のフォント格納部４２４に格納されたフォント種類の一覧をＧＵＩ画面５００上に表示し、ユーザに選択させる。ユーザはマウス等の入力装置への操作でＧＵＩ画面５００に表示されたフォントの種類を選択し、さらにテキストを入力する。そして決定ボタン５０１を指定すると、テキスト情報を決定する指示を入力することができる。このようにユーザによる操作で入力されたテキスト情報は通信制御部４１１を介してサーバ装置１０１へ送信される。
【００２５】
出力画像生成部４１４は、文字が配置された出力画像を生成する。なお、このとき文字毎のメトリクスが参照されて配置される。また出力画像がすでにＧＵＩ画面に表示されている場合、そのＧＵＩ画面における出力画像の配置座標と、その外形の大きさを含む矩形情報とが登録されており、これも参照される。この出力画像生成部４１４における処理の詳細については後述する。
【００２６】
表示制御部４１５は、画像を表示装置２０６に表示させる。特に本実施形態においては、矩形情報を元にＧＵＩ画面５００のプレビュー領域５０３に出力画像生成部４１４で生成した出力画像を表示させる。
【００２７】
外形枠入力部４１６は入力インタフェースであり、ユーザによる入力装置への操作の内容を解釈して、ユーザが指示した文字列の外形枠への編集処理の内容を判断する。たとえばマウス入力のインタフェースの場合、プレビュー領域５０３上の出力画像が表示された位置でマウスドラッグを行うと、この操作内容が入力される。すると、外形枠入力部４１６においてこの操作内容に対応する処理が判断され、例えば画像の選択および変形、回転、拡大・縮小、行間調節・移動等の編集処理をユーザの指示として受け付ける。
【００２８】
出力画像管理部４１７は、ＧＵＩ画面５００上に表示されたすべての出力画像と各々の矩形情報の管理を行い、また出力画像の生成時や変形時には外形枠入力部４１６からの情報に応じて矩形情報の更新を行う。さらに、ユーザが印刷要求を行うためのボタン５０２が選択された場合に、プレビュー領域５０３に表示された全ての出力画像情報と矩形情報を、通信制御部４１１を介してサーバ装置１０１へ送信する。するとサーバ装置１０１より画像データが通信制御部４１１を介して送信され、印刷制御部４１８はこの受信した画像データをプリンタに出力する。
【００２９】
次に、サーバ装置１０１について述べる。このサーバ装置１０１において通信制御部４２１は、クライアント装置１０２とデータの送受信を行う。テキスト分解部４２３は、通信制御部４２１を介してクライアント装置１０２から受信したテキスト情報に含まれるテキストを文字コードに分解する。
【００３０】
出力画像情報作成部４２２は、フォント格納部４２４に格納されたフォントを用いて出力画像情報を作成する。この出力画像情報には、受信したテキスト情報と、テキスト分解部４２３で分解した各々の文字に対応する描画形状情報（グリフ情報）とが含まれる。このグリフ情報がフォント格納部４２４に格納されたフォントによって求められる。このように作成された出力画像情報は通信制御部４２１を介して、クライアント装置１０２へ送信される。
【００３１】
画像データ作成部４２５は、通信制御部４２１を介してクライアント装置１０２から受信した出力画像情報及び矩形情報を元に、画像データを作成する。このように作成した画像データは、通信制御部４２１を介してクライアント装置１０２に送信される。
【００３２】
図６に、第１の実施形態に係るテキスト情報のデータ構造を示す。テキスト情報６００は、テキスト情報入力部４１２で入力された、少なくとも１つ以上の文字コードを含むテキスト６１０、テキストのフォントファミリー６２０、フォントスタイル６３０、フォントサイズ６４０、フォントカラー６５０を含む。上述したように、このテキスト情報がクライアント装置１０２からサーバ装置１０１へと送信される。
【００３３】
図７は、実施形態に係るグリフ情報のデータ構造を示す図である。本実施形態では、グリフ情報７００は、１文字に対し１つ存在する場合について説明する。グリフ情報７００には、少なくとも文字コード７１０と、文字コード７１０に対応するグリフ７２０と、メトリクス７３０を含む。
【００３４】
グリフ７２０は、その文字の形状を表し、たとえばベクトルデータの形式がある。またメトリクス７３０は、その文字のレイアウトを表し、少なくともアセント、ディセント、セット幅、右サイドベアリング、左サイドベアリング、カーニングを含む。なお、グリフ７２０はビットマップフォントであってもよいし、ベクトルフォントであってもよい。また、等幅フォントであってもよいし、プロポーショナルフォントでもよい。
【００３５】
図８は、実施形態に係る出力画像情報のデータ構造を示す図である。出力画像情報８００は、テキスト情報６００と、そのテキスト６１０に含まれる文字ごとのグリフ情報７００、７０１、７０２、・・を含む。なおグリフ情報７０１、７０２、・・は図７で説明したグリフ情報７００と同様の構造である。本実施形態では、出力画像情報８００に含まれるグリフ情報の数ｎは、テキスト情報６００に含まれるテキスト６１０の文字数と同じ数だけ存在する。上述したように、この出力画像情報がサーバ装置１０１の出力画像情報作成部４２２で作成される。
【００３６】
図９は、第１の実施形態に係る画像処理システムの出力画像生成処理を示すフローチャートである。なお、図１０は実施形態に係るテキスト入力後のＧＵＩ画面である。図１１は、実施形態に係る出力画像生成後のＧＵＩ画面である。これら図９、１０、１１を用いて、本実施形態に係る出力画像生成手順について説明する。
【００３７】
まずステップＳ１１において、図５で示したＧＵＩ画面５００が表示装置にすでに表示されており、この状態でユーザはキーボード等の入力装置を操作する。そしてテキスト情報入力部４１２にこの操作内容が入力されると、図１０に示すように、その操作内容に応じた１つまたは複数の文字１０００が表示される。そしてユーザがマウス等を操作して決定ボタン５０１を選択すると、Ｓ１２に進む。なおこのＳ１１において、サーバ装置１０１のフォント格納部４２４に格納されたフォントの一覧がＧＵＩ画面５００上に表示されている。そしてユーザがフォントを選択することで、フォントファミリー６２０とフォントスタイル６３０が決定される。
【００３８】
ステップＳ１２では、入力されたテキスト情報６００を、通信制御部４１１を介してサーバ装置１０１に送信する。これを第２の送信と呼んでも良い。つまり入力されたテキスト及びそのフォント属性情報が、サーバ上でテキスト情報６００として格納される。またクライアント装置１０２は、ステップＳ１２においてテキスト情報を送信した後、サーバ装置１０１からの応答を待つ待機状態となる。
【００３９】
次にサーバ装置１０１の処理について述べる。ステップＳ２１では、クライアント装置１０２から送信されたテキスト情報６００を、通信制御部４２１を介して受信する。これを第１の受信と呼んでも良い。ステップＳ２２では、テキスト分解部４２３により、テキスト情報６００に含まれるテキスト６１０が１文字ずつの文字コードに分割される。
【００４０】
ステップＳ２３では、Ｓ２２で分割された１文字ずつの文字コードに対応するグリフ情報を作成する。具体的には、テキスト情報６００のフォントファミリー６２０、フォントスタイル６３０、フォントサイズ６４０、フォントカラー６５０と、分割された１文字の文字コードを元にフォント格納部４２４を参照して、グリフ情報を作成する。また、このステップＳ２３の処理は、テキスト６１０に含まれる文字数分繰り返し、７００、７０１、７０２、・・のｎ個のグリフ情報を作成する。
【００４１】
ステップＳ２４では出力画像情報作成部４２２が、ステップＳ２３で作成された文字数ｎ個のグリフ情報とテキスト情報６００とを含む、出力画像情報８００を作成する。次にステップＳ２５では、通信制御部４２１を介して、ステップＳ２４で作成した出力画像情報８００をクライアント装置１０２に送信する。これを第１の送信と呼んでも良い。
【００４２】
クライアント装置１０２では、ステップＳ１２においてテキスト情報を送信した後、待機状態になったが、前述のステップＳ２５においてサーバ装置から１０１から出力画像情報が送信されると、ステップＳ１３に進む。
【００４３】
ステップＳ１３では、通信制御部４１１を介し、サーバ装置１０１で作成、送信された出力画像情報８００を受信する。これを第２の受信と呼んでも良い。ステップＳ１４では出力画像生成部４１４において、サーバ装置１０１より受信した出力画像情報内のｎ個のグリフ情報に含まれる各々のグリフから得られた文字画像を、各々のメトリクスを元に算出した座標に配置することで出力画像１１００を作成する。このとき出力画像生成部４１４は、文字が配列された新たな１つの画像を生成してもよいし、文字画像を生成してそれを並べるだけでもよい。
【００４４】
ステップＳ１５では、図１１に示すように、ステップＳ１４で作成した出力画像をプレビュー領域５０３上の中心に表示する。この際、出力画像管理部４１７に、出力画像１１００のＧＵＩにおける配置座標と、出力画像１１００の外形の大きさである矩形情報を登録する。この表示された出力画像１１００は、外形枠入力部４１６により入力されたユーザの指示に応じて変形する。
【００４５】
図１２に、出力画像の幅を縮小する場合の例を示す。なお、この処理は外形枠入力部４１６への入力に応じて行われる。具体的にここでは、ユーザが外形枠１２０１の右辺をマウスドラッグで左へ移動することによって幅を縮小するものとする。なおマウスドラッグによって幅を縮小している間、外形枠入力部４１６により外形枠が縮小していることが判断され、さらに外形枠１２０１の座標が判断される。
【００４６】
図１３は、実施形態に係る出力画像の幅を縮小する手順を示すフローチャートである。なお、外形枠入力部４１６によって縮小していることが判断されている間、ステップＳ３１、Ｓ３２が繰り返される。
【００４７】
ステップＳ３１では、出力画像１１００の幅と、外形枠１２０１の幅を比較することで、外形枠１２０１と出力画像１１００が重なるか重ならないかを判定する。このとき出力画像１１００の幅は、出力画像管理部４１７で管理されている出力画像１１００の矩形情報を参照することで得られる。外形枠１２０１の幅が出力画像１１００の幅より小さい場合、ステップＳ３２で、出力画像１１００の一番右側の文字（ここでは「Ｅ」）を次行に移動させる。具体的に説明すると、文字「Ｅ」のグリフが外形枠１２０１の幅に収まる様に算出した座標に配置された変形後の出力画像１１００を、出力画像生成部４１４がメトリクス７３０を元に作成する。そしてこの出力画像１１００が、表示制御部４１５により表示装置２０６に表示される。またこのとき、出力画像管理部４１７で管理されている出力画像１１００の矩形情報が更新される。図１４は、幅を縮小した後の出力画像の一例を示す図である。
【００４８】
次に、出力画像の幅を拡大する場合について説明する。ユーザがマウスドラッグで右への操作をすることによって、外形枠入力部４１６が出力画像１１００の右辺を右へ移動させて幅を拡大する。尚、マウスドラッグによって幅を拡大している間、外形枠入力部４１６により外形枠が拡大されていることが判断され、またマウスの現在の座標から外形枠の位置が判断される。
【００４９】
図１５に、実施形態に係る出力画像１１００の幅を拡大する手順を示したフローチャートを示す。なお、このフローチャートにおいては、外形枠入力部４１６によって外形枠が拡大していることが判断されている間、ステップＳ４１、Ｓ４２が繰り返される。
【００５０】
ステップＳ４１では、出力画像１１００の幅と、外形枠１２０１の幅の差と、次行１つ目の文字（ここでは「Ｅ」）の幅を比較する。このとき、出力画像１１００の幅は、出力画像管理部４１７で管理されている出力画像１１００の矩形情報を参照することで得られる。また文字の幅は、該当する文字に対応するグリフ情報７００のメトリクス７３０を参照する。出力画像１１００の幅と、外形枠１２０１の幅の差よりも、次行１つ目の文字（ここでは「Ｅ」）の幅が小さい場合、ステップＳ４２において、「Ｅ」を前行の最後尾に移動する。具体的に説明すると、文字「Ｅ」のグリフが外形枠の幅に収まる様に配置された変形後の出力画像１１００を、出力画像生成部４１４がメトリクス７３０を元に生成する。そして、その出力画像が表示制御部４１５により表示装置２０６に表示される。図１６は、幅を拡大した後の出力画像を示す図である。またこのとき出力画像管理部４１７で管理されている出力画像１１００の矩形情報が更新される。
【００５１】
以上のようにクライアント装置１０２において変形が行われた後、ユーザが印刷要求を行うと、変形された出力画像の出力画像情報と矩形情報が通信制御部４１１を介してサーバ装置１０１へ送信される。そしてサーバ装置１０１より画像データが通信制御部４１１を介して返信され、印刷制御部４１８はこの受信した画像データをプリンタに出力する。
【００５２】
なお、ここでは１行の出力画像の変形について述べたが、複数行であってもよい。また、ここでは出力画像１１００の右からの変形入力による文字送りについて述べたが、左からの入力でも構わない。
【００５３】
またここでは、ステップＳ２３で、サーバ装置１０１の出力画像情報作成部４２２が、テキスト６１０に含まれる全ての文字コードに対応するグリフ情報を作成する場合について述べた。しかしこれに限らず、一度作成したグリフ情報をキャッシュし、文字コードが重複する場合にはキャッシュしたグリフ情報を取り出しても構わない。さらにここでは、クライアント装置１０２において、テキストを横書きで表示する場合について述べたが、縦書きであっても構わない。
【００５４】
さらにここでは、サーバ装置１０１で印刷用の画像データを作成する場合について述べたが、クライアント側で行っても構わない。
【００５５】
上記したように、本実施形態の構成によれば、テキスト情報６００に含まれる文字を分解して、各々のグリフ情報を作成し、クライアント装置では作成されたグリフ情報に基づき文字画像が配置された出力画像を作成する。これによって、動的な出力画像の変形（文字送り）を、サーバとの通信を行わずに、グリフ７２０の移動のみで行うことができる。したがって処理時間を短縮することができるので、ユーザは、サーバから受信した文字列の変形を操作性よく行うことができる。さらには、サーバの負荷を軽減することができる。
【００５６】
＜第２の実施形態＞
以下、図面を参照しながら、第２の実施形態に係る画像処理システムについて説明する。前述した第１の実施形態では、クライアント装置がテキスト情報をサーバ装置に送信して、サーバ装置においてテキスト情報を１文字づつの文字コードに分解していた。一方、本実施形態では別の方法として、クライアント装置において１文字づつの文字コードに分解して、サーバに送信する方法について説明する。なお、本実施形態に係る画像処理システムのシステム構成図、クライアント装置の物理的な構成図、サーバ装置の物理的な構成図は、第１の実施形態の図１、図２、図３と同様であるため、説明は省略する。
【００５７】
図１７は、第２の実施形態に係るソフトウェア構成図である。図１７において、１０２はクライアント装置であり、１０１はサーバ装置である。
【００５８】
まずクライアント装置について説明する。ただし、通信制御部４１１、テキスト情報入力部４１２、出力画像生成部４１４、表示制御部４１５、外形枠入力部４１６、出力画像管理部４１７、印刷制御部４１８については第１の実施形態と同様であるため説明は省略する。
【００５９】
文字情報作成部１７２０は、まずテキスト情報入力部４１２に入力されたテキスト情報に含まれるテキストを文字コードに分解する。そして各々の文字コードとフォントファミリー、フォントスタイル、フォントサイズ、フォントカラー等のフォント属性情報を含む文字情報を作成する。なおこのフォント属性情報は、サーバ装置１０１のフォント格納部４２４に格納されたフォント種類の一覧をＧＵＩ画面５００上に表示し、ユーザに選択させる。ユーザはマウス等の入力装置への操作でＧＵＩ画面５００に表示されたフォントの種類を選択し、さらにテキストを入力する。
【００６０】
出力画像情報作成部１７２１は、通信制御部４１１を介してサーバ装置１０１から受信した７００、７０１、７０２、・・・のｎ個のグリフ情報を含む出力画像情報を作成する。この処理の詳細については、後述する。
【００６１】
サーバ装置１０１における通信制御部４２１、フォント格納部４２４、画像データ作成部４２５は第１の実施形態と同様であるため、説明は省略する。グリフ情報作成部１７１０は、通信制御部４２１を介してクライアント装置１０２から受信した文字情報とフォント格納部４２４に格納されたフォントを用いて、グリフ情報を作成する。
【００６２】
図１８は、第２の実施形態に係る文字情報の構成図である。本実施形態では、文字情報１８００が１文字に対し１つ存在する場合について説明する。図のように文字情報１８００は、少なくとも文字コード１８１０、フォントファミリー１８２０、フォントスタイル１８３０、フォントサイズ１８４０、フォントカラー１８５０を含む。
【００６３】
本発明の実施形態に係るテキスト情報の構成図、グリフ情報の構成図、出力画像情報の構成図は、第１の実施形態の図６、図７、図８と同様であるため、説明は省略する。また本実施形態に係るＧＵＩ画面の例は、第１の実施形態と同様である。
【００６４】
図１９は、第２の実施形態に係る出力画像生成処理を行う手順を示したフローチャートである。なお、本実施形態に係るテキスト入力後のＧＵＩ画面の一例は、第１の実施形態の図１０と同様である。
【００６５】
まずステップＳ５１において、図５で示したＧＵＩ画面５００が表示装置にすでに表示されており、この状態でユーザはキーボード等の入力装置を操作する。そしてテキスト情報入力部４１２にこの操作内容が入力されると、図１０に示すように、少なくとも１つの文字を含む任意のテキストが表示される。ステップＳ５２では、ユーザがＧＵＩ画面の決定ボタン５０１を選択することにより、入力されたテキストをテキスト情報６００として格納する。なおＳ５１において、サーバ装置１０１のフォント格納部４２４に格納されたフォントのフォント種類の一覧がＧＵＩ画面５００上に表示されている。そして、ユーザがフォント種類から選択することでフォントファミリー、フォントスタイル等のフォント属性情報が決定される。
【００６６】
さらに文字情報作成部１７２０では、テキストを分解した各々の文字の文字コード、フォントファミリー、フォントスタイル、フォントサイズ、フォントカラーにより各々の文字の文字情報を作成する。すると、これらの情報がそれぞれ文字コード１８１０、フォントファミリー１８２０、フォントスタイル１８３０、フォントサイズ１８４０、フォントカラー１８５０となる。そして本実施形態においては、テキストに含まれる文字数ｎ個分の文字情報１８００、１８０１、１８０２、・・・を作成する。なお、この文字情報１８０１、１８０２、・・・は、文字情報１８００と同様の構造である。
【００６７】
次にステップＳ５３においてクライアント装置は、ステップＳ５２で作成した１つの文字情報１８００を、通信制御部４１１を介してサーバに送信し、サーバからの応答を待機する状態になる。この送信を第２の送信と呼んでも良い。
【００６８】
ステップＳ６１においてサーバ装置１０１では、クライアント装置１０２から送信された１つの文字情報１８００を、通信制御部４２１を介して受信する。これを第１の受信と呼んでも良い。次にステップＳ６２ではグリフ情報作成部１７１０において、グリフ情報７００を作成する。このグリフ情報は、文字情報１８００を用いて、またフォント格納部４２４を参照して作成される。次にステップＳ６３で、通信制御部４２１を介し、作成したグリフ情報７００をクライアント装置１０２に送信する。これを第１の送信と呼んでも良い。このステップＳ６３においてサーバ装置１０１からクライアント装置１０２にグリフ情報が送信されると、クライアント装置１０２はステップＳ５４の処理に進む。ステップＳ５４では、ステップＳ５３で送信した文字情報１８００のグリフ情報７００をサーバから受信する。これを第２の受信と呼んでも良い。
【００６９】
また、以上のステップＳ５３、ステップＳ６１、ステップＳ６２、ステップＳ６３、ステップＳ５４の処理は、テキスト６１０に含まれる文字数ｎ個分繰り返す。つまりは、ユーザが入力したテキストに含まれる全ての文字の文字情報が作成されてサーバ装置に送られる。そして、文字情報の受信が完了すると、ステップＳ５５に進む。
【００７０】
ステップＳ５５において、クライアント装置１０２の出力画像情報作成部１７２１は、入力されたテキスト情報６００とテキストの文字数ｎ個分のグリフ情報７００、７０１、７０２、・・・を含む出力画像情報８００を作成する。次にステップＳ５６において、出力画像生成部４１４が図１１に示したような出力画像を作成する。なお、このとき出力画像生成部４１４は、出力画像情報内のグリフ情報７００、７０１、７０２、・・に含まれる各々のグリフから得られた文字画像を、各々のメトリクスを元に算出した座標に配置することで出力画像を作成する。
【００７１】
そしてステップＳ５７において、この出力画像１１００が、表示制御部４１５により表示装置２０６に表示される。この際、出力画像管理部４１７に、出力画像１１００のＧＵＩ上の配置座標と、出力画像１１００の外形の大きさである矩形情報を登録する。
【００７２】
以降、このＧＵＩ画面に表示された出力画像１１００は、外形枠入力部４１６への入力に応じて変形される。この出力画像１１００の変形のフローは第１の実施形態と同一のため、説明は省略する。
【００７３】
なお、以上の実施形態では１行の出力画像の変形について述べたが、複数行であっても構わない。また、ここでは出力画像１１００の右からの変形入力による文字送りについて述べたが、左からの入力であっても構わない。
【００７４】
さらに、ここではクライアント装置１０２からサーバ装置１０１への文字情報の送信、サーバ装置１０１におけるグリフ情報の作成とクライアント装置１０２への送信を、テキスト６１０に含まれる文字数と同じ回数繰り返す場合について述べた。しかし、クライアント装置１０２において、重複する文字情報１８００が含まれる場合には、サーバ装置１０１への文字情報の送信は一度しか行わなくてもよい。もしくは、サーバ装置１０１において、一度作成したグリフ情報をキャッシュし、重複した要求を受けたときにはキャッシュしたグリフ情報を取り出しても構わない。
【００７５】
さらに、ここでは、クライアント装置１０２において、テキストを横書きで表示する場合について述べたが、縦書きであっても構わない。加えて、ここではサーバ装置１０１で印刷用の画像データを作成しする場合について述べたが、クライアント側で行っても構わない。
【００７６】
上述したように、本実施形態の構成によれば、テキスト情報６００に含まれる文字を分解し、各々のグリフ情報を作成、配置した出力画像を作成する。これによって、動的な出力画像の変形（文字送り）を、サーバとの通信を行わずに、グリフ７２０の移動のみで行うことを可能とした。
【００７７】
なお上述の実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給してもよい。その場合、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）がその記録媒体に格納されたプログラムコードを読み出し実行することによって、本発明の目的が達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７８】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００７９】
また本発明は、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけに限定されない。本発明は、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって上述の実施形態の機能が実現される場合であってもよい。
【００８０】
さらに本発明は、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれるものであってもよい。その場合、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００８１】
【図１】実施形態に係る画像処理システムのシステム構成図である。
【図２】実施形態に係るクライアント装置の物理的な構成図である。
【図３】実施形態に係るサーバ装置の物理的な構成図である。
【図４】第１の実施形態に係るソフトウェアの構成図である。
【図５】実施形態に係る画像処理システムのクライアント装置上の、アプリケーションのＧＵＩ画面である。
【図６】第１の実施形態に係るテキスト情報のデータ構造を示す図である。
【図７】実施形態に係るグリフ情報のデータ構造を示す図である。
【図８】実施形態に係る出力画像情報のデータ構造を示す図である。
【図９】第１の実施形態に係る画像処理システムの出力画像生成処理を示すフローチャートである。
【図１０】実施形態に係るテキスト入力後のＧＵＩ画面である。
【図１１】実施形態に係る出力画像生成後のＧＵＩ画面である。
【図１２】出力画像の幅を縮小する場合の例を示す図である。
【図１３】実施形態に係る出力画像１１００の幅を縮小する手順を示すフローチャートである。
【図１４】幅を縮小した後の出力画像の一例を示す図である。
【図１５】実施形態に係る出力画像１１００の幅を拡大する手順を示したフローチャートである。
【図１６】幅を拡大した後の出力画像を示す図である。
【図１７】第２の実施形態に係るソフトウェア構成図である。
【図１８】第２の実施形態に係る文字情報の構成図である。
【図１９】第２の実施形態に係る出力画像生成処理を行う手順を示したフローチャートである。
【符号の説明】
【００８２】
１００  画像処理システム
１０１  サーバ装置
１０２  クライアント装置
１０３  プリンタ
１０４  データ転送用インタフェースケーブル
１０５  ネットワーク
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  ハードディスク
２０５  入力装置
２０６  表示装置
２０７  通信インタフェース
２０８  システムバス
２０９  通信インタフェース
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  ハードディスク
３０５  システムバス
３０６  通信インタフェース
【図１】
2010091724.tif 000003
【図２】
2010091724.tif 000004
【図３】
2010091724.tif 000005
【図４】
2010091724.tif 000006
【図５】
2010091724.tif 000007
【図６】
2010091724.tif 000008
【図７】
2010091724.tif 000009
【図８】
2010091724.tif 000010
【図９】
2010091724.tif 000011
【図１０】
2010091724.tif 000012
【図１１】
2010091724.tif 000013
【図１２】
2010091724.tif 000014
【図１３】
2010091724.tif 000015
【図１４】
2010091724.tif 000016
【図１５】
2010091724.tif 000017
【図１６】
2010091724.tif 000018
【図１７】
2010091724.tif 000019
【図１８】
2010091724.tif 000020
【図１９】
2010091724.tif 000021