JP3563829B2 - 文字処理装置及びその方法 - Google Patents
文字処理装置及びその方法 Download PDFInfo
- Publication number
- JP3563829B2 JP3563829B2 JP16590895A JP16590895A JP3563829B2 JP 3563829 B2 JP3563829 B2 JP 3563829B2 JP 16590895 A JP16590895 A JP 16590895A JP 16590895 A JP16590895 A JP 16590895A JP 3563829 B2 JP3563829 B2 JP 3563829B2
- Authority
- JP
- Japan
- Prior art keywords
- line width
- effective range
- width information
- contour
- correction information
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Dot-Matrix Printers And Others (AREA)
- Image Generation (AREA)
Description
【産業上の利用分野】
本発明は文字処理装置及びその方法に関し、例えば、文字の字形を輪郭の座標値で表すアウトラインフォントを用いる文字処理装置及びその方法に関する。
【0002】
【従来の技術】
従来の文字処理装置においては、アウトライン形式でコード化された文字データ(アウトラインフォントデータ)について、ビットマップ展開時に文字の字形が高品位に保たれるように、該アウトラインフォントデータの輪郭座標値情報と共に、輪郭座標値を補正する輪郭座標補正情報を保持していた。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来の文字処理装置においては、輪郭座標値情報に基づいて描画を行う際に、上記輪郭座標補正情報に属する複数の項目が各々示す高品位化処理機能を、同一の領域に対して同時には実現できない場合があった。このような処理としては、例えば、同じ方向の異なる線幅への複数の補正処理において、各線幅の座標値が等しくなく、かつ重なった範囲を持つ場合等が挙げられる。従って、このような同時には実現不可能な複数の高品位化処理機能が、同一領域に対して同時に施されることによって、該領域においては文字の字形を高品位に保つための効果を得られず、かえって文字品位を低下させてしまう場合があった。
【0004】
また、従来の文字処理装置における輪郭座標補正情報は、前記輪郭座標値情報に基づいて描画を行う際の順番に無関係に保持されていた。即ち、各座標点における相対位置情報のみに関する補正情報であるため、保持されるデータ量も少ないものではなかった。
【0005】
本発明は上記の問題を解決するためになされたもので、輪郭座標補正情報について補正情報を適用する有効範囲を決定し、複数の高品位化処理機能が同時に機能しないように制御することによって、文字の字形を高品位に保つことが可能な文字処理装置及びその制御方法を提供することを目的とする。
【0006】
また、輪郭座標の補正情報をより少ないデータ量で取り扱うことが可能な文字処理装置及びその方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0008】
本発明にかかる文字処理装置は、文字の字形を輪郭座標値で表現するアウトラインフォントを用いる文字処理装置であって、前記輪郭座標値を読み込む読込手段と、複数の補正情報について、その補正が有効な前記輪郭座標値の範囲を決定する決定手段と、前記有効範囲および前記補正情報に従い、前記輪郭座標値を補正する補正手段とを有し、前記決定手段は、前記輪郭座標値の描画順に前記補正情報の有効範囲を決定し、前記有効範囲を前記輪郭座標値ごとの前記補正情報の有効フラグの連続として表現することを特徴とする。
【0009】
本発明にかかる文字処理方法は、文字の字形を輪郭座標値で表現するアウトラインフォントを用いる文字処理装置のCPUが実行する文字処理方法であって、前記輪郭座標値を読み込み、複数の補正情報について、その補正が有効な前記輪郭座標値の範囲を決定し、前記有効範囲および前記補正情報に従い、前記輪郭座標値を補正し、前記補正情報の有効範囲は、前記輪郭座標値の描画順に決定し、前記輪郭座標値ごとの前記補正情報の有効フラグの連続として表現することを特徴とする。
【0048】
【実施例】
以下、本発明に係る一実施例について、図面を参照して詳細に説明する。
【0049】
<第1実施例>
図1は本実施例を適用する文字処理装置の基本構成を示すブロック図である。本文字処理装置は、ワードプロセッサあるいは電子タイプライタであっても良いし、インクジェットプリンタ、レーザビームプリンタ等のプリンタや、ワークステーションあるいはコンピュータシステムであってもよい。
【0050】
図1において、101は中央演算処理装置(CPU)であり、本文字処理装置全体の制御および演算処理等を行うものである。102は読みだし専用メモリ(ROM)であり、システム起動プログラムおよび文字パターンデータ等の記憶領域である。本実施例において後述する各フローチャートに示される処理もは制御プログラムとしてROM102に格納されており、CPU101によって実行される。103はランダムアクセスメモリ(RAM)であり、使用制限のないデータの記憶領域として、様々な処理を実行するために各々のプログラム(後述するフローチャートに係るプログラムを含む)およびデータがロードされる領域である。本実施例において使用される変数等は、RAM103上に確保される。
【0051】
また、104はキーボード制御部(KBC)であり、キーボード(KB)105よりキー入力データを受取り、CPU101へ伝達する。106はポインティングデバイス制御装置(PDC)であり、ポインティングデバイス(PD)107より座標データやボタン入力データ等を受取り、CPU101へ伝達する。108はディスプレイ制御部(CRTC)であり、後述のディスプレイ装置109に表示すべきデータを出力する。ディスプレイ装置(CRT)109は、例えばCRTのような表示装置を具備し、CRTC108よりデータを受取り、これを表示する。
【0052】
1011はフロッピーディスク装置(FD)あるいはハードディスク(HD)等の外部記憶装置(ディスク;DSK)であり、プログラムおよびデータを記憶させておき、実行時必要に応じて参照またはRAM103へロードする。1010はディスク制御部(DKC)であり、DSK1011との間でのデータ伝達等の制御を行う。1012はプリンタ制御部(PRTC)であり、プリンタ装置(PRT)1013を制御する。プリンタ装置(PRT)1013はPRTC1012からのデータを受取り、記録媒体への印刷を実行する。1014はシステムバスであり、上述の構成要素間のデータの通路となるべきものである。
【0053】
以上の構成からなる本実施例の文字処理装置においては、文字の字形を輪郭の座標で表すアウトラインフォントを用いる。以下、本実施例で用いるアウトラインフォントにおける輪郭座標値情報のデータ構造を図2に示す。
【0054】
図2に示す様に、本実施例の輪郭座標値情報は、総輪郭数、及び各輪郭の終了点番号を有する。また、輪郭における各制御点毎に、x座標,y座標値、及び該制御点が端点であるか、あるいは3次ベジェ曲線における中間点であるかを示す点属性データを有する。尚、本実施例においては、輪郭座標値は図3に示すような左下を原点とする2次元平面座標を用いるものとする。以降、図3に示す2次元平面座標において、X方向が水平方向、Y方向が垂直方向であるとする。
【0055】
ここで、図4に、本実施例における線幅補正の様子を示す。図4に示す501が水平方向における線幅であり、水平線幅と称する。また、502が垂直方向における線幅であり、垂直線幅と称する。これらを総称して、以降「線幅情報」とする。この線幅情報の補正は、図5に示す文字輪郭補正情報に基づいて行われる。この補正情報は、KB105やPD107等によって入力されたコマンドをCPU101において解釈し、RAM103上に展開されたものである。
【0056】
尚、本実施例において、線幅情報は予めROM102にその種類別に格納されている。以降これを「線幅情報テーブル」と称し、この例を図5に示す。本実施例では、水平線幅情報、垂直線幅情報の2種類の線幅情報テーブルを備え、図5に示す様に、文字輪郭補正情報データの先頭に水平線幅情報テーブルへのオフセット値、及び垂直線幅情報テーブルへのオフセット値を持つ。なお、各オフセット値で指定された水平および垂直線幅情報は、同じデータ構造であり、水平あるいは垂直線幅情報を持たない場合、該線幅情報テーブルへのオフセット値に「0」が代入される。
【0057】
図6に、上述した本実施例の線幅情報テーブルにおけるデータ構造を示す。水平線幅情報テーブルの先頭には水平線幅情報の数を示すHCOUNTが格納されており、同様に、垂直線幅情報テーブルの先頭には垂直線幅情報の数を示すVCOUNTが格納されている。以降、各線幅情報テーブルにはHCOUNTあるいはVCOUNTで示される数だけ、各線幅情報における下限座標値LO、上限座標値HI、その線幅を構成する制御点の最少座標値および最大座標値情報LMIN,LMAX,HMIN,HMAXが格納されている。
【0058】
以上説明した様に、図5に示す文字輪郭補正情報に従って、本実施例ではアウトラインフォントの線幅が補正される。
【0059】
ここで、図7を参照して、図6で示した線幅情報テーブルに含まれる各変数について更に説明する。尚、図7において示される各座標値は、図中網掛けで示す水平方向の線幅に対するものである。即ち、該線幅に対して、点703は線幅方向(垂直方向;Y方向)において下限座標値LO、また、線幅の下限を構成する制御点の線幅長さ方向(水平方向;X方向)における最小座標値LMINとなるため、座標(y, x)=(LO, LMIN)となる。同様に、点704は(LO, LMAX)、点705は(HI, HMIN)、点706は(HI, HMAX)と表される。
【0060】
本実施例においては、上述した様に文字輪郭補正情報に従って線幅情報が補正されるが、この時、複数の文字輪郭補正情報によって同一輪郭に対して複数の線幅補正が施されることを避けるために、補正対象となる輪郭の有効範囲を決定することを特徴とする。
【0061】
以降、本実施例において文字輪郭座標値の補正情報の有効範囲を決定するアルゴリズムについて、詳細に説明する。
【0062】
本実施例では、前述の輪郭座標値情報、及び文字輪郭線補正情報(線幅情報テーブル)を入力として、各補正情報が有効となる輪郭座標値の範囲を決定し、該有効範囲を図8に示す様なデータ配列として例えばRAM103の所定領域に出力する。以降、線幅を補正する文字輪郭補正情報を、単に「線幅情報」と称する。
【0063】
図8は、本実施例において決定された線幅情報の有効範囲を示す情報であり、図2に示す輪郭座標値情報におけるn個の各制御点(座標値,点属性情報を含む)について、図6で示した水平,垂直の各線幅情報毎に、該線幅が有効であるか否かを示すフラグをたてることによって、線幅情報の各輪郭座標値に対する有効範囲情報がフラグ配列として得られる。
【0064】
本実施例では、輪郭座標値情報を順次読み込み、描画する段階で、対応する線幅情報をその都度検出していく。ここで、対応する線幅情報とは、描画の際に連続する2つの輪郭座標値の2次元ベクトルが、ある線幅情報の下限の最小座標値LMINと下限の最大座標値LMAXとを結ぶ線分の一部、あるいは全てを構成するか、又は、上限の最小座標値HMINと上限の最大座標値HMAXを結ぶ線分の一部、あるいは全てを構成するか、のいずれかの条件を満たす線幅情報である。
【0065】
本実施例において出力される、図8に示した線幅情報の有効範囲としては、例えば連続する2つの輪郭座標値の始点P(1)と終点P(2)からなる線分について上記対応する線幅情報を検出したら、その結果を始点P(1)に対する線幅情報として、始点P(1)の線幅情報フラグに反映させる。これは、始点P(1)をプロットする前に、対応する線幅情報を描画処理に伝達するためである。
【0066】
また、始点P(1)が輪郭の開始点である場合、始点P(1)はその輪郭の最終点P(L)と連続している。そこで、2点P(1),P(L)からなる線分に対応する線幅情報を開始点P(1)の線幅情報フラグに反映するため、フラグ操作などにより輪郭の「開始点処理」を行うようにする。同様に、2点P(1),P(2)からなる線分に対応する線幅情報を最終点P(L)の線幅情報フラグに反映するため、フラグ操作などにより輪郭の「最終点処理」を行うようにする。
【0067】
以下、本実施例における文字輪郭座標値の補正情報の有効範囲を決定するアルゴリズムについて、図9及び図10のフローチャートを参照して説明する。尚、図9及び図10に示すアルゴリズムは、1文字単位の描画処理の流れを示すものである。
【0068】
まず、図9のステップS901において初期設定として、描画処理中のある時点において有効な線幅情報を示す作業用のフラグ配列ADJUSTを、全てオフにセットする。これにより、全ての線幅情報が未使用(無効)であると示される。尚、フラグ配列ADJUSTは1次元配列であり、RAM103上に確保され、
HCOUNT+VCOUNT個のフラグを有する。例えば図8に示す例においては、7個のフラグを有している。また、輪郭の開始点処理及び終了点処理を行うために、輪郭の開始点及び最終点について座標データを読み込まずにベクトル計算を行うことを示すLSフラグをオンにセットする。
【0069】
次にステップS902において、1文字分の輪郭座標値情報が終了したか否かを判定し、終了していなければステップS903へ進み、終了していれば処理を終了する。ステップS903においては、現在処理中(CURRENT)の制御点が輪郭の最終点であるか否か、即ち、輪郭の最終点処理を行うか否かを判定する。そして、最終点でなければステップS904へ進む。
【0070】
ステップS904では、ポインタが示す1つの制御点分の輪郭座標値情報を読み込み、変数CURRENTへ格納する。続いてステップS905に進み、CURRENTの制御点が輪郭の開始点であるか否か、即ち、輪郭の開始点処理を行うか否かを判定する。開始点であればステップS906へ進み、そうでなければステップS912へ進む。
【0071】
本実施例の開始点処理においては、該開始点についてステップS906以降の2経路を実行する。ステップS906においてLSフラグがオフであれば、ステップS907ではLSフラグをオンとし、続いてステップS908において、変数CURRENTを次の輪郭座標値とのベクトル計算の始点を示す変数BEGINに格納する。更に、該輪郭の最終点処理のために、開始点の座標値である変数CURRENTを、輪郭の終了点を示す輪郭座標値とのベクトル計算のための一時格納変数TMPに保持する。そしてステップS909に進み、輪郭座標値情報から次の座標値を読み込むためにポインタを更新し、ステップS904に戻って次の制御点における輪郭座標値情報を読み込む。即ち、開始点と2番目の点におけるベクトル計算を可能とする。
【0072】
一方、ステップS906においてLSフラグがオンであれば、該輪郭の開始転処理のために、最終点と開始点による線分について対応する線幅情報を検出する。まずステップS910でLSフラグをオフに設定する。次にステップS911において該輪郭の最終点を読み込み、変数BEGINに格納する。即ち、開始点処理の準備を行う。そしてステップS912に進み、変数CURRENTをベクトル計算の終点を示す変数ENDに格納し、ステップS918に進む。即ち、開始点と最終点とにおけるベクトル計算を可能とする。
【0073】
このように開始点処理の際にステップS906によって分岐される2経路の処理によって、開始点について2番目の点とのベクトル及び最終点とのベクトルを共に考慮して線幅を検出し、該結果を後述する様に合成することができる。即ち、本実施例の開始点処理が実現される。
【0074】
一方、ステップS903において当該制御点が輪郭の最終点であればステップS913に進む。本実施例の最終点処理においては、該最終点についてステップS913以降の2経路を実行する。ステップS913でLSフラグがオンであればステップS914へ進んでLSフラグをオフとし、ステップS915において、輪郭の開始点を保持している変数TMPをベクトル計算の終点を示す変数ENDに格納し、ステップS918に進む。即ち、開始点と最終点とのベクトル計算を可能とする。
【0075】
一方、ステップS913でLSフラグがオフであればステップS916へ進み、LSフラグをオンに設定する。そして、ステップS907において、その輪郭の開始点をBEGINに、2番目の点をENDに格納し、ステップS918に進む。即ち、開始点と2番目の点とのベクトル計算を可能とする。
【0076】
このように最終点処理の際にステップS913によって分岐される2経路の処理によって、最終点について開始点とのベクトル、及び開始点と2番目の点とのベクトルを共に考慮して線幅を検出し、該結果を後述する様に合成することができる。即ち、本実施例の最終点処理が実現される。
【0077】
ステップS918においては、以上のようにしてセットされた変数BEGINとENDの2点を結ぶ直線のベクトル計算を、以下の式に基づいて行う。
【0078】
VECTOR(X,Y)=END(X,Y)−BEGIN(X,Y)
ステップS918におけるベクトル計算の終了後、処理は図10に示すステップS919に進む。ステップS919においては、ステップS918で求めたVECTOR(X,Y)が水平または垂直であるか否かを判定し、該当しなければステップS920へ進む。ステップS920においては、変数CURRENTが輪郭の開始点または最終点であるか否かを判定し、開始点または最終点でああればステップS921へ進み、それ以外であればステップS924へ進む。
【0079】
ステップS921においてはLSフラグを判定し、オフであればステップS922へ進み、有効範囲の検出結果を示すフラグ配列RESを、輪郭の開始点処理及び最終点処理のために用意された一時格納フラグ配列に格納しておく。尚、一時格納フラグ配列もADJUSTと同じサイズである。そして、処理は図9に示すステップS902に戻る。即ち、開始点処理及び最終点処理を実行するために、CURRENTの座標値について再度処理を繰り返す。
【0080】
一方、ステップS921でLSフラグがオンであればステップS923へ進み、開始点処理又は最終点処理を実行する。即ち、一時格納フラグ配列とフラグ配列RESとの論理和(OR)を取り、その結果を輪郭の開始点に対応する線幅情報のフラグとしてRESに代入して、ステップS924に進む。
【0081】
ステップS924においては、検出された線幅情報RESが有効であることを示すために、フラグ配列ADJUSTとRESとの論理和(OR)を取り、フラグ配列ADJUSTに代入する。そしてステップS925において、読み込んだ座標値CURRENT、及び図8に示す該座標値CURRENTに対応する有効範囲情報としてフラグ配列ADJUSTを出力し、ステップS926において輪郭の開始点のための一時格納フラグをすべてオフにセットする。そしてステップS927に進み、変数ENDを次のベクトル計算の始点にするため、変数BEGINに代入し、次いでステップS928において、輪郭座標値情報から次の座標値を読み込むために、ポインタを更新する。そして、図9に示すステップS902に戻る。
【0082】
一方、ステップS919において、ステップS918で求めたVECTOR(X,Y)が水平または垂直であると判定されると、処理はステップS929に進む。ステップS929においては、対応する線幅情報を検出するために、該当する線幅情報テーブルの先頭へポインタを移動する。そしてステップS930において、ポインタによって指定された線幅情報テーブルから、変数CURRENTに対応する線幅情報を1つ検出する。そして、その検出結果はADJUSTと同じサイズの配列RESに出力され、即ち、配列RESにおいては検出された線幅情報のフラグのみがオンとなる。もちろん、何も検出されない場合には配列RES中のフラグはすべてオフである。このように、対応する線幅情報が検出された場合はステップS931へ進み、検出されなかった場合はステップS920へ進む。尚、ステップS930における線幅情報検出処理の詳細については後述する。
【0083】
ステップS931においては、ステップS930によって検出された線幅情報RESに基づいて、該輪郭補正値において各補正情報の有効範囲が終了するか否かを判定し、終了するならステップS932へ進み、終了しないならステップS920へ進む。尚、ステップS931における有効範囲終了判定処理の詳細については後述する。そして、ステップS932においては、ステップS931によって有効範囲が終了すると判定されたため、フラグ配列ADJUSTの各フラグをすべてオフにセットし、ステップS920へ進む。
【0084】
以下、上述した図10においてステップS930で示した線幅情報検出処理について、図11のフローチャートを参照して詳細に説明する。
【0085】
本実施例の線幅情報検出処理とは即ち、線幅情報テーブルから変数CURRENTによって示される制御点に対応する線幅情報を検出する処理を示す。
【0086】
まず図11のステップS1001において、対応する線幅情報テーブルに含まれる線幅情報の数NUMLINE,線幅情報テーブルのアドレス情報,また、読み込まれたCURRENTの輪郭座標値から、線幅の高さ方向の下限及びまたは上限座標値と比較するための座標値HL、及び線幅の長さ方向における最小または最大座標値と比較するための座標値MMとが設定される。
【0087】
例えば、水平線幅情報テーブルについて対応する線幅情報を検出する場合には、ステップS1001においては線幅の数HCOUNTがNUMLINEへ代入され、ポインタが水平線幅情報テーブルの1個目の線幅情報のアドレスに設定される。更に、HLにはCURRENTのY座標値が代入され、MMにはCURRENTのX座標値が代入される。
【0088】
一方、垂直線幅情報テーブルについて対応する線幅情報を検出する場合には、線幅の数VCOUNTがNUMLINEへ代入され、ポインタが垂直線幅情報テーブルの1個目の線幅情報のアドレスに設定される。更に、HLにはCURRENTのX座標値が代入され、MMにはCURRENTのY座標値が代入される。
【0089】
そして次にステップS1002において、ポインタの指す線幅情報テーブルのNUMLINE個全ての線幅情報について、検出判定が終了したか否かを判定する。全て終了していれば、線幅情報テーブルにはCURRENTの描画に対応する線幅情報は保持されていないと判定して、図10に示すステップS920へ戻る。
【0090】
一方、ステップS1002において未処理の線幅情報が存在していれば、ステップS1003へ進む。ステップS1003においては、当該線幅情報の下限座標値LOが、ステップS1001で設定した比較値HLに等しいか否か判定し、等しければステップS1005へ進み、等しくなければステップS1004へ進む。
【0091】
ステップS1004においては、当該線幅情報の上限座標値HIがHLに等しいか否かを判定し、等しければステップS1006へ進んで、S1001で設定した比較値MMが当該線幅情報の上限の最小座標値HMIN以上、かつ最大座標値HMAX以下であるか否かを判定する。そして、条件を満たせば本処理を抜けて図10に示したステップS931へ進み、満たさなければステップS1007へ進む。
【0092】
一方、ステップS1004において当該線幅情報の上限HIがHLに等しくないと判定されるとステップS1007へ進み、当該線幅情報は描画と対応していないため、線幅情報テーブル内の次の線幅情報を獲得するためにポインタを更新し、ステップS1002へ戻る。
【0093】
一方、ステップS1003において当該線幅情報の下限LOがHLと等しい場合、処理はステップS1005に進み、ステップS1001で設定した比較値MMが当該線幅情報の下限の最小座標値LMIN以上、かつ最大座標値LMAX以下であるか否かを判定する。そして、この条件を満たせば、ステップS931へ抜けるが、満たさない場合にはステップS1004に進む。
【0094】
即ち、ステップS931へ抜ける場合は、CURRENTの描画に対応する線幅情報が線幅情報テーブルに保持されていると判断された場合である。
【0095】
次に、上述した図10に示すステップS931の有効範囲終了判定処理のアルゴリズムについて、図12のフローチャートを参照して詳細に説明する。
【0096】
本実施例の有効範囲終了判定処理においては、ステップS930で検出されたCURRENTの線幅情報が、現時点において有効とされている線幅情報と重複した場合に、有効範囲終了とみなすことを特徴とする。
【0097】
まず図12のステップS1101においては、上述した図9のステップS930によって検出されたCURRENTの線幅情報が水平線幅情報ならばステップS1102へ進み、垂直線幅情報ならばステップS1103へ進む。そしてステップS1102にでは、現時点における有効な線幅情報を示すフラグ配列ADJUSTの水平線幅情報フラグの先頭にポインタを移動し、以降のステップにおいて水平線幅の数HCOUNTをループカウンタの最大値に設定する。一方、ステップS1103においては、フラグ配列ADJUSTの垂直線幅情報フラグの先頭にポインタを移動し、以降のステップにおいて垂直線幅の数VCOUNTをループカウンタの最大値に設定する。
【0098】
ステップS1102,1103の終了後は共にステップS1104に進み、フラグ配列ADJUSTの全ての水平線幅情報あるいは垂直線幅情報について、CURRENTの線幅情報との重複判定が終了しているか否かを判定し、終了していれば有効範囲を終了しないこととし、図10のステップS920に戻る。一方、重複判定が終了していなければステップS1105へ進む。
【0099】
ステップS1105においては、フラグ配列ADJUST中の重複判定をしようとする線幅情報のフラグがオンであるか否かを判定し、オンであればステップS1106へ進み、オフであれば重複判定する必要がないとしてステップS1107へ進む。
【0100】
ステップS1106においては、CURRENTの線幅情報とポインタの指す線幅情報との重複判定を行う。尚、この重複判定処理の詳細については後述する。ステップS1106においてCURRENTの線幅情報とポインタの指す線幅情報とが重複すると判定されると、有効範囲を終了するとして図10に示すステップS932へ進み、重複しないと判定されると、ステップS1107へ進む。
【0101】
ステップS1107においては、CURRENTの線幅情報と線幅情報テーブルに格納されている次の線幅情報との重複判定を行うために、線幅情報テーブルにおけるポインタを更新する。
【0102】
以上説明した様に、CURRENTの線幅情報が、既に検出された線幅情報を示すフラグ配列ADJUSTと重複していると判断されるとステップS932へ、重複が無いと判断されるとステップS920へ戻る。
【0103】
次に、上述した図12のステップS1106に示す重複判定処理について、図13のフローチャートを参照して詳細に説明する。
【0104】
まずステップS1201において、重複判定しようとしている2つの線幅情報が同一であるか否かを判定する。同一であれば重複はしていないと判断して図12のステップS1107へ進み、同一でなければステップS1202へ進む。
【0105】
ステップS1202においては、CURRENTの線幅情報の上限座標値HIcと下限座標値LOcとの差分(距離)を求め、この距離をDIST1に代入する。また同時に、線幅情報テーブルにおいてポインタによって示される線幅情報の上限座標値HItと下限座標値LOtとの差分(距離)を求め、この距離をDIST2に代入する。そして更に、CURRENTの線幅情報の上限HIc、下限LOc、及びポインタによって指定された線幅情報の上限HIt、下限LOtの4つの値の最大値及び最小値を求め、その差を最大距離MAXDISTに代入する。そしてステップS1203において、MAXDISTがDIST1とDIST2の和よりも大きいか否かを判定し、大きければ2つの線幅情報は重複しないと判断し、図12のステップS1107へ進む。一方、大きくなければ2つの線幅情報は重複していると判断し、図11のステップS932へ進む。
【0106】
即ち、本実施例においては、描画時に新たに有効になった線幅情報(CURRENTに対応する線幅情報)について、その下限座標値LOと上限座標値HIとで示される範囲と重複する領域を持つ線幅情報が同方向の線幅情報テーブル中に存在し、かつ、該重複した領域を持つ線幅情報がCURRENTの線幅情報検出時点で有効な線幅情報(ADJUST)として認識されている場合に、(ステップS932で)現時点で有効な線幅情報(ADJUST)を全て無効とすることにより、CURRENTに対応するの線幅情報のみが、以降の描画に対して有効となる。
【0107】
以上説明した処理により、CURRENTの描画に対応して、各線幅情報が有効となる輪郭座標値の範囲が決定される。
【0108】
即ち本実施例においては、描画のために一度検出した線幅情報(CURRENTにおける線幅情報)は、以降の描画においても有効な線幅情報であるとして(ADJUSTに)認識され、その線幅情報を無効にする条件(ステップS931)に当てはまるまで、該線幅情報は有効であると認識される。従って、線幅情報フラグ配列におけるオンの連続により、補正情報の有効範囲が決定される。
【0109】
以上説明したように本実施例によれば、上述した処理を全ての輪郭座標値情報に対して行うことにより、描画過程における線幅情報が有効となる範囲を決定することができる。従って、同時に実行されるべきでない輪郭座標値補正情報を分割して適用することが可能となり、高品位な文字出力が実現される。
【0110】
また、描画される輪郭点順に補正情報有効範囲を判定することができるため、実際に該有効範囲を参照する際のポインタ操作等が単純となり、最低限の負荷で補正情報が有効か否かを判定可能となる。
【0111】
<第2実施例>
以下、本発明に係る第2実施例について説明する。
【0112】
尚、第2実施例における装置構成は上述した第1実施例と同様であり、また、第2実施例において特に説明しない構成及び処理については、上述した第1実施例と同様であるとする。
【0113】
上述した第1実施例においては、図8に示すような配列形式で座標点描画時の有効な線幅情報をフラグのオン/オフによって明確にすることにより、描画過程における線幅情報の有効範囲を決定する例について説明した。
【0114】
第2実施例においては、上述した第1実施例によって出力された図8に示す配列に基づいて、各線幅情報毎に、その有効範囲の輪郭座標値情報における始点および終点を導出し、新たに出力することを特徴とする。以下、第2実施例における有効範囲決定のアルゴリズムについて、図14及び図15を参照して説明する。
【0115】
図14に、第2実施例において各線幅情報の有効範囲を示す出力の形式を示す。この出力形式において、まず先頭に水平線幅情報テーブルおよび垂直線幅情報テーブルへのオフセット値が格納される。ここで、線幅情報を持たない場合には「0」が格納される。続いて、各線幅情報テーブルについて、線幅情報の数分だけ有効範囲情報を保持する。ここで、上述した第1実施例で図8に示した出力配列は、水平線幅情報、垂直線幅情報の順に格納されているので、第2実施例においては該出力配列から水平/垂直の区別なしに、まとめて有効範囲の始点及び終点の導出処理を行えば、自動的に水平線幅情報と垂直線幅情報とが図14に示す順番で格納されることになる。尚、この有効範囲の情報長は可変であり、そのデータ構造は図示する通りである。即ち、有効範囲情報として、まず有効範囲の数nrangeが保持され、続いてnrange組みの開始点番号及び終了点番号の情報が保持される。
【0116】
図15に、第2実施例における有効範囲決定処理のフローチャートを示す。
【0117】
まずステップS1401において、描画過程における有効な線幅情報を示すフラグ配列ADJUSTの各要素のフラグを「0」に初期設定する。また、輪郭座標値情報における制御点番号を示すループカウンタi、及びフラグ配列ADJUSTにおける要素数を示すループカウンタjを共に「1」に初期化する。更に、有効範囲の変化数を示す変数countを「0」に初期化する。
【0118】
続いてステップS1402において、iが輪郭座標値情報における全制御点の数nを越えたか否か、即ち、全ての制御点について処理が終了したか否かを判定し、終了していればステップS1415へ進み、全ての線幅情報について有効範囲情報が導出されたとしてそのサイズを求め、各線幅情報テーブルにおけるオフセット値計算を行う。
【0119】
一方、ステップS1402において未終了であると判定されるとステップS1403へ進み、jがHCOUNTとVCOUNTの和を越えたか否か、即ち、フラグ配列ADJUSTの全ての要素(全線幅情報)について処理が終了したか否かを判定する。ここで、未終了であればステップS1404へ進む。
【0120】
ステップS1404においては、j番目の線幅情報ADJUST[j]と、上述した第1実施例において出力した、図8に示す配列の中で制御点番号iにおける有効な線幅情報を示す線幅情報フラグ配列部分(以降STATUSと称する)のj番目の要素(STATUS[i][j])との差が「0」であるか否かを判定し、「0」であればステップS1408へ進み、「0」でなければ有効範囲の開始または終了を示すと判断して、ステップS1045へ進む。
【0121】
ステップS1405においては、現在注目している制御点番号iを有効範囲の始点または終点であると判断し、一時格納用バッファ配列に格納する。そしてステップS1406に進み、線幅情報ADJUST[j]における有効/無効の状態を変更するために、STATUS[i][j]の内容をADJUST[j]へ代入する。続いてステップS1407において、有効範囲の変化数countを1増加させる。そしてステップS1408に進み、ループカウンタjを1増加させた後、ステップS1403に戻り、次の線幅情報についての処理を行う。
【0122】
一方、ステップS1403においてフラグ配列ADJUSTの全ての要素について処理が終了したと判断されると、処理はステップS1409へ進む。ステップS1409においては、変化数countが奇数であるか否かを判定し、奇数であればステップS1410へ進み、偶数であればステップS1412へ進む。
【0123】
ステップS1410においては、描画終了時にその線幅情報が有効であるので、最終輪郭制御点番号nを有効範囲の終了点として一時格納用バッファ配列に格納する。そしてステップS1411において、有効範囲の変化数countを1増加させる。
【0124】
次にステップS1412に進み、有効範囲の変化数countについて2で除算した数が有効範囲の数になるので、count/2の値をnrangeに代入する。そして、ステップS1413において、nrange及び一時格納用バッファ配列に格納した各線幅情報の有効範囲情報を出力する。そしてステップS1414において、ループカウンタiを1増加させ、ステップS1402に戻って次の制御点についての処理を行う。
【0125】
以上説明した様にして、図14に示す形式での出力が得られる。
【0126】
以上説明した様に第2実施例によれば、各線幅情報の有効範囲を各線幅情報毎に輪郭制御点番号にて保持することにより、描画過程における線幅情報の有効範囲を示すことが可能になる。従って、上述した第1実施例において出力した配列よりも低容量の出力で、第1実施例と同等の高品位な文字出力を行うことが可能になる。
【0127】
<第3実施例>
以下、本発明に係る第3実施例について説明する。
【0128】
第3実施例においては、本発明を社団法人日本事務機械工業会発行「文書記述・フォントJIS原案作成委員会・技術セミナー/文書関連JIS企画説明会資料」(1994年3月10日)に記載のJISX4163原案「第3部グリフ形状表現」にて規定されている規格(以降本願ではX4163と呼ぶことにする)への応用例を示す。ここでは、該規格(X4163)の詳細な説明は割愛する。上述した第1実施例及び第2で示した線幅情報は、即ちX4163におけるヒント域に対応する。同様に、水平線幅情報がX4163のhstem、垂直線幅情報がX4163のvstemに対応している。第3実施例では、vstem及びhstemの2情報を、説明の簡便化および明確化のため、まとめてSTEMとして取り扱う。
【0129】
また、上述した第1実施例における有効範囲の終了条件は、X4163における重複ヒント域の置き換え条件に等しい。更に、X4163において一度宣言されたヒント域に関する命令は重複ヒント域の置き換え命令の直前まで有効であるので、第1実施例における有効範囲が適用できる。
【0130】
図16に、X4163における描画命令の定義の一部を示す。各命令の機能の詳細については省略するが、X4163の一般的な描画命令は、基準点および送りを宣言する命令xrpeに始まり、文字描画の終了を宣言する命令endglyphで終る。その間に輪郭座標値情報がもつ輪郭が描画される。また、各輪郭描画はhmoveto、vmovetoあるいはrmovetoの輪郭の開始点への移動命令で始まり、輪郭の終了命令closepathで終わる。
【0131】
以上の一連の描画命令の際、前述のヒント域置き換え条件に合致した場合、x4163における重複ヒント域の置き換え命令が発効される。本実施例では簡便化および明確化のため、X4163におけるこの機能をCHANGEという命令で表すとする。
【0132】
また、同様に移動命令(hmoveto,vmoveto,rmoveto)をまとめてMOVETO、直線描画(hlineto,vlineto,rlineto)をまとめてLINETO、曲線描画(hvcurveto,vhcurveto,rrcurveto)をまとめてCURVETOとして扱うとする。
【0133】
図17〜図19に、第3実施例における有効範囲出力処理のフローチャートを示す。第3実施例においては、上述した図2に示す輪郭座標値情報、図4に示す線幅情報テーブル、図8に示す形式で出力された配列情報、及び初期基準点RP,文字送り量WID等のメトリクス情報を用いて、処理を行う。
【0134】
まず図17におけるステップS1601で初期設定として、描画中有効な線幅情報を示すフラグ配列HINT、及び読み込んだ点に対する有効な線幅情報を格納するためのフラグ配列ADJUSTをすべてオフに設定する。また、端点から端点までの1描画の間に読み込んだ制御点の数(制御点番号)を示す値NPを「1」とする。次にステップS1602において、初期基準点RPおよび文字送り量WIDを読み込み、ステップS1603でX4163におけるxrpe命令を出力する。そしてステップS1604において、X4163における移動量計算のため、現在点を表す変数CPに初期基準点RPの座標値を代入し、ステップS1605に進む。
【0135】
以降、ステップS1605〜ステップS1612までの処理は、座標点および線幅情報入力のための処理である。
【0136】
まずステップS1605において、1文字分の処理が終了したかどうかを判断し、終了していればステップS1606へ進み、文字描画の終了を宣言する命令endglyphを出力して第3実施例の処理を終了する。一方、ステップS1605において1文字分の処理が終了していなければステップS1607へ進む。ステップS1607において、輪郭の終了点まで読み込んだか否かを判定し、読み込んでいなければステップS1608へ進む。ステップS1608においては、第1実施例によって出力された図8に示す配列から制御点番号NPに対応する座標値情報を読み込み、P(NP)に格納する。そしてステップS1609において、図8に示す配列から制御点番号NPに対応する線幅情報のフラグ配列を読み込む。そして読み込んだフラグ配列と配列ADJUSTとのORをとり、その結果を新たにフラグ配列ADJUSTに格納する。これにより、フラグ配列ADJUSTが、次の描画命令を出力する前に出力すべき線幅情報を示すフラグ配列となる。
【0137】
続いてステップS1610において、P(NP)が端点であるか否かを判定し、端点であれば図18のステップS1613へ進み、端点でない、即ち中間点ならばステップS1611へ進み、NPを1増加させる。
【0138】
一方、ステップS1607で輪郭終了であればステップS1612に進み、輪郭の開始点を読み込んでP(NP)とする。尚、輪郭の開始点は必ず端点である。
【0139】
以降、図18に示すステップS1613からステップS1620までは、第3実施例における線幅情報の有効範囲決定のための処理である。
【0140】
ステップS1613において、2つのフラグ配列HINT及びADJUSTの各要素について、対応する線幅を示す各要素(HCOUNT+VCOUNT)個分について、配列HINTから配列ADJUSTを減じる。そしてステップS1614において、ステップS1613での減算結果(HINT−ADJUST)が正になったもの(ADJUSTの要素値がオフに変化したもの)が1つでもあれば、有効範囲が終了したと判断してステップS1615へ進む。ステップS1615では、有効範囲が終了したのでX4163におけるヒント域の置き換えを行うために、CHANGE命令を出力する。そしてステップS1616において、ヒント域置き換え後の有効な線幅情報として、ADJUSTをHINTに代入する。次にステップS1617で、HINTにより有効であると示された線幅情報について、X4163におけるヒント域定義命令STEMを出力する。
【0141】
一方、ステップS1614において差が正になったものが1つもなければ、ヒント域置き換えの必要がないとしてステップS1618へ進み、同様にステップS1613における減算結果が負になったもの(ADJUSTの要素値がオンに変化したもの)が1つでもあるかを判定する。差が負となるものが1つでもあれば、新たにヒント域を定義する要素があると判断してステップS1619へ進み、1つもなければ図19に示すステップS1621へ進む。ステップS1619においては、ステップS1613における減算結果が負となった線幅情報について、X4163におけるヒント域定義命令STEMを出力する。そしてステップS1620において、HINTとADJUSTのORをとり、その結果を現在有効な線幅情報を示すフラグ配列としてHINTに代入する。
【0142】
以降、図19に示すステップS1621からステップS1628までは、第3実施例における命令出力のための処理である。
【0143】
ステップS1621において最後に読み込んだ制御点が輪郭の開始点である場合はステップS1622へ進み、そうでなければステップS1623へ進む。ステップS1622においては、最後に読み込んだ制御点P(NP)と現在点CPから移動量を計算してX4163における移動命令MOVETOを出力し、ステップS1629に進む。
【0144】
ステップS1623では、曲線命令を出力するか否かを判定する。端点間に中間点が含まれていれば、曲線命令を出力するとしてステップS1624へ進み、現在点CPと、読み込まれた制御点P(NP)までのNP個の制御点により、X4163における曲線命令CURVETOを出力し、ステップS1627へ進む。
【0145】
曲線命令を出力しない場合にはステップS1625へ進み、直線命令を出力するか否かを判定する。ここで、輪郭の終了点から開始点への直線描画を行う際には直線命令を出力せずにステップS1627へ進む。また、それ以外の場合にステップS1626へ進み、現在点CPと最初に読み込まれた点P(1)により、X4163における直線命令LINETOを出力してステップS1627へ進む。
【0146】
ステップS1627では、すでに輪郭の最終制御点まで読み込んだか否かを判定し、読み込んでいればステップS1628へ進み、読み込んでいなければステップS1629へ進む。ステップS1628では、X4163における輪郭の終了を示す命令closepathを出力する。、
以降、ステップS1629からステップS1631までは、第3実施例における次の命令出力のための初期化処理である。
【0147】
まずステップS1629において、フラグ配列ADJUSTの要素をすべてオフに設定し、次にステップS1630において、最後に読み込んだ制御点の座標値を現在点CPに代入する。そして、ステップS1631において、NPを「1」に設定し、処理は図17のステップS1605に戻る。
【0148】
以上説明した様に第3実施例によれば、描画過程および線幅情報の有効範囲をX4168の命令形式にて示すことができる。従って、同時に適用すべきでない輪郭座標値補正情報を分割するように有効範囲を決定してX4163に応用することにより、高品位な文字出力が可能になる。
【0149】
尚、以上説明した第3実施例に対して、上述した第2実施例で示した補正情報有効範囲出力を適用することも、もちろん可能である。
【0150】
尚、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器から成る装置に適用しても良い。また、本発明はシステム或は装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、本発明に係るプログラムを格納した記憶媒体が、本発明を構成することになる。そして、該記憶媒体からそのプログラムをシステムあるいは装置に読みだすことによって、そのシステム或いは装置が、あらかじめ定められたし方で動作する。
【発明の効果】
以上説明した様に本発明によれば、輪郭座標補正情報についてその補正情報を適用する有効範囲を決定し、該有効範囲に従って補正を行うことにより、同時に実行されるべきでない複数の高品位化処理機能が同時に機能しないように制御することができ、補正後の文字の字形を高品位に保つことが可能となる。
【0151】
また、輪郭座標の有効な補正情報をより少ないデータ量で出力することが可能となるため、メモリ効率を向上させることが可能となる。
【0152】
【図面の簡単な説明】
【図1】本発明に係る一実施例における文字処理装置の概略構成を説明す図である。
【図2】本実施例における輪郭座標点情報のデータ構造を示す図である。
【図3】本実施例の2次元平面における左下座標について説明するための図である。
【図4】本実施例における線幅補正の様子を示す図である。
【図5】本実施例における補正情報のデータ構造を示す図である。
【図6】本実施例における線幅情報テーブルのデータ構造を示す図である。
【図7】本実施例における線幅情報が保持する変数を説明するための図である。
【図8】本実施例における有効範囲の出力形式を示す図である。
【図9】本実施例における有効範囲決定処理を示すフローチャートである。
【図10】本実施例における有効範囲決定処理を示すフローチャートである。
【図11】本実施例における線幅検出処理を示すフローチャートである。
【図12】本実施例における有効範囲終了確認処理を示すフローチャートである。
【図13】本実施例における重複判定処理を示すフローチャートである。
【図14】本発明に係る第2実施例における有効範囲の出力形式を示す図である。
【図15】第2実施例における有効範囲出力処理を示すフローチャートである。
【図16】本発明に係る第3実施例においてJISX4163の代表的な命令を示す図である。
【図17】第3実施例における有効範囲出力処理を示すフローチャートである。
【図18】第3実施例における有効範囲出力処理を示すフローチャートである。
【図19】第3実施例における有効範囲出力処理を示すフローチャートである。
【符号の説明】
101 CPU(中央演算ユニット)
102 ROM
103 RAM
105 KB(キーボード)
107 PD(ポインティングデバイス)
109 CRT
1011 外部記憶装置(FD,HD)
1013 PRT
Claims (14)
- 文字の字形を輪郭座標値で表現するアウトラインフォントを用いる文字処理装置であって、
前記輪郭座標値を読み込む読込手段と、
複数の補正情報について、その補正が有効な前記輪郭座標値の範囲を決定する決定手段と、
前記有効範囲および前記補正情報に従い、前記輪郭座標値を補正する補正手段とを有し、
前記決定手段は、前記輪郭座標値の描画順に前記補正情報の有効範囲を決定し、前記有効範囲を前記輪郭座標値ごとの前記補正情報の有効フラグの連続として表現することを特徴とする文字処理装置。 - 前記決定手段は、前記輪郭座標値の描画順に前記補正情報の有効範囲の終了を判断することで、前記有効範囲を決定することを特徴とする請求項1に記載された文字処理装置。
- 前記決定手段は、前記輪郭座標値に対応する前記補正情報の重複に基づき、前記有効範囲を決定することを特徴とする請求項1に記載された文字処理装置。
- さらに、前記決定手段が決定した前記有効範囲を出力する有効範囲出力手段を有し、
前記補正手段は、前記有効範囲出力手段が出力する前記有効範囲、および、前記補正情報に従い、前記輪郭座標値を補正することを特徴とする請求項1から請求項3の何れかに記載された文字処理装置。 - 前記有効範囲出力手段は、前記有効範囲を前記輪郭座標値ごとの配列形式で出力することを特徴とする請求項4に記載された文字処理装置。
- 前記有効範囲出力手段は、前記有効範囲を前記補正情報ごとの配列形式で出力することを特徴とする請求項4に記載された文字処理装置。
- 前記有効範囲出力手段は、前記有効範囲を描画命令形式で出力することを特徴とする請求項4に記載された文字処理装置。
- 文字の字形を輪郭座標値で表現するアウトラインフォントを用いる文字処理装置の CPU が実行する文字処理方法であって、
前記輪郭座標値を読み込み、
複数の補正情報について、その補正が有効な前記輪郭座標値の範囲を決定し、
前記有効範囲および前記補正情報に従い、前記輪郭座標値を補正し、
前記補正情報の有効範囲は、前記輪郭座標値の描画順に決定し、前記輪郭座標値ごとの前記補正情報の有効フラグの連続として表現することを特徴とする文字処理方法。 - 前記輪郭座標値の描画順に前記補正情報の有効範囲の終了を判断することで、前記有効範囲を決定することを特徴とする請求項8に記載された文字処理方法。
- 前記輪郭座標値に対応する前記補正情報の重複に基づき、前記有効範囲を決定することを特徴とする請求項8に記載された文字処理方法。
- さらに、前記決定した有効範囲をメモリに出力し、
出力される有効範囲および前記補正情報に従い、前記輪郭座標値を補正することを特徴とする請求項8から請求項10の何れかに記載された文字処理方法。 - 前記有効範囲は、前記輪郭座標値ごとの配列形式で出力されることを特徴とする請求項11に記載された文字処理方法。
- 前記有効範囲は、前記補正情報ごとの配列形式で出力されることを特徴とする請求項11に記載された文字処理方法。
- 前記有効範囲は描画命令形式で出力されることを特徴とする請求項11に記載された文字処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16590895A JP3563829B2 (ja) | 1995-06-30 | 1995-06-30 | 文字処理装置及びその方法 |
US08/671,938 US5801712A (en) | 1995-06-30 | 1996-06-28 | Character processing apparatus and method |
TW085107860A TW324810B (en) | 1995-06-30 | 1996-06-28 | Character processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16590895A JP3563829B2 (ja) | 1995-06-30 | 1995-06-30 | 文字処理装置及びその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0916154A JPH0916154A (ja) | 1997-01-17 |
JP3563829B2 true JP3563829B2 (ja) | 2004-09-08 |
Family
ID=15821298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16590895A Expired - Fee Related JP3563829B2 (ja) | 1995-06-30 | 1995-06-30 | 文字処理装置及びその方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5801712A (ja) |
JP (1) | JP3563829B2 (ja) |
TW (1) | TW324810B (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3787380B2 (ja) * | 1995-09-28 | 2006-06-21 | キヤノン株式会社 | 文字データ処理装置及び方法及びコンピュータ制御装置 |
JP3392057B2 (ja) * | 1998-07-10 | 2003-03-31 | キヤノン株式会社 | 印刷制御方法及び装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2899084B2 (ja) * | 1990-08-03 | 1999-06-02 | キヤノン株式会社 | 図形処理装置及び方法 |
JP2906202B2 (ja) * | 1993-03-31 | 1999-06-14 | 日立ソフトウエアエンジニアリング株式会社 | 文字図形入力方法 |
JP3014247B2 (ja) * | 1993-05-24 | 2000-02-28 | 富士通株式会社 | 文字生成方法及びその装置 |
-
1995
- 1995-06-30 JP JP16590895A patent/JP3563829B2/ja not_active Expired - Fee Related
-
1996
- 1996-06-28 US US08/671,938 patent/US5801712A/en not_active Expired - Fee Related
- 1996-06-28 TW TW085107860A patent/TW324810B/zh active
Also Published As
Publication number | Publication date |
---|---|
TW324810B (en) | 1998-01-11 |
JPH0916154A (ja) | 1997-01-17 |
US5801712A (en) | 1998-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0248919B1 (en) | Method for generating representations of 3-dimensional objects and system performing this method | |
JP4481931B2 (ja) | 三次元cadデータの近似および表示方法、その方法を実行するシステム | |
US5805725A (en) | Handwriting input apparatus | |
JP3574202B2 (ja) | 図形入出力装置 | |
JPH06124314A (ja) | コンピュータ支援設計システムおよびそのシステムにおける幾何学的対象を修正する方法 | |
CN114266800A (zh) | 一种图形的多矩形包围盒算法及生成系统 | |
EP2410487B1 (en) | Method for automatically modifying a graphics feature to comply with a resolution limit | |
CN113538623B (zh) | 确定目标图像的方法、装置、电子设备及存储介质 | |
JP5023937B2 (ja) | 画像処理装置、画像処理システム及びプログラム | |
JP3563829B2 (ja) | 文字処理装置及びその方法 | |
KR20090124653A (ko) | 사용자 필적 조합 시스템 | |
CN112991221B (zh) | 用于对异形定制区域的uv展开图进行矫正的方法及装置 | |
JP3171738B2 (ja) | 毛筆書体生成装置 | |
JP3305395B2 (ja) | 図形分割装置 | |
JP2010271828A (ja) | 立体形状生成システム及び方法 | |
JP3479282B2 (ja) | 文字図形変形処理装置 | |
JPH0493992A (ja) | 文字・図形描画装置 | |
JP3787380B2 (ja) | 文字データ処理装置及び方法及びコンピュータ制御装置 | |
JP2008134911A (ja) | 画像処理装置及び画像処理選択方法 | |
JPH04373084A (ja) | 文字図形変形処理装置 | |
JP2916534B2 (ja) | 表出力装置 | |
JP2005174163A (ja) | メッシュ生成システム、メッシュ生成方法およびコンピュータ・プログラム | |
JP2856604B2 (ja) | 文字処理装置 | |
JP2023074864A (ja) | 着装モデル作成方法、着装モデル作成プログラムおよび着装モデル作成装置 | |
JP2010271823A (ja) | 平滑化処理方法及び平滑化処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040301 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040427 |
|
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: 20040528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040604 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |