(57)【要約】【課題】決められた領域により大きな文字を入れることが望まれていた。【解決手段】制御部２１は、S202にて、必要枠サイズを計算し、S204にて必要枠サイズが印刷領域に対応するテキストボックスの横枠サイズよりも大きいか判断する。ＹＥＳと判断されると、S206にて、文字サイズ再計算処理を実行する。S210では、S206にて仮想ボディーサイズを利用して文字サイズと行間サイズを計算し、文字サイズと文字間サイズ（行間サイズ）は各テキストボックスのプロパティーに反映させる。S301では、各テキストボックスの位置と大きさを設定し、S302では、文字サイズを各テキストボックスのプロパティーに設定し、続くS304では、各テキストボックスで文字が重ならないように文字間サイズをプロパティーに設定する。その後、S306にて、隣り合う文字の基準枠が接するようにテキストボックスを重畳する。【選択図】図４
2019119194.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーの入力を受け付ける入力部と、
印刷機構と、
プロセッサーと、を備えた印刷装置であって、
前記プロセッサーは、
ユーザーから文字列の入力を受け付け、隣の文字が別のテキストボックスに入るように前記文字列の文字を少なくとも２つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御することを特徴とする印刷装置。
【請求項２】
前記プロセッサーは、隣り合う文字の内枠が接するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御することを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記外枠は仮想ボディーであり、文字の内枠は基準枠であることを特徴とする請求項１または請求項２に記載の印刷装置。
【請求項４】
前記プロセッサーは、次式により計算した仮想ボディーサイズに基づいて前記文字サイズを決定することを特徴とする請求項３に記載の印刷装置。
（仮想ボディーサイズ）＝（印刷領域の枠サイズ÷文字数）×（（仮想ボディーサイズ）／（基準枠サイズ））
【請求項５】
前記プロセッサーは、前記文字間サイズを、次式に基づいて決定することを特徴とする請求項４に記載の印刷装置。
（文字間サイズ）＝（計算された仮想ボディーサイズ）−（（仮想ボディーサイズ）−（基準枠サイズ））
【請求項６】
前記外枠は、アセンダーラインおよびディセンダーラインであり、文字の内枠は、キャップラインおよびベースラインであることを特徴とする請求項１または請求項２に記載の印刷装置。
【請求項７】
前記外枠は、アセンダーラインよりも文字高さ上方に位置する基準線、およびディセンダーラインであり、文字の内枠は、キャップラインおよびベースラインであることを特徴とする請求項１または請求項２に記載の印刷装置。
【請求項８】
前記プロセッサーは、前記文字列における、文字の内枠と前記外枠との間の領域を必要とする文字または記号の有無に応じて、前記内枠を決定することを特徴とする請求項１または請求項２に記載の印刷装置。
【請求項９】
前記プロセッサーは、前記文字列を１つのテキストボックスに入れた場合の文字サイズが閾値以上になるのであれば１つのテキストボックスにすべての前記文字列を入れ、前記文字列を１つのテキストボックスに入れた場合の文字サイズが閾値未満になるのであれば前記文字列の文字を少なくとも２つのテキストボックスに振り分けることを特徴とする請求項１〜請求項８のいずれかに記載の印刷装置。
【請求項１０】
前記プロセッサーは、少なくとも２つのテキストボックスに振り分けるときに、前記文字列の文字の並び方向と、前記文字列の文字の並び方向と直交する方向とにおける４つの並び方向に振り分けることを特徴とする請求項１〜請求項９のいずれかに記載の印刷装置。
【請求項１１】
ユーザーの入力を受け付ける機能と、
印刷機構を制御する機能と、
プロセッサー機能とをコンピューターに実現させる文章入力プログラムであって、
前記プロセッサー機能は、
ユーザーから文字列の入力を受け付け、隣の文字が別のテキストボックスに入るように前記文字列の文字を少なくとも２つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御することを特徴とする文章入力プログラム。
【請求項１２】
文字列の入力を受け付ける入力部と、
所定のテキストボックス内に前記文字列を印刷する印刷機構と、
前記入力部と前記印刷機構を制御するプロセッサーと、を備えた印刷装置であって、
前記プロセッサーは、
前記文字列の入力を受け付け、前記文字列を構成する隣接する文字が別のテキストボックスに入るように前記文字列の文字を少なくとも２つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するように各テキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御することを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字印刷に使用する印刷装置および文章入力プログラムに関する。
【背景技術】
【０００２】
はがきなどの宛名印刷に使用する印刷装置を例とすると、宛名面を印刷する場合、宛名の印刷領域は１つの固定領域となっており、この固定領域内で、姓と名と敬称を構成するそれぞれの文字をつなぎ合わせて１行として印刷する。一例として、姓が「佐藤」、名が「一郎」、敬称が「様」であれば、これらの各文字をつなぎ合わせて「佐藤一郎様」というように１行とする。
【０００３】
また、宛名が単数ではなく、連名の場合もある。この場合は、改行を挿入し同じように姓（二人目以降は省略する場合もある）・名・敬称を１行追加する。
例えば、
「佐藤一郎様（改行）
佐藤次郎様」
となる。
連名数が多くなると固定領域の幅では足らず、デフォルトのフォントサイズ（文字サイズ）では入りきれなくなる。このため、固定領域に入る文字サイズを計算し、一律にフォントサイズを小さくすることもある。
【０００４】
図１２は、フォントデータにおける基準枠と仮想ボディーの関係を示している。
フォントデータは、文字サイズに対応する基準枠の内側に描画の有無を表すデータを備えている。描画される領域の最外枠は基準枠と一致し、これよりも外側には発生しない。最も外側の描画位置は基準枠の位置となる。なお、文字サイズは、基準枠サイズを指すものとしている。
例えば、行間を無し（行間＝０）とすると、隣接する行で文字がピッタリと隙間のないように配置されるように思われがちである。しかし、実際にはフォント描画の仕様で基準枠の外側に設定される仮想ボディーにより文字の周りに若干の領域が確保され、そのまま印刷すれば、連名として隣接する文字の間に若干の隙間ができてしまう。
また、改行して隣接する横方向のみならず、文字同士が連なる縦方向でも、同様に、姓・名・敬称が長くなると、文字サイズを小さくしていく。このため、隙間が残ったままフォントサイズだけが小さくなってしまう。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】http://www.morisawa.co.jp/culture/dictionary/1964
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このように、文字の配置の仕方について改善が求められていた。
【０００７】
本発明は、決まった領域により大きな文字を入れる装置、文章入力プログラムを提供する。
【課題を解決するための手段】
【０００８】
印刷装置は、ユーザーの入力を受け付ける入力部と、印刷機構と、プロセッサーとを備え、前記プロセッサーは、ユーザーから文字列の入力を受け付け、隣の文字が別のテキストボックスに入るように前記文字列の文字を少なくとも２つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御する。
【０００９】
同様に、文章入力プログラムは、ユーザーの入力を受け付ける機能と、印刷機構を制御する機能と、プロセッサー機能とをコンピューターに実現させ、前記プロセッサー機能は、ユーザーから文字列の入力を受け付け、隣の文字が別のテキストボックスに入るように前記文字列の文字を少なくとも２つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御する。なお、印刷機構の制御とは、コンピューターに別途備えられているドライバープログラムに指示を行うことで制御することを含む。
【図面の簡単な説明】
【００１０】
【図１】本発明が適用される印刷装置の概略ブロック図である。
【図２】印刷装置のメイン処理のフローチャートである。
【図３】印刷装置による宛名領域の横方向の文字サイズと文字間サイズの決定処理のフローチャートである。
【図４】宛名領域の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。
【図５】重畳処理を示すフローチャートである。
【図６】宛名領域の印刷結果の比較を示す図である。
【図７】縦方向の宛名領域の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。
【図８】英文字等に関する文字サイズと文字間サイズの決定処理のフローチャートである。
【図９】欧文書体のフォントデータと基準線との関係を示す図である。
【図１０】英文字の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。
【図１１】変形例４にかかる処理のフローチャートの一部であって図８との相違点を示す図である。
【図１２】フォントデータにおける基準枠と仮想ボディーの関係を示す模式図である。
【発明を実施するための形態】
【００１１】
以下、図面にもとづいて本発明の実施形態を説明する。
図１は、本発明の一実施形態にかかる印刷装置をブロック図により示している。
図１において、印刷装置１０は、本体２０と、液晶パネル３０と、キーボード４０とを備えている。本体２０は、さらに制御部２１と、入力制御部２２と、印刷機構２３と、宛名データベース２４とを備えている。
【００１２】
ユーザーがキーボード４０を操作すると、制御部２１は入力制御部２２を介して前記操作を取得する。ユーザーが文字列としての宛名を入力すると、制御部２１は宛名データベース２４に追加、更新、削除を行う。制御部２１は、入力された宛名を液晶パネル３０に表示し、また、キーボード４０からの所定の操作に対応して印刷機構２３を制御してはがきや封筒に宛名書きを実行させる。制御部２１は、各種の制御を実現するためにコンピューターやプロセッサーを構成するＣＰＵ、ＲＯＭ、ＲＡＭ、インターフェイスなどを備えているが、それらを集積回路として実現している。また、制御部２１は、例えばＲＯＭ等の所定のメモリー２５に、文章入力プログラム２６を記憶している。また、液晶パネル３０、キーボード４０、入力制御部２２、印刷機構２３のそれぞれも、独自の制御回路やインターフェイスを備えている。
【００１３】
前記ブロック図は、機能に着目して図示しているだけであり、実際の構成では、各種の細分化や変更や兼用などは当然なし得る。
図２は、印刷装置１０のメイン処理のフローチャートである。
一例として、制御部２１は、ステップＳ１０１にて電源オンを待機し、電源がオンとされると、ステップＳ１０２でメニューを液晶パネル３０に表示する。一つの機能として宛名入力が用意されており、宛名入力を選択する操作がなされると、制御部２１は、ステップＳ１０３にて前記操作を取得して判断し、続くステップＳ１０４では、宛名データベース２４を参照して入力済みの宛名を取得するのか、新規に宛名を追加入力する操作なのかを判断する。後者であれば、ステップＳ１０５でキーボード４０からの操作入力を受け付け、ステップＳ１０６にて宛名データベース２４に反映させる。制御部２１は、宛名データベース２４に反映させつつ、ステップＳ１０８にて、前記入力を受け付けた宛名をプレビュー表示させるか否かを問い合わせ、ユーザーがプレビュー表示を希望すれば、ステップＳ１０９にてプレビュー表示を行う。その後、制御部２１は、ステップＳ１１０にて宛名入力を終了するか否かをユーザーに問い合わせ、宛名入力を終了しないことを希望する場合は、ステップＳ１０５に戻って宛名の操作入力を受け付ける。宛名入力を終了することを希望する場合は、ステップＳ１０２に戻ってメニューの表示を行う。
【００１４】
なお、制御部２１は、各操作の問い合わせは、ポップアップ表示で問い合わせることも可能であるし、各操作に対応するボタンを表示しておき、前記ボタンをクリックするなどの操作の有無を検知するようにしてもよい。
制御部２１は、宛名データベース２４を参照して入力済みの宛名を取得することを選択した場合、ステップＳ１０７にて宛名データベース２４を参照して所定の宛名データを取得する。一例として、検索メニューを表示して該当するものをリストアップし、リストアップされた宛名データの中からユーザーに選択させるようにすることが可能である。そして、選択された宛名データはステップＳ１０８以降において、上述したような入力済みの宛名データと同様にプレビュー表示の対象となる。なお、選択された宛名データを修正する処理をするために、ステップＳ１０５にて宛名データを編集させるようにしてもよい。
【００１５】
ユーザーが、メニュー表示の中から、プレビューと印刷を選択すると、制御部２１は、ステップＳ１１１にて、この選択を検知し、ステップＳ１１２にてプレビューを表示する。この状態で、ユーザーがさらに印刷開始を選択すると、制御部２１は、ステップＳ１１３にて印刷開始の選択を検知し、ステップＳ１１５にて印刷を行う。つまり、制御部２１は、印刷機構２３を制御して印刷機構２３に印刷を実行させる。印刷開始を選択しない場合は、ステップＳ１０２に戻ってメニューの表示を行う。
【００１６】
ユーザーが、メニュー表示の中から、印刷を選択すると、制御部２１は、ステップＳ１０３，Ｓ１１１の判断を経て、この選択を検知し、ステップＳ１１５にて印刷を行う。
以上の処理は、一例に過ぎず、各種の変更が可能である。例えば、宛名の入力と、プレビューと、印刷は、互いに行き来できるようにしてもよい。制御部２１は、ステップＳ１０５にて宛名を入力し、ステップＳ１０９にてプレビューをした後、修正するためにステップＳ１０５の宛名入力に戻るが、再度、ステップＳ１０９にてプレビューをし、その状態でユーザーが印刷開始を選択すれば、ステップＳ１１５の印刷を実行するようにしてもよい。また、ステップＳ１１２にてプレビューをしたとき、印刷を開始せずにステップＳ１０５にて宛名データを編集し、その後、プレビューを経て印刷させるようにしてもよい。
【００１７】
むろん、これらは実際の処理の一例に過ぎず、他の機能を実現していたり、別の手法で同等の処理を実現していてもかまわない。
ステップＳ１１５の印刷処理、あるいはステップＳ１０９，Ｓ１１２のプレビューにおいては、制御部２１は、印刷イメージを作成する必要がある。両者において共通するのは、はがきの宛名面に用意されている印刷領域に宛名データに対応するフォントデータを用いて印刷イメージを描画する処理である。表示用の処理と印刷用の処理は完全な一致ではないものの概ね一致しているので、以下において、便宜上、共通の処理として説明する。
【００１８】
印刷イメージを描画する際に、所定の印刷領域に描画する文字サイズを決定する処理が必要となる。なお、印刷領域をはがきなどの印刷媒体におけるある領域とした場合、文字を印刷するためにはこの領域に重なるテキストボックスを設定し、テキストボックス内にフォントデータを展開して印刷イメージを描画する。一つの印刷領域に対して、一つのテキストボックスを設定しても良いし、複数のテキストボックスを用意して重畳印刷させることも可能である。
【００１９】
図３は、宛名領域の横方向の文字サイズと文字間サイズの決定処理のフローチャートである。なお、以下の処理は、宛名の文字を入力する処理に相当し、文章入力プログラム２６によって実現される。各ステップにおいて、宛名の文字を入力する個別の処理は入力部に相当する。
ここで宛名領域とは、宛名入力欄に相当し、はがきや封筒を印刷媒体としたときに、宛名を記載するのに適した領域であって上述した印刷領域を設定してある部位を指す。この印刷領域には、一つまたは複数のテキストボックスを用意しておく。テキストボックスは印刷領域からはみ出ていてもよい。本実施形態の場合、仮想ボディーが基準枠よりも大きい分だけ、テキストボックは印刷領域に対して仮想ボディーと基準枠との差の分だけ大きくしてある。仮想ボディーも枠であることから、仮想ボディーを仮想ボディー枠と表記してもよい。基準枠は、文字の内枠に該当し、仮想ボディーは、文字の外枠に該当する。
【００２０】
制御部２１は、ステップＳ２０２にて、必要枠サイズを計算する。必要枠サイズは、文字サイズとしてデフォルトのサイズを採用する場合に必要なテキストボックスのサイズである。文字サイズが基準枠と一致する場合、フォントデータを展開するときには隣り合う文字同士で基準枠よりも大きな仮想ボディーの枠が重ならないように展開されることになっている。このため、ステップＳ２０２においても、宛名領域の横方向の必要枠サイズは、
連名数×仮想ボディーサイズ…（１）
である。
【００２１】
ここで、一例としてデフォルトの文字サイズが２０ｍｍであるとする。基準枠サイズは２０ｍｍ角の正方形の領域となり、仮想ボディーサイズは１割増しの２２ｍｍということになる。基準枠サイズは、基準枠の一辺の長さであり、仮想ボディーサイズは、仮想ボディーの一辺の長さである。なお、１割増しというのは一例に過ぎないが、少なくとも仮想ボディーサイズの方が基準枠サイズよりも大きい。
宛名データにおいて、送り先として連名とすべき複数の姓名が登録されている場合は、連名数だけ改行されて印刷されるため、必要枠サイズは（１）式のようになる。連名数が６つであれば、必要枠サイズは、
６（連名数）×２２ｍｍ（仮想ボディーサイズ）＝１３２ｍｍ
となる。上述したように、テキストボックスの幅は、仮想ボディーと基準枠との差の分だけ大きいので、宛名の印刷領域の幅が１２０ｍｍであると仮定すると、１２２ｍｍである。
【００２２】
制御部２１は、ステップＳ２０４にて計算結果である必要枠サイズが印刷領域に対応するテキストボックスの横枠サイズよりも大きいか判断する。ここでは、必要枠サイズは１３２ｍｍであり、テキストボックスの横枠サイズは１２２ｍｍであるから、制御部２１は、ステップＳ２０４ではＹＥＳと判断し、ステップＳ２０６にて、文字サイズ再計算処理を実行する。
【００２３】
この文字サイズ再計算処理は、従来の手法とは異なる手法で、仮想ボディーサイズを計算する。そして、後で仮想ボディーサイズから文字サイズを特定する。
（仮想ボディーサイズ）＝（印刷領域の枠サイズ÷連名数）＋（仮想ボディーサイズ−基準枠サイズ）…（２）
とする。ステップＳ２０６で計算した仮想ボディーサイズを、計算後仮想ボディーサイズとも呼ぶ。上の例を適用すれば、計算後仮想ボディーサイズは、
１２０ｍｍ（印刷領域の枠サイズ）÷６（連名数）＋（２２ｍｍ−２０ｍｍ）＝２２ｍｍ
となる。計算後仮想ボディーサイズが２２ｍｍであるときの文字サイズは２０ｍｍとなる。無論、このままでは印刷領域の横幅長さを超えることになってしまう。このため、制御部２１は、ステップＳ２０８では、連名の宛名データを用いて奇数行と偶数行とに分けて別々のテキストボックスに挿入する。
【００２４】
なお、この例では、（２）式の右辺へ代入するデフォルトとしての仮想ボディーサイズと基準枠サイズとがそれぞれ決まっている。しかし、制御部２１は、ステップＳ２０６では、仮想ボディーサイズと基準枠サイズとの一般的な比に基づいて、仮想ボディーサイズを以下のように計算してもよい。
（仮想ボディーサイズ）＝（印刷領域の枠サイズ÷文字数）×（（仮想ボディーサイズ）／（基準枠サイズ））…（３）
前記（３）式の右辺における比である（仮想ボディーサイズ）／（基準枠サイズ）は、本実施形態では、例えば１．１である。また、前記（３）式における（文字数）は、図３のフローチャートにて求めるべき文字サイズおよび文字間サイズが対応する方向（横方向）における、印刷領域に収めるべき文字数であり、これまでの説明によれば連名数が該当する。
なお、割り算が割り切れないときは小数点以下を切り捨ててもよい。
【００２５】
図４は、宛名領域の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。
図４Ａに示すように、宛名データの宛名が６名の連名であるとする。姓は「いしかわ」で共通であり、１行目にのみ描画するが、姓の表示のルールについては適宜変更可能である。名については、「太郎」が１行目、「花子」が２行目、「次郎」が３行目、「三郎」が４行目、「長女」が５行目、「次女」が６行目となっている。奇数行と偶数行とに分けるということは、制御部２１はステップＳ２０８において、奇数行である１行目と３行目と５行目の「太郎」と、「次郎」と、「長女」の行を取り出して３行として１つめのテキストボックスに挿入し、偶数行である２行目と４行目と６行目の「花子」と、「三郎」と、「次女」の行を取り出して３行として２つめのテキストボックスに挿入する。
【００２６】
また、制御部２１は、ステップＳ２１０では、ステップＳ２０６にて計算した仮想ボディーサイズを利用して文字サイズと行間サイズを計算する。
（文字サイズ）＝（計算後仮想ボディーサイズ）−（仮想ボディーサイズ−基準枠サイズ）…（４）
（行間サイズ）＝（計算後仮想ボディーサイズ）−（仮想ボディーサイズ−基準枠サイズ）…（５）
となる。
なお、行間サイズは、文字と文字との間の隙間であるが、この例では基準枠サイズを基準としており、１つのキストボックス内の隣接する行間において、ある行の文字の基準枠と、隣接する行の文字の基準枠との間隔を指している。
【００２７】
上述した具体例では、（４）式より文字サイズは２０ｍｍとなり、（５）式より行間サイズは、
＝２２−（２２−２０）
＝２０
となるから、行間サイズも２０ｍｍである。
横方向の調整のため、行間と読んでいるが、行間は文字間サイズの一例にすぎない。なお、（４）式および（５）式は、文字サイズおよび行間サイズを決定するための計算式の例に過ぎない。例えば、制御部２１は、単に印刷領域の枠サイズを連名数で除算した値を、文字サイズおよび行間サイズとしてもよい。
制御部２１は、文字サイズと文字間サイズ（行間サイズ）とを各テキストボックスのプロパティーに反映させる。各テキストボックスのプロパティーに反映させておけば、以後、そのテキストボックスに文字を挿入すれば、指定された文字サイズおよび文字間サイズでフォントが展開される。
【００２８】
図５は、制御部２１がステップＳ２１０を経て図３のフローチャートを終えた後に実行する重畳処理を示すフローチャートである。各テキストボックスは所定位置で重ね合わされていることを前提とすると、各テキストボックスに設定するプロパティーによって所定の重畳処理を実現できることになる。
制御部２１は、ステップＳ３０１では、各テキストボックスの位置と大きさを設定する。仮想ボディーは基準枠を持つフォントデータに対して必然的に設定されているため、基準枠の印刷位置を調整するために、仮想ボディーの影響を考慮した上でテキストボックスの位置と大きさを設定する必要がある。具体的には、基準枠が印刷領域の角部に配置されるように、仮想ボディーと基準枠の差の分だけ印刷領域よりも大きくなるように、テキストボックスの位置と大きさを設定する。
【００２９】
制御部２１は、ステップＳ３０２では、ステップＳ２１０で計算した文字サイズを各テキストボックスのプロパティーに設定する。ステップＳ２１０で計算した文字サイズを各テキストボックスのプロパティーに設定することは、結局、各テキストボックスにおいて、ステップＳ２１０で計算した文字サイズに相当する基準枠および、この基準枠に対する所定サイズ比あるいは所定サイズ差の仮想ボディーが設定されることを意味する。制御部２１は、続くステップＳ３０４では、テキストボックス間で文字が重ならないように、ステップＳ２１０で計算した文字間サイズを各テキストボックスのプロパティーに設定する。その後、制御部２１は、ステップＳ３０６にて、各テキストボックスを重畳印刷する。テキストボックス間で文字が重ならないようにすると、隣り合う文字の基準枠が接するようにテキストボックスを重畳することになる。言い換えれば、隣り合う文字の基準枠が接するようにテキストボックスを重畳すると、テキストボックス間で文字が重ならない。
【００３０】
文字間サイズを設定するにあたり、奇数行については、通常どおり文字の左に行間が設けられればよい。この結果を図４Ｂに示す。しかし、それぞれのテキストボックスが同じ位置に重ねて設定されていることを前提とすると、偶数行についても文字の左に行間が設けられると、奇数行の文字と偶数行の文字とが重なってしまう。このため、テキストボックス間で文字が重ならないように文字間サイズをプロパティーに設定するためには、偶数行については、文字間の余白部分（行間）が文字の右に設けられるようにプロパティーを設定する。この結果を図４Ｃに示す。
【００３１】
図４Ｂに示すテキストボックスＴＢ１と、図４Ｃに示すテキストボックスＴＢ２は同じ位置に重ね合わされているから、印刷するときには図４Ｄに示すように隣り合う奇数行と偶数行の文字の基準枠同士が接した状態で、テキストボックスＴＢ１，ＴＢ２が重畳されて印刷される。テキストボックスＴＢ１，ＴＢ２それぞれの中の文字単位の複数の矩形は、ステップＳ３０２でテキストボックスのプロパティーに設定された文字サイズ、つまりステップＳ２１０で計算された文字サイズに相当する横幅を有する基準枠を示している。
テキストボックス間で文字が重ならないようにする手法として、生じさせる行間を各テキストボックスで文字の左に生じさせるか右に生じさせるかによる方法のほか、テキストボックス自体をオフセットさせてもよい。各テキストボックスで生じさせる行間を文字の左にした場合、偶数行の文字を挿入するテキストボックスを、奇数行の文字を挿入したテキストボックスに対して行間サイズ分だけ左にオフセットさせればよい。これによっても、「テキストボックス間で文字が重ならないように」することが可能である。
【００３２】
このように本実施形態によれば、印刷装置１０では、プロセッサーすなわち制御部２１が、ユーザーから文字列の入力を受け付け、隣の文字が別のテキストボックスに入るように文字列の文字を少なくとも２つのテキストボックスに振り分ける。例えば、文字列を奇数行と偶数行とに分け、奇数行と偶数行とのうち一方を第１のテキストボックスに振り分け、他方を第２のテキストボックスに振り分ける。そして、制御部２１は、隣り合う奇数行の文字の基準枠と偶数行の文字の基準枠とが接するように、テキストボックス内の文字サイズと文字間サイズを設定する。この場合、各テキストボック内では、基準枠サイズつまり文字サイズと一致する文字間となるように、文字サイズと文字間サイズとを設定する。
【００３３】
そして、制御部２１は、隣り合う文字の基準枠が接するように複数のテキストボックスを重畳した上で、この重畳結果を印刷機構２３により印刷させる。第１のテキストボックスが奇数行を含み、第２のテキストボックスが偶数行を含んでいる場合、制御部２１は、一方のテキストボックスの文字部分が他方のテキストボックスの行間部分と重なり合うように重畳すればよい。従来であれば、行間サイズを無しに設定したとしても仮想ボディーの影響により隣り合う文字同士の間に隙間が生じるし、隙間を確保することを前提として印刷領域に収まる文字サイズが決定されるので、期待する大きさの文字（例えば、デフォルトのサイズの文字）を使えないことが多かった。しかし、本実施形態の構成を採用することで、各テキストボックスには、元の文字列における１行おき、あるいは１文字おきの文字が挿入されるので、各テキストボックスにおいて仮想ボディーの影響で文字サイズをサイズダウンさせる必要が無くなる。このため、前記期待する大きさの文字、あるいは、前記期待する大きさにできるだけ近い大きさの文字による印刷が可能となる。
【００３４】
図６は、宛名領域の印刷結果の比較を示す図である。
図６Ａは、従来通りの手法で行間を無し（行間＝０）としたときに、隣接する行で文字の間に生じる隙間により、文字サイズを小さくして印刷される結果を示している。これに対して、図６Ｂは、本実施形態の手法で限られた印刷領域内で文字を大きくして印刷できたときの結果を示している。このようにすれば仮想ボディーと基準枠の間に生じる隙間の影響を受けることなく、隣り合う文字と文字とが最大限に近づく状態の文字サイズを設定できる。
【００３５】
限られた印刷領域の中で、できるだけ大きな文字サイズを設定するという視点に立てば、上述したように、重畳したときに隣り合う文字の基準枠が接するように各テキストボックス内の文字サイズと文字間サイズを設定することは理にかなっている。ただし本実施形態は、テキストボックスを重畳したときに一方のテキストボックス側の基準枠と他方のテキストボックス側の基準枠とが必ず接する態様に限定されない。つまり本実施形態は、テキストボックスを重畳したときに隣り合う文字の基準枠の間に隙間が生じる態様も含む。ただし、このような隙間が、隣り合う文字それぞれに対応して設けられている各仮想ボディーによって確保される従来と同様の隙間では本実施形態による効果が無い。そこで、本実施形態では、制御部２１は、各テキストボックスを重畳したときに隣り合う一方の文字の仮想ボディーの内側に他方の文字の仮想ボディーの一部が位置するように、各テキストボックス内の文字サイズと文字間サイズとを設定する。制御部２１は、例えば、ステップＳ２１０において、計算した文字サイズを更に、計算した文字間サイズよりも所定程度小さい値に設定することで、各テキストボックスを重畳したときに隣り合う一方の文字の仮想ボディーの内側に他方の文字の仮想ボディーの一部を位置させることができる。隣り合う一方の文字の仮想ボディーの内側に他方の文字の仮想ボディーの一部が位置するとは、隣り合う一方の文字の仮想ボディーの一部と他方の文字の仮想ボディーの一部とが重なるということである。
【００３６】
すなわち本実施形態は、制御部２１は、隣の文字が別のテキストボックスに入るように文字列の文字を少なくとも２つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するようにテキストボックスを重畳して印刷するように印刷機構２３を制御する、という概念を提供する。そして、このような概念の一部として、隣り合う文字の前記内枠が接するように前記テキストボックスを重畳するという構成を提供する。また、制御部２１は、隣の文字が別のテキストボックスに入るように文字列の文字を少なくとも２つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の内枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記内枠の一部が位置するようにテキストボックスを重畳して印刷するように印刷機構２３を制御してもよい。
【００３７】
変形例：
以下に、本実施形態に含まれる幾つかの変形例について説明する。各変形例に関しては、既に説明した実施形態と共通する内容については説明を適宜省略する。
【００３８】
変形例１：
上述した例では横幅の長さを基準として二つのテキストボックスに分けて挿入している。しかし、所定の印刷領域に入るか否かの問題は、縦方向についても生じる。すなわち、通常の文字の並び方向である。上述した行の並び方向と、宛名の文字の並び方向とは、直交する方向である。
従って、横幅の長さについての同様の判断を、縦方向の長さについても適用することができる。具体的には、ステップＳ２０２にて行う「必要枠サイズを計算する」処理は、文字の並び方向である縦方向について計算し、ステップＳ２０４にて行う判断を「縦方向の必要枠サイズが印刷領域の縦枠サイズよりも大きい」か否かの判断とし、必要枠サイズが縦枠サイズよりも大きいときに、ステップＳ２０６では縦方向を基準としたときに仮想ボディーサイズを計算する。具体的には、
（仮想ボディーサイズ）＝（印刷領域の枠サイズ÷縦方向の桁数）＋（仮想ボディーサイズ−基準枠サイズ）…（６）
となる。すなわち、（２）式との差は、行数に相当する連名数が、縦方向の桁数に入れ替わっただけである。
【００３９】
このため、ステップＳ２０８にて連名を奇数行・偶数行に分けて別々のテキストボックスに挿入していた処理では、宛名を構成する各文字データを、奇数桁、偶数桁に分けて別々のテキストボックスに挿入することになり、ステップＳ２１０で計算した文字サイズと文字間サイズは同じ計算をすればよい。
【００４０】
図７は縦方向について、宛名領域の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。
図７Ａに示すように、宛名データの縦方向の文字数（桁数）が９桁であり、図７Ｂは奇数桁の文字を１つめのテキストボックスＴＢ３に挿入した状態を示し、図７Ｃは文字が重ならないように偶数桁の文字を２つめのテキストボックスＴＢ４に挿入した状態を示している。図７Ｂに示すテキストボックスＴＢ３と、図７Ｃに示すテキストボックスＴＢ４は同じ位置に重ね合わされているから、印刷するときには図７Ｄに示すように隣り合う奇数桁と偶数桁の文字の基準枠同士が接した状態で、テキストボックスＴＢ３，ＴＢ４が重畳されて印刷される。
【００４１】
制御部２１は、入力した文字列に対して、図４Ｂ，４Ｃ，４Ｄに示したような、２つのテキストボックスへの振り分け、印刷領域の横方向における文字サイズや文字間サイズの決定およびテキストボックスの重畳（横方向処理）と、図７Ｂ，７Ｃ，７Ｄに示したような、２つのテキストボックスへの振り分け、印刷領域の縦方向における文字サイズや文字間サイズの決定およびテキストボックスの重畳（縦方向処理）とを、それぞれ独自に適用できる。例えば、制御部２１は、入力した文字列に対して、横方向処理を実行した後に、さらに縦方向処理を実行する。このように、横方向処理および縦方向処理を両方実施した場合には、宛名の文字の並び方向と直交する方向とにおける４つの並び方向に振り分けることになる。
【００４２】
変形例２：
上述した例においては、制御部２１は、必要枠サイズが、印刷領域に対応するテキストボックスの横枠サイズよりも大きいか否かを判断している。必要枠サイズの方がテキストボックスの横枠サイズよりも大きい場合、上述した処理が実行される場合を除き、原則的には文字サイズを小さくすることになる。従って、必要枠サイズの方がテキストボックスの横枠サイズよりも大きいケースでは、宛名を１つのテキストボックスに入れた場合の文字サイズが小さくなるケースである。このため、予め宛名を１つのテキストボックスに入れた場合の文字サイズに着目し、制御部２１は、宛名を１つのテキストボックスに入れた場合の文字サイズが閾値未満になるか、閾値以上になるかを判断してもよい。上の例であれば、制御部２１は、宛名を１つのテキストボックスに入れた場合の文字サイズが２０ｍｍ未満になるようであれば、宛名の文字を少なくとも２つのテキストボックスに振り分ける処理を行えばよい。一方、制御部２１は、宛名を１つのテキストボックスに入れた場合の文字サイズが２０ｍｍ以上になるようであれば、宛名を１つのテキストボックスに入れる。
【００４３】
変形例３：
これまでは、制御部２１が印刷領域へ描画し印刷させる文字列が日本語である場合を例にして説明を行った。しかし、文字列として英文字等が印刷されることも想定される。
本実施形態の変形例の一つとして、図８は、印刷領域における英文字等の文字サイズと文字間サイズの決定処理をフローチャートにより示している。図８の処理も文章入力プログラム２６によって実現される。図８に関する説明においても、印刷領域は宛名領域であり、宛名領域に宛名が連名で描画される場合を想定する。
【００４４】
制御部２１は、ステップＳ４０２では、文字列すなわち描画すべき宛名データを構成する文字が全て英文字等に該当するか否かを判定する。英文字等とは、例えば、２６種類のアルファベットの大文字、小文字や、英文の中で使用される記号、さらにはラテン語系の各言語において使用される文字を含む意味である。制御部２１は、描画すべき宛名データを構成する文字が全て英文字等に該当する場合に、ステップＳ４０４において、必要枠サイズを計算する。一方、描画すべき宛名データを構成する文字に英文字等に該当しない文字が含まれている場合には、制御部２１は、ステップＳ４０２においてＮＯと判定し、図８のフローチャートを終える。
【００４５】
制御部２１は、必要枠サイズを、下記（７）式により計算する。
必要枠サイズ＝連名数×ボディーサイズ…（７）
（７）式を（１）式と比較すると、仮想ボディーサイズがボディーサイズに替わっただけである。
【００４６】
図９は、アルファベット等の欧文書体のフォントデータと基準線Ｌ１〜Ｌ５との関係を示している。欧文書体のフォントデータに対しては、文字の高さ方向において上から下へ順に、アセンダーラインＬ１、キャップラインＬ２、ミーンラインＬ３、ベースラインＬ４、ディセンダーラインＬ５が定められている。アセンダーラインＬ１は、例えば、小文字「ｂ」、「ｄ」、「ｆ」、「ｈ」、「ｋ」、「ｌ」、「ｔ」等の最上部の位置を示す基準線である。キャップラインＬ２は、大文字の最上部の位置を示す基準線である。ミーンラインＬ３は、小文字の高さを示す基準線である。ベースラインＬ４は、欧文書体の基準となる線で、大文字の底部や多くの小文字の底部の位置を示す。
【００４７】
ベースラインＬ４からミーンラインＬ３までの高さを、エックスハイトと呼ぶ。ベースラインＬ４からキャップラインＬ２までの高さを、キャップハイトと呼ぶ。小文字の一部分であってミーンラインＬ３よりも上の部分をアセンダーと呼ぶ。小文字の一部分であってベースラインＬ４よりも下の部分をディセンダーと呼ぶ。ディセンダーラインＬ５は、例えば、小文字「ｆ」、「ｇ」、「ｊ」、「ｐ」、「ｑ」、「ｙ」等の最下部の位置を示す基準線である。ディセンダーラインＬ５からアセンダーラインＬ１までの高さがボディーサイズである。このようなボディーサイズについての所定のデフォルト値が、（７）式においてボディーサイズとして用いられる。
【００４８】
制御部２１は、ステップＳ４０６では、ステップＳ４０４で計算した必要枠サイズが印刷領域に対応する所定サイズのテキストボックスの横枠サイズよりも大きいか否かを判断する。変形例３では、印刷領域に対応するテキストボックスは、印刷領域と同じサイズであるとしてよい。ここでは、英文字による文字列は、９０°回転させた上ではがきや封筒等の印刷媒体へ印刷される場合を想定する。この場合、英文における文字の並び方向が印刷領域の縦方向に対応するように印刷されるため、文字の高さ方向が、印刷領域の横方向に対応することになる。従って、制御部２１は、ステップＳ４０４で計算した必要枠サイズが印刷領域に対応するテキストボックスの横幅よりも大きければ、ステップＳ４０６ではＹＥＳと判断し、ステップＳ４０８へ進む。
【００４９】
制御部２１は、ステップＳ４０８では、下記（８）式により、ボディーサイズを計算する。つまり、ボディーサイズのデフォルト値が定められている状況で、改めてボディーサイズを計算する。
（ボディーサイズ）＝（印刷領域の枠サイズ÷連名数）…（８）
変形例３においても上述の実施形態と同様に、印刷領域の枠サイズ、つまり印刷領域の横幅を１２０ｍｍ、連名数を６と仮定すると、ステップＳ４０８で算出されるボディーサイズは２０ｍｍとなる。ステップＳ４０８で算出されるボディーサイズを、便宜上、計算後ボディーサイズ、と呼ぶ。計算後ボディーサイズは、（７）式に用いるボディーサイズ（ボディーサイズのデフォルト値）よりも小さい。一例であるが、ボディーサイズのデフォルト値は２５ｍｍと仮定する。また、ボディーサイズのデフォルト値において、キャップハイトは２０ｍｍ、キャップラインＬ２からアセンダーラインＬ１までの高さは１ｍｍ、ディセンダーラインＬ５からベースラインＬ４までの高さは４ｍｍ、と仮定する。
【００５０】
変形例３では、アセンダーラインＬ１およびディセンダーラインＬ５を文字の高さ方向の両端とする枠を、文字の外枠と呼ぶ。また、キャップラインＬ２およびベースラインＬ４を文字の高さ方向の両端とする枠を、文字の内枠と呼ぶ。つまり、ボディーサイズを文字の高さ方向の幅とする枠が文字の外枠であり、キャップハイトを文字の高さ方向の幅とする枠が文字の内枠である。
【００５１】
制御部２１は、ステップＳ４１０では、描画すべき宛名データを構成する文字の中に、アセンダーがキャップラインＬ２をアセンダーラインＬ１側に超える所定の第１文字群が含まれているか否かを判定する。第１文字群には、上述した小文字「ｂ」、「ｄ」、「ｆ」、「ｈ」、「ｋ」、「ｌ」、「ｔ」等の文字が含まれる。ただし、第１文字群の具体例はこれらに限定されない。制御部２１は、宛名データを構成する文字の中に第１文字群に含まれる文字が一つも含まれていない場合に、ＮＯと判定してステップＳ４１２へ進む。一方、宛名データを構成する文字の中に第１文字群に含まれる文字が一つ以上含まれている場合は、制御部２１は、ＹＥＳと判定してステップＳ４１２をスキップしてステップＳ４１４へ進む。ステップＳ４１０の判定を、便宜上、アセンダーラインチェックとも呼ぶ。
【００５２】
制御部２１は、ステップＳ４１２では、加算文字サイズに、計算後ボディーサイズにおけるキャップラインＬ２からアセンダーラインＬ１までの高さを加算する。計算後ボディーサイズにおけるキャップラインＬ２からアセンダーラインＬ１までの高さを、便宜上、第１加算サイズと呼ぶ。図８のフローチャートを開始した時点では、加算文字サイズの値は０にリセットされている。ボディーサイズにおける各基準線Ｌ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５間の距離の比率は予め決まっているため、制御部２１は、ボディーサイズに対するキャップラインＬ２〜アセンダーラインＬ１の距離の比率を、計算後ボディーサイズに掛けることで、第１加算サイズを算出することができる。
【００５３】
ステップＳ４１０またはステップＳ４１２の次に実行するステップＳ４１４では、制御部２１は、描画すべき宛名データを構成する文字の中に、ディセンダーがベースラインＬ４をディセンダーラインＬ５側に超える所定の第２文字群が含まれているか否かを判定する。第２文字群には、上述した小文字「ｆ」、「ｇ」、「ｊ」、「ｐ」、「ｑ」、「ｙ」等の文字が含まれる。ただし、第２文字群の具体例はこれらに限定されない。制御部２１は、宛名データを構成する文字の中に第２文字群に含まれる文字が一つも含まれていない場合に、ＮＯと判定してステップＳ４１６へ進む。一方、宛名データを構成する文字の中に第２文字群に含まれる文字が一つ以上含まれている場合は、制御部２１は、ＹＥＳと判定してステップＳ４１６をスキップしてステップＳ４１８へ進む。ステップＳ４１４の判定を、便宜上、ディセンダーラインチェックとも呼ぶ。
【００５４】
制御部２１は、ステップＳ４１６では、加算文字サイズに、計算後ボディーサイズにおけるディセンダーラインＬ５からベースラインＬ４までの高さを加算する。計算後ボディーサイズにおけるディセンダーラインＬ５からベースラインＬ４までの高さを、便宜上、第２加算サイズと呼ぶ。制御部２１は、ボディーサイズに対するディセンダーラインＬ５〜ベースラインＬ４の距離の比率を、計算後ボディーサイズに掛けることで、第２加算サイズを算出することができる。
【００５５】
ステップＳ４１４またはステップＳ４１６の次に実行するステップＳ４１８では、制御部２１は、連名の宛名データを用いて奇数行と偶数行とに分けて別々のテキストボックスに挿入する。
【００５６】
図１０は、変形例３において宛名領域の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。
図１０Ａに示すように、宛名データの宛名が６名の連名であるとする。具体的な宛名としては、「Ｂｒａｉａｎ  Ａｃｅ」が１行目、「Ｌｕｗｉｓ  Ｓｅｎｎａ」が２行目、「Ａｒａｎ  Ｎｅｓｓ」が３行目、「Ｎｉｃｏ  Ｌｏｖｉｎ」が４行目、「Ｂｏｎ  Ｊｏｖｉ」が５行目、「Ｌａｕｒｅｎ  Ｐａｎｉｓ」が６行目である。図１０では、文字の並び方向（行の長手方向）を横方向にして描いているが、上述したように文字の並び方向に直交する方向が、宛名領域（印刷領域）の横方向に対応することになる。奇数行と偶数行とに分けるということは、制御部２１はステップＳ４１８において、奇数行である１行目と３行目と５行目の「Ｂｒａｉａｎ  Ａｃｅ」と、「Ａｒａｎ  Ｎｅｓｓ」と、「Ｂｏｎ  Ｊｏｖｉ」の行を取り出して３行として１つめのテキストボックスに挿入し、偶数行である２行目と４行目と６行目の「Ｌｕｗｉｓ  Ｓｅｎｎａ」と、「Ｎｉｃｏ  Ｌｏｖｉｎ」と、「Ｌａｕｒｅｎ  Ｐａｎｉｓ」の行を取り出して３行として２つめのテキストボックスに挿入する。
【００５７】
制御部２１は、ステップＳ４２０では、加算文字サイズおよび計算後ボディーサイズに基づいて、文字サイズと行間サイズを計算する。具体的には、制御部２１は、計算後ボディーサイズにおけるキャップハイトつまりベースラインＬ４からキャップラインＬ２までの高さに、加算文字サイズを加えた値を、ステップＳ４２０による計算後の文字サイズとする。計算後ボディーサイズにおけるキャップハイトを、便宜上、基本文字サイズと呼ぶ。むろん、ボディーサイズに対するベースラインＬ４〜キャップラインＬ２の距離の比率を、計算後ボディーサイズに掛けることで、基本文字サイズを算出することができる。
【００５８】
つまり、制御部２１は、
（文字サイズ）＝（基本文字サイズ＋加算文字サイズ）…（９）
とする。制御部２１は、さらに、
（行間サイズ）＝２×（計算後ボディーサイズ）−（文字サイズ）…（１０）
として、行間サイズを求める。
【００５９】
ステップＳ４１０〜Ｓ４１６に関する説明から理解できるように、ステップＳ４２０の時点での加算文字サイズは、０、第１加算サイズ、第２加算サイズ、第１加算サイズ＋第２加算サイズ、のいずれかである。そのため、ステップＳ４２０で計算結果として得られる文字サイズは、基本文字サイズ、基本文字サイズ＋第１加算サイズ、基本文字サイズ＋第２加算サイズ、基本文字サイズ＋第１加算サイズ＋第２加算サイズ、のいずれかとなる。基本文字サイズ＋第１加算サイズ＋第２加算サイズは、計算後ボディーサイズに等しい。
従って、文字サイズ＝基本文字サイズ＋第１加算サイズ＋第２加算サイズ、であった場合は、文字サイズおよび行間サイズはいずれも計算後ボディーサイズと等しくなる。
【００６０】
一方、文字サイズ＝基本文字サイズ＋第１加算サイズ、であった場合は、行間サイズは、文字サイズよりも大きくなり、計算後ボディーサイズに第２加算サイズを加えた値となる。
また、文字サイズ＝基本文字サイズ＋第２加算サイズ、であった場合も、行間サイズは、文字サイズよりも大きくなり、計算後ボディーサイズに第１加算サイズを加えた値となる。
文字サイズ＝基本文字サイズ、であった場合も、行間サイズは、文字サイズよりも大きくなり、計算後ボディーサイズに第１加算サイズおよび第２加算サイズを加えた値となる。ちなみに、文字サイズ＝基本文字サイズ、であった場合は、後述するような内枠の拡大が実現されない場合に該当する。
【００６１】
変形例３においても、制御部２１は、図５に示した重畳処理と基本的に同様の処理を実行する。なお、ステップＳ３０１では、制御部２１は、文字の外枠が印刷領域の角部に配置されるように、印刷領域と同じサイズの各テキストボックスを設定すればよい。そして、制御部２１は、ステップＳ３０２では、ステップＳ４２０で計算した文字サイズを、各テキストボックスのプロパティーにおけるキャップハイトに設定する。ステップＳ４２０で計算した文字サイズを各テキストボックスのプロパティーにおけるキャップハイトに設定することは、同時に、各テキストボックスにおいて、ステップＳ４２０で計算した文字サイズに相当するキャップハイトおよび、このキャップハイトに対する所定比率のボディーサイズが設定されることを意味する。
【００６２】
上述の具体例によれば、ボディーサイズのデフォルト値は２５ｍｍ、このデフォルト値におけるキャップハイトは２０ｍｍである一方、計算後ボディーサイズは２０ｍｍである。仮に、ステップＳ４２０で計算された文字サイズおよび行間サイズが等しく、基本文字サイズに第１加算サイズおよび第２加算サイズを加えた値である場合は、文字サイズ＝２０ｍｍとなる。この場合、ステップＳ３０２の処理により、各テキストボックスにおけるキャップハイトの設定は２０ｍｍとされ、デフォルト値のボディーサイズにおけるキャップハイトと同等の値となる。
【００６３】
制御部２１は、続くステップＳ３０４では、テキストボックス間で文字が重ならないように、ステップＳ４２０で計算した行間サイズつまり文字間サイズを、各テキストボックスのプロパティーに設定する。変形例３においても行間サイズは、１つのキストボックス内において、ある行の文字の内枠と、これに隣り合う行の文字の内枠との間隔を指す。つまり、１つのキストボックス内において、ある行のキャップハイトと、次の行のキャップハイトとの間に、キャップハイトと同じか或いはキャップハイトよりも広い間隔が設定される。その後、制御部２１は、ステップＳ３０６にて、各テキストボックスを重畳印刷する。変形例３においては、制御部２１は、文字サイズ＝行間サイズであれば、各テキストボックスを重畳したときに隣り合う文字の内枠が接するように各テキストボックスを重畳することにより、テキストボックス間で文字が重ならないようにする。一方、文字サイズ＜行間サイズであれば、制御部２１は、各テキストボックスを重畳したときに隣り合う文字の内枠同士の間に第１加算サイズや第２加算サイズに相当する隙間が確保されるように各テキストボックスを重畳することにより、テキストボックス間で文字が重ならないようにする。
【００６４】
図１０Ａは、印刷領域に対応するテキストボックス内に、各文字の外枠つまりボディーサイズが全て収まるように調整して６名の連名としての宛名データを配置した状態を例示しているとも言える。図１０Ａにおける文字単位の矩形は、文字の内枠、つまり文字の高さ方向の幅をキャプハイトとした枠を示している。また、図１０Ａにおける破線は、隣り合う行同士の境界を示しており、当該破線は、隣り合う一方の行のディセンダーラインと、隣り合う他方の行のアセンダーラインとを兼ねると解して良い。つまり、図１０Ａに示した破線と破線との間隔が、図１０Ａの行毎のボディーサイズである。より具体的には、図１０Ａに示した破線と破線との間隔は、ステップＳ４０８による計算後ボディーサイズに相当する。
【００６５】
図１０Ｂは、奇数行の宛名を挿入してステップＳ３０４までの処理が施されたテキストボックスＴＢ５を示し、図１０Ｃは、偶数行の宛名を挿入してステップＳ３０４までの処理が施されたテキストボックスＴＢ６を示している。また、図１０Ｂおよび図１０Ｃは、ステップＳ４２０で計算された文字サイズおよび行間サイズが等しい場合を想定した図である。図１０Ｂ，１０Ｃにおける文字単位の矩形は、文字の内枠、つまり文字の高さ方向の幅をステップＳ３０２で設定されたキャプハイトとした枠を示している。このような図１０Ｂ，１０Ｃの例によれば、文字の内枠が、計算後ボディーサイズにおけるキャップハイトよりも文字の高さ方向に拡大されて、計算後ボディーサイズに相当する間隔（図１０Ａに示した破線と破線との間隔）を持った枠となっている。
【００６６】
図１０Ｂに示すテキストボックスＴＢ５と、図１０Ｃに示すテキストボックスＴＢ６は同じ位置に重ね合わされているから、印刷するときには図１０Ｄに示すように隣り合う奇数行と偶数行の文字の内枠同士が接した状態で、テキストボックスＴＢ５，ＴＢ６が重畳されて印刷される。
【００６７】
なお、ステップＳ４２０で計算された文字サイズが、基本文字サイズ＋第１加算サイズ、であった場合は、テキストボックスを重畳したときに隣り合う一方の文字の内枠と他方の文字の内枠との間には、第２加算サイズ分の隙間が生じる。しかし、この隙間に対しては前記一方の文字のディセンダーが描画されることになるため、結局、テキストボックスを重畳したときに隣り合う一方の文字と他方の文字との間には、余計な隙間が無い状態となる。また、ステップＳ４２０で計算された文字サイズが、基本文字サイズ＋第２加算サイズ、であった場合は、テキストボックスを重畳したときに隣り合う一方の文字の内枠と他方の文字の内枠との間には、第１加算サイズ分の隙間が生じる。しかし、この隙間に対しては前記他方の文字のアセンダーが描画されることになるため、結局、テキストボックスを重畳したときに隣り合う一方の文字と他方の文字との間には、余計な隙間が無い状態となる。
【００６８】
このように変形例３によれば、制御部２１は、英文字等による文字列を印刷する制御を実行する場合に、アセンダーラインチェックにより、キャップラインＬ２からアセンダーラインＬ１までの領域を描画に必要とする第１文字群が文字列に含まれているか否かを判定し、また、ディセンダーラインチェックにより、ディセンダーラインＬ５からベースラインＬ４までの領域を描画に必要とする第２文字群が文字列に含まれているか否かを判定する。そして、制御部２１は、文字列に第１文字群が含まれていなければ、キャップラインＬ２からアセンダーラインＬ１までの高さである第１加算サイズを加算文字サイズに加え、文字列に第２文字群が含まれていなければ、ディセンダーラインＬ５からベースラインＬ４までの高さである第２加算サイズを加算文字サイズに加える。そして、制御部２１は、キャップハイトに対応する基本文字サイズに加算文字サイズを加えた値を、文字サイズに決定し、文字サイズに応じて行間サイズを決定する。そして、これら文字サイズおよび行間サイズを、文字を振り分けた各テキストボックスのプロパティーにおけるキャップハイトおよび行間サイズに設定する。すなわち、文字列を構成する英文字等の内容次第で不要となる領域（キャップハイトとボディーサイズとの隙間の領域）へ内枠つまりキャップハイトのサイズを拡大することで、より大きなサイズの文字を印刷することが可能となる。
【００６９】
なお、変形例３においても、各テキストボックスを重畳させたときに文字の内枠同士が必ずしも接するのではなく、図１０Ｄに示す状態において、奇数行の文字の内枠と偶数行の文字の内枠との間に隙間が存在していてもよい。つまり、変形例３においても、制御部２１は、文字の外枠の内側に隣の文字の外枠あるいは内枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定する。
【００７０】
変形例４：
変形例４は、変形例３を前提とした変形例である。
図１１は、変形例４に関する文字サイズと文字間サイズの決定処理のフローチャートの一部分であって、図８のフローチャートとの相違点を主に示している。変形例４については、図８，９，１１を参照しながら、変形例３と異なる点を説明する。変形例４では、図９に破線で示す基準線Ｌ０を想定する。基準線Ｌ０は、アセンダーラインＬ１よりも文字の高さ方向上方に位置する基準線であり、アルファベット等の文字の上方に付加される、例えばハットやキャレット等と呼ばれる発音記号やアクセント記号の、最上部の位置を示している。文字の上方に付加される記号を、変形例４では特定記号と呼ぶ。言い換えると、特定記号は、アセンダーラインＬ１から基準線Ｌ０までの領域を描画に必要とする記号である。
【００７１】
変形例３では、ディセンダーラインＬ５からアセンダーラインＬ１までの高さを文字のボディーサイズとしていたが、変形例４では、ディセンダーラインＬ５から基準線Ｌ０までの高さを文字のボディーサイズとする。従って、変形例４では、基準線Ｌ０およびディセンダーラインＬ５を文字の高さ方向の両端とする枠を、文字の外枠と呼ぶ。
【００７２】
制御部２１は、ステップＳ４０８の後、ステップＳ４０９を実行する。制御部２１は、ステップＳ４０９では、描画すべき宛名データの中に、特定記号が含まれているか否かを判定する。制御部２１は、宛名データの中に特定記号が一つも含まれていない場合に、ＮＯと判定してステップＳ４１０へ進む。ステップＳ４１０の処理は、上述した通りである。一方、宛名データの中に特定記号が一つ以上含まれている場合は、制御部２１は、ＹＥＳと判定してステップＳ４１０，Ｓ４１３をスキップしてステップＳ４１４へ進む。ステップＳ４０９の判定を、便宜上、仮想ラインチェックとも呼ぶ。
【００７３】
制御部２１は、ステップＳ４１０でＮＯと判定した場合に、ステップＳ４１３を実行する。変形例４では、図８のステップＳ４１２の替わりにステップＳ４１３を実行する。制御部２１は、ステップＳ４１３において、加算文字サイズに、計算後ボディーサイズにおけるキャップラインＬ２から基準線Ｌ０までの高さを加算する。計算後ボディーサイズにおけるキャップラインＬ２から基準線Ｌ０までの高さを、便宜上、第３加算サイズと呼ぶ。ボディーサイズにおける各基準線Ｌ０，Ｌ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５間の距離の比率は予め決まっているため、制御部２１は、ボディーサイズに対するキャップラインＬ２〜基準線Ｌ０の距離の比率を、計算後ボディーサイズに掛けることで、第３加算サイズを算出する。
【００７４】
図１１のステップＳ４０９〜Ｓ４１３および図８のステップＳ４１４，Ｓ４１６に関する説明から理解できるように、ステップＳ４２０の時点での加算文字サイズは、０、第３加算サイズ、第２加算サイズ、第３加算サイズ＋第２加算サイズ、のいずれかである。そのため、ステップＳ４２０で計算結果として得られる文字サイズは、基本文字サイズ、基本文字サイズ＋第３加算サイズ、基本文字サイズ＋第２加算サイズ、基本文字サイズ＋第３加算サイズ＋第２加算サイズ、のいずれかとなる。基本文字サイズ＋第３加算サイズ＋第２加算サイズは、計算後ボディーサイズに等しい。従って、文字サイズ＝基本文字サイズ＋第３加算サイズ＋第２加算サイズ、であった場合は、文字サイズおよび行間サイズはいずれも計算後ボディーサイズと等しくなる。
【００７５】
このように変形例４によれば、制御部２１は、仮想ラインチェックにより、アセンダーラインＬ１よりも更に文字高さ上方の基準線Ｌ０までの領域を描画に必要とする特定記号が文字列に含まれているか否かを判定する。そして、制御部２１は、文字列に特定記号および第１文字群が含まれていなければ、キャップラインＬ２から基準線Ｌ０までの高さである第３加算サイズを加算文字サイズに加え、文字列に第２文字群が含まれていなければ、ディセンダーラインＬ５からベースラインＬ４までの高さである第２加算サイズを加算文字サイズに加える。そして、制御部２１は、キャップハイトに対応する基本文字サイズに加算文字サイズを加えた値を、文字サイズに決定し、文字サイズに応じて行間サイズを決定する。そして、これら文字サイズおよび行間サイズを、文字を振り分けた各テキストボックスのプロパティーにおけるキャップハイトおよび行間サイズに設定する。すなわち、特定記号が無い等の条件に応じて不要となる領域へ内枠つまりキャップハイトのサイズを拡大することで、より大きなサイズの文字を印刷することが可能となる。このように本実施形態によれば、制御部２１は、文字列における、内枠と外枠との間の領域を必要とする文字または記号の有無に応じて、内枠を決定した上で、テキストボックスを重畳する構成を提供する。
【００７６】
むろん、変形例４におけるアセンダーラインＬ１よりも文字高さ上方の基準線Ｌ０および、第１加算サイズに替わる第３加算サイズと同様の考えは、文字の下方に付加される記号を想定したとき、ディセンダーラインＬ５よりも文字高さ下方の基準線および、第２加算サイズに替わるベースラインＬ４よりも下方の加算サイズとして採用可能である。
【００７７】
なお、本発明は前記実施例に限られるものでないことは言うまでもない。当業者であれば言うまでもないことであるが、
・前記実施例の中で開示された文字ではないが、任意の言語で用いられる文字（数字を含む）に適用すること
・前記実施例の中で開示した複数の部材を一つの部材で実現したり、一つの部材を複数の部材で実現したり、複数の装置の連携で実現したり、すること
・前記実施例の中で開示した相互に置換可能な部材および構成等を適宜その組み合わせを変更して適用すること
・前記実施例の中で開示されていないが、公知技術であって前記実施例の中で開示した部材および構成等と相互に置換可能な部材および構成等を適宜置換し、またその組み合わせを変更して適用すること
・前記実施例の中で開示されていないが、公知技術等に基づいて当業者が前記実施例の中で開示した部材および構成等の代用として想定し得る部材および構成等と適宜置換し、またその組み合わせを変更して適用すること
・宛名以外での文字の配置に適用すること
・各変形例を適宜組み合わせること
は本発明の一実施例として開示されるものである。
【符号の説明】
【００７８】
１０…印刷装置、２０…本体、２１…制御部、２２…入力制御部、２３…印刷機構、２４…宛名データベース、２５…メモリー、２６…文章入力プログラム、３０…液晶パネル、４０…キーボード
【図１】
2019119194.tif 000003
【図２】
2019119194.tif 000004
【図３】
2019119194.tif 000005
【図４】
2019119194.tif 000006
【図５】
2019119194.tif 000007
【図６】
2019119194.tif 000008
【図７】
2019119194.tif 000009
【図８】
2019119194.tif 000010
【図９】
2019119194.tif 000011
【図１０】
2019119194.tif 000012
【図１１】
2019119194.tif 000013
【図１２】
2019119194.tif 000014