サーバ装置及びその制御方法、プログラム、並びに印刷システム
【課題】本発明は、他の文字コード体系に存在する拡張文字を外字として印字する場合であっても、プリンタが備えるフォントによらずに外字の印字を容易に行うことができるサーバ装置を提供する。
【解決手段】サーバ装置では、出力先として指定されたプリンタに拡張フォントが存在するか否かを判断し、拡張フォントが存在する場合は、図7に示すような外字変換テーブルに基づいて、出力時に使用する出力用文字セット及び出力用文字コードを決定してプリンタに送信する。出力先として指定されたプリンタに拡張フォントが存在しない場合は、図7に示すような外字変換テーブルに基づいてTrueTypeフォント及び文字コードのイメージデータを抽出してプリンタに送信する。
【解決手段】サーバ装置では、出力先として指定されたプリンタに拡張フォントが存在するか否かを判断し、拡張フォントが存在する場合は、図7に示すような外字変換テーブルに基づいて、出力時に使用する出力用文字セット及び出力用文字コードを決定してプリンタに送信する。出力先として指定されたプリンタに拡張フォントが存在しない場合は、図7に示すような外字変換テーブルに基づいてTrueTypeフォント及び文字コードのイメージデータを抽出してプリンタに送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部から受信した印刷データに存在する外字を印字するサーバ装置及びその制御方法、プログラム、並びに印刷システムに関する。
【背景技術】
【0002】
従来、ホストコンピュータ(メインフレーム)で作成された印刷データをプリンタで出力する場合、当該ホストコンピュータが備える文字コードをJIS(Japanese Industrial Standards)形式に変換している。ホストコンピュータが備える文字コードとしては、KEIS(Kanji processing Extended Information System)、JEF(Japanese processing Extended Feature)、IBM、及びJIPS(Japanese Information Processing System)が代表的なものである。一方、JISには存在しない拡張文字の提供も行われている。拡張文字では、専用のフォントがプリンタフォントやTrueTypeとして用意される。
【0003】
近年、印刷データの出力を行うホストコンピュータにとっては、拡張文字の他に外字と呼ばれる標準では用意されていない文字を印字可能であることが必須となっている。外字を印字する場合は、ユーザが個別に文字をデザインしてビットマップフォントとしてプリントサーバに登録したり、新規文字セットとしてプリンタに登録したりする必要がある。
【0004】
ところで、KEISコードを使用しているユーザがJEFコードの拡張文字にしかない文字を使うなど、ビットマップ形式による印字とは別に、他のホストコンピュータ用の拡張文字を使う場合がある。これは、ビットマップ形式による印字では印字品位が落ちること、文字のデザインを行う手間が省けること、既成のものであるために印字結果が綺麗であること等に理由によるものである。
【0005】
他のホストコンピュータ用の拡張文字を使って印刷データを印刷出力する場合、プリントサーバ側で文字セット及び文字コードの変換を行う必要があることから、例えば、図11に示すような外字変換テーブルを用いて、入力フォント名、入力文字コード、出力用フォント名、及び出力用文字コードを指定する。例えば、KEIS用の入力フォント名(文字セット)K24MKS1で58A1という文字コードがあった場合、JEF用の拡張文字(Mincho−Medium.JEF)の4573で印字するという例である。ここで例示したK24MKS1は、2バイト文字の24ドットサイズ、KEIS用文字セットでマッピングされているフォントという意味を示すが、これに限定されるものではない。
【0006】
コードの異なる外字を制御する仕組みとして、文字コード体系の異なる複数のプラットフォームで外字を使用できるシステムが提供されている(例えば、特許文献1参照)。
【特許文献1】特開平10−55358号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した外字変換テーブルを使用する場合、以下の問題がある。
【0008】
1.プリンタによってはホストコンピュータ用の拡張文字を持っていないため、プリントサーバ側にTrueTypeフォントを用意させてフォントを展開させる必要がある場合がある。
【0009】
2.TrueTypeフォントを使用して印字する場合、展開した文字のビットマップデータは、解像度及び文字の大きさにもよるが一般的にデータ量が増大する。そのため、フォントを持っているプリンタではフォントの指定と文字コードの選択のみを行うほうが効率的である。
【0010】
3.ホストコンピュータ用のTrueTypeフォントとプリンタフォントでは、管理する文字のマッピングが異なる場合があり、文字コード変換テーブルを別に用意する必要がある。
【0011】
4.使用したい拡張文字のTrueTypeフォントやプリンタフォント中の文字コードは公開されていない場合もあり、それを知ることは困難である。
【0012】
また、上記特許文献1に記載されたシステムは、ビットマップフォントを複数のプラットフォーム間で受け渡しが行えるシステムであって、すべてのプラットフォームにおいて外字として扱う必要があり、同一の文字をシステムとして保持していても外字として扱う必要がある。また、用意されている同一文字がスケーラブルフォントで用意されていても、外字用のビットマップフォントが使用される場合がある。そのため、上記問題を解決するものではない。
【0013】
本発明は、上記問題に鑑みて成されたものであり、他の文字コード体系に存在する拡張文字を外字として印字する場合であっても、プリンタが備えるフォントによらずに外字の印字を容易に行うことができるサーバ装置及びその制御方法、プログラム、並びに印刷システムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するために、請求項1記載のサーバ装置は、出力装置に接続されたサーバ装置であって、入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルと、前記出力装置に拡張フォントが存在するか否かを判断する判断手段と、前記判断手段により前記出力装置に拡張フォントが存在すると判断された場合は、前記文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記出力装置に送信する第1の処理手段と、前記判断手段により前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記出力装置に送信する第2の処理手段とを備えることを特徴とする。
【0015】
上記目的を達成するために、請求項8記載のサーバ装置の制御方法は、出力装置に接続されたサーバ装置の制御方法であって、前記出力装置に拡張フォントが存在するか否かを判断する判断工程と、前記判断工程にて前記出力装置に拡張フォントが存在すると判断された場合は、入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記出力装置に送信する第1の処理工程と、前記判断工程にて前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記出力装置に送信する第2の処理工程とを備えることを特徴とする。
【0016】
上記目的を達成するために、請求項16記載の印刷システムは、少なくとも1つの印刷装置と、当該印刷装置にネットワークを介して接続されたサーバとで構成される印刷システムであって、前記サーバは、入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルと、前記印刷装置に拡張文字が存在するか否かを判断する判断手段と、前記判断手段により前記出力装置に拡張文字が存在すると判断された場合は、前記文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記印刷装置に送信する第1の処理手段と、前記判断手段により前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記印刷装置に送信する第2の処理手段とを備えることを特徴とする。
【発明の効果】
【0017】
本発明によれば、他の文字コード体系に存在する拡張文字を外字として印字する場合であっても、プリンタが備えるフォントによらずに外字の印字を容易に行うことができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【0019】
図1は、本発明の実施の形態に係る印刷システムの概略構成を示すブロック図である。同図に示す如く、本実施の形態に係る印刷システムは、ホストコンピュータ101と、UNIX(登録商標)サーバ102と、プリントサーバ103と、プリンタA104,プリンタB105と、クライアントPC106と、これらを互いに接続するネットワーク107とにより構成されている。
【0020】
ホストコンピュータ101及びUNIX(登録商標)サーバ102は、一般のPC(Personal Computer)やWS(work station)等により構成されており、印刷対象のデータ(印刷ジョブ)を作成するためのアプリケーションを保持している。ホストコンピュータ101(若しくはUNIX(登録商標)サーバ102)の操作者がこのアプリケーションを用いて印刷対象のデータを作成する。その後、この印刷対象のデータに基づく印刷をプリンタA104又はプリンタB105によって印刷させる旨の指示が入力された場合には、当該印刷対象のデータは、ネットワーク107を介してプリントサーバ103に送出される。
【0021】
なお、印刷対象のデータを作成し、プリントサーバ103に対して当該データを送出可能な装置であれば、ホストコンピュータ101、UNIX(登録商標)サーバ102以外の装置を用いてもよく、その台数や装置の種類などについて限定するものではない。
【0022】
プリントサーバ103は、外部(本実施の形態ではホストコンピュータ101やUNIX(登録商標)サーバ102)から印刷対象データを受信し、これをプリンタA104(又はプリンタB105)に適したデータ形式に変換し、プリンタ104A(又はプリンタB105)に送出する処理を行うものである。プリントサーバ103が行う処理については後述する。
【0023】
プリンタA104及びプリンタB105は、それぞれプリンタ又は複合機などの出力装置により構成されており、プリントサーバ103から受信したデータに基づいて、紙やOHPなどの記録媒体上に画像や文字の記録(印刷)処理を行う。記録方法については特に限定するものではなく、インクジェット方式、レーザビーム方式、熱転写方式等、各種の記録方式のいずれを用いてもよい。なお、プリンタA104及びプリンタB105の動作状況などについては、プリントサーバ103が適宜監視している。
【0024】
クライアントPC106は、プリントサーバ103の状況を監視し、クライアントPC106が有する表示装置(不図示)の表示画面上にその監視した状況が適宜表示される。プリントサーバ103における処理状況や印刷結果などについては、当該プリントサーバ103が適宜クライアントPC106に対して送信しているので、クライアントPC106は受信した処理状況や印刷結果などを表示装置の表示画面上に表示する処理を行う。また、クライアントPC106は、ホストコンピュータ101やUNIX(登録商標)サーバ102と同様に、印刷対象データを作成してプリントサーバ103に対して送出してもよい。
【0025】
ネットワーク107は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、電話回線、専用デジタル回線、ATMやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等のいずれか、若しくはその組み合わせにより構成されているものであり、上述した各装置間におけるデータ通信を実現するものである。ネットワーク107は無線、有線は特には問わない。
【0026】
図2は、図1のプリントサーバ103のハードウェア構成を示すブロック図である。本実施の形態において、ホストコンピュータ101、UNIX(登録商標)サーバ102、及びクライアントPC106は、プリントサーバ103と同様の構成を有しているものとする。なお、以下説明する各処理が実現可能で有れば、これに限定されるものではない。
【0027】
図2において、CPU21は、RAM22やROM23に格納されているプログラムやデータを用いて、プリントサーバ103全体の制御を行うと共に、本コンピュータが行う後述の各処理を実行する。
【0028】
RAM22は、ハードディスク28やCD−ROMドライブ29からロードされたプログラムやデータ、NIC(Network Interface Card)24を介して外部から入力されたプログラムやデータを一時的に記憶するためのエリア、CPU21が各種の処理を実行する際に用いるワークエリア等のエリアを適宜提供することができる。ROM23は、プリントサーバ103の設定データやブートプログラムなどを格納する。
【0029】
NIC24は、プリントサーバ103をネットワーク107に接続するためのインターフェースとして機能するものである。プリントサーバ103は、NIC24を介してネットワーク107に接続されている各種装置とのデータ通信を行うことができる。
【0030】
入力部26はキーボードであり、入力部27はマウスである。これらはプリントサーバ103の操作者が操作することで各種の指示をCPU21に対して行うことができる。なお、図示の構成をホストコンピュータ101、UNIX(登録商標)サーバ102、及びクライアントPC106等に適用した場合、操作者は入力部26,27を用いてアプリケーションを操作し、印刷対象データを作成することになる。
【0031】
ハードディスク28は、OS(Operating System)やプリントサーバ103等が行うべき後述の各処理をCPU21に実行させるためのプログラムやデータが保存されている。これらのプログラムやデータは、CPU21による制御に従って適宜RAM22にロードされる。
【0032】
CD−ROMドライブ29は、CD−ROMに記録されているプログラムやデータを読み出し、ハードディスク28やRAM22等に出力する。なお、ハードディスク28に保存されている各種プログラムやデータの一部をCD−ROMに記録しておき、記録されたプログラムやデータをCD−ROMドライブ29によって適宜RAM22にロードするようにしてもよい。また、本実施の形態では、記憶媒体の一例としてCD−ROMを用いているが、これに限定されず、本実施の形態に適用可能な記憶媒体であればよい。
【0033】
システムバス20は、例えば、PCIバス、AGPバス、メモリバス等により構成されている。なお、同図では、各バス間の接続用チップやキーボードインタフェース、いわゆるSCSIやATAPIのような入出力用インターフェースは省略されている。
【0034】
図3は、プリントサーバ103の機能的構成を示すブロック図である。
【0035】
図3において、データ受信フォルダ301は、ホストコンピュータ101から転送された印刷データを受信して格納する。
【0036】
データ監視手段302は、データ受信フォルダ301を監視して印刷データの受信が終了したと判断した場合、印刷データをデータ受信フォルダ301からデータ保存フォルダ304へ移し、データ管理手段303へ新規に印刷データを受信したことを通知する。
【0037】
データ管理手段303は、データ保存フォルダ304中の印刷データを管理し、ユーザから指示があった場合にはデータ変換手段305へ印刷データの変換指示を行う。
【0038】
データ変換手段305は、データ管理手段303から変換指示を受け取ると、外字変換テーブル308、プリンタ情報ファイル309を参照し、印刷データをプリンタA104又はプリンタB105で出力できる形式に変換して印刷処理を行う。外字変換テーブル308とは、外字として扱う文字コードと、その文字をどのようにして出力するかを示す情報である。プリンタ情報ファイル309は各プリンタの固有の情報である。
【0039】
図4及び図5は、図3のデータ変換手段305により実行される外字出力処理のフローチャートである。
【0040】
図4において、データ変換手段305は、データ管理手段303から印刷データの変換指示を受け取ると、データ保存フォルダ304中の印刷データの解析を開始する。データの解析を行っている最中で文字の印字が指定される(ステップS401)。
【0041】
次に、文字の印字が指定されると、データ変換手段305は、その文字のフォント名と文字コードの組が外字変換テーブル308(図7に示す外字変換テーブル)に存在するか否かを判断する(ステップS402)。ここでは、図7の外字変換テーブルが参照され、フォント名とコードの組があるか否かが判断される。この判断の結果、外字変換テーブル308に文字のフォント名と文字コードの組が存在する場合は、ステップS403へ進み、存在しない場合は、図5のステップ413へ進む。
【0042】
ステップS403では、データ変換手段305は、外字変換テーブル308(図7に示す外字変換テーブル)の出力用抽象フォント名に抽象フォント名(出力用フォント名として通常は存在しないフォント名である。本実施の形態では、例えば、%JEF%等で表す)が指定されているか否かを判断する。この判断の結果、抽象フォント名が指定されていた場合は、ステップS404へ進み、抽象フォント名が指定されていない場合は、ステップ419へ進む。
【0043】
ステップS404では、データ変換手段305は、出力先として指定されたプリンタに拡張文字用フォント(以下、「拡張フォント」と略す。)が存在するか否かを判断する。ここでは、データ変換手段305がプリンタ情報ファイル309の一部である拡張文字存在フラグを参照して拡張フォントの有無を判断する。これにより、プリンタが拡張文字を備えているか否かを容易に把握することができる。拡張文字存在フラグの一例を図6に示す。
【0044】
図6において、拡張文字存在フラグは、プリンタが拡張フォントを装備していれば「MFFONTS=Y」、装備していなければ「MFFONTS=N」に設定される。拡張文字存在フラグの設定は、ユーザがプリンタをシステムに追加時に同時に行ってもよいし、システムが自動的に起動時にプリンタから取得してもよい。図示では、プリンタのLXP−1820というモデルは拡張フォントを装備しており、LXP−3950というモデルは拡張フォントを装備していないことを示す。
【0045】
ステップS404の判断の結果、出力先として指定されたプリンタに拡張フォントが存在する場合は、ステップS405へ進み、拡張フォントが存在しない場合は、ステップS407へ進む。すなわち、外字変換テーブルの出力用抽象フォント名に抽象フォント名が指定され且つ出力先のプリンタに拡張フォントが装備されている場合は、ステップS405へ進む。一方、外字変換テーブルの出力用抽象フォント名に抽象フォント名が指定され且つ出力先のプリンタに拡張フォントが装備されていない場合は、ステップS407へ進む。
【0046】
ステップS405では、データ変換手段305は、抽象フォント名と出力用文字コードからプリンタ上の実フォント名(出力用フォント名)を決定する。ここでは、図7に示す外字変換テーブルに指定された出力用抽象フォント名に対応する出力用抽象フォント名の中での文字コードが含まれるコード範囲に対応する出力用文字セットを決定する。
【0047】
そして、ステップS406では、データ変換手段305は、出力先の文字コードとして指定された文字コードから実際に使用する文字コードを算出し、ステップS409へ進む。出力用フォント名及び文字コードは、図8に示すコード変換ルールにより決定及び算出される。
【0048】
図8において、図7の外字変換テーブルに指定された抽象フォント名がJEFである場合は、JEF用のコード変換ルールが適用され、抽象フォント名がKEISである場合は、KEIS用のコード変換ルールが適用される。図7の外字変換テーブルにおいて、入力フォント名がK24MKS1で入力文字コードが57A1である場合、出力用抽象フォント名がJEF(%JEF%)であることからJEF用のコード変換ルールが適用される。そして、入力文字コードが57A1であるので、出力用抽象フォント名(文字コード体系名)の中での文字コードが76C7となる。
【0049】
図8のJEF用のコード変換ルールでは、76C7はコード範囲63A1〜7EFEに入ることから、出力用フォント名はMincho−Medium.JEF_2に決定され、出力用文字コードは指定コード(=76C7)−0x4080(=予め設定されたコード)で算出される。なお、図示例では、抽象フォント名がJEF又はKEISである場合のコード変換ルールを例示しているが、これらに限定されるものではない。
【0050】
本実施の形態では、外字として使用したい拡張文字の文字コード体系とその文字コード体系での文字コードを指定するための図7の外字変換テーブルを使用する。この例では、「%文字コード体系名%」と表記された場合、これは使用する文字コードを示す抽象的な記述として扱い、次に続くコードはここで記述された文字コード体系(出力用抽象フォント名)で規定されている文字コードということを示す。このようにして指定したフォント名を抽象フォント名と呼ぶこととする。この場合、入力データ(印刷データ)において、K24MKS1という入力フォント名(文字セット)が選択され、57A1という文字コードの印字が指定された場合、JEFという文字コード体系(出力用抽象フォント名)における76C7に相当する文字を印字するという意味を持つ。
【0051】
また、K24MKS1という入力フォント名(文字セット)が選択され、57B1という文字コードの印字が指定された場合、KEISという文字コード体系(出力用抽象フォント名)におけるC7D5に相当する文字を印字するという意味を持つ。なお、「%文字コード体系名%」という表記を使用したが、この表記形式に限定するものではない。
【0052】
次に、ステップS409では、データ変換手段305は、印刷出力を行うプリンタに対応したページ記述言語を用いて、ステップS405で決定した出力用実フォント名の選択命令をプリンタへ送る。そして、ステップS410では、データ変換手段305は、印刷出力を行うプリンタに対応したページ記述言語を用いて、ステップS406で決定した文字コードをプリンタへ送って印字させる。
【0053】
一方、ステップS407では、データ変換手段305は、抽象フォント名と出力用文字コードからTrueTypeの実フォント名(使用するTrueTypeフォント名)を決定する。ここでは、図7に示す外字変換テーブルに指定された出力用抽象フォント名に対応する出力用抽象フォント名の中での文字コードが含まれるコード範囲に対応するTrueTypeフォントを決定する。
【0054】
そして、ステップS408では、データ変換手段305は、出力先の文字コードとして指定された文字コードから実際に使用する文字コードを算出し、ステップS411へ進む。使用するTrueTypeフォント名及び文字コードは、図9に示すコード変換ルールにより決定及び算出される。
【0055】
図9において、図7の外字変換テーブルに指定された抽象フォント名がJEFである場合は、JEF用のコード変換ルールが適用され、抽象フォント名がKEISである場合は、KEIS用のコード変換ルールが適用される。図7の外字変換テーブルにおいて、入力フォント名がK24MKS1で入力文字コードが57A1である場合、出力用抽象フォント名がJEF(%JEF%)であることからJEF用のコード変換ルールが適用される。そして、入力文字コードが57A1であるので、出力用抽象フォント名(文字コード体系名)の中での文字コードが76C7となる。
【0056】
図9のJEF用のコード変換ルールでは、76C7はコード範囲63A1〜7EFEに入ることから、使用するTrueTypeフォントはJEF明朝1に決定され、文字コード(TrueTypeからイメージを抽出する文字の文字コード)は指定コード(=76C7)−0x4080で算出される。なお、図示例では、抽象フォント名がJEF又はKEISである場合のコード変換ルールを例示しているが、これらに限定されるものではない。
【0057】
ステップS411では、データ変換手段305は、ステップS407,S408で決定及び算出した実フォント名及び文字コードに対応するイメージデータをWindows(登録商標)等のOS(Operating System)から抽出する。そして、ステップS412では、データ変換手段305は、ステップS411で抽出したイメージデータの出力を行うプリンタに対応したページ記述言語を用いて、イメージデータをプリンタへ送って描画させる。
【0058】
ステップS419では、外字変換テーブル308で指定されたフォント名の選択命令をプリンタへ送り、当該外字変換テーブル308で指定された文字コードをプリンタへ送って印字させる(ステップS420)。
【0059】
図5において、ステップS413では、データ変換手段305は、ステップS401における指定でホスト拡張領域に指定されたか否かを判断する。この判断の結果、ホスト拡張領域に指定されていると判断した場合は、ステップS414へ進み、ホスト拡張領域に指定されていないと判断した場合はステップS421へ進む。
【0060】
ステップS414では、データ変換手段305は、出力先として指定されたプリンタに拡張フォントがあるか否かを判断する。ここではステップS404と同様の判断処理を行う。この判断の結果、出力先として指定されたプリンタに拡張フォントがある場合は、ステップS415へ進み、拡張フォントが無い場合は、ステップS417へ進む。
【0061】
ステップS415では、データ変換手段305は、現在の文字コード体系用のプリンタ内での拡張フォント名を取得する。次に、データ変換手段305は、入力文字コードから出力用の文字コードを算出し(ステップS416)、図4のステップS409へ進む。
【0062】
一方、ステップS417では、データ変換手段305は、現在の文字コード体系用のTrueTypeでの拡張フォント名を取得する。次に、データ変換手段305は、入力文字コードから出力用の文字コードを算出し(ステップS418)、図4のステップS411へ進む。
【0063】
ステップS421では、データ変換手段305は、プリンタへ図10に示す文字セット変換テーブルで指定されたフォント名の選択命令を送る。次に、データ変換手段305は、入力文字コードから出力用の文字コードを算出し(ステップS422)、ステップS409へ進む。
【0064】
上記実施の形態では、出力先として指定されたプリンタに拡張フォントが存在するか否かを判断し、拡張フォントが存在する場合は、図7に示す外字変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定してプリンタに送信する。すなわち、予め設定された図8に示すコード変換ルールに従って出力用フォント名と出力用文字コードを決定する。コード変換ルールは、外字変換テーブルに指定された出力用抽象フォント名の中での文字コードが含まれるコード範囲に対応する出力用フォント名を決定し(図4のステップS405)、当該コード範囲に対応する算出方法により実際に使用する出力用文字コードを決定する(図4のステップS406)。
【0065】
また、出力先として指定されたプリンタに拡張フォントが存在しない場合は、図7に示す外字変換テーブルに基づいて、使用するTrueTypeフォント名及び出力用文字コードを決定し、文字コードのイメージデータを抽出してプリンタに送信する。すなわち、予め設定された図9に示すコード変換ルールに従ってTrueTypeフォント名及び文字コードを決定する。コード変換ルールは、外字変換テーブルに指定された出力用抽象フォント名の中での文字コードが含まれるコード範囲に対応するTrueTypeフォント名を決定し(図4のステップS407)、当該コード範囲に対応する算出方法により実施に使用する文字コードを決定する(図4のステップS407)。
【0066】
以上により本実施の形態によれば、他の文字コード体系に存在する拡張文字を外字として印字する場合であっても、プリンタが備えるフォントによらずに外字の印字を容易に行うことができる。
【0067】
なお、上記実施の形態では、図4のステップS404で出力先に拡張フォントが存在するか否かを判断しているが、拡張文字が存在するか否かに応じて判断してもよい。
【0068】
本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0069】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0070】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0071】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は部を行う場合である。
【0072】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現する場合も含まれる。この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【0073】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
【図面の簡単な説明】
【0074】
【図1】本発明の実施の形態に係る印刷システムの概略構成を示すブロック図である。
【図2】図1のプリントサーバ103のハードウェア構成を示すブロック図である。
【図3】プリントサーバ103の機能的構成を示すブロック図である。
【図4】図3のデータ変換手段305により実行される外字出力処理のフローチャート(その1)である。
【図5】図3のデータ変換手段305により実行される外字出力処理のフローチャート(その2)である。
【図6】プリンタ情報ファイルにおける拡張文字存在フラグの一例を示す図である。
【図7】抽象フォント名を用いた外字変換テーブルの一例を示す図である。
【図8】プリンタに拡張フォントがある場合のコード変換ルールの一例を示す図である。
【図9】プリンタに拡張フォントが無い場合にTrueTypeフォントから文字のイメージデータを抽出する際のコード変換ルールの一例である。
【図10】文字セット変換テーブルの一例を示す図である。
【図11】標準的な外字変換テーブルの一例を示す図である。
【符号の説明】
【0075】
101 ホストコンピュータ
103 プリントサーバ
104 プリンタA
105 プリンタB
301 データ受信フォルダ
302 データ監視手段
303 データ管理手段
304 データ保存フォルダ
305 データ変換手段
308 外字変換テーブル
309 プリンタ情報ファイル
【技術分野】
【0001】
本発明は、外部から受信した印刷データに存在する外字を印字するサーバ装置及びその制御方法、プログラム、並びに印刷システムに関する。
【背景技術】
【0002】
従来、ホストコンピュータ(メインフレーム)で作成された印刷データをプリンタで出力する場合、当該ホストコンピュータが備える文字コードをJIS(Japanese Industrial Standards)形式に変換している。ホストコンピュータが備える文字コードとしては、KEIS(Kanji processing Extended Information System)、JEF(Japanese processing Extended Feature)、IBM、及びJIPS(Japanese Information Processing System)が代表的なものである。一方、JISには存在しない拡張文字の提供も行われている。拡張文字では、専用のフォントがプリンタフォントやTrueTypeとして用意される。
【0003】
近年、印刷データの出力を行うホストコンピュータにとっては、拡張文字の他に外字と呼ばれる標準では用意されていない文字を印字可能であることが必須となっている。外字を印字する場合は、ユーザが個別に文字をデザインしてビットマップフォントとしてプリントサーバに登録したり、新規文字セットとしてプリンタに登録したりする必要がある。
【0004】
ところで、KEISコードを使用しているユーザがJEFコードの拡張文字にしかない文字を使うなど、ビットマップ形式による印字とは別に、他のホストコンピュータ用の拡張文字を使う場合がある。これは、ビットマップ形式による印字では印字品位が落ちること、文字のデザインを行う手間が省けること、既成のものであるために印字結果が綺麗であること等に理由によるものである。
【0005】
他のホストコンピュータ用の拡張文字を使って印刷データを印刷出力する場合、プリントサーバ側で文字セット及び文字コードの変換を行う必要があることから、例えば、図11に示すような外字変換テーブルを用いて、入力フォント名、入力文字コード、出力用フォント名、及び出力用文字コードを指定する。例えば、KEIS用の入力フォント名(文字セット)K24MKS1で58A1という文字コードがあった場合、JEF用の拡張文字(Mincho−Medium.JEF)の4573で印字するという例である。ここで例示したK24MKS1は、2バイト文字の24ドットサイズ、KEIS用文字セットでマッピングされているフォントという意味を示すが、これに限定されるものではない。
【0006】
コードの異なる外字を制御する仕組みとして、文字コード体系の異なる複数のプラットフォームで外字を使用できるシステムが提供されている(例えば、特許文献1参照)。
【特許文献1】特開平10−55358号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した外字変換テーブルを使用する場合、以下の問題がある。
【0008】
1.プリンタによってはホストコンピュータ用の拡張文字を持っていないため、プリントサーバ側にTrueTypeフォントを用意させてフォントを展開させる必要がある場合がある。
【0009】
2.TrueTypeフォントを使用して印字する場合、展開した文字のビットマップデータは、解像度及び文字の大きさにもよるが一般的にデータ量が増大する。そのため、フォントを持っているプリンタではフォントの指定と文字コードの選択のみを行うほうが効率的である。
【0010】
3.ホストコンピュータ用のTrueTypeフォントとプリンタフォントでは、管理する文字のマッピングが異なる場合があり、文字コード変換テーブルを別に用意する必要がある。
【0011】
4.使用したい拡張文字のTrueTypeフォントやプリンタフォント中の文字コードは公開されていない場合もあり、それを知ることは困難である。
【0012】
また、上記特許文献1に記載されたシステムは、ビットマップフォントを複数のプラットフォーム間で受け渡しが行えるシステムであって、すべてのプラットフォームにおいて外字として扱う必要があり、同一の文字をシステムとして保持していても外字として扱う必要がある。また、用意されている同一文字がスケーラブルフォントで用意されていても、外字用のビットマップフォントが使用される場合がある。そのため、上記問題を解決するものではない。
【0013】
本発明は、上記問題に鑑みて成されたものであり、他の文字コード体系に存在する拡張文字を外字として印字する場合であっても、プリンタが備えるフォントによらずに外字の印字を容易に行うことができるサーバ装置及びその制御方法、プログラム、並びに印刷システムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するために、請求項1記載のサーバ装置は、出力装置に接続されたサーバ装置であって、入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルと、前記出力装置に拡張フォントが存在するか否かを判断する判断手段と、前記判断手段により前記出力装置に拡張フォントが存在すると判断された場合は、前記文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記出力装置に送信する第1の処理手段と、前記判断手段により前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記出力装置に送信する第2の処理手段とを備えることを特徴とする。
【0015】
上記目的を達成するために、請求項8記載のサーバ装置の制御方法は、出力装置に接続されたサーバ装置の制御方法であって、前記出力装置に拡張フォントが存在するか否かを判断する判断工程と、前記判断工程にて前記出力装置に拡張フォントが存在すると判断された場合は、入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記出力装置に送信する第1の処理工程と、前記判断工程にて前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記出力装置に送信する第2の処理工程とを備えることを特徴とする。
【0016】
上記目的を達成するために、請求項16記載の印刷システムは、少なくとも1つの印刷装置と、当該印刷装置にネットワークを介して接続されたサーバとで構成される印刷システムであって、前記サーバは、入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルと、前記印刷装置に拡張文字が存在するか否かを判断する判断手段と、前記判断手段により前記出力装置に拡張文字が存在すると判断された場合は、前記文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記印刷装置に送信する第1の処理手段と、前記判断手段により前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記印刷装置に送信する第2の処理手段とを備えることを特徴とする。
【発明の効果】
【0017】
本発明によれば、他の文字コード体系に存在する拡張文字を外字として印字する場合であっても、プリンタが備えるフォントによらずに外字の印字を容易に行うことができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【0019】
図1は、本発明の実施の形態に係る印刷システムの概略構成を示すブロック図である。同図に示す如く、本実施の形態に係る印刷システムは、ホストコンピュータ101と、UNIX(登録商標)サーバ102と、プリントサーバ103と、プリンタA104,プリンタB105と、クライアントPC106と、これらを互いに接続するネットワーク107とにより構成されている。
【0020】
ホストコンピュータ101及びUNIX(登録商標)サーバ102は、一般のPC(Personal Computer)やWS(work station)等により構成されており、印刷対象のデータ(印刷ジョブ)を作成するためのアプリケーションを保持している。ホストコンピュータ101(若しくはUNIX(登録商標)サーバ102)の操作者がこのアプリケーションを用いて印刷対象のデータを作成する。その後、この印刷対象のデータに基づく印刷をプリンタA104又はプリンタB105によって印刷させる旨の指示が入力された場合には、当該印刷対象のデータは、ネットワーク107を介してプリントサーバ103に送出される。
【0021】
なお、印刷対象のデータを作成し、プリントサーバ103に対して当該データを送出可能な装置であれば、ホストコンピュータ101、UNIX(登録商標)サーバ102以外の装置を用いてもよく、その台数や装置の種類などについて限定するものではない。
【0022】
プリントサーバ103は、外部(本実施の形態ではホストコンピュータ101やUNIX(登録商標)サーバ102)から印刷対象データを受信し、これをプリンタA104(又はプリンタB105)に適したデータ形式に変換し、プリンタ104A(又はプリンタB105)に送出する処理を行うものである。プリントサーバ103が行う処理については後述する。
【0023】
プリンタA104及びプリンタB105は、それぞれプリンタ又は複合機などの出力装置により構成されており、プリントサーバ103から受信したデータに基づいて、紙やOHPなどの記録媒体上に画像や文字の記録(印刷)処理を行う。記録方法については特に限定するものではなく、インクジェット方式、レーザビーム方式、熱転写方式等、各種の記録方式のいずれを用いてもよい。なお、プリンタA104及びプリンタB105の動作状況などについては、プリントサーバ103が適宜監視している。
【0024】
クライアントPC106は、プリントサーバ103の状況を監視し、クライアントPC106が有する表示装置(不図示)の表示画面上にその監視した状況が適宜表示される。プリントサーバ103における処理状況や印刷結果などについては、当該プリントサーバ103が適宜クライアントPC106に対して送信しているので、クライアントPC106は受信した処理状況や印刷結果などを表示装置の表示画面上に表示する処理を行う。また、クライアントPC106は、ホストコンピュータ101やUNIX(登録商標)サーバ102と同様に、印刷対象データを作成してプリントサーバ103に対して送出してもよい。
【0025】
ネットワーク107は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、電話回線、専用デジタル回線、ATMやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等のいずれか、若しくはその組み合わせにより構成されているものであり、上述した各装置間におけるデータ通信を実現するものである。ネットワーク107は無線、有線は特には問わない。
【0026】
図2は、図1のプリントサーバ103のハードウェア構成を示すブロック図である。本実施の形態において、ホストコンピュータ101、UNIX(登録商標)サーバ102、及びクライアントPC106は、プリントサーバ103と同様の構成を有しているものとする。なお、以下説明する各処理が実現可能で有れば、これに限定されるものではない。
【0027】
図2において、CPU21は、RAM22やROM23に格納されているプログラムやデータを用いて、プリントサーバ103全体の制御を行うと共に、本コンピュータが行う後述の各処理を実行する。
【0028】
RAM22は、ハードディスク28やCD−ROMドライブ29からロードされたプログラムやデータ、NIC(Network Interface Card)24を介して外部から入力されたプログラムやデータを一時的に記憶するためのエリア、CPU21が各種の処理を実行する際に用いるワークエリア等のエリアを適宜提供することができる。ROM23は、プリントサーバ103の設定データやブートプログラムなどを格納する。
【0029】
NIC24は、プリントサーバ103をネットワーク107に接続するためのインターフェースとして機能するものである。プリントサーバ103は、NIC24を介してネットワーク107に接続されている各種装置とのデータ通信を行うことができる。
【0030】
入力部26はキーボードであり、入力部27はマウスである。これらはプリントサーバ103の操作者が操作することで各種の指示をCPU21に対して行うことができる。なお、図示の構成をホストコンピュータ101、UNIX(登録商標)サーバ102、及びクライアントPC106等に適用した場合、操作者は入力部26,27を用いてアプリケーションを操作し、印刷対象データを作成することになる。
【0031】
ハードディスク28は、OS(Operating System)やプリントサーバ103等が行うべき後述の各処理をCPU21に実行させるためのプログラムやデータが保存されている。これらのプログラムやデータは、CPU21による制御に従って適宜RAM22にロードされる。
【0032】
CD−ROMドライブ29は、CD−ROMに記録されているプログラムやデータを読み出し、ハードディスク28やRAM22等に出力する。なお、ハードディスク28に保存されている各種プログラムやデータの一部をCD−ROMに記録しておき、記録されたプログラムやデータをCD−ROMドライブ29によって適宜RAM22にロードするようにしてもよい。また、本実施の形態では、記憶媒体の一例としてCD−ROMを用いているが、これに限定されず、本実施の形態に適用可能な記憶媒体であればよい。
【0033】
システムバス20は、例えば、PCIバス、AGPバス、メモリバス等により構成されている。なお、同図では、各バス間の接続用チップやキーボードインタフェース、いわゆるSCSIやATAPIのような入出力用インターフェースは省略されている。
【0034】
図3は、プリントサーバ103の機能的構成を示すブロック図である。
【0035】
図3において、データ受信フォルダ301は、ホストコンピュータ101から転送された印刷データを受信して格納する。
【0036】
データ監視手段302は、データ受信フォルダ301を監視して印刷データの受信が終了したと判断した場合、印刷データをデータ受信フォルダ301からデータ保存フォルダ304へ移し、データ管理手段303へ新規に印刷データを受信したことを通知する。
【0037】
データ管理手段303は、データ保存フォルダ304中の印刷データを管理し、ユーザから指示があった場合にはデータ変換手段305へ印刷データの変換指示を行う。
【0038】
データ変換手段305は、データ管理手段303から変換指示を受け取ると、外字変換テーブル308、プリンタ情報ファイル309を参照し、印刷データをプリンタA104又はプリンタB105で出力できる形式に変換して印刷処理を行う。外字変換テーブル308とは、外字として扱う文字コードと、その文字をどのようにして出力するかを示す情報である。プリンタ情報ファイル309は各プリンタの固有の情報である。
【0039】
図4及び図5は、図3のデータ変換手段305により実行される外字出力処理のフローチャートである。
【0040】
図4において、データ変換手段305は、データ管理手段303から印刷データの変換指示を受け取ると、データ保存フォルダ304中の印刷データの解析を開始する。データの解析を行っている最中で文字の印字が指定される(ステップS401)。
【0041】
次に、文字の印字が指定されると、データ変換手段305は、その文字のフォント名と文字コードの組が外字変換テーブル308(図7に示す外字変換テーブル)に存在するか否かを判断する(ステップS402)。ここでは、図7の外字変換テーブルが参照され、フォント名とコードの組があるか否かが判断される。この判断の結果、外字変換テーブル308に文字のフォント名と文字コードの組が存在する場合は、ステップS403へ進み、存在しない場合は、図5のステップ413へ進む。
【0042】
ステップS403では、データ変換手段305は、外字変換テーブル308(図7に示す外字変換テーブル)の出力用抽象フォント名に抽象フォント名(出力用フォント名として通常は存在しないフォント名である。本実施の形態では、例えば、%JEF%等で表す)が指定されているか否かを判断する。この判断の結果、抽象フォント名が指定されていた場合は、ステップS404へ進み、抽象フォント名が指定されていない場合は、ステップ419へ進む。
【0043】
ステップS404では、データ変換手段305は、出力先として指定されたプリンタに拡張文字用フォント(以下、「拡張フォント」と略す。)が存在するか否かを判断する。ここでは、データ変換手段305がプリンタ情報ファイル309の一部である拡張文字存在フラグを参照して拡張フォントの有無を判断する。これにより、プリンタが拡張文字を備えているか否かを容易に把握することができる。拡張文字存在フラグの一例を図6に示す。
【0044】
図6において、拡張文字存在フラグは、プリンタが拡張フォントを装備していれば「MFFONTS=Y」、装備していなければ「MFFONTS=N」に設定される。拡張文字存在フラグの設定は、ユーザがプリンタをシステムに追加時に同時に行ってもよいし、システムが自動的に起動時にプリンタから取得してもよい。図示では、プリンタのLXP−1820というモデルは拡張フォントを装備しており、LXP−3950というモデルは拡張フォントを装備していないことを示す。
【0045】
ステップS404の判断の結果、出力先として指定されたプリンタに拡張フォントが存在する場合は、ステップS405へ進み、拡張フォントが存在しない場合は、ステップS407へ進む。すなわち、外字変換テーブルの出力用抽象フォント名に抽象フォント名が指定され且つ出力先のプリンタに拡張フォントが装備されている場合は、ステップS405へ進む。一方、外字変換テーブルの出力用抽象フォント名に抽象フォント名が指定され且つ出力先のプリンタに拡張フォントが装備されていない場合は、ステップS407へ進む。
【0046】
ステップS405では、データ変換手段305は、抽象フォント名と出力用文字コードからプリンタ上の実フォント名(出力用フォント名)を決定する。ここでは、図7に示す外字変換テーブルに指定された出力用抽象フォント名に対応する出力用抽象フォント名の中での文字コードが含まれるコード範囲に対応する出力用文字セットを決定する。
【0047】
そして、ステップS406では、データ変換手段305は、出力先の文字コードとして指定された文字コードから実際に使用する文字コードを算出し、ステップS409へ進む。出力用フォント名及び文字コードは、図8に示すコード変換ルールにより決定及び算出される。
【0048】
図8において、図7の外字変換テーブルに指定された抽象フォント名がJEFである場合は、JEF用のコード変換ルールが適用され、抽象フォント名がKEISである場合は、KEIS用のコード変換ルールが適用される。図7の外字変換テーブルにおいて、入力フォント名がK24MKS1で入力文字コードが57A1である場合、出力用抽象フォント名がJEF(%JEF%)であることからJEF用のコード変換ルールが適用される。そして、入力文字コードが57A1であるので、出力用抽象フォント名(文字コード体系名)の中での文字コードが76C7となる。
【0049】
図8のJEF用のコード変換ルールでは、76C7はコード範囲63A1〜7EFEに入ることから、出力用フォント名はMincho−Medium.JEF_2に決定され、出力用文字コードは指定コード(=76C7)−0x4080(=予め設定されたコード)で算出される。なお、図示例では、抽象フォント名がJEF又はKEISである場合のコード変換ルールを例示しているが、これらに限定されるものではない。
【0050】
本実施の形態では、外字として使用したい拡張文字の文字コード体系とその文字コード体系での文字コードを指定するための図7の外字変換テーブルを使用する。この例では、「%文字コード体系名%」と表記された場合、これは使用する文字コードを示す抽象的な記述として扱い、次に続くコードはここで記述された文字コード体系(出力用抽象フォント名)で規定されている文字コードということを示す。このようにして指定したフォント名を抽象フォント名と呼ぶこととする。この場合、入力データ(印刷データ)において、K24MKS1という入力フォント名(文字セット)が選択され、57A1という文字コードの印字が指定された場合、JEFという文字コード体系(出力用抽象フォント名)における76C7に相当する文字を印字するという意味を持つ。
【0051】
また、K24MKS1という入力フォント名(文字セット)が選択され、57B1という文字コードの印字が指定された場合、KEISという文字コード体系(出力用抽象フォント名)におけるC7D5に相当する文字を印字するという意味を持つ。なお、「%文字コード体系名%」という表記を使用したが、この表記形式に限定するものではない。
【0052】
次に、ステップS409では、データ変換手段305は、印刷出力を行うプリンタに対応したページ記述言語を用いて、ステップS405で決定した出力用実フォント名の選択命令をプリンタへ送る。そして、ステップS410では、データ変換手段305は、印刷出力を行うプリンタに対応したページ記述言語を用いて、ステップS406で決定した文字コードをプリンタへ送って印字させる。
【0053】
一方、ステップS407では、データ変換手段305は、抽象フォント名と出力用文字コードからTrueTypeの実フォント名(使用するTrueTypeフォント名)を決定する。ここでは、図7に示す外字変換テーブルに指定された出力用抽象フォント名に対応する出力用抽象フォント名の中での文字コードが含まれるコード範囲に対応するTrueTypeフォントを決定する。
【0054】
そして、ステップS408では、データ変換手段305は、出力先の文字コードとして指定された文字コードから実際に使用する文字コードを算出し、ステップS411へ進む。使用するTrueTypeフォント名及び文字コードは、図9に示すコード変換ルールにより決定及び算出される。
【0055】
図9において、図7の外字変換テーブルに指定された抽象フォント名がJEFである場合は、JEF用のコード変換ルールが適用され、抽象フォント名がKEISである場合は、KEIS用のコード変換ルールが適用される。図7の外字変換テーブルにおいて、入力フォント名がK24MKS1で入力文字コードが57A1である場合、出力用抽象フォント名がJEF(%JEF%)であることからJEF用のコード変換ルールが適用される。そして、入力文字コードが57A1であるので、出力用抽象フォント名(文字コード体系名)の中での文字コードが76C7となる。
【0056】
図9のJEF用のコード変換ルールでは、76C7はコード範囲63A1〜7EFEに入ることから、使用するTrueTypeフォントはJEF明朝1に決定され、文字コード(TrueTypeからイメージを抽出する文字の文字コード)は指定コード(=76C7)−0x4080で算出される。なお、図示例では、抽象フォント名がJEF又はKEISである場合のコード変換ルールを例示しているが、これらに限定されるものではない。
【0057】
ステップS411では、データ変換手段305は、ステップS407,S408で決定及び算出した実フォント名及び文字コードに対応するイメージデータをWindows(登録商標)等のOS(Operating System)から抽出する。そして、ステップS412では、データ変換手段305は、ステップS411で抽出したイメージデータの出力を行うプリンタに対応したページ記述言語を用いて、イメージデータをプリンタへ送って描画させる。
【0058】
ステップS419では、外字変換テーブル308で指定されたフォント名の選択命令をプリンタへ送り、当該外字変換テーブル308で指定された文字コードをプリンタへ送って印字させる(ステップS420)。
【0059】
図5において、ステップS413では、データ変換手段305は、ステップS401における指定でホスト拡張領域に指定されたか否かを判断する。この判断の結果、ホスト拡張領域に指定されていると判断した場合は、ステップS414へ進み、ホスト拡張領域に指定されていないと判断した場合はステップS421へ進む。
【0060】
ステップS414では、データ変換手段305は、出力先として指定されたプリンタに拡張フォントがあるか否かを判断する。ここではステップS404と同様の判断処理を行う。この判断の結果、出力先として指定されたプリンタに拡張フォントがある場合は、ステップS415へ進み、拡張フォントが無い場合は、ステップS417へ進む。
【0061】
ステップS415では、データ変換手段305は、現在の文字コード体系用のプリンタ内での拡張フォント名を取得する。次に、データ変換手段305は、入力文字コードから出力用の文字コードを算出し(ステップS416)、図4のステップS409へ進む。
【0062】
一方、ステップS417では、データ変換手段305は、現在の文字コード体系用のTrueTypeでの拡張フォント名を取得する。次に、データ変換手段305は、入力文字コードから出力用の文字コードを算出し(ステップS418)、図4のステップS411へ進む。
【0063】
ステップS421では、データ変換手段305は、プリンタへ図10に示す文字セット変換テーブルで指定されたフォント名の選択命令を送る。次に、データ変換手段305は、入力文字コードから出力用の文字コードを算出し(ステップS422)、ステップS409へ進む。
【0064】
上記実施の形態では、出力先として指定されたプリンタに拡張フォントが存在するか否かを判断し、拡張フォントが存在する場合は、図7に示す外字変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定してプリンタに送信する。すなわち、予め設定された図8に示すコード変換ルールに従って出力用フォント名と出力用文字コードを決定する。コード変換ルールは、外字変換テーブルに指定された出力用抽象フォント名の中での文字コードが含まれるコード範囲に対応する出力用フォント名を決定し(図4のステップS405)、当該コード範囲に対応する算出方法により実際に使用する出力用文字コードを決定する(図4のステップS406)。
【0065】
また、出力先として指定されたプリンタに拡張フォントが存在しない場合は、図7に示す外字変換テーブルに基づいて、使用するTrueTypeフォント名及び出力用文字コードを決定し、文字コードのイメージデータを抽出してプリンタに送信する。すなわち、予め設定された図9に示すコード変換ルールに従ってTrueTypeフォント名及び文字コードを決定する。コード変換ルールは、外字変換テーブルに指定された出力用抽象フォント名の中での文字コードが含まれるコード範囲に対応するTrueTypeフォント名を決定し(図4のステップS407)、当該コード範囲に対応する算出方法により実施に使用する文字コードを決定する(図4のステップS407)。
【0066】
以上により本実施の形態によれば、他の文字コード体系に存在する拡張文字を外字として印字する場合であっても、プリンタが備えるフォントによらずに外字の印字を容易に行うことができる。
【0067】
なお、上記実施の形態では、図4のステップS404で出力先に拡張フォントが存在するか否かを判断しているが、拡張文字が存在するか否かに応じて判断してもよい。
【0068】
本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0069】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0070】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0071】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は部を行う場合である。
【0072】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現する場合も含まれる。この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【0073】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
【図面の簡単な説明】
【0074】
【図1】本発明の実施の形態に係る印刷システムの概略構成を示すブロック図である。
【図2】図1のプリントサーバ103のハードウェア構成を示すブロック図である。
【図3】プリントサーバ103の機能的構成を示すブロック図である。
【図4】図3のデータ変換手段305により実行される外字出力処理のフローチャート(その1)である。
【図5】図3のデータ変換手段305により実行される外字出力処理のフローチャート(その2)である。
【図6】プリンタ情報ファイルにおける拡張文字存在フラグの一例を示す図である。
【図7】抽象フォント名を用いた外字変換テーブルの一例を示す図である。
【図8】プリンタに拡張フォントがある場合のコード変換ルールの一例を示す図である。
【図9】プリンタに拡張フォントが無い場合にTrueTypeフォントから文字のイメージデータを抽出する際のコード変換ルールの一例である。
【図10】文字セット変換テーブルの一例を示す図である。
【図11】標準的な外字変換テーブルの一例を示す図である。
【符号の説明】
【0075】
101 ホストコンピュータ
103 プリントサーバ
104 プリンタA
105 プリンタB
301 データ受信フォルダ
302 データ監視手段
303 データ管理手段
304 データ保存フォルダ
305 データ変換手段
308 外字変換テーブル
309 プリンタ情報ファイル
【特許請求の範囲】
【請求項1】
出力装置に接続されたサーバ装置であって、
入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルと、
前記出力装置に拡張フォントが存在するか否かを判断する判断手段と、
前記判断手段により前記出力装置に拡張フォントが存在すると判断された場合は、前記文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記出力装置に送信する第1の処理手段と、
前記判断手段により前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記出力装置に送信する第2の処理手段とを備えることを特徴とするサーバ装置。
【請求項2】
前記文字コード変換テーブルは、入力フォント名と入力文字コードに対応する出力用フォント名と出力用文字コードを指定するための第1の変換テーブルと、入力文字フォント名と入力文字コードに対応する出力用文字フォントとして所定の文字コード体系を示す抽象的な出力用フォント名と前記所定の文字コード体系での文字コードを指定するための第2の変換テーブルが含まれることを特徴とする請求項1記載のサーバ装置。
【請求項3】
前記第1の処理手段は、予め設定された第1のコード変換ルールに従って前記出力用フォント名と前記出力用文字コードを決定することを特徴とする請求項2記載のサーバ装置。
【請求項4】
前記第1のコード変換ルールは、前記第2の変換テーブルに指定された所定の文字コード体系での文字コードが含まれるコード範囲に対応する出力用フォント名を決定し、当該コード範囲に対応する算出方法により出力用文字コードを決定することを特徴とする請求項3記載のサーバ装置。
【請求項5】
前記第2の処理手段は、予め設定された第2のコード変換ルールに従って前記TrueTypeフォント及び文字コードを決定することを特徴とする請求項2記載のサーバ装置。
【請求項6】
前記第2のコード変換ルールは、前記第2の変換テーブルに指定された所定の文字コード体系での文字コードが含まれるコード範囲に対応するTrueTypeフォントを決定し、当該コード範囲に対応する算出方法により文字コードを決定することを特徴とする請求項5記載のサーバ装置。
【請求項7】
前記判断手段は、前記出力装置の固有の情報に予め設定された拡張文字存在フラグを参照して判断することを特徴とする請求項1乃至6のいずれか1項に記載のサーバ装置。
【請求項8】
出力装置に接続されたサーバ装置の制御方法であって、
前記出力装置に拡張フォントが存在するか否かを判断する判断工程と、
前記判断工程にて前記出力装置に拡張フォントが存在すると判断された場合は、入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記出力装置に送信する第1の処理工程と、
前記判断工程にて前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記出力装置に送信する第2の処理工程とを備えることを特徴とする制御方法。
【請求項9】
前記文字コード変換テーブルは、入力フォント名と入力文字コードに対応する出力用フォント名と出力用文字コードを指定するための第1の変換テーブルと、入力フォント名と入力文字コードに対応する出力用文字フォントとして所定の文字コード体系を示す抽象的な出力用フォント名と前記所定の文字コード体系での文字コードを指定するための第2の変換テーブルが含まれることを特徴とする請求項8記載の制御方法。
【請求項10】
前記第1の処理工程は、予め設定された第1のコード変換ルールに従って前記出力用フォント名と前記出力用文字コードを決定することを特徴とする請求項9記載の制御方法。
【請求項11】
前記第1のコード変換ルールは、前記第2の変換テーブルに指定された所定の文字コード体系での文字コードが含まれるコード範囲に対応する出力用フォント名を決定し、当該コード範囲に対応する算出方法により出力用文字コードを決定することを特徴とする請求項10記載の制御方法。
【請求項12】
前記第2の処理工程は、予め設定された第2のコード変換ルールに従って前記TrueTypeフォント及び文字コードを決定することを特徴とする請求項9記載の制御方法。
【請求項13】
前記第2のコード変換ルールは、前記第2の変換テーブルに指定された所定の文字コード体系での文字コードが含まれるコード範囲に対応するTrueTypeフォントを決定し、当該コード範囲に対応する算出方法により文字コードを決定することを特徴とする請求項12記載の制御方法。
【請求項14】
前記判断手段は、前記出力装置の固有の情報に予め設定された拡張文字存在フラグを参照して判断することを特徴とする請求項8乃至13のいずれか1項に記載の制御方法。
【請求項15】
請求項8乃至14のいずれか1項に記載の制御方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラム。
【請求項16】
少なくとも1つの印刷装置と、当該印刷装置にネットワークを介して接続されたサーバとで構成される印刷システムであって、
前記サーバは、入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルと、
前記印刷装置に拡張文字が存在するか否かを判断する判断手段と、
前記判断手段により前記出力装置に拡張文字が存在すると判断された場合は、前記文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記印刷装置に送信する第1の処理手段と、
前記判断手段により前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記印刷装置に送信する第2の処理手段とを備えることを特徴とする印刷システム。
【請求項1】
出力装置に接続されたサーバ装置であって、
入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルと、
前記出力装置に拡張フォントが存在するか否かを判断する判断手段と、
前記判断手段により前記出力装置に拡張フォントが存在すると判断された場合は、前記文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記出力装置に送信する第1の処理手段と、
前記判断手段により前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記出力装置に送信する第2の処理手段とを備えることを特徴とするサーバ装置。
【請求項2】
前記文字コード変換テーブルは、入力フォント名と入力文字コードに対応する出力用フォント名と出力用文字コードを指定するための第1の変換テーブルと、入力文字フォント名と入力文字コードに対応する出力用文字フォントとして所定の文字コード体系を示す抽象的な出力用フォント名と前記所定の文字コード体系での文字コードを指定するための第2の変換テーブルが含まれることを特徴とする請求項1記載のサーバ装置。
【請求項3】
前記第1の処理手段は、予め設定された第1のコード変換ルールに従って前記出力用フォント名と前記出力用文字コードを決定することを特徴とする請求項2記載のサーバ装置。
【請求項4】
前記第1のコード変換ルールは、前記第2の変換テーブルに指定された所定の文字コード体系での文字コードが含まれるコード範囲に対応する出力用フォント名を決定し、当該コード範囲に対応する算出方法により出力用文字コードを決定することを特徴とする請求項3記載のサーバ装置。
【請求項5】
前記第2の処理手段は、予め設定された第2のコード変換ルールに従って前記TrueTypeフォント及び文字コードを決定することを特徴とする請求項2記載のサーバ装置。
【請求項6】
前記第2のコード変換ルールは、前記第2の変換テーブルに指定された所定の文字コード体系での文字コードが含まれるコード範囲に対応するTrueTypeフォントを決定し、当該コード範囲に対応する算出方法により文字コードを決定することを特徴とする請求項5記載のサーバ装置。
【請求項7】
前記判断手段は、前記出力装置の固有の情報に予め設定された拡張文字存在フラグを参照して判断することを特徴とする請求項1乃至6のいずれか1項に記載のサーバ装置。
【請求項8】
出力装置に接続されたサーバ装置の制御方法であって、
前記出力装置に拡張フォントが存在するか否かを判断する判断工程と、
前記判断工程にて前記出力装置に拡張フォントが存在すると判断された場合は、入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記出力装置に送信する第1の処理工程と、
前記判断工程にて前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記出力装置に送信する第2の処理工程とを備えることを特徴とする制御方法。
【請求項9】
前記文字コード変換テーブルは、入力フォント名と入力文字コードに対応する出力用フォント名と出力用文字コードを指定するための第1の変換テーブルと、入力フォント名と入力文字コードに対応する出力用文字フォントとして所定の文字コード体系を示す抽象的な出力用フォント名と前記所定の文字コード体系での文字コードを指定するための第2の変換テーブルが含まれることを特徴とする請求項8記載の制御方法。
【請求項10】
前記第1の処理工程は、予め設定された第1のコード変換ルールに従って前記出力用フォント名と前記出力用文字コードを決定することを特徴とする請求項9記載の制御方法。
【請求項11】
前記第1のコード変換ルールは、前記第2の変換テーブルに指定された所定の文字コード体系での文字コードが含まれるコード範囲に対応する出力用フォント名を決定し、当該コード範囲に対応する算出方法により出力用文字コードを決定することを特徴とする請求項10記載の制御方法。
【請求項12】
前記第2の処理工程は、予め設定された第2のコード変換ルールに従って前記TrueTypeフォント及び文字コードを決定することを特徴とする請求項9記載の制御方法。
【請求項13】
前記第2のコード変換ルールは、前記第2の変換テーブルに指定された所定の文字コード体系での文字コードが含まれるコード範囲に対応するTrueTypeフォントを決定し、当該コード範囲に対応する算出方法により文字コードを決定することを特徴とする請求項12記載の制御方法。
【請求項14】
前記判断手段は、前記出力装置の固有の情報に予め設定された拡張文字存在フラグを参照して判断することを特徴とする請求項8乃至13のいずれか1項に記載の制御方法。
【請求項15】
請求項8乃至14のいずれか1項に記載の制御方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラム。
【請求項16】
少なくとも1つの印刷装置と、当該印刷装置にネットワークを介して接続されたサーバとで構成される印刷システムであって、
前記サーバは、入力フォント名及び入力文字コードに対応する出力用フォント名及び出力用文字コードを指定するための文字コード変換テーブルと、
前記印刷装置に拡張文字が存在するか否かを判断する判断手段と、
前記判断手段により前記出力装置に拡張文字が存在すると判断された場合は、前記文字コード変換テーブルに基づいて、出力時に使用する出力用フォント名及び出力用文字コードを決定して前記印刷装置に送信する第1の処理手段と、
前記判断手段により前記出力装置に拡張フォントが存在しないと判断された場合は、前記文字コード変換テーブルに基づいてTrueTypeフォント及び文字コードを決定して前記印刷装置に送信する第2の処理手段とを備えることを特徴とする印刷システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−137210(P2008−137210A)
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願番号】特願2006−324034(P2006−324034)
【出願日】平成18年11月30日(2006.11.30)
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【Fターム(参考)】
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願日】平成18年11月30日(2006.11.30)
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【Fターム(参考)】
[ Back to top ]