[go: up one dir, main page]

JP5390880B2 - 外字ビットマップデータ抽出方法 - Google Patents

外字ビットマップデータ抽出方法 Download PDF

Info

Publication number
JP5390880B2
JP5390880B2 JP2009039798A JP2009039798A JP5390880B2 JP 5390880 B2 JP5390880 B2 JP 5390880B2 JP 2009039798 A JP2009039798 A JP 2009039798A JP 2009039798 A JP2009039798 A JP 2009039798A JP 5390880 B2 JP5390880 B2 JP 5390880B2
Authority
JP
Japan
Prior art keywords
data
external character
character
external
font
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.)
Expired - Fee Related
Application number
JP2009039798A
Other languages
English (en)
Other versions
JP2010197501A (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.)
Toray Engineering Co Ltd
Original Assignee
Toray Engineering Co Ltd
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 Toray Engineering Co Ltd filed Critical Toray Engineering Co Ltd
Priority to JP2009039798A priority Critical patent/JP5390880B2/ja
Publication of JP2010197501A publication Critical patent/JP2010197501A/ja
Application granted granted Critical
Publication of JP5390880B2 publication Critical patent/JP5390880B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、外字データファイルから、個々の外字ビットマップフォントを抽出する方法に関する発明であり、また、抽出された外字ビットマップフォントを異なる処理システム上のビットマップフォントに変換する方法に関する。
周知のように各種情報処理環境においては1バイト系、2バイト系を問わず各種の文字は文字コードで定義されることが多い。この文字コードは文字コード体系として、例えばJIS、Shift-JIS、Unicode等で規格化されている。このため、情報処理環境が異なっても、常用される多くの文字は同じ文字として認識、処理等することができる。ところが、各種情報処理環境においては、おのおのの情報処理環境に依存する、外字と呼ばれる文字が用いられることが多い。
これらには、地名、人名などに用いられる、常用、当用漢字にない字体の文字、ユーザなどが独自に定義した記号、ロゴ、シンボルなどがある。前述のJIS等の規格においては文字コード表の一部が外字領域として開放されていることが多く、情報処理システムメーカやユーザが自由にこの外字領域に外字を定義して使用することができるようになっている。また、基幹系システムにおいては後述の様に、独自の定義方法で外字を定義していることも多い。
このように外字はその情報処理環境に依存しているため、異なる情報処理環境間で文書データ、文字データを受け渡したり変換したりする場合、外字に関わるデータも同時に受け渡したり、変換を行う必要がある場合が多い。
特開平5−216459号公報
近年、パーソナルコンピュータの能力が著しく向上したこと、並びに、ネットワーク技術が発達し、高速、大容量の情報通信が可能となったことなどから、従来大型のホストコンピュータを中心とした、いわゆる基幹系システムで行ってきた電算業務を、ネットワークで相互に接続された個々のパーソナルコンピュータやワークステーション等に分散させて行う、いわゆるオープン系システムへの移行が進んでいる。このような流れの中で、当然、基幹系システム上のデータを、オープン系システム上のデータに変換することが必要となるが、そのときに外字の変換が問題となることが多い。
基幹系システムでは外字はCOBOLなどのプログラミング言語を用い、情報処理システムメーカ独自の定義方法で定義されていることが多い。このためオープン系システムへのデータ変換に当たり、基幹系システムでの外字データを解析し、個々の外字(正しくは外字ビットマップフォント)を抽出し、その上でオープン系システム上の外字フォントに変換することが必要となる。
ところが、基幹系システムにおける外字データの定義方法は、メーカ外には公表されていない場合が多く、ユーザなどが独自に基幹系システム上の外字データを解析し、ビットマップフォントを抽出しなければならないという問題があった。この作業は、メーカごとに異なる定義方法で定義されていることもあり、外字から試行錯誤でビットマップフォントを抽出しており、きわめて煩雑で、手間と時間がかかるという問題もあった。
また、別の方法において、用紙に印刷された外字の文字イメージをスキャナ等のイメージ読み取り手段によって、イメージを取得し、取得したイメージをイメージ表示手段によって表示し、表示された文字イメージの各点を指定することによって、外字を作成する手段があるが、いずれも手間と時間がかかるという問題があった。
上記課題を解決するため本発明においては、外字データ集合体から、一定のデータ長(m)毎に並び、かつ、一定増分値を有するデータ単位を順次抽出し、前記外字データ集合体を、前記の一定のデータ長(m)毎に並び、かつ、一定増分値を有するデータ単位で区切り、区切られた各々をデータ長(m)の外字データと見なし、該データ長(m)の外字データ各々から、所定の整数をn(ただしn×n<m)として(m−n×n+1)個の連続したデータ長(n×n)のデータを外字ビットマップデータ候補として抽出し、該外字ビットマップデータ候補の中から操作画面上の正しい位置に文字イメージが表示されるものを選択することにより、フォントヘッダデータ長を特定してビットマップフォントを、操作画面上に表示及び/またはオペレータによる選択を可能としたことを特徴とする外字ビットマップデータ抽出方法が提供される。

本発明の好ましい態様においては、前記外字ビットマップデータ候補に関し、それらに基づくビットマップフォントのフォント枠辺縁部に存在する黒ドットの少ないものから順に、操作画面上に順次表示及び/またはオペレータによる選択を可能とする外字ビットマップデータ抽出方法が提供される。
本発明の別の好ましい態様においては、前記外字ビットマップデータ候補のうち、それらに基づくビットマップフォントのフォント枠内における黒ドットの重心位置が、該フォント枠中心に近いものから順に、操作画面上に順次表示及び/またはオペレータによる選択を可能とする外字ビットマップデータ抽出方法が提供される。
本発明によれば、基幹系システムで使用している独自の定義方法で定義されている外字フォントからビットマップフォントを抽出し、変換することによって、該外字フォントをパーソナルコンピュータやワークステーション等のオープン系システムで利用可能となる。
本発明の外字ビットマップデータ抽出及び変換方法が適用される印刷システムの構成を示す図である。 外字変換における操作の流れを示す図である。 ホスト外字ファイルの一例を示す図である。 文字コードを説明する図である。 文字コード抽出フローチャート図である。 外字変換における外字ビットマップデータ候補の表示を示す図であって、図(a)は正しい文字イメージであり、図(b)は正しくない文字イメージである。 外字ビットマップデータ抽出方法を示す図である。 別の外字ビットマップデータ抽出方法を示す図であって、図(a)は左右方向重心計算による場合を示し、図(b)は上下方向重心計算による場合を示す。 アプリケーションソフトウェア操作パネルを示す図である。 本実施例の印刷システムに用いる印刷用紙の一例を示す図である。 外字フォント変換操作パネルを示す図である。 別のアプリケーションソフトウェア操作パネルを示す図である。
以下、本発明の構成について添付の図面を参照しながら詳細に説明する。
図1は、本発明の外字ビットマップデータ抽出および変換方法が適用される印刷システムの構成を例示するものである。
この印刷システムは、プリンタエンジン1とコントローラ2とクライアントコンピュータ4から構成され、クライアントコンピュータ4には、本発明による外字変換アプリケーション41とアプリケーションソフトウェア42が備わっている。ネットワーク3はインターネット、ローカルエリアネットワーク(LAN)等の電子通信網であり、このネットワーク3に接続されたクライアントコンピュータ4上のアプリケーションソフトウエア42から印刷起動された印刷データが、コントローラ2とプリンタエンジン1を用いて記録媒体に印刷される。
また、ネットワーク3にはホストコンピュータ5が接続されている。ホストコンピュータ5は、大規模な計算処理やネットワーク全体の管理、制御処理などを集中的に行うコンピュータである。ここでは、このホストコンピュータ5が有する外字データ集合体をホスト外字ファイル6と呼ぶこととする。
尚、図1に示す実施例に於いて、ホストコンピュータ5の変わりに、ホスト外字ファイル6に関わる外字データを保存するハードディスクドライブ等の外部記憶装置を接続し、該外部記憶装置からホスト外字ファイル6を得るようにしても良いし、フレキシブルディスク等の容易に移動可能な記録媒体にホスト外字ファイル6を保存し、該記録媒体をクライアントコンピュータ4に入力しても良い。
クライアントコンピュータ4には、プリンタエンジン1にて印刷を行うためにプリンタドライバ43が用意されている。プリンタドライバ43はアプリケーションソフトウエア42で作成された印刷データをプリンタ用の制御言語データに変換する機能を持ったソフトウェアである。
一方、コントローラ2にはスプーラ21とプリンタコントローラ24が用意されている。スプーラ21はプリンタドライバ43から出力された制御言語データを受信、保存(スプール)、処理、スケジューリング、配布などを行うダイナミックリンクライブラリ(DLL)の集合であり、本実施例ではパーソナルコンピュータのオペレーティングシステム(OS)の一部として提供されている機能をそのまま利用している。
プリンタコントローラ24はスプーラ21から制御言語データを受信し、プリンタエンジン用のビデオデータや動作コマンドに変換してプリンタエンジン1に送信する機能を持つソフトウェアである。プリンタコントローラ24がプリンタエンジン1の動作コマンドを送信することにより、プリンタエンジン1の動作をコントロールする。プリンタエンジン1はプリンタコントローラ24から送信されるビデオデータを元に記録媒体に印刷する機能を持つ印刷装置である。
図2は、本発明の外字変換における操作の流れを例示するものである。ホストコンピュータ5で使用しているホスト外字ファイル6は、一般にホストコンピュータ5のハードディスク等の記録媒体に保存されている。該ホスト外字ファイル6は、ハードディスク等の記録媒体の任意のフォルダにファイルとして格納されている。ファイルとは、記録媒体に記録されたデータのまとまりを示し、個々のファイルには、識別のための固有の名前(ファイル名)がつけられている。
外字変換における操作の流れは、まず、該ホスト外字ファイル6をフレキシブルディスクなどの移動可能な記録媒体や、ホストコンピュータ5と接続されたネットワーク3を介して、パーソナルコンピュータやワークステーション上の記録媒体へ移動または複写を行う。次に、パーソナルコンピュータやワークステーション上で、本発明の外字変換アプリケーション41を起動し、該ホスト外字ファイル6を外字変換アプリケーション41上に読み込む。その後、後述する方法において、変換を行い、オペレータが指示したファイルへ変換した外字フォントを出力する。
図3は、ホスト外字ファイル6の一例を例示するものである。多くの場合、ホスト外字ファイル6は、ファイルヘッダ情報61と個々の外字データ62から構成されている。ファイルヘッダ情報61とは、ホスト外字ファイル6の先頭に存在し、当該ホスト外字ファイル6全体に関連する内容などが記述されていることが多い。外字データ62は、ファイルに登録されている個々の外字の情報が記述されており、個々の外字データ62は、文字コード63、フォントヘッダ64、外字ビットマップデータ65、フォントフッタ66から構成されていることが多い。
また、少なくとも1つのホスト外字ファイル6内においては、全ての外字データ62は同じデータ構造で、かつ、同じデータ長を有している場合が殆どである。即ち、文字コード63、フォントヘッダ64、外字ビットマップデータ65、フォントフッタ66は、必ずしも同じデータ長とはなっていないのが普通であるが(例えば、本実施例では、文字コード63は2バイト、外字ビットマップデータ65は128バイトで構成されている)、全ての外字データ62の文字コード63、フォントヘッダ64、外字ビットマップデータ65及びフォントフッタ66は、それぞれ一定のデータ長となっている場合が多い。
即ち、図3に示すように、全ての外字データ62は同じデータ構造(それぞれ一定のデータ長の文字コード63、フォントヘッダ64、外字ビットマップデータ65及びフォントフッタ66が同じ順序で並ぶ)で、かつ、同じデータ長(以下(m)とする)となっているのが一般的である。尚、フォントヘッダ64、フォントフッタ66双方とも、或いは片方が存在しない場合も考えられるが、その場合はそれらのデータ長を0として取り扱えばよい。
外字ビットマップデータ65とは、文字の形をコンピュータ上で表現するためのデータであり、一般にはビットマップフォント形式で格納されている場合が多い。ビットマップフォントとは、文字を小さな正方形の点(ドット)の集合として表し、ある決まった数の格子(例えば縦32個×横32個)で、すべての文字の形状を表現するフォントを示す。
フォントヘッダ64やフォントフッタ66は、メーカやユーザが独自に個々の外字に関する情報を記録していることが多いものであるが、ここでは、一つの外字データ62内において、文字コード63の後ろでかつ外字ビットマップデータ65の前に存在する全てのデータをフォントヘッダ情報と定義してもよい。また、フォントフッタ66とは、一つの外字データ62内において、外字ビットマップデータ65の後ろに存在する全てのデータと定義してもよい。
本発明においては、まずホスト外字ファイル6から個々の外字の文字コード63を抽出し、該抽出した文字コード63をキーとして個々の外字ビットマップデータ65を抽出していく。
図4及び図5は、本発明の外字変換における文字コード抽出方法を例示するものである。一般的なホストコンピュータ5のホスト外字ファイル6は、特に日本語環境においては文字コード63を2バイトで表現していることが多い。以下の実施例においては文字コード63が2バイトの例を述べるが、文字コード63が1バイトであっても勿論本発明は適用可能である。
文字コード63とは、各々の文字一つ一つに割り当てられた固有のコード(番号)のことであり、ホスト外字ファイル6内の文字コード63は、この文字コード63の順番に登録されているのが通例である。ここでいう順番とは、文字コード63が各々の外字データ62単位に+1増加していくことを示す。例えば、ホスト外字ファイル6に登録されている最初の外字データ62の文字コード63が6000であった場合、次の外字データ62の文字コード63が6000+1、すなわち、6001と割り当てられていることを示す。
本実施例では、文字コード63が+1増加する例を示しているが、−1減少する場合も考えられ、稀ではあるが、+Nまたは−Nなど、1以外の増減値で文字コード63が増減する場合も考えられる。
前述のように、ホスト外字ファイル6は、同じデータ長(m)、同じデータ構成の外字データ62が文字コード63の順に並んでいることが多い。すなわち、ホスト外字ファイル6全体を見れば、一定増分値を有する文字コード63が、一定データ長(外字データ長(m))毎に並んでいることになる。
そこで、ホスト外字ファイル6から、一定データ長(m)毎に並ぶデータ単位、即ち、個々の外字データ62の文字コード63を検索、抽出する。
まず、ホスト外字ファイル6の先頭から2バイト分のデータを最初の外字データ62の文字コード63と見なして読み込み(この2バイトの数値を検索対象文字コードと呼ぶ)、そのコードに+1加算した数値を次の外字データ62の文字コード63として、外字変換アプリケーション41の変数に登録する。
次に、登録した次の外字データ62の文字コード63が、当該ファイル内にあるかをファイル先頭から最後まで検索する。ファイル内に次の外字データ62の文字コード63が見つからなければ、先に読み込んだ先頭から2バイトのデータは、文字コード63でないと判断する。そこで、検索対象文字コードを1バイト分、後ろにシフトさせ、先頭から2バイト目と3バイト目のデータを読み込み、新たな検索対象文字コードとする。
その後、その文字コード63に+1加算した次の外字データ62の文字コード63を再度当該ファイルから検索する。以降、+1加算した文字コード63がホスト外字ファイル6のファイル内に見つかるまで、上記検索方法に基づき、文字コード63を検索する。図4の例では、先頭から2バイト後方にデータをシフトさせ、先頭から3バイト目と4バイト目のデータが、検索対象文字コードaであったときに、加算した次の外字データの文字コードbが検索できたことを示す。
加算した次の外字データ62の文字コードbが見つかると、検索対象文字コードaと、次の外字データ62の文字コード間bのデータ長(m)を算出する。図4の例では、検索対象文字コード6000に対して、+1加算した文字コード6001までがデータ長(m)である。整数値であるデータ長(m)は、個々の外字データ62のデータ長であり、これを外字データ長と呼ぶこととする。
外字データ長は、前述の通り各ホストメーカや作成した外字のバージョンなどによって異なるものの、1つのファイル内では、全て同じ長さであることが多い。よって、図4において文字コードbからさらにデータ長(m)だけ後方に6002が、データ長(2×m)後方に6003という順に、一定データ長(m)毎に、一定増加値のデータが並んでいれば、この一定増加値で並ぶデータが、個々の外字データ62の文字コード63である可能性が高い。
そのため、検索対象文字コードに対して、+1加算したデータが当該ファイル内に見つかっても、それ以降、外字データ長(m)毎に、加算した文字コード63が見つからない場合は、これらは文字コード63でないと判断し、再度検索対象文字コードを1バイト後ろにシフトさせ、検索対象文字コードを変更して、加算した文字コード63を新たに検索する。
尚、ホスト外字ファイル6のファイルサイズをSとしたとき、先頭の文字コード(検索対象文字コード)aまでのデータ長をH(ヘッダデータ長と呼ぶ)として、該検索対象文字コードから+1加算した文字コードbまでのデータ長、すなわち、外字データ長をmとした場合、登録されている外字の総数Zは、下記の式で表される。
外字総数Z=(ファイルサイズ(S)−ヘッダデータ長(H))/外字データ長(m)
以上の方法で、すべての外字の文字コード63が抽出され、また外字データ長(m)が確定する。ここまでで、ホスト外字ファイル6を個々の外字データ62に分割できたことになる。
次に、個々の外字データ62から外字ビットマップデータ65を抽出する第1の方法を説明する。
少なくとも一つのホスト外字ファイル6内においては、個々の外字データ62は全て同じデータ長(m)、かつ、同じデータ構造を有し、また、その中のフォントヘッダ64、外字ビットマップデータ65、フォントフッダ66は、それぞれ一定のデータ長で同じ順序で並んでいることは先に述べた。即ち、個々の外字データ62から外字ビットマップデータ65を抽出するには、その前に存在するフォントヘッダ64のデータ長が分かればよい。
外字データ長は(m)であり、外字ビットマップデータ65は(n×n)のデータ長であるから、一つの外字データ62内における外字ビットマップデータ65候補の総数は、
(m−n×n+1)であり、この候補の中から正しい外字ビットマップデータ65を選択すればよい。これをオペレータの手作業で行う第1の方法を以下に述べる。
尚、n(フォント枠の縦横ドット数)の値については、32が一般的で、24、48も多く使われる。勿論それ以外の任意の正の整数値も理論的には可能である。
図6は、本発明の外字変換アプリケーション41の操作パネル(操作画面)及び外字変換における外字ビットマップデータ65候補の表示を例示するものである。
操作パネル上には、ある外字データ62について、文字コード63の次に存在するn×nのデータ長のデータを外字ビットマップデータ65と見なしてその文字イメージを表示している。このビットマップデータのデータ長n×nを外字ビットマップデータ長と呼ぶこととする。操作パネルで表示される白の部分は、データの値が0を示し、黒の部分は1であることを示す。
さて、文字コード63の次バイトからのデータが、外字ビットマップデータ65の場合は、(これはフォントヘッダ64が存在しない場合に相当する)正しい文字イメージ(a)が該操作パネル上に表示される。一方、文字コード63と外字ビットマップデータ65の間にフォントヘッダ64が存在する場合は、フォントヘッダ64のデータ長だけ文字イメージがシフトされたり、あるいは無意味な白黒ドットが挿入され、該操作パネルに正しくない文字イメージ(b)が表示される。
ここで、外字変換アプリケーション41の操作パネル上の、左矢印ボタンもしくはキーボードの←キーを押すと、現在の外字ビットマップデータ65候補のデータ位置より、手前に1データ長単位シフトさせた文字イメージを表示することが出来る。同様に、右矢印ボタンもしくはキーボードの→キーを押すと、現在の外字ビットマップデータ65候補の文字イメージを表示しているデータ位置より、後方に1データ長単位シフトさせた文字イメージを表示することが出来る。このシフト操作は、1データ長単位、即ち、多くは1ビット単位にシフトできることが望ましい。
このように、オペレータが操作パネルを見ながら、外字変換アプリケーション41の操作パネルに正しい文字イメージが表示される位置までキーボードやマウスを使って、データをシフトさせ、正しい文字イメージ(ビットマップフォント)を選択、決定する。操作パネルに正しい文字イメージが表示されたときの、文字コード63と外字ビットマップデータ65候補間のデータ長がフォントヘッダデータ長である。
以上のステップをまず任意の一つの外字データ62(多くの場合、外字ファイルの先頭に存在するの外字データ)について行い、フォントヘッダデータ長を仮決めする。次に、仮決めしたフォントヘッダデータ長に基づき他の外字データ62の文字イメージを操作パネル上に表示させ、すべて正しい文字イメージが表示されれば、フォントヘッダデータ長を仮決めした値に決定させてもよい。
ここで、文字コードデータ長(c)、ヘッダデータ長(H)、文字コード63から外字ビットマップデータ65までのフォントヘッダデータ長(h)、外字データ長(m)、外字ビットマップデータ長(n×n)とすると、外字ビットマップデータ65の位置は、以下の通りとなる。
1文字目外字ビットマップデータ先頭データ長=H+c+h
1文字目外字ビットマップデータ終端データ長=H+c+h+(n×n)
さらに全ての外字の外字ビットマップデータ65の位置は、以下の通りとなる。
各外字ビットマップデータ先頭データ長=H+c+h+m×文字数
各外字ビットマップデータ終端データ長=H+c+h+(n×n)+m×文字数。
次に、図7は、外字ビットマップデータ65の抽出、即ち、フォントヘッダデータ長の決定をある程度自動的に行う第2の方法を例示するものである。
一般にビットマップフォントであってもアウトラインフォントであっても、フォントの文字イメージは、フォント枠の中央付近に存在し、フォント枠の辺縁部には、文字のはねや払いなど、ごく一部のドットが、黒ドットとなっている程度で、辺縁部に多くの黒ドットが存在することは少ない。ところが、図6(b)に示すように、フォントヘッダデータ長だけシフトされた文字イメージの場合には、フォント枠内でイメージがシフトされている為、辺縁部に黒ドットが現れることが多い。即ち、辺縁部に存在する黒ドットの数の少ないものほど、正しい文字イメージでありうる可能性が高い。
ここで、フォント枠の辺縁部とは、図7に示すようにn×nで示される外字ビットマップデータ65において、上下左右の最も外側の一列(1ドット分)のエリアとする。このエリアは、外字ビットマップデータ65内においては以下の通りとなる。
上1ドット=1 〜 n
下1ドット=(n×n)−n+1 〜 (n×n)
左1ドット=1+(n+1)+(2n+1)+...+((n−1)×n+1)
右1ドット=n+2n+3n+...+(n×n)
尚、本実施例では、辺縁部をフォント枠の最も外側の1ドット分としたが、2ドットや3ドットでも構わないし、また、上下方向と左右方向でその値が異なっていても構わない。
さて、外字ビットマップデータ65の抽出に当たって、まず、全ての外字データ62について未知のフォントヘッダデータ長をパラメータとして、先に示した式によって定義されるフォント枠の辺縁部に、黒ドットが最も少なくなるフォントヘッダデータ長を検索する。これは、前述のエリアに存在する黒ドット、即ち“1”のデータをカウントすればよい。
全ての外字データ62について、辺縁部に黒ドットが最も少なくなるフォントヘッダデータ長が同じ(h)であった場合は、これをフォントヘッダデータ長hと決定する。また、このときの各々の外字の文字イメージを操作パネル上に表示して、オペレータに確認させてから選択、決定出来るようにしても良い。
また、全ての外字データ62に関し、最も黒ドットが少なくなるフォントヘッダデータ長が異なった場合には、最も頻度の高いフォントヘッダデータ長から優先度を設け、外字ビットマップデータ65候補の文字イメージをその優先度の順に操作パネル上に順次表示し、オペレータが選択、確認、決定させるようにしても良い。
次に、図8は、外字ビットマップデータ65の抽出をある程度自動的に行う第3の方法を例示するものである。
フォント枠の辺縁部ほど、黒ドットが少なく、中心近傍に黒ドットが多いことは、前の第2の方法の説明で述べている。ところが、文字イメージの中には、例えば、○(丸)や□(四角)、と言ったシンボル的なものや、○(丸)や□(四角)で囲われた文字、括弧付き文字など、も存在する。この様な文字では、正しい文字イメージでも、その辺縁部に多くの黒ドットが存在することになり、前の第2の方法が適さない場合も存在する。
さて、このような文字の場合でも、文字イメージはフォント枠の中央付近にあることには変わりなく、即ち、フォント枠内における文字イメージの黒ドットの重心位置は、フォント枠の中心近傍に存在する可能性が高い。そこで、フォント枠内における黒ドットの重心位置がフォント枠の可及的中心近傍となるフォントヘッダデータ長を検索すれば、正しい外字ビットマップデータ65を抽出することが可能となる場合も考えられる。
図8は、その重心位置の算出方法を示す一例であって、簡単のため12×12の外字ビットマップデータ長で表される外字の文字イメージを示している。この時、各々の行/列に番号を付与し、表示されている黒ドットの位置に、それぞれ対応した行番号または列番号を表示する。図8(a)の例では、左右方向にそれぞれ1〜12までの列番号を設け、黒ドットの位置(マス目)に、列番号を表示する。次に、それぞれの列単位に表示された列番号を加算していき、その合計値を得る。この合計値を全ての黒ドット数で割ることによって、左右方向の中心座標を得ることができる。
同様に、図8(b)に示すとおり、行単位に登録された行番号を加算し、その合計値を全ての黒ドット数で割ることによって、上下方向の中心座標を得ることができる。
即ち以下のとおりとなる。
左右中心座標 = 列番号の合計値 / 全ての黒ドット数
上下中心座標 = 行番号の合計値 / 全ての黒ドット数
なお、図8の例では、黒ドットの重心位置(列、行)が(6.0、6.8)となった。このとき、フォント枠は、12×12であり、中心座標は(6.5、6.5)となる。すなわち、図8の例では黒ドットの重心は、フォント枠の中心から、
Figure 0005390880
第2の方法と同様に、未知のフォントヘッダデータ長をパラメータとして、このずれ量が最小となるフォントヘッダデータ長を求める。
全ての外字データ62について、ずれ量が最小となるフォントヘッダデータ長が同じ(h)であった場合は、これをフォントヘッダデータ長hと決定する。また、このときの各々の外字の文字イメージを操作パネル上に表示して、オペレータに確認させてから選択、決定出来るようにしても良い。
全ての外字データ62に関し、ずれ量が最小となるフォントヘッダデータ長が異なった場合には、最も頻度の高いフォントヘッダデータ長から優先度を設け、外字ビットマップデータ65候補の文字イメージをその優先度の順に操作パネル上に順次表示し、オペレータが選択、確認、決定させるようにしても良い。
次に、図9、図10、図11、図12は、本発明によって変換した外字フォントの利用方法について例示するものである。
外字は、地名や人名に用いられるケースが多く、ここでは宛名印刷を例に示す。まず印刷データを作成するためには、外部データと呼ばれる住所、名前などの印刷情報が、記録されているデータと、図9に示すような外部データ定義体と呼ばれる外部データ内のどのレコードが住所、名前に相当するかを示すデータと、図12に示すようなレイアウトデータと呼ばれる外部データをどの位置にどの書体で印刷するかを示すデータと、変換した外字ファイル、さらには変換した外字ファイルの文字コードが登録されている変換テーブルのデータと、これらデータを読み込み可能なアプリケーションが必要である。
外部データは、一般に固定長やCSVのファイル形式で記述されている。CSVとは、Comma Separated Valuesの略で、データをカンマ(,)で区切り、並べたファイル形式であり、主に表計算ソフトやデータベースソフトのデータ保存方法に用いられる。一方、固定長には区切り記号がなく、それぞれ外部データ定義体によって定義された固定のデータ長によって、住所や名前が記録されている。一般にホストコンピュータ5では、固定長の外部データが多く使われている。
外部データ定義体に記述されている項目は、少なくともフィールド名とフィールド長が必要である。フィールド名とは、後述のレイアウトデータを作成可能なアプリケーションで利用するために、外部データの固有の項目名を意味する。フィールド長とは、各々のフィールド名が示す外部データの長さを意味し、一般的には開始位置とデータの長さ、または終了位置によって示されている。
外部データ定義体は、ホストコンピュータ5の記録媒体に保存されずに、印刷前に操作パネルで入力するなどの方法を取る場合もある。そのため、本実施例の印刷システムでは、該記録媒体に保存されている外部データ定義体以外に、用紙に印刷された外部データ定義体をスキャナ等のイメージ読み込み手段によって、イメージを取得し、文字認識ソフトによって、画像イメージからテキストへ変換を行い、外部データ定義体を作成することも可能である。
また本実施例の印刷システムでは、上記方法にて変換を行った外部データ定義体が、正しく入力されているかを確認する機能や、該定義体に不正な文字や空白がないかを確認する機能や、該定義体の文字を編集するなどの機能も備えている。
また、本実施例の印刷システムでは、図10に示すように事前に印刷機等で印刷された印刷用紙7を元に、レイアウトデータを作成する機能も備えている。宛名などの印刷は、事前に印刷機で印刷された印刷用紙7に、後に住所や名前などの外部データをプリンタ等で印刷する場合が多い。また、事前に印刷機で印刷された印刷用紙7には、罫線が印刷されていることが多い。このように罫線枠内に住所、名前等の外部データを印刷する場合に、どの枠にどの外部データ定義体のフィールド名を印刷するかを指定する情報が必要であり、この情報をレイアウトデータと呼んでいる。
レイアウトデータ作成方法は、図12に示す操作パネルにより、事前に印刷機で印刷された印刷用紙7をスキャナ等のイメージ読み込み手段によって、画像イメージを取得し、画像イメージの罫線を罫線認識ソフトによって、位置座標を取得し、本実施例の印刷システムのディスプレイ等に表示している。位置座標を取得した四角の枠をオブジェクトと呼ぶ。また、オブジェクトには、位置座標の情報以外に外部データ定義体の情報を設定/保存することが可能である。
本実施例の印刷システムでは、事前に印刷機で印刷された印刷用紙7の画像イメージと、オブジェクトの位置を示す画像イメージと、外部データ定義体のフィールド名を表示する機能を備え、外部データ定義体のフィールド名が表示されているリストから、フィールド名をマウス等で選択し、マウスをドラッグしながら、画面上に表示されているオブジェクトの位置にマウスをドロップすることによって、任意のオブジェクトに外部データ定義体を設定/保存することが可能である。また、オブジェクトの合成、分割、削除、複写、移動などの編集機能も兼ね備えている。
なお、外部データ定義体の作成やレイアウトデータの作成は、クライアントコンピュータ4のアプリケーションソフトウェア41上で行われる。
上記レイアウトの編集完了後、印刷に使用する外字フォントを選択する。本実施例の印刷システムでは、ホストコンピュータ5のホスト外字ファイル6から、抽出したビットマップフォントをアウトラインフォントに変換を行い、同時に外字コードが記述された変換テーブルを作成する。変換テーブルには、ホスト外字ファイル6に記述されている文字コード63と、変換後に登録された文字コードが記述されている。
一般に、各フォントには外字が使用できる領域が準備されているが、各々のホストコンピュータ5やオペレーティングシステムによって、使用可能な外字領域の番号が異なるため、変換テーブルを使って、異なるコンピュータ、または異なるオペレーティングシステムの環境での外字の印刷を実現している。
このように本発明によれば、基幹系システムのホスト外字ファイルから、文字コードとビットマップフォントを抽出し、オープン系システムのパーソナルコンピュータやワークステーション等で使用可能な外字フォント(図11)へ容易に変換することが可能である。
1.プリンタエンジン
2.コントローラ
3.ネットワーク
4.クライアントコンピュータ
5.ホストコンピュータ
6.ホスト外字ファイル
7.印刷用紙
21.スプーラ
24.プリンタコントローラ
25.ビデオボード
41.外字変換アプリケーション
42.アプリケーションソフトウェア
61.ファイルヘッダ情報
62.外字データ
63.文字コード
64.フォントヘッダ
65.外字ビットマップデータ
66.フォントフッタ

Claims (3)

  1. 外字データ集合体より外字ビットマップデータを抽出する外字ビットマップデータ抽出方法であって、外字データ集合体から、一定のデータ長(m)毎に並び、かつ、一定増分値を有するデータ単位を順次抽出し、前記外字データ集合体を、前記の一定のデータ長(m
    )毎に並び、かつ、一定増分値を有するデータ単位で区切り、区切られた各々をデータ長
    (m)の外字データと見なし、該データ長(m)の外字データ各々から、所定の整数をn
    (ただしn×n<m)として(m−n×n+1)個の連続したデータ長(n×n)のデー
    タを外字ビットマップデータ候補として抽出し、該外字ビットマップデータ候補の中から操作画面上の正しい位置に文字イメージが表示されるものを選択することにより、フォントヘッダデータ長を特定してビットマップフォントを、操作画面上に表示及び/またはオペレータによる選択を可能としたことを特徴とする外字ビットマップデータ抽出方法。
  2. 前記外字ビットマップデータ候補に関し、それらに基づくビットマップフォントのフォン
    ト枠辺縁部に存在する黒ドットの少ないものから順に、操作画面上に順次表示及び/また
    はオペレータによる選択を可能としたことを特徴とする請求項1に記載の外字ビットマッ
    プデータ抽出方法。
  3. 前記外字ビットマップデータ候補のうち、それらに基づくビットマップフォントのフォン
    ト枠内における黒ドットの重心位置が、該フォント枠中心に近いものから順に、操作画面
    上に順次表示及び/またはオペレータによる選択を可能としたことを特徴とする請求項1
    に記載の外字ビットマップデータ抽出方法。
JP2009039798A 2009-02-23 2009-02-23 外字ビットマップデータ抽出方法 Expired - Fee Related JP5390880B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009039798A JP5390880B2 (ja) 2009-02-23 2009-02-23 外字ビットマップデータ抽出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009039798A JP5390880B2 (ja) 2009-02-23 2009-02-23 外字ビットマップデータ抽出方法

Publications (2)

Publication Number Publication Date
JP2010197501A JP2010197501A (ja) 2010-09-09
JP5390880B2 true JP5390880B2 (ja) 2014-01-15

Family

ID=42822306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009039798A Expired - Fee Related JP5390880B2 (ja) 2009-02-23 2009-02-23 外字ビットマップデータ抽出方法

Country Status (1)

Country Link
JP (1) JP5390880B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01234892A (ja) * 1988-03-16 1989-09-20 Hitachi Ltd グラフイツク画面に文字列を表示する方法
JPH02148167A (ja) * 1988-11-30 1990-06-07 Hitachi Ltd 文書編集装置
JPH103473A (ja) * 1996-06-19 1998-01-06 Kobe Nippon Denki Software Kk ユーザ定義文字ファイル変換方式
JP2002366133A (ja) * 2001-06-07 2002-12-20 Riso Kagaku Corp 手書き文字フォント作成装置及び手書き文字フォント作成プログラム

Also Published As

Publication number Publication date
JP2010197501A (ja) 2010-09-09

Similar Documents

Publication Publication Date Title
US8225200B2 (en) Extracting a character string from a document and partitioning the character string into words by inserting space characters where appropriate
US7926732B2 (en) OCR sheet-inputting device, OCR sheet, program for inputting an OCR sheet and program for drawing an OCR sheet form
US8078005B2 (en) Method for controlling the combining of original image data and coded image data
JP4785655B2 (ja) 文書処理装置及び文書処理方法
US5878198A (en) Information processing apparatus and method and memory medium storing information processing program
JPH11282829A (ja) フォント共有システムおよび方法ならびにフォント共有方法を実行するためのプログラムを格納した記録媒体
US20090204888A1 (en) Document processing apparatus, document processing method, and storage medium
WO2001059696A2 (en) Imaging documents having static content and variable data
US5887088A (en) Inputting device and inputting method for information processing system
JP2008059157A (ja) 書類確認支援システム、書類確認支援装置およびプログラム
US8355577B2 (en) Image processing apparatus and method
CN109726369A (zh) 一种基于标准文献的智能模板化题录技术实现方法
JP2008181174A (ja) 特許出願又は実用新案登録出願の図面原稿の作成方法
JP4924990B2 (ja) 文書処理装置および文書処理プログラム
JP5089524B2 (ja) 文書処理装置、文書処理システム、文書処理方法、及び、文書処理プログラム
JP2000322417A (ja) 画像ファイリング装置及び方法及び記憶媒体
JP4179977B2 (ja) スタンプ処理装置、電子承認システム、プログラム、及び記録媒体
JP5390880B2 (ja) 外字ビットマップデータ抽出方法
JP2020099030A (ja) 情報処理装置、及び情報処理方法
JP2006221569A (ja) 文書処理システム、文書処理方法、プログラムおよび記憶媒体
US20100188674A1 (en) Added image processing system, image processing apparatus, and added image getting-in method
JP7314627B2 (ja) 制御装置、画像形成装置、制御方法および制御プログラム
JP7302175B2 (ja) 情報処理装置、及び情報処理プログラム
JP2007148486A (ja) 文書閲覧支援方法および文書閲覧支援システム並びに文書処理装置およびプログラム
JP4310176B2 (ja) 画像処理装置、画像処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130912

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: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131011

R150 Certificate of patent or registration of utility model

Ref document number: 5390880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees