JPH08194460A - 文字処理装置 - Google Patents

文字処理装置

Info

Publication number
JPH08194460A
JPH08194460A JP7005250A JP525095A JPH08194460A JP H08194460 A JPH08194460 A JP H08194460A JP 7005250 A JP7005250 A JP 7005250A JP 525095 A JP525095 A JP 525095A JP H08194460 A JPH08194460 A JP H08194460A
Authority
JP
Japan
Prior art keywords
character
vector data
processing
conversion
format data
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
JP7005250A
Other languages
English (en)
Inventor
Yozo Kashima
洋三 鹿島
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 JP7005250A priority Critical patent/JPH08194460A/ja
Publication of JPH08194460A publication Critical patent/JPH08194460A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【目的】展開処理前に文字の出現傾向を把握し、この出
現傾向をもとに、座標変換前あるいは座標変換後のベク
トルデータのキャッシュメモリへの格納を効率的に行っ
てキャッシュメモリの効率を向上させ、高速な文字処理
を実現する。 【構成】受付部1に入力された描画コマンドCから、検
索部2が、ページ単位に文字の書体、及び座標変換行列
を検索するとともに、文字の使用頻度を獲得し、その結
果を検索情報テーブル3に格納する。その後、展開制御
・処理部5は、順次描画コマンドCを順次読み込んで、
対応する文字のベクトルデータの座標変換、補正変換、
輪郭描画、塗り潰し処理を行うが、この際、判定部4
は、検索情報テーブル3に格納された当該ページ内の文
字の使用頻度をもとに、変換部5aによる座標変換前か
後のいずれのベクトルデータをベクトルデータキャッシ
ュメモリ7に一時格納すべきかを判定し、展開制御・処
理部5が格納する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、文字等の図形の輪郭を
示すベクトル形式データ(以下、「ベクトルフォント」
という。)をドット形式データに展開処理し、該展開処
理されたドット形式データを出力装置に出力する文字処
理装置に関し、特に描画コマンドで示されたページ単位
内の文字の出現頻度に基づいてベクトル形式データをキ
ャッシュメモリ等の一時記憶手段に記憶して効率的な文
字処理を行うことができる文字処理装置に関する。
【0002】
【従来の技術】従来、入力された描画コマンドに対応す
る文字等の図形の輪郭を示すベクトルフォントを用いて
ドット形式で表されるドット形式データに展開処理し、
この展開処理されたドット形式データを出力装置に出力
する文字処理装置がある。
【0003】このベクトルフォントを用いた文字処理装
置では、文字サイズに関係なく、高品質な文字出力が可
能となるという利点を有するため、ワードプロセッサ、
プリンタ等のDTP(ディスクトップパブリッシング)
の分野で広く使用されている。
【0004】ここで、ベクトルフォントを用いた一般的
な文字処理手順は次のような順序で行われて、ビットマ
ップイメージに対応するドット形式データに変換され
る。すなわち、 1)ベクトルデータ(ベクトルフォント)の読込 2)ベクトルデータを文字サイズ及び変形に対応させた
座標変換 3)ベクトルデータの補正変換 4)ベクトルデータに基づく輪郭描画 5)輪郭データに基づく塗り潰し 6)塗り潰し処理されたドット形式データの出力 を順に行うことによって、所望のビットマップイメージ
を有したドット形式データを得ることができる。
【0005】ところで、このような1)〜6)までの文
字処理手順を行う際、例えば日本語の文字を処理する場
合、格納すべき文字は、ゴシック体等の1書体当たり7
000文字以上の数となり、通常の文字処理装置は、磁
気ディスク等の2次記憶装置を用いてベクトルデータを
格納するようにしている。従って、2次記憶装置である
がゆえに、ベクトルデータの読込時間がかかり、結果的
に文字の出力速度が低下するという問題点があった。
【0006】また、ベクトルデータは、文字をデザイン
した際の座標系(以下、「文字座標系」という。)で定
義され、文字処理手順2)に示すように、所望の文字サ
イズ等に変換すべく、読み込まれたベクトルデータを文
字座標系から出力装置に依存するデバイス座標に座標変
換する必要がある。この座標変換は、座標変換行列を用
いて、ベクトルデータを構成する全ての制御点データに
対して行列演算を行う必要がある。なお、ページ記述言
語を用いて文字処理を指示する場合、回転文字、斜体文
字等の文字の変形処理も、この座標変換行列を用いて指
示することができる。
【0007】しかし、座標変換を行うための行列演算処
理は多くの演算を必要とすることから、処理時間がかか
り、結果的に文字の出力速度が低下するという問題点が
あった。
【0008】このような問題点を解決する技術として、
特開平5−53560号公報には、座標変換されたベク
トルデータをキャッシュメモリに一時保存し、後の文字
処理で同一書体、同一文字コード、同一文字サイズ、同
一変形モードの文字の出力が要求された時に、キャッシ
ュメモリに一時保存されている座標変換済のベクトルデ
ータを用いて、上述した文字処理手順の3)〜6)の展
開処理を行うベクトルフォント展開方法が記載されてい
る。これによれば、文字処理手順1)及び2)の処理す
なわち、ベクトルデータの読込と座標変換との処理にか
かる時間を削減することができる。
【0009】また、特開平5−127653号公報及び
特開平6−130934号公報には、座標変換前のベク
トルデータをキャッシュメモリに記憶し、同一書体、同
一文字コードの文字の出力が要求された時に、キャッシ
ュメモリに一時記憶されている座標変換前のベクトルデ
ータを用いて、上述した文字処理手順2)〜6)の処理
を行う文字発生装置、及び文字生成システムにおけるベ
クタ文字制御方式が記載されている。これによれば、文
字処理手順1)の処理すなわち、ベクトルデータの読込
にかかる時間を短縮することができる。
【0010】すなわち、従来の文字処理装置では、座標
変換前あるいは座標変換後のベクトルデータをキャッシ
ュメモリに一時格納することにより、文字処理にかかる
時間の低減を図っていた。
【0011】
【発明が解決しようとする課題】しかしながら、従来の
文字処理装置においては、座標変換前あるいは座標変換
後のベクトルデータのいずれをキャッシュメモリに一時
格納するかは、文字処理装置によって予め固定的に決定
されていたため、同一書体、同一文字コードの文字をサ
イズだけ変更して描画処理する場合や、同一書体、同一
文字サイズで多くの文字を描画処理する場合であって
も、座標変換前あるいは座標変換後のいずれか一方のベ
クトルデータがキャッシュメモリに固定的に格納されて
しまう。
【0012】すなわち、同一書体、同一文字コードの文
字のサイズだけ変更して描画処理する場合には、座標変
換前のベクトルデータをキャッシュメモリに一時格納
し、同一書体、同一文字サイズで多くの文字を描画処理
する場合には、座標変換後のベクトルデータをキャッシ
ュメモリに一時格納する方が、文字処理の効率が向上す
るのに、従来の文字処理装置では、座標変換前あるいは
座標変換後のベクトルデータのいづれか一方のみを固定
的にしかキャッシュメモリに格納できないことから、常
に効率的な文字処理を行うことができないという問題点
があった。
【0013】そこで、本発明は、かかる問題点を除去
し、ベクトルデータのキャッシュメモリへの一時格納を
柔軟に行って効率的な文字処理を実現することができる
文字処理装置を提供することを目的とする。
【0014】
【課題を解決するための手段】本発明は、入力された描
画コマンドに対応して文字等の図形を示すベクトル形式
データをドット形式データに展開処理して出力する文字
処理装置において、前記描画コマンドが示す画像出力単
位毎に、文字の書体を示す書体情報及び座標変換に関す
る座標変換情報を該描画コマンドから検索するととも
に、これらの組合せによる文字の使用頻度を獲得する検
索手段と、座標変換を含む各種の変換処理前及び該変換
処理後のベクトル形式データを一時記憶する一時記憶手
段と、前記検索手段が獲得した文字の使用頻度に基づい
て前記一時記憶手段に一時記憶するベクトル形式データ
を変換処理前のベクトル形式データとするか変換処理後
のベクトル形式データとするかを判定する判定手段と、
前記判定手段の判定結果に基づいて、変換処理前のベク
トル形式データあるいは変換処理後のベクトル形式デー
タを前記一時記憶手段に記憶させる制御を行う制御手段
とを具備したことを特徴とする。
【0015】
【作用】本発明では、入力された描画コマンドから、ま
ず検索手段が文字の書体、例えばゴシック体、明朝体等
の書体情報、及び拡大/縮小、変形等の座標変換に関す
る座標変換情報を検索するとともに、描画出力すべき各
文字の使用頻度を獲得する。この際、検索手段は、画像
出力単位、例えばページ単位の範囲内の複数の描画コマ
ンドを検索することにより、文字の使用頻度を獲得す
る。
【0016】その後、入力された描画コマンドを順次読
み込んで、対応する文字のベクトル形式データの座標変
換処理、必要な場合は補正変換処理を行い、輪郭描画処
理、塗り潰し処理による展開処理を行ってドット形式デ
ータに展開処理する。
【0017】この展開処理時、判定手段は、対応する文
字の使用頻度に基づいて、座標変換処理前か後のいずれ
のベクトル形式データを一時記憶手段に記憶すべきか判
定し、制御手段は、この判定結果に基づいて、座標変換
処理前あるいは座標変換処理後のベクトル形式データを
前記一時記憶手段に記憶する。
【0018】あるいは、判定手段が、対応する文字の使
用頻度に基づいて、座標変換処理前か補正変換処理後か
のいずれのベクトル形式データを一時記憶手段に記憶す
べきかを判定し、制御手段は、この判定結果に基づい
て、座標変換処理前あるいは補正変換処理後のベクトル
形式データを前記一時記憶手段に記憶する。
【0019】これにより、使用頻度の高いベクトル形式
データが一時記憶手段に記憶され、その後、処理すべき
文書内に同一文字が含まれる場合に再利用されることに
より、ベクトルデータの読込、座標変換処理、さらには
補正変換処理にかかる処理時間が削減され、結果として
全体の文書処理の高速化が図れる。
【0020】
【実施例】以下、図面を参照して本発明の実施例につい
て説明する。
【0021】まず、図1は、本発明の第1の実施例であ
る文字処理装置の構成を示す機能ブロック図である。
【0022】図1において、本文字処理装置は、受付部
1、検索部2、検索情報テーブル3、判定部4、展開制
御・処理部5、フォントメモリ6、ベクトルデータキャ
ッシュメモリ7、ページメモリ8、及び出力制御部9か
ら構成される。
【0023】受付部1は、描画コマンドCの入力を受け
付け、描画コマンドCを一時格納する。
【0024】検索部2は、受付部1に一時格納された描
画コマンドCから、描画出力単位である1ページ分の描
画に関する描画コマンドから、ゴシック体あるいは明朝
体等の文字の書体及び文字の拡大/縮小あるいは変形等
を示す座標変換行列を検索するとともに、書体及び座標
変換行列をカテゴリとする文字の使用頻度を獲得する。
【0025】検索情報テーブル3には、検索部2が検索
した結果が格納される。
【0026】判定部4は、検索情報テーブル3に格納さ
れている検索結果すなわち、1ページ内の文字の使用頻
度をもとに、座標変換前のベクトルデータをベクトルデ
ータキャッシュメモリ7に一時格納すべきか、座標変換
後のベクトルデータをベクトルデータキャッシュメモリ
7に一時格納すべきかを判定する。
【0027】フォントメモリ6には、基準となるベクト
ルフォント、ここではアウトラインフォントが格納され
ている。すなわち、ASCII(アスキー)、JIS第
1水準、JIS第2水準等の文字セットに規定されてい
る文字コードに対応する文字の基準ベクトルフォントが
格納されている。
【0028】ベクトルデータキャッシュメモリ7には、
座標変換前のベクトルデータ及び座標変換後のベクトル
データが混在して一時格納され、この一時格納されたベ
クトルデータは、その後再利用される。
【0029】ページメモリ8には、展開制御・処理部5
が展開処理した1ページ毎のビットマップイメージを表
すドット形式データが、1以上のページ分格納される。
【0030】展開制御・処理部5は、検索部2による描
画コマンドCの検索処理の終了後、受付部1に一時格納
されている描画コマンドCを順次取り出し、展開処理を
行う。すなわち、描画コマンドCにより指示された文字
に対応するアウトラインフォント(基準となるベクトル
データ)をフォントメモリ6から読み込み、この読み込
んだベクトルデータに対して、変換部5aは、指定され
た文字サイズあるいは変形等を施すために描画コマンド
が示す座標変換行例を用いて座標変換を行う。この座標
変換されたベクトルデータは、さらに漢字文字等を構成
するストローク線幅あるいはストローク間隔等を整わせ
るため、補正部5bにより補正変換が行われる。さら
に、補正変換されたベクトルデータに基づいて文字の輪
郭を所定の処理により輪郭描画する処理を行い、その
後、この輪郭描画されたデータをもとに、塗り潰し処理
を行って、最終的な文字のビットマップイメージに対応
するドット形式データ(ビットマップデータ)を得る。
そして、このビットマップデータは、ページ毎にページ
メモリ8に格納される。なお、展開制御・処理部5は、
判定部4の判定結果に基づいて、補正変換前あるいは補
正変換後のベクトルデータをベクトルデータキャッシュ
メモリ7に一時格納し、またベクトルデータキャッシュ
メモリ7に一時格納されたベクトルデータの読み込み処
理を行う。
【0031】出力制御部9は、展開制御・処理部5か
ら、ページ毎の展開処理の終了通知を受け付けることに
より、ページメモリ8に格納されたビットマップデータ
を図示しないプリンタ等の出力装置への出力データとし
て転送する出力制御を行う。
【0032】ここで、図2は、図1に示す文字処理装置
を含む文書処理システムのハードウェア構成を示す図で
あり、CPU21、ROM22、RAM23、ホストイ
ンターフェース26、ハードディスク装置28、及びプ
リンタインターフェース30がバスBに接続されてい
る。そして、ホストインターフェース26には、ホスト
ワークステーション27が接続され、プリンタインター
フェース30には、プリンタエンジン31が接続されて
いる。
【0033】CPU21は、ホストワークステーション
27から入力された文書に関する描画コマンドをホスト
インターフェース26及びバスBを介して受け取り、描
画コマンドが示すページ単位のビットマップデータを生
成し、この生成したビットマップデータをRAM23内
のページメモリ25に格納する。そして、CPU21
は、ページメモリ25に格納されたページ単位のビット
マップデータをプリンタインターフェース30を介して
出力装置であるプリンタエンジン31に出力する。
【0034】プリンタエンジン31は、入力されたペー
ジ単位のビットマップデータを印刷出力する。
【0035】ROM22は、CPU21が実行する各種
制御プログラムやビットマップデータに展開するための
展開処理プログラム等が格納されている。
【0036】RAM23は、ベクトルデータキャッシュ
メモリ24及びページメモリ25を有するとともに、C
PU21の作業領域が確保される。
【0037】ハードディスク装置28には、ベクトルフ
ォント29が格納されている。
【0038】ここで、図1の文字処理装置と図2の文書
処理システムとの対応について説明すると、図1の検索
部2、判定部4、展開制御・処理部5は、図2のCPU
21及びROM22あるいはRAM23に、図1の受付
部1及び検索情報テーブル3は、図2のRAM23に、
図1の出力制御部11は、図2のCPU21及びROM
22に、図1のフォントメモリ6は、図2のハードディ
スク装置28に、図1のベクトルデータキャッシュメモ
リ7及びページメモリ8は、それぞれ図2のベクトルデ
ータキャッシュメモリ24及びページメモリ25に、そ
れぞれ相当する。なお、図1の文字処理装置は、図2の
文書処理システムの立ち上がり後の状態を機能的に示し
ている。
【0039】次に、ベクトルデータキャッシュメモリ7
の管理について説明する。
【0040】図3は、ベクトルデータキャッシュメモリ
7の構成及びキャッシュデータの管理方式を説明する図
である。図3において、ベクトルデータキャッシュメモ
リ7は、文字検索テーブルTA、文字管理テーブルT
B、及びベクトルデータ記憶領域40を有している。な
お、フォントキャッシュメモリ部6のキャッシュデータ
管理方式は、FIFO(First In First Out)方式を採
用している。
【0041】文字検索テーブルTAは、描画コマンドに
より指示された文字のベクトルデータがベクトルデータ
キャッシュメモリ7に登録されているか否かを知るとき
に用いられる。文字検索テーブルTAには、文字のコー
ドとこの文字のリンク先を指定するポインタとが格納さ
れている。登録されている文字がASCII(アスキ
ー)コードで表されている場合、アスキーコードそのも
のが文字検索テーブルTAの検索文字コードとして格納
され、JIS第1水準やJIS第2水準の文字の場合
は、これらの文字コードの下位バイトが文字検索テーブ
ルTAの検索文字コードとして格納される。従って、文
字検索テーブルTAに対して、ある文字に対応する検索
文字コードでインデックスすると、この文字に対応する
ポインタが得られ、このポインタの値により、文字管理
テーブルTB内における検索文字の格納アドレスが得ら
れる。なお、ある検索文字コードに対応する文字が登録
されていない場合、ポインタの値は「null(無)」
に設定されており、このポインタの値により、対応する
文字のベクトルデータがベクトルデータキャッシュメモ
リ7に登録されていないことを確認することができる。
【0042】文字管理テーブルTBは、ベクトルデータ
キャッシュメモリ7に登録されている文字の属性を保持
するテーブルであり、異なる文字毎の複数のテーブル群
で構成される。ここで、異なる文字とは、異なる文字コ
ードのみならず、文字コードが同じであっても異なる書
体、サイズ、変換行列である場合も含まれ、異なるテー
ブルとして文字の属性が保持される。そして、これらの
テーブル毎に対応する文字のベクトルデータがベクトル
データ記憶領域40に各別に記憶される。すなわち、文
字管理テーブルTBは、ベクトルデータ記憶領域40に
記憶される文字毎に管理するテーブルである。
【0043】図3においては、文字管理テーブルTBの
一例として3つのテーブルTB1〜TB3を示してい
る。テーブルTB1及びTB2は、文字検索テーブルT
Aのコード「65」に対応するテーブルであり、テーブ
ルTB3は、文字検索テーブルTAのコード「97」に
対応するテーブルである。
【0044】文字管理テーブルTBを構成する各テーブ
ルは、それぞれ7つのエントリを有している。この7つ
のエントリとは、「次文字コードポインタ(Code Next
CharPtr)」、「前文字コードポインタ(Code Prev Cha
r Ptr)」、「フォント(Font)」、「コード(Cod
e)」、「変換行列(Matrix)」、「データポインタ(D
ate Ptr)」、「データサイズ(Deta Size)」である。
「次文字コードポインタ」及び「前文字コードポイン
タ」は、1バイトコード文字の場合は、同一のコードを
持つ文字を、2バイトコードの文字の場合は、下位1バ
イトが同一の文字を有するテーブル間を双方向にリンク
するためのポインタである。「フォント」のエントリに
は、ゴシック体、明朝体等の文字の書体が格納されてい
る。「コード」のエントリには、文字コードが格納され
ている。「変換行列」は、ベクトルデータに施した変換
行列が格納されている。「変換行列」が「null」の
場合、登録されたベクトルデータは変換行列を施してい
ないこと、すなわち文字座標系上のものであることを示
す。以下、変換行列を施していないベクトルデータを
「文字座標ベクトルデータ」、変換行列を施したベクト
ルデータを「デバイスベクトルデータ」という。「デー
タポインタ」は、ベクトルデータが記憶されているベク
トルデータ記憶領域40の領域のアドレスを示す。「デ
ータサイズ」のエントリは、ベクトルデータ記憶領域4
0におけるベクトルデータが占有するメモリ上のバイト
数を示している。
【0045】ここで、文字管理テーブルTBを構成する
各テーブルのうちの文字コードが同じ(下位1バイト)
文字のテーブル群は、上述した「次文字コードポイン
タ」及び「前文字コードポインタ」によりリンクされ、
LRU(Latest Recently Used)方式で管理される。す
なわち、文字コードが同じ文字のテーブル群のうち、参
照された時刻が最新の文字のテーブルがリンクの先頭
(文字検索テーブルTAに直接リンクされる)となり、
参照された時刻が最古の文字のテーブルがリンクの最後
尾となるように管理される。従って、「次文字コードポ
インタ」は、この「次文字コードポインタ」の文字が参
照された時刻より、次に古い時刻に参照された「次文字
コードポインタ」の文字のアドレスを示し、「前文字コ
ードポインタ」は、この「前文字コードポインタ」の文
字が参照された時刻より、1つ前の時刻に参照された
「前文字コードポインタ」の文字のアドレスを示してい
る。そして、リンクの先頭にあるテーブル自体のアドレ
スは、文字検索テーブルTAの対応する文字のコードの
ポインタと同一となる。また、リンクの先頭にあるテー
ブルの「前文字コードポインタ」及びリンクの最後尾に
あるテーブルの「次文字コードポインタ」の値は、対応
するテーブルが存在しないため、「NULL」となって
いる。なお、テーブルTB3のように同じの文字コード
を他に有しないテーブルの場合には、「次文字コードポ
インタ」及び「前文字コードポインタ」の双方とも、対
応するテーブルが存在しないため、その値は「NUL
L」になっている。
【0046】ベクトルデータ記憶領域40は、文字管理
テーブルTBを構成する各テーブルに対応するベクトル
データが格納される。そして、各文字毎のベクトルデー
タ領域には、文字管理テーブルTB内の対応するテーブ
ルを指し示すテーブルポインタP1〜P3を有してい
る。このテーブルポインタにより、文字管理テーブルT
B内の対応するテーブルの参照が可能となり、ベクトル
データの削除が行われたときに、このテーブルポインタ
を用いて対応するテーブルを削除するようにしている。
なお、各文字のベクトルデータが格納される領域のアド
レスは、文字管理テーブルTB内の「データポインタ」
により示される。また、ベクトルデータ記憶領域40に
は、先頭アドレスを示す「トップポインタ(Top Pt
r)」、最後尾のバイトのアドレスを示す「ボトムポイ
ンタ(Bottom Ptr)」、ベクトルデータの未使用領域の
アドレスを示す「フリーポインタ(Free Ptr)」を有
し、記録領域の管理が行われる。
【0047】次に、検索情報テーブル3の構成について
説明する。
【0048】図4は、検索情報テーブル3の構成を説明
する図であり、検索情報テーブル3は、大きくフォント
/行列テーブルTαと変換行列情報テーブルTβとから
構成される。フォント/行列情報テーブルTαは、フォ
ントをインデックスとするテーブルであり、「高頻度変
換行列数(High Matrix Num)」、「高頻度テーブルポ
インタ(High Table Ptr)」、「低頻度変換行列数(Lo
w Matrix Num)」、及び「低頻度テーブルポインタ(Lo
w Table Ptr)」の4つのエントリを、フォントのイン
デックスに対する値として生成、保持される。「高頻度
変換行列数(High Matrix Num)」は、ゴシック体等の
1つのフォントに対して適用される変換行列のうち、文
字の再利用率の高い変換行列の数を示す。「高頻度テー
ブルポインタ(High Table Ptr)」は、文字の再利用率
が高い変換行列テーブルへのポインタが格納される。こ
こで、変換行列テーブルとは、変換行列情報テーブルT
βを構成する1つのテーブルである。また、文字の再利
用とは、あるフォントあるいはある変換行列を用いて描
画されるある文字が、後に再び使用されることを意味
し、再利用率とは、使用される文字に対する再利用され
る文字の比率を意味する。「低頻度変換行列数(Low Ma
trix Num)」は、1つのフォントに対して適用される変
換行列のうち、文字の再利用率が低い変換行列の数を示
す。「低頻度テーブルポインタ(Low Table Ptr)」
は、文字の再利用率が低い変換行列テーブルへのポイン
タが格納される。図4においては、ゴシック体に対して
5つの変換行列が適用され、そのうち、文字の再利用率
が高いものが1つあり、明朝体に対しては、1つの変換
行列が適用され、この1つの変換行列に対して文字の再
利用率が高いことを示している。なお、明朝体に対して
は、変換行列が適用されているのは1つのみであり、し
かもこの変換行例が適用された文字の再利用率は高いた
め、低頻度変換行列数は「0」となり、この再利用率の
低い文字の変換行列テーブルは存在しないことから、低
頻度テーブルポインタの値は「null」となってい
る。
【0049】変換行列情報テーブルTβは、複数の変換
行列テーブルから構成され、変換行列テーブルのアドレ
スは、フォント/行列情報テーブルTαの高頻度テーブ
ルポインタあるいは低頻度テーブルポインタによって差
し示される。また、1つのフォントに対する高頻度ある
いは低頻度の変換行列が複数存在する場合、これらの変
換行列に対する複数の変換行列テーブルはリンクされ
る。各変換行列テーブルは、「変換行列値(Matri
x)」、「文字再利用率(CharReuseRate)」、「次ポイ
ンタ(Next)」の3つのエントリを有する。「変換行列
値」は、変換行列の値を格納する。この変換行列は、上
述したように文字座標ベクトルデータをデバイスベクト
ルデータに変換する行列である。「文字再利用率」は、
文字の再利用率が検索により保持、更新される。「次ポ
インタ」は、複数の変換行列を有する場合に、各変換行
列テーブルをリンクするためのポインタである。例え
ば、図4において、ゴシック体で変換行列の再利用率の
低い異なる変換行列は4つあり、この4つの変換行列テ
ーブルTGL1〜TGL4は、次ポインタによりリンク
される。
【0050】次に、文書の描画を指示する描画コマンド
の一例について説明する。
【0051】図5は、描画コマンドの一例を示す図であ
り、図5の描画コマンドでは、文書の描画指示をページ
記述言語で記述している。このページ記述言語には、位
置指定命令、フォント指定命令、変換指定命令、文字列
描画命令、ページ印刷命令等を有して構成される。位置
指定命令は、文字列の描画を始める位置を指定する命令
であり、フォント指令命令は、文字列描画命令で描画さ
れる文字の書体を設定するための命令である。変換指定
命令は、フォント指定命令によって指定された書体のフ
ォントに対して適用される変換行列を指定するための命
令である。この変換行列を指定することにより、文字の
拡大/縮小、回転、鏡像(ミラー)等の変換を行うこと
ができる。文字列描画命令は、処理された時刻が最新の
フォント指令命令で設定されたフォント(カレントフォ
ント)を用いて、文字列を描画する命令である。文字列
は、一連の文字コードの列であり、文字コードは、1バ
イトあるいは2バイトのコードである。ページ印刷命令
は、1ページ分のイメージデータを出力データDとして
プリンタ等の出力装置に出力させる命令である。なお、
ページ記述言語には、その他種々の命令を有するがこれ
らの説明については割愛する。
【0052】次に、本文字処理装置の文字処理手順につ
いて説明する。
【0053】図6は、図2に示す文書処理システムの全
体処理手順を示す全体フローチャートである。図6にお
いて、CPU21は、システムの立ち上げ時に所定の初
期化を行って(ステップ101)、ホストワークステー
ション27からのプリント要求が入力されるまで、アイ
ドル状態を維持する(ステップ102)。ステップ10
2で、プリント要求が入力されると、CPU21は、ホ
ストワークステーション27から描画コマンドを受信し
(ステップ103)、この描画コマンドをRAM23に
一時格納する。そして、CPU21は、ROM22に格
納されている展開処理プログラムを起動し、一時格納さ
れている描画コマンドに基づく展開処理を行って、1ペ
ージ分のイメージデータ(ビットマップデータ)を生成
し(ステップ104)、この1ページ分のビットマップ
データをページメモリ25に格納する。そして、ページ
メモリ25に格納されているイメージデータとしてのビ
ットマップデータをページ単位でプリンタインターフェ
ース30を介してプリンタエンジン31に転送出力し、
プリンタエンジン31は、転送されたビットマップデー
タの印刷出力を行う(ステップ105)。その後、描画
コマンドが示す全てのビットマップデータの出力が終了
したか否かを判断し(ステップ106)、全ての出力が
終了した場合には、ステップ104に移行し、引き続き
展開処理から上述した処理を繰り返す。一方、ステップ
106で、全ての出力が終了した場合には、ステップ1
02に移行し、次のプリント要求がホストワークステー
ション27から入力されるまでアイドル状態となる。
【0054】ここで、ステップ104における展開処理
を図7のフローチャート及び図1を参照して説明する。
【0055】図7は、図6のステップ104における展
開処理手順を示すフローチャートである。図7におい
て、まず検索部2は受付部1が受け付けた描画コマンド
をスキャンして、フォントと変換行列とに関する情報及
びこれらの文字の使用頻度とを獲得し、図4に示すよう
な検索情報テーブル3を生成する(ステップ201)。
この検索情報テーブル3の生成の後、展開制御・処理部
5は、描画コマンドを構成する1描画命令を受付部1か
ら読み込む(ステップ202)。そして、読み込まれた
描画命令がページ印刷命令か否かを判断し(ステップ2
03)、ページ印刷命令である場合は、図6のステップ
104にリターンする。
【0056】一方、ステップ203でページ印刷命令で
ないと判断された場合は、さらに読み込まれた描画命令
がフォント指定命令か否かを判断し(ステップ20
4)、フォント指定命令である場合は、カレントフォン
トを更新する処理を行って(ステップ205)、ステッ
プ202に移行する。
【0057】ステップ204でフォント指定命令でない
と判断された場合は、さらに読み込めれた描画命令が変
換指定命令か否かを判断し(ステップ206)、変換指
定命令である場合は、指定された変換行列をカレント変
換行列に設定し(ステップ207)、ステップ202に
移行する。
【0058】ステップ206で変換指定命令でないと判
断された場合は、さらに読み込まれた描画命令が位置設
定命令か否かを判断し(ステップ208)、位置設定命
令である場合は、文字列を描画する位置(カレントポイ
ント)を更新する処理を行って(ステップ209)、ス
テップ202に移行する。
【0059】ステップ208で位置設定命令でないと判
断された場合は、さらに読み込まれた描画命令が文字列
描画命令か否かを判断し(ステップ210)、文字列描
画命令である場合は、この文字列を描画する処理を行っ
て(ステップ211)、ステップ211に移行し、文字
列描画命令でない場合は、そのままステップ202に移
行する。
【0060】例えば、図5に示す描画コマンドに対する
処理では、まずステップ202で最初の位置指定命令で
ある位置指定(100,600)が読み込まれ、ステッ
プ208で位置指定命令であると判断されて、ステップ
209で、座標(100,600)の位置をカレントポ
イントとして設定される。さらに、ステップ202で次
の描画命令であるフォント指定(ゴシック)が読み込ま
れると、ステップ204でフォント指定命令であると判
断され、ステップ205で、ゴシックのフォントをカレ
ントフォントとして設定する。さらに、ステップ202
で変換指定([12 0 0 12 0 0])が読み
込まれ、ステップ206で変換指定 命令であると判断
され、ステップ207でカレント変換行列が[12 0
0 12 0 0]に設定される。すなわち、文字の
幅及び高さが12ポイントの正方形とする変換行列がカ
レント変換行列として設定される。そして、次の描画命
令である文字描画(ABC)がステップ202で読み込
まれ、ステップ210で文字列描画命令である判断さ
れ、ステップ211で文字列(ABC)の描画処理がな
される。
【0061】次に、ステップ211の文字列描画命令の
処理を図8に示すフローチャートを参照して説明する。
【0062】図8において、まず文字列描画命令が示す
文字コードを取り出す(ステップ301)。ここで、カ
レントフォントが2バイトコード体系の場合は2バイト
を、1バイトコード体系の場合は1バイトをそれぞれ取
り出す。次に、ステップ301における文字コードの取
り出しが成功したか否かを判断し(ステップ302)、
成功した場合は、カレントポイントの位置に文字のビッ
トマップを生成する処理を行った(ステップ303)
後、カレントポイントを文字列幅分移動する処理を行っ
て(ステップ304)、ステップ301に移行する。一
方、ステップ302で文字コードの取り出しに成功しな
かった場合は、ステップ211にリターンする。なお、
ステップ303の文字出力処理については後述する。
【0063】例えば、図5に示す文字列描画命令である
文字列(ABC)に対する処理は、ステップ301で
は、まず文字”A”のコード”65”を取り出し、この
文字コードの取り出しに成功し、ステップ303でカレ
ントポイント、ここでは座標位置(100,600)の
位置に、”A”のビットマップデータを出力する処理を
行う。その後、カレントポイントを文字幅分移動して、
次の文字”B”に対する処理、さらには文字”C”に対
する処理を同様に行い、ステップ211にリターンす
る。
【0064】次に、ステップ303の文字出力処理手順
を図9から図11のフローチャートを参照し、図5に示
す文字列描画命令である「文字列描画(ABC)」の文
字コード65(”A”)に対する文字のビットマップ出
力処理を一例として説明する。
【0065】図9は、ステップ303の文字のビットマ
ップ出力処理手順を示すフローチャートであり、まず、
カレントフォント、文字コード、変換行列をキーにして
ベクトルデータキャッシュメモリ7を検索する(ステッ
プ401)。ここで、文字列描画(ABC)の文字列描
画命令を実行する際、カレントフォントは、「ゴシッ
ク」であり、カレント変換行列は、「[12 0 0
12 0 0]」に設定されている。このステップ40
1における検索は、座標変換を施したベクトルデータ、
すなわちデバイスベクトルデータがベクトルデータキャ
ッシュメモリ7に登録されているか否かを検索すること
である。ここで、ベクトルデータキャッシュメモリ7に
は、現時点で文字のベクトルデータは全く登録されてい
ないので、文字コード65の検索は失敗する。そして、
ステップ402で、ステップ401による検索が成功し
たか否かを判断し、検索に成功した場合は、ステップ4
10に移行し、検索に失敗した場合は、ステップ403
に移行する。
【0066】ステップ402で検索に失敗した場合は、
カレントフォント、文字コード、変換行列「null」
をキーにしてベクトルデータキャッシュメモリ7を検索
する(ステップ403)。この検索は、座標変換を施し
ていないベクトルデータ、すなわち文字座標ベクトルデ
ータがベクトルデータキャッシュメモリ7に登録されて
いるか否かを検索することである。そして、ステップ4
04でステップ403の検索が成功したか否かを判断
し、成功した場合は、ステップ406に移行し、失敗し
た場合は、ステップ405で対応するベクトルデータを
フォントメモリ6から読み込んだ後、ステップ406に
移行する。
【0067】ステップ406では、ステップ404で検
索に成功した、あるいはフォントメモリ6から読み込ん
だ文字座標ベクトルデータに対して、変換部5aがカレ
ント変換行列で座標変換する。そして、座標変換された
デバイスベクトルデータの登録処理を行う(ステップ4
07)。ここで、文字コード65に対しては、ステップ
403でのデバイスベクトルデータの検索に失敗し、カ
レントフォント「ゴシック」で文字コード65に対応す
るベクトルデータがフォントメモリ6から読み込まれ、
カレント変換行列[12 0 0 12 0 0]によ
る座標変換が行われ、この座標変換が施されたデバイス
ベクトルデータの登録処理が行われる。
【0068】ここで、ステップ407のデバイスベクト
ルデータの登録処理を図10に示すフローチャートを参
照して説明する。
【0069】ステップ407のデバイスベクトルデータ
の登録処理は、まずカレントフォントをインデックスと
して検索情報テーブル3のフォント/行列情報テーブル
Tαを検索する(ステップ501)。そして、フォント
/行列情報テーブルTαにおける高頻度変換行列数の値
が「0」より大きいか否かを判断し(ステップ50
2)、高頻度変換行列数の値が「0」より大きくない場
合は、ステップ407にリターンし、高頻度変換行列数
の値が「0」より大きい場合は、高頻度テーブルポイン
タの値を変数tptrとして保存し(ステップ50
3)、この変数tptrの値が「null」か否かを判
断する(ステップ504)。ステップ504で変数tp
trの値が「null」であると判断された場合は、ス
テップ407にリターンし、変数tptrの値が「nu
ll」でないと判断された場合は、変数tptrで差し
示される変換行列テーブルの変換行列がカレント変換行
列に等しいか否かを判断する(ステップ505)。そし
て、カレント変換行列に等しくない場合は、変数tpt
rの値を現変換行列テーブルの次ポインタの値に設定し
てステップ504に移行し、次にリンクされる変換行列
テーブルに対する処理を繰り返す。一方、ステップ50
5で変換行列がカレント変換行列に等しい場合は、デバ
イスベクトルデータをベクトルデータキャッシュメモリ
7に登録した(ステップ507)後、ステップ407に
移行する。
【0070】例えば、上述した一例としての文字コード
65の文字に対しては、カレントフォントであるゴシッ
クをインデックスとして、図4のフォント/行列情報テ
ーブルTαが検索され、高頻度変換行列数が1であるた
め、変数tptrが、高頻度テーブルポインタの値に設
定され、この高頻度テーブルポインタが差し示す変換行
列テーブルTGHの変換行列の値は、[12 0 0
12 0 0]で等しいため、この文字コード65のデ
バイスベクトルデータはベクトルデータキャッシュメモ
リ7に登録される。
【0071】図9に戻り、ステップ407によるデバイ
スベクトルデータの登録処理が終了すると、ステップ4
08でデバイスベクトルデータの登録がなされたか否か
を判断し、登録された場合はステップ410に移行す
る。一方、ステップ408でデバイスベクトルデータが
登録されなかった場合、この文字の文字座標ベクトルデ
ータの登録処理を行った(ステップ409)後、ステッ
プ410に移行する。
【0072】ここで、ステップ409による文字座標ベ
クトルデータの登録処理を図11のフローチャートを参
照して説明する。
【0073】図11において、文字座標ベクトルデータ
の登録処理は、まずカレントフォントをインデックスと
して検索情報テーブル3のフォント/行列情報テーブル
Tαを検索する(ステップ501)。そして、低頻度変
換行列数が1より大きいか否かを判断し(ステップ50
2)、1より大きくない場合はステップ409にリター
ンし、1より大きい場合は、文字座標ベクトルデータを
ベクトルデータキャッシュメモリ7に登録した(ステッ
プ503)後、ステップ409に移行する。なお、ステ
ップ502において、低頻度変換行列数の値が1より大
きいか否かを判断し、1より大きい場合のみ登録処理を
行うのは、行列変換テーブルの数が1より大きい場合、
文字座標ベクトルデータは異なる複数の変換行列に利用
できるのに対し、行列変換テーブルの数が1より大きく
ない場合、ベクトルデータキャッシュメモリ7に文字座
標ベクトルデータを登録しても再利用される可能性が少
ないからである。
【0074】図9に戻り、ステップ409にリターンし
た後は、ステップ410に移行して、デバイスベクトル
データを用いて、カレントポイントで示されるページメ
モリ上の位置に文字のビットマップイメージが描画さ
れ、ステップ203にリターンする。また、ステップ4
02でデバイスベクトルデータの検索に成功した場合
も、そのままステップ410に移行し、ビットマップイ
メージの描画処理が実行される。
【0075】このように第1の実施例において、最終的
に文字のビットマップイメージは、デバイスベクトルデ
ータをもとにして描画処理がなされるが、ベクトルデー
タキャッシュメモリ7に格納されるベクトルデータは、
展開処理前に求められる検索情報テーブル3の検索結
果、特に頻度情報に基づいて、デバイスベクトルデータ
と文字座標ベクトルデータとのいずれかのベクトルデー
タがベクトルデータキャッシュメモリ7に一時格納され
ることになる。これにより、展開処理時のベクトルデー
タのキャッシュが効率的に行われ、結果的に文字生成処
理の全体処理速度が向上する。
【0076】次に、第2の実施例について説明する。第
1の実施例においては、展開制御・処理部5による展開
処理前に受付部1に入力された描画コマンドをスキャン
して展開処理すべき文字のフォントを変換行列とを検索
し、その頻度情報を検索情報テーブルに格納し、展開処
理時にこの検索情報に基づいて効率的なベクトルデータ
のキャッシュを行うものであったが、第2の実施例にお
いては、第1の実施例と同じ検索情報テーブルの検索情
報を用いて、座標変換前の文字座標ベクトルデータと、
変換行列により座標変換し、この座標変換されたベクト
ルデータをさらに補正部5bにより補正変換されたデバ
イスベクトルデータとのいずれかをベクトルデータキャ
ッシュメモリ7に登録するものである。
【0077】すなわち、座標変換前の文字座標ベクトル
データと座標変換及び補正変換されたデバイスベクトル
データとのいずれをベクトルデータキャッシュメモリ7
に登録すべきかを展開処理前に求められた検索情報をも
とに判定し、この判定結果に基づいていずれかのベクト
ルデータをキャッシュし、効率的な文字の再利用を実現
するものである。
【0078】この第2の実施例によれば、第1の実施例
に比べ、デバイスベクトルデータの再利用が行われた場
合、補正変換処理過程が削除されるため、さらに高速な
文字処理が実現される。
【0079】なお、上述した第1及び第2の実施例にお
いては、ベクトルデータキャッシュメモリ7の管理方式
としてFIFO方式を採用しているが、この管理方式と
してLRU(Latest Recently Used)方式を採用するよ
うにしてもよい。
【0080】
【発明の効果】以上詳細に説明したように、本発明で
は、入力された描画コマンドから、まず検索手段が、画
像出力単位の範囲内の複数の描画コマンドから、文字の
書体を示す書体情報及び座標変換に関する座標変換情報
を検索するとともに、描画出力すべき各文字の使用頻度
を獲得する。その後、入力された描画コマンドを順次読
み込んで、対応する文字のベクトル形式データの座標変
換処理、必要な場合は補正変換処理を行い、輪郭描画処
理、塗り潰し処理による展開処理を行ってドット形式デ
ータに展開処理されるが、この際、判定手段は、対応す
る文字の使用頻度に基づいて、座標変換処理前か座標変
換処理後のいずれのベクトル形式データを一時記憶手段
に記憶すべきか判定し、制御手段は、この判定結果に基
づいて、座標変換処理前あるいは座標変換処理後のベク
トル形式データを前記一時記憶手段に記憶するようにし
ている。
【0081】従って、座標変換処理前あるいは座標変換
処理後のいずれのベクトルデータを一時記憶手段に記憶
すべきかを予め行われる検索結果に基づいて判定される
ため、文字の再利用を考慮した効率的なベクトルデータ
のキャッシュが行われ、メモリ効率が向上するととも
に、キャッシュ効率が向上することから文字のヒット率
が向上し、結果的に文字処理全体の高速化が実現できる
という利点を有する。
【0082】また、展開処理時に、判定手段が対応する
文字の使用頻度に基づいて、座標変換処理前か補正変換
処理後かのいずれのベクトル形式データを一時記憶手段
に記憶すべきかを判定し、制御手段は、この判定結果に
基づいて、座標変換処理前あるいは補正変換処理後のベ
クトル形式データを前記一時記憶手段に記憶するように
している。
【0083】従って、補正変換処理されたベクトルデー
タが一時記憶手段にキャッシュされることにより、さら
に補正変換処理にかかる時間が削減され、結果的に文字
処理全体にかかる処理時間が短縮されるという利点を有
する。
【図面の簡単な説明】
【図1】本発明の第1の実施例である文字処理装置の構
成を示す機能ブロック図。
【図2】図1に示す文字処理装置を含む文書処理システ
ムのハードウェア構成を示す図。
【図3】ベクトルデータキャッシュメモリ7の構成及び
キャッシュデータの管理方式を示す図。
【図4】検索情報テーブル3の構成を示す図。
【図5】描画コマンドの一例を示す図。
【図6】図2に示す文書処理システムの全体処理手順を
示す全体フローチャート。
【図7】ステップ104における展開処理手順を示すフ
ローチャート。
【図8】ステップ111における文字列描画命令処理手
順を示すフローチャート。
【図9】ステップ203における文字のビットマップ出
力処理手順を示すフローチャート。
【図10】ステップ407におけるデバイスベクトルデ
ータの登録処理手順を示すフローチャート。
【図11】ステップ409における文字座標ベクトルデ
ータの登録処理手順を示すフローチャート。
【符号の説明】
1…受付部 2…検索部 3…検索情報テーブル 4…
判定部 5…展開制御・処理部 5a…変換部 5b…補正部
6…フォントメモリ 7…ベクトルデータキャッシュメモリ 8…ページメモ
リ 9…出力制御部 C…描画コマンド D…出力データ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 入力された描画コマンドに対応して文字
    等の図形を示すベクトル形式データをドット形式データ
    に展開処理して出力する文字処理装置において、 前記描画コマンドが示す画像出力単位毎に、文字の書体
    を示す書体情報及び座標変換に関する座標変換情報を該
    描画コマンドから検索するとともに、これらの組合せに
    よる文字の使用頻度を獲得する検索手段と、 座標変換を含む各種の変換処理前及び該変換処理後のベ
    クトル形式データを一時記憶する一時記憶手段と、 前記検索手段が獲得した文字の使用頻度に基づいて前記
    一時記憶手段に一時記憶するベクトル形式データを変換
    処理前のベクトル形式データとするか変換処理後のベク
    トル形式データとするかを判定する判定手段と、 前記判定手段の判定結果に基づいて、変換処理前のベク
    トル形式データあるいは変換処理後のベクトル形式デー
    タを前記一時記憶手段に記憶させる制御を行う制御手段
    とを具備したことを特徴とする文字処理装置。
JP7005250A 1995-01-17 1995-01-17 文字処理装置 Pending JPH08194460A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7005250A JPH08194460A (ja) 1995-01-17 1995-01-17 文字処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7005250A JPH08194460A (ja) 1995-01-17 1995-01-17 文字処理装置

Publications (1)

Publication Number Publication Date
JPH08194460A true JPH08194460A (ja) 1996-07-30

Family

ID=11605974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7005250A Pending JPH08194460A (ja) 1995-01-17 1995-01-17 文字処理装置

Country Status (1)

Country Link
JP (1) JPH08194460A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008197525A (ja) * 2007-02-15 2008-08-28 Yamaha Corp 画像処理装置
JP2009163763A (ja) * 2009-03-16 2009-07-23 Fujifilm Corp 画像保管方法および画像サーバ並びにプログラム
JP2012027543A (ja) * 2010-07-20 2012-02-09 Toshiba Corp 描画装置、描画方法、及び描画プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008197525A (ja) * 2007-02-15 2008-08-28 Yamaha Corp 画像処理装置
JP2009163763A (ja) * 2009-03-16 2009-07-23 Fujifilm Corp 画像保管方法および画像サーバ並びにプログラム
JP2012027543A (ja) * 2010-07-20 2012-02-09 Toshiba Corp 描画装置、描画方法、及び描画プログラム

Similar Documents

Publication Publication Date Title
KR100257843B1 (ko) 문자 처리 장치, 문자 처리 방법 및 메모리
JPH06106810A (ja) 画像形成方法及び装置
JPH08194460A (ja) 文字処理装置
JP2900383B2 (ja) 文字情報処理装置
JP3450869B2 (ja) ビットイメージデータ生成装置およびビットイメージデータ生成方法
JP3470378B2 (ja) 文字情報出力装置および方法
JP3054157B2 (ja) 文字処理装置および文字処理方法
JPH03112668A (ja) 印刷装置
JP3119004B2 (ja) 文字処理装置
JP3082173B2 (ja) 輪郭線データの処理装置
JP2900384B2 (ja) 文字情報処理装置
JPH08129371A (ja) フォントキャッシュ管理装置及びその方法
JPH06183074A (ja) 文字処理装置
JPH0725078A (ja) 文書処理装置
JPH08263043A (ja) 画像処理装置
JPH11153990A (ja) プリンタ装置
JPH05323950A (ja) 文字出力装置
JPH0619905A (ja) 文字出力装置
JPH0725081A (ja) プリンタ制御装置
JPH1044533A (ja) フォントキャッシュ装置
JPH08197789A (ja) 文字処理装置及び印刷装置
JPH03129394A (ja) 文書処理装置
JPH09258715A (ja) 画像形成装置及び方法
JPH064231A (ja) プリンタ及びプリンタにおける印字制御方法
JPH04268600A (ja) 文書作成装置