JP2001109454A - 文字処理装置 - Google Patents

文字処理装置

Info

Publication number
JP2001109454A
JP2001109454A JP29032799A JP29032799A JP2001109454A JP 2001109454 A JP2001109454 A JP 2001109454A JP 29032799 A JP29032799 A JP 29032799A JP 29032799 A JP29032799 A JP 29032799A JP 2001109454 A JP2001109454 A JP 2001109454A
Authority
JP
Japan
Prior art keywords
data
bitmap
unit
character
processing device
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
JP29032799A
Other languages
English (en)
Inventor
Shigeru Saito
茂 齋藤
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP29032799A priority Critical patent/JP2001109454A/ja
Publication of JP2001109454A publication Critical patent/JP2001109454A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【課題】 アウトラインフォントをビットマップ展開す
る前の中間データのデータサイズを最小化する。 【解決手段】 ラスタライズ処理選択部3は、フォント
の種類と文字サイズによってラスタラスタライズ手法を
選択する。ラスタライズ処理部4は、前記直線ベクタ生
成部2で生成されたベクタデータを、選択された手法に
応じて、分割処理し、ビットマップに展開し、また画像
圧縮を行う。中間データ生成部6は、前記ラスタライズ
処理選択部3で選択された形式で中間データを生成し、
展開処理部7に転送する。展開処理部7は、前記中間デ
ータ生成部6で生成されたデータをビットマップ展開
し、出力部8に転送する。出力部8は、前記展開処理部
7でビットマップ展開したデータを、出力デバイスに転
送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、アウトラインフォ
ントデータを、ビットマップ展開する文字処理装置に関
する。さらに詳しくは、アウトラインフォントデータを
ビットマップデータとビットマップ圧縮データとベクタ
データおよび分割ベクタデータの中から、データサイズ
が小さいと判定した形式で文字データを保持することに
より、中間データサイズを小さくし、高速な展開処理を
実現するための文字処理装置に関する。
【0002】
【従来の技術】アウトラインフォントデータをビットマ
ップ形式に展開するためには、まず、要求された文字の
アウトラインフォントデータを2次記憶装置などから読
み込み、次に、図1(a)のような読み込んだアウトラ
インフォントデータを図1(b)のような指定されたサ
イズに変換するため、マトリクス変換を行う。さらに、
図1(c)のような曲線で表現された部分を直線近似し
た多角形データに変換した後、スキャンラインごとに塗
りつぶしの処理を行いビットマップに展開する。
【0003】また、アウトラインデータを直線近似した
多角形データをビットマップ展開する際、直線近似した
多角形の各辺と出力デバイスの各スキャンラインとの交
点座標をDDA(Digital Different
ial Analyzer)などの手法で計算し、各ス
キャンライン毎にX座標値でソートして塗りつぶしの始
点と終点の対応を求め、その区間に対応したスキャンラ
インに平行な線分をメモリ上に描画する。
【0004】さらに、展開処理部に2N個のデータをソ
ート可能なソート回路を持ち、各スキャンラインでの描
画線分数をN本以下に制限した多角形に分割して処理す
る特開平11−144066号公報の手法などがある。
【0005】このような図形描画処理において、複雑な
文書を処理する場合には中間データ量が大きくなり、展
開処理時間が長くなるという問題があるため、中間デー
タ量を削減する方法が考えられている。
【0006】特開平4−133091号公報では、ビッ
トマップ展開したアウトラインフォントデータの圧縮処
理を行い、圧縮処理前よりデータ量が小さくなれば、圧
縮処理後のデータを利用し、逆に圧縮処理前よりデータ
量が大きくなれば、圧縮処理前のデータを利用すること
により、メモリ効率を向上させることができるキャラク
タ出力装置が記載されている。
【0007】
【発明が解決しようとする課題】しかしながら、特開平
4−133091号公報に記載されたキャラクタ出力装
置では、圧縮処理によってデータを削減することができ
るか否かを、常に圧縮処理を行ってデータ量を比較して
いるため、保持する文字データ形式を判定するための処
理時間が長くなるという問題がある。
【0008】本発明はこのような点に鑑みてなされたも
のであり、例えば、文字データを保持する形式をあらか
じめ用意しておいたマップを参照して決めることによっ
て、文字データサイズを小さくすることができ、なおか
つ高速な展開処理を実現する文字処理装置を提供するこ
とにある。
【0009】
【課題を解決するための手段】本発明によれば、上述の
目的を達成するために、特許請求の範囲に記載の構成を
採用したものである。すなわち、本発明によれば、上述
の目的を達成するために、アウトラインフォントデータ
をビットマップ展開する文字処理装置に、所定のアウト
ラインフォントデータを読み込み、ベクタデータで規定
される多角形データに変換する直線ベクタ生成部と、前
記多角形データから生成する中間データの種類を判定す
る処理判定部と、前記多角形データを、必要に応じて複
数の部分多角形データに分割する分割処理部と、前記多
角形データを、ビットマップデータに展開し、必要に応
じて画像圧縮して画像圧縮データを生成するビットマッ
プ展開部と、前記処理判定部の判定に基づいて、前記多
角形データ、前記部分多角形データ、前記ビットマップ
データおよび前記画像圧縮データの1つを中間データと
して出力する中間データ出力部と、前記中間データを受
け取ってビットマップデータを出力するビットマップデ
ータ出力部とを設けるようにしている。
【0010】多角形データは任意の形状の多角形でよ
い。この多角形はワインディング規則や奇偶規則等の塗
りつぶし規則により走査線を交差するエッジの間を塗り
つぶすようにできる。多角形としては台形を用いること
ができる。
【0011】この構成においては、アウトラインフォン
トデータの特性例えば文字サイズに応じて中間データの
種類を選択して、中間データのデータ量の削減と展開時
間の削減を実現することができる。
【0012】この構成において、前記処理判定部は、少
なくともフォントの種類と文字サイズとによって中間デ
ータの種類を判定するマップを設けるようにしてもよ
い。
【0013】また、前記処理判定部は、所定の文字サイ
ズ以上の場合は前記多角形データまたは前記部分多角形
データを中間データとし、それ以外の場合には前記ビッ
トマップデータまたは前記画像圧縮データを中間データ
とするようにしてもよい。
【0014】また、前記ビットマップデータ出力部は、
ビットマップデータを圧縮する画像圧縮部を備え、画像
圧縮データの形態でデータを出力するようにしてもよ
い。
【0015】
【発明の実施の形態】以下、本発明の実施例について図
面を参照して説明する。
【0016】図2は本発明の実施例を全体として示して
おり、この図において、この実施例の文字処理装置は、
入力部1と、直線ベクタ生成部2と、ラスタライズ処理
選択部3と、ラスタライズ処理部4と、分割処理部5
と、中間データ生成部6と、展開処理部7と、出力部8
とを含んで構成されている。
【0017】入力部1は、ユーザ指示や外部からの入力
により、フォントの種類を表すフォントID、文字コー
ド、文字サイズを直線ベクタ生成部2に送る。直線ベク
タ生成部2は、要求されたフォントIDおよび文字コー
ドに対応するアウトラインデータを読み込み、文字サイ
ズに応じたマトリクス変換を行った後、曲線部分を微小
な直線ベクタで近似する処理を行う。ラスタライズ処理
選択部3は、フォントの種類と文字サイズと文字コード
によってラスタラスタライズ処理の手法を選択する。
【0018】ラスタライズ処理の手法の選択は図4に示
すようなテーブルを用いて行う。図4においては、ラス
タライズ処理として非圧縮のビットマップデータ、圧縮
したビットマップデータ、非分割の多角形データ(ベク
タデータ)、分割した多角形データの4種類がある。フ
ォントごとのテーブルは文字コード毎にビットマップ
データで保持するかベクタデータで保持するかの分岐点
をなすポイント数(文字の大きさ)、ビットマップデ
ータを圧縮して保持するか非圧縮で保持するかの分岐点
をなすポイント数、および多角形データを分割する必要
があるかどうかを示すフラグが記述される。
【0019】例えば、フォント1のテーブルにおいて文
字コード4270(16進)の行は、「6、24、tr
ue」と記述されている。これは6ポイント未満のフォ
ント1の4270の文字は非圧縮ビットマップデータで
保持され、6ポイント以上24ポイント未満であれば圧
縮されたビットマップデータで保持され、24ポイント
以上であれば多角形データで保持されるということを示
している。またこの多角形データは分割されるというこ
とを示している。
【0020】以上のようにしてテーブルを参照してラス
タライズ処理の手法が選択される。
【0021】図2に戻り、実施例の説明を続ける。図2
において、ラスタライズ処理部4は、前記直線ベクタ生
成部2で生成されたベクタデータをビットマップに展開
し、必要に応じて画像圧縮を行う。分割処理部5は、前
記ラスタライズ処理選択部3で分割が必要と判断された
場合、前記直線ベクタ生成部2で生成されたベクタデー
タを、各スキャンラインでの描画線分数を制限して部分
多角形に分割する。中間データ生成部6は、前記ラスタ
ライズ処理選択部3で選択された形式で中間データを生
成し、展開処理部7に転送する。展開処理部7は、前記
中間データ生成部6で生成されたデータをビットマップ
展開し、出力部8に転送する。出力部8は、前記展開処
理部7でビットマップ展開したデータを、プリンタやデ
ィスプレイ装置などの出力デバイスに転送する。これに
よって、印刷や表示が行われる。
【0022】つぎに、全体の流れを図3に示すフローチ
ャートに沿って説明する。 [ステップS1]:入力部1から、フォントID、文字
コード、文字サイズを取得する。 [ステップS2]:直線ベクタ生成部2でアウトライン
データを直線近似する。 [ステップS3]:ラスタライズ処理選択部3で、要求
された文字のラスタライズ方法を、マップを参照して選
択する。 [ステップS4]:ビットマップ展開が必要かどうかを
調べる。必要な場合はステップS5に進む。また、ビッ
トマップ展開が必要ない場合はステップS7へ進む。 [ステップS5]:ビットマップ展開を行う。 [ステップS6]:ビットマップ展開されたデータの圧
縮が必要かどうかを調べる。必要ない場合はステップS
10へすすむ。必要な場合はステップS9へ進む。 [ステップS7]:ベクトルデータの分割が必要かどう
かを調べる。必要ない場合はステップS10へ進む。必
要な場合にはスタップS8へ進む。 [ステップS8]:ベクタデータの分割処理を行う。つ
ぎにステップS10へ進む。 [ステップS9]:ビットマップ展開されたデータを圧
縮する。この後、ステップS10へ進む。 [ステップS10]:送られたデータに形式を表すヘッ
ダを付け加えた中間データを生成する。 [ステップS11]:中間データで生成されたデータを
ビットマップ展開する。
【0023】つぎにこの文字処理装置の主要部の詳細に
ついて説明する。
【0024】はじめに、直線ベクタ生成部2の詳細を説
明する。
【0025】直線データ生成部2は、アウトラインフォ
ントデータ中に曲線が含まれている場合に、その曲線部
分を、誤差が曲線を直線近似する場合の精度を指示する
フラットネス値(flatness)で指定された精度
以下となるように、微小な直線ベクタで近似する処理を
行う。
【0026】例えば曲線のベクタには、図5(a)に示
すような4つの制御点で表現されるベジエ曲線が使われ
る。この場合、直線ベクタを生成する処理は、まず、同
図(b)に示すように各制御点間の中間点を求めてい
き、4つの制御点を持つ2つのベクタに分割する。つぎ
に、各ベクタに対してこのように分割を繰り返し、距離
dがフラットネス値より小さくなった時点で分割を終了
する。そして分割された各ベジエ曲線の始点と終点を順
番に結ぶことにより、直線ベクタの生成が完了する。
【0027】つぎに、分割処理部5について詳細に説明
する。分割処理部5は、スキャンラインに交差する辺の
数が2Nを超えている部分のエッジを分割し、エッジの
数を2N以下にする。ここでは、例として、特開平11
−144066号公報に記載されているアルゴリズムを
用い、概略について述べる。
【0028】分割処理部5の動作を図6に示すフローチ
ャートに沿って説明する。 [S501]:まず、処理対象スキャンラインを表すY
cをエッジが存在する範囲の最小値Yminに設定す
る。 [S502]:Ycを開始点とするエッジがある場合は
ステップS503へ進み、ない場合はステップS506
へ進む。 [S503]:countにYcを開始点とするエッジ
の数を加える。 [S504]:countが2Nを超えているかどうか
をチェックし、超えている場合にはステップS505へ
進み、超えていない場合にはステップS506へ進む。 [S505]:エッジの数が2N以下になるように分割
処理を行う。 [S506]:Ycを終点とするエッジが存在する場合
はステップS507へ進み、存在しない場合にはステッ
プS508へ進む。 [S507]:countからYcを終点とするエッジ
の数を引く。 [S508]:Ycがエッジの存在する範囲の最大値Y
maxと等しいかどうかをチェックし、等しい場合には
処理を終了する。異なる場合にはステップS509へ進
む。 [S509]:Ycの値を1だけ増加させてステップS
502に戻る。
【0029】このような方法で、スキャンラインに交差
する辺の数が2Nを超えている部分のエッジを分割す
る。また、すべてのスキャンラインで辺数が2N以下に
なるまで分割を繰り返す。
【0030】図7の例では、N=4の場合、同図(a)
のy座標がy1のスキャンラインで辺数が2Nを超える
ため、同図(b)と同図(c)に分割する。これによっ
て、すべてのスキャンラインで辺数が2N以下となった
ため分割を終了する。
【0031】つぎに、展開処理部7について説明する。
展開処理部7は、中間データ生成部から転送されたデー
タがベクタデータの場合、ビットマップに展開する。こ
こでは例として特開平11−144066号公報に記載
されているアルゴリズムを用い、概略について述べる。
【0032】図8に示すように、展開処理部7は、2N
個のDDA部71と、DDA部71から出力される2N
個のデータをX座標値でソートするソート部72と、ソ
ートされた結果から始点/終点の対を求め、その間を指
定の描画色でメモリに描画するメモリ描画部73とから
構成される。
【0033】つぎに、展開処理部の動作について図9に
示すフローチャートに沿って説明する。 [S701]:処理対象スキャンラインを表す変数Yc
を、多角形の存在範囲のY座標の最小値Yminに設定
する。 [S702]:DDA部71を用いて、現スキャンライ
ンYcと各辺との交点のX座標値を計算してXcを更新
する。 [S703]:辺が設定されているDDA部71からX
cの値をすべてソート部72に出力し、ソート部72は
これを昇順になるようにソートし、メモリ描画部73へ
出力する。 [S704]:メモリ描画部73でソート済みのX座標
値を先頭から2個ずつ取り出して対にし、その対間の水
平線分を塗りつぶす。 [S705]:Ycを1だけ増加させる。 [S706]:このYc値が多角形の存在範囲のY座標
最大値Ymaxより大きいかどうかをチェックし、大き
ければ処理を終了し、そうでない場合にはステップS7
02に戻ってY=Ycの処理を継続する。
【0034】ここでは、Ymin〜Ymaxについて毎
回Xcを更新してソートするように説明したが、辺の追
加/削除/交差が生じた場合しかソートが必要にならな
いため、辺の追加/削除/交差の発生するスキャンライ
ンで多角形を台形に分割し、ソートを不要にする方法も
考えられる。
【0035】
【発明の効果】 以上説明したように本発明では、文字
データをビットマップ形式、ビットマップ画像の圧縮形
式、ベクタ形式、分割ベクタ形式等、中間データの種類
を適合的に決定することにより、中間データ量を削減で
き、高速な展開処理を実現することができる。とくに、
文字データを保持する形式をマップによって判定するこ
とにより、より高速な展開処理を実現させることができ
る。
【図面の簡単な説明】
【図1】 アウトラインデータをビットマップ展開する
方法の説明図である。
【図2】 本発明の実施例の文字処理装置を全体として
示すブロック図である。
【図3】 実施例の全体の処理の流れを示すフローチャ
ートである。
【図4】 ラスタライズ処理判定マップの構成例を示す
図である。
【図5】 ベジェ曲線の再帰的な分割を説明する図であ
る。
【図6】 分割処理部の動作を説明するフローチャート
である。
【図7】 分割処理の一例を示す図である。
【図8】 展開処理部の構成を示すブロック図である。
【図9】 展開処理部の動作を説明するフローチャート
である。
【符号の説明】
1 入力部 2 直線ベクタ生成部 3 ラスタライズ処理選択部 4 ラスタライズ処理部 5 分割処理部 6 中間データ生成部 7 展開処理部 8 出力部 71 DDA部 72 ソート部 73 メモリ描画部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 アウトラインフォントデータをビットマ
    ップ展開する文字処理装置において、 所定のアウトラインフォントデータを読み込み、ベクタ
    データで規定される多角形データに変換する直線ベクタ
    生成部と、 前記多角形データから生成する中間データの種類を判定
    する処理判定部と、 前記多角形データを、必要に応じて複数の部分多角形デ
    ータに分割する分割処理部と、 前記多角形データを、ビットマップデータに展開し、必
    要に応じて画像圧縮して画像圧縮データを生成するビッ
    トマップ展開部と、 前記処理判定部の判定に基づいて、前記多角形データ、
    前記部分多角形データ、前記ビットマップデータおよび
    前記画像圧縮データの1つを中間データとして出力する
    中間データ出力部と、 前記中間データを受け取ってビットマップデータを出力
    するビットマップデータ出力部とを備えることを特徴と
    する文字処理装置。
  2. 【請求項2】 前記処理判定部は、少なくともフォント
    の種類と文字サイズとによって中間データの種類を判定
    するマップを備えている請求項1記載の文字処理装置。
  3. 【請求項3】 前記処理判定部は、所定の文字サイズ以
    上の場合は前記多角形データまたは前記部分多角形デー
    タを中間データとし、それ以外の場合には前記ビットマ
    ップデータまたは前記画像圧縮データを中間データとす
    る請求項1記載の文字処理装置。
  4. 【請求項4】 前記ビットマップデータ出力部は、ビッ
    トマップデータを圧縮する画像圧縮部を備え、画像圧縮
    データを出力する請求項1記載の文字処理装置。
  5. 【請求項5】 アウトラインフォントデータをビットマ
    ップ展開する文字処理装置において、 アウトラインフォントデータからそれぞれ異なる種類の
    中間データを生成する複数の中間データ生成部と、 アウトラインフォントデータの特性に基づいて1つの中
    間データ生成部を選択する表引き部と、 選択された1つの中間データ生成部が生成した中間デー
    タを受け取って、出力装置に供給するビットマップデー
    タを出力するビットマップデータ出力部とを有すること
    を特徴とする文字処理装置。
  6. 【請求項6】 アウトラインフォントデータをビットマ
    ップ展開する文字処理装置において、 所定のアウトラインフォントデータを読み込み、曲線で
    表現された部分を直線近似したベクタデータに変換する
    直線ベクタ生成部と、 前記直線ベクタ生成部で生成したベクタデータをビット
    マップ展開してビットマップデータを生成するビットマ
    ップ展開部と、 上記ビットマップ展開部により生成したビットマップデ
    ータを圧縮する圧縮部と、 上記アウトラインフォントデータの特性に基づいて表引
    きを行なって中間データの種類を決定し、上記ベクタデ
    ータ、上記ビットマップデータおよび上記圧縮データの
    1つを中間データとして出力する表引き部と、 上記中間データを受け取って、出力装置に供給するビッ
    トマップデータを出力するビットマップデータ出力部と
    を有することを特徴とする文字処理装置。
  7. 【請求項7】 上記アウトラインフォントデータの特性
    は、フォント、文字コードおよびサイズを含む請求項6
    または7記載の文字処理装置。
JP29032799A 1999-10-12 1999-10-12 文字処理装置 Pending JP2001109454A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29032799A JP2001109454A (ja) 1999-10-12 1999-10-12 文字処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29032799A JP2001109454A (ja) 1999-10-12 1999-10-12 文字処理装置

Publications (1)

Publication Number Publication Date
JP2001109454A true JP2001109454A (ja) 2001-04-20

Family

ID=17754649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29032799A Pending JP2001109454A (ja) 1999-10-12 1999-10-12 文字処理装置

Country Status (1)

Country Link
JP (1) JP2001109454A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094182A (ja) * 2005-09-29 2007-04-12 Fujitsu Ltd アウトラインフォント圧縮方法
JP2007241878A (ja) * 2006-03-10 2007-09-20 Toshiba Corp 描画装置、描画方法及び描画プログラム
JP2013015842A (ja) * 2012-08-06 2013-01-24 Fujitsu Ltd アウトラインフォント圧縮方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094182A (ja) * 2005-09-29 2007-04-12 Fujitsu Ltd アウトラインフォント圧縮方法
US7676104B2 (en) 2005-09-29 2010-03-09 Fujitsu Limited Outline font compression method
JP2007241878A (ja) * 2006-03-10 2007-09-20 Toshiba Corp 描画装置、描画方法及び描画プログラム
US7817152B2 (en) 2006-03-10 2010-10-19 Kabushiki Kaisha Toshiba Image processing apparatus, image processing method, and image processing program
JP4693660B2 (ja) * 2006-03-10 2011-06-01 株式会社東芝 描画装置、描画方法及び描画プログラム
JP2013015842A (ja) * 2012-08-06 2013-01-24 Fujitsu Ltd アウトラインフォント圧縮方法

Similar Documents

Publication Publication Date Title
US5388166A (en) Image drawing apparatus
JP2001109454A (ja) 文字処理装置
JPH05120441A (ja) ベクトル画像描画装置
JP3146771B2 (ja) フォントラスタライズ装置およびその方法
JP2806679B2 (ja) 文字発生装置
JP2819961B2 (ja) 印刷制御装置
JPH08254973A (ja) 文字出力装置およびその方法
JP2001273508A (ja) 画像処理装置
JPH09325748A (ja) 文字パターン形成装置及び文字パターン形成方法
JP3536894B2 (ja) 図形処理装置
JPH08305335A (ja) 文字処理装置
JPH0823741B2 (ja) ベクトル文字もしくはベクトル図形の処理方法
JP3571119B2 (ja) 画像描画装置
JP2000322586A (ja) 輪郭情報生成装置、輪郭情報展開装置、輪郭情報生成プログラム記憶媒体、輪郭情報展開プログラム記憶媒体、輪郭情報生成方法及び輪郭情報展開方法
JPH0216068A (ja) 像形成装置
JP2903517B2 (ja) 印刷装置用画像イメージ発生装置
JP3567727B2 (ja) 画像処理方法および装置
JP3061542B2 (ja) アウトライン図形の変形装置
JP3210448B2 (ja) 文字処理方法及び装置
JP2000222569A (ja) 描画装置
JPH07306669A (ja) 文字出力装置
JPH09190172A (ja) 文字処理装置
JPH11198465A (ja) 文字出力装置
JPH07160241A (ja) 文字発生装置
JPH09258715A (ja) 画像形成装置及び方法