JPH05134647A - 文字処理方法 - Google Patents
文字処理方法Info
- Publication number
- JPH05134647A JPH05134647A JP3295698A JP29569891A JPH05134647A JP H05134647 A JPH05134647 A JP H05134647A JP 3295698 A JP3295698 A JP 3295698A JP 29569891 A JP29569891 A JP 29569891A JP H05134647 A JPH05134647 A JP H05134647A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing system
- character
- control points
- points
- 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.)
- Pending
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】 (修正有)
【目的】アウトラインデータを構成する制御点の数を取
得し、該取得された制御点数に基づいて、複数あるビッ
トマップ発生処理の中から適した処理を選択する文字処
理方法を提供する。 【構成】座標点は(X,Y)で表され、各2バイトづつ
の計4バイトであるとする。2つの処理系がある。処理
系Aはベジェ曲線を幾何学的に再帰分割し短い直線の集
まりに変化後、直線と同様DDA発生により所望の点を
メモリ上に打点する。処理系Bは、渡されたベジェ曲線
の制御点をそのまま直線として扱い、DDA発生により
所望点をメモリ上に打点する。制御点の個数とベジェ展
開を行うと内部ワークに納まらなくなる可能性のある座
標点数とを比較して、内部ワークに納まれは、処理系A
を選択してビットマップ形式のデータへ変換する。そう
でなければ処理系Bを選択して、ビットマップ形式のデ
ータに変換する。このように出力された文字を図示す
る。
得し、該取得された制御点数に基づいて、複数あるビッ
トマップ発生処理の中から適した処理を選択する文字処
理方法を提供する。 【構成】座標点は(X,Y)で表され、各2バイトづつ
の計4バイトであるとする。2つの処理系がある。処理
系Aはベジェ曲線を幾何学的に再帰分割し短い直線の集
まりに変化後、直線と同様DDA発生により所望の点を
メモリ上に打点する。処理系Bは、渡されたベジェ曲線
の制御点をそのまま直線として扱い、DDA発生により
所望点をメモリ上に打点する。制御点の個数とベジェ展
開を行うと内部ワークに納まらなくなる可能性のある座
標点数とを比較して、内部ワークに納まれは、処理系A
を選択してビットマップ形式のデータへ変換する。そう
でなければ処理系Bを選択して、ビットマップ形式のデ
ータに変換する。このように出力された文字を図示す
る。
Description
【0001】
【技術分野】本発明は、ベクトル形式でコード化された
パターンをビットマップ形式に変換する機能を有した文
字処理方法に関する。
パターンをビットマップ形式に変換する機能を有した文
字処理方法に関する。
【0002】
【従来の技術】ベクトル化されたアウトラインデータ
は、直線部分を表す制御点と曲線部分を表す制御点の2
種類からなるのが一般的である。
は、直線部分を表す制御点と曲線部分を表す制御点の2
種類からなるのが一般的である。
【0003】直線部分は両端の2点を制御点として持
ち、曲線部分はベジェ曲線やBスプライン曲線を表すよ
うな制御点からなっている。
ち、曲線部分はベジェ曲線やBスプライン曲線を表すよ
うな制御点からなっている。
【0004】従来、曲線データの場合は、いったん短い
直線の集まりに変換し、最終的な文字の輪郭はすべて直
線で表すようにしてから、ビットマップ形式に変換して
いた。
直線の集まりに変換し、最終的な文字の輪郭はすべて直
線で表すようにしてから、ビットマップ形式に変換して
いた。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来例では曲線部分を短い直線で表そうとする場合、生成
された直線を表す制御点の個数は、元の曲線を表す制御
点の個数よりもかなり増加してしまう(図5黒丸印)。
来例では曲線部分を短い直線で表そうとする場合、生成
された直線を表す制御点の個数は、元の曲線を表す制御
点の個数よりもかなり増加してしまう(図5黒丸印)。
【0006】一般の漢字や記号、英数字などではそれほ
ど問題はないが、ユーザーの作成した複雑なイラスト文
字のような文字を、ドットフォントから特長点を抽出す
ることによってベクトルフォント形式に変換したような
場合は、限られた内部ワークに曲線部分を短い直線で表
すことによって増加したデータを格納し切れなくなって
しまう、という問題点があった。
ど問題はないが、ユーザーの作成した複雑なイラスト文
字のような文字を、ドットフォントから特長点を抽出す
ることによってベクトルフォント形式に変換したような
場合は、限られた内部ワークに曲線部分を短い直線で表
すことによって増加したデータを格納し切れなくなって
しまう、という問題点があった。
【0007】このため、従来は、一部の複雑な文字は出
力できなかったり、あるいはこれを避けるためにドット
フォントから抽出されたアウトラインデータに関して
は、最初からすべて直線で表すような対策が取られてき
た。前者の場合は、出力されない文字が存在することに
なり、後者の場合は一般の漢字などを表現した文字でも
がたがたの文字になってしまい、どちらの場合でも出力
結果は満足のできるものではなかった(図8)。
力できなかったり、あるいはこれを避けるためにドット
フォントから抽出されたアウトラインデータに関して
は、最初からすべて直線で表すような対策が取られてき
た。前者の場合は、出力されない文字が存在することに
なり、後者の場合は一般の漢字などを表現した文字でも
がたがたの文字になってしまい、どちらの場合でも出力
結果は満足のできるものではなかった(図8)。
【0008】
【課題を解決するための手段】本発明は、ベクトルフォ
ント発生において、記憶されているベクトルフォントを
構成する制御点の数をもとに、複数あるビットマップ発
生処理の中から適した処理を選択し、延いては、選択さ
れた処理によりビットマップ形式に変換することによ
り、限られたワークで品位の良い文字の生成を可能とす
る。
ント発生において、記憶されているベクトルフォントを
構成する制御点の数をもとに、複数あるビットマップ発
生処理の中から適した処理を選択し、延いては、選択さ
れた処理によりビットマップ形式に変換することによ
り、限られたワークで品位の良い文字の生成を可能とす
る。
【0009】
【実施例】次に、本発明の実施例について、詳細な説明
を行う。尚、本発明は、複数の機器から構成されるシス
テムに適用しても良いし、1つの機器からなる装置に適
用しても良いし、システム或いは装置にプログラムを供
給することによって達成される場合にも適用できること
はいうまでもない。
を行う。尚、本発明は、複数の機器から構成されるシス
テムに適用しても良いし、1つの機器からなる装置に適
用しても良いし、システム或いは装置にプログラムを供
給することによって達成される場合にも適用できること
はいうまでもない。
【0010】〈構成〉図1は本発明にかかる文字処理装
置の基本的な構成を示すブロック図である。図1におい
て、1はCPUすなわち中央処理装置であり、この装置
全体の制御及び演算処理等を行うものである。2は読み
出し専用メモリ(ROM)であり、システム起動プログ
ラム及び文字パターン・データ等の記憶領域として使わ
れる。又、後述のフローチャートで表わされるプログラ
ムを格納している。3はランダムアクセスメモリ(RA
M)であり、後述のフローチャートで説明するように、
ワークエリア等、様々な処理ごとにそれを実行するため
のプログラム及びデータがロードされる領域である。4
はキーボード制御部(KBC)である。KBC4は、キ
ーボード(KB)5よりキー入力データを受け取りCP
U1へ伝達する。6はディスプレー制御部(CRTC)
であり、7はCRTすなわちディスプレー装置である。
CRT7はCRTC6よりイメージデータを受け取り、
画像を表示する。9はフロッピーディスク(FD)装置
あるいはハードディスク(HD)装置等の外部記憶装置
である。8はディスク制御部(DKC)であり、CPU
1と外部記憶装置9との間のデータ伝送等の制御を行う
ものである。10はプリンタ制御部(PRTC)であ
り、11はプリンタ(PRT)装置である。PRTC1
0は、CPU1からデータを受け取り、PRT11にデ
ータを出力する。12はシステムバスであり、上述の構
成要素間のデータの通路となるべきものである。
置の基本的な構成を示すブロック図である。図1におい
て、1はCPUすなわち中央処理装置であり、この装置
全体の制御及び演算処理等を行うものである。2は読み
出し専用メモリ(ROM)であり、システム起動プログ
ラム及び文字パターン・データ等の記憶領域として使わ
れる。又、後述のフローチャートで表わされるプログラ
ムを格納している。3はランダムアクセスメモリ(RA
M)であり、後述のフローチャートで説明するように、
ワークエリア等、様々な処理ごとにそれを実行するため
のプログラム及びデータがロードされる領域である。4
はキーボード制御部(KBC)である。KBC4は、キ
ーボード(KB)5よりキー入力データを受け取りCP
U1へ伝達する。6はディスプレー制御部(CRTC)
であり、7はCRTすなわちディスプレー装置である。
CRT7はCRTC6よりイメージデータを受け取り、
画像を表示する。9はフロッピーディスク(FD)装置
あるいはハードディスク(HD)装置等の外部記憶装置
である。8はディスク制御部(DKC)であり、CPU
1と外部記憶装置9との間のデータ伝送等の制御を行う
ものである。10はプリンタ制御部(PRTC)であ
り、11はプリンタ(PRT)装置である。PRTC1
0は、CPU1からデータを受け取り、PRT11にデ
ータを出力する。12はシステムバスであり、上述の構
成要素間のデータの通路となるべきものである。
【0011】〈フローチャートの説明〉以上の構成から
なる文字処理装置の動作を、図2のフローチャートを用
いて説明する。以上の構成からなるシステムの一例とし
ては以下の様なものを用いる。 ・座標用ワークサイズは10Kバイトとする。 ・座標点は(x,y)で表されるものとし、各2バイト
づつの計4バイトであるとする。したがって、10Kバ
イトのワークには2500点分の座標点を格納すること
ができる。 ・ベクトルデータからビットマップ形式のデータに変換
する処理系としては図4に示す、2つの処理系があると
する。どちらの処理系も入力としては直線+3次ベジェ
曲線のデータである。ここで処理系Aはベジェ曲線を幾
何学的に再帰分割することでいったん短い直線の集まり
に変換した後に、直線と同様DDA発生アルゴリズムに
より所望の点をメモリ上に打点するような処理系であ
り、品位の良い曲線部分を発生させることができるが、
必要とするワークメモリが大きい処理系である。処理系
Bは渡されたベジェ曲線の制御点をそのまま直線として
扱い、DDA発生アルゴリズムにより所望の点をメモリ
上に打点するような処理系で、曲線部分の品位は悪い
が、必要とするワーク用のメモリは小さくてよい処理系
である。 ・処理系の選択手段の選択方法としては、ベクトルデー
タを構成する制御点の総数が500点を越えたら処理系
Bを選択し、500点以下であれば処理系Aを選択する
ものとする。
なる文字処理装置の動作を、図2のフローチャートを用
いて説明する。以上の構成からなるシステムの一例とし
ては以下の様なものを用いる。 ・座標用ワークサイズは10Kバイトとする。 ・座標点は(x,y)で表されるものとし、各2バイト
づつの計4バイトであるとする。したがって、10Kバ
イトのワークには2500点分の座標点を格納すること
ができる。 ・ベクトルデータからビットマップ形式のデータに変換
する処理系としては図4に示す、2つの処理系があると
する。どちらの処理系も入力としては直線+3次ベジェ
曲線のデータである。ここで処理系Aはベジェ曲線を幾
何学的に再帰分割することでいったん短い直線の集まり
に変換した後に、直線と同様DDA発生アルゴリズムに
より所望の点をメモリ上に打点するような処理系であ
り、品位の良い曲線部分を発生させることができるが、
必要とするワークメモリが大きい処理系である。処理系
Bは渡されたベジェ曲線の制御点をそのまま直線として
扱い、DDA発生アルゴリズムにより所望の点をメモリ
上に打点するような処理系で、曲線部分の品位は悪い
が、必要とするワーク用のメモリは小さくてよい処理系
である。 ・処理系の選択手段の選択方法としては、ベクトルデー
タを構成する制御点の総数が500点を越えたら処理系
Bを選択し、500点以下であれば処理系Aを選択する
ものとする。
【0012】このシステムへ図6の2文字を例として入
力する。どちらもユーザーが作成した外字である。この
外字から特長点を抽出することにより、ベクトルデータ
化する。特長点抽出の作業は輪郭簡略化などの面倒な問
題があるが、ここでは省略する。図6における外字Aは
ひらがなの「あ」の48×48ドットで構成されたドッ
トフォントをそのまま外字に登録したものであり、特長
点抽出処理によって100点のベクトルフォントのデー
タに変換される。外字Bはリンゴのイラストを入力した
もので、特長点抽出処理によって1000点のベクトル
フォントのデータに変換される。
力する。どちらもユーザーが作成した外字である。この
外字から特長点を抽出することにより、ベクトルデータ
化する。特長点抽出の作業は輪郭簡略化などの面倒な問
題があるが、ここでは省略する。図6における外字Aは
ひらがなの「あ」の48×48ドットで構成されたドッ
トフォントをそのまま外字に登録したものであり、特長
点抽出処理によって100点のベクトルフォントのデー
タに変換される。外字Bはリンゴのイラストを入力した
もので、特長点抽出処理によって1000点のベクトル
フォントのデータに変換される。
【0013】図2のステップ2−1において、入力装置
側から渡される情報を入力パラメータとして取り込む。
この時渡されるパラメータとしては、文字コード、出力
文字サイズ、出力形式、修飾の種類などがある。本実施
例においては文字コードに上記外字のコードを入力し、
それ以外のパラメータは何であってもよい。
側から渡される情報を入力パラメータとして取り込む。
この時渡されるパラメータとしては、文字コード、出力
文字サイズ、出力形式、修飾の種類などがある。本実施
例においては文字コードに上記外字のコードを入力し、
それ以外のパラメータは何であってもよい。
【0014】そして、ステップ2−2においては、指定
された文字コードにより図1のROM2に格納されてい
るベクトル形式のデータのインデックスを見て、そこに
示されている実際のデータが格納されているところへの
ポインタ及びデータ長を参照する。そして前記ポインタ
及びデータ長から前記ROM2に格納されているベクト
ル形式の文字データを読み込む。ROM2の中にデータ
がない場合はドットフォントからの特長点抽出処理によ
り、ベクトル形式のデータを発生させる。本実施例にお
いては図6のパターンが外字であるので、ROM2の中
にベクトルデータはないので後者の処理を行う。
された文字コードにより図1のROM2に格納されてい
るベクトル形式のデータのインデックスを見て、そこに
示されている実際のデータが格納されているところへの
ポインタ及びデータ長を参照する。そして前記ポインタ
及びデータ長から前記ROM2に格納されているベクト
ル形式の文字データを読み込む。ROM2の中にデータ
がない場合はドットフォントからの特長点抽出処理によ
り、ベクトル形式のデータを発生させる。本実施例にお
いては図6のパターンが外字であるので、ROM2の中
にベクトルデータはないので後者の処理を行う。
【0015】そしてステップ2−3においては、ステッ
プ2−2において読み込んだデータに対して入力として
得られた出力文字サイズや座標系の修飾の種類に応じて
座標の変換を行う。
プ2−2において読み込んだデータに対して入力として
得られた出力文字サイズや座標系の修飾の種類に応じて
座標の変換を行う。
【0016】ステップ2−4においては、座標変換が行
われたデータに対して実際にベクトル形式のデータから
ビットマップ形式のデータへの変換を行う。
われたデータに対して実際にベクトル形式のデータから
ビットマップ形式のデータへの変換を行う。
【0017】ステップ2−5においては、ステップ2−
2において読み込んだビットマップ系の修飾の種類に応
じてステップ2−4で作成されたビットマップパターン
に対してハッチング処理等の修飾を行う。
2において読み込んだビットマップ系の修飾の種類に応
じてステップ2−4で作成されたビットマップパターン
に対してハッチング処理等の修飾を行う。
【0018】そしてステップ2−6において、入力とし
て渡された文字コード、サイズ、修飾等に応じて作成さ
れたビットマップデータを出力装置の要求形式に変換し
て出力する。
て渡された文字コード、サイズ、修飾等に応じて作成さ
れたビットマップデータを出力装置の要求形式に変換し
て出力する。
【0019】次に図3のフローチャートを例にとって図
2のステップ2−4を詳述する。
2のステップ2−4を詳述する。
【0020】図2のステップ2−4においては、入力と
して得られる文字座標データを、ベクトル形式のデータ
からビットマップ形式のデータへの変換を行う処理を行
う。
して得られる文字座標データを、ベクトル形式のデータ
からビットマップ形式のデータへの変換を行う処理を行
う。
【0021】ステップ3−1においては、入力として渡
される文字座標データの制御点の個数を取得する。本実
施例においては、図6に示す外字Aの場合が100点、
外字Bの場合は1000点である。
される文字座標データの制御点の個数を取得する。本実
施例においては、図6に示す外字Aの場合が100点、
外字Bの場合は1000点である。
【0022】ステップ3−2では、ステップ3−1で得
られた制御点の個数とベジェ展開を行うと内部ワークに
納まらなくなる可能性のある座標点数とを比較して、も
し内部ワークに納まる様であれば処理系Aを選択してビ
ットマップ形式のデータへ変換する(ステップ3−
3)。そうでなければ処理系Bを選択してビットマップ
形式のデータに変換する(ステップ3−4)。本実施例
の場合は、500点以下の場合は処理系Aを選択し、5
00点を越える場合は処理系Bを選択するので、外字A
は処理系A、外字Bは処理系Bによってそれぞれ処理さ
れる。
られた制御点の個数とベジェ展開を行うと内部ワークに
納まらなくなる可能性のある座標点数とを比較して、も
し内部ワークに納まる様であれば処理系Aを選択してビ
ットマップ形式のデータへ変換する(ステップ3−
3)。そうでなければ処理系Bを選択してビットマップ
形式のデータに変換する(ステップ3−4)。本実施例
の場合は、500点以下の場合は処理系Aを選択し、5
00点を越える場合は処理系Bを選択するので、外字A
は処理系A、外字Bは処理系Bによってそれぞれ処理さ
れる。
【0023】このようにして出力された文字を図7に示
す。従来のすべて直線で出力していた場合の文字(図
8)に比べ、外字Aの曲線部分の品位が良いのがわか
る。外字Bの場合は制御点の個数の関係から、従来のも
のと変わらないが、文字が複雑になると曲線部分の品位
の悪さはそれほど目立たなくなるので充分である。
す。従来のすべて直線で出力していた場合の文字(図
8)に比べ、外字Aの曲線部分の品位が良いのがわか
る。外字Bの場合は制御点の個数の関係から、従来のも
のと変わらないが、文字が複雑になると曲線部分の品位
の悪さはそれほど目立たなくなるので充分である。
【0024】尚、本実施例では、指定個数を固定にした
が、可変であっても良い。例えば、外字文字を扱うか否
かを判定し、外字文字を扱う場合は、制御点数の多いパ
ターンが用いられ易いので、ワークエリアを多くとり、
指定個数を1000等に可変に制御し、できるだけ高品
位な出力を行うことができる様にしても良い。又、装置
の使用状況(例えば、並行印刷中等)に応じて、ワーク
エリアの量を可変に設定し、指定個数を可変に設定して
も良い。この様に、本発明は、ワークエリアを可変にし
たり、処理の種類を把握することにより、指定個数を可
変に或いは複数種設定しても良い。
が、可変であっても良い。例えば、外字文字を扱うか否
かを判定し、外字文字を扱う場合は、制御点数の多いパ
ターンが用いられ易いので、ワークエリアを多くとり、
指定個数を1000等に可変に制御し、できるだけ高品
位な出力を行うことができる様にしても良い。又、装置
の使用状況(例えば、並行印刷中等)に応じて、ワーク
エリアの量を可変に設定し、指定個数を可変に設定して
も良い。この様に、本発明は、ワークエリアを可変にし
たり、処理の種類を把握することにより、指定個数を可
変に或いは複数種設定しても良い。
【0025】
【発明の効果】以上説明したように、本発明により、一
般の文字の出力品位を保ったまま、複雑な文字も、限ら
れたワークサイズでベクトル形式のデータをビットマッ
プ形式のデータに変換することが可能となった。
般の文字の出力品位を保ったまま、複雑な文字も、限ら
れたワークサイズでベクトル形式のデータをビットマッ
プ形式のデータに変換することが可能となった。
【図1】本発明の実施例の内部構成を示すブロック図。
【図2】本発明の実施例の全体の流れを示すフローチャ
ート。
ート。
【図3】本発明の実施例の詳細な流れを示すフローチャ
ート。
ート。
【図4】本発明の実施例の処理系の特長を示す図。
【図5】ベジェ曲線の発生を示す図。
【図6】本発明の実施例の処理系に入力される外字のパ
ターンを示す図。
ターンを示す図。
【図7】実施例の出力結果を示す図。
【図8】従来の出力結果を示す図。
2 ROM 3 RAM 1 CPU
Claims (3)
- 【請求項1】 アウトラインデータを構成する制御点の
数を取得し、 該取得された制御点数に基づいて、複数あるビットマッ
プ発生処理の中から適した処理を選択することを特徴と
する文字処理方法。 - 【請求項2】 ワークエリアの容量に応じて、所定の個
数を可変に設定できることを特徴とする請求項第1項記
載の文字処理方法。 - 【請求項3】 処理の種類に応じて、前記所定の個数を
可変に設定できることを特徴とする請求項第1項記載の
文字処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3295698A JPH05134647A (ja) | 1991-11-12 | 1991-11-12 | 文字処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3295698A JPH05134647A (ja) | 1991-11-12 | 1991-11-12 | 文字処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05134647A true JPH05134647A (ja) | 1993-05-28 |
Family
ID=17824009
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3295698A Pending JPH05134647A (ja) | 1991-11-12 | 1991-11-12 | 文字処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05134647A (ja) |
-
1991
- 1991-11-12 JP JP3295698A patent/JPH05134647A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR0167618B1 (ko) | 문자 발생 장치 및 방법 | |
| JP3474037B2 (ja) | 文字パターン生成装置 | |
| JP3576611B2 (ja) | 文字発生装置ならびに方法 | |
| JPH0638045A (ja) | 網点画像作成装置 | |
| JP2662035B2 (ja) | 文字処理装置 | |
| JP2650324B2 (ja) | 多値文字フォント発生システム | |
| JP2603322B2 (ja) | 文字処理装置及び方法 | |
| JP2910183B2 (ja) | 文字処理装置 | |
| JPH0630927B2 (ja) | パターン出力方法 | |
| JP3341048B2 (ja) | 文書印刷装置 | |
| JPH0747330B2 (ja) | 文字出力装置 | |
| JP3084817B2 (ja) | 文字出力装置 | |
| JP3215169B2 (ja) | 文字処理装置及び方法 | |
| JPH10315540A (ja) | 文字発生方法及び文字発生装置 | |
| JPH1049129A (ja) | 文字パターン生成装置、文字パターンデータを記録したコンピュータ読み取り可能な記録媒体及び文字パターン生成プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JPH07186449A (ja) | 文字処理装置 | |
| HK1011777B (en) | Character generating apparatus and method | |
| JP2000148734A (ja) | 文字修飾方法 | |
| JPH0784739A (ja) | データ変換装置 | |
| JPH08263042A (ja) | 文字発生装置および方法 | |
| JPH04161986A (ja) | 図形処理装置 | |
| JPH07248756A (ja) | 文字図形描画装置 | |
| JPH03129394A (ja) | 文書処理装置 | |
| JPH0752462A (ja) | 文字パターン生成装置 | |
| JPH03132696A (ja) | 文字処理装置および文字処理方法 |