JPH11231858A - 文字図形変形処理装置および方法 - Google Patents
文字図形変形処理装置および方法Info
- Publication number
- JPH11231858A JPH11231858A JP10316111A JP31611198A JPH11231858A JP H11231858 A JPH11231858 A JP H11231858A JP 10316111 A JP10316111 A JP 10316111A JP 31611198 A JP31611198 A JP 31611198A JP H11231858 A JPH11231858 A JP H11231858A
- Authority
- JP
- Japan
- Prior art keywords
- deformation
- character string
- group
- character
- graphic
- 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
Links
Landscapes
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
って変形したい場合に、比較的簡単に変形を実現できる
文字図形変形処理装置及び方法を提供する。 【解決手段】 入力手段1より入力した文字列または図
形群を表示手段11の画面上に表示し、領域指定手段1
2により、変形処理対象の文字列または図形群の表示位
置と大きさとを画面上の領域として指定する。第一の選
択メニュー生成手段5により、変形処理領域についての
変形形状例をメニューとして表示手段11に表示させる
と共に、一つの変形形状を選択指定する。第二の選択メ
ニュー生成手段5により、変形処理対象の文字列または
図形群について与えることができる異なる複数種の変形
効果を示す変形状態例を示す選択メニューとして表示手
段11に表示させると共に、一つの変形状態を選択す
る。文字列または図形群のデータを、変形手段7によ
り、指定された変形形状および状態に変形処理する。
Description
に変形処理することができる文字図形変形処理装置およ
び方法に関する。
System:デスクトップ型の電子出版システム),ワード
プロセッサ,CADシステム(Computer Aided Design
System)等のコンピュータグラフィックス装置でよく使
用されるアウトラインフォント文字や図形は、文字や図
形の輪郭線を代表的に表すサンプル点を算出し、そのサ
ンプル点を通る直線や曲線の線分で近似し、その各々の
線分を発生させるためのベクトル座標点や制御コードの
集合をデータとして記憶していることが多い(以下、ア
ウトラインデータと称す。) これは、ビットイメージで記憶する場合と比べ、高い圧
縮率が得られると共に、フォントのパラメータが、ある
大きさの座標平面(以下、メッシュと称す。)上のベク
トル点として表現されるので、拡大縮小等の数値演算を
フォントデータのベクトル点に行い、その結果を直線や
曲線で補間して展開することにより、品質低下がなく、
滑らかな輪郭の拡大縮小文字等を得ることができる。
て多用な文字や図形を発生させる方法としては、上記の
ように、アウトラインデータ中の座標データに、回転,
拡大縮小,一点透視,傾斜等のユーザの指定に従って、
アフィン変換や投影変換等の幾何学的演算を行うことに
よって変形する方法がある。
複数個の文字や図形を変形する場合は、上記方法を用い
て、文字列や図形群を構成する文字や図形を、入力の際
の基準線に従って1つずつ変形することにより、文字列
や図形群全体を変形している。
図形群全体を、ある枠の形状に合わせて局所的にビット
数を増減させて変形することにより、文字列や図形群全
体を変形する方法もある。
群を構成する文字や図形を、入力の際の基準線に従って
1つずつ変形する方法では、1次元の基準線の変化に応
じた変形しか行うことができない。また、文字列や図形
群を構成する文字や図形を、入力の際の基準線に従って
1つずつ変形し、文字列や図形群全体を一連の規則を持
って一度に変形していないので、ユーザが文字列や図形
群全体の形状を考えながら、それに合うように1つずつ
文字や図形を変形しなくてはならず、大変手間がかか
る。
体を、ある枠の形状に合わせて局所的にビット数を増減
させて変形する方法では、ビットイメージに展開してか
ら画素数を変更させるため、図形の輪郭が鋸歯状になっ
たりする。
状で変形状態を指示するため、例えば、図8に示すよう
な文字や図形の内部の密度が変化したような様々な変形
を行うことができない。
度にある規則性を持って変形したい場合に、比較的簡単
に変形を実現できる文字図形変形処理装置および方法を
提供することにある。
に、本発明は、表示画面上に表示される文字列または図
形群について変形処理して表示する文字図形変形処理装
置において、文字列または図形群を入力する入力手段
と、変形処理対象の文字列または図形群の表示位置と大
きさとを表示画面上の領域として指定する領域指定手段
と、変形処理すべき領域についての変形形状例を第一の
選択メニューとして前記表示画面に表示させる第一の選
択メニュー生成手段と、前記第一の選択メニューから一
つの変形形状を選択指定する変形形状指定手段と、前記
変形処理対象の文字列または図形群について与えること
ができる異なる複数種の変形効果を示す変形状態例を第
二の選択メニューとして前記表示画面に表示させる第二
の選択メニュー生成手段と、前記第二の選択メニューか
ら一つの変形状態を選択する変形状態指定手段と、前記
入力手段より入力した文字列または図形群のデータを、
前記変形形状指定手段および変形状態指定手段により指
定された変形形状および状態に変形するための処理を行
う変形手段と、を有するものである。
を1つの変形単位と考え、該領域を一度に変形すること
により、文字列や図形群を一度に変形するようにしてい
る。
て説明する。
形処理装置の構成図である。
ザの指示等を入力するためのキーボードやマウス等の入
力部1と、入力部1からの指示を各部の制御信号に変換
する入力インタフェース部2と、文字や図形のアウトラ
インデータを記憶しているハードディスク等のアウトラ
インデータ記憶部4と、ユーザの指示でアウトラインデ
ータ記憶部4から目的のアウトラインデータを読み出す
データ選択部3と、読み出したアウトラインデータを一
時記憶するデータバッファ6と、表示部11に表示する
文字や図形の表示位置を計算する表示位置設定部8と、
ユーザの指示で変形領域を設定する領域設定部12と、
文字や図形をどのように変形するかを指定する変形指定
部5と、アウトラインデータに演算を加える変形部7
と、ユーザの指示で表示する文字や図形の大きさを変え
る拡大縮小部13と、アウトラインデータから直線や曲
線の補間線分を発生して輪郭線のドットイメージを作成
する展開部9と、展開されたドットイメージを一時記憶
するビットマップメモリ等の展開バッファ10と、展開
された文字や図形等を表示する表示部11と、切替スイ
ッチ14とから構成されている。
相対位置算出部101と、位置加算部102と、サイズ
除算部103と、サイズ乗算部104と、位置減算部1
05とから構成されている。
に記憶されているアウトラインデータの一例である。
の便宜上、図2(a)に示すように、1.0×1.0の
(x,y)座標に収まる大きさで、輪郭線は直線と3次
のBezier曲線で定義されているとする。3次Be
zier曲線線分は、曲線の始点および終点と2つの制
御点との4つの座標点で定義できる。そこで、アウトラ
インデータ記憶部4は、図2(b)に示すように、デー
タを識別するための識別コード,輪郭を構成する各閉曲
線の区切りを示す閉曲線開始コード,Bezier曲線
で補間することを示す曲線指定コード,データの終わり
を示す終了コード等のコードデータと、直線やBezi
er曲線を発生させるための基準点となるx座標および
y座標を並べた座標データとを並べた形式となってい
る。座標データは、折点の座標を順次並べたもので、B
ezier曲線の2つの制御点は、その前に曲線コード
を入れて区別してある。ただし、アウトラインデータ
は、文字や図形の輪郭を代表する座標点の集合を使って
定義したものであれば、別に上記の例にはこだわらな
い。例えば、1024×1024のサイズの座標平面上
に定義されれたアウトラインデータならば、データを1
024で除算してから変形処理し、その後、再び102
4で乗算することで、本装置をそのまま使用できる。
T」という4文字が横に並んだ文字列を図3(b)に示
すような形状に変形する場合を例にして、本装置の動作
を説明する。
示して文字列や図形群を表示し、表示された文字列や図
形群の中から変形したいものを選び、変形形状および表
示位置を指定して変形する。
きの動作を説明する。
から入力すると、その識別コードがデータバッファ6に
格納される。データバッファ6は、図4に示すように、
表示部11の表示画面上に表示する文字や図形の識別コ
ードと、表示位置,サイズ,変形の有無等の属性データ
とを格納する表示データテーブルを備えている。本装置
では、表示位置は、表示画面上で文字や図形の座標平面
の原点を置く位置で表す。表示画面は、図3に示すよう
に、画面の左下すみを原点とし、上方向にx軸を取り、
右方向にy軸を取っている。また、サイズは、表示画面
での横×縦(x方向×y方向)の長さで表す。変形の有
無は、変形が無い場合は「0」で表され、変形が有る場
合はそれ以外で表される。
力部1から入力すると、その表示位置情報がデータバッ
ファ6の表示データテーブルに格納される。なお、表示
位置設定部8は、表示位置が入力されなかった場合は、
適当な表示位置を算出して、データバッファ6に格納す
る。例えば、文字列を入力して表示する場合には、ユー
ザは、1文字ごとに表示位置を指示しないので、2文字
目以降は、文字が入力される度に、入力方向や隣の文字
との間隔などのフォーマットに従って、自動的に、次の
文字の表示位置を算出し、データバッファ6に格納す
る。
部1から入力すると、そのサイズがデータバッファ6の
表示データテーブルに格納される。なお、サイズが指示
されなかった場合は、原形である1.0×1.0のサイズ
のままである。
次の文字や図形のデータが格納されると、データ選択部
3は、データバッファ6の中の識別コードを読み出し、
読み出した識別コードを持つアウトラインデータをアウ
トラインデータ記憶部4から読み出して、拡大縮小部1
3に送る。
座標データのx座標およびy座標を、データバッファ6
の表示データテーブルに格納されたサイズになるよう拡
大縮小して、展開部9に送る。本装置のアウトラインデ
ータは、原形のサイズが1.0×1.0であるので、単に
サイズのx方向およびy方向の長さをx座標およびy座
標に乗算すれば所望の大きさになる。
大縮小部13により拡大縮小されたアウトラインデータ
が展開部9に出力されるように、切替わっている。
の座標点情報に従って、輪郭線を描画することにより、
ドットイメージに展開し、展開バッファ10に格納す
る。例えば、図2(b)のアウトラインデータを展開し
て図2(a)のドットイメージを作るのであれば、閉曲
線開始コードの次の座標点を始点として次に続く折点座
表までの直線を発生し、さらに次の座標点まで直線をひ
き、その次には曲線のコードがあるので、続く2点を制
御点としてその次の折点までBezier曲線を引く…
という過程を繰り返して、輪郭線に展開する。
展開された文字や図形の表示情報を、データバッファ6
の表示データテーブルに格納された表示位置に表示す
る。このようにして、入力された文字や図形を無変形の
まま表示する。
「TEST」を表示するためには、横方向で間隔0を設
定した後、1文字のサイズが10×10の文字Tを入力
し、表示位置(20,30)を指定すると、データバッ
ファ6の表示データテーブルには、図4に示すような、
1行目の「大文字T」の欄が作成される。そして、デー
タ選択部3によってアウトラインデータ記憶部4から読
み出された文字Tのアウトラインデータが、拡大縮小部
13で、(10×x,10×y)と拡大され、展開部9
によって展開され、表示部11によって、表示画面上の
(20,30)の位置に「T」が表示される。続いて、
「E」,「S」,「T」の3文字についても、「E」,
「S」,「T」を入力すると、その都度、表示位置設定
部6は、例えば、横方向に間隔0として、各文字の表示
位置を計算し、データバッファ6の表示データテーブル
には、図4に示すような、2行目の「大文字E」の欄〜
4行目の「大文字T]の欄が作成される。そして、デー
タ選択部3によってアウトラインデータ記憶部4から読
み出された「大文字E」,「大文字S」,「大文字T」
のアウトラインデータが、拡大縮小部13で、(10×
x,10×y)と拡大され、展開部9によって展開さ
れ、表示部11によって、表示画面上の(30,30)
の位置に「E」が、(40,30)の位置に「S」が、
(50,30)の位置に「T」が、次々と表示され、図
3(a)に示す「TEST」という文字列が表示画面上
に表示される。
れた文字列や図形群の中の任意のものを変形し、変形後
の文字列や図形群を表示するときの動作を説明する。
文字列や図形群の中から変形したいものを選択する。例
えば、「TEST」の4文字からなる文字列を変形した
いときには、ユーザは、表示画面上の4文字をマウス等
で指して選択する。
ると、選択された文字列や図形群を構成する文字や図形
について、データバッファ6の表示データテーブルの変
形の有無欄に「1」が格納される。続いて、領域設定部
12は、選択された文字列や図形群を囲む領域を変形領
域として設定する。変形領域は、上記選択された変形対
象となる文字列や図形群を全て含むようにユーザに設定
させるか、あるいは、本装置が自動的に設定する。変形
対象が文字列の場合は、変形領域を、文字列の全文字を
囲む最小の矩形や文字列の全文字の座標平面を囲む最小
の矩形とすると便利なことが多い。例えば、図3(a)
の「TEST」の4文字を変形対象として選択すると、
領域設定部12は、図5(a)に示すように、変形領域
の始点位置を(20,30)と計算し、変形領域のサイ
ズを(40,10)と計算する。
形するためには、まず、どのように変形するかを指定し
なくてはならない。本装置では、上記のようにして設定
された変形領域を図5(b)に示すようにメッシュと見
立て、そのメッシュの形状の状態で、変形形状を指定す
る。
変形指定部5は、変形例となるメッシュの一覧表を表示
し、その中の1つをユーザに選択させる。そして、変形
部7は、変形対象となる文字列や図形群を、選択された
変形例のメッシュに貼り付いたように変形する。
示するため、メッシュのアウトラインデータを変形す
る。メッシュのアウトラインデータは、文字や図形のア
ウトラインデータと同様の図2に示すデータ構造で、変
形指定部5の内部に記憶されており、展開表示すると、
1.0×1.0のサイズの網目格子の付いた正方形とな
る。図5(b)は、メッシュのアウトラインデータを変
形領域の大きさ(「TEST」の例では40×10)に
拡大して表示した例である。
シュのアウトラインデータに、変形部7の変形演算部1
00で行う変形演算を施すことにより作り出される様々
なメッシュの形状を、変形領域の大きさに拡大縮小して
表示し、変形例として変形形状の一覧表を作る。変形部
7の変形演算部100で行う変形演算についての詳細は
後述するが、本装置では、演算により座標データを移動
させて文字や図形を変形するので、変形演算部100が
演算する座標移動演算式に、目的の形状に対応したパラ
メータを与えることにより変形を実現する。そこで、変
形指定部5は、図6に示すような、変形例となる変形形
状に対して固有のパラメータを記憶している変形パラメ
ータテーブルを備えており、変形パラメータテーブルの
パラメータを順に変形部7に与え、内部に記憶している
メッシュのアウトラインデータを変形部7に変形させ
る。
のアウトラインデータを予めアウトラインデータ記憶部
4に記憶しておき、それらを次々読み出しては、拡大縮
小部13で変形領域の大きさに拡大縮小することによ
り、変形形状の一覧表を作成するようにしてもよい。ま
た、変形領域が大きいときには、全体を縮小したり、数
頁に分けて表示するようにしてもよい。
表が変形形状の選択メニューとなる。図6に示した9種
類のパラメータを使って図5(b)の変形領域のメッシ
ュを変形した変形形状選択メニューの例を図7に示す。
メニューを見て、所望の変形形状を、マウスで指したり
テンキーで番号を入力したりすることにより選択する
と、変形指定部5は、選択された変形形状に従った変形
演算を行わせるためのパラメータを、変形パラメータテ
ーブルから読み出して、変形部7の変形演算部100に
与える。
象となった文字列や図形群を構成する全ての文字や図形
の識別コードを持つアウトラインデータがアウトライン
データ記憶部4から読み出され、拡大縮小部13によっ
て、データバッファ6の表示データテーブルに格納され
ているサイズに拡大縮小されて、変形部7に送られる。
なお、このとき、切替スイッチ14は、拡大縮小部13
からの出力先が変形部7となるように切替わっている。
1が、変形領域内の文字列や図形群を構成する文字や図
形の相対表示位置を算出する。具体的には、変形対象と
なる文字列や図形群の各文字や図形の表示位置から変形
領域の始点位置を減算すればよい。すなわち、領域指定
部12から読み出した変形領域の始点位置を(n,m)
とし、サイズを(N,M)とし、データバッファ6から
読み出した変形対象となる文字列や図形群の各文字や図
形の表示位置を(x0,y0)とすると、相対座標位置
(x1,y1)は、x1=x0−n,y1=y0−mというよ
うに算出することができる。
対座標位置(x1,y1)を変形対象となる文字列や図形
群の各文字や図形のアウトラインデータの各座標データ
に加算する。さらに、サイズ除算部103が、相対座標
位置を加算した座標データを変形領域のサイズで除算
し、変形演算部100に出力する。すなわち、変形演算
部100に出力される変形対象となる文字列や図形群の
アウトラインデータの座標値を(X,Y)とすると、X
=(x+x1)/N,Y=(y+y1)/Mである。
が、常に1.0×1.0のサイズ、すなわち、1つの文字
や図形が定義された座標平面のサイズに対して行われる
ようになっているので、変形領域をそのサイズに変換す
るためである。
3から出力されたアウトラインデータの座標値に、選択
された変形形状にするための変形演算を加える。変形演
算部100については後述する。
サイズ乗算部104で変形領域サイズが乗算され、さら
に、位置減算部105で相対位置が減算されることによ
り、位置加算部102およびサイズ除算部103による
変換の逆変換がなされて、変形処理以前のデータ形式に
戻される。すなわち、変形部7から出力されるアウトラ
インデータの各座標値(x”,y”)は、x”=X”×
N−x1,y”=Y”×M−y2となる。
トラインデータは、展開部9に出力され、無変形時と同
様に、ドットイメージに展開され、表示画面上の表示位
置(x0,y0)に表示される。
領域は、始点位置が(20,30)であり、サイズが
(40,10)であるので、拡大縮小部13が変形例と
なるメッシュのアウトラインデータを(40,10)倍
に拡大し、変形選択メニューが図7に示すように表示さ
れる。ユーザは、変形選択メニューの中から1つの変形
形状を選択する。ここでは、図7の「変形7」を選択し
たとする。
文字を1つずつ変形していく。まず、相対位置算出部1
01が、変形対象文字の相対座標位置を算出するが、1
つ目の「T」の表示位置(x0,y0)は(20,30)
であるので、変形領域の始点に対する表示位置の相対座
標位置(x1,y1)は(0,0)である。算出した相対
座標位置は、位置加算部102に出力される。データ選
択部3によって、アウトラインデータ記憶部4から読み
出された「T」のアウトラインデータは、拡大縮小部1
3でx方向およびy方向共に10倍された後に、変形部
7に入るように切替わった切替スイッチ14を通って位
置加算部102に出力される。位置加算部102は、拡
大縮小部13から出力されたアウトラインデータの座標
データに相対座標位置を加算するが、この場合は、相対
座標位置が(0,0)なので、相対座標位置を加算して
も座標値は変わらない。相対座標位置を加算した座標デ
ータは、サイズ除算部104で、変形領域サイズ(4
0,10)で除算される。すなわち、アウトラインデー
タ記憶部4から読み出された「T」のアウトラインデー
タ中の座標データ(x,y)は、拡大縮小部13からサ
イズ除算部103までで、((x×10−0)/40,
(y×10−0)/10)となって変形演算部100に出
力される。
変形指定部5から既に所望の形状に変形するためのパラ
メータが与えられている。座標データは、演算を加えら
れることによって、所望の変形領域形状の一部となるよ
うな位置に移動する。そして、サイズ乗算部104で、
変形領域のサイズを乗算され、位置減算部105で、相
対位置を減算されて変形前のデータ構造に戻り、変形部
7から出力される。すなわち、変形演算部100から出
力された座標データ(X”,Y”)は、サイズ乗算部1
04および位置減算部105によって、(X”×40−
0,Y”×10−0)となる。変形部7から出力された
アウトラインデータは、展開部9でドットイメージに展
開されて表示画面上の(20、30)の表示位置に表示
される。その結果、図3(b)に示すように、変形した
最初の「T」の文字が表示される。
0)、「S」は相対座標位置(20,0)、最後の
「T」は相対座標位置(30,0)と計算され、同様の
処理を繰り返して、1字ずつ変形された文字が表示さ
れ、図3(b)に示すように、変形した文字列「TES
T」ができあがる。また、図7において、「変形1」〜
「変形6」,「変形8」,「変形9」を指定したときの
文字列「TEST」の変形結果を、それぞれ、図8に示
す。
の上に文字列を重ねて表示してあるが、メッシュを表示
しないようにすることができるのはもちろんであり、さ
らに、図27(a)に示すように、メッシュの外枠の形
の図形を変形した図形に重ねて、変形後の文字列や図形
群を表示し、様々な変形効果を出すこともできる。逆
に、図27(b)に示すように、メッシュの横方向線の
みを、変形後の文字列とは別の色で表示し、様々な変形
効果を出すこともできる。
いて説明する。
る。
部5によって与えられたパラメータを演算部72に出力
する。
分に分かれている。図16にこの3種の変形を例示す
る。無変形状態、すなわち、左側に示した状態では、座
標平面のメッシュは、等間隔の網目状の直線格子で区切
られた正方形である。その等間隔の座標平面の格子密度
を、例えば、図16(a)に示すように、x方向,y方
向それぞれにある方向に偏らせるような格子密度の変更
を行う部分(格子密度変更部721)と、無変形状態で
は直線の座標平面の格子線質を、例えば、図16(b)
に示すように、円弧やsinカーブに変更するような格
子線質の変更を行う部分(格子線質変更部722)と、
無変形状態では正方形となっている座標平面を、例え
ば、図16(c)に示すように、任意の四辺形とするよ
うに、座標平面の4頂点の位置の変更を行う部分(頂点
位置変更部723)である。これらの変形処理部分は、
格子密度変更部721,格子線質変更部722,頂点位
置変更部723の順につながっている。
れ、いくつの演算式が入っていてもよいが、その中か
ら、1つの演算式とパラメータを設定して使用する。1
種類の変形処理部分から2つの演算を選んで使用するこ
とはできない。例えば、座標平面の4頂点位置が長方形
の頂点となるような変形と、台形の頂点となるような変
形とを同時に行うことはできない。また、本例のように
複数種の変形を行うときは、その各々の変形処理部分に
おける演算は、それぞれ、他の変形処理部分における演
算に影響を与えないものでなくてはならない。すなわ
ち、格子線密度変更部721の中のどの演算による変形
も、格子の線質や4頂点の位置を変えず、また、格子線
質変更部722の中のどの演算による変形も、格子密度
や4頂点の位置を変えないものでなくてはならない。同
様に、頂点位置変更部723で変形した後も、格子線は
直線のままで、1本の格子線を横切る格子線の間隔は等
間隔のままでなくてはならない。
れ1つずつの演算式による演算回路が入っている。本装
置の演算式は、変形前の座標を(X,Y)、変形後の座
標を(X”,Y”)とすると、例えば、格子密度変更部
721の演算式は図14の式で、格子線質変更部72
2の演算式は図14の式で、頂点位置変更部723の
演算式は図14の式で、それぞれ、表される。上記3
つの式は、それぞれ、6個のパラメータ(pp,p,p
0,qq,q,q0),12個のパラメータ(sa,s
b,sc,sd,se,sf,ta,tb,tc,t
d,te,tf),6個のパラメータ(a,b,c,
d,e,f)を持っており、格子線密度変更部721の
演算式に与える6個のパラメータは、座標平面x方向,
y方向の格子密度の偏りの度合いと偏りの中心を変え、
格子線質変更部722の演算式に与える12個のパラメ
ータは、線のうねり具合や回数を変え、頂点位置変更部
723の演算式に与える6個のパラメータは、文字や図
形の全体形状や大きさを変える。これらのパラメータの
値は、上記3式が互いに他の変更部による変形の影響を
与えないように範囲が制限されている。
ラメータを出力すると、データ制御部73に演算開始指
示を出力する。データ制御部73は、データバッファ6
のアウトラインデータをコードデータと座標データに分
けつつ、識別コードや制御コードはそのまま出力し、座
標値データは演算部72に演算させてから出力する。こ
れにより、変形し展開表示されたメッシュと同様の変形
をして、文字列や図形群が展開表示される。
変更は、文字や図形を寸づまりにさせ、格子線質の変更
は、文字や図形に揺らぎや凹凸感を与え、頂点位置の変
更は、文字や図形をいびつにする効果を与えるなど、3
種の演算で複雑な変形を実現できる。また、不規則な形
状の文字や図形を直接変形するには、その図形の変形後
の形状をなんらかの手段で表現しなくてはならないが、
座標平面をメッシュを考えて、メッシュを変形すると、
変形後のイメージに従った指示が行いやすい。
変形演算は、本例に限らず、メッシュを変形させる効果
のあるものならば、例えば、図14の式に示すよう
な、メッシュの外枠4辺を円弧状にするような演算が1
つだけ入っていてもよく、また、従来のアフィン変換や
投影変換等、どのような演算でもよい。
すようなアウトラインデータを格子線質変更部722で
変形したときなどに起こる歪の補正方法について説明す
る。図17は補間線補正部74の構成図である。補間線
補正部74は、格子線質変更部722によって引き起こ
される、文字や図形の潰れを補正する部分である。格子
線質変更部722によって起こる潰れとは、本装置の変
形機能が、輪郭線の基準点であるアウトラインデータの
座標値にのみ変形演算を加えた後、無変形時と同様に、
展開、すなわち、演算した基準点を直線や曲線で補間し
て輪郭線を再現するため、補間する線と変形した格子線
との線質の相違により、図18に示すように、図形輪郭
線が潰れてしまう現象である。この現象は、直線で補間
する部分を持つアウトラインデータに、格子線質を曲線
に変更を行ったときによく起こる。
する部分をいくつかに内分割する基準点を発生させ、該
発生させた基準点に変形演算を行うことにより、輪郭線
の潰れを緩和する。変形指定部5から与えられたパラメ
ータのうち、格子線質変更のパラメータが無変形でない
とき、演算コントローラ71は、データ制御部73と補
間線補正部74に補間線の補正を指示する。補正がない
ときには、アウトラインデータは、データ制御部73で
座標値データとコードデータに判別されて、座標値デー
タのみ演算が加えられるが、補正するときは、補間線補
正部74が座標値データとコードデータの判別も補正と
合わせて行う。
ンデータを順次読み込んで、コードデータはそのまま出
力し、座標データならば線質判定部112に出力する。
線質判定部112は、読み込んだ座標データが曲線の基
準点の座標データの場合は補正しないので、1本分の曲
線座標データを演算部72に送り、演算結果を出力す
る。また、読み込んだ座標データが直線の基準点となる
座標データの場合は、1本分の直線座標データを補正直
線発生部113に送る。補正直線発生部113は、該直
線の基準点から発生する1本の線分をある一定の長さ以
下の複数の線分となるように分割し、該分割した各線分
を発生するための基準点となる座標データを作成して、
元の1本の線分の基準点座標データの代わりに演算部7
2へ送り、変形演算した座標データを出力する。線分の
長さの最大値をいくつにするかは、分割数変更スイッチ
114で指定する。本装置のアウトラインデータ例で
は、直線は、特にコード付けずに終点(始点)となる座
標を並べているだけなので、上記内分割点の座標を次々
演算部72に送って出力させればよい。
線5本で作成される5角形のアウトラインデータを考え
ると、補正なしに格子線質を全体形状が円となるような
円弧に変更したときは、演算後は、図19(b)に示す
ような座標データとなって図形が潰れる。上記の補正を
行った場合、1本の線分を長さ0.125以下にしたと
すると、変形部7から出力されるアウトラインデータ
は、図20に示すようになり、期待した変形となる。
る。図21の補間線補正部74は、直線部分を曲線にし
てしまうことによって、輪郭線の潰れを防ぐようにす
る。本装置の例では、曲線部分の輪郭線はBezier
曲線を使用しているため、変形前と変形後のアウトライ
ンデータの形式を一致させるように、直線部分はBez
ier曲線に入替えている。
は、座標値データかコードデータかを判断し、コードデ
ータはそのまま出力し、座標データは線質判定部122
に出力する。線質判定部122は、曲線の基準点の座標
データならば、前例と同様に演算部72に送る。直線の
座標データは、線分分割部123に送られる。線分分割
部123は、受け取った直線の座標データを、複数本の
曲線に置き換える場合に備えて、直線をいくつかに分割
する。分割数は、分割数変更スイッチ124で変更でき
る。1本の直線から1本の曲線線分を発生する場合は分
割しなくてよい。1本の直線から1本の曲線線分を発生
するには、本装置のBezier曲線線分のデータの場
合には、曲線の終点と始点の他に、曲線コードと2つの
制御点の座標が必要であるため、制御点を発生し、コー
ドデータをつけ加えることになる。制御点発生部125
は、直線線分の終点および始点を曲線線分の終点および
始点とし、2つの制御点を算出する。そして、コード発
生部126は、曲線のコードを出力した後で、2つの制
御点と終点の座標データを出力する。
22に示すように、直線線分の中点が変形によって移動
した移動先の座標を曲線が通過するように定めることが
できる。すなわち、直線線分の始点と終点を(x1,y
1),(x3,y3)とすると、その中点(x2,y
2)を求めて、演算部72に通して変形後の座標位置
(x1,y1),(x3,y3)(x2,y2)を計算
させ、その結果から制御点(a1,b1),(a2,b
2)を算出できる。算出式は、図14の式および式
で与えられる。
の終点座標が次の線分の始点となり、曲線指定コードに
続く2点が曲線制御点となっているので、曲線指定のコ
ードに続けて、(a1,b1),(a2,b2)を出力
し、さらに、終点(かつ、次の線分の始点)の(x3,
y3)を演算部72で計算した結果を出力する。以上を
繰り返して、直線を曲線に置き換える。図19の例で
は、図21の補間線補正部74によって、図23に示す
ように変形したアウトラインデータが作成され、閉曲線
の潰れが解消される。また、複雑な変形の場合、1本の
直線を1本の曲線に置き換えるだけでは潰れを防げない
場合がある。そのときには、線分分割部123で分割し
たそれぞれの線分について、各々の線分を上記と同様に
して複数本の曲線線分に置き換えればよい。
1の補間線補正部74で補正した結果を、それぞれ、図
24(a)と図24(b)にそれぞれ示す。どちらの場
合でも、期待した効果を得ていることがわかる。
文字列や図形群を選択すると、自動的に変形領域が決ま
る例について主に説明したが、変形領域の指定をユーザ
に行わせることで、同じ文字列や図形群を変形対象とし
ても、図9に示すように、変形領域を変えることによ
り、各々の文字や図形の変形形状を変えることができ
る。なお、この場合、ユーザは、変形領域を矩形状に指
定しなければならない。
変形する際に、変形領域を「TEST」の文字列が上の
方にくるような正方形の領域を変形領域とした場合の例
であり、変形領域が円になるように変形すると、片方が
膨らんだ形の局所的な変形効果を得ることができる。
形例を一覧表示したものを変形形状選択メニューとして
いたが、図10に示すように、変形した文字列をそのま
ま変形形状選択メニューとしてもよい。
択メニューから変形形状を選択するようにしていたが、
変形形状をユーザに指定させるようにしてもよい。すな
わち、ユーザに無変形のメッシュの頂点位置等を移動さ
せて、変形メッシュを作らせ、該変形メッシュの頂点位
置等から座標移動演算式のパラメータを逆算することに
より、文字列や図形群を変形させる。
まず、ユーザは、入力部1から変形種を選択して入力す
る。変形種とは、上記の格子密度,格子線質,頂点位置
の3種である。続いて、該変形種による変形で、どのよ
うにどの程度の変形を行うかを指定する。
式による座標移動演算は、x,y方向それぞれについ
て、格子間隔がある格子線に向かって偏る効果を与える
ので、その偏りの中心となる格子線と偏りの度合いを、
図11に示すような表示画面で、ユーザは、表示された
メッシュの格子で、x,y両方向の偏りの中心となる格
子が何本目の格子であるかを指定し、さらに、該中心に
指定した格子に向かってどの程度密または粗になるのか
を指定する。
よる座標移動演算は、格子線を波状にうねらせるので、
図12に示すような表示画面で、ユーザは、線のうねり
状態を、x,y方向につきそれぞれ選び、うねりの大き
さを指定する。
よる座標移動演算は、変形領域のメッシュの4頂点の位
置を移動させる効果があるので、図13に示すような表
示画面で、ユーザは、頂点位置を所望の形状になるまで
移動させる。
と入力した変形方法に基づいて、座標移動演算式のパラ
メータを逆算し、変形部7に出力する。すなわち、格子
密度の場合に指定された偏りの中心となる格子の格子番
号をp0とq0に換算し、偏りの度合いをpとqに換算
し、その値からppとqqを算出する。格子線質の場合
は、それぞれのうねり状態に対する各パラメータを記憶
した変換マトリクスと照らし合わせ、sa,sb,s
c,sd,se,sf,ta,tb,tc,td,t
e,tfを読み出し、これらにうねりの大きさを反映す
る。また、頂点位置の場合は、計算式でパラメータを算
出する。頂点位置のパラメータの計算式は、頂点(1,
0),(1,1),(0,1)が変形した後、(x1,
y1),(x2,y2),(x3,y3)に移動したと
すると(正方形を移動せずに任意の四辺形にするには、
原点不変で3頂点位置だけ変えればよい。)、パラメー
タは、a=x1,b=x2−x1−x3,c=x3,d
=y1,e=y2−y1−y3,f=y3である。ま
た、このとき、原点(0,0)を(x0,y0)に変更
すると、変形領域ごと変形対象図形を全て移動させるの
と同じことになる。そのときは、原点の移動量(x0,
y0)を各変形対称図形の表示位置に加算した位置に、
変形した図形を表示すればよい。ただし、変形演算パラ
メータあは、a=x1−x0,b=x2−x1−x3+
x0,c=x3−x0,d=y1−y0,e=y2−y
1−y3+y0,f=y3−y0になる。
ると、ユーザは、かなり自由に所望の変形形状を指定す
ることができる。
ーブルに、表示する図形アウトラインデータを記憶する
欄を追加し、アウトラインデータ記憶部4から読み出し
たデータではなく、図25に示すように、データバッフ
ァ6に記憶したアウトラインデータを変形部7が変形処
理するようにすると、図形や文字を何度も繰返して変形
することができる。
うに、最初に2行の文字列を表示させたとすると、この
とき、図25のデータバッファ6には、アウトラインデ
ータ記憶部4から読み出されたアウトラインデータを拡
大縮小部13が拡大縮小処理をしたものが格納されてい
る。この状態で、上の3文字を囲む変形領域を設定し
て、下の2文字と同じ幅になるように変形させるよう指
示する。すると、データバッファ6に格納されているM
APの3文字に対応するアウトラインデータが、変形部
7で処理されて出力され、データバッファ6の変形前の
アウトラインデータと書き換わる。アウトラインデータ
が書き換わると、展開部9がデータを展開し、表示部1
1が表示し、図26の(2)に示すように表示される。
次に、新ためて変形領域を2行5文字を囲むように設定
し直し、図7の変形1のように変形させるよう指示する
と、同様の過程を繰り返して、図26の(3)に示すよ
うに表示される。
や図形群の変形は、変形する文字列や図形群がどのよう
に配置されていてもよい。つまり、文字ならば、英文プ
ロポーショナルによって文字の座標平面が重なり合うよ
うに配置されていても、何行に渡っていてもよく、その
ような文字列の周りにイラスト図形がちりばめられたよ
うな画面の任意の図形群を選んで、何度でも変形するこ
とができる。
複数個の文字や図形からなる文字列や図形群を、比較的
簡単に、一度に全体がある形状にあるように変形するこ
とができるという効果がある。
の構成図。
説明図。
説明図。
説明図。
図。
図。
明図。
の構成図。
図。
選択部、4…アウトラインデータ記憶部、5…変形指定
部、6…データバッファ、7…変形部、8…表示位置設
定部、9…展開部、10…展開バッファ、11…表示
部、12…領域設定部、13…拡大縮小部、14…切替
スイッチ、100…変形演算部、101…相対位置算出
部、102…位置加算部、103…サイズ除算部、10
4…サイズ乗算部、105…位置減算部、71…演算コ
ントローラ、72…演算部、73…データ制御部、74
…補間補正部、721…格子密度変更部、722…格子
線質変更部、723…頂点位置変更部。
Claims (10)
- 【請求項1】 表示画面上に表示される文字列または図
形群について変形処理して表示する文字図形変形処理装
置において、 文字列または図形群を入力する入力手段と、 変形処理対象の文字列または図形群の表示位置と大きさ
とを表示画面上の領域として指定する領域指定手段と、 変形処理すべき領域についての変形形状例を第一の選択
メニューとして前記表示画面に表示させる第一の選択メ
ニュー生成手段と、 前記第一の選択メニューから一つの変形形状を選択指定
する変形形状指定手段と、 前記変形処理対象の文字列または図形群について与える
ことができる異なる複数種の変形効果を示す変形状態例
を第二の選択メニューとして前記表示画面に表示させる
第二の選択メニュー生成手段と、 前記第二の選択メニューから一つの変形状態を選択する
変形状態指定手段と、 前記入力手段より入力した文字列または図形群のデータ
を、前記変形形状指定手段および変形状態指定手段によ
り指定された変形形状および状態に変形するための処理
を行う変形手段と、 を有することを特徴とする文字図形変形処理装置。 - 【請求項2】 表示画面上に表示される文字列または図
形群について変形処理して表示する文字図形変形処理装
置において、 変形処理対象の文字列または図形群の表示位置と大きさ
とを表示画面上の領域として指定する領域指定手段と、 変形処理すべき領域についての変形形状例を第一の選択
メニューとして前記表示画面に表示させる第一の選択メ
ニュー生成手段と、 前記第一の選択メニューから一つの変形形状を選択指定
する変形形状指定手段と、 前記変形処理対象の文字列または図形群について与える
ことができる異なる複数種の変形効果を示す変形状態例
を示す第二の選択メニューとして前記表示手段に表示さ
せる第二の選択メニュー生成手段と、 前記第二の選択メニューから一つの変形状態を選択する
変形状態指定手段と、 前記変形処理対象の文字列または図形群のデータを、前
記変形形状指定手段および変形状態指定手段により指定
された変形形状および状態に変形するための処理をおこ
なう変形手段と、 を有することを特徴とする文字図形変形処理装置。 - 【請求項3】 請求項1および2のいずれか一項に記載
の文字図形変形処理装置において、 前記第二の選択メニュー生成手段は、文字列または図形
群を表示する際の配置を決める基準となる格子の間隔に
ついての密度変化の状態を、変形効果を示す変形状態例
として表示させることを特徴とする文字図形変形処理装
置。 - 【請求項4】 請求項3に記載の文字図形変形処理装置
において、 前記第二の選択メニュー生成手段は、表示画面の横方向
に変化する密度変化と、表示画面の縦方向に変化する密
度変化についてそれぞれ変形状態例を第二の選択メニュ
ーとして前記表示画面に表示させ、 前記変形状態指定手段は、前記横方向および縦方向の一
方または双方の変形状態についての指定を受け付けるこ
とを特徴とする文字図形変形処理装置。 - 【請求項5】 請求項1、2、3および4のいずれか一
項に記載の文字図形変形処理装置において、 文字または図形を、その輪郭線を構成する直線または曲
線の集合情報であるアウトラインデータの形式で記憶す
るアウトラインデータ記憶手段を有し、 前記変形手段は、アウトラインデータ記憶手段から変形
対象の文字列または図形群を読み出して変形処理を行う
ことを特徴とする文字図形変形処理装置。 - 【請求項6】 請求項1および2のいずれか一項に記載
の文字図形変形処理装置において、前記変形処理手段に
より変形処理を施した文字列または図形群のアウトライ
ンデータを、再度前記変形処理手段に送って繰り返し変
形演算を施す手段を有することを特徴とする文字図形変
形処理装置。 - 【請求項7】 表示画面上に表示される文字列または図
形群について変形処理して表示する文字図形変形処理装
置において、 変形すべき文字列または図形群について、それらの文字
列または図形群を表示する際の基準となっている格子の
間隔の密度を変化させて、文字列または図形群を変形さ
せる処理を行うと共に、変形処理した文字列または図形
群を前記表示画面に表示させる変形手段と、 前記変形手段が行う変形処理に対応する格子間隔の密度
変化の例を選択メニューとして前記表示画面に表示させ
る手段と、 前記表示された選択メニューからいずれかの密度変化の
例についての選択を受け付ける手段とを備え、 前記変形手段は、前記選択された密度変化に応じて文字
列または図形群を変形させる処理を行うこと、を特徴と
する文字図形変形処理装置。 - 【請求項8】 請求項1〜7のいずれか一項に記載の文
字図形変形処理装置において、 前記変形手段は、前記文字列または図形群のデータに含
まれる直線部分を曲線または曲線近似にする変形を含め
て、前記指定された変形形状に変形する処理をおこなう
ことを特徴とする文字図形変形処理装置。 - 【請求項9】 表示画面上に表示される文字列または図
形群について変形処理して表示する文字図形変形処理方
法において、 文字列または図形群の入力を受け付け、 入力された文字列または図形群を前記表示画面上に表示
し、 変形処理対象の文字列または図形群の表示位置と大きさ
とを表示画面上の領域として指定する指示を受け付け、 変形処理すべき領域についての変形形状例を第一の選択
メニューとして前記表示画面に表示し、 前記第一の選択メニューから一つの変形形状を選択指定
する指示を受け付け、 前記変形処理対象の文字列または図形群について与える
ことができる異なる複数種の変形効果を示す変形状態例
を第二の選択メニューとして前記表示画面に表示し、 前記第二の選択メニューから一つの変形状態を選択する
指示を受け付け、 前記入力された文字列または図形群のデータを、前記変
形形状指定手段および変形状態指定手段により指定され
た変形形状および状態に変形するための処理を行うこと
を特徴とする文字図形変形処理方法。 - 【請求項10】 請求項9に記載の文字図形変形処理方
法において、 前記変形するための処理は、前記文字列または図形群の
データに含まれる直線部分を曲線または曲線近似にする
変形を含めて、前記指定された変形形状に変形する処理
を含むことを特徴とする文字図形変形処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31611198A JP3170249B2 (ja) | 1991-11-07 | 1998-11-06 | 文字図形変形処理装置および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31611198A JP3170249B2 (ja) | 1991-11-07 | 1998-11-06 | 文字図形変形処理装置および方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29173491A Division JP3164617B2 (ja) | 1991-11-07 | 1991-11-07 | 文字図形変形処理装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11231858A true JPH11231858A (ja) | 1999-08-27 |
JP3170249B2 JP3170249B2 (ja) | 2001-05-28 |
Family
ID=18073382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31611198A Expired - Lifetime JP3170249B2 (ja) | 1991-11-07 | 1998-11-06 | 文字図形変形処理装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3170249B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016091558A (ja) * | 2014-10-31 | 2016-05-23 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
-
1998
- 1998-11-06 JP JP31611198A patent/JP3170249B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016091558A (ja) * | 2014-10-31 | 2016-05-23 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3170249B2 (ja) | 2001-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3164617B2 (ja) | 文字図形変形処理装置および方法 | |
US5159668A (en) | Method and apparatus for manipulating outlines in improving digital typeface on raster output devices | |
US5489920A (en) | Method for determining the optimum angle for displaying a line on raster output devices | |
JP3479282B2 (ja) | 文字図形変形処理装置 | |
JP3170249B2 (ja) | 文字図形変形処理装置および方法 | |
JPH03119387A (ja) | デジタル活字面の輪郭を形成する方法およびその装置 | |
JP3164795B2 (ja) | 文字図形変形処理装置および方法 | |
JP2999019B2 (ja) | 文字図形変形処理装置 | |
US6144765A (en) | Figure processing method | |
JP2001242849A (ja) | 文字図形変形処理装置 | |
JP3274850B2 (ja) | 文字図形変形処理装置および処理方法 | |
JP2003006552A (ja) | シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム | |
JPH06110442A (ja) | 文字図形処理装置、及び文字または図形の変形処理方法 | |
JP2806679B2 (ja) | 文字発生装置 | |
JP3280160B2 (ja) | 文書処理装置および文書処理方法 | |
JPH1115994A (ja) | 曲面作成方法 | |
JP2721344B2 (ja) | 画像処理方法 | |
JP2949594B2 (ja) | 動画表示装置 | |
JP2000066655A (ja) | 文字図形変形処理装置 | |
JPH04177294A (ja) | ベクトルフオント展開装置 | |
JP2780496B2 (ja) | 描画装置のクリッピング処理方式 | |
JP2006201331A (ja) | デジタル画像表示方法、デジタル画像表示装置、デジタル画像表示プログラム、デジタル画像表示プログラムを記録した記録媒体 | |
JPH04146485A (ja) | 字体作成装置および情報処理システム | |
JPH06149964A (ja) | 画像処理装置 | |
JPH0283589A (ja) | 表示装置の文字サイズ表現方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090316 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090316 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100316 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120316 Year of fee payment: 11 |