JPH08254973A - 文字出力装置およびその方法 - Google Patents

文字出力装置およびその方法

Info

Publication number
JPH08254973A
JPH08254973A JP7058837A JP5883795A JPH08254973A JP H08254973 A JPH08254973 A JP H08254973A JP 7058837 A JP7058837 A JP 7058837A JP 5883795 A JP5883795 A JP 5883795A JP H08254973 A JPH08254973 A JP H08254973A
Authority
JP
Japan
Prior art keywords
character
data
bitmap
frame memory
registered
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
JP7058837A
Other languages
English (en)
Inventor
Naomi Ogawa
直美 小川
Masaru Fujii
大 藤井
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7058837A priority Critical patent/JPH08254973A/ja
Publication of JPH08254973A publication Critical patent/JPH08254973A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【目的】ベクトルフォントの文字出力を高速化する装置
を提供する。 【構成】文字のアウトラインフォントの展開手段(20
2〜207)と、複数の文字のビットマップデータを、
一時的に登録するキャッシュメモリ106と永続的に登
録するハードディスク103と、出力イメージでビット
マップデータを記憶するフレームメモリ107を備え、
所望の文字のビットマップデータを出力して表示または
印字する文字出力装置において、所望の文字と同一のビ
ットマップデータを登録または記憶している記憶手段を
探索し、探索された記憶手段がフレームメモリの場合は
該当データを所望の文字の指定位置に転送させ、キャッ
シュメモリまたはハードディスクの場合は、読出した該
当データを前記フレームメモリに記憶すさせる制御手段
200からなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプリンタやディスプレイ
など、印字や表示のための出力装置に係り、特に、ベク
トル文字を出力する文字出力方式に関する。
【0002】
【従来の技術】レーザビームプリンタやディスプレイ装
置などのベクトル文字データの記憶形式として、文字の
形状を文字の輪郭の座標列で記憶するアウトラインフォ
ントがある。アウトラインフォントを印字または表示す
るためには、フォントデータの読み込み処理、スケーリ
ング処理、直線近似処理、交点座標処理及び塗りつぶし
処理からなるアウトライン展開処理が行われる。
【0003】まず、フォントデータ記憶部から文字の輪
郭座標値が読み込まれる。この輪郭座標値は、輪郭線上
に有る座標値と、輪郭線上に無くベジェ曲線などの補間
曲線を発生するのに必要な制御点の座標値からなる。
【0004】輪郭座標値が与えられると、正規化変換、
解像度変換、サイズ変換などのスケーリング処理が行わ
れる。正規化変換処理は、例えば1024*1024グ
リットの場合、輪郭座標値(X,Y)/1024=Pと
して、最大値が1となる正規化座標上への変換を行う。
解像度変換処理は、例えば正規化座標値Pの解像度が2
40dpi(dot/inch)とすると、出力装置の解像度を
考慮して、P*240/72=Prのように変換する。
サイズ変換処理は、解像度変換した輪郭座標値Prを要
求された文字サイズの座標系上に変換する。例えば、文
字サイズが12ポイントであれば、Pr*12=Psと
する。
【0005】直線近似処理は、輪郭座標値に付随する属
性情報によって直線部と曲線部に判別し、曲線部は上記
の補間曲線によって発生した曲線を線分に分割して近似
する。これで、文字の輪郭は全て直線で表わされ、その
ときに生じる頂点座標列が直線近似データとなる。
【0006】交点座標処理は、直線近似データを基に、
ブレセンハム(Bresenham)や増分法などの直線発生ア
ルゴリズムによって直線を発生させ、この直線とスキャ
ンラインとの交点座標を求める。最後に、この交点座標
間をドットによって塗りつぶし、要求された文字に対す
るビットマップデータを生成する。
【0007】アウトラインフォントは、拡大、縮小、回
転などが自由に行える反面、前述のように展開処理が複
雑で、文字出力に時間がかかるという問題がある。この
解決案として、アウトライン展開によって生成された文
字のビットマップデータをキャッシュメモリに格納し、
再度同じ文字の要求が発生した場合に、このキャッシュ
メモリのビットマップデータを利用する方法が知られて
いる。また、特開平3−287297号に記載のよう
に、アウトライン展開の途中で得られる直線近似データ
をキャッシュメモリに格納し、再度同じ文字の要求が発
生した場合に、この直線近似データを利用して、その後
のビットマップデータの生成処理を行う方法が知られて
いる。
【0008】
【発明が解決しようとする課題】前述のように、ビット
マップデータをフォントキャッシュとする場合、ビット
マップデータを記憶するのに必要なメモリ容量は、文字
サイズの2乗に比例して増大する。例えば、12ポイン
トの文字のメモリ容量は200バイトとなるが、24ポ
イントの文字では800バイトを必要とする。さらに、
解像度が240dpiから400dpiに増加すると、
24ポイントの文字は約2kバイトのメモリ容量を必要
とする。
【0009】このため、大きな文字のビットマップデー
タは、キャッシュメモリへの記憶が困難で、そのつどア
ウトライン展開を行う必要があり、出力装置へのスルー
プットが低下する。この場合、小さな文字のビットマッ
プデータを、拡大して利用する方法もあるが、ジャギー
が発生して文字品質が劣化する。
【0010】一方、直線近似データをフォントキャッシ
ュとして利用する方式は、文字品質は確保できるが、ビ
ットマップデータをフォントキャッシュとする場合に比
べて時間がかかる。且つ、小さな文字の直線近似データ
は、ビットマップデータよりメモリ容量が多くなるとい
う問題があった。
【0011】そこで、本発明者等は特願平6−4536
4号で提案したように、ビットマップデータや直線近似
データなど複数のデータ形態を、フォントキャッシュと
して備え、状況に応じてそれらの特徴を活かして使い分
けるようにした。すなわち、アウトライン展開の結果生
成されるビットマップデータと、その圧縮データと、ア
ウトライン展開の途中で得られる直線近似データ等の中
間情報データの内、少なくとも2つの形態の文字データ
をフォントキャッシュとして記憶し、入力された文字に
対して使用する形態または、使用可能な形態を判断して
使いわけることにより、小さなキャッシュメモリ容量
で、高速の文字出力を可能にする文字出力装置を提供し
ている。
【0012】本発明の目的は、前述した従来技術の問題
点を克服し、且つ、本発明者等による上記先願をさらに
改善した文字出力方式を提供することにある。
【0013】すなわち、従来のビットマップデータの圧
縮方法を改良し、フォントキャッシュとして記憶するビ
ットマップ圧縮データのデータ量を低減して、再利用の
ための登録文字数を増大し、より高速の文字出力装置を
提供する。
【0014】また、ビットマップデータ、その圧縮デー
タ及びビットマップ生成途中の中間情報の各データ形態
を、高速性と大量記憶の両面から複数の記憶手段に分担
して登録して、実用上必要な広範な文字を高品質、高速
で出力できる文字出力装置を提供する。
【0015】本発明のその余の目的は、以下の記載を通
じて明らかになる。
【0016】
【課題を解決するための手段】本発明の目的は、文字の
アウトラインフォントの展開手段と、複数の文字のビッ
トマップデータを一時的に登録する第1の記憶手段と永
続的に登録する第2の記憶手段と、出力イメージでビッ
トマップデータを記憶するフレームメモリを備え、所望
の文字のビットマップデータを出力して表示または印字
する文字出力装置において、所望の文字と同一のビット
マップデータを登録または記憶している記憶手段を探索
し、探索された記憶手段がフレームメモリの場合は該当
データを所望の文字の指定位置に転送させ、前記第1の
記憶手段または前記第2の記憶手段の場合は、読出した
該当データを前記フレームメモリに記憶すさせる制御手
段を備えることにより達成される。
【0017】前記第1の記憶手段はキャッシュメモリ、
前記第2の記憶手段はハードディスクなどの外部記憶装
置でなることを特徴とする。また、前記制御手段は、所
望の文字と同一のビットマップデータを記憶している記
憶手段がみつからない場合、前記展開手段を起動してア
ウトライン展開によって所望の文字のビットマップデー
タを生成することを特徴とする。
【0018】また、本発明の目的は、入力文字情報に対
応するビットマップデータをフレームメモリに展開し
て、表示または印字する文字出力方法において、再利用
のために、複数の文字のビットマップデータをキャッシ
ュメモリに、さらに多数の文字のビットマップデータを
ハードディスクなどの外部記憶装置に、それぞれ登録し
ておき、所望の文字が入力され、それと同一の文字が前
記フレームメモリに展開されている場合には、該当のビ
ットマップデータを所望の文字の指定位置に転送し、所
望の文字と同一の文字が前記フレームメモリになく、前
記キャッシュメモリに登録されている場合には、該当の
ビットマップデータを読出して前記フレームメモリに展
開し、所望の文字と同一の文字が前記フレームメモリに
も前記キャッシュメモリにもなく、前記外部記憶装置に
登録されている場合には、該当のビットマップデータを
読出して前記フレームメモリに展開することにより達成
される。
【0019】前記の構成で、所望の文字と同一の文字が
前記外部記憶装置にもない場合には、所望の文字の輪郭
線情報を基に、所定のアウトライン展開をしてビットマ
ップデータを生成することを特徴とする。この際、予
め、前記外部記憶装置に複数の文字のアウトライン展開
途中結果の中間情報を登録しておき、所望の文字に対応
する中間情報を使用してアウトライン展開することを特
徴とする。
【0020】前記中間情報は、輪郭線情報の直線近似処
理による端点データとラインペアデータからなり、曲線
部の直線近似処理に使用される制御点などの補助データ
が付加され、前記中間情報からのアウトライン展開で文
字サイズが不適合となる場合に、前記補助データを利用
して直線近似処理からやり直すことを特徴とする。
【0021】さらに、本発明の目的は、文字出力方法に
おいて、再利用のために、複数の文字のビットマップ圧
縮データをキャッシュメモリに、さらに多数の文字のビ
ットマップ圧縮データをハードディスクなどの外部記憶
装置に、それぞれ登録し、所望の文字が入力され、それ
と同一の文字が前記フレームメモリに展開されている場
合には、該当のビットマップデータを所望の文字の指定
位置に転送し、所望の文字と同一の文字が前記フレーム
メモリになく、前記キャッシュメモリに登録されている
場合には、該当のビットマップ圧縮データを読出し、伸
長して、前記フレームメモリに展開し、所望の文字と同
一の文字が前記フレームメモリにも前記キャッシュメモ
リにもなく、前記外部記憶装置に登録されている場合に
は、該当のビットマップ圧縮データを読出し、伸長し
て、前記フレームメモリに展開することにより達成され
る。
【0022】前記ビットマップデータはボディ枠のデー
タ領域を有して前記フレームメモリ上に展開され、一
方、前記キャッシュメモリや前記外部記憶装置に登録さ
れるビットマップ圧縮データは、前記ボディ枠のビット
マップデータから切り出したレター枠のデータ領域を圧
縮してなることを特徴とする。
【0023】
【作用】本発明は、文字出力装置で使用する使用頻度の
高い文字のビットマップデータは、永続記憶するハード
ディスクなどの大容量の外部記憶装置に格納されてい
る。そして文字出力装置の稼働中に使用された文字のビ
ットマップデータは、一次記憶の高速のキャッシュメモ
リにその記憶容量内で所定の優先順に格納する。さら
に、文字の輪郭線情報からアウトライン展開してビット
マップデータを生成する際の中間情報を、前記外部記憶
装置に登録している。このビットマップデータは、圧縮
してデータ量を低減し、キャッシュメモリや外部記憶装
置に登録している。
【0024】本発明の構成によって、所望の文字の出力
を要求されたときに、所望の文字と同一のビットマップ
データがどこに記憶されているか、文字出力の速くなる
順番に探索し、既にフレームメモリに展開されていれ
ば、フレームメモリ内で転送し、キャッシュメモリにあ
れば読出してフレームメモリに展開し、外部記憶装置に
あれば読出してフレームメモリに展開する。同一のビッ
トマップデータがどこにもなければ、外部記憶装置から
中間情報を読出してビットマップデータを生成し、フレ
ームメモリに展開する。
【0025】これによれば、高速小容量の一時的記憶手
段と、低速大容量の永続的記憶手段を使い分け、前者に
は稼働中の少数の再利用データを、後者には予め複製し
たり、稼働中に蓄積した大量のデータを登録して、極め
て高い頻度で既に展開済みのビットマップデータを利用
できるので、文字出力に複雑なアウトライン展開を省略
でき、仮にアウトライン展開をする場合でも中間情報か
らの展開に止め、全体として高品質で高速の文字出力装
置を実現できる。
【0026】さらに、本発明では、登録するビットマッ
プデータを、従来のボディ枠に比べてビットマップデー
タ容量が約1/2〜1/3となるレター枠で圧縮してい
る。周知のMMR圧縮を用いた場合、文字の圧縮率は1
0ポイントサイズで約1/4、20ポイントで約1/8
である。これにレター枠による低減が加わって、ビット
マップデータは1/8〜1/24程度のデータ量に圧縮
され、その分、登録文字数が増大して、高速応答のヒッ
ト率が高まる。
【0027】さらに、本発明では、中間情報からのアウ
トラインがサイズ不適合となる場合に、中間情報に直線
近似のための付加情報を持たせて、直線近似の処理速度
を向上している。
【0028】
【実施例】以下に、本発明の実施例を図面を参照しなが
ら詳細に説明する。
【0029】図1は本発明の一実施例による文字出力シ
ステムのハード構成図である。文字出力装置114は、
ホスト装置100からの入力文字に応じて、フォント文
字をアウトライン展開処理し、この結果のビットマップ
データをプリンタエンジン111に出力して印字する。
【0030】文字出力装置114は、ホストインタフェ
ース101、ハードディスクインタフェース102、補
助記憶装置であるハードディスク103、一連の文字出
力処理を演算制御するCPU104、そのプログラムを
記憶するプログラムROM105、キャッシュメモリ1
06、フレームメモリ107、主記憶メモリ108、エ
ンジンインタフェース109をシステムバス110を介
して接続している。また、専用処理を行う圧縮プロセッ
サ112と伸長プロセッサ113を接続している。
【0031】図2は、本実施例の文字出力装置の構成を
示す機能ブロック図である。
【0032】ハードディスク103は、端点データファ
イル1031とラインペアデータファイル1032を有
する中間情報記憶部1030と、後述するビットマップ
圧縮データの圧縮データファイル1040を備えてい
る。
【0033】制御部200は、ホストからの入力による
文字、文字サイズ、指示位置などを、入力部201を介
して受信すると、入力文字と同一の文字がフレームメモ
リ107、キャッシュメモリ106及びハードディスク
103内の圧縮データファイル1040の内、どれに記
憶または登録されているか検索し、その記憶手段に応じ
た処理を指示して、その後のビットマップデータの出力
処理を制御する。
【0034】中間情報読み出し部202は、入力文字に
対応するビットマップデータの登録がどこにもない場合
に、制御部202からの指示により、ハードディスク1
03から中間情報(端点データ、ラインペアデータ)を
読み出す。サイズ変換部203は、端点データを指定サ
イズに変換する。直線近似実行判断部204は、予め生
成してある端点データの初期サイズと指定サイズを比較
し、再度直線近似する必要があるか判断する。入力文字
サイズが初期サイズより所定倍以上大きいくサイズ不適
合の場合に、直線近似部205による再度の直線近似が
行なわれる。線幅補正部206は、ラインペアデータを
基に補正して、文字の水平線部及び垂直線部の線幅を均
一に揃える。すなわち、文字の輪郭座標値を補正する。
塗りつぶし部207は、補正した輪郭座標値を基に交点
座標処理を行い、輪郭線を発生し、文字の輪郭線内部を
塗りつぶすドットデータ、すなわちビットマップデータ
を生成する。
【0035】圧縮部208は、圧縮プロセッサ112を
起動して、入力文字に対応して生成されたビットマップ
データを圧縮する。本実施例では後述するように、ボデ
ィ枠から切り出したレター枠(別称:境界ボックス;文
字の図形全体を囲い込むような最小の四角形)のビット
マップデータを圧縮する。
【0036】ビットマップ圧縮データ登録部209は、
再利用するために必要な所定の項目を管理テーブルに登
録して、生成したビットマップ圧縮データをキャッシュ
メモリ106と、ハードディスクの圧縮データファイル
1040に格納する。前者の格納データは、キャッシュ
メモリ106がクリアされるまで利用できる。キャッシ
ュメモリ106のクリアは、システム電源断による全消
去のみならず、キャッシュメモリ容量を超える場合に、
データの格納順または利用頻度などの所定の優先度に従
って、格納データの一部を消去する。なお、後者のデー
タは永続的に利用できる。
【0037】図3に、管理テーブルのフォーマットを示
す。同図(a)はキャッシュメモリ管理テーブル12
1、同図(b)は圧縮データ管理テーブル122のフォ
ーマットである。各テーブルは主記憶メモリ108に記
憶され、書体、文字コード、文字サイズ、文字の傾斜及
び登録データのアドレスなどを管理している。また、文
字のレター枠の高さ、幅を示すh、w、ボディ枠からレ
ター枠を切り出すのに用いるベクトルデータls,lm
も管理している。同図(c)は、フレームメモリ管理テ
ーブル123で、フレームメモリ内に展開されている文
字を登録し、フレームメモリがクリアされると消去され
る。
【0038】伸長部210は、伸長プロセッサ113を
起動し、ビットマップ圧縮データをレター枠のビットマ
ップデータに伸長する。ボディ枠ビットマップデータ生
成部211は、レター枠のビットマップデータを、出力
イメージに相応するボディ枠内のビットマップデータに
変換する。
【0039】フレームメモリ登録部212は、このビッ
トマップデータを一旦、フレームメモリ107に保存
し、フレームメモリ管理テーブル123に登録する。こ
の後、出力部211は、ビットマップデータをインター
フェース109を介してプリンタエンジン111に出力
する。転送部215は、入力の文字に該当するビットマ
ップデータが、フレームメモリ管理テーブル123に登
録されている場合に、該当ビットマップデータをフレー
ムメモリ上の入力指定位置に転送する。
【0040】次に、本実施例の文字出力装置の詳細な動
作を説明する。図4は、本実施例の文字出力装置の処理
手順を示すフローチャートである。
【0041】まず、ステップs100で、ホストから入
力される文字情報、すなわち、書体、文字サイズ、文字
コード、傾斜などを受付る。ステップs101で、制御
部200は入力された文字情報に対し、同一文字がフレ
ームメモリ107に展開されているか否か、指定された
書体、文字サイズ、文字コード及び傾斜についてフレー
ムメモリ管理テーブルを検索する。そして、同一文字が
存在すればステップs102に、存在しなければステッ
プs103に処理を移行する。
【0042】ステップs102では、制御部200から
指示された転送部214が、フレームメモリ管理テーブ
ル123に登録されている同一文字のアドレスに従い、
フレームメモリ上の該当する座標矩形内のビットマップ
データをフレームメモリ上の指定座標に転送する。
【0043】一方、ステップs103で、制御部200
は同一文字(書体、文字コード、サイズ及び傾斜が同
一)のビットマップ圧縮データが登録されているか、キ
ャッシュメモリ管理テーブル121を検索する。同一文
字が登録されている場合は、ステップ104で、キャッ
シュメモリ管理テーブル121に登録されている同一文
字のアドレスを基に、キャッシュメモリ106から同一
文字のビットマップ圧縮データを読出す。そして、ステ
ップ105で、伸長プロセッサ112を起動して、同一
文字のビットマップ圧縮データを伸長する。さらに、ス
テップs106で、レター枠のビットマップデータにボ
ディ枠情報を付加し、ステップs107で、同一文字の
ビットマップデータをフレームメモリ107に展開す
る。
【0044】一方、ステップs103で、キャッシュメ
モリ106に同一文字が無ければ、ステップs108に
処理を移行し、圧縮データ管理テーブル122に同一文
字が登録されているか検索する。同一文字が登録されて
いる場合、ステップ109で、管理テーブル122に登
録されている同一文字のアドレスを基に、圧縮データフ
ァイル1040から同一文字のビットマップ圧縮データ
を読出す。ステップ110で、圧縮データ登録部209
は読出された同一文字のビットマップ圧縮データを、キ
ャッシュメモリ106に登録する。その後、前述のステ
ップs105〜s107を経て、当該文字のビットマッ
プデータがフレームメモリ107に展開される。
【0045】ステップs108で、入力文字情報と同一
のビットマップ圧縮データが登録されていなければ、ス
テップs111に移行して、中間情報からのアウトライ
ン展開処理を行ってビットマップデータを生成する。そ
して、ステップs112で、このビットマップデータを
圧縮し、前述のステップs110に移行して、キャッシ
ュメモリに106に登録し、前述の処理を経てフレーム
メモリ107に展開する。
【0046】次に、前述のステップs111における、
中間情報からのアウトライン展開処理を詳細に説明す
る。
【0047】ところで、中間情報とは、アウトライン展
開処理の途中までの計算結果である。本実施例では、図
2に示すように、端点データとラインペアデータの中間
情報を、ハードディスク103の中間情報記憶部103
0の各ファイルに予め登録してある。この登録は、例え
ば、前述の特願平6−45364号に示し、アウトライ
ン展開回路と中間情報メモリを持つ文字出力装置(引用
例の図1)で求めた中間情報を複製することで可能にな
る。なお、本実施例の図2に点線で付記するように、ア
ウトラインフォントから中間情報を作成する中間情報作
成手段215を備えるようにしてもよい。
【0048】図5に、フォントデータから中間情報を作
成する処理手順を示す。まず、ステップs200で、ア
ウトラインフォントデータの読み込みを行う。アウトラ
インフォントデータ(輪郭線情報)は、輪郭線上に有る
座標値と、輪郭線上に無くベジェ曲線やスプライン曲線
等の補間曲線を発生するために必要な制御点と、による
輪郭座標値Pem(Xem,Yem)の点列である。
【0049】次に、ステップs201で、輪郭座標値P
emを解像度変換し、出力プリンタの解像度を考慮した
所定の初期サイズの座標系上の輪郭座標値Prを求め
る。ステップs202で、輪郭座標値Prの点列による
文字の曲線部分を、滑らかに近似できる程度の線分によ
って直線近似し、各線分の端点を算出する。前述の端点
データは、文字の直線部分の輪郭データ点列と、文字の
曲線部分を近似した直線線分のデータ点列をまとめた頂
点データの呼称である。この端点データを結ぶと、図1
2に示すように、文字の輪郭線を直線近似で表わすこと
ができる。
【0050】次に、ステップs203で、ヒンティング
処理を行ってラインペア(線分対)データを抽出する。
直線近似された端点データは、交点座標処理の前に正数
変換されるが、このときのデータ桁落ちによって、アウ
トライン展開した文字は、特に、その水平線、垂直線の
線幅が不均一になる。ヒンティング処理は、正数化され
た端点データから線分を発生して、各線分の傾きを求
め、それら線分のうち各文字の水平線と垂直線を構成す
るラインペアデータを算出する。そして、後行程の線幅
補正処理では、このラインペアデータに対して、文字の
水平線部と垂直線部の線幅が均一となるように補正す
る。
【0051】次に、ステップs204で、端点データと
ラインペアデータを、中間情報としてハードディスク1
03の中間情報記憶部1030に格納する。図7に、中
間情報を説明するための直線近似データの一例を示し、
端点(頂点)及び線分を図示のように付番する。この直
線近似データを例にして、図8、図9及び図10に、中
間情報ファイルと中間情報管理テーブルの記憶形式を示
す。
【0052】図8は、端点データファイル1031を示
し、各頂点のx座標とy座標が輪郭線の点列順に記憶さ
れ、輪郭線の先頭が端点用ポインタにより指示される。
なお、後述する直線近似用の付加情報も、本ファイルに
格納される。
【0053】図9は、ラインペア情報ファイル1032
のヘッダー部を示し、(a)は水平線部ラインペア、
(b)は垂直線部ラインペアのテーブルである。各々の
テーブルには、2組の線分の番号とラインペアであるこ
とを示すアコードが記憶され、ラインペアの先頭がライ
ンペア用ポインタにより指示される。
【0054】図10は、中間情報管理テーブル124を
示し、文字コード毎に、端点用ポインタ(または、端点
データファイル1031内のアドレス)、水平線及び垂
直線のラインペア用ポインタ(ラインペアデータファイ
ル1032内のアドレス)を管理している。なお、図示
を省略しているが、書体や文字サイズ等も管理してい
る。このテーブル124は、前述のテーブル121〜1
23と同様に、主記憶メモリ108に記憶し、制御部2
00により検索される。
【0055】以上に説明したs200s〜204の中間
情報の作成処理は、使用する書体のすべての文字に対し
て行う。また、所定の初期サイズは、一般には最も使用
頻度が高い文字サイズが選択される。
【0056】次に、登録している中間情報から指定文字
のビットマップデータを生成するまでの処理を説明す
る。
【0057】図6は、中間情報からのアウトライン展開
処理を示すフローチャートである。まず、ステップs3
00で、ホストからの入力文字情報(書体、文字コー
ド、サイズ等)に対応し、関係する(例えば、書体と文
字コードが同じ)中間情報(端点データとラインペアデ
ータ)を読み出す。次に、ステップs301で、入力文
字のサイズと中間情報の初期サイズが同一であるか調べ
る。同じであればステップs305に、異なればs30
2に移行する。
【0058】ステップs302では、入力文字情報の文
字サイズと中間情報の初期サイズの比となる変倍数を求
め、中間情報の端点データに変倍数を乗じてサイズ変換
する。次に、ステップs303で、前述の変倍数が所定
値以上となるか判定して、文字品質上、再直線近似の要
否を判定する。これは、入力文字サイズが初期サイズよ
りも著しく大きくなる場合に、初期サイズの中間情報を
単純に拡大すると、角張った文字となるためである。こ
の場合は、ステップs304で、入力文字情報を基にし
た再度の直線近似処理(ヒンティングを含む)を行い、
端点データとラインペアデータを求める。一方、直線近
似の必要がなければ、中間情報のラインペアデータとサ
イズ変換後の端点データをもって、ステップs305に
移行する。
【0059】次に、ステップ305で、中間情報または
再計算のラインペアデータと、中間情報またはサイズ変
換または再計算の端点データと、を基に線幅補正を行
い、さらに、ステップs306で、塗りつぶし処理を行
って、入力文字のビットマップデータを生成する。
【0060】ところで、中間情報生成時の直線近似処理
(s202)では、アウトラインデータによる座標値が
輪郭線上になく、補間曲線を発生するのに必要な制御点
として与えられる場合に、この制御点と曲線補間式によ
って発生する補間曲線を、複数の線分によって滑らかに
分割して近似する。
【0061】図11は、直線近似処理において、ベジェ
曲線上で分割のための座標点(Q0,Q1,Q2,・・
・)を求める処理の説明図である。補間曲線が2次のベ
ジェ曲線の場合、2つの制御点(P1,P2)と始点
(P0)及び終点(P3)の座標データを基に、ベジェ
曲線上の座標点(Q0,Q1,Q2,・・・)を求め
る。
【0062】まず、P0P1,P1P2およびP2P3
の各線分の中点R0,R1,R2を求め、さらに、R0
R1線分とR1R2線分の中点T0,T1を求める。こ
の線分T0T1の中点が、求めるベジェ曲線の座標点Q
0である。同様にして、座標点Q1については、R0,
T0を制御点、P0,Q0を始点、終点として求める。
また、座標点Q2については、、R2,T1を制御点、
Q0,P3を始点、終点として求める。
【0063】このように、各線分の中点算出を繰り返す
ことにより、ベジェ曲線上の更に多くの座標点が求めら
れる。本実施例の直線近似処理では、初期サイズの文字
が滑らかに近似できる程度まで、必要な数の座標点を求
め、その結果を中間情報の端点データとして格納する。
その際、中間情報として格納するベジェ曲線上の座標点
と共に、付加情報として制御点や始点、終点も中間情報
記憶部1030に格納する。例えば、ベジェ曲線上の座
標点Q0だけの場合にも、制御点R0,T0及びR2,
T1と始点P0及び終点P3も中間情報に付加して格納
する。
【0064】これによって、前述のステップs304に
おける再直線近似の際には、付加情報の制御点(R0,
T0,R2,T1)と始点(P0)及び終点(P3)の
座標データを参照し、入力文字サイズの文字が滑らかに
近似できるまで、前述の中点算出処理を繰り返し、ベジ
ェ曲線上の座標点を求めることができる。
【0065】次に、本実施例によるレター枠のビットマ
ップ圧縮データについて説明する。図12は、アウトラ
イン展開される文字(O)のビットマップデータの説明
図である。ビットマップデータは、B×Bドットサイズ
のボディ枠領域で生成され、この領域の情報がフレーム
メモリに転送される。図示のように、ボディ枠の領域
は、実際の文字データに外接する最小方形のレター枠
(境界ボックス)に対し、一定のマージン領域を有して
いる。
【0066】レター枠のデータ量はボディ枠の1/2〜
1/3となるが、従来はボディ枠のビットマップデータ
をMMR技術で圧縮しているために、キャッシュメモリ
のように使用可能な記憶容量に制限のある場合、その
分、登録できる文字数が少なくなり、検索時のヒット率
が低く、文字出力のスループットを低下させていた。
【0067】本実施例では、ビットマップデータを圧縮
する際に、ボディ枠からレター枠を切り出し、レター枠
内のビットマップデータのみを圧縮する。ボディ枠から
レター枠の切り出しは、ボディ枠左下の文字の転送位置
である原点(0,0)からレター枠の左下PLへのベク
トルls、レター枠の右上へのベクトルlmを用いて行
う。
【0068】ベクトルデータls,lmは、塗りつぶし
処理の前処理で行われる交点座標処理によって算出され
る。すなわち、直線近似データを基に発生される直線と
スキャンライン(走査線)との交点座標(×印)の算出
で、交点座標の最小値(=ls)及び最大値(=lm)
として取得され、レター枠のh、wと共に、キャッシュ
メモリ管理テーブル121、圧縮データ管理テーブル1
22に管理される。
【0069】圧縮データの利用時には、キャッシュメモ
リ上のレター枠のビットマップ圧縮データを伸長処理
(ステップs105)し、ベクトルデータls、lmな
どを基にボディ枠のビットマップデータを生成して(ス
テップs106)、フレームメモリ107に転送する。
【0070】本実施例によれば、レター枠のビットマッ
プ圧縮データを記憶することにより、従来のボディ枠の
圧縮データに比べて記憶容量を1/2〜1/3に削減で
き、再利用のためにキャッシュメモリやハードディスク
に登録可能な文字数を大幅に増加できる。
【0071】なお、上記実施例におけるキャッシュメモ
リやハードディスクは、ビットマップデータの圧縮形態
で記憶している。しかし、ビットマップデータをそのま
ま記憶すれば、よりスループットを高めることができ
る。この方式は、大容量のハードディスクを備える文字
出力装置では実現可能である。
【0072】
【発明の効果】本発明の文字出力方式は、永続的な記憶
を含む複数の記憶手段により、アウトラインフォントの
複雑な展開処理後のビットマップデータを、各記憶手段
の記憶容量に応じて予めまたは稼働中に記憶し、再利用
時には最も文字出力が早くなる記憶手段から順番に同一
文字データの有無を検索するように構成しているので、
文字品質を保証しながら文字出力を高速化できる効果が
ある。
【0073】また、ビットマップデータはレター枠を切
り出して圧縮するので、従来のデータ量の数分の1に低
減され、記憶できる文字数が増大して検索時のヒット率
が高まり、文字出力のスループットを向上できる。
【0074】さらに、本発明は、中間情報を永続的記憶
手段に記憶し、アウトライン展開処理手段を付加して、
所望の文字と同一のビットマップデータがない場合に
も、中間情報からビットマップデータを展開生成するこ
とで、高品質、高速に広範な書式の文字を出力できる高
機能文字出力装置を提供できる。
【図面の簡単な説明】
【図1】本発明の一実施例による文字出力装置の構成
図。
【図2】本発明の一実施例による文字出力装置の機能ブ
ロック図。
【図3】キャッシュメモリ管理テーブル、圧縮データ管
理テーブル及びフレームメモリ管理テーブルの構成図。
【図4】本発明の一実施例による文字出力方法を示すフ
ローチャート。
【図5】アウトラインフォントから中間情報を生成する
処理を示すフローチャート。
【図6】中間情報からビットマップ情報を生成する処理
を示すフローチャート。
【図7】中間情報の端点データとラインペアデータの関
係を示す説明図。
【図8】端点データファイルの構成図。
【図9】ラインペアデータファイルのヘッダ部(管理テ
ーブル)の構成図。
【図10】中間情報管理テーブルの構成図。
【図11】ベジェ曲線による直線近似方法を示す説明
図。
【図12】ビットマップデータのボディ枠とレター枠の
説明図。
【符号の説明】 100…ホスト装置、101…ホストインタフェース、
102…ハードディスクインタフェース、103…ハー
ドディスク、104…CPU、105…プログラムRO
M、106…キャッシュメモリ、107…フレームメモ
リ、108…主記憶メモリ、109…エンジンインタフ
ェース、110…システムバス、111…プリンタエン
ジン、112…圧縮プロセッサ、113…伸長プロセッ
サ、114…文字出力装置、200…制御部、201…
入力部、202…中間情報読み出し部、203…サイズ
変換部、204…直線近似実行判断部、205…直線近
似部、206…線幅補正部、207…塗りつぶし部、2
08…圧縮部、209…圧縮データ登録部、210…伸
長部、211…ボディ枠ビットマップデータ生成部、2
12…フレームメモリ登録部、213…出力部、214
…転送部、1030…中間情報記憶部、1031…端点
データファイル、1032…ラインペアデータファイ
ル、1040…圧縮データファイル。

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 文字のアウトラインフォントの展開手段
    と、複数の文字のビットマップデータを一時的に登録す
    る第1の記憶手段と永続的に登録する第2の記憶手段
    と、出力イメージでビットマップデータを記憶するフレ
    ームメモリを備え、所望の文字のビットマップデータを
    出力して表示または印字する文字出力装置において、 所望の文字と同一のビットマップデータを登録または記
    憶している記憶手段を探索し、探索された記憶手段がフ
    レームメモリの場合は該当データを所望の文字の指定位
    置に転送させ、前記第1の記憶手段または前記第2の記
    憶手段の場合は、読出した該当データを前記フレームメ
    モリに記憶させる制御手段を備えることを特徴とする文
    字出力装置。
  2. 【請求項2】 請求項1において、 前記第1の記憶手段はキャッシュメモリ、前記第2の記
    憶手段はハードディスクなどの外部記憶装置でなること
    を特徴とする文字出力装置。
  3. 【請求項3】 請求項1または2において、 前記制御手段は、所望の文字と同一のビットマップデー
    タを記憶している記憶手段が探索できない場合、所望の
    文字のビットマップデータを所定のアウトライン展開に
    よって生成するために、前記展開手段を起動するように
    構成したことを特徴とする文字出力装置。
  4. 【請求項4】 請求項3において、 前記第2の記憶手段に、予めアウトライン展開途中結果
    の複数の中間情報を登録し、前記展開手段が所望の文字
    に対応する中間情報からアウトライン展開できるように
    構成したことを特徴とする文字出力装置。
  5. 【請求項5】 請求項1、2、3または4の文字出力装
    置において、 前記第1の記憶手段及び前記第2の記憶手段に登録する
    ビットマップデータを圧縮する圧縮手段と、これら第1
    及び第2の記憶手段から読出したビットマップ圧縮デー
    タを伸長する伸長手段を備えることを特徴とする文字出
    力装置。
  6. 【請求項6】 入力文字情報に対応するビットマップデ
    ータをフレームメモリに展開して、表示または印字する
    文字出力方法において、 再利用のために、複数の文字のビットマップデータをキ
    ャッシュメモリに、さらに多数の文字のビットマップデ
    ータをハードディスクなどの外部記憶装置に、それぞれ
    登録しておき、 所望の文字が入力され、それと同一の文字が前記フレー
    ムメモリに展開されている場合には、該当のビットマッ
    プデータを所望の文字の指定位置に転送し、 所望の文字と同一の文字が前記フレームメモリになく、
    前記キャッシュメモリに登録されている場合には、該当
    のビットマップデータを読出して前記フレームメモリに
    展開し、 所望の文字と同一の文字が前記フレームメモリにも前記
    キャッシュメモリにもなく、前記外部記憶装置に登録さ
    れている場合には、該当のビットマップデータを読出し
    て前記フレームメモリに展開することを特徴とする文字
    出力方法。
  7. 【請求項7】 請求項6において、 所望の文字と同一の文字が前記外部記憶装置にもない場
    合には、所望の文字の輪郭線情報(アウトラインフォン
    トデータ)を基に、所定のアウトライン展開をしてビッ
    トマップデータを生成することを特徴とする文字出力方
    法。
  8. 【請求項8】 請求項7において、 前記所定のアウトライン展開は、少なくとも線幅補正処
    理及び塗りつぶし処理を含むことを特徴とする文字出力
    方法。
  9. 【請求項9】 請求項7または8において、 予め、前記外部記憶装置に複数の文字のアウトライン展
    開途中結果の中間情報を登録し、所望の文字に対応する
    中間情報を使用してアウトライン展開することを特徴と
    する文字出力方法。
  10. 【請求項10】 請求項9において、 前記中間情報は、輪郭線情報の直線近似による端点デー
    タとラインペアデータからなることを特徴とする文字出
    力方法。
  11. 【請求項11】 請求項10において、 前記中間情報からのアウトライン展開で文字サイズが不
    適合となる場合に、所望の文字に対するアウトライン展
    開を直線近似処理から行なうことを特徴とする文字出力
    方法。
  12. 【請求項12】 請求項11において、 前記中間情報は、曲線部の直線近似に使用される制御点
    などの補助データを付加され、該補助データを前記直線
    近似処理に利用することを特徴とする文字出力方法。
  13. 【請求項13】 入力文字情報に対応するビットマップ
    データをフレームメモリに展開して、表示または印字す
    る文字出力方法において、 再利用のために、複数の文字のビットマップ圧縮データ
    をキャッシュメモリに、さらに多数の文字のビットマッ
    プ圧縮データをハードディスクなどの外部記憶装置に、
    それぞれ登録し、 所望の文字が入力され、それと同一の文字が前記フレー
    ムメモリに展開されている場合には、該当のビットマッ
    プデータを所望の文字の指定位置に転送し、 所望の文字と同一の文字が前記フレームメモリになく、
    前記キャッシュメモリに登録されている場合には、該当
    のビットマップ圧縮データを読出し、伸長して、前記フ
    レームメモリに展開し、 所望の文字と同一の文字が前記フレームメモリにも前記
    キャッシュメモリにもなく、前記外部記憶装置に登録さ
    れている場合には、該当のビットマップ圧縮データを読
    出し、伸長して、前記フレームメモリに展開することを
    特徴とする文字出力方法。
  14. 【請求項14】 請求項13において、 前記外部記憶装置から読出された該当のビットマップ圧
    縮データは、一旦、前記キャッシュメモリに記憶し、以
    後はキャッシュメモリに登録されている場合と同様の処
    理を行うことを特徴とする文字出力方法。
  15. 【請求項15】 請求項13または14において、 前記ビットマップデータはボディ枠のデータ領域を有し
    て前記フレームメモリ上に展開され、一方、前記キャッ
    シュメモリや前記外部記憶装置に登録されるビットマッ
    プ圧縮データは、前記ボディ枠のビットマップデータか
    ら切り出したレター枠のデータ領域を圧縮してなること
    を特徴とする文字出力方法。
  16. 【請求項16】 請求項15において、 前記レター枠で圧縮されたビットマップ圧縮データは、
    前記伸長後に前記ボディ枠に拡張してから、前記フレー
    ムメモリに展開することを特徴とする文字出力方法。
JP7058837A 1995-03-17 1995-03-17 文字出力装置およびその方法 Pending JPH08254973A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7058837A JPH08254973A (ja) 1995-03-17 1995-03-17 文字出力装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7058837A JPH08254973A (ja) 1995-03-17 1995-03-17 文字出力装置およびその方法

Publications (1)

Publication Number Publication Date
JPH08254973A true JPH08254973A (ja) 1996-10-01

Family

ID=13095775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7058837A Pending JPH08254973A (ja) 1995-03-17 1995-03-17 文字出力装置およびその方法

Country Status (1)

Country Link
JP (1) JPH08254973A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018363A (ja) * 2005-07-08 2007-01-25 Brother Ind Ltd 画像形成データ生成装置、その方法、及び、そのプログラム
JP2010039375A (ja) * 2008-08-07 2010-02-18 Sharp Corp 文字描画装置、文字描画方法、文字描画プログラム、およびコンピュータ読取可能な記録媒体
JP2020116800A (ja) * 2019-01-22 2020-08-06 キヤノン株式会社 画像形成装置、その制御方法、およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018363A (ja) * 2005-07-08 2007-01-25 Brother Ind Ltd 画像形成データ生成装置、その方法、及び、そのプログラム
US8086069B2 (en) 2005-07-08 2011-12-27 Brother Kogyo Kabushiki Kaisha Data-generating apparatus, method, and program for image forming
JP2010039375A (ja) * 2008-08-07 2010-02-18 Sharp Corp 文字描画装置、文字描画方法、文字描画プログラム、およびコンピュータ読取可能な記録媒体
JP2020116800A (ja) * 2019-01-22 2020-08-06 キヤノン株式会社 画像形成装置、その制御方法、およびプログラム

Similar Documents

Publication Publication Date Title
JP2909273B2 (ja) アウトライン・フォントの線幅調整方法および装置
JP2610993B2 (ja) 情報処理装置及び方法
JPH08254973A (ja) 文字出力装置およびその方法
JPH041862A (ja) 図形選択方法
JP3146771B2 (ja) フォントラスタライズ装置およびその方法
JP2887928B2 (ja) イメージデータ出力装置
JP2819961B2 (ja) 印刷制御装置
JPH10198333A (ja) アウトライン文字描画装置
JP3254657B2 (ja) データ変換装置
JP2001109454A (ja) 文字処理装置
JPH08101675A (ja) フォント展開装置
JP3350324B2 (ja) キャラクタ出力装置
JPH056164A (ja) 文字処理装置
JPH09277616A (ja) プリンタ及びその制御方法
JP3567727B2 (ja) 画像処理方法および装置
JP3055306B2 (ja) データ出力装置
JPH09300769A (ja) 印刷装置及びデータ登録方法及び制御プログラムを記憶した記憶媒体
JPH05257450A (ja) 文字発生装置
JP3054157B2 (ja) 文字処理装置および文字処理方法
JPH05188911A (ja) アウトラインフォント発生装置
JPH06167965A (ja) 文字処理方法及び装置
JPH11144066A (ja) 図形処理装置
JPH06332430A (ja) 高品質文字パターンの作成方法及び高品質文字の出力装置
JPH10191066A (ja) 画像処理装置
JPH09198025A (ja) 文字パターン出力方法および装置