JP2005099900A - Print system and host computer - Google Patents
Print system and host computer Download PDFInfo
- Publication number
- JP2005099900A JP2005099900A JP2003329703A JP2003329703A JP2005099900A JP 2005099900 A JP2005099900 A JP 2005099900A JP 2003329703 A JP2003329703 A JP 2003329703A JP 2003329703 A JP2003329703 A JP 2003329703A JP 2005099900 A JP2005099900 A JP 2005099900A
- Authority
- JP
- Japan
- Prior art keywords
- data
- character
- printer
- rendering
- host computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、ホストコンピュータとプリンタとを通信手段により接続して構成される印刷システムに関する。 The present invention relates to a printing system configured by connecting a host computer and a printer by communication means.
ホストコンピュータなどの画像作成装置から出力される様々な描画命令を処理し、画素の並びで表現された印刷用の画像データに展開して印刷装置で用紙などに印刷出力する印刷システムがある。 There is a printing system that processes various drawing commands output from an image creation device such as a host computer, develops it into image data for printing represented by an array of pixels, and prints it on paper or the like with a printing device.
図8は印刷システムの構成例を示す図である。この印刷システムにおいては、ホストコンピュータ51が、オペレーティングシステム52、アプリケーションプログラム53、プリンタドライバ54及びハードウェア55を備えた構成となっている。ホストコンピュータ51には、それぞれ専用のケーブル等を介して表示装置56、外部記憶装置57及び入力装置58が接続されている。また、ホストコンピュータ51には、ネットワーク等の通信路59を介してプリンタ60が接続されている。
FIG. 8 is a diagram illustrating a configuration example of a printing system. In this printing system, the
上記構成の印刷システムにおいては、ホストコンピュータ51上のアプリケーションプログラム53で作成したデータを、プリンタドライバ(プリンタ制御プログラム)54でページ記述言語(PDL:Page Description Language)形式のデータ(以下、PDLデータ)に変換し、このPDLデータを通信路59を通してプリンタ60に送信する。この場合、PDLデータには、図形データや文字データ、写真をスキャナー等で読み込んで生成されるイメージデータなどが含まれる。
In the printing system configured as described above, the data created by the
このうち、文字データは、文字の書体情報やコード情報などを含む。この文字データを、画素の並びで表現された画像データに展開する場合は、プリンタ60の内部に記憶されているフォントデータからデータを取得して印刷用のビットマップデータを生成する方法がとられる。また、ホストコンピュータ51でアプリケーションプログラム53を使ってデータを作成するユーザは、多種の文字書体を使用することが考えられる。したがって、データ作成に使用した文字の書体がプリンタ60の内部に記憶されていない場合も起こり得る。そうした場合、プリンタドライバ54は、オペレーティングシステム52から文字のアウトラインデータや文字のビットマップデータを取得した後、このデータをPDLデータに含めて送信することで対処することがある。
Among these, the character data includes character typeface information and code information. When this character data is developed into image data expressed by an arrangement of pixels, a method is used in which data is acquired from font data stored in the
一方、上述したデータ処理形態の他に、ホストコンピュータ51上で印刷が指示された図形データや文字データを、それぞれ画素の並びで表現された印刷用の画像データに展開し、この画像データを圧縮した後にプリンタ60に送信するデータ処理形態がある。(以下、このデータ処理形態を採用した印刷方式を『ホスト・ベースト・プリンティング方式』と呼ぶ)。
On the other hand, in addition to the data processing mode described above, graphic data and character data for which printing is instructed on the
ホスト・ベースト・プリンティング方式に関連する従来技術として、例えば下記特許文献1には、印刷の対象となるデータをホストコンピュータ側でイメージデータの形式にレンダリングしてプリンタに送信すること、またその際に文字すべてをイメージデータとしてプリンタに送るとデータ転送量が増加するため、文字の部分は文字コードでプリンタに送信することが記載されている。
As a prior art related to the host-based printing method, for example, in
ホスト・ベースト・プリンティング方式は、近年のホストコンピュータの高速化、処理効率の向上、データストレージの向上などにより注目されている技術の一つである。このホスト・ベースト・プリンティング方式では、ホストコンピュータ51上で、プリンタドライバ54が、文字や図形、写真といったPDLと同程度の描画データを、画素の並びで表現された印刷用の画像データに展開(レンダリング)して圧縮した後、この印刷用の圧縮画像データを、通信路59を通してプリンタ60に送信する。よって、先述したPDL形式のデータ処理形態を採用した印刷システムでは、通信路59を通して送信される印刷データがPDLデータとなるが、ホスト・ベースト・プリンティング方式のデータ処理形態を採用した印刷システムでは、プリンタドライバ54でページをラスタライズして圧縮した圧縮画像データが通信路59を通して送信されることになる。ホスト・ベースト・プリンティングは、ホストコンピュータ51の処理速度の向上、及び通信路59の通信速度の向上に伴ってプリンタドライバ(プログラム)54を入れ替えることなく、印刷システム全体としてのスループットを向上させるという特徴がある。
The host-based printing method is one of the technologies attracting attention due to recent increases in the speed of host computers, improvement in processing efficiency, and improvement in data storage. In this host-based printing method, on the
また、プリンタドライバ54の内部構成という観点から見ると、図9に示すように、オペレーティングシステム52に依存する処理部分(以下、コアプリンタドライバ部)541と図形や文字といったデータから画素の並びで表現される画像データに展開する処理部分(以下、レンダリング処理部)542に分けて動作させるのが好ましい。これは、オペレーティングシステム52の種類やバージョンが変わったとしてもレンダリング処理部542を共通に使用したいという理由や、コアプリンタドライバ部541を従来のPDL用のプリンタドライバから大きく変更せずに開発できるよう、コアプリンタドライバ部541とレンダリング処理部542との間のインターフェース(呼び出しの関数)を従来のPDLと同等のものとしておきたいという理由から発生する。よって、プリンタドライバ54の内部構成をコアプリンタドライバ部541とレンダリング処理部542に分けた構成とすることにより、プリンタドライバ54の開発効率を高めることが可能となる。
Further, from the viewpoint of the internal configuration of the
ここで、文字のフォント情報を文字ビットマップ等の画素の並びで表現される画像データに展開する処理に注目して考えると、通常、ホスト・ベースト・プリンティング方式では、オペレーティングシステム52が提供するグラフィックデータ用のインターフェースを通して文字のビットマップデータを取得し、これを最終出力用のバッファにコピーして、1ページ分のページ画像を生成した後に圧縮する形態がとられている。この場合、オペレーティングシステム52の内部で文字ビットマップに対するキャッシュ処理が動作するため、プリンタドライバ54では特別なフォントキャッシュを用意しなくても高速に処理することが可能である。
Here, if attention is paid to the process of expanding the font information of a character into image data expressed by an arrangement of pixels such as a character bitmap, the graphics provided by the
しかしながら、レンダリング処理部542を呼び出すインターフェースは、デバイス非依存型のPDLと同様に、出力デバイスとなるプリンタの座標空間に非依存にデータを与えられることが好ましいものの、コアプリンタドライバ部541で文字ビットマップを取得する場合は、レンダリング処理部542での拡大縮小処理等でジャギーなどの画質劣化や、回転処理等による処理速度の低下を招くことになる。
However, the interface that calls the
一方、文字ビットマップの取得処理をレンダリング処理部542で行う構成も考えられる。この構成を採用した場合は、拡大縮小後や回転後の文字ビットマップをオペレーティングシステム52から取得することで、画質や速度低下の問題は解消される。しかしながら、かかる構成を採用すると、レンダリング処理部541がオペレーティングシステム52に依存することになるため、プリンタドライバ54の開発効率を高めるという観点から好ましくない。
On the other hand, a configuration in which the
本発明は、上記課題を解決するためになされたもので、その目的とするところは、ホスト・ベースト・プリンティング方式を採用した印刷システムにおいて、オペレーティングシステムからビットマップ文字を取得する場合と同様の処理速度や画像品質を維持しながら、プリンタドライバ内部のレンダリング処理部をオペレーティングシステムに非依存にすることで開発効率を高めることにある。 The present invention has been made to solve the above-described problems, and the object of the present invention is to perform the same processing as when a bitmap character is acquired from an operating system in a printing system employing a host-based printing method. The purpose is to increase the development efficiency by making the rendering processing unit inside the printer driver independent of the operating system while maintaining the speed and image quality.
本発明に係る印刷システムは、ホストコンピュータとプリンタとを通信手段により接続して構成されるとともに、印刷の対象となるデータをホストコンピュータにて画素の並びで表現される印刷用の画像データに展開し、この画像データをプリンタに送信して印刷処理する印刷システムであって、ホストコンピュータは、プリンタを制御するプリンタ制御手段を有し、このプリンタ制御手段は、文字を表すアウトラインデータに対応付けて文字毎に固有の識別情報を割り当てる第1の処理部と、アウトラインデータ及び識別情報を含むレンダリング用のデータを第1の処理部から受け取ってレンダリング処理するとともに、このレンダリング処理によって生成した文字フォントの画像データを一時的に格納するフォントキャッシュを管理し、かつ、レンダリング用のデータに含まれる識別情報を用いてフォントキャッシュの登録処理及び検索処理のためのキャッシュキーを生成する第2の処理部とを有するものである。 The printing system according to the present invention is configured by connecting a host computer and a printer by communication means, and develops data to be printed into image data for printing expressed in a pixel array by the host computer. In this printing system, the image data is transmitted to the printer for printing processing. The host computer has printer control means for controlling the printer, and the printer control means is associated with outline data representing characters. A first processing unit for assigning unique identification information for each character, rendering data including outline data and identification information received from the first processing unit, rendering processing, and a character font generated by the rendering processing Manage the font cache that temporarily stores image data, One, in which a second processing section for generating a cache key for registration and search processing font cache by using the identification information included in the data for rendering.
この印刷システムにおいては、ホストコンピュータのプリンタ制御手段で文字データを処理する場合に、その処理対象となる文字のアウトラインデータに対応付けて文字毎に固有の識別情報が第1の処理部によって割り当てられるとともに、それらのアウトラインデータと識別情報を含むレンダリング用のデータが第1の処理部から第2の処理部に送られる。そして、第2の処理部では、第1の処理部から受け取ったレンダリング用のデータがレンダリング処理されるとともに、そのレンダリング用のデータに含まれる識別情報を用いてフォントキャッシュの登録処理及び検索処理のためのキャッシュキーが生成される。 In this printing system, when character data is processed by the printer control means of the host computer, unique identification information is assigned to each character by the first processing unit in association with the outline data of the character to be processed. At the same time, rendering data including the outline data and identification information is sent from the first processing unit to the second processing unit. In the second processing unit, the rendering data received from the first processing unit is subjected to rendering processing, and the font cache registration processing and search processing are performed using the identification information included in the rendering data. A cache key is generated.
本発明によれば、ホスト・ベースト・プリンティング方式を採用した印刷システムで文字を含むデータの印刷処理を行う場合に、ホストコンピュータのプリンタ制御手段では、文字のアウトラインデータを用いてレンダリング処理を行うので高い画像品質が得られるとともに、文字毎に固有の識別情報を用いてキャッシュキーを生成し、これに基づくキャッシュ登録やキャッシュ検索によりフォントキャッシュを利用してレンダリング処理を行うので高い処理速度を実現することができる。さらに、ホストコンピュータではオペレーティングシステム非依存でレンダリング処理することが可能となるため、プリンタ制御手段の内部構成を簡素化して開発効率を高めることができる。 According to the present invention, when printing processing of data including characters is performed in a printing system adopting the host-based printing method, the printer control means of the host computer performs rendering processing using the outline data of characters. High image quality is achieved, and a cache key is generated using unique identification information for each character, and rendering processing is performed using the font cache by cache registration and cache search based on this, realizing high processing speed. be able to. Furthermore, since the host computer can perform rendering processing independent of the operating system, it is possible to simplify the internal configuration of the printer control means and increase the development efficiency.
以下、本発明の具体的な実施の形態について図面を参照しつつ詳細に説明する。 Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings.
図1は本発明の実施形態に係る印刷システムの構成例を示す図である。図示した印刷システムは、主として、ホストコンピュータ1と、このホストコンピュータ1に接続された表示装置2、外部記憶装置3、入力装置4及びプリンタ5によって構成されている。ホストコンピュータ1は、オペレーティングシステム6、アプリケーションプログラム7、プリンタドライバ8及びハードウェア9を備えて構成されている。
FIG. 1 is a diagram illustrating a configuration example of a printing system according to an embodiment of the present invention. The illustrated printing system mainly includes a
ホストコンピュータ1は、CPU(Central Processing Unit)やメモリ等のハードウェア9を内蔵している。アプリケーションプログラム7は、印刷の対象となるデータを作成することができるとともに、作成したデータの印刷をオペレーティングシステム6に指示することができる。ホストコンピュータ1には、CRT(陰極線管)やLCD(液晶ディスプレイ)などの表示装置2、HDD(ハードディスクドライブ)などの外部記憶装置3、キーボードやマウスなどの入力装置4が接続されている。ホストコンピュータ1が内蔵するハードウェア9やソフトウェア、さらにはホストコンピュータ1に接続された各種の外部装置は、オペレーティングシステム6による制御及び管理のもとで動作する。一方、プリンタ5は、用紙などの記録媒体上に画像を印刷するもので、通信手段となるネットワーク、プリンタケーブル等の通信路10を介してホストコンピュータ1に接続されている。
The
この印刷システムにおいては、ホストコンピュータ1で生成した圧縮画像データを、通信路10を使用してプリンタ5に送信し、このプリンタ5で記録媒体上に画像を印刷出力する。その際、ホストコンピュータ1上では、アプリケーションプログラム7がオペレーティングシステム6に印刷を指示したデータ(印刷の対象となるデータ)を、プリンタドライバ8が、画素の並びで表現された印刷用の画像データに展開するとともに、この画像データを圧縮処理することにより、印刷用の圧縮画像データを生成する。
In this printing system, the compressed image data generated by the
図2は本発明の実施形態に係る印刷システムのデータ処理フローを示す図である。先ず、ホストコンピュータ1内では、アプリケーションプログラム7を使用して作成したデータを、アプリケーションプログラム7からの印刷の指示にしたがってオペレーティングシステム6がプリンタドライバ8に送る。プリンタドライバ8は、プリンタ5を制御するプリンタ制御手段に相当するもので、これは、オペレーティングシステム6から送られたデータ(印刷の対象となるデータ)を、画素の並びで表現される印刷用の画像データに展開し、この展開後の画像データをオペレーティングシステム6に送信(返信)する。そうすると、オペレーティングシステム6は、プリンタドライバ8から受け取った圧縮画像データを、通信路10を介してプリンタ5に送信する。一方、プリンタ5は、通信路10を通して送信された圧縮画像データを受信するとともに、この受信した圧縮画像データを伸長処理してその内容を解釈し、これを可視画像として用紙などの記録媒体に印刷出力する。
FIG. 2 is a diagram showing a data processing flow of the printing system according to the embodiment of the present invention. First, in the
上述したデータ処理の流れの中で、オペレーティングシステム6からプリンタドライバ8に送られるデータ(印刷対象データ)の中には、印刷に必要な描画データ(図形データ、文字データ、イメージデータ等)や、ページの開始や終了といった印刷制御データなどが含まれる。また、プリンタドライバ8では、オペレーティングシステム6から送信された印刷対象データをコアプリンタドライバ部(第1の処理部)81で受信し、この受信データを、必要に応じて、レンダリング処理部(第2の処理部)82で解釈可能なデータ形式に変換した後、レンダリング処理部82に送信する。レンダリング処理部82では、コアプリンタドライバ部81から送信されたデータ(レンダリング用のデータ)を受け取り、これを、画素の並びで表現された印刷用の画像データ(ビットマップデータ等)に展開(レンダリング)するとともに、この展開した画像データを圧縮処理することにより、圧縮画像データを生成する。
In the data processing flow described above, the data (print target data) sent from the
このようにしてレンダリング処理部82で1ページないしは数ページ分の圧縮画像データ(印刷用の画像データ)を生成すると、この圧縮画像データ(レンダリング処理部82での処理結果)をコアプリンタドライバ部81に送る。そうすると、コアプリンタドライバ部81は、レンダリング処理部82から受け取った圧縮画像データをオペレーティングシステム6に送る。
When the
ここで、オペレーティングシステム6から送信された印刷対象データ(描画データ)に文字データが含まれ、この文字データをプリンタドライバ8で処理する場合、コアプリンタドライバ部81は、オペレーティングシステム6から受け取った文字データの文字コード(JISコード)等から文字を特定し、この文字を表すアウトラインデータに対応付けて文字毎に固有の識別情報となるID番号を割り当てる。アウトラインデータとは基本的に一つの文字の輪郭線を表すデータである。コアプリンタドライバ部81では、各々の文字に対して固有のID番号を割り当てるため、アウトラインデータが表す文字が同一のものであれば、同一のID番号を割り当てることになる。その際、ID番号は、コアプリンタドライバ部81自身で生成して割り当ててもよいし、オペレーティングシステム6で生成したものをコアプリンタドライバ部81で取得して割り当ててもよい。また、アウトラインデータとID番号との対応付けは、例えば一つの文字をレンダリング処理するためのデータにそれらの情報(アウトラインデータ、ID番号)を含めることで行うようにすればよい。
Here, when the character data is included in the print target data (drawing data) transmitted from the
ちなみに、ID番号を生成できないような文字(例えば、外字などの特殊文字)や、文字サイズが非常に大きくて後述するフォントキャッシュのメモリ容量を圧迫するような文字の場合、コアプリンタドライバ部81は、フォントキャッシュへの登録処理が不要な文字とするために、そうした文字に対して、ID番号のとり得る値の範囲内で予め設定された共通のID番号を割り当てる。例えば、ID番号が0番から割り当てられるものとすると、ID番号未定を表す値を予め0番と決めておき、コアプリンタドライバ部81が、対象とする文字にID番号を割り付けられないと判断(フォントキャッシュへの登録処理が不要と判断)した場合は、その文字のID番号として0番を割り当てる。また、コアプリンタドライバ部81では、文字データに含まれる文字の書体、文字コード値、文字の修飾状況などのフォント情報により、各々の文字を区別(識別)する。例えば、“明朝”体であり、SJISコード表現の0x82A0(16進数)の“あ”という文字であって、斜字体という修飾状況が決定されて、1つの文字を特定(確定)する。 Incidentally, in the case of a character that cannot generate an ID number (for example, a special character such as an external character) or a character that has a very large character size and presses the memory capacity of a later-described font cache, the core printer driver unit 81 In order to make characters that do not need to be registered in the font cache, a common ID number set in advance within the range of possible ID numbers is assigned to such characters. For example, if the ID number is assigned from 0, the value representing the ID number undetermined is determined as 0 in advance, and the core printer driver unit 81 determines that the ID number cannot be assigned to the target character ( If it is determined that the registration processing in the font cache is unnecessary, 0 is assigned as the ID number of the character. In addition, the core printer driver unit 81 distinguishes (identifies) each character based on font information such as a character font, character code value, and character modification status included in the character data. For example, the character is “Mincho”, and it is the character “A” in 0x82A0 (hexadecimal number) in the SJIS code expression, and the modification status of italic is determined to identify (determine) one character.
これに対して、レンダリング処理部82は、レンダリング用のデータに含まれる文字のアウトラインデータと、この文字に割り当てられたID番号(識別情報)をコアドライバ部81から受け取ってレンダリング処理する。その際、レンダリング処理部82では、文字の描画を効率的に行うためにフォントキャッシュを利用(管理)する。フォントキャッシュは、例えばホストコンピュータ1が備えるメモリの一部に割り当てられるもので、文字のアウトラインデータをレンダリング処理してビットマップに展開したときに、その文字フォントの画像データ(ビットマップ画像データ)を一時的に格納するためのメモリ領域として確保される。このフォントキャッシュを利用するにあたって、レンダリング処理部82は、コアプリンタドライバ部81から受け取ったレンダリング用のデータに含まれるID番号を用いてフォントキャッシュの登録処理及び検察処理のためのキャッシュキーを生成する。
On the other hand, the
このキャッシュキーの生成に際して、レンダリング処理部82は、印刷用の圧縮画像データをプリンタ5で印刷する際に適用される変換行列要素と、上述したID番号とを組み合わせてキャッシュキーを生成する。これにより、コアプリンタドライバ部81では、画像出力装置となるプリンタ5の座標空間への変換行列に何ら左右されることなく、同じ文字に同一のID番号を割り当ててレンダリング処理部82に送ることができる。
When generating the cache key, the
例えば、上記の“あ”という文字であっても、画像出力装置の印刷ページ方向(用紙の向き)が縦の場合と横の場合で、実際に印刷される文字ビットマップの出力結果が異なる。また別の例では、複数ページ(Nページ)分の画像データを1ページにまとめて印刷出力する処理方法(N-UPなどと称される出力方法)を指定する場合でも、文字の大きさや方向(向き)が異なる。そうした場合、同じ“あ”という文字に対して、コアプリンタドライバ部81で同じID番号を割り当てたとしても、レンダリング処理部82は、単にそのID番号からキャッシュキーを生成するのではなく、行列変換要素との組み合わせでキャッシュキーを生成する。これにより、コアプリンタドライバ部81で同じID番号が割り当てられた文字であっても、レンダリング処理部82では行列変換要素毎に異なるキャッシュキーが生成される。そのため、コアプリンタドライバ部81では、プリンタ5の座標空間に依存することなく、同じID番号を使って同一の文字を特定することができる。
For example, even for the character “A”, the output result of the character bitmap that is actually printed differs depending on whether the print page direction (paper orientation) of the image output apparatus is vertical or horizontal. In another example, even when a processing method (an output method called N-UP or the like) that prints and outputs a plurality of pages (N pages) of image data in one page is specified, the character size and direction (Direction) is different. In such a case, even if the same ID number is assigned to the same character “a” by the core printer driver unit 81, the
図3はプリンタドライバ8内部のコアプリンタドライバ部81とレンダリング処理部82との間のインターフェース(I/F)の一例を示している。ここで記述するインターフェースとは、コアプリンタドライバ部81から入力されるレンダリング用のデータをレンダリング処理部82でレンダリング処理する際の処理内容を指定する関数(呼び出しの関数)を意味し、この中には、ページの開始・終了や、図形や文字の色を指定するインターフェース、描画オブジェクトの回転処理や拡大縮小処理などの変換行列を指定するインターフェース、図形をパス形式で描画するインターフェース、文字描画のインターフェース、ラスターイメージ描画のインターフェースなどが含まれる。
FIG. 3 shows an example of an interface (I / F) between the core printer driver unit 81 and the
なお、上記図3においては、プリンタドライバ8内部のコアプリンタドライバ部81とレンダリング処理部82との間の代表的なインターフェースを例示しており、これらのインターフェースの他にも、例えば矩形や楕円といった図形を直接指定するインターフェースや、図形の線幅・破線形状を指定するインターフェース、さらにはハッチング等のパターンを指定するインターフェースなども含めることができる。
Note that FIG. 3 illustrates a typical interface between the core printer driver unit 81 and the
図4は、上記図3に示す各種のインターフェースの中で、文字描画のインターフェース(図中のDrawFont()関数)の詳細を示すものである。図示した文字描画インターフェースには、一つの文字を表すアウトラインデータの記憶先を示すメモリアドレスと、この文字を描画するときの描画基準点を表すX座標値及びY座標値と、文字毎に固有の識別情報として割り当てられたID番号が、それぞれ関数呼び出し用の引数(ID,FontData,X,Y)として含まれる。 FIG. 4 shows details of the character drawing interface (DrawFont () function in the figure) among the various interfaces shown in FIG. The illustrated character drawing interface includes a memory address indicating a storage destination of outline data representing one character, an X coordinate value and a Y coordinate value representing a drawing reference point when the character is drawn, and a character unique to each character. The ID numbers assigned as identification information are included as function call arguments (ID, FontData, X, Y), respectively.
図5は図4の文字描画インターフェースの引数で表される文字アウトラインデータの具体的なデータ形式の一例を示す図である。図示したアウトラインデータ形式では、1番目のフィールドがデータサイズを表している。また、2番目のフィールドは制御点の総数を表し、3番目のフィールドは線タイプの総数を表している。4番目以降のフィールドは、文字のアウトラインを表現するための制御点と、この制御点によって形作られるアウトラインの線タイプを格納するフィールドとなっている。すなわち、4番目以降のフィールドは、アウトラインを構成する各々の制御点のX座標値とY座標値を表し、その後のフィールドが線タイプの値を表している。 FIG. 5 is a diagram showing an example of a specific data format of character outline data represented by arguments of the character drawing interface of FIG. In the illustrated outline data format, the first field represents the data size. The second field represents the total number of control points, and the third field represents the total number of line types. The fourth and subsequent fields are fields for storing control points for expressing the outline of the character and the line type of the outline formed by the control points. That is, the fourth and subsequent fields represent the X coordinate value and the Y coordinate value of each control point constituting the outline, and the subsequent fields represent line type values.
線タイプはパス描画形式の描画方法に基づいてMOVETOやLINETOなど5種類が用意されている。線タイプは、その種類によって、使用される制御点の数が異なる。例えばMOVETOでは制御点を1点だけ使用するが、CLOSE(パスを閉じる命令)では制御点を全く使用しない。また、制御点の座標値は、上記図4の文字描画インターフェースの文字描画基準点であるX座標値やY座標値からの相対位置で表現される。したがって、文字描画インターフェースの文字描画基準点のX座標値やY座標値を変更したとしても、同一のアウトラインデータ(データを格納したアドレス)を指定することができる。 There are five types of line types such as MOVETO and LINETO based on the path drawing format drawing method. The number of control points used varies depending on the type of line type. For example, MOVETO uses only one control point, but CLOSE (command to close a path) does not use any control point. The coordinate value of the control point is expressed by a relative position from the X coordinate value or the Y coordinate value which is the character drawing reference point of the character drawing interface of FIG. Therefore, even if the X coordinate value or the Y coordinate value of the character drawing reference point of the character drawing interface is changed, the same outline data (address storing data) can be designated.
図6は“A”という文字を表すアウトラインデータの実例を示している。このアウトラインデータは、全体で116バイトのデータを使用し、11個の制御点(a0〜a10)と16個の線パターン(MOVETO×2、LINETO×11、CLOSE×2、ENDCHAR×1)から構成されている。これらのデータは、ホストコンピュータ1が備えるメモリの中で、コアプリンタドライバ部81が管理するメモリ領域に保存されている。
FIG. 6 shows an example of outline data representing the character “A”. This outline data uses 116 bytes of data in total and consists of 11 control points (a0 to a10) and 16 line patterns (MOVETO × 2, LINETO × 11, CLOSE × 2, ENDCHAR × 1). Has been. These data are stored in a memory area managed by the core printer driver unit 81 in the memory of the
図7はレンダリング処理部82の文字処理に係る処理手順の一例を示すフローチャートである。先ず、コアプリンタドライバ部81から呼び出された文字描画インターフェースにより、ID番号、アウトラインデータ(アドレス)、X座標値、Y座標値など、文字の描画に必要なデータを入力する(ステップS1)。
FIG. 7 is a flowchart illustrating an example of a processing procedure related to the character processing of the
次に、文字描画インターフェースが呼び出された時点で設定されている、プリンタ(画像出力装置)に依存した座標空間への変換行列の値を取得する(ステップS2)。変換行列の値は、画像の拡大縮小や回転などによって設定される。この変換行列の値は、上記図3に示すインターフェースの一覧に含まれるSetMatrix()で事前に指定される。また、変換行列の値は、画像の拡大縮小や回転等の変換を表現する2×2の行列形式で表される。したがって、変換行列の値は4つの実数値となる。 Next, the value of the conversion matrix to the coordinate space depending on the printer (image output device) set when the character drawing interface is called is acquired (step S2). The value of the transformation matrix is set by scaling or rotating the image. The value of this transformation matrix is designated in advance by SetMatrix () included in the list of interfaces shown in FIG. The value of the transformation matrix is expressed in a 2 × 2 matrix format that expresses transformation such as enlargement / reduction or rotation of the image. Therefore, the value of the transformation matrix is four real values.
次に、文字のアウトラインデータに割り当てられているID番号と行列変換要素を表す4つの実数値から、フォントキャッシュの登録処理及び検索処理のためのキャッシュキーを生成する。このキャッシュキーの生成に際して、最も簡単には行列変換要素の1つ分を4バイトの固定小数点で表現したとすれば、ID番号の4バイト分を含めて、全部で4バイト×5=20バイトのキャッシュキーを生成する(ステップS3)。このとき、文字種、書体、サイズ、向き等のフォント情報が同一の文字であれば、同じキャッシュキーが生成されることになる。 Next, a cache key for font cache registration processing and search processing is generated from the ID number assigned to the outline data of the character and four real values representing the matrix conversion elements. When the cache key is generated in the simplest case, if one matrix transformation element is expressed by a fixed point of 4 bytes, a total of 4 bytes × 5 = 20 bytes including 4 bytes of the ID number. Is generated (step S3). At this time, if the font information such as the character type, typeface, size, and orientation is the same, the same cache key is generated.
続いて、先ほど生成したキャッシュキーを検索キーとして、フォントキャッシュ内部に、検索キーと同じキャッシュキーで登録されている画像データが存在するかどうか、つまり同一フォント情報の文字をレンダリング処理して得られたビットマップの画像データが格納されているかどうかを検索する(ステップS4)。 Subsequently, using the cache key generated earlier as a search key, whether or not there is image data registered with the same cache key as the search key in the font cache, that is, the character of the same font information is rendered. Whether the bitmap image data is stored is searched (step S4).
検索の結果、同一フォント情報の文字の画像データ(ビットマップデータ)が格納されていた場合は、その格納先となるフォントキャッシュ内部のアドレスを取得する(ステップS5)。 If character image data (bitmap data) with the same font information is stored as a result of the search, an address in the font cache that is the storage destination is acquired (step S5).
また、検索の結果、同一フォント上の文字の画像データが格納されていなかった場合は、文字描画インターフェースによって指定されたアウトラインデータを参照し、このアウトラインデータにしたがってレンダリング処理してビットマップ等の文字の画像データ(レンダリング結果)を得る(ステップS6)。次いで、レンダリング結果を上記キャッシュキーと対応付けてフォントキャッシュ内部に登録(格納)するとともに、その登録先(格納先)となるフォントキャッシュ内部のアドレスを取得する(ステップS7)。 If the image data of the character in the same font is not stored as a result of the search, the outline data specified by the character drawing interface is referred to, and rendering processing is performed according to the outline data to character such as a bitmap. Image data (rendering result) is obtained (step S6). Next, the rendering result is registered (stored) in the font cache in association with the cache key, and an address in the font cache serving as the registration destination (storage destination) is acquired (step S7).
こうしてフォントキャッシュの検索処理又は登録処理を行った後は、上記ステップS1で入力された文字描画基準点のX座標値及びY座標値に基づいて出力バッファに文字の描画を行う(ステップS8)。 After the font cache search process or registration process is performed in this way, characters are drawn in the output buffer based on the X coordinate value and Y coordinate value of the character drawing reference point input in step S1 (step S8).
以上の処理により、同一フォント情報の文字は、一度レンダリング処理してフォントキャッシュに登録されると、その後、いちいちレンダリング処理されることなく、フォントキャッシュの登録情報を使って出力されるため、文字描画処理の高速化を実現することができる。 With the above processing, characters with the same font information are rendered once and registered in the font cache. After that, they are output using the registration information in the font cache without rendering each time. Speeding up of processing can be realized.
1…ホストコンピュータ、5…プリンタ、8…プリンタドライバ、10…通信路、81…コアプリンタドライバ部、82…レンダリング処理部
DESCRIPTION OF
Claims (3)
前記ホストコンピュータは、前記プリンタを制御するプリンタ制御手段を有し、
前記プリンタ制御手段は、文字を表すアウトラインデータに対応付けて文字毎に固有の識別情報を割り当てる第1の処理部と、前記アウトラインデータ及び前記識別情報を含むレンダリング用のデータを前記第1の処理部から受け取ってレンダリング処理するとともに、このレンダリング処理によって生成した文字フォントの画像データを一時的に格納するフォントキャッシュを管理し、かつ、前記レンダリング用のデータに含まれる前記識別情報を用いて前記フォントキャッシュの登録処理及び検索処理のためのキャッシュキーを生成する第2の処理部とを有する
ことを特徴とする印刷システム。 The host computer and the printer are configured to be connected by communication means, and the data to be printed is expanded into image data for printing expressed in an array of pixels by the host computer. A printing system that transmits to a printer and performs printing processing.
The host computer has printer control means for controlling the printer,
A first processing unit that assigns unique identification information for each character in association with outline data representing the character; and the first data for rendering data including the outline data and the identification information. A font cache that temporarily stores image data of a character font generated by the rendering process, and uses the identification information included in the rendering data to perform the rendering process. And a second processing unit that generates a cache key for cache registration processing and search processing.
ことを特徴とする請求項1記載の印刷システム。 The said 2nd process part produces | generates the said cache key combining the conversion matrix element applied when printing the said image data for printing with the said printer, and the said identification information. The printing system described.
前記プリンタ制御手段は、文字を表すアウトラインデータに対応付けて文字毎に固有の識別情報を割り当てる第1の処理部と、前記アウトラインデータ及び前記識別情報を含むレンダリング用のデータを前記第1の処理部から受け取ってレンダリング処理するとともに、このレンダリング処理によって生成した文字フォントの画像データを一時的に格納するフォントキャッシュを管理し、かつ、前記レンダリング用のデータに含まれる前記識別情報を用いて前記フォントキャッシュの登録処理及び検索処理のためのキャッシュキーを生成する第2の処理部とを有する
ことを特徴とするホストコンピュータ。
A host computer connected to the printer via communication means and having printer control means for controlling the printer,
A first processing unit that assigns unique identification information for each character in association with outline data representing the character; and the first data for rendering data including the outline data and the identification information. A font cache that temporarily stores image data of a character font generated by the rendering process, and uses the identification information included in the rendering data to perform the rendering process. And a second processing unit for generating a cache key for cache registration processing and search processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003329703A JP4325339B2 (en) | 2003-09-22 | 2003-09-22 | Printing system, host computer and printer driver |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003329703A JP4325339B2 (en) | 2003-09-22 | 2003-09-22 | Printing system, host computer and printer driver |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005099900A true JP2005099900A (en) | 2005-04-14 |
JP4325339B2 JP4325339B2 (en) | 2009-09-02 |
Family
ID=34458882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003329703A Expired - Fee Related JP4325339B2 (en) | 2003-09-22 | 2003-09-22 | Printing system, host computer and printer driver |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4325339B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009071352A (en) * | 2007-09-10 | 2009-04-02 | Murata Mach Ltd | Image forming apparatus |
-
2003
- 2003-09-22 JP JP2003329703A patent/JP4325339B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009071352A (en) * | 2007-09-10 | 2009-04-02 | Murata Mach Ltd | Image forming apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP4325339B2 (en) | 2009-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3168580B2 (en) | Page description language interpreter | |
US20070070403A1 (en) | Information processing apparatus, information processing method, and program | |
EP1033645A2 (en) | Late binding of device settings in a host raster image processor | |
JPH0930060A (en) | Printer control method and device | |
JP2008117379A (en) | System, method and computer program for encoded raster document generation | |
JPH10297050A (en) | Output controller, output control method, image processor, image processing method, and recording medium | |
JP2610993B2 (en) | Information processing apparatus and method | |
JP3604152B2 (en) | Processor / memory that does not require heavy rendering for page printers | |
JP2008090377A (en) | Rasterizing device, program and method | |
JP2004152255A (en) | Information processing device, information processing method, and printing control program | |
US6430321B1 (en) | Text enhancement | |
JP2007245723A (en) | System, method and program for rendering document | |
JP4461361B2 (en) | Drawing processing method and program, drawing command output device and image forming apparatus | |
JP4325339B2 (en) | Printing system, host computer and printer driver | |
JP2001293936A (en) | Image information processor and method of processing image information | |
JP2006159738A (en) | Print controller, its data processing method, and storage medium | |
JP2011053263A (en) | Image processing device, image processing method, image output system, program and recording medium | |
JP5424546B2 (en) | Image processing apparatus and image forming system | |
JP2004030386A (en) | Image processing method and image processor | |
JPH11191055A (en) | Printing system, data processing method therefor, and storage medium stored with computer-readable program | |
JP2013122661A (en) | Image processing device, image processing method and program | |
JP2003173446A (en) | Image processing device, system and method, storage medium and program | |
JP2006159458A (en) | Image output device | |
JP4072403B2 (en) | Information processing apparatus, information processing method, and program | |
JP2006079475A (en) | Print processing system, program and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060824 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090417 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090519 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090601 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130619 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140619 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |