(57)【要約】【課題】所定の記録領域に文字列を縮小して記録する際に、画数の多い文字も、画数の少ない文字と同一の縮小率で記録されるため、画数の多い文字である漢字について、文字潰れが発生し、判読性が低下するといった課題があった。【解決手段】所定の文字列を所定の格納領域内に格納する格納手段と、文字列が格納されるべき格納領域のサイズに対する格納されるべき文字列のサイズに応じて、前記格納手段が格納する文字列を、構成する文字ごとに対応した縮小率で縮小する縮小手段と、を有することを特徴とする情報処理装置とした。【選択図】図３
2018206196.tif 000002
【特許請求の範囲】
【請求項１】
所定の文字列を所定の格納領域内に格納する格納手段と、
文字列が格納されるべき格納領域のサイズに対する格納されるべき文字列のサイズに応じて、前記格納手段が格納する文字列を、構成する文字ごとに対応した縮小率で縮小する縮小手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置はさらに、前記縮小手段によって縮小された文字列を印刷するプリンタに送信する送信手段
を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記縮小手段は、所定の文字列を構成する文字ごとに縮小率の下限を判定し、前記格納手段が格納する各文字のサイズを、前記下限未満には縮小しない
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記縮小手段は、判定した縮小率の下限が格納する文字列の中で最大の文字の下限未満には縮小しない
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記縮小手段は、所定の文字列を構成する所定の文字群ごとに縮小率の下限を判定し、前記格納手段が格納する各文字のサイズを、前記下限未満には縮小しない
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項６】
前記縮小手段は、判定した縮小率の下限が前記所定の文字群の中で最大の文字の下限未満には縮小しない
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記下限は、漢字に対して予め設定されている
ことを特徴とする請求項３から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記下限は、文字の画数に基づいて予め設定されている
ことを特徴とする請求項３から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記下限は、文字の画数が多いほど大きくなるよう設定されている
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記下限は、文字の種類に基づいて予め設定されている
ことを特徴とする請求項３から７のいずれか１項に記載の情報処理装置。
【請求項１１】
前記下限は、文字の種類が漢字の場合に最大になるよう設定されている
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
請求項１から１１のいずれか１項に記載の情報処理装置であって、
プログラムを記憶するメモリと、前記メモリと通信可能に接続されたプロセッサを備え、
前記プロセッサが前記メモリから前記プログラムを読み出して格納する文字列を縮小する処理を実行する
ことを特徴とする情報処理装置。
【請求項１３】
請求項１２に記載の情報処理装置の前記メモリに記憶され、前記プロセッサが実行するプログラム。
【請求項１４】
請求項１から１２のいずれか１項に記載の情報処理装置と、
前記情報処理装置と通信可能に接続され、前記縮小手段によって縮小された文字列を記録媒体に記録する記録装置
からなる記録システム。
【請求項１５】
所定の文字列を記録媒体の所定の記録領域内に記録する記録手段と、  
文字列が記録されるべき記録領域のサイズに対する記録されるべき文字列のサイズに応じて、前記記録手段が記録する文字列を、構成する文字ごとに対応した縮小率で前記記録手段に記録させる制御手段と、
を有することを特徴とする記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列を所定の領域に格納する情報処理装置、記録装置、記録システムおよびプログラムに関する。
【背景技術】
【０００２】
従来から、例えば記録媒体（記録用紙）上の予め決められた記録領域に対して、所望の文字列を追記して記録することが一般的に行われている。例えば、地方自治体が発行するマイナンバーカードの住所変更記載欄への追記などにおいては、上記追記を行うための記録領域は、追記記録の対象となる文字列の総量に対して狭い場合が多い。この場合、記録対象の文字列が記録領域をはみ出さないように、記録する文字のサイズを縮小して記録する必要があった。このような用途に関する先行技術としては、例えば下記、特許文献１がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−５７９８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１では、ラベルプリンタの制御装置が入力された文字数と記録エリアの寸法を比較し、記録対象の文字の文字サイズ及び文字間隔を決定して、記録エリア内に文字列を記録する。しかしながら、特許文献１の場合、記録制御装置が単に入力された文字数と記録エリアの寸法を比較し、文字サイズ及び文字間隔を決定して、記録エリア内に文字列を記録するので、文字列に含まれる全ての文字が一律でサイズ変更されてしまう。
【０００５】
この場合、縮小後の文字サイズ（フォントサイズ）について、記録される文字列全体の均一性はあるが、画数の多い文字も画数の少ない文字と同一の縮小率で記録されるため、特に漢字のような画数の多い文字について文字潰れが発生してしまう。縮小記録した漢字が文字潰れをおこすと、判読性が低下し文字を誤認識する可能性がある。
【０００６】
本発明の目的は、文字列を縮小した際に文字の判読性が低下するのを抑制することができる情報処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、所定の文字列を所定の格納領域内に格納する格納手段と、文字列が格納されるべき格納領域のサイズに対する格納されるべき文字列のサイズに応じて、前記格納手段が格納する文字列を、構成する文字ごとに対応した縮小率で縮小する縮小手段と、を有することを特徴とする情報処理装置である。
【０００８】
また本発明の記録装置は、所定の文字列を記録媒体の所定の記録領域内に記録する記録手段と、文字列が記録されるべき記録領域のサイズに対する記録されるべき文字列のサイズに応じて、前記記録手段が記録する文字列を、構成する文字ごとに対応した縮小率で前記記録手段に記録させる制御手段と、を有することを特徴とする記録装置である。
【発明の効果】
【０００９】
本発明の情報処理装置によれば、文字列を縮小した際に文字の判読性が低下するのを抑制することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】記録システムの概略構成を示す図である。
【図２】図１の記録システムの詳細構成を示すブロック図である。
【図３】本発明の実施形態１の情報処理装置の動作のフロー図である。
【図４】実施形態１の漢字リストの例を示す図である。
【図５】実施形態１の文字の画数と縮小率下限の対応表の例を示す図である。
【図６】実施形態１のユーザインターフェイスの例を示す図である。
【図７】縮小記録による文字潰れの例を示す図である。
【図８】本発明の実施形態２の情報処理装置の動作のフロー図である。
【図９】図８のループ処理Ａを示すフロー図である。
【図１０】図８のループ処理Ｂを示すフロー図である。
【図１１】実施形態２のユーザインターフェイスの例を示す図である。
【図１２】実施形態２の文字列の分割位置を変更する例を示す図である。
【図１３】実施形態２の漢字リストの管理情報の例を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。
【００１２】
（記録システム）
まず、図１に本発明の実施形態に関わる記録システムの概略構成を例示する。この記録システムの例では、ホストＰＣ１０１と、記録装置１０２と、接続ケーブル１０３により構成される。図１の例ではホストＰＣ１０１は、記録データを生成する情報処理装置である。記録装置１０２は、ホストＰＣ１０１からの指示に従って記録データに基づいて記録媒体に記録処理するプリンタである。接続ケーブル１０３は、ホストＰＣ１０１と記録装置１０２を接続する。記録媒体１０４は例えば記録用紙などの記録にもちいられる媒体を示す。
【００１３】
記録システムは、ＰＣのような情報処理装置とプリンタのような記録装置が一体に構成された、複合機や専用機の記録システムであってもよい。また、有線／無線を問わずＬＡＮやインターネットなどのネットワークに接続されて互いに遠隔配置され、互いに通信可能に接続された情報処理装置と記録装置からなる記録システムであってもよい。
【００１４】
（情報処理装置）
図２には、本発明の情報処理装置としてのホストＰＣ１０１と、記録装置１０２が相互に通信可能に接続された記録システムのブロック図を示す。
【００１５】
図２の情報処理装置としてのホストＰＣ１０１では、オペレーティングシステム（ＯＳ）の制御下でメインＣＰＵ２２０（プロセッサ）が、アプリケーションプログラム、プリンタードライバー等、各種記録処理のプログラムを実行する。メインＣＰＵ２２０のシステムバスはローカルバスとしてのＰＣＩバス、及びＩＳＡバスと夫々、ホスト／ＰＣＩブリッジ２２１、及びＰＣＩ／ＩＳＡブリッジ２２８を経由した階層的なバスを有して各ハードウェアと接続される。なお、メインＣＰＵ２２０のシステムバスにはＬ２・キャッシュと呼ぶ高速のメモリ（不図示）をもち、メインＣＰＵ２２０が常時アクセスするような、コード、データを記憶する。
【００１６】
メインメモリ２２２はオペレーティングシステム（ＯＳ）、アプリケーションプログラム、プリンタードライバー等、実行プログラムの一時的記憶領域、かつ、各プログラム実行のための作業用メモリ領域として用いられる。アプリケーションプログラムにて描画されたＲＧＢ画像データ、ＲＧＢ画像データから記録装置１０２の各記録ヘッドに対応した色信号（本例ではシアン、マゼンタ、イエロー、ブラック）に変換した画像信号（多値信号）等も記憶する。記録データ等は全てメインメモリ２２２上に展開され、通信インターフェイス２２３を介し、記録装置１０２へ転送される。
【００１７】
記録装置１０２との通信インターフェイス２２３はＰＣＩバスに接続されており、使われるインターフェイスは例えばＵＳＢ、ネットワーク等がある。ＣＲＴＣ２２４はビデオコントローラで、ＣＰＵ２２０によってＶＲＡＭ２２５に書き込まれた表示用ビットマップデータを継続的に読み取り、ＣＲＴ，ＬＣＤ，ＰＤＰ等のディスプレイ２２６に継続的に転送する。
【００１８】
ＲＯＭ２２９はキーボード・マウス２３２やＦＤＤ２３１などの入出力機器を制御するＢＩＯＳ（Basic Input Output System）プログラム、パワーＯＮ時の初期化、自己診断プログラム等を格納する。ＥＥＰＲＯＭ２３０は恒久的に利用する各種のパラメーターを記憶させるための書き換え可能な不揮発性のメモリで、記録装置１０２の記録ヘッドの記録特性データの記憶用としても使用する。
【００１９】
オペレーティングシステム（ＯＳ）、各種アプリケーションプログラム、そしてプリンタードライバーなどのプログラムは、ＨＤＤ（Hard Disk Drive）２２７からメインメモリ２２２に読み出され、実行される。記録装置１０２のデバイス情報の取得は、記録装置１０２に新規接続時に自動的に行ってもよいし、操作者が任意のタイミングにより手動で行ってもよい。また、記録装置にデバイス情報の返信能力が無い場合は、操作者が予め例えばプリンタードライバーに該当情報を設定しておくことも可能である。
【００２０】
（記録装置）
図２の記録システムの記録装置１０２は、ＲＯＭ２０３に記憶された制御プログラムをＣＰＵ２０１が実行することにより制御される。一体型の記録装置では、ＣＰＵ２０１が前記情報処理装置の機能を備えていてもよい。記録データを記憶するＲＡＭ２０２、ホストＰＣ１０１と通信を行うための通信装置２０４を備える。さらに記録装置１０２は、記録ヘッドを駆動制御する記録ヘッド制御部２０５、記録装置１０２の記録媒体の搬送等を行うアクチュエータ等の駆動制御する装置駆動部２０６、を備える。各記録ヘッド内のメモリ（ＥＥＰＲＯＭ２０８、２０９、２１０、２１１）には、読み出しと書き込みを行うメモリ制御（Ｒ／Ｗ）回路２０７が設けられている。記録装置１０２では、各記録ヘッド内のメモリ２０８〜２１１には、例えば、書き換え可能な不揮発性メモリであるＥＥＰＲＯＭを使用する。この記録装置１０２では、シアン、マゼンタ、イエロー、ブラック４色の記録ヘッドで構成されている。
【００２１】
（実施形態１）
図３には、本発明の情報処理装置の実施形態１の動作として、上記の記録システムのＰＣにおいて、記録アプリケーション上で、記録対象文字列の入力を実施する際のフロー図の例を示す。記録アプリケーションは記録プログラムとして情報処理装置上で動作するものであれば良く、専用アプリケーションであってもよく、汎用アプリケーションの部分機能であってもよく、ＯＳやプリンタドライバなどの組み込み機能であっても良い。以下では情報処理装置１０１のＯＳ上にて記録アプリケーションが起動済みであり、起動したアプリケーションで記録文書のレイアウト画面において操作者であるユーザが記録対象文字列を入力する際のフローを想定している。以下に各ステップを順に説明する。
【００２２】
まずステップＳ３０１では、前述のように記録アプリケーションが起動済みである。情報処理装置１０１のディスプレイ２２６上には、起動した記録アプリケーションが、記録対象の文書のレイアウトに応じて、所定の記録可能領域を操作者であるユーザに示している。後述する図６には、記録アプリケーションで示される記録可能領域の具体例を示している。操作者であるユーザは、対象となる記録可能領域を設定、選択する。
【００２３】
つぎのステップＳ３０２では、操作者が選択した記録可能領域に対して記録対象文字列の入力を開始する。ここでは、記録アプリケーションの文字列入力コントロールに対し、操作者が例えばキーボードやマウスの操作によりフォーカスを当てたものとする。
【００２４】
ステップＳ３０３では、記録アプリケーションは、文字列入力のコントロールを介して操作者からの文字入力を待機している。文字列入力は、情報処理装置に接続された物理的キーボードやソフトキーのような一般的な入力手段によって実施される。
【００２５】
ステップＳ３０４では、記録アプリケーションは、文字列入力を受けて、文字列に変更があったか否かを判定する。ここでの文字列の変更とは、文字列を構成する文字の変更、追加、削除などを含む。文字列に変更があった場合は、次のステップＳ３０５に移り、変更がなければ後述のステップＳ３１８へ移行して文字列が確定する。
【００２６】
ステップＳ３０５では、上記ステップＳ３０４において文字列に変更があった場合に、所定のフォントサイズによって文字列を記録領域に記録したとき、文字列終端が前記所定の記録領域からはみだすか否かを判定する。はみ出す場合は、次のステップＳ３０６に移り、はみ出さなければ後述のステップＳ３１８へ移行して記録対象文字列が確定する。
【００２７】
ステップＳ３０６では、上記Ｓ３０５で文字列終端が記録領域からはみ出すと判定された場合に、記録対象文字列を記録領域に合わせて自動的に縮小する処理に移る。このステップＳ３０６は、文字列を記録領域に合わせて自動的に縮小する一連の処理の開始点となる。
【００２８】
このステップＳ３０６ではまず、記録対象文字列中の文字の属性情報として、文字が漢字であるか否かを判別する。文字列内に漢字がある場合（ＹＥＳ）は、次のステップＳ３０７に移り、なければ（ＮＯ）後述のステップＳ３１０へ移行して、次のステップＳ３０７〜Ｓ３０９をバイパスする。
【００２９】
ステップＳ３０７は、上記Ｓ３０６で記録対象文字列中に漢字を含むと判定された場合のステップである。文字列中から漢字を抽出する。文字列中の文字が漢字か否かは、一般的に文字の文字コードの値が属する範囲を参照することにより容易に判定可能であり、文字列中の漢字を抽出してリストとすることができる。後述する図４に、抽出された漢字のリストの具体例を２例示す。（図４の４０２、４０４）
【００３０】
ステップＳ３０８では、Ｓ３０７で抽出された漢字のリスト中の各漢字について漢字の画数を求める。漢字の画数は、外部の漢字データベースなどを参照して決定しても良いが、記録アプリケーション中に漢字の文字コードと画数の対応表として保持することもできる。この漢字データベースないし対応表からそれぞれの漢字の画数の属性を検索し、画数の情報を取得する。上記Ｓ３０７の漢字のリストと組み合わせて各漢字ごとに画数を管理することができる。図４の４０２、４０４において、各漢字の後の括弧内の数字が各漢字の画数であり、漢字の画数は文字の判読性に関連した属性情報のひとつである。このようなプログラムステップを実行する情報処理装置は、記録対象文字列を縮小して記録する際の判読性に関連した属性情報を取得する取得手段を備えるものということができる。
【００３１】
ステップＳ３０９では、上記Ｓ３０８で決定された漢字リスト中の漢字の画数に基づき、記録アプリケーション中に保持されている画数と縮小率下限の対応表から、各文字の縮小率下限および文字列全体で最小の縮小率下限Ｘｍｉｎを設定する。図５に後述する文字の画数と縮小率下限の対応表の具体例に示すように、画数には複数のレンジ（範囲）を定めて、それぞれのレンジに対応する縮小率の下限を設定することができる。
【００３２】
ステップＳ３１０は、前記ステップＳ３０６において、文字列中に漢字を含まないと判定された場合のバイパス処理のステップである。漢字が含まれない文字列の場合は、ひらがな、カタカナ、英数字、記号など、通常は漢字よりも画数、複雑度が少ない文字が含まれる。したがって、図５に後述する文字の画数と縮小率下限の対応表に示すように、例えば漢字の最低の画数レンジ（範囲）に対応する縮小率よりも低い縮小率を「規定」として縮小率下限を設定することができる。
【００３３】
ステップＳ３１１は、文字列が所定の記録領域に納まるまで順次、文字縮小率を１％ずつ下げて反復する、ループ処理（Ｓ３１１〜Ｓ３１６）の開始点となるステップである。なお、以下同様であるが、本願のフロー図ではループ処理の範囲は、開始点となる初期値と終了条件を規定するステップと、これと対になって対応するループ終端を示すステップに囲まれた範囲として表示する。ループ制御の範囲は、フロー図では補助的に点線で示している。
【００３４】
ステップＳ３１１では、例えばループ変数をｎ、文字縮小率をＹとして、初期値をｎ＝０、Ｙ＝１００％から開始してＹを１％ずつ下げていき、以下のステップＳ３１２〜Ｓ３１６を反復する。ループの終了する場合は２つあり、１つは記録対象文字列が所定の記録可能領域に納まった場合（ループ途中のステップＳ３１４でＮＯ）である。もう１つは、終了条件が成立し文字縮小率Ｙが最小の縮小率下限Ｘｍｉｎ以下になった場合（Ｘｍｉｎ≧Ｙでループを抜けステップＳ３１７へ）である。
【００３５】
ステップＳ３１２は、ループ中において文字縮小率Ｙを設定するステップである。文字縮小率Ｙは１００−ｎ（％）として設定する。ｎは０以上の整数である。ステップＳ３１３では、文字縮小率Ｙで文字列を構成する各文字を縮小記録した場合の記録サイズを計算する。ただし、縮小率下限に達した文字については、その文字の縮小率下限をその文字の縮小率として設定し、以後そのままとする。ホストＰＣ１０１のディスプレイ２２６の画面上に、対応するサイズで実際に縮小した文字列を逐次表示させても良い。
【００３６】
ステップＳ３１４では、現在の文字縮小率Ｙで縮小された文字列の記録サイズにおいて、文字列終端が所定の記録領域からはみ出すかどうかを判定する。所定の記録領域に収まった場合（ＮＯ）は、ループを途中で抜けて、文字列を確定させるためのステップＳ３１８に進む。文字列終端が所定の記録領域からはみ出している場合（ＹＥＳ）は、さらに文字縮小率を下げて、縮小記録をこころみるため、ループの次のステップＳ３１５に進む。ステップＳ３１５では、さらに文字縮小率を下げるために、カウンタ（ループ変数）ｎを１増加する。
【００３７】
ステップＳ３１６は、Ｓ３１１で開始したループ処理の終端である。Ｓ３１１で設定された終了条件（Ｘｍｉｎ≧Ｙ）が成立していなければ、次のループを開始し、ステップＳ３１２に移る。終了条件（Ｘｍｉｎ≧Ｙ）が成立している場合は、これ以上は縮小できないのでループを下に抜け、以下のステップＳ３１７に移る。
【００３８】
ステップＳ３１７は、上述のＳ３１１〜Ｓ３１６のループ処理によって文字列を構成する全ての文字をそれぞれの縮小率下限まで縮小しても所定の記録領域に収まらない場合に、ループを抜けた後の処理のステップである。この場合には、文字の縮小によって記録可能領域の上下には余裕が生じているので、例えば後述の図６の６０８に示すように、縮小率の低い文字の範囲を選んで記録可能領域内で部分改行することとできる。本ステップの処理後は、ステップＳ３０３の文字列入力待ちに戻る。
【００３９】
なお、本例では触れないが、操作者が判読に不備がでることを承知のうえ、例えば縮小率下限を超えて各文字の縮小比率を保ちつつ、文字列全体ないし部分を一律にさらに縮小処理をつづけるといった動作も可能である。この場合、例えば「これ以上の縮小を実施すると判読できなくなる恐れがありますが、縮小をつづけますか？」として、メッセージを表示して操作者に確認を求めるものとしてもよい。
【００４０】
ステップＳ３１８は、上述のＳ３１１〜Ｓ３１６のループ処理の途中のＳ３１４において、入力文字列が縮小率下限を超えることなく、記録対象文字列が所定の記録可能領域におさまった場合に、ループを途中で抜けて遷移するステップである。記録対象文字列の各文字にそれぞれの縮小率が設定され確定し、記録対象文字列自体も確定する。
【００４１】
以上のステップにより縮小率を設定する情報処理装置は、判読性に関連した属性情報に基づいて記録対象文字列の縮小率を複数設定する設定手段を備えた情報処理装置ということができる。
【００４２】
ステップＳ３１９は、Ｓ３１８の文字列確定後、文字列入力コントロールのフォーカスの状態を判定するステップである。フォーカスが当たっている場合は、ステップＳ３０３へ移り、次の文字列入力を待つ。フォーカスが外れている場合は、ステップＳ３２０へ移り文字列入力処理を終了する。なお、文字列入力に際しては前記Ｓ３０４と同様に、文字列の文字の変更、追加、削除などを含むことができる。
【００４３】
ステップＳ３２０は、文字列入力終了を示すステップである。以降、記録アプリケーションは確定した記録対象文字列、記録可能領域、縮小率で記録媒体に記録することができる。
【００４４】
（漢字リストの例）
図４には、図３のフローのステップＳ３０７、Ｓ３０８に記載した、記録アプリケーションにおいて管理する漢字リストの例を（ａ）、（ｂ）の２例示す。図４において、４０１、４０３は入力された文字列の例である。また、図４において、４０２、４０４はそれぞれ、前記４０１、４０３の文字列から漢字を抽出したうえ、各漢字の画数を括弧内にリストとして列挙して管理する漢字リストの例である。この例ではそれぞれ９個の漢字が抽出されており、最大画数は（ａ）の４０２においては右から２番目の「番」の１２画であり、（ｂ）の４０４においては左から２番目の「驚」の２３画であることがわかる。
【００４５】
（画数と縮小率下限の対応表）
図５には、図３のフローのステップＳ３０９、Ｓ３１０に記載した、文字の画数と縮小率下限の対応表の具体例を（ａ）、（ｂ）、（ｃ）、（ｄ）で例示する。図５（ａ）の対応表５０１の例では、漢字に対する画数のレンジを例えば「１〜９」、「１０〜１５」、「１６〜２０」、「２１〜」の４つの範囲に区分して設ける。等倍フォントサイズを１００％として、それぞれのレンジに対して縮小率下限を「６０％」、「７０％」、「８０％」、「９０％」と設定する。また、最下行に「規定」として示すのは、漢字を含まない文字列に対しての縮小率下限であり、これをいずれの漢字のレンジに対する縮小率よりも低い「５５％」としている。
【００４６】
図５の画数と縮小率下限の対応表における、画数のレンジの区分数は４に限らず任意の数でよく、またそのレンジの幅も任意の幅とすることができるのは明らかである。画数の多い漢字ほど縮小率下限を大きくする必要があるが、縮小率下限は１００％が上限であるから、画数の多いレンジほど縮小率下限を大きく設定すれば良い。
【００４７】
図５（ｂ）には別の対応表５０２の例を示す。たとえば同じ文字に対して、同率の縮小をした場合でも、記録時に使用するプリンタードライバーの設定、例えば記録媒体（用紙）の種類に依存して記録結果の判読性が変わることは自明である。よって、現在設定されている記録設定に応じて、文字列の縮小率下限を変更することを可能とするのが望ましい。例えば、図５（ｂ）の対応表５０２のように用紙種類Ｘ、Ｙ、Ｚとしてそれぞれの縮小率下限を設定することが可能である。
【００４８】
図５（ｃ）にはさらに別の対応表５０３の例を示す。上記と同様の理由から、記録装置の機種にも依存して記録結果の判読性が変わることも自明である。図５（ｂ）の対応表５０２に機種Ａ、図５（ｃ）の対応表５０３に機種Ｂと示すように、記録装置の機種ごとに対応表を用意することも可能であり、機種に応じて画数のレンジを変更したり、規定の縮小率下限を変更したりすることも可能である。
【００４９】
図５（ｄ）は、漢字の画数ではなく、文字の種類によって縮小率下限を設定した対応表５０４の例である。漢字以外のひらがな、カタカナ、英数字、記号の場合は、画数が比較的少ないため、漢字は一律９０％を縮小率の下限とし、その他の文字はそれぞれ文字の種類によって縮小率の下限を設定している。この場合図３のステップＳ３０８は行わず、ステップＳ３０９で一律９０％を下限に設定する。またステップＳ３１０では文字の種類に応じた下限を設定する。
【００５０】
（実施形態１の文字列入力ユーザインターフェイスのイメージ）
図６には、前記実施形態１の図３のフロー図における記録対象文字列の入力を実施した場合の、ユーザインターフェイスの表示イメージを例示する。図６（ａ）には、例えば図３のフローのステップＳ３０１において、記録可能領域を設定する際に、情報処理装置１０１上にて動作する記録アプリケーションが情報処理装置１０１のディスプレイ２２６上に表示するウインドウ６００を示す。ウインドウ６００中には記録画像の全体のレイアウトが表示されている。ここでは、証明書などで使用されるカードサイズ５４．６（ｍｍ）ｘ８５．６（ｍｍ）  の全体レイアウトを表示している。上記全体レイアウト中の６０１で示される領域は、カードサイズ内に文字列を記録可能とする予約領域を示すものであり、本図では全部で５行分の領域が用意されている。
【００５１】
図６（ｂ）の６０２は、カードサイズの全体レイアウト中の５行分の予約領域６０１において、最初の１行分が、図３のＳ３０１で記載している所定の記録可能領域として選択されていることを示している。例えばこの記録可能領域６０２に、マウスカーソルをあててクリックすると編集可能（文字列入力可能）となるものである。
【００５２】
図６（ｃ）の６０３は、所定の記録可能領域に対して、記録対象文字列として住所を入力した場合のイメージ例となる。入力文字列は、図４（ａ）に例示した入力文字列４０１を示している。フォントサイズを１００％のままとした場合には、所定の記録可能領域からはみ出していることがわかる。このような状況をディスプレイのウインドウに表示しながら文字を入力可能とすることもできる。図６（ｃ）の６０４は、本発明により文字列を縮小することにより、所定の記録領域に収まっている例を示している。前述のように、図４（ａ）に例示した入力文字列４０１の中では「番」が画数１２で最も画数が多い漢字であるが、この「番」の画数１２に対応する縮小率の下限は、例えば図５（ａ）の対応表を参照すると７０％である。図６（ｃ）の６０４に示すように、この７０％の縮小率までの範囲で文字列を縮小することにより、最も画数が多い漢字も潰れることなく所定の記録領域に収めることができる。
【００５３】
同様に図６（ｄ）の６０５には、所定の記録可能領域に対して、別の記録対象文字列を入力した場合のイメージ例を示す。入力文字列は、図４（ｂ）に例示した入力文字列４０３の場合を示している。図６（ｄ）の６０５の場合も図６（ｃ）の例と同様に、フォントサイズを１００％のままとした場合には所定の記録可能領域からはみ出している。
【００５４】
前述のように、図４（ｂ）に例示した入力文字列４０３の中では文字列中「驚」が画数２３で最も画数が多い漢字であるが、この「驚」の画数２３に対応する縮小率の下限は、図５（ａ）の対応表を参照すると９０％である。この場合には、図６（ｄ）の６０６に示すように、９０％で縮小しても所定の記録領域からはみ出してしまう。この場合には６０７に示すように、「驚」の縮小率は下限の９０％としたまま、他の文字の縮小率を更に下げてゆく。図４（ｂ）の入力文字列４０３の中で次に画数が多い漢字は「番」の画数１２であり、その縮小率下限は図５より７０％となる。図６（ｄ）の６０７のように、「驚」以外を７０％で縮小し、それでも記録可能領域からはみ出してしまう場合は、「驚」は９０％、「番」は７０％の縮小率としたまま、さらに他の文字の縮小率を下げて行く。
【００５５】
このように記録対象文字列に対して文字毎に複数の縮小率が設定されることとなるが、最終的に全ての文字を最小の縮小率まで縮小しても収まらない場合も考えられる。この場合は、図３のフローのステップＳ３１７に従って、図６（ｄ）の６０８に示すように、所定の記録可能領域内で部分改行により文字列を所定の記録領域に収めることができる。
【００５６】
（実施形態１のまとめ）
以上述べたように本発明の実施形態１では、情報処理装置に取得手段と設定手段を備える。ここで、取得手段は、記録対象文字列を縮小して記録媒体に記録する際の判読性に関連した属性情報を取得する取得手段である。また、設定手段は、取得手段が取得した判読性に関連した属性情報に基づいて記録対象文字列の縮小率を複数設定する設定手段である。このように情報処理装置を構成することによって、事前に不適切なフォントサイズとなることを防止することが可能となる。
【００５７】
文字の判読性に関連した属性情報としては、漢字の画数を例に説明したが、漢字か否かも属性情報のひとつであり、さらには漢字か否かに限定することなく字種や、字種を限らず一般的な文字の画数とすることができる。更には画数に限らず文字の外観や形状の複雑度、例えば文字の線の太さや幅、線密度、あるいは書体やフォントなどの属性に関する情報としてもよい。あるいは直接的に各文字毎に個別に、最適な縮小率の範囲（下限）を予め求めておき使用しても良い。このようにして不適切な縮小を未然に防止することで、常に見やすい記録結果を提供することが可能となる。
【００５８】
（実施形態２）
実施形態１においては、入力された記録対象文字列全体に、文字列を構成する各文字の判読性に関連した属性情報すなわち画数に基づいて求めた複数の縮小率が設定されていた。しかし、漢字の画数は字によってかなりばらつきがあるため、実施形態１の場合、縮小された文字単位で大きさが凸凹してしまい見栄えが悪くなる可能性があった。これに対して、例えば漢字やひらがな、英数字など記録対象文字列を構成する各文字の種別、字種はある程度まとまって存在しており、それに応じて画数のレンジ、適用可能な縮小率の下限も異なる。本実施形態２では、記録対象文字列を、文字列の部分であるブロック、文字群に分割し、この文字列ブロックごとに縮小率を決める。このようにすれば記録対象文字列全体として、より縮小率を下げることが可能となり、かつ全体にバランスの取れた記録を行うことができる。
【００５９】
以下に述べる本発明の実施形態２においては、記録対象文字列を文字列ブロックに分割し、文字列ブロックごとの縮小率を、少なくとも文字列ブロックを構成する各文字の判読性に関連した属性情報に基づいて決める。このようにすることによって、事前に不適切なフォントサイズとなることを防止することが可能となる。
【００６０】
図８には、本発明の情報処理装置の実施形態２として、記録システムのＰＣにおいて、記録アプリケーション上で、文字列入力を実施する際の別のフローの例を示す。図３の実施形態１と同様に、以下では情報処理装置の１０１のＯＳ上にて記録アプリケーションが起動済みであり、起動したアプリケーションで記録文書のレイアウト画面においてユーザが文字列入力を実施する際のフローを想定している。以下に図８のフローの各ステップを順に説明する。
【００６１】
まず、ステップＳ８０１では、実施形態１図３のステップＳ３０１と同様に、情報処理装置１０１のディスプレイ２２６上には、起動した記録アプリケーションが、記録対象の文書のレイアウトに応じて、所定の記録可能領域を操作者であるユーザに示している。後述する図１１には、記録アプリケーションで示される記録可能領域の具体例を示している。操作者であるユーザは、対象となる記録可能領域を設定、選択する。
【００６２】
つぎのステップＳ８０２では、操作者が選択した記録可能領域に対して記録対象文字列の入力を開始する。ここでは、記録アプリケーションの文字列入力コントロールに対し、操作者が例えばキーボードやマウスの操作によりフォーカスを当てたことを指すものとする。
【００６３】
ステップＳ８０３では、記録アプリケーションは、文字列入力のコントロールを介して操作者からの文字入力を待機している。文字列入力手段は、情報処理装置に接続されたキーボードやマウスなどの入力装置からなる一般的な入力手段である。
【００６４】
ステップＳ８０４では、記録アプリケーションは、文字列入力を受けて、文字列に変更があったか否かを判定する。ここでの文字列入力とは、図３の実施形態１と同様な文字列を構成する文字の変更、追加、削除のほか、文字列ブロックの区切り位置の変更、文字列ブロックの追加、削除などを含む。この文字列ブロックとは、操作者が入力した記録対象文字列に任意の区切りを設定して部分的な文字列（ブロック）として規定するものである。あるいは、記録アプリケーションが文字の字種や語句を構成するかなど、任意の規則、アルゴリズムで入力文字列を自動的に区切ってもよい。この場合、初期設定の文字列ブロックとして操作者に対して提示し、操作者がこれを修正することも可能である。
【００６５】
この場合、記録アプリケーションは例えばデータベースとして熟語辞典を内包のうえ、入力された文字列に応じて、データベースを参照しながら、熟語単位で文字列ブロックを設定していくこともできる。文字列に変更があった場合は、次のステップＳ８０５に移り、変更がなければ後述のステップＳ８１５へ移行して記録対象文字列および文字列ブロックが確定する。
【００６６】
ステップＳ８０５では、上記ステップＳ８０４において文字列に変更があった場合に、所定のフォントサイズによって文字列を記録領域に記録したとき、文字列終端が前記所定の記録領域からはみだすか否かを判定する。はみ出す場合は、右列の次のステップＳ８０６に移り、はみ出さなければ後述のステップＳ８１５へ移行して記録対象文字列が確定する。
【００６７】
ステップＳ８０６では、上記Ｓ８０５で、文字列終端が記録領域からはみ出すと判定された場合に、記録対象文字列を記録可能領域に合わせて自動的に縮小する処理に移る。実施形態２の実施形態１との相違点は、実施形態２では前述の文字列ブロックの単位で文字の縮小率を決定してゆく点にある。このため、実施形態２のステップＳ８０６ではまず、文字列中に存在するｍ個の文字列ブロックの中で最小の縮小率Ｘｍｉｎを１００％に初期化する。これは、つぎのステップＳ８０７の処理Ａにおいて、最小の縮小率Ｘｍｉｎを求めるための初期化処理である。
【００６８】
ステップＳ８０７の処理Ａは、実施形態１の図３のＳ３０６〜Ｓ３０９に対応するステップであり、詳細は図９に後述する。概略、文字列中に存在するｍ個の文字列ブロックを順に精査し、文字列ブロック中の漢字の有無と最大画数に基づいて夫々の文字列ブロックの縮小率下限をＸｐ（ｐ  は１〜ｍ）として決定する。また、ｍ個の文字列ブロックの中で最小となる縮小率を、最小の縮小率Ｘｍｉｎとして決定する。
【００６９】
ステップＳ８０８は、文字列が所定の記録領域に納まるまで順次、縮小率を１％ずつ下げて反復する、ループ処理（Ｓ８０８〜Ｓ８１３）の開始点となるステップである。実施形態１の図３のＳ３１１に対応する。例えばループ変数をｎ、縮小率をＹとして、ｎ＝０、Ｙ＝１００％から開始してＹを１％ずつ下げていき、以下のステップＳ８０９〜Ｓ８１３を反復する。ループの終了条件は、文字列が所定の記録領域に納まった場合（Ｓ８１１でＮＯとなりＳ８１５へ）、または、縮小率Ｙが最小の縮小率Ｘｍｉｎ以下になった場合（終了条件Ｘｍｉｎ≧Ｙが成立してＳ８１４へ）のいずれかである。ステップＳ８０９は、ループ中において文字列縮小率Ｙを設定するステップである。文字列縮小率Ｙを１００−ｎ（％）として設定する。ｎは０以上の整数である。
【００７０】
ステップＳ８１０の処理Ｂは、実施形態１の図３のＳ３１３に対応するステップである。処理Ｂは別のループを含み、詳細は図１０に後述する。概略、文字列中に存在するｍ個の文字列ブロックの夫々について、縮小率下限を精査し、ｍ個のブロックの各々の縮小率下限Ｘｐと縮小率Ｙを比較する。その結果、縮小可能な文字列ブロックを縮小率Ｙで縮小する。
【００７１】
ステップＳ８１１は、現在の文字列縮小率Ｙで縮小された文字列の記録サイズにおいて、文字列終端が所定の記録可能領域からはみ出すかどうかを判定する。所定の記録領域に収まった場合（ＮＯ）は、ループを途中で抜けて記録対象文字列を確定させるためのステップＳ８１５に進む。記録対象文字列が所定の記録可能領域からはみ出している場合（ＹＥＳ）は、さらに文字列縮小率を下げて、縮小記録をこころみるため、次のステップＳ８１２に進む。ステップＳ８１２では、さらに文字列縮小率を下げるために、カウンタ（ループ変数）ｎを１増加する。
【００７２】
ステップＳ８１３は、Ｓ８０８で開始したループ処理の終端である。Ｓ８０８で設定した終了条件（Ｘｍｉｎ≧Ｙ）が成立していなければ、次のループを開始し、ステップＳ８０９に移る。終了条件（Ｘｍｉｎ≧Ｙ）が成立している場合は、これ以上は縮小できないのでループを下に抜け、以下のステップＳ８１４に移る。
【００７３】
ステップＳ８１４は、上述のＳ８０８〜Ｓ８１３のループ処理によって文字列を縮小率下限Ｘｍｉｎまで縮小しても所定の記録可能領域に収まらない場合に、ループを抜けた後の処理のステップである。この場合に、実施形態１の図３、ステップＳ３１７と同様に部分改行したり、メッセージを表示して更に縮小することができる。
【００７４】
なお、本図では触れないが、ユーザが設定した文字列ブロックを変更することによって、文字列をさらに縮小する可能性がある場合は、操作者に対して、その文字列ブロックの区切りを提示することも可能である。この場合、記録アプリケーションはデータベースとして熟語辞典を内包のうえ、入力された文字列に応じて、データベースを参照しながら、熟語単位で文字列ブロックを設定していくものである。また、これも本図では触れないが実施形態１と同様に、操作者が判読に不備がでることを承知のうえ、さらに縮小処理をつづけるといった運用も可能であることは自明である。
【００７５】
ステップＳ８１５は、上述のＳ８０８〜Ｓ８１３のループ処理の途中のＳ８１１においてＮＯの場合、ループを途中で抜けて遷移してくるステップである。入力文字列が、縮小率下限を超えることなく、記録対象文字列が所定の記録可能領域におさまった場合である。文字列の縮小率が文字列ブロックごとに複数確定し、記録対象文字列も確定する。
【００７６】
ステップＳ８１６は、Ｓ８１５の文字列確定後、文字列入力コントロールのフォーカスの状態を判定するステップである。フォーカスが当たっている場合は、ステップＳ８０３へ移り、次の文字列入力を待つ。フォーカスが外れている場合は、ステップＳ８１７へ移り文字列入力処理を終了する。なお、ここでの文字列入力とは、前記Ｓ３０４と同様な文字列の変更、追加、削除のほか、文字列ブロックの区切り位置の変更、文字列ブロック数の追加、削除などを含む。
【００７７】
ステップＳ８１７は、文字列入力終了を示すステップである。以降、記録アプリケーションは確定した記録対象文字列、記録可能領域、縮小率で記録を実行することができる。
【００７８】
（処理Ａのフロー）
図９には、前記図８のステップＳ８０７で示した、実施形態２の処理Ａのフローを詳細に示す。実施形態２の処理Ａは、概略全体としてステップＳ９０１で開始しＳ９１０で終端するループ処理であって、記録対象文字列中に存在する複数ｍ個の文字列ブロックのそれぞれについて、ループ変数ｐ＝１〜ｍとして反復処理を行う。
【００７９】
反復される各処理は、文字列ブロックのそれぞれについて、実施形態１の図３のＳ３０６〜Ｓ３０９に対応するステップを行う。すなわち、各文字列ブロックを精査し、漢字を抽出し、その画数の最大値に基づいて夫々の文字列ブロックについての縮小率下限Ｘｐ（ｐは１〜ｍ）を決定する。加えてまた、ｍ個の文字列ブロックの中で最小となる縮小率を、最小の縮小率Ｘｍｉｎとして決定する。以下に各ステップを順に説明する。
【００８０】
ステップＳ９０１では、ループ処理の開始点として各変数を初期化する。すなわち、文字列中の何番目の文字列ブロックであるかを示すカウンタ（ループ変数）ｐを初期値１として設定し、文字列中の文字列ブロック数の総数をｍとして設定する。ループの終了条件はカウンタｐがブロック数の総数ｍより大きくなった場合、すなわち全部の文字列ブロックについてループ処理が終了した場合である。
【００８１】
ステップＳ９０２では、まず、ｐ番目の文字列ブロックに対して漢字の有無を判別する。文字列ブロック内に漢字がある場合（ＹＥＳ）は、次のステップＳ９０３に移り、なければ（ＮＯ）後述のステップＳ９０６へ移行して、次のステップＳ９０３〜Ｓ９０５をバイパスする。ステップＳ９０３では、文字列ブロック内に漢字がある場合の処理として、ｐ番目の文字列ブロック中から漢字を抽出する。漢字か否かは、文字の一般的な文字コードの値が属する範囲を参照することにより判別可能であり、文字列ブロック中の漢字のリストを抽出することができる。
【００８２】
ステップＳ９０４では、Ｓ９０３で抽出された漢字のリスト中の各漢字について、漢字の画数を求め、文字列ブロック中での画数の最大値を決定する。漢字の画数は、実施形態１のＳ３０８と同様に漢字データベース（漢字の文字コードと画数の対応表）からそれぞれの漢字に応じた画数を検索し、決定できる。各漢字の画数を漢字のリストと組み合わせて管理してもよい。ステップＳ９０５では、実施形態１のＳ３０９と同様に、図５のような画数と縮小率の対応表を参照して、最大画数に応じた、ｐ番目の文字列ブロックに対する縮小率下限Ｘｐを設定する。
【００８３】
ステップＳ９０６は、前記ステップＳ９０２において、文字列ブロック中に漢字を含まないと判定された場合のステップである。漢字が含まれない文字列ブロックの場合は、縮小率下限Ｘとして任意の規定値を設定可能である。例えば図５の対応表において、漢字の最低の画数レンジ（範囲）に対応する縮小率よりも低い縮小率を「規定」としてｐ番目の文字列ブロックに対する縮小率下限Ｘｐを設定する。
【００８４】
ステップＳ９０７は、複数の文字列ブロックの中で最小となる縮小率下限である最小の縮小率Ｘｍｉｎを決定するためのステップである。上記ステップＳ９０２〜Ｓ９０６で決定された、現在のループにおけるｐ番目の文字列ブロックに対する縮小率下限Ｘｐ  の値が、現在までの最小の縮小率Ｘｍｉｎよりも小さいかを比較する。結果がＹＥＳすなわちＸｍｉｎ＞Ｘｐであれば、次のステップＳ９０８へ移りＸｍｉｎをＸｐで更新し、ＮＯであれば次のステップＳ９０８はスキップする。
【００８５】
ステップＳ９０８では、前記Ｓ９０７でＸｐ  の値が現在までの最小の縮小率Ｘｍｉｎよりも小さいと判断された場合に、新たな最小値の候補が見つかったとしてＸｍｉｎをＸｐで更新する。ステップＳ９０９では、次の文字列ブロックをループ処理するため、カウンタｐを１増加する。
【００８６】
ステップＳ９１０は、Ｓ９０１で始まったループ処理の終端であり、Ｓ９０１で設定した終了条件が成立していなければ、Ｓ９０２へ移り次の文字列ブロックを対象とした次のループ処理が開始される。Ｓ９０１で終了条件が成立していれば、全ての文字列ブロックについてループ処理が完了して、縮小率下限Ｘｐ（ｐは１〜ｍ）および複数の文字列ブロックの中で最小の縮小率Ｘｍｉｎが求められて、ループを抜け処理Ａは終了する。
【００８７】
（処理Ｂのフロー）
次の図１０には、前記図８のＳ８１０で示した、実施形態２の処理Ｂのフローの詳細を示す。実施形態２の処理Ｂは、前記図８のＳ８０８〜Ｓ８１３にわたる縮小率Ｙを変えてゆくループ処理の中の１ステップを構成する、二重のループの内側のループ処理である。現在の縮小率Ｙで縮小可能な文字列ブロックを、全て縮小するループ処理となっている。
【００８８】
ステップＳ１００１ではまず、処理Ｂのループ処理の開始点として各変数を初期化する。すなわち、記録対象文字列中の何番目の文字列ブロックであるかを示すカウンタ（ループ変数）ｐを初期値１として設定し、記録対象文字列中の文字列ブロックの総数をｍとして設定する。ループの終了条件はカウンタｐが文字列ブロック数の総数ｍより大きくなった場合、すなわち全部の文字列ブロックについてループ処理が終了した場合である。
【００８９】
ステップＳ１００２では、現在の縮小率Ｙと、各文字列ブロックの縮小率下限Ｘｐを比較する。ＹがＸｐ以上のとき、すなわち結果がＹＥＳであればｐ番目の文字列ブロックを縮小可能であると判断して次のステップＳ１００３へ移り、ｐ番目の文字列ブロックを縮小する。結果がＮＯであれば、その文字列ブロックについてはそれ以上の縮小処理はできないものと判断し、次のステップＳ１００３はスキップする。ステップＳ１００３では、前記Ｓ１００２において文字列ブロックが縮小可能であると判断された場合に、ｐ番目の文字列ブロックを縮小率Ｙで縮小する。ステップＳ１００４では、次の文字列ブロックをループ処理するため、カウンタｐを１増加する。
【００９０】
ステップＳ１００５は、Ｓ１００１で始まった処理Ｂのループ処理の終端である。Ｓ１００１で規定した終了条件ｐ＞ｍが成立していなければ、Ｓ１００２へ移り次の文字列ブロックを対象とした次のループ処理が開始される。Ｓ１００１で設定した終了条件ｐ＞ｍが成立していれば、全ての文字列ブロックについてループ処理が完了して、縮小率Ｙで縮小可能な全ての文字列ブロックが縮小されて、ループを抜け処理Ｂは終了する。このようにして、文字列ブロックの縮小率は、文字の最大画数の多い文字を含む文字列ブロックから順に、縮小率の大きい値で決まることとなる。
【００９１】
（実施形態２の文字列入力ユーザインターフェイスのイメージ）
図１１には、前記実施形態２の図８のフロー図における記録対象文字列入力と文字列ブロックの設定を実施した場合の、ユーザインターフェイスのイメージを例示する。図１１（ａ）には、例えば図８のフローのステップＳ８０１において、記録可能領域を設定する際に、情報処理装置１０１上にて動作する記録アプリケーションがディスプレイ２２６上に表示するウインドウ１１０１を示す。ウインドウ１１０１中には、記録画像の全体のレイアウトが表示されている。ここでは、証明書などで使用されるカードサイズ５４．６（ｍｍ）  ｘ  ８５．６（ｍｍ）  の全体レイアウトを表示している。上記全体レイアウト中の１１０２で示される部分は、カードサイズ内に文字列を入力可能とする予約領域を示すものであり、本図では５行分の領域が用意されている。
【００９２】
図１１（ｂ）の１１０３は、カードサイズの全体レイアウト中の５行分の予約領域Ｓ１１０２において、最初の１行分が、図８のＳ８０１で記載している所定の記録可能領域として選択されていることを示している。例えばこの記録可能領域１１０３に、マウスカーソルをあててクリックすると編集可能（文字列入力可能）となるものである。
【００９３】
図１１（ｃ）の１１０４は、実際に記録対象文字列を入力した際のイメージとなる。編集対象の１行に実施形態１の図４（ｂ）の文字列４０３と同じく、文字列「三驚市中央町Ｘ丁目Ｘ番地」と入力されている。図１１（ｃ）の１１０５は、上記入力された文字列を文字列ブロックに分割する文字区切りを表す分割線である。この分割線１１０５は、操作者がマウスにより左右にドラッグするなどして分割位置を変更可能である。ここでは、文字列ブロックが総数ｍ＝２の状態であり、「三驚市中央町」が１番目の文字列ブロック、「Ｘ丁目Ｘ番地」が２番目の文字列ブロックを示している。
【００９４】
また図１１（ｃ）の文字列１１０４左上の枠内には、前述の図９処理Ａによって求められた、文字列ブロックごとの縮小率下限が表示されている。画数の多い「驚」の漢字を含む１番目の文字列ブロックの縮小率下限Ｘ１は９０％と高く、画数の少ない漢字を含む２番目の文字列ブロックの縮小率下限Ｘ２は７０％と低いことがわかる。図１１（ｃ）の右端の１１０６は、文字列ブロックを分割する分割線を追加するボタンである。クリックすると、前記１１０５で示すように文字列ブロックを分割する分割線がカーソル位置の文字間に新たに追加される。同様に図１１（ｃ）の右端の１１０７は、文字列ブロックを分割する分割線を削除するボタンである。前記１１０５上のカーソルで示すように、文字間に追加されている分割線を選択したうえ、本ボタンを押下すると、選択されている分割線が削除されるものである。
【００９５】
図１１（ｄ）の１１０８は、上記図１１（ｃ）の１１０４と同様に、実際に記録対象文字列を入力した際の別のイメージとなる。編集対象文字列は上記図１１（ｃ）の１１０４と同じ「三驚市中央町Ｘ丁目Ｘ番地」であるが、ここでは文字列ブロックが総数ｍ＝３の状態である。したがって、「三驚市中央町」が１番目のブロック、「Ｘ丁目」が２番目のブロック、「Ｘ番地」が３番目のブロックを示している。図１１（ｄ）の１１０９、１１１０は、図１１（ｃ）の１１０５と同様な文字列ブロックを分割する分割線である。分割線１１０９、１１１０を操作者がマウスにより左右にドラッグするなどして、分割位置を変更可能である。図１１（ｄ）の文字列１１０８左上の枠内にも、前述の図９処理Ａによって求められた、文字列ブロックごとの縮小率下限が表示されている。この場合、１番目のブロックの縮小率下限Ｘ１は９０％、２番目のブロックの縮小率下限Ｘ２は６０％、３番目のブロックの縮小率下限Ｘ３は７０％である。
【００９６】
細かく文字列を分割して画数の少ない文字と多い文字とを分けてブロック化することにより、より縮小率の低い文字列ブロックの割合を増やし、縮小率の高い文字列ブロックの割合を下げることができる。その結果、全体としての縮小率を下げ、文字間のバランスも向上することができる。究極的には１文字ごとの文字列ブロックとして、縮小率の範囲は文字毎に決めることとすることも可能である。図１１（ｄ）の右端のボタン１１１１、１１１２は、図１１（ｃ）の１１０６、１１０７と同様な分割線を追加、削除するボタンである。
【００９７】
（文字列の分割位置の変更）
図１２には、前記実施形態２の図８のフローで文字列入力をした際に、１００％のフォントサイズでは文字列が所定の記録領域からはみ出す場合に、文字列の分割位置を変更する例を示す。図１２（ａ）の１２０１は、矩形で示す所定の記録領域に対して文字列「三驚市中央町Ｘ丁目Ｘ番地」が１００％のフォントサイズで入力されている状態であり、文字列の後端がはみ出してしまう。ここで、前記実施形態２の図８のフローに従って、文字列を３つのブロックに分割して縮小率を設定した例が、図１２（ｂ）の１２０２である。図１１（ｄ）の例に対応して、３つの文字列ブロックの１番目が「三驚市中央町」、２番目が「Ｘ丁目」、３番目が「Ｘ番地」である。それぞれの文字列ブロックの最大画数の漢字「驚」、「目」、「番」に応じた縮小率下限が「９０％」、「６０％」、「７０％」に設定されており、これに応じてそれぞれのブロックが縮小されたものである。
【００９８】
このままでも文字列が縮小されて、所定の記録領域に収まっているが、ここでさらに、文字列の分割位置の変更を行った例が、図１２（ｃ）の１２０３である。図１２（ｃ）の１２０３では、文字列の分割位置が変更されて、３つの文字列ブロックの１番目が「三驚市」、２番目が「中央町Ｘ丁目」、３番目が「Ｘ番地」となる。それぞれの最大画数の漢字「驚」、「町」、「番」に応じた縮小率下限の「９０％」、「６０％」、「７０％」に変化はない。しかし、縮小率が高い１番目のブロックが短くなり、縮小率が低い２番目のブロックが長くなっているので、文字列全体としての縮小率を更に減少することができる。
【００９９】
このように操作者が選択的に文字列の分割位置を変更することによって、縮小率を更に減少することができる。記録アプリケーションの動作として、自動的に字種や画数を判断し、あるいは辞書などを参照して語句単位で、操作者に対して予めこのような文字列分割の選択肢を提示する、あるいは分割を自動的に実施することも可能である。
【０１００】
（漢字リストの管理情報）
図１３は、前図１２で文字列の分割位置を変更した場合の、漢字と対応する画数を列挙した漢字リストの管理情報の例を示す図である。使用される情報を、以下に説明する表のように関連付けて管理することが好適である。
【０１０１】
図１３（ａ）の１３０１は、図１２（ａ）の１２０１に対応する入力された記録対象文字列の一例である。この状態においては、入力された文字列はブロック分割されておらず、画数、縮小率などの情報も付与されていない。
【０１０２】
図１３（ｂ）の表１３０２は、図１２（ｂ）の１２０２に対応する漢字リストの表である。この表１３０２では、入力された文字列が「三驚市中央町」、「Ｘ丁目」、「Ｘ番地」の、３個の文字列ブロックに分割されている。分割された文字列ブロックに対応して何番目の文字列ブロックであるかを示す「Ｎｏ．」、「各ブロックの文字列」、「抽出した漢字（画数）」、「文字列ブロックごとの最大画数」が付与されている。さらに、「文字列ブロックごとの縮小率下限Ｘｐ」、「文字列全体の最小の縮小率Ｘｍｉｎ」などの情報も付与され、表として示されている。
【０１０３】
図１３（ｃ）の表１３０３は、図１２（ｃ）の１２０３に対応する漢字リストの表である。この表１３０３は、図１３（ｂ）の１２０２と同項目の表であるが、入力された文字列の分割位置が変更されて、「三驚市」、「中央町Ｘ丁目」、「Ｘ番地」の、３個の文字列ブロックに分割されている。これに応じて、縮小率下限が９０％と高いＮｏ．１の文字列ブロックが３文字に減り、縮小率下限が６０％と低いＮｏ．２の文字列ブロックが６文字に増えている。このため、文字列全体の最小の縮小率Ｘｍｉｎ」は６０％で不変であるが、文字列全体をより縮小することができる。
【０１０４】
（実施形態２のまとめ）
以上述べたように本発明の実施形態２では、記録対象文字列を文字群に分割し、その文字群ごとに縮小率を、文字の判読性に関連した属性情報に基づいて設定する。これによって、文字列全体のバランスを保ちつつ事前に不適切なフォントサイズとなることを防止することが可能となる。
【０１０５】
実施形態１と同様に、文字の判読性に関連した属性情報としては、漢字の画数に限定されるものではなく、漢字であるか否かに限定することもなく、字種を限らず一般的な文字の画数とすることができる。更には画数に限らず文字の外観や形状の複雑度、例えば文字の線の太さや幅、あるいは書体やフォントなどの属性に関する情報としてもよい。あるいは直接的に各文字毎に個別に、最適な縮小率の範囲（下限）を予め求めておき使用しても良い。
【０１０６】
また、文字列ブロック（文字群）としては、少なくともその一部を最小の文字列長さである１文字のブロックとすることもできるのは明らかである。更に究極の文字列の分割として、全てを1文字単位の文字列ブロックとして文字毎に縮小率を決めれば実施形態１と同じことになる。この場合には文字列を分割する区切りを指定する必要は無くなり、文字の画数の最大値を決める必要も無くなり、文字列全体としても最小の縮小率を達成可能であるが、前述のように縮小結果が凸凹となる可能性がある。
【０１０７】
このような方法によっても不適切な縮小を未然に防止することができ、判読性の担保された常に見やすい記録結果を提供することが可能となる。
【符号の説明】
【０１０８】
１０１：情報処理装置（ホストＰＣ）
１０２：記録装置（プリンタ）
１０４：記録媒体
２０１：ＣＰＵ（プリンタ側）
２０５：記録ヘッド制御部
２２０：ＣＰＵ（ホストＰＣ側）（縮小手段）
２２２：メインメモリ（ＲＡＭ）
２２３：通信Ｉ／Ｆ（送信手段）
２２５：ＶＲＡＭ（格納手段）
２２６：ディスプレイ
【図１】
2018206196.tif 000003
【図２】
2018206196.tif 000004
【図３】
2018206196.tif 000005
【図４】
2018206196.tif 000006
【図５】
2018206196.tif 000007
【図６】
2018206196.tif 000008
【図７】
2018206196.tif 000009
【図８】
2018206196.tif 000010
【図９】
2018206196.tif 000011
【図１０】
2018206196.tif 000012
【図１１】
2018206196.tif 000013
【図１２】
2018206196.tif 000014
【図１３】
2018206196.tif 000015