(57)【要約】【課題】印刷消耗品（インクやトナーなど）の使用量低減のための文書変換において文書の可読性の低下を抑制する。【解決手段】左右方向の一側から所定数の文字が共通し、上下方向に隣接する複数の文字列を抽出し、抽出した複数の文字列において左右方向の一側から連続して共通する文字の少なくとも一部を印刷消耗品（インクやトナーなど）の使用量を減少させる表示に変換する処理（例えば間引き処理：Ｓ２４）をコンピュータに実行させる。【選択図】図３
2014085827.tif 000002
【特許請求の範囲】
【請求項１】
第１軸方向に配列された文字列が前記第１軸方向に直交する第２軸方向に沿って複数配列された文書を変換する処理をコンピュータに実行させる文書変換プログラムであって、
前記第１軸方向の一側から所定数の文字が共通し、前記第２軸方向に隣接する複数の文字列を抽出し、
前記抽出した複数の文字列において前記第１軸方向の一側から連続して共通する文字の少なくとも一部を印刷消耗品の使用量を減少させる表示に変換する、処理を前記コンピュータに実行させることを特徴とする文書変換プログラム。
【請求項２】
前記変換する処理が実行された後、前記抽出した複数の文字列から前記第１軸方向の一側から連続して共通する文字を除外した部分に対して、前記抽出する処理と、前記変換する処理と、を前記コンピュータに実行させることを特徴とする請求項１に記載の文書変換プログラム。
【請求項３】
前記文書において前記第２軸方向に並ぶ文字の数量の前記第１軸方向の位置に応じた変化量が予め定めた変化量を超えた位置を特定し、当該特定された第１軸方向の位置において前記文書を区切る、処理を前記コンピュータに更に実行させ、
前記区切られた文書ごとに、前記抽出する処理と前記変換する処理が実行されることを特徴とする請求項１又は２に記載の文書変換プログラム。
【請求項４】
前記変換する処理では、前記印刷消耗品の使用量を減少させる表示として、文字サイズを縮小化した文字列、濃淡を変更した文字列、文字を省略することを示す記号又は文字列、のいずれかを用いることを特徴とする請求項１〜３のいずれか一項に記載の文書変換プログラム。
【請求項５】
第１軸方向に配列された文字列が前記第１軸方向に直交する第２軸方向に沿って複数配列された文書を変換する文書変換装置であって、
前記第１軸方向の一側から所定数の文字が共通し、前記第２軸方向に隣接する複数の文字列を抽出する抽出部と、
前記抽出した複数の文字列において前記第１軸方向の一側から連続して共通する文字の少なくとも一部を印刷消耗品の使用量を減少させる表示に変換する変換部と、を備える文書変換装置。
【請求項６】
第１軸方向に配列された文字列が前記第１軸方向に直交する第２軸方向に沿って複数配列された文書を変換する文書変換方法であって、
前記第１軸方向の一側から所定数の文字が共通し、前記第２軸方向に隣接する複数の文字列を抽出する工程と、
前記抽出した複数の文字列において前記第１軸方向の一側から連続して共通する文字の少なくとも一部を印刷消耗品の使用量を減少させる表示に変換する工程と、をコンピュータが実行することを特徴とする文書変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、文書変換プログラム、文書変換装置及び文書変換方法に関する。
【背景技術】
【０００２】
従来、印刷データに含まれる連続する行の同じ桁に同じ文字が存在する場合に、特定の文字列や記号、表記に変換する技術が知られている（例えば、特許文献１、２参照）。このような技術は、プリンタの消耗品（インクやトナーなど）の消費量削減や、印刷後の文書全体をすっきりさせ、見やすくするためなどに用いられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１７３７３２号公報
【特許文献２】特開平９−１３４３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来においては、インクやトナーの使用量を減少させることはできるものの、印刷した文書の可読性が低下するおそれがあった。
【０００５】
１つの側面では、本発明は、印刷消耗品の使用量低減のための文書変換において文書の可読性の低下を抑制することが可能な文書変換プログラム、文書変換装置及び文書変換方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本明細書に記載の文書変換プログラムは、第１軸方向に配列された文字列が前記第１軸方向に直交する第２軸方向に沿って複数配列された文書を変換する処理をコンピュータに実行させる文書変換プログラムであって、前記第１軸方向の一側から所定数の文字が共通し、前記第２軸方向に隣接する複数の文字列を抽出し、前記抽出した複数の文字列において前記第１軸方向の一側から連続して共通する文字の少なくとも一部を印刷消耗品の使用量を減少させる表示に変換する、処理を前記コンピュータに実行させる文書変換プログラムである。
【０００７】
本明細書に記載の文書変換装置は、第１軸方向に配列された文字列が前記第１軸方向に直交する第２軸方向に沿って複数配列された文書を変換する文書変換装置であって、前記第１軸方向の一側から所定数の文字が共通し、前記第２軸方向に隣接する複数の文字列を抽出する抽出部と、前記抽出した複数の文字列において前記第１軸方向の一側から連続して共通する文字の少なくとも一部を印刷消耗品の使用量を減少させる表示に変換する変換部と、を備えている。
【０００８】
本明細書に記載の文書変換方法は、第１軸方向に配列された文字列が前記第１軸方向に直交する第２軸方向に沿って複数配列された文書を変換する文書変換方法であって、前記第１軸方向の一側から所定数の文字が共通し、前記第２軸方向に隣接する複数の文字列を抽出する工程と、前記抽出した複数の文字列において前記第１軸方向の一側から連続して共通する文字の少なくとも一部を印刷消耗品の使用量を減少させる表示に変換する工程と、をコンピュータが実行する文書変換方法である。
【発明の効果】
【０００９】
本実施例に記載の文書変換プログラム、文書変換装置及び文書変換方法は、印刷消耗品の使用量低減のための文書変換において文書の可読性の低下を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係るＰＣのハードウェア構成を概略的に示す図である。
【図２】図１のＰＣの機能ブロック図である。
【図３】ＰＣによる印刷に関する処理（文書変換処理を含む）を示すフローチャートである。
【図４】間引き印刷対象の印刷データを示す図である。
【図５】印刷データ解析情報を示す図である。
【図６】図６（ａ）は、加工対象の列が第一列である場合の引数を示す図であり、図６（ｂ）は、加工対象の列が第二列である場合の引数を示す図である。
【図７】図３のステップＳ１６の具体的処理を示すフローチャートである。
【図８】図７のステップＳ４４において生成されるグラフを示す図である。
【図９】図３のステップＳ２４の具体的処理を示すフローチャート（その１）である。
【図１０】図３のステップＳ２４の具体的処理を示すフローチャート（その２）である。
【図１１】図１０のステップＳ８１の具体的処理を示すフローチャートである。
【図１２】図１２（ａ）〜図１２（ｅ）は、解析用行配列を示す図である。
【図１３】図１３（ａ）〜図１３（ｇ）は、図９の処理が実行された場合の蓄積用行配列の遷移の一例を説明するための図である。
【図１４】図１４（ａ）〜図１４（ｄ）は、加工対象の列が第二列の場合に図１０のステップＳ８１に移行する蓄積用行配列を示す図であり、図１４（ｅ）〜図１４（ｉ）は、加工対象の列が第三列の場合に図１０のステップＳ８１に移行する蓄積用行配列を示す図である。
【図１５】図１５（ａ）〜図１５（ｄ）は、加工対象の列が第四列の場合に図１０のステップＳ８１に移行する蓄積用行配列を示す図であり、図１５（ｅ）〜図１５（ｈ）は、加工対象の列が第五列の場合に図１０のステップＳ８１に移行する蓄積用行配列を示す図である。
【図１６】図１６（ａ）〜図１６（ｉ）は、図１１の処理を説明するための図（その１）である。
【図１７】図１７（ａ）〜図１７（ｊ）は、図１１の処理を説明するための図（その２）である。
【図１８】図１８（ａ）〜図１８（ｈ）は、図１１の処理を説明するための図（その３）である。
【図１９】図１９（ａ）〜図１９（ｇ）は、図１１の処理を説明するための図（その４）である。
【図２０】図２０（ａ）〜図２０（ｉ）は、図１１の処理を説明するための図（その５）である。
【図２１】図４の印刷データに対し、図３、図９〜図１１の処理を実行した結果を示す図である。
【図２２】図２１に対応する比較例である。
【図２３】本実施形態の処理結果における着目点Ａ〜Ｆを示す図である。
【図２４】比較例の処理結果における着目点Ａ’〜Ｆ’を示す図である。
【図２５】図２５（ａ）、図２５（ｂ）は、間引き処理の変形例を示す図である。
【発明を実施するための形態】
【００１１】
以下、文書変換装置の一実施形態について、図１〜図２４に基づいて詳細に説明する。
【００１２】
図１には、文書変換装置としてのＰＣ（Personal Computer）１０のハードウェア構成が示されている。本実施形態のＰＣ１０は、文書作成などの作業に用いられる情報処理装置である。ＰＣ１０は、ユーザからの印刷指示を受け付けて、印刷対象の印刷データ（例えば文書ファイルなど）をプリンタ２０に対して出力する。また、ＰＣ１０は、ユーザからの印刷指示が「間引き印刷」の指示であった場合には、印刷データの一部を間引き処理して（文字列を印刷消耗品（インクやトナーなど）の消費量を減少させる表示に変換して）、プリンタ２０に対して出力する。
【００１３】
図１に示すように、ＰＣ１０は、ＣＰＵ（Central Processing Unit）９０、ＲＯＭ（Read Only Memory）９２、ＲＡＭ（Random Access Memory）９４、記憶部（ここではＨＤＤ（Hard Disk Drive））９６、インタフェース部９７及び可搬型記憶媒体用ドライブ９９等を備えており、ＰＣ１０の構成各部は、バス９８に接続されている。インタフェース部９７には、表示部９３及び入力部９５が接続されている。表示部９３は、液晶ディスプレイ等を含み、入力部９５は、キーボードやマウスを含む。ＰＣ１０では、ＲＯＭ９２あるいはＨＤＤ９６に格納されているプログラム（文書変換プログラム）、或いは可搬型記憶媒体用ドライブ９９が可搬型記憶媒体９１から読み取ったプログラム（文書変換プログラム）をＣＰＵ９０が実行することにより、図２の各部の機能が実現される。
【００１４】
なお、ＰＣ２０のインタフェース部９７には、表示部９３及び入力部９５のほか、プリンタ２０が接続されている。なお、ＰＣ２０とプリンタ２０との間は、プリンタケーブルや、ＵＳＢ（Universal Serial Bus）ケーブル、ＬＡＮ（Local Area Network）ケーブル等を介して接続されているものとする。ただし、これに限らず、ＰＣ２０とプリンタ２０とが無線ＬＡＮにて接続されていてもよい。プリンタ２０としては、インクジェットプリンタやレーザプリンタなどのプリンタを採用することができるが、本実施形態では、便宜上、プリンタ２０がインクジェットプリンタであるものとし、印刷消耗品がインクであるものとして説明する。
【００１５】
図２には、ＰＣ１０の機能ブロック図が示されている。ＰＣ１０はＣＰＵ９０がプログラムを実行することで、印刷データ読込部３０、印刷データ解析部３２、抽出部及び変換部としての印刷データ加工部３４、加工済印刷データ出力部３６としての機能を実現する。なお、図２では、ＨＤＤ９６等に格納されている現頁印刷データ記憶部４０、印刷データ解析情報記憶部４２、加工済印刷データ記憶部４４も図示されている。
【００１６】
印刷データ読込部３０は、ユーザからの印刷指示（間引き印刷指示）があった場合に、印刷データを頁単位で読み込み、現頁印刷データ記憶部４０に格納する。なお、本実施形態では、印刷データは、ＰＣ１０において作成されている（表示部９３上に表示されている）文書ファイルのうち、ユーザが入力部９５を介して指定した範囲のデータであるものとする。現頁印刷データ記憶部４０は、印刷データ読込部３０が読み込んだ１頁分の印刷データを記憶する。
【００１７】
印刷データ解析部３２は、現頁印刷データ記憶部４０に記憶されている印刷データを解析して、解析データ（印刷データ解析情報）を印刷データ解析情報記憶部４２に格納する。より具体的には、印刷データ解析部３２は、印刷する頁の印刷データを複数列に分割し、各列の情報（各列の開始桁と文字数）を纏めた印刷データ解析情報（図５参照）を印刷データ解析情報記憶部４２に格納する。印刷データ解析情報記憶部４２は、印刷データ解析部３２で解析されたデータ（印刷データ解析情報）を記憶する。
【００１８】
印刷データ加工部３４は、印刷データ解析情報記憶部４２に記憶されている印刷データ解析情報に基づいて、現頁印刷データ記憶部４０に記憶されている印刷データを加工する。また、印刷データ加工部３４は、加工後の印刷データを加工済印刷データ記憶部４４に格納する。本実施形態では、印刷データ加工部３４は、印刷データのうち省略可能な部分を記号「〃」（文字を省略することを示す記号）に変換する加工（間引き処理）を実行する。加工済印刷データ記憶部４４は、印刷データ加工部３４において加工された（間引き処理された）印刷データを記憶する。
【００１９】
加工済印刷データ出力部３６は、加工済印刷データ記憶部４４に記憶されている加工後の印刷データをプリンタ２０に対して出力する。プリンタ２０においては、加工後の印刷データを印刷（プリントアウト）する。
【００２０】
なお、ユーザからの印刷指示が通常の印刷指示（間引き印刷でない印刷指示）であった場合には、印刷データ読込部３０は、プリンタ２０に対して、印刷データを直接出力する。
【００２１】
次に、本実施形態におけるＰＣ１０の具体的な処理について、図３〜図２４に基づいて詳細に説明する。なお、以下の説明においては、ユーザが、図４に示す印刷データを間引き印刷する場合について説明する。図４のデータは、文書作成ソフトを用いて作成された表形式のデータであり、第１軸方向としての行方向（左右方向）に配列された文字列が、第２軸方向としての列方向（上下方向）に沿って複数配列された文書データである。なお、図４の記号「｜」は、列境界を表す空白又はタブデータであるため、実際には視認できない。また、図４の矩形枠の外側の数字は、行番号及び列番号を示している。
【００２２】
図３には、ＰＣ１０の印刷に関する処理（文書変換処理を含む）がフローチャートにて示されている。図３の処理では、まず、ステップＳ１０において、印刷データ読込部３０が、印刷指示（間引き印刷指示）を受け付けるまで待機する。
【００２３】
ユーザによって図４の印刷データの間引き印刷指示が出されると、ステップＳ１２に移行し、印刷データ読込部３０は、全頁完了したか否かを判断する。ここでの判断が否定されると、ステップＳ１４に移行し、印刷データ読込部３０が、頁単位で印刷データを読み込み、現頁印刷データ記憶部４０に格納する。本実施形態では、印刷データ読込部３０が、図４の印刷データを読み込み、当該印刷データが現頁印刷データ記憶部４０に格納される。
【００２４】
次いで、ステップＳ１６では、印刷データ解析部３２が、現頁印刷データ記憶部４０に格納されている印刷データを読み込んで解析し、解析結果を印刷データ解析情報記憶部４２に格納する。ここでは、印刷データ解析部３２は、図４の印刷データを解析して、記号「｜」で仕切られている複数の列の情報（図５の印刷データ解析情報）を生成し、印刷データ解析情報記憶部４２に格納する。なお、ステップＳ１６の処理の詳細については、後述する。
【００２５】
次いで、ステップＳ１８では、印刷データ加工部３４が、全列の間引き加工処理が完了したか否かを判断する。ここでの判断が否定された場合には、ステップＳ２０に移行する。
【００２６】
次いで、ステップＳ２０では、印刷データ加工部３４が、印刷データ解析情報記憶部４２から加工対象の列情報を読み込む。例えば、加工対象の列が左端の列であれば、印刷データ加工部３４は、当該列の情報として、図５の第一列情報（開始桁１、文字数３）を読み込む。また、加工対象の列が第二列であれば、印刷データ加工部３４は、図５の第二列情報（開始桁５、文字数６）を読み込む。
【００２７】
次いで、ステップＳ２２では、印刷データ加工部３４が、加工対象列情報から引数を作成する。この場合、加工対象の列が、第一列である場合には、図６（ａ）に示すように、引数として開始行：１、行数：２０、開始桁：１、文字数：３が作成される。なお、加工対象の列が第二列である場合には、図６（ｂ）に示すように、引数として開始行：１、行数：２０、開始桁：５、文字数：６が作成される。その他、加工対象の列が第三列〜第五列である場合にも、同様にして引数が作成される。
【００２８】
次いで、ステップＳ２４では、印刷データ加工部３４が、加工対象列のデータを間引き加工し、加工後の印刷データを加工済印刷データ記憶部４４に格納する。なお、ステップＳ２４の処理の詳細については、後述する。
【００２９】
次いで、ステップＳ２６では、印刷データ加工部３４が、加工対象列を次列に更新し、ステップＳ１８に戻る。その後は、ステップＳ１８〜Ｓ２６の処理を繰り返し、ステップＳ１８の判断が肯定された段階（全列（第五列まで）の間引き処理が完了した段階）で、ステップＳ２８に移行する。
【００３０】
ステップＳ２８に移行すると、加工済印刷データ出力部３６は、１頁分の印刷データ（間引き処理後の印刷データ（図２１参照））を加工済印刷データ記憶部４４から読み込み、プリンタ２０へ出力する。これにより、プリンタ２０では、間引き加工された印刷データ（図２１）がプリントアウトされることになる。
【００３１】
次いで、ステップＳ３０では、印刷データ読込部３０が頁を更新し、ステップＳ１２に戻る。その後は、ステップＳ１２〜Ｓ３０の処理を繰り返し、ステップＳ１２の判断が肯定された段階（すなわち、全頁の間引き加工及び印刷処理が終了した段階）で、図３の全処理を終了する。
【００３２】
（ステップＳ１６の具体的処理について）
次に、図７に基づいて、ステップＳ１６の具体的処理について詳細に説明する。図７には、ステップＳ１６（印刷データ（図４）を解析し、印刷データ解析情報（図５）を作成する処理）の具体的処理がフローチャートにて示されている。
【００３３】
図７の処理では、まず、ステップＳ４０において、印刷データ解析部３２が、印刷データ解析情報記憶部４２の格納域を作成する。次いで、ステップＳ４２では、印刷データ解析部３２が、現頁印刷データ記憶部４０から印刷データを１頁分（図４の印刷データとする）だけ読み込み、印刷データ解析情報記憶部４２の格納域に格納する。
【００３４】
次いで、ステップＳ４４では、印刷データ解析部３２が、各桁（連続する行に対して垂直な方向）における文字占有率を解析する。具体的には、印刷データ解析部３２は、図４の印刷データの３３桁それぞれが有する文字数の、行数（２０行）に対する割合を算出し、図８に示すようなグラフにプロットする。
【００３５】
次いで、ステップＳ４６では、印刷データ解析部３２が、文字占有率が急上昇した部分を、列の区切りと判定し、各列の開始桁と文字数から印刷データ解析情報（図５）を生成して、印刷データ解析情報記憶部４２に記憶する。例えば、印刷データ解析部３２は、図８のグラフから、文字数占有率が７５％以上急激に上昇した部分（図８において太線で示す部分）を抽出し、急激に上昇した桁（太線の終点が位置する桁）を列の開始桁とする。なお、印刷データの１桁目は、第一列の開始桁とする。また、印刷データ解析部３２は、図８のグラフの太線の始点と右隣りの太線の始点との間のプロット数（記号「×」の数）を各列に含まれる文字数とする。
【００３６】
以上の処理を行うことで、印刷データ１頁分の印刷データ解析情報が生成され、印刷データ解析情報記憶部４２に格納されることになる。
【００３７】
なお、上記においては、各桁における文字占有率に基づいて列を区切る場合について説明したが、これに限らず、各桁における文字数の増減量に基づいて列を区切ることとしてもよい。
【００３８】
（ステップＳ２４の具体的処理について）
次に、図３のステップＳ２４（間引き加工処理）について、図９〜図１１のフローチャートに沿って、その他図面を適宜参照しつつ、詳細に説明する。
【００３９】
図９、図１０には、ステップＳ２４の具体的処理がフローチャートにて示されており、図１１には、図１０のステップＳ８０の具体的処理が示されている。なお、ステップＳ２４が開始される前提として、印刷データ解析部３２は、既に、加工対象の列情報に基づいて加工対象の列の引数を作成しているものとする（ステップＳ２２）。
【００４０】
図９、図１０の処理では、まず、図９のステップＳ５０において、印刷データ加工部３４が、ステップＳ２２で作成された引数を取得する。加工対象の列情報が第一列であれば、印刷データ加工部３４は、引数として、開始行１、行数：２０、開始桁：１、文字数：３を取得する。また、加工対象の列が第二列であれば、印刷データ加工部３４は、引数として開始行：１、行数：２０、開始桁：５、文字数：６を取得する（その他の列の開始桁と文字数については、図５参照）。
【００４１】
次いで、ステップＳ５２では、印刷データ加工部３４が、文字列を格納する解析用行配列を作成する。次いで、ステップＳ５４では、印刷データ加工部３４が、解析用行配列に各行の文字列を格納する。例えば、加工対象の列が第一列である場合には、解析用行配列は、図１２（ａ）のようになる。また、加工対象の列が第二列〜第五列のいずれかである場合には、解析用行配列は、図１２（ｂ）〜図１２（ｅ）のようになる。
【００４２】
次いで、ステップＳ５６では、印刷データ加工部３４が、解析行番号と加工行番号を「０」、終了行番号を「行配列数」（ここでは２０）に設定する。次いで、ステップＳ５８では、印刷データ加工部３４が、加工行番号が終了行番号よりも小さいか否かを判断する。ここでの判断が肯定されると、ステップＳ６０に移行し、印刷データ加工部３４は、蓄積用行配列を作成する。
【００４３】
次いで、ステップＳ６２では、印刷データ加工部３４が、蓄積行数番号を「０」、フラグを「０」に設定する。
【００４４】
次いで、ステップＳ６４では、印刷データ加工部３４が、解析行番号が終了行番号よりも小さいか否かを判断する。ここでの判断が肯定された場合には、ステップＳ６６に移行する。
【００４５】
次いで、ステップＳ６６では、印刷データ加工部３４が、解析用行配列[解析行番号]のデータを取得し、蓄積用配列[蓄積行数番号]に格納する。例えば、解析対象の列が第二列であったとする。この場合、図１３（ａ）に示すように、蓄積用行配列[０]に図１２（ｂ）の解析用行配列[０]（「コード」）が格納される。
【００４６】
次いで、ステップＳ６８では、印刷データ加工部３４が、蓄積行数番号と、解析行番号に１を加算する（蓄積行数番号＝１、解析行番号＝１）。次いで、ステップＳ７０では、印刷データ加工部３４が、蓄積行数番号が２以上であるか否かを判断する。ここでの判断が否定されると、ステップＳ６４に戻る。
【００４７】
ステップＳ６４に戻り、ステップＳ６４の判断が肯定され、ステップＳ６６に移行すると、印刷データ加工部３４が、解析用行配列[解析行番号]のデータを取得し、蓄積用配列[蓄積行数番号]に格納する。上記例では、図１３（ｂ）に示すように、蓄積用行配列[１]に図１２（ｂ）の解析用行配列[１]が格納される。次いで、ステップＳ６８では、印刷データ加工部３４が、蓄積行数番号と解析行番号に１を加算（蓄積行数番号＝解析行番号＝２）する。そして、次のステップＳ７０では、印刷データ加工部３４が、蓄積行数番号が２以上であるか否かを判断する。ここでの判断が肯定されるとステップＳ７２に移行する。なお、ステップＳ７２に移行する場合とは、蓄積用行配列に２つ以上の行配列が蓄積されている場合である。
【００４８】
ステップＳ７２に移行すると、印刷データ加工部３４は、蓄積用配列[蓄積行数番号−２]と蓄積用配列[蓄積行数番号−１]の先頭２桁を比較する。次いで、ステップＳ７４では、印刷データ加工部３４が、先頭２桁が一致しているか否かを判断する。ここでの判断が否定された場合（図１３（ｂ）の場合、否定される）、ステップＳ７７に移行する。ステップＳ７７では、印刷データ加工部３４が、解析行番号から１を減算し（解析行番号＝１）、ステップＳ７８では、印刷データ加工部３４は、フラグが１であるか否かを判断する。なお、この段階ではフラグが０であるので、判断は否定され、ステップＳ７９において、加工行番号を解析行番号に設定（加工行番号＝１）した後、ステップＳ５８に戻る。
【００４９】
ステップＳ５８に戻ると、上記処理を繰り返す。この場合、最初のステップＳ６６（蓄積行数番号＝０、解析行番号＝１）において、蓄積用配列が図１３（ｃ）に示すようになる。そして、次のステップＳ６６（蓄積行数番号＝１、解析行番号＝２）において、蓄積用配列が図１３（ｄ）のようになる。この場合、蓄積用配列[０]と蓄積用配列[１]の先頭２桁は一致していないので、ステップＳ７４の判断は否定されることになる。この場合、加工行番号＝解析行番号＝２（ステップＳ７７、Ｓ７９）の状態で、ステップＳ５８に戻る。
【００５０】
ステップＳ５８に戻ると、再度上記処理を繰り返す。すなわち、ステップＳ６２では、印刷データ加工部３４は、蓄積行数番号を０、フラグを０に設定する。また、ステップＳ６６では、図１３（ｅ）に示すように、蓄積用行配列[０]に図１２の解析用行配列[２]を格納する。次いで、ステップＳ６８では、印刷データ加工部３４が、蓄積行数番号と解析行番号に１を加算する（蓄積行数番号＝１、解析行番号＝３）。そして、次のステップＳ７０では、印刷データ加工部３４が、蓄積行数番号が２以上であるか否かを判断する。ここでの判断が否定されると、ステップＳ６４に戻る。その後は、印刷データ加工部３４は、解析用行配列[３]のデータを取得し、図１３（ｆ）に示すように、蓄積用配列[１]に格納し（ステップＳ６６）、蓄積行数番号と解析行番号に１を加算する（蓄積行数番号＝２、解析行番号＝４）。この場合、蓄積行数番号が２以上であるため、ステップＳ７０の判断が肯定され、ステップＳ７２に移行する。ステップＳ７２では、印刷データ加工部３４は、蓄積用配列[蓄積行数番号−２]と蓄積用配列[蓄積行数番号−１]の先頭２桁（蓄積用配列[０]と蓄積用配列[１]）を比較する。次いで、ステップＳ７４では、印刷データ加工部３４が、先頭２桁が一致しているか否かを判断する。ここでの判断が肯定された場合（図１３（ｆ）の場合は肯定される）、ステップＳ７６に移行する。ステップＳ７６では、印刷データ加工部３４が、フラグを１に設定する。
【００５１】
ステップＳ６４に戻り、ステップＳ６４の判断が肯定されると、ステップＳ６６では、図１３（ｇ）に示すように、蓄積用行配列[２]に図１２（ｂ）の解析用行配列[４]を格納する。次いで、ステップＳ６８では、印刷データ加工部３４が、蓄積行数番号と解析行番号に１を加算する（蓄積行数番号＝３、解析行番号＝５）。そして、次のステップＳ７０では、印刷データ加工部３４が、蓄積行数番号が２以上であるか否かを判断する。ここでの判断が肯定され、ステップＳ７２に移行すると、印刷データ加工部３４は、蓄積用配列[蓄積行数番号−２]と蓄積用配列[蓄積行数番号−１]の先頭２桁（蓄積用配列[１]と蓄積用配列[２]）を比較する。次いで、ステップＳ７４では、印刷データ加工部３４が、先頭２桁が一致しているか否かを判断する。ここでの判断が否定された場合（図１３（ｇ）の場合は否定される）、ステップＳ７７に移行し、解析行番号から１を減算する（解析行番号＝４）。そして、次のステップＳ７８では、印刷データ加工部３４が、フラグが１か否かを判断する。ここでの判断が肯定されると、ステップＳ８０に移行し、印刷データ加工部３４は、蓄積用行配列を先頭２桁が一致する行配列のみとする。例えば、図１３（ｇ）の蓄積用行配列の場合には、行配列[２]を削除し、図１３（ｆ）の状態にする。その後は、図１０のステップＳ８１（蓄積用行配列加工処理）に移行する。
【００５２】
以上のようにステップＳ５８〜Ｓ８０の処理を実行することで、印刷データの同一列で前方から２桁が共通する、上下方向に隣接する複数の行を抽出して蓄積用行配列に蓄積することができる。そして、これら蓄積用行配列を図１０のステップＳ８１の処理に移行させることができる。
【００５３】
なお、加工対象の列が第二列の場合には、図１３（ｆ）の蓄積用配列のほか、図１４（ａ）〜図１４（ｄ）に示すような蓄積用行配列が、図１０のステップＳ８１に移行する。また、加工対象の列が第三列の場合には、図１４（ｅ）〜図１４（ｉ）のような蓄積用行配列が、ステップＳ８１に移行する。また、加工対象の列が第四列の場合には、図１５（ａ）〜図１５（ｄ）のような蓄積用行配列がステップＳ８１に移行し、加工対象の列が第五列の場合には、図１５（ｅ）〜図１５（ｈ）のような蓄積用行配列がステップＳ８１に移行する。
【００５４】
図１０のステップＳ８１にすると、印刷データ加工部３４は、蓄積用行配列加工処理を実行する。具体的には、印刷データ加工部３４は、図１１のフローチャートに沿った処理を実行する。
【００５５】
図１１の処理では、まず、ステップＳ１００において、印刷データ加工部３４が、蓄積用行配列に格納された全文字列の中から最小文字数を算出する。蓄積用行配列が図１３（ｆ）や図１４（ａ）〜図１４（ｄ）であれば、最小文字数は６である。また、例えば、蓄積用行配列が図１５（ｅ）であれば、最小文字数は３である。
【００５６】
次いで、ステップＳ１０２では、印刷データ加工部３４が、蓄積用行配列の前方比較（検索文字長：最小文字数）を行い、最大一致文字数を算出する。例えば図１３（ｆ）であれば、蓄積用行配列に含まれる３つの文字列の先頭から４文字「００１１」が一致しているので最大一致文字数は４となる。また、図１４（ｅ）であれば、蓄積用行配列に含まれる３つの文字列の先頭から３文字「横浜市」が一致しているので最大一致文字数は３となる。また、図１５（ｅ）であれば、蓄積用行配列に含まれる８つの文字列の先頭から３文字「富士通」が一致しているので最大一致文字数は３となる。
【００５７】
次いで、ステップＳ１０４では、印刷データ加工部３４が、蓄積用行配列のデータが全て空白であるか否かを判断する。ここでの判断が肯定される場合とは、図１６（ａ）に示すような蓄積用行配列の場合（例えば第一列の１９,２０行目が蓄積用行配列に蓄積された場合）である。このステップＳ１０４の判断が肯定された場合には、印刷データ加工部３４は、ステップＳ１０６において間引き補正をしないこととし、図１１の全処理を終了して、図１０のステップＳ８２に移行する。一方、ステップＳ１０４の判断が否定された場合（蓄積用行配列に文字が存在している場合）には、ステップＳ１０８に移行する。
【００５８】
ステップＳ１０８に移行すると、印刷データ加工部３４は、２行目を間引き対象とする。なお、本実施形態では、蓄積用行配列の先頭の行（先頭２桁が一致する複数行の先頭に位置する行）の間引き処理は行わないこととしている。このように、先頭の行を間引き処理しないことで、印刷後に読みにくくなるのを抑制することができる。
【００５９】
次いで、ステップＳ１１０では、印刷データ加工部３４が、間引き対象の行の前（上）の行のデータ長（文字数）と最大一致文字数とが同一であるか否かを判断する。ここでの判断が肯定された場合、ステップＳ１１２に移行し、印刷データ加工部３４が、間引き対象の行が前（上）の行より長いか否かを判断する。ここでの判断が否定された場合、すなわち、間引き対象の前（上）の行が最大一致文字数と一致し、間引き対象の行が前（上）の行より長くない（間引き対象の行が最大一致文字数と一致する）場合には、ステップＳ１１４において、印刷データ加工部３４が、間引き処理を実行する。具体的には、図１５（ｈ）の蓄積用行配列のように、行配列[０]も行配列[１]も「富士通」であるような場合には、図１６（ｂ）に示すように、印刷データ加工部３４は、間引き対象の行（行配列[１]）を間引き処理する。この場合、印刷データ加工部３４は、前（上）の行と一致する部分を「〃」に変換する。なお、ステップＳ１１４の後は、印刷データ加工部３４は、ステップＳ１３８に移行する。一方、ステップＳ１１２の判断が肯定された場合、すなわち、間引き対象の前（上）の行が最大一致文字数と一致し、間引き対象の行が前（上）の行より長い場合には、ステップＳ１２８に移行する。この場合、印刷データ加工部３４は、ステップＳ１２８において間引き処理を実行せずに、ステップＳ１３８に移行する。なお、ステップＳ１１２の判断が肯定される場合とは、図１５（ｅ）の行配列[１]が間引き対象の行となっている場合などを意味する。すなわち、図１５（ｅ）の場合には、印刷データ加工部３４は、図１６（ｃ）に示すように、「富士通」部分を間引きしないようになっている。
【００６０】
ステップＳ１１０の判断が否定された場合、すなわち、前（上）の行の文字数が最大一致文字数よりも大きい場合には、ステップＳ１１６に移行する。ステップＳ１１６に移行すると、印刷データ加工部３４は、間引き対象の行の文字数と最大一致文字数とが同一であるか否かを判断する。ここでの判断が肯定された場合、すなわち、間引き対象の行の文字数が最大一致文字数と一致し、前（上）の行の文字数が最大一致文字数よりも多い場合（図１５（ｅ）の行配列[３]が間引き対象の行になっているような場合）には、ステップＳ１２８に移行する。この場合、印刷データ加工部３４は、図１６（ｄ）に示すように、間引き処理を行わずに、ステップＳ１３８に移行する。
【００６１】
一方、ステップＳ１１６の判断が否定された場合、すなわち、間引き対象の行も前（上）の行も最大一致文字数よりも文字数が多い場合には、ステップＳ１２２に移行する。なお、ステップＳ１１０〜Ｓ１１６では、上下隣接する行配列それぞれの長さに応じて、一致している文字の中から間引きする文字を決定しているといえる。
【００６２】
ステップＳ１２２に移行すると、印刷データ加工部３４が、一致文字の次が空白であるか否かを判断する。ここでの判断が肯定された場合には、ステップＳ１２４に移行し、その空白文字の上（前（上）の行の同一位置の文字）が空白文字であるか否かを判断する。ここでの判断が肯定された場合、すなわち、図１４（ｉ）の行配列[１]が間引き対象の行であるような場合には、ステップＳ１２６に移行する。この場合、印刷データ加工部３４は、図１６（ｅ）に示すように、間引き処理を実行し、ステップＳ１３８に移行する。これに対し、ステップＳ１２４の判断が否定された場合、すなわち、図１５（ｃ）の行配列[２]が間引き対象の行であるような場合には、ステップＳ１２８に移行する。この場合、印刷データ加工部３４は、図１６（ｆ）に示すように間引き処理を行わずに、ステップＳ１３８に移行する。
【００６３】
一方、ステップＳ１２２の判断が否定された場合には、ステップＳ１３０に移行し、印刷データ加工部３４が、一致文字に空白文字が含まれているか否かを判断する。ここでの判断が肯定された場合には、ステップＳ１３２に移行する。そして、ステップＳ１３２では、印刷データ加工部３４が、一致文字のうち空白文字の後ろの文字長が１字か否かを判断する。ここでの判断が肯定された場合、すなわち、図１５（ｂ）の行配列[１]が間引き対象の行であるような場合には、ステップＳ１３６に移行する。この場合、印刷データ加工部３４は、図１６（ｇ）に示すように、空白文字よりも前の部分を間引き処理する。これに対し、ステップＳ１３２の判断が否定された場合、すなわち、図１５（ｄ）の行配列[１]が間引き対象の行であるような場合には、ステップＳ１３４に移行する。この場合、印刷データ加工部３４は、図１６（ｈ）に示すように、一致文字の全てを間引き処理する。なお、この場合には、空白文字の前と後のそれぞれを「〃」に変換するものとする。その後は、ステップＳ１３８に移行する。
【００６４】
ステップＳ１３０の判断が否定された場合、すなわち、間引き対象の行の文字数と前（上）の行の文字数が最大一致文字数より多く、一致文字の次の文字が空白でなく、一致文字が空白を含んでいない場合には、ステップＳ１３７に移行する。ステップＳ１３７に移行する場合とは、図１５（ａ）の行配列[１]が間引き対象の行であるような場合である。このような場合には、図１６（ｉ）に示すように、間引き対象の行の一致文字を間引き処理する。その後は、ステップＳ１３８に移行する。
【００６５】
ステップＳ１３８に移行すると、印刷データ加工部３４は、蓄積用行配列の全行の処理が終了したか否かを判断する。ここでの判断が否定された場合には、ステップＳ１４０に移行し、印刷データ加工部３４は、次の行を間引き対象とする。その後は、ステップＳ１１０に戻る。
【００６６】
ステップＳ１１０に戻った後は、ステップＳ１３８の判断が肯定されるまで、すなわち、蓄積用行配列の全行の処理が終了するまで、ステップＳ１１０〜Ｓ１４０の処理・判断を繰り返す。そして、ステップＳ１３８の判断が肯定された段階で、図１０のステップＳ８２に移行する。
【００６７】
なお、例えば、図１３（ｆ）の蓄積用行配列に対して図１１の処理を実行すると、図１７（ａ）のように間引き処理される。同様に、図１４（ａ）〜図１４（ｉ）の蓄積用行配列に対して図１１の処理を実行すると、図１７（ｂ）〜図１７（ｊ）のように間引き処理される。同様に、図１５（ａ）〜図１５（ｈ）の蓄積用行配列に対して図１１の処理を実行すると、図１８（ａ）〜図１７（ｈ）のように間引き処理される。
【００６８】
図１０に戻り、ステップＳ８２に移行すると、印刷データ加工部３４は、現在の蓄積用行配列の蓄積行数番号が２以上であるか否かを判断する。本実施形態では、蓄積用行配列が図１７（ｂ）、（ｄ）、（ｆ）、（ｇ）、（ｉ）、図１８（ａ）、（ｃ）、（ｅ）、（ｇ）である場合にステップＳ８２が肯定される。
【００６９】
以下、蓄積用行配列が図１７（ｂ）である場合を例に採り説明する。
【００７０】
ステップＳ８４に移行すると、印刷データ加工部３４は、新たに引数を作成する。図１７（ｂ）の蓄積用行配列の場合、図１９（ａ）に示すように、前回の蓄積用行配列加工処理で一致文字とされた部分（「〃」以降の文字列）に着目して引数を作成する。図１９（ａ）では、引数として、開始行：５、行数：６、開始桁：７、文字数：４が作成される。
【００７１】
次いで、ステップＳ８６では、印刷データ加工部３４が、蓄積用行配列の連続する行配列のうち先頭２桁が一致する行を抽出し、新たな蓄積用行配列に格納する。この場合、新たな蓄積用行配列は複数作成されることもあるものとする。図１７（ａ）の蓄積用行配列の場合、新たな蓄積用行配列として、図１９（ｂ）〜図１９（ｄ）に示す３つの蓄積用行配列が作成される。
【００７２】
次いで、ステップＳ８８では、新たな蓄積用行配列それぞれに対して、蓄積用行配列加工処理（ステップＳ８１と同様）を実行する。これにより、図１９（ｅ）〜図１９（ｇ）に示すような間引き処理が実行されることになる。なお、ステップＳ８４〜Ｓ８８の処理は、蓄積用行配列のうち前方から連続して共通する文字列を除外した部分に対して、前述した図９の処理（ステップＳ５０〜Ｓ８０の処理）と図１０のステップＳ８１の処理とを実行しているとも言える。
【００７３】
次いで、ステップＳ９０に移行すると、新たな蓄積用行配列の蓄積行数番号が２以上であるか否かを判断する。図１９（ｂ）〜図１９（ｄ）の場合、新たな蓄積用行配列の蓄積行数番号が２未満であるので判断は否定され、ステップＳ９４に移行する。なお、ステップＳ９０の判断が肯定された場合には、ステップＳ８４に戻り、ステップＳ８４〜Ｓ９０の処理・判断を繰り返す。
【００７４】
ここで、図１７（ｂ）、（ｄ）、（ｆ）、（ｇ）、（ｉ）、図１８（ａ）、（ｃ）、（ｅ）、（ｇ）の蓄積用行配列に対してステップＳ８４〜Ｓ９０の処理を実行した結果が、図２０（ａ）〜図２０（ｉ）に示されている。なお、図１７（ｄ）のように、新たな引数で指定される部分の先頭２桁が隣接する行配列において一致しない場合には、図２０（ｂ）のように間引き処理は実行されないものとする。
【００７５】
ステップＳ９０の判断が否定され、ステップＳ９４に移行すると、印刷データ加工部３４は、加工されたデータを加工済印刷データ記憶部４４に送信する。そして、ステップＳ９６では、印刷データ加工部３４が、加工行番号と解析行番号とを一致させ、図９のステップＳ５８に戻る。
【００７６】
その後は、ステップＳ５８以降の処理が繰り返され、ステップＳ５８の判断が否定された段階（加工行番号＝終了行番号となった段階）で、図３のステップＳ２６に移行する。図３のステップＳ２６以降の処理は、前述した通りであり、印刷頁の各列に対する間引き処理が完了した段階（ステップＳ１８：肯定）で、加工済印刷データ出力部３６は、１頁分の印刷データをプリンタ２０に送信する（ステップＳ２８）ようになっている。
【００７７】
なお、図４の印刷データに対し、図３、図９〜図１１の処理を実行した結果が、図２１に示されている。また、図２２には、比較例として、上下隣接する２行において共通する文字が存在する場合に、下の行の共通する文字を省略する方法を採用した場合の処理結果が示されている。また、図２３には、本実施形態の処理結果（図２１）における着目点Ａ〜Ｆが示され、図２４には、比較例（図２２）の処理結果における着目点Ａ’〜Ｆ’が示されている。
【００７８】
以下、図２３、図２４の各着目点に基づいて、本実施形態の処理結果を比較例の処理結果と比較しつつ説明する。
【００７９】
（着目点Ａ，Ａ’について）
比較例の着目点Ａ’では、文字が斑状に間引きされるため文字列を正確に判別しにくく、誤読するおそれがある（特に、上から３つ目や７つ目）。これに対し、本実施形態の着目点Ａでは、前方一致する部分のみが間引き処理されるため、読みやすく、誤読の可能性が低減されている。
【００８０】
（着目点Ｂ，Ｂ’について）
比較例の着目点Ｂ’では、斑状に間引きされているため、「川崎市中原区」と認識するために着目点Ｂ’の３つ上の「横浜市鶴見区」を確認する必要があり、読みにくい。これに対し、本実施形態の着目点Ｂでは、「川崎市中原区」が斑状に間引き処理されないので、読みにくさが低減されている。
【００８１】
（着目点Ｃ，Ｃ’について）
比較例の着目点Ｃ’では、「横浜市港北区」が「〃北〃」と間引き処理されているため、読みにくい。これに対し、本実施形態の着目点Ｃでは、「〃港北区」と間引き処理されているので、読みやすくなっている。
【００８２】
（着目点Ｄ，Ｄ’について）
比較例の着目点Ｄ’では、間引き文字の後ろの空白文字のため、「富士通九川崎」と誤読するおそれがある。これに対し、本実施形態の着目点Ｄでは、「富士通  川崎」が間引き処理されないので、誤読のおそれがない。
【００８３】
（着目点Ｅ，Ｅ’について）
比較例の着目点Ｅ’では、「三浦郡」の「三浦」の部分に「〃」がないため、読みにくいが、本実施形態の着目点Ｅでは、「三浦」の部分に「〃」があるため読みやすくなっている。
【００８４】
（着目点Ｆ，Ｆ’について）
比較例の着目点Ｆ’では、「富士通」なのか「富士通北陸」なのかが判別できず、誤読する可能性がある。これに対し、本実施形態の着目点Ｆでは、「富士通」を間引き処理しないので誤読のおそれがない。
【００８５】
以上、詳細に説明したように、本実施形態によると、印刷データ加工部３４が、前方から所定数の文字（２文字）が共通する隣接する複数の行（文字列）を抽出し（Ｓ５０〜Ｓ８０）、抽出した複数の行において前方から連続して共通する文字の少なくとも一部を印刷消耗品（インク）の使用量を減少させる表示（例えば、記号「〃」）に変換する（間引き処理する（Ｓ８１））こととしている。これにより、間引き後の文字列が斑状にならないため、読みやすくなり、誤読の発生を抑制することができる。
【００８６】
また、本実施形態では、上述した間引き処理を実行することにより文字部分が減る（白の連続データが増加する）ため、高圧縮化によりプリンタ２０への送信データ量を削減することができる。これにより、ＰＣ１０とプリンタ２０との間の通信負荷を低減することができる。また、本実施形態では、上述した間引き処理を実行することにより、プリンタ２０による描画文字数（印字数）を減少させることができるので、プリンタ２０の処理負荷を低減することができる。
【００８７】
また、本実施形態では、蓄積用配列加工処理（Ｓ８１）を実行した後において、抽出した複数の行のうち前方から連続して共通する文字を除外した部分に対して、抽出する処理（Ｓ８６）と変換する処理（Ｓ８８）とを実行している。これにより、読みやすさ及び誤読抑制効果を維持しつつ、多くの文字を間引きすることができ、インク等の印刷消耗品の使用量を効果的に削減することができる。
【００８８】
また、本実施形態では、印刷データ解析部３２が、印刷データにおいて桁ごとの文字占有率の行方向（左右方向）に関する変化量が所定値（例えば７５％）を超えた位置で列を区切り、印刷データ加工部３４は、区切られた列ごとに抽出する処理（Ｓ５０〜Ｓ８０）と変換する処理（Ｓ８１）を実行する。これにより、表形式になっている印刷データを適切かつ効率的に間引き処理することができる。
【００８９】
また、本実施形態では、蓄積用行配列において隣接する行配列それぞれの長さに応じて、共通する文字の中から変換する文字を決定する（ステップＳ１１０、Ｓ１１２、Ｓ１１６）。これにより、読みやすさや誤読可能性を考慮した適切な間引き処理を行うことができる。
【００９０】
また、本実施形態では、蓄積用行配列において隣接する行配列の共通する文字の次が空白であるか否かや、共通する文字に空白が含まれているか否か、に基づいて、共通する文字の中から変換する文字を決定する（Ｓ１２２，Ｓ１２４、Ｓ１３２）。これにより、読みやすさや誤読可能性を考慮した適切な間引き処理を行うことができる。
【００９１】
また、本実施形態では、蓄積用行配列に含まれる行配列のうち先頭（最上部）に位置する行配列以外の行配列を間引き処理する（Ｓ１０８、Ｓ１４０）ので、この点からも、読みやすさや誤読可能性を考慮した適切な間引き処理を行うことができる。
【００９２】
また、本実施形態では、前方から２文字が共通する行配列を抽出し、蓄積用行配列に格納することとしている。これにより、前方から１文字のみが一致する部分を間引きすることがないため、都道府県名や市町村名、氏、名、会社名など、多くの場合において２文字以上で意味をなす部分を適切に間引き処理することができる。
【００９３】
なお、上記実施形態では、間引き処理として記号「〃」による変換を行う場合について説明したが、これに限られるものではなく、その他の印刷消耗品の使用量を減少させる表示への変換を行うこととしてもよい。例えば、図２５（ａ）に示すように、文字サイズを縮小化した文字列への変換を行うこととしてもよいし、図２５（ｂ）に示すように、「同上」などの文字列に変換することとしてもよい。また、間引き処理として、文字の濃淡を変更する（共通する文字列を淡色に変更する）こととしてもよい。
【００９４】
なお、上記実施形態では、前方から所定文字数（例えば２文字）一致する行を抽出し、抽出した行において前方一致する部分を間引きする場合について説明したが、これに限られるものではない。例えば、後方から所定文字数一致する行を抽出し、抽出した行において後方一致する部分を間引きするようにしてもよい。
【００９５】
なお、上記実施形態では、ステップＳ１１０〜Ｓ１４０において種々判断を実行しているが、一部の判断を省略してもよい。
【００９６】
なお、上記実施形態では、印刷データが横書きである場合について説明したが、これに限らず、印刷データは縦書きであってもよい。
【００９７】
なお、上記実施形態では、プリンタの印刷消耗品がインクである場合について説明したが、これに限らず、印刷消耗品は、トナーやインクリボンであってもよい。
【００９８】
なお、上記実施形態では、ＰＣ１０が印刷データの間引き処理を行う場合について説明したが、これに限られるものではない。例えば、ＰＣ１０に接続されたサーバが、ＰＣ１０から取得した印刷データの間引き処理を行い、当該間引き処理後の印刷データをＰＣ１０又はプリンタ２０に送信するようなサービスを提供することとしてもよい。このようにすることで、ＰＣ１０における処理負荷を軽減することができる。
【００９９】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【０１００】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１０１】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１０２】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【０１０３】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  第１軸方向に配列された文字列が前記第１軸方向に直交する第２軸方向に沿って複数配列された文書を変換する処理をコンピュータに実行させる文書変換プログラムであって、
前記第１軸方向の一側から所定数の文字が共通し、前記第２軸方向に隣接する複数の文字列を抽出し、
前記抽出した複数の文字列において前記第１軸方向の一側から連続して共通する文字の少なくとも一部を印刷消耗品の使用量を減少させる表示に変換する、処理を前記コンピュータに実行させることを特徴とする文書変換プログラム。
（付記２）  前記変換する処理が実行された後、前記抽出した複数の文字列から前記第１軸方向の一側から連続して共通する文字を除外した部分に対して、前記抽出する処理と、前記変換する処理と、を前記コンピュータに実行させることを特徴とする付記１に記載の文書変換プログラム。
（付記３）  前記文書において前記第２軸方向に並ぶ文字の数量の前記第１軸方向の位置に応じた変化量が予め定めた変化量を超えた位置を特定し、当該特定された第１軸方向の位置において前記文書を区切る処理を前記コンピュータに更に実行させ、
前記区切られた文書ごとに、前記抽出する処理と前記変換する処理が実行されることを特徴とする付記１又は２に記載の文書変換プログラム。
（付記４）  前記変換する処理では、前記第２軸方向に隣接する文字列それぞれの長さに応じて、共通する文字の中から変換する文字を決定することを特徴とする付記１〜３のいずれかに記載の文書変換プログラム。
（付記５）  前記変換する処理では、前記共通する文字の次が空白であるか否か、及び／又は前記共通する文字に空白が含まれているか否か、に基づいて、共通する文字の中から変換する文字を決定することを特徴とする付記１〜４のいずれかに記載の文書変換プログラム。
（付記６）  前記変換する処理では、前記抽出した複数の文字列のうち前記第２軸方向の先頭に位置する文字列以外の文字列の少なくとも一部を変換することを特徴とする付記１〜５のいずれかに記載の文書変換プログラム。
（付記７）  前記変換する処理では、前記印刷消耗品の使用量を減少させる表示として、文字サイズを縮小化した文字列、濃淡を変更した文字列、文字を省略することを示す記号又は文字列、のいずれかを用いることを特徴とする付記１〜６のいずれかに記載の文書変換プログラム。
（付記８）  前記抽出する処理では、前記第１軸方向の一側から２文字以上が共通し、前記第２軸方向に隣接する複数の文字列を抽出することを特徴とする付記１〜７のいずれかに記載の文書変換プログラム。
（付記９）  第１軸方向に配列された文字列が前記第１軸方向に直交する第２軸方向に沿って複数配列された文書を変換する文書変換装置であって、
前記第１軸方向の一側から所定数の文字が共通し、前記第２軸方向に隣接する複数の文字列を抽出する抽出部と、
前記抽出した複数の文字列において前記第１軸方向の一側から連続して共通する文字の少なくとも一部を印刷消耗品の使用量を減少させる表示に変換する変換部と、を備える文書変換装置。
（付記１０）  前記変換部による処理が実行された後、前記抽出部が抽出した複数の文字列から前記第１軸方向の一側から連続して共通する文字を除外した部分に対して、前記抽出部が抽出する処理を再度実行するとともに、前記変換部が変換する処理を再度実行することを特徴とする付記９に記載の文書変換装置。
（付記１１）  前記文書において前記第２軸方向に並ぶ文字の数量の前記第１軸方向の位置に応じた変化量が予め定めた変化量を超えた位置を特定し、当該特定された第１軸方向の位置において前記文書を区切る解析部を更に備え、
前記抽出部は、前記区切られた文書ごとに前記抽出する処理を実行することを特徴とする付記９又は１０に記載の文書変換装置。
（付記１２）  前記変換部は、前記第２軸方向に隣接する文字列それぞれの長さに応じて、共通する文字の中から変換する文字を決定することを特徴とする付記９〜１１のいずれかに記載の文書変換装置。
（付記１３）  前記変換部は、前記共通する文字の次が空白であるか否か、及び／又は前記共通する文字に空白が含まれているか否か、に基づいて、共通する文字の中から変換する文字を決定することを特徴とする付記９〜１２のいずれかに記載の文書変換装置。
（付記１４）  前記変換部は、前記抽出した複数の文字列のうち前記第２軸方向の先頭に位置する文字列以外の文字列の少なくとも一部を変換することを特徴とする付記９〜１３のいずれかに記載の文書変換装置。
（付記１５）  前記変換部は、前記印刷消耗品の使用量を減少させる表示として、文字サイズを縮小化した文字列、濃淡を変更した文字列、文字を省略することを示す記号又は文字列、のいずれかを用いることを特徴とする付記９〜１４のいずれかに記載の文書変換装置。
（付記１６）  前記抽出部は、前記第１軸方向の一側から２文字以上が共通し、前記第２軸方向に隣接する複数の文字列を抽出することを特徴とする付記９〜１５のいずれかに記載の文書変換装置。
（付記１７）
第１軸方向に配列された文字列が前記第１軸方向に直交する第２軸方向に沿って複数配列された文書を変換する文書変換方法であって、
前記第１軸方向の一側から所定数の文字が共通し、前記第２軸方向に隣接する複数の文字列を抽出する工程と、
前記抽出した複数の文字列において前記第１軸方向の一側から連続して共通する文字の少なくとも一部を印刷消耗品の使用量を減少させる表示に変換する工程と、をコンピュータが実行することを特徴とする文書変換方法。
（付記１８）  前記変換する工程の後、前記抽出した複数の文字列から前記第１軸方向の一側から連続して共通する文字を除外した部分に対して、前記抽出する工程と、前記変換する工程と、を前記コンピュータが実行することを特徴とする付記１７に記載の文書変換方法。
（付記１９）  前記文書において前記第２軸方向に並ぶ文字の数量の前記第１軸方向の位置に応じた変化量が予め定めた変化量を超えた位置を特定し、当該特定された第１軸方向の位置において前記文書を区切る工程を前記コンピュータが更に実行し、
前記区切られた文書ごとに、前記抽出する工程と前記変換する工程を前記コンピュータが実行することを特徴とする付記１７又は１８に記載の文書変換方法。
（付記２０）  前記変換する工程では、前記第２軸方向に隣接する文字列それぞれの長さに応じて、共通する文字の中から変換する文字を決定することを特徴とする付記１７〜１９のいずれかに記載の文書変換方法。
（付記２１）  前記変換する工程では、前記共通する文字の次が空白であるか否か、及び／又は前記共通する文字に空白が含まれているか否か、に基づいて、共通する文字の中から変換する文字を決定することを特徴とする付記１７〜２０のいずれかに記載の文書変換方法。
（付記２２）  前記変換する工程では、前記抽出した複数の文字列のうち前記第２軸方向の先頭に位置する文字列以外の文字列の少なくとも一部を変換することを特徴とする付記１７〜２１のいずれかに記載の文書変換方法。
（付記２３）  前記変換する工程では、前記印刷消耗品の使用量を減少させる表示として、文字サイズを縮小化した文字列、濃淡を変更した文字列、文字を省略することを示す記号又は文字列、のいずれかを用いることを特徴とする付記１７〜２２のいずれかに記載の文書変換方法。
（付記２４）  前記抽出する工程では、前記第１軸方向の一側から２文字以上が共通し、前記第２軸方向に隣接する複数の文字列を抽出することを特徴とする付記１７〜２３のいずれかに記載の文書変換方法。
【符号の説明】
【０１０４】
１０  ＰＣ（文書変換装置）
３２  印刷データ解析部（解析部）
３４  印刷データ加工部（抽出部、変換部）
【図１】
2014085827.tif 000003
【図２】
2014085827.tif 000004
【図３】
2014085827.tif 000005
【図４】
2014085827.tif 000006
【図５】
2014085827.tif 000007
【図６】
2014085827.tif 000008
【図７】
2014085827.tif 000009
【図８】
2014085827.tif 000010
【図９】
2014085827.tif 000011
【図１０】
2014085827.tif 000012
【図１１】
2014085827.tif 000013
【図１２】
2014085827.tif 000014
【図１３】
2014085827.tif 000015
【図１４】
2014085827.tif 000016
【図１５】
2014085827.tif 000017
【図１６】
2014085827.tif 000018
【図１７】
2014085827.tif 000019
【図１８】
2014085827.tif 000020
【図１９】
2014085827.tif 000021
【図２０】
2014085827.tif 000022
【図２１】
2014085827.tif 000023
【図２２】
2014085827.tif 000024
【図２３】
2014085827.tif 000025
【図２４】
2014085827.tif 000026
【図２５】
2014085827.tif 000027