(57)【要約】      （修正有）【課題】ビットマップデータを用いて斜体のキャラクタを見栄え良く印刷することができる印刷装置、印刷方法、及び、プログラムを提供する。【解決手段】印刷装置は、被印刷媒体に印刷を行う印刷部と、印刷部を制御する制御回路と、印刷データを蓄積する印刷バッファと、記憶部であるＲＯＭ６を備えている。ＲＯＭ６は、各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットＤＳ２と、それら複数のビットマップデータの各々に対応し、キャラクタを傾斜させるための傾斜情報Ｉｎｃと、を記憶している。制御回路は、ＲＯＭ６に記憶されているデータセットＤＳ２を参照して、印刷データを印刷バッファへ展開し、印刷バッファに展開されている印刷データをＲＯＭ６から読み出した傾斜情報に応じて斜めに読み出して印刷部へ出力する。【選択図】図７
2019055490.tif 000002
【特許請求の範囲】
【請求項１】
被印刷媒体に印刷を行う印刷部と、
前記印刷部を制御する制御部と、
印刷データを蓄積する印刷バッファと、
各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットと、前記複数のビットマップデータの各々に対応し、前記キャラクタを傾斜させるための傾斜情報と、を記憶する記憶部と、を備え、
前記制御部は、
前記記憶部に記憶されている前記データセットを参照して、前記印刷データを前記印刷バッファへ展開し、
前記印刷バッファに展開されている前記印刷データを、前記記憶部から読み出した前記傾斜情報に応じて斜めに読み出して前記印刷部へ出力する
ことを特徴とする印刷装置。
【請求項２】
請求項１に記載の印刷装置において、
前記データセットは、斜体スタイルのビットマップフォントのデータセットを、キャラクタの傾斜が小さくなるように変換したビットマップデータを含むデータセットであり、
前記傾斜情報は、前記傾斜が小さくなるように変換されたキャラクタを元の斜体スタイルのビットマップフォントに復元するための情報である
ことを特徴とする印刷装置。
【請求項３】
請求項１又は２に記載の印刷装置において、
前記制御部は、前記記憶部から読み出したビットマップデータから余白部分のデータを削ったデータを前記印刷データとして前記印刷バッファへ展開する
ことを特徴とする印刷装置。
【請求項４】
請求項２に記載の印刷装置において、
前記記憶部は、前記斜体スタイルのビットマップフォントのデータセットにおけるキャラクタの傾斜が小さくなるように変換したビットマップデータから余白部分のデータを削ったデータと、前記キャラクタを傾斜した状態に復元するための傾斜情報とを記憶する
ことを特徴とする印刷装置。
【請求項５】
請求項１乃至請求項３のいずれか１項に記載の印刷装置において、
前記制御部は、前記記憶部から読み出したビットマップデータを前記印刷データとして前記印刷バッファへ展開する
ことを特徴とする印刷装置。
【請求項６】
請求項１乃至請求項５のいずれか１項に記載の印刷装置において、さらに、
前記記憶部は、外部装置から取得した前記データセットと前記傾斜情報を記憶する
ことを特徴とする印刷装置。
【請求項７】
各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットと、前記複数のビットマップデータの各々に対応し、前記キャラクタを傾斜させるための傾斜情報と、を記憶する記憶部を備える印刷装置が行う印刷方法であって、
前記印刷装置の制御部は、
前記記憶部に記憶されている前記データセットを参照して、印刷データを印刷バッファへ展開し、
前記印刷バッファに展開されている前記印刷データを、前記記憶部から読み出した前記傾斜情報に応じて斜めに読み出して、被印刷媒体に印刷を行う印刷部へ出力する
ことを特徴とする印刷方法。
【請求項８】
各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットと、前記複数のビットマップデータの各々に対応し、前記キャラクタを傾斜させるための傾斜情報と、を記憶する記憶部を備える印刷装置に、
前記記憶部に記憶されている前記データセットを参照して、印刷データを印刷バッファへ展開し、
前記印刷バッファに展開されている前記印刷データを、前記記憶部から読み出した前記傾斜情報に応じて斜めに読み出して、被印刷媒体に印刷を行う印刷部へ出力する
処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書の開示は、印刷装置、印刷方法、及び、プログラムに関する。
【背景技術】
【０００２】
ビットマップフォントは、一般にアウトラインフォント等のスケーラブルフォントに比べてデータ容量が小さいという点で有利であり、現在でも印刷装置で使用されている。ビットマップフォントを使用した印刷装置は、例えば、特許文献１に記載されている。
【０００３】
また、印刷装置には、文字の間隔を調整して見栄え良く印刷を行うためのプロポーショナル印刷機能が設けられている。プロポーショナル印刷は、文字毎に幅の異なる欧文フォントなどを使用する場合に頻繁に利用されている。
【０００４】
ビットマップフォントを用いてプロポーショナル印刷を行う場合、まず、ビットマップフォントのデータセット（つまり、ビットマップデータの集合）から印刷対象の文字（例えば、アルファベットのＩ）のビットマップデータを読み出す。その後、読み出したビットマップデータから左右の余白部分のデータを数ドット分ずつ削って印刷バッファへ出力する。これにより、図１（ａ）に示すように、印刷文字間に生じる余白の幅が調整されて、見栄えの良い印刷結果Ｐ１０を得ることが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−０７８３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、使用するビットマップフォントのスタイルが斜体の場合には、文字間隔の調整を十分に行えないことがある。これは、斜体の文字では、斜体ではない文字に比べて、左右の余白部分が狭いためであり、その結果、各文字のビットマップデータから削ることができるデータの幅も短くなるからである。
【０００７】
このため、プロポーショナル印刷を行っているにも関わらず、図１（ｂ）に示す印刷結果Ｐ２０のように、文字間隔が十分に詰まらず、見栄えの良い印刷が行えない、といった事態が生じ得る。
【０００８】
以上では斜体の文字を印刷する場合を例に説明したが、文字を印刷する場合に限らず、ビットマップデータを用いて斜体の絵文字、記号、図形等を印刷する場合も同様である。なお、以降では、文字（絵文字を含む）、記号、図形等をキャラクタと総称する。
【０００９】
以上のような実情を踏まえ、本発明の一側面に係る目的は、ビットマップデータを用いて斜体のキャラクタを見栄え良く印刷する技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明の一態様に係る印刷装置は、被印刷媒体に印刷を行う印刷部と、前記印刷部を制御する制御部と、印刷データを蓄積する印刷バッファと、各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットと、前記複数のビットマップデータの各々に対応し、前記キャラクタを傾斜させるための傾斜情報と、を記憶する記憶部と、を備え、前記制御部は、前記記憶部に記憶されている前記データセットを参照して、前記印刷データを前記印刷バッファへ展開し、前記印刷バッファに展開されている前記印刷データを、前記記憶部から読み出した前記傾斜情報に応じて斜めに読み出して前記印刷部へ出力する。
【００１１】
本発明の一態様に係る印刷方法は、各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットと、前記複数のビットマップデータの各々に対応し、前記キャラクタを傾斜させるための傾斜情報と、を記憶する記憶部を備える印刷装置が行う印刷方法であって、前記印刷装置の制御部は、前記記憶部に記憶されている前記データセットを参照して、印刷データを印刷バッファへ展開し、前記印刷バッファに展開されている前記印刷データを、前記記憶部から読み出した前記傾斜情報に応じて斜めに読み出して、被印刷媒体に印刷を行う印刷部へ出力する。
【００１２】
本発明の一態様に係るプログラムは、各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットと、前記複数のビットマップデータの各々に対応し、前記キャラクタを傾斜させるための傾斜情報と、を記憶する記憶部を備える印刷装置に、前記記憶部に記憶されている前記データセットを参照して、印刷データを印刷バッファへ展開し、前記印刷バッファに展開されている前記印刷データを、前記記憶部から読み出した前記傾斜情報に応じて斜めに読み出して、被印刷媒体に印刷を行う印刷部へ出力する処理を実行させる。
【発明の効果】
【００１３】
上記の態様によれば、ビットマップデータを用いて斜体のキャラクタを見栄え良く印刷することができる。
【図面の簡単な説明】
【００１４】
【図１】従来のプロポーショナル印刷の印刷結果を例示した図である。
【図２】印刷装置１の斜視図である。
【図３】印刷装置１に収納されるテープカセット３０の斜視図である。
【図４】印刷装置１のカセット収納部１９の斜視図である。
【図５】印刷装置１の断面図である。
【図６】印刷装置１のハードウェア構成を示したブロック図である。
【図７】ＲＯＭ６に記憶されているデータを例示した図である。
【図８】ＲＯＭ６に記憶されているビットマップデータの生成方法を説明するための図である。
【図９】印刷制御処理のフローチャートを例示した図である。
【図１０】印刷データ展開処理のフローチャートを例示した図である。
【図１１】印刷データ出力処理のフローチャートを例示した図である。
【図１２】印刷バッファ内に記憶された印刷データＢ１を例示した図である。
【図１３】印刷結果Ｐ１を例示した図である。
【図１４】読み出し出力処理のフローチャートを例示した図である。
【発明を実施するための形態】
【００１５】
図２は、一実施形態に係る印刷装置１の斜視図である。印刷装置１は、キャラクタの情報をビットマップデータとして記憶した記憶部を有する印刷装置であり、印刷すべきキャラクタが指示されると、記憶部に記憶されているビットマップデータを用いて指示されたキャラクタの印刷を被印刷媒体に行う。
【００１６】
以降では、印刷装置１の一例としてインクリボンを使用する熱転写方式のサーマルプリンタを説明するが、印刷方式は特に限定されない。印刷装置１は、感熱紙を使用する感熱方式のサーマルプリンタであってもよく、また、インクジェットプリンタ、レーザプリンタなどであってもよい。また、以降では、シングルパス（ワンパス）方式で印刷を行う印刷装置１を例示するが、印刷装置１は、マルチパス（スキャン）方式で印刷を行ってもよい。さらに、以降では、テープカセット内部にロール状に巻かれた状態で収納されている長尺状の被印刷媒体Ｍを使用する例を示すが、被印刷媒体は特に限定されない。例えば、Ａ３、Ａ４など所定のサイズに予め裁断されているカット紙を使用してもよい。
【００１７】
印刷装置１は、図２に示すように、装置筐体２と、入力部３と、表示部４と、開閉蓋１８と、カセット収納部１９を備える。装置筐体２の上面には、入力部３、表示部４、及び開閉蓋１８が配置されている。また、図示しないが、装置筐体２には、電源コード接続端子、外部機器接続端子、記憶媒体挿入口等が設けられている。
【００１８】
入力部３は、入力キー、十字キー、変換キー、決定キーなどの種々のキーを備える。表示部４は、例えば液晶表示パネルであり、入力部３からの入力に対応する文字等、各種設定のための選択メニュー、各種処理に関するメッセージ等、を表示する。また、印刷中には、印刷内容が表示され、印刷処理の進捗状況が表示されてもよい。なお、表示部４にはタッチパネルユニットが設けられていてもよく、その場合、表示部４を入力部３の一部として看做してもよい。
【００１９】
開閉蓋１８は、カセット収納部１９の上部に開閉可能に配置されている。開閉蓋１８は、ボタン１８ａを押下されることにより開放される。開閉蓋１８には、この開閉蓋１８が閉じた状態でもカセット収納部１９にテープカセット３０（図３参照）が収納されているか否かを目視で確認可能とするために、窓１８ｂが形成されている。また、装置筐体２の側面には、排出口２ａが形成されている。印刷装置１内で印刷が行われた被印刷媒体Ｍは、排出口２ａから装置外へ排出される。
【００２０】
図３は、印刷装置１に収納されるテープカセット３０の斜視図である。図４は、印刷装置１のカセット収納部１９の斜視図である。図５は、印刷装置１の断面図である。図３に示すテープカセット３０は、図４に示すカセット収納部１９に着脱自在に収納される。図５には、テープカセット３０がカセット収納部１９に収納された状態が示されている。
【００２１】
テープカセット３０は、図３に示すように、サーマルヘッド被挿入部３６及び係合部３７が形成された、被印刷媒体ＭとインクリボンＲを収容するカセットケース３１を有する。カセットケース３１には、テープコア３２とインクリボン供給コア３４とインクリボン巻取りコア３５が設けられている。
【００２２】
被印刷媒体Ｍは、カセットケース３１内部のテープコア３２にロール状に巻かれている。被印刷媒体Ｍは、例えば、接着層を有する基材と、接着層を覆うように剥離可能に基材に貼付された剥離紙と、を有するテープ部材である。ただし、被印刷媒体Ｍは、離型紙なしのテープ部材であってもよい。熱転写用のインクリボンＲは、その先端がインクリボン巻取りコア３５に巻きつけられた状態で、カセットケース３１内部のインクリボン供給コア３４にロール状に巻かれている。
【００２３】
装置筐体２のカセット収納部１９には、図４に示すように、テープカセット３０を所定の位置で支持するための複数のカセット受け部２０が設けられている。また、カセット受け部２０には、テープカセット３０が収容するテープ（被印刷媒体Ｍ）の幅を検出するためのテープ幅検出スイッチ２４が設けられている。テープ幅検出スイッチ２４は、カセットの形状に基づいて被印刷媒体Ｍの幅を検出する幅検出部である。
【００２４】
カセット収納部１９には、さらに、複数の発熱素子を有し、被印刷媒体Ｍに印刷を行うサーマルヘッド１０と、被印刷媒体Ｍを搬送する搬送部であるプラテンローラ２１と、テープコア係合軸２２と、インクリボン巻取り駆動軸２３が設けられている。さらに、サーマルヘッド１０には、サーミスタ１３が埋め込まれている。サーミスタ１３は、サーマルヘッド１０の温度を測定するヘッド温度測定部である。
【００２５】
テープカセット３０がカセット収納部１９に収納された状態では、図５に示すように、カセットケース３１に設けられた係合部３７がカセット収納部１９に設けられたカセット受け部２０に支持されて、サーマルヘッド１０がカセットケース３１に形成されたサーマルヘッド被挿入部３６に挿入される。また、テープコア係合軸２２には、テープカセット３０のテープコア３２が係合し、さらに、インクリボン巻取り駆動軸２３には、インクリボン巻取りコア３５が係合する。
【００２６】
印刷装置１に印刷指示が入力されると、被印刷媒体Ｍは、プラテンローラ２１の回転によりテープコア３２から繰り出される。この際、インクリボン巻取り駆動軸２３がプラテンローラ２１に同調して回転することで、被印刷媒体ＭとともにインクリボンＲがインクリボン供給コア３４から繰り出される。これにより、被印刷媒体ＭとインクリボンＲは重なった状態で搬送される。そして、サーマルヘッド１０とプラテンローラ２１の間を通過する際にインクリボンＲがサーマルヘッド１０によって加熱されることで、インクが被印刷媒体Ｍに転写され、印刷が行われる。
【００２７】
サーマルヘッド１０とプラテンローラ２１の間を通過した使用済みのインクリボンＲは、インクリボン巻取りコア３５に巻き取られる。一方、サーマルヘッド１０とプラテンローラ２１の間を通過した印刷済みの被印刷媒体Ｍは、ハーフカット機構１６及びフルカット機構１７で切断され、排出口２ａから排出される。
【００２８】
図６は、印刷装置１のハードウェア構成を示したブロック図である。印刷装置１は、上述の入力部３、表示部４、サーマルヘッド１０、サーミスタ１３、ハーフカット機構１６、フルカット機構１７、プラテンローラ２１、テープ幅検出スイッチ２４に加えて、制御回路５、ＲＯＭ（Read Only Memory）６、ＲＡＭ（Random Access Memory）７、表示部駆動回路８、ヘッド駆動回路９、搬送用モータ駆動回路１１、ステッピングモータ１２、カッターモータ駆動回路１４、カッターモータ１５、及び、電源回路４０を備える。なお、少なくとも制御回路５、ＲＯＭ６、及びＲＡＭ７は、印刷装置１のコンピュータを構成する。
【００２９】
制御回路５は、例えばＣＰＵ（Central Processing Unit）などのプロセッサ５ａを含む。制御回路５は、ＲＯＭ６に記憶されているプログラムをＲＡＭ７に展開し実行することで、印刷装置１の各部の動作を制御する。
【００３０】
制御回路５は、例えば、制御信号（ストローブ信号、ラッチ信号、クロック信号）と印刷データをヘッド駆動回路９へ供給し、ヘッド駆動回路９を介してサーマルヘッド１０を制御する。即ち、ヘッド駆動回路９及びサーマルヘッド１０は、被印刷媒体Ｍに印刷を行う印刷部であり、制御回路５は、印刷部を制御する制御部である。また、制御回路５は、モータ駆動回路（搬送用モータ駆動回路１１、カッターモータ駆動回路１４）を介してモータ（ステッピングモータ１２、カッターモータ１５）を制御する。
【００３１】
ＲＯＭ６は、被印刷媒体Ｍに印刷を行う印刷プログラム、印刷プログラムの実行に必要な各種データを記憶する記憶部である。なお、ＲＯＭ６に記憶されているデータについては、後述する。ＲＡＭ７は、印刷データを蓄積する印刷バッファを含んでいる。さらに、ＲＡＭ７は、表示データを記憶する表示バッファを含んでいる。
【００３２】
表示部駆動回路８は、ＲＡＭ７に記憶された表示データに基づいて表示部４を制御する。表示部４は、表示部駆動回路８の制御下で、例えば、印刷処理の進捗状況が認識可能な態様で印刷内容を表示してもよい。
【００３３】
ヘッド駆動回路９は、制御回路５から供給された制御信号と印刷データに基づいてサーマルヘッド１０を駆動するヘッド駆動部であり、制御回路から受信した１ライン分の印刷データ（以降、印刷ラインデータ）を保持するラッチ回路９ａを備えている。より詳細には、ヘッド駆動回路９は、ストローブ信号がＯＮである通電期間中に、ラッチ回路９ａから出力された印刷ラインデータに基づいて複数の発熱素子１０ａに対して電圧の通電又は非通電を制御する。
【００３４】
サーマルヘッド１０は、主走査方向に配列された複数の発熱素子１０ａを有する印刷ヘッドである。ヘッド駆動回路９が、制御回路５から供給されたストローブ信号により指定される通電期間中に、ラッチ回路９ａから出力された印刷ラインデータに応じて発熱素子１０ａへ電流を選択的に流すことで、発熱素子１０ａが発熱してインクリボンＲを加熱する。その結果、熱転写により被印刷媒体Ｍに１ラインずつ印刷が行われる。
【００３５】
搬送用モータ駆動回路１１は、ステッピングモータ１２を駆動する。ステッピングモータ１２は、プラテンローラ２１を回転させる。プラテンローラ２１は、ステッピングモータ１２の動力によって回転し、被印刷媒体Ｍの長手方向（副走査方向）に被印刷媒体Ｍを搬送する搬送部である。
【００３６】
カッターモータ駆動回路１４は、カッターモータ１５を駆動する。ハーフカット機構１６及びフルカット機構１７は、カッターモータ１５の動力によって動作し、被印刷媒体Ｍをハーフカット又はフルカットする。フルカットとは、被印刷媒体Ｍの基材を剥離紙とともに幅方向に沿って切断する動作のことであり、ハーフカットは、基材のみを幅方向に沿って切断する動作のことである。
【００３７】
電源回路４０は、ＡＣアダプタ５０からの直流電圧（例えば、２４Ｖ）から出力電圧を生成し、印刷装置１の各部に電力を供給する電源部である。
【００３８】
以上のように構成された印刷装置１は、ＲＯＭ６に記憶されているデータを用いることで、斜体のキャラクタを見栄え良く印刷することができる。以下、斜体のキャラクタを見栄え良く印刷する方法について具体的に説明する。
【００３９】
図７は、ＲＯＭ６に記憶されているデータを例示した図である。図８は、ＲＯＭ６に記憶されているビットマップデータの作成方法を説明するための図である。図７及び図８を参照しながら、印刷装置１が斜体のキャラクタを見栄えよく印刷する際に使用するデータについて、説明する。
【００４０】
記憶部であるＲＯＭ６は、図７に示すように、複数のデータセット（データセットＤＳ１、データセットＤＳ２）と、傾斜情報Ｉｎｃを記憶している。なお、ＲＯＭ６には、少なくとも１組以上のデータセットと傾斜情報が記憶されていれば良い。
【００４１】
ここで、ＲＯＭ６に記憶されているデータセットは、各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットである。データセットの具体例は、ビットマップフォントのデータセットである。ビットマップフォントのデータセットは、書体（例えば、明朝体、ゴシック体など）、フォントサイズ（例えば、３２ｐｔ、６４ｐｔ、１２８ｐｔなど）、スタイル（標準、斜体、太字など）の組み合わせ毎に予め生成され、ＲＯＭ６に記憶されている。
【００４２】
データセットＤＳ１は、例えば、書体Ａ、斜体スタイル、且つ、フォントサイズＢのビットマップフォントのデータセットである。また、データセットＤＳ２は、例えば、データセットＤＳ１から生成されたビットマップフォントのデータセットである。より具体的には、データセットＤＳ１を、傾斜情報Ｉｎｃを用いてキャラクタの傾斜が小さくなるように変換することにより生成されたデータセットである。
【００４３】
また、ＲＯＭ６に記憶されている傾斜情報は、ビットマップデータに対応するキャラクタを傾斜させるための情報である。より具体的には、ビットマップデータに対応するキャラクタを傾斜した状態に復元するための情報である。つまり、斜体スタイルのデータセット（例えば、データセットＤＳ１）をキャラクタの傾斜が小さくなるように変換することにより生成されたデータセット（例えば、データセットＤＳ２）を、元の斜体スタイルのデータセット（例えば、データセットＤＳ１）へ復元するための情報である。換言すると、傾斜が小さくなるように変換されたキャラクタを元の斜体スタイルのビットマップフォントに復元するための情報である。
【００４４】
例えばデータセットＤＳ２に含まれているビットマップデータのような、変換後のビットマップデータは、次のような手順で作成され、ＲＯＭ６に記憶される。
【００４５】
まず、図８（ａ）に示す変換前のビットマップデータＤ１をキャラクタの傾斜が小さくなるように変換して、図８（ｂ）に示すビットマップデータＤ２を生成する。
【００４６】
具体的には、ビットマップデータＤ１を、印字対象のドット（黒丸部分）を含む注目領域Ｒ１とそれ以外の余白領域Ｒ２に分けて、注目領域Ｒ１の傾斜を特定する。図８（ａ）の例では、注目領域Ｒ１は縦方向に並んだ４ドット毎にキャラクタの傾斜方向へ１ドット分ずつシフトするように傾斜している。
【００４７】
その後、特定した傾斜を打ち消すようにビットマップデータＤ１をシフトさせることで、ビットマップデータＤ２に変換する。つまり、ビットマップデータＤ１を、縦方向に並んだ４ドット毎にキャラクタの傾斜方向とは反対の方向へ１ドット分ずつシフトさせる。これにより、ビットマップデータＤ１は、注目領域Ｒ３と余白領域Ｒ４を有するビットマップデータＤ２に変換される。
【００４８】
次に、生成されたビットマップデータＤ２を整形して、変換後のビットマップデータを生成する。ビットマップデータＤ１はＮドット×Ｎドットのビットマップデータであるが、シフト後のビットマップデータＤ２はシフト処理により矩形ではない輪郭を有するデータとなっている。このような矩形ではないデータがＲＯＭ６に記憶されると、ＲＯＭ６の記憶領域の効率な利用が妨げられる、読み出し時の領域指定が困難になる、といったデメリットが生じる。このため、ビットマップデータの輪郭が矩形となるように、ビットマップデータＤ２を整形する。
【００４９】
具体的には、例えば、図８（ｃ）に示すように、輪郭が正方形になるようにビットマップデータＤ２を整形してもよい。図８（ｃ）に示すビットマップデータＤ３は、注目領域Ｒ３の左右に輪郭が正方形になるように余白領域Ｒ５を設けることで生成された変換後のビットマップデータである。また、図８（ｄ）に示すように、ビットマップデータＤ２から余白領域Ｒ４を削ることでビットマップデータＤ２を整形してもよい。図８（ｄ）に示すビットマップデータＤ４は、ビットマップデータＤ２から余白領域Ｒ４を削ることで生成された、注目領域Ｒ３のみからなる変換後のビットマップデータである。
【００５０】
以上の処理を変換前のデータセットに含まれる全てのビットマップデータに対して繰り返す。これにより、整形されたビットマップデータを含む変換後のデータセットが生成される。
【００５１】
最後に、変換後のデータセットを、傾斜情報と関連付けてＲＯＭ６に記憶する。なお、傾斜情報は、ビットマップデータＤ１をビットマップデータＤ２へ変換する際に行われたシフト処理の情報であり、この例では、縦方向４ドット毎に１ドット分ずつデータをシフトするという情報である。
【００５２】
図９は、印刷制御処理のフローチャートを例示した図である。図１０は、印刷データ展開処理のフローチャートを例示した図である。図１１は、印刷データ出力処理のフローチャートを例示した図である。図１２は、印刷バッファ内に記憶された印刷データＢ１を例示した図である。図１３は、印刷結果Ｐ１を例示した図である。印刷装置１がＲＯＭ６に記憶されている情報を用いて斜体のキャラクタを見栄え良く印刷する印刷方法について、図９から図１３を参照しながら、説明する。
【００５３】
印刷装置１は、印刷指示が入力されると、図９に示す印刷制御処理を開始する。制御回路５は、図９に示す印刷制御処理が開始されると、まず、印刷指示を取得する（ステップＳ１００）。ここでは、制御回路５は、入力部３から印刷内容を指定した印刷指示を取得する。印刷内容には、印刷すべき１つ以上のキャラクタ（以降、キャラクタ列と記す。）、書体、フォントサイズ、スタイル、プロポーショナル印刷を行うか、などが含まれている。以降では、キャラクタ列が“Ｉｔａｌｉｃ  ｆｏｎｔ”であり、書体が書体Ａであり、フォントサイズがフォントサイズＢであり、スタイルが斜体であり、プロポーショナル印刷を行うか否かがYESである場合を例に説明する。
【００５４】
印刷指示を取得すると、制御回路５は、図１０に示す印刷データ展開処理を行う（ステップＳ２００）。ここでは、まず、制御回路５は、印刷指示に応じたデータセットを特定する（ステップＳ２０１）。具体的には、ステップＳ１００で指定された書体、フォントサイズ、スタイル、プロポーショナル印刷、の情報に基づいて、参照すべきデータセットを特定する。ここでは、例えば、変換後のデータセットであるデータセットＤＳ２が特定される。
【００５５】
データセットが特定されると、制御回路５は、特定されたデータセットに含まれるビットマップデータを読み出す（ステップＳ２０２）。具体的には、制御回路５は、ＲＯＭ６に記憶されているデータセットＤＳ２を参照して、キャラクタ列“Ｉｔａｌｉｃ  ｆｏｎｔ”に含まれる各キャラクタに対応するビットマップデータをＲＯＭ６から読み出す。
【００５６】
その後、制御回路５は、印刷データを印刷バッファへ展開する（ステップＳ２０３）。具体的には、ＲＯＭ６から読み出したビットマップデータが、例えば、図８（ｃ）に示すビットマップデータＤ３のように注目領域Ｒ３の左右に余白領域Ｒ５を含む場合には、余白領域Ｒ５（余白部分のデータ）を削ったデータを印刷データとして印刷バッファへ展開する。一方、ＲＯＭ６から読み出したビットマップデータが、例えば、図８（ｄ）に示すビットマップデータＤ４のように余白領域を含まない場合には、その読み出したビットマップデータそのものを印刷データとして印刷バッファへ展開する。図１２は、印刷バッファに展開された印刷データの一例である。
【００５７】
これにより、図１２に示すように、斜体スタイルのビットマップデータを用いて印刷データを展開した場合よりもキャラクタ間隔を狭く調整することができる。これは、図８（ａ）に示すビットマップデータＤ１と図８（ｃ）に示すビットマップデータＤ３を比較すると分かるように、削ることができる左右の余白領域の大きさがビットマップデータＤ３の方がビットマップデータＤ１よりも大きいためである。
【００５８】
図１０に示す印刷データ展開処理が終了すると、制御回路５は、図１１に示す印刷データ出力処理を行う（ステップＳ３００）。ここでは、まず、制御回路５は、ＲＯＭ６からステップＳ２０１で特定されたデータセットＤＳ２に対応する傾斜情報Ｉｎｃを読み出す（ステップＳ３０１）。具体的には、傾斜情報Ｉｎｃは、例えば、縦方向４ドット毎に１ドット分ずつデータをシフトするという情報である。
【００５９】
その後、制御回路５は、印刷バッファから１ライン分のデータを斜めに読み出す（ステップＳ３０２）。具体的には、制御回路５は、印刷バッファに展開されている印刷データＢ１を、ステップＳ３０１で読み出した傾斜情報に応じて、図１２の矢印で示されるように斜めに読み出す。つまり、この例では、縦方向４ドット毎に１ドット分ずつ横方向へシフトしながら１ライン分の印刷データ（印刷ラインデータ）を読み出す。このとき、シフトする横方向は、斜体のキャラクタの傾斜方向とは反対の方向である。
【００６０】
最後に、制御回路５は、読み出した印刷ラインデータを印刷部へ出力する（ステップＳ３０３）。具体的には、制御回路５は、印刷ラインデータをヘッド駆動回路９へ出力する。これにより、ヘッド駆動回路９がサーマルヘッド１０を制御して、印刷ラインデータに応じた１ライン分の印刷が行われる。
【００６１】
制御回路５がステップＳ３０２及びステップＳ３０３を繰り返すことで、図１３に示す印刷結果Ｐ１のように、ステップＳ１００で指示されたキャラクタ列が、指示された書体、指示されたスタイル（斜体）、指示されたフォントサイズで被印刷媒体Ｍに印刷される。これは、ステップＳ３０２で斜めに読み出された情報が被印刷媒体Ｍ上で縦方向（つまり、主走査方向）に整列することで、各キャラクタのスタイルが元の斜体スタイルに復元されるからである。
【００６２】
図１４は、読み出し出力処理のフローチャートを例示した図である。図１４を参照しながら、図１１のステップＳ３０２及びステップＳ３０３の処理のより詳細なアルゴリズムの一例について説明する。なお、以降では、ステップＳ３０２の処理及びステップＳ３０３の処理をまとめて読み出し出力処理と記す。
【００６３】
制御回路５は、読み出し出力処理が開始されると、まず、読み出し位置X,Yを初期化する（ステップＳ３１１）。読み出し位置X,Yはそれぞれ印刷バッファ内における座標を示す変数であり、被印刷媒体Ｍにおける主走査方向の位置、副走査方向の位置に対応する。
【００６４】
次に、制御回路５は、読み出し対象のラインを設定する（ステップＳ３１２）。ここでは、読み出し位置Yを読み出し対象のラインY0として設定する。
【００６５】
その後、制御回路５は、ステップＳ３０１で読み出した傾斜情報に基づいて傾斜制御変数nを設定する（ステップＳ３１３）。ここでは、傾斜情報が縦方向n0ドット毎に１ドット分ずつデータをシフトするという情報であるとすると、傾斜制御変数nにn0を設定する。この例では、n0=4である。
【００６６】
続いて、制御回路５は、印刷バッファ内のデータを読み出して、ラインデータに設定する（ステップＳ３１４）。ここでは、読み出し位置(X,Y)のデータBuffer(X,Y)をラインデータLine[X]に設定する。
【００６７】
ラインデータが設定されると、制御回路５は、読み出し位置を主走査方向にシフトする（ステップＳ３１５）。具体的には、読み出し位置Xをインクリメントする。
【００６８】
さらに、制御回路５は、傾斜制御変数nをデクリメントし（ステップＳ３１６）、デクリメント後の傾斜制御変数nが０より大きいか否かを判定する（ステップＳ３１７）。
【００６９】
傾斜制御変数nが０より大きい場合には、制御回路５は、傾斜制御変数nが０になるまで、ステップＳ３１４からステップＳ３１７の処理を繰り返す。そして、傾斜制御変数nが０になると、制御回路５は、読み出し位置を副走査方向にシフトする（ステップＳ３１８）。具体的には、斜体の傾斜方向と反対の方向にシフトするために、読み出し位置Yをデクリメントする。
【００７０】
その後、制御回路５は、読み出し位置Xが印刷バッファに記憶されている印刷データの主走査方向のビット数−１よりも小さいか否かを判定する（ステップＳ３１９）。図１２に示す例では、主走査方向のビット数は128であるから、127よりも小さいか否かを判定する。
【００７１】
読み出し位置Xが主走査方向のビット数−１よりも小さい場合には、制御回路５は、読み出し位置Xが主走査方向のビット数−１と等しくなるまで、ステップＳ３１３からステップＳ３１９の処理を繰り返す。そして、読み出し位置Xが主走査方向のビット数−１と等しくなると、制御回路５は、ラインデータLineを印刷部へ出力する（ステップＳ３２０）。これにより、印刷部が１ライン分の印刷を被印刷媒体Ｍに行う。
【００７２】
制御回路５は、読み出し位置Yに次のラインを設定する（ステップＳ３２１）。つまり、読み出し位置YにステップＳ３１２で設定したY0に1を加えた値を設定する。
【００７３】
さらに、制御回路５は、読み出し位置Yが副走査方向のビット数−１＋シフト回数Sよりも小さいか否かを判定する（ステップＳ３２２）。シフト回数Sは、読み出し位置Xを主走査方向のビット数−１だけ主走査方向へシフトするまでの間に、読み出し位置Yを副走査方向へシフトさせた回数のことである。換言すると、１ライン分の印刷データを読み出す間に行われる副走査方向へのシフト回数である。この例では、主走査方向のビット数は512であり、シフト回数は128/4=32であるから、543(=512-1+32) よりも小さいか否かを判定する。
【００７４】
読み出し位置Yが副走査方向のビット数−１＋シフト回数Sよりも小さい場合には、制御回路５は、読み出し位置Yが副走査方向のビット数＋シフト回数Sに等しくなるまで、ステップＳ３１２からステップＳ３２２までの処理を繰り返す。そして、読み出し位置Yが副走査方向のビット数＋シフト回数Sに等しくなると、印刷バッファに記憶されている印刷データがすべて読み出されたことになるため、制御回路５は、読み出し出力処理を終了する。
【００７５】
以上のように構成された印刷装置１では、記憶部に、斜体スタイルの複数のビットマップデータを含む変換前のデータセットをキャラクタの傾斜が小さくなるように変換することにより生成された変換後のデータセットが記憶されている。変換後のデータセットに含まれるビットマップデータは変換前のデータセットに含まれるビットマップデータに比べて余白部分をより大きく削ることができるため、印刷バッファにキャラクタ間隔を十分に狭めた印刷データを展開することができる。
【００７６】
さらに、印刷装置１では、記憶部に、変換後のデータセットとともに、変換後のデータセットを変換前のデータセットへ復元するための傾斜情報が記憶されている。傾斜情報を用いて印刷バッファに記憶されている印刷データを斜めに読み出すことで、変換前のデータセットに対応する書体及びスタイル（つまり、斜体）が再現される。
【００７７】
従って、印刷装置１によれば、キャラクタ間隔を十分に狭めながら任意の斜体のキャラクタ列を印刷することが可能である。このため、ビットマップデータを用いて斜体のキャラクタを見栄え良く印刷することができる。また、印刷装置１は、余白部分のデータを削った状態のビットマップデータを含む変換後のデータセットをＲＯＭ６に記憶することで、データセットを記憶する記憶領域の容量を従来に比べて小さく抑えることができる。
【００７８】
上述した実施形態は、発明の理解を容易にするために具体例を示したものであり、本発明はこれらの実施形態に限定されるものではない。印刷装置、印刷方法、及びプログラムは、特許請求の範囲の記載を逸脱しない範囲において、さまざまな変形、変更が可能である。
【００７９】
上述した実施形態では、データセットと傾斜情報が印刷装置のＲＯＭ６に記憶されている例を示したが、データセットと傾斜情報は、ネットワークを介して接続された外部装置から取得してもよい。この場合、外部装置から取得したデータセットと傾斜情報は、ＲＡＭ７に記憶されるため、ＲＯＭ６ではなくＲＡＭ７がデータセットと傾斜情報を記憶する記憶部として機能する。
【００８０】
また、上述した実施形態では、印刷バッファに記憶されている印刷データを斜めに読むことで被印刷媒体Ｍ上に斜体のキャラクタ列を再現する例を示したが、表示バッファに記憶されている表示データを斜めに読むことでディスプレイ上に斜体のキャラクタ列を再現してもよい。
【００８１】
以下、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
被印刷媒体に印刷を行う印刷部と、
前記印刷部を制御する制御部と、
印刷データを蓄積する印刷バッファと、
各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットと、前記複数のビットマップデータの各々に対応し、前記キャラクタを傾斜させるための傾斜情報と、を記憶する記憶部と、を備え、
前記制御部は、
前記記憶部に記憶されている前記データセットを参照して、前記印刷データを前記印刷バッファへ展開し、
前記印刷バッファに展開されている前記印刷データを、前記記憶部から読み出した前記傾斜情報に応じて斜めに読み出して前記印刷部へ出力する
ことを特徴とする印刷装置。
【００８２】
［付記２］
付記１に記載の印刷装置において、
前記データセットは、斜体スタイルのビットマップフォントのデータセットを、キャラクタの傾斜が小さくなるように変換したビットマップデータを含むデータセットであり、
前記傾斜情報は、前記傾斜が小さくなるように変換されたキャラクタを元の斜体スタイルのビットマップフォントに復元するための情報である
ことを特徴とする印刷装置。
【００８３】
［付記３］
付記１又は２に記載の印刷装置において、
前記制御部は、前記記憶部から読み出したビットマップデータから余白部分のデータを削ったデータを前記印刷データとして前記印刷バッファへ展開する
ことを特徴とする印刷装置。
【００８４】
［付記４］
付記２に記載の印刷装置において、
前記記憶部は、前記斜体スタイルのビットマップフォントのデータセットにおけるキャラクタの傾斜が小さくなるように変換したビットマップデータから余白部分のデータを削ったデータと、前記キャラクタを傾斜した状態に復元するための傾斜情報とを記憶する
ことを特徴とする印刷装置。
【００８５】
［付記５］
付記１乃至付記３のいずれか１つに記載の印刷装置において、
前記制御部は、前記記憶部から読み出したビットマップデータを前記印刷データとして前記印刷バッファへ展開する
ことを特徴とする印刷装置。
【００８６】
［付記６］
付記１乃至付記５のいずれか１つに記載の印刷装置において、さらに、
前記記憶部は、外部装置から取得した前記データセットと前記傾斜情報を記憶する
ことを特徴とする印刷装置。
【００８７】
［付記７］
各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットと、前記複数のビットマップデータの各々に対応し、前記キャラクタを傾斜させるための傾斜情報と、を記憶する記憶部を備える印刷装置が行う印刷方法であって、
前記印刷装置の制御部は、
前記記憶部に記憶されている前記データセットを参照して、印刷データを印刷バッファへ展開し、
前記印刷バッファに展開されている前記印刷データを、前記記憶部から読み出した前記傾斜情報に応じて斜めに読み出して、被印刷媒体に印刷を行う印刷部へ出力する
ことを特徴とする印刷方法。
【００８８】
［付記８］
各々が異なるキャラクタを表す複数のビットマップデータを含むデータセットと、前記複数のビットマップデータの各々に対応し、前記キャラクタを傾斜させるための傾斜情報と、を記憶する記憶部を備える印刷装置に、
前記記憶部に記憶されている前記データセットを参照して、印刷データを印刷バッファへ展開し、
前記印刷バッファに展開されている前記印刷データを、前記記憶部から読み出した前記傾斜情報に応じて斜めに読み出して、被印刷媒体に印刷を行う印刷部へ出力する
処理を実行させることを特徴とするプログラム。
【符号の説明】
【００８９】
１・・・印刷装置、２・・・装置筐体、２ａ・・・排出口、３・・・入力部、４・・・表示部、５・・・制御回路、５ａ・・・プロセッサ、６・・・ＲＯＭ、７・・・ＲＡＭ、８・・・表示部駆動回路、９・・・ヘッド駆動回路、９ａ・・・ラッチ回路、１０・・・サーマルヘッド、１０ａ・・・発熱素子、１１・・・搬送用モータ駆動回路、１２・・・ステッピングモータ、１３・・・サーミスタ、１４・・・カッターモータ駆動回路、１５・・・カッターモータ、１６・・・ハーフカット機構、１７・・・フルカット機構、１８・・・開閉蓋、１８ａ・・・ボタン、１８ｂ・・・窓、１９・・・カセット収納部、２０・・・カセット受け部、２１・・・プラテンローラ、２２・・・テープコア係合軸、２３・・・インクリボン巻取り駆動軸、２４・・・テープ幅検出スイッチ、３０・・・テープカセット、３１・・・カセットケース、３２・・・テープコア、３４・・・インクリボン供給コア、３５・・・インクリボン巻取りコア、３６・・・サーマルヘッド被挿入部、３７・・・係合部、４０・・・電源回路、５０・・・ＡＣアダプタ、Ｂ１・・・印刷データ、Ｄ１、Ｄ２、Ｄ３、Ｄ４・・・ビットマップデータ、ＤＳ１、ＤＳ２・・・データセット、Ｉｎｃ・・・傾斜情報、Ｍ・・・被印刷媒体、Ｐ１、Ｐ１０、Ｐ２０・・・印刷結果、Ｒ・・・インクリボン、Ｒ１、Ｒ３・・・注目領域、Ｒ２、Ｒ４、Ｒ５・・・余白領域
【図１】
2019055490.tif 000003
【図２】
2019055490.tif 000004
【図３】
2019055490.tif 000005
【図４】
2019055490.tif 000006
【図５】
2019055490.tif 000007
【図６】
2019055490.tif 000008
【図７】
2019055490.tif 000009
【図８】
2019055490.tif 000010
【図９】
2019055490.tif 000011
【図１０】
2019055490.tif 000012
【図１１】
2019055490.tif 000013
【図１２】
2019055490.tif 000014
【図１３】
2019055490.tif 000015
【図１４】
2019055490.tif 000016