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

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

▶ セイコーエプソン株式会社の特許一覧

<>
  • 特許-印刷装置、及び印刷装置の制御方法 図1
  • 特許-印刷装置、及び印刷装置の制御方法 図2
  • 特許-印刷装置、及び印刷装置の制御方法 図3
  • 特許-印刷装置、及び印刷装置の制御方法 図4
  • 特許-印刷装置、及び印刷装置の制御方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-21
(54)【発明の名称】印刷装置、及び印刷装置の制御方法
(51)【国際特許分類】
   B41J 5/30 20060101AFI20240214BHJP
   G06F 3/12 20060101ALI20240214BHJP
   H04N 1/00 20060101ALI20240214BHJP
【FI】
B41J5/30 Z
G06F3/12 344
G06F3/12 308
H04N1/00 127B
【請求項の数】 4
(21)【出願番号】P 2020002328
(22)【出願日】2020-01-09
(65)【公開番号】P2021109372
(43)【公開日】2021-08-02
【審査請求日】2023-01-04
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100140774
【弁理士】
【氏名又は名称】大浪 一徳
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(74)【代理人】
【識別番号】100196058
【弁理士】
【氏名又は名称】佐藤 彰雄
(72)【発明者】
【氏名】若狭 俊一
【審査官】加藤 昌伸
(56)【参考文献】
【文献】特開2014-081753(JP,A)
【文献】特開2014-119998(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 5/00 - 5/52
B41J 21/00 - 21/18
G06F 3/09 - 3/12
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
印刷を行う印刷部と、
受け付けたデータを一時的に記憶するバッファーと、
前記バッファーに記憶されたデータに基づいて、前記印刷部に印刷を行わせる制御部と、
を備え、
前記制御部は、
予め決められた読出規則に基づいて前記バッファーの読出ポインターを指定し、前記バッファーの記憶領域のうち前記読出ポインターが示す記憶領域のデータを対象データとして読み出し、読み出した前記対象データが、コマンドと文字コードとのいずれであるかを判定し、
前記対象データが前記文字コードであると判定した場合、前記対象データが、複数の字体に対応付けられた前記文字コードであるかを判定し、
前記対象データが、前記複数の字体に対応付けられた前記文字コードであると判定した場合、前記対象データの印刷を行う前に、前記読出ポインターを保持したまま、前記読出ポインターが示す記憶領域に記憶された前記対象データよりも後に受け付けられたデータを前記バッファーから先読みデータとして先読みし、前記バッファーから先読みした前記先読みデータが、前記複数の字体のうちのいずれかを示す所定のコードであるか否かを判定し、
前記先読みデータが前記所定のコードであると判定した場合、前記対象データに対応付けられた前記複数の字体の中から前記所定のコードが示す字体を対象字体として選択し、前記対象データが示す文字を、選択した前記対象字体により前記印刷部に印刷させる、
印刷装置。
【請求項2】
前記文字コードの符号化方式は、Unicodeである、
請求項1に記載の印刷装置。
【請求項3】
前記複数の字体に対応付けられた前記文字コードは、漢字を示す文字コード、繁体字を示す文字コード、簡体字を示す文字コード、ハングル文字を示す文字コードのうちの少なくとも一部を含む、
請求項1又は2に記載の印刷装置。
【請求項4】
受け付けたデータを一時的に記憶するバッファーに記憶されたデータに基づいて、印刷を行う印刷部に印刷を行わせ、
予め決められた読出規則に基づいて前記バッファーの読出ポインターを指定し、前記バッファーの記憶領域のうち前記読出ポインターが示す記憶領域のデータを対象データとして読み出し、読み出した前記対象データが、コマンドと文字コードとのいずれであるかを判定し、
前記対象データが前記文字コードであると判定した場合、前記対象データが、複数の字体に対応付けられた前記文字コードであるかを判定し、
前記対象データが、前記複数の字体に対応付けられた前記文字コードであると判定した場合、前記対象データの印刷を行う前に、前記読出ポインターを保持したまま、前記読出ポインターが示す記憶領域に記憶された前記対象データよりも後に受け付けられたデータを前記バッファーから先読みデータとして先読みし、前記バッファーから先読みした前記先読みデータが、前記複数の字体のうちのいずれかを示す所定のコードであるか否かを判定し、
前記先読みデータが前記所定のコードであると判定した場合、前記対象データに対応付けられた前記複数の字体の中から前記所定のコードが示す字体を対象字体として選択し、前記対象データが示す文字を、選択した前記対象字体により前記印刷部に印刷させる、
印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、印刷装置、及び印刷装置の制御方法に関する。
【背景技術】
【0002】
複数字体文字を印刷可能な印刷装置についての研究、開発が行われている。ここで、複数字体文字は、複数の字体を有する文字のことであり、例えば、漢字等である。
【0003】
これに関し、ある仮名文字を漢字に変換する際、当該漢字が複数の字体を有する場合において当該漢字が有する複数の字体を表示し、ユーザーが所望する字体を複数の字体の中からユーザーに選択させ、ユーザーにより選択された字体により当該漢字を表示させる方法が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平07-105194号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一方、複数字体文字を1つの文字コードによって示す符号化方式を印刷に用いる印刷装置も知られている。このような符号化方式では、文字コードは、複数字体文字が有する複数の字体のそれぞれを区別して示すことができない。このため、このような印刷装置では、ユーザーは、複数字体文字を、所望の字体により印刷することが容易ではなかった。
【課題を解決するための手段】
【0006】
上記課題を解決するために本発明の一態様は、印刷を行う印刷部と、受け付けたデータを一時的に記憶するバッファーと、前記バッファーに記憶されたデータに基づいて、前記印刷部に印刷を行わせる制御部と、を備え、前記制御部は、前記バッファーからデータを対象データとして読み出し、読み出した前記対象データが、コマンドと文字コードとのいずれであるかを判定し、前記対象データが前記文字コードであると判定した場合、前記対象データが、複数の字体に対応付けられた前記文字コードであるかを判定し、前記対象データが、前記複数の字体に対応付けられた前記文字コードであると判定した場合、前記対象データの印刷を行う前に、前記対象データの後に前記バッファーに記憶されたデータを先読みデータとして先読みし、前記バッファーから先読みした先読みデータが、前記複数の字体のうちのいずれかを示す所定のコードであるか否かを判定し、前記先読みデータが前記所定のコードであると判定した場合、前記対象データに対応付けられた前記複数の字体の中から前記所定のコードが示す字体を対象字体として選択し、前記対象データが示す文字を、選択した前記対象字体により前記印刷部に印刷させる、印刷装置である。
【0007】
また、上記課題を解決するために本発明の一態様は、受け付けたデータを一時的に記憶するバッファーに記憶されたデータに基づいて、印刷を行う印刷部に印刷を行わせ、前記バッファーからデータを対象データとして読み出し、読み出した前記対象データが、コマンドと文字コードとのいずれであるかを判定し、前記対象データが前記文字コードであると判定した場合、前記対象データが、複数の字体に対応付けられた前記文字コードであるかを判定し、前記対象データが、前記複数の字体に対応付けられた前記文字コードであると判定した場合、前記対象データの印刷を行う前に、前記対象データの後に前記バッファーに記憶されたデータを先読みデータとして先読みし、前記バッファーから先読みした先読みデータが、前記複数の字体のうちのいずれかを示す所定のコードであるか否かを判定し、前記先読みデータが前記所定のコードであると判定した場合、前記対象データに対応付けられた前記複数の字体の中から前記所定のコードが示す字体を対象字体として選択し、前記対象データが示す文字を、選択した前記対象字体により前記印刷部に印刷させる、印刷装置の制御方法である。
【図面の簡単な説明】
【0008】
図1】実施形態に係る印刷システム1の構成の一例を示す図である。
図2】ある複数字体文字を示すコードポイントと基底字体と複数字体との関係の一例を示す図である。
図3】実施形態に係る印刷装置11の機能構成の一例を示す図である。
図4】コードポイントと異体字セレクターとの組み合わせによって異体字体を示す概略を示す図である。
図5】制御部111が印刷の指示を受け付けた場合に行う処理の流れの一例を示す図である。
【発明を実施するための形態】
【0009】
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
【0010】
以下では、説明の便宜上、1バイトを用いて表される文字をまとめて1バイト文字と称して説明する。1バイト文字は、例えば、ANK(Alphabet, Numeric, Kana)文字である。ANK文字は、1バイトを用いて表されるアルファベット、数字のうちのいずれか一方又は両方を含む文字である。すなわち、ANK文字は、アルファニューメリックのことである。また、ANK文字は、1バイトを用いて表されるアルファベット、数字のうちのいずれか一方又は両方に代えて、1バイトを用いて表されるカタカナ等の、1バイトを用いて表される他の文字を含む構成であってもよい。また、ANK文字は、1バイトを用いて表されるアルファベット、数字のうちの両方に加えて、当該他の文字を含む構成であってもよい。ここで、1バイトを用いて表されるアルファベットは、例えば、半角アルファベットのことである。また、1バイトを用いて表される数字は、例えば、半角数字のことである。また、1バイトを用いて表されるカタカナは、半角カナのことである。
【0011】
また、以下では、説明の便宜上、2バイトを用いて表される文字を、まとめて2バイト文字と称して説明する。2バイト文字は、例えば、漢字、繁体字、簡体字、ハングル文字等である。なお、2バイト文字は、漢字、繁体字、簡体字、ハングル文字のうちの一部又は全部に代えて、2バイトを用いて表される他の文字を含む構成であってもよい。また、2バイト文字は、漢字、繁体字、簡体字、ハングル文字の全部に加えて、2バイトを用いて表される他の文字を含む構成であってもよい。
【0012】
また、以下では、説明の便宜上、1バイト文字と2バイト文字とを区別する必要がない限り、まとめて印刷可能文字と称して説明する。ここで、印刷可能文字には、複数字体文字と、単一字体文字とが含まれている。複数字体文字は、複数の字体を有する文字のことである。換言すると、複数字体文字は、複数の字体のそれぞれによって表される文字のことである。例えば、複数字体文字は、漢字、繁体字、簡体字、ハングル文字等に含まれている。単一字体文字は、1つの字体を有する文字のことである。換言すると、単一字体文字は、1つの字体によって表される文字のことである。
【0013】
ここで、基準となる字体により表された複数字体文字は、基底文字と呼ばれる。また、基準となる字体以外の字体により表された複数字体文字は、異体字と呼ばれる。そこで、以下では、説明の便宜上、ある複数字体文字が有する複数の字体のうちの基準となる字体を、基底字体と称して説明する。また、以下では、説明の便宜上、複数字体文字が有する複数の字体のうちの基底字体以外の字体を、異体字体と称して説明する。
【0014】
<印刷システムの構成>
以下、図1を参照し、実施形態に係る印刷システム1の構成について説明する。図1は、実施形態に係る印刷システム1の構成の一例を示す図である。
【0015】
印刷システム1は、印刷装置11と、情報処理装置12を備える。
【0016】
印刷装置11は、有線又は無線の回線13を介して、情報処理装置12と互いに通信可能に接続される。回線13は、例えば、ネットワークの回線であってもよい。ネットワークは、インターネットであってもよい。
【0017】
ここで、本実施形態では、説明を簡易にするために、1つの印刷装置11と1つの情報処理装置12を示す。なお、例えば、1つの印刷装置11には、複数の情報処理装置12が接続されてもよい。また、例えば、1つの情報処理装置12には、複数の印刷装置11が接続されてもよい。
【0018】
このように、印刷システム1は、任意の数の印刷装置11を備えてもよく、任意の数の情報処理装置12を備えてもよい。また、印刷システム1に備えられる装置の配置としては、任意の配置が用いられてもよい。
【0019】
情報処理装置12は、印刷装置11と通信し、符号化方式指定コマンドを送信する。符号化方式指定コマンドは、印刷装置11が受信した文字コードが示す文字を特定するために印刷装置11が用いる符号化方式を、印刷装置11に対して指定するコマンドである。
【0020】
例えば、ある1バイト文字コードが示す1バイト文字を特定する場合、印刷装置11は、1バイト文字符号化方式を用いて、当該1バイト文字コードが示す1バイト文字を特定する。1バイト文字符号化方式は、1バイト文字コードと1バイト文字とを対応付ける符号化方式のことであり、例えば、ASCII等である。すなわち、1バイト文字符号化方式に基づいて構成された1バイト文字コードは、例えば、ASCIIの文字コード等である。また、例えば、ある2バイト文字コードが示す2バイト文字を特定する場合、印刷装置11は、2バイト文字符号化方式を用いて、当該2バイト文字コードが示す2バイト文字を特定する。2バイト文字符号化方式は、2バイト文字コードと2バイト文字とを対応付ける符号化方式のことである。2バイト文字符号化方式は、例えば、ISO-2022-JP、Shift_JIS、EUC-JP等である。すなわち、2バイト文字符号化方式に基づいて構成された2バイト文字コードは、例えば、ISO-2022-JP、Shift_JIS、EUC-JP等の文字コードである。また、例えば、あるコードポイントが示す文字を特定する場合、印刷装置11は、Unicodeを用いて、当該コードポイントが示す文字を特定する。なお、Unicodeは、UTF-8と称されることもある。Unicodeの詳細については、国際標準規格として定められているため、説明を省略する。
【0021】
ここで、Unicodeでは、個々の単一字体文字のそれぞれを、1つのコードポイントによって示す。しかしながら、Unicodeでは、個々の複数字体文字のそれぞれも、1つのコードポイントによって示す。このため、Unicodeでは、図2に示したように、ある複数字体文字を示すコードポイントは、当該複数字体文字が有する複数の字体を区別して示すことができない。図2は、ある複数字体文字を示すコードポイントと基底字体と異体字体との関係の一例を示す図である。図2に示したコードポイント「U+9022」は、基底文字「逢」に対応付けられたコードポイントである。図2では、基底文字「逢」の基底字体を基底字体K1として示している。一方、このコードポイント「U+9022」は、異体字体K2によって表される「逢」の異体字にも対応付けられている。このように、Unicodeでは、コードポイントによって複数字体文字が有する複数の字体を区別することができない。
【0022】
また、情報処理装置12は、印刷装置11と通信し、印刷装置11に対して印刷の指示を送信する。
【0023】
印刷の指示には、印刷対象となる印刷可能文字を示す文字コードが含まれる。例えば、ある1バイト文字の印刷の指示には、当該1バイト文字を示す1バイト文字コード、又は、当該1バイト文字を示すコードポイントが含まれる。また、例えば、ある2バイト文字の印刷の指示には、当該2バイト文字を示す2バイト文字コード、又は、当該2バイト文字を示すコードポイントが含まれる。また、印刷の指示には、例えば、印刷可能文字のうちの複数字体文字の字体を指定する所定のコードが含まれる。なお、複数字体文字の字体を指定しない場合、印刷の指示には、所定のコードが含まれなくてもよく、基底字体を指定する所定のコードが含まれてもよい。以下では、説明の便宜上、当該所定のコードを、異体字セレクターと称して説明する。また、印刷の指示には、他の情報が含まれてもよい。
【0024】
なお、情報処理装置12は、任意の装置であってもよく、例えば、パーソナルコンピューター、又は、スマートフォン等であってもよい。
【0025】
情報処理装置12は、図示しないユーザーによって操作され、ユーザーによって行われた操作に応じた処理を実行する。また、情報処理装置12は、予め定められた処理を自動的に実行する構成であってもよい。
【0026】
印刷装置11は、制御部111と、不揮発性メモリー112と、印刷部113と、通信部114と、スイッチ115と、バッファー116を備える。
【0027】
制御部111は、CPU(Central Processing Unit、プロセッサー)131と、ROM(Read Only Memory)132と、RAM(Random Access Memory)133を備える。なお、制御部111は、他の制御回路等を備えてもよい。
【0028】
印刷部113は、印刷ヘッド151と、カッター152と、搬送モーター153を備える。
【0029】
不揮発性メモリー112には、1バイト文字フォントデータ211と、2バイト文字フォントデータ212と、Unicodeフォントデータ213が記憶されている。
【0030】
ここで、フォントデータは、文字を印刷媒体に印刷することが可能な態様で表現する実データのことであり、例えば、ビットマップフォントデータである。後述するROM132には、1バイト文字コードアドレステーブル、2バイト文字コードアドレステーブル、コードポイントアドレステーブルが記憶されている。1バイト文字コードアドレステーブルは、各1バイト文字コードに対応付けられたビットマップフォントデータの、不揮発性メモリー112上のアドレスを示すテーブルである。2バイト文字コードアドレステーブルは、各2バイト文字コードに対応付けられたビットマップフォントデータの、不揮発性メモリー112上のアドレスを示すテーブルである。コードポイントアドレステーブルは、各コードポイントに対応付けられたビットマップフォントデータの、不揮発性メモリー112上のアドレスを示すテーブルである。
【0031】
すなわち、1バイト文字フォントデータ211は、1バイト文字を印刷媒体に印刷することが可能な態様で表現するビットマップフォントデータである。通信部114により受信されたデータは、通信部114により受信された順に、後述するバッファー116に記憶される。制御部111は、通信部114により受信された順にバッファー116からデータを読み出す。制御部111は、読み出したデータがある1バイト文字コードである場合、当該1バイト文字コードに基づいて、ROM132を参照し、1バイト文字コードアドレステーブルを参照して当該1バイト文字コードの不揮発性メモリー112上のアドレスを取得し、取得したアドレスにより1バイト文字フォントデータ211から対象となるビットマップフォントデータを読み出す。そして、制御部111は、読み出したビットマップフォントデータを、印刷ヘッド151で印刷可能な順番に並べてRAM133(印刷バッファー)に記憶する(展開する)。また、制御部111は、先に文字装飾コマンドを受信していた場合、読み出したビットマップフォントデータに対して、文字装飾コマンドで指定された処理を施し、当該処理を施した後のビットマップフォントデータをRAM133に記憶する。そして、制御部111は、RAM133に記憶したビットマップフォントデータを読み出して印刷部113へ送り印刷を行う。
【0032】
また、2バイト文字フォントデータ212は、2バイト文字を印刷媒体に印刷することが可能な態様で表現するビットマップフォントデータである。制御部111は、読み出したデータがある2バイト文字コードである場合、当該2バイト文字コードに基づいて、ROM132を参照し、2バイト文字コードアドレステーブルを参照して当該2バイト文字コードの不揮発性メモリー112上のアドレスを取得し、取得したアドレスにより2バイト文字フォントデータ212から対象となるビットマップフォントデータを読み出す。そして、制御部111は、読み出したビットマップフォントデータを、印刷ヘッド151で印刷可能な順番に並べてRAM133(印刷バッファー)に記憶する(展開する)。また、制御部111は、先に文字装飾コマンドを受信していた場合、読み出したビットマップフォントデータに対して、文字装飾コマンドで指定された処理を施し、当該処理を施した後のビットマップフォントデータをRAM133に記憶する。そして、制御部111は、RAM133に記憶したビットマップフォントデータを読み出して印刷部113へ送り印刷を行う。
【0033】
また、Unicodeフォントデータ213は、コードポイントが示す文字を印刷媒体に印刷することが可能な態様で表現するビットマップフォントデータである。制御部111は、読み出したデータがあるコードポイントである場合、当該コードポイントに基づいて、ROM132を参照し、コードポイントアドレステーブルを参照して当該コードポイントの不揮発性メモリー112上のアドレスを取得し、取得したアドレスによりUnicodeフォントデータ213から対象となるビットマップフォントデータを読み出す。そして、制御部111は、読み出したビットマップフォントデータを、印刷ヘッド151で印刷可能な順番に並べてRAM133(印刷バッファー)に記憶する(展開する)。また、制御部111は、先に文字装飾コマンドを受信していた場合、読み出したビットマップフォントデータに対して、文字装飾コマンドで指定された処理を施し、当該処理を施した後のビットマップフォントデータをRAM133に記憶する。そして、制御部111は、RAM133に記憶したビットマップフォントデータを読み出して印刷部113へ送り印刷を行う。
【0034】
ここで、本実施形態では、不揮発性メモリー112に記憶されている3種類のフォントデータは、印刷装置11の出荷前に、不揮発性メモリー112に記憶される。また、例えば、印刷装置11の出荷後に、新たなフォントデータが不揮発性メモリー112に記憶されてもよい。また、例えば、印刷装置11の出荷後に、不揮発性メモリー112に記憶されたフォントデータが書き換え又は消去等されてもよい。
【0035】
なお、Unicodeフォントデータ213を、1バイト文字フォントデータ211と2バイト文字フォントデータ212に含めることができる場合、不揮発性メモリー112は、Unicodeフォントデータ213を記憶しない構成であってもよい。この場合、例えば、ROM132には、各コードポイントを各文字コードに変換するテーブルを備える。そして、制御部111は、あるコードポイントを受信した場合、当該テーブルを参照し、当該コードポイントを当該コードポイントに対応する文字コードに変換し、当該文字コードの不揮発性メモリー112上のアドレスを取得し、取得したアドレスにより1バイト文字フォントデータ211又は2バイト文字フォントデータ212から対象となるビットマップフォントデータを読み出す。
【0036】
制御部111は、印刷装置11の各部を制御する。
【0037】
ROM132は、CPU131が実行する制御プログラムの他、各種のデータを不揮発的に記憶する。
【0038】
RAM133は、CPU131のワークエリアとして機能し、各種のデータを一時的に記憶する。
【0039】
CPU131は、ROM132に記憶された制御プログラム等を読み出して実行することにより、印刷装置11の各部を制御する。
【0040】
不揮発性メモリー112は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュメモリー等の半導体記憶素子、ハードディスク等の記憶媒体を備え、各種のデータを書き換え可能に不揮発的に記憶する。
【0041】
なお、一般に、不揮発性メモリーは、電源が供給されなくても、記憶されたデータが残るメモリーである。また、一般に、揮発性メモリーは、電源が供給されないと、記憶されたデータが残らないメモリーである。
【0042】
印刷部113は、印刷機構により、印刷媒体に印刷する。印刷媒体は、例えば、紙等である。
【0043】
本実施形態では、印刷部113は、文字のフォントデータを用いて、文字の印刷を行う。
【0044】
ここで、本実施形態では、印刷装置11がサーマルヘッドを有するサーマルプリンターであって、レシートを印刷するレシートプリンターである場合を示す。なお、印刷装置11は、他の種類の装置であってもよい。
【0045】
印刷ヘッド151は、ロール紙の搬送方向と交わる方向に解像度に応じた複数の発熱素子が並べられて設けられたライン型のサーマルヘッドである。印刷ヘッド151は、当該発熱素子を発熱させて、感熱紙であるロール紙にドットを形成する。
【0046】
カッター152は、固定刃と可動刃とを備え、固定刃に対して可動刃を相対的に移動させて固定刃と可動刃とを交叉させることにより、ロール紙を切断する。
【0047】
搬送モーター153は、図示しない搬送ローラーを回転させて、印刷装置11の筐体に収容されたロール紙を搬送する。
【0048】
印刷部113は、制御部111により制御されて、搬送モーター153によりロール紙を搬送しつつ、印刷ヘッド151によりロール紙にレシートに係る文字等を印刷し、カッター152により所定の位置でロール紙を切断して、レシートを発行する。
【0049】
なお、印刷装置11では、制御部111によって、印刷対象となる文字を示す文字コードのデータをRAM133に記憶した後に、当該データを図示しない所定のプリントバッファー(印刷バッファー)に格納し、当該データを印刷ヘッド151に送ることで、印刷の処理を行うが、本実施形態では、これに関して、詳しい説明を省略する。
【0050】
通信部114は、制御部111により制御されて、所定の通信規格に従って、例えば、印刷装置11の印刷動作を制御するホストコンピューター等の外部装置と通信する。当該外部装置は、本実施形態では、情報処理装置12である。つまり、本実施形態では、通信部114は、回線13を介して、情報処理装置12と通信する。
【0051】
スイッチ115は、例えば、ディップスイッチである。スイッチ115は、図示しないユーザーによって操作され、2以上の状態に切り替えられる。本実施形態では、スイッチ115は、切り替えられる状態として、所定の符号化方式を指定する状態を有する。
【0052】
具体例として、ディップスイッチは、ユーザーによって、オンの状態又はオフの状態に設定される。そして、印刷装置11の電源が投入された場合、又は、印刷装置11がリセットされた場合、制御部111によって、ディップスイッチの状態が読み込まれて、当該状態に応じた設定を行う。ここで、例えば、ディップスイッチがオンの状態は、所定の符号化方式を指定する状態であり、又、ディップスイッチがオフの状態は、所定の符号化方式を指定しない状態である。
【0053】
バッファー116は、通信部114を介して外部装置から印刷装置11が受け付けたデータを一時的に記憶する。より具体的には、バッファー116は、制御部111による制御によって、制御部111により指定された書込ポインターが示す記憶領域に、当該データを順に記憶する。換言すると、制御部111は、バッファー116の記憶領域のうち書込ポインターによって制御部111が指定する記憶領域に、当該データを順に記憶させる。また、バッファー116は、制御部111による制御によって、制御部111により指定された読出ポインターが示す記憶領域に記憶されたデータが、当該記憶領域から読み出される。換言すると、制御部111は、バッファー116の記憶領域のうち読出ポインターによって制御部111が指定する記憶領域に記憶されたデータを、当該記憶領域から読み出す。なお、バッファー116は、RAM133に含まれる構成であってもよく、RAM133と一体に構成されてもよい。
【0054】
なお、本実施形態では、説明の便宜上、情報処理装置12のユーザーと印刷装置11のユーザーとは同じであるとして説明するが、これらのユーザーは、異なっていてもよい。
【0055】
図3は、実施形態に係る印刷装置11の機能構成の一例を示す図である。
【0056】
印刷装置11は、制御部111と、第1記憶部311と、第2記憶部312と、印刷部113と、通信部114と、スイッチ115を備える。なお、本実施形態では、第1記憶部311は、不揮発性メモリー112である。また、本実施形態では、第2記憶部312は、揮発性メモリーであるRAM133である。
【0057】
通信部114は、第1指示受付部331を有する。
【0058】
第1指示受付部331は、符号化方式を指定する指示をソフトウェア的に受け付ける。具体的には、第1指示受付部331は、通信部114によって外部装置から受信される信号に含まれる符号化方式指定コマンドに応じて、当該符号化方式指定コマンドによって特定される符号化方式を指定する指示を受け付ける。当該符号化方式指定コマンドは、ソフトウェア的なコマンドである。
【0059】
また、第1指示受付部331は、前述の印刷の指示をソフトウェア的に受け付ける。
【0060】
第1指示受付部331は、受け付けられた指示の内容を制御部111に出力する。制御部111は、第1指示受付部331から出力される指示の内容を取得する。なお、第1指示受付部331の機能は、例えば、制御部111に備えられてもよい。
【0061】
スイッチ115は、第2指示受付部351を有する。
【0062】
第2指示受付部351は、符号化方式を指定する指示をハードウェア的に受け付ける。具体的には、第2指示受付部351は、スイッチ115が切り替えられた状態に応じて、当該状態によって特定される符号化方式を指定する指示を受け付ける。
【0063】
本実施形態では、スイッチ115は、当該スイッチ115が切り替えられた状態に応じた符号化方式指定コマンドを出力する。第2指示受付部351は、当該符号化方式指定コマンドに応じて、当該符号化方式指定コマンドによって特定される符号化方式を指定する指示を受け付ける。
【0064】
第2指示受付部351は、受け付けられた指示の内容を制御部111に出力する。制御部111は、第2指示受付部351から出力される指示の内容を取得する。なお、第2指示受付部351の機能は、例えば、制御部111に備えられてもよい。
【0065】
ここで、本実施形態では、説明の便宜上、第1指示受付部331と第2指示受付部351との両方が印刷装置11に備えられる場合を示すが、他の構成例として、第1指示受付部331と第2指示受付部351とのいずれか一方のみが印刷装置11に備えられる構成が用いられてもよい。
【0066】
制御部111は、第1指示受付部331により受け付けられた符号化方式を指定する指示に基づいて、印刷装置11が用いる符号化方式を選択する。すなわち、制御部111は、当該指示により指定された符号化方式を、印刷に用いる符号化方式として選択可能である。以下では、説明の便宜上、制御部111により選択された符号化方式を、選択符号化方式と称して説明する。例えば、制御部111により選択された符号化方式が1バイト文字符号化方式であった場合、選択符号化方式は、1バイト文字符号化方式のことである。また、例えば、制御部111により選択された符号化方式が2バイト文字符号化方式であった場合、選択符号化方式は、2バイト文字符号化方式のことである。また、例えば、制御部111により選択された符号化方式がUnicodeであった場合、選択符号化方式は、Unicodeのことである。
【0067】
また、制御部111は、予め決められた書込規則に基づいてバッファー116の書込ポインターを指定し、印刷装置11が外部装置から受け付けたデータを、バッファー116の記憶領域のうち当該書込ポインターが示す記憶領域に一時的に記憶させる。当該書込規則は、例えば、受け付けた順にデータがバッファー116に記憶されるように書込ポインターを指定すること、である。なお、当該書込規則は、他の規則であってもよい。また、制御部111は、予め決められた読出規則に基づいてバッファー116の読出ポインターを指定し、バッファー116の記憶領域のうち当該読出ポインターが示す記憶領域のデータを、当該記憶領域から読み出す。当該読出規則は、例えば、受け付けた順にデータがバッファー116から読み出されるように読出ポインターを指定すること、である。なお、当該読出規則は、他の規則であってもよい。また、制御部111は、現在の読出ポインターを保持したまま、当該読出ポインターが示す記憶領域に記憶されたデータよりも後に印刷装置11が受け付けたデータが記憶された記憶領域を参照する先読みを行う。これにより、制御部111は、当該読出ポインターが示す記憶領域に記憶されたデータを当該記憶領域から読み出すことなく、当該データよりも後に印刷装置11が受け付けたデータを参照することができる。
【0068】
また、制御部111は、選択符号化方式としてUnicodeが選択されている場合、且つ、印刷の指示を受け付けた場合、以下の処理を行う。すなわち、制御部111は、受け付けた印刷の指示のデータを、バッファー116に記憶させる。制御部111は、バッファー116に記憶させたデータをバッファー116から対象データとして読み出す。制御部111は、読み出した対象データが、コマンドと文字コードとのいずれであるかを判定する。制御部111は、対象データが文字コードであると判定した場合、対象データが、複数の字体に対応付けられた文字コードであるかを判定する。ここで、複数の字体に対応付けられた文字コードは、複数字体文字を示す文字コードのことである。制御部111は、対象データが、複数の字体に対応付けられた文字コードであると判定した場合、対象データの印刷を行う前に、対象データの後にバッファー116に記憶されたデータを先読みデータとして先読みする。制御部111は、バッファー116から先読みした先読みデータが、複数の字体のうちのいずれかを示す異体字セレクターであるか否かを判定する。制御部111は、先読みデータが異体字セレクターであると判定した場合、対象データに対応付けられた複数の字体の中から異体字セレクターが示す字体を対象字体として選択する。そして、制御部111は、対象データが示す文字を、選択した対象字体により印刷部113に印刷させる。これにより、印刷装置11は、複数字体文字を、所望の字体により印刷することが容易にできる。
【0069】
図4は、コードポイントと異体字セレクターとの組み合わせによって異体字体を示す概略を示す図である。図4に示したように、基底字体K1の基底文字「逢」を示すコードポイント「U+9022」とともに異体字セレクター「U+E0100」を印刷装置11が受け付けた場合、印刷装置11は、コードポイント「U+9022」が示す漢字を、異体字体K2により印刷する。すなわち、印刷装置11は、複数字体文字を、所望の字体により印刷することが容易にできる。
【0070】
ここで、前述した通り、複数字体文字には、例えば、漢字、繁体字、簡体字、ハングル文字等のうちの少なくとも一部が含まれる。すなわち、複数字体文字を示す文字コードには、漢字を示す文字コード、繁体字を示す文字コード、簡体字を示す文字コード、ハングル文字を示す文字コード等のうちの少なくとも一部が含まれる。
【0071】
以下では、このような制御部111が印刷の指示を受け付けた場合に行う処理について、詳しく説明する。
【0072】
<制御部が印刷の指示を受け付けた場合に行う処理>
以下、図5を参照し、制御部111が印刷の指示を受け付けた場合に行う処理について説明する。図5は、制御部111が印刷の指示を受け付けた場合に行う処理の流れの一例を示す図である。以下では、一例として、図5に示したステップS110の処理が行われるよりも前のタイミングにおいて、印刷対象となる1以上の文字それぞれを示す文字コードを含む文字列の印刷の指示を印刷装置11が情報処理装置12から受け付けている場合について説明する。この場合、制御部111は、受け付けた印刷の指示のデータを、当該データに含まれるコマンド、文字コードのそれぞれを1つの単位として、受け付けた順に1つずつ順にバッファー116に記憶させる。すなわち、図5に示したフローチャートの処理は、当該データがバッファー116に記憶された後に制御部111が実行する処理である。ここで、当該文字列には、1バイト文字が含まれていてもよく、2バイト文字が含まれていてもよく、1バイト文字と2バイト文字との両方が含まれていてもよい。また、以下では、選択符号化方式が、Unicodeである場合について説明する。
【0073】
制御部111は、読出ポインターを指定し、バッファー116からデータを対象データとして読み出す(ステップS110)。
【0074】
次に、制御部111は、ステップS110において読み出した対象データが、コマンドとコードポイントとのいずれであるかを判定する(ステップS120)。
【0075】
制御部111は、対象データがコマンドであると判定した場合(ステップS120-YES)、コマンドである対象データに応じた処理を行う(ステップS180)。なお、図5では、図が煩雑になるのを防ぐため、ステップS180の処理を「コマンド処理」として示している。ステップS180の処理が行われた後、制御部111は、ステップS110に遷移し、次の読出ポインターを指定して、バッファー116から次の対象データを読み出す。
【0076】
一方、制御部111は、対象データがコマンドではないと判定した場合(ステップS120-NO)、対象データがコードポイントであると判定し、コードポイントである対象データが複数字体文字を示すか否かを判定する(ステップS130)。
【0077】
制御部111は、コードポイントである対象データが単一字体文字を示すと判定した場合(ステップS130-NO)、対象データが示す単一字体文字を印刷する(ステップS190)。そして、ステップS190の処理が行われた後、制御部111は、ステップS110に遷移し、次の読出ポインターを指定して、バッファー116から次の対象データを読み出す。
【0078】
一方、制御部111は、コードポイントである対象データが複数字体文字を示すと判定した場合(ステップS130-YES)、バッファー116のデータの先読みを行い、対象データよりも後に印刷装置11が受け付けたデータを先読みデータとして参照する(ステップS140)。ここで、ステップS140では、制御部111は、バッファー116のデータの先読みを、対象データの次のデータが記憶された記憶領域から、次のコードポイントが記憶された記憶領域までの範囲内において、又は、書込ポインターの前までの範囲内において、次のコードポイントが見つかるまで行う。換言すると、制御部111は、対象データの次のデータが記憶された記憶領域から書込みポインターの前までの範囲内において、次のコードポイントが見つかるまで、読出ポインターを1つずつ進めながら、バッファー116のデータを先読みデータとして順次参照する。制御部111は、先読みデータの先読みを行った後、読出ポインターを先読みする前の記憶領域、つまり対象データの次のデータが記憶された記憶領域へ戻し、データを受信順に処理できるようにする。なお、図5では、図が煩雑になるのを防ぐため、ステップS140の処理を「データ先読み」として示している。
【0079】
次に、制御部111は、ステップS140において先読みした先読みデータの中に、異体字セレクターが含まれていたか否かを判定する(ステップS150)。具体的には、制御部111は、ステップS140において参照した1以上の先読みデータの中に、異体字セレクターが含まれていたか否かを判定する。
【0080】
制御部111は、ステップS140において先読みした先読みデータの中に、異体字セレクターが含まれていなかったと判定した場合(ステップS150-NO)、コードポイントである対象データが示す複数字体文字を、基底自体により印刷する(ステップS200)。そして、ステップS200の処理が行われた後、制御部111は、ステップS110に遷移し、次の読出ポインター(先読みする前の記憶領域)を指定して、バッファー116から次の対象データを読み出す。
【0081】
一方、制御部111は、ステップS140において先読みした先読みデータの中に、異体字セレクターが含まれていたと判定した場合(ステップS150-YES)、バッファー116から異体字セレクターを読み出す(ステップS160)。そして、制御部111は、コードポイントである対象データが示す複数字体文字を、読み出した異体字セレクターが示す字体により印刷する(ステップS170)。ここで、制御部111は、ステップS160において読み出された異体字セレクターが次にバッファー116から受信順に読み出された場合、読み捨て又は無視し、処理しない。
【0082】
なお、制御部111は、複数字体文字の直後に異体字セレクターを受信することがほとんど又は全ての場合、「データ先読み」として、通常の受信順の処理のように対象データの次のデータが記憶された記憶領域のみに読出ポインターを進めてバッファー116からデータを読み出し、異体字セレクターが含まれているか否かを判定し、処理する構成であってもよい。
【0083】
ステップS170の処理が行われた後、制御部111は、処理を終了するか否かを判定する(ステップS220)。ここで、制御部111は、例えば、ステップS220において、印刷の指示のデータを全てバッファー116から読み出し済みである場合、処理を終了すると判定する。一方、制御部111は、例えば、ステップS220において、印刷の指示のデータを全てバッファー116から読み出していない場合、処理を終了しないと判定する。なお、制御部111は、ステップS220において、他の方法によって処理を終了するか否かを判定する構成であってもよい。
【0084】
制御部111は、処理を終了しないと判定した場合(ステップS220-NO)、ステップS110に遷移し、次の読出ポインターを指定して、バッファー116から次の対象データを読み出す。
【0085】
一方、制御部111は、処理を終了すると判定した場合(ステップS220-YES)、処理を終了する。
【0086】
なお、図5に示したフローチャートの処理は、選択符号化方式がUnicode以外の符号化方式である場合において制御部111に行われてもよい。ただし、この場合、当該符号化方式は、Unicode以外の符号化方式のうち、複数字体文字を1つの文字コードによって示す符号化方式である。
【0087】
以上説明したように、実施形態に係る印刷装置は、印刷を行う印刷部と、受け付けたデータを一時的に記憶するバッファーと、バッファーに記憶されたデータに基づいて、印刷部に印刷を行わせる制御部と、を備え、制御部は、バッファーからデータを対象データとして読み出し、読み出した対象データが、コマンドと文字コードとのいずれであるかを判定し、対象データが文字コードであると判定した場合、対象データが、複数の字体に対応付けられた文字コードであるかを判定し、対象データが、複数の字体に対応付けられた文字コードであると判定した場合、対象データの印刷を行う前に、対象データの後にバッファーに記憶されたデータを先読みデータとして先読みし、バッファーから先読みした先読みデータが、複数の字体のうちのいずれかを示す所定のコードであるか否かを判定し、先読みデータが所定のコードであると判定した場合、対象データに対応付けられた複数の字体の中から所定のコードが示す字体を対象字体として選択し、対象データが示す文字を、選択した対象字体により印刷部に印刷させる。これにより、印刷装置は、複数の字体を有する文字を、所望の字体により印刷することが容易にできる。なお、上記において説明した例では、印刷装置11は、当該印刷装置の一例である。また、上記において説明した例では、印刷部113は、当該印刷部の一例である。また、上記において説明した例では、バッファー116は、当該バッファーの一例である。また、上記において説明した例では、制御部111は、当該制御部の一例である。また、上記において説明した例では、コードポイントは、当該文字コードの一例である。また、上記において説明した例では、ステップS140において参照されたデータは、先読みデータの一例である。また、上記において説明した例では、異体字セレクターは、所定のコードの一例である。
【0088】
また、印刷装置では、制御部は、第1符号化方式と異なる第2符号化方式が選択されている場合において、第1種文字装飾コマンドを受け付けた場合、且つ、第1種類の文字と第2種類の文字との両方を含む文字列を印刷する場合、第1種文字装飾コマンドが指定する文字装飾を第1種類の文字に行い、且つ、第1種文字装飾コマンドが指定する文字装飾を第2種類の文字に行っていない文字列の印刷を印刷部により行う、構成が用いられてもよい。これにより、印刷装置は、コードポイントが示す文字のうちの1バイト文字を選択的に装飾して印刷することができる。
【0089】
また、印刷装置では、文字コードの符号化方式は、Unicodeである、構成が用いられてもよい。
【0090】
また、印刷装置では、複数の字体に対応付けられた文字コードは、漢字を示す文字コード、繁体字を示す文字コード、簡体字を示す文字コード、ハングル文字を示す文字コードのうちの少なくとも一部を含む、構成が用いられてもよい。
【0091】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【0092】
また、以上に説明した装置における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。ここで、当該装置は、例えば、印刷装置11、情報処理装置12等である。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)-ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。
【0093】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワークや電話回線等の通信回線のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル又は差分プログラムであってもよい。
【符号の説明】
【0094】
1…印刷システム、11…印刷装置、12…情報処理装置、13…回線、111…制御部、112…不揮発性メモリー、113…印刷部、114…通信部、115…スイッチ、116…バッファー、151…印刷ヘッド、152…カッター、153…搬送モーター、211…1バイト文字フォントデータ、212…2バイト文字フォントデータ、213…Unicodeフォントデータ、311…第1記憶部、312…第2記憶部、331…第1指示受付部、351…第2指示受付部
図1
図2
図3
図4
図5