(57)【要約】【課題】ユーザが液滴吐出装置をどの方向に走査させればよいのか把握できるプログラムを提供すること。【解決手段】液滴吐出装置２０の位置を算出する位置算出手段３４と、描画対象のデータと位置情報に応じて液滴を吐出する液滴吐出手段２５と、を有し、ユーザによって媒体上を走査されることで前記描画対象のデータを媒体に形成する液滴吐出装置と通信する情報処理装置１１を、前記液滴吐出装置の走査方向を出力する走査方向出力手段５５として機能させるためのプログラムを提供する。【選択図】図１
2019003336.tif 000002
【特許請求の範囲】
【請求項１】
液滴吐出装置の位置を算出する位置算出手段と、
描画対象のデータと位置情報に応じて液滴を吐出する液滴吐出手段と、を有し、
ユーザによって媒体上を走査されることで前記描画対象のデータを媒体に形成する液滴吐出装置と通信する情報処理装置を、
前記液滴吐出装置の走査方向を出力する走査方向出力手段として機能させるためのプログラム。
【請求項２】
更に前記情報処理装置を、前記走査方向に関する設定を受け付ける受付手段として機能させ、
前記走査方向出力手段は、前記受付手段が受け付けた前記走査方向に関する設定に応じて前記走査方向を出力する請求項１に記載のプログラム。
【請求項３】
前記走査方向出力手段は、前記描画対象のデータが媒体に形成された際のプレビューを表示し、
前記プレビューに重畳して前記走査方向を出力する請求項１又は２に記載のプログラム。
【請求項４】
前記描画対象のデータは１行以上のテキストデータが画像データに変換されたものであり、
前記走査方向出力手段は、プレビューとして表示されたテキストデータの行に重ねて前記走査方向を出力する請求項３に記載のプログラム。
【請求項５】
前記走査方向出力手段は、前記液滴吐出装置の１回の走査で媒体に形成できる走査パスごとに前記描画対象のデータを区別して、前記走査パスごとに前記走査方向を出力する請求項４に記載のプログラム。
【請求項６】
前記走査方向出力手段は、前記液滴吐出装置の１回の走査で媒体に形成できる前記テキストデータの行数を前記液滴吐出装置の仕様に基づいて決定し、前記行数の前記テキストデータを１つの前記走査パスに決定する請求項５に記載のプログラム。
【請求項７】
前記走査方向出力手段は、前記走査方向を示す第一の矢印を定期的に前記走査方向に移動させながら、前記液滴吐出装置が走査中の前記走査パスに重ねて表示する請求項５又は６に記載のプログラム。
【請求項８】
前記走査方向出力手段は、各走査パスに走査方向を示す第二の矢印を表示する請求項５〜７のいずれか１項に記載のプログラム。
【請求項９】
前記走査方向出力手段は、前記液滴吐出装置との通信により１つの走査パスの走査の終了を検知し、走査が終了した前記走査パスを走査が終了していない前記走査パスとは異なる態様で表示する請求項５〜８のいずれか１項に記載のプログラム。
【請求項１０】
前記走査方向出力手段は、前記液滴吐出装置との通信により１つの走査パスの走査の終了を検知し、走査が終了していない前記走査パスが残っている場合、現在の走査パスと次の走査パスの間に改行方向を表示する請求項５〜９のいずれか１項に記載のプログラム。
【請求項１１】
前記情報処理装置は前記液滴吐出装置が１つの前記走査パスのうちどこまでを媒体に形成したかに関する情報を前記液滴吐出装置から取得し、
前記走査方向出力手段は、前記走査パスのうち媒体に形成されていない前記走査パスの一部に前記第一の矢印を表示する請求項７に記載のプログラム。
【請求項１２】
前記走査方向出力手段は、前記走査パスのうち媒体に形成された前記走査パスの一部を媒体に形成されていない前記走査パスの残りとは異なる態様で表示する請求項１１に記載のプログラム。
【請求項１３】
前記走査方向出力手段は、１つの前記走査パスのうちどこまでを媒体に形成したかに関する情報に基づいて判断される走査方向が、設定されている走査方向と異なる場合、走査方向が異なる旨を出力する請求項１１又は１２に記載のプログラム。
【請求項１４】
前記情報処理装置は１つの前記走査パスのうちどこまでを媒体に形成したかに関する情報として前記位置情報を取得し、
前記走査方向出力手段は、前記位置情報に基づき予め定められた改行量に必要な改行方向への移動量を表示する請求項１１〜１３のいずれか１項に記載のプログラム。
【請求項１５】
液滴吐出装置の位置を算出する位置算出手段と、
描画対象のデータと位置情報に応じて液滴を吐出する液滴吐出手段と、を有し、
ユーザによって媒体上を走査されることで前記描画対象のデータを媒体に形成する液滴吐出装置と通信する情報処理装置であって、
前記液滴吐出装置の走査方向を出力する走査方向出力手段を有する情報処理装置。
【請求項１６】
液滴吐出装置の位置を算出する位置算出手段と、
描画対象のデータと位置情報に応じて液滴を吐出する液滴吐出手段と、を有し、
ユーザによって媒体上を走査されることで前記描画対象のデータを媒体に形成する液滴吐出装置と通信する情報処理装置が行う表示方法であって、
前記液滴吐出装置の走査方向を出力するステップを有する表示方法。
【請求項１７】
液滴吐出装置の位置を算出する位置算出手段と、
描画対象のデータと位置情報に応じて液滴を吐出する液滴吐出手段と、
前記液滴吐出装置の走査方向を出力する走査方向出力手段と、を有し、
ユーザによって媒体上を走査されることで前記描画対象のデータを媒体に形成する、
ことを特徴とする液滴吐出装置。
【請求項１８】
液滴吐出装置の位置を算出する位置算出手段と、
描画対象のデータと位置情報に応じて液滴を吐出する液滴吐出手段と、を有し、
ユーザによって媒体上を走査されることで前記描画対象のデータを媒体に形成する液滴吐出装置と、
前記液滴吐出装置と通信する情報処理装置を、
前記液滴吐出装置の走査方向を出力する走査方向出力手段として機能させるためのプログラムと、
を有する液滴吐出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置、表示方法、液滴吐出装置、及び、液滴吐出システムに関する。
【背景技術】
【０００２】
スマートフォンなどの小型の情報処理装置の普及、及び、ノートＰＣの小型化等によりプリンタ装置も携帯可能にしてユーザが出先で印刷したいというニーズが高まっている。また、基幹システムと通信するネットワークサービスにおいても、ユーザが出先で基幹システムに入力した内容を顧客との共有のためにその場で印刷したいというニーズがある。
【０００３】
このようなニーズに対し、プリンタ装置から紙搬送システムを削除することで小型化された液滴吐出装置（以下、ＨＨＰ：ハンドヘルドプリンタという）が知られている。ユーザはＨＨＰを把持してノートなどの紙面上を走査させ（移動させ）、ＨＨＰは紙面上における自分の位置を検出して位置に応じて画像を形成するためのインクを吐出する。
【０００４】
このようなＨＨＰではユーザがＨＨＰを走査させるため現在の印字位置をユーザが把握したい場合がある。そこで、印字手段の吐出部の形状が工夫された印字装置が提案されている（例えば、特許文献１参照。）。特許文献１には、紙と接触する掃引ローラに対してインクジェットヘッドを操作者側に配置することにより、操作者がインクジェットヘッドによる印字位置及びその周辺を確認することが可能な印字装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、ユーザがどの方向にＨＨＰを走査させればよいのかが分かりにくいという問題があった。すなわち、印刷媒体はノートなどの白紙であるため二次元の自由度があり、ユーザは左右方向及び上下方向の任意の方向にＨＨＰを走査させることができる。しかし、ＨＨＰはＨＨＰの初期位置を原点として描画対象のデータで決まる範囲に画像を形成するため、ユーザがこの範囲にＨＨＰを走査させないと画像を形成できない。偶然、正しい方向にＨＨＰを走査させることがあるとしてもそれまでの走査により位置に誤差が累積し画質が低下するおそれがある。
【０００６】
本発明は、上記課題に鑑み、ユーザが液滴吐出装置をどの方向に走査させればよいのか把握できるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、液滴吐出装置の位置を算出する位置算出手段と、描画対象のデータと位置情報に応じて液滴を吐出する液滴吐出手段と、を有し、ユーザによって媒体上を走査されることで前記描画対象のデータを媒体に形成する液滴吐出装置と通信する情報処理装置を、前記液滴吐出装置の走査方向を出力する走査方向出力手段として機能させるためのプログラムを提供する。
【発明の効果】
【０００８】
ユーザが液滴吐出装置をどの方向に走査させればよいのか把握できるプログラムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の画像データ出力器が表示する走査方向の概略を説明する図の一例である。
【図２】ＨＨＰによる画像形成を模式的に示す図の一例である。
【図３】ＨＨＰのハードウェア構成図の一例である。
【図４】制御部の構成を説明する図の一例である。
【図５】画像データ出力器のハードウェア構成図の一例である。
【図６】画像データ出力器の機能をブロック状に示す機能ブロック図の一例である。
【図７】ナビゲーションセンサのハードウェア構成の構成例を示す図である。
【図８】ナビゲーションセンサによる移動量の検出方法を説明する図である。
【図９】ＩＪ記録ヘッドにおけるノズル位置等について説明する図の一例である。
【図１０】ＨＨＰの座標系と位置の算出方法を説明する図の一例である。
【図１１】目標吐出位置とノズルの位置の関係を説明する図の一例である。
【図１２】画像データ出力器がＬＣＤに表示する画面を説明する図である。
【図１３】改行の判断を説明する図の一例である。
【図１４】印刷サイズに対し印刷できるテキストの判断方法を説明する図の一例である。
【図１５】プレビュー画面の生成を説明する図の一例である。
【図１６】走査パスの一例を示す図である。
【図１７】画像データ出力器とＨＨＰの間で送受信される情報を説明する図の一例である。
【図１８】走査方向モードを説明する図の一例である。
【図１９】画像データ出力器が表示する走査方向の設定画面の一例を示す図である。
【図２０】画像データ出力器とＨＨＰの動作手順を説明するフローチャート図の一例である。
【図２１】走査方向の表示例を説明する図の一例である。
【図２２】矢印のアニメーション表示を説明する図の一例である。
【図２３】画像データ出力器が走査方向を表示する手順を示すフローチャート図の一例である。
【図２４】位置情報を使ったプレビュー画面の表示例を示す図である。
【図２５】位置情報を取得した画像データ出力器の走査方向の表示に関する動作を示すフローチャート図の一例である。
【図２６】走査方向が正しくない場合に表示されるアラート等を説明する図の一例である。
【図２７】位置情報を取得できない場合にプレビュー生成部が表示するアラート等を説明する図の一例である。
【図２８】ＨＨＰに表示される走査方向を説明する図の一例である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態の一例として、液滴吐出装置、画像データ出力器１１が行う表示方法、及び、液滴吐出装置と画像データ出力器１１が実行するプログラムとの液滴吐出システム等について、図面を参照しながら説明する。
【００１１】
＜走査方向の表示の概略＞
図１は本実施形態の画像データ出力器１１が表示する走査方向の概略を説明する図の一例である。画像データ出力器１１はハンドヘルドプリンタ（以下、ＨＨＰという）２０と無線で通信して、画像データと走査に関する情報をＨＨＰ２０に送信する。ユーザは印刷媒体１２の左上などにＨＨＰ２０を配置する。
【００１２】
走査の準備が整うと、画像データ出力器１１は画像データのプレビュー画面４１１に、画像データを形成するためにユーザがＨＨＰ２０を走査させるべき方向を表示する。走査方向は図では矢印１０１（第一の矢印）で示されている。したがって、ユーザはプレビュー画面４１１に表示された走査方向にしたがって適切な方向にＨＨＰ２０を走査させることができる。
【００１３】
＜用語について＞
描画対象のデータとは液滴の吐出により視覚的に把握できる態様で形成されるデータを言う。例えば、画像データであるが、設計図のようなデータでもよく画像として認識されていなくてもよい。
【００１４】
走査方向は、ユーザがＨＨＰ２０を印刷媒体１２の上（媒体上）を移動させる方向である。ＨＨＰ２０の向き（姿勢）については含まれないが、姿勢と共に走査方向を表示してよい。本実施形態で説明される走査方向は、主に左右方向又は上下方向であるが、斜め方向が走査方向でもよい。
【００１５】
また、出力には、表示の他、音声による出力も含まれる。
【００１６】
＜ＨＨＰによる画像形成＞
図２は、ＨＨＰ２０による画像形成を模式的に示す図の一例である。ＨＨＰ２０には、例えば画像データ出力器１１から画像データと走査に関する情報が送信される。ＨＨＰ２０と画像データ出力器１１、又は、ＨＨＰ２０と画像データ出力器１１で動作するプログラムを液滴吐出システム１００という。ユーザはＨＨＰ２０を把持して、印刷媒体１２（例えば定形用紙やノートなど）からＨＨＰ２０が浮き上がらないようにフリーハンドで走査させる。
【００１７】
画像データ出力器１１は、ＨＨＰ２０と無線又は有線で通信する機能を情報処理装置であればよい。画像データ出力器１１は、例えば、スマートフォン、タブレット端末、ＰＣ（Personal Computer）、ＰＤＡ（Personal Digital Assistant）、携帯電話、ハンディターミナル、ウェアラブルＰＣ（例えば、腕時計型、サングラス型）、携帯型のゲーム機、カーナビゲーション、デジタルカメラ、プロジェクタ、テレビ会議端末、又は、ドローン等が挙げられる。
【００１８】
ＨＨＰ２０は後述するようにナビゲーションセンサとジャイロセンサで位置を検出し、ＨＨＰ２０が目標吐出位置に移動すると、目標吐出位置で吐出すべき色のインクを吐出する。すでにインクを吐出した場所はマスクされるので（インクの吐出の対象とならないので）、ユーザは印刷媒体１２上で任意の方向にＨＨＰ２０を走査させることで画像を形成できる。
【００１９】
印刷媒体１２からＨＨＰ２０が浮き上がらないことが好ましいのは、ナビゲーションセンサが印刷媒体１２からの反射光を利用して移動量を検出するためである。印刷媒体１２からＨＨＰ２０が浮き上がると反射光を検出できなくなり移動量を検出できない。したがって、１回の操作で形成可能なＮ行分などの一まとまりの画像データはある初期位置に基づいて形成される。仮に、一まとまりの画像データの形成の途中でＨＨＰ２０が位置を検出できない状態になると、ユーザは画像データ出力器１１にキャンセル又はリトライを指示する。
【００２０】
ＨＨＰ２０は、印刷媒体１２にインクを吐出して画像を形成するためインクジェットプリンタと呼ぶことができる。吐出する流体はインクに限られず、少なくとも吐出時に液状になればよいため液滴吐出装置と称することもできる。また、画像を形成するため画像形成装置又は印刷装置と称してもよいし、画像を処理するため画像処理装置と称してもよい。また、ＨＨＰ２０は、ユーザが手で持て携帯できるという意味からＨＭＰ（Handy Mobile Printer）と称される場合がある。
【００２１】
印刷媒体１２は平面を一部に有していればよい。平面は曲面であってもよい。例えば、用紙やノートなどが挙げられる。印刷媒体は机や床に水平でも垂直でもよい。また、印刷媒体１２はシート状の形状に限られず、壁や天井などにもＨＨＰ２０は画像を形成できる。例えば、段ボールの側面、底面、上面等にも印刷可能である。また、地面や施設等に固定されている立体物にも印刷可能である。
【００２２】
＜構成例＞
<<ＨＨＰ>>
図３は、ＨＨＰ２０のハードウェア構成図の一例を示す。ＨＨＰ２０は、制御部２５によって全体の動作が制御され、制御部２５には通信Ｉ/Ｆ２７、ＩＪ記録ヘッド駆動回路２３、ＯＰＵ２６、ＲＯＭ２８、ＤＲＡＭ２９、ナビゲーションセンサ３０、及びジャイロセンサ３１が電気的に接続されている。また、ＨＨＰ２０は電力により駆動されるため、電源２２と電源回路２１を有している。電源回路２１が生成する電力は、点線２２ａで示す配線などにより、通信Ｉ/Ｆ２７、ＩＪ記録ヘッド駆動回路２３、ＯＰＵ２６、ＲＯＭ２８、ＤＲＡＭ２９、ＩＪ記録ヘッド２４、制御部２５、ナビゲーションセンサ３０、及び、ジャイロセンサ３１に供給されている。
【００２３】
電源２２としては主に電池（バッテリ）が利用される。電池は市販の乾電池又は充電池でも専用の充電池でもよい。太陽電池や商用電源（交流電源）、燃料電池等が用いられてもよい。電源回路２１は、電源２２が供給する電力をＨＨＰ２０の各部に分配する。また、電源２２の電圧を各部に適した電圧に降圧や昇圧する。また、電源２２が充電可能な電池である場合、電源回路２１は交流電源の接続を検出して電池の充電回路に接続し、電源２２の充電を可能にする。
【００２４】
通信Ｉ/Ｆ２７は、スマートフォンやＰＣ（Personal Computer）等の画像データ出力器１１から画像データの受信等を行う。通信Ｉ/Ｆ２７は例えば無線ＬＡＮ、Bluetooth（登録商標）、ＮＦＣ（Near Field Communication）、赤外線、３Ｇ（携帯電話）、又は、ＬＴＥ（Long Term Evolution）等の通信規格に対応した通信装置である。また、このような無線通信の他、有線ＬＡＮ、ＵＳＢケーブルなどを用いた有線通信に対応した通信装置であってもよい。
【００２５】
ＲＯＭ２８は、ＨＨＰ２０のハードウェア制御を行うファームウェアや、ＩＪ記録ヘッド２４の駆動波形データ（液滴を吐出するための電圧変化を規定するデータ）や、ＨＨＰ２０の初期設定データ等を格納している。
【００２６】
ＤＲＡＭ２９は通信Ｉ/Ｆ２７が受信した画像データの記憶、又は、ＲＯＭ２８から展開されたファームウェアの格納のために使用される。したがって、ＣＰＵ３３がファームウェアを実行する際のワークメモリとして使用される。
【００２７】
ナビゲーションセンサ３０は、所定のサイクル時間ごとにＨＨＰ２０の移動量を検出するセンサである。ナビゲーションセンサ３０は、例えば、発光ダイオード（ＬＥＤ）やレーザ等の光源と、印刷媒体１２を撮像する撮像センサを有している。ＨＨＰ２０が印刷媒体１２上を走査されると、印刷媒体１２の微小なエッジが次々に検出され（撮像され）エッジ間の距離を解析することで移動量が得られる。本実施形態では、ナビゲーションセンサ３０は、ＨＨＰ２０の底面に１つだけ搭載されている。従来は２つであったため、ナビゲーションセンサ３０が２つあってもよい。ナビゲーションセンサ３０が１つでよいのはジャイロセンサ３１が搭載されたためである。なお、ナビゲーションセンサ３０として、更に多軸の加速度センサを用いてもよく、ＨＨＰ２０は加速度センサのみでＨＨＰ２０の移動量を検出してもよい。
【００２８】
ジャイロセンサ３１は、印刷媒体１２に垂直な軸を中心にＨＨＰ２０が回転した際の角速度を検出するセンサである。制御部２５はこの角速度を積分してＨＨＰ２０の姿勢を算出する。姿勢とは印刷媒体１２に垂直な軸に対するＨＨＰ２０の回転角である。回転角の基準の一例は印刷の開始時のＨＨＰ２０の長手方向である。
【００２９】
ＯＰＵ（Operation panel Unit）２６は、ＨＨＰ２０の状態を表示するＬＥＤ、ユーザがＨＨＰ２０に画像形成を指示するためのスイッチ等を有している。ただし、これに限定するものではなく、液晶ディスプレイを有していてよく、更にタッチパネルを有していてもよい。また、音声入力機能を有していてもよい。
【００３０】
ＩＪ記録ヘッド駆動回路２３は上記の駆動波形データを用いて、ＩＪ記録ヘッド２４を駆動するための駆動波形（電圧）を生成する。インクの液滴のサイズなどに応じた駆動波形を生成できる。
【００３１】
ＩＪ記録ヘッド２４は、インクを吐出するためのヘッドである。図ではＣＭＹＫの４色のインクを吐出可能になっているが、単色でもよく５色以上の吐出が可能でもよい。各色ごとに一列（二列以上でもよい）に列状に並んだ複数のインク吐出用のノズル６１（吐出部）が配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でもよく、この他の方式でもよい。ＩＪ記録ヘッド２４は、ノズル６１から液体を吐出・噴射する機能部品である。吐出される液体は、ＩＪ記録ヘッド２４から吐出可能な粘度や表面張力を有するものであればよく、特に限定されないが、常温、常圧下において、又は加熱、冷却により粘度が３０ｍＰａ・ｓ以下となるものであることが好ましい。より具体的には、水や有機溶媒等の溶媒、染料や顔料等の着色剤、重合性化合物、樹脂、界面活性剤等の機能性付与材料、ＤＮＡ、アミノ酸やたんぱく質、カルシウム等の生体適合材料、天然色素等の可食材料、などを含む溶液、懸濁液、エマルジョンなどであり、これらは例えば、インクジェット用インク、表面処理液、電子素子や発光素子の構成要素や電子回路レジストパターンの形成用液、３次元造形用材料液等の用途で用いることができる。
【００３２】
制御部２５はＣＰＵ３３を有しＨＨＰ２０の全体を制御する。制御部２５は、ナビゲーションセンサ３０により検出される移動量及びジャイロセンサ３１により検出される角速度を元に、ＩＪ記録ヘッド２４の各ノズルの位置、該位置に応じて形成する画像の決定、後述する吐出ノズル可否判定等を行う。制御部２５について詳細は次述する。
【００３３】
図４は、制御部２５の構成を説明する図の一例である。制御部２５はＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０を有している。ＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０はバス４６，４７を介して通信する。ＡＳＩＣ/ＦＰＧＡ４０はどちらの実装技術で設計されてもよいことを意味し、ＡＳＩＣ/ＦＰＧＡ４０以外の他の実装技術で構成されてよい。また、ＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０を別のチップにすることなく１つのチップや基板で構成してもよい。あるいは、３つ以上のチップや基板で実装してもよい。
【００３４】
ＳｏＣ５０は、バス４７を介して接続されたＣＰＵ３３、位置算出回路３４、メモリＣＴＬ（コントローラ）３５、及び、ＲＯＭ ＣＴＬ（コントローラ）３６等の機能を有している。なお、ＳｏＣ５０が有する構成要素はこれらに限られない。
【００３５】
また、ＡＳＩＣ/ＦＰＧＡ４０は、バス４６を介して接続されたImage RAM３７、ＤＭＡＣ３８、回転器３９、割込みコントローラ４１、ナビゲーションセンサＩ/Ｆ４２、印字/センサタイミング生成部４３、ＩＪ記録ヘッド制御部４４及びジャイロセンサＩ/Ｆ４５を有している。なお、ＡＳＩＣ/ＦＰＧＡ４０が有する構成要素はこれらに限られない。
【００３６】
ＣＰＵ３３は、ＲＯＭ２８からＤＲＡＭ２９に展開されたファームウェア（プログラム）などを実行し、ＳｏＣ５０内の位置算出回路３４、メモリＣＴＬ３５、及び、ＲＯＭ ＣＴＬ３６の動作を制御する。また、ＡＳＩＣ/ＦＰＧＡ４０内のImage RAM３７、ＤＭＡＣ３８、回転器３９、割込みコントローラ４１、ナビゲーションセンサＩ/Ｆ４２、印字/センサタイミング生成部４３、ＩＪ記録ヘッド制御部４４及びジャイロセンサＩ/Ｆ４５等の動作を制御する。
【００３７】
位置算出回路３４は、ナビゲーションセンサ３０が検出するサンプリング周期ごとの移動量及びジャイロセンサ３１が検出するサンプリング周期ごとの角速度に基づいてＨＨＰ２０の位置（座標情報）を算出する。ＨＨＰ２０の位置とは、厳密にはノズル６１の位置であるが、ナビゲーションセンサ３０のある位置が分かればノズル６１の位置を算出できる。本実施例では、特に断らない限りナビゲーションセンサ３０の位置とはナビゲーションセンサ３０の位置である。なお、位置算出回路３４をＣＰＵ３３がソフト的に実現してもよい。
【００３８】
ナビゲーションセンサ３０の位置は、後述するように例えば所定の原点（画像形成が開始される時のＨＨＰ２０の初期位置）を基準に算出されている。また、位置算出回路３４は、過去の位置と最も新しい位置の差に基づいて移動方向や加速度を推定し、例えば次回の吐出タイミングにおけるナビゲーションセンサ３０の位置を予測する。こうすることで、ユーザの走査に対する遅れを抑制してインクを吐出できる。
【００３９】
メモリＣＴＬ３５は、ＤＲＡＭ２９とのインタフェースであり、ＤＲＡＭ２９に対しデータを要求し、取得したファームウェアをＣＰＵ３３に送出したり、取得した画像データをＡＳＩＣ/ＦＰＧＡ４０に送出したりする。
【００４０】
ＲＯＭ ＣＴＬ３６は、ＲＯＭ２８とのインタフェースであり、ＲＯＭ２８に対しデータを要求し、取得したデータをＣＰＵ３３やＡＳＩＣ/ＦＰＧＡ４０に送出する。
【００４１】
回転器３９は、ＤＭＡＣ３８が取得した画像データを、インクを吐出するヘッド、ヘッド内のノズル位置、及び、取り付け誤差などによるヘッド傾きに応じて回転させる。ＤＭＡＣ３８は回転後の画像データをＩＪ記録ヘッド制御部４４へ出力する。
【００４２】
Image RAM３７はＤＭＡＣ３８が取得した画像データを一時的に格納する。すなわち、ある程度の画像データがバッファリングされ、ＨＨＰ２０の位置に応じて読み出される。
【００４３】
ＩＪ記録ヘッド制御部４４は、画像データ（例えばＴｉｆｆ形式のデータ）にディザ処理などを施して大きさと密度で画像を表す点の集合に画像データを変換する。これにより、画像データは吐出位置と点のサイズのデータとなる。ＩＪ記録ヘッド制御部４４は点のサイズに応じた制御信号をＩＪ記録ヘッド駆動回路２３に出力する。
【００４４】
ＩＪ記録ヘッド駆動回路２３は上記のように制御信号に対応した駆動波形データを用いて、駆動波形（電圧）を生成する。
【００４５】
ナビゲーションセンサＩ/Ｆ４２は、ナビゲーションセンサ３０と通信し、ナビゲーションセンサ３０からの情報として移動量ΔＸ´、ΔＹ´（これらについては後述する）を受信し、その値を内部レジスタに格納する。
【００４６】
印字/センサタイミング生成部４３は、ナビゲーションセンサＩ/Ｆ４２とジャイロセンサＩ/Ｆ４５が情報を読み取るタイミングを通知し、ＩＪ記録ヘッド制御部４４に駆動タイミングを通知する。情報を読み取るタイミングの周期はインクの吐出タイミングの周期よりも長い。ＩＪ記録ヘッド制御部４４は吐出ノズル可否判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。
【００４７】
ジャイロセンサＩ/Ｆ４５は印字/センサタイミング生成部４３により生成されたタイミングになるとジャイロセンサ３１が検出する角速度を取得してその値をレジスタに格納する。
【００４８】
割込みコントローラ４１は、ナビゲーションセンサＩ/Ｆ４２がナビゲーションセンサ３０との通信が完了したことを検知して、ＳｏＣ５０へそれを通知するための割込み信号を出力する。ＣＰＵ３３はこの割込みにより、ナビゲーションセンサＩ/Ｆ４２が内部レジスタに記憶するΔＸ´、ΔＹ´を取得する。その他、エラー等のステータス通知機能も有する。ジャイロセンサＩ/Ｆ４５に関しても同様に、割込みコントローラ４１はＳｏＣ５０に対し、ジャイロセンサ３１との通信が終了したことを通知するための割込み信号を出力する。
【００４９】
<<画像データ出力器１１>>
図５は、画像データ出力器１１のハードウェア構成図の一例である。図示する画像データ出力器１１は、ＣＰＵ２０１、フラッシュＲＯＭ２０２、ＲＡＭ２０３、無線通信モジュール２０４、アンテナ２０５、カメラ２０６、ＬＣＤ２０７、タッチパネル２０８、外部Ｉ/Ｆ２０９、マイク２１０、及び、スピーカー２１１を備えている。これらはバス２１２に接続され、データのやり取りが可能である。また、画像データ出力器１１はバッテリ２１３を備えており、上記の各デバイスへ電力を供給している。
【００５０】
ＣＰＵ２０１は、フラッシュＲＯＭ２０２に記憶されたプログラムにしたがって、各種データの演算処理などにより画像データ出力器１１全体を制御するものである。フラッシュＲＯＭ２０２は画像データ出力器１１全体を制御するプログラム２０２ｐを記憶すると共に、各種データを記憶するストレージとしても機能する。
【００５１】
ＲＡＭ２０３は、ＣＰＵ２０１のワークメモリとして使用される。フラッシュＲＯＭ２０２に記憶されたプログラム２０２ｐはＲＡＭ２０３に読み込まれて、ＣＰＵ２０１により実行される。
【００５２】
無線通信モジュール２０４はBluetooth（登録商標）、無線ＬＡＮ、ＮＦＣ、又は、赤外線等によりＨＨＰ２０と通信する。３ＧやＬＴＥなどの携帯電話回線を利用した音声通信やデータ通信をおこなってもよい。
【００５３】
カメラ２０６は撮像素子から出力された画像信号をＡ/Ｄ変換する。ＬＣＤ２０７は、画像データ出力器１１を操作するためのアイコンや、各種のデータを表示する。タッチパネル２０８はＬＣＤ２０７に重ね合わせて密着しており、指が接触した位置を検出する。
【００５４】
外部Ｉ/Ｆ２０９は、例えばＵＳＢインタフェースであり、外部機器を接続するためのインタフェースである。マイク２１０は入力された音声信号をA(Analog)/D（Digital）変換する。スピーカー２１１は音データをＤ/Ａ変換して可聴信号を出力する。
【００５５】
＜画像データ出力器１１の機能について＞
図６は、画像データ出力器１１の機能をブロック状に示す機能ブロック図の一例である。画像データ出力器１１は、通信部５１、表示制御部５２、操作受付部５３、印刷制御部５４、プレビュー生成部５５、及び、記憶部５９の各機能を有する。これら画像データ出力器１１の機能部は、ＣＰＵ２０１がプログラム２０２ｐを実行し図５に示したハードウェアと協働することで実現される機能又は手段である。なお、プログラム２０２ｐは、プログラム配信用のサーバから配信されてもよいし、ＵＳＢメモリや光記憶媒体などの可搬性の記憶媒体に記憶された状態で配布されてもよい。
【００５６】
通信部５１は、ＨＨＰ２０と各種の情報を送受信する。本実施形態では画像データ及び走査に関する情報をＨＨＰ２０に送信し、走査の開始及び走査の終了をＨＨＰ２０から受信する。通信部５１は、フラッシュＲＯＭ２０２からＲＡＭ２０３に展開されたプログラム２０２ｐをＣＰＵ２０１が実行し無線通信モジュールを制御すること等により実現される。
【００５７】
表示制御部５２は、ＬＣＤ２０７に表示される各種の画面の表示に関する制御を行う。本実施形態ではプレビュー画面４１１にユーザがＨＨＰ２０を走査すべき方向を表示する。表示制御部５２は、フラッシュＲＯＭ２０２からＲＡＭ２０３に展開されたプログラム２０２ｐをＣＰＵ２０１が実行しＬＣＤ２０７を制御すること等により実現される。
【００５８】
操作受付部５３は、ユーザの画像データ出力器１１に対する各種の操作を受け付ける。操作受付部５３はフラッシュＲＯＭ２０２からＲＡＭ２０３に展開されたプログラム２０２ｐをＣＰＵ２０１が実行しタッチパネル２０８を制御すること等により実現される。
【００５９】
印刷制御部５４は、画像データの印刷に関する制御を行う。すなわち、ＨＨＰ２０との通信、画像データの生成、及び、印刷中断・再開等に関する制御を行う。印刷制御部５４は、フラッシュＲＯＭ２０２からＲＡＭ２０３に展開されたプログラム２０２ｐをＣＰＵ２０１が実行すること等により実現される。
【００６０】
プレビュー生成部５５は、プレビュー画面を生成すると共に走査方向を生成する。実際の表示は表示制御部５２が行うが、プレビュー生成部５５は走査方向を示す矢印の位置、向き、形状、色等を決定する。プレビュー生成部５５は、フラッシュＲＯＭ２０２からＲＡＭ２０３に展開されたプログラム２０２ｐをＣＰＵ２０１が実行すること等により実現される。
【００６１】
記憶部５９は、画像データ５９１を記憶する。画像データ５９１はどのようなファイルフォーマットでもよいが、例えばＴＩＦＦ、ＪＰＥＧ、ＢＭＰなどの画像ファイルである。あるいは、ＰＤＬ（Page Description Language）で記述された印刷データ（ポストスクリプト、ＰＤＦ等）でもよい。画像データ５９１は、例えばユーザが画像データ出力器１１に入力した１行以上のテキストデータが変換されたものである。あるいは、クラウドなどのサーバからダウンロードされてもよい。また、テキストデータは音声認識により生成されてもよい。記憶部５９は、フラッシュＲＯＭ２０２及びＲＡＭ２０３の少なくとも一方により実現される。
【００６２】
＜ナビゲーションセンサについて＞
図７は、ナビゲーションセンサのハードウェア構成の構成例を示す図である。ナビゲーションセンサ３０は、ホストＩ/Ｆ３０１、イメージプロセッサ３０２、ＬＥＤドライバ３０３、２つのレンズ３０４、３０６及び、イメージアレイ３０５を有する。ＬＥＤドライバ３０３は、ＬＥＤと制御回路が一体となっておりイメージプロセッサ３０２からの命令によりＬＥＤ光を照射する。イメージアレイ３０５は、印刷媒体１２からのＬＥＤ光の反射光を、レンズ３０４を介して受光する。２つのレンズ３０４，３０６は、印刷媒体１２の表面に対して光学的に焦点が合うように設置されている。
【００６３】
イメージアレイ３０５は、ＬＥＤ光の波長に感度を有するフォトダイオードなどを有し、受光したＬＥＤ光からイメージデータを生成する。イメージプロセッサ３０２はイメージデータを取得して、イメージデータからナビゲーションセンサの移動距離（上記のΔＸ´、ΔＹ´）を算出する。イメージプロセッサ３０２は、算出した移動距離を、ホストＩ/Ｆ３０１を介して制御部２５へ出力する。
【００６４】
光源として使用される発光ダイオード(ＬＥＤ)は、表面が粗い印刷媒体１２、例えば紙を使用する場合に有用である。これは、表面が粗い場合、影が発生するため、その影を特徴部分として、Ｘ軸方向及びＹ軸方向の移動距離を正確に算出することが可能になるからである。一方、表面が滑らか、あるいは透明な印刷媒体１２に対しては、光源としてレーザ光を発生させる半導体レーザ(ＬＤ)を使用することができる。半導体レーザで、印刷媒体１２上に例えば縞模様等を形成することで特徴部分を作ることができ、それを基に正確に移動距離を算出することができるからである。
【００６５】
次に、図８を用いて、ナビゲーションセンサ３０の動作について説明する。図８はナビゲーションセンサ３０による移動量の検出方法を説明する図である。ＬＥＤドライバ３０３が照射した光は、レンズ３０６を介して印刷媒体１２の表面に照射される。印刷媒体１２の表面は、図８（ａ）に示すように様々な形状の微小な凹凸を有している。このため、様々な形の影が発生する。
【００６６】
イメージプロセッサ３０２は、予め決められたサンプリングタイミング毎に、レンズ３０４及びイメージアレイ３０５を介して反射光を受光し、イメージデータ３１０を取得する。図８（ｂ）に示すように生成したイメージデータ３１０を、イメージプロセッサ３０２は規定の分解能単位でマトリクス化する。すなわち、イメージデータ３１０を複数の矩形領域に分割する。そして、イメージプロセッサ３０２は、前回のサンプリングタイミングで得られたイメージデータ３１０と、今回のサンプリングタイミングで得られたイメージデータ３１０とを比較してイメージデータ３１０が移動した矩形領域の数を検出し、それを移動距離として算出する。図８（ｂ）で図示するΔＸ方向にＨＨＰ２０が移動したとする。ｔ＝０とｔ＝１のイメージデータ３１０を比較すると、右端にある形状が中央の形状と一致する。したがって、形状は−Ｘ方向に移動しているので、ＨＨＰ２０がＸ方向に一マス分移動したことが分かる。時刻ｔ＝１とｔ＝２についても同様である。
【００６７】
＜ＩＪ記録ヘッドにおけるノズル位置について＞
次に、図９を用いて、ＩＪ記録ヘッド２４におけるノズル位置等について説明する。図９（ａ）は、ＨＨＰ２０の平面図の一例である。図９（ｂ）はＩＪ記録ヘッド２４のみを説明する図の一例である。図示されている面が印刷媒体１２に対向する面である。
【００６８】
本実施形態のＨＨＰ２０は、１つのナビゲーションセンサ３０を有している。ナビゲーションセンサ３０からＩＪ記録ヘッド２４までの距離はａである。距離ａはゼロでもよい（ＩＪ記録ヘッド２４に接している）。本実施形態ではナビゲーションセンサ３０は１つだけなので、ナビゲーションセンサ３０はＩＪ記録ヘッド２４の周囲の任意の場所に配置されてよい。したがって、図示するナビゲーションセンサ３０の位置は一例である。ただし、ＩＪ記録ヘッド２４とナビゲーションセンサ３０の距離が短いことでＨＨＰ２０の底面のサイズを削減しやすくなる。
【００６９】
図９（ｂ）に示すように、ＩＪ記録ヘッド２４の端から最初のノズル６１までの距離は距離ｄ、隣接するノズル間の距離は距離ｅである。ａ〜ｅの値はＲＯＭ２８などに予め記憶されている。
【００７０】
位置算出回路３４などがナビゲーションセンサ３０の位置を算出すれば、距離ａ、距離ｄ及び距離ｅを用いて、位置算出回路３４はノズル６１の位置を算出できる。
【００７１】
＜印刷媒体におけるＨＨＰ２０の位置について＞
図１０は、ＨＨＰ２０の座標系と位置の算出方法を説明する図の一例である。本実施形態では、印刷媒体１２に水平な方向をＸ軸、垂直な方向をＹ軸に設定する。原点は印刷開始時のナビゲーションセンサ３０の位置である。この座標を印刷媒体座標と称することにする。これに対し、ナビゲーションセンサ３０は図１０の座標軸（Ｘ´軸、Ｙ´軸）で移動量を出力する。すなわち、ノズル６１の配列方向をＹ´軸、Ｙ´軸に直交する方向をＸ´軸として移動量を出力する。
【００７２】
図１０（ａ）に示したように、印刷媒体１２に対しＨＨＰ２０が時計回りにθ回転している場合を例にして説明する。ユーザがＨＨＰ２０を印刷媒体座標に対し全く傾けることなく走査させることは困難であるためゼロでないθが生じると考えられる。全く回転していなければ、Ｘ＝Ｘ´、Ｙ＝Ｙ´である。しかし、ＨＨＰ２０が印刷媒体１２に対し回転角θ、回転した場合、ナビゲーションセンサ３０の出力とＨＨＰ２０の印刷媒体１２における実際の位置が一致しなくなる。回転角θは時計回りが正、Ｘ、Ｘ´は右方向が正、Ｙ、Ｙ´は上方向が正である。
【００７３】
図１０（ａ）はＨＨＰ２０のＸ座標を説明する図の一例である。図１０（ａ）では回転角θのＨＨＰ２０がＸ方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサ３０が検出する移動量ΔＸ´、ΔＹ´とＸ，Ｙの対応を示している。なお、ナビゲーションセンサ３０が２つある場合、相対位置は固定なので２つのナビゲーションセンサ３０の出力（移動量）は同じである。ナビゲーションセンサ３０のＸ座標はＸ１＋Ｘ２であり、Ｘ１＋Ｘ２はΔＸ´、ΔＹ´及び回転角θから求められる。
【００７４】
図１０（ｂ）は回転角θのＨＨＰ２０がＹ方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサ３０が検出する移動量ΔＸ´、ΔＹ´とＸ，Ｙの対応を示している。ナビゲーションセンサ３０のＹ座標はＹ１＋Ｙ２であり、Ｙ１＋Ｙ２は−ΔＸ´、ΔＹ´及び回転角θから求められる。
【００７５】
したがって、ＨＨＰ２０がＸ方向及びＹ方向に回転角θのまま移動した場合、ナビゲーションセンサ３０が出力するΔＸ´、ΔＹ´は印刷媒体座標のＸ，Ｙに以下のように変換できる。
Ｘ＝ΔＸ´cosθ＋ΔＹ´sinθ  …（１）
Ｙ＝−ΔＸ´sinθ＋ΔＹ´cosθ  …（２）
＜回転角θ＞
続いて、ジャイロセンサ３１の出力を用いた回転角θの算出方法を説明する。ジャイロセンサ３１の出力は角速度ωである。
ω=dθ/dt
であるから、ｄｔをサンプリング周期とすると回転角ｄθは以下で表せる。
dθ=ω×dt
したがって、現在（時間t=0〜N）の回転角θは以下のようになる。
【００７６】
【数１】
2019003336.tif 000003
このように、ジャイロセンサ３１により回転角θを求めることができる。式（１）（２）に示すように、回転角θを用いて位置を算出できる。ナビゲーションセンサ３０の位置を算出できれば、図９（ｂ）に示したａ〜ｅの値により、位置算出回路３４は各ノズル６１の座標を算出することができる。なお、式（１）のＸ、式（２）のＹはそれぞれサンプリング周期における変化量なのでこのＸ，Ｙを累積することで現在の位置が求められる。
【００７７】
＜目標吐出位置＞
続いて、図１１を用いて目標吐出位置について説明する。図１１は、目標吐出位置とノズル６１の位置の関係を説明する図の一例である。目標吐出位置Ｇ１〜Ｇ９は、ＨＨＰ２０がノズル６１からインクを着弾させる目標位置（画素の形成先）である。目標吐出位置Ｇ１〜Ｇ９は、ＨＨＰ２０の初期位置とＨＨＰ２０のＸ軸/Ｙ軸方向の解像度(Xdpi,Ydpi)から求めることができる。
【００７８】
例えば、解像度が３００dpiの場合、ＨＨＰ２０の初期位置を基準にＩＪ記録ヘッド２４の長手方向及びこれに対し垂直な方向に約0.084[mm]ごとに目標吐出位置が設定される。この目標吐出位置Ｇ１〜Ｇ９に吐出される画素があれば、ＨＨＰ２０はインクを吐出する。
【００７９】
しかし、実際には、ノズル６１と目標吐出位置が完全に一致するタイミングを捉えることは困難なので、ＨＨＰ２０は目標吐出位置とノズル６１の現在位置との間に許容誤差６２を設けている。そして、ノズル６１の現在位置が目標吐出位置から許容誤差６２の範囲内にある場合に、ノズル６１からインクを吐出する（このような許容範囲を設けることを「吐出ノズル可否判定」という。）。
【００８０】
また、矢印６３に示すように、ＨＨＰ２０はノズル６１の移動方向と加速度を監視しており、次回の吐出タイミングのノズル６１の位置を予測している。したがって、予測された位置と許容誤差６２の範囲内を比較してインクの吐出を準備することが可能になる。
【００８１】
【表１】
2019003336.tif 000004
表１は目標吐出位置に対するインクの吐出の有無と吐出済みが記録された吐出制御テーブルを模式的に示す。吐出制御テーブルには上記の目標吐出位置に対し、画像データに基づくインクの吐出の有無が対応付けられている。目標吐出位置に画素（ドット）がある場合、「インクの吐出」の項目には"１"が対応付けられる。また、「吐出済み」の項目には画素がある目標吐出位置に対しインクが吐出されたか否かが登録される。
【００８２】
ＩＪ記録ヘッド制御部４４（ＣＰＵなど他の機能でもよい）は画像データに基づいて吐出制御テーブルを生成し、位置算出回路３４が算出したノズル６１の位置に対し、「インクの吐出」が"１"かつ「吐出済み」が"０"の目標吐出位置に対し吐出ノズル可否判定を行い、インクを吐出すると「吐出済み」に"１"を設定する。
【００８３】
＜画像データの生成例＞
次に、図１２を用いて画像データの生成例を説明する。図１２は画像データ出力器１１がＬＣＤ２０７に表示する画面を説明する図である。
【００８４】
図１２（ａ）はテキストが入力されていない状態のテキスト入力画面４０１の一例を示す。テキスト入力画面４０１は、幅設定欄４０２、高さ設定欄４０３、音声入力アイコン４０４、消しゴムアイコン４０５、テキスト設定アイコン４０６、テキスト表示欄４０７、及び、プレビューボタン４０８を有する。
【００８５】
幅設定欄４０２は、印刷媒体１２の幅をユーザが設定するための設定欄であり、高さ設定欄４０３は印刷媒体１２高さをユーザが設定するための設定欄である。ＨＨＰ２０は用紙搬送機構を有さないのでユーザが使用する印刷媒体１２の幅と高さに関する情報を取得できない。このため、ユーザは印刷媒体１２の幅と高さ（例えば[mm]単位）を設定する。高さ設定欄４０３についても同様である。
【００８６】
音声入力アイコン４０４はユーザがテキストを音声で入力するためのボタンであり、消しゴムアイコン４０５はテキスト表示欄４０７のテキストをユーザが１文字削除するためのボタンである。
【００８７】
テキスト設定アイコン４０６は、ボールド体、斜体、下線、取消線、及び、文字サイズをユーザが設定するためのボタンである。文字サイズはポイント数で設定されることが一般的であるが文字サイズの単位を制限する意図でない。
【００８８】
ユーザはテキスト表示欄４０７に任意のテキストを入力する。操作受付部５３はこの操作を受け付け、図１２（ｂ）に示すように表示制御部５２がテキスト表示欄４０７にテキストを表示する。
【００８９】
ユーザがプレビューボタン４０８を押下すると、操作受付部５３がこの操作を受け付け、プレビュー生成部５５がプレビュー画面４１１を生成し表示制御部５２がプレビュー画面４１１を表示する。図１２（ｃ）はプレビュー画面４１１の一例を示す。プレビュー画面４１１の生成方法については図１５にて詳述する。プレビュー画面４１１では、それぞれの走査パス４１２が区別された状態でテキストが表示される。図１２（ｃ）では走査パス４１２の数が４個である。したがって、ユーザは何回の走査が必要か一目で把握できる。
【００９０】
プレビュー画面４１１は繰り返し印刷ボタン４１３、閉じるボタン４１４、及び、開始ボタン４１５を有する。繰り返し印刷ボタン４１３は同じテキストを繰り返し印刷することをユーザが設定するためのボタンである。画像データ出力器１１は同じ画像データを再度、ＨＨＰ２０に送信する必要がない。閉じるボタン４１４はプレビュー画面４１１を閉じるためのボタンである。開始ボタン４１５はユーザが印刷を開始するためのボタンである。具体的には開始ボタン４１５の押下により画像データ及び走査に関する情報がＨＨＰ２０に送信される。
【００９１】
＜印刷サイズの判断＞
テキスト表示欄４０７のテキストは印刷媒体１２の１ページに収められることが好ましい。このため、プレビュー生成部５５は文字サイズ、幅設定欄４０２及び高さ設定欄４０３で設定された値に基づいて、テキストの全体が印刷媒体１２に印刷可能かどうかを判断する。
【００９２】
テキスト表示欄４０７で改行されていない一連の文字は印刷媒体１２の幅の制約により自動的に改行されるので、まず、改行の判断について説明する。
【００９３】
図１３は改行の判断を説明する図の一例である。図１３（ａ）は改行なしと判断されるテキスト例を示し、図１３（ｂ）は改行有りと判断されるテキスト例を示す。印刷制御部５４は「文字サイズ×文字数」と「幅入力欄の値」を比較して改行があるか否かを判断する。
【００９４】
例えば、文字サイズが１６ポイントで１０文字の場合は、テキストの長さは「16×0.35[mm]×10＝56[mm]」であり、この値が幅入力欄の値（印刷媒体１２の幅）以下の場合、改行なしと判断される。この"０．３５"は１ポイントのｍｍへの換算値である。文字サイズが３６ポイントで１０文字の場合は、テキストの長さは「36×0.35[mm]×10＝126[mm]」であり、この値が幅入力欄の値より大きい場合、改行有りと判断される。なお、実際には文字と文字の文字間隔が自動で設定される場合があり、その場合は一連の文字の長さがその分長くなるため、文字間隔が考慮される。
【００９５】
プレビュー生成部５５は、高さについても同様に判断する。図１３（ａ）（ｂ）で説明した改行の判断を行った上で、行数をカウントし高さ設定欄４０３で設定された値に基づいて、テキストの全体が印刷媒体１２に印刷可能かどうかを判断する。各行の文字が重ならないように、十分な行間がユーザにより又は自動で設定されている。したがって、高さの判断は行間も考慮される。
【００９６】
図１４は印刷サイズに対し印刷できるテキストの判断方法を説明する図の一例である。図１４（ａ）は印刷可能と判断されるテキスト例を示し、図１４（ｂ）は印刷不可と判断されるテキスト例を示す。印刷制御部５４は「文字サイズ×行数  ＋  行数−１×行間」と「高さ入力欄の値」を比較して改行があるか否かを判断する。例えば行間を５[mm]とする
例えば、文字サイズが１６ポイントで４行の場合は、テキストの高さは「16×0.35[mm]×4＋3×5＝37．4[mm]」であり、この値が高さ入力欄の値以下の場合、印刷可能と判断される。行数が２０行の場合は、テキストの高さは「16×0.35[mm]×20＋19×5＝207[mm]」であり、この値が高さ入力欄の値より大きい場合、印刷不可と判断される。
【００９７】
印刷不可と判断されると表示制御部５２は「高さが印刷サイズを超えています」のようなメッセージをテキスト入力画面４０１に表示する。ユーザはこのメッセージを見て文字数を減らしたり文字サイズを小さくしたりすることができる。
【００９８】
＜プレビュー画面の生成＞
図１５はプレビュー画面４１１の生成を説明する図の一例である。印刷制御部５４はテキスト入力画面４０１で入力されたテキストを画像データ（例えばＴＩＦＦデータ）５９１に変換する。画像データ５９１はＨＨＰ２０による描画対象となる。まず、画像データ５９１を生成するための仮想的な平面を用意する。画像データ５９１の幅方向と高さ方向の画素数は、ユーザがテキスト入力画面４０１で入力した印刷媒体１２の幅と高さ及びＨＨＰ２０の解像度によって定まる。例えば幅が５０[mm]で解像度が３００ｄｐｉの場合、ドット間の距離は０．０８４[mm]なので、50÷0.084＝約595から、幅方向の画素数は約５９５画素である。縦方向の画素数も同様に算出できる。
【００９９】
ユーザが印刷媒体１２のどの位置から走査を開始するかは不明なので、プレビュー生成部５５は予め決まった基準位置２５０から１文字ずつ文字コードを文字サイズに応じて視覚化する。これにより文字が点で表される。基準位置２５０は適切な余白などが考慮されるが例えば上端及び左端から５〜１０[mm]位の位置である。プレビュー生成部５５は１行分を描画するごとに、行間１０５を空けて、次の行を描画する。行間は上記のように予め定められている。
【０１００】
次に、プレビュー生成部５５は、画像データ５９１の縦横比を維持したままプレビュー画面４１１の大きさに印刷媒体を縮小する。まず、画像データ５９１の高さＨ１と幅Ｗ１のうち大きい方を決定する。図１５ではＨ１＞Ｗ１とする。次に、プレビュー画面４１１の画素数で表した高さＨ２とＨ１の比（＝Ｈ２／Ｈ１）を算出する。この比を、画像データ５９１の高さＨ１と幅Ｗ１に乗じることで、画像データ５９１を元の縦横比のままプレビュー画面４１１に収めることができる。
【０１０１】
同様に画像データ５９１の任意の点Ｐ（Ｘ，Ｙ）のプレビュー画面４１１における点Ｐ´（Ｘ´，Ｙ´）は以下のように求められる。
Ｘ´＝（Ｈ２／Ｈ１）×Ｘ
Ｙ´＝（Ｈ２／Ｈ１）×Ｙ
これにより、プレビュー画面４１１における各テキストの位置を算出でき、走査方向を示す矢印をプレビュー生成部５５が表示できる。
【０１０２】
次に、プレビュー生成部５５は走査パス数を算出する。走査パス数とは、ユーザがテキストの全てを印刷するために何回の走査が必要かを示す。１回の走査で印刷可能な高さは仕様として決まっているＩＪ記録ヘッド２４の長さ以下になる。この長さをｈ[mm]とする。１文字のサイズ（ポイント）は予めこのｈ以下に制限されているため、１行のテキストの走査に複数の走査パスが必要となることはない。これにより、文字の画質が低下することを抑制できる。
【０１０３】
プレビュー生成部５５は１行ずつ行数を大きくしていき、その行数の高さがｈ以下か否かを判断する。すなわち、文字のサイズを考慮して２行分の高さを算出し、ＩＪ記録ヘッド２４の高さｈと比較する。２行分の高さがＩＪ記録ヘッド２４の高さｈ以下の場合、文字のサイズを考慮して３行分の高さを算出し、ＩＪ記録ヘッド２４の高さｈと比較する。この比較をｎ行分の高さがＩＪ記録ヘッド２４の高さｈより大きくなるまで繰り返す。ｎ−１行が１回の走査で印刷できる最大の行数である。
【０１０４】
テキストの最期の行まで１回の走査で印刷できる行数を決定すると、テキストの全てを印刷するために必要なパス数も決定できる。例えば、テキストに４つの行があるが、２行分の高さがＩＪ記録ヘッド２４の高さｈより大きい場合、走査パス数は４である。
【０１０５】
図１６は走査パスの一例を示す図である。図１６に示すように、プレビュー生成部５５は１回の走査で印刷される走査パス４１２をプレビュー画面４１１で区別して明示する。図１６（ａ）はテキストの１行が１つの走査パス４１２で印刷されることが示されており、図１６（ｂ）ではテキストの２行が１つの走査パス４１２で印刷されることが示されている。具体的には、１つの走査パス４１２は同じ背景色で表示される。ある走査パス４１２の背景色と他の走査パス４１２の背景色は同じであるが、各走査パス４１２の間は背景色とは別の色で表示される。したがって、ユーザは一目で１つの走査パス４１２を判断できる。なお、このような配色は一例であり、各走査パス４１２が区別されていればよい。例えば、単に走査パス４１２を矩形枠で囲んでもよいし、同じ走査パスの文字色を他の走査パスの文字色と異ならせてもよい。
【０１０６】
＜画像データ出力器１１とＨＨＰで送受信される情報＞
図１７は、画像データ出力器１１とＨＨＰの間で送受信される情報を説明する図の一例である。画像データ出力器１１からＨＨＰ２０に送信される情報には、主に、画像データと走査に関する情報がある。画像データはユーザが入力した全てのテキストが画像化された画像データである。走査パス数が複数でもまとめて送信される。走査パス４１２ごとに送信されてもよい。
【０１０７】
なお、ＨＨＰ２０の走査ボタン６５を有している。走査ボタン６５は、印刷の開始と終了をＨＨＰ２０が画像データ出力器１１に通知するためのボタンである。ユーザは１つの走査パスの走査中、走査ボタン６５を押下し続ける。ユーザが画像を形成する目的がない状況で、単にＨＨＰ２０を移動しても液滴を吐出することがない。
【０１０８】
走査に関する情報は、例えば、走査方向モード（双方向、片方向）、走査パス数、印刷ジョブのキャンセル、又は、印刷ジョブのリトライなどである。
【０１０９】
図１８は走査方向モードを説明する図の一例である。図１８（ａ）は双方向と呼ばれる走査方向モードを示し、図１８（ｂ）は片方向と呼ばれる走査方向モードを示す。双方向の走査方向モードはユーザが左から右方向への走査と、右から左方向への走査を交互に行う走査方向モードである。ユーザの走査量が少ないというメリットがある。片方向の走査方向モードはユーザが左から右方向へのみ（又は右から左方向へのみ）走査を行う走査方向モードである。ユーザの走査方向が一定なので走査しやすいというメリットがある。
【０１１０】
１行目の走査パス４１２の走査方向は予め決まっていてもよいし、ユーザが設定可能でもよい。図１８では、双方向も片方向も左から右方向になっている。このように、各走査パス４１２の走査方向は予め決まっているか又はユーザが設定できる。更に、ユーザが各走査パスごとに任意の走査方向を設定できてもよい。
【０１１１】
図１９に示すように、ユーザは画像データ出力器１１を操作して走査方向モードを設定することができる。図１９は画像データ出力器１１が表示する走査方向の設定画面４２１の一例を示す。走査方向の設定画面４２１は、「走査方向を設定して下さい」というメッセージ４２２、及び、「片方向」と「双方向」に対応付けられたラジオボタン４２３，４２４を有する。ユーザは２つのラジオボタン４２３，４２４のいずれかを選択する。なお、ユーザが走査方向を選択しない場合でもデフォルト値が決まっている。
【０１１２】
設定された走査方向モードがＨＨＰ２０に送信される。図１８の１本の矢印が１つの走査パス４１２を示す。画像データ出力器１１は各走査パス４１２の走査方向を保持しており、ＨＨＰ２０は走査方向モードから各走査パス４１２の走査方向を判断できる。
【０１１３】
ユーザは走査の開始時にＨＨＰ２０の走査ボタン６５を押下し、走査中はこの走査ボタン６５を押下し続ける。１つの走査パス４１２の走査が終了するとユーザは走査ボタン６５を離す。これにより、ＨＨＰ２０及び画像データ出力器１１は１つの走査パス４１２の開始と終了を検出する。
【０１１４】
走査に関する情報のうち、走査パス数は上記のように算出される。印刷ジョブのキャンセルとは、ユーザが画像データ出力器１１を操作して印刷ジョブをキャンセルした場合に送信される。印刷ジョブのリトライは、ユーザが画像データ出力器１１を操作して印刷ジョブをリトライした場合に送信される。リトライは印刷中にＨＨＰ２０が印刷できなくなった場合に走査パス４１２の印刷を最初から再開することを言う。
【０１１５】
ＨＨＰ２０から画像データ出力器１１に送信される情報には、主に、１つの走査パス４１２の走査開始、及び、１つの走査パス４１２の走査終了がある。１つの走査パス４１２の走査開始は、ユーザが走査ボタン６５を押下したことをいい、１つの走査パス４１２の走査終了は、ユーザが走査ボタン６５を離したことをいう。つまり、印刷の開始と終了が画像データ出力器１１に通知される。
【０１１６】
＜全体的な動作＞
図２０は、画像データ出力器１１とＨＨＰ２０の動作手順を説明するフローチャート図の一例である。まず、ユーザは画像データ出力器１１の電源ボタンを押下する（Ｕ１０１）。画像データ出力器１１はそれを受け付け、電池等から電源が供給されて起動する。
【０１１７】
ユーザは画像データ出力器１１のテキスト入力画面４０１で印刷したいテキストを入力する（Ｕ１０２）。画像データ出力器１１の操作受付部５３はテキストの入力を受け付ける。ユーザは仕上がりを確認するためプレビューボタン４０８を押下するので、操作受付部５３が操作を受け付け、表示制御部５２がプレビュー画面４１１を表示する。
【０１１８】
ユーザは入力したテキストを印刷ジョブとして実行する操作を行う（Ｕ１０３）。すなわち、プレビュー画面４１１の開始ボタン４１５を押下する。ＨＨＰ２０の操作受付部５３は印刷ジョブの実行の要求を受け付ける。印刷ジョブの要求により画像データ及び走査に関する情報がＨＨＰ２０へ送信される。また、印刷制御部５４はユーザに走査方向を知らせるため、プレビュー画面４１１において走査方向の表示を開始する。詳細を図２３で説明する。
【０１１９】
ユーザは、ＨＨＰ２０を持ち、印刷媒体１２（例えばノート）の上で初期位置を決定する（Ｕ１０４）。
【０１２０】
そして、ユーザはＨＨＰ２０の走査ボタン６５を押下し続ける（Ｕ１０５）。ＨＨＰ２０は走査ボタン６５の押下を受け付ける。
【０１２１】
ユーザはＨＨＰ２０を印刷媒体１２の上で滑らせるように自由に走査する（Ｕ１０６）。
【０１２２】
続いて、ＨＨＰ２０の動作を説明する。以下の動作はＣＰＵ３３がファームウェアを実行することで行われる。
【０１２３】
ＨＨＰ２０も電源のＯＮにより起動する。ＨＨＰ２０のＣＰＵ３３は、ＨＨＰ２０に内蔵されている図３，４のハードウェア要素を初期化する（Ｓ１０１）。例えば、ナビゲーションセンサＩ/Ｆ４２やジャイロセンサＩ/Ｆ４５のレジスタを初期化したり、印字／センサタイミング生成部４３にタイミング値を設定したりする。また、ＨＨＰ２０と画像データ出力器１１との間の通信を確立する。例えば、Bluetooth（登録商標）で通信する場合、ユーザは予め画像データ出力器１１とＨＨＰ２０のペアリングを行っている。
【０１２４】
ＨＨＰ２０のＣＰＵ３３は初期化が完了したかどうかを判定し、完了していない場合はこの判定を繰り返す（Ｓ１０２）。
【０１２５】
初期化が完了すると（Ｓ１０２のＹｅｓ）、ＨＨＰ２０のＣＰＵ３３は、ＯＰＵ２６の例えばＬＥＤ点灯によりユーザに印刷可能な状態であることを報知する（Ｓ１０３）。これにより、ユーザは印刷可能な状態であることを把握し、上記のように印刷ジョブの実行を要求する。
【０１２６】
印刷ジョブの実行の要求により、ＨＨＰ２０の通信Ｉ/Ｆ２７は画像データ出力器１１から画像データの入力を受け付け、画像が入力された旨をＯＰＵ２６のＬＥＤを点滅させる等によりユーザに対し報知する（Ｓ１０４）。
【０１２７】
ユーザが印刷媒体１２上でＨＨＰ２０の初期位置を決め、走査ボタン６５を押下すると、ＨＨＰ２０のＯＰＵ２６はこの操作を受け付け、ＣＰＵ３３がナビゲーションセンサＩ/Ｆ４２に位置を読み取らせる（Ｓ１０５）。これにより、ナビゲーションセンサＩ/Ｆ４２はナビゲーションセンサ３０と通信し、ナビゲーションセンサ３０が検出した移動量を取得しレジスタなどに格納しておく（Ｓ１００１）。ＣＰＵ３３はナビゲーションセンサＩ/Ｆ４２から移動量を読み出す。
【０１２８】
ユーザが走査ボタン６５を押下した直後に取得された移動量はゼロであるがゼロでないとしても、ＣＰＵ３３は例えば座標(0,0)の初期位置としてＤＲＡＭ２９やＣＰＵ３３のレジスタなどに格納する（Ｓ１０６）。
【０１２９】
また、初期位置を取得すると印字／センサタイミング生成部４３がタイミングの生成を開始する（Ｓ１０７）。印字／センサタイミング生成部４３は、初期化で設定されたナビゲーションセンサ３０の移動量の取得タイミングに達するとナビゲーションセンサＩ/Ｆ４２にタイミングとジャイロセンサＩ/Ｆ４５にタイミングを指示する。これが周期的に行われ上記のサンプリング周期となる。
【０１３０】
ＨＨＰ２０のＣＰＵ３３は、移動量と角速度情報を取得するタイミングであるか否かを判定する（Ｓ１０８）。この判定は、割込みコントローラ４１からの通知により行うが、印字／センサタイミング生成部４３と同じタイミングをＣＰＵ３３がカウントすることで判定してもよい。
【０１３１】
移動量と角速度情報を取得するタイミングになると、ＨＨＰ２０のＣＰＵ３３はナビゲーションセンサＩ/Ｆ４２から移動量を取得し、ジャイロセンサＩ/Ｆ４５から角速度情報を取得する（Ｓ１０９）。上記のように、ジャイロセンサＩ/Ｆ４５は印字／センサタイミング生成部４３が生成するタイミングでジャイロセンサ３１から角速度情報を取得しており、ナビゲーションセンサＩ/Ｆ４２は印字／センサタイミング生成部４３が生成するタイミングでナビゲーションセンサ３０から移動量を取得している。
【０１３２】
次に、位置算出回路３４は角速度情報と移動量を用いてナビゲーションセンサ３０の現在の位置を算出する（Ｓ１１０）。具体的には、位置算出回路３４は、前回のサイクルで算出した位置(Ｘ,Ｙ)と、今回取得した移動量(ΔＸ´、ΔＹ´)及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサ３０の位置を算出する。初期位置のみで、前回算出した位置がない場合は、初期位置に今回取得した移動量(ΔＸ´、ΔＹ´) 及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサ３０の位置を算出する。
【０１３３】
次に、位置算出回路３４はナビゲーションセンサ３０の現在の位置を用いて各ノズル６１の現在の位置を算出する（Ｓ１１１）。
【０１３４】
このように、印字／センサタイミング生成部４３により角速度情報と移動量が同時に又はほぼ同時に取得されるので、回転角と回転角が検出されたタイミングで取得された移動量でノズル６１の位置を算出できる。したがって、種類が異なるセンサの情報でノズル６１の位置が算出されても、ノズル６１の位置の精度が低下しにくい。
【０１３５】
次に、ＣＰＵ３３はＤＭＡＣ３８を制御して、算出した各ノズル６１の位置を基に、各ノズル６１の周辺画像の画像データをＤＲＡＭ２９からImage RAM３７へ送信する（Ｓ１１２）。なお、回転器３９は、ユーザにより指定されたヘッド位置（ＨＨＰ２０の持ち方など）及びＩＪ記録ヘッド２４の傾きに応じて、画像を回転させる。
【０１３６】
次に、ＩＪ記録ヘッド制御部４４は周辺画像を構成する各画像要素の位置座標と、各ノズル６１の位置座標とを比較する（Ｓ１１３）。位置算出回路３４は、ノズル６１の過去の位置と現在の位置を用いてノズル６１の加速度を算出している。これにより、位置算出回路３４は、ナビゲーションセンサＩ/Ｆ４２が移動量を取得しジャイロセンサＩ/Ｆ４５が角速度情報を取得する周期よりも短いＩＪ記録ヘッド２４のインク吐出周期ごとにノズル６１の位置を算出している。ＩＪ記録ヘッド制御部４４は、位置算出回路３４が算出するノズル６１の位置から所定範囲内に画像要素の位置座標が含まれるか否かを判定する。
【０１３７】
吐出条件を満たさない場合（Ｓ１１４のＮｏ）、処理はステップＳ１０８に戻る。吐出条件を満たす場合（Ｓ１１４のＹｅｓ）、ＩＪ記録ヘッド制御部４４はノズル６１ごとに画像要素のデータをＩＪ記録ヘッド駆動回路２３に出力する（Ｓ１１５）。これにより、印刷媒体１２にはインクが吐出される。ＩＪ記録ヘッド制御部４４は吐出制御テーブルを更新する。
【０１３８】
次に、ＣＰＵ３３は全画像データを出力したか又は走査ボタン６５が離されたかを判定する（Ｓ１１６）。ステップＳ１１６の判定がＮｏの場合、ステップＳ１０８からＳ１１５までの処理を繰り返す。
【０１３９】
ステップＳ１１６の判定がＹｅｓの場合、ＣＰＵ３３は、例えばＯＰＵ２６のＬＥＤを点灯させユーザに印刷が終了したことを報知する（Ｓ１１７）。
【０１４０】
１つの走査パス４１２の走査終了が画像データ出力器１１に通知されるので、画像データ出力器１１の印刷制御部５４は走査方向の表示を終了する。そして、改行方向の表示、及び、次の走査パス４１２の走査方向の表示を行う。詳細は図２３のフローチャート図で説明される。
【０１４１】
＜走査方向の表示＞
図２１は、走査方向の表示例を説明する図の一例である。図２１（ａ）はプレビュー画面４１１を示し、図２１（ｂ）は走査方向を示す矢印１０１の表示例を示す。図２１（ｃ）は１つの走査パス４１２の印刷が終了した際の改行方向を示す矢印１０２（第二の矢印）の表示例を示す。
【０１４２】
プレビュー生成部５５は、プレビュー画面４１１の１つの走査パス４１２に重ねて（重畳して）走査方向を示す矢印１０１を表示する。プレビュー画面４１１における１つの走査パス４１２の位置は、プレビュー画面４１１の生成方法で説明したように、画像データ５９１の各行の座標から比率Ｈ２/Ｈ１により算出される。
【０１４３】
図２１（ｂ）では走査方向を示す矢印１０１は静的であるが、実際には矢印１０１が少しずつ移動するアニメーション（動画）として表示される。図２２はアニメーション表示を説明する図の一例である。図２２（ａ）〜（ｃ）は時間的に異なるプレビュー画面４１１を示す。このように、プレビュー生成部５５は走査方向を示す矢印１０１を周期的に横方向に移動させることで、走査方向を示す矢印１０１を動いているように表示できる。走査方向を示す矢印１０１が徐々に右方向に移動しているため、ユーザは走査方向を把握しやすくなる。なお、矢印１０１は同時に１つである必要はなく、プレビュー生成部５５は複数の矢印１０１を同時に表示してよい。
【０１４４】
図２１（ｂ）に示すように、プレビュー生成部５５は走査中の走査パス４１２については矢印１０１を動的に表示し、残りの走査パス４１２について走査方向を示す背面矢印１０３を静的に表示する。矢印１０１が静的に表示され、背面矢印１０３が動的に表示されてもよい。しかしながら、走査方向モードが双方向の場合、背面矢印１０３は矢印１０１と逆向きになるので、矢印１０１よりも目立たない態様で表示されることが好適である。背面矢印１０３は、例えば薄い半透明で表示される。
【０１４５】
したがって、ユーザは走査中の走査パス４１２の次の走査パス４１２の走査方向を予め把握できるので、１つの走査パス４１２の印刷が終了した後、次の走査パス４１２の走査方向を迷うことがない。プレビュー生成部５５は「走査方向モード」が片方向の場合、背面矢印１０３として全て「→」を表示し、「走査方向モード」が双方向の場合、「→」と「←」を交互に表示する。
【０１４６】
更に、プレビュー生成部５５は、図２１（ｃ）に示すように、印刷が終了した走査パス４１２をグレーアウト表示する。グレーアウト表示とは、輝度やコントラストを低下させる処理を行い目立たなくする表示態様を言う。プレビュー生成部５５は印刷が終了した走査パス４１２をグレーアウト表示することで、印刷が終了した走査パス４１２をユーザに知らせることができる。
【０１４７】
図２１（ｃ）のプレビュー画面４１１の改行方向の矢印１０２は、ユーザが走査ボタン６５を離すと表示される。プレビュー画面４１１の走査パス４１２の右端から走査方向に対し垂直下方向にプレビュー生成部５５が矢印１０２を表示する。走査パス４１２もアニメーション表示することが好適である。矢印１０２のアニメーション表示は、矢印１０１とは矢印の向き、移動方向、及び、移動量が異なるが、同様に表示できる。なお、走査パス４１２の端部の位置（座標）は画像データ５９１の行の端部の座標と比率Ｈ２/Ｈ１に基づき算出される。図２１（ｃ）では左から右方向に走査されているが、右から左方向に走査された場合、プレビュー画面４１１の走査パス４１２の左端から走査方向に対し垂直下方向にプレビュー生成部５５が矢印を表示する。
【０１４８】
また、図２２（ｄ）は「走査方向モード」が双方向の場合の改行方向を示す矢印１０２の表示例であるが、「走査方向モード」が片方向の場合の改行方向を示す矢印１０２の表示例は図２２（ｄ）のようになる。すなわち、走査パス４１２の末尾から次の走査パス４１２の先頭を結ぶように改行方向を示す矢印１０２が表示される。
【０１４９】
＜走査方向の表示に関する動作手順＞
図２３は、画像データ出力器１１が走査方向を表示する手順を示すフローチャート図の一例である。図２３の処理はユーザがプレビュー画面４１１の開始ボタン４１５を押下することでスタートする。
【０１５０】
まず、画像データ出力器１１の通信部５１は画像データ及び走査に関する情報をＨＨＰ２０に送信する（Ｓ１０）。
【０１５１】
次に、プレビュー生成部５５は走査方向モードに応じて各走査パス４１２に背面矢印１０３を表示する（Ｓ２０）。
【０１５２】
プレビュー生成部５５は、通信部５１が走査パス４１２の走査開始の情報をＨＨＰ２０から受信したか否かを判定する（Ｓ３０）。この情報を受信するまでプレビュー生成部５５は待機する。
【０１５３】
ステップＳ３０の判定がＹｅｓになると、プレビュー生成部５５は１行目の走査パス４１２の走査方向を示す矢印１０１をアニメーション表示する（Ｓ４０）。
【０１５４】
ユーザが走査ボタン６５を押下している場合、プレビュー生成部５５は走査方向を示す矢印１０１の動的な表示を繰り返す（Ｓ５０）。
【０１５５】
ユーザが走査ボタン６５を離した場合、プレビュー生成部５５は印刷が終了した走査パス４１２をグレーアウト表示する（Ｓ６０）。
【０１５６】
プレビュー生成部５５は印刷が終了した走査パス４１２が最終の走査パス４１２か否かを判断する（Ｓ７０）。プレビュー生成部５５は、１つの走査パス４１２の走査開始と１つの走査パス４１２の走査終了で１つの走査パス４１２が終了したと判断して印刷が終了した走査パス４１２の数をカウントする。この数が走査パス数と同じになると最終の走査パス４１２の印刷が終了したと判断できる。
【０１５７】
ステップＳ７０の判断がＮｏの場合、プレビュー生成部５５は改行方向を示す矢印１０２を表示する（Ｓ８０）。この後、処理はステップＳ３０に戻り、プレビュー生成部５５はステップＳ３０〜Ｓ６０の処理を繰り返す。
【０１５８】
このように、ユーザの走査に対しＨＨＰ２０は走査方向を示す矢印１０１や改行方向を示す矢印１０２をリアルタイムに表示するので、ユーザは迷うことなく走査方向を決定できる。
【０１５９】
ＨＨＰ２０はユーザのフリーハンド走査に追従してＨＨＰ２０の位置に応じて画像を印刷することが可能であるが、理想的な走査経路から大きく外れた経路の場合、ナビゲーションセンサ３０の検出誤差が蓄積し、理想的な経路であった場合と比べ画質が劣化するおそれがある。例えば、印刷の開始時にユーザが走査方向を逆に間違うと位置の誤差が蓄積するおそれがある。本実施形態では走査方向が表示されるので、画質の低下を抑制できる。
【０１６０】
＜ＨＨＰから画像データ出力器に対し位置情報が送信される場合＞
ＨＨＰ２０は常にＨＨＰ２０のノズル６１の位置を算出しているので、位置情報を定期的に画像データ出力器１１に送信することも可能である。
【０１６１】
画像データ出力器１１はＨＨＰ２０の位置情報を使って、印刷ジョブの実行状況（どこまで印刷したか）を把握できる。したがって、走査方向の矢印１０１、及び、走査パス４１２のグレーアウトを位置情報に応じて制御できる。
【０１６２】
図２４は、位置情報を使ったプレビュー画面４１１の表示例を示す図である。プレビュー生成部５５は走査パス４１２の先頭から現在地（位置情報で得られる）までは印刷ジョブの実行が終了したとして、走査パス４１２の一部をグレーアウト表示する。また、走査方向を示す矢印１０１は位置情報よりも後方にのみ表示する。この場合も、徐々に矢印が移動したように見えるアニメーション効果を施すことが好ましい。
【０１６３】
したがって、ユーザはＨＨＰ２０がどこまで印刷したかという情報も把握できる。また、走査パス４１２におけるグレーアウトの終端にＨＨＰ２０が存在するはずなので、ユーザはＨＨＰ２０の現在地を画像データ出力器１１により把握できる。
【０１６４】
なお、同様の表示は、ＨＨＰ２０が位置情報でなく表１の吐出制御テーブルの全体又は吐出制御テーブルで吐出済みが"１"になった最新のＸ座標を送信することでも可能である。このような情報により、画像データ出力器１１は印刷ジョブの実行状況(どこまで印刷したか)を把握できるので、図２４と同様の表示が可能である。補足すると吐出制御テーブルには目標吐出位置が含まれているのでこの座標をプレビュー画面４１１の座標に変換すればよい。
【０１６５】
また、画像データ出力器１１が位置情報を取得できる場合、
・印刷ジョブとして走査すべき方向と、実際の走査方向が異なっていた場合に、アラート（警告）を表示する。
・改行時、改行方向に加え改行量を通知する。
という表示も可能になる。
【０１６６】
図２５は、位置情報を取得した画像データ出力器１１の走査方向の表示に関する動作を示すフローチャート図の一例である。まず、ステップＳ１０〜Ｓ３０の手順は図２３と同様である。
【０１６７】
ステップＳ４０で画像データ出力器１１の通信部５１はＨＨＰ２０から位置情報を受信する（Ｓ４０）。位置情報は、画像データ出力器１１からＨＨＰ２０に要求してもよいし、ＨＨＰ２０から定期的に送信されてもよい。
【０１６８】
まず、プレビュー生成部５５はユーザによるＨＨＰ２０の走査方向が正しいか否かを判定する（Ｓ５０）。プレビュー生成部５５は走査パス４１２ごとに走査方向を保持しているので、位置情報の変化が走査方向と同じか否かを判定できる。あるいは、走査パス４１２と位置情報の差（最短距離）が閾値以上の場合、走査方向が正しくないと判断できる。
【０１６９】
走査方向が正しくない場合、表示制御部５２はプレビュー画面４１１にポップアップウィンドウなどでアラートを表示する（Ｓ６０）。図２６（ａ）に一例を示す。
【０１７０】
次に、プレビュー生成部５５は位置情報より先頭側の走査パス４１２をグレーアウト表示する（Ｓ７０）。また、位置情報より後方に矢印１０１を移動させながら表示するアニメーション表示を行う（Ｓ８０）。
【０１７１】
次に、プレビュー生成部５５は１つの走査パス４１２の走査が終了したか否かを判定する（Ｓ９０）。１つの走査パス４１２の走査が終了するまではステップＳ４０〜Ｓ８０の処理を繰り返す。
【０１７２】
１つの走査パス４１２の走査が終了するとプレビュー生成部５５は、通信部５１を介して位置情報を受信する（Ｓ１００）。実際には、位置情報は適宜、送信される。
【０１７３】
そして、プレビュー生成部５５は改行方向を示す矢印１０２を表示する（Ｓ１１０）。
【０１７４】
次に、プレビュー生成部５５は改行量の残りを表示する（Ｓ１２０）。改行量は、行間の長さとして決まっている。プレビュー生成部５５は走査終了時（走査ボタン６５を離す）から現在までの高さ方向への移動量を累積して、行間の長さと累積した移動量の差分を改行量として表示する。これにより、ユーザはあとどのくらい改行方向に移動すればよいかを把握できる。図２６（ｂ）に改行量の表示の一例を示す。
【０１７５】
走査方向モードが片方向の場合は幅方向と高さ方向の両方の改行量を表示することが好ましい。幅方向の改行量は、走査終了時（走査ボタン６５を離す）から次の走査パス４１２の先頭までの幅方向の移動量である。これにより、ユーザは適切な行間を空けて各走査パス４１２の先頭位置を揃えて印刷できる。
【０１７６】
プレビュー生成部５５は改行方向の移動量が改行量より大きいか否かを判定する（Ｓ１３０）。ステップＳ１３０の判定がＮｏの場合、プレビュー生成部５５はステップＳ１００〜Ｓ１２０の処理を繰り返す。
【０１７７】
ステップＳ１３０の判定がＹｅｓの場合、プレビュー生成部５５は走査ボタン６５が押下されると、次の走査パス４１２の表示に関する処理を行う。
【０１７８】
図２６（ａ）は走査方向が正しくない場合に表示されるアラートを説明する図の一例である。図２６（ａ）では「走査方向が間違っています。」というアラート１１０が表示されている。ユーザはアラートを見て走査方向を早期に修正できるので、位置の誤差が累積することを抑制でき画質低下を抑制できる。
【０１７９】
図２６（ｂ）は改行量の表示例を示す図の一例である。図２６（ｂ）では「下方向に5mm移動して下さい」というメッセージ１１１が表示されている。この「５ｍｍ」は、ユーザがＨＨＰ２０を改行方向に移動させることでリアルタイムに更新されるので、ユーザは適切な改行量で改行してから次の走査パス４１２を印刷できる。例えば、複数の行の行間を揃えることができる。
【０１８０】
＜その他の表示例＞
ＨＨＰ２０をユーザが走査中、画像データ出力器１１は以下のような場合に位置情報を取得できない。
・ＨＨＰ２０が印刷媒体から外れた場合（ＨＨＰ２０が位置情報を喪失）
・ＨＨＰ２０をユーザが速く走査しすぎた場合（ＨＨＰ２０が位置情報を喪失）
・ＨＨＰ２０と画像データ出力器１１の通信が切断される（ＨＨＰ２０が位置情報を保持）
これらの場合、画像データ出力器１１は位置情報の代わりに位置情報を取得できない旨をＨＨＰ２０から取得する。したがって、プレビュー生成部５５はプレビュー画面４１１にアラートを表示し、印刷ジョブのリトライ又はキャンセルの選択を促す画面を表示することができる。
【０１８１】
図２７（ａ）は位置情報を取得できない場合にプレビュー生成部５５が表示するアラート１１２を説明する図の一例である。図２７（ａ）では「位置情報を取得できません。」というアラート１１２と共にキャンセルボタン１１３及びリトライボタン１１４が表示されている。キャンセルボタン１１３は印刷の強制的な終了、リトライボタン１１４は走査パス４１２の最初から印刷を再度行うことを意味する。
【０１８２】
ユーザがリトライボタン１１４を選択した場合、画像データ出力器１１は走査方向を示す矢印１０１の表示及び先頭から位置情報までの走査パス４１２のグレーアウト表示を中止する。ＨＨＰ２０の走査ボタン６５の押下を検出後、印刷が中断された走査パス４１２に対し走査方向を示す矢印１０１の表示を開始する。
【０１８３】
ユーザがキャンセルボタン１１３を選択した場合、画像データ出力器１１は走査方向を示す矢印１０１の表示、背面矢印１０３の表示、及び、走査パス４１２のグレーアウト表示を中止する。ＨＨＰ２０はキャンセルボタン１１３の押下を受信して、画像データと走査に関する情報をＤＲＡＭ２９からクリア（消去）する。
【０１８４】
また、本実施形態ではテキストデータの印刷について説明したが、バーコード又は２次元バーコードなどをＨＨＰ２０が印刷することが可能である。図２７（ｂ）はバーコード１２１及び２次元バーコード１２２のプレビュー画面４１１を示す。ただし、バーコード１２１及び２次元バーコード１２２の高さは、ＨＨＰ２０のノズル６１の長さより短いことが好ましい。
【０１８５】
また、本実施形態では横書きされたテキストデータの印刷について説明したが、テキストデータは縦書きでもよい。図２７（ｃ）は縦書きの場合のプレビュー画面４１１の一例を示す。ＨＨＰ２０のＩＪ記録ヘッド２４のノズル列が印刷媒体１２の幅方向に並行になるようにＨＨＰ２０をユーザが保持する。この状態でユーザは上下方向にＨＨＰ２０を走査させる。図２７（ｃ）では縦書きの走査パス４１２に走査方向を示す矢印１０１が表示されている。また、背面矢印１０３も表示されている。したがって、ユーザは縦書きの場合も走査方向を容易に把握できる。
【０１８６】
＜ＨＨＰによる走査方向の表示＞
画像データ出力器１１だけでなくＨＨＰ２０も走査方向の矢印を表示することができる。図２８はＨＨＰ２０に表示される走査方向を説明する図の一例である。図２８のＨＨＰ２０はＬＣＤ又は有機ＥＬなどの表示装置１４０を有している。ＨＨＰ２０のＯＰＵ２６は走査方向モードにより走査方向を判断し、走査方向を示す矢印１３０を表示装置１４０に表示する。改行時には改行方向を示す矢印を表示する。
【０１８７】
したがって、ユーザが印刷媒体１２を見ながら走査する場合、少ない視線移動で走査方向を確認できる。
【０１８８】
この他、走査方向が正しくない場合、ＨＨＰ２０は表示装置１４０にその旨を表示してもよい。また、ＨＨＰ２０が振動子を有する場合は、走査方向が正しくない場合、振動子を振動させることでユーザに走査方向が正しくない旨を通知し、正しい走査方向に誘導してもよい。
【０１８９】
＜まとめ＞
以上説明したように、本実施形態の画像データ出力器１１は、画像データを形成するための走査方向を表示するので、ユーザは適切な走査方向を把握してＨＨＰ２０を走査できる。間違って、逆方向に走査することを抑制できるので、画質の低下を抑制できる。
【０１９０】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１９１】
例えば、図２１等の矢印１０１，１０２、及び、背面矢印１０３の形状は一例に過ぎず、方向を指し示す形状の図形であればどのような図形で走査方向を示してもよい。例えば、単なる三角形、→、凸部を有する各種の図形などでもよい。
【０１９２】
また、画像データ出力器１１は音声により走査方向をユーザに知らせてもよい。この場合、ユーザが走査ボタン６５を押下すると、画像データ出力器１１は「左から右方向に走査して下さい。」などの音声メッセージを出力する。
【０１９３】
また、本実施形態では１回の走査で印刷可能なテキストやバーコードの印刷を説明したが、印刷に２回以上の走査が必要な画像データの走査についても、画像データ出力器１１は走査方向を表示できる。位置情報誤差の累積により画質が低下するとしても、別の方策により低減できるためである。
【０１９４】
画像データ出力器１１は単体で走査方向の表示が可能であるが、画像データ出力器１１がサーバと通信することで走査方向を表示してもよい。例えば、プレビュー画面の生成をサーバが行うことが考えられる。
【０１９５】
また、ユーザが入力したテキストをサーバに送信してユーザＩＤ等に対応付けて記録させ、ＨＨＰ２０がユーザＩＤとテキストを印刷することが考えられる。これにより、ユーザが保持する印刷物とサーバの情報が対応付けられる。訪問介護やお薬手帳などに利用できる。
【０１９６】
また、印刷対象のテキストをユーザが音声で入力する際、音声データを画像データ出力器１１がサーバに送信し、サーバが音声認識処理を行ってもよい。
【０１９７】
また、以上の実施例で示した図６などの構成例は、画像データ出力器１１の処理の理解を容易にするために、主な機能に応じて分割したものである。しかし、各処理単位の分割の仕方や名称によって本願発明が制限されることはない。画像データ出力器１１は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【０１９８】
なお、位置算出回路３４は位置算出手段の一例であり、制御部２５は液滴吐出手段の一例であり、プレビュー生成部５５又は表示装置１４０は走査方向出力手段の一例であり、操作受付部５３は受付手段の一例である。
【符号の説明】
【０１９９】
１１            画像データ出力器
１２            印刷媒体
３０            ナビゲーションセンサ
３１            ジャイロセンサ
５２            表示制御部
５５            プレビュー生成部
６５            走査ボタン
１００          液滴吐出システム
１０１、１０２  矢印
１０３          背面矢印
【先行技術文献】
【特許文献】
【０２００】
【特許文献１】特開平９−１５６１６２号公報
【図１】
2019003336.tif 000005
【図２】
2019003336.tif 000006
【図３】
2019003336.tif 000007
【図４】
2019003336.tif 000008
【図５】
2019003336.tif 000009
【図６】
2019003336.tif 000010
【図７】
2019003336.tif 000011
【図８】
2019003336.tif 000012
【図９】
2019003336.tif 000013
【図１０】
2019003336.tif 000014
【図１１】
2019003336.tif 000015
【図１２】
2019003336.tif 000016
【図１３】
2019003336.tif 000017
【図１４】
2019003336.tif 000018
【図１５】
2019003336.tif 000019
【図１６】
2019003336.tif 000020
【図１７】
2019003336.tif 000021
【図１８】
2019003336.tif 000022
【図１９】
2019003336.tif 000023
【図２０】
2019003336.tif 000024
【図２１】
2019003336.tif 000025
【図２２】
2019003336.tif 000026
【図２３】
2019003336.tif 000027
【図２４】
2019003336.tif 000028
【図２５】
2019003336.tif 000029
【図２６】
2019003336.tif 000030
【図２７】
2019003336.tif 000031
【図２８】
2019003336.tif 000032