JP7067285B2 - 印刷装置および文章入力プログラム - Google Patents

印刷装置および文章入力プログラム Download PDF

Info

Publication number
JP7067285B2
JP7067285B2 JP2018108058A JP2018108058A JP7067285B2 JP 7067285 B2 JP7067285 B2 JP 7067285B2 JP 2018108058 A JP2018108058 A JP 2018108058A JP 2018108058 A JP2018108058 A JP 2018108058A JP 7067285 B2 JP7067285 B2 JP 7067285B2
Authority
JP
Japan
Prior art keywords
character
size
characters
line
text box
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018108058A
Other languages
English (en)
Other versions
JP2019119194A (ja
Inventor
喜博 ▲濱▼口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to US16/240,851 priority Critical patent/US10659648B2/en
Publication of JP2019119194A publication Critical patent/JP2019119194A/ja
Application granted granted Critical
Publication of JP7067285B2 publication Critical patent/JP7067285B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Document Processing Apparatus (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、文字印刷に使用する印刷装置および文章入力プログラムに関する。
はがきなどの宛名印刷に使用する印刷装置を例とすると、宛名面を印刷する場合、宛名の印刷領域は1つの固定領域となっており、この固定領域内で、姓と名と敬称を構成するそれぞれの文字をつなぎ合わせて1行として印刷する。一例として、姓が「佐藤」、名が「一郎」、敬称が「様」であれば、これらの各文字をつなぎ合わせて「佐藤一郎様」というように1行とする。
また、宛名が単数ではなく、連名の場合もある。この場合は、改行を挿入し同じように姓(二人目以降は省略する場合もある)・名・敬称を1行追加する。
例えば、
「佐藤一郎様(改行)
佐藤次郎様」
となる。
連名数が多くなると固定領域の幅では足らず、デフォルトのフォントサイズ(文字サイズ)では入りきれなくなる。このため、固定領域に入る文字サイズを計算し、一律にフォントサイズを小さくすることもある。
図12は、フォントデータにおける基準枠と仮想ボディーの関係を示している。
フォントデータは、文字サイズに対応する基準枠の内側に描画の有無を表すデータを備えている。描画される領域の最外枠は基準枠と一致し、これよりも外側には発生しない。最も外側の描画位置は基準枠の位置となる。なお、文字サイズは、基準枠サイズを指すものとしている。
例えば、行間を無し(行間=0)とすると、隣接する行で文字がピッタリと隙間のないように配置されるように思われがちである。しかし、実際にはフォント描画の仕様で基準枠の外側に設定される仮想ボディーにより文字の周りに若干の領域が確保され、そのまま印刷すれば、連名として隣接する文字の間に若干の隙間ができてしまう。
また、改行して隣接する横方向のみならず、文字同士が連なる縦方向でも、同様に、姓・名・敬称が長くなると、文字サイズを小さくしていく。このため、隙間が残ったままフォントサイズだけが小さくなってしまう。
http://www.morisawa.co.jp/culture/dictionary/1964
このように、文字の配置の仕方について改善が求められていた。
本発明は、決まった領域により大きな文字を入れる装置、文章入力プログラムを提供する。
印刷装置は、ユーザーの入力を受け付ける入力部と、印刷機構と、プロセッサーとを備え、前記プロセッサーは、ユーザーから文字列の入力を受け付け、隣の文字が別のテキストボックスに入るように前記文字列の文字を少なくとも2つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御する。
同様に、文章入力プログラムは、ユーザーの入力を受け付ける機能と、印刷機構を制御する機能と、プロセッサー機能とをコンピューターに実現させ、前記プロセッサー機能は、ユーザーから文字列の入力を受け付け、隣の文字が別のテキストボックスに入るように前記文字列の文字を少なくとも2つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御する。なお、印刷機構の制御とは、コンピューターに別途備えられているドライバープログラムに指示を行うことで制御することを含む。
本発明が適用される印刷装置の概略ブロック図である。 印刷装置のメイン処理のフローチャートである。 印刷装置による宛名領域の横方向の文字サイズと文字間サイズの決定処理のフローチャートである。 宛名領域の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。 重畳処理を示すフローチャートである。 宛名領域の印刷結果の比較を示す図である。 縦方向の宛名領域の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。 英文字等に関する文字サイズと文字間サイズの決定処理のフローチャートである。 欧文書体のフォントデータと基準線との関係を示す図である。 英文字の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。 変形例4にかかる処理のフローチャートの一部であって図8との相違点を示す図である。 フォントデータにおける基準枠と仮想ボディーの関係を示す模式図である。
以下、図面にもとづいて本発明の実施形態を説明する。
図1は、本発明の一実施形態にかかる印刷装置をブロック図により示している。
図1において、印刷装置10は、本体20と、液晶パネル30と、キーボード40とを備えている。本体20は、さらに制御部21と、入力制御部22と、印刷機構23と、宛名データベース24とを備えている。
ユーザーがキーボード40を操作すると、制御部21は入力制御部22を介して前記操作を取得する。ユーザーが文字列としての宛名を入力すると、制御部21は宛名データベース24に追加、更新、削除を行う。制御部21は、入力された宛名を液晶パネル30に表示し、また、キーボード40からの所定の操作に対応して印刷機構23を制御してはがきや封筒に宛名書きを実行させる。制御部21は、各種の制御を実現するためにコンピューターやプロセッサーを構成するCPU、ROM、RAM、インターフェイスなどを備えているが、それらを集積回路として実現している。また、制御部21は、例えばROM等の所定のメモリー25に、文章入力プログラム26を記憶している。また、液晶パネル30、キーボード40、入力制御部22、印刷機構23のそれぞれも、独自の制御回路やインターフェイスを備えている。
前記ブロック図は、機能に着目して図示しているだけであり、実際の構成では、各種の細分化や変更や兼用などは当然なし得る。
図2は、印刷装置10のメイン処理のフローチャートである。
一例として、制御部21は、ステップS101にて電源オンを待機し、電源がオンとされると、ステップS102でメニューを液晶パネル30に表示する。一つの機能として宛名入力が用意されており、宛名入力を選択する操作がなされると、制御部21は、ステップS103にて前記操作を取得して判断し、続くステップS104では、宛名データベース24を参照して入力済みの宛名を取得するのか、新規に宛名を追加入力する操作なのかを判断する。後者であれば、ステップS105でキーボード40からの操作入力を受け付け、ステップS106にて宛名データベース24に反映させる。制御部21は、宛名データベース24に反映させつつ、ステップS108にて、前記入力を受け付けた宛名をプレビュー表示させるか否かを問い合わせ、ユーザーがプレビュー表示を希望すれば、ステップS109にてプレビュー表示を行う。その後、制御部21は、ステップS110にて宛名入力を終了するか否かをユーザーに問い合わせ、宛名入力を終了しないことを希望する場合は、ステップS105に戻って宛名の操作入力を受け付ける。宛名入力を終了することを希望する場合は、ステップS102に戻ってメニューの表示を行う。
なお、制御部21は、各操作の問い合わせは、ポップアップ表示で問い合わせることも可能であるし、各操作に対応するボタンを表示しておき、前記ボタンをクリックするなどの操作の有無を検知するようにしてもよい。
制御部21は、宛名データベース24を参照して入力済みの宛名を取得することを選択した場合、ステップS107にて宛名データベース24を参照して所定の宛名データを取得する。一例として、検索メニューを表示して該当するものをリストアップし、リストアップされた宛名データの中からユーザーに選択させるようにすることが可能である。そして、選択された宛名データはステップS108以降において、上述したような入力済みの宛名データと同様にプレビュー表示の対象となる。なお、選択された宛名データを修正する処理をするために、ステップS105にて宛名データを編集させるようにしてもよい。
ユーザーが、メニュー表示の中から、プレビューと印刷を選択すると、制御部21は、ステップS111にて、この選択を検知し、ステップS112にてプレビューを表示する。この状態で、ユーザーがさらに印刷開始を選択すると、制御部21は、ステップS113にて印刷開始の選択を検知し、ステップS115にて印刷を行う。つまり、制御部21は、印刷機構23を制御して印刷機構23に印刷を実行させる。印刷開始を選択しない場合は、ステップS102に戻ってメニューの表示を行う。
ユーザーが、メニュー表示の中から、印刷を選択すると、制御部21は、ステップS103,S111の判断を経て、この選択を検知し、ステップS115にて印刷を行う。
以上の処理は、一例に過ぎず、各種の変更が可能である。例えば、宛名の入力と、プレビューと、印刷は、互いに行き来できるようにしてもよい。制御部21は、ステップS105にて宛名を入力し、ステップS109にてプレビューをした後、修正するためにステップS105の宛名入力に戻るが、再度、ステップS109にてプレビューをし、その状態でユーザーが印刷開始を選択すれば、ステップS115の印刷を実行するようにしてもよい。また、ステップS112にてプレビューをしたとき、印刷を開始せずにステップS105にて宛名データを編集し、その後、プレビューを経て印刷させるようにしてもよい。
むろん、これらは実際の処理の一例に過ぎず、他の機能を実現していたり、別の手法で同等の処理を実現していてもかまわない。
ステップS115の印刷処理、あるいはステップS109,S112のプレビューにおいては、制御部21は、印刷イメージを作成する必要がある。両者において共通するのは、はがきの宛名面に用意されている印刷領域に宛名データに対応するフォントデータを用いて印刷イメージを描画する処理である。表示用の処理と印刷用の処理は完全な一致ではないものの概ね一致しているので、以下において、便宜上、共通の処理として説明する。
印刷イメージを描画する際に、所定の印刷領域に描画する文字サイズを決定する処理が必要となる。なお、印刷領域をはがきなどの印刷媒体におけるある領域とした場合、文字を印刷するためにはこの領域に重なるテキストボックスを設定し、テキストボックス内にフォントデータを展開して印刷イメージを描画する。一つの印刷領域に対して、一つのテキストボックスを設定しても良いし、複数のテキストボックスを用意して重畳印刷させることも可能である。
図3は、宛名領域の横方向の文字サイズと文字間サイズの決定処理のフローチャートである。なお、以下の処理は、宛名の文字を入力する処理に相当し、文章入力プログラム26によって実現される。各ステップにおいて、宛名の文字を入力する個別の処理は入力部に相当する。
ここで宛名領域とは、宛名入力欄に相当し、はがきや封筒を印刷媒体としたときに、宛名を記載するのに適した領域であって上述した印刷領域を設定してある部位を指す。この印刷領域には、一つまたは複数のテキストボックスを用意しておく。テキストボックスは印刷領域からはみ出ていてもよい。本実施形態の場合、仮想ボディーが基準枠よりも大きい分だけ、テキストボックは印刷領域に対して仮想ボディーと基準枠との差の分だけ大きくしてある。仮想ボディーも枠であることから、仮想ボディーを仮想ボディー枠と表記してもよい。基準枠は、文字の内枠に該当し、仮想ボディーは、文字の外枠に該当する。
制御部21は、ステップS202にて、必要枠サイズを計算する。必要枠サイズは、文字サイズとしてデフォルトのサイズを採用する場合に必要なテキストボックスのサイズである。文字サイズが基準枠と一致する場合、フォントデータを展開するときには隣り合う文字同士で基準枠よりも大きな仮想ボディーの枠が重ならないように展開されることになっている。このため、ステップS202においても、宛名領域の横方向の必要枠サイズは、
連名数×仮想ボディーサイズ…(1)
である。
ここで、一例としてデフォルトの文字サイズが20mmであるとする。基準枠サイズは20mm角の正方形の領域となり、仮想ボディーサイズは1割増しの22mmということになる。基準枠サイズは、基準枠の一辺の長さであり、仮想ボディーサイズは、仮想ボディーの一辺の長さである。なお、1割増しというのは一例に過ぎないが、少なくとも仮想ボディーサイズの方が基準枠サイズよりも大きい。
宛名データにおいて、送り先として連名とすべき複数の姓名が登録されている場合は、連名数だけ改行されて印刷されるため、必要枠サイズは(1)式のようになる。連名数が6つであれば、必要枠サイズは、
6(連名数)×22mm(仮想ボディーサイズ)=132mm
となる。上述したように、テキストボックスの幅は、仮想ボディーと基準枠との差の分だけ大きいので、宛名の印刷領域の幅が120mmであると仮定すると、122mmである。
制御部21は、ステップS204にて計算結果である必要枠サイズが印刷領域に対応するテキストボックスの横枠サイズよりも大きいか判断する。ここでは、必要枠サイズは132mmであり、テキストボックスの横枠サイズは122mmであるから、制御部21は、ステップS204ではYESと判断し、ステップS206にて、文字サイズ再計算処理を実行する。
この文字サイズ再計算処理は、従来の手法とは異なる手法で、仮想ボディーサイズを計算する。そして、後で仮想ボディーサイズから文字サイズを特定する。
(仮想ボディーサイズ)=(印刷領域の枠サイズ÷連名数)+(仮想ボディーサイズ-基準枠サイズ)…(2)
とする。ステップS206で計算した仮想ボディーサイズを、計算後仮想ボディーサイズとも呼ぶ。上の例を適用すれば、計算後仮想ボディーサイズは、
120mm(印刷領域の枠サイズ)÷6(連名数)+(22mm-20mm)=22mm
となる。計算後仮想ボディーサイズが22mmであるときの文字サイズは20mmとなる。無論、このままでは印刷領域の横幅長さを超えることになってしまう。このため、制御部21は、ステップS208では、連名の宛名データを用いて奇数行と偶数行とに分けて別々のテキストボックスに挿入する。
なお、この例では、(2)式の右辺へ代入するデフォルトとしての仮想ボディーサイズと基準枠サイズとがそれぞれ決まっている。しかし、制御部21は、ステップS206では、仮想ボディーサイズと基準枠サイズとの一般的な比に基づいて、仮想ボディーサイズを以下のように計算してもよい。
(仮想ボディーサイズ)=(印刷領域の枠サイズ÷文字数)×((仮想ボディーサイズ)/(基準枠サイズ))…(3)
前記(3)式の右辺における比である(仮想ボディーサイズ)/(基準枠サイズ)は、本実施形態では、例えば1.1である。また、前記(3)式における(文字数)は、図3のフローチャートにて求めるべき文字サイズおよび文字間サイズが対応する方向(横方向)における、印刷領域に収めるべき文字数であり、これまでの説明によれば連名数が該当する。
なお、割り算が割り切れないときは小数点以下を切り捨ててもよい。
図4は、宛名領域の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。
図4Aに示すように、宛名データの宛名が6名の連名であるとする。姓は「いしかわ」で共通であり、1行目にのみ描画するが、姓の表示のルールについては適宜変更可能である。名については、「太郎」が1行目、「花子」が2行目、「次郎」が3行目、「三郎」が4行目、「長女」が5行目、「次女」が6行目となっている。奇数行と偶数行とに分けるということは、制御部21はステップS208において、奇数行である1行目と3行目と5行目の「太郎」と、「次郎」と、「長女」の行を取り出して3行として1つめのテキストボックスに挿入し、偶数行である2行目と4行目と6行目の「花子」と、「三郎」と、「次女」の行を取り出して3行として2つめのテキストボックスに挿入する。
また、制御部21は、ステップS210では、ステップS206にて計算した仮想ボディーサイズを利用して文字サイズと行間サイズを計算する。
(文字サイズ)=(計算後仮想ボディーサイズ)-(仮想ボディーサイズ-基準枠サイズ)…(4)
(行間サイズ)=(計算後仮想ボディーサイズ)-(仮想ボディーサイズ-基準枠サイズ)…(5)
となる。
なお、行間サイズは、文字と文字との間の隙間であるが、この例では基準枠サイズを基準としており、1つのキストボックス内の隣接する行間において、ある行の文字の基準枠と、隣接する行の文字の基準枠との間隔を指している。
上述した具体例では、(4)式より文字サイズは20mmとなり、(5)式より行間サイズは、
=22-(22-20)
=20
となるから、行間サイズも20mmである。
横方向の調整のため、行間と読んでいるが、行間は文字間サイズの一例にすぎない。なお、(4)式および(5)式は、文字サイズおよび行間サイズを決定するための計算式の例に過ぎない。例えば、制御部21は、単に印刷領域の枠サイズを連名数で除算した値を、文字サイズおよび行間サイズとしてもよい。
制御部21は、文字サイズと文字間サイズ(行間サイズ)とを各テキストボックスのプロパティーに反映させる。各テキストボックスのプロパティーに反映させておけば、以後、そのテキストボックスに文字を挿入すれば、指定された文字サイズおよび文字間サイズでフォントが展開される。
図5は、制御部21がステップS210を経て図3のフローチャートを終えた後に実行する重畳処理を示すフローチャートである。各テキストボックスは所定位置で重ね合わされていることを前提とすると、各テキストボックスに設定するプロパティーによって所定の重畳処理を実現できることになる。
制御部21は、ステップS301では、各テキストボックスの位置と大きさを設定する。仮想ボディーは基準枠を持つフォントデータに対して必然的に設定されているため、基準枠の印刷位置を調整するために、仮想ボディーの影響を考慮した上でテキストボックスの位置と大きさを設定する必要がある。具体的には、基準枠が印刷領域の角部に配置されるように、仮想ボディーと基準枠の差の分だけ印刷領域よりも大きくなるように、テキストボックスの位置と大きさを設定する。
制御部21は、ステップS302では、ステップS210で計算した文字サイズを各テキストボックスのプロパティーに設定する。ステップS210で計算した文字サイズを各テキストボックスのプロパティーに設定することは、結局、各テキストボックスにおいて、ステップS210で計算した文字サイズに相当する基準枠および、この基準枠に対する所定サイズ比あるいは所定サイズ差の仮想ボディーが設定されることを意味する。制御部21は、続くステップS304では、テキストボックス間で文字が重ならないように、ステップS210で計算した文字間サイズを各テキストボックスのプロパティーに設定する。その後、制御部21は、ステップS306にて、各テキストボックスを重畳印刷する。テキストボックス間で文字が重ならないようにすると、隣り合う文字の基準枠が接するようにテキストボックスを重畳することになる。言い換えれば、隣り合う文字の基準枠が接するようにテキストボックスを重畳すると、テキストボックス間で文字が重ならない。
文字間サイズを設定するにあたり、奇数行については、通常どおり文字の左に行間が設けられればよい。この結果を図4Bに示す。しかし、それぞれのテキストボックスが同じ位置に重ねて設定されていることを前提とすると、偶数行についても文字の左に行間が設けられると、奇数行の文字と偶数行の文字とが重なってしまう。このため、テキストボックス間で文字が重ならないように文字間サイズをプロパティーに設定するためには、偶数行については、文字間の余白部分(行間)が文字の右に設けられるようにプロパティーを設定する。この結果を図4Cに示す。
図4Bに示すテキストボックスTB1と、図4Cに示すテキストボックスTB2は同じ位置に重ね合わされているから、印刷するときには図4Dに示すように隣り合う奇数行と偶数行の文字の基準枠同士が接した状態で、テキストボックスTB1,TB2が重畳されて印刷される。テキストボックスTB1,TB2それぞれの中の文字単位の複数の矩形は、ステップS302でテキストボックスのプロパティーに設定された文字サイズ、つまりステップS210で計算された文字サイズに相当する横幅を有する基準枠を示している。
テキストボックス間で文字が重ならないようにする手法として、生じさせる行間を各テキストボックスで文字の左に生じさせるか右に生じさせるかによる方法のほか、テキストボックス自体をオフセットさせてもよい。各テキストボックスで生じさせる行間を文字の左にした場合、偶数行の文字を挿入するテキストボックスを、奇数行の文字を挿入したテキストボックスに対して行間サイズ分だけ左にオフセットさせればよい。これによっても、「テキストボックス間で文字が重ならないように」することが可能である。
このように本実施形態によれば、印刷装置10では、プロセッサーすなわち制御部21が、ユーザーから文字列の入力を受け付け、隣の文字が別のテキストボックスに入るように文字列の文字を少なくとも2つのテキストボックスに振り分ける。例えば、文字列を奇数行と偶数行とに分け、奇数行と偶数行とのうち一方を第1のテキストボックスに振り分け、他方を第2のテキストボックスに振り分ける。そして、制御部21は、隣り合う奇数行の文字の基準枠と偶数行の文字の基準枠とが接するように、テキストボックス内の文字サイズと文字間サイズを設定する。この場合、各テキストボック内では、基準枠サイズつまり文字サイズと一致する文字間となるように、文字サイズと文字間サイズとを設定する。
そして、制御部21は、隣り合う文字の基準枠が接するように複数のテキストボックスを重畳した上で、この重畳結果を印刷機構23により印刷させる。第1のテキストボックスが奇数行を含み、第2のテキストボックスが偶数行を含んでいる場合、制御部21は、一方のテキストボックスの文字部分が他方のテキストボックスの行間部分と重なり合うように重畳すればよい。従来であれば、行間サイズを無しに設定したとしても仮想ボディーの影響により隣り合う文字同士の間に隙間が生じるし、隙間を確保することを前提として印刷領域に収まる文字サイズが決定されるので、期待する大きさの文字(例えば、デフォルトのサイズの文字)を使えないことが多かった。しかし、本実施形態の構成を採用することで、各テキストボックスには、元の文字列における1行おき、あるいは1文字おきの文字が挿入されるので、各テキストボックスにおいて仮想ボディーの影響で文字サイズをサイズダウンさせる必要が無くなる。このため、前記期待する大きさの文字、あるいは、前記期待する大きさにできるだけ近い大きさの文字による印刷が可能となる。
図6は、宛名領域の印刷結果の比較を示す図である。
図6Aは、従来通りの手法で行間を無し(行間=0)としたときに、隣接する行で文字の間に生じる隙間により、文字サイズを小さくして印刷される結果を示している。これに対して、図6Bは、本実施形態の手法で限られた印刷領域内で文字を大きくして印刷できたときの結果を示している。このようにすれば仮想ボディーと基準枠の間に生じる隙間の影響を受けることなく、隣り合う文字と文字とが最大限に近づく状態の文字サイズを設定できる。
限られた印刷領域の中で、できるだけ大きな文字サイズを設定するという視点に立てば、上述したように、重畳したときに隣り合う文字の基準枠が接するように各テキストボックス内の文字サイズと文字間サイズを設定することは理にかなっている。ただし本実施形態は、テキストボックスを重畳したときに一方のテキストボックス側の基準枠と他方のテキストボックス側の基準枠とが必ず接する態様に限定されない。つまり本実施形態は、テキストボックスを重畳したときに隣り合う文字の基準枠の間に隙間が生じる態様も含む。ただし、このような隙間が、隣り合う文字それぞれに対応して設けられている各仮想ボディーによって確保される従来と同様の隙間では本実施形態による効果が無い。そこで、本実施形態では、制御部21は、各テキストボックスを重畳したときに隣り合う一方の文字の仮想ボディーの内側に他方の文字の仮想ボディーの一部が位置するように、各テキストボックス内の文字サイズと文字間サイズとを設定する。制御部21は、例えば、ステップS210において、計算した文字サイズを更に、計算した文字間サイズよりも所定程度小さい値に設定することで、各テキストボックスを重畳したときに隣り合う一方の文字の仮想ボディーの内側に他方の文字の仮想ボディーの一部を位置させることができる。隣り合う一方の文字の仮想ボディーの内側に他方の文字の仮想ボディーの一部が位置するとは、隣り合う一方の文字の仮想ボディーの一部と他方の文字の仮想ボディーの一部とが重なるということである。
すなわち本実施形態は、制御部21は、隣の文字が別のテキストボックスに入るように文字列の文字を少なくとも2つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するようにテキストボックスを重畳して印刷するように印刷機構23を制御する、という概念を提供する。そして、このような概念の一部として、隣り合う文字の前記内枠が接するように前記テキストボックスを重畳するという構成を提供する。また、制御部21は、隣の文字が別のテキストボックスに入るように文字列の文字を少なくとも2つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の内枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記内枠の一部が位置するようにテキストボックスを重畳して印刷するように印刷機構23を制御してもよい。
変形例:
以下に、本実施形態に含まれる幾つかの変形例について説明する。各変形例に関しては、既に説明した実施形態と共通する内容については説明を適宜省略する。
変形例1:
上述した例では横幅の長さを基準として二つのテキストボックスに分けて挿入している。しかし、所定の印刷領域に入るか否かの問題は、縦方向についても生じる。すなわち、通常の文字の並び方向である。上述した行の並び方向と、宛名の文字の並び方向とは、直交する方向である。
従って、横幅の長さについての同様の判断を、縦方向の長さについても適用することができる。具体的には、ステップS202にて行う「必要枠サイズを計算する」処理は、文字の並び方向である縦方向について計算し、ステップS204にて行う判断を「縦方向の必要枠サイズが印刷領域の縦枠サイズよりも大きい」か否かの判断とし、必要枠サイズが縦枠サイズよりも大きいときに、ステップS206では縦方向を基準としたときに仮想ボディーサイズを計算する。具体的には、
(仮想ボディーサイズ)=(印刷領域の枠サイズ÷縦方向の桁数)+(仮想ボディーサイズ-基準枠サイズ)…(6)
となる。すなわち、(2)式との差は、行数に相当する連名数が、縦方向の桁数に入れ替わっただけである。
このため、ステップS208にて連名を奇数行・偶数行に分けて別々のテキストボックスに挿入していた処理では、宛名を構成する各文字データを、奇数桁、偶数桁に分けて別々のテキストボックスに挿入することになり、ステップS210で計算した文字サイズと文字間サイズは同じ計算をすればよい。
図7は縦方向について、宛名領域の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。
図7Aに示すように、宛名データの縦方向の文字数(桁数)が9桁であり、図7Bは奇数桁の文字を1つめのテキストボックスTB3に挿入した状態を示し、図7Cは文字が重ならないように偶数桁の文字を2つめのテキストボックスTB4に挿入した状態を示している。図7Bに示すテキストボックスTB3と、図7Cに示すテキストボックスTB4は同じ位置に重ね合わされているから、印刷するときには図7Dに示すように隣り合う奇数桁と偶数桁の文字の基準枠同士が接した状態で、テキストボックスTB3,TB4が重畳されて印刷される。
制御部21は、入力した文字列に対して、図4B,4C,4Dに示したような、2つのテキストボックスへの振り分け、印刷領域の横方向における文字サイズや文字間サイズの決定およびテキストボックスの重畳(横方向処理)と、図7B,7C,7Dに示したような、2つのテキストボックスへの振り分け、印刷領域の縦方向における文字サイズや文字間サイズの決定およびテキストボックスの重畳(縦方向処理)とを、それぞれ独自に適用できる。例えば、制御部21は、入力した文字列に対して、横方向処理を実行した後に、さらに縦方向処理を実行する。このように、横方向処理および縦方向処理を両方実施した場合には、宛名の文字の並び方向と直交する方向とにおける4つの並び方向に振り分けることになる。
変形例2:
上述した例においては、制御部21は、必要枠サイズが、印刷領域に対応するテキストボックスの横枠サイズよりも大きいか否かを判断している。必要枠サイズの方がテキストボックスの横枠サイズよりも大きい場合、上述した処理が実行される場合を除き、原則的には文字サイズを小さくすることになる。従って、必要枠サイズの方がテキストボックスの横枠サイズよりも大きいケースでは、宛名を1つのテキストボックスに入れた場合の文字サイズが小さくなるケースである。このため、予め宛名を1つのテキストボックスに入れた場合の文字サイズに着目し、制御部21は、宛名を1つのテキストボックスに入れた場合の文字サイズが閾値未満になるか、閾値以上になるかを判断してもよい。上の例であれば、制御部21は、宛名を1つのテキストボックスに入れた場合の文字サイズが20mm未満になるようであれば、宛名の文字を少なくとも2つのテキストボックスに振り分ける処理を行えばよい。一方、制御部21は、宛名を1つのテキストボックスに入れた場合の文字サイズが20mm以上になるようであれば、宛名を1つのテキストボックスに入れる。
変形例3:
これまでは、制御部21が印刷領域へ描画し印刷させる文字列が日本語である場合を例にして説明を行った。しかし、文字列として英文字等が印刷されることも想定される。
本実施形態の変形例の一つとして、図8は、印刷領域における英文字等の文字サイズと文字間サイズの決定処理をフローチャートにより示している。図8の処理も文章入力プログラム26によって実現される。図8に関する説明においても、印刷領域は宛名領域であり、宛名領域に宛名が連名で描画される場合を想定する。
制御部21は、ステップS402では、文字列すなわち描画すべき宛名データを構成する文字が全て英文字等に該当するか否かを判定する。英文字等とは、例えば、26種類のアルファベットの大文字、小文字や、英文の中で使用される記号、さらにはラテン語系の各言語において使用される文字を含む意味である。制御部21は、描画すべき宛名データを構成する文字が全て英文字等に該当する場合に、ステップS404において、必要枠サイズを計算する。一方、描画すべき宛名データを構成する文字に英文字等に該当しない文字が含まれている場合には、制御部21は、ステップS402においてNOと判定し、図8のフローチャートを終える。
制御部21は、必要枠サイズを、下記(7)式により計算する。
必要枠サイズ=連名数×ボディーサイズ…(7)
(7)式を(1)式と比較すると、仮想ボディーサイズがボディーサイズに替わっただけである。
図9は、アルファベット等の欧文書体のフォントデータと基準線L1~L5との関係を示している。欧文書体のフォントデータに対しては、文字の高さ方向において上から下へ順に、アセンダーラインL1、キャップラインL2、ミーンラインL3、ベースラインL4、ディセンダーラインL5が定められている。アセンダーラインL1は、例えば、小文字「b」、「d」、「f」、「h」、「k」、「l」、「t」等の最上部の位置を示す基準線である。キャップラインL2は、大文字の最上部の位置を示す基準線である。ミーンラインL3は、小文字の高さを示す基準線である。ベースラインL4は、欧文書体の基準となる線で、大文字の底部や多くの小文字の底部の位置を示す。
ベースラインL4からミーンラインL3までの高さを、エックスハイトと呼ぶ。ベースラインL4からキャップラインL2までの高さを、キャップハイトと呼ぶ。小文字の一部分であってミーンラインL3よりも上の部分をアセンダーと呼ぶ。小文字の一部分であってベースラインL4よりも下の部分をディセンダーと呼ぶ。ディセンダーラインL5は、例えば、小文字「f」、「g」、「j」、「p」、「q」、「y」等の最下部の位置を示す基準線である。ディセンダーラインL5からアセンダーラインL1までの高さがボディーサイズである。このようなボディーサイズについての所定のデフォルト値が、(7)式においてボディーサイズとして用いられる。
制御部21は、ステップS406では、ステップS404で計算した必要枠サイズが印刷領域に対応する所定サイズのテキストボックスの横枠サイズよりも大きいか否かを判断する。変形例3では、印刷領域に対応するテキストボックスは、印刷領域と同じサイズであるとしてよい。ここでは、英文字による文字列は、90°回転させた上ではがきや封筒等の印刷媒体へ印刷される場合を想定する。この場合、英文における文字の並び方向が印刷領域の縦方向に対応するように印刷されるため、文字の高さ方向が、印刷領域の横方向に対応することになる。従って、制御部21は、ステップS404で計算した必要枠サイズが印刷領域に対応するテキストボックスの横幅よりも大きければ、ステップS406ではYESと判断し、ステップS408へ進む。
制御部21は、ステップS408では、下記(8)式により、ボディーサイズを計算する。つまり、ボディーサイズのデフォルト値が定められている状況で、改めてボディーサイズを計算する。
(ボディーサイズ)=(印刷領域の枠サイズ÷連名数)…(8)
変形例3においても上述の実施形態と同様に、印刷領域の枠サイズ、つまり印刷領域の横幅を120mm、連名数を6と仮定すると、ステップS408で算出されるボディーサイズは20mmとなる。ステップS408で算出されるボディーサイズを、便宜上、計算後ボディーサイズ、と呼ぶ。計算後ボディーサイズは、(7)式に用いるボディーサイズ(ボディーサイズのデフォルト値)よりも小さい。一例であるが、ボディーサイズのデフォルト値は25mmと仮定する。また、ボディーサイズのデフォルト値において、キャップハイトは20mm、キャップラインL2からアセンダーラインL1までの高さは1mm、ディセンダーラインL5からベースラインL4までの高さは4mm、と仮定する。
変形例3では、アセンダーラインL1およびディセンダーラインL5を文字の高さ方向の両端とする枠を、文字の外枠と呼ぶ。また、キャップラインL2およびベースラインL4を文字の高さ方向の両端とする枠を、文字の内枠と呼ぶ。つまり、ボディーサイズを文字の高さ方向の幅とする枠が文字の外枠であり、キャップハイトを文字の高さ方向の幅とする枠が文字の内枠である。
制御部21は、ステップS410では、描画すべき宛名データを構成する文字の中に、アセンダーがキャップラインL2をアセンダーラインL1側に超える所定の第1文字群が含まれているか否かを判定する。第1文字群には、上述した小文字「b」、「d」、「f」、「h」、「k」、「l」、「t」等の文字が含まれる。ただし、第1文字群の具体例はこれらに限定されない。制御部21は、宛名データを構成する文字の中に第1文字群に含まれる文字が一つも含まれていない場合に、NOと判定してステップS412へ進む。一方、宛名データを構成する文字の中に第1文字群に含まれる文字が一つ以上含まれている場合は、制御部21は、YESと判定してステップS412をスキップしてステップS414へ進む。ステップS410の判定を、便宜上、アセンダーラインチェックとも呼ぶ。
制御部21は、ステップS412では、加算文字サイズに、計算後ボディーサイズにおけるキャップラインL2からアセンダーラインL1までの高さを加算する。計算後ボディーサイズにおけるキャップラインL2からアセンダーラインL1までの高さを、便宜上、第1加算サイズと呼ぶ。図8のフローチャートを開始した時点では、加算文字サイズの値は0にリセットされている。ボディーサイズにおける各基準線L1,L2,L3,L4,L5間の距離の比率は予め決まっているため、制御部21は、ボディーサイズに対するキャップラインL2~アセンダーラインL1の距離の比率を、計算後ボディーサイズに掛けることで、第1加算サイズを算出することができる。
ステップS410またはステップS412の次に実行するステップS414では、制御部21は、描画すべき宛名データを構成する文字の中に、ディセンダーがベースラインL4をディセンダーラインL5側に超える所定の第2文字群が含まれているか否かを判定する。第2文字群には、上述した小文字「f」、「g」、「j」、「p」、「q」、「y」等の文字が含まれる。ただし、第2文字群の具体例はこれらに限定されない。制御部21は、宛名データを構成する文字の中に第2文字群に含まれる文字が一つも含まれていない場合に、NOと判定してステップS416へ進む。一方、宛名データを構成する文字の中に第2文字群に含まれる文字が一つ以上含まれている場合は、制御部21は、YESと判定してステップS416をスキップしてステップS418へ進む。ステップS414の判定を、便宜上、ディセンダーラインチェックとも呼ぶ。
制御部21は、ステップS416では、加算文字サイズに、計算後ボディーサイズにおけるディセンダーラインL5からベースラインL4までの高さを加算する。計算後ボディーサイズにおけるディセンダーラインL5からベースラインL4までの高さを、便宜上、第2加算サイズと呼ぶ。制御部21は、ボディーサイズに対するディセンダーラインL5~ベースラインL4の距離の比率を、計算後ボディーサイズに掛けることで、第2加算サイズを算出することができる。
ステップS414またはステップS416の次に実行するステップS418では、制御部21は、連名の宛名データを用いて奇数行と偶数行とに分けて別々のテキストボックスに挿入する。
図10は、変形例3において宛名領域の文字サイズと文字間サイズを決定する処理の具体的イメージを示す模式図である。
図10Aに示すように、宛名データの宛名が6名の連名であるとする。具体的な宛名としては、「Braian Ace」が1行目、「Luwis Senna」が2行目、「Aran Ness」が3行目、「Nico Lovin」が4行目、「Bon Jovi」が5行目、「Lauren Panis」が6行目である。図10では、文字の並び方向(行の長手方向)を横方向にして描いているが、上述したように文字の並び方向に直交する方向が、宛名領域(印刷領域)の横方向に対応することになる。奇数行と偶数行とに分けるということは、制御部21はステップS418において、奇数行である1行目と3行目と5行目の「Braian Ace」と、「Aran Ness」と、「Bon Jovi」の行を取り出して3行として1つめのテキストボックスに挿入し、偶数行である2行目と4行目と6行目の「Luwis Senna」と、「Nico Lovin」と、「Lauren Panis」の行を取り出して3行として2つめのテキストボックスに挿入する。
制御部21は、ステップS420では、加算文字サイズおよび計算後ボディーサイズに基づいて、文字サイズと行間サイズを計算する。具体的には、制御部21は、計算後ボディーサイズにおけるキャップハイトつまりベースラインL4からキャップラインL2までの高さに、加算文字サイズを加えた値を、ステップS420による計算後の文字サイズとする。計算後ボディーサイズにおけるキャップハイトを、便宜上、基本文字サイズと呼ぶ。むろん、ボディーサイズに対するベースラインL4~キャップラインL2の距離の比率を、計算後ボディーサイズに掛けることで、基本文字サイズを算出することができる。
つまり、制御部21は、
(文字サイズ)=(基本文字サイズ+加算文字サイズ)…(9)
とする。制御部21は、さらに、
(行間サイズ)=2×(計算後ボディーサイズ)-(文字サイズ)…(10)
として、行間サイズを求める。
ステップS410~S416に関する説明から理解できるように、ステップS420の時点での加算文字サイズは、0、第1加算サイズ、第2加算サイズ、第1加算サイズ+第2加算サイズ、のいずれかである。そのため、ステップS420で計算結果として得られる文字サイズは、基本文字サイズ、基本文字サイズ+第1加算サイズ、基本文字サイズ+第2加算サイズ、基本文字サイズ+第1加算サイズ+第2加算サイズ、のいずれかとなる。基本文字サイズ+第1加算サイズ+第2加算サイズは、計算後ボディーサイズに等しい。
従って、文字サイズ=基本文字サイズ+第1加算サイズ+第2加算サイズ、であった場合は、文字サイズおよび行間サイズはいずれも計算後ボディーサイズと等しくなる。
一方、文字サイズ=基本文字サイズ+第1加算サイズ、であった場合は、行間サイズは、文字サイズよりも大きくなり、計算後ボディーサイズに第2加算サイズを加えた値となる。
また、文字サイズ=基本文字サイズ+第2加算サイズ、であった場合も、行間サイズは、文字サイズよりも大きくなり、計算後ボディーサイズに第1加算サイズを加えた値となる。
文字サイズ=基本文字サイズ、であった場合も、行間サイズは、文字サイズよりも大きくなり、計算後ボディーサイズに第1加算サイズおよび第2加算サイズを加えた値となる。ちなみに、文字サイズ=基本文字サイズ、であった場合は、後述するような内枠の拡大が実現されない場合に該当する。
変形例3においても、制御部21は、図5に示した重畳処理と基本的に同様の処理を実行する。なお、ステップS301では、制御部21は、文字の外枠が印刷領域の角部に配置されるように、印刷領域と同じサイズの各テキストボックスを設定すればよい。そして、制御部21は、ステップS302では、ステップS420で計算した文字サイズを、各テキストボックスのプロパティーにおけるキャップハイトに設定する。ステップS420で計算した文字サイズを各テキストボックスのプロパティーにおけるキャップハイトに設定することは、同時に、各テキストボックスにおいて、ステップS420で計算した文字サイズに相当するキャップハイトおよび、このキャップハイトに対する所定比率のボディーサイズが設定されることを意味する。
上述の具体例によれば、ボディーサイズのデフォルト値は25mm、このデフォルト値におけるキャップハイトは20mmである一方、計算後ボディーサイズは20mmである。仮に、ステップS420で計算された文字サイズおよび行間サイズが等しく、基本文字サイズに第1加算サイズおよび第2加算サイズを加えた値である場合は、文字サイズ=20mmとなる。この場合、ステップS302の処理により、各テキストボックスにおけるキャップハイトの設定は20mmとされ、デフォルト値のボディーサイズにおけるキャップハイトと同等の値となる。
制御部21は、続くステップS304では、テキストボックス間で文字が重ならないように、ステップS420で計算した行間サイズつまり文字間サイズを、各テキストボックスのプロパティーに設定する。変形例3においても行間サイズは、1つのキストボックス内において、ある行の文字の内枠と、これに隣り合う行の文字の内枠との間隔を指す。つまり、1つのキストボックス内において、ある行のキャップハイトと、次の行のキャップハイトとの間に、キャップハイトと同じか或いはキャップハイトよりも広い間隔が設定される。その後、制御部21は、ステップS306にて、各テキストボックスを重畳印刷する。変形例3においては、制御部21は、文字サイズ=行間サイズであれば、各テキストボックスを重畳したときに隣り合う文字の内枠が接するように各テキストボックスを重畳することにより、テキストボックス間で文字が重ならないようにする。一方、文字サイズ<行間サイズであれば、制御部21は、各テキストボックスを重畳したときに隣り合う文字の内枠同士の間に第1加算サイズや第2加算サイズに相当する隙間が確保されるように各テキストボックスを重畳することにより、テキストボックス間で文字が重ならないようにする。
図10Aは、印刷領域に対応するテキストボックス内に、各文字の外枠つまりボディーサイズが全て収まるように調整して6名の連名としての宛名データを配置した状態を例示しているとも言える。図10Aにおける文字単位の矩形は、文字の内枠、つまり文字の高さ方向の幅をキャプハイトとした枠を示している。また、図10Aにおける破線は、隣り合う行同士の境界を示しており、当該破線は、隣り合う一方の行のディセンダーラインと、隣り合う他方の行のアセンダーラインとを兼ねると解して良い。つまり、図10Aに示した破線と破線との間隔が、図10Aの行毎のボディーサイズである。より具体的には、図10Aに示した破線と破線との間隔は、ステップS408による計算後ボディーサイズに相当する。
図10Bは、奇数行の宛名を挿入してステップS304までの処理が施されたテキストボックスTB5を示し、図10Cは、偶数行の宛名を挿入してステップS304までの処理が施されたテキストボックスTB6を示している。また、図10Bおよび図10Cは、ステップS420で計算された文字サイズおよび行間サイズが等しい場合を想定した図である。図10B,10Cにおける文字単位の矩形は、文字の内枠、つまり文字の高さ方向の幅をステップS302で設定されたキャプハイトとした枠を示している。このような図10B,10Cの例によれば、文字の内枠が、計算後ボディーサイズにおけるキャップハイトよりも文字の高さ方向に拡大されて、計算後ボディーサイズに相当する間隔(図10Aに示した破線と破線との間隔)を持った枠となっている。
図10Bに示すテキストボックスTB5と、図10Cに示すテキストボックスTB6は同じ位置に重ね合わされているから、印刷するときには図10Dに示すように隣り合う奇数行と偶数行の文字の内枠同士が接した状態で、テキストボックスTB5,TB6が重畳されて印刷される。
なお、ステップS420で計算された文字サイズが、基本文字サイズ+第1加算サイズ、であった場合は、テキストボックスを重畳したときに隣り合う一方の文字の内枠と他方の文字の内枠との間には、第2加算サイズ分の隙間が生じる。しかし、この隙間に対しては前記一方の文字のディセンダーが描画されることになるため、結局、テキストボックスを重畳したときに隣り合う一方の文字と他方の文字との間には、余計な隙間が無い状態となる。また、ステップS420で計算された文字サイズが、基本文字サイズ+第2加算サイズ、であった場合は、テキストボックスを重畳したときに隣り合う一方の文字の内枠と他方の文字の内枠との間には、第1加算サイズ分の隙間が生じる。しかし、この隙間に対しては前記他方の文字のアセンダーが描画されることになるため、結局、テキストボックスを重畳したときに隣り合う一方の文字と他方の文字との間には、余計な隙間が無い状態となる。
このように変形例3によれば、制御部21は、英文字等による文字列を印刷する制御を実行する場合に、アセンダーラインチェックにより、キャップラインL2からアセンダーラインL1までの領域を描画に必要とする第1文字群が文字列に含まれているか否かを判定し、また、ディセンダーラインチェックにより、ディセンダーラインL5からベースラインL4までの領域を描画に必要とする第2文字群が文字列に含まれているか否かを判定する。そして、制御部21は、文字列に第1文字群が含まれていなければ、キャップラインL2からアセンダーラインL1までの高さである第1加算サイズを加算文字サイズに加え、文字列に第2文字群が含まれていなければ、ディセンダーラインL5からベースラインL4までの高さである第2加算サイズを加算文字サイズに加える。そして、制御部21は、キャップハイトに対応する基本文字サイズに加算文字サイズを加えた値を、文字サイズに決定し、文字サイズに応じて行間サイズを決定する。そして、これら文字サイズおよび行間サイズを、文字を振り分けた各テキストボックスのプロパティーにおけるキャップハイトおよび行間サイズに設定する。すなわち、文字列を構成する英文字等の内容次第で不要となる領域(キャップハイトとボディーサイズとの隙間の領域)へ内枠つまりキャップハイトのサイズを拡大することで、より大きなサイズの文字を印刷することが可能となる。
なお、変形例3においても、各テキストボックスを重畳させたときに文字の内枠同士が必ずしも接するのではなく、図10Dに示す状態において、奇数行の文字の内枠と偶数行の文字の内枠との間に隙間が存在していてもよい。つまり、変形例3においても、制御部21は、文字の外枠の内側に隣の文字の外枠あるいは内枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定する。
変形例4:
変形例4は、変形例3を前提とした変形例である。
図11は、変形例4に関する文字サイズと文字間サイズの決定処理のフローチャートの一部分であって、図8のフローチャートとの相違点を主に示している。変形例4については、図8,9,11を参照しながら、変形例3と異なる点を説明する。変形例4では、図9に破線で示す基準線L0を想定する。基準線L0は、アセンダーラインL1よりも文字の高さ方向上方に位置する基準線であり、アルファベット等の文字の上方に付加される、例えばハットやキャレット等と呼ばれる発音記号やアクセント記号の、最上部の位置を示している。文字の上方に付加される記号を、変形例4では特定記号と呼ぶ。言い換えると、特定記号は、アセンダーラインL1から基準線L0までの領域を描画に必要とする記号である。
変形例3では、ディセンダーラインL5からアセンダーラインL1までの高さを文字のボディーサイズとしていたが、変形例4では、ディセンダーラインL5から基準線L0までの高さを文字のボディーサイズとする。従って、変形例4では、基準線L0およびディセンダーラインL5を文字の高さ方向の両端とする枠を、文字の外枠と呼ぶ。
制御部21は、ステップS408の後、ステップS409を実行する。制御部21は、ステップS409では、描画すべき宛名データの中に、特定記号が含まれているか否かを判定する。制御部21は、宛名データの中に特定記号が一つも含まれていない場合に、NOと判定してステップS410へ進む。ステップS410の処理は、上述した通りである。一方、宛名データの中に特定記号が一つ以上含まれている場合は、制御部21は、YESと判定してステップS410,S413をスキップしてステップS414へ進む。ステップS409の判定を、便宜上、仮想ラインチェックとも呼ぶ。
制御部21は、ステップS410でNOと判定した場合に、ステップS413を実行する。変形例4では、図8のステップS412の替わりにステップS413を実行する。制御部21は、ステップS413において、加算文字サイズに、計算後ボディーサイズにおけるキャップラインL2から基準線L0までの高さを加算する。計算後ボディーサイズにおけるキャップラインL2から基準線L0までの高さを、便宜上、第3加算サイズと呼ぶ。ボディーサイズにおける各基準線L0,L1,L2,L3,L4,L5間の距離の比率は予め決まっているため、制御部21は、ボディーサイズに対するキャップラインL2~基準線L0の距離の比率を、計算後ボディーサイズに掛けることで、第3加算サイズを算出する。
図11のステップS409~S413および図8のステップS414,S416に関する説明から理解できるように、ステップS420の時点での加算文字サイズは、0、第3加算サイズ、第2加算サイズ、第3加算サイズ+第2加算サイズ、のいずれかである。そのため、ステップS420で計算結果として得られる文字サイズは、基本文字サイズ、基本文字サイズ+第3加算サイズ、基本文字サイズ+第2加算サイズ、基本文字サイズ+第3加算サイズ+第2加算サイズ、のいずれかとなる。基本文字サイズ+第3加算サイズ+第2加算サイズは、計算後ボディーサイズに等しい。従って、文字サイズ=基本文字サイズ+第3加算サイズ+第2加算サイズ、であった場合は、文字サイズおよび行間サイズはいずれも計算後ボディーサイズと等しくなる。
このように変形例4によれば、制御部21は、仮想ラインチェックにより、アセンダーラインL1よりも更に文字高さ上方の基準線L0までの領域を描画に必要とする特定記号が文字列に含まれているか否かを判定する。そして、制御部21は、文字列に特定記号および第1文字群が含まれていなければ、キャップラインL2から基準線L0までの高さである第3加算サイズを加算文字サイズに加え、文字列に第2文字群が含まれていなければ、ディセンダーラインL5からベースラインL4までの高さである第2加算サイズを加算文字サイズに加える。そして、制御部21は、キャップハイトに対応する基本文字サイズに加算文字サイズを加えた値を、文字サイズに決定し、文字サイズに応じて行間サイズを決定する。そして、これら文字サイズおよび行間サイズを、文字を振り分けた各テキストボックスのプロパティーにおけるキャップハイトおよび行間サイズに設定する。すなわち、特定記号が無い等の条件に応じて不要となる領域へ内枠つまりキャップハイトのサイズを拡大することで、より大きなサイズの文字を印刷することが可能となる。このように本実施形態によれば、制御部21は、文字列における、内枠と外枠との間の領域を必要とする文字または記号の有無に応じて、内枠を決定した上で、テキストボックスを重畳する構成を提供する。
むろん、変形例4におけるアセンダーラインL1よりも文字高さ上方の基準線L0および、第1加算サイズに替わる第3加算サイズと同様の考えは、文字の下方に付加される記号を想定したとき、ディセンダーラインL5よりも文字高さ下方の基準線および、第2加算サイズに替わるベースラインL4よりも下方の加算サイズとして採用可能である。
なお、本発明は前記実施例に限られるものでないことは言うまでもない。当業者であれば言うまでもないことであるが、
・前記実施例の中で開示された文字ではないが、任意の言語で用いられる文字(数字を含む)に適用すること
・前記実施例の中で開示した複数の部材を一つの部材で実現したり、一つの部材を複数の部材で実現したり、複数の装置の連携で実現したり、すること
・前記実施例の中で開示した相互に置換可能な部材および構成等を適宜その組み合わせを変更して適用すること
・前記実施例の中で開示されていないが、公知技術であって前記実施例の中で開示した部材および構成等と相互に置換可能な部材および構成等を適宜置換し、またその組み合わせを変更して適用すること
・前記実施例の中で開示されていないが、公知技術等に基づいて当業者が前記実施例の中で開示した部材および構成等の代用として想定し得る部材および構成等と適宜置換し、またその組み合わせを変更して適用すること
・宛名以外での文字の配置に適用すること
・各変形例を適宜組み合わせること
は本発明の一実施例として開示されるものである。
10…印刷装置、20…本体、21…制御部、22…入力制御部、23…印刷機構、24…宛名データベース、25…メモリー、26…文章入力プログラム、30…液晶パネル、40…キーボード

Claims (12)

  1. ユーザーの入力を受け付ける入力部と、
    印刷機構と、
    プロセッサーと、を備えた印刷装置であって、
    前記プロセッサーは、
    ユーザーから文字列の入力を受け付け、隣の文字が別のテキストボックスに入るように前記文字列の文字を少なくとも2つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御することを特徴とする印刷装置。
  2. 前記プロセッサーは、隣り合う文字の内枠が接するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御することを特徴とする請求項1に記載の印刷装置。
  3. 前記外枠は仮想ボディーであり、文字の内枠は基準枠であることを特徴とする請求項1または請求項2に記載の印刷装置。
  4. 前記プロセッサーは、次式により計算した仮想ボディーサイズに基づいて前記文字サイズを決定することを特徴とする請求項3に記載の印刷装置。
    (仮想ボディーサイズ)=(印刷領域の枠サイズ÷文字数)×((仮想ボディーサイズ)/(基準枠サイズ))
  5. 前記プロセッサーは、前記文字間サイズを、次式に基づいて決定することを特徴とする請求項4に記載の印刷装置。
    (文字間サイズ)=(計算された仮想ボディーサイズ)-((仮想ボディーサイズ)-(基準枠サイズ))
  6. 前記外枠は、アセンダーラインおよびディセンダーラインであり、文字の内枠は、キャップラインおよびベースラインであることを特徴とする請求項1または請求項2に記載の印刷装置。
  7. 前記外枠は、アセンダーラインよりも文字高さ上方に位置する基準線、およびディセンダーラインであり、文字の内枠は、キャップラインおよびベースラインであることを特徴とする請求項1または請求項2に記載の印刷装置。
  8. 前記プロセッサーは、前記文字列における、文字の内枠と前記外枠との間の領域を必要とする文字または記号の有無に応じて、前記内枠を決定することを特徴とする請求項1または請求項2に記載の印刷装置。
  9. 前記プロセッサーは、前記文字列を1つのテキストボックスに入れた場合の文字サイズが閾値以上になるのであれば1つのテキストボックスにすべての前記文字列を入れ、前記文字列を1つのテキストボックスに入れた場合の文字サイズが閾値未満になるのであれば前記文字列の文字を少なくとも2つのテキストボックスに振り分けることを特徴とする請求項1~請求項8のいずれかに記載の印刷装置。
  10. 前記プロセッサーは、少なくとも2つのテキストボックスに振り分けるときに、前記文字列の文字の並び方向と、前記文字列の文字の並び方向と直交する方向とにおける4つの並び方向に振り分けることを特徴とする請求項1~請求項9のいずれかに記載の印刷装置。
  11. ユーザーの入力を受け付ける機能と、
    印刷機構を制御する機能と、
    プロセッサー機能とをコンピューターに実現させる文章入力プログラムであって、
    前記プロセッサー機能は、
    ユーザーから文字列の入力を受け付け、隣の文字が別のテキストボックスに入るように前記文字列の文字を少なくとも2つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するようにテキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御することを特徴とする文章入力プログラム。
  12. 文字列の入力を受け付ける入力部と、
    所定のテキストボックス内に前記文字列を印刷する印刷機構と、
    前記入力部と前記印刷機構を制御するプロセッサーと、を備えた印刷装置であって、
    前記プロセッサーは、
    前記文字列の入力を受け付け、前記文字列を構成する隣接する文字が別のテキストボックスに入るように前記文字列の文字を少なくとも2つのテキストボックスに振り分け、文字の外枠の内側に隣の文字の外枠の一部が位置するように各テキストボックス内の文字サイズと文字間サイズを設定し、前記外枠の内側に隣の文字の前記外枠の一部が位置するように前記テキストボックスを重畳して印刷するように前記印刷機構を制御することを特徴とする印刷装置。
JP2018108058A 2018-01-09 2018-06-05 印刷装置および文章入力プログラム Active JP7067285B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/240,851 US10659648B2 (en) 2018-01-09 2019-01-07 Printing apparatus and text input program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018001112 2018-01-09
JP2018001112 2018-01-09

Publications (2)

Publication Number Publication Date
JP2019119194A JP2019119194A (ja) 2019-07-22
JP7067285B2 true JP7067285B2 (ja) 2022-05-16

Family

ID=67305853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018108058A Active JP7067285B2 (ja) 2018-01-09 2018-06-05 印刷装置および文章入力プログラム

Country Status (1)

Country Link
JP (1) JP7067285B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009279792A (ja) 2008-05-20 2009-12-03 Riso Kagaku Corp ハイブリッド印刷装置及びハイブリッド印刷方法
JP2013206125A (ja) 2012-03-28 2013-10-07 Nec Infrontia Corp イメージデータ生成方法、イメージデータ生成装置及びイメージデータ生成プログラム
JP2015202633A (ja) 2014-04-14 2015-11-16 セイコーエプソン株式会社 印刷制御装置及び印刷装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS541617A (en) * 1977-06-06 1979-01-08 Shaken Kk Phototypesetter and similar machine
JPH09174798A (ja) * 1995-12-21 1997-07-08 Dainippon Screen Mfg Co Ltd カーニング処理方法およびその装置
US5803629A (en) * 1997-03-14 1998-09-08 Paul H. Neville Method and apparatus for automatic, shape-based character spacing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009279792A (ja) 2008-05-20 2009-12-03 Riso Kagaku Corp ハイブリッド印刷装置及びハイブリッド印刷方法
JP2013206125A (ja) 2012-03-28 2013-10-07 Nec Infrontia Corp イメージデータ生成方法、イメージデータ生成装置及びイメージデータ生成プログラム
JP2015202633A (ja) 2014-04-14 2015-11-16 セイコーエプソン株式会社 印刷制御装置及び印刷装置

Also Published As

Publication number Publication date
JP2019119194A (ja) 2019-07-22

Similar Documents

Publication Publication Date Title
US9665326B2 (en) Image display control device for displaying a print preview for borderless printing
JP4112200B2 (ja) 文字組空き量設定装置、文字組空き量設定プログラム及びそれを記録した記録媒体
US8560965B2 (en) Display device for displaying setup screen with screen navigation path
JP7067285B2 (ja) 印刷装置および文章入力プログラム
JP3795784B2 (ja) アイコン表示付き文字組空き量設定装置、文字組空き量設定プログラム及びそれを記録した記録媒体
US10659648B2 (en) Printing apparatus and text input program
JP6266421B2 (ja) 画像形成装置
JPS62229463A (ja) 文書処理方法
JP2005103929A (ja) 小印刷物作成装置、小印刷物作成方法及び小印刷物作成プログラム
JP6662101B2 (ja) 情報処理装置、プログラム、情報処理方法、及び情報処理システム
JP3062259B2 (ja) 文書処理装置及び方法
JP2007086914A (ja) 情報提供装置および情報提供方法
JPS58192126A (ja) ワ−ドプロセツサ
JPH0675952A (ja) 文書作成装置
JP2014063439A (ja) 描画処理装置およびその制御方法
JP3026617B2 (ja) 文書処理装置及び方法
Shufflebotham InDesign in easy steps: Making InDesign accessible to all
JP6398945B2 (ja) 情報付加文書生成装置、プログラム
JP3062258B2 (ja) 文書処理装置及び方法
JP3375781B2 (ja) 行別編集機能付き文書処理装置
JPH07156449A (ja) 印刷装置及び画像フォント拡大装置
JP2621987B2 (ja) 文書処理装置
JP3598728B2 (ja) 印刷システム、印刷方法、印刷制御プログラムが記録されたコンピュータ読み取り可能な記録媒体、印刷システムに用いられる印刷制御装置、及び印刷制御方法
JPH0895963A (ja) 耳文字印刷機能付き文書処理装置
JPH10143500A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220411

R150 Certificate of patent or registration of utility model

Ref document number: 7067285

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150