JPH10124026A - 文字生成方法及び装置 - Google Patents

文字生成方法及び装置

Info

Publication number
JPH10124026A
JPH10124026A JP8282461A JP28246196A JPH10124026A JP H10124026 A JPH10124026 A JP H10124026A JP 8282461 A JP8282461 A JP 8282461A JP 28246196 A JP28246196 A JP 28246196A JP H10124026 A JPH10124026 A JP H10124026A
Authority
JP
Japan
Prior art keywords
stroke
character
generation
generating
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.)
Granted
Application number
JP8282461A
Other languages
English (en)
Other versions
JP3563891B2 (ja
Inventor
Hidekazu Morooka
秀和 師岡
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP28246196A priority Critical patent/JP3563891B2/ja
Priority to US08/947,901 priority patent/US6201553B1/en
Priority to TW086115056A priority patent/TW373137B/zh
Priority to CNB971215154A priority patent/CN1144140C/zh
Priority to KR1019970054780A priority patent/KR100302163B1/ko
Publication of JPH10124026A publication Critical patent/JPH10124026A/ja
Application granted granted Critical
Publication of JP3563891B2 publication Critical patent/JP3563891B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【課題】ストロークを組合わせてなる文字の転回を迅速
に行う。 【解決手段】文字を構成するストロークデータを読み出
し、それが座標軸に平行な直線形状であるか否かを判定
する(ステップS3−5)。座標軸に平行である場合に
は、単純ストロークとして、座標軸に沿って局部輪郭の
位置決め及び回転を行ってストロークを生成するが(ス
テップS3−6)、そうでない場合には、通常ストロー
クとして、局部輪郭と基本文字構成要素との接続位置及
び接続角度を計算し、ストロークを生成する(ステップ
S3−7)。また、縦長のストロークを横長に変換して
からビットマップを生成してもよい。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文字パターンを、
文字の要素を組合わせて再構成する文字発生方法及び装
置に関する。
【0002】
【従来の技術】従来、フォントデータ容量を削減するた
め、フォントを文字構成要素(以後ストローク)を最小
単位とする基本文字構成要素に分割して記憶し、それを
組み合わせて文字を発生するストローク合成フォント方
式が用いられている。この方式は、文字を発生する過程
でそれを構成するストロークを構築し、必要に応じて変
倍等を行い、各ストロークを、文字を構成する要素とし
て配置して最終的に文字が得られる。
【0003】
【発明が解決しようとする課題】しかしながら、ストロ
ーク合成フォント方式においては、文字発生に要する全
処理時間のおよそ30%をストローク構築処理が占めて
おり、ストローク合成フォント方式は、文字の全輪郭型
データをもつアウトラインフォント処理と比較し、スト
ロークを構築する処理が必要な分、文字パターンの展開
時間の増大を招いていた。
【0004】本発明は上記従来例に鑑みてなされたもの
で、ストローク構築処理時間を圧縮して文字発生に要す
る時間を短縮できる文字処理方法及び装置を提供するこ
とを目的とする。
【0005】
【課題を解決するための手段】上記の目的を達成するた
めに、請求項1に記載の発明は、複数の文字の基本文字
構成要素(ストロークボディ)及び局部輪郭(ストロー
クヘッド、テイル)をベクトル形式で記憶し組合わせる
ことにより、ストロークを構成し、ストロークをストロ
ーク合成情報によって配置することにより所望の文字パ
ターンを発生する文字発生方法及び装置において、スト
ロークボディの形状や書体によりストロークの種別を判
定する判定ステップ及び手段と、判定したストローク種
に対し最適なストローク構築処理に適宜切り替える切り
替えステップ及び手段と、ストローク構築処理からの出
力を描画バッファに描画するステップ及び手段とを備え
ることにより、文字を高速に発生させることが可能であ
る。
【0006】
【発明の実施の形態】
[第1の実施の形態]図1は本発明を適用した情報処理
システムの基本的な構成を示す。本システムは日本語ワ
ードプロセッサであっても良いし、ワークステーション
あるいはパーソナルコンピュータ等のシステムであって
も良い。図1において、101はCPU、即ち中央処理
装置であり、この装置全体の制御及び演算処理等を行
う。
【0007】102はROM即ち読み出し専用メモリで
あり、システム起動プログラム及び文字変換用の文字パ
ターン・データ等を記憶する。
【0008】103はRAM即ちランダムアクセスメモ
リであり、CPU101により実行される後述するプロ
グラムやその実行時に使用されるデータ、CPU101
の演算結果等を一時記憶する。
【0009】104はKBC即ちキーボード制御部であ
り、105のKB即ちキーボードよりキー入力データ
(文字コードや制御コード)を受け取りCPU101へ
伝達する。
【0010】106はCRTC即ちディスプレイ制御部
であり、RAM103に格納された表示情報、即ち、文
字コードから変換されたビットマップイメージを読み出
し、CRT107に転送する。
【0011】107はCRT即ちディスプレイ装置であ
り、CRTC106よりビットマップイメージを受け取
り表示画面に表示する。
【0012】108はDKC即ちディスク制御部であ
り、外部記憶装置109のデータ伝送等の制御を行う。
【0013】109はFD即ちフロッピーディスク装
置、あるいはHD即ちハードディスク装置、あるいはC
D−ROM等の外部記憶装置である。外部記憶装置10
9にはプログラム及びデータを記憶させておき、CPU
101は必要に応じて記憶データを参照したり、または
RAM103にロードする。
【0014】110はPRTC即ちプリンタ制御部であ
り、PRT即ちプリンタ装置111の動作制御を行う。
【0015】112はシステムバスであり、上述の構成
要素間のデータ転送を行う。
【0016】図12は、図1のシステム構成により本発
明に係る文字生成処理を行う際のRAM103のメモリ
構成を示した図である。本装置は、基本I/Oプログラ
ム81、ウインドウシステム等のオペレーティングシス
テム82、文字パターンを発生する文字パターン発生プ
ログラム83あるいはそれを利用するアプリケーション
がCPU101により実行されることにより動作する。
基本I/Oプログラム81は図1のROM102に格納
されている。オペレーティングシステム82はハードデ
ィスク(HD)109−2に格納されている。そして電
源がオンされた時に、基本I/Oプログラム81中のI
PL(イニシャライズプログラムローディング)機能に
よりHD109からオペレーティングシステム82がR
AM103に読み込まれ、その動作が開始される。
【0017】本実施形態におけるプログラム及び関連デ
ータは、図1のFD109−1あるいはCD−ROM1
09−3により供給される。図13にこのFD109−
1あるいはCD−ROM109−3に格納されたファイ
ルの構成を示す。そしてFD109−1あるいはCD−
ROM109−3から読出したプログラムファイル及び
関連データファイルを一旦HD109−2ヘインストー
ルすることにより、HD109−2からRAM103に
ロードし、CPU101により実行することが可能とな
る。あるいは、HDヘインストールせずに、FDあるい
はCD−ROMからRAM103に直接ロードして実行
することも可能である。
【0018】図5は本発明にかかる文字処理装置を適用
可能な第2のシステムの制御構成を示すブロック図であ
り、図1と同一のものには同一の符号を付してある。図
1のこうせいに代えて、図5の構成の装置を用いてもよ
い。ただし、図5の装置にはファイルを記憶する画伊具
記憶装置が備わっていないため、プログラムやフォント
データ等はROM212に格納されることになる。この
場合には、メモリマップはデータ類を除いて図12と同
様になる。
【0019】尚、プリンタ2111はレーザビームプリ
ンタであっても良いし、インクジェットプリンタあるい
は熱転写等のプリンタであっても良い。図5において、
211はCPU、即ち中央処理装置であり、この装置全
体の制御及び演算処理等を行うものである。
【0020】212はROM即ち読み出し専用メモリで
あり、システム起動プログラム及び文字パターン・デー
タ等の記憶領域である。213はRAM即ちランダムア
クセスメモリであり、使用制限のないデータ記憶領域で
あり、様々な処理毎に各々のプログラム及びデータがロ
ードされ実行される領域である。
【0021】2110はPRTC即ちプリンタ制御部で
あり、2111はPRT即ちプリンタ装置である。21
12はシステムバスであり、上述の構成要素間のデータ
の通路となるべきものである。
【0022】以上の構成からなる本実施例の動作を図6
〜9のフローチャートを用いて説明する。
【0023】図2は、ストローク合成フォント方式によ
る文字生成のし方の例を示す。その文字の骨格となる横
棒、縦棒といった基本文字構成要素(ストロークボデ
ィ)201と、その始点、終点部に局部輪郭(ストロー
クヘッド、テイル)202を組み合わせることによりス
トロークを形成し、ストロークを組み合わせることによ
り文字を構成するものである。基本文字構成要素のみで
ストロークを構成することも可能である。ストロークの
形状を規定するデータは、図3に示すようにストローク
の芯線を直線により表し、輪郭をそこからの距離で表現
する「芯線(スケルトン)+太さ」型であり、各ストロ
ークは、幅情報(以後ウェイト情報)を持つ。
【0024】また、各ストロークには、ストロークID
が割り振られており、各文字コードに1対1に対応した
ストローク組み合わせ情報には、その文字を合成するた
めのストロークID及びストローク配置情報が記憶され
ており、それを用いてストロークの合成を行う。ストロ
ーク組み合わせ情報は、書体、文字コード、文字サイ
ズ、ウェイト情報などに応じて組合わせるストロークを
決定し、予め作成しておく。
【0025】図4は、ストローク組み合わせ情報の構造
の例を示した図である。STROKE_COUNTはフ
ォントを構成するストローク数を示し、ストロークID
はその文字に用いられるストロークの識別子を示す。図
4の例では、図4(a)の文字は、ストロークIDが
1,2,3の3つのストロークから構成されることがわ
かる。ストローク配置座標は、フォントデザイン座標系
(本実施形態では、800×800とする)での各スト
ロークの芯線の両端点の座標STROKE_ST,ST
ROKE_ENDを示し、ストロークWeightはス
トロークの幅情報を示す。ストロークIDからROM1
02あるいは外部記憶109格納されたストロークデー
タを検索することにより、各ストロークのストロークデ
ザイン座標系での大きさD_STROKE_SIZE、
ウェイト情報D_STROKE_Weight、制御点
データD_STROKE_POINT[ ]、ストロー
クに接続する局部輪郭のヘッドデータH_ID、テイル
データT_IDを読み出す。なお、局部輪郭のIDが示
すデータは、ストロークデザイン座標系での、局部輪郭
の制御点データ列である。また、局部輪郭のヘッドデー
タH_ID及びテイルデータT_IDは、ストローク組
み合わせ情報を作成する時点でストロークデータから読
み出し、ストローク組み合わせ情報の一部として付加し
ておく。
【0026】図6〜9は、本実施例に係るシステムの基
本動作手順を示すフローチャートである。このフローチ
ャートは、文字パターン発生プログラムの手順を示して
おり、CPU101は、これらフローチャートの手順で
処理を実行し、文字を生成する。
【0027】図6において、ステップS6−1は、本シ
ステムに搭載されている複数のフォントファイルよりス
トローク組み合わせ情報を読み出しRAM103上にセ
ットする。
【0028】ステップS6−2では、書体、文字コー
ド、文字サイズ、ウェイト情報より、読み出すべきスト
ローク組み合わせ情報を決定する。
【0029】ステップS6−3では、RAM3上にある
ストローク組み合わせ情報より、組み合わせ情報を読み
出す。
【0030】ステップS6−4では、ストローク組み合
わせ情報により文字を生成して文字データを出力バッフ
ァにセットする。
【0031】図7は、図6のステップ6−4における文
字生成処理を示すフローチャートである。
【0032】ステップS3−1は、展開を終了したスト
ローク数と、作成している文字を構成するストローク数
STROKE_COUNTとの比較を行い、一致してい
なければ全ストロークの展開が終了していないものとし
てステップS3−2に進み、一致していれば文字生成は
終了したものとして図6のステップS6−5に進む。
【0033】ステップS3−2は、配置座標算出処理で
あり、文字出力座標系でのストローク配置座標O_ST
ROKE_ST、O_STROKE_ENを、フォント
座標系でのストロークデータから、 O_STROKE_ST=STROKE_ST × (OUT_SIZE/800) O_STROKE_EN=STROKE_EN × (OUT_SIZE/800) で求める。ただし、文字出力座標系における文字サイズ
を(OUT_SIZE×OUT_SIZE)とする。
【0034】ステップS3−3は、制御点データスケー
ル変換処理であり、 Scale=abs(O_STROKE_ST-O_STROKE_EN)/abs(D_STROKE_ST
-D_STROKE_EN) によりスケールを求め、 Scale × D_STROKE_POINT[ ] によりストロークの制御点データのスケール変換を行
い、得られた値を、O_STROKE_POINT
[ ]にセットする。
【0035】ステップS3−4は、ストロークウェイト
情報調整処理であり、文字出力座標系でのウェイトをO
_Weightとすると、 Weight_Scale=O_Weight/D_STROKE_Weight よりウェイト変換スケールを求め、ストロークのウェイ
ト調整をO_STROKE_POINT[ ]に施す。
【0036】ステップS3−5は、ストローク種判定処
理であり、ストロークID及びストロークのスケルトン
データのスタート点のx,y座標とエンド点のx,y座
標とを比較することにより、ストロークをストロークの
ボディ部分が水平・垂直となっている単純ストロークで
あるか、ボディ部分が斜線となっている通常ストローク
であるかを判定する。また、通常ストロークにはボディ
が曲線のストロークも含まれるが、そのようなストロー
クは、ストロークの輪郭を規定するコントロールポイン
トの存在により判定することができる。また、ストロー
クIDに対応して、そのストロークが単純ストロークか
通常ストロークかを識別する識別子を予めストロークデ
ータの一部として格納しておき、それに基づいて判定す
ることもできる。
【0037】この判定の結果、単純ストロークの場合ス
テップS3−6へ、通常ストロークの場合ステップS3
−7へ進んで、それぞれのストロークの種類に応じたス
トローク構築処理を実行する。
【0038】ステップS3−8は、ストローク構築処理
に得られたボディデータへヘッド&テイルデータをマー
ジする処理である。
【0039】図8は、単純ストロークの生成手順を示す
フローチャートである。ステップS4−1は、ストロー
クボディに接続するヘッドが存在するかどうか判定する
ステップであり、ストロークデータのH_IDよりヘッ
ドの有無を判定し、ヘッドアリの場合ステップS4−2
に、無しの場合ステップS4−3に進む。
【0040】ステップS4−2は、ヘッドを接続するた
めにストロークのスタート点を新たに再計算するステッ
プである。単純ストロークでは、ストロークが縦型スト
ロークならばy軸方向の演算のみ、ストロークが横型ス
トロークならばx軸方向の演算のみというように、x軸
方向またはy軸方向どちらか一方の演算により対処して
いる。
【0041】ステップS4−3は、ボディ部のウェイト
データよりヘッド部に接続するヘッドデータの制御点列
のスケール変換をする処理であり、文字出力座標系での
ストロークウェイトをO_Weightとし、デザイン
座標系でのヘッド部分のウェイトをD_Head_We
ightとすると、 Head_Weight_Scale=O_Weight/D_Head_Weight よりヘッド部分のウェイト変換スケールを求め、ヘッド
部分のウェイト調整をO_HEAD_POINT[ ]
に施す。なお、ヘッド及びテイルの制御点データは、図
10に示されるように接続口が、デザイン座標系での座
標軸に対し水平方向または、垂直方向に対し平行になる
ように配置されデータとして予め格納されている。
【0042】ステップS4−4は、ボディに接続するテ
イルが存在するかどうか判定ステップであり、ストロー
クデータのT_IDよりテイルの有無を判定し、テイル
アリの場合ステップS4−5、無しの場合ステップS4
−7に進む。ステップS4−5は、ステップS4−2と
同様の手法により、ストロークのエンド点を新たに再計
算するステップである。ステップS4−6は、ステップ
S4−3と同様の手法でテイルデータのスケール変換を
する処理であり、文字出力座標系でのストロークウェイ
トをO_Weightと、デザイン座標系でのテイル部
分のウェイトD_Tail_Weightよりウェイト
変換スケールを求め、テイル部分のウェイト調整をO_
Tail_POINT[ ]に施す。
【0043】ステップS4−7は、ボディの生成を行う
ステップであり、ウェイトデータ及びストロークスター
ト点、エンド点よりボディを構成する4点を生成する。
【0044】ステップS4−8は、ボディに接続するヘ
ッドが存在するかどうか判定するステップであり、ヘッ
ドが存在する場合ステップS4−9へ、存在しない場合
ステップS4−10へ進む。ステップS4−9は、ヘッ
ドの制御点データをボディに接続する処理であり、ヘッ
ドデータがボディデータに接続可能となるように適宜9
0度単位の回転処理を施す。ステップS4−10は、ボ
ディに接続するテイルが存在するかどうか判定するステ
ップであり、テイルが存在する場合ステップS4−11
へ、存在しない場合には図8の処理を終了して図7のス
テップ3−8へ進む。ステップS4−11は、テイルの
制御点データをボディに接続する処理であり、テイルデ
ータがボディデータに接続可能となるように適宜90度
単位の回転処理を施す。
【0045】図9は、通常ストロークの生成手順を示す
フローチャートである。ステップS5−1は、ストロー
クボディに接続するヘッドが存在するかどうか判定ステ
ップであり、ストロークデータのH_IDよりヘッドの
有無を判定し、ヘッドありの場合ステップS5−2へ、
無しの場合ステップS5−4ヘ進む。ステップS5−2
は、ボディ部のウェイトデータよりヘッド部に接続する
ヘッドデータの制御点列のスケール変換をする処理であ
り、文字出力座標系でのストロークウェイトをO_We
ightとし、デザイン座標系でのヘッド部分のウェイ
トをD_Head_Weightとすると Head_Weight_Scale=0_Weight/D_Head_Weight よりヘッド部分のウェイト変換スケールを求め、ヘッド
部分のウェイト調整をO_HEAD_POINT[ ]
に施す。
【0046】ステップS5−3は、ヘッドを接続するた
めにストロークのスタート点を新たに再計算するステッ
プであり、ストロークのスケルトンのベクトルの方向に
ヘッド部分の大きさ量をアフィン演算等を用いて算出
し、そのベクトル量だけスタート座標から減算すること
によりスタート点の再計算を行う。
【0047】ステップS5−4は、ボディに接続するテ
イルが存在するかどうか判定ステップであり、ストロー
クデータのT_IDよりテイルの有無を判定し、テイル
有りの場合ステップS5−5に、無しの場合ステップS
5−7に進む。ステップS5−5はステップS4−3と
同様の手法により、テイルデータのスケール変換をする
処理であり、文字出力座標系でのストロークウェイトを
O_Weightと、デザイン座標系でのテイル部分の
ウェイトD_Tail_Weightからウェイト変換
スケールを求め、テイル部分のウェイト調整をO_Ta
il_POINT[ ]に施す。
【0048】ステップS5−6は、ステップS5−3と
同様の手法でストロークのエンド点を新たに再計算する
ステップである。
【0049】ステップS5−7は、ボディの生成を行う
ステップであり、ウェイトデータ及びボディ部のデザイ
ン座標系でのウェイトデータよりボディ部を構成するコ
ントロールポイントのスケールを行いボディを構成する
コントロールポイントを生成する。
【0050】ステップS5−8は、ボディに接続するヘ
ッドが存在するかどうか判定するステップであり、ヘッ
ドが存在する場合ステップS5−9へ、存在しない場合
ステップS5−11ヘ進む。ステップS5−9は、ヘッ
ド部の制御点データをボディに接続可能とするようにす
るためのデータの回転角を求める処理であり、図11に
示されるようにヘッドデータの接続部の両端点AとBを
結ぶベクトル ̄Aとボディ部の接続部の両端点CとDを
結ぶベクトル ̄Bとのなす角θを、 cosθ=( ̄A・ ̄B)/(| ̄A|・| ̄B|) により求める。ステップS5−10は、求められた回転
角θを使ってヘッド部の制御点データに対し回転処理を
行い、ボディに接続可能なデータに変換する。
【0051】ステップS5−11は、ボディに接続する
テイル部が存在するかどうか判定するステップであり、
テイル部が存在する場合ステップS5−12へ進み、存
在しない場合には図7のステップS3−8へ進む。ステ
ップS5−12は、ステップS5−9と同様にテイル部
の制御点データをボディに接続可能とするようにするた
めのデータの回転角を求める処理であり、ヘッド部の場
合と同じ要領で回転角γを求める。ステップS5−13
は、求められた回転角γを使いテイル部の制御点データ
に対し回転処理を行い、ボディに接続可能なデータに変
換する。
【0052】このような手順により、ストロークデータ
から文字パターンを生成する。
【0053】以上説明したように、本実施例によれば、
ストロークのボディの長手方向が座標軸方向に沿ってお
り、ヘッド部及びテイル部のスターとポイントの計算
や、ボディとヘッド部及びテイル部との接続のための回
転処理が複雑な計算なしにできる場合と、ボディが座標
軸に対して0度及び90度以外の傾きをもっていたり、
曲線であるような場合とでストローク構築処理を切替え
る。こうすることで、ストロークの形状によっては処理
を大幅に簡素化することが可能となる。一般的に、垂直
方向あるいは水平方向のストロークを有する文字は非常
に多く、このような場合分けを行うことで文字の発生を
高速に行うことが可能となる。なお、本実施例のストロ
ーク構築処理の切り替えを書体単位で切り替えるように
しても、本実施例は有効である。
【0054】なお、本実施例では、文字発生プログラム
をRAM103上にロードして実行させる例を示した
が、この他にもFD109から、本プログラム及び関連
データを一旦HD109に格納(インストール)してお
き、本プログラムを動作させる段にHD109からRA
M103上にロードするようにしても良い。
【0055】また、本プログラムを記録する媒体は、F
D以外にもCD−ROM、ICメモリカード等であって
も良い。更に本プログラムをROM102に格納してお
き、これをメモリマップの一部となすように構成し、直
接CPU101で実行することも可能である。
【0056】図15は、図13に示した文字パターン発
生プログラム実行ファイルのモジュール構成を示す図で
ある。このモジュールは、少なくとも、文字を、それを
構成するストロークの組み合わせとして記憶し、各スト
ロークを基本文字構成要素と局部輪郭との組み合わせと
してベクトル形式で記憶したデータを用いて、文字を構
成するストロークデータを読み出す読出工程のコード
と、読み出したストロークが、所定の形状であるか判定
する判定工程のコードと、判定された形状に応じた最速
の手順で、前記前記局部輪郭と前記基本文字構成要素と
を接続してストロークを生成するストローク生成工程の
コードと、前記ストローク生成工程で生成されたストロ
ークを組合わせて文字画像を生成する文字生成工程のコ
ードの各モジュールを含む。 [第2の実施の形態]図16は本発明にかかるシステム
の基本的な構成を示すブロック図である。本システムは
日本語ワードプロセッサであっても良いし、ワークステ
ーションあるいはコンピュータシステムであっても良
い。図16において、101はCPU、即ち中央処理装
置であり、この装置全体の制御及び演算処理などを行う
ものである。102はROM即ち読み出し専用メモリで
あり、システム起動プログラム及び文字パターン・デー
タなどの記憶領域である。103はRAM即ちランダム
アクセスメモリであり、使用制限のないデータ記憶領域
であり、様々な処理毎に各々のプログラム及びデータが
ロードされ、実行される領域である。104はKBC即
ちキーボード制御部であり、105のKB即ちキーボー
ドよりキー入力データを受け取りCPU101へ伝達す
る。106はCRTC即ちディスプレイ制御部であり、
107はCRT即ちディスプレイ装置であり、106の
CRTCよりデータを受け取り表示する。109はFD
即ちフロッピーディスク装置、あるいはHD即ちハード
ディスク装置などの外部記憶装置であり、プログラム及
びデータを記憶させておき、実行時必要に応じて参照ま
たはロードする。108はDKC即ちディスク制御部で
あり、データ伝送などの制御を行うものであり、110
はPRTC即ちプリンタ制御部であり、111はPRT
即ちプリンタ装置である。112はシステムバスであ
り、上述の構成要素間のデータの通路となるべきもので
あり、113はビットマップイメージを回転させるイメ
ージ回転器装置である。
【0057】以上の構成からなる本実施例のシステムに
よる文字パターン生成の動作は、第1の実施の形態と同
じく図6のフローチャートに示される。
【0058】図17(b)はストローク組み合わせ情報
の構造を示した図である。要素としてSTROKE_C
OUNTはフォントを構成するストローク数を示し、S
TROKE_ST、STROKE_END、STROK
E_Weightは、それぞれフォントデザイン座標系
(本発明では、800*800とする)でのストローク
の芯線の両端点を基準とした配置座標、幅情報を示して
いる。ストロークIDよりストロークデータを検索する
ことにより、各ストロークのストロークデザイン座標系
での大きさD_STROKE_SIZE、ウェイト情報
D_STROKE_Weight、制御点データD_S
TROKE_POINT[ ]を読み出す。
【0059】図18は、本実施例における図6のステッ
プS6−4での文字生成処理を示すフローチャートであ
り、図20が文字発生処理の手順を示す概念図である。
本実施形態の処理では、縦長のストローク、すなわち、
長手方向が出力デバイスにより画像を出力する際の走査
方向に直交するストロークのビットマップ画像を、長手
方向が走査方向に沿った水平なストロークとして生成
し、その後回転変換することで本来の縦長のストローク
を生成し、文字を構成する。図20の例では、「十」の
時の縦線の画像を90度回転された横長のストロークと
して生成し、イメージ回転器113により90度回転し
て本来の縦線に戻し、最後に別途生成した横線と合成し
て文字「十」を生成している。
【0060】図18において、ステップS18−1で
は、文字生成終了判定を、生成を終了したストローク数
と、生成する文字に含まれるストローク数STROKE
_COUNTとの比較を行うことで行う。全ストローク
の展開が終了していなければステップS18−2に、終
了していれば図6に戻ってステップS6−5に進む。
【0061】ステップS18−2ではストローク構築処
理を行い、図19はその詳しいフローチャートである。
【0062】ステップS19−1では配置座標算出を行
い、文字出力座標系でのストローク配置座標O_STR
OKE_ST,O_STROKE_ENを O_STROKE_ST=STROKE_ST × (OUT_SIZE/800) O_STROKE_EN=STROKE_EN × (OUT_SIZE/800) で求める。なお、文字出力座標系での文字のサイズは(O
UT_SIZE×OUT_SIZE)であるものとする。
【0063】ステップS19−2は、制御点データスケ
ール変換処理であり、 Scale=abs(O_STROKE_ST-O_STROKE_EN)/abs(D_STROKE_ST
-D_STROKE_EN) によりスケールを求め、 Scale × D_STROKE_POINT[ ] によりストロークのスケール変換を行い、得られた値を
O_STROKE_POINT[ ]にセットする。な
お、関数abs(x)は、xの絶対値を出力とする。
【0064】ステップS19−3は、ストロークウェイ
ト情報調整処理であり、文字出力座標系でのウェイトを
O_Weightとすると、 Weight_Scale=O_Weight/D_STROKE_Weight よりウェイト変換スケールを求め、ストロークのウェイ
ト調整をO_STROKE_POINT[ ]に施す。
【0065】ステップS19−4は、ストロークを結合
して文字を生成する処理であり、基本文字構成要素(ボ
ディ)を形成する制御点列に局部輪郭(ヘッド部,テイ
ル部)の制御点列を接続することによりストローク輪郭
を発生する。
【0066】このようにしてストロークが構築されたな
ら、ステップS18−3の処理に進む。
【0067】ステップS18−3は、ストローク種判定
処理であり、ストロークのスタート点(O_STROK
E_ST)及びエンド点(O_STROKE_EN)を
用いて縦長か横長ストロークか判定するステップであ
る。縦長ストロークの場合ステップS18−4へ、横長
ストロークの場合ステップS18−10へ進む。
【0068】ステップS18−10は、横長のストロー
クの輪郭点を発生させるステップであり、ステップS1
8−11は、発生させた輪郭点を用いて輪郭内部を塗り
潰し、ビットイメージを文字発生バッファBに保存す
る。
【0069】一方、ステップS18−4は、ストローク
の輪郭を規定しているコントロールポイントの回転処理
を行うステップであり、ストロークのコントロールポイ
ントに対し90度回転処理を行う。ステップS18−5
は、コントロールポイントを用いてストローク輪郭点を
発生させる処理であり、ステップS18−6では、発生
させた輪郭点を用いて輪郭内部を塗り潰し、ビットイメ
ージを描画バッファAに保存する。この工程で生成され
るイメージが、例えば図20のイメージ201である。
ステップS18−7は、発生したストロークのビットイ
メージをハードウェアを用いたビットマップイメージ回
転器により回転させるステップであり、これにより得ら
れるイメージが、例えば図20のイメージ202であ
る。ステップS18−8は、回転させたビットイメージ
を文字発生バッファBに重ね合わせ(OR処理)を行う
ステップである。
【0070】こうして、縦長のストロークを次々と生成
し、描画バッファBに重ねあわせることでひとつの文字
画像が生成される。生成された画像は、ステップS6−
5の文字データ出力処理により、CRT106やPRT
110に所定の文字出力が行われる。
【0071】以上説明したように、本実施形態によれ
ば、縦長ストロークを走査ライン方向に長い横形のスト
ロークに変換し、横長のストロークをラスタライズして
ビットマップ画像を生成する。通常走査方向は物理的に
連続するメモリロケーションの方向と同一である。この
場合、縦長、即ち長手方向が走査方向と直交する画像
は、比較的短い(短手方向の画素数に相当)黒画素のク
ラスタが切れ切れのメモリロケーションに多数(長手方
向の画素数に相当)格納されることになるが、横長、す
なわち長手方向が走査方向に沿った画像では、比較的長
い(長手方向の画素数に相当)連続したクラスタが小数
(短手方向の画素数に相当)格納されることになる。従
って、横長のストロークに対しては、連続したメモリロ
ケーションにまとめて画像を展開することができるた
め、画像の輪郭内部の塗りつぶし処理を高速に行うこと
ができ、文字の発生を高速に行うことが可能となる。 [第3の実施の形態]次に、本発明の第3の実施の形態
について述べる。
【0072】ここで説明するのは、前記第2の実施形態
における描画バッファAのサイズが、描画バッファBと
同一サイズ確保できる場合の文字生成処理である。した
がって、図6のステップS6−4の詳細な処理手順とし
て、第2実施形態の図18の代わりに、本実施形態では
図21の手順で文字生成を行う。
【0073】図21は、図6のステップS6−4におけ
る文字発生処理の詳細を示すフローであり、図22が文
字発生処理の動きを示す概念図である。
【0074】ステップS21−1は、文字展開終了の判
定を行い、展開を終了したストローク数と、展開してい
る文字に含まれるストローク数STROKE_COUN
Tとの比較を行い、全ストロークの展開が終了していな
ければステップS21−2に、終了していれば図6のス
テップS6−5に進む。
【0075】ステップS21−2は、ストローク構築処
理であり、詳細は第2実施例のステップS18−2と同
一のものである。
【0076】ステップS21−3は、ストローク種判定
処理であり、ストロークのスタート点(O_STROK
E_ST)及びエンド点(O_STROKE_EN)を
用いて、縦長ストロークか横長ストロークか判定する。
縦長ストロークの場合、ステップS21−4へ、横長ス
トロークの場合ステップS21−7へ進む。ステップS
21−4はコントロールポイントの回転処理を行うステ
ップであり、ストロークのコントロールポイントに対し
90度回転処理を行う。ステップS21−5は、コント
ロールポイントを用いてストローク輪郭点を発生させる
処理であり、ステップS21−6は、発生させた輪郭点
を用いて輪郭内部を塗り潰し、ビットイメージを描画バ
ッファAに保存する。
【0077】上記ステップS21−2〜ステップS21
−6を繰返して、バッファAには本来縦長のストローク
だけが、90度回転された状態で、文字上での配置に相
当する配置で生成される。
【0078】一方、ステップS21−7は、横長のスト
ロークの輪郭点を発生させるステップであり、ステップ
S21−8は、発生させた輪郭点を用いて輪郭内部を塗
り潰し、ビットイメージを文字発生バッファBに保存す
る。
【0079】ステップS21−1で、全ストロークの発
生を終了したと判定されると、ステップS21−9へ進
む。ステップS21−9は、ストロークの回転発生処理
を行ったか判定するステップであり、回転発生を行った
と判定されるとステップS21−10ヘ進む。ステップ
S21−10は、描画バッファAのイメージを回転器を
用いて回転させるステップである。ステップS21−1
1は、ステップS21−10で回転させたバッファAの
ビットマップイメージを文字発生バッファBにOR処理
を行って重畳する。
【0080】係るシステムは、上述の処理を経てステッ
プS6−5の文字データ出力を、CRT106やPRT
110に所定の文字出力を行う。
【0081】以上説明したように、本実施例によれば、
縦ストローク用バッファA及び横ストロークバッファB
を用いて、文字を構成するストロークをどちらかのバッ
ファに描画し、全ストローク発生後、縦ストロークバッ
ファAを回転器により回転させバッファBに重ね合わせ
ることにより文字の発生を高速に行うことが可能とな
る。本実施形態の処理によれば、第2の実施の形態に比
べて、90度回転したストロークを本来の向きに戻す際
に、一括して行うために、処理がその分高速になる。
【0082】なお、文字を構成するストロークの縦スト
ロークの数が少ない時には第2の実施の形態の処理を用
いて文字を発生し、縦ストロークが多い場合本実施形態
用いたり、搭載メモリが少なく、描画バッファAのサイ
ズがA<Bである場合に、第2の実施形態を、バッファ
A>=バッファBとなるサイズのバッファが確保可能な
場合本実施形態を用いるというように、文字生成の手順
を切り替えて実施することもできる。
【0083】さらに、第1の実施の形態で説明した、ス
トロークの形状が単純か否かにより場合分けしてストロ
ークを生成する処理と合わせれば、更に高速に文字画像
生成を行うことができる。
【0084】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
【0085】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても、達成される。
【0086】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
【0087】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0088】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれる。
【0089】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれる。
【0090】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになるが、簡単に説
明すると、図15や、図23のメモリマップ例に示す各
モジュールを記憶媒体に格納することになる。
【0091】図15の構成は前述の通りである。図23
においては、文字を、それを構成するストロークの組み
合わせとして記憶し、各ストロークを基本文字構成要素
と局部輪郭との組み合わせとしてベクトル形式で記憶し
たデータを用いて、文字を構成するストロークデータを
読み出す読み出し工程のコードと、読み出したストロー
クデータに基づいて、ストロークが縦長か横長か判定す
る判定工程のコードと、縦長と判定されたストロークに
ついては横長に変換し、横長と判定されたストロークは
そのままでビットマップ画像を生成し、横長に変換され
たストロークのビットマップ画像を元に戻すストローク
生成工程のコードと、前記ストローク生成工程で生成さ
れたストロークを組合わせて文字画像を生成する文字生
成工程のコードが含まれていれば良い。
【0092】
【発明の効果】以上説明したように、本発明の文字生成
方法及び装置は、ストロークの形状によりストロークの
構築処理を切り替えることにより、ストローク構築処理
を大幅に簡素化することが可能となり、文字の発生を高
速に行うことが可能となる。
【0093】また、縦長のストロークを高速に発生可能
なスキャンライン方向に長いストロークに変換して発生
させることで、文字発生速度を大幅に向上させることが
可能である。
【0094】
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るシステムの構
成を示すブロック図である。
【図2】基本文字構成要素、局部輪郭データを規定する
図である。
【図3】ストロークデータを説明する図である。
【図4】ストローク配置、属性データの例を示す図であ
る。
【図5】本発明の第1の実施の形態に係るもうひとつの
システムの構成を示すブロック図である。
【図6】第1〜第3の実施形態に係るシステムでの文字
パターン発生手順を示すフローチャートである。
【図7】第1の実施の形態における文字生成処理を示す
フローチャートである。
【図8】単純ストローク構築処理を示すフローチャート
である。
【図9】通常ストローク構築処理を示すフローチャート
である。
【図10】デザイン座標系でのヘッド、テイルデータの
配置を示す図である。
【図11】ストロークボディとヘッド部のなす角度を示
す図である。
【図12】第1〜第3実施形態のメモリ構成を示す図で
ある。
【図13】第1〜第3の実施形態におけるプログラムを
記録したFDあるいはCD−ROM等の媒体の内容構成
図である。
【図14】第1〜第3の実施形態のプログラムを記録し
たFDあるいはCD−ROM等の媒体から、本プログラ
ムを供給することを示す概念図である。
【図15】第1の実施形態におけるプログラムを記録し
たFDあるいはCD−ROM等の媒体における文字パタ
ーン発生プログラムファイルの構成図である。
【図16】第2及び第3実施形態に係るシステムの構成
を示すブロック図である。
【図17】第2及び第3実施形態におけるストローク配
置データの例を示す図である。
【図18】第2実施形態のシステムでの文字生成処理を
示すフローチャートである。
【図19】第2及び第3の実施形態におけるストローク
構築処理の手順を示すフローチャートである。
【図20】第2の実施形態での文字生成の概念を示す図
である。
【図21】第3の実施形態のシステムでの文字生成処理
を示すフローチャートである。
【図22】第3の実施形態での文字生成の概念を示す図
である。
【図23】第2及び第3の実施形態におけるプログラム
を記録したFDあるいはCD−ROM等の媒体における
文字パターン発生プログラムファイルの構成図である。
【符号の説明】
101 CPU 102 ROM 103 RAM 104 KBC 105 キーボード 106 CRTC 107 CRT 108 DKC 109 外部記憶装置 110 PRTC 111 PRT 112 システムバス 113 ビットイメージ回転器

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】 文字を、それを構成するストロークの組
    み合わせとして記憶し、各ストロークを基本文字構成要
    素と局部輪郭との組み合わせとしてベクトル形式で記憶
    する文字生成方法であって、 文字を構成するストロークデータを読み出す読出工程
    と、 読み出したストロークが、所定の形状であるか判定する
    判定工程と、 判定された形状に応じた最速の手順で、前記前記局部輪
    郭と前記基本文字構成要素とを接続してストロークを生
    成するストローク生成工程と、 前記ストローク生成工程で生成されたストロークを組合
    わせて文字画像を生成する文字生成工程とを備えること
    を特徴とする文字生成方法。
  2. 【請求項2】 前記判定工程におけるストロークの形状
    の判定は、ストロークのスタート座標とエンド座標とを
    用いて判定することを特徴とする請求項1に記載の文字
    生成方法。
  3. 【請求項3】 前記判定工程におけるストロークの形状
    の判定は、ストロークボディを構成する制御点データ数
    を用いて判定することを特徴とする請求項1に記載の文
    字生成方法。
  4. 【請求項4】 前記判定工程におけるストロークの形状
    の判定は、ストロークの属性を示す、予め格納されたデ
    ータを用いて判定することを特徴とする請求項1に記載
    の文字生成方法。
  5. 【請求項5】 前記判定工程は、ストロークが、そのス
    トロークの形状を規定する座標系における座標軸のひと
    つと平行な直線形状であることを判定し、前記ストロー
    ク生成工程は、ストロークが前記座標軸と平行な直線形
    状である場合には、前記ストロークに平行な座標軸につ
    いて局部輪郭の位置決め処理をして基本文字構成要素と
    接続し、ストロークが前記座標軸と平行な直線形状でな
    い場合には、基本文字構成要素との接続位置及び接続角
    度に応じて局部輪郭の位置決めをし、前記基本文字構成
    要素と接続してストロークを生成することを特徴とする
    請求項1乃至4のいずれかに記載の文字生成方法。
  6. 【請求項6】 前記ストロークは、局部輪郭を用いずに
    生成することも可能な請求項1乃至5のいずれかに記載
    の文字生成方法。
  7. 【請求項7】 文字を、それを構成するストロークの組
    み合わせとして記憶し、各ストロークを基本文字構成要
    素と局部輪郭との組み合わせとしてベクトル形式で記憶
    する文字生成方法であって、 文字を構成するストロークデータを読み出す読み出し工
    程と、 読み出したストロークデータに基づいて、ストロークが
    縦長か横長か判定する判定工程と、 縦長と判定されたストロークについては横長に変換し、
    横長と判定されたストロークはそのままでビットマップ
    画像を生成し、横長に変換されたストロークのビットマ
    ップ画像を元に戻すストローク生成工程と、 前記ストローク生成工程で生成されたストロークを組合
    わせて文字画像を生成する文字生成工程とを備えること
    を特徴とする文字生成方法。
  8. 【請求項8】 前記判定工程は、ストロークのスタート
    座標とエンド座標とを用いて判定することを特徴とする
    請求項7に記載の文字生成方法。
  9. 【請求項9】 前記ストローク生成工程は、、縦長と判
    定されたストロークを、そのコントロールポイントを9
    0度回転させることで横長のストロークに変換し、その
    ストロークのビットマップ画像を生成することを特徴と
    する請求項7に記載の文字発生装置。
  10. 【請求項10】 前記文字生成工程は、前記ストローク
    生成工程によるストロークの生成ごとにストロークを組
    合わせることを特徴とする請求項7乃至9のいずれかに
    記載の文字生成方法。
  11. 【請求項11】 前記ストローク生成工程は、生成して
    いる文字に含まれる縦長のストロークを横長のストロー
    クとして全て生成し終えた後にまとめて元に戻してスト
    ロークを生成することを特徴とする請求項7乃至9のい
    ずれかに記載の文字生成方法。
  12. 【請求項12】 文字を、それを構成するストロークの
    組み合わせとして記憶し、各ストロークを基本文字構成
    要素と局部輪郭との組み合わせとしてベクトル形式で記
    憶する記憶手段と、 文字を構成するストロークデータを読み出す読出手段
    と、 読み出したストロークが、所定の形状であるか判定する
    判定手段と、 判定された形状に応じた最速の手順で、前記前記局部輪
    郭と前記基本文字構成要素とを接続してストロークを生
    成するストローク生成手段と、 前記ストローク生成工程で生成されたストロークを組合
    わせて文字画像を生成する文字生成手段とを備えること
    を特徴とする文字生成装置。
  13. 【請求項13】 前記判定手段によるストロークの形状
    の判定は、ストロークのスタート座標とエンド座標とを
    用いて判定することを特徴とする請求項12に記載の文
    字生成装置。
  14. 【請求項14】 前記判定手段によるストロークの形状
    の判定は、ストロークボディを構成する制御点データ数
    を用いて判定することを特徴とする請求項12に記載の
    文字生成装置。
  15. 【請求項15】 前記判定手段によるストロークの形状
    の判定は、ストロークの属性を示す、予め格納されたデ
    ータを用いて判定することを特徴とする請求項12に記
    載の文生成装置。
  16. 【請求項16】 前記判定手段は、ストロークが、その
    ストロークの形状を規定する座標系における座標軸のひ
    とつと平行な直線形状であることを判定し、前記ストロ
    ーク生成手段は、ストロークが前記座標軸と平行な直線
    形状である場合には、前記ストロークに平行な座標軸に
    ついて局部輪郭の位置決め処理をして基本文字構成要素
    と接続し、ストロークが前記座標軸と平行な直線形状で
    ない場合には、基本文字構成要素との接続位置及び接続
    角度に応じて局部輪郭の位置決めをし、前記基本文字構
    成要素と接続してストロークを生成することを特徴とす
    る請求項12乃至15のいずれかに記載の文字生成装
    置。
  17. 【請求項17】 前記ストロークは、局部輪郭を用いず
    に生成することも可能な請求項12乃至16のいずれか
    に記載の文字生成装置。
  18. 【請求項18】 文字を、それを構成するストロークの
    組み合わせとして記憶し、各ストロークを基本文字構成
    要素と局部輪郭との組み合わせとしてベクトル形式で記
    憶する記憶手段と、 文字を構成するストロークデータを読み出す読み出し手
    段と、 読み出したストロークデータに基づいて、ストロークが
    縦長か横長か判定する判定手段と、 縦長と判定されたストロークについては横長に変換し、
    横長と判定されたストロークはそのままでビットマップ
    画像を生成し、横長に変換されたストロークのビットマ
    ップ画像を元に戻すストローク生成手段と、 前記ストローク生成手段で生成されたストロークを組合
    わせて文字画像を生成する文字生成手段とを備えること
    を特徴とする文字生成装置。
  19. 【請求項19】 前記判定手段は、ストロークのスター
    ト座標とエンド座標とを用いて判定することを特徴とす
    る請求項18に記載の文字生成装置。
  20. 【請求項20】 前記ストローク生成手段は、、縦長と
    判定されたストロークを、そのコントロールポイントを
    90度回転させることで横長のストロークに変換し、そ
    のストロークのビットマップ画像を生成することを特徴
    とする請求項18に記載の文字発生装置。
  21. 【請求項21】 前記文字生成手段は、前記ストローク
    生成手段によるストロークの生成ごとにストロークを組
    合わせることを特徴とする請求項18乃至20のいずれ
    かに記載の文字生成装置。
  22. 【請求項22】 前記ストローク生成手段は、生成して
    いる文字に含まれる縦長のストロークを横長のストロー
    クとして全て生成し終えた後にまとめて元に戻してスト
    ロークを生成することを特徴とする請求項18乃至20
    のいずれかに記載の文字生成装置。
  23. 【請求項23】 文字を、それを構成するストロークの
    組み合わせとして記憶し、各ストロークを基本文字構成
    要素と局部輪郭との組み合わせとしてベクトル形式で記
    憶し、それを用いて文字を生成するプログラムを格納す
    るコンピュータ可読メモリであって、 文字を構成するストロークデータを読み出す読出工程の
    コードと、 読み出したストロークが、所定の形状であるか判定する
    判定工程のコードと、 判定された形状に応じた最速の手順で、前記前記局部輪
    郭と前記基本文字構成要素とを接続してストロークを生
    成するストローク生成工程のコードと、 前記ストローク生成工程で生成されたストロークを組合
    わせて文字画像を生成する文字生成工程のコードとを備
    えることを特徴とするコンピュータ可読メモリ。
  24. 【請求項24】 文字を、それを構成するストロークの
    組み合わせとして記憶し、各ストロークを基本文字構成
    要素と局部輪郭との組み合わせとしてベクトル形式で記
    憶し、それを用いて文字を生成するプログラムを格納す
    るコンピュータ可読メモリであって、 文字を構成するストロークデータを読み出す読み出し工
    程のコードと、 読み出したストロークデータに基づいて、ストロークが
    縦長か横長か判定する判定工程のコードと、 縦長と判定されたストロークについては横長に変換し、
    横長と判定されたストロークはそのままでビットマップ
    画像を生成し、横長に変換されたストロークのビットマ
    ップ画像を元に戻すストローク生成工程のコードと、 前記ストローク生成工程で生成されたストロークを組合
    わせて文字画像を生成する文字生成工程のコードとを備
    えることを特徴とするコンピュータ可読メモリ。
  25. 【請求項25】 前記生成工程により生成された文字画
    像を出力する出力工程を更に備えることを特徴とする請
    求項1乃至11のいずれかに記載の文字生成方法。
  26. 【請求項26】 生成しようとする文字画像の文字デー
    タを入力する入力工程を更に備え、前記読み出し工程
    は、前記入力手段により入力された文字データに対応す
    る文字を構成するストロークデータを読み出すことを特
    徴とする請求項1乃至11のいずれかに記載の文字生成
    方法。
  27. 【請求項27】 前記生成手段により生成された文字画
    像を出力する出力手段を更に備えることを特徴とする請
    求項12乃至22のいずれかに記載の文字生成装置。
  28. 【請求項28】 生成しようとする文字画像の文字デー
    タを入力する入力手段を更に備え、前記読み出し手段
    は、前記入力手段により入力された文字データに対応す
    る文字を構成するストロークデータを読み出すことを特
    徴とする請求項12乃至22のいずれかに記載の文字生
    成装置。
JP28246196A 1996-10-24 1996-10-24 文字生成方法及び装置 Expired - Fee Related JP3563891B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP28246196A JP3563891B2 (ja) 1996-10-24 1996-10-24 文字生成方法及び装置
US08/947,901 US6201553B1 (en) 1996-10-24 1997-10-09 Character generating method and apparatus
TW086115056A TW373137B (en) 1996-10-24 1997-10-14 Character generating method and apparatus
CNB971215154A CN1144140C (zh) 1996-10-24 1997-10-23 字符发生方法及设备
KR1019970054780A KR100302163B1 (ko) 1996-10-24 1997-10-24 문자 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28246196A JP3563891B2 (ja) 1996-10-24 1996-10-24 文字生成方法及び装置

Publications (2)

Publication Number Publication Date
JPH10124026A true JPH10124026A (ja) 1998-05-15
JP3563891B2 JP3563891B2 (ja) 2004-09-08

Family

ID=17652733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28246196A Expired - Fee Related JP3563891B2 (ja) 1996-10-24 1996-10-24 文字生成方法及び装置

Country Status (5)

Country Link
US (1) US6201553B1 (ja)
JP (1) JP3563891B2 (ja)
KR (1) KR100302163B1 (ja)
CN (1) CN1144140C (ja)
TW (1) TW373137B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224145A (ja) * 2009-03-23 2010-10-07 Seiko Epson Corp 情報処理装置、制御装置及びプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7710422B2 (en) * 2004-07-26 2010-05-04 Microsoft Corporation Font representations
US7289123B2 (en) * 2004-09-30 2007-10-30 Microsoft Corporation Simplifying complex characters to maintain legibility
US7242404B2 (en) * 2005-09-15 2007-07-10 Microsoft Corporation Enlargement of font characters
CN100533478C (zh) * 2007-07-09 2009-08-26 华南理工大学 基于最优全局仿射变换的汉字合成实现方法
CN104299551B (zh) * 2013-11-28 2016-09-14 中国航空工业集团公司洛阳电光设备研究所 一种平视显示器及提高其笔画字符书写效率的方法
US9418281B2 (en) * 2013-12-30 2016-08-16 Google Inc. Segmentation of overwritten online handwriting input
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム
CN104506786B (zh) * 2014-12-02 2017-07-14 苏州长风航空电子有限公司 一种基于sdram帧存的字符发生器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298945A (en) * 1978-05-12 1981-11-03 Eltra Corporation Character generating method and apparatus
US4674058A (en) * 1981-12-07 1987-06-16 Dicomed Corporation Method and apparatus for flexigon representation of a two dimensional figure
US4703515A (en) * 1985-08-26 1987-10-27 Xerox Corporation Image rotation
US5293472A (en) * 1991-04-22 1994-03-08 International Business Machines Corporation Method of generating lines and curves of user specified thicknesses on a raster device
CN1027472C (zh) * 1992-01-27 1995-01-18 富士通株式会社 文字生成方法及其装置
JP2625612B2 (ja) * 1992-07-20 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション 画像処理方法および画像処理装置
US5734748A (en) * 1993-12-30 1998-03-31 Canon Kabushiki Kaisha Character pattern generation apparatus and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224145A (ja) * 2009-03-23 2010-10-07 Seiko Epson Corp 情報処理装置、制御装置及びプログラム

Also Published As

Publication number Publication date
CN1144140C (zh) 2004-03-31
KR19980033149A (ko) 1998-07-25
US6201553B1 (en) 2001-03-13
CN1181556A (zh) 1998-05-13
JP3563891B2 (ja) 2004-09-08
KR100302163B1 (ko) 2001-11-15
TW373137B (en) 1999-11-01

Similar Documents

Publication Publication Date Title
JP3563891B2 (ja) 文字生成方法及び装置
JP3791259B2 (ja) アウトラインスムージング処理方法
JP3014247B2 (ja) 文字生成方法及びその装置
JP3037854B2 (ja) 文字生成方法及びその装置
JP3344538B2 (ja) 文字生成装置
JPH11224331A (ja) ラスタ画像生成装置およびラスタ画像生成方法
JP3211591B2 (ja) イメージ処理装置
JP3040624B2 (ja) パターン発生装置
JPH10151815A (ja) 印刷処理装置
JPH0264728A (ja) ページ記述言語処理装置
JP3864520B2 (ja) 印刷処理装置及び印刷処理方法
JPH10198333A (ja) アウトライン文字描画装置
JP3651214B2 (ja) 印刷処理装置及び印刷処理方法
JP3210448B2 (ja) 文字処理方法及び装置
JP2710350B2 (ja) 画像処理装置および画像処理装置の画像処理方法
JP2967861B2 (ja) 出力装置
JPH11109939A (ja) 文字発生装置及び方法
JPH11198465A (ja) 文字出力装置
JPH06149224A (ja) 画像出力方法及び装置
JPH0546150A (ja) 斜体文字の描画制御方法
JPH0855224A (ja) 画像処理装置
JPH05246113A (ja) 印刷装置
JP2004326528A (ja) 画像処理装置及び画像処理方法
JPH02118889A (ja) 文字図形塗り潰し回路
JPH03288894A (ja) 文書作成装置及び文書作成方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040402

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: 20040521

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

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

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees