IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特開-プリンタ 図1
  • 特開-プリンタ 図2
  • 特開-プリンタ 図3
  • 特開-プリンタ 図4
  • 特開-プリンタ 図5
  • 特開-プリンタ 図6
  • 特開-プリンタ 図7
  • 特開-プリンタ 図8
  • 特開-プリンタ 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024155012
(43)【公開日】2024-10-31
(54)【発明の名称】プリンタ
(51)【国際特許分類】
   B41J 5/30 20060101AFI20241024BHJP
【FI】
B41J5/30 Z
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023069343
(22)【出願日】2023-04-20
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】中島 健志郎
【テーマコード(参考)】
2C187
【Fターム(参考)】
2C187AC06
2C187AC08
2C187AD14
2C187BG03
2C187BG24
2C187BG26
(57)【要約】
【課題】印刷データで指定されたフォントに対応するフォントファイルを簡単に特定することができる技術を提供すること。
【解決手段】プリンタ1は、メモリ12に、複数のグリフデータファイル30と、引き当て情報40とを記憶可能である。引き当て情報40は、フォントを特定するための情報であって印刷データに含まれる可能性があるフォント名やフォントIDと、グリフデータファイル30とを関連付けた情報である。CPU11は、印刷データを取得し、取得された印刷データからフォント名またはフォントIDを取得し、複数のグリフデータファイル30のうち、印刷データから取得されたフォント名またはフォントIDに関連付けられた1つのグリフデータファイル30を、引き当て情報40によって特定する。プリンタ1は、特定されたグリフデータファイル30を用いて、テキストを描画できる。
【選択図】図1
【特許請求の範囲】
【請求項1】
メモリと、
印刷エンジンと、
コントローラと、
を備えるプリンタであって、
前記メモリには、
複数のフォントファイルと、
引き当て情報と、を記憶可能であり、前記引き当て情報は、フォントを特定するための特定情報と、1つの前記フォントファイルと、を関連付けた情報であり、前記特定情報は、印刷データに含まれる可能性がある情報であり、
前記コントローラは、
印刷データを取得する第1取得処理と、
前記第1取得処理にて取得された前記印刷データから、前記特定情報を取得する第2取得処理と、
複数の前記フォントファイルのうち、前記引き当て情報によって、前記第2取得処理にて取得された前記特定情報に関連付けられた1つの前記フォントファイルを特定する特定処理と、
前記特定処理にて特定された前記フォントファイルを用いて、テキストを描画する描画処理と、
を実行可能である、
ように構成されるプリンタ。
【請求項2】
請求項1に記載するプリンタであって、
前記特定処理では、
前記第2取得処理にて取得された前記特定情報を前記引き当て情報から検索し、前記特定情報が検索された場合に、複数の前記フォントファイルのうち、検索された前記特定情報に関連付けられた1つの前記フォントファイルを特定する、
ように構成されるプリンタ。
【請求項3】
請求項1に記載するプリンタであって、
前記特定情報は、フォントに対応付けられたフォント名であり、
前記引き当て情報は、前記フォント名と、1つの前記フォントファイルと、を関連付けた情報であり、
前記第2取得処理では、
前記第1取得処理にて取得された前記印刷データに含まれる前記フォント名を、前記特定情報として取得し、
前記特定処理では、
複数の前記フォントファイルのうち、前記引き当て情報によって、前記第2取得処理にて取得された前記フォント名に関連付けられた1つの前記フォントファイルを特定する、
ように構成されるプリンタ。
【請求項4】
請求項3に記載するプリンタであって、
1つの前記フォントファイルは、
前記フォント名としての第1フォント名と、
前記フォント名としての第2フォント名であって、前記第1フォント名とは異なる前記第2フォント名と、を含み、
前記引き当て情報は、前記第1フォント名と、前記第2フォント名と、1つの前記フォントファイルと、を関連付けた情報であり、
前記特定処理では、
前記第2取得処理にて取得された前記フォント名が、前記第1フォント名または前記第2フォント名の場合に、複数の前記フォントファイルのうち、前記引き当て情報によって、前記第1フォント名または前記第2フォント名に関連付けられた1つの前記フォントファイルを特定する、
ように構成されるプリンタ。
【請求項5】
請求項1に記載するプリンタであって、
前記特定情報は、フォントに対応付けられたフォントIDであり、
前記引き当て情報は、前記フォントIDと、1つの前記フォントファイルと、を関連付けた情報であり、
前記第2取得処理では、
前記第1取得処理にて取得された前記印刷データに含まれる前記フォントIDを、前記特定情報として取得し、
前記特定処理では、
複数の前記フォントファイルのうち、前記引き当て情報によって、前記第2取得処理にて取得された前記フォントIDに関連付けられた1つの前記フォントファイルを特定する、
ように構成されるプリンタ。
【請求項6】
請求項1に記載するプリンタであって、
前記特定情報は、
フォントに対応付けられたフォント名である場合と、
フォントに対応付けられたフォントIDである場合と、があり、
前記引き当て情報は、前記フォント名および前記フォントIDと、1つの前記フォントファイルと、を関連付けた情報であり、
前記第2取得処理では、
前記第1取得処理にて取得された前記印刷データに含まれるフォント名またはフォントIDを、前記特定情報として取得し、
前記特定処理では、
複数の前記フォントファイルのうち、前記引き当て情報によって、前記第2取得処理にて取得された前記フォント名または前記フォントIDに関連付けられた1つの前記フォントファイルを特定する、
ように構成されるプリンタ。
【請求項7】
請求項1に記載するプリンタであって、
前記メモリには、
1つの前記フォントファイルごとに、対応する1つの前記引き当て情報を記憶可能であり、
前記特定処理では、
前記フォントファイルごとの前記引き当て情報に基づいて、、複数の前記フォントファイルのうち、前記第2取得処理にて取得された前記特定情報に関連付けられた1つの前記フォントファイルを特定する、
ように構成されるプリンタ。
【請求項8】
請求項1に記載するプリンタであって、
前記コントローラは、
1つの前記フォントファイルを前記メモリに記憶する記憶処理と、
前記記憶処理にて記憶された1つの前記フォントファイルからフォント名を読み出す第1読出し処理と、
前記記憶処理にて記憶された1つの前記フォントファイルに対応するフォントIDを決定する第1決定処理と、
前記第1読出し処理にて読み出された前記フォント名と、前記第1決定処理にて決定された前記フォントIDと、前記記憶処理にて記憶された1つの前記フォントファイルと、を関連付けた前記引き当て情報を作成し、作成された前記引き当て情報を前記メモリに保存する第1作成処理と、
を実行可能である、
ように構成されるプリンタ。
【請求項9】
請求項8に記載するプリンタであって、
前記記憶処理では、
1つの前記フォントファイルを受信して前記メモリに記憶し、
前記コントローラは、
前記記憶処理による1つの前記フォントファイルの受信に伴って、前記第1読出し処理、前記第1決定処理、および前記第1作成処理を実行する、
ように構成されるプリンタ。
【請求項10】
請求項1に記載するプリンタであって、
前記コントローラは、
前記メモリに記憶されている複数の前記フォントファイルの中から1つの前記フォントファイルの選択を受け付ける選択処理と、
前記選択処理にて選択された1つの前記フォントファイルからフォント名を読み出す第2読出し処理と、
前記選択処理にて選択された1つの前記フォントファイルに対応するフォントIDを決定する第2決定処理と、
前記第2読出し処理にて読み出された前記フォント名と、前記第2決定処理にて決定された前記フォントIDと、前記選択処理にて選択された1つの前記フォントファイルと、を関連付けた前記引き当て情報を作成し、作成された前記引き当て情報を前記メモリに保存する第2作成処理と、
を実行可能である、
ように構成されるプリンタ。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、ページ記述言語で記述された印刷データに基づく印刷が可能なプリンタに関する。
【背景技術】
【0002】
従来、ページ技術言語で記述された印刷データに基づく印刷が可能なプリンタには、例えば特許文献1に開示されているように、内蔵フォントのフォント情報をあらかじめ記憶して、そのフォント情報を印刷に用いるものがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2014-56583号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
プリンタは、印刷データにて指定されたフォントでテキストを描画するために、その指定されたフォントに対応するフォントファイルを特定する必要がある。このフォントファイルの特定にかかる手続きが煩雑になることは処理の遅延を招くことから好ましくない。特許文献1に開示されている技術では、指定されたフォントに対応するフォントファイルを特定するための処理については記載が無く、改善の余地がある。
【課題を解決するための手段】
【0005】
この課題の解決を目的としてなされたプリンタは、メモリと、印刷エンジンと、コントローラと、を備えるプリンタであって、前記メモリには、複数のフォントファイルと、引き当て情報と、を記憶可能であり、前記引き当て情報は、フォントを特定するための特定情報と、1つの前記フォントファイルと、を関連付けた情報であり、前記特定情報は、印刷データに含まれる可能性がある情報であり、前記コントローラは、印刷データを取得する第1取得処理と、前記第1取得処理にて取得された前記印刷データから、前記特定情報を取得する第2取得処理と、複数の前記フォントファイルのうち、前記引き当て情報によって、前記第2取得処理にて取得された前記特定情報に関連付けられた1つの前記フォントファイルを特定する特定処理と、前記特定処理にて特定された前記フォントファイルを用いて、テキストを描画する描画処理と、を実行可能である、ように構成される。
【0006】
本明細書に開示されるプリンタは、フォントの特定情報とフォントファイルとを関連付けた引き当て情報を記憶可能である。プリンタは、取得した印刷データから特定情報を取得し、記憶している引き当て情報によって、その取得された特定情報に関連付けられたフォントファイルを特定する。これにより、プリンタは、印刷データに指定されたフォントに対応するフォントファイルを簡単に特定でき、処理の遅延を抑制できる。
【0007】
上記プリンタを含む印刷システム、プリンタの機能を実現するための制御方法、コンピュータプログラム、当該プログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【0008】
本明細書に開示される技術によれば、印刷データで指定されたフォントに対応するフォントファイルを簡単に特定することができる技術が実現される。
【図面の簡単な説明】
【0009】
図1】プリンタの概略構成を示すブロック図である。
図2】DLフォント保存処理の手順を示すフローチャートである。
図3】グリフデータファイルの構成の例を示す説明図である。
図4】引き当て情報の構成の例を示す説明図である。
図5】フォント管理画面の例を示す説明図である。
図6】印刷処理の手順を示すフローチャートである。
図7】印刷データがPDF形式の場合のフォント特定処理の手順を示すフローチャートである。
図8】印刷データがPCL5形式の場合のフォント特定処理の手順を示すフローチャートである。
図9】引き当て情報保存処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、実施の形態にかかるプリンタについて、添付図面を参照しつつ詳細に説明する。本実施の形態は、ページ記述言語で記述された印刷データに基づく印刷が可能なプリンタを開示するものである。
【0011】
プリンタ1は、図1に示すように、CPU11と、メモリ12と、を含む制御部10を備えている。また、プリンタ1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、印刷エンジン15と、を備えている。CPU11は、コントローラの一例である。ユーザIF13と通信IF14と印刷エンジン15とは、いずれも、制御部10に電気的に接続されている。なお、図1中の制御部10は、プリンタ1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にプリンタ1に存在する単一のハードウェアを表すとは限らない。
【0012】
CPU11は、メモリ12から読み出したプログラムに従って、または、ユーザの操作に基づいて、各種の処理を実行する。メモリ12には、各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。メモリ12は、CPU11が備えるバッファを含んでも良い。
【0013】
なお、メモリ12の一例は、プリンタ1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体であっても良い。CPU11が読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバ100などからダウンロードされるプログラムを搬送する電気信号は、CPU11が読み取り可能な媒体の一種であるが、メモリ12の一例には含まれない。
【0014】
ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。ユーザIF13は、タッチパネルを含んでも良いし、表示部と操作ボタンとの組み合わせであっても良い。
【0015】
通信IF14は、外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USBなどである。プリンタ1は、複数の通信規格に対応する複数の通信IF14を備えていても良い。
【0016】
印刷エンジン15は、例えば、電子写真方式、インクジェット方式、によって、画像データに基づく印刷を実行可能なデバイスを含む。印刷エンジン15は、複数色の着色材を備えてカラー印刷を実行可能なものであっても良いし、1色のみの着色材を備えて単色印刷を行うものであっても良い。
【0017】
なお、プリンタ1は、通信IF14を介して、例えば、図1に示すように、サーバ100やパーソナルコンピュータ(以下、「PC」とする)200等の外部装置と通信可能である。サーバ100やPC200は、フォントの情報を記憶している可能性がある。サーバ100やPC200に記憶されるフォントの情報は、例えば、トゥルータイプフォント、オープンタイプフォント、ポストスクリプトフォント、の形式の情報である。
【0018】
プリンタ1のメモリ12には、例えば、図1に示すように、印刷制御プログラム21と、DLフォントA情報22と、DLフォントB情報23と、が記憶されている。DLフォントA情報22とDLフォントB情報23とは、ダウンロードフォント(以下、「DLフォント」とする)の情報である。DLフォントは、プリンタ1があらかじめ備えるフォントではないフォントである。DLフォントの情報は、プリンタ1の工場出荷時にはメモリ12に記憶されていない。なお、プリンタ1は、DLフォントとは別に、工場出荷時にあらかじめメモリ12に記憶されている内蔵フォントの情報を備えていても良い。
【0019】
プリンタ1は、ユーザの指示に基づいて、サーバ100やPC200等の外部デバイスからDLフォントの情報を取得してメモリ12に記憶できる。そして、プリンタ1は、DLフォントの情報がメモリ12に記憶されていれば、そのDLフォントを印刷に利用できる。また、ユーザは、例えば、DLフォントの情報が記憶されているUSBメモリをプリンタ1に接続することで、プリンタ1にそのDLフォントを利用させることができる。
【0020】
DLフォントA情報22は、DLフォントの1つであるフォントAに関する情報である。DLフォントA情報22は、フォントAのグリフデータファイル221と、引き当て情報222と、を含む。DLフォントB情報23は、フォントAとは異なるDLフォントであるフォントBに関する情報である。DLフォントB情報23は、フォントBのグリフデータファイル231と、引き当て情報232と、を含む。グリフデータファイル221、231は、フォントファイルの一例である。各情報の詳細については、後述する。
【0021】
次に、実施の形態のプリンタ1の動作について説明する。なお、以下の処理は、基本的に、プログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、オペレーティングシステム(以下、「OS」とする)のAPIを介したハードウェア制御も含む。本明細書では、OSの記載を省略して各プログラムの動作を説明する場合がある。また、「取得」は、要求して取得する場合と要求せずに取得する場合とを含む概念で用いる。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。
【0022】
まず、DLフォント保存処理の手順について、図2のフローチャートを参照して説明する。DLフォント保存処理は、DLフォントの情報の保存を指示するPJLコマンドを受信したことに応じて、プリンタ1のCPU11にて実行される。PJLコマンドは、印刷を含まない各種の処理をプリンタ1に実行させるためのコマンドである。プリンタ1は、例えば、PC200から送信される所定のPJLコマンドによって、DLフォントの情報を受信できる。
【0023】
PC200は、例えば、図1に示すように、プリンタ1に対応するフォント管理プログラム201を備えている。PC200は、フォント管理プログラム201を利用したユーザの操作に基づいて、DLフォントの情報の保存を指示するためのPJLコマンドをプリンタ1に送信することができる。PC200から送信されるPJLコマンドには、保存先のパスを示す情報やDLフォントの情報を含むバイナリデータが含まれる。PC200におけるPJLコマンドの送信手順の詳細については、後述する。
【0024】
プリンタ1のCPU11は、受信したPJLコマンドがDLフォントの情報の保存を指示するPJLコマンドである場合、まず、保存先のパスを示す情報を取得する(S101)。そして、CPU11は、保存先のパスを示す情報に続いて送信されるバイナリデータを取得する(S102)。
【0025】
S102にて取得されるバイナリデータには、フォントIDと、トゥルータイプフォント形式のグリフデータファイルと、が含まれる。フォントIDは、DLフォントごとに設定される識別番号である。フォントIDは、ヒューレットパッカード(登録商標)によって提供されるPCL5形式の印刷データに基づいて、文字を印刷する際に、利用するフォントを特定するために利用される情報である。印刷時の手順については、後述する。
【0026】
グリフデータファイルは、そのDLフォントにおける各文字のグリフデータを含むファイルである。グリフデータは、各文字のアウトラインを示す情報である。例えば、図3に示すように、トゥルータイプフォント形式のグリフデータファイル30は、名前テーブル31と、文字テーブル32と、グリフテーブル34と、を含む。なお、グリフデータファイル30は、さらに、各文字について、印字位置を示す情報や文字幅を示す情報を含んでいても良い。
【0027】
名前テーブル31は、このDLフォントに対応付けられた名前であるフォント名を示す情報である。フォントの名前は、PDF形式の印刷データに基づいて、文字を印刷する際に、フォントを特定するために利用される情報である。なお、1種類のフォントについて、例えば、大文字と小文字の使い分け、スペースやハイフン等の記号の有無、によって、複数の名前が設定されている場合がある。その場合、名前テーブル31には、このフォントを特定することのできる複数種類の名前が全て含まれる。
【0028】
文字テーブル32は、各文字を示す文字コードと当該文字のグリフデータの記憶場所と、を文字ごとに関連付けたテーブルである。なお、文字テーブル32は、文字コードとグリフデータとを関連付けることのできる情報であればよく、1つのテーブルで表される情報に限らず、例えば、複数のテーブルの組み合わせであっても良い。
【0029】
グリフテーブル34は、複数の文字のグリフデータ341、342などの複数のグリフデータを格納するテーブルである。プリンタ1は、文字の印刷を示す描画オブジェクトが印刷データに含まれている場合、該当する文字のグリフデータを用いて、その文字の形状を取得する。
【0030】
図2のDLフォント保存処理の説明に戻る。CPU11は、バイナリデータからフォントIDを取得する(S111)。S111は、第1決定処理の一例である。なお、プリンタ1は、すでにメモリ12に記憶されているDLフォントの情報に利用されているフォントIDと、同じフォントIDを受け付けない。受信したPJLコマンドから取得されたフォントIDが、すでにメモリ12に記憶されているフォントIDと同じ数値であった場合、プリンタ1は、例えば、エラーを報知してDLフォント保存処理を終了するとしても良い。
【0031】
さらに、CPU11は、バイナリデータに含まれるグリフデータファイル30から、名前テーブル31を特定する(S112)。そして、CPU11は、名前テーブル31に含まれる全ての名前を取得する(S113)。S113は、第1読出し処理の一例である。さらに、CPU11は、取得された名前の個数を取得する(S114)。
【0032】
CPU11は、S101にて取得した保存先のパスを示す情報に基づいて、DLフォントの情報を保存するディレクトリを作成する(S121)。そして、CPU11は、作成したディレクトリに、取得したグリフデータファイル30を記憶する(S122)。S122は、記憶処理の一例である。なお、CPU11は、グリフデータファイル30を印刷に利用し易いように加工して記憶しても良い。
【0033】
CPU11は、保存したグリフデータファイル30に対応する引き当て情報を作成する(S125)。引き当て情報は、印刷データにDLフォントの利用が指定されている場合に、利用するグリフデータファイル30を特定するための情報である。
【0034】
例えば、図4に示すように、グリフデータファイル30に対応する引き当て情報40は、フォントID41と、名前候補の数42と、名前候補の数42に対応する個数の名前候補データ43、44と、を含む。なお、図4に示す引き当て情報40は、名前テーブル31に2種類の名前が含まれていた場合の例である。つまり、引き当て情報40の名前候補の数42は「2」である。さらに、引き当て情報40には、第1の名前候補データ43と、第2の名前候補データ44と、が含まれている。
【0035】
引き当て情報40に含まれるフォントID41は、DLフォント保存処理のS111にて取得した数値である。名前候補の数42は、S114にて取得した名前の個数である。グリフデータファイル30の名前テーブル31にフォントの名前が複数種類含まれる場合、引き当て情報40は、複数の名前候補データを含む。さらに、名前候補の数42は、2以上の数となる。
【0036】
引き当て情報40に含まれる第1の名前候補データ43は、フォントの名前の文字数と、文字列と、を含む。第1の名前候補データ43の文字列は、S113にて取得したフォントの名前を示す情報である。第1の名前候補データ43の文字列は、第1フォント名の一例である。また、引き当て情報40に含まれる第2の名前候補データ44は、フォントの名前の文字数と、文字列と、を含む。第2の名前候補データ44の文字列は、S113にて取得したフォントの名前を示す情報である。第2の名前候補データ44の文字列は、第2フォント名の一例である。
【0037】
図2のDLフォント保存処理の説明に戻る。CPU11は、作成した引き当て情報40を、メモリ12に保存して(S126)、DLフォント保存処理を終了する。S125とS126とは、第1作成処理の一例である。
【0038】
CPU11は、S126にて、例えば、S121にて作成したディレクトリに、グリフデータファイル30とは別のファイルとして引き当て情報40を保存する。つまり、プリンタ1は、1つのグリフデータファイル30ごとに、1つの引き当て情報40を作成する。その後、プリンタ1は、作成した1つの引き当て情報40を、グリフデータファイル30と同じディレクトリに保存する。つまり、プリンタ1は、引き当て情報40を、対応するグリフデータファイル30と関連付けて、メモリ12に保存する。このようにすることで、すでにメモリ12に記憶されている他のフォントの引き当て情報に影響を与える可能性が小さい。
【0039】
次に、PC200において、DLフォントの情報の保存を指示するPJLコマンドを、プリンタ1に送信する手順について説明する。PC200が備えるフォント管理プログラム201は、ユーザの指示に基づいて、例えば、図5に示すように、フォント管理画面50をPC200のディスプレイに表示させることができる。フォント管理プログラム201は、例えば、プリンタ1の管理者権限を有するユーザによって実行される。
【0040】
このフォント管理画面50は、例えば、PC200に接続されているプリンタのDLフォントの情報を管理する指示を受け付ける画面である。フォント管理プログラム201は、フォント管理画面50にて、PC200のメモリに記憶されているDLフォントのグリフデータファイル30を、プリンタ1に転送する指示を受け付け可能である。
【0041】
フォント管理画面50では、PC200は、転送対象となるDLフォントについて、ファイル名51と、フォント名52と、フォントID53と、の入力を受け付け可能である。ファイル名51は、PC200に記憶されているグリフデータファイル30を示す情報である。
【0042】
フォント名52は、PC200において各DLフォントを管理するための名前である。フォント名52は、グリフデータファイル30の名前テーブル31(図3参照)に含まれるフォントの名前と同じであっても良いし、異なっていても良い。PC200のフォント管理プログラム201は、例えば、フォント名52によって指定された名前に基づいて、保存先のパスを示す情報を作成する。フォントID53は、このフォントを識別するフォントIDである。
【0043】
さらに、フォント管理画面50には、管理対象のプリンタの指定を受け付けるプリンタ指定欄54が含まれる。PC200は、フォント管理プログラム201に従って、プリンタ指定欄54にて指定されたプリンタと通信し、当該プリンタにすでに保存されているDLフォントの情報を取得する。例えば、プリンタ指定欄54にて指定されたプリンタがプリンタ1であれば、フォント管理プログラム201には、図5に示すように、保存済みフォントの情報55として、フォントAと、フォントBと、が表示される。そして、フォント管理プログラム201は、フォントID53として、保存済みフォントの情報55に含まれるフォントのフォントIDと同じ数値を受け付けない。
【0044】
PC200は、フォント管理画面50にて転送ボタン56への操作を受け付けた場合、フォント管理プログラム201に基づいてPJLコマンドを作成して送信する。具体的には、PC200は、フォント名52に基づいて作成した保存先のパスを示す情報と、フォントID53にて受け付けたフォントIDと、ファイル名51に指定されたファイルのデータと、を含むPJLコマンドを作成する。その後、PC200は、作成したPJLコマンドを、プリンタ指定欄54にて指定されたプリンタ、例えば、プリンタ1に送信する。なお、フォント管理プログラム201は、保存先のパスの情報をフォント名52に基づいて作成する代わりに、フォント管理画面50にて受け付けても良い。
【0045】
PC200から送信されるPJLコマンドを受信することにより、プリンタ1は、前述したDLフォント保存処理を実行する。これにより、プリンタ1は、ファイル名51に指定されたファイルのデータを受信してグリフデータファイル30としてメモリ12に記憶する。さらに、プリンタ1は、このグリフデータファイル30に対応する引き当て情報40を作成してメモリ12に記憶する。
【0046】
なお、フォント管理プログラム201は、フォント管理画面50の保存済みフォントの情報55に含まれるフォントの情報を、プリンタ1から削除する指示を受け付け可能であっても良い。削除の指示を受け付けた場合、フォント管理プログラム201は、削除を指示するPJLコマンドを作成して、プリンタ1に送信する。
【0047】
次に、プリンタ1にて実行される印刷処理の手順について、図6のフローチャートを参照して説明する。この印刷処理は、印刷ジョブの実行指示を受け付けたことを契機に、印刷制御プログラム21に基づいて、プリンタ1のCPU11にて実行される。なお、プリンタ1は、印刷ジョブを、通信IF14を介して外部装置から受信して取得しても良いし、通信IF14に装着されたUSBメモリから読み出して取得しても良い。
【0048】
CPU11は、処理対象の印刷ジョブからPJLデータを取得する(S201)。印刷ジョブには、PJLデータとPDLデータとが含まれる。PJLデータは、印刷に関する各種のパラメータを示すデータである。PDLデータは、印刷対象の画像を示すデータである。PDLデータは、例えば、PCL、PDF等の形式のページ記述言語で記述されるデータである。
【0049】
CPU11は、PJLデータに基づいてPDLデータの形式を特定できる。そして、CPU11は、PDLデータの形式に基づいて、印刷に用いるグリフデータファイル30を特定するための情報の種類を決定する。具体的には、PDLデータがPDF形式であれば、CPU11は、フォントの名前に基づいて、グリフデータファイル30を特定する。また、PDLデータがPCL5形式であれば、CPU11は、フォントIDを用いて、グリフデータファイル30を特定する。
【0050】
CPU11は、印刷データであるPDLデータを取得する(S202)。S202は、第1取得処理の一例である。そして、CPU11は、取得した印刷データに基づいて、印刷対象の文字のフォントを特定するための情報を取得したか否かを判断する(S203)。例えば、PDF形式の印刷データにてフォント辞書を取得した場合、あるいは、PCL5形式の印刷データにてフォントID設定コマンドまたはフォントID選択コマンドを取得した場合、CPU11は、フォントを特定するための情報を取得したと判断する。
【0051】
フォントを特定するための情報を取得したと判断した場合(S203:YES)、CPU11は、フォント特定処理を実行する(S204)。フォント特定処理の手順について、図7および図8のフローチャートを参照して説明する。図7のフローチャートは、印刷データがPDF形式の場合のフォント特定処理の手順である。図8のフローチャートは、印刷データがPCL5形式の場合のフォント特定処理の手順である。
【0052】
印刷データがPDF形式の場合、CPU11は、フォント辞書を取得したことでフォントを特定するための情報を取得したと判断し(S203にてYES)、S204に進んで、図7に示すフォント特定処理を実行する。
【0053】
図7に示すフォント特定処理では、CPU11は、フォント辞書の解析を開始する(S311)。そして、CPU11は、印刷に利用されるフォントのフォント情報がフォント辞書に埋め込まれているか否かを判断する(S312)。
【0054】
フォント辞書にフォントの情報が埋め込まれていると判断した場合(S312:YES)、CPU11は、その埋め込まれているフォント情報のフォントを、印刷に利用するフォントとして特定する(S318)。そして、CPU11は、フォント辞書からフォントの情報を読み出す。この場合、以後の手順において、CPU11は、フォント辞書から読み出したフォントの情報を用いてグリフデータを取得する。
【0055】
一方、フォント情報が埋め込まれていないと判断した場合(S312:NO)、CPU11は、フォント辞書からフォントを指定するフォント名の情報を取得する(S313)。フォント名は、特定情報の一例である。S313は、第2取得処理の一例である。
【0056】
そして、CPU11は、メモリ12に記憶されている全ての引き当て情報222、232等に含まれる全ての名前候補から、S313にて取得したフォント名を検索する(S314)。具体的には、CPU11は、全ての引き当て情報222、232等に含まれる名前候補を順に読み出し、読み出した名前候補が、S313にて取得した検索対象のフォント名と一致するか否かを確認する。
【0057】
そして、CPU11は、メモリ12に記憶されている引き当て情報222、232等の名前候補の文字列の中に、検索対象のフォント名と一致する文字列が有るか否かを判断する(S315)。フォント名と一致する文字列が有ると判断した場合(S315:YES)、CPU11は、フォント名が一致した引き当て情報40に対応するグリフデータファイル30を特定し、そのグリフデータファイル30を印刷に利用する情報として特定する(S318)。
【0058】
具体的には、CPU11は、フォント名が一致した引き当て情報40と同じディレクトリに記憶されているグリフデータファイル30を、印刷に利用する情報として特定する。この場合のS318は、特定処理の一例である。以後の手順において、CPU11は、S318にて特定したグリフデータファイル30から、グリフデータを取得する。
【0059】
なお、引き当て情報40に複数種類の名前候補の文字列が含まれる場合、それらのいずれか1つが検索対象のフォント名と一致していれば、CPU11は、その引き当て情報40のフォント名が一致したと判断する。例えば、図4に示したように、引き当て情報40に2つの名前候補データ43、44が記憶されている場合、検索対象のフォント名が、名前候補データ43の文字列に一致していても、名前候補データ44の文字列に一致していても、CPU11は、引き当て情報40のフォント名が一致したと判断する。1つのグリフデータファイル30に複数の名前が含まれる場合、引き当て情報40に複数の名前を含ませている。そのため、CPU11は、どのフォント名で指定された場合にも、同じグリフデータファイル30を特定できる。
【0060】
つまり、プリンタ1は、印刷データに含まれるフォント名を取得し、引き当て情報40からそのフォント名を検索することでグリフデータファイル30を特定する。これにより、プリンタ1は、例えば、各グリフデータファイル30を読み出して、各グリフデータファイル30からそれぞれフォント名を抽出して順に検索する場合と比較して、速やかにグリフデータファイル30を特定できる。
【0061】
引き当て情報222、232等の名前候補の文字列の中に、検索対象のフォント名と一致する文字列が無いと判断した場合(S315:NO)、CPU11は、代替フォントが有るか否かを判断する(S316)。この場合の代替フォントは、PDF形式の印刷データに利用可能なフォントである。プリンタ1は、例えば、内蔵フォントの1つとして、PDF形式の印刷データに利用可能なフォントの情報を備えていてもよい。
【0062】
代替フォントが有ると判断した場合(S316:YES)、CPU11は、その代替フォントを、印刷に利用するフォントとして特定する(S318)。この場合、以後の手順において、CPU11は、代替フォントのフォント情報からグリフデータを取得する。
【0063】
一方、フォントの情報が埋め込まれておらず、一致するフォント名が引き当て情報に無く、代替フォントが無いと判断した場合(S316:NO)、CPU11は、適切なフォントの情報が無いことから、エラーを報知すると決定する(S319)。この場合、CPU11は、フォントの情報を取得できず、適切に文字を印刷できないことから、エラーとする。
【0064】
S318またはS319の後、CPU11は、フォント特定処理を終了して、印刷処理(図6)に戻る。
【0065】
一方、印刷データがPCL5形式の場合、CPU11は、フォントID設定コマンドまたはフォントID選択コマンドを取得したことでフォントを特定するための情報を取得したと判断し(図6のS203にてYES)、S204に進んで、図8に示すフォント特定処理を実行する。
【0066】
図8に示すフォント特定処理では、CPU11は、印刷処理のS203にてフォントID設定コマンドを取得したか否かを判断する(S321)。フォントID設定コマンドは、印刷データにフォント情報が埋め込まれている場合に、その埋め込みフォントにフォントIDを設定するための情報である。つまり、フォントID設定コマンドを取得した場合、利用するフォントのフォント情報は、印刷データに埋め込まれている可能性が高い。
【0067】
フォントID設定コマンドを取得したと判断した場合(S321:YES)、CPU11は、印刷データに埋め込まれているフォント情報を取得して、そのフォント情報に、フォントID設定コマンドによって設定されたフォントIDを設定する(S322)。
【0068】
S322の後、または、フォントID設定コマンドを取得していないと判断した場合(S321:NO)、CPU11は、フォントID選択コマンドを取得したか否かを判断する(S323)。フォントID選択コマンドは、フォントIDを含み、そのフォントIDによって示されるフォントを印刷に利用することを指示するコマンドである。フォントID選択コマンドに含まれるフォントIDは、特定情報の一例である。S323は、第2取得処理の一例である。
【0069】
フォントID選択コマンドを取得したと判断した場合(S323:YES)、CPU11は、メモリ12に記憶されている全ての引き当て情報222、232等に含まれるフォントID、および、S322にて設定したフォントID、の中から、フォントID選択コマンドにて指定されたフォントIDを検索する(S324)。具体的には、CPU11は、全ての引き当て情報222、232等に含まれるフォントIDを順に読み出し、読み出したフォントIDが、S323にて取得した検索対象のフォントIDと一致するか否かを確認する。
【0070】
そして、CPU11は、メモリ12に記憶されている引き当て情報222、232等に含まれるフォントID、または、S322にて設定したフォントID、の中に検索対象のフォントIDが有るか否かを判断する(S325)。フォントIDが有ると判断した場合(S325:YES)、CPU11は、フォントIDに基づいて印刷に利用するフォントを特定する(S328)。
【0071】
具体的には、CPU11は、検索対象のフォントIDが、引き当て情報40に含まれるフォントIDと一致した場合、その引き当て情報40と同じディレクトリに記憶されているグリフデータファイル30を、印刷に利用する情報として特定する。この場合のS328は、特定処理の一例である。また、CPU11は、検索対象のフォントIDが、S322にて設定したフォントIDと一致した場合、S322に取得したフォント情報を、印刷に利用する情報として特定する。以後の手順において、CPU11は、S328にて特定したフォントの情報からグリフデータを取得する。
【0072】
プリンタ1は、印刷データのフォントID選択コマンドからフォントIDを取得し、引き当て情報40からそのフォントIDを検索することでグリフデータファイル30を特定する。これにより、フォントが埋め込まれずフォントIDが設定されている印刷データであっても、プリンタ1は、その印刷データで指定されたフォントIDに対応するグリフデータファイル30を簡単に特定できる。
【0073】
一方、フォントID選択コマンドを取得していないと判断した場合(S323:NO)、CPU11は、代替フォントが有るか否かを判断する(S326)。この場合の代替フォントは、PCL5形式の印刷データに利用可能なフォントである。プリンタ1は、例えば、内蔵フォントの1つとして、PCL5形式の印刷データに利用可能なフォントの情報を備えていてもよい。
【0074】
代替フォントが有ると判断した場合(S326:YES)、CPU11は、その代替フォントを印刷に利用するフォントとして特定する(S328)。この場合、以後の手順において、CPU11は、代替フォントのフォント情報からグリフデータを取得する。
【0075】
検索対象のフォントIDと一致するフォントIDが無いと判断した場合(S325:NO)、または、代替フォントが無いと判断した場合(S326:NO)、CPU11は、適切なフォントの情報が無いことから、エラーを報知すると決定する(S329)。この場合、CPU11は、フォントの情報を取得できず、適切に文字を印刷できないことから、エラーとする。
【0076】
S328またはS329の後、CPU11は、フォント特定処理を終了して、印刷処理(図6)に戻る。
【0077】
図6の印刷処理の手順の説明に戻る。S204のフォント特定処理の後、CPU11は、フォントを特定できたか否かを判断する(S205)。S204のフォント特定処理では、CPU11は、印刷データがPDF形式であれば、フォント名を用いてフォントを検索し、印刷データがPCL5形式であれば、フォントIDを用いてフォントを検索する。引き当て情報40にフォント名とフォントIDとの両方の情報が記憶され、その引き当て情報40が1つのグリフデータファイル30に関連付けられているので、印刷データの形式がいずれであっても、グリフデータファイル30を簡単に特定できる。
【0078】
フォントを特定できた、すなわち、グリフデータファイル30や埋め込みフォントのグリフデータなど、利用するグリフデータを特定できたと判断した場合(S205:YES)、CPU11は、S202に進んで、さらに印刷データを取得する。
【0079】
一方、フォントを特定できず、エラーを報知すると決定した場合(S205:NO)、CPU11は、エラーを報知して(S206)、印刷処理を終了する。フォント特定処理のS319またはS329にてエラーを報知すると決定した場合、CPU11は、S205にてNOと判断する。
【0080】
フォントの種類を特定するための情報を取得していないと判断した場合(S203:NO)、CPU11は、S202にて取得した印刷データに基づいて、描画オブジェクトを取得したか否かを判断する(S211)。描画オブジェクトを取得したと判断した場合(S211:YES)、CPU11は、取得した描画オブジェクトが文字の描画を示すテキストオブジェクトであるか否かを判断する(S212)。
【0081】
テキストオブジェクトを取得したと判断した場合(S212:YES)、CPU11は、文字の描画に用いるフォントを特定ずみであるか否かを判断する(S213)。CPU11は、S204にてフォント特定処理を実行ずみであって、フォントの情報が特定されているか否かを判断する。
【0082】
フォントを特定ずみであると判断した場合(S213:YES)、CPU11は、特定されているフォントの情報を用いて、文字の中間データを生成する(S214)。具体的には、CPU11は、グリフデータファイル30が特定されている場合には、そのグリフデータファイル30から、印刷データに指定されている文字コードに対応するグリフデータを取得し、取得したグリフデータを用いて文字の中間データを生成する。S214は、描画処理の一例である。
【0083】
テキストオブジェクトではないと判断した場合(S212:NO)、CPU11は、描画オブジェクトに基づいて、文字以外の中間データを生成する(S215)。S214またはS215の後、CPU11は、S202に進んで、さらに印刷データを取得する。
【0084】
なお、テキストオブジェクトを取得したにもかかわらず、フォントが特定されていないと判断した場合(S213:NO)、CPU11は、印刷処理を終了する。CPU11は、エラーを報知しても良い。
【0085】
フォントを特定するための情報も描画オブジェクトも取得していないと判断した場合(S211:NO)、CPU11は、S202にて取得した印刷データに基づいて、ページの終端を示すページ終端コマンドを取得したか否かを判断する(S221)。ページ終端コマンドを取得していないと判断した場合(S221:NO)、S202に進んで、CPU11は、さらに印刷データを取得する。
【0086】
ページ終端コマンドを取得したと判断した場合(S221:YES)、CPU11は、生成した中間データに基づいて、1ページ分のラスタデータを生成する(S222)。さらに、CPU11は、生成したラスタデータを印刷エンジン15に渡す(S223)。印刷エンジン15は、ラスタデータに基づいて、1ページ分の印刷を実行する。
【0087】
そして、CPU11は、ジョブ終了コマンドを取得したか否かを判断する(S231)。ジョブ終了コマンドではなく、次のページの印刷データを取得したと判断した場合(S231:NO)、S202に進み、CPU11は、取得した印刷データに基づく処理をさらに実行する。ジョブ終了コマンドを取得したと判断した場合(S231:YES)、CPU11は、印刷処理を終了する。
【0088】
次に、引き当て情報保存処理の手順について、図9のフローチャートを参照して説明する。引き当て情報保存処理は、メモリ12に記憶されているグリフデータファイル30に対応する引き当て情報40の作成指示を、ユーザIF13や通信IF14を介して受け付けたことを契機に、プリンタ1のCPU11にて実行される。なお、図9および以下の説明では、図2に示したDLフォント保存処理と同様の手順については、同じ符号を付して、説明を簡略化する。
【0089】
プリンタ1は、PC200から送信されるPJLコマンドに代えて、グリフデータファイル30のみを外部装置から取得することもできる。プリンタ1は、例えば、通信IF14に装着されたUSBメモリから読み出して、あるいは、通信IF14を介してサーバ100からダウンロードすることで、グリフデータファイル30を取得できる。そして、プリンタ1は、外部装置から取得したグリフデータファイル30がメモリ12に記憶されていれば、そのグリフデータファイル30に対応する引き当て情報40の作成指示を受け付け可能である。なお、引き当て情報40の作成指示は、フォント管理プログラム201などのアプリケーションプログラムによって、PJLコマンドとして送信されても良い。
【0090】
引き当て情報保存処理では、CPU11は、メモリ12に記憶されているグリフデータファイル30から、引き当て情報40の作成対象となるグリフデータファイル30の選択を受け付ける(S401)。S401は、選択処理の一例である。なお、CPU11は、S401にて選択されたグリフデータファイル30に対応する引き当て情報40が作成済みであれば、エラーを報知しても良い。
【0091】
そして、CPU11は、選択されたグリフデータファイル30の名前テーブル31を特定し(S112)、名前テーブル31に含まれる全ての名前を取得する(S113)。この場合のS113は、第2読出し処理の一例である。さらに、CPU11は、取得された名前の個数を取得する(S114)。
【0092】
CPU11は、メモリ12に記憶されている他のグリフデータファイル30に対応する引き当て情報40に含まれる全てのフォントIDを取得する(S402)。さらに、CPU11は、例えば、ユーザIF13を介して、作成対象の引き当て情報40に含ませるフォントIDの指定を受け付ける(S403)。S403は、第2決定処理の一例である。S403では、CPU11は、S402にて取得したフォントIDと同じフォントIDを受け付けない。また、CPU11は、S403にて決定したフォントIDの情報を、プリンタ1に接続されているPC200に送信して、フォント管理プログラム201などのアプリケーションプログラムと共有しても良い。
【0093】
なお、S403では、CPU11は、ユーザによるフォントIDの指定を受け付ける代わりに、S402にて取得したフォントID以外のフォントIDを、自動的に設定しても良い。その場合、CPU11は、決定したフォントIDをユーザIF13を介して報知しても良い。
【0094】
そして、CPU11は、作成対象のグリフデータファイル30に対応する引き当て情報40を作成する(S125)。さらに、CPU11は、作成した引き当て情報40を、メモリ12に保存して(S126)、引き当て情報保存処理を終了する。この場合のS125とS126とは、第2作成処理の一例である。
【0095】
プリンタ1は、引き当て情報40の作成指示を受け付け可能であるので、例えば出荷後にグリフデータファイル30をダウンロードしてメモリ12に記憶しておき、その後にそのグリフデータファイル30に対応する引き当て情報40を作成できる。一方、図2に示したDLフォント保存処理によって、グリフデータファイル30を取得した際に引き当て情報40を作成して保存するとすれば、取得したグリフデータファイル30をすぐに印刷に利用し易い。
【0096】
なお、PC200は、グリフデータファイル30に対応する引き当て情報40を予め作成して、グリフデータファイル30と、そのグリフデータファイル30に対応する引き当て情報40と、をプリンタ1に送信しても良い。プリンタ1は、グリフデータファイル30と引き当て情報40とを受信した場合、それらを同じディレクトリに記憶しても良い。
【0097】
以上、詳細に説明したように、実施の形態のプリンタ1は、フォント名とフォントIDとを含む引き当て情報40を、グリフデータファイル30に関連付けて記憶しておき、印刷データから取得されたフォント名またはフォントIDを引き当て情報40から検索する。従って、プリンタ1は、引き当て情報40によって、印刷データから取得されたフォント名またはフォントIDに対応するグリフデータファイル30を簡単に特定でき、特定されたグリフデータファイル30を用いて、テキストを描画できる。その結果、プリンタ1によって印刷を実行する際の処理の遅延を抑制できる。
【0098】
なお、実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。従って本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、プリンタ1は、印刷単機能のものに限らず、複合機、複写機、FAX装置等、印刷機能を備えるものであれば適用可能である。
【0099】
また、図3に示したグリフデータファイル30や図4に示した引き当て情報40の構成は、いずれも一例であり、これに限らない。例えば、グリフデータファイル30には、さらに他の情報が含まれていても良い。例えば、引き当て情報40は、グリフデータファイル30に含まれても良い。ただし、引き当て情報40をグリフデータファイル30とは別のファイルとして記憶することで、大きいサイズのファイルであるグリフデータファイル30を、検索のたびに開く必要が無いことから、検索の処理が簡易で迅速なものとなる。
【0100】
また、実施の形態では、DLフォントごとにディレクトリを作成し、そのディレクトリに、そのフォントのグリフデータファイル30と引き当て情報40とを保存するとしたが、これに限らない。例えば、全てのDLフォントの引き当て情報40を、グリフデータファイル30とは別に、1つのディレクトリに保存しても良い。あるいは、全てのDLフォントの引き当て情報40を纏めて1つのファイルに保存しても良い。ただし、いずれの場合でも、各引き当て情報40には、その引き当て情報40に対応するグリフデータファイル30を特定するための情報が関連付けられている。
【0101】
また、プリンタ1は、埋め込みウェブサーバ機能を実現するためのプログラムやデータ(以下、「EWS」とする)を備えていても良い。そして、例えば、プリンタ1は、PJLコマンドに代えて、EWSを介して、DLフォントの情報を保存する指示や引き当て情報の作成指示を受け付け可能であっても良い。
【0102】
また、実施の形態では、1つのグリフデータファイル30に対して1つのフォントIDを設定するとしたが、1つのグリフデータファイル30に対して互いに異なる複数のフォントIDを設定することができても良い。その場合には、1つのグリフデータファイル30に対応する引き当て情報40にも、複数のフォントIDが記憶される。
【0103】
また、実施の形態では、印刷データに含まれるフォント名やフォントIDと一致する情報を引き当て情報40から検索するとしたが、完全に一致することは必須ではなく、1対1に対応していればよい。例えば、名前候補の文字列は、フォント名をかっこ等の記号で区切った情報として記憶されていても良い。また、名前候補の文字列の区切りを示す情報を設けることができても良く、その場合、名前候補の文字数の情報は、引き当て情報40に含まれなくても良い。
【0104】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0105】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されても良い。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0106】
1 プリンタ
11 CPU
12 メモリ
15 印刷エンジン
図1
図2
図3
図4
図5
図6
図7
図8
図9