JPH07195739A - 文字パターン発生装置 - Google Patents
文字パターン発生装置Info
- Publication number
- JPH07195739A JPH07195739A JP5354303A JP35430393A JPH07195739A JP H07195739 A JPH07195739 A JP H07195739A JP 5354303 A JP5354303 A JP 5354303A JP 35430393 A JP35430393 A JP 35430393A JP H07195739 A JPH07195739 A JP H07195739A
- Authority
- JP
- Japan
- Prior art keywords
- character
- character pattern
- data
- stroke
- flag
- 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.)
- Granted
Links
Landscapes
- Image Generation (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Controls And Circuits For Display Device (AREA)
- Dot-Matrix Printers And Others (AREA)
Abstract
(57)【要約】
【目的】 同じ作業の反復を防ぎ、文字パターン発生に
おける一連の作業を簡素化できる。 【構成】 CPU1が発生されたストローク,部首,パ
ターンをRAM2に個別にキャッシュし、該個別にキャ
ッシュしたストロークデータ,部首,パターンを合成し
て文字パターンを発生する構成を特徴とする。
おける一連の作業を簡素化できる。 【構成】 CPU1が発生されたストローク,部首,パ
ターンをRAM2に個別にキャッシュし、該個別にキャ
ッシュしたストロークデータ,部首,パターンを合成し
て文字パターンを発生する構成を特徴とする。
Description
【0001】
【産業上の利用分野】本発明は、入力される文字情報を
解析して文字パターンを発生する複数の文字パターン処
理資源を有する文字パターン発生装置に関するものであ
る。
解析して文字パターンを発生する複数の文字パターン処
理資源を有する文字パターン発生装置に関するものであ
る。
【0002】
【従来の技術】従来、この種の文字パターン発生装置に
おける文字パターンの生成処理は、制御点から演算で1
文字分の輪郭を求めるアウトライン生成で行われていた
が、多種類の書体を扱うようになった現在、この方法で
文字生成を行おうとすると膨大なフォントデータを保持
する必要があり、データ削減方法を考えることが急務と
なっていた。
おける文字パターンの生成処理は、制御点から演算で1
文字分の輪郭を求めるアウトライン生成で行われていた
が、多種類の書体を扱うようになった現在、この方法で
文字生成を行おうとすると膨大なフォントデータを保持
する必要があり、データ削減方法を考えることが急務と
なっていた。
【0003】そこで、ストロークまたは部首単位でデー
タを持ち、これを合成させて文字を生成させるストロー
ク合成方法が生まれてきた。多種類の文字に、同一のス
トロークまたは部首を流用できるので、以前の方法に比
べ、データ量が削減できるように構成されている。
タを持ち、これを合成させて文字を生成させるストロー
ク合成方法が生まれてきた。多種類の文字に、同一のス
トロークまたは部首を流用できるので、以前の方法に比
べ、データ量が削減できるように構成されている。
【0004】従来、ハードを用いたアウトラインフォン
トパターン展開では、その都度、フォントデータ,ヒン
ティング手段,補間手段,塗りつぶし手段等を装置に予
め定められた方法に合わせるか、予め用意されたフォン
トデータ,ヒンティング手段,補間手段,塗りつぶし手
段等に合わせて装置が設計されていた。
トパターン展開では、その都度、フォントデータ,ヒン
ティング手段,補間手段,塗りつぶし手段等を装置に予
め定められた方法に合わせるか、予め用意されたフォン
トデータ,ヒンティング手段,補間手段,塗りつぶし手
段等に合わせて装置が設計されていた。
【0005】
【発明が解決しようとする課題】しかし、長い文章を作
成するときなどは、同じストロークや部首のデータを違
う文字ごとに呼び出しパターンを発生させなくてはいけ
ないといった、同一作業の反復現象が起こった。
成するときなどは、同じストロークや部首のデータを違
う文字ごとに呼び出しパターンを発生させなくてはいけ
ないといった、同一作業の反復現象が起こった。
【0006】また、予め用意されたフォントデータ,ヒ
ンティング手段,補間手段,塗りつぶし手段等に合わせ
た装置を作成する必要があったため、多大な労力と、価
格の上昇を招くという問題点があった。
ンティング手段,補間手段,塗りつぶし手段等に合わせ
た装置を作成する必要があったため、多大な労力と、価
格の上昇を招くという問題点があった。
【0007】さらに、多種類の書体を扱う場合フォント
データが膨大になり、多大なメモリを使わなければなら
ないと等の問題点があった。
データが膨大になり、多大なメモリを使わなければなら
ないと等の問題点があった。
【0008】本発明は、上記の問題点を解消するために
なされたもので、使用頻度の高い文字,部首,ストロー
クに関して、その生成させたデータをキャッシュして保
管することにより、同じ作業の反復を防ぎ、文字パター
ン発生における一連の作業を簡素化できるとともに、ヒ
ンティング,補間,塗りつぶしなどの文字パターン処理
資源を共有化して、それぞれの文字情報に対応して異な
る文字パターン処理を行うことにより、フォントデータ
と、装置の仕様の違いによって起こる余計な手間をなく
すことができる文字パターン発生装置を提供することを
目的とする。
なされたもので、使用頻度の高い文字,部首,ストロー
クに関して、その生成させたデータをキャッシュして保
管することにより、同じ作業の反復を防ぎ、文字パター
ン発生における一連の作業を簡素化できるとともに、ヒ
ンティング,補間,塗りつぶしなどの文字パターン処理
資源を共有化して、それぞれの文字情報に対応して異な
る文字パターン処理を行うことにより、フォントデータ
と、装置の仕様の違いによって起こる余計な手間をなく
すことができる文字パターン発生装置を提供することを
目的とする。
【0009】
【課題を解決するための手段】本発明に係る第1の文字
パターン発生装置は、ストローク,部首,文字パターン
を発生させる発生手段と、この発生手段により発生され
たストローク,部首,文字パターンを記憶装置にキャッ
シュするかどうかを判定する判定手段と、この判定手段
の判定結果に基づいて前記発生されたストローク,部
首,文字パターンを前記記憶装置にキャッシュするキャ
ッシュ手段と、このキャッシュ手段が前記記憶装置にキ
ャッシュしたストロークデータ,部首,文字パターンを
読み出す読出し手段とを有するものである。
パターン発生装置は、ストローク,部首,文字パターン
を発生させる発生手段と、この発生手段により発生され
たストローク,部首,文字パターンを記憶装置にキャッ
シュするかどうかを判定する判定手段と、この判定手段
の判定結果に基づいて前記発生されたストローク,部
首,文字パターンを前記記憶装置にキャッシュするキャ
ッシュ手段と、このキャッシュ手段が前記記憶装置にキ
ャッシュしたストロークデータ,部首,文字パターンを
読み出す読出し手段とを有するものである。
【0010】本発明に係る第2の文字パターン発生装置
は、入力される文字情報を解析して文字パターンを発生
させるために利用する文字パターン処理資源を選択する
フラグを作成する情報作成手段と、この情報作成手段に
より作成されたフラグに基づいて異なる文字パターン処
理資源を選択して文字パターンを発生させる文字パター
ン処理手段とを有するものである。
は、入力される文字情報を解析して文字パターンを発生
させるために利用する文字パターン処理資源を選択する
フラグを作成する情報作成手段と、この情報作成手段に
より作成されたフラグに基づいて異なる文字パターン処
理資源を選択して文字パターンを発生させる文字パター
ン処理手段とを有するものである。
【0011】本発明に係る第3の文字パターン発生装置
は、文字パターン処理資源は、文字パターン発生をスト
ロークまたはアウトラインで処理する複数のフォント処
理手段と、文字の品位を高めるための座標変換を前記フ
ラグにより定められた方法で行う複数のヒンティング手
段と、前記フラグにより定められた曲線特性により曲線
を発生させ閉領域の輪郭パターンを作成する複数の補間
手段と、前記フラグにより定められた方法で発生された
閉領域を塗りつぶしビットマップを作成する複数の塗り
つぶし手段とを有するものである。
は、文字パターン処理資源は、文字パターン発生をスト
ロークまたはアウトラインで処理する複数のフォント処
理手段と、文字の品位を高めるための座標変換を前記フ
ラグにより定められた方法で行う複数のヒンティング手
段と、前記フラグにより定められた曲線特性により曲線
を発生させ閉領域の輪郭パターンを作成する複数の補間
手段と、前記フラグにより定められた方法で発生された
閉領域を塗りつぶしビットマップを作成する複数の塗り
つぶし手段とを有するものである。
【0012】
【作用】第1の発明においては、キャッシュ手段が発生
させたストローク,部首,パターンを記憶装置にキャッ
シュし、該キャッシュしたストロークデータ,部首,パ
ターンを合成して文字パターンを発生して、使用頻度の
高いストローク,部首,パターンの発生頻度を格段に下
げて、効率よく文字パターンを発生させるものである。
させたストローク,部首,パターンを記憶装置にキャッ
シュし、該キャッシュしたストロークデータ,部首,パ
ターンを合成して文字パターンを発生して、使用頻度の
高いストローク,部首,パターンの発生頻度を格段に下
げて、効率よく文字パターンを発生させるものである。
【0013】第2の発明においては、情報作成手段が入
力される文字情報を解析して文字パターンを発生させる
ために利用する文字パターン処理資源を選択するフラグ
を作成し、該作成されたフラグに基づいて文字パターン
処理手段が異なる文字パターン処理資源を選択して文字
パターンを発生させて、入力される文字情報に左右され
ない文字パターン処理資源を共有して異なる文字パター
ン処理を行うものである。
力される文字情報を解析して文字パターンを発生させる
ために利用する文字パターン処理資源を選択するフラグ
を作成し、該作成されたフラグに基づいて文字パターン
処理手段が異なる文字パターン処理資源を選択して文字
パターンを発生させて、入力される文字情報に左右され
ない文字パターン処理資源を共有して異なる文字パター
ン処理を行うものである。
【0014】第3の発明においては、文字パターン発生
をストロークまたはアウトラインで処理する複数のフォ
ント処理手段と、文字の品位を高めるための座標変換を
前記フラグにより定められた方法で行う複数のヒンティ
ング手段と、前記フラグにより定められた曲線特性によ
り曲線を発生させ閉領域の輪郭パターンを作成する複数
の補間手段と、前記フラグにより定められた方法で発生
された閉領域を塗りつぶしビットマップを作成する複数
の塗りつぶし手段の文字パターン処理資源中から、該作
成されたフラグに基づいて文字パターン処理手段が異な
る文字パターン処理資源を選択して文字パターンを発生
させて、入力される文字情報に左右されない文字パター
ン処理資源を共有して異なる文字パターン処理を行うも
のである。
をストロークまたはアウトラインで処理する複数のフォ
ント処理手段と、文字の品位を高めるための座標変換を
前記フラグにより定められた方法で行う複数のヒンティ
ング手段と、前記フラグにより定められた曲線特性によ
り曲線を発生させ閉領域の輪郭パターンを作成する複数
の補間手段と、前記フラグにより定められた方法で発生
された閉領域を塗りつぶしビットマップを作成する複数
の塗りつぶし手段の文字パターン処理資源中から、該作
成されたフラグに基づいて文字パターン処理手段が異な
る文字パターン処理資源を選択して文字パターンを発生
させて、入力される文字情報に左右されない文字パター
ン処理資源を共有して異なる文字パターン処理を行うも
のである。
【0015】
〔第1実施例〕図1は本発明の第1実施例を示す文字パ
ターン発生装置の構成を説明するブロック図であり、本
実施例の文字パターン発生装置は、日本語ワードプロセ
ッサ,ワークステーション,コンピュータシステム等に
適用可能に構成されている。
ターン発生装置の構成を説明するブロック図であり、本
実施例の文字パターン発生装置は、日本語ワードプロセ
ッサ,ワークステーション,コンピュータシステム等に
適用可能に構成されている。
【0016】図において、1は中央処理装置(CPU)
であり、本装置全体の制御および演算処理を行う。2は
ランダムアクセスメモリ(RAM)であり、要用な処理
毎にそれぞれのプログラムおよびデータがロードされ、
実行される領域である。3は読出し専用メモリ(RO
M)であり、システム制御プログラムや、フォントデー
タなどの記憶領域である。
であり、本装置全体の制御および演算処理を行う。2は
ランダムアクセスメモリ(RAM)であり、要用な処理
毎にそれぞれのプログラムおよびデータがロードされ、
実行される領域である。3は読出し専用メモリ(RO
M)であり、システム制御プログラムや、フォントデー
タなどの記憶領域である。
【0017】4はキーボード制御部(KBC)である、
5はキーボード(KB)でキー入力によりデータを受け
取りCPUへ伝達する。6はプリンタ制御部(PRT
C)である、7はプリンタ装置(PRT)であり、これ
は、レーザービームプリンタ、バブルジェットプリンタ
などのドットプリンタである。8はディスプレイ制御部
(CRTC)である。9はディスプレイ装置(CRT)
で、ディスク制御部(DKC)10から送られてきたデ
ータを表示する。
5はキーボード(KB)でキー入力によりデータを受け
取りCPUへ伝達する。6はプリンタ制御部(PRT
C)である、7はプリンタ装置(PRT)であり、これ
は、レーザービームプリンタ、バブルジェットプリンタ
などのドットプリンタである。8はディスプレイ制御部
(CRTC)である。9はディスプレイ装置(CRT)
で、ディスク制御部(DKC)10から送られてきたデ
ータを表示する。
【0018】ディスク制御部(DKC)10は、データ
伝送などの制御を行うものである。11はフロッピーデ
ィスク装置(FD)あるいはハードディスク装置(H
D)などの外部記憶装置であり、プログラムおよびデー
タを記憶させておき、実行時必要に応じて参照またはR
AM2へロードする。12はシステムバスであり、上述
の構成要素間におけるデータ転送の通路となるべきもの
である。
伝送などの制御を行うものである。11はフロッピーデ
ィスク装置(FD)あるいはハードディスク装置(H
D)などの外部記憶装置であり、プログラムおよびデー
タを記憶させておき、実行時必要に応じて参照またはR
AM2へロードする。12はシステムバスであり、上述
の構成要素間におけるデータ転送の通路となるべきもの
である。
【0019】この様に構成された文字パターン発生装置
において、キャッシュ手段(CPU1)が発生されたス
トローク,部首,パターンを記憶装置(RAM2)に個
別にキャッシュ(詳細は図2に示すフローチャートにの
手順に従う)し、該キャッシュしたストロークデータ,
部首,パターンを合成して文字パターンを発生して、使
用頻度の高いストローク,部首,パターンの発生頻度を
格段に下げて、効率よく文字パターンを発生させるもの
である。
において、キャッシュ手段(CPU1)が発生されたス
トローク,部首,パターンを記憶装置(RAM2)に個
別にキャッシュ(詳細は図2に示すフローチャートにの
手順に従う)し、該キャッシュしたストロークデータ,
部首,パターンを合成して文字パターンを発生して、使
用頻度の高いストローク,部首,パターンの発生頻度を
格段に下げて、効率よく文字パターンを発生させるもの
である。
【0020】図2は本発明の第1実施例を示す文字パタ
ーン発生装置における第1の文字パターン発生処理手順
を説明するフローチャートである。なお、(1)〜(2
7)は各ステップを示す。
ーン発生装置における第1の文字パターン発生処理手順
を説明するフローチャートである。なお、(1)〜(2
7)は各ステップを示す。
【0021】ステップ(1)では取り込んだ展開対象文
字のデータが、すでに文字としてキャッシュされている
かどうかをキャッシュフラグを確認することにより調べ
る。ここでキャッシュフラグが「0」でなければすでに
キャッシュされているものと認識し、ステップ(2)に
移り、キャッシュバッファから対象文字のビットマップ
データを取り込みステップ(27)へ進む。
字のデータが、すでに文字としてキャッシュされている
かどうかをキャッシュフラグを確認することにより調べ
る。ここでキャッシュフラグが「0」でなければすでに
キャッシュされているものと認識し、ステップ(2)に
移り、キャッシュバッファから対象文字のビットマップ
データを取り込みステップ(27)へ進む。
【0022】ステップ(1)において、キャッシュフラ
グが「0」ならば、まだキャッシュされていないものと
認識し、ステップ(3)に移り、文字を構成している部
首の数とその種類のデータを取り込む。
グが「0」ならば、まだキャッシュされていないものと
認識し、ステップ(3)に移り、文字を構成している部
首の数とその種類のデータを取り込む。
【0023】次にステップ(4)へ移り、それら部首の
内、対象とする部首のデータがすでにキャッシュされて
いるかどうかをキャッシュフラグを確認することにより
調べる。このとき、文字を構成する部首の中から対象と
する部首を選ぶ順序は、今回は筆順に準ずることとする
が、特に筆順に準じなければならないわけではない。
内、対象とする部首のデータがすでにキャッシュされて
いるかどうかをキャッシュフラグを確認することにより
調べる。このとき、文字を構成する部首の中から対象と
する部首を選ぶ順序は、今回は筆順に準ずることとする
が、特に筆順に準じなければならないわけではない。
【0024】ここでキャッシュフラグが「0」でなけれ
ば、すでにキャッシュされているものと認識し、ステッ
プ(5)へ移り、キャッシュバッファから対象部首のビ
ットマップデータを取り込み、ステップ(23)に進
む。
ば、すでにキャッシュされているものと認識し、ステッ
プ(5)へ移り、キャッシュバッファから対象部首のビ
ットマップデータを取り込み、ステップ(23)に進
む。
【0025】ステップ(4)において、キャッシュフラ
グが「0」ならば、まだキャッシュされていないものと
認識し、ステップ(6)へ移り対象部首を構成するスト
ローク数とその種類のデータを取り込む。
グが「0」ならば、まだキャッシュされていないものと
認識し、ステップ(6)へ移り対象部首を構成するスト
ローク数とその種類のデータを取り込む。
【0026】次にステップ(7)へ移り、対象ストロー
クのデータがすでにキャッシュされているものかどうか
をキャッシュフラグを確認することにより調べる。この
とき部首を構成するストロークの中から対象とするスト
ロークを選ぶ順序は、今回は筆順に準ずることとする
が、特に筆順に準じなけらばならないわけではない。
クのデータがすでにキャッシュされているものかどうか
をキャッシュフラグを確認することにより調べる。この
とき部首を構成するストロークの中から対象とするスト
ロークを選ぶ順序は、今回は筆順に準ずることとする
が、特に筆順に準じなけらばならないわけではない。
【0027】ここでキャッシュフラグが「0」でなけれ
ばすでにキャッシュされているものと認識し、ステップ
(8)へ移り、キャッシュバッファから対象ストローク
のビットマップデータを取り込みステップ(19)へ進
む。
ばすでにキャッシュされているものと認識し、ステップ
(8)へ移り、キャッシュバッファから対象ストローク
のビットマップデータを取り込みステップ(19)へ進
む。
【0028】ステップ(7)において、キャッシュフラ
グが「0」ならばまだキャッシュされていないものと認
識し、ステップ(9)へ移り、対象ストロークのデータ
を取り込む。次にステップ(10)へ移り、取り込んだ
座標データに、拡大縮小に伴う座標転換を行う。
グが「0」ならばまだキャッシュされていないものと認
識し、ステップ(9)へ移り、対象ストロークのデータ
を取り込む。次にステップ(10)へ移り、取り込んだ
座標データに、拡大縮小に伴う座標転換を行う。
【0029】座標データは「芯線」+「太さ」による情
報なので、ステップ(11)で、図3に示すように輪郭
情報へ変換する。
報なので、ステップ(11)で、図3に示すように輪郭
情報へ変換する。
【0030】次いで、ステップ(12)で直線データか
どうかを判別し、直線データでないならば曲線データと
認識し、ステップ(13)で所定の曲線補間方式による
補間を行い、ステップ(14)で打点を行う。
どうかを判別し、直線データでないならば曲線データと
認識し、ステップ(13)で所定の曲線補間方式による
補間を行い、ステップ(14)で打点を行う。
【0031】一方、ステップ(12)で直線データであ
ると判定された場合は、そのままステップ(15)で打
点を行う。こうしてステップ(16)では、対象ストロ
ークのデータが1輪郭分すべて打点し終ったかどうか調
べ、まだ終わっていなければステップ(12)へ戻り、
終っていればステップ(17)へ移り、このストローク
がキャッシュ条件を満たしているかどうかを判定する。
該判定処理については後述する図4及び図5に基づいて
説明する。
ると判定された場合は、そのままステップ(15)で打
点を行う。こうしてステップ(16)では、対象ストロ
ークのデータが1輪郭分すべて打点し終ったかどうか調
べ、まだ終わっていなければステップ(12)へ戻り、
終っていればステップ(17)へ移り、このストローク
がキャッシュ条件を満たしているかどうかを判定する。
該判定処理については後述する図4及び図5に基づいて
説明する。
【0032】ステップ(17)でキャッシュ条件を満た
していると判定されると、ステップ(18)へ移りキャ
ッシュが行われる。次にステップ(19)へ移り、こう
して生成された対象ストロークの輪郭座標データ、また
はステップ(8)で取り込んだ輪郭座標データを、対象
とする部首中での展開位置へ変移する。
していると判定されると、ステップ(18)へ移りキャ
ッシュが行われる。次にステップ(19)へ移り、こう
して生成された対象ストロークの輪郭座標データ、また
はステップ(8)で取り込んだ輪郭座標データを、対象
とする部首中での展開位置へ変移する。
【0033】次にステップ(20)へ移り、部首を構成
する全ストロークの打点が終了されたかどうかを調べ
る。もしまだ終了されていなければ、ステップ(7)へ
戻り、次の対象ストロークについて同様の作業をする。
する全ストロークの打点が終了されたかどうかを調べ
る。もしまだ終了されていなければ、ステップ(7)へ
戻り、次の対象ストロークについて同様の作業をする。
【0034】対象とする部首の打点が終了していれば、
ステップ(17)と同様に、ステップ(21)でこの部
首がキャッシュ条件を満たしているかどうかを判定す
る。キャッシュ条件を満たしていれば、ステップ(2
2)へ移りキャッシュを行う。
ステップ(17)と同様に、ステップ(21)でこの部
首がキャッシュ条件を満たしているかどうかを判定す
る。キャッシュ条件を満たしていれば、ステップ(2
2)へ移りキャッシュを行う。
【0035】次にステップ(23)へ移り、こうして生
成された対象部首の輪郭座標データまたはステップ
(5)で取り込んだ輪郭座標データを対象とする文字中
での展開位置へ変移する。次にステップ(24)で、文
字を構成する全部首の打点が終了されたかどうかを調べ
る。もしまだ終了されていなければ、ステップ(4)へ
戻り、次の対象部首について同様の作業をする。
成された対象部首の輪郭座標データまたはステップ
(5)で取り込んだ輪郭座標データを対象とする文字中
での展開位置へ変移する。次にステップ(24)で、文
字を構成する全部首の打点が終了されたかどうかを調べ
る。もしまだ終了されていなければ、ステップ(4)へ
戻り、次の対象部首について同様の作業をする。
【0036】一方、ステップ(24)の判定で全部首の
打点が終了していれば、ステップ(17),(21)と
同様に、ステップ(25)でこの文字がキャッシュ条件
を満たしているかどうかを判定する。
打点が終了していれば、ステップ(17),(21)と
同様に、ステップ(25)でこの文字がキャッシュ条件
を満たしているかどうかを判定する。
【0037】該判定でキャッシュ条件を満たしていれば
ステップ(26)へ移りキャッシュを行う。こうしてで
きた1文字分のビットマップまたは、ステップ(2)で
取り込んだ輪郭座標データをステップ(27)で塗りつ
ぶし、文字パターン生成が完了する。
ステップ(26)へ移りキャッシュを行う。こうしてで
きた1文字分のビットマップまたは、ステップ(2)で
取り込んだ輪郭座標データをステップ(27)で塗りつ
ぶし、文字パターン生成が完了する。
【0038】以下、図4,図5を参照しながら、図2に
示したステップ(17)におけるキャッシュ条件の判定
処理について説明する。
示したステップ(17)におけるキャッシュ条件の判定
処理について説明する。
【0039】図4は、図2に示した文字パターン発生処
理におけるキャッシュ条件の判定処理手順の一例を示す
フローチャートである。なお、(1),(2)はステッ
プを示す。図5は、図1に示したRAM2上のキャッシ
ュバッファの状態を示す図であり、(a)は文字キャッ
シュバッファの状態を示し、(b)は部首キャッシュバ
ッファの状態を示す。
理におけるキャッシュ条件の判定処理手順の一例を示す
フローチャートである。なお、(1),(2)はステッ
プを示す。図5は、図1に示したRAM2上のキャッシ
ュバッファの状態を示す図であり、(a)は文字キャッ
シュバッファの状態を示し、(b)は部首キャッシュバ
ッファの状態を示す。
【0040】ステップ(1)で、キャッシュした文字ま
たは部首またはストロークを格納しておくバッファが既
にデータで一杯になっているかどうかを調べる。
たは部首またはストロークを格納しておくバッファが既
にデータで一杯になっているかどうかを調べる。
【0041】既に一杯の場合はステップ(2)で、この
キャッシュバッファ内に格納されているデータの優先順
位と対象となっている文字または部首またはストローク
の優先順位とを比べどちらが優先順位が高いかを調べ
る。
キャッシュバッファ内に格納されているデータの優先順
位と対象となっている文字または部首またはストローク
の優先順位とを比べどちらが優先順位が高いかを調べ
る。
【0042】もし対象とするものより優先順位が低いも
ののデータが、キャッシュバッファ内に格納されていな
ければ、対象とする文字または部首またはストロークは
キャッシュされない。
ののデータが、キャッシュバッファ内に格納されていな
ければ、対象とする文字または部首またはストロークは
キャッシュされない。
【0043】しかし、キャッシュバッファ内に対象とす
るものより優先順位が低いものが1つ以上あれば、その
中でもっとも優先順位の低いものをキャッシュバッファ
から削除し、対象としている文字または部首またはスト
ロークをキャッシュバッファに格納する。
るものより優先順位が低いものが1つ以上あれば、その
中でもっとも優先順位の低いものをキャッシュバッファ
から削除し、対象としている文字または部首またはスト
ロークをキャッシュバッファに格納する。
【0044】これにより、図5の(a)に示す文字キャ
ッシュバッファの状態では、対象文字「打」,優先順位
「25」の文字が処理される際に、ステップ(17)
で、図4に示すステップ(2)の判定で、該文字よりも
優先順位の低い文字「訳」,優先順位「34」の文字が
削除され、対象文字「打」,優先順位「25」の文字が
優先順位順に登録されることによなる。
ッシュバッファの状態では、対象文字「打」,優先順位
「25」の文字が処理される際に、ステップ(17)
で、図4に示すステップ(2)の判定で、該文字よりも
優先順位の低い文字「訳」,優先順位「34」の文字が
削除され、対象文字「打」,優先順位「25」の文字が
優先順位順に登録されることによなる。
【0045】同様に、図5の(b)に示す文字キャッシ
ュバッファの状態では、対象部首B1,優先順位「5」
の部首が処理される際に、ステップ(17)で、図4に
示すステップ(2)の判定で、該部首よりも優先順位の
低い部首B2,優先順位「23」の部首が削除され、対
象部首B1,優先順位「5」の部首が優先順位順に登録
されることによなる。
ュバッファの状態では、対象部首B1,優先順位「5」
の部首が処理される際に、ステップ(17)で、図4に
示すステップ(2)の判定で、該部首よりも優先順位の
低い部首B2,優先順位「23」の部首が削除され、対
象部首B1,優先順位「5」の部首が優先順位順に登録
されることによなる。
【0046】なお、上記の実施例では、ストロークおよ
び部首の輪郭データをキャッシュしていたが本実施例で
は輪郭データだけではなく、上記実施例では展開時に加
算していたオフセット値も含めてキャッシュを行う。
び部首の輪郭データをキャッシュしていたが本実施例で
は輪郭データだけではなく、上記実施例では展開時に加
算していたオフセット値も含めてキャッシュを行う。
【0047】つまり、ストロークならば、その部首のど
の位置に展開されるか、部首ならば、その文字のどの位
置に展開されるかという位置情報を含めてキャッシュを
行うように制御すれば、上記実施例のように、キャッシ
ュデータを展開後、オフセット分シフトする処理が不用
となり、文字パターン発生処理を高速化できる。以下、
図6に示すフローチャートに従って詳述する。
の位置に展開されるか、部首ならば、その文字のどの位
置に展開されるかという位置情報を含めてキャッシュを
行うように制御すれば、上記実施例のように、キャッシ
ュデータを展開後、オフセット分シフトする処理が不用
となり、文字パターン発生処理を高速化できる。以下、
図6に示すフローチャートに従って詳述する。
【0048】図6は本発明の第1実施例を示す文字パタ
ーン発生装置における第2の文字パターン発生処理手段
を説明するフローチャートである。なお、(1)〜(2
7)は各ステップを示す。
ーン発生装置における第2の文字パターン発生処理手段
を説明するフローチャートである。なお、(1)〜(2
7)は各ステップを示す。
【0049】なお、ステップ(1)〜ステップ(16)
までは上記実施例を示した図2のステップ(16)まで
と同じであるので説明は省略する。
までは上記実施例を示した図2のステップ(16)まで
と同じであるので説明は省略する。
【0050】つまり、文字がキャッシュされているかど
うかを調べ、キャッシュされていればそのデータを使
い、キャッシュされていなければ、その文字を構成する
部首についてキャッシュされているかどうかを調べる。
うかを調べ、キャッシュされていればそのデータを使
い、キャッシュされていなければ、その文字を構成する
部首についてキャッシュされているかどうかを調べる。
【0051】文字を構成している部首がキャッシュされ
ているものならば、そのデータを使い、キャッシュされ
ていなければ、その部首を構成しているストロークにつ
いてキャッシュされているかを調べ、キャッシュされて
いればそのデータを使い、キャッシュされていなければ
そのストロークのデータを取り込み、輪郭データを発生
させる。
ているものならば、そのデータを使い、キャッシュされ
ていなければ、その部首を構成しているストロークにつ
いてキャッシュされているかを調べ、キャッシュされて
いればそのデータを使い、キャッシュされていなければ
そのストロークのデータを取り込み、輪郭データを発生
させる。
【0052】ステップ(17)でこのようにして生成し
たストロークの輪郭データに、対象とする部首における
そのストロークの展開位置への変位量を加算している。
ステップ(18)では上記実施例と同様にキャッシュす
るかどうかを判定し、キャッシュを行う場合はステップ
(19)でキャッシュを行う。
たストロークの輪郭データに、対象とする部首における
そのストロークの展開位置への変位量を加算している。
ステップ(18)では上記実施例と同様にキャッシュす
るかどうかを判定し、キャッシュを行う場合はステップ
(19)でキャッシュを行う。
【0053】こうしてステップ(20)で1部首が生成
されたと判断されると、そのデータに、ステップ(2
1)でその部首が対象文字中で展開される位置への変位
量を加算する。次にステップ(22)でキャッシュする
かどうかを判定し、キャッシュを行う場合はステップ
(23)へ移りキャッシュを行う。以下ステップ(2
4)以降の処理は、上記実施例のステップ(24)以降
と同様である。
されたと判断されると、そのデータに、ステップ(2
1)でその部首が対象文字中で展開される位置への変位
量を加算する。次にステップ(22)でキャッシュする
かどうかを判定し、キャッシュを行う場合はステップ
(23)へ移りキャッシュを行う。以下ステップ(2
4)以降の処理は、上記実施例のステップ(24)以降
と同様である。
【0054】上記実施例では、キャッシュを図1に示し
たRAM2に確保する実施例について説明したが、本実
施例では後述する第7のフローチャートに示すようにハ
ードディスクに確保して処理するように構成してもよ
い。
たRAM2に確保する実施例について説明したが、本実
施例では後述する第7のフローチャートに示すようにハ
ードディスクに確保して処理するように構成してもよ
い。
【0055】図7は本発明の第1実施例を示す文字パタ
ーン発生装置における第3の文字パターン発生処理手段
を説明するフローチャートである。なお、(1)〜(2
7)は各ステップを示す。
ーン発生装置における第3の文字パターン発生処理手段
を説明するフローチャートである。なお、(1)〜(2
7)は各ステップを示す。
【0056】ステップ(1)では展開対象文字のデータ
を取り込みそのとき、すでに文字としてキャッシュされ
ているものかどうかをキャッシュフラグを確認すること
により調べる。ここでキャッシュフラグが「0」でなけ
ればステップ(2)に移り、図1に示した外部記憶装置
11のキャッシュバッファからビットマップデータを取
り込みステップ(27)へ進み、対象文字の生成処理は
終る。
を取り込みそのとき、すでに文字としてキャッシュされ
ているものかどうかをキャッシュフラグを確認すること
により調べる。ここでキャッシュフラグが「0」でなけ
ればステップ(2)に移り、図1に示した外部記憶装置
11のキャッシュバッファからビットマップデータを取
り込みステップ(27)へ進み、対象文字の生成処理は
終る。
【0057】一方、ステップ(1)でキャッシュフラグ
が「0」と判定されたならば、ステップ(3)に移り、
文字を構成している部首の数とその種類のデータを取り
込む。
が「0」と判定されたならば、ステップ(3)に移り、
文字を構成している部首の数とその種類のデータを取り
込む。
【0058】次にステップ(4)へ移り、対象部首のデ
ータがすでにキャッシュされているものかどうかをキャ
ッシュフラグを確認することにより調べる。このとき対
象部首の順序は、今回は筆順に準ずることとするが、特
に筆順に準ずる必要はない。ここで、キャッシュフラグ
が「0」でなければステップ(5)へ移り、図1に示し
た外部記憶装置11のキャッシュバッファからビットマ
ップデータを取り込みステップ(24)へ進む。
ータがすでにキャッシュされているものかどうかをキャ
ッシュフラグを確認することにより調べる。このとき対
象部首の順序は、今回は筆順に準ずることとするが、特
に筆順に準ずる必要はない。ここで、キャッシュフラグ
が「0」でなければステップ(5)へ移り、図1に示し
た外部記憶装置11のキャッシュバッファからビットマ
ップデータを取り込みステップ(24)へ進む。
【0059】ステップ(4)において、キャッシュフラ
グが「0」ならば、ステップ(6)へ移り対象部首を構
成するストローク数とその種類のデータを取り込む。次
にステップ(7)へ移り、対象ストロークのデータがす
でにキャッシュされているものかどうかをキャッシュフ
ラグを確認することにより調べる。
グが「0」ならば、ステップ(6)へ移り対象部首を構
成するストローク数とその種類のデータを取り込む。次
にステップ(7)へ移り、対象ストロークのデータがす
でにキャッシュされているものかどうかをキャッシュフ
ラグを確認することにより調べる。
【0060】このとき対象ストロークの順序は、今回は
筆順に準ずることとするが、特に筆順に準ずる必要はな
い。
筆順に準ずることとするが、特に筆順に準ずる必要はな
い。
【0061】ここで、キャッシュフラグが「0」でなけ
ればステップ(8へ移り、図1に示した外部記憶装置1
1のキャッシュバッファからビットマップデータを取り
込みステップ(20)へ進む。ステップ(7)におい
て、キャッシュフラグが「0」ならば、ステップ(9)
へ移り対象ストロークのデータを取り込む。
ればステップ(8へ移り、図1に示した外部記憶装置1
1のキャッシュバッファからビットマップデータを取り
込みステップ(20)へ進む。ステップ(7)におい
て、キャッシュフラグが「0」ならば、ステップ(9)
へ移り対象ストロークのデータを取り込む。
【0062】次に、ステップ(10)へ移り取り込んだ
座標データに、拡大縮小に伴う座標転換を行う。
座標データに、拡大縮小に伴う座標転換を行う。
【0063】座標データは芯線+太さによる情報なの
で、図3に示したようにステップ(11)で輪郭情報へ
変換する。ステップ(12)で直線データかどうかを判
定し直線データでないならば曲線データと確認し、ステ
ップ(13)で所定の曲線補間方式による補間を行いス
テップ(14)で打点を行う。
で、図3に示したようにステップ(11)で輪郭情報へ
変換する。ステップ(12)で直線データかどうかを判
定し直線データでないならば曲線データと確認し、ステ
ップ(13)で所定の曲線補間方式による補間を行いス
テップ(14)で打点を行う。
【0064】一方、ステップ(12)で直線データだっ
た場合は、そのままステップ(15)で打点を行う。こ
うしてステップ(16)では対象ストロークのデータが
1輪郭分すべて打点し終ったかどうか調べ、まだ終って
いなければステップ(12)へ戻り、終っていればステ
ップ(17)へ移り対象ストロークの塗りつぶしを行
う。
た場合は、そのままステップ(15)で打点を行う。こ
うしてステップ(16)では対象ストロークのデータが
1輪郭分すべて打点し終ったかどうか調べ、まだ終って
いなければステップ(12)へ戻り、終っていればステ
ップ(17)へ移り対象ストロークの塗りつぶしを行
う。
【0065】次にステップ(18)へ移りこのストロー
クがキャッシュ条件を満たしているかどうかを上述した
ように判定する。
クがキャッシュ条件を満たしているかどうかを上述した
ように判定する。
【0066】図4に示した、ステップ(1)で外部記憶
装置11にキャッシュした文字または部首またはストロ
ークを格納しておくバッファがすでにデータでいっぱい
になっているかどうかを調べる。すでにいっぱいの場合
はステップ(2)で、このキャッシュバッファ内に格納
されているデータの優先順位と対象となっている文字ま
たは部首またはストロークの優先順位とを比べどちらが
優先順位が高いかを調べる。
装置11にキャッシュした文字または部首またはストロ
ークを格納しておくバッファがすでにデータでいっぱい
になっているかどうかを調べる。すでにいっぱいの場合
はステップ(2)で、このキャッシュバッファ内に格納
されているデータの優先順位と対象となっている文字ま
たは部首またはストロークの優先順位とを比べどちらが
優先順位が高いかを調べる。
【0067】もし対象とするものより優先順位が低いも
ののデータが、キャッシュバッファ内に格納されていな
ければ、対象とする文字または部首またはストロークは
キャッシュされない。
ののデータが、キャッシュバッファ内に格納されていな
ければ、対象とする文字または部首またはストロークは
キャッシュされない。
【0068】しかし、キャッシュバッファ内に対象とす
るものより優先順位が低いものが1つ以上あれば、その
中で最も優先順位の低いものをキャッシュバッファから
削除し、対象としている文字または部首またはストロー
クをキャッシュバッファに格納する。
るものより優先順位が低いものが1つ以上あれば、その
中で最も優先順位の低いものをキャッシュバッファから
削除し、対象としている文字または部首またはストロー
クをキャッシュバッファに格納する。
【0069】ステップ(18)でキャッシュ条件を満た
していると判定されると、ステップ(19)へ移りキャ
ッシュが行われる。次にステップ(20)へ移り、こう
して生成されて対象ストロークのビットマップ、または
ステップ(8)で取り込んだビットマップを、対象とす
る部首中での展開位置へ変移する。次にステップ(2
1)へ移り、部首を構成する全てストロークのビットマ
ップ生成とその合成が終了されたかどうかを調べる。
していると判定されると、ステップ(19)へ移りキャ
ッシュが行われる。次にステップ(20)へ移り、こう
して生成されて対象ストロークのビットマップ、または
ステップ(8)で取り込んだビットマップを、対象とす
る部首中での展開位置へ変移する。次にステップ(2
1)へ移り、部首を構成する全てストロークのビットマ
ップ生成とその合成が終了されたかどうかを調べる。
【0070】もしまだ終了されていなければ、ステップ
(7)へ戻り、次の対象ストロークについて同様の作業
をする。対象とする部首のビットマップ生成が終了して
いれば、ステップ(18)と同様に、ステップ(22)
でこの部首がキャッシュ条件を満たしているかどうかを
判定する。キャッシュ条件を満たしていれば、ステップ
(23)へ移りキャッシュを行う。
(7)へ戻り、次の対象ストロークについて同様の作業
をする。対象とする部首のビットマップ生成が終了して
いれば、ステップ(18)と同様に、ステップ(22)
でこの部首がキャッシュ条件を満たしているかどうかを
判定する。キャッシュ条件を満たしていれば、ステップ
(23)へ移りキャッシュを行う。
【0071】次にステップ(24)へ移り、こうして生
成された対象部首のビットマップまたは、ステップ
(5)で取り込んだビットマップを、対象とする文字中
での展開位置へ変移する。
成された対象部首のビットマップまたは、ステップ
(5)で取り込んだビットマップを、対象とする文字中
での展開位置へ変移する。
【0072】次にステップ(25)で文字を構成する全
部首のビットマップ生成とその合成が終了されたかどう
かを調べる。もし、まだ終了されていなければ、ステッ
プ(4)へ戻り、次の対象部首について同様の作業をす
る。終了していればステップ(18),(22)と同様
に、ステップ(26)でこの文字がキャッシュ条件を満
たしているかどうかを判定する。キャッシュ条件を満た
していればステップ(27)へ移りキャッシュを行う。
こうして対象文字のパターン生成が終了する。
部首のビットマップ生成とその合成が終了されたかどう
かを調べる。もし、まだ終了されていなければ、ステッ
プ(4)へ戻り、次の対象部首について同様の作業をす
る。終了していればステップ(18),(22)と同様
に、ステップ(26)でこの文字がキャッシュ条件を満
たしているかどうかを判定する。キャッシュ条件を満た
していればステップ(27)へ移りキャッシュを行う。
こうして対象文字のパターン生成が終了する。
【0073】上記実施例では、ストロークおよび部首の
輪郭データをRAM2または外部記憶装置11にキャッ
シュする場合について説明したが、上記輪郭データだけ
ではなく、上記実施例では展開時に加算していたオフセ
ット値も含めてキャッシュを行う。
輪郭データをRAM2または外部記憶装置11にキャッ
シュする場合について説明したが、上記輪郭データだけ
ではなく、上記実施例では展開時に加算していたオフセ
ット値も含めてキャッシュを行う。
【0074】つまり、ストロークならばその部首のどの
位置に展開されるか、部首ならその文字のどの位置に展
開されるかという位置情報を含めキャッシュを行い、上
記実施例のように、キャッシュデータを展開後、オフセ
ット分シフトする処理を実行しないように制御(詳細は
図8に基づいて詳述する)してもよい。
位置に展開されるか、部首ならその文字のどの位置に展
開されるかという位置情報を含めキャッシュを行い、上
記実施例のように、キャッシュデータを展開後、オフセ
ット分シフトする処理を実行しないように制御(詳細は
図8に基づいて詳述する)してもよい。
【0075】図8は本発明の第1実施例を示す文字パタ
ーン発生装置における第4の文字パターン発生処理手順
を説明するフローチャートである。なお、(1)〜(2
7)は各ステップを示す。ステップ(17)までは、上
記実施例を示した図7のステップ(17)までと同じ
(キャッシュについてはRAM2に確保するものとす
る)であるので、説明を省略する。
ーン発生装置における第4の文字パターン発生処理手順
を説明するフローチャートである。なお、(1)〜(2
7)は各ステップを示す。ステップ(17)までは、上
記実施例を示した図7のステップ(17)までと同じ
(キャッシュについてはRAM2に確保するものとす
る)であるので、説明を省略する。
【0076】本実施例の処理は、文字がキャッシュされ
ているかどうかを調べ、キャッシュされていればそのデ
ータを使い、キャッシュされていなければ、その文字を
構成する部首についてキャッシュされているかどうかを
調べる。文字を構成している部首がキャッシュされてい
るものならば、そのデータを使い、キャッシュされてい
なければ、その部首を構成しているストロークについて
キャッシュされているかを調べ、キャッシュされていれ
ばそのデータを使い、キャッシュされていなければその
ストロークのデータを取り込み、輪郭データを発生させ
る。
ているかどうかを調べ、キャッシュされていればそのデ
ータを使い、キャッシュされていなければ、その文字を
構成する部首についてキャッシュされているかどうかを
調べる。文字を構成している部首がキャッシュされてい
るものならば、そのデータを使い、キャッシュされてい
なければ、その部首を構成しているストロークについて
キャッシュされているかを調べ、キャッシュされていれ
ばそのデータを使い、キャッシュされていなければその
ストロークのデータを取り込み、輪郭データを発生させ
る。
【0077】そして、ステップ(18)で、このように
して生成したストロークの輪郭データに、対象とする部
首におけるそのストロークの展開位置への変位量を加算
している。ステップ(19)では上記実施例と同様にキ
ャッシュするかどうかを判定し、キャッシュを行う場合
はステップ(20)でキャッシュを行う。
して生成したストロークの輪郭データに、対象とする部
首におけるそのストロークの展開位置への変位量を加算
している。ステップ(19)では上記実施例と同様にキ
ャッシュするかどうかを判定し、キャッシュを行う場合
はステップ(20)でキャッシュを行う。
【0078】こうしてステップ(21)で1部首が生成
されたと判断されると、そのデータに、ステップ(2
2)でその部首が対象文字中で展開される位置への変位
量を加算する。
されたと判断されると、そのデータに、ステップ(2
2)でその部首が対象文字中で展開される位置への変位
量を加算する。
【0079】次にステップ(23)でキャッシュするか
どうかを判定し、キャッシュを行う場合はステップ(2
4)へ移りキャッシュを行う。以下ステップ(25)以
降の処理は、図7に示した処理のステップ(25)以降
と同様であるので説明は省略する。 〔第2実施例〕図9は本発明の第2実施例を示す文字パ
ターン発生装置の構成を説明するブロック図である。
どうかを判定し、キャッシュを行う場合はステップ(2
4)へ移りキャッシュを行う。以下ステップ(25)以
降の処理は、図7に示した処理のステップ(25)以降
と同様であるので説明は省略する。 〔第2実施例〕図9は本発明の第2実施例を示す文字パ
ターン発生装置の構成を説明するブロック図である。
【0080】図において、21は輪郭発生手段選択手段
で、図1のROM3に記憶された文字データを取込み装
置選択フラグを作成する。文字データは、そのパターン
発生方法であるアウトライン型やストローク型、そして
それらの曲線の発生方法であるベジェやスプライン等様
々なフォントデータ形式で格納されている。このパター
ン発生の対象となる文字についてこのフォントデータを
検索し、所望のパターンが得られるように処理方法を決
定し、それをこの輪郭発生手段選択手段21でフラグ化
する。
で、図1のROM3に記憶された文字データを取込み装
置選択フラグを作成する。文字データは、そのパターン
発生方法であるアウトライン型やストローク型、そして
それらの曲線の発生方法であるベジェやスプライン等様
々なフォントデータ形式で格納されている。このパター
ン発生の対象となる文字についてこのフォントデータを
検索し、所望のパターンが得られるように処理方法を決
定し、それをこの輪郭発生手段選択手段21でフラグ化
する。
【0081】この様に構成された文字パターン発生装置
において、情報作成手段(CPU1)が入力される文字
情報を解析して文字パターンを発生させるために利用す
る文字パターン処理資源を選択するフラグを後述するよ
うにRAM2上に作成し、該作成されたフラグに基づい
て文字パターン処理手段(CPU1が後述するフローチ
ャートに示す手順に従って実行する手段)が異なる文字
パターン処理資源を選択して文字パターンを発生させ
て、入力される文字情報に左右されない文字パターン処
理資源を共有して異なる文字パターン処理を行うもので
ある。
において、情報作成手段(CPU1)が入力される文字
情報を解析して文字パターンを発生させるために利用す
る文字パターン処理資源を選択するフラグを後述するよ
うにRAM2上に作成し、該作成されたフラグに基づい
て文字パターン処理手段(CPU1が後述するフローチ
ャートに示す手順に従って実行する手段)が異なる文字
パターン処理資源を選択して文字パターンを発生させ
て、入力される文字情報に左右されない文字パターン処
理資源を共有して異なる文字パターン処理を行うもので
ある。
【0082】また、文字パターン発生をストロークまた
はアウトラインで処理する複数のフォント処理手段(C
PU1がROM3に記憶されるフォントデータ従って行
う(本実施例ではストロークとアウトラインの2種類を
備える)と、文字の品位を高めるための座標変換を前記
フラグにより定められた方法で行う複数のヒンティング
手段22と、前記フラグにより定められた曲線特性によ
り曲線を発生させ閉領域の輪郭パターンを作成する複数
の補間手段23と、前記フラグにより定められた方法で
発生された閉領域を塗りつぶしビットマップを作成する
複数の塗りつぶし手段24の文字パターン処理資源中か
ら、該作成されたフラグに基づいて文字パターン処理手
段が異なる文字パターン処理資源を選択して文字パター
ンを発生させて、入力される文字情報に左右されない文
字パターン処理資源を共有して異なる文字パターン処理
を行うものである。
はアウトラインで処理する複数のフォント処理手段(C
PU1がROM3に記憶されるフォントデータ従って行
う(本実施例ではストロークとアウトラインの2種類を
備える)と、文字の品位を高めるための座標変換を前記
フラグにより定められた方法で行う複数のヒンティング
手段22と、前記フラグにより定められた曲線特性によ
り曲線を発生させ閉領域の輪郭パターンを作成する複数
の補間手段23と、前記フラグにより定められた方法で
発生された閉領域を塗りつぶしビットマップを作成する
複数の塗りつぶし手段24の文字パターン処理資源中か
ら、該作成されたフラグに基づいて文字パターン処理手
段が異なる文字パターン処理資源を選択して文字パター
ンを発生させて、入力される文字情報に左右されない文
字パターン処理資源を共有して異なる文字パターン処理
を行うものである。
【0083】以下に説明するが、本実施例の文字パター
ン発生処理には、ヒンティング手段22,補間手段2
3,塗りつぶし手段24の3つの手段を使う。なお、各
手段はロジック回路で構成されていてもいいし、CPU
とROMに記憶されたプログラムにより実行される構成
であっても差し支えない。
ン発生処理には、ヒンティング手段22,補間手段2
3,塗りつぶし手段24の3つの手段を使う。なお、各
手段はロジック回路で構成されていてもいいし、CPU
とROMに記憶されたプログラムにより実行される構成
であっても差し支えない。
【0084】それぞれの手段は複数の処理方法を予め持
ち、その選択を前記フラグで行う。ヒンティング22は
上記輪郭発生選択手段21で指定されたヒンティング処
理を行う。補間手段23は、曲線に関して上記輪郭発生
手段選択手段21で指定された補間方法を用いて補間を
し、輪郭座標を生成する。塗りつぶし手段24は上記輪
郭発生手段選択手段21で指定された方法で塗りつぶし
を行う。
ち、その選択を前記フラグで行う。ヒンティング22は
上記輪郭発生選択手段21で指定されたヒンティング処
理を行う。補間手段23は、曲線に関して上記輪郭発生
手段選択手段21で指定された補間方法を用いて補間を
し、輪郭座標を生成する。塗りつぶし手段24は上記輪
郭発生手段選択手段21で指定された方法で塗りつぶし
を行う。
【0085】なお、ヒンティング手段22および塗りつ
ぶし手段24は使わない場合もありうる。
ぶし手段24は使わない場合もありうる。
【0086】図10は、図9に示した輪郭発生手段選択
手段21のフラグ化処理を説明する図である。
手段21のフラグ化処理を説明する図である。
【0087】この図に示すように、手段選択フラグは8
ビット構成で構成され、その内容は、最初の1ビットが
パターン発生方法を選択する輪郭選択ビット、2,3ビ
ットがヒンティング手段22に予め用意されている複数
のヒンティング方法から最適な方法を選択するヒンティ
ング選択ビット、ビット4,5が補間手段23に予め用
意されている複数の補間方法から最適な方法を選択する
補間選択ビット、ビット6,7が塗りつぶし手段24に
予め用意されている複数の塗りつぶし方法から最適な方
法を選択する塗りつぶし選択ビットからなっている。な
お、本実施例は、8ビットでフラグ情報を構成する場合
について説明するが、ビット数を増やして、各資源数を
増やしてもよく、様々な変形または組合せに対応させる
ことができることはいうまでもない。
ビット構成で構成され、その内容は、最初の1ビットが
パターン発生方法を選択する輪郭選択ビット、2,3ビ
ットがヒンティング手段22に予め用意されている複数
のヒンティング方法から最適な方法を選択するヒンティ
ング選択ビット、ビット4,5が補間手段23に予め用
意されている複数の補間方法から最適な方法を選択する
補間選択ビット、ビット6,7が塗りつぶし手段24に
予め用意されている複数の塗りつぶし方法から最適な方
法を選択する塗りつぶし選択ビットからなっている。な
お、本実施例は、8ビットでフラグ情報を構成する場合
について説明するが、ビット数を増やして、各資源数を
増やしてもよく、様々な変形または組合せに対応させる
ことができることはいうまでもない。
【0088】まず、図10に示した手段選択フラグの1
ビット目つまり、輪郭選択ビットが立っている場合につ
いて説明する。
ビット目つまり、輪郭選択ビットが立っている場合につ
いて説明する。
【0089】この輪郭選択ビットが立っていると、その
文字パターン生成を図11の(a)に示すような、文字
の輪郭を座標データで表現し、ストロークの交差を持た
ないアウトラインフォントで行うことになる。
文字パターン生成を図11の(a)に示すような、文字
の輪郭を座標データで表現し、ストロークの交差を持た
ないアウトラインフォントで行うことになる。
【0090】以下、図12に示すフローチャートを参照
しながら図9に示したヒンティング手段22の処理につ
いて説明する。
しながら図9に示したヒンティング手段22の処理につ
いて説明する。
【0091】図12は、図9に示したヒンティング手段
22の処理動作を説明するフローチャートである。な
お、(1)〜(6)は各ステップを示す。
22の処理動作を説明するフローチャートである。な
お、(1)〜(6)は各ステップを示す。
【0092】ステップ(1)では、手段選択フラグの2
ビット目が立っているかどうかを調べている。立ってい
る場合はステップ(2)に移り、今度は手段選択フラグ
の3ビット目を調べる。ここで、3ビット目が立ってい
れば、ヒンティング手段の処理として、ステップ(4)
へ移りA社のヒンティング処理を行い、3ビット目が立
っていなければ、ステップ(5)へ移りB社のヒンティ
ング処理を行う。また、ステップ(2)で手段選択フラ
グの2ビット目が立っていなければ、ステップ(3)へ
移り、手段選択フラグの3ビット目を調べる。
ビット目が立っているかどうかを調べている。立ってい
る場合はステップ(2)に移り、今度は手段選択フラグ
の3ビット目を調べる。ここで、3ビット目が立ってい
れば、ヒンティング手段の処理として、ステップ(4)
へ移りA社のヒンティング処理を行い、3ビット目が立
っていなければ、ステップ(5)へ移りB社のヒンティ
ング処理を行う。また、ステップ(2)で手段選択フラ
グの2ビット目が立っていなければ、ステップ(3)へ
移り、手段選択フラグの3ビット目を調べる。
【0093】ここで手段選択フラグの3ビット目が立っ
ていれば、ヒンティング手段の処理として、ステップ
(6)へ移りC社のヒンティング処理を行い、3ビット
目が立っていなければ、ヒンティング手段22において
ヒンティング処理を行わない。
ていれば、ヒンティング手段の処理として、ステップ
(6)へ移りC社のヒンティング処理を行い、3ビット
目が立っていなければ、ヒンティング手段22において
ヒンティング処理を行わない。
【0094】次に、図13に示すフローチャートを参照
しながら図9に示した補間手段23の処理動作について
説明する。
しながら図9に示した補間手段23の処理動作について
説明する。
【0095】図13は、図9に示した補間手段23の処
理動作を説明するフローチャートである。なお、(1)
〜(7)は各ステップを示す。
理動作を説明するフローチャートである。なお、(1)
〜(7)は各ステップを示す。
【0096】ステップ(1)で装置選択フラグの4ビッ
ト目が立っているかどうかを調べる。立っている場合は
ステップ(2)へ移り、今度は装置選択フラグの5ビッ
ト目を調べる。
ト目が立っているかどうかを調べる。立っている場合は
ステップ(2)へ移り、今度は装置選択フラグの5ビッ
ト目を調べる。
【0097】ここで5ビット目が立っていれば、補間装
置の処理として、ステップ(4)へ移り2次Bスプライ
ンによる補間を行い、5ビット目が立っていなければ、
ステップ(5)へ移り3次Bスプラインによる補間を行
う。
置の処理として、ステップ(4)へ移り2次Bスプライ
ンによる補間を行い、5ビット目が立っていなければ、
ステップ(5)へ移り3次Bスプラインによる補間を行
う。
【0098】また、ステップ(1)で装置選択フラグの
4ビット目が立っていなければ、ステップ(3)へ移り
装置選択フラグの5ビット目を調べる。ここで装置選択
フラグの5ビット目が立っていればステップ(6)へ移
り、補間装置の処理として、2次ベジェによる補間を行
い、5ビット目が立っていなければ、ステップ(7)へ
移り3次ベジェによる補間を行う。
4ビット目が立っていなければ、ステップ(3)へ移り
装置選択フラグの5ビット目を調べる。ここで装置選択
フラグの5ビット目が立っていればステップ(6)へ移
り、補間装置の処理として、2次ベジェによる補間を行
い、5ビット目が立っていなければ、ステップ(7)へ
移り3次ベジェによる補間を行う。
【0099】補間装置に用意されている補間方式は、前
述したように3次ベジェ,2次ベジェ,3次Bスプライ
ン,2次Bスプラインであり、図14,15に示す。
述したように3次ベジェ,2次ベジェ,3次Bスプライ
ン,2次Bスプラインであり、図14,15に示す。
【0100】図14,図15は、図9に示した補間手段
23による補間方式を説明する図であり、図14は3次
ベジェの補間処理に対応し、図15は2次ベジェの補間
処理に対応する。
23による補間方式を説明する図であり、図14は3次
ベジェの補間処理に対応し、図15は2次ベジェの補間
処理に対応する。
【0101】図9に示すように、1曲線を発生させるた
めの制御点A,B,C,D4点について、AB,BC,
CDの中間点a,f,eを算出する。次に今算出した
a,f,e3点について同様に、af,feの中間点
b,dをbdの中間点cを算出する。こうして求めた点
の内A,a,b,cが1曲線F(0)をc,d,e,D
がF(1)を新たに表わすようになる。この作業を予め
定められた値になるまで繰り返すことにより1曲線を表
わす座標データを作成する。
めの制御点A,B,C,D4点について、AB,BC,
CDの中間点a,f,eを算出する。次に今算出した
a,f,e3点について同様に、af,feの中間点
b,dをbdの中間点cを算出する。こうして求めた点
の内A,a,b,cが1曲線F(0)をc,d,e,D
がF(1)を新たに表わすようになる。この作業を予め
定められた値になるまで繰り返すことにより1曲線を表
わす座標データを作成する。
【0102】図10に示した2次ベジェは、3次ベジェ
が曲線を4点で構成していたのに対し、3点で曲線を構
成している。後は同様に、制御点A,B,CについてA
B,BCの中点a,cおよびこのacの中点を算出し、
算出された点の内A,a,bで1曲線F(0)を、b,
c,Cで1曲線を構成する。この作業を予め定められた
値になるまで繰り返し1曲線を表す座標データを作成す
る。
が曲線を4点で構成していたのに対し、3点で曲線を構
成している。後は同様に、制御点A,B,CについてA
B,BCの中点a,cおよびこのacの中点を算出し、
算出された点の内A,a,bで1曲線F(0)を、b,
c,Cで1曲線を構成する。この作業を予め定められた
値になるまで繰り返し1曲線を表す座標データを作成す
る。
【0103】次にBスプラインによる補間は、ベジェに
よる曲線補間とは異なり、設定された数に曲線を分割
し、それぞれ2次ないし3次の関数により曲線を発生さ
せる。
よる曲線補間とは異なり、設定された数に曲線を分割
し、それぞれ2次ないし3次の関数により曲線を発生さ
せる。
【0104】次に、図16に示すフローチャートを参照
しながら、どのようにして輪郭座標を発生させるかにつ
いて説明する。
しながら、どのようにして輪郭座標を発生させるかにつ
いて説明する。
【0105】図16は、図9に示した補間手段23を使
用した輪郭処理手順の一例を示すフローチャートであ
る。なお、(1)〜(4)は各ステップを示す。
用した輪郭処理手順の一例を示すフローチャートであ
る。なお、(1)〜(4)は各ステップを示す。
【0106】ステップ(1)では、取り込んだ輪郭制御
点が直線を構成しているものかどうかを調べている。こ
こで、その点が直線を構成している点であったならば、
ステップ(2)へ移り直線を発生させる。ステップ
(1)で直線を構成する点でなかったならば、ステップ
(3)へ移り所定の補間方式で補間を行い曲線を発生さ
せる。ステップ(2)およびステップ(3)で直線、曲
線を発生させた後、ステップ(4)へ移り、1輪郭分の
座標データを作成し終ったかを調べ、終っていなければ
ステップ(1)へ戻る。
点が直線を構成しているものかどうかを調べている。こ
こで、その点が直線を構成している点であったならば、
ステップ(2)へ移り直線を発生させる。ステップ
(1)で直線を構成する点でなかったならば、ステップ
(3)へ移り所定の補間方式で補間を行い曲線を発生さ
せる。ステップ(2)およびステップ(3)で直線、曲
線を発生させた後、ステップ(4)へ移り、1輪郭分の
座標データを作成し終ったかを調べ、終っていなければ
ステップ(1)へ戻る。
【0107】一方、ステップ(4)の判定で1輪郭分終
っていると判定された場合には、補間装置の処理は終了
する。
っていると判定された場合には、補間装置の処理は終了
する。
【0108】次に、図17に示すフローチャートを参照
しながら図9に示した塗りつぶし手段24の処理動作に
ついて説明する。
しながら図9に示した塗りつぶし手段24の処理動作に
ついて説明する。
【0109】図17は、図9に示した塗りつぶし手段2
4による塗りつぶし処理手順の一例を示すフローチャー
トである。なお、(1)〜(4)は各ステップを示す。
4による塗りつぶし処理手順の一例を示すフローチャー
トである。なお、(1)〜(4)は各ステップを示す。
【0110】ステップ(1)で手段選択フラグの6ビッ
ト目(図10参照)が立っているかどうか調べる。6ビ
ット目が立っていればステップ(2)へ移り、手段選択
フラグの7ビット目を調べる。ここで、7ビット目が立
っていれば、ステップ(3)へ移り塗りつぶし手段24
の処理として、non zero windingによる塗りつぶし処
理(詳細は後述する)を行う。
ト目(図10参照)が立っているかどうか調べる。6ビ
ット目が立っていればステップ(2)へ移り、手段選択
フラグの7ビット目を調べる。ここで、7ビット目が立
っていれば、ステップ(3)へ移り塗りつぶし手段24
の処理として、non zero windingによる塗りつぶし処
理(詳細は後述する)を行う。
【0111】一方、ステップ(2)の判定で7ビット目
が立っていなければ、ステップ(4)へ移りeven oddに
よる塗りつぶし処理(詳細は後述する)を行う。
が立っていなければ、ステップ(4)へ移りeven oddに
よる塗りつぶし処理(詳細は後述する)を行う。
【0112】一方、ステップ(1)において、手段選択
フラグの6ビット目が立っていなければ、塗りつぶし手
段24において塗りつぶしを行わない。以上一連の作業
により1輪郭による文字発生が終了する。
フラグの6ビット目が立っていなければ、塗りつぶし手
段24において塗りつぶしを行わない。以上一連の作業
により1輪郭による文字発生が終了する。
【0113】次に、手段選択フラグの1ビット目が立っ
ていなかった場合について説明する。
ていなかった場合について説明する。
【0114】装置選択フラグの1ビット目が立っていな
かった場合は、図11の(b)に示すようにストローク
単位でパターンを作成し、それを合成することにより文
字を発生させる。ストローク合成における文字パターン
発生を行う。このストローク合成による文字パターン発
生順序は図18の手順に従う。
かった場合は、図11の(b)に示すようにストローク
単位でパターンを作成し、それを合成することにより文
字を発生させる。ストローク合成における文字パターン
発生を行う。このストローク合成による文字パターン発
生順序は図18の手順に従う。
【0115】図18は本発明の第2実施例を示す文字パ
ターン発生装置における第2の文字パターン発生処理手
順の一例を示すフローチャートである。なお、(1)〜
(4),(2−1),(2−2),(3−1),(3−
2),(4−1),(4−2)は各ステップを示す。
ターン発生装置における第2の文字パターン発生処理手
順の一例を示すフローチャートである。なお、(1)〜
(4),(2−1),(2−2),(3−1),(3−
2),(4−1),(4−2)は各ステップを示す。
【0116】なお、この場合、各手段の働きおよびその
処理の指定は1輪郭による文字生成とほぼ同様であるた
め、異なる部分についてのみ説明する。
処理の指定は1輪郭による文字生成とほぼ同様であるた
め、異なる部分についてのみ説明する。
【0117】まず、異なるのは取り込むデータで、スト
ローク合成の場合は、文字を構成する全ストローク数と
そのストロークの構成点およびその位置と大きさがデー
タとなる。
ローク合成の場合は、文字を構成する全ストローク数と
そのストロークの構成点およびその位置と大きさがデー
タとなる。
【0118】ヒンティング手段22と、補間手段23
は、対象とする文字を構成するストローク数だけそれぞ
れの手段内の処理をループさせ(2−1),(2−
2),(3−1),(3−2),(4−1),(4−
2)、全ストロークについて一度のデ−タ転送で作業を
終わらせる。
は、対象とする文字を構成するストローク数だけそれぞ
れの手段内の処理をループさせ(2−1),(2−
2),(3−1),(3−2),(4−1),(4−
2)、全ストロークについて一度のデ−タ転送で作業を
終わらせる。
【0119】そして、その処理はヒンティング手段22
においては、1輪郭における処理方法と同一で、補間手
段23においては、座標データを1ストローク作成する
ごとに同一テーブルに合成していく。
においては、1輪郭における処理方法と同一で、補間手
段23においては、座標データを1ストローク作成する
ごとに同一テーブルに合成していく。
【0120】次いで、ステップ(4)で、塗りつぶし手
段24が図19に従って塗りつぶし処理を行う。
段24が図19に従って塗りつぶし処理を行う。
【0121】図19は、図18に示した塗りつぶし処理
の詳細手順の一例を示すフローチャートである。なお、
(1),(2)は各ステップを示す。
の詳細手順の一例を示すフローチャートである。なお、
(1),(2)は各ステップを示す。
【0122】ステップ(1)で手段選択フラグの6ビッ
ト目を調べる。ここで、6ビット目が立っていたなら
ば、ステップ(2)へ移り塗りつぶし手段24の処理と
して、non zero windingによる塗りつぶしを行う。
ト目を調べる。ここで、6ビット目が立っていたなら
ば、ステップ(2)へ移り塗りつぶし手段24の処理と
して、non zero windingによる塗りつぶしを行う。
【0123】一方、ステップ(1)の判定で6ビット目
が立っていなければ、塗りつぶし手段24で塗りつぶし
処理は行わない。
が立っていなければ、塗りつぶし手段24で塗りつぶし
処理は行わない。
【0124】図20は本発明に係る文字パターン発生装
置における塗りつぶし方法を説明する図である。
置における塗りつぶし方法を説明する図である。
【0125】この図に示すように、ストローク合成のよ
うな輪郭線が交差するパターンの塗りつぶしを行うと
き、even oddによる塗りつぶしを行うと塗りつぶしが行
われない部分(塗り抜け部HP)が発生する場合がある
ため、ストローク合成の場合、選択できる塗りつぶし方
法はnon zero windingのみとなる。
うな輪郭線が交差するパターンの塗りつぶしを行うと
き、even oddによる塗りつぶしを行うと塗りつぶしが行
われない部分(塗り抜け部HP)が発生する場合がある
ため、ストローク合成の場合、選択できる塗りつぶし方
法はnon zero windingのみとなる。
【0126】なお、上記実施例の塗りつぶし処理では、
ストローク合成における塗りつぶしはnon zero windi
ngのみで行ったが、ここでは、even oddによっても、塗
りつぶしが行える処理について以下説明する。なお、装
置の構成およびアウトラインフォントによる文字パター
ン発生方法は同じであるが、ストローク合成によ文字パ
ターン発生方法における塗りつぶし方法が以下のように
変わる。
ストローク合成における塗りつぶしはnon zero windi
ngのみで行ったが、ここでは、even oddによっても、塗
りつぶしが行える処理について以下説明する。なお、装
置の構成およびアウトラインフォントによる文字パター
ン発生方法は同じであるが、ストローク合成によ文字パ
ターン発生方法における塗りつぶし方法が以下のように
変わる。
【0127】上記第2実施例では、ヒンティング手段2
2、補間手段23とも1文字を構成する全ストロークに
ついて、1度のデータ転送でその装置を終らせていた
が、今回は、ヒンティング手段22、補間手段23、塗
りつぶし手段24ともに、1回に1ストロークのみの処
理を行う。すなわち、1度目の塗りつぶし手段24の処
理が終った時点では1つのストロークの塗りつぶしの終
わったビットマップデータができ上がった状態になる。
以下、図21及び図22,図23を参照しながら他の塗
りつぶし処理について説明する。
2、補間手段23とも1文字を構成する全ストロークに
ついて、1度のデータ転送でその装置を終らせていた
が、今回は、ヒンティング手段22、補間手段23、塗
りつぶし手段24ともに、1回に1ストロークのみの処
理を行う。すなわち、1度目の塗りつぶし手段24の処
理が終った時点では1つのストロークの塗りつぶしの終
わったビットマップデータができ上がった状態になる。
以下、図21及び図22,図23を参照しながら他の塗
りつぶし処理について説明する。
【0128】図21は本発明に係る文字パターン発生装
置における他の文字パターン生成手順の一例を示すフロ
ーチャートである。なお、(1)〜(5)は各ステップ
を示す。
置における他の文字パターン生成手順の一例を示すフロ
ーチャートである。なお、(1)〜(5)は各ステップ
を示す。
【0129】図22は本発明に係る文字パターン発生装
置における他の文字パターン生成状態を示す図である。
なお、15−1〜15−7は各塗りつぶしのステップを
示す。図23は本発明に係る文字パターン発生装置にお
ける文字パターンのストロークと部首との対応説明する
図である。
置における他の文字パターン生成状態を示す図である。
なお、15−1〜15−7は各塗りつぶしのステップを
示す。図23は本発明に係る文字パターン発生装置にお
ける文字パターンのストロークと部首との対応説明する
図である。
【0130】図21に示すように塗りつぶし処理が終わ
るごとに(1)〜(5)、文字を構成する全ストローク
について処理が終ったかどうかを確認し終っていなけれ
ば、繰り返し次のストロークについて処理を行う。
るごとに(1)〜(5)、文字を構成する全ストローク
について処理が終ったかどうかを確認し終っていなけれ
ば、繰り返し次のストロークについて処理を行う。
【0131】これにより、文字が構成されていく過程
は、図22に示す「木」を例にすると、1度目の処理で
はステップ15ー1のように横線のパターンが生成され
る、次にステップ15ー2で次のストロークである縦線
のパターンが生成され、ステップ15ー3でこのパター
ンをステップ15ー1で生成された横線のパターンが合
成される。
は、図22に示す「木」を例にすると、1度目の処理で
はステップ15ー1のように横線のパターンが生成され
る、次にステップ15ー2で次のストロークである縦線
のパターンが生成され、ステップ15ー3でこのパター
ンをステップ15ー1で生成された横線のパターンが合
成される。
【0132】ステップ15ー4では次のストロークであ
る左払いのパターンが生成され、ステップ15ー5でこ
のパターンを前記ステップ15ー3で生成されたパター
ンに合成をする。ステップ15ー6では次のストローク
である右払いのパターンが生成され、ステップ15ー7
でこのパターンをステップ15ー5で生成され得たパタ
ーンに合成すると、文字パターン「木」が生成される。
また、この方法における塗りつぶし装置の処理によれ
ば、アウトラインフォントと同様に、non zerowindin
g,even oddの二通りの方法で塗りつぶしが行える。
る左払いのパターンが生成され、ステップ15ー5でこ
のパターンを前記ステップ15ー3で生成されたパター
ンに合成をする。ステップ15ー6では次のストローク
である右払いのパターンが生成され、ステップ15ー7
でこのパターンをステップ15ー5で生成され得たパタ
ーンに合成すると、文字パターン「木」が生成される。
また、この方法における塗りつぶし装置の処理によれ
ば、アウトラインフォントと同様に、non zerowindin
g,even oddの二通りの方法で塗りつぶしが行える。
【0133】上記実施例によれば、文字,部首,ストロ
ークをそれぞれキャッシュすることにより、ストローク
合成による文字生成で、多数の文字を生成するときに、
いちいち同一のストロークや、部首や文字をその都度展
開する処理を減らすことを大幅に削減できる。
ークをそれぞれキャッシュすることにより、ストローク
合成による文字生成で、多数の文字を生成するときに、
いちいち同一のストロークや、部首や文字をその都度展
開する処理を減らすことを大幅に削減できる。
【0134】また、あらかじめそれぞれの装置に複数の
文字パターン処理資源を用意しておくことにより、デー
タの違いや処理方法の変更等による装置自体の変更や作
成等の余分な処理が削減され、効率よく文字パターン発
生が可能となる。
文字パターン処理資源を用意しておくことにより、デー
タの違いや処理方法の変更等による装置自体の変更や作
成等の余分な処理が削減され、効率よく文字パターン発
生が可能となる。
【0135】なお、本発明は、複数の機器から構成され
るシステムに適用しても、1つの機器から成る装置に適
用しても良い。また、本発明はシステムあるいは装置に
プログラムを供給することによって達成させる場合にも
適用できることは言うまでもない。
るシステムに適用しても、1つの機器から成る装置に適
用しても良い。また、本発明はシステムあるいは装置に
プログラムを供給することによって達成させる場合にも
適用できることは言うまでもない。
【0136】
【発明の効果】以上説明したように、本発明に係る第1
の発明によれば、キャッシュ手段が発生されたストロー
ク,部首,パターンを記憶装置にキャッシュし、該キャ
ッシュしたストロークデータ,部首,パターンを合成し
て文字パターンを発生したので、使用頻度の高いストロ
ーク,部首,パターンの発生頻度を格段に下げて、効率
よく文字パターンを発生させることができる。
の発明によれば、キャッシュ手段が発生されたストロー
ク,部首,パターンを記憶装置にキャッシュし、該キャ
ッシュしたストロークデータ,部首,パターンを合成し
て文字パターンを発生したので、使用頻度の高いストロ
ーク,部首,パターンの発生頻度を格段に下げて、効率
よく文字パターンを発生させることができる。
【0137】第2の発明によれば、情報作成手段が入力
される文字情報を解析して文字パターンを発生させるた
めに利用する文字パターン処理資源を選択するフラグを
作成し、該作成されたフラグに基づいて文字パターン処
理手段が異なる文字パターン処理資源を選択して文字パ
ターンを発生させるので、入力される文字情報に左右さ
れない文字パターン処理資源を共有して異なる文字パタ
ーン処理を行うことができる。
される文字情報を解析して文字パターンを発生させるた
めに利用する文字パターン処理資源を選択するフラグを
作成し、該作成されたフラグに基づいて文字パターン処
理手段が異なる文字パターン処理資源を選択して文字パ
ターンを発生させるので、入力される文字情報に左右さ
れない文字パターン処理資源を共有して異なる文字パタ
ーン処理を行うことができる。
【0138】第3の発明によれば、文字パターン発生を
ストロークまたはアウトラインで処理する複数のフォン
ト処理手段と、文字の品位を高めるための座標変換を前
記フラグにより定められた方法で行う複数のヒンティン
グ手段と、前記フラグにより定められた曲線特性により
曲線を発生させ閉領域の輪郭パターンを作成する複数の
補間手段と、前記フラグにより定められた方法で発生さ
れた閉領域を塗りつぶしビットマップを作成する複数の
塗りつぶし手段の文字パターン処理資源中から、該作成
されたフラグに基づいて文字パターン処理手段が異なる
文字パターン処理資源を選択して文字パターンを発生さ
せるので、入力される文字情報に左右されない文字パタ
ーン処理資源を共有して異なる文字パターン処理を行う
ことができる。
ストロークまたはアウトラインで処理する複数のフォン
ト処理手段と、文字の品位を高めるための座標変換を前
記フラグにより定められた方法で行う複数のヒンティン
グ手段と、前記フラグにより定められた曲線特性により
曲線を発生させ閉領域の輪郭パターンを作成する複数の
補間手段と、前記フラグにより定められた方法で発生さ
れた閉領域を塗りつぶしビットマップを作成する複数の
塗りつぶし手段の文字パターン処理資源中から、該作成
されたフラグに基づいて文字パターン処理手段が異なる
文字パターン処理資源を選択して文字パターンを発生さ
せるので、入力される文字情報に左右されない文字パタ
ーン処理資源を共有して異なる文字パターン処理を行う
ことができる。
【0139】従って、同じ作業の反復を防ぎ、文字パタ
ーン発生における一連の作業を簡素化できるとともに、
フォントデータと、装置の仕様の違いによって起こる余
計な手間をなくすことができるという効果を奏する。
ーン発生における一連の作業を簡素化できるとともに、
フォントデータと、装置の仕様の違いによって起こる余
計な手間をなくすことができるという効果を奏する。
【図1】本発明の第1実施例を示す文字パターン発生装
置の構成を説明するブロック図である。
置の構成を説明するブロック図である。
【図2】本発明の第1実施例を示す文字パターン発生装
置における第1の文字パターン発生処理手順を説明する
フローチャートである。
置における第1の文字パターン発生処理手順を説明する
フローチャートである。
【図3】本発明に係る文字パターン発生装置における座
標データから輪郭情報への変換状態を説明する模式図で
ある。
標データから輪郭情報への変換状態を説明する模式図で
ある。
【図4】図2に示した文字パターン発生処理におけるキ
ャッシュ条件の判定処理手順の一例を示すフローチャー
トである。
ャッシュ条件の判定処理手順の一例を示すフローチャー
トである。
【図5】図1に示したRAM2上のキャッシュバッファ
の状態を示す図である。
の状態を示す図である。
【図6】本発明の第1実施例を示す文字パターン発生装
置における第2の文字パターン発生処理手順を説明する
フローチャートである。
置における第2の文字パターン発生処理手順を説明する
フローチャートである。
【図7】本発明の第1実施例を示す文字パターン発生装
置における第3の文字パターン発生処理手順を説明する
フローチャートである。
置における第3の文字パターン発生処理手順を説明する
フローチャートである。
【図8】本発明の第1実施例を示す文字パターン発生装
置における第4の文字パターン発生処理手順を説明する
フローチャートである。
置における第4の文字パターン発生処理手順を説明する
フローチャートである。
【図9】本発明の第2実施例を示す文字パターン発生装
置の構成を説明するブロック図である。
置の構成を説明するブロック図である。
【図10】図9に示した輪郭発生手段選択手段21のフ
ラグ化処理を説明する図である。
ラグ化処理を説明する図である。
【図11】この種の文字パターン発生装置における文字
パターン生成方法を示す模式図である。
パターン生成方法を示す模式図である。
【図12】図9に示したヒンティング手段の処理動作を
説明するフローチャートである。
説明するフローチャートである。
【図13】図9に示した補間手段の処理動作を説明する
フローチャートである。
フローチャートである。
【図14】図9に示した補間手段による補間方式を説明
する図である。
する図である。
【図15】図9に示した補間手段による補間方式を説明
する図である。
する図である。
【図16】図9に示した補間手段を使用した輪郭処理手
順の一例を示すフローチャートである。
順の一例を示すフローチャートである。
【図17】図9に示した塗りつぶし手段による塗りつぶ
し処理手順の一例を示すフローチャートである。
し処理手順の一例を示すフローチャートである。
【図18】本発明の第2実施例を示す文字パターン発生
装置における第2の文字パターン発生処理手順の一例を
示すフローチャートである。
装置における第2の文字パターン発生処理手順の一例を
示すフローチャートである。
【図19】図18に示した塗りつぶし処理の詳細手順の
一例を示すフローチャートである。
一例を示すフローチャートである。
【図20】本発明に係る文字パターン発生装置における
塗りつぶし方法を説明する図である。
塗りつぶし方法を説明する図である。
【図21】本発明に係る文字パターン発生装置における
他の文字パターン生成手順の一例を示すフローチャート
である。
他の文字パターン生成手順の一例を示すフローチャート
である。
【図22】本発明に係る文字パターン発生装置における
他の文字パターン生成状態を示す図である。
他の文字パターン生成状態を示す図である。
【図23】本発明に係る文字パターン発生装置における
文字パターンのストロークと部首との対応説明する図で
ある。
文字パターンのストロークと部首との対応説明する図で
ある。
1 CPU 2 RAM 3 ROM 4 KBC 5 KB 6 PRTC 7 PRT 8 CRTC 9 CRT 10 DKC 11 外部記憶装置
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G09G 5/24 9471−5G
Claims (3)
- 【請求項1】 フォントデータを記憶させてある記憶装
置からストロークパターンのデータを読み出し、そのス
トロークの合成により文字パターンを発生させる文字パ
ターン発生装置において、ストローク,部首,文字パタ
ーンを発生させる発生手段と、この発生手段により発生
されたストローク,部首,文字パターンを記憶装置にキ
ャッシュするかどうかを判定する判定手段と、この判定
手段の判定結果に基づいて前記発生されたストローク,
部首,文字パターンを前記記憶装置にキャッシュするキ
ャッシュ手段と、このキャッシュ手段が前記記憶装置に
キャッシュしたストロークデータ,部首,文字パターン
を読み出す読出し手段とを有することを特徴とする文字
パターン発生装置。 - 【請求項2】 入力される文字情報を解析して文字パタ
ーンを発生させるために利用する文字パターン処理資源
を選択するフラグを作成する情報作成手段と、この情報
作成手段により作成されたフラグに基づいて異なる文字
パターン処理資源を選択して文字パターンを発生させる
文字パターン処理手段とを有することを特徴とする文字
パターン発生装置。 - 【請求項3】 文字パターン処理資源は、文字パターン
発生をストロークまたはアウトラインで処理する複数の
フォント処理手段と、文字の品位を高めるための座標変
換を前記フラグにより定められた方法で行う複数のヒン
ティング手段と、前記フラグにより定められた曲線特性
により曲線を発生させ閉領域の輪郭パターンを作成する
複数の補間手段と、前記フラグにより定められた方法で
発生された閉領域を塗りつぶしビットマップを作成する
複数の塗りつぶし手段とを有することを特徴とする請求
項2記載の文字パターン発生装置。
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5354303A JP3025739B2 (ja) | 1993-12-30 | 1993-12-30 | 文字パターン発生装置および文字パターン発生方法 |
| US08/362,986 US5734748A (en) | 1993-12-30 | 1994-12-23 | Character pattern generation apparatus and method |
| EP94309752A EP0661669B1 (en) | 1993-12-30 | 1994-12-23 | Character processing apparatus and method |
| DE69426758T DE69426758D1 (de) | 1993-12-30 | 1994-12-23 | Anordnung und Verfahren zur Verarbeitung von Zeichenmustern |
| TW083112195A TW282526B (ja) | 1993-12-30 | 1994-12-27 | |
| CN94120762A CN1102278C (zh) | 1993-12-30 | 1994-12-30 | 字符图形产生装置和方法 |
| KR1019940039768A KR0185245B1 (ko) | 1993-12-30 | 1994-12-30 | 문자패턴 발생장치 및 방법 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5354303A JP3025739B2 (ja) | 1993-12-30 | 1993-12-30 | 文字パターン発生装置および文字パターン発生方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07195739A true JPH07195739A (ja) | 1995-08-01 |
| JP3025739B2 JP3025739B2 (ja) | 2000-03-27 |
Family
ID=18436633
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5354303A Expired - Fee Related JP3025739B2 (ja) | 1993-12-30 | 1993-12-30 | 文字パターン発生装置および文字パターン発生方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3025739B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012111121A (ja) * | 2010-11-24 | 2012-06-14 | Ricoh Co Ltd | サーマルメディア描画装置 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3471939B2 (ja) | 1994-12-14 | 2003-12-02 | キヤノン株式会社 | 文字パターン発生装置及び方法 |
-
1993
- 1993-12-30 JP JP5354303A patent/JP3025739B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012111121A (ja) * | 2010-11-24 | 2012-06-14 | Ricoh Co Ltd | サーマルメディア描画装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3025739B2 (ja) | 2000-03-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR970008546B1 (ko) | 문자 또는 도형의 처리방법 | |
| US5734748A (en) | Character pattern generation apparatus and method | |
| JP3037854B2 (ja) | 文字生成方法及びその装置 | |
| JPH07195739A (ja) | 文字パターン発生装置 | |
| US7012605B1 (en) | Method for generating fonts from very small data sets | |
| JP3471939B2 (ja) | 文字パターン発生装置及び方法 | |
| JP3146771B2 (ja) | フォントラスタライズ装置およびその方法 | |
| JP2806679B2 (ja) | 文字発生装置 | |
| JPWO2010134124A1 (ja) | ベクトル図形描画装置 | |
| JP3191409B2 (ja) | フォントデータ生成装置 | |
| JP3280160B2 (ja) | 文書処理装置および文書処理方法 | |
| JP3344538B2 (ja) | 文字生成装置 | |
| JPH02266480A (ja) | 高品質文字パターン発生方式 | |
| JP2782904B2 (ja) | 多角形塗りつぶし方式 | |
| JP2700124B2 (ja) | 図形表示方法及びその実施装置 | |
| JP3827255B2 (ja) | 情報処理システム及び方法並びに輪郭データ処理装置及び方法 | |
| JP2835056B2 (ja) | 高品質文字パターン発生方式 | |
| JPH04188192A (ja) | 多階調文字発生方法及びその装置 | |
| JPH0239361A (ja) | 文書処理装置 | |
| JPH01166967A (ja) | パターン発生装置 | |
| JPH0239362A (ja) | 文書処理装置 | |
| JPH0997045A (ja) | 文字処理装置及び方法 | |
| JPH02238965A (ja) | 記録装置 | |
| JPH04295958A (ja) | 文書処理装置 | |
| JPH0239359A (ja) | 文書処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |