(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】サポートプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240903BHJP
B41J 29/38 20060101ALI20240903BHJP
【FI】
G06F3/12 344
G06F3/12 328
G06F3/12 324
G06F3/12 332
G06F3/12 303
B41J29/38
(21)【出願番号】P 2021018027
(22)【出願日】2021-02-08
【審査請求日】2024-01-23
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】細溝 仁人
【審査官】木村 雅也
(56)【参考文献】
【文献】特開2013-037388(JP,A)
【文献】特開2007-148638(JP,A)
【文献】特開2013-020585(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
B41J 29/38
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応し、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して指示があった場合に、前記オペレーティングシステムから実行されるサポートプログラムであって、
前記コンピュータに、
前記プリンタによってサポートされる言語を示す言語情報を、取得する取得処理と、
前記汎用印刷プログラムに基づく印刷ジョブに対し、前記取得処理にて取得した前記言語情報に示される言語に対応する特定文字情報を設定する設定処理と、
を実行させる、
ことを特徴とするサポートプログラム。
【請求項2】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、前記設定処理を実行させ、
前記設定処理では、
前記印刷指示による前記印刷ジョブに設定された第1文字情報が、前記取得処理にて取得した前記言語情報に示される言語に対応しない場合に、前記第1文字情報を前記取得処理にて取得した前記言語情報に示される前記言語に対応する前記特定文字情報である第2文字情報に置き換える第1置換処理を実行することにより、前記印刷ジョブに対し、前記特定文字情報を設定する、
ことを特徴とするサポートプログラム。
【請求項3】
請求項2に記載するサポートプログラムであって、
第1言語の第1言語データと、前記第1言語と異なる第2言語の第2言語データとを対応付ける第1テーブルを備え、
前記第1置換処理では、
前記第1言語の前記第1文字情報を、前記第1テーブルを用いて、前記取得処理にて取得した前記言語情報に示される言語に対応する前記第2言語の前記第2文字情報に置き換える、
ことを特徴とするサポートプログラム。
【請求項4】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記汎用印刷プログラムに基づく前記印刷ジョブの印刷設定の入力操作を受け付ける設定画面を、前記情報処理装置のユーザインタフェースを用いて表示する設定画面表示処理を実行させ、
前記設定処理では、
前記設定画面において選択肢となる文字情報のうち、前記取得処理にて取得した前記言語情報に示される言語に対応しない非対応文字情報を、前記取得処理にて取得した前記言語情報に示される前記言語に対応する前記特定文字情報である対応文字情報に置き換える第2置換処理を実行することにより、前記印刷ジョブに対し、前記特定文字情報を設定する、
ことを特徴とするサポートプログラム。
【請求項5】
請求項4に記載するサポートプログラムであって、
第1言語の第1選択肢群と、前記第1言語と異なる第2言語の第2選択肢群とを備え、
前記第2置換処理では、
前記設定画面において選択可能な選択肢を、前記第1言語の前記第1選択肢群から、前記取得処理にて取得した前記言語情報に示される言語に対応する前記第2言語の前記第2選択肢群に置き換える、
ことを特徴とするサポートプログラム。
【請求項6】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記汎用印刷プログラムに基づく前記印刷ジョブの印刷設定の入力操作を受け付ける設定画面を、前記情報処理装置のユーザインタフェースを用いて表示する設定画面表示処理を実行させ、
前記設定処理では、
前記設定画面において選択肢となる文字情報を、前記取得処理にて取得した前記言語情報に示される前記言語に対応する前記特定文字情報に限定する限定処理を実行することにより、前記印刷ジョブに対し、前記特定文字情報を設定する、
ことを特徴とするサポートプログラム。
【請求項7】
請求項1から請求項6のいずれか1つに記載するサポートプログラムであって、
前記設定処理では、
前記汎用印刷プログラムに基づく前記印刷ジョブに対し、前記プリンタのユーザインタフェースによって表示される文字情報について、前記取得処理にて取得した前記言語情報に示される前記言語に対応する前記特定文字情報を設定する、
ことを特徴とするサポートプログラム。
【請求項8】
請求項1から請求項6のいずれか1つに記載するサポートプログラムであって、
前記設定処理では、
前記汎用印刷プログラムに基づく前記印刷ジョブに対し、前記プリンタによって印刷対象の画像に合成される画像に示される文字情報について、前記取得処理にて取得した前記言語情報に示される前記言語に対応する前記特定文字情報を設定する、
ことを特徴とするサポートプログラム。
【請求項9】
請求項1に記載するサポートプログラムであって、
前記設定処理では、
前記汎用印刷プログラムに基づく前記印刷ジョブに対し、印刷対象の画像に合成される画像に示される文字情報について、前記取得処理にて取得した前記言語情報に示される言語に対応しない場合、前記文字情報を前記取得処理にて取得した前記言語情報に示される前記言語に対応する前記特定文字情報に置き換える、
ことを特徴とするサポートプログラム。
【請求項10】
請求項1に記載するサポートプログラムであって、
前記設定処理では、
前記汎用印刷プログラムに基づく前記印刷ジョブに対し、印刷対象の画像に合成される画像に示される文字情報について、前記取得処理にて取得した前記言語情報に示される言語に対応しない場合、前記文字情報に基づく画像を印刷対象の前記画像に合成してラスタデータに変換し、変換後の画像データが、前記プリンタに送信される前記印刷ジョブに含まれ、前記プリンタでは、前記画像の合成を行わず、前記印刷ジョブに含まれる前記画像データに基づく印刷を行い、
前記汎用印刷プログラムに基づく前記印刷ジョブに対し、印刷対象の画像に合成される画像に示される前記文字情報について、前記取得処理にて取得した前記言語情報に示される言語に対応する場合、前記特定文字情報に基づく前記画像を印刷対象の前記画像に合成する処理を行わないことにより、前記印刷ジョブに含まれる前記文字情報を前記特定文字情報に設定し、前記特定文字情報が合成されていない画像データが、前記プリンタに送信される前記印刷ジョブに含まれ、前記プリンタでは、前記特定文字情報に基づく前記画像を印刷対象の前記画像に合成し、合成後の画像データに基づいて印刷を行う、
ことを特徴とするサポートプログラム。
【請求項11】
請求項1から請求項10のいずれか1つに記載するサポートプログラムであって、
前記コンピュータに、
前記オペレーティングシステムにて設定されているシステム言語情報を取得させ、取得された前記システム言語情報に示される言語が、前記取得処理にて取得した前記言語情報に示される言語に対応しない場合に、前記設定処理を実行させる、
ことを特徴とするサポートプログラム。
【請求項12】
請求項1から請求項11のいずれか1つに記載するサポートプログラムであって、
前記コンピュータに、
前記プリンタに関する所定の情報を有するウェブページにアクセスする指示を受け付けた場合に、言語ごとに異なるページが存在する前記ウェブページのうち、前記取得処理にて取得した前記言語情報に示される言語に対応する前記ウェブページのアクセス情報を取得し、取得した前記アクセス情報を用いて前記ウェブページにアクセスし、前記ウェブページを表示するための処理を行うウェブ表示処理を実行させる、
ことを特徴とするサポートプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムに関する。
【背景技術】
【0002】
従来、文字情報が設定された印刷ジョブに基づいて、プリンタによって印刷を行う技術が知られている。例えば特許文献1には、地紋印刷装置が、入力された原稿の言語を解析し、原稿の言語に合わせた文字列を取得し、取得した文字列を地紋として印刷対象の画像に付与し、印刷装置が、付与後の画像を示す印刷データに基づいて印刷を行う構成が開示されている。また、特許文献1には、プリンタドライバが印刷対象の画像に地紋を付与してプリンタに出力することも開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、プリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタとOS標準の印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の印刷プログラムによる印刷が可能になる。
【0005】
情報処理装置からプリンタを利用する場合、OSが使用する言語と、プリンタが使用する言語とが異なる場合がある。前述したOS標準の汎用印刷プログラムでは、言語の違いに応じた処理を行っていない。そのため、OS標準の汎用印刷プログラムに対して出力された印刷ジョブがプリンタに入力された際、その印刷ジョブをプリンタで適切に扱うことができない可能性がある。
【0006】
本明細書は、OS標準の汎用印刷プログラムが組み込まれた情報処理装置について、プリンタでサポートする言語との違いがあっても、印刷ジョブを適切に扱うことができる技術を開示する。
【課題を解決するための手段】
【0007】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応し、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して指示があった場合に、前記オペレーティングシステムから実行されるサポートプログラムであって、前記コンピュータに、前記プリンタによってサポートされる言語を示す言語情報を、取得する取得処理と、前記汎用印刷プログラムに基づく印刷ジョブに対し、前記取得処理にて取得した前記言語情報に示される言語に対応する特定文字情報を設定する設定処理と、を実行させる、ことを特徴としている。
【0008】
本明細書に開示されるサポートプログラムによれば、情報処理装置は、汎用印刷プログラムに基づく印刷ジョブに対し、プリンタでサポートされる言語に対応する特定文字情報を設定するので、プリンタでサポートされる言語の情報がプリンタに送られることになる。これにより、プリンタにおいて解読困難な文字情報が表示されたり、解読困難な文字情報が印刷されたりする可能性を低減できる。
【0009】
上記サポートプログラムが組み込まれた情報処理装置、サポートプログラムを格納するコンピュータにて読取可能な記憶媒体、及びサポートプログラムの機能を実現するための制御方法も、新規で有用である。
【発明の効果】
【0010】
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置について、プリンタでサポートする言語との違いがあっても、印刷ジョブを適切に扱うことができる技術が実現される。
【図面の簡単な説明】
【0011】
【
図1】PCの電気的構成の概略を示すブロック図である。
【
図2】各プログラムによる印刷設定受け付け手順の例を示すシーケンス図である。
【
図5】置き換え後の選択肢群の例を示す説明図である。
【
図6】置き換え後の選択肢群の例を示す説明図である。
【
図7】各プログラムによる印刷動作の手順の例を示すシーケンス図である。
【
図8】文字変換処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本形態のサポートプログラムを利用するパーソナルコンピュータ(以下、「PC」とする)について、添付図面を参照しつつ詳細に説明する。本明細書は、印刷機能を有するプリンタに接続されるPCにて実行されるサポートプログラムを開示する。
【0013】
本形態のPC1は、
図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。PC1は、情報処理装置の一例である。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、
図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
【0014】
CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12には、各種のアプリケーションプログラム(以下、「アプリ」とする)を含む、各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。なお、メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM等の記録媒体であっても良い。
【0015】
ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF13は、情報を表示可能なディスプレイと、入力受付機能を有するマウスやキーボード等と、の組であっても良いし、表示機能と入力受付機能とを備えるタッチパネルであっても良い。
【0016】
通信IF14は、プリンタ2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USBなどである。PC1は、複数の通信規格に対応する複数の通信IF14を備えていてもよい。なお、本形態のPC1は、通信IF14を介して、インターネット200に接続可能である。
【0017】
PC1のメモリ12には、
図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、編集アプリ43と、が記憶されている。補助プログラム42は、サポートプログラムの一例である。編集アプリ43は、アプリケーションプログラムの一例である。OS21は、例えば、Windows(登録商標)、macOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)である。
【0018】
汎用印刷プログラム41は、ユーザの指示に基づいて、プリンタ2等の各種のプリンタに印刷を実行させるためのOS標準のプログラムである。本形態の汎用印刷プログラム41は、印刷対象の画像データに基づいて、中間画像データを生成する機能を含むプログラムである。
【0019】
汎用印刷プログラム41は、各種のプリンタのベンダによって提供される複数種類のモデルのプリンタが共通に利用できる機能をサポートしている。汎用印刷プログラム41は、各種のプリンタが固有に備える機能の全てに対応するものではなく、サポートする機能は汎用的なものに限られる。
【0020】
補助プログラム42は、汎用印刷プログラム41の処理に付随してOS21からの指示に基づいて処理を実行するプログラムまたはプログラム群であり、対象のハードウェアの制御をサポートするアプリである。本形態の補助プログラム42は、PC1に接続されているプリンタ2のモデルに対応するものであり、例えば、汎用印刷プログラム41を使用してプリンタ2に印刷を実行させる指示を受け付けた場合に、汎用印刷プログラム41から起動される。補助プログラム42は、例えば、ハードウェアサポートアプリ(略称、HSA)と呼ばれる。
【0021】
補助プログラム42は、汎用印刷プログラム41から複数種の命令を受け付け可能であり、受け付けた命令に基づいて、各種の処理を実行する。なお、補助プログラム42は、それぞれが実行命令を受け付ける複数のプログラムの組み合わせであっても良いし、1つのプログラムであって命令に応じてそれぞれ異なる処理を実行できるプログラムであっても良い。
【0022】
補助プログラムは、プリンタのベンダによってプリンタのタイプごとに用意されるプログラムであっても良い。例えば、インクジェットプリンタ用の補助プログラムやレーザプリンタ用の補助プログラムが、それぞれ用意されても良い。PC1のOS21は、例えば、新たなプリンタがPC1に接続された場合、接続されたプリンタのタイプに応じて、適切な補助プログラムをサーバ等からダウンロードして自装置に組み込む。そして、OS21は、組み込んだ補助プログラムの識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ12に記憶させる。なお、プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラムが有っても良い。
【0023】
編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ43は、例えば、マイクロソフト(登録商標)製のワードやパワーポイントなどであっても良いし、プリンタ2のベンダから提供されるアプリであっても良い。編集アプリ43は、プリンタ2に所定の動作を行わせる指示を含むユーザ操作を受け付ける。具体的には、編集アプリ43は、ユーザIF13を介して、例えば、プリンタ2に印刷を実行させる印刷実行指示を受け付ける。
【0024】
本形態のプリンタ2は、印刷機能を有する装置である。PC1は、通信IF14を介して、プリンタ2と通信可能である。プリンタ2は、例えば、PC1等から印刷データを受信して、受信した印刷データに基づく印刷を実行する。
【0025】
本形態のプリンタ2は、
図1に示すように、CPUやメモリを含むコントローラ31と、ユーザIF33と、通信IF34と、印刷部35と、を備えている。ユーザIF33は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF33は、情報を表示可能なディスプレイと、入力受付機能を有するボタン等と、の組であっても良いし、表示機能と入力受付機能とを備えるタッチパネルであっても良い。通信IF34は、PC1等の外部装置と通信するためのハードウェアを含む。印刷部35は、印刷データに基づく画像をシート等に印刷する構成を含む。
【0026】
プリンタ2は、所定の1以上の言語をサポートしており、サポートしている言語の各文字を示す情報である文字情報に対応する文字画像の画像データを備えている。プリンタ2は、サポートしている言語の文字情報を適切な文字画像に変換できるが、サポートしていない言語の文字情報を適切な文字画像に変換できない。
【0027】
プリンタ2は、コントローラ31に含まれるメモリに、プリンタ2にて使用される1つの言語を示す情報である言語情報51を記憶している。言語情報51によって示される言語は、プリンタ2にてサポートされる言語である。プリンタ2は、メモリに予め言語情報51を記憶しており、例えば、ユーザの操作に基づいて、言語情報51を変更可能であってもよい。
【0028】
プリンタ2は、受け取ったデータに含まれる文字情報を、言語情報51に基づいて文字画像に変換する。プリンタ2は、例えば、ユーザIF33に表示する情報に文字情報が含まれる場合、印刷対象の画像データ中に文字情報が含まれる場合、印刷対象の画像データに対して文字情報に基づく画像を合成して印刷する指示が含まれる場合、に、言語情報51に基づく変換を行う。プリンタ2は、受け取ったデータの言語が言語情報51の言語と異なる場合、適切な文字画像に変換できない可能性がある。
【0029】
次に、本形態の補助プログラム42の動作を含む印刷設定を受け付ける手順について、
図2のシーケンス図を参照して説明する。
図2は、編集アプリ43等の印刷指示を受け付けるアプリにて、汎用印刷プログラム41を使用してプリンタ2に印刷させる印刷に関する印刷設定の指示を受け付けた場合の動作について示している。
【0030】
なお、本形態における処理およびフローチャートの各処理ステップは、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェア制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
【0031】
編集アプリ43は、ユーザの指示に基づいて、文章や図表等の作成や編集を受け付ける。編集アプリ43は、選択中の文章等の印刷に関する指示を受け付けると(A01)、ユーザによる指示を受け付けるための印刷画面をユーザIF13に表示する(A02)。編集アプリ43は、印刷画面にて、例えば、印刷実行指示、基本的な印刷設定の指示、詳細な印刷設定の受け付け開始の指示を受け付ける。
【0032】
編集アプリ43は、表示中の印刷画面にてプリンタ2が選択された状態で、詳細な印刷設定の受け付け開始の指示を受け付けた場合(A03)、受け付けた詳細設定指示の情報をOS21に渡す。OS21は、汎用印刷プログラム41を使用する印刷に関する詳細設定の指示を受け付けた場合、汎用印刷プログラム41を実行させ、汎用印刷プログラム41に詳細な印刷設定の受け付け開始指示を渡す(A04)。汎用印刷プログラム41は、詳細な印刷設定の受け付け開始指示を受け付けると、選択中のプリンタであるプリンタ2に対応する補助プログラム42に詳細な印刷設定の受け付け実行指示を渡す(A05)。
【0033】
補助プログラム42は、汎用印刷プログラム41からの実行指示に基づいて動作を開始し、OS21にて使用中の言語(以下、「OS言語」とする)の情報であるシステム言語情報を取得する(A06)。補助プログラム42は、例えば、OS21に問い合わせて、OS言語の情報を取得してもよい。
【0034】
さらに、補助プログラム42は、通信IF14を介して、プリンタ2に対して機能情報を要求し(A11)、プリンタ2から機能情報を受け取る(A12)。機能情報には、プリンタ2にて設定されている言語の情報である言語情報51が含まれる。A12は、取得処理の一例である。
【0035】
なお、補助プログラム42とプリンタ2との通信は、例えば、MIB(Management Information Baseの略)を使って、補助プログラム42が直接プリンタ2と通信しても良いし、OS21を介して行っても良い。OS21を介して行う場合、補助プログラム42とプリンタ2とは、例えば、IPP(internet printing protocolの略)等のOS21の通信規約に応じた通信を行う。
【0036】
そして、補助プログラム42は、プリンタ2から取得した言語情報51を、メモリ12の補助プログラム42にて利用可能な領域に記憶する(A13)。さらに、補助プログラム42は、言語情報51に示される言語とOS言語とが、一致しているか否かを判断する(A14)。
【0037】
一致していると判断した場合(alt:〔一致〕)、補助プログラム42は、詳細な印刷設定の入力操作を受け付けるための設定画面であって、OS言語で表記された設定画面を、ユーザIF13に表示する(A16)。A16は、設定画面表示処理の一例である。なお、補助プログラム42は、OS言語に対応不可能である場合、デフォルトの言語、例えば、英語で表記した設定画面を表示する。
【0038】
補助プログラム42は、A16にて、例えば、プリンタ2のモデル情報に基づいて、受け付け可能な各種の詳細設定を受け付ける設定画面を表示し、ユーザの操作を受け付ける。例えば、プリンタ2が、印刷ジョブの画像にユーザの指定に基づく合成画像を合成して印刷する合成機能を有している場合、補助プログラム42は、詳細設定として合成機能に関する設定を受け付け可能である。補助プログラム42は、例えば、文字画像を含む合成画像の合成指示を受け付けた場合、指定された文字を示す文字情報と合成画像の配置を示す位置情報とを含む合成コマンドを生成して、印刷ジョブに付加することができる。文字画像を含む合成画像としては、例えば、日付や時間等を示す文字を含むヘッダやフッタ、文字を含むウォータマーク、が該当する。
【0039】
本形態のプリンタ2は、文字情報を含む合成コマンドが付加された印刷ジョブを受信した場合、文字情報に対応する文字画像を印刷ジョブの画像に合成して印刷する機能を有している。ただし、前述したように、プリンタ2は、サポートしている言語の文字情報であれば適切な文字画像を合成可能であるが、サポートしていない言語の文字情報の場合には適切な文字画像を合成できない可能性がある。
【0040】
補助プログラム42は、合成機能に関する設定を受け付け可能な設定画面として、例えば、
図3に示すような設定画面100を表示可能である。なお、
図3に示した設定画面100は、OS言語が日本語である場合に表示される画面の例であり、例えば、日付や時間の合成画像として選択可能なデフォルトの選択肢101、102には、日本語の文字情報が含まれている。そして、例えば、日付の選択肢101への操作を受け付けた場合、補助プログラム42は、
図4に示すように、日付の選択肢群111を表示する。選択肢群111には、日本語の文字を含む選択肢が含まれる。
【0041】
一方、
図2のA14において、言語情報51に示される言語とOS言語とが一致していないと判断した場合(alt:〔不一致〕)、補助プログラム42は、選択肢群を置き換える(A17)。例えば、OS言語が日本語であって言語情報51に示される言語が英語である場合、補助プログラム42は、例えば、日付の選択肢群を
図4中に示す選択肢群111から
図5に示す選択肢群112に置き換える。選択肢群112は、選択肢群111中の日本語の文字を含む各選択肢を、英語の文字によって表記可能な選択肢に置き換えた選択肢群である。選択肢群111は、第1選択肢群の一例であり、選択肢群112は、第2選択肢群の一例である。なお、補助プログラム42は、言語ごとの選択肢群を予め記憶していても良いし、不一致であった場合に、サーバ等に要求して取得しても良い。
【0042】
そして、補助プログラム42は、置き換え後の選択肢群による設定画面100をユーザIF13に表示する(A18)。この場合、設定画面100の選択肢101、102には、置き換え後の選択肢群112等の先頭の選択肢が表示され、選択肢の表示指示を受け付けた場合でも日本語の文字を含む選択肢は表示されない。日本語の文字を含む選択肢の文字情報は、非対応文字情報の一例であり、英語の文字のみによって表記された選択肢の文字情報は、対応文字情報および特定文字情報の一例である。A18は、設定処理および第2置換処理の一例である。なお、補助プログラム42は、選択肢の表記を置き換えるのみであり、項目名や説明文等の選択肢以外の表記は変更しなくてよい。
【0043】
これにより、設定画面100にて選択可能となる選択肢の文字情報のうち、プリンタ2にて非対応の言語の文字情報が、プリンタ2にて対応可能な言語の文字情報に置き換えられるので、プリンタ2に送信される印刷ジョブには、プリンタ2でサポートされる言語の文字情報が付加される。これにより、プリンタによって合成される文字画像として、解読困難な文字画像が印刷される可能性を低減できる。
【0044】
なお、A17では、補助プログラム42は、日付の文字情報として選択可能な選択肢群を、置き換える代わりに、例えば、
図6に示すように、元の選択肢群111のうち、言語情報51に示される言語にて表記可能な選択肢のみに限定した選択肢群113としてもよい。選択肢群113は、選択肢群111のうち、日本語の文字を含む選択肢を除いた選択肢群である。この場合、A17は、限定処理の一例である。
【0045】
このようにしても、選択可能な選択肢の文字情報が、プリンタ2にて対応可能な言語の文字情報に限定されるので、プリンタ2に送信される印刷ジョブには、プリンタ2でサポートされる言語の文字情報が付加される。なお、日本語の選択肢を表示しない構成に限らず、表示中の日本語の選択肢を選択不能にする構成であっても良い。
【0046】
補助プログラム42は、表示中の設定画面100にて、ユーザの操作により指示入力を受け付ける(A21)。補助プログラム42は、例えば、前述したように日付等の合成用の文字の選択肢群を表示した場合、選択肢を選択する指示入力を受け付ける。また、補助プログラム42は、設定画面100への指示入力として、例えば、合成画像の合成位置の選択、
図3に示したヘルプボタン110への操作、を受け付ける。
【0047】
補助プログラム42は、例えば、表示中の設定画面100にて、ヘルプボタン110への操作を受け付けた場合(alt:〔ヘルプ指示〕)、所定のウェブページの情報をユーザIF13に表示する。所定のウェブページは、例えば、プリンタ2のベンダによってインターネット200上に公開されているウェブページであって、プリンタ2に関する情報を有するウェブページである。ヘルプボタン110への操作は、所定の情報を有するウェブページにアクセスする指示の一例である。
【0048】
補助プログラム42は、ヘルプボタン110への操作に基づいて、所定のウェブページのアドレスを示すアクセス情報を取得する(A23)。そして、補助プログラム42は、取得したアクセス情報を用いてウェブページにアクセスし、そのウェブページをユーザIF13に表示する(A24)。A23とA24とは、ウェブ表示処理の一例である。
【0049】
プリンタ2が複数の言語をサポートしている場合、プリンタ2に対応する所定のウェブページとして、表記の言語が異なる複数のページが用意されていることがある。補助プログラム42は、プリンタ2に対応するウェブページとして、表記の言語が異なる複数のページが用意されている場合、表記の言語を示す情報とウェブページのアクセス情報とを対応付けて記憶している。OS言語と言語情報51に示される言語とが一致していれば、補助プログラム42は、A23にて、OS言語で表記されたウェブページを示すアクセス情報を取得する。一方、OS言語と言語情報51に示される言語とが一致していなければ、補助プログラム42は、A23にて、言語情報51に示される言語で表記されたウェブページを示すアクセス情報を取得する。
【0050】
プリンタ2にて使用されている言語に合わせてウェブページの参照先を変更することで、プリンタ2のユーザに合ったウェブページが表示される。これにより、プリンタ2のユーザがウェブページを利用し易い。なお、補助プログラム42は、言語情報51に示される言語で表記されたウェブページを示すアクセス情報を有していない場合、例えば、デフォルトのウェブページを表示しても良い。
【0051】
補助プログラム42は、A21の指示入力として、OKボタンやキャンセルボタンの操作により詳細設定を終了するユーザの指示を受け付けた場合(alt:[終了指示])、設定画面100の表示を終了する。OKボタンへの操作を受け付けた場合には、受け付けた印刷設定をメモリ12の補助プログラム42にて利用可能な領域に記憶する(A26)。補助プログラム42は、A13に代えてA26にてプリンタ2の言語情報51を記憶しても良い。さらに、補助プログラム42は、汎用印刷プログラム41に終了通知を渡す(A27)。補助プログラム42からの終了通知を受けて、汎用印刷プログラム41は、編集アプリ43に終了通知を渡す(A28)。
【0052】
次に、印刷実行の指示を受け付けた後の各プログラムの動作の手順について、
図7のシーケンス図を参照して説明する。
図7は、編集アプリ43等の印刷指示を受け付けるアプリにて、汎用印刷プログラム41を使用してプリンタ2に印刷させる印刷実行指示を受け付けた場合の動作について示している。
【0053】
編集アプリ43は、印刷画面にてユーザによる印刷実行指示を受け付けると(A31)、印刷指示を汎用印刷プログラム41に渡す(A32)。汎用印刷プログラム41は、印刷指示にて、印刷対象となる画像データを示す情報と、印刷設定を示す情報と、を取得する。
【0054】
汎用印刷プログラム41は、受け取った印刷指示に含まれる画像データの形式を中間画像データの形式に変換することで中間画像データを生成し(A33)、中間画像データを含む印刷ジョブを生成する。編集アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、受け取った画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷指示に含まれる画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。中間画像データは、例えば、XPSデータである。
【0055】
汎用印刷プログラム41は、さらに、補助プログラム42に実行指示を出力し(A34)、補助プログラム42を動作させる。実行指示では、生成された中間画像データと印刷設定の情報とが補助プログラム42に渡される。
【0056】
汎用印刷プログラム41から渡される印刷設定の情報には、汎用印刷プログラム41にて対応しない印刷設定の情報は含まれなくてもよい。例えば、A26にて補助プログラム42がメモリ12に記憶した印刷設定の情報は、汎用印刷プログラム41から渡される印刷設定の情報に含まれていない場合もある。補助プログラム42は、汎用印刷プログラム41から受け取った印刷設定の情報と、A26にて記憶した情報とに基づいて、印刷ジョブの印刷設定を決定する。
【0057】
補助プログラム42は、メモリ12に言語情報51が記憶されているか否かを判断する(A35)。記憶されていると判断した場合(alt:〔有〕)、補助プログラム42は、メモリ12から言語情報51を読み出す(A36)。記憶されていないと判断した場合(alt:〔無〕)、補助プログラム42は、プリンタ2に言語情報51を要求し(A37)、プリンタ2から言語情報51を取得する(A38)。A38は、取得処理の一例である。補助プログラム42は、A38にて取得した言語情報51をメモリ12に記憶しても良い。
【0058】
そして、補助プログラム42は、取得した言語情報51によって示される言語が、OS言語と一致しているか否かを判断する(A39)。一致していると判断した場合(alt:〔一致〕)、補助プログラム42は、中間画像データに基づいて印刷データを生成し、印刷対象の画像を示す印刷データを含む印刷ジョブを生成する(A41)。A41にて生成される印刷ジョブの印刷データは、プリンタ2にて印刷に使用できる形式のデータであり、例えば、プリンタ2のモデルに専用のPDLデータである。
【0059】
一方、一致していないと判断した場合(alt:〔不一致〕)、補助プログラム42は、文字変換処理を実行する(A42)。文字変換処理は、補助プログラム42によって、PC1のCPU11にて実行される処理であり、プリンタ2にて対応不可能な文字の文字情報を含まない印刷ジョブを生成する処理である。文字変換処理の手順について、
図8のフローチャートを参照して説明する。
【0060】
文字変換処理では、CPU11は、ジョブ名やユーザ名に、プリンタ2の言語情報51に示される言語に対応しない文字の文字情報が含まれるか否かを判断する(S101)。例えば、OS言語が日本語であれば、ジョブ名やユーザ名に日本語の文字を示す文字情報が含まれている可能性がある。
【0061】
プリンタ2は、例えば、蓄積印刷の印刷ジョブをPC1等から受信した場合、その印刷ジョブをプリンタ2のメモリに記憶する。そして、プリンタ2は、ユーザの操作に応じて、例えば、蓄積中の印刷ジョブのジョブ名やユーザ名の一覧を表示し、ユーザIF33を介して印刷対象の印刷ジョブの選択を受け付ける。印刷ジョブのジョブ名やユーザ名は、印刷指示によって印刷ジョブに設定される情報の一例であり、プリンタのユーザインタフェースによって表示される文字情報の一例である。プリンタ2の言語情報51に示される言語以外の言語の文字がジョブ名やユーザ名に含まれていると、そのジョブ名やユーザ名は、文字化け等によって適切に表示されない可能性がある。
【0062】
プリンタ2の言語情報51に示される言語に対応しない文字の文字情報が含まれると判断した場合(S101:YES)、CPU11は、言語情報51の言語とOS言語との対応表を備えているか否かを判断する(S102)。対応表は、1つの言語の文字から異なる言語の文字への一意に定まる対応を示す表であり、例えば、
図9に示す日本語の仮名文字と英語の文字を使用したローマ字との対応を示す表61や、中国語の文字とピンインとの対応を示す表、が該当する。表61は、第1テーブルの一例である。日本語は第1言語の一例であり、英語は第2言語の一例である。仮名文字は、第1言語データの一例であり、ローマ字は、第2言語データの一例である。
【0063】
対応表が有ると判断した場合(S102:YES)、CPU11は、対応表を用いて、ジョブ名やユーザ名を変換する(S103)。例えば、CPU11は、ジョブ名やユーザ名に含まれる日本語の文字を、その読みを示すローマ字に置き換える。あるいは、CPU11は、全角数字を半角数字に置き換える。S103は、設定処理および第1置換処理の一例である。ジョブ名やユーザ名に含まれる日本語の文字は、第1文字情報の一例であり、その読みを示すローマ字は、第2文字情報および特定文字情報の一例である。
【0064】
なお、ジョブ名やユーザ名に日付情報や時間情報が含まれている場合、CPU11は、例えば、前述したように、選択肢群の置き換えによって文字を置き換えてもよい。CPU11は、例えば日付情報の「令和3年4月1日」を“2021/04/01”に変換したり、時刻情報の「12時30分45秒」を“12:30:45”に変換してもよい。
【0065】
印刷ジョブに付加される情報に含まれる文字を、プリンタ2にて対応可能な言語の文字に置き換えておくことで、プリンタ2は、受信した印刷ジョブに基づいて、文字を適切に表示できる。例えば、ローマ字表記であれば、プリンタ2は、その一覧を適切に表示できることから、プリンタ2のユーザIF33に解読困難な文字情報が表示される可能性を低減できる。また、対応表を用いて自動的に置き換えることで、手動で置き換える場合と比較して、ユーザの手間を省くことができる。なお、S103にてCPU11が行う置き換えは、単なる文字の置き換えであって、翻訳ではない。
【0066】
一方、対応表が無いと判断した場合(S102:NO)、CPU11は、ジョブ名やユーザ名がプリンタ2にて対応不可能な文字であることを報知するメッセージをユーザIF13に表示させる(S104)。さらに、CPU11は、ユーザIF13を介して、ジョブ名やユーザ名の変換入力を受け付け(S105)、印刷ジョブのジョブ名やユーザ名を、ユーザの操作にて入力された新たな名称に変更する。S105は、設定処理の一例である。変更後のジョブ名やユーザ名は、特定文字情報の一例である。補助プログラム42は、例えば、プリンタ2がOS言語に非対応であることを示すメッセージをユーザIF13に表示し、名称の変更を受け付ける。補助プログラム42は、プリンタ2の言語情報51に示される言語の情報を表示してもよい。
【0067】
なお、補助プログラム42は、対応表がある場合でも、例えば、置き換え後のジョブ名やユーザ名をユーザIF13に表示して、ユーザの承認あるいは変更の指示を受け付けるようにしても良い。また、補助プログラム42は、ユーザの操作による名称の変更を受け付ける場合、言語情報51に示される言語の文字情報のみを受け付けるとしても良い。
【0068】
ジョブ名やユーザ名に、プリンタ2の言語情報51に示される言語に対応しない文字の文字情報が含まれないと判断した場合(S101:NO)、または、S103やS105の後、CPU11は、
図2のA26にて記憶した印刷設定に、画像の合成の設定が含まれているか否かを判断する(S111)。
【0069】
画像の合成の設定が含まれていると判断した場合(S111:YES)、CPU11は、汎用印刷プログラム41から受け取った中間画像データ、または、指定されている合成用の画像、の少なくとも一方に、プリンタ2の言語情報51に示される言語に対応しない文字の文字情報が含まれるか否かを判断する(S112)。また、画像の合成の設定が含まれていないと判断した場合(S111:NO)、CPU11は、汎用印刷プログラム41から受け取った中間画像データに、プリンタ2の言語情報51に示される言語に対応しない文字の文字情報が含まれるか否かを判断する(S113)。
【0070】
いずれの画像にも非対応の文字が含まれていないと判断した場合(S112:NO、または、S113:NO)、CPU11は、
図7のA34にて汎用印刷プログラム41から受け取った中間画像データに基づいて、印刷対象の画像を示すベクタデータの印刷データを生成する(S115)。S115にて生成される印刷データは、プリンタ2にて印刷に使用できる形式のデータであり、例えば、プリンタ2のモデルに専用のPDLデータである。プリンタ2は、印刷対象の印刷ジョブの印刷データがベクタデータである場合、例えば、印刷データにて指定されている文字情報を文字画像に変換して印刷する。
【0071】
プリンタ2に対応する補助プログラム42にて印刷データを生成することで、汎用印刷プログラム41にて印刷データを生成する場合に比較して自由度が大きく、プリンタ2での印刷に適した印刷データが生成される可能性が高い。なお、補助プログラム42によって生成される印刷データは、プリンタ2のモデル以外のプリンタでの印刷にも使用できる形式のデータであっても良い。
【0072】
一方、合成の設定が含まれていないものの、画像データに非対応の文字が含まれていると判断した場合(S113:YES)、CPU11は、
図7のA34にて汎用印刷プログラム41から受け取った中間画像データに基づいて、印刷対象の画像を示すラスタデータの印刷データを生成する(S116)。
【0073】
また、合成の設定が含まれており、さらに、画像データまたは合成画像に非対応の文字が含まれていると判断した場合(S112:YES)、CPU11は、合成の設定に基づいて、画像の合成を行う(S118)。さらに、CPU11は、合成後の画像データに基づいて、ラスタデータの印刷データを生成する(S119)。S119は、設定処理の一例である。例えば、合成画像にOS言語による文字情報が含まれ、OS言語にプリンタ2が対応していない場合、補助プログラム42が合成とラスタデータの生成とを行う。
【0074】
ラスタデータは、各種のプリンタにて印刷に使用できる形式の印刷データであり、例えば、PWGRasterデータ、または、PCLmデータである。プリンタ2は、実行対象の印刷ジョブの印刷データがラスタデータである場合、文字の変換や合成等を行うことなく、印刷データに基づく印刷を実行する。
【0075】
プリンタ2の言語情報51に対応する言語の文字に置き換えなくても、PC1にて合成とラスタデータへの変換とを行い、変換後の印刷データをプリンタ2に送信することで、プリンタ2では適切な画像を印刷することができる。一方、文字情報がプリンタの言語に対応している場合には、プリンタ2で合成してもその文字情報に基づく画像を再現できることから、補助プログラム42では合成せず、プリンタ2に合成を行わせることで、適切な画像を印刷することができる。
【0076】
S115、S116、S119のいずれかにて印刷データを生成した後、CPU11は、ジョブ名やユーザ名および、印刷を指示する印刷コマンドを付加して印刷ジョブを生成し(S121)、文字変換処理を終了する。
【0077】
なお、補助プログラム42が印刷データを生成する代わりに、汎用印刷プログラム41が印刷データの生成を行っても良い。つまり、補助プログラム42は、汎用印刷プログラム41に印刷実行の情報を渡しても良い。その場合、補助プログラム42は、中間画像データと、印刷実行の情報と、を汎用印刷プログラム41に渡す。汎用印刷プログラム41は、補助プログラム42から受け取った中間画像データに基づいて、印刷データを生成する。そして、汎用印刷プログラム41は、生成した印刷データを補助プログラム42に渡しても良い。汎用印刷プログラム41から印刷データを受け取った場合も、CPU11は、受け取った印刷データに印刷の実行を指示する印刷コマンドを付加して、印刷ジョブを生成する。
【0078】
汎用印刷プログラム41によって生成される印刷データは、各種のプリンタにて印刷に使用できる形式の印刷データであり、例えば、PWGRasterデータ、または、PDFデータである。汎用印刷プログラム41によって印刷データを生成するとすれば、補助プログラム42の処理が少なく、処理時間増大の回避が見込まれ、また、補助プログラム42のプログラムサイズが抑えられる。
【0079】
図7の説明に戻る。補助プログラム42は、A41またはA42にて印刷ジョブを生成した後、生成した印刷ジョブを、プリンタ2に送信する(A51)。プリンタ2は、受信した印刷ジョブに基づいて、印刷データの画像の印刷を実行する(A52)。これにより、印刷物が生成される。補助プログラム42は、さらに、印刷ジョブの送信を終了したことを汎用印刷プログラム41に通知する(A53)。
【0080】
なお、プリンタ2への印刷データ等の送信は、汎用印刷プログラム41が行っても良い。つまり、補助プログラム42は、生成した印刷データを、プリンタ2を送信先としてPC1から送信されるように、汎用印刷プログラム41に渡しても良い。汎用印刷プログラム41は、補助プログラム42から受け取った印刷データをプリンタ2に送信する。あるいは、汎用印刷プログラム41は、中間画像データに基づいて自身で生成した印刷データを、プリンタ2に送信しても良い。
【0081】
以上、詳細に説明したように、本形態の補助プログラム42によれば、PC1は、汎用印刷プログラム41に基づく印刷ジョブに対し、プリンタ2でサポートされる言語に対応する文字を設定するので、プリンタ2にて対応可能な言語の文字情報がプリンタ2に送られる。従って、プリンタ2において解読困難な文字画像が表示されたり、解読困難な文字画像が印刷されたりする可能性を低減できる。
【0082】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。従って、本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタの数は、図示の例に限らず、2台以上でも良い。
【0083】
また、例えば、補助プログラム42は、言語情報51を、プリンタ2から取得した情報に基づいて、プリンタ2以外の装置から取得しても良い。例えば、補助プログラム42は、プリンタ2から取得したモデル情報やデバイスを特定する情報等に基づいて、メーカのサーバやユーザの管理するサーバ等に問い合わせて、言語情報51を取得してもよい。
【0084】
また、本形態では、プリンタ2の言語情報51は、あらかじめ1つの言語の情報に設定されているとしたが、例えば、複数の言語の情報を含む情報であっても良い。例えば、印刷ジョブに言語の情報が含まれていても良く、プリンタ2は、印刷ジョブに含まれる言語の情報が対応可能な言語を示す情報であれば、その情報に基づいて、文字情報を文字画像に変換する構成であっても良い。その場合、補助プログラム42は、
図2のA14や
図7のA39にて、OS言語と言語情報51の言語とが一致するか否かの判断に代えて、OS言語が言語情報51の言語に含まれているか否かの判断を行えばよい。
【0085】
また、図示の表示画面や選択肢群はいずれも一例であり、これに限らない。例えば、設定画面100中の各画像や各ボタンの配置、項目名等の表現は、図示の例に限らない。例えば、設定画面100には、さらに、管理レポートを印刷する指示を受け付ける管理レポート印刷ボタンが有っても良い。管理レポート印刷ボタンへのユーザの操作を受け付けた場合、補助プログラム42は、当該ユーザの今月の印刷枚数等を言語情報51に対応した文字情報にて表記した管理レポート印刷ジョブを生成し、生成した管理レポート印刷ジョブをプリンタ2に送信しても良い。
【0086】
また、本形態では、補助プログラム42は、PC1のOS言語とプリンタ2の言語情報51に示される言語とが一致していない場合の処理として、各種の処理を全て行うものとしたが、これに限らない。補助プログラム42は、例えば、
図2のA17、A23、
図7のA42のうち、少なくとも1つの処理を行うものであればよい。
【0087】
また、補助プログラム42は、
図2のA11にて、機能情報や言語情報だけでなく、例えば、プリンタ2の能力に関する情報を要求しても良い。その場合、プリンタ2は、要求に応じて各種の情報を応答する。補助プログラム42は、プリンタ2から取得した各種の情報に基づいて、ユーザの設定を受け付ける画面を表示しても良い。
【0088】
また、実施の形態では、補助プログラム42の動作として、印刷動作のみを詳細に記載しているが、補助プログラム42は、さらに他の役割を有していても良い。また、本形態の処理を実行するプログラムは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフロー アプリ(Print workflow)でも良い。
【0089】
また、補助プログラム42の実行タイミングは、実施の形態の例に限らない。例えば、OS21から直接実行指示されて実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
【0090】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0091】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0092】
1 PC
2 プリンタ
11 CPU
13、33 ユーザIF