(57)【要約】【課題】記録装置においてフォントデータを格納する記憶領域の容量を抑えるとともに、圧縮されたデータの伸張処理に伴う遅延を防止できるようにする。【解決手段】プリンター２０は、印刷ユニット４１と、文字毎に圧縮フォントデータを格納し、各文字コードに対応する文字の圧縮フォントデータがＲＯＭ３１に格納された格納アドレスとを対応づける圧縮データインデックス３５を記憶するＲＯＭ３１と、圧縮データインデックス３５に基づいて、印刷対象の文字の文字コードに対応する圧縮フォントデータ３１Ａの格納アドレスを取得し、取得した格納アドレスに従って圧縮フォントデータを読み出す圧縮データ取得部２５と、圧縮フォントデータをフォント伸張領域３８で伸張する伸張処理部２６と、伸張されたデータに基づいて、印刷ユニット４１を制御して印刷対象の文字を印刷する印刷制御部２７と、を備える。【選択図】図１
2014012354.tif 000002
【特許請求の範囲】
【請求項１】
記録手段と、
文字毎に圧縮フォントデータを格納した不揮発性メモリーと、
文字コードと、各文字コードに対応する文字の前記圧縮フォントデータが前記不揮発性メモリーに格納された格納アドレスと、を対応づける対応情報を記憶する対応情報記憶手段と、
前記対応情報に基づいて、記録対象の文字の文字コードに対応する前記圧縮フォントデータの格納アドレスを取得し、取得した格納アドレスに従って前記圧縮フォントデータを読み出して、ワークエリアで伸張する圧縮データ処理手段と、
前記圧縮データ処理手段により伸張されたデータに基づいて、前記記録手段を制御して前記記録対象の文字を記録する記録制御手段と、
を備えたことを特徴とする記録装置。
【請求項２】
請求項１記載の記録装置であって、
前記不揮発性メモリーには、前記圧縮フォントデータの文字とは別の文字のフォントデータが非圧縮状態で格納され、
所定のタイミングで前記不揮発性メモリーに格納された前記非圧縮のフォントデータを読み出して前記ワークエリアに格納する非圧縮データ処理手段と、
前記記録対象の文字の文字コードに対応するフォントデータが、前記圧縮フォントデータであるか否かを判定する判定手段と、を備え、
前記圧縮データ処理手段は、前記判定手段により前記記録対象の文字の文字コードに対応するフォントデータが、前記圧縮フォントデータであると判定された場合に、前記不揮発性メモリーから文字毎に前記圧縮フォントデータを読み出して伸張し、
前記記録制御手段は、前記圧縮データ処理手段により伸張されたフォントデータ、および、前記非圧縮データ処理手段により前記ワークエリアに格納された非圧縮のフォントデータに基づいて記録を行うことを特徴とする記録装置。
【請求項３】
請求項２記載の記録装置であって、
前記不揮発性メモリーには、異なる複数の文字コードセットに対応するフォントデータが格納され、一部の前記文字コードセットに対応する前記フォントデータは前記圧縮フォントデータであり、一部の前記文字コードセットに対応する前記フォントデータは前記非圧縮のフォントデータであり、
前記判定手段は、記録対象の文字の文字コードを含む文字コードセットを特定することにより、前記文字コードに対応するフォントデータが前記圧縮フォントデータとして前記不揮発性メモリーに格納されているか、前記非圧縮のフォントデータとして前記ワークエリアに格納されているかを判定することを特徴とするデータ処理装置。
【請求項４】
請求項１から３のいずれかに記載の記録装置であって、
前記対応情報記憶手段は、前記不揮発性メモリーの記憶領域の一部に前記対応情報を記憶するものであることを特徴とする記録装置。
【請求項５】
請求項１から４のいずれかに記載の記録装置であって、
前記不揮発性メモリーとは別に設けられたメモリーを備え、
前記圧縮データ処理手段は、前記メモリーに形成された前記ワークエリアに前記不揮発性メモリーから読み出した前記圧縮フォントデータをコピーして伸張することを特徴とする記録装置。
【請求項６】
記録手段と、文字毎に圧縮フォントデータを格納した不揮発性メモリーとを備えた記録装置を制御して、
記録可能な文字の文字コードと、各文字コードに対応する文字の前記圧縮フォントデータが格納された前記不揮発性メモリーにおける格納アドレスと、を対応づける対応情報に基づいて、記録対象の文字の文字コードに対応する前記圧縮フォントデータの格納アドレスを取得し、
取得した格納アドレスに従って前記圧縮フォントデータを読み出し、
読み出した前記圧縮フォントデータをワークエリアで伸張し、
伸張したデータに基づいて前記記録手段を制御して文字を記録すること、
を特徴とする記録装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置、及び、記録装置の制御方法に関する。
【背景技術】
【０００２】
従来、文字の記録に使用するためのフォントデータをＲＯＭ等の記憶媒体に記憶（内蔵）し、記憶したフォントデータに基づいて文字の記録を行う記録装置が知られている（例えば、特許文献１参照）。特許文献１記載の記録装置は、ＲＯＭの容量を抑えるためにフォントデータを圧縮してＲＯＭに記憶し、記録を行う際にＲＯＭから読み出して伸張する処理を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−１３７３４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、圧縮されたフォントデータを伸張する処理には時間がかかるため、多数の文字を連続して記録する場合等に遅延が生じる。このため、例えば予めＲＯＭからフォントデータを読み出して伸張しておく方法が考えられるが、複数の文字のフォントデータを伸張した状態で記憶しておくためにはＲＡＭの容量を十分に確保する必要があった。
本発明は、上述した事情に鑑みてなされたものであり、記録装置においてフォントデータを格納する記憶領域の容量を抑えるとともに、圧縮されたデータの伸張処理に伴う遅延を防止できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、記録手段と、文字毎に圧縮フォントデータを格納した不揮発性メモリーと、文字コードと、各文字コードに対応する文字の前記圧縮フォントデータが前記不揮発性メモリーに格納された格納アドレスと、を対応づける対応情報を記憶する対応情報記憶手段と、前記対応情報に基づいて、記録対象の文字の文字コードに対応する前記圧縮フォントデータの格納アドレスを取得し、取得した格納アドレスに従って前記圧縮フォントデータを読み出して、ワークエリアで伸張する圧縮データ処理手段と、前記圧縮データ処理手段により伸張されたデータに基づいて、前記記録手段を制御して前記記録対象の文字を記録する記録制御手段と、を備えたことを特徴とする。
本発明によれば、不揮発性メモリーに圧縮して格納されたフォントデータが文字毎に圧縮されているので、記録する文字のフォントデータを文字毎に読み出して伸張することができる。このため、必要な文字の分だけデータを伸張するので伸張処理に伴う遅延を防止でき、また、圧縮フォントデータを格納する不揮発性メモリーおよび伸張したフォントデータを格納するワークエリアの容量を抑えることができる。
【０００６】
上記記録装置において、前記不揮発性メモリーには、前記圧縮フォントデータの文字とは別の文字のフォントデータが非圧縮状態で格納され、所定のタイミングで前記不揮発性メモリーに格納された前記非圧縮のフォントデータを読み出して前記ワークエリアに格納する非圧縮データ処理手段と、前記記録対象の文字の文字コードに対応するフォントデータが、前記圧縮フォントデータであるか否かを判定する判定手段と、を備え、前記圧縮データ処理手段は、前記判定手段により前記記録対象の文字の文字コードに対応するフォントデータが、前記圧縮フォントデータであると判定された場合に、前記不揮発性メモリーから文字毎に前記圧縮フォントデータを読み出して伸張し、前記記録制御手段は、前記圧縮データ処理手段により伸張されたフォントデータ、および、前記非圧縮データ処理手段により前記ワークエリアに格納された非圧縮のフォントデータに基づいて記録を行う構成とすることができる。
この構成によれば、圧縮して不揮発性メモリーに格納されたフォントデータと、非圧縮で不揮発性メモリーに格納されたフォントデータとを使い分けて、圧縮されたフォントデータは文字毎に不揮発性メモリーから読み出して伸張して記録し、非圧縮のフォントデータはワークエリアに所定のタイミングで格納されているので、ワークエリアのフォントデータを利用して記録を行える。従って、フォントデータの使用頻度やデータ量に応じて圧縮されたフォントデータと非圧縮のフォントデータを使い分けることにより、フォントデータを格納する記憶領域の容量を効果的に抑え、かつ、データの伸張処理に伴う遅延を確実に防止できる。
【０００７】
上記記録装置において、前記不揮発性メモリーには、異なる複数の文字コードセットに対応するフォントデータが格納され、一部の前記文字コードセットに対応する前記フォントデータは前記圧縮フォントデータであり、一部の前記文字コードセットに対応する前記フォントデータは前記非圧縮のフォントデータであり、前記判定手段は、記録対象の文字の文字コードを含む文字コードセットを特定することにより、前記文字コードに対応するフォントデータが前記圧縮フォントデータとして前記不揮発性メモリーに格納されているか、前記非圧縮のフォントデータとして前記ワークエリアに格納されているかを判定する構成とすることができる。
この構成によれば、文字コードセット毎に、文字毎に圧縮された圧縮フォントデータ，或いは非圧縮のフォントデータが不揮発性メモリーに格納され、これらを使い分けることができるので、例えば文字数が多い文字コードセットなどデータ量が多い文字コードセットの文字については圧縮フォントデータとして格納し、文字数が少ないなどデータ量が小さい文字コードセットの文字を非圧縮のフォントデータとして格納することができる。従って、フォントデータの使用頻度やデータ量に応じて圧縮されたフォントデータと非圧縮のフォントデータを使い分けることにより、フォントデータを格納する記憶領域の容量を効果的に抑え、かつ、データの伸張処理に伴う遅延を確実に防止できる。さらに、文字コードに基づき文字コードセットを特定することで、使用するフォントデータが圧縮されたフォントデータか非圧縮のフォントデータかを速やかに判定できる。
【０００８】
上記記録装置において、前記対応情報記憶手段は、前記不揮発性メモリーの記憶領域の一部に前記対応情報を記憶する構成とすることができる。
この構成によれば、圧縮フォントデータを格納した不揮発性メモリーの一部に対応情報が記憶されるので、圧縮フォントデータが格納されたアドレスを容易に特定し、速やかに読み出すことができる。
【０００９】
上記記録装置において、前記不揮発性メモリーとは別に設けられたメモリーを備え、前記圧縮データ処理手段は、前記メモリーに形成された前記ワークエリアに前記不揮発性メモリーから読み出した前記圧縮フォントデータをコピーして伸張する構成とすることができる。
この構成によれば、不揮発性メモリーとは別のメモリーをワークエリアとして用いる構成において、伸張処理に伴う遅延を防止でき、不揮発性メモリーおよびワークエリアの容量を抑えることができる。
【００１０】
また、上記目的を達成するために、本発明は、記録手段と、文字毎に圧縮フォントデータを格納した不揮発性メモリーとを備えた記録装置を制御して、記録可能な文字の文字コードと、各文字コードに対応する文字の前記圧縮フォントデータが格納された前記不揮発性メモリーにおける格納アドレスと、を対応づける対応情報に基づいて、記録対象の文字の文字コードに対応する前記圧縮フォントデータの格納アドレスを取得し、取得した格納アドレスに従って前記圧縮フォントデータを読み出し、読み出した前記圧縮フォントデータをワークエリアで伸張し、伸張したデータに基づいて前記記録手段を制御して文字を記録すること、を特徴とする。
本発明によれば、不揮発性メモリーに圧縮して格納されたフォントデータが文字毎に圧縮されているので、記録する文字のフォントデータを文字毎に読み出して伸張することができる。このため、必要な文字の分だけデータを伸張するので伸張処理に伴う遅延を防止でき、また、圧縮フォントデータを格納する不揮発性メモリーおよび伸張したフォントデータを格納するワークエリアの容量を抑えることができる。
【発明の効果】
【００１１】
本発明によれば、圧縮されたフォントデータの伸張処理に伴う遅延を防止でき、また、圧縮フォントデータを格納する不揮発性メモリーおよび伸張したフォントデータを格納するワークエリアの容量を抑えることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る印刷システムの構成を示すブロック図である。
【図２】ＲＯＭの構成を模式的に示す図である。
【図３】プリンターの動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明を適用した実施形態に係る印刷システム１の構成を示すブロック図である。
図１に示す印刷システム１は、ホストコンピューター１０とプリンター２０（記録装置）とを相互に通信可能に接続し、ホストコンピューター１０が出力するデータに基づいてプリンター２０により印刷物を出力するシステムである。
ホストコンピューター１０は、図示しないＣＰＵ、ＲＯＭ、ＲＡＭ等を備えて構成され、プログラムを実行してホストコンピューター１０の各部を中枢的に制御する制御部１１を備えている。制御部１１は、オペレーティングシステム１２を実行し、ホストコンピューター１０の各部及びプリンター２０を制御し、オペレーティングシステム１２上でアプリケーションプログラム１４を実行することにより、文書作成や印刷データの管理等の機能を実現する。アプリケーションプログラム１４は、プリンター２０により印刷する印刷ジョブを生成する。この印刷ジョブは、印刷される文字、画像等のデータと、文字や画像のサイズ及びレイアウト（文字間マージン、改行量、改行位置等を含む）、印刷物の上下左右の端に設けられるマージン量等を指定する各種のデータと、印刷実行を指示するデータ等を含む。
【００１４】
オペレーティングシステム１２は、ホストコンピューター１０に接続されたプリンターを制御するプリンタードライバー１３を有する。プリンタードライバー１３は、ホストコンピューター１０に組み込まれたプログラムであり、アプリケーションプログラム１４が出力した印刷ジョブに含まれるデータを解析し、プリンターが解釈可能な各種のコマンドと、印刷される文字の文字コードや画像データ等の印刷データを生成して、プリンターに出力する。プリンタードライバー１３は、プリンター２０の仕様に合わせて用意されたものであってもよいし、様々なプリンターに共通して使用される汎用のデバイスドライバープログラムであってもよい。
一方、プリンター２０は、後述するように印刷する文字のフォントデータを内蔵しており、プリンタードライバー１３が出力する印刷データに含まれる文字コードに対応するフォントデータを読み出して、印刷する。
【００１５】
本実施形態では、ホストコンピューター１０が実行するアプリケーションプログラム１４が、半角英数字（alphanumeric）と漢字（簡体字）とが混在した印刷ジョブを生成可能であり、オペレーティングシステム１２の一部を構成するプリンタードライバー１３が、半角英数字をＡＳＣＩＩコードで、漢字をＧＢ１８０３０規格の文字コードで表す印刷データを生成する場合を例に挙げて説明する。
【００１６】
ホストコンピューター１０は、プリンター２０等の外部の機器が接続されるインターフェイス（Ｉ／Ｆ）１５と、アプリケーションプログラム１４により作成されたデータ等を表示画面に表示する表示制御部１６と、オペレーターが操作するキーボードやマウス等の入力デバイスの操作を検出する入力検出部１７とを備えている。インターフェイス１５は、ＵＳＢ、ＲＳ−２３２Ｃ、Ｅｔｈｅｒｎｅｔ（登録商標）などの各種規格に準拠したコネクター及びインターフェイス回路を備え、ケーブルを介してプリンター２０等の機器に接続される。一方、プリンター２０は、ケーブルを介してホストコンピューター１０に接続されるインターフェイス（Ｉ／Ｆ）２８を備えている。インターフェイス２８は、ＵＳＢ、ＲＳ−２３２Ｃ、Ｅｔｈｅｒｎｅｔ（登録商標）などの各種規格に準拠したコネクター及びインターフェイス回路を備えて構成される。なお、インターフェイス１５及びインターフェイス２８を、アンテナやＲＦ回路を有する無線通信インターフェイスとして構成してもよく、この場合、ホストコンピューター１０とプリンター２０とは無線通信回線により接続される。
本実施形態では、ホストコンピューター１０とプリンター２０とが１対１で接続される構成を例に挙げて説明するが、一つのホストコンピューター１０に対して複数のプリンター２０を接続することも、プリンター２０に複数のホストコンピューター１０を接続することも可能である。
【００１７】
また、プリンター２０は、ＣＰＵ或いはマイコン等によりプログラムを実行して、プリンター２０の各部を中枢的に制御する制御部２１を備えている。
制御部２１は、後述するＲＯＭ３１に記憶された制御プログラム３２を読み出して実行することにより、起動制御部２２、印刷データ取得部２３、データ判定部２４、圧縮データ取得部２５、伸張処理部２６、および印刷制御部２７として機能する。
制御部２１には、各種データやプログラムを不揮発的に記憶するＲＯＭ３１（不揮発性メモリー）、および、制御部２１がデータを処理するワークエリアを形成するＲＡＭ３７（メモリー）が接続されている。
また、プリンター２０は、制御部２１の制御により印刷を実行する印刷ユニット４１（記録手段）を備えている。印刷ユニット４１は、記録媒体としての紙やシートを搬送する搬送モーター４２と、搬送モーター４２により搬送される記録媒体に文字や画像を印刷する印刷ヘッド４３と、印刷ヘッド４３により印刷された記録媒体を切断するカッターユニット４４とを備えている。本実施形態では、一例として、プリンター２０の筐体の内部または外部に感熱ロール紙をセット可能であり、印刷ヘッド４３が、感熱ロール紙に熱を与えて印刷を行うサーマルヘッドであるものとする。
【００１８】
ＲＯＭ３１は、ＥＥＰＲＯＭ、フラッシュＲＯＭ等の書き換え可能な不揮発性記憶素子により構成される。ＲＯＭ３１は、制御部２１が実行する制御プログラム３２を記憶する。また、ＲＯＭ３１は、印刷ユニット４１により印刷する文字のフォントデータを格納する圧縮データ格納領域３３および非圧縮データ格納領域３４を有する。圧縮データ格納領域３３には圧縮されたフォントデータが格納され、非圧縮データ格納領域３４にはフォントデータが非圧縮の状態で格納されている。ＲＯＭ３１は、圧縮データインデックス３５（対応情報）を記憶する対応情報記憶手段に相当する。
また、ＲＡＭ３７は、ＤＲＡＭ、ＳＤＲＡＭ、ＲＤＲＡＭ、ＦｅＲＡＭ、ＭＲＡＭ等を含む半導体メモリー素子により構成され、制御部２１がデータを処理するワークエリアを形成する。ＲＡＭ３７に形成されるワークエリアには、制御部２１が圧縮されたフォントデータを伸張するフォント伸張領域３８、および、非圧縮データ格納領域３４に格納された非圧縮のフォントデータをコピーするための非圧縮データ格納領域３９が設けられる。
【００１９】
図２は、ＲＯＭ３１の構成を模式的に示す図であり、（Ａ）はＲＯＭ３１における格納領域の構成を示す模式図であり、（Ｂ）は圧縮データインデックス３５の模式図である。
図２（Ａ）に示すように、圧縮データ格納領域３３には、プリンター２０が印刷可能な文字のフォントデータ３１Ａが、圧縮された状態で格納されている。これらのフォントデータ３１Ａは、印刷ユニット４１がロール紙に文字を形成するためのデータであり、例えばビットマップフォントのビットマップデータやアウトラインフォントのデータである。フォントデータ３１Ａは１文字単位で圧縮された形態で圧縮データ格納領域３３に格納されており、文字毎にフォントデータ３１Ａを読み出し、伸張することが可能である。例えば、本実施形態ではプリンター２０はＧＢ１８０３０規格に準拠した文字を印刷可能であるから、ＧＢ１８０３０に含まれる多数の文字のうち必要な文字のフォントデータ３１Ａを、１文字単位で圧縮データ格納領域３３から読み出すことができる。制御部２１は、圧縮データ格納領域３３に格納された多数のフォントデータ３１Ａから必要な文字のフォントデータ３１Ａを読み出し、図２（Ａ）に示すようにＲＡＭ３７に設けられたフォント伸張領域３８にコピーして、伸張およびラスタライズの処理を施す。これにより、フォントデータ３１Ａは、印刷ユニット４１により印刷可能な形態のフォントデータ３１Ｂに変換される。
【００２０】
一方、非圧縮データ格納領域３４には、非圧縮の状態、すなわち圧縮されていないフォントデータ３４Ａが格納されている。本実施形態のプリンター２０は上記のＧＢ１８０３０コードの文字の他に、ＡＳＣＩＩコードの文字を印刷可能である。ＡＳＣＩＩコードの文字のフォントデータは、ビットマップフォント、アウトラインフォントのいずれも、漢字に比べるとデータ量が大きくない。このため、非圧縮データ格納領域３４には、ＡＳＣＩＩコードの文字のフォントデータ３４Ａが圧縮されずに、印刷可能な状態で格納されている。非圧縮データ格納領域３４に格納されたフォントデータ３４Ａは、プリンター２０の起動時に制御部２１によって読み出されて、図２（Ａ）に示すようにＲＡＭ３７に設けられた非圧縮データ格納領域３９にコピーされる。このフォントデータ３４Ａは、印刷ユニット４１により印刷可能な形態である。
【００２１】
圧縮データインデックス３５は、圧縮データ格納領域３３に圧縮されて格納されている各文字のフォントデータ３１Ａについて、文字コードと、圧縮データ格納領域３３におけるアドレス（格納アドレス）とを対応づけるデータである。圧縮データインデックス３５には、アドレスを示すデータとして、圧縮データ格納領域３３にフォントデータ３１Ａが格納された領域の先頭アドレスとデータサイズを示すデータが含まれる。圧縮データインデックス３５は、圧縮データ格納領域３３に格納された全ての文字のフォントデータ３１Ａに対応するデータを含んでいる。従って、圧縮データ格納領域３３にフォントデータ３１Ａが格納されている全ての文字について、その文字のフォントデータ３１Ａを圧縮データインデックス３５に従って文字毎に読み出すことができる。
【００２２】
図１に示すように、制御部２１が備える起動制御部２２（非圧縮データ処理手段）は、プリンター２０の起動時にプリンター２０の各部を初期化する一連の起動時処理を実行する。この起動時処理で、起動制御部２２は、ＲＡＭ３７のデータのクリア、印刷ユニット４１の機械部分や各種センサーの初期化等を実行する。さらに、起動制御部２２は、ＲＯＭ３１の非圧縮データ格納領域３４に記憶されたフォントデータ３４Ａ（図２（Ａ））を読み出し、非圧縮データ格納領域３９にコピーする。これにより、ＡＳＣＩＩコードの文字については、印刷可能な状態となる。
印刷データ取得部２３は、インターフェイス２８を介してホストコンピューター１０が送信する印刷コマンド、印刷データ、及び、その他の制御コマンド等の入力データを取得する。
データ判定部２４（判定手段）は、印刷データ取得部２３が取得した印刷データに含まれる文字コードを抽出し、各文字コードに対応する文字のフォントデータが、圧縮データ格納領域３３に格納された圧縮フォントデータであるか、ＲＡＭ３７に格納されたフォントデータ３４Ａであるかを判定する。データ判定部２４は、印刷データから抽出した文字コードがどの文字コードセットに含まれるコードかを特定する。本実施形態では、データ判定部２４は、印刷データに含まれる文字コードがＡＳＣＩＩコードかＧＢ１８０３０コードかを特定する。そして、データ判定部２４は、抽出した文字コードがＡＳＣＩＩコードである場合は、印刷に使用するデータが非圧縮データ格納領域３９にコピーされたフォントデータ３４Ａであると判定し、ＧＢ１８０３０コードである場合は、印刷を実行するために使用するデータが、圧縮データ格納領域３３に格納されたフォントデータ３１Ａであると判定する。
【００２３】
圧縮データ取得部２５は、データ判定部２４によって圧縮データ格納領域３３に格納されたフォントデータ３１Ａを使用すると判定された場合に、判定された文字コードに基づいて圧縮データインデックス３５を参照する。圧縮データ取得部２５は、圧縮データインデックス３５において文字コードに対応づけられている先頭アドレスおよびデータサイズに従って、圧縮データ格納領域３３から該当する文字のフォントデータ３１Ａを読み出し、フォント伸張領域３８にコピーする。
伸張処理部２６は、圧縮データ取得部２５によりフォント伸張領域３８にコピーされたフォントデータ３１Ａを、所定のアルゴリズムに従って伸張する処理を行う。
これら圧縮データ取得部２５および伸張処理部２６は、本発明の圧縮データ処理手段に相当する。
【００２４】
印刷制御部２７（記録制御手段）は、印刷データ取得部２３が取得した印刷コマンド及び印刷データに基づいて、印刷ユニット４１を制御することにより、印刷を実行する。ここで、印刷制御部２７は、印刷データに含まれる文字のフォントデータとして、フォント伸張領域３８で伸張されたフォントデータ３１Ｂ、又は、非圧縮データ格納領域３９に格納されているフォントデータ３４Ａを読み出して、印刷ヘッド４３により印刷させる。なお、印刷制御部２７は、ＲＡＭ３７に設けられた印刷バッファーに、印刷するページの印刷イメージを形成し、この印刷イメージを印刷ヘッド４３により印刷してもよく、この場合、フォント伸張領域３８または非圧縮データ格納領域３９から取得したフォントデータを印刷コマンドに従って配置することで印刷イメージを生成する。
【００２５】
図３は、プリンター２０の動作を示すフローチャートである。
プリンター２０の電源スイッチが投入されると、起動制御部２２が起動時処理を実行し（ステップＳ１１）、プリンター２０の各部を初期化する。続いて、起動制御部２２は、ＲＯＭ３１に記憶されたフォントデータ３４ＡをＲＡＭ３７の非圧縮データ格納領域３９にコピーし、格納する（ステップＳ１２）。
その後、制御部２１は、ホストコンピューター１０から送信される印刷コマンドおよび印刷データの入力を待機し、印刷コマンドおよび印刷データを受信すると（ステップＳ１３）、印刷データ取得部２３が印刷コマンドおよび印刷データを取得し、取得された印刷データからデータ判定部２４が文字コード列を抽出する（ステップＳ１４）。ここで、印刷データからデータ判定部２４が抽出する文字コード列を構成する文字数に制限はなく、１文字であってもよい。
【００２６】
データ判定部２４は、抽出した文字コード列から１文字分の文字コードを取得し（ステップＳ１５）、取得した文字コードの文字コードセットを特定する（ステップＳ１５）。本実施形態の例では、データ判定部２４は、取得した文字コードがＡＳＣＩＩコードかＧＢ１８０３０コードかを特定する。データ判定部２４は、特定した文字コードセットがＡＳＣＩＩコードかＧＢ１８０３０コードかに基づき、その文字コードに対応してプリンター２０が有するフォントデータが、フォントデータ３１Ａかフォントデータ３４Ａかを判定する（ステップＳ１７）。
【００２７】
データ判定部２４が、印刷に使用するフォントデータが、圧縮データ格納領域３３に格納されている圧縮されたフォントデータ３１Ａであると判定した場合（ステップＳ１７；Ｙｅｓ）、圧縮データ取得部２５が、文字コードに基づいて圧縮データインデックス３５を参照し、圧縮データ格納領域３３から１文字分のフォントデータ３１Ａを読み出して、フォント伸張領域３８にコピーする（ステップＳ１８）。次に、伸張処理部２６が、フォント伸張領域３８にコピーされたフォントデータ３１Ａを伸張してラスタライズする処理を実行し、フォントデータ３１Ｂを生成する（ステップＳ１９）。
その後、印刷制御部２７が、処理後のフォントデータ３１Ｂをフォント伸張領域３８から取得して、ＲＡＭ３７のワークエリアに設けられる印刷バッファーに格納し、この文字を印刷コマンドに従って印刷ユニット４１により印刷する（ステップＳ２１）。
制御部２１は、データ判定部２４が印刷データから抽出した文字コード列中の全ての文字コードについて処理が完了したか否かを判定し（ステップＳ２２）、処理が完了した場合は（ステップＳ２２；Ｙｅｓ）、本処理を終了する。また、未処理の文字コードがある場合は（ステップＳ２２；Ｎｏ）、ステップＳ１５に戻って次の文字コードを処理する。
【００２８】
一方、データ判定部２４が、印刷に使用するフォントデータを、非圧縮データ格納領域３９に格納されている非圧縮のフォントデータ３４Ａであると判定した場合（ステップＳ１７；Ｎｏ）、印刷制御部２７は、非圧縮データ格納領域３９中のフォントデータ３４Ａから該当する１文字のフォントデータを取得し（ステップＳ２３）、ステップＳ２０に移行して、取得したフォントデータを印刷バッファーに格納する。
【００２９】
以上説明したように、本発明を適用した実施形態に係るプリンター２０によれば、印刷ユニット４１と、文字毎にフォントデータ３１Ａを格納した圧縮データ格納領域３３を有するＲＯＭ３１とを備え、ＲＯＭ３１に、文字コードと各文字コードに対応する文字のフォントデータ３１ＡがＲＯＭ３１に格納された格納アドレスとを対応づける圧縮データインデックス３５を記憶し、この圧縮データインデックス３５に基づいて、印刷対象の文字の文字コードに対応するフォントデータ３１Ａの格納アドレスを取得し、取得した格納アドレスに従ってフォントデータ３１Ａを読み出す圧縮データ取得部２５と、圧縮データ取得部２５が取得したフォントデータ３１Ａをフォント伸張領域３８で伸張する伸張処理部２６と、伸張処理部２６により伸張されたデータに基づいて、印刷ユニット４１を制御して記録対象の文字を記録する印刷制御部２７とを備えている。このプリンター２０によれば、圧縮して格納されたフォントデータが文字毎に圧縮されてＲＯＭ３１に記憶されているので、記録する文字のフォントデータを文字毎に読み出して伸張することができる。このため、必要な文字の分だけデータを伸張するので伸張処理に伴う遅延を防止でき、また、フォントデータ３１Ａを記憶するＲＯＭ３１および伸張したフォントデータ３１Ｂを記憶するフォント伸張領域３８の容量を抑えることができる。
【００３０】
また、ＲＯＭ３１の非圧縮データ格納領域３４には、フォントデータ３１Ａの文字とは別の文字のフォントデータ３４Ａが非圧縮状態で格納され、プリンター２０は、所定のタイミング、例えばプリンター２０の起動時にＲＯＭ３１に格納された非圧縮のフォントデータ３４Ａを読み出してフォント伸張領域３８にコピーして記憶させる起動制御部２２と、印刷対象の文字の文字コードに対応するフォントデータが、圧縮データ格納領域３３に記憶されたフォントデータ３１Ａであるか非圧縮データ格納領域３４に非圧縮状態で記憶されたフォントデータ３４Ａであるかを判定するデータ判定部２４とを備え、圧縮データ取得部２５は、データ判定部２４によって印刷対象の文字の文字コードに対応するフォントデータがフォントデータ３１Ａであると判定された場合に、ＲＯＭ３１から文字毎にフォントデータ３１Ａを読み出し、印刷制御部２７は、データ判定部２４の判定に従って、伸張されたフォントデータ３１Ｂ、および、起動制御部２２によりフォント伸張領域３８に格納された非圧縮のフォントデータ３４Ａに基づいて印刷を行う。これにより、プリンター２０は、圧縮してＲＯＭ３１に格納されたフォントデータ３１Ａと、非圧縮でＲＯＭ３１に格納されたフォントデータ３４Ａとを使い分けることができる。具体的には、フォントデータ３１Ａは文字毎にＲＯＭ３１から読み出して伸張して記録し、非圧縮のフォントデータ３４Ａはフォント伸張領域３８に所定のタイミングで格納して、印刷に供する。従って、フォントデータの使用頻度やデータ量に応じて、ＲＯＭ３１に圧縮して格納するか非圧縮でＲＡＭ３７に格納するかを適宜使い分けることができ、フォントデータを格納するＲＯＭ３１およびＲＡＭ３７の記憶領域の容量を効果的に抑えることができ、かつ、フォントデータの伸張処理に伴う遅延を防止できる。
【００３１】
また、ＲＯＭ３１には、異なる複数の文字コードセットに対応するフォントデータが格納され、一部の文字コードセットであるＧＢ１８０３０コードに対応するフォントデータは圧縮されてフォントデータ３１Ａとして格納され、一部の文字コードセットであるＡＳＣＩＩコードに対応するフォントデータは非圧縮のフォントデータ３４ＡとしてＲＯＭ３１に格納される。そして、データ判定部２４は、印刷データに含まれる印刷対象の文字の文字コードについて、その文字コードを含む文字コードセットを特定することにより、その文字コードに対応するフォントデータがフォントデータ３１ＡとしてＲＯＭ３１に格納されているか、非圧縮のフォントデータ３４Ａとしてフォント伸張領域３８に格納されているかを判定する。このため、文字コードセット毎に、圧縮されたフォントデータ３１Ａと非圧縮のフォントデータ３４Ａとを使い分けることができる。例えば、ＧＢ１８０３０コードのように文字数が多くデータ量が多い文字コードセットの文字については圧縮してＲＯＭ３１に格納し、ＡＳＣＩＩコードのように文字数が少なくデータ量が小さい文字コードセットの文字は、非圧縮のフォントデータ３４ＡとしてＲＯＭ３１に格納すればよい。従って、フォントデータの使用頻度やデータ量に応じて、圧縮・非圧縮を使い分けることにより、フォントデータを格納するＲＯＭ３１およびＲＡＭ３７の記憶領域の容量を効果的に抑え、かつ、データの伸張処理に伴う遅延を確実に防止できる。さらに、文字コードに基づき文字コードセットを特定することで、使用するフォントデータがフォントデータ３１Ａかフォントデータ３４Ａかを速やかに判定できる。
【００３２】
さらに、圧縮データインデックス３５がＲＯＭ３１に記憶されているので、圧縮データ取得部２５によってフォントデータ３１Ａが格納されたアドレスを容易に特定し、速やかに読み出すことができる。さらにまた、ＲＯＭ３１とは別に設けられたＲＡＭ３７に形成されたフォント伸張領域３８に、圧縮データ格納領域３３から読み出されたフォントデータ３１Ａをコピーして伸張するので、伸張処理に伴う遅延を防止できる。
【００３３】
なお、上記実施形態は本発明を適用した一態様を示すものであって、本発明を限定するものではない。例えば、上記実施形態ではプリンター２０がＧＢ１８０３０コードの簡体字とＡＳＣＩＩコードの英数字とを印刷可能な構成を例に挙げて説明したが、プリンター２０を他の文字コードセットに対応させることも可能であり、複数の文字コードセットのフォントデータを圧縮して、圧縮データ格納領域３３に格納してもよく、複数の文字コードセットのフォントデータを非圧縮の状態で非圧縮データ格納領域３４に格納してもよい。また、非圧縮データ格納領域３４に格納された非圧縮のフォントデータ３４ＡをＲＡＭ３７にコピーするタイミングは、プリンター２０の起動時に限定されず、例えばプリンター２０がスリープ状態から復帰したとき、ホストコンピューター１０が送信するリセットコマンドに対応してプリンター２０がリセットを行った後、ホストコンピューター１０からプリンター２０に対してフォントデータの読み出しを指示するコマンドを送信し、このコマンドをプリンター２０が受信したときなどに行ってもよい。
また、上述した実施形態ではサーマルヘッドにより感熱ロール紙に印刷する印刷ユニット４１を備えた構成を例に挙げて説明したが、本発明はこれに限定されるものではなく、印刷ユニット４１は、インクジェット式のプリンターであってもよいし、ドットインパクト式プリンター、レーザープリンター、その他の各種プリンターとしてもよい。さらに、図１に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。さらに、制御部１１及び制御部２１は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、図３のフローチャートに係る動作を含む各種動作を実行する構成としてもよい。
【符号の説明】
【００３４】
２０…プリンター（データ処理装置、記録装置）、２１…制御部、２２…起動制御部（非圧縮データ処理手段）、２３…印刷データ取得部、２４…データ判定部（判定手段）、２５…圧縮データ取得部（圧縮データ処理手段）、２６…伸張処理部（圧縮データ処理手段）、２７…印刷制御部（記録制御手段）、３１…ＲＯＭ（不揮発性メモリー、対応情報記憶手段）、３１Ａ…フォントデータ（圧縮フォントデータ）、３１Ｂ…フォントデータ、３３…圧縮データ格納領域、３４…非圧縮データ格納領域、３４Ａ…フォントデータ（非圧縮のフォントデータ）、３５…圧縮データインデックス（対応情報）、３７…ＲＡＭ（メモリー）、３８…フォント伸張領域（ワークエリア）、３９…非圧縮データ格納領域（ワークエリア）、４１…印刷ユニット（記録手段）。
【図１】
2014012354.tif 000003
【図２】
2014012354.tif 000004
【図３】
2014012354.tif 000005