(57)【要約】【課題】ホストコンピュータで指定されたフォントや、そのフォントが印字すべき文字のグリフイメージがプリンタ内に存在しない場合であっても、ユーザが意図したフォントに限りなく近い文字体裁で印字できるようにする。【解決手段】ホストコンピュータ１００において、印字すべき文字に対して指定されたフォントおよびグリフイメージがプリンタ２００内に存在するか否かを判定するフォント存否判定部６と、プリンタ内フォント等が存在しないと判定された場合に、指定フォントのアウトラインイメージをプリンタ２００に送信するアウトラインイメージ送信部９とを備え、指定されたフォント等がプリンタ２００内に存在しない場合であっても、アウトラインイメージをプリンタ２００に送信して印字することにより、ホストコンピュータ１００で指定されたフォントに限りなく近い文字体裁で印字を実行できるようにする。【選択図】図１
2014182684.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと、当該ホストコンピュータと双方向通信可能なプリンタとを備えた印字システムであって、
上記ホストコンピュータは、印字すべき文字に対して指定されたフォントが上記プリンタ内に存在し、かつ、そのフォントが印字すべき文字のグリフイメージを持つか否かを判定するフォント存否判定部と、
上記フォント存否判定部により上記指定されたフォントおよび上記グリフイメージが上記プリンタ内に存在すると判定された場合、上記印字すべき文字を表す文字コードを、上記指定されたフォントの識別情報と共に上記プリンタに送信する文字コード送信部と、
上記フォント存否判定部により上記指定されたフォントおよび上記グリフイメージが上記プリンタ内に存在しないと判定された場合、上記指定されたフォントのアウトラインイメージを上記プリンタに送信するアウトラインイメージ送信部とを備え、
上記プリンタは、上記文字コード送信部により送信された上記文字コードと上記フォントの識別情報、および、上記アウトラインイメージ送信部により送信された上記アウトラインイメージの少なくとも１つに基づいて印字を実行する印字処理部を備えたことを特徴とする印字システム。
【請求項２】
上記ホストコンピュータは、上記フォント存否判定部により上記指定されたフォントおよび上記グリフイメージが上記プリンタ内に存在しないと判定された場合に、上記アウトラインイメージに基づく印字が実行可能か否かを判定するアウトライン判定部と、
上記アウトライン判定部により上記アウトラインイメージに基づく印字を実行不可能と判定された場合、上記印字すべき文字の筆跡線を線画で表した線画データを上記プリンタに送信する線画データ送信部とを備え、
上記アウトラインイメージ送信部は、上記フォント存否判定部により上記指定されたフォントおよび上記グリフイメージが上記プリンタ内に存在しないと判定され、かつ、上記アウトライン判定部により上記アウトラインイメージに基づく印字を実行可能と判定された場合に、上記指定されたフォントのアウトラインイメージを上記プリンタに送信するようになされ、
上記プリンタの印字処理部は、上記文字コード送信部により送信された上記文字コードと上記フォントの識別情報、上記アウトラインイメージ送信部により送信された上記アウトラインイメージ、および、上記線画データ送信部により送信された上記線画データの少なくとも１つに基づいて印字を実行することを特徴とする請求項１に記載の印字システム。
【請求項３】
上記ホストコンピュータは、上記線画データを上記文字コード毎にあらかじめ記憶した線画データ記憶部を更に備え、
上記線画データ送信部は、上記アウトライン判定部により上記アウトラインイメージに基づく印字を実行不可能と判定された場合、上記印字すべき文字に関する上記線画データを上記線画データ記憶部から読み出して上記プリンタに送信する請求項２に記載の印字システム。
【請求項４】
上記ホストコンピュータで作成された文書に含まれる各文字の１つ１つに対して、上記フォント存否判定部、上記文字コード送信部および上記アウトラインイメージ送信部の処理を実行するようにしたことを特徴とする請求項１に記載の印字システム。
【請求項５】
上記ホストコンピュータで作成された文書に含まれる各文字の１つ１つに対して、上記フォント存否判定部、上記文字コード送信部、上記アウトラインイメージ送信部、上記アウトライン判定部および上記線画データ送信部の処理を実行するようにしたことを特徴とする請求項２に記載の印字システム。
【請求項６】
上記ホストコンピュータは、上記プリンタ内に存在するフォントの情報をあらかじめ記憶したフォント情報記憶部を更に備え、
上記フォント存否判定部は、上記フォント情報記憶部に記憶されているフォント情報を参照することにより、上記指定されたフォントが上記プリンタ内に存在し、かつ、そのフォントが印字すべき文字のグリフイメージを持つか否かを判定する請求項１に記載の印字システム。
【請求項７】
上記フォント存否判定部は、上記ホストコンピュータにおいて印字実行の指示が出されたときに、上記プリンタと通信をすることによって上記プリンタ内に存在するフォントの情報を取得し、当該取得したフォント情報に基づいて、上記指定されたフォントが上記プリンタ内に存在し、かつ、そのフォントが印字すべき文字のグリフイメージを持つか否かを判定する請求項１に記載の印字システム。
【請求項８】
上記ホストコンピュータは、上記プリンタ内に存在するフォントの情報をあらかじめ記憶するとともに、上記プリンタ内に存在するフォントのそれぞれに対応して、文字送り量を文字毎に定めたメトリクス情報を記憶し、
上記アウトラインイメージ送信部は、上記フォント情報記憶部に記憶されているメトリクス情報に基づいて、上記アウトラインイメージの印字位置を求めてレイアウト調整を行ってから上記アウトラインイメージを送信することを特徴とする請求項１に記載の印字システム。
【請求項９】
上記ホストコンピュータは、上記プリンタ内に存在するフォントの情報をあらかじめ記憶するとともに、上記プリンタ内に存在するフォントのそれぞれに対応して、文字送り量を文字毎に定めたメトリクス情報を記憶し、
上記線画データ送信部は、上記フォント情報記憶部に記憶されているメトリクス情報に基づいて、上記線画データの印字位置を求めてレイアウト調整を行ってから上記線画データを送信することを特徴とする請求項２に記載の印字システム。
【請求項１０】
ホストコンピュータと、当該ホストコンピュータと双方向通信可能なプリンタとを備えた印字システムにおいて、上記ホストコンピュータにて動作する印字制御用プログラムであって、
印字すべき文字に対して指定されたフォントが上記プリンタ内に存在し、かつ、そのフォントが印字すべき文字のグリフイメージを持つか否かを判定するフォント存否判定手段、
上記フォント存否判定手段により上記指定されたフォントおよび上記グリフイメージが上記プリンタ内に存在すると判定された場合、上記印字すべき文字を表す文字コードを、上記指定されたフォントの識別情報と共に上記プリンタに送信する文字コード送信手段、および
上記フォント存否判定手段により上記指定されたフォントおよび上記グリフイメージが上記プリンタ内に存在しないと判定された場合、上記指定されたフォントのアウトラインイメージを上記プリンタに送信するアウトラインイメージ送信手段
として上記ホストコンピュータを機能させるための印字制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印字システムおよび印字制御用プログラムに関し、特に、ホストコンピュータおよび当該ホストコンピュータと双方向通信が可能なプリンタを有する印字システムに用いて好適なものである。
【背景技術】
【０００２】
従来、ホストコンピュータとプリンタとを接続し、ホストコンピュータで作成した文書をプリンタで印字させる印字システムがある。この種の印字システムでは、文書を構成する文字列を符号化した文字コードをホストコンピュータからプリンタに出力するともに、使用するフォントを指定して印字を実行するようになされている。
【０００３】
近年では、グローバル化に伴い複数言語の文字を混在して扱うコンピュータが増えてきているが、そのようなコンピュータでは文字コードとしてUnicodeが使われるケースが多い。Unicodeは、世界中の言語を対象とした１００万超のコードポイントを有している。また、標準の字体と同じ意味・発音を持つが、表記に差異がある文字である異体字を識別するための異体字セレクタ（ＩＶＳ）を含んだコード表現を加えると、Unicodeが有する文字コードの数は更に膨大なものとなる。しかし、このように膨大な文字コードを有するUnicodeの全ての文字形を網羅するようなフォントは存在しない。
【０００４】
ところで、文書作成時はホストコンピュータ内のフォントを用いて文書の編集を実行し、印字時はプリンタ内のフォントを用いて文書の印字を実行するのが、スプールサイズや印字品質の面から望ましい。ただし、プリンタで印字できるフォントの種類は、ホストコンピュータの文書作成に使用できるフォントの種類よりも一般的に少ない。したがって、ホストコンピュータで作成された文書中には、プリンタで印字できない種類のフォントの文字が含まれることがある。このような場合に、ホストコンピュータからプリンタ側に無いフォントを指定して印字を実行すると、印字される文書に文字化けが生じてしまうという問題があった。
【０００５】
これに対して、ホストコンピュータで指定されたフォントがプリンタ内に存在しない場合でも印字を可能にする技術が提案されている（例えば、特許文献１，２参照）。
【０００６】
特許文献１に記載の技術では、印字すべき文字に対して指定されたホスト内フォントをプリンタが有するか否かを判定し、指定されたホスト内フォントがプリンタ内に存在するフォントでない場合は、プリンタ内のフォントを代替フォントとして指定するようにしている。代替フォントを用いる際に、ホスト内フォントを用いた場合の各文字の位置を算出し、その情報をプリンタに出力する。プリンタでは、この情報に従って各フォントのイメージへの展開位置を決定することにより、文書全体の体裁が保証されるようにしている。
【０００７】
また、特許文献２に記載の技術では、ホストコンピュータがプリンタと通信をして、プリンタ上で使用可能なプリンタ内フォントを取得する。そして、取得したプリンタ内フォントと、ホストコンピュータ上で使用可能なホスト内フォントとを対照し、ホスト内フォントのうちの少なくとも一部を任意のプリンタ内フォントで代替えして設定するとともに、代替えしたフォントをプリンタにも設定するようにしている。これにより、ホストコンピュータ側でホスト内フォントのデータを展開し、文字列をイメージデータとしてプリンタ側に送って印字を実行する場合に比べて、ホストコンピュータからプリンタに送るデータ量を少なくし、データ転送速度を高めることができるようにしている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平６−３２５０３５号公報
【特許文献２】特開２０００−１７２４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１，２に記載の技術は何れも、ホストコンピュータで指定されたフォントがプリンタ内に存在しない場合に、プリンタ内に存在するフォントを代用して印字を実行するものである。よって、ユーザがホストコンピュータでの文書作成時に使用したフォントとは異なるフォントで印字が行われてしまう。そのため、ユーザが意図した通りのフォントで印字を実行することができないという問題があった。
【００１０】
本発明は、このような問題を解決するために成されたものであり、ホストコンピュータで指定されたフォントがプリンタ内に存在しない場合や、そのフォントが印字すべき文字の文字形（グリフイメージ）を持たない場合であっても、ユーザが意図したフォントに限りなく近い文字体裁で印字を実行できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記した課題を解決するために、本発明では、ホストコンピュータにおいて、印字すべき文字に対して指定されたフォントがプリンタ内に存在するか否か、フォント存在時は印字すべき文字のグリフイメージがそのフォント内に存在するか否かを判定し、存在すると判定された場合は、印字すべき文字を表す文字コードを指定フォントの識別情報と共にプリンタに送信して印字を実行する。一方、指定フォントやグリフイメージがプリンタ内に存在しないと判定された場合は、指定フォントのアウトラインイメージをプリンタに送信して印字を実行するようにしている。
【発明の効果】
【００１２】
上記のように構成した本発明によれば、ホストコンピュータで指定されたフォントがプリンタ内に存在しない場合や、そのフォントが印字すべき文字のグリフイメージを持たない場合であっても、その指定されたフォントが有しているアウトラインイメージがプリンタに送信されて印字が実行されるので、ユーザによりホストコンピュータで指定されたフォント、つまりユーザが意図したフォントに限りなく近い文字体裁で印字を実行することができるようになる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態による印字システムの構成例を示す図である。
【図２】本実施形態の印字システムによる印字例の一態様を示す図である。
【図３】本実施形態の印字システムによる印字例の一態様を示す図である。
【図４】本実施形態の印字システムによる印字例の一態様を示す図である。
【図５】本実施形態による印字システムの動作例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態による印字システムの構成例を示す図である。図１に示すように、本実施形態の印字システムは、ホストコンピュータ１００と、当該ホストコンピュータ１００と双方向通信可能なプリンタ２００とを備えて構成されている。
【００１５】
ホストコンピュータ１００は、その機能構成として、ホスト側フォント情報記憶部１、プリンタ側フォント情報記憶部２、文書記憶部３、線画データ記憶部４、インタフェース部５、フォント存否判定部６、アウトライン判定部７、文字コード送信部８、アウトラインイメージ送信部９および線画データ送信部１０を備えている。また、プリンタ２００は、その機能構成として、インタフェース部２１、プリンタ側フォント情報記憶部２２および印字処理部２３を備えている。
【００１６】
上記フォント存否判定部６、アウトライン判定部７、文字コード送信部８、アウトラインイメージ送信部９および線画データ送信部１０の各機能は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００１７】
ホスト側フォント情報記憶部１は、ホストコンピュータ１００が内部に備えるフォント（以下、ホスト内フォントという）の情報をあらかじめ記憶している。このホスト側フォント情報記憶部１に記憶されるフォント情報は、ホスト内フォントのフォント名、フォントデータ（フォントの実体データ）、メトリクス情報を含む。メトリクス情報とは、文字のベースライン、ベースラインから文字の上部分までのサイズであるアセント、ベースラインから文字の下部分までのサイズであるディセント、文字の送り量等を文字毎に定めたレイアウト情報である。このメトリクス情報は、ホスト内フォントのそれぞれに対応して記憶されている。
【００１８】
ホスト側フォント情報記憶部１に記憶されるホスト内フォントは、文字を所定の体裁でディスプレイ画面に表示するためのスクリーンフォントであり、ホストコンピュータ１００で文書を作成する際に使われる。このホスト内フォントは、ビットマップフォント、アウトラインフォント、ベクターフォント等の何れであってもよい。また、これらの各種フォントが混在してホスト側フォント情報記憶部１に記憶されていてもよい。また、ホスト側フォント情報記憶部１に記憶されるホスト内フォントは、等幅フォント、プロポーショナルフォントの何れであってもよいし、これらが混在していてもよい。
【００１９】
プリンタ２００のプリンタ側フォント情報記憶部２２は、プリンタ２００が内部に備えるフォント（以下、プリンタ内フォントという）の情報をあらかじめ記憶している。このプリンタ側フォント情報記憶部２２に記憶されるフォント情報は、プリンタ内フォントのフォント名、フォントデータ（フォントの実体データ）、メトリクス情報を含む。メトリクス情報は、プリンタ内フォントのそれぞれに対応して記憶されている。
【００２０】
プリンタ側フォント情報記憶部２２に記憶されるプリンタ内フォントは、文字を所定の体裁で印字するための印字用フォントであり、プリンタ２００で印字を実行する際に使われる。このプリンタ内フォントは、ビットマップフォント、アウトラインフォント、ベクターフォント等の何れであってもよい。また、これらの各種フォントが混在してプリンタ側フォント情報記憶部２２に記憶されていてもよい。また、プリンタ側フォント情報記憶部２２に記憶されるプリンタ内フォントは、等幅フォント、プロポーショナルフォントの何れであってもよいし、これらが混在していてもよい。
【００２１】
ホストコンピュータ１００のプリンタ側フォント情報記憶部２は、本発明のフォント情報記憶部に相当するものであり、プリンタ２００が内部に備えるフォント（プリンタ２００のプリンタ側フォント情報記憶部２２に実際に記憶されている印字用フォント）の情報をあらかじめ記憶している。このプリンタ側フォント情報記憶部２に記憶されるフォント情報は、プリンタ内フォントのフォント名、プリンタ内フォントが持つグリフイメージおよびメトリクス情報を含む。メトリクス情報は、プリンタ内フォントのそれぞれに対応して記憶されている。
【００２２】
プリンタ側フォント情報記憶部２に記憶されるフォント情報は、プリンタ２００内にどんな印字用フォントが存在するか、および、存在する印字用フォント毎にどんな文字（異体字セレクタを含めて識別可能なUnicode値）に対応する文字形（グリフイメージ）を持つかを特定するための情報であり、プリンタ２００からあらかじめ取得しておいたものである。ここで、フォント名は、プリンタ内フォントの識別情報として機能するものであり、プリンタ側フォント情報記憶部２に記憶しておくことは必須である。ただし、プリンタ内フォントを識別できる識別情報であれば、必ずしもフォント名である必要はない。
【００２３】
一方、メトリクス情報については、印字すべき文字が全て等幅な場合には、プリンタ側フォント情報記憶部２に記憶しておくことは必須ではない。これに対し、ホスト内フォントとプリンタ内フォントとで字体が異なるプロポーショナルフォントで相互に可変幅の文字を出力する場合には、各文字を正確な位置に印字するために各文字幅位置は重要となる。この場合は、メトリクス情報をプリンタ側フォント情報記憶部２に記憶しておくのが好ましい。
【００２４】
文書記憶部３は、ホストコンピュータ１００で作成された文書のデータを記憶するものである。この文書記憶部３に記憶される文書データには、文書を構成する文字列（印字すべき文字列）の各文字コードと、文書中の各文字に対して指定されたフォントの識別情報（フォント名）とが少なくとも含まれている。本実施形態では、文字コードとしてUnicodeを用いるものとする。Unicodeは、異体字セレクタ（ＩＶＳ）を含んだものであっても含んでいないものであってもよいが、本実施形態では異体字セレクタを含んでいるものとする。
【００２５】
線画データ記憶部４は、文字の筆跡線を線画で表した線画データおよびメトリクス情報を文字コード毎にあらかじめ記憶している。この線画データは、フォントが持つ書体デザイン要素（筆跡線の太さや太さの緩急、セリフ飾りといった形のアウトライン表現）を排除してデータ量を抑えたものであり、例えば、文字の筆跡線を表す直線とスプライン曲線との組み合わせで構成されている。
【００２６】
この線画データは、Unicodeデータベースで参照できる全コードポイント（異体字が存在するコードポイントでは異体字も含む）のグリフイメージを取得して、それらを細線化したパス（直線およびスプライン曲線）の集合としてあらかじめ作成しておく。そして、Unicodeのコードポイント（異体字が存在するコードポイントでは異体字のセレクタ値情報まで含む）に対応する形で線画データ記憶部４に記憶しておく。
【００２７】
ホストコンピュータ１００のインタフェース部５は、プリンタ２００との間で通信を行うためのものである。また、プリンタ２００のインタフェース部２１は、ホストコンピュータ１００との間で通信を行うためのものである。
【００２８】
フォント存否判定部６は、印字すべき文字に対して指定されたフォントがプリンタ２００内に存在し、かつ、そのフォントが印字すべき文字のグリフイメージを持つか否かを判定する。具体的には、フォント存否判定部６は、プリンタ側フォント情報記憶部２に記憶されているフォント情報を参照し、文書記憶部３に記憶されている文書データにおいて各文字に対して指定されたフォントの識別情報（フォント名）やグリフイメージが、プリンタ側フォント情報記憶部２に記憶されているか否かを確認することにより、ユーザにより文書中で指定されたフォントがプリンタ２００内に存在するか否か、および、存在する印字用フォント毎にどんな文字に対応するグリフイメージを持つかを判定する。フォント存否判定部６は、文書に含まれる各文字の１つ１つに対してこの判定を行い、その判定結果をアウトライン判定部７および文字コード送信部８に通知する。
【００２９】
アウトライン判定部７は、文書中で指定されたフォントおよびグリフイメージがプリンタ２００内に存在しないとフォント存否判定部６により判定された場合に、アウトラインイメージに基づく印字が実行可能か否かを判定する。アウトラインイメージとは、文字形アウトラインのパス（ベクタイメージ）である。このアウトライン判定部７も、文書に含まれる各文字の１つ１つに対してこの判定を行う。
【００３０】
具体的には、アウトライン判定部７は、ホスト側フォント情報記憶部１に記憶されているフォント情報を参照し、フォント存否判定部６によりプリンタ内フォントやグリフイメージが存在しないと判定された文字について、当該文字に対して指定されているフォントがアウトラインイメージを持つか否かを確認することにより、アウトラインイメージに基づく印字が実行可能か否かを判定する。そして、その判定結果をアウトラインイメージ送信部９および線画データ送信部１０に通知する。
【００３１】
文字コード送信部８は、指定されたフォントおよびグリフイメージがプリンタ２００内に存在するとフォント存否判定部６により判定された場合に、印字すべき文字を表す文字コードをプリンタ側フォント情報記憶部２から読み出して、指定されたフォントの識別情報（フォント名）と共にプリンタ２００に送信する。
【００３２】
アウトラインイメージ送信部９は、指定されたフォントやグリフイメージがプリンタ２００内に存在しないとフォント存否判定部６により判定され、かつ、アウトラインイメージに基づく印字を実行可能とアウトライン判定部７により判定された場合に、指定されたフォントのアウトラインイメージをホスト側フォント情報記憶部１から読み出してプリンタ２００に送信する。
【００３３】
ここで、アウトラインイメージ送信部９は、プリンタ側フォント情報記憶部２に記憶されているメトリクス情報に基づいて、必要に応じて文字の印字位置情報を生成し、当該印字位置情報と共にアウトラインイメージをプリンタ２００に送信する。例えば、“ＡＢＣ”という文字列を印字するときに、前２文字の“ＡＢ”だけプリンタ内フォントを使い、３文字目の“Ｃ”はアウトラインイメージを使う場合、文字“Ｃ”の印字開始位置（文字“ＡＢ”の印字後位置）を正確に得るために、アウトラインイメージ送信部９はプリンタ側フォント情報記憶部２に記憶されているメトリクス情報を用いて文字“Ｃ”の印字位置情報を生成し、これをアウトラインイメージと共にプリンタ２００に送信する。
【００３４】
線画データ送信部１０は、アウトライン判定部７によりアウトラインイメージに基づく印字を実行不可能と判定された場合に、印字すべき文字に関する線画データを線画データ記憶部４から読み出してプリンタ２００に送信する。この線画データ送信部１０の処理も、文書に含まれる各文字の１つ１つに対して行う。具体的には、線画データ送信部１０は、アウトラインイメージに基づく印字が実行不可能と判定された文字について、当該文字の文字コードに対応して線画データ記憶部４に記憶されている線画データを読み出してプリンタ２００に送信する。
【００３５】
ここで、線画データ送信部１０もアウトラインイメージ送信部９と同様、線画データ記憶部４に記憶されているメトリクス情報に基づいて、必要に応じて印字位置情報を生成し、当該印字位置情報と共に線画データをプリンタ２００に送信する。
【００３６】
プリンタ２００の印字処理部２３は、文字コード送信部８により送信された文字コードおよびフォント名と、アウトラインイメージ送信部９により送信されたアウトラインイメージと、線画データ送信部１０により送信された線画データとの少なくとも１つに基づいて、文書の各文字に関する印字を実行する。
【００３７】
例えば、文書中の全ての文字列について文字コードおよびフォント名のセット（以下、文字コードセットという）が文字コード送信部８により送信されてきた場合、印字処理部２３はこの文字コードセットに基づいて印字を実行する。
【００３８】
また、文書中の一部の文字についてアウトラインイメージがアウトラインイメージ送信部９により送信されてきた場合、印字処理部２３は、その一部の文字についてはアウトラインイメージに基づいて印字を実行する。この場合、印字処理部２３は、アウトラインイメージに基づくパス描画によって印字を実行する。
【００３９】
さらに、文書中の一部の文字について線画データが線画データ送信部１０により送信されてきた場合、印字処理部２３は、その一部の文字については線画データに基づいて印字を実行する。線画データ描画時の線の太さは、文字サイズの７％を目安として、文字描画サイズと解像度とにより印字処理部２３が決定する。例えば、４００ｄｐｉの画像出力、１８ポイントのフォントサイズの場合、１文字印字範囲のピクセル数は、１８／７２＊４００＝１００ピクセルなので、７％＝太さ７ピクセルの太さで線画のパス描画を行う。
【００４０】
図２〜図４は、本実施形態の印字システムによる印字例を示す図である。図２は、印字すべき文字に対して指定されたフォントおよびグリフイメージがプリンタ２００内に存在する場合の印字例を示す図である。図２の例では、“葛”という文字（艸かんむりに曷、文字コード＝Ｕ＋８４５Ｂ）を印字する例を示している。この場合、ホストコンピュータ１００は、印字すべき文字を表す文字コード（Ｕ＋８４５Ｂ）と、指定されたフォントのフォント名（例えば、明朝体）とをプリンタ２００に送信する。プリンタ２００は、受信した文字コードおよびフォント名に基づいて、プリンタ側フォント情報記憶部２２に記憶されているフォントデータを用いて“葛”の文字を印字する。
【００４１】
図３は、印字すべき文字に対して指定されたフォントやグリフイメージがプリンタ２００内に存在しないが、アウトラインイメージがホストコンピュータ１００に存在する場合の印字例を示す図である。図３の例では、“葛”の異体字（艸かんむりに日に匂、文字コード＝Ｕ＋８４５Ｂ、異体字のセレクタ値＝Ｕ＋Ｅ０１００）を印字する例を示している。この場合、ホストコンピュータ１００は、印字すべき文字について指定されたフォントのアウトラインイメージをプリンタ２００に送信する。プリンタ２００は、受信したアウトラインイメージに基づくパス描画によって、“葛”の異体字を印字する。
【００４２】
図４は、印字すべき文字に対して指定されたフォントやグリフイメージがプリンタ２００内に存在せず、かつ、アウトラインイメージもホストコンピュータ１００に存在しない場合の印字例を示す図である。図４の例では、“葛”の異体字を印字する例を示している。この場合、ホストコンピュータ１００は、印字すべき文字についてあらかじめ線画データ記憶部４に記憶されている線画データをプリンタ２００に送信する。プリンタ２００は、受信した線画データに基づいて“葛”の異体字を印字する。
【００４３】
図５は、上記のように構成した本実施形態による印字システムの動作例を示すフローチャートである。なお、図５に示すフローチャートは、文書記憶部３に記憶された文書について印字の実行がユーザにより指示されたときに開始する。
【００４４】
まず、フォント存否判定部６は、文書内から１つの文字を抽出し、当該文字の文字コードと、その文字に対して指定されているフォントを表すフォント名とを取得する（ステップＳ１）。そして、フォント存否判定部６は、プリンタ側フォント情報記憶部２を参照することにより、ステップＳ１で取得した文字について指定されているフォントがプリンタ２００内に存在し、かつ、そのフォントが印字すべき文字のグリフイメージを持つか否かを判定する（ステップＳ２）。
【００４５】
ここで、指定フォントがプリンタ２００内に存在し、かつ、そのフォントが印字すべき文字のグリフイメージを持つ場合、文字コード送信部８は、ステップＳ１で取得した文字コードとフォント名とをプリンタ２００に送信する（ステップＳ３）。プリンタ２００は、ホストコンピュータ１００から受信した文字コードおよびフォント名に基づいて、プリンタ側フォント情報記憶部２２に記憶されているフォントデータを用いて、ステップＳ１で抽出した文字を印字する（ステップＳ４）。
【００４６】
その後、フォント存否判定部６は、文書内の全ての文字について処理を終了したか否かを判定する（ステップＳ５）。まだ残りの文字が残っている場合、処理はステップＳ１に戻る。そして、文書内の次の文字を１つ抽出して文字コードとフォント名とを取得し、その文字について指定されているフォントがプリンタ２００内に存在し、かつ、そのフォントが印字すべき文字のグリフイメージを持つか否かを同様に判定する（ステップＳ２）。
【００４７】
ここで、指定フォントやグリフイメージがプリンタ２００内に存在しないと判定された場合、アウトライン判定部７は、ホスト側フォント情報記憶部１に記憶されているフォント情報を参照し、プリンタ２００内にフォントやグリフイメージが存在しないと判定された文字について、当該文字に対して指定されているフォントがアウトラインイメージを持つか否かを確認することにより、アウトラインイメージに基づく印字が実行可能か否かを判定する（ステップＳ６）。
【００４８】
アウトラインイメージに基づく印字が実行可能な場合、アウトラインイメージ送信部９は、印字すべき文字について指定されたフォントのアウトラインイメージをプリンタ２００に送信する（ステップＳ７）。プリンタ２００は、ホストコンピュータ１００から受信したアウトラインイメージに基づくパス描画によって、ステップＳ１で抽出した文字を印字する（ステップＳ８）。その後、処理はステップＳ５に進む。
【００４９】
上記ステップＳ６において、アウトラインイメージに基づく印字が実行不可能とアウトライン判定部７にて判定された場合、線画データ送信部１０は、印字すべき文字についてあらかじめ線画データ記憶部４に記憶されている線画データを読み出してプリンタ２００に送信する（ステップＳ９）。プリンタ２００は、ホストコンピュータ１００から受信した線画データに基づいて、ステップＳ１で抽出した文字を印字する（ステップＳ１０）。その後、処理はステップＳ５に進む。このステップＳ５において、文書内の全ての文字に関する処理を終了したと判定された場合、図５に示すフローチャートの処理は終了する。
【００５０】
以上詳しく説明したように、本実施形態による印字システムでは、ホストコンピュータ１００において、印字すべき文字に対して指定されたフォントがプリンタ２００内に存在するか否か、フォント存在時は印字すべき文字のグリフイメージがそのフォント内に存在するか否かを判定し、存在すると判定された場合は、印字すべき文字を表す文字コードを指定フォントのフォント名と共にプリンタ２００に送信して印字を実行する。一方、指定フォントやグリフイメージがプリンタ２００内に存在しないと判定され、かつ、アウトラインイメージに基づく印字を実行可能と判定された場合は、指定フォントのアウトラインイメージをプリンタ２００に送信して印字を実行するようにしている。
【００５１】
このように構成した本実施形態の印字システムによれば、ホストコンピュータ１００で指定されたフォントやグリフイメージがプリンタ２００内に存在しない場合であっても、その指定されたフォントが有しているアウトラインイメージがプリンタ２００に送信されて印字が実行される。これにより、ユーザによりホストコンピュータ１００で指定されたフォント、つまりユーザが意図したフォントに限りなく近い文字体裁で印字を実行することができるようになる。
【００５２】
また、本実施形態では、アウトラインイメージに基づく印字が実行不可能と判定された場合には、印字すべき文字の線画データをプリンタ２００に送信して印字を実行するようにしている。これにより、ホストコンピュータ１００で指定されたフォントがプリンタ２００内に存在しない場合であっても、文字化けの発生を確実に防ぐことができる。
【００５３】
また、本実施形態では、ホスト内フォント、プリンタ内フォント、線画データの全てのメトリクス情報をホストコンピュータ１００に記憶しておくことにより、文字コードにより印字される文字、アウトラインイメージにより印字される文字および線画データにより印字される文字が１つの文書内に混在する場合であっても、文字列の印字位置を正確に求め、レイアウトを高品位に調整して印字することができる。
【００５４】
なお、上記実施形態では、プリンタ内フォントのフォント情報をホストコンピュータ１００のプリンタ側フォント情報記憶部２にあらかじめ記憶しておき、このフォント情報に基づいて指定フォントがプリンタ２００内に存在するか否かを判定する例について説明したが、本発明はこれに限定されない。
【００５５】
例えば、フォント存否判定部６は、ホストコンピュータ１００において印字実行の指示が出されたときに、プリンタ２００と通信をすることによってプリンタ２００内に存在するフォントの情報を取得し、当該取得したフォント情報に基づいて、指定されたフォントがプリンタ２００内に存在するか否かを判定するようにしてもよい。
【００５６】
また、上記実施形態では、線画データを印字用フォントの代替として用い、ホストコンピュータ１００からプリンタ２００に線画データを送信して印字する例について説明したが、線画データをスクリーンフォントとして用い、ホストコンピュータ１００の画面に表示させるようにしてもよい。
【００５７】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５８】
２  プリンタ側フォント情報記憶部
４  線画データ記憶部
６  フォント存否判定部
７  アウトライン判定部
８  文字コード送信部
９  アウトラインイメージ送信部
１０  線画データ送信部
２３  印字処理部
【図１】
2014182684.tif 000003
【図２】
2014182684.tif 000004
【図３】
2014182684.tif 000005
【図４】
2014182684.tif 000006
【図５】
2014182684.tif 000007