JPH05108294A - 文字処理方法 - Google Patents

文字処理方法

Info

Publication number
JPH05108294A
JPH05108294A JP3263885A JP26388591A JPH05108294A JP H05108294 A JPH05108294 A JP H05108294A JP 3263885 A JP3263885 A JP 3263885A JP 26388591 A JP26388591 A JP 26388591A JP H05108294 A JPH05108294 A JP H05108294A
Authority
JP
Japan
Prior art keywords
processing system
processing
window
speed
quality
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
Application number
JP3263885A
Other languages
English (en)
Inventor
Hirotsugu Matsumoto
裕嗣 松本
Yasuhiko Sasaki
安彦 佐々木
政幸 ▲吉▼田
Masayuki Yoshida
Tetsuo Sakai
哲夫 酒井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP3263885A priority Critical patent/JPH05108294A/ja
Priority to DE69222255T priority patent/DE69222255T2/de
Priority to US07/958,723 priority patent/US5524198A/en
Priority to EP92309249A priority patent/EP0537030B1/en
Priority to KR1019920018646A priority patent/KR970008546B1/ko
Publication of JPH05108294A publication Critical patent/JPH05108294A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 複数の処理系を有し、複数のウインドウに、前記いずれ
かの処理系を用いて、文字パターンを出力する文字処理
方法であって、各ウインドウの要求を判別し、その要求
に応じて、各ウインドウに対して、品位と、スピード或
いはデータ形式或いはメモリ容量或いは出力サイズ或い
は書体のいずれか1つとの組合せを基準にして、複数の
内の1つの処理系を選択する文字処理方法。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチウインドウ表示
機能を有するシステムにおいて、各ウインドウにベクト
ル形式で表現されたパターンをビットマップ形式に変換
し、出力する機能を有した文字処理方法に関する。
【0002】
【従来の技術】従来、マルチウインドウ、マルチタスク
の環境において複数のウインドウにベクトル化されたパ
ターンをビットマップ形式に変換して出力する際、曲線
発生、打点、塗りつぶし等の処理を全て1つの処理系と
してソフトウエアで行っていた。
【0003】しかしながら、複数のウインドウに対し、
曲線発生、打点、塗りつぶし等の処理を全てソフトウエ
アで、しかも一つの処理系で行うには処理時間が大きく
なってしまい、ベクトル形式のデータをビットマップ形
式のデータに変換するのが遅くなってしまう。処理時間
を短くしようとすると、曲線発生等の処理を荒くせざる
を得なくなり、出力品位を落としてしまうという問題点
があった。また、各ウインドウの要求が異なっていて
も、1つの処理系しか利用できないため、各ウインドウ
の要求に応じた処理ができないという問題があった。
【0004】〈目的〉以上の点に鑑み、本発明の目的
は、複数の処理系を有し、複数のウインドウに、前記い
ずれかの処理系を用いて、文字パターンを出力する文字
処理方法であって、各ウインドウの要求を判別し、その
要求に応じて、各ウインドウに対して、品位と、スピー
ド或いはデータ形式或いはメモリ容量或いは出力サイズ
或いは書体のいずれか1つとの組合せを基準にして、複
数の内の1つの処理系を選択する文字処理方法を提供す
ることにある。
【0005】
【実施例】次に本発明の実施例について説明する。
【0006】なお、本発明は複数の機器からなるシステ
ムにおいて、達成されても良く、1つの機器からなる装
置において達成されても良い。また、システムあるいは
装置にプログラムを供給することにより、本発明が達成
される場合にも適用されることは言うまでもない。
【0007】図1は本発明にかかる本システムの基本的
な構成を示すブロック図である。本システムは日本語ワ
ードプロッセッサであっても良いし、ワークステーショ
ンあるいはコンピュータシステムであっても良い。図1
において1はCPU、即ち中央処理装置であり、この装
置全体の制御及び演算処理等を行なうものである。2は
ROM即ち読み出し専用メモリであり、システム起動プ
ログラム及び文字パターン・データ等の記憶領域であ
り、ウインドウシステムがメニュー等の文字を出力する
際に使用される。3はRAM即ちランダムアクセスメモ
リでありROMや外部記憶装置からウインドウシステム
がロードされ、図2に示すアプリケーションキューやシ
ステムキューの領域、使用制限のないデータ記憶領域と
して使用され、様々な処理毎に各々のプログラム(後述
のフローチャートによって表わされている)及びデータ
がロードされ、実行される領域である。4はKBC即ち
キーボード制御部であり、5のKB即ちキーボードより
キー入力データを受け取りCPU1へ伝達されRAM3
上の図2に示すシステムキューを経由しアプリケーショ
ンキューにセットされる。6はCRTC即ちデイスプレ
イ制御部であり、ウインドウシステムから表示要求があ
ると7のCRT即ちデイスプレイ装置に表示を行う。9
はFD即ちフロッピーディスク装置あるいはHD即ちハ
ードディスク装置等の外部記憶装置であり、プログラム
及びデータを記憶させておき、実行時必要に応じて参照
したりまたはRAM3へロードする。8はDKC即ちデ
イスク制御部であり、データ伝送等の制御を行なうもの
であり、10はPRTC即ちプリンタ制御部であり、1
1はPRT即ちプリンタ装置である。12はシステムバ
スであり、上述の構成要素間のデータの通路となるべき
ものである。
【0008】以上の構成からなる本実施例の詳細を以下
に説明する。
【0009】図2に示すフローチャートは、イベント駆
動型構造を持つウインドウシステムの基本的なデ−タの
流れを模式的に示している。図2のステップ204から
ステップ206はウインドウシステム内部の動きを示し
ており、図2のステップ201からステップ203は、
ウインドウシステム上で動くアプリケーション(ワープ
ロソフト等)を示している。ウインドウシステムはOS
と考えてもよい。ステップ201においては、ウインド
ウシステムの初期化が行われる。ステップ202におい
ては、RAM3内のアプリケーションキューからメッセ
ージが獲得され、ステップ203では、202で獲得し
たメッセージに対応するサブルーチンが呼び出される。
その後ウインドウシステムが終了するまで、ステップ2
02、203が繰り返される。図3に代表的なサブルー
チン群を示す。一方ステップ204は、キーボード(図
1のKB5)、マウス等のハードウエアからデータを獲
得する。獲得されたデータはステップ205においてシ
ステムキュー(ステップ205)に一度格納され、ステ
ップ206でアプリケーションが使用する形式に変換さ
れアプリケーションキューにセットされる。以降入力デ
バイスから入力があるとステップ204から206が繰
り返される。図3に前記ステップ202で獲得したメッ
セージに対応する代表的なサブルーチン群を示す。例え
ば、図3において、ウインドウのアクティブが非アクテ
ィブになった等に応じて、サブルーチンが起動するので
ある。
【0010】[文字がウインドウに表示されるまで]次
に、文字がウインドウに出力されるまでの基本的なデー
タの流れを図4に示す。これは、図2の203のサブル
ーチンコールによって呼ばれ、ウインドウシステム側に
存在する不図示のフォントドライバの機能を示してい
る。ステップ401は、図2で示されるステップ20
2、203のサブルーチンコールにより、ウインドウが
生成され(サブルーチン)、入力パラメータがアプリケ
ーションキューから獲得され、文字出力サブルーチンの
呼び出しが行われ、制御が不図示のフォントドライバに
移った状態を示す。このパラメータは、後述の図13、
図16、図19、図20の入力パラメータとして使用さ
れるもので、この時のパラメータの種類としては、文字
コード、出力サイズ、書体の種類、修飾の種類、出力形
式等がある。また、このパラメータの中には、テキスト
処理か非かのフラグを含んでおり、図11、図12等の
要求仕様の判断基準として用いられる。
【0011】図4において、ステップ402において
は、ステップ401において得られた文字コードよりリ
ードオンリーメモリ(ROM)あるいはハードディスク
9等に格納されているベクトル形式のフォントデータの
中から対象となるフォントデータの先頭アドレス及びデ
ータ長を計算して自身のRAMエリアへ格納する。この
時のフォントデータ形式は、座標列に曲線情報やヒント
情報等が含まれている。また、データ量を小さくするた
めに圧縮が施されている場合もある。
【0012】ステップ403においては、読み込んだデ
ータがランレングス等の手法により圧縮されている場合
は、圧縮を解き、ヒント情報等を解析して座標列と直線
/曲線情報のみとする。
【0013】ステップ404においては、ステップ40
1より得られたデータサイズとあらかじめ解っているフ
ォントデータの外形のサイズより、縦方向と横方向のそ
れぞれに対して拡大または縮小する倍率を求める。そし
て、その縦方向と横方向の拡大/縮小倍率をステップ4
03より得られた座標列の全ての座標値にかけ合わせ
て、要求側が求める大きさの座標列を作成する。あるい
は、ステップ401において斜体/鏡像等の文字修飾が
あった場合には、拡大倍率と修飾の行列式を盛り込んだ
アフィン変換を行って、所望の座標値を求める。
【0014】ステップ405においては、ステップ40
3までに作成された求めるべき文字の座標列及び直線/
曲線情報からビットマップのフォントデータを作成す
る。このとき直線データのときは、DDA発生アルゴリ
ズムにより所望の点を求め、メモリ上に打点する。曲線
データの場合は、Bスプライン関数を発生させ、一旦短
い直線の集まりに変換した後に直線と同様DDA発生ア
ルゴリズムにより所望の点を求め、メモリ上に打点す
る。あるいはBスプライン構成点を3次ベジェの構成点
に変換し、3次ベジェの関数を発生させ、Bスプライン
関数同様一旦短い直線の集まりに変換した後に直線と同
様DDA発生アルゴリズムにより所望の点を求めメモリ
上に打点する。メモリ上へ打点する方法としては、2種
類の方法で二つのメモリプレーンに打点を行う。1つの
プレーンへの打点の方法は、図5に示すように1つの線
を引くときに同一のy座標においては2つ以上の点が打
点されないように打点する。そして、その打点方法は排
他的論理和(XOR)によって打点を行う。つまり、今
から打点しようとする点が既に打たれている場合にはそ
の点はなくなり、まだ点が打たれていない場合には点が
打たれるのである。また、もう1つのプレーンに打点を
行う方法は、図6に示すように、点が1つのドットも離
れないように打点を行う。そして、その打点方法として
は論理和(OR)によって打点する。つまり、今から打
点しようとする点が既に点が打たれている場合であって
も打たれていない場合であっても打点を行うのである。
そして、全てのデータに対して打点処理が終了したら、
次に塗りつぶし処理を行う。この処理においては、打点
処理においてXORで打点したプレーンのみで処理を行
う。塗りつぶしの方法としては、図7に示すように各y
座標ごとにスキャンしていき、打点されたドットから次
に打点されたドットの間を全てドットで埋める処理を行
う。そして更にスキャンを行っていき、またドットが発
見されたら次にまたドットが発見されるまでをドットで
埋める。このような処理を全てのy座標において左端か
ら右端まで処理を行ったら塗りつぶし処理を終了し、図
8に示すように塗りつぶしを行ったプレーンと前記OR
によって打点したプレーンのORをとってステップ40
5の処理を終了する。
【0015】ステップ406においては、ステップ40
5で作成されたベタ黒パターンの文字にステップ401
から得られた修飾の種類に応じて影付けあるいは網掛け
等のパターン修飾を行う。
【0016】ステップ407においては、要求側にデー
タを転送する処理である。ここでは要求側のスキャン形
式(ROW或いはCOLUMN)に応じて、適宜スキャ
ンコンバージョンをかけて処理を行う。
【0017】[処理系の特徴]次に本発明の実施例につ
いて詳細な説明をする。
【0018】図9は本実施例における処理系の特徴を示
す図である。ここで処理系Aは前述のワープロ等のアプ
リケーションソフトによる処理系の特徴の1例を示して
おり、ソフトウエアによるベクトル形式のデータからビ
ットマップ形式のデータへ変換する処理である。この処
理は入力データ形式としては直線+Bスプライン関数の
データあるいは直線+3次ベジェ関数のデータを処理す
ることができ、品位面では優れているが、スピード面で
やや遅い処理系である。この特徴は、従来であれば、マ
シンインデペンデントを実現しようとした場合に、一般
的に発生する特徴である。
【0019】処理系B、処理系Cはこれを解消しようと
するために新たに追加される処理系であり、ハードウエ
アあるいはソフトウエアで処理を行うものである。処理
系Bは入力データ形式としては直線+3次ベジェのデー
タを処理することができ、品位面では劣るが、スピード
面ではここで扱う処理系の中では最も速い処理系であ
る。これらは、前述の不図示のフォントドライバに追加
される機能である。
【0020】処理系Cは入力データ形式としては直線+
3次ベジェのデータを処理することができ、品位面では
処理系A程良くはないが良い品位を持ち、スピード面で
も速い処理系である。
【0021】[ウインドウの様子]図10は図2で示し
たウインドウシステムが起動した後の、CRT7の表示
画面上の様子を示した図であり、ウインドウ1001は
アクティブ(編集対象)となっているウインドウで、
「界のひのき…」が表示され、テキストを処理してい
る。この場合のウインドウの要求仕様は、文字の判別が
できるレベルであれば品位はそれほど問題としないが、
スピードを最優先するウインドウである。ウインドウ1
002は非アクティブ(編集対象外)のウインドウでレ
イアウトの変更処理をおこなっている。このウインドウ
の要求仕様は、編集対象外であることから多少スピード
がかかっても問題ないが、微妙な位置調整を行うため品
位が良くないと無意味となるウインドウである。また、
ウインドウ1003はウインドウ1001,1002の
関係と逆で、編集対象となっているウインドウで、テキ
スト処理ではなく、レイアウトの変更処理をおこなって
いる。このため品位、スピード共に優先されるウインド
ウで、どちらか一方がかけても無意味となる。ウインド
ウ1004は編集対象外のため、品位、スピード共にそ
れほど問題としない処理系である。
【0022】図11はウインドウの要求仕様に対応する
処理系を表した図であり、テーブルであり、図1RAM
3に形成されている。図12はウインドウの要求に対応
する処理を表した図である。
【0023】尚、ここでは、選択基準として、図2で示
されるパラメータ中のテキスト処理のフラグを用いてい
ることはいうまでもない。
【0024】図11のウインドウaは図10のウインド
ウ1002にあたり、品位を優先し、スピードは優先し
ないので、図12から明らかな様に処理系Aを選択す
る。
【0025】ウインドウbは図10のウインドウ100
3にあたり、品位/スピード共にそこそこのものを要求
するので、図12から明らかな様に、処理系Cを選択す
る。
【0026】ウインドウcは図10のウインドウ100
1にあたり、スピードは優先し、品位は優先しないの
で、図12から明らかな様に、処理系Bを選択する。こ
れらの選択の手順は後述する。
【0027】[要求仕様の決定]以上の処理系を持つシ
ステムにおいて、本発明の実施例の流れをウインドウの
要求仕様が決定するまでの流れを含め、図13のフロー
チャートを例にとって説明する。尚、図13はウインド
ウシステムがフォントドライバを起動し、そのフォント
ドライバが処理を選択する過程を表したものである。
【0028】図13は、図4におけるステップ405の
ベクトル形式からドット形式への変換の処理が3つ存在
した場合にどの処理系を選択するかの流れを示す図であ
る。ステップ1301において、表示を行うウインドウ
がアクティブ(図10、ウインドウ1001、ウインド
ウ1003に対応)ならばステップ1302へ、そうで
ない(ウインドウ1002、1004に対応)ならばス
テップ1305へ進む。ステップ1302において編集
対象がテキスト(ウインドウ1001に対応)ならば、
ステップ1303において、ウインドウの要求仕様とし
てスピード重視、品位軽視が設定され、ステップ130
8へ進む。また、ステップ1302において編集対象が
テキストでない(ウインドウ1003に対応)ならばス
テップ1304において要求仕様としてスピード、品位
共に重視が設定される。一方、ステップ1305は、ウ
インドウがアクティブでない場合の処理であり、ステッ
プ1302と同様、編集対象がテキスト(ウインドウ1
004に対応)ならば、ステップ1306において品
位、スピード共に軽視が設定され、テキストでない(ウ
インドウ1003に対応)ならばステップ1307にお
いて品位重視、スピード軽視の設定がなされる。
【0029】次にステップ1308においては、ステッ
プ1301からステップ1307で設定された要求仕様
を品位面で満たす処理系が存在するかどうかの判定を行
う。次に図12のテーブルとウインドウの要求仕様から
品位面における要求仕様を満たす処理系が少なくとも1
つ存在すればステップ1309へ進み、要求仕様を満た
す処理系が1つも存在しない場合にはステップ1313
へ進む。
【0030】ステップ1309においては、品位面にお
ける要求仕様を満たす処理系が存在する場合において、
スピード面における要求仕様を満たす処理系が存在する
かどうかの判定を行う。スピード面における要求仕様を
満たす処理系が少なくとも1つ存在すればステップ13
10へ進み、要求仕様を満たす処理系が1つも存在しな
い場合にはステップ1312へ進む。
【0031】ステップ1310においては、品位面およ
びスピード面の要求仕様を共に満たす処理系が少なくと
も1つ存在する場合であり、そしてその処理系が複数存
在するかどうかの判定を行う。1つのみの場合は、その
1つの処理系に決定しステップ1317へ進む。2つ以
上の処理系が存在する場合には、ステップ1311へ進
む。
【0032】ステップ1311においては、要求仕様を
満たす処理系が複数存在する場合にどの処理系を選択す
るかを決定する処理である。ここでは要求仕様を満たす
最初に出現する処理系を選択する。ここで言う最初に出
現する処理系とは、図12に示されたテーブルの中を検
索する際、最初に条件が一致する処理であってもいい
し、最後に一致する処理であってもよいことはいうまで
もない。
【0033】ステップ1312においては、スピード面
における要求仕様を満たす処理系が1つも存在しなかっ
た場合であり、この時は品位面の要求を満たす処理系が
選択され、ステップ1317へ進む。
【0034】ステップ1313においては、品位面の要
求仕様を満たす処理系が1つも存在しなかった場合にお
いて、スピード面における要求仕様を満たす処理系が存
在するかどうかの判定を行う。スピード面における要求
仕様を満たす処理系が少なくとも1つ存在すればステッ
プ1314へ進み、要求仕様を満たす処理系が1つも存
在しない場合にはステップ1316へ進む。
【0035】ステップ1316においては、要求仕様を
満たす処理系が一つも存在しない場合にどの処理系を選
択するかを決定する処理である。ここでは存在する処理
の中でも最初に出現する処理系を選択する。そしてステ
ップ1317へ進む。
【0036】ステップ1314においては、スピード面
の要求仕様を満たす処理系が少なくとも1つ存在する場
合であり、そしてその処理系が複数存在するかどうかの
判定を行う。これは、例えば、図12において、スピー
ドを重視する場合に選択処理がC或いはBの複数の選択
候補が存在した場合である。1つのみの場合は、その1
つの処理系に決定しステップ1317へ進む。2つ以上
の処理系が存在する場合には、ステップ1315へ進
む。
【0037】ステップ1315においては、スピード面
における要求仕様を満たす処理系が複数存在する場合に
どの処理系を選択するかを決定する処理である。ここで
は要求仕様を満たす最初に出現する処理系を選択し、ス
テップ1317へ進む。
【0038】ステップ1317においては、選択された
処理系によって図4におけるステップ405と同様な処
理を行う。ただし、処理系によって若干の方法の違いが
あってもここでは問題にしない。
【0039】以上のように、ウインドウの要求仕様と処
理系の特徴からどの処理系を選択するかを決定すること
によって、要求仕様を満たす最適に近い処理系で展開す
ることができ、品位面およびスピード面において出力器
によっての所望のデータ出力を可能とするものである。
【0040】〈他の実施例(更にデータ形式、最大サイ
ズを追加)〉前記実施例においては、品位面とスピード
面に関しての処理系の決定方法を詳述した。基本的な処
理の流れは前記実施例に準じている。
【0041】ここでは、更に処理系を決定する要因とし
て、データ形式、最大サイズを判定要素に加えた場合を
例にとって説明する。
【0042】図14は本実施例において処理系の特徴を
示す図である。ここで処理系Aは入力データ形式として
は直線+Bスプライン関数のデータあるいは直線+3次
ベジェ関数のデータを処理することができ、品位面では
優れていて、スピード面でやや遅く、文字の展開可能な
大きさは十分な大きさまで可能な処理系である。
【0043】処理系Bは入力データ形式としては直線+
3次ベジェのデータを処理することができ、品位面では
劣り、スピード面ではここで扱う処理系の中では最も速
く、展開可能サイズは小さい処理系である。
【0044】処理系Cは入力データ形式としては直線+
3次ベジェのデータを処理することができ、品位面では
処理系A程良くはないが良い品位を持ち、スピード面で
も速く、展開可能サイズは小さい処理系である。
【0045】処理系Dは入力データ形式としては直線+
円弧(円)のデータを処理することができ、品位面では
良く、スピード面では処理系Aほどは速くはないが速い
処理速度を持ち、展開可能サイズは大きなサイズまで展
開可能な処理系である。尚これらは、前述の図11に準
じている。
【0046】図15は入力データ形式およびウインドウ
の要求仕様および出力仕様を表した図である。尚、図1
2の様な、選択の為のテーブルがあることは言うまでも
ない。
【0047】aについては、入力データ形式は直線+3
次べジェ関数であり、出力器の要求仕様は品位を最優先
するウインドウであり、多少処理スピードがかかっても
出力品位が良くないと無意味となるウインドウである。
そして、出力仕様としては、大きなサイズまでの出力を
行う。
【0048】bについては、入力データ形式は直線+3
次べジェ関数であり、ウインドウの要求仕様は品位およ
びスピード共に優先するウインドウであり、どちらの要
素がかけても無意味となる出力器である。そして、出力
仕様としては、小さなサイズのみの出力を行う。
【0049】cについては、入力データ形式は直線+円
弧であり、ウインドウの要求仕様は品位はそれほど問題
としないが、スピードを最優先するウインドウである。
そして、出力仕様としては大きなサイズまでの出力を行
う。
【0050】以上の処理系を持つシステムにおいて、実
施例の流れを図16のフローチャートを例にとって説明
する。
【0051】図16は、図4におけるステップ405の
処理が4つ存在した場合にどの処理系を選択するかの流
れを示す図である。ステップ1601において、表示を
行うウインドウがアクティブ(ユーザからの入力を受け
つける)ならばステップ1602へ、そうでないならば
ステップ1605へ進む。ステップ1602において編
集対象がテキストならば、ステップ1603において、
ウインドウの要求仕様としてスピード重視、品位軽視が
設定され、ステップ1608へ進む。また、ステップ1
602において編集対象がテキストでないならばステッ
プ1604において要求仕様としてスピード、品位共に
重視が設定される。一方、ステップ1605は、ウイン
ドウがアクティブでない場合の処理であり、ステップ1
602と同様、編集対象がテキストならば、ステップ1
606において品位、スピード共に軽視が設定され、テ
キストでないならばステップ1607において品位重
視、スピード軽視の設定がなされる。
【0052】ステップ1608においては、入力のフォ
ントデータ形式が与えられた処理系の中で処理可能なデ
ータ形式と一致する処理があるかどうかを判定する。一
致するものが少なくとも1つ存在すればステップ161
0へ進み、一致するものが存在しなければステップ16
09へ進む。
【0053】ステップ1609においては、入力のフォ
ントデータ形式に対して、与えられた処理系の中で処理
可能なデータ形式が1つも存在しない場合である。しか
し、データ形式変換が可能な場合が存在するので、入力
のフォントデータ形式から処理系の持つデータ形式にフ
ォーマット変換可能なものが存在するかどうかの判定を
行う。フォーマット変換可能なものが存在すればステッ
プ1610へ進み、フォーマット変換可能なものが存在
しなければ、処理不可能と判定しエラー出力する。ただ
し、ステップ1610へ進む際、図15に示した品位及
びスピード等変化が生じる場合はそのテーブルの値を書
き換える。
【0054】ステップ1610においては、入力のフォ
ントデータ形式のデータを処理する処理系が少なくとも
1つ存在する場合であり、ここでは、対象とするサイズ
がこのステップにおいて処理可能な処理系の中で展開可
能かどうかの判定を行う。展開可能であればステップ1
612へ進み、展開不可能であればステップ1611へ
進む。
【0055】ステップ1611においては、対象とする
データサイズが展開不可能と判定された場合であり、こ
こでは、このステップの時点で対象となる処理系の中で
分割処理が可能な処理系が存在するかどうかを判定す
る。分割処理可能な処理系が少なくとも1つ存在すれば
ステップ1612へ進み、分割処理可能な処理系が1つ
も存在しなければエラー出力する。
【0056】次にステップ1612においては、ステッ
プ1601からステップ1607で設定された要求仕様
を品位面で満たす処理系が存在するかどうかの判定を行
う。品位面における要求仕様を満たす処理系が少なくと
も1つ存在すればステップ1613へ進み、要求仕様を
満たす処理系が1つも存在しない場合にはステップ16
17へ進む。
【0057】ステップ1613においては、品位面にお
ける要求仕様を満たす処理系が存在する場合において、
スピード面における要求仕様を満たす処理系が存在する
かどうかの判定を行う。スピード面における要求仕様を
満たす処理系が少なくとも1つ存在すればステップ16
14へ進み、要求仕様を満たす処理系が1つも存在しな
い場合にはステップ1616へ進む。
【0058】ステップ1614においては、品位面およ
びスピード面の要求仕様を共に満たす処理系が少なくと
も1つ存在する場合であり、そしてその処理系が複数存
在するかどうかの判定を行う。1つのみの場合は、その
1つの処理系に決定しステップ1621へ進む。2つ以
上の処理系が存在する場合には、ステップ1615へ進
む。
【0059】ステップ1615においては、要求仕様を
満たす処理系が複数存在する場合にどの処理系を選択す
るかを決定する処理である。ここでは要求仕様を満たす
最初に出現する処理系を選択する。
【0060】ステップ1616においては、スピード面
における要求仕様を満たす処理系が1つも存在しなかっ
た場合であり、この時は品位面の要求を満たす処理系が
選択され、ステップ1621へ進む。
【0061】ステップ1617においては、品位面の要
求仕様を満たす処理系が1つも存在しなかった場合にお
いて、スピード面における要求仕様を満たす処理系が存
在するかどうかの判定を行う。スピード面における要求
仕様を満たす処理系が少なくとも1つ存在すればステッ
プ1618へ進み、要求仕様を満たす処理系が1つも存
在しない場合にはステップ1620へ進む。
【0062】ステップ1620においては、要求仕様を
満たす処理系が一つも存在しない場合にどの処理系を選
択するかを決定する処理である。ここでは存在する処理
の中でも最初に出現する処理系を選択する。そしてステ
ップ1621へ進む。
【0063】ステップ1618においては、スピード面
の要求仕様を満たす処理系が少なくとも1つ存在する場
合であり、そしてその処理系が複数存在するかどうかの
判定を行う。1つのみの場合は、その1つの処理系に決
定しステップ1621へ進む。2つ以上の処理系が存在
する場合には、ステップ1619へ進む。
【0064】ステップ1619においては、スピード面
における要求仕様を満たす処理系が複数存在する場合に
どの処理系を選択するかを決定する処理である。ここで
は要求仕様を満たす最初に出現する処理系を選択し、ス
テップ1621へ進む。
【0065】ステップ1621においては、選択された
処理系によって図4におけるステップ405と同様な処
理を行う。ただし、処理系によって若干の方法の違いが
あってもここでは問題にしない。
【0066】以上のように、入力データ形式及び入力仕
様、要求仕様と処理系の特徴からどの処理系を選択する
かを決定することによって、入力データ形式、入力仕
様、要求仕様を満たす最適に近い処理系で展開すること
ができ、品位面およびスピード面において所望のデータ
出力を可能とするものである。
【0067】〈他の実施例〉前記実施例においては、入
力データ形式、入力仕様、出力器の要求仕様に関しての
処理系の決定方法を詳述した。
【0068】ここでは、更に処理系を決定する要因とし
て、出力器あるいは本体のメモリのうち処理系が仕様可
能なメモリ量、および出力書体に対する処理系の向き不
向きを加えた場合を例にとって説明する。
【0069】図17は本実施例において処理系の特徴を
示す図である。ここで処理系Aは入力データ形式として
は直線+Bスプライン関数のデータあるいは直線+3次
ベジェ関数のデータを処理することができ、品位面では
優れていて、スピード面でやや遅く、文字の展開可能な
大きさは十分な大きさまで可能な処理系である。
【0070】処理系Bは入力データ形式としては直線+
3次ベジェのデータを処理することができ、品位面では
劣り、スピード面ではここで扱う処理系の中では最も速
く、展開可能サイズは小さい処理系である。
【0071】処理系Cは入力データ形式としては直線+
3次ベジェのデータを処理することができ、品位面では
処理系A程良くはないが良い品位を持ち、スピード面で
も速く、展開可能サイズは小さい処理系である。
【0072】処理系Dは入力データ形式としては直線+
円弧(円)のデータを処理することができ、品位面では
良く、スピード面では処理系Aほどは速くはないが速い
処理速度を持ち、展開可能サイズは大きなサイズまで展
開可能な処理系である。
【0073】以上の処理系、要求仕様および条件を持つ
システムにおいて、実施例の流れを図19のフローチャ
ートを例にとって説明する。
【0074】図19は、図4におけるステップ405の
処理が4つ存在した場合にどの処理系を選択するかの流
れを示す図である。
【0075】ステップ1901において、表示を行うウ
インドウがアクティブ(ユーザからの入力を受けつけ
る)ならばステップ1902へ、そうでないならばステ
ップ1905へ進む。ステップ1902において編集対
象がテキストならば、ステップ1903において、ウイ
ンドウの要求仕様としてスピード重視、品位軽視が設定
され、ステップ1908へ進む。また、ステップ190
2において編集対象がテキストでないならばステップ1
904において要求仕様としてスピード、品位共に重視
が設定される。一方、ステップ1905は、ウインドウ
がアクティブでない場合の処理であり、ステップ190
2と同様、編集対象がテキストならば、ステップ190
6において品位、スピード共に軽視が設定され、テキス
トでないならばステップ1907において品位重視、ス
ピード軽視の設定がなされ、ステップ1908へ進む。
【0076】ステップ1908においては、入力のフォ
ントデータ形式が与えられた処理系の中で処理可能なデ
ータ形式と一致する処理があるかどうかを判定する。一
致するものが少なくとも1つ存在すればステップ191
0へ進み、一致するものが存在しなければステップ19
09へ進む。
【0077】ステップ1909においては、入力のフォ
ントデータ形式に対して、与えられた処理系の中で処理
可能なデータ形式が1つも存在しない場合である。しか
し、データ形式変換が可能な場合が存在するので、入力
のフォントデータ形式から処理系の持つデータ形式にフ
ォーマット変換可能なものが存在するかどうかの判定を
行う。フォーマット変換可能なものが存在すればステッ
プ1910へ進み、フォーマット変換可能なものが存在
しなければ、処理不可能と判定しエラー出力する。ただ
し、ステップ1910へ進む際、図17に示した品位及
びスピード等変化が生じる場合はそのテーブルの値を書
き換える。
【0078】ステップ1910においては、ウインドウ
システムに対し使用可能なメモリの大きさを問い合わ
せ、使用可能として与えられる展開メモリの許容値の範
囲内で、この時点で展開可能な処理系が展開できるかど
うかの判定を行う。許容値の範囲内で展開可能な処理系
が少なくとも1つ存在すればステップ1911へ進み、
展開可能な処理系が1つも存在しない場合には処理不可
能と判定しエラー出力する。
【0079】ステップ1911においては、入力のフォ
ントデータ形式のデータを処理する処理系が少なくとも
1つ存在する場合であり、ここでは、対象とするサイズ
がこのステップにおいて処理可能な処理系の中で展開可
能かどうかの判定を行う。展開可能であればステップ1
913へ進み、展開不可能であればステップ1912へ
進む。
【0080】ステップ1912においては、対象とする
データサイズが展開不可能と判定された場合であり、こ
こでは、このステップの時点で対象となる処理系の中で
分割処理が可能な処理系が存在するかどうかを判定す
る。分割処理可能な処理系が少なくとも1つ存在すれば
ステップ図10の1913へ進み、分割処理が可能な処
理系が1つも存在しなければエラー出力する。
【0081】次にステップ1913においては、ステッ
プ1901からステップ1907で設定された要求仕様
を品位面で満たす処理系が存在するかどうかの判定を行
う。品位面における要求仕様を満たす処理系が少なくと
も1つ存在すればステップ1914へ進み、要求仕様を
満たす処理系が1つも存在しない場合にはステップ19
24へ進む。
【0082】ステップ1914においては、品位面にお
ける要求仕様を満たす処理系が存在する場合において、
スピード面における要求仕様を満たす処理系が存在する
かどうかの判定を行う。スピード面における要求仕様を
満たす処理系が少なくとも1つ存在すればステップ19
15へ進み、要求仕様を満たす処理系が1つも存在しな
い場合にはステップ1920へ進む。
【0083】ステップ1915においては、品位面およ
びスピード面の要求仕様を共に満たす処理系が少なくと
も1つ存在する場合であり、そしてその処理系が複数存
在するかどうかの判定を行う。1つのみの場合は、その
1つの処理系に決定しステップ1934へ進む。2つ以
上の処理系が存在する場合には、ステップ1916へ進
む。
【0084】ステップ1916においては、この時点で
処理可能な処理系が複数存在する場合であり、ここでは
それぞれの処理系のうち書体による処理の向き不向きの
判定を行う。そして少なくとも1つの処理系で出力しよ
うとする書体に向いた処理系が存在すればステップ19
17へ進み、出力しようとする書体に向いた処理系が1
つも存在しない場合にはステップ1919へ進む。
【0085】ステップ1917においては、品位面およ
びスピード面、書体の要求仕様を共に満たす処理系が少
なくとも1つ存在する場合であり、そしてその処理系が
複数存在するかどうかの判定を行う。1つのみの場合
は、その1つの処理系に決定しステップ1934へ進
む。2つ以上の処理系が存在する場合には、ステップ1
918へ進む。
【0086】ステップ1918においては、要求仕様を
満たす処理系が複数存在する場合にどの処理系を選択す
るかを決定する処理である。ここでは要求仕様を満たす
最初に出現する処理系を選択する。
【0087】ステップ1919においては、品位面およ
びスピード面の要求仕様を共に満たす処理系が複数存在
する場合であり、ここでは要求仕様を満たす最初に出現
する処理系を選択しステップ1934へ進む。
【0088】ステップ1920においては、出力しよう
とする書体に向いた処理系が存在すればステップ192
1へ進み、出力しようとする書体に向いた処理系が1つ
も存在しない場合にはステップ1923へ進み、品位面
の要求仕様を満たす処理系の中から、最初に出現する処
理系を選択しステップ1934へ進む。
【0089】ステップ1921においては、品位面およ
び、書体の要求仕様を共に満たす処理系が少なくとも1
つ存在する場合であり、そしてその処理系が複数存在す
るかどうかの判定を行う。1つのみの場合は、その1つ
の処理系に決定しステップ1934へ進む。2つ以上の
処理系が存在する場合には、ステップ1922へ進む。
【0090】ステップ1922においては、品位面およ
び書体の要求仕様を共に満たす処理系が複数存在する場
合であり、ここでは要求仕様を満たす最初に出現する処
理系を選択しステップ1934へ進む。
【0091】ステップ1924においては、スピード面
における要求仕様を満たす処理系が存在するかどうかの
判定を行う。スピード面における要求仕様を満たす処理
系が少なくとも1つ存在すればステップ1925へ進
み、要求仕様を満たす処理系が1つも存在しない場合に
はステップ1930へ進む。
【0092】ステップ1925においては、スピード面
の要求仕様を満たす処理系が少なくとも1つ存在する場
合であり、そしてその処理系が複数存在するかどうかの
判定を行う。1つのみの場合は、その1つの処理系に決
定しステップ1934へ進む。2つ以上の処理系が存在
する場合には、ステップ1926へ進む。
【0093】ステップ1926においては、この時点で
処理可能な処理系が複数存在する場合であり、ここでは
それぞれの処理系のうち書体による処理の向き不向きの
判定を行う。そして少なくとも1つの処理系で出力しよ
うとする書体に向いた処理系が存在すればステップ19
27へ進み、出力しようとする書体に向いた処理系が1
つも存在しない場合にはステップ1929へ進む。
【0094】ステップ1927においては、スピード面
及び書体の要求仕様を共に満たす処理系が少なくとも1
つ存在する場合であり、そしてその処理系が複数存在す
るかどうかの判定を行う。1つのみの場合は、その1つ
の処理系に決定しステップ1934へ進む。2つ以上の
処理系が存在する場合には、ステップ1928へ進む。
【0095】ステップ1928においては、要求仕様を
満たす処理系が複数存在する場合にどの処理系を選択す
るかを決定する処理である。ここでは要求仕様を満たす
最初に出現する処理系を選択する。
【0096】ステップ1929においては、スピード面
の要求仕様を満たす処理系が複数存在する場合であり、
ここでは要求仕様を満たす最初に出現する処理系を選択
しステップ1934へ進む。
【0097】ステップ1930においては、出力しよう
とする書体に向いた処理系が存在すればステップ193
1へ進み、出力しようとする書体に向いた処理系が1つ
も存在しない場合にはステップ1933へ進み、品位面
の要求仕様を満たす処理系の中から、最初に出現する処
理系を選択しステップ1934へ進む。
【0098】ステップ1931においては、品位面およ
び、書体の要求仕様を共に満たす処理系が少なくとも1
つ存在する場合であり、そしてその処理系が複数存在す
るかどうかの判定を行う。1つのみの場合は、その1つ
の処理系に決定しステップ1934へ進む。2つ以上の
処理系が存在する場合には、ステップ1932へ進む。
【0099】ステップ1932においては、品位面およ
び書体の要求仕様を共に満たす処理系が複数存在する場
合であり、ここでは要求仕様を満たす最初に出現する処
理系を選択しステップ1934へ進む。
【0100】ステップ1934においては、選択された
処理系によって図4におけるステップ405と同様な処
理を行う。ただし、処理系によって若干の方法の違いが
あってもここでは問題にしない。
【0101】以上の様に、複数の処理系を有し、複数の
ウインドウに、前記いずれかの処理系を用いて文字パタ
ーンを出力する場合に、各ウインドウの要求を判別し、
その要求に応じて、各ウインドウに対して、品位やスピ
ードや入力データ形式やメモリ容量や出力サイズや書体
等を基準にして、複数の内の1つの処理系を選択するこ
とが可能となった。又、これにより、状況に応じて、最
適の条件で各ウインドウに対する文字の出力を行うこと
が可能となった。或いは、各ウインドウがアクティブか
否かによって可変に最適の条件で文字の出力を行うこと
が可能となる。
【0102】
【発明の効果】以上、詳述した様に、本発明により、複
数の処理系を有し、複数のウインドウに、前記いずれか
の処理系を用いて、文字パターンを出力する文字処理方
法であって、各ウインドウの要求を判別し、その要求に
応じて、各ウインドウに対して、品位と、スピード或い
はデータ形式或いはメモリ容量或いは出力サイズ或いは
書体のいずれか1つとの組合せを基準にして、複数の内
の1つの処理系を選択する文字処理方法を提供すること
が可能となった。
【図面の簡単な説明】
【図1】本発明にかかる本システムの基本的な構成を示
すブロック図。
【図2】イベント駆動型構造を持つウインドウシステム
の基本的なデータの流れを示す図。
【図3】代表的なサブルーチン群を示す図。
【図4】データがウインドウに出力されるまでの基本的
なデータの流れを示した図。
【図5】プレーンへの打点を行う方法を示す図。
【図6】プレーンへの打点を行う方法を示す図。
【図7】塗りつぶしの方法を示す図。
【図8】塗りつぶしの方法を示す図。
【図9】スピード、品位に関する処理系の特徴を示す
図。
【図10】ウインドウシステムが起動している様子を示
した図。
【図11】ウインドウの要求仕様に対応する処理系を表
した図。
【図12】ウインドウの要求に対応する処理を表わした
図。
【図13】図9に示される処理系の中から、図12の要
求仕様に従い、処理系が決定するまでの流れを示した
図。
【図14】スピ−ド、品位に加え、デ−タ形式、最大出
力サイズに関する処理系の特徴を示した図。
【図15】入力データ形式およびウインドウの要求仕様
および出力仕様を表した図。
【図16】図14に示される処理系の中から、図15の
要求仕様に従い、処理系が決定するまでの流れを示した
図。
【図17】スピード、品位、データ形式、最大出力サイ
ズに加え、メモリ、書体に関する処理系の特徴を示した
図。
【図18】入力データ形式およびウインドウの要求仕様
および出力仕様を表した図。
【図19】図17に示される処理系の中から、図18の
要求仕様に従い、処理系が決定するまでの流れを示した
図。
【図20】図17に示される処理系の中から、図18の
要求仕様に従い、処理系が決定するまでの流れを示した
図。
【符号の説明】
1 CPU 1001〜1004 ウインドウ 3 RAM
フロントページの続き (72)発明者 酒井 哲夫 東京都大田区下丸子3丁目30番2号キヤノ ン株式会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数の処理系を有し、複数のウインドウ
    に、前記いずれかの処理系を用いて、文字パターンを出
    力する文字処理方法であって、 各ウインドウの要求を判別し、その要求に応じて、各ウ
    インドウに対して、品位と、スピード或いはデータ形式
    或いはメモリ容量或いは出力サイズ或いは書体のいずれ
    か1つとの組合せを基準にして、複数の内の1つの処理
    系を選択することを特徴とする文字処理方法。
  2. 【請求項2】 前記処理系は、ベクトル形式で表わされ
    る文字をドットパターンに変換する処理であることを特
    徴とする請求項第1項記載の文字処理方法。
JP3263885A 1991-10-11 1991-10-11 文字処理方法 Pending JPH05108294A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP3263885A JPH05108294A (ja) 1991-10-11 1991-10-11 文字処理方法
DE69222255T DE69222255T2 (de) 1991-10-11 1992-10-09 Verarbeitungsverfahren für Zeichen oder graphische Daten
US07/958,723 US5524198A (en) 1991-10-11 1992-10-09 Character or graphic processing method and apparatus
EP92309249A EP0537030B1 (en) 1991-10-11 1992-10-09 Character or graphic processing method
KR1019920018646A KR970008546B1 (ko) 1991-10-11 1992-10-10 문자 또는 도형의 처리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3263885A JPH05108294A (ja) 1991-10-11 1991-10-11 文字処理方法

Publications (1)

Publication Number Publication Date
JPH05108294A true JPH05108294A (ja) 1993-04-30

Family

ID=17395605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3263885A Pending JPH05108294A (ja) 1991-10-11 1991-10-11 文字処理方法

Country Status (1)

Country Link
JP (1) JPH05108294A (ja)

Similar Documents

Publication Publication Date Title
KR970008546B1 (ko) 문자 또는 도형의 처리방법
JP3344188B2 (ja) 文字生成装置
JP3037854B2 (ja) 文字生成方法及びその装置
JPH0263854A (ja) 出力方法
JPH05108294A (ja) 文字処理方法
JP2005111718A (ja) 画像出力制御方法および装置並びにプログラム
JPH05108293A (ja) 文字処理方法
JPH05108295A (ja) 文字処理方法
JPH05108292A (ja) 文字処理方法
US20100118323A1 (en) Image forming apparatus
JP2791014B2 (ja) 文字処理装置
JP2806679B2 (ja) 文字発生装置
JP2652748B2 (ja) 文字処理装置
JP2004184718A (ja) 画像処理装置および画像処理方法
JP3215169B2 (ja) 文字処理装置及び方法
JP3084817B2 (ja) 文字出力装置
JP2603322B2 (ja) 文字処理装置及び方法
JP2000066658A (ja) 画像処理装置および記録媒体
JP2710350B2 (ja) 画像処理装置および画像処理装置の画像処理方法
JP2803746B2 (ja) 文字処理方法及びその装置
JP3437293B2 (ja) 文字出力方法及び文字処理装置
JPH08101675A (ja) フォント展開装置
JPH10198333A (ja) アウトライン文字描画装置
JPH0323496A (ja) 文字処理装置及び方法
JP3040624B2 (ja) パターン発生装置