JP4367511B2 - 文字描画装置、表示装置及び印刷装置 - Google Patents

文字描画装置、表示装置及び印刷装置 Download PDF

Info

Publication number
JP4367511B2
JP4367511B2 JP2007079826A JP2007079826A JP4367511B2 JP 4367511 B2 JP4367511 B2 JP 4367511B2 JP 2007079826 A JP2007079826 A JP 2007079826A JP 2007079826 A JP2007079826 A JP 2007079826A JP 4367511 B2 JP4367511 B2 JP 4367511B2
Authority
JP
Japan
Prior art keywords
character
bus
storage
data
storage means
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.)
Expired - Fee Related
Application number
JP2007079826A
Other languages
English (en)
Other versions
JP2008241924A (ja
Inventor
高 澤崎
義之 小野
明 齋藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007079826A priority Critical patent/JP4367511B2/ja
Priority to US11/984,599 priority patent/US7948494B2/en
Priority to TW096146603A priority patent/TW200912887A/zh
Priority to CN2007101970005A priority patent/CN101276572B/zh
Priority to KR1020070129146A priority patent/KR100906530B1/ko
Priority to EP07024305A priority patent/EP1975882B1/en
Publication of JP2008241924A publication Critical patent/JP2008241924A/ja
Application granted granted Critical
Publication of JP4367511B2 publication Critical patent/JP4367511B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/485Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by the process of building-up characters or image elements applicable to two or more kinds of printing or marking processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Generation (AREA)

Description

本発明は、文字を描画するための技術に関する。
ディスプレイに表示される文字を描画したり、用紙に印刷される文字を描画するために、その文字の字形を表すフォントデータが用いられる。フォントデータには、大別してビットマップ形式と、アウトライン形式と、ストローク形式の3種類がある。例えばアウトライン形式のフォントデータを用いて文字を描画する場合には、文字の輪郭(字形)を描画する「輪郭描画」と、その輪郭内を塗りつぶす「塗りつぶし」と、この塗りつぶしによって生成された文字のビットマップデータを表示装置や印刷装置に転送する「転送」という、3つの処理ステップが必要となる。これらの処理をより高速に行うために、各処理ステップを並行して行う技術が知られている。
これらの各処理においては、処理対象のデータを一時的に記憶するためのメモリが必要となる。このメモリの容量に比して、描画する文字のサイズが大きい場合には、文字を複数の部分領域に分割して各々の部分領域単位で文字を描画するという方法がある。例えば特許文献1には、描画する文字のサイズに基づいて、その文字を分割して描画するか又は分割せずに描画するかをフォント毎に判定する技術が開示されている。
特開平9−230844号公報
文字の描画は、使用されるメモリの容量に関わらず、できる限り高速に処理されることが望ましい。
そこで、本発明はより高速に文字を描画することを目的とする。
上記課題を解決するために、本発明に係る文字描画装置は、字形データによって表される文字の字形を、所定の部分領域毎に分割して描画する第1の描画手段と、前記第1の描画手段により描画された字形に基づいて文字を描画する第2の描画手段と、前記第2の描画手段によって描画された文字を転送する転送手段と、データを記憶する第1の記憶手段と、前記第1の記憶手段よりデータの読み書き速度が遅く、且つ、記憶容量が大きい第2の記憶手段と、前記第1の描画手段によって分割された部分領域の数が閾値以下の場合には前記第1の記憶手段を選択し、前記第1の描画手段によって分割された前記部分領域の数が前記閾値を超える場合には前記第2の記憶手段を選択する選択手段とを備え、前記選択手段によって前記第1の記憶手段が選択された場合、前記第1の描画手段は、前記所定の部分領域毎に分割して描画した字形を前記第1の記憶手段に書き込み、前記第2の描画手段は、前記第1の記憶手段から前記字形を読み出して前記文字を描画し、前記選択手段によって前記第2の記憶手段が選択された場合、前記第1の描画手段は、前記所定の部分領域毎に描画した字形を前記第2の記憶手段に書き込み、前記第2の描画手段は、前記第2の記憶手段から前記字形を読み出して文字を描画することを特徴とする。本発明によれば、より高速に文字を描画することができる。
本発明において、前記第2の記憶手段と外部バスを介して接続された第1のバスと、前記第1の記憶手段に接続された第2のバスと、前記第1のバスと前記第2のバスとを接続する接続手段とを備え、前記第1の描画手段は、前記第1のバス及び前記第2のバスに接続され、前記選択手段によって前記第1の記憶手段が選択された場合、前記字形データに基づいて描画した字形を前記第2のバス経由で前記第1の記憶手段に書き込み、前記選択手段によって前記第2の記憶手段が選択された場合、前記字形データに基づいて描画した字形を前記第1のバス及び前記外部バスを介して前記第2の記憶手段に書き込み、前記第2の描画手段は、前記第2のバスに接続され、前記選択手段によって前記第1の記憶手段が選択された場合、前記第1の記憶手段から前記第2のバス経由で前記字形を読み出して前記文字を描画し、前記選択手段によって前記第2の記憶手段が選択された場合、前記第2の記憶手段から前記外部バス、前記第1のバス、前記接続手段及び前記第2のバスを介して前記字形を読み出して前記文字を描画するようにしてもよい。本発明によれば、メモリアドレスの管理が簡単で済む。
また、本発明において、前記第2の記憶手段と外部バスを介して接続された第1のバスと、前記第1の記憶手段に接続された第2のバスとを備え、前記第1の描画手段は、前記第1のバス及び前記第2のバスに接続され、前記選択手段によって前記第1の記憶手段が選択された場合、前記字形データに基づいて文字の字形を描画した字形を前記第2のバス経由で前記第1の記憶手段に書き込み、前記選択手段によって前記第2の記憶手段が選択された場合、前記字形データに基づいて描画した字形を、前記第1のバス及び前記外部バスを介して前記第2の記憶手段に書き込み、前記第2の描画手段は、前記第1のバス及び前記第2のバスに接続され、前記選択手段によって前記第1の記憶手段が選択された場合、前記第1の記憶手段から前記第2のバス経由で前記字形を読み出して前記文字を描画し、前記選択手段によって前記第2の記憶手段が選択された場合、前記第2の記憶手段から前記外部バス及び前記第1のバス経由で前記字形を読み出して前記文字を描画するようにしてもよい。本発明によれば、第1のバスと第2のバスとを接続する接続手段を備えなくても文字を描画することができる。
また、本発明において、前記第1の記憶手段及び前記第2の記憶手段はそれぞれ複数の記憶領域を有しており、前記第1の記憶手段及び前記第2の記憶手段が有する複数の記憶領域のうちのいずれかの記憶領域が、前記所定の部分領域毎に指定され、前記第1の描画手段は、前記所定の部分領域毎に分割して描画した文字の字形を、各々の当該部分領域について指定された記憶領域に順次書き込み、前記第2の描画手段は、前記第1の描画手段によって前記複数の記憶領域のいずれかに前記文字の字形が書き込まれると、その記憶領域から前記文字の字形を読み出し、読み出した字形に基づいて前記文字を描画することが望ましい。本発明によれば、より高速に文字を描画することができる。
本発明において、前記字形データは、アウトライン形式の字形データであり、前記第1の描画手段は、前記字形データに基づいて文字の輪郭を描画して書き込み、前記第2の描画手段は、前記文字の輪郭を読み出し、読み出した輪郭によって囲まれた領域を塗りつぶした文字を描画することが望ましい。これにより、一般的なアウトライン形式のフォントデータとフォーマットを合わせることができる。
また、本発明において、前記字形データは、ストローク形式の字形データであり、前記第1の描画手段は、前記字形データに基づいて、文字の線幅の中心線を描画して書き込み、前記第2の描画手段は、前記文字の線幅の中心線を読み出し、読み出した中心線の周辺を塗りつぶした文字を描画するようにしてもよい。これにより、一般的なストローク形式のフォントデータとフォーマットを合わせることができる。
また、本発明に係る表示装置は、上記文字描画装置と、前記転送手段によって転送される文字を表示する表示部とを備えたことを特徴とする。本発明によれば、描画した文字を表示画面上に表示させることができる。
また、本発明に係る印刷装置は、上記文字描画装置と、前記転送手段によって転送される文字を印刷する印刷部とを備えたことを特徴とする。本発明によれば、描画した文字を用紙等に印刷することができる。
以下、本発明を実施するための最良の形態を説明する。
(1)実施形態の構成
図1は、画像表示装置1のハードウェア構成を示した図である。
図示のように、画像表示装置1は、CPU10と、フォントプロセッサ11と、入力装置12と、表示体コントローラ13と、表示体14と、ROM(Read Only Memory)15と、RAM(Random Access Memory)16と、VRAM(Video Random Access Memory)17と、不揮発性メモリ18と、バスコントローラ19とを備えている。
CPU10は、ROM15に記憶されている制御プログラムを読み出してRAM16に展開し、その制御プログラムに記述された手順に従って処理を実行する。ROM15には、アウトライン形式のフォントデータ(以下、「アウトラインデータ」という)と文字コードとが対応付けられて記憶されている。RAM16は、必要に応じてRAM16−1と16−2とに論理的に分割された作業エリアを有し、異なるモジュールからそれぞれに独立したアクセスが可能となる。なお、以下の説明において、RAM16−1と16−2とを特に区別する必要がない場合は、これらを総称して「RAM16」で表す。
ROM15には、CPU10によって実行されるOS(Operating System)や、アウトラインデータに基づいて表示体14に文字を表示するためのプログラムであるレンダラが記憶されている。入力装置12は、ユーザによって操作される操作手段であり、キーボードやマウス、ペンデバイスやジョイスティックなどの操作デバイスを含んでおり、ユーザによって入力装置12が操作されるとその操作に応じた信号をCPU10に供給する。
CPU10は、入力装置12から供給された信号に基づいてROM15からアウトラインデータを読み出し、フォントプロセッサ11に転送する。フォントプロセッサ11は、このアウトラインデータを解釈してビットマップ形式の画像データに変換し、これをVRAM17上に書き込む。なお、VRAM17は、RAM16の一部に含まれるような構成であってもよい。VRAM17上に書き込まれた画像データは、CPU10の指示のもとで表示体コントローラ13に供給される。表示体コントローラ13は、表示体14を制御して表示画面上に画像を表示させる。表示体14は、コレステリック液晶や電気泳動などを利用した表示手段であり、電力供給が停止しても画像を表示し続けることができるという記憶性を有している。不揮発性メモリ18は、フラッシュメモリやハードディスクなどの不揮発性の記憶手段である。バスコントローラ19は、外部バスBに接続されている各モジュールに対して同時にアクセスが行われないように制御する。
信号線S1は、CPU10とフォントプロセッサ11とを接続する。この信号線S1により、CPU10からフォントプロセッサ11に対して文字の描画の開始を指示する命令(文字描画命令)が供給されたり、フォントプロセッサ11からCPU10に対して、文字の描画が完了したことを通知する信号(完了通知信号)が供給される。信号線S2は、CPU10と表示体コントローラ13とを接続する。CPU10は、この信号線S2を介して、例えば画像のリフレッシュ時期などに、表示体コントローラ13に表示体14をリフレッシュ駆動するよう指示する。なお、表示体14が非記憶性の場合には、表示体コントローラ13自体が表示体14を駆動するため、信号線S2は不用である。画像表示装置1に電源が投入されると、各モジュールのリセット動作が行われる。そして、CPU10は、ROM15に記憶されたブートプログラムを起動することによりOSが起動する。その後、CPU10がプログラムに基づいた処理を行い、ユーザからの指示に応じて文字を描画する「文字描画処理」等を開始する。
次に、図2は、フォントプロセッサ11のハードウェア構成を示した図である。
図示のように、フォントプロセッサ11は、輪郭描画モジュール110と、塗りつぶし描画モジュール111と、背景合成・転送モジュール112と、外部バスコントローラ113と、内部バスコントローラ114と、内部メモリ115と、ブリッジ116と、第1のバスである内部バスB-1と、第2のバスである内部バスB-2とを備えている。なお、内部メモリ115は、内部メモリ115−1と115−2との作業エリアに論理的に分割されており、すなわち、異なるモジュールから独立したアクセスが可能な構成を有している。なお、以下の説明において、内部メモリ115−1と115−2とを特に区別する必要がない場合には、これらを総称して「内部メモリ115」という。また、内部メモリ115とRAM16とを、必要に応じて「メモリ」と総称する。
外部バスコントローラ113は、内部バスB-1を介して接続されている輪郭描画モジュール110と背景合成・転送モジュール112に対して同時にアクセスが行われないように制御したり、外部バスBと内部バスB-1との間でデータの遣り取りが行われるよう制御する。内部バスコントローラ114は、輪郭描画モジュール110または塗りつぶし描画モジュール111から、内部メモリ115に対して同時にアクセスが行われないように制御する。ブリッジ116は、内部バスB-1と内部バスB-2とを接続する接続手段である。
文字の輪郭描画及び塗りつぶしの処理においては、フォントプロセッサ11における内部メモリ115(第1の記憶手段)と、フォントプロセッサ11から見た外部メモリであるRAM16(第2の記憶手段)のいずれかが用いられる。内部メモリ115とRAM16におけるデータの読み書きの速度および記憶容量を比較すると、RAM16は、内部メモリ115より読み書き速度が遅く、且つ、記憶容量が大きい。CPU10は、文字のサイズが或るサイズよりも大きい場合には、第1の記憶手段であるRAM16を選択し、文字のサイズが或るサイズ以下の場合には、第2の記憶手段である内部メモリ115を選択する。
(1−1)文字の輪郭描画
第1の描画手段である輪郭描画モジュール110は、内部バスB-1及び内部バスB-2に接続されている。輪郭描画モジュール110は、外部バスB及び内部バスB-1を介してROM15から供給されるアウトラインデータに基づいて、文字の輪郭を表すビットマップ形式の画像データ(以下、「輪郭データ」という)を生成する(つまり輪郭を描画する)。そして、輪郭描画モジュール110は、生成した輪郭データを、CPU10によって選択されたメモリ(RAM16又は内部メモリ115)上に書き込む。輪郭描画モジュール110がRAM16上に輪郭データを書き込む場合には、内部バスB-1及び外部バスBを介してRAM16上に輪郭を書き込む。一方、輪郭描画モジュール110が、内部メモリ115上に輪郭を書き込む場合には、内部バスB-2を介して内部メモリ115上に輪郭データを書き込む。
ここで、輪郭描画モジュール110が輪郭を描画して書き込む処理について、具体的に説明する。なお、以下では、TTF(True Type Font)と呼ばれるアウトラインデータを用いるものとする。図3は、「口」という文字(漢字)をTTFによって表したものである。文字の輪郭の周囲に沿って、矩形と円形の図形が配置されているが、これらはいずれも「制御点」と呼ばれるものである。矩形の図形はオンカーブ制御点(オンカーブポイント)であり、円形の図形はオフカーブ制御点(オフカーブポイント)である(以降の図において同じ)。TTFでは、文字の輪郭を1又は複数の「コンター」によって表現する。コンターとは、直線または2次ベジエ曲線を連結することによって表される閉じた線図のことであり、この線図によって文字の輪郭が表わされる。例えばオンカーブ制御点が連続している場合は、それら隣り合う2つの制御点が直線で結ばれる。一方、オフカーブ制御点が現れた場合には、そのオフカーブ制御点の隣にある2つのオンカーブ制御点が2次ベジエ曲線で結ばれる。なお、2つのオフカーブ制御点が隣り合う場合は、それらの中点にオンカーブ制御点を補って2つの2次ベジエ曲線で結べばよい。
例えば図4に示す制御点A,B,C,Eをオンカーブ制御点とし、制御点Dをオフカーブ制御点とすると、直線A−Bと、2次ベジエ曲線C−D−Eはそれぞれ、次の数式で表される点Pの集合(直線)と、点Qの集合(2次ベジエ曲線)として表現される。
P=(1−t)A+tB
Q=(1−t)2C+2t(1−t)D+t2
tは、0≦t≦1の範囲で連続的に変化する媒介変数である。直線A−Bにおいて、t=0の場合には点Pは点Aに一致し、t=1の場合には点Pは点Bに一致する。同様に、2次ベジエ曲線C−D−Eにおいて、t=0の場合には点Qは点Cに一致し、t=1の場合には点Qは点Eに一致する。
ここで、図5は、1つの文字を表すアウトラインデータを例示した図である。
図5に示すように、アウトラインデータは、各制御点に対して昇順に割り当てられた「制御点番号」と、その制御点の種別(オンカーブ制御点かオフカーブ制御点か)と、その制御点の平面上の「位置」(X,Y座標)との集合によって表されている。これらのアウトラインデータによって1つの文字の輪郭が表わされる。さらに、1つのアウトラインデータに対しては、そのアウトラインデータに含まれるコンターの総数と、各々のコンターの終端となる制御点番号とが対応付けられている。例えば図6に示すように、「D」というアルファベットの輪郭は、2つのコンターc1,c2によって表されているから、図5に示すとおり、コンターの総数は「2」である。また、コンターc1においては、コンターの終端となる制御点番号は「7」であり、コンターc2においては、コンターの終端となる制御点番号は「11」である。よって、図4に示すとおり、コンターの終端となる制御点番号は「7,11」である。
輪郭描画モジュール110は、上述したようにして、アウトラインデータを解釈して輪郭を算出し、算出した輪郭を表すビットマップの画像データを生成することで、文字の輪郭を描画する。そして、輪郭描画モジュール110は、その描画結果であるビットマップデータを(輪郭データ)として、CPU10によって選択されたメモリに書き込む。
(1−2)塗りつぶしによる文字描画
以上のようにして輪郭データが書き込まれると、第2の描画手段である塗りつぶし描画モジュール111は、CPU10によって選択されたメモリ(RAM16又は内部メモリ115)から文字の輪郭データを読み出す。そして、塗りつぶし描画モジュール111は、輪郭データによって表される輪郭によって囲まれた領域を有色画素で塗りつぶした画像データを生成することで、文字を描画する。輪郭描画モジュール110がRAM16から輪郭データを読み出して文字を描画する場合には、RAM16から外部バスB、内部バスB-1、ブリッジ116及び内部バスB-2を介して輪郭データを読み出す。一方、輪郭描画モジュール110が内部メモリ115から輪郭データを読み出して文字を描画する場合には、内部メモリ115から内部バスB-2を介して輪郭データを読み出す。
ここで、塗りつぶし描画モジュール111が行う処理について、具体的に説明する。
塗りつぶし描画モジュール111は、内部メモリ115上またはRAM16上に書き込まれた輪郭データを読み出し、この輪郭データを一定の方向(通常は水平方向)に沿って走査し、その走査ラインとコンターとが交差する点を求める。このとき、塗りつぶし描画モジュール111は、或る変数w(初期値は0)を保持している。そして、塗りつぶし描画モジュール111は、小さい制御点番号から大きい制御点番号に進む方向に描いたコンターが、走査ラインに対して下から上に交差したか又は上から下に交差したかを判定する。そして、塗りつぶし描画モジュール111は、判断の結果が前者なら変数wに1を加算し、後者なら変数wから1を減算する。図6に示すように、走査ラインLはコンターc1,c2によっていくつかの区間に区分されることになるが、塗りつぶし描画モジュール111は、変数w=0の区間においては何も処理を行わず、変数wが1の区間には有色画素を配置する(つまり有色で塗りつぶす)。塗りつぶし描画モジュール111は、このようにして各々の走査ライン毎に塗りつぶしを行いつつ、この画像データを背景合成・転送モジュール112に順次出力する。
以上のような規則に従って、塗りつぶし描画モジュール111が、図3のように配置された制御点に従って形成されたコンターの内側を塗りつぶすと、図7に示すように、「口」という画像が描画される。また、この図では、オンカーブ制御点及びオフカーブ制御点といった制御点を示しているが、これは補助的に示しているに過ぎず、実際の画像には現れない。
(1−3)文字の転送
続いて、背景合成・転送モジュール112は、塗りつぶし描画モジュール111から供給されてくる画像データを所定の背景画像に合成した画像データを生成する。すなわち、背景合成・転送モジュール112は、内部バスB-1および外部バスBを介して、VRAM17上に書き込まれた背景画像を表す画像データを読み出して、この背景画像上に文字を描画した画像データを生成する。このとき、背景合成・転送モジュール112は、文字を描画する背景画像に対応する画像データを読み出す。そして、背景合成・転送モジュール112は、表示体14の表示画面上における表示位置に対応するVRAM17上の領域にこの画像データを書き込む。そして、背景合成・転送モジュール112は、内部バスB-1を介して完了通知信号をCPU10に出力する。この完了通知信号に応じて、CPU10は、VRAM17上に書き込まれた画像データを表示体コントローラ13に転送する。
(1−4)文字描画の分割
前述したように、フォントプロセッサ11は、CPU10によって選択されたメモリを用いて上記の処理を行う。
まず、CPU10によって内部メモリ115が選択された場合に、フォントプロセッサ111の各モジュールがどのような順番で各々の処理を行うかについて説明する。
図8は、各モジュールによって実行される各処理の時系列的な順番を表している。なお、図8では、図9に示した文字「D」を、部分領域T1、T2およびT3という3つの所定の部分領域毎に分割して描画する場合を想定している。また、図において、内部メモリ115−1のことを「メモリ1」と称し、内部メモリ115−2のことを「メモリ2」と称している。また、図では、輪郭描画モジュール110が行う処理を「輪郭描画」と称し、塗りつぶし描画モジュール111が行う処理を「塗りつぶし」と称し、背景合成・転送モジュール112が行う処理を「合成・転送」と称している。また、「輪郭描画」、「塗りつぶし」および「合成・転送」のそれぞれの末尾に付しているT1〜T3は、いずれの部分領域に対する処理かを示すものであり、「T1」は部分領域T1、「T2」は部分領域T2、「T3」は部分領域T3における処理であることを示す。
まず、輪郭描画モジュール110は、内部メモリ115−1を用いて「輪郭描画T1」を行う。輪郭描画T1においては、まず、輪郭描画モジュール110は、文字「D」の全体の輪郭を把握する(図中の「把握」に相当)。上述したように、文字の輪郭はコンターによって表現され、コンターは連続する制御点やその位置によって一意に特定される。すなわち、輪郭描画モジュール110が部分領域T1に相当する輪郭を描画するためには、部分領域T1に含まれる制御点及びその制御点に隣接した制御点(制御点番号「6」及び「9」を除く制御点)に対応するアウトラインデータが必要となる。輪郭描画モジュール110は、輪郭を把握してから輪郭データを内部メモリ115−1上に書き込み(図中の「書込」に相当)を行い、「輪郭描画T1」を完了する。続いて、塗りつぶし描画モジュール111は、内部メモリ115−1上に書き込まれた部分領域T1に相当する輪郭データを読み出し、「塗りつぶしT1」を開始する。その一方で、輪郭描画モジュール110は、部分領域T2の輪郭を把握してから輪郭データを書き込む「輪郭描画T2」を、内部メモリ115−2を用いて開始する。塗りつぶし描画モジュール111では、内部バスB-2を介して内部メモリ115−1から輪郭データを読み出して所定の領域を塗りつぶして文字を表す画像データを生成し、背景合成・転送モジュール112は、この画像データが表す文字を背景画像上に描画した画像データを生成し、画像データをVRAM17上に書き込む。
輪郭描画モジュール110は「輪郭描画T2」を終了すると、部分領域T3の輪郭を把握してから輪郭データを書き込む「輪郭描画T3」を内部メモリ115−1を用いて開始する。その一方で、塗りつぶし描画モジュール111は、内部メモリ115−2上に書き込まれた輪郭データを読み出し、「塗りつぶしT2」および「合成・転送T2」を行う。「輪郭描画T3」が終了すると、文字「D」の全体の輪郭の描画が終了となる。以降、「塗りつぶしT3」および「合成・転送T3」が完了すると、文字描画命令における文字「D」の描画が終了となる。
以上のように、文字を複数の部分領域に分割して描画する場合、輪郭描画モジュール110は分割数と同数だけ、上述した「把握」を行うことになる。すなわち、分割数が増加するほど輪郭の把握に要する時間は増大することになる。
一方、使用するメモリとしてRAM16が選択された場合にも、フォントプロセッサ111に含まれる各モジュールは、RAM16−1,16−2を用いて、内部メモリ115−1,115−2に対する処理と同様にして文字を描画する。RAM16は、内部メモリ115に対して大容量であるから、分割数は少なくて済む。分割数が少なくなれば、輪郭の把握に要する処理が少なくて済む。すなわち、データの読み書きに要する時間は内部メモリ115の方が短くて済むものの、分割数が多くなり輪郭の把握に要する時間が増大しすぎると、RAM16を用いた方が、結果として文字の描画に要する時間は短くなるわけである。
規定値Pは、内部メモリ115を用いて描画した方が処理時間が短くて済む場合の、分割数の上限値である。従って、この規定値Pを閾値として、規定値Pを超える分割数の場合には、RAM16を用いた方が内部メモリ115よりも高速に文字全体を描画できる。この規定値Pは、各モジュールの内部メモリ115に対するデータの読み書きに要する時間と、RAM16に対するデータの読み書きに要する時間と、輪郭の把握に要する時間に応じて決められる。以下においては、CPU10は、分割数が規定値P以下の場合には、内部メモリ115を作業エリアとして選択し、分割数が規定値Pを超える場合には、RAM16を作業エリアとして選択し、その選択結果をフォントプロセッサ11に通知する。
(2)実施形態の動作
次に、画像表示装置1の動作について説明する。
(2−1)CPU10の基本動作
図10は、画像表示装置1のCPU10がフォントプロセッサ11に分割した部分領域毎に文字描画命令を供給するまでの動作の手順を示したフローチャートである。
ユーザが入力装置12を用いて文字「D」を指定し、その文字の表示を、その表示サイズとともに指示する。CPU10は、これらの指示に従って図10に示すような処理を開始する。
まず、CPU10は、描画させる文字のサイズに応じて、分割数を算出し、その数に応じて、使用するメモリを選択する(ステップSA1)。このステップSA1の動作手順については後で詳述する。次に、CPU10は、ユーザによって指定された文字に対応する文字コードをROM15から取得する(ステップSA2)。なお、ここで用いる文字コードとしては、周知のコードであるシフトJISコードやASCIIコードなどが好適である。CPU10は、文字「D」の輪郭の描画に必要なアウトラインデータが格納された記憶領域うち、その先頭のアドレスを取得する(ステップSA3)。具体的には、フォントプロセッサ11は、所定の処理毎にとして輪郭データを描画していくから、その描画に必要なアウトラインデータが格納されたROM15における先頭のアドレス取得するのである。
続いて、CPU10は、ステップSA1で選択したメモリ(内部メモリ115又はRAM16)上のどの作業エリアを用いるかを指定する(ステップSA4)。すなわち、内部メモリ115であれば内部メモリ115−1か115−2のいずれか、RAM16であればRAM16−1か16−2のいずれかが指定される。このステップSA4の動作手順については後で詳述する。
次に、CPU10は、文字を表示させる表示体14の表示画面上における表示位置を指定する(ステップSA5)。そして、CPU10は、ステップSA1〜SA5で選択乃至指定した内容を含めた「文字描画命令」を生成し、フォントプロセッサ11に供給する(ステップSA6)。次に、CPU10は、描画する文字において分割した全ての部分領域に対して、処理ステップSA4〜SA6を行ったか否かを判断する(ステップSA7)。CPU10は、分割した全ての部分領域に対しての処理が終了していなければ(ステップSA7;NO)、ステップSA4に戻って、未処理の部分領域について処理ステップSA4〜SA7を実行する。一方、CPU10は、分割した全ての部分領域に対しての処理が終了していれば(ステップSA7;YES)、描画すべき次の文字があるか否かを判断する(ステップSA8)。CPU10は、例えば文書作成プログラムを実行しているときには、ユーザによって入力装置12から文字を指定されるたびに(ステップSA8;YES)、上記処理ステップSA1〜SA7を実行することになる。
以上のようにして、CPU10は、描画する文字の部分領域単位で文字描画命令をフォントプロセッサ11に供給し、文字描画処理を行わせる。
(2−2)CPU10による分割数の算出とメモリの選択
次に、上述した図10のステップSA1において、CPU10が分割数を算出してメモリを選択する動作手順について説明する。
図11は、この動作手順を示すフローチャートである。図11において、まず、CPU10は、内部メモリ115上に書き込み可能な文字の高さを算出する(ステップSA11)。ここでの「文字の高さ」とは、内部メモリ115上に書き込むことができる輪郭データの高さ方向(副走査方向)の最大画素数である。例えば、内部メモリ115が1000画素分の画素データを記憶することができ、かつ、描画する文字の幅方向(主走査方向)のサイズが100画素である場合には、内部メモリ115上に書き込むことのできる文字の高さは、1000/100=10画素となる。
次に、CPU10は、書き込む文字の高さを、ステップSA11で求めた高さで除算して分割数mを算出する(ステップSA12)。書き込む文字の高さが例えば42画素である場合、42/10=4.2となるから、のべ5つの作業エリアを用いれば、文字全体の輪郭データを書き込むことができるということになる。すなわち、分割数m=5である。
次に、CPU10は、分割数mが所定の規定値P(閾値)を超えるか否かを判断する(ステップSA13)。この規定値Pは例えば9である。CPU10は、分割数mが規定値Pを超えないと判断すると(ステップSA13;NO)、分割数mを確定し(ステップSA14)、フォントプロセッサ11が使用するメモリとして内部メモリ115を選択する(ステップSA15)。
一方、CPU10は、分割数mが規定値Pを超えると判断すると(ステップSA13;YES)、RAM16上に書き込み可能な文字の高さを算出する(ステップSA16)。ここでの「文字の高さ」も、上記と同様に、RAM16上に書き込むことができる輪郭データの高さ方向(副走査方向)の画素数である。例えばRAM16が10000画素分の画素データを記憶することができ、かつ、書き込む文字の幅方向(主走査方向)のサイズが100画素である場合には、RAM16上に書き込むことのできる文字の高さは、10000/100=100画素となる。
次に、CPU10は、書き込む文字の高さを、ステップSA16で求めたRAM16上に書き込み可能な高さで除算して、分割数nを求める(ステップSA17)。書き込む文字の高さが例えば42画素である場合には、42/100=0.42となるから、RAM16の1つの作業エリアを用いれば、文字全体の輪郭データを書き込むことができるということになる。この場合、CPU10は、分割数をnに確定し(ステップSA18)、フォントプロセッサ11が使用するメモリとしてRAM16を選択する(ステップSA19)。
(2−3)CPU10によるメモリの作業エリアの特定
次に、上述した図10のステップSA4において、CPU10がフォントプロセッサ11に使用させるメモリの作業エリアを特定する動作手順について説明する。なお、内部メモリ115を用いる場合とRAM16を用いる場合とでは、その作業エリアが異なるだけで、処理の内容は同じであるから、以下では内部メモリ115を用いる場合について説明する。RAM16を用いる場合には、以下に述べる説明において、内部メモリ115−1をRAM16−1に対応させ、内部メモリ115−2をRAM16−2に対応させればよい。
図12は、CPU10が作業エリアを指定する動作手順を示すフローチャートである。以下の動作では、図9に示した文字「D」を描画する際にCPU10が作業エリアを指定する場合を想定する。
図12において、まず、CPU10は、ワークエリアとして使用する内部メモリ115−i(i=1,2)のアドレスを取得する(ステップSA41)。なお、変数iの初期値を1とし、部分領域T1においては、CPU10は、内部メモリ115−1上の輪郭データを書き込み位置に対応するアドレスを取得することになる。次に、CPU10は、ステップSA41で取得した内部メモリ115−iのアドレスを、文字描画命令に含めてフォントプロセッサ11に通知する(ステップSA42)。すなわち、CPU10は、部分領域T1の文字の描画を、内部メモリ115−1を用いて行うことを通知することになる。
次に、CPU10は、変数iが、内部メモリが有する作業エリアの総数に一致するか否かを判断する(ステップSA43)。本実施形態では、フォントプロセッサ11は内部メモリ115−1および115−2の2つの作業エリアを有するから、CPU10は変数iが「2」であるか否かを判断することになる。ここではi=1であるから、CPU10は、変数iは内部メモリ115の作業エリアの総数に一致しないと判断し(ステップSA43;NO)、変数iを1ずつインクリメントして、変数i=i+1とする(ステップSA44)。ここで、変数i=2となる。
続いて、CPU10は、部分領域T2の文字の描画に用いる作業エリアを指定するべく、再び処理ステップSA41〜SA43を実行することになる。このときステップSA41においては変数i=2であるから、CPU10は内部メモリ115−2上の輪郭データの書き込み位置に対応するアドレスを取得する。ステップSA43においては、CPU10は変数iが内部メモリ115の作業エリアの総数である2に一致すると判断するから(ステップSA43;YES)、変数iを初期値である「1」に戻す(ステップSA45)。
次に、CPU10は、部分領域T3に含まれる文字の描画を指定する際には、ステップSA1において内部メモリ115−1のアドレスを取得することになるから、上述した部分領域T1に含まれる文字の描画を指示する場合と同様の処理を行う。
このようにして、CPU10は、フォントプロセッサ11に使用させる内部メモリを特定する。具体的には、変数iは、1→2→1→2→1→2→・・・という具合に変化するから、CPU10は、文字の描画を指示されるたびに、内部メモリ115−1と115−2とのアドレスを交互に通知することになる。
(2−4)輪郭描画モジュール110による輪郭描画
次に、輪郭描画モジュール110が行う輪郭描画について説明する。
図13は、輪郭描画モジュール110が行う、輪郭描画の手順を示すフローチャートである。
図13において、フォントプロセッサ11の輪郭描画モジュール110は、CPU10から文字描画命令が供給されるまで待機し、部分領域T1の文字描画命令が供給されると(ステップSB1;YES)、これを図示せぬレジスタに格納する。そして、輪郭描画モジュール110は、文字「D」の文字コードに対応するアウトラインデータが格納されたROM15上の先頭アドレスに基づいて、処理単位毎にアウントラインデータを取得する(ステップSB2)。続いて、輪郭描画モジュール110は、輪郭データの書き込みに必要なアウトラインデータを全て取得したか否かを判断する(ステップSB3)。輪郭描画モジュール110は、アウトラインデータの取得を完了していなければ(ステップSB3;NO)、そのまま取得を続ける。
一方、輪郭描画モジュール110は、アウトラインデータの取得を完了すれば(ステップSB3;YES)、図5に示したような各制御点番号に対応する制御点の種別や位置に基づいて、内部メモリ115−1上に輪郭データを書き込む(ステップSB4)。このようにして、輪郭描画モジュール110は、処理単位毎に必要なアウトラインデータを取得して、輪郭データを内部メモリ115上に書き込んでいく。輪郭描画モジュール110は、部分領域T1の文字描画処理における輪郭データの書き込みを完了すると、レジスタに格納された文字描画命令をクリアする(ステップSB5)。そして、輪郭描画モジュール110は、塗りつぶしを開始することを指示する「塗りつぶし開始命令」を生成し、塗りつぶし描画モジュール111に出力する(ステップSB6)。
続いて、部分領域T2の文字描画命令が供給されると、輪郭描画モジュール110は、CPU10によって指定された内部メモリ115−2を作業エリアとして、上記と同様の処理を行うことになる。
(2−5)塗りつぶし描画モジュール111による文字の塗りつぶし
次に、塗りつぶし描画モジュール111が内部メモリ115上に書き込まれた輪郭データに基づいて行う、塗りつぶし描画について説明する。
図14は、塗りつぶし描画モジュール111が、輪郭描画モジュール110によって生成された輪郭データに基づいて、塗りつぶし描画を行う動作の手順を示すフローチャートである。
図14において、塗りつぶし描画モジュール111は、部分領域T1の文字描画命令における塗りつぶし開始命令が供給されるまで待機し、塗りつぶし開始命令が供給されると(ステップSC1;YES)、図示せぬレジスタにこれを格納し、塗りつぶしを行っていない輪郭データが内部メモリ115−1上に存在するか否かを判断する(ステップSC2)。塗りつぶし描画モジュール111は、塗りつぶしが完了していない輪郭データが存在すると判断すれば(ステップSC2;YES)、内部メモリ115−1に書き込まれた輪郭データのうち、処理単位となる分だけ輪郭データを読み出す(取得する)(ステップSC3)。
塗りつぶし描画モジュール111は、読み出した輪郭データのうちのコンターの内側に相当する領域を塗りつぶす(ステップSC4)。塗りつぶし描画モジュール111は、塗りつぶし描画を完了すれば、この画像データを背景合成・転送モジュール112に出力する(ステップSC5)。そして、ステップSC2に戻り、塗りつぶし描画モジュール111は、塗りつぶし描画が完了していない輪郭データが他に存在するか否かを判断することになる。
塗りつぶし描画モジュール111は、部分領域T1の文字描画命令に対応するすべての輪郭データについて塗りつぶし描画を完了し、内部メモリ115−1上に未処理の輪郭データが残っていないと判断すれば(ステップSC2;NO)、レジスタに格納された塗りつぶし開始命令をクリアする(ステップSC6)。そして、塗りつぶし描画モジュール111は、塗りつぶしを完了したことを示す「塗りつぶし完了信号」を背景合成・転送モジュール112に出力する(ステップSC7)。
続いて、背景合成・転送モジュール112が、描画された文字を背景画像へ合成し、表示体14への転送を指示する際の動作について説明する。
図15は、背景合成・転送モジュール112が塗りつぶし後の画像を背景画像に合成し、表示体14への転送を指示するまでの処理の過程を示すフローチャートである。図15において、背景合成・転送モジュール112は、塗りつぶし描画モジュール111から塗りつぶし後の文字を表す画像データが供給されるまで待機し、画像データが供給されると(ステップSD1;YES)、背景画像を表す画像データをVRAM17から読み出す(ステップSD2)。そして、背景合成・転送モジュール112は、描画した文字を表す画像データと、背景画像を表す画像データとを合成する(ステップSD3)。すなわち、合成後の画像は、指定された表示位置に応じた背景画像上に文字が描画された画像となる。背景合成・転送モジュール112は、このようにして生成した画像データを、VRAM17上の表示位置に応じた領域に書き込む(ステップSD4)。続いて、背景合成・転送モジュール112は、塗りつぶし完了信号を受信したか否かを判断する(ステップSD5)。背景合成・転送モジュール112は、塗りつぶし完了信号を受信していないと判断すれば(ステップSD5;NO)、ステップSD1に戻り、次の画像データが供給されるまで待機する。一方、ステップSD5において、背景合成・転送モジュール112は、塗りつぶし完了信号を受信したと判断すれば(ステップSD5;YES)、この塗りつぶし完了信号をクリアし(ステップSD6)、CPU10に完了通知信号を出力する(ステップSD7)。
CPU10は、この完了通知信号が供給されると、VRAM17上に書き込まれた画像データを表示体コントローラ13に転送し、画像の表示を指示する。この指示に応じて、表示体コントローラ13は、転送された画像データが表す画像を表示体14に表示させる。
以上説明した実施形態によれば、CPU10は、描画する文字のサイズとメモリの容量に応じて文字の分割数を算出し、この分割数が予め決められた規定値を超えるか否かに応じて、フォントプロセッサ11に使用させるメモリを選択する。規定値は、文字全体を描画するために要する時間が短くて済むメモリを決定し得る数値であるから、この規定値を用いて選択したメモリを使用することで、使用されるメモリの容量に関わらず、文字の描画処理に要する時間をより短縮することができる
また、フォントプロセッサ11は、アウトラインデータを読み出すための内部バスB-1と、内部メモリ115やRAM16上に輪郭データを書き込んだり読み出したりするための内部バスB-2とを有するため、輪郭描画と、塗りつぶしおよび合成・転送を並行して行うことができ、かつ、それぞれの処理において用いる内部バスが異なるため、文字描画処理の高速化が可能となる。
(3)変形例
上述した実施形態の内容を次のように変形してもよい。
上述した実施形態では、1文字を幅方向(主走査方向)に分割して文字の描画を行っていたが、これを高さ方向(副走査方向)に分割して描画してもよいし、幅方向と高さ方向の両方に分割して描画するようにしてもよい。
上述した実施形態では、フォントプロセッサ11において内部バスB-1と内部バスB-2を接続するブリッジ116を設けていたが、このブリッジ116を設けなくてもよい。この場合には、塗りつぶし描画モジュール111と、内部バスB-1とを接続しておき、塗りつぶし描画モジュール111は、内部バスB-1及び外部バスBを介してRAM16から輪郭データを読み出す。
このようにブリッジを備えている場合とブリッジを備えていない場合とを比較すると、次のような違いがある。
ブリッジを備えている場合、塗りつぶし描画モジュール111は内部バスB-2を介して内部メモリ115やRAM16にアクセスする。このように1つのバスを介して2つのメモリにアクセスする場合には、それら2つのメモリの記憶領域を連続した1つの記憶領域とみなしてメモリアドレスを管理するだけでよい。これに対し、ブリッジを備えていない場合、塗りつぶし描画モジュール111は内部バスB-1を介してRAM16にアクセスする一方、内部バスB-2を介して内部メモリ115にアクセスする。このように異なるバスを介して2つのメモリにアクセスする場合には、個々のメモリに対して別々のアドレス管理を行う必要がある。つまり、ブリッジを備えている場合には、ブリッジを備えていない場合に比べると、メモリアドレスの管理が簡単で済むという利点がある。
上述した実施形態では、アウトライン形式のフォントデータを用いて文字を描画する場合について説明したが、ストローク形式のフォントデータを用いて文字を描画してもよい。ストローク形式においては、文字の字形を中心線だけで指定してからその太さを指定するから、やはり、複数の処理ステップを実行して文字を描画する。よって、輪郭描画モジュール110と塗りつぶし描画モジュール111とを、例えば文字の線幅の中心線(字形)を描画するモジュールと、その中心線(字形)の周辺を塗りつぶすモジュールとに置き換えることにより、ストローク形式のフォントデータを用いた場合にも、本発明を適用することができる。
また、ベクタ形式の画像を描画する場合であっても、点の座標とそれを結ぶ線や面の方程式のパラメータに基づいて、輪郭の描画や、塗りつぶし、特殊効果等を行って画像を描画するから、このような各処理ステップを実行可能なモジュールを設けることにより、本発明を適用することができる。
上述した実施形態では、塗りつぶし描画モジュール111は、処理単位毎に行う塗りつぶし描画が終了すると、処理単位毎に背景合成・転送モジュール112に出力していたが、文字描画処理における全ての領域の塗りつぶし描画が終了するまで保持しておき、それから出力するようにしてもよい。すなわち、図14において、ステップSC2において、塗りつぶし描画モジュール111が、塗りつぶし描画が完了していない輪郭データが、対応するメモリ上に存在しないことを確認してから、ステップS5の処理を行う。
上述した実施形態では、塗りつぶし描画モジュール111と、背景合成・転送モジュール112とは別々のモジュールであったが、これらに代えて、同様の機能を実現する1つの専用モジュールを適用してもよい。背景合成・転送モジュール112は、内部メモリ115に対してアクセスすることはなく、塗りつぶし描画モジュール111から供給される画像データに基づいて処理を行うため、そのまま塗りつぶし描画モジュール111と背景合成・転送モジュール112とを、1つの専用モジュールとする構成とすることができる。
また、背景合成・転送モジュール112は、塗りつぶし描画モジュール111によって描画された文字を背景画像に合成せずに、塗りつぶし描画モジュール111から供給された画像データをそのままVRAM17上に書き込むようにしてもよい。
上述した実施形態では、表示体14の表示画面上に文字を描画する場合について説明したが、記録用紙等に画像を印刷するような構成としてもよい。つまり、実施形態における表示体コントローラ13を印刷制御部に置き換え、表示体14を印刷部に置き換える構成とする。印刷制御部は、印刷部を制御して用紙に画像を印刷させるよう制御する。印刷部は、熱転写方式やインクジェット方式等を用いて記録用紙に画像を印刷する。
具体的には、例えば記録用紙1枚に印刷する画像に相当する画像データがVRAM17上に書き込まれ、完了通知信号が供給されると、CPU10はVRAM17上に書き込まれた画像データを印刷制御部に転送し、画像の印刷を指示する。この指示に応じて、印刷制御部は転送された画像データが表す画像(文字)を、印刷部に印刷させる。
上述した実施形態では、描画する文字として「口」や「D」の場合について説明したが、この「文字」は、平仮名、片仮名、漢字等の日本語であってもよく、アルファベット等の外国語であってもよい。さらに、「+」や「−」等の記号や、円や多角形等の図形も文字に含めるものとする。つまり、フォントデータを取得し、それに基づいて文字を描画することができるのであれば、その輪郭によらず、本発明を適用することができる。
上述した実施形態では、内部メモリ115やRAM16は2つの作業エリアを有する構成としていたが、さらに多くの作業エリアを有する構成としてもよい。このようにすれば、フォントプロセッサが更に多くの専用モジュールを有する場合にも、それぞれが各内部メモリに対して独立してアクセスすることにより、さらに多くの処理を並行して行うことができるようになる。
本発明の実施形態に係る画像表示装置のハードウェア構成を示した図である。 フォントプロセッサのハードウェア構成を示した図である。 TTFに規定された制御点と、画像表示装置に表示される画像の例を説明する図である。 制御点を結ぶコンターを説明する図である。 TTFに規定された制御点を含むアウトラインデータのデータ構造を説明する図である。 制御点を結ぶコンターを説明する図である。 コンターで輪郭を形成し、その内側を塗りつぶす様子を示した図である。 各モジュールが実行する処理が行われる順番を時系列的に説明する図である。 文字の分割方法を説明する図である。 CPUが実行する処理の手順を示すフローチャートである。 CPUが実行する処理の手順を示すフローチャートである。 CPUが実行する処理の手順を示すフローチャートである。 輪郭描画モジュールが実行する処理の手順を示すフローチャートである。 塗りつぶし描画モジュールが実行する処理の手順を示すフローチャートである。 背景合成・転送モジュールが実行する処理の手順を示すフローチャートである。
符号の説明
1…画像表示装置、10…CPU、11…フォントプロセッサ、12…入力装置、13…表示体コントローラ、14…表示体、15…ROM、16…RAM、17…VRAM、18…不揮発性メモリ、19…バスコントローラ、110…輪郭描画モジュール、111…塗りつぶし描画モジュール、112…背景合成・転送モジュール、113…外部バスコントローラ、114…内部バスコントローラ、115、115−1、115−2…内部メモリ、116…ブリッジ。

Claims (8)

  1. 字形データによって表される文字の字形を、所定の部分領域毎に分割して描画する第1の描画手段と、
    前記第1の描画手段により描画された字形に基づいて文字を描画する第2の描画手段と、
    前記第2の描画手段によって描画された文字を転送する転送手段と、
    データを記憶する第1の記憶手段と、
    前記第1の記憶手段よりデータの読み書き速度が遅く、且つ、記憶容量が大きい第2の記憶手段と、
    前記第1の描画手段によって分割された前記所定の部分領域の数が閾値以下の場合には前記第1の記憶手段を選択し、前記第1の描画手段によって分割された前記所定の部分領域の数が前記閾値を超える場合には前記第2の記憶手段を選択する選択手段とを備え、
    前記所定の部分領域は、前記第1の記憶手段に応じた大きさで分割された部分領域であり、
    前記選択手段によって前記第1の記憶手段が選択された場合、前記第1の描画手段は、前記所定の部分領域毎に分割して描画した字形を前記第1の記憶手段に書き込み、前記第2の描画手段は、前記第1の記憶手段から前記字形を読み出して前記文字を描画し、
    前記選択手段によって前記第2の記憶手段が選択された場合、前記第1の描画手段は、前記字形データによって表される文字の字形を前記第2の記憶手段に応じた大きさで分割し、その結果分割された部分領域毎に描画した字形を前記第2の記憶手段に書き込み、前記第2の描画手段は、当該字形を前記第2の記憶手段から読み出して文字を描画する
    ことを特徴とする文字描画装置。
  2. 前記第2の記憶手段と外部バスを介して接続された第1のバスと、
    前記第1の記憶手段に接続された第2のバスと、
    前記第1のバスと前記第2のバスとを接続する接続手段と
    を備え、
    前記第1の描画手段は、
    前記第1のバス及び前記第2のバスに接続され、
    前記選択手段によって前記第1の記憶手段が選択された場合、前記字形データに基づいて描画した字形を前記第2のバス経由で前記第1の記憶手段に書き込み、前記選択手段によって前記第2の記憶手段が選択された場合、前記字形データに基づいて描画した字形を前記第1のバス及び前記外部バスを介して前記第2の記憶手段に書き込み、
    前記第2の描画手段は、
    前記第2のバスに接続され、
    前記選択手段によって前記第1の記憶手段が選択された場合、前記第1の記憶手段から前記第2のバス経由で前記字形を読み出して前記文字を描画し、前記選択手段によって前記第2の記憶手段が選択された場合、前記第2の記憶手段から前記外部バス、前記第1のバス、前記接続手段及び前記第2のバスを介して前記字形を読み出して前記文字を描画する
    ことを特徴とする請求項1記載の文字描画装置。
  3. 前記第2の記憶手段と外部バスを介して接続された第1のバスと、
    前記第1の記憶手段に接続された第2のバスと
    を備え、
    前記第1の描画手段は、
    前記第1のバス及び前記第2のバスに接続され、
    前記選択手段によって前記第1の記憶手段が選択された場合、前記字形データに基づいて文字の字形を描画した字形を前記第2のバス経由で前記第1の記憶手段に書き込み、
    前記選択手段によって前記第2の記憶手段が選択された場合、前記字形データに基づいて描画した字形を、前記第1のバス及び前記外部バスを介して前記第2の記憶手段に書き込み、
    前記第2の描画手段は、
    前記第1のバス及び前記第2のバスに接続され、
    前記選択手段によって前記第1の記憶手段が選択された場合、前記第1の記憶手段から前記第2のバス経由で前記字形を読み出して前記文字を描画し、前記選択手段によって前記第2の記憶手段が選択された場合、前記第2の記憶手段から前記外部バス及び前記第1のバス経由で前記字形を読み出して前記文字を描画する
    ことを特徴とする請求項1記載の文字描画装置。
  4. 前記第1の記憶手段は複数の記憶領域を有しており、
    前記第1の記憶手段が有する複数の記憶領域のうちのいずれかの記憶領域が、前記所定の部分領域毎に指定され、
    前記第1の描画手段は、前記所定の部分領域毎に分割して描画した文字の字形を、各々の当該部分領域について指定された記憶領域に順次書き込み、
    前記第2の描画手段は、前記第1の描画手段によって前記複数の記憶領域のいずれかに前記文字の字形が書き込まれると、その記憶領域から前記文字の字形を読み出し、読み出した字形に基づいて前記文字を描画する
    ことを特徴とする請求項1に記載の文字描画装置。
  5. 前記字形データは、アウトライン形式の字形データであり、
    前記第1の描画手段は、前記字形データに基づいて文字の輪郭を描画して書き込み、
    前記第2の描画手段は、前記文字の輪郭を読み出し、読み出した輪郭によって囲まれた領域を塗りつぶした文字を描画する
    ことを特徴とする請求項1に記載の文字描画装置。
  6. 前記字形データは、ストローク形式の字形データであり、
    前記第1の描画手段は、前記字形データに基づいて、文字の線幅の中心線を描画して書き込み、
    前記第2の描画手段は、前記文字の線幅の中心線を読み出し、読み出した中心線の周辺を塗りつぶした文字を描画する
    ことを特徴とする請求項1に記載の文字描画装置。
  7. 請求項1乃至6のいずれか1項に記載の文字描画装置と、
    前記転送手段によって転送される文字を表示する表示部と
    を備えた表示装置。
  8. 請求項1乃至6のいずれか1項に記載の文字描画装置と、
    前記転送手段によって転送される文字を印刷する印刷部と
    を備えた印刷装置。
JP2007079826A 2007-03-26 2007-03-26 文字描画装置、表示装置及び印刷装置 Expired - Fee Related JP4367511B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2007079826A JP4367511B2 (ja) 2007-03-26 2007-03-26 文字描画装置、表示装置及び印刷装置
US11/984,599 US7948494B2 (en) 2007-03-26 2007-11-20 Character rendering device, display device, and printer
TW096146603A TW200912887A (en) 2007-03-26 2007-12-06 Character rendering device, display device, and printer
CN2007101970005A CN101276572B (zh) 2007-03-26 2007-12-07 文字描绘装置、显示装置以及印刷装置
KR1020070129146A KR100906530B1 (ko) 2007-03-26 2007-12-12 문자 묘화 장치, 표시 장치 및 인쇄 장치
EP07024305A EP1975882B1 (en) 2007-03-26 2007-12-14 Character rendering device, display device, and printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007079826A JP4367511B2 (ja) 2007-03-26 2007-03-26 文字描画装置、表示装置及び印刷装置

Publications (2)

Publication Number Publication Date
JP2008241924A JP2008241924A (ja) 2008-10-09
JP4367511B2 true JP4367511B2 (ja) 2009-11-18

Family

ID=39546945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007079826A Expired - Fee Related JP4367511B2 (ja) 2007-03-26 2007-03-26 文字描画装置、表示装置及び印刷装置

Country Status (6)

Country Link
US (1) US7948494B2 (ja)
EP (1) EP1975882B1 (ja)
JP (1) JP4367511B2 (ja)
KR (1) KR100906530B1 (ja)
CN (1) CN101276572B (ja)
TW (1) TW200912887A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5279332B2 (ja) * 2008-04-28 2013-09-04 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN104137175B (zh) * 2012-04-27 2016-04-20 三菱电机株式会社 字符描绘装置以及字符描绘方法
JPWO2013175520A1 (ja) * 2012-05-21 2016-01-12 三菱電機株式会社 文字描画装置
CN103455503B (zh) * 2012-05-31 2018-04-03 腾讯科技(深圳)有限公司 字库收集方法、网页渲染方法、装置及系统
CN104742534B (zh) * 2015-04-03 2017-01-11 江苏浩宇电子科技有限公司 一种写字机及其书写方法
US10650586B2 (en) 2017-08-10 2020-05-12 Outward, Inc. Automated mesh generation
WO2019113888A1 (zh) * 2017-12-14 2019-06-20 华侨大学 一种基于交互式的中国水墨画风格笔画生成方法以及装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940006806B1 (ko) * 1986-10-06 1994-07-27 가부시끼가이샤 히다찌 세이사꾸쇼 버스접속 제어기능을 가지는 그래픽처리장치
EP0618547B1 (en) 1989-03-08 1999-12-08 Canon Kabushiki Kaisha Output device
JP2911470B2 (ja) * 1989-03-08 1999-06-23 キヤノン株式会社 文字処理装置及び方法
JP2861194B2 (ja) * 1990-02-14 1999-02-24 ブラザー工業株式会社 データ変換装置
EP0471849B1 (en) * 1990-02-27 1995-06-07 Seiko Epson Corporation Method of generating dot signal corresponding to character pattern and device therefor
JP2774662B2 (ja) * 1990-04-04 1998-07-09 キヤノン株式会社 文字処理装置
JPH0433869A (ja) * 1990-05-31 1992-02-05 Toshiba Corp データ処理装置
JP3434308B2 (ja) * 1992-01-16 2003-08-04 株式会社リコー スキャナー付画像形成装置およびその制御方法
JP2962937B2 (ja) * 1992-07-14 1999-10-12 キヤノン株式会社 文字処理装置及び方法
US5526476A (en) 1992-12-07 1996-06-11 Fujitsu Limited Method and apparatus for generating character patterns expressed by coordinates of a coordinate system
JP2964841B2 (ja) * 1993-07-15 1999-10-18 ブラザー工業株式会社 データ変換装置
JP2637921B2 (ja) 1994-08-16 1997-08-06 日本電気オフィスシステム株式会社 文字記号発生装置
JP3483946B2 (ja) * 1994-08-19 2004-01-06 三菱電機株式会社 フォント処理装置及びフォント処理方法
JP3119805B2 (ja) * 1994-12-20 2000-12-25 松下電器産業株式会社 多階調データ生成装置
JPH09134156A (ja) 1995-11-09 1997-05-20 Fujitsu Ltd アウトラインフォントのストローク化及びパーツ化方法
JPH09230844A (ja) 1996-02-27 1997-09-05 Fuji Xerox Co Ltd フォント変換装置
EP0837005A1 (en) 1996-10-16 1998-04-22 Wolf Dietrich Kempf Shipping and storing appliance in particular for motor cycles
JP2002244639A (ja) 2001-02-15 2002-08-30 Funai Electric Co Ltd フォント処理装置
GB2374776A (en) * 2001-04-19 2002-10-23 Discreet Logic Inc 3D Text objects
KR100440965B1 (ko) * 2001-12-31 2004-07-21 삼성전자주식회사 서로 다른 프린터 드라이버를 내장하여 인쇄 속도를향상시키는 프린팅 방법 및 그를 이용한 프린터
JP2004221673A (ja) * 2003-01-09 2004-08-05 Matsushita Electric Ind Co Ltd オンスクリーン表示装置

Also Published As

Publication number Publication date
TW200912887A (en) 2009-03-16
EP1975882B1 (en) 2009-09-23
CN101276572B (zh) 2010-09-29
US20080238924A1 (en) 2008-10-02
JP2008241924A (ja) 2008-10-09
US7948494B2 (en) 2011-05-24
KR100906530B1 (ko) 2009-07-07
EP1975882A1 (en) 2008-10-01
CN101276572A (zh) 2008-10-01
KR20080087638A (ko) 2008-10-01

Similar Documents

Publication Publication Date Title
JP4367511B2 (ja) 文字描画装置、表示装置及び印刷装置
JP4449986B2 (ja) 文字描画装置、表示装置及び印刷装置
EP0703550B1 (en) Utilisation of scanned images in an image compositing system
JP4566772B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP3375638B2 (ja) アンチ−アライアジング装置及び目的グリッドへの水平・垂直エッジの自動高速合わせの方法
KR20070092586A (ko) 묘화장치와 묘화방법 및 묘화 프로그램
US20090091574A1 (en) Rendering device, image output device, and program
JPH08146936A (ja) アウトラインフォントデータの処理方法および装置
JP5159949B2 (ja) ベクトル図形描画装置
KR100226077B1 (ko) 화상처리장치
JP3211591B2 (ja) イメージ処理装置
JP2017054470A (ja) 画像処理装置および画像処理方法
JP2771629B2 (ja) 文字処理装置
JP2015225421A (ja) 画像描画装置、画像描画方法および画像描画システム
JP4840033B2 (ja) 画像処理プログラムおよび画像処理装置
JP2012133765A (ja) 画像処理装置、および画像処理方法
JP2895890B2 (ja) チラシ・カタログ類の割付装置
JPH05257452A (ja) 文字信号発生装置
JPH09138681A (ja) データ処理装置
JPS5985536A (ja) プロツタの紙面出力制御方式
JPH09138680A (ja) データ処理装置
JPH08300767A (ja) 画像印刷装置
JP2002361946A (ja) 画像処理装置及びその処理方法
JPH0239362A (ja) 文書処理装置
JPS5949587A (ja) カラ−画像発生方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090804

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090817

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees