JP4005793B2 - Intelligent font having information such as stroke order, creation method thereof, and rendering method thereof - Google Patents

Intelligent font having information such as stroke order, creation method thereof, and rendering method thereof Download PDF

Info

Publication number
JP4005793B2
JP4005793B2 JP2001348121A JP2001348121A JP4005793B2 JP 4005793 B2 JP4005793 B2 JP 4005793B2 JP 2001348121 A JP2001348121 A JP 2001348121A JP 2001348121 A JP2001348121 A JP 2001348121A JP 4005793 B2 JP4005793 B2 JP 4005793B2
Authority
JP
Japan
Prior art keywords
information
typeface
character
vector
weight
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
JP2001348121A
Other languages
Japanese (ja)
Other versions
JP2003150144A5 (en
JP2003150144A (en
Inventor
恭男 渡部
昌三 立身
Original Assignee
株式会社テオン
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 株式会社テオン filed Critical 株式会社テオン
Priority to JP2001348121A priority Critical patent/JP4005793B2/en
Publication of JP2003150144A publication Critical patent/JP2003150144A/en
Publication of JP2003150144A5 publication Critical patent/JP2003150144A5/ja
Application granted granted Critical
Publication of JP4005793B2 publication Critical patent/JP4005793B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【0001】
【発明が属する技術分野】
本発明は、ワープロ専用機やワープロソフトに使用されている書体形式であるフォントに関するものである。
【0002】
【従来の技術】
従来、ワープロ専用機やワープロソフトに使用されている書体形式は、ドットフォントが実用に共されている。
実用のドットフォントは、拡大するとギザギザが目立った文字になるという重大な欠点があった。この状態を図2(a)に示す。
【0003】
この改善策として、トゥルータイプフォントに代表されるアウトラインフォントが開発された。このアウトラインフォントは、ドットフォントに比較すると、拡大してもギザギザがなくなり、なめらかな表現になるので、現在、アウトラインフォントが主流になってきている。
【0004】
しかし、アウトラインフォントは、文字詰め等に頻繁に利用されるフォントの長体平体化により、とりわけ拡大すると縦棒と横棒のバランスが崩れた文字となる欠点がある。この状態を図2(b)に示す。
さらに、アウトラインフォントは、アウトライン(輪郭)を描画し、中を塗りつぶすことによって文字を生成するため、2段階の描画手順となり、描画速度で劣る問題があった。
また、従来のドットフォント或いはアウトラインフォントは、1書体を作成するには、必要な文字すべて(JISでは約7千文字)をデザインし、デジタル化することが必要であった。
さらに、日本を含む漢字圏においては、今後、筆順などの情報が欲しくても、アウトラインフォントは、そのフォント生成過程により、拡張性に限界を有している。
【0005】
【発明が解決しようとする課題】
解決しようとする問題点は、現在、フォントの主流であるアウトラインフォントでは、表現力に限界があり、業界からフォントに要求される性能に応えることができない点である。
【0006】
【課題を解決するための手段】
本発明は、従来のフォント技術とは根本的に異なる、筆順に従った中心線情報を解析し、この中心線に対する距離や先端情報・角情報などの外郭データを解析し、これらのデータを中心線に持たせ、データベース化することでインテリジェントフォントとすることを最も主要な特徴とする。
【0007】
先ず、本発明を説明する際に使用する用語の定義や解説を述べる。
部首とは、文字を構成する要素である。
部品とは、部首を構成する要素である。
書体とは、特定のコード体系に対応するすべての文字を用意した文字の集合体である。
コード体系の種類には、JISコード体系(日本で使用)、シフトJISコード体系(日本語DOS等で使用)、EUCコード体系(UNIXで使用)、BGコード体系(中国で使用)、CNSコード体系(中国で使用)、KSCコード体系(韓国で使用)、ユニ(UNI)コード体系(WindowsNTで使用)などがある。
ファミリー書体とは、同一の特徴を有する太さなどの違う書体の集合である。
ウェイトとは、ファミリー書体で太さなどの違う書体を区別するための名称である。ウェイト1〜ウェイト12で表現し、ウェイト1を細い書体、ウェイト12を太い書体として使用する。
【0008】
以下は、インテリジェントフォントのデータベースを説明するために使用する用語の説明である
基準点とは、ローカル座標系の原点のことであるリスト構造とは、項目がある順序にしたがって並んでいる集合のことである。
ブロックとは、同一の性質を持つ情報を集めた集合である。
オフセットとは、ブロックの先頭からのデータ位置である。
定義場所(定義位置)とは、データが格納されているファイル名、またはファイルの先頭からの位置である。
【0009】
本発明に係るインテリジェントフォントは、筆順などの高度な情報を持つことを特徴とし、文字を構成する中心線ベクトルと書体を特徴付ける太さや角情報などを持った部品を組み合わせることによって文字を生成することを特徴とする。
本発明に係るインテリジェントフォントは、データベース(以下、DBと略す。)管理情報、文字基本情報、文字基本ウェイト情報、書体変形情報、書体ウェイト変形情報、書体部品情報、書体部首情報、描画用書体情報、などから構成される。
本発明に係るインテリジェントフォントの全体的な概念図を図1に示す。
【0010】
さらに、データベースの構造を図16及び図17に示す。以下に詳述する。
「DB管理情報」
フォントのコード体系は、シフトJISコード体系、ユニ(UNI)コード体系、EUCコード体系などが使用できる。これらの情報はそれぞれのコード体系テーブルにまとめられる。
DB管理情報は、DB管理テーブル、コード体系管理情報、コード体系テーブル、基本情報テーブル、書体管理テーブル、書体コード体系管理情報、書体コード体系テーブル、書体部品テーブル、書体部首テーブル、書体変形情報テーブル、描画用書体管理テーブルからなる。
DB管理テーブルには、データブロック個数、ブロック識別番号およびコード体系管理情報の定義場所、文字基本情報の定義場所、文字基本ウェイト情報の定義場所、書体管理テーブルの定義場所が格納される。
コード体系管理情報には、コード体系テーブルの個数、コード体系テーブル識別番号、コード体系テーブルの定義場所が格納される。
コード体系テーブルには、コード及びコードに対応した基本情報テーブルのオフセット値が格納される。
基本情報テーブルには、コードに対応した文字の文字基本情報のオフセット値及び、文字基本ウエイト情報のオフセット値が格納される。
書体管理テーブルには、書体名、書体コード体系管理情報の定義場所、書体部品テーブルの定義場所、書体部首テーブルの定義場所、書体変形情報テーブルの定義場所、書体変形情報の定義場所、書体ウェイト変形情報の定義場所、書体部品情報の定義場所、書体部首情報の定義場所、描画用ウェイト書体管理テーブルが格納される。
書体部品テーブルには、書体部品数、書体部品識別番号、書体部品情報のオフセットを格納する。
書体部首テーブルには、書体部首数、書体部首識別番号、書体部首情報のオフセットを格納する。
書体コード体系管理情報には、書体コード体系テーブル個数、書体コード体系テーブル識別番号、書体コード体系テーブル定義場所を格納する。
書体コード体系テーブルには、コード及びコードに対応した書体基本テーブルのオフセット値が格納される。
書体変形情報テーブルには、コードに対応した文字の書体変形情報のオフセット値、及び書体ウエイト変形情報のオフセット値が格納される。
描画用書体管理テーブルには、描画書体数、それぞれの描画用書体に書体名、ウェイト、描画用書体情報定義場所を格納する。
【0011】
「文字基本情報」
文字基本情報は、インテリジェントフォントの基本的構造であり、全書体に共通する情報を持つ。
文字基本情報の構成要素は、文字を構成する部首情報を格納する部首リスト情報、部首を構成する部品情報を格納する部品リスト情報、文字の骨格をなす中心線ベクトル、筆順情報、その他文字に対して全書体に共通する情報などである。
中心線ベクトルは、図11に示されるように、塗りつぶされた文字の両端から同一幅を取って生成するものである。
部首情報は、部首番号と部品リンク情報からなる。
部品情報は、部品番号と中心線ベクトルの制御点とからなる。
部品番号は、部品に対して、整数の数字を付したものである。
文字基本情報の中心線ベクトルは、全ての書体の書体変形情報の元となる情報である。
文字基本情報の部首リンク情報と部品リンク情報はリスト構造になる。
文字基本情報の中心線ベクトルは複数の点を有する曲線で構成される。
点は、点の属性と、点の座標値を持つ。
点の属性は、終点、曲線、制御点、連続点の区別を持ち、4ビットを使用する。
第1ビット目(即ち、1)を終点、第2ビット目(即ち、2)を曲線、第3ビット目(即ち、4)を制御点、第4ビット目(即ち、8)を連続点とする。なお、0は直線である。
点の記述は(属性、X座標、Y座標)とする。
曲線は、ベジェ曲線を使用するが、他の曲線(NBAS曲線等)も使用できる。
以下の記載においても同様である。
文字基本情報の中心線ベクトルの数は、画数と同じ数である。
文字基本情報の中心線ベクトルは、部品リンク情報に付随する。
筆順情報は、部品リンク情報のリンク順である。
部首リンク情報に格納される番号は、漢和辞典の部首索引に画数毎に掲載されている部首に番号を付し、同じ部首であっても形状が違うものにおいては次の番号を付し区別して使用する。
部品リンク情報に格納される番号は、横棒、縦棒、釣針はね、かぎはね、かぎ棒、かぎ払い、けものはね左はね棒、右はね、左払い、右払い、横流れ、うちあげ、さんずい、点、長点、しんにゅうなどに番号を付して使用する。
文字基本ウェイト情報は、ウェイト(太さなど)の違う書体を生成するときに必要な情報を持つものである。
文字基本ウェイト情報の構成要素は、中心線ベクトルの移動変形情報、部品の太さ変形情報及び、文字を判別するために必要な島情報(黒い部分に囲まれた白い部分の情報)などである。島情報については、図8に示す。
文字基本ウェイト情報は、ウェイトの違う書体を生成するための基本的構造である。文字基本ウェイト情報は、ウェイトの変化に伴う部品の位置の変化、形の変化、太さの変化に対応するために、中心線ベクトルの移動変形情報、部品の太さ変形情報を持つ。
文字基本ウェイト情報は、文字を判別するために必要な島(白い部分)を残すために、島情報を持つ。
文字基本ウェイト情報は、全ての書体の書体ウェイト変形情報の元となる情報である。文字基本ウェイト情報には、ウエイト1、ウエイト12のウエイト情報を格納する。
中心線ベクトルの移動変形情報は、文字基本情報の中心線ベクトルを構成する点座標の移動情報として持つものである。
部品の太さ変形情報は、中心線ベクトルを構成する点座標に太さの変化情報として持つものである。
島情報は、文字の島(白い部分)を囲む中心線ベクトルとの関係をリンク構造で持つものである。
【0012】
「文字基本ウェイト情報」
文字基本ウェイト情報は、ウェイト(太さなど)の違う書体を生成するときに必要な情報を持つ。文字基本ウェイト情報の構成要素は、中心線ベクトルの移動変形情報、太さ情報及び、文字を判別するために必要な島情報(黒い部分に囲まれた白い部分の情報)などである。
文字基本ウェイト情報は、ウェイトの違う書体を生成するための基本的構造である。
文字基本ウェイト情報は、ウェイトの変化に伴う部品の位置の変化、形の変化、太さの変化に対応するために、中心線ベクトルの移動変形情報、太さ情報を持つ。
文字基本ウェイト情報は、文字を判別するために必要な島(白い部分)を残すために、島情報を持つ。
文字基本ウェイト情報は、全ての書体の書体ウェイト変形情報の元となる情報である。
文字基本ウェイト情報は、ウェイト1、ウェイト12のウェイト情報を格納する。
中心線ベクトルの移動変形情報は、文字基本情報の中心線ベクトルを構成する点座標の移動情報として持つ。その記述は、(中心線ベクトル番号、点番号、X方向移動量、Y方向移動量)とする。
太さ情報は、中心線ベクトルを構成する点座標に太さ情報として持つ。その記述は、(中心線ベクトル番号、点番号、太さ位置、属性、右方向太さ量、左方向太さ量)とする。
太さ位置は、現在位置を始点0とし、終点の位置を1000とした相対位置で表示して、中心線ベクトル上の任意の位置の太さ情報として使用する。
太さ量は、中心線ベクトルの任意の位置の接線に対して垂直な方向への距離として表現される。
島情報は、文字の島(白い部分)を保持するための情報である。
島情報は、島情報中心点座標、隣接中心線ベクトル情報を持つ。
島情報中心点座標は、文字の島の中心点の座標である。
隣接中心線ベクトル情報は、島を囲む中心線ベクトルの情報である。
島情報中心点座標は点の座標値を持つ。記述は、(X座標、Y座標)とする。
隣接中心線ベクトル情報は、島情報中心点座標と部品の一番近い位置とのなす角度として表現される。記述は、(中心線ベクトル番号、角度)とする。
書体変形情報は、書体を特徴付ける中心ベクトルの変形情報を持つものである。
書体変形情報の構成要素は、文字基本情報の中心線ベクトルと比較した位置の変形情報、部品変形情報などである。
書体変形情報は、書体を特徴付ける中心線ベクトルの変形情報を、文字基本情報の中心線ベクトルを構成する点座標の移動変化情報として持つものである。
文字に対する変形は書体変形情報で書体用中心線ベクトルを生成するときに行われる。
【0013】
「書体変形情報」
書体変形情報は、書体を特徴付ける中心線ベクトルの変形情報を持つ。
書体変形情報は、書体を特徴付ける中心線ベクトルの変形情報を、文字基本情報の中心線ベクトルを構成する点座標の移動情報として持つ。記述は、(中心線ベクトル番号、点番号、X方向移動量、Y方向移動量)とする。
書体変形情報は、描画用書体生成時に書体用中心線ベクトルを生成するときに行われる。
【0014】
「書体ウェイト変形情報」
書体ウェイト変形情報は、ウェイトによって変化する情報を持つ。
書体ウェイト変形情報の構成要素は、中心線ベクトルのウェイト1、ウェイト12の中心線ベクトルの移動変形情報と、太さ情報などである。
書体ウェイト変形情報によって、書体変形情報から生成された書体用中心線ベクトルを、指定されたウェイトに対応した書体用中心線ベクトルに変換する。同時に中心線ベクトルに太さ情報を付加する。太さ情報は、部品を中心線ベクトルに結合する際の太さを制御するために使用される。
書体ウェイト変形情報は、文字基本ウェイト情報を元に生成されるが、書体ウェイト変形情報はウェイトの違う書体サンプルが多いほどより明確な書体の特徴を反映できる。
書体ウェイト変形情報は、ウェイト1、ウェイト12の中心線ベクトル変形情報と、太さ情報を線形的に変化させることによって、中間のウェイト書体を生成することも可能である。
中心線ベクトル変形情報は、文字基本情報と書体変形情報によって求められた中心線ベクトルを構成する点座標の移動情報である。記述は、(中心線ベクトル番号、点番号、X方向移動量、Y方向移動量)とする。
太さ情報は、中心線ベクトルを構成する点座標に太さ情報を付加して持つ。記述は、(中心線ベクトル番号、点番号、太さ位置、属性、右方向太さ量、左方向太さ量)とする。
太さ位置は、現在位置を始点0とし、終点の位置を1000とした相対位置で表示して、中心線ベクトル上の任意の位置の太さ情報として使用する。
【0015】
「書体部品情報」
書体部品情報は、書体を特徴付ける数十個の部品の情報を持つ。
書体部品情報の構成要素は、部品中心線ベクトル、太さ情報、付随情報、角情報などである。
部品中心線ベクトルは、複数の点からなる曲線で表現される。記述は、(属性、X座標、Y座標)とする。
太さ情報は、部品中心線ベクトルを構成する点座標に太さ情報を付加して持つ。
記述は、(中心線ベクトル番号、点番号、太さ位置、属性、右方向太さ量、左方向太さ量)とする。
付随情報は、外郭形状を定義するための情報で筆文字などの複雑な形状を表現するために記述されたベクトル情報である。場合によってはベクトルを生成するプログラムなどが格納される。記述は、(定義タイプ、記述場所、引数個数、引数1、引数2、、、、)とする。
定義タイプは、単純ベクトル情報、ベクトル定義ファイル、ベクトル生成プログラム、などである。
角情報は、始点隣接法、終点隣接法、角情報ベクトルとして定義される。
始点隣接法、終点隣接法は、角情報ベクトルの始点終点に隣接する太さ情報との結合形態を定義し、種類としては滑らかに隣接する太さ情報と結合される場合と、交差し交点によって結合される場合があり、その結合形態を番号として格納する。
角情報ベクトルは、中心線ベクトルの点あるいは中心線ベクトルの点に付随する太さ情報からの相対位置として格納される。記述は、(基準点種別、点番号、基準点位置、相対X座標、相対Y座標)とする。
基準点種別は、基準点を中心線ベクトル上の点、右太さ情報ベクトル上の点、左太さ情報ベクトル上の点を区別するために使用する。
基準点位置は、現在位置を始点0とし、終点の位置を1000とした相対位置で表示して、基準点ベクトル上の任意の位置情報として使用する。以上の関係を図6に示す。
【0016】
「書体部首情報」
書体部首情報は、部首を構成する部品同士の接続法の情報を持つ。
書体部首情報の構成要素は、部品番号リスト、接続情報などである。
書体部首情報は、部品と部品の結合部分を接続部角情報を元に結合処理を行う。
書体部首情報によって、部品だけでは表現できない結合部分の滑らかな接続を実現できる。
部品番号リストは、部首を構成する部品番号をリスト構造で格納する。
接続情報は、部品と部品が結合されたときの部品形状の変更を記述し、部品切断情報、接続部角情報などが格納される。
部品切断情報は、部品の一端が他の部品と結合するとき結合される部品からはみ出さないための処理をする必要がある部分を定義する。
部品切断情報は、切断部品を、結合部品の中心線ベクトルで切断し、切断された部品を文字生成に使用する。記述は、(切断種別、引数個数、結合ベクトル番号、切断ベクトル番号、中心線ベクトル点番号)とする。
切断種別は、切断断面の形状記述用に使用するが、本発明においては、書体部首情報を自動で生成するために0を格納する。
結合ベクトル番号と切断ベクトル番号は、部品番号リストの格納順番を使用する。
接続部角情報は、部品と部品が結合されたときの外郭線の形状が変化する部分を定義する。
接続部角情報は、始点隣接法、終点隣接法、接続部角情報ベクトルとして定義される。
始点隣接法、終点隣接法は、接続部角情報ベクトルの始点・終点に隣接する太さ情報との結合形態を定義し、種類としては滑らかに隣接する太さ情報と結合される場合と、交差し交点によって結合される場合があり、その結合形態を番号として格納する。
接続部角情報ベクトルは、中心線ベクトルの点、あるいは中心線ベクトルの点に付随する太さ情報番号、または交差する部品の太さ情報の交点からの相対位置として格納されるために、記述は、(基準点種別1、基準点種別2、接続ベクトル番号1、接続ベクトル番号2、点番号1、点番号2、属性、相対X座標、相対Y座標)とする。
基準点種別1および基準点種別2は、基準点を中心線ベクトル上の点、右太さ情報ベクトル上の点、左太さ情報ベクトル上の点、2つのベクトルの交点かを区別するために使用する。
基準点種別2が0以外のとき2つのベクトルの交点を角情報ベクトルの基準点とする接続ベクトル番号1と接続ベクトル番号2は、部品番号リストの格納順番を使用する。
基準点位置は、現在位置を始点0とし、終点の位置を1000とした相対位置で表示して、基準点ベクトル上の任意の位置情報として使用する。
【0017】
「描画用書体」
描画用書体は、文字描画用の情報を持つ。
描画用書体の構成要素は、描画用書体情報、コードテーブル、描画用ペアベクトル情報などである。ペアベクトルについては、図15に示す。
描画用書体は、書体選択時に生成される。文字描画時は指定されたコードから描画用ペアベクトルを取り出し描画する。
描画用書体情報には、コード体系識別番号、コードテーブル定義場所、描画用ペアベクトル情報定義場所が格納される。
コードテーブルには、コード及びコードに対応した描画用ペアベクトル情報のオフセット値が格納される。
描画用ペアベクトル情報には、コード毎に中心線ベクトルの数、中心線ベクトル、ペアベクトルの数、ペアベクトルが格納される。
ペアベクトルには、塗潰し開始ベクトル、塗潰し終了ベクトルが格納される。
ペアベクトルの座標は、中心線ベクトルの点からの相対座標で示される。その記述は、
(中心線ベクトル番号、点番号、基準点位置、属性、X相対座標、Y相対座標)とする。
基準点位置は、現在位置を始点0とし、終点の位置を1000とした相対位置で表示して、基準点ベクトル上の任意の位置情報として使用する。
【0018】
本発明を実施するにあたり、インテリジェントフォントを作成したり、管理するツールが必要になるが、このためには自作プログラム、公知のプログラムやツールを使用する。
これらに必要な機能を以下に説明する。
「インテリジェントフォントの作成、および管理システムの説明」
インテリジェントフォントの作成、および管理するために使用するシステムは、下記の機能を有する。
(1)1200×1200ドットのドットフォントを呼出、表示する機能、およびインテリジェントフォントに変換、加工する機能、
(2)インテリジェントフォントのデータベースを管理する機能、および上記の(1)で変換、加工された情報をインテリジェントフォントのデータベースに格納する機能。
これらの各機能を、以下に詳述する。
(1)1200×1200ドットのドットフォントを呼出し表示する機能およびインテリジェントフォントに変換、加工する機能、
1)呼出し対象の画像フォーマットは、BMP、TIFF、 JPEGなどを使用する。TIFF,JPEGなどはドットフォントに変換されて使用される。
2)呼出法としては、スキャナーから直接呼び出す方法、または、ファイルから呼び出す方法がある。
3)呼出す時点で1200×1200ドット以外のデータは、1200×1200ドットに変換する。
4)画面に表示されたドットフォントは、拡大して細部を確認することが可能である。
5)ドットフォントをインテリジェントフォントに変換、加工する機能を有する
(2)インテリジェントフォントのデータベースを管理する機能および上記の(1)で変換、加工された情報をインテリジェントフォントのデータベースに格納する機能。
インテリジェントフォントのデータ構造を構築、修正、管理するために以下の機能を有する。
1)DB管理テーブルを構築、修正、管理する機能がある。
2)コード体系管理情報を構築、修正、管理する機能がある。
本発明では、JISコード体系を使用して説明するが、他のコード体系にも対応できることが必要である。
3)コード体系テーブルを構築、修正、管理する機能がある。
4)基本情報テーブルを構築、修正、管理する機能がある。
5)文字基本情報を構築、修正、管理する機能がある。
6)文字基本ウェイト情報を構築、修正、管理する機能がある。
7)書体管理テーブルを構築、修正、管理する機能がある。
8)書体コード体系管理情報を構築、修正、管理する機能がある。
9)書体コード体系テーブルを構築、修正、管理する機能がある。
10)書体変形情報テーブルを構築、修正、管理する機能がある。
11)書体部品テーブルを構築、修正、管理する機能がある。
12)書体部首テーブルを構築、修正、管理する機能がある。
13)書体変形情報を構築、修正、管理する機能がある。
14)書体ウェイト変形情報を構築、修正、管理する機能がある。
15)書体部品情報を構築、修正、管理する機能がある。
16)書体部首情報を構築、修正、管理する機能がある。
17)描画用書体管理テーブルを構築、修正、管理する機能がある。
18)描画用書体情報を構築、修正、管理する機能がある。
19)コードテーブルを構築、修正、管理する機能がある。
20)描画用ペアベクトル情報を構築、修正、管理する機能がある。
【0019】
前記(2)インテリジェントフォントのデータベースを管理する機能について、その各々を更に詳述すると、
1)DB管理テーブルを構築、修正、管理する機能には、
a)ブロック個数の修正、更新機能がある、
b)項目の追加、削除機能がある、
c)ブロック識別番号を修正する機能がある、
d)ブロック定義場所を修正する機能がある。
2)コード体系管理情報を構築、修正、管理する機能には、
a)コード体系テーブル個数の修正、更新機能がある、
b)項目の追加、削除機能がある、
c)コード体系テーブル識別番号を修正する機能がある、
d)コード体系テーブル定義場所を修正する機能がある。
3)コード体系テーブルを構築、修正、管理する機能には、
a)項目の追加、削除機能がある、
b)コードの修正機能がある、
c)基本情報テーブルオフセットを修正する機能がある。
4)基本情報テーブルを構築、修正、管理する機能には、
a)項目の追加、削除機能がある、
b)文字基本情報オフセットを修正する機能がある、
c)文字基本ウェイト情報オフセットを修正する機能がある。
5)文字基本情報を構築、修正、管理する機能には、
a)文字基本情報部首リスト情報を構築、修正、管理する機能がある、
b)文字基本情報部首情報を構築、修正、管理する機能がある、
c)文字基本情報部品リスト情報を構築、修正、管理する機能がある、
d)文字基本情報部品情報を構築、修正、管理する機能がある、
e)文字基本情報中心線ベクトルを構築、修正、管理する機能がある。
【0020】
6)文字基本ウェイト情報を構築、修正、管理する機能には、
a)文字基本ウェイト中心線ベクトルリスト情報を構築、修正、管理する機能がある、
b)文字基本ウェイト中心線ベクトル構造を構築、修正、管理する機能がある、
c)文字基本ウェイト中心線ベクトル移動変形情報を構築、修正、管理する機能がある、
d)文字基本ウェイト太さリスト情報を構築、修正、管理する機能がある、
e)文字基本ウェイト太さ構造を構築、修正、管理する機能がある、
f)文字基本ウェイト太さ情報を構築、修正、管理する機能がある、
g)文字基本ウェイト島リスト情報の構築、修正、管理する機能がある、
h)文字基本ウェイト島構造を構築、修正、管理する機能がある、
i)文字基本ウェイト島情報を構築、修正、管理する機能がある。
7)書体管理テーブルの構築、修正、管理する機能には、
a)項目の追加、削除機能がある、
b)書体名の修正機能がある、
c)書体コード体系管理情報定義場所の修正機能がある、
d)書体部品テーブル定義場所の修正機能がある、
e)書体部首テーブル定義場所の修正機能がある、
f)書体変形情報テーブル定義場所の修正機能がある、
g)書体変形情報定義場所の修正機能がある、
h)書体ウェイト変形情報定義場所の修正機能がある、
i)書体部品情報定義場所の修正機能がある、
j)書体部首情報定義場所の修正機能がある、
k)描画用ウェイト書体管理テーブル定義場所の修正機能がある。
8)書体コード体系管理情報を構築、修正、管理する機能には、
a)書体コード体系テーブル個数を修正、更新機能がある、
b)項目の追加、削除機能がある、
c)コード体系識別番号を修正する機能がある、
d)書体コード体系テーブル定義場所を修正する機能がある。
9)書体コード体系テーブルを構築、修正、管理する機能には、
a)項目の追加、削除機能がある、
b)コードの修正機能がある、
c)書体変形情報テーブルオフセットを修正する機能がある。
10)書体変形情報テーブルを構築、修正、管理する機能には、
a)項目の追加、削除機能がある、
b)書体変形情報オフセットを修正する機能がある、
c)書体ウェイト変形情報オフセットを修正する機能がある。
【0021】
11)書体部品テーブルを構築、修正、管理する機能には、
a)書体部品個数を修正、更新する機能がある、
b)項目の追加、削除機能がある、
c)書体部品識別番号を修正する機能がある、
d)書体部品情報オフセットを修正する機能がある。
12)書体部首テーブルを構築、修正、管理する機能には、
a)書体部首個数を修正、更新機能がある、
b)項目の追加、削除機能がある、
c)書体部首識別番号を修正する機能がある、
d)書体部首情報オフセットを修正する機能がある。
13)書体変形情報を構築、修正、管理する機能には、
a)中心線ベクトル移動リスト情報を構築、修正、管理する機能がある、
b)中心線ベクトル移動構造を構築、修正、管理する機能がある。
14)書体ウェイト変形情報を構築、修正、管理する機能には、
a)書体ウェイト中心線ベクトルリスト情報を構築、修正、管理する機能がある
b)書体ウェイト中心線ベクトル構造を構築、修正、管理する機能がある、
c)書体ウェイト中心線ベクトル移動情報を構築、修正、管理する機能がある、
d)書体ウェイト太さ変形リスト情報を構築、修正、管理する機能がある、
e)書体ウェイト太さ変形構造を構築、修正、管理する機能がある、
f)書体ウェイト太さ情報を構築、修正、管理する機能がある。
15)書体部品情報を構築、修正、管理する機能には、
a)部品中心線ベクトルリスト情報を構築、修正、管理する機能がある、
b)部品中心線ベクトル構造を構築、修正、管理する機能がある、
c)部品中心線ベクトル情報を構築、修正、管理する機能がある、
d)部品太さリスト情報を構築、修正、管理する機能がある、
e)部品太さ構造を構築、修正、管理する機能がある、
f)部品太さ情報を構築、修正、管理する機能がある、
g)部品付随リスト情報を構築、修正、管理する機能がある、
h)部品付随構造を構築、修正、管理する機能がある、
i)部品付随情報を構築、修正、管理する機能がある、
j)部品角リスト情報を構築、修正、管理する機能がある、
k)部品角構造を構築、修正、管理する機能がある、
l)部品角情報を構築、修正、管理する機能がある。
【0022】
16)書体部首情報を構築、修正、管理する機能には、
a)部品番号リスト情報を構築、修正、管理する機能がある、
b)部品接続リスト情報を構築、修正、管理する機能がある、
c)部品接続構造を構築、修正、管理する機能がある、
d)部品接続情報を構築、修正、管理する機能がある。
17)描画用書体管理テーブルを構築、修正、管理する機能には、
a)項目の追加、削除機能がある、
b)書体名の修正機能がある、
c)ウェイト値の修正機能がある、
d)描画用書体情報定義場所を修正する機能がある、
e)描画用書体情報の追加、削除機能がある。
18)描画用書体情報を構築、修正、管理する機能には、
a)コード体系識別番号を修正する機能がある、
b)コードテーブル定義場所を修正する機能がある、
c)描画用ペアベクトル情報定義場所を修正する機能がある。
19)コードテーブルを構築、修正、管理する機能には、
a)項目の追加、削除機能がある、
b)コードの修正機能がある、
c)描画用ペアベクトル情報オフセットを修正する機能がある。
20)描画用ペアベクトル情報を構築、修正、管理する機能には、
a)描画用中心線ベクトルリスト情報を構築、修正、管理する機能がある、
b)描画用中心線ベクトル構造を構築、修正、管理する機能がある、
c)描画用中心線ベクトル情報を構築、修正、管理する機能がある、
d)描画用ペアベクトルリスト情報を構築、修正、管理する機能がある、
e)描画用ペアベクトル構造を構築、修正、管理する機能がある、
f)描画用ペアベクトル情報を構築、修正、管理する機能がある。
【0023】
【発明の実施の形態】
「インテリジェントフォント作成手順」
本発明は、インテリジェントフォント作成の前段階として全書体に共通する
(1)「文字基本情報」の作成手順、
(2)「文字基本ウェイト情報」の作成手順と、前記の基本情報を使用して、インテリジェントフォント作成手順である、
(3)複数の文字から「書体部品情報」を求める手順、
(4)複数の文字から「書体部首情報」を求める手順、
(5)複数の文字から「書体変形情報」を求める手順、
(6)「文字基本ウェイト情報」から「書体ウェイト変形情報」を求める手順から作成された書体によって、文字を構成する部品の中心線ベクトルと書体を特徴付ける外郭線を組み合わせることによって文字を生成することができる筆順等の情報を持ったインテリジェントフォントを実現した。
【0024】
以下に、各手順を詳述する。
(1)「文字基本情報」の作成手順は、
コード体系の総ての文字に対して以下の処理を行う。
1)ウェイト3の1200×1200ドットの塗りつぶされた文字を用意する。
2)文字を構成する部首の部首構造を文字基本情報の対応する文字基本構造に格納する。
3)部首を構成する部品の部品構造を部首構造に格納する。
4)文字を構成する部首以外の部品の部品構造を文字基本情報の対応する文字基本構造に格納する。
5)文字を構成する部品の中心線ベクトルを生成し塗りつぶされた文字に合わせて部品構造に格納する。
(2)「文字基本ウェイト情報」の作成手順は、
コード体系の総ての文字に対して以下の処理を行う。
1)ウェイト3の1200×1200ドットの塗りつぶされた文字を用意する。
2)中心線ベクトル変位情報に0を格納する。
3)それぞれの中心線ベクトルの点にたいして太さ情報を付加し、ウェイト3を基準ウェイトの太さ情報として対応する文字基本ウェイト情報に格納する。
4)塗りつぶされた文字の白い部分の中心を指定した島情報中心点座標と、島情報に関連する中心線ベクトルを隣接中心線ベクトル情報として、島情報に格納する、島情報は対応する文字基本ウェイト情報に格納する。
ウエイト3の塗りつぶされた文字について、中心線ベクトルと太さ情報、および島情報の中心点を図12に示す。
5)ウェイト1の1200×1200ドットの塗りつぶされた文字を用意する。
6)塗りつぶされた文字に合わせて中心線ベクトルの点を移動し、文字基本情報の中心線ベクトルから変位を中心線ベクトル変位情報として、対応する文字基本ウェイト情報に格納する。
7)塗りつぶされた文字に合わせて中心線ベクトルの点の太さ情報を変更し、太さ情報として、対応する文字基本ウェイト情報に格納する。
8)塗りつぶされた文字に合わせて島情報の中心点を移動し、島情報中心点座標を島情報として、対応する文字ウェイト構造に格納する。
ウェイト3と比較したウェイト1の文字基本ウェイト情報である中心線ベクトル、および島情報中心点の関係を図13に示す。
9)ウェイト12の1200×1200ドットの塗りつぶされた文字を用意する。
10)塗りつぶされた文字に合わせて中心線ベクトルの点を移動し、文字基本情報の中心線ベクトルから変位を中心線ベクトル変位情報として、対応する文字基本ウェイト情報に格納する。
11)塗りつぶされた文字に合わせて中心線ベクトルの点の太さ情報を変更し、太さ情報として、対応する文字基本ウェイト情報に格納する。
12)塗りつぶされた文字に合わせて島情報の中心点を移動し、島情報中心点座標を島情報として、対応する文字ウェイト構造に格納する。
ウェイト3と比較したウェイト12の文字基本ウェイト情報である中心線ベクトル移動変形情報を図14に示す。
【0025】
(3)複数の文字から「書体部品情報」を求める手順は、
1)部品を抽出するための数十文字を用意する。
部品化しやすい手書き原稿あるいはアウトラインフォントの文字を用意する(例えば一九七)。
2)用意した文字の中心線を求める。
用意した文字が手書き原稿の場合、スキャナーを用いて2値で読み込み、1200×1200ドットのデータを用意する。
用意した文字がアウトラインフォントデータの場合コンピューター上で塗りつぶし処理を行い、1200×1200ドットのデータを用意する。
1200×1200ドットのデータを細め処理を行い、一ドット幅のデータに変換する。
一ドット幅のデータの中心をたどりながら、短直線で構成される連続線に変換する。
短直線で構成される連続線の凹凸を曲線と直線で近似することによって直線と曲線で構成される連続線に変換し、これを中心線とする。
3)用意した文字の外郭線を求める。
用意した文字が手書き原稿の場合、スキャナーを用いて読込み、2値の1200×1200ドットのデータを用意する。
1200×1200ドットのデータを一ドット幅の外郭データに変換する。
一ドット幅の外郭データの中心をたどりながら、短直線で構成される連続線を求める。
短直線で構成される連続線の凹凸を曲線と直線で近似することによって直線と曲線で構成される連続線に変換しこれを外郭線とする。
用意した文字がアウトラインフォントの場合、そのアウトラインデータはそのまま外郭線とする。
4)直線と曲線で構成される連続線の中心線と文字基本情報の中心線ベクトルを対応付けることによって、書体変形情報の変形情報を求める。
文字基本情報の同じ文字を構成するそれぞれの中心線ベクトルと同じ部位にある、直線と曲線で構成される連続線を角度と位置により分類し、文字基本情報の中心線ベクトルからの変位情報を求める。
文字基本情報の中心線ベクトルと変位情報から部品の中心線ベクトルを求める。
5)部品の中心線ベクトルと外郭線から中心線ベクトルを構成する点情報を基準点とする部品の外郭線情報を求める。
中心線ベクトルの点座標からベクトルの進行方向に垂直な線分を求める。
求めた線分と外郭線の交点と中心線ベクトルの点座標の距離を部品の太さ情報とする。中心線ベクトルの端点の太さ情報を基準点として角情報とする。
その他の交点同士を繋ぐ外郭線が単純曲線でないとき、太さに付随する外郭線として保持する中心線ベクトル、太さ情報、付随情報、角情報を1つの部品とする。
6)上記の処理を繰り返し、中心線ベクトルと外郭線情報から「書体部品情報」を求める。
以上の手順をについて、文字「牛」についての説明を図5に示す。
【0026】
(4)複数の文字から「書体部首情報」を求める手順は、
1)部首を抽出するための数十文字を用意する。
2)用意した文字の中心線を求める。
3)用意した文字の外郭線を求める。
4)中心線と「文字基本情報」から中心線ベクトルを求める。
5)「書体部品情報」と中心線ベクトルから文字を生成し、用意した文字との比較を行う。
6)用意した文字にフィットするように部品の太さを補正する。
中心線ベクトルの点座標からベクトルの進行方向に垂直な線分を求める。
求めた線分と外郭線との交点と、中心線ベクトルの点座標との距離を部品の太さとする。
7)フィットさせた文字の外郭線と用意した文字の外郭線とから、部品と部品の接合部の形状を表現する外郭線を特定し、接合部の外郭線情報を生成する。
端点と端点が接続する場合両角情報展開を禁止し、交点を結ぶ外郭線を接続部角情報とする。
端点とそれ以外で接続する場合ではみ出していないとき、部品切断情報とする。
端点とそれ以外で接続する場合ではみ出すとき、はみ出した部分の外郭線を接続部角情報とする。
8)上記の処理を繰り返し、「書体部首情報」を求める。
【0027】
(5)複数の文字から「書体変形情報」を求める手順は、
1)「書体変形情報」を求めるための数十文字から数百文字を用意する。
2)用意した文字の中心線を求める。
3)用意した文字の外郭線を求める。
4)中心線と「文字基本情報」から中心線ベクトルを求める。
5)「書体部品情報」と「書体部首情報」と中心線ベクトルから文字を生成し用意した文字との比較を行う。
6)用意した文字の該当する部位の部品と重ね差異を求める。その差異が部品が太いことを示す場合には部品を細くし、差異が部品が細いことを示す場合には部品を細める処理を行い、差異が部品が位置ずれを示す場合には該当する部品の中心線ベクトルを構成する点を移動する。
移動した中心線ベクトルが以前求めた中心線ベクトルと同一になるまで上記の処理を繰返す。
7)上記の補正した太さと、補正した位置から「書体変形情報」を求める。
上記の中心線ベクトルを求める方法を図4に示す。
書体の全ての文字の中心線ベクトルに対して同一分類に所属する補正情報を適応し書体変形情報を求める。
【0028】
(6)「文字基本ウェイト情報」から「書体ウェイト変形情報」を求める手順は、
1)通常の文字生成手順において、「書体ウェイト変形情報」を使用する部分で「文字基本ウェイト情報」を使用し、指定されたウェイトの文字を生成する。
2)「文字基本ウェイト情報」の島情報が生成した文字に存在するか調べる。
対を成す中心線ベクトルの間に島が存在するか判別する。
3)島が存在するまで関連する中心線ベクトルの位置太さを補正する。
太さ補正量を2ドットとして、対を成す中心線ベクトルを島方向とは反対側に太さ補正量の半分位置補正する。
4)すべての島が存在するように上記の補正処理をくり返す。
5)上記の処理をウェイト1〜ウェイト12まで繰り返し、「書体ウェイト変形情報」を求める。
ウエイト3,5,および9の書体についての「書体ウエイト変形情報」を図9に示す。
【0029】
「インテリジェントフォント描画システムの説明」
本発明のインテリジェントフォント描画システムは、以下の機能を有する。
(1)登録されているファミリー名称と、ウェイトを指定することによってJISコードに対応する総ての文字の描画用ペアベクトルを用意する機能。
(2)コードが呼ばれたときに描画用ペアベクトルを使用し塗潰しを行う機能。
本発明のインテリジェントフォント描画システムによる文字生成は、以下の手順で行われる。
(1)文字基本情報と書体変形情報により文字骨格を生成する手順、
(2)書体ウェイト変形情報により文字骨格を変形する手順、
(3)文字骨格と書体部品情報により文字を組み立てる手順、
(4)書体部首情報により部品の結合部分を補正する手順、
(5)部品から塗潰し用ペアベクトルを生成する手順、
(6)塗潰し用ペアベクトルを処理して塗り潰された文字を生成する手順からなる。
描画システムの手順を図3に示す。
【0030】
上記手順を詳述すると、
(1)文字基本情報と書体変形情報により文字骨格を生成する手順は、
1)文字基本情報から中心ベクトルからなる文字骨格を生成する、
2)文字骨格の中心線ベクトルの点座標を書体変形情報の移動情報により移動する。
(2)書体ウェイト変形情報により文字骨格を変形する手順は、
1)文字骨格の中心線ベクトルの点座標を書体ウェイト変形情報の中心線ベクトル変形情報により移動する、
書体ウェイト変形情報を用いて変形した文字骨格と部品から文字を生成する過程を図10に示す。
2)その際中心線ベクトルの太さ情報を太さ情報を元に変更する。
(3)文字骨格と書体部品情報により文字を組み立てる手順は、
文字骨格の中心線ベクトルと部品太さ情報を使用して、対応する部品を書体部品情報から取り出し変形して配置する。
(4)書体部首情報により部品の結合部分を補正する手順は、
配置された部品同士を書体部首情報の部品結合情報によって結合し文字を完成させる。
部品情報から生成された文字と書体部首情報を用いて修正された文字を図7にしめす。
(5)部品から塗潰し用ペアベクトルを生成する手順は、
完成された文字から横方向で塗り潰すために中心線ベクトルの点を基準点とする塗潰し開始ベクトルと塗潰し終了ベクトルを生成する。
描画用ペアベクトルを図15に示す。
(6)塗潰し用ペアベクトルを処理して塗潰された文字を生成する手順は、
塗潰し開始ベクトルを開始点として、塗潰し終了ベクトルを終了点とする線分を描画することによって塗り潰された書体を生成する。
なお、(1)から(5)までの手順は、書体選択時あるいは使用書体選定時に行ってしまい、(6)の手順だけを文字描画時に行う。
【0031】
以下、本発明に係るインテリジェントフォントの実施例を図面を用いて更に詳述するが、本発明はこの実施例により限定されるものではない。
【実施例1】
この実施例では、自社作成のテオン角ゴシック体であるウェイト3の文字「牛」について作成するインテリジェントフォントのデータ構造について、図面を用いて説明する。他の文字についても同様である。
「DB管理情報」
DB管理情報には、図16および図17に示されるているように、DB管理テーブル、コード体系管理情報、コード体系テーブル、基本情報テーブル、書体管理テーブル、書体コード体系管理情報、書体コード体系テーブル、書体部品テーブル、書体部首テーブル、書体変形情報テーブル、描画用書体管理テーブルが格納されている。
(1)DB管理テーブルの内容
DB管理テーブルのブロック個数には、図16に矢印(→)の数で関係が示される5が格納される。
ブロック識別番号にはコード体系管理情報を示す1が、ブロック定義場所には、16進数で100H(以下、Hはヘキサの略であり、16進数を示す。)が格納される。
ブロック識別番号には文字基本情報を示す2が、ブロック定義場所には1F600Hが格納される。
ブロック識別番号には文字基本ウェイト情報を示す3が、ブロック定義場所には21F600Hが格納される。
ブロック識別番号には基本情報テーブルを示す4が、ブロック定義場所には0FC00Hが格納される。
ブロック識別番号には、書体管理テーブルを示す5が、ブロック定義場所には、
"syotai.tbl"が格納される。
(2)コード体系管理情報の内容
コード体系テーブルのコード体系テーブル個数には1が格納される。
コード体系テーブル識別番号にはJISコード体系を示す1が格納され、コード体系テーブル定義場所には200Hが格納される。
(3)文字「牛」に対応するコード体系テーブルの内容
文字「牛」の区点コードは2177番であるから、2177番目のコードの欄には356DHが、基本情報テーブルオフセットには4608Hが格納される。
(4)に対応する基本情報テーブルの内容
2177番目の文字基本情報オフセットには8B53FHが、文字基本ウェイト情報オフセットには2B8A3BHが格納される。
(5)書体管理テーブルの内容
書体名には「テオン角(丸)ゴシック体」が、書体コード体系管理情報定義場所には、"THEON.CTB"が、書体部品テーブル定義場所には"THEON.PTB"が、書体部首テーブル定義場所には"THEON.BTB"が、書体変形情報テーブル定義場所には"THEON.TTB"が、書体変形情報定義場所には"THEON.TDT"が、書体ウェイト変形情報定義場所には"THEON.WDT"が、書体部品情報定義場所には"THEON.PDT"が、書体部首情報定義場所には"THEON.BDT"が、描画用書体管理テーブルには"DRAWFONT.TBL"が格納される。
(6)テオンファミリー書体に対応する書体コード体系管理情報の内容
書体コード体系管理情報のコード体系テーブル個数には1が格納される。
コード体系識別番号にはJISコード体系を示す1が格納され、書体コード体系テーブル定義場所には100Hが格納される。
(7)テオンファミリー書体の牛に対応する書体コード体系テーブルの内容
2177番目のコードには356DHが、書体変形情報テーブルオフセットには4608Hが格納される。
(8)テオンファミリー書体の牛に対応する書体情報テーブルの内容
2177番目の書体変形情報オフセットには8B53FHが、書体ウェイト情報オフセットには22D4FCHが格納される。
(9)テオンファミリー書体の牛で使用する書体部品テーブルの内容
書体部品テーブルの書体部品個数は32個、横棒に対応する部品の書体部品識別番号には1が、書体部品情報オフセットには100Hが格納される。
縦棒に対応する部品の書体部品識別番号には2が、書体部品情報オフセットにはD00Hが格納される。
左払いに対応する部品の書体部品識別番号には10が、書体部品情報オフセットには12100Hが格納される。
(10)テオンファミリー書体の文字「牛」で使用する書体部首テーブルの内容
書体部首テーブルの部首個数には300が格納される。
文字「牛」に対応する部首の書体部首識別番号には50が、書体部首情報オフセットには0FA0Hが格納される。
(11)描画用書体管理テーブルの内容
描画用書体数には1が格納される。
書体名にはテオン角(丸)ゴシック体が、ウェイトには5が、描画用書体位置には"THEON050.DRW"が格納される。
【0032】
「牛の文字基本情報」
部首個数には1が格納される。
部首番号には50が格納される。
部品個数には4が格納される。
部品番号には10が格納される。
部品中心線ベクトル点個数には4が格納される。
中心線ベクトルの点個数は4であるから、その点座標値には(2,352,1023)、(4,301,873)、(4,239,754)、(1,115,601)が格納される。
部品番号には1が格納される。
部品中心線ベクトル点個数には2が格納される。
中心線ベクトルの点個数2について、その点座標値には(0,274,817)、(1,1037,815)が格納される。
部品番号には1が格納される。
部品中心線ベクトル点個数には2が格納される
中心線ベクトルの点個数2について、その点座標値には(0,57,523)、(1,1119,523)が格納される。
部品番号には2が格納される。
部品中心線ベクトル点個数には2が格納される。
中心線ベクトルの点個数2について、その点座標値には(0,595,1106)、(1,595,109)が格納される。
【0033】
「牛の文字基本ウェイト情報」
ウェイト番号には1が格納される。
移動変形情報個数には10が格納される。
移動変形情報個数10について、その移動変形情報には(1,1,5,5)、(1,2,6,2)、(1,3,5,3)、(1,4,5,2)、(2,1,6,2)、(2,2,−2,3)、(3,1,1,1)、(3,2,−1,1) 、(4,1,0,3)、(4,2,0,−3)が格納される。
太さ情報個数には10が格納される。
太さ情報個数10について、その太さ情報には(1,1,0,2,10,10)、(1,2,0,4,10,10)、(1,3,0,4,10,10)、(1,4,0,1,10,10)、(2,1,0,0,10,10)、(2,2,0,1,10,10)、(3,1,0,0,10,10)、(3,2,0,1,10,10)、(4,1,0,0,10,10)、(4,2,0,1,10,10)
が格納される。
島情報個数には1が格納される。
島情報個数1について、その島情報中心点座標には( 381,652)が格納される。
隣接中心線ベクトル情報個数には4が格納される。
隣接中心線ベクトル情報個数4について、その隣接中心線ベクトル情報には、(1,135)、(4,0)、(2,90)、(3,270)が格納される。
ウェイト番号には3が格納される。
移動変形情報個数には0が格納される。
太さ情報個数には10が格納される。
太さ情報個数10について、その太さ情報には(1,1,0,2,3,30)、(1,2,0,4,30,30)、(1,3,0,4,30,30)、(1,4,0,1,30,30)、(2,1,0,0,30,30)、(2,2,0,1,30,30)、(3,1,0,0,30,30)、(3,2,0,1,30,30)、(4,1,0,0,30,30)、(4,2,0,1,30,30)が格納される。
島情報個数には1が格納される。
島情報個数1について、その島情報中心点座標には(372,664)が格納される。
隣接中心線ベクトル情報個数には4が格納される。
隣接中心線ベクトル情報個数4について、その隣接中心線ベクトル情報には、(1,135)、(4,0)、(2,90)、(3,270)が格納される。
ウェイト番号には12が格納される。
移動変形情報個数には10が格納される。
移動変形情報個数10について、その移動変形情報には(1,1,−56,−52)、(1,2,−65,−23)、(1,3,−59,−37)、(1,4,−52,−27)、(2,1,−67,−29)、(2,2,12,−29)、(3,1,−3,−8)、(3,2,3,−8)、(4,1,0,−34)、(4,2,0,28)が格納される。
太さ情報個数には10が格納される。
太さ情報個数10について、その太さ情報には(1,1,0,2,120,120)、(1,2,0,4,120,120)、(1,3,0,4,120,120)、(1,4,0,1,120,120)、(2,1,0,0,120,120)、(2,2,0,1,120,120)、(3,1,0,0,120,120)、(3,2,0,1,120,120)、(4,1,0,0,120,120)、(4,2,0,1,120,120)が格納される。
島情報個数には1が格納される。
島情報個数1について、その島情報中心点座標には(341,691)が格納される。
隣接中心線ベクトル情報個数には4が格納される。
隣接中心線ベクトル情報個数4について、その隣接中心線ベクトル情報には、(1,135)、(4,0)、(2,90)、(3,270)が格納される。
【0034】
「牛の書体変形情報」
書体変形情報個数には10が格納される。
書体変形情報個数10について、その書体変形情報には(1,1,−36,−40)、(1,2,−43,−50)、(1,3,−39,−69)、(1,4,−4,100)、(2,1,−50,−44)、(2,2,−13,−44)、(3,1,−18,−13)、(3,2,2,−13)、(4,1,8,−48)、(4,2,8,28)が格納される。
【0035】
「牛の書体ウェイト変形情報」
ウェイト番号には1が格納される。
移動変形情報個数には10が格納される。
移動変形情報個数10について、その移動変形情報には(1,1,5,5)、(1,2,6,2)、(1,3,5,3)、(1,4,5,2)、(2,1,6,2)、(2,2,−2,3)、(3,1,1,1)、(3,2,−1,1) 、(4,1,0,3)、(4,2,0,−3)が格納される。
太さ情報には0が格納される。
ウェイト番号には3が格納される。
移動変形情報個数には0が格納される。
太さ情報には0が格納される。
ウェイト番号には12が格納される。
移動変形情報個数には10が格納される。
移動変形情報個数10について、その移動変形情報には(1,1,−54,−51)、(1,2,−62,−22)、(1,3,−57,−35)、(1,4,−49,−24)、(2,1,−64,−24)、(2,2,15,−24)、(3,1,−3,−8)、(3,2,3,−8)、(4,1,0,−34)、(4,2,0,28)が格納される。
太さ情報には0が格納される。
【0036】
「牛で使用する書体部品情報」
部品番号には1が格納される。
部品中心線ベクトル点個数には、2が格納される。
部品中心線ベクトル点個数2について、その部品中心線ベクトルには(0,0,30)、(1,1056,30)が格納される。
太さ情報個数には、2が格納される。
太さ情報個数2について、その太さ情報には、(1,0,0,30,30)、(2,0,1,30,30)が格納される。
角情報個数には2が格納される。
角情報始点隣接には2が格納される。
角情報終点隣接法には2が格納される。
角情報ベクトル点個数には2が格納される。
角情報ベクトル点個数2について、その角情報ベクトルには(2,1,0,0,0)(3,1,0,0,0)が格納される。
角情報始点隣接には2が格納される。
角情報終点隣接法には2が格納される。
角情報ベクトル点個数には2が格納される。
角情報ベクトル点個数2について、その角情報ベクトルには(2,2,0,0,0)(3,2,0,0,0)が格納される。
付随情報個数には0が格納される。
部品番号には2が格納される。
部品中心線ベクトル点個数には2が格納される。
部品中心線ベクトル点個数2について、その部品中心線ベクトルには(0,30,0)、(1,30,1080)が格納される。
太さ情報個数には、2が格納される。
太さ情報個数2について、その太さ情報には、(1,0,0,30,30)、(2,0,1,30,30)が格納される。
角情報個数には2が格納される。
角情報始点隣接には2が格納される。
角情報終点隣接法には2が格納される。
角情報ベクトル点個数には2が格納される。
角情報ベクトル点個数2について、その角情報ベクトルには(2,1,0,0,0)(3,1,0,0,0)が格納される。
角情報始点隣接には2が格納される。
角情報終点隣接法には2が格納される。
角情報ベクトル点個数には2が格納される。
角情報ベクトル点個数2について、その角情報ベクトルには(2,2,0,0,0)(3,2,0,0,0)が格納される。
付随情報個数には0が格納される。
部品番号には10が格納される。
部品中心線ベクトル点個数には4が格納される。
部品中心線ベクトル点個数4について、その部品中心線ベクトルには(2,244,402)、(4,192,279)、(4,128,163)、(1,50,41)が格納される。
太さ情報個数には、4が格納される。
太さ情報個数4について、その太さ情報には、(1,0,2,30,30)、(2,0,4,30,30)、(3,0,4,30,30)、(4,0,4,30,30)が格納される。
角情報個数には2が格納される。
角情報始点隣接には2が格納される。
角情報終点隣接法には2が格納される。
角情報ベクトル点個数には2が格納される。
角情報ベクトル点個数2について、その角情報ベクトルには(2,1,0,0,0)(3,1,0,0,0)が格納される。
角情報始点隣接には2が格納される。
角情報終点隣接法には2が格納される。
角情報ベクトル点個数には2が格納される。
角情報ベクトル点個数2について、その角情報ベクトルには(2,4,0,0,0)(3,4,0,0,0)が格納される。
付随情報個数には0が格納される。
【0037】
「牛の書体部首情報」
部首番号には50が格納される。
部品番号個数には4が格納される。
部品番号には(10)、(1)、(1)、(2)が格納される。
部品切断情報個数には1が格納される。
部品切断情報には(0,2,1,2)。
【0038】
「DB管理情報作成」
DB管理情報作成は、インテリジェントフォント作成管理システムを使用して行う。
(1)DB管理テーブルの生成手順
DB管理テーブルのブロック個数には、図16に矢印(→)の本数で関連を示す5を格納する。
ブロック識別番号にコード体系管理情報を示す1を、ブロック定義場所には100Hを格納する。
ブロック識別番号に文字基本情報を示す2を、ブロック定義場所には1F600Hを格納する。
ブロック識別番号に文字基本ウェイト情報を示す3を、ブロック定義場所には21F600Hを格納する。
ブロック識別番号に基本情報テーブルを示す4を、ブロック定義場所には0FC00Hを格納する。
ブロック識別番号に書体管理テーブルを示す5を、ブロック定義場所には"syotai.tbl"を格納する。
(2)コード体系管理情報の生成手順
コード体系管理情報のコード体系テーブル個数には、図16に矢印(→)で関連を示す1を格納する。
コード体系テーブル識別番号にJISコード体系を示す1を格納し、コード体系テーブル定義場所に200Hを格納する。
(3)文字「牛」に対応するコード体系テーブルの生成手順
2177番目のコードに356DHを、基本情報テーブルオフセットに4608Hを格納する。
(4)文字「牛」に対応する基本情報テーブルの生成手順
2177番目の文字基本情報オフセットに8B53FHを、文字基本ウェイト情報オフセットに2B8A3BHを格納する。
(5)書体管理テーブルの生成手順
書体名に「テオン角ゴシック体」を、
書体コード体系管理情報定義場所に"THEON.CTB"を、
書体部品テーブル定義場所に"THEON.PTB"を、
書体部首テーブル定義場所に"THEON.BTB"を、
書体変形情報テーブル定義場所に"THEON.TTB"を、
書体変形情報定義場所に"THEON.TDT"を、
書体ウェイト変形情報定義場所に"THEON.WDT"を、
書体部品情報定義場所に"THEON.PDT"を、
書体部首情報定義場所に"THEON.BDT"を、
描画用書体管理テーブルに"DRAWFONT.TBL"を
それぞれ格納する。
【0039】
(6)テオンファミリー書体に対応する書体コード体系管理情報の作成手順
書体コード体系管理情報のコード体系テーブル個数には、図16に矢印(→)で示す1を格納する。
コード体系識別番号にJISコード体系を示す1を格納する、書体コード体系テーブル定義場所に100Hを格納する。
(7)テオンファミリー書体の牛に対応する書体コード体系テーブルの作成手順
2177番目のコードに356DHを、書体変形情報テーブルオフセットに自動生成により作成した書体変形情報テーブルオフセットを格納する。
(8)テオンファミリー書体の牛に対応する書体情報テーブルの作成手順
2177番目の書体変形情報オフセットに自動生成された書体変形情報のオフセットが格納される。また書体ウェイト情報オフセットに自動生成された書体ウェイト情報のオフセットが格納される。
(9)テオンファミリー書体の牛で使用する書体部品テーブルの生成手順
書体部品テーブルの書体部品個数に自動生成で作成された部品数が格納される。
横棒に対応する部品の書体部品識別番号には1が、書体部品情報オフセットに自動生成で作成された横棒の書体部品情報データのオフセットが格納される。
縦棒に対応する部品の書体部品識別番号には2が、書体部品情報オフセットに自動生成で作成された縦棒の書体部品情報データのオフセットが格納される。
左払いに対応する部品の書体部品識別番号には10が、書体部品情報オフセットに自動生成で作成された左払いの書体部品情報データのオフセットが格納される。
(10)テオンファミリー書体の牛で使用する書体部首テーブルの生成手順
書体部首テーブルの部首個数に自動生成で作成された部首個数が格納される。
牛に対応する部首の書体部首識別番号には50が、書体部首情報オフセットに自動生成で作成された牛の書体部首情報データのオフセットが格納される。
【0040】
「牛の文字基本情報作成手順」
牛の文字基本情報は、インテリジェントフォント作成管理システムを使用して行う。
「テオン書体」ウェイト3の1200×1200の塗りつぶされた牛の文字を用意し、
部首個数に1を格納する。
部首番号に50を格納する。
部品個数に4を格納する。
部品番号に10を格納する。
文字基本情報中心線ベクトル構築機能により、部品中心線ベクトル点個数には画面に表示され指定されているベクトルデータの点個数が格納される。
また、中心線ベクトルの点座標値には、画面に表示され指定されているベクトルデータの座標が格納される。
部品番号には1が格納される。
文字基本情報中心線ベクトル構築機能により、部品中心線ベクトル点個数には画面に表示され指定されているベクトルデータの点個数が格納される。
また、中心線ベクトルの点座標値には、画面に表示され指定されているベクトルデータの座標が格納される。
部品番号には1が格納される。
文字基本情報中心線ベクトル構築機能により、部品中心線ベクトル点個数には画面に表示され指定されているベクトルデータの点個数が格納される。
また、中心線ベクトルの点座標値には、画面に表示され指定されているベクトルデータの座標が格納される。
部品番号には2が格納される。
文字基本情報中心線ベクトル構築機能により、部品中心線ベクトル点個数には画面に表示され指定されているベクトルデータの点個数が格納される。
また、中心線ベクトルの点座標値には、画面に表示され指定されているベクトルデータの座標が格納される。
用意した「テオン書体」は破棄される。
【0041】
「牛の文字基本ウェイト情報作成手順」
牛の文字基本ウェイト情報は、インテリジェントフォント作成管理システムを使用して行う。
「テオン書体」ウェイト1の1200×1200の塗りつぶされた牛の文字を用意する。
ウェイト番号には1を格納する。
文字基本ウェイト中心線ベクトル移動変形情報の構築機能により、文字基本情報中心線ベクトルと対応するウェイトの中心線ベクトルを指定することにより、移動変形情報個数および移動変形情報が格納される。
文字基本ウェイト太さ情報の構築機能により、中心線ベクトルと外郭線ベクトルを指定して中心線ベクトルに対応する太さ情報の個数および太さ情報が格納される。
文字基本ウェイト島情報の構築機能により、島を形成する中心線ベクトルを指定することにより、島情報個数、島情報中心点座標、隣接中心線ベクトル情報が格納される。
島情報については、図8に示す。
「テオン書体」ウェイト3の1200×1200の塗りつぶされた牛の文字を用意する。
ウェイト番号には3を格納する。
文字基本ウェイト中心線ベクトル移動変形情報の構築機能により、文字基本情報中心線ベクトルと対応するウェイトの中心線ベクトルを指定することにより、移動変形情報個数および移動変形情報が格納される。
文字基本ウェイト太さ情報の構築機能により、中心線ベクトルと外郭線ベクトルを指定して、中心線ベクトルに対応する太さ情報の個数および太さ情報が格納される。
文字基本ウェイト島情報の構築機能により、島を形成する中心線ベクトルを指定することにより、島情報個数、島情報中心点座標、隣接中心線ベクトル情報が格納される。
「テオン書体」ウェイト12の1200×1200の塗りつぶされた牛の文字を用意する。
ウェイト番号には12を格納する。
文字基本ウェイト中心線ベクトル移動変形情報の構築機能により、文字基本情報中心線ベクトルと対応するウェイトの中心線ベクトルを指定することにより、移動変形情報個数および移動変形情報が格納される。
文字基本ウェイト太さ情報の構築機能により、中心線ベクトルと外郭線ベクトルを指定して、中心線ベクトルに対応する太さ情報の個数および太さ情報が格納される。
文字基本ウェイト島情報の構築機能により、島を形成する中心線ベクトルを指定することにより、島情報個数、島情報中心点座標、隣接中心線ベクトル情報が格納される。
用意した「テオン書体」は破棄される。
【0042】
「書体部品情報の自動生成手順」
「テオン角ゴシック体」の「書体部品情報」を求めるため、指定した塗りつぶされた30文字を用意する。
用意した文字をスキャナーで読み込み2値の1200×1200ドットのデータにする。
1200×1200ドットのデータを細め処理を行い、一ドット幅のデータに変換する。
一ドット幅のデータの中心をたどりながら、短直線で構成される連続線に変換する、短直線で構成される連続線の凹凸を曲線と直線で近似することによって直線と曲線で構成される連続線に変換しこれを中心線とする。
スキャナーで読み込んだ1200×1200ドットのデータを一ドット幅の外郭データに変換する。
一ドット幅の外郭データの中心をたどりながら、短直線で構成される連続線を求める。
短直線で構成される連続線の凹凸を曲線と直線で近似することによって直線と曲線で構成される連続線に変換しこれを外郭線とする。
文字基本情報の同じ文字を構成するそれぞれの中心線ベクトルと同じ部位にある、直線と曲線で構成される連続線を角度と位置により分類し、文字基本情報の中心線ベクトルからの変位情報を求める。
文字基本情報の中心線ベクトルと変位情報から部品の中心線ベクトルを求める。
中心線ベクトルの点座標からベクトルの進行方向に垂直な線分を求める。
求めた線分と外郭線の交点と中心線ベクトルの点座標の距離を部品の太さ情報とする。
中心線ベクトルの端点の太さ情報を基準点として角情報とする。
その他の交点同士を繋ぐ外郭線が単純曲線でないとき、太さに付随する外郭線として保持する中心線ベクトル、太さ情報、付随情報、角情報を1つの部品とし書体部品情報として格納する。
以上の部品の生成を図5に示す。
用意した「テオン角ゴシック体」は破棄される。
【0043】
「書体部首情報の自動生成手順」
「テオン角ゴシック体」の「書体部首情報」を求めるため、指定した塗りつぶされた80文字を用意する。
用意した文字をスキャナーで読み込み2値の1200×1200ドットのデータにする。
1200×1200ドットのデータを細め処理を行い、一ドット幅のデータに変換する。
一ドット幅のデータの中心をたどりながら、短直線で構成される連続線に変換する。
短直線で構成される連続線の凹凸を曲線と直線で近似することによって直線と曲線で構成される連続線に変換しこれを中心線とする。
スキャナーで読み込んだ1200×1200ドットのデータを一ドット幅の外郭データに変換する。
一ドット幅の外郭データの中心をたどりながら、短直線で構成される連続線を求める。
短直線で構成される連続線の凹凸を曲線と直線で近似することによって直線と曲線で構成される連続線に変換しこれを外郭線とする。
文字基本情報の同じ文字を構成するそれぞれの中心線ベクトルと同じ部位にある、直線と曲線で構成される連続線を角度と位置により分類し、文字基本情報の中心線ベクトルからの変位情報を求める。
文字基本情報の中心線ベクトルと変位情報から部品の中心線ベクトルを求める。
「書体部品情報」と中心線ベクトルから文字を生成する。
中心線ベクトルの点座標からベクトルの進行方向に垂直な線分を求める。
求めた線分と外郭線の交点と中心線ベクトルの点座標の距離を部品の太さとし、部品から生成した文字の太さ補正処理を行う。
文字の外郭線と部品から生成した文字の外郭線と部品の接合状況で、部品の端点と端点が接続する場合、外郭線を接続部角情報とする。
また部品の端点とそれ以外で接続する場合で、はみ出していないとき、部品切断情報とする。
はみ出すとき端点に対応する中心線ベクトルと外郭線をから角情報を求め、部品と部品の接合部の形状を表現する外郭線を接続部角情報とする。
以上の角情報については、図6に示す。
用意した「テオン角ゴシック体」は破棄される。
【0044】
「書体変形情報の自動生成手順」
「テオン角ゴシック体」の「書体変形情報」を求めるため、指定した塗りつぶされた200文字用意する。
用意した文字をスキャナーで読み込み2値の1200×1200ドットのデータを用意する。
読み込んだ1200×1200ドットのデータを細め処理を行い、一ドット幅のデータに変換する。
一ドット幅のデータの中心をたどりながら、短直線で構成される連続線に変換する。
短直線で構成される連続線の凹凸を曲線と直線で近似することによって直線と曲線で構成される連続線に変換しこれを中心線とする。
文字基本情報の同じ文字を構成するそれぞれの中心線ベクトルと同じ部位にある
、直線と曲線で構成される連続線を角度と位置により分類し、文字基本情報の中心線ベクトルと対応付けることにより変位情報を求め、変位情報と文字基本情報の中心線ベクトルから文字の中心線ベクトルを求める。
「書体部品情報」と「書体部首情報」と中心線ベクトルから文字を生成する。
生成した文字の部品と塗りつぶされた文字の部位を重ね差異を求める。
差異が部品が太いことを示す場合、部品を細くし、差異が部品が細いことを示す場合、部品を細める処理を行い、差異が部品が位置ずれを示す場合、該当する部品の中心線ベクトルを構成する点を移動する。
移動したした中心線ベクトルが以前求めた中心線ベクトルと同一になるまで上記の処理を繰返す。
400文字以外の文字は、文字基本情報の中心線ベクトルと用意した文字の文字基本情報の情報を比較し、文字を構成する部首あるいは部品で最も近い自動生成した書体変形情報を適応する。
用意した「テオン角ゴシック体」は破棄される。
【0045】
「書体ウェイト変形情報の生成手順」
文字生成手順で「書体ウェイト変形情報」を使用する部分で「文字基本ウェイト情報」を使用し指定されたウェイト1の文字を生成する。
「文字基本ウェイト情報」の島情報が生成した文字に存在するとき、対を成す中心線ベクトルの間に島が存在しないとき、太さ補正量を2ドットとして、対を成す中心線ベクトルの太さ補正処理を行うと同時に島情報中心点座標と反対方向に太さ補正量の半分位置補正を行い、島(白い部分)が出現するまで上記の処理を繰り返し、行った補正情報を書体ウェイト変形情報とする、。
すべての島が存在するように上記の補正処理をくり返す。
また上記の処理をウェイト1〜ウェイト12まで繰り返し「書体ウェイト変形情報」を求める。
以上の処理を、図9に示す。
【0046】
【実施例2】
この実施例では、実施例1で作成したインテリジェントフォントのデータ構造に基づいて、筆順情報を持ったインテリジェントフォント描画処理について説明する。他の文字についても同様である。
「インテリジェントフォント描画処理の説明」
「テオン角ゴシックウェイト3」の描画用書体を生成する手順
描画用書体管理テーブルの書体名に「テオン角ゴシックウェイト3」が格納される。
描画用書体管理テーブルのウェイトにウェイト3を示す3が格納される。
描画用書体管理テーブルの描画用書体情報定義場所に"THEONKG3.DDT"が格納される。
描画用書体情報のコード体系識別にはJISコード体系を示す1が格納される。
描画用書体情報のコードテーブル定義場所には100Hが格納される。
描画用書体情報の描画用ペアベクトル情報定義場所には15000Hが格納される。
文字「牛」について描画ベクトルを求めるまでの手順を説明する。
牛の文字基本情報から中心ベクトルからなる文字骨格を生成する。
文字骨格の中心線ベクトルの点座標を書体変形情報の移動情報により移動する。
文字骨格の中心線ベクトルの点座標を書体ウェイト変形情報の中心線ベクトル変形情報により移動する。
その際、書体ウェイト変形情報の太さ情報を元に変形する。
配置された部品同士を書体部首情報の部品結合情報によって結合し文字を完成させる完成された文字から横方向で塗り潰すために中心線ベクトルの点を基準点とす
る塗潰し開始ベクトルと塗潰し終了ベクトルを生成する。
生成した中心線ベクトルと塗潰し開始ベクトルと塗潰し終了ベクトルを描画用ペアベクトル情報として"THEONKG3.DDT"に格納する。
格納する内容は、牛の文字に対応するコードテーブルの内容は2177番目のコードには356DHが、描画用ペアベクトル情報オフセットには19608Hが格納される。
描画用ペアベクトル情報の中心線ベクトルの数には4が格納される、。
中心線ベクトルの数4について、その1の中心線座標には(2,316,983)、(4,258,823)、(4,200,685)、(1,111,701)が格納される。
その2の中心線座標には(0,224,773)、(1,1024,773)が格納される。
その3の中心線座標には(0,39,510)、(1,1121,510)が格納される。
その4の中心線座標には(0,603,1058)、(1,603,137)が格納される。
ペアベクトル数には6が格納される。
ペアベクトル数6について、その1の塗潰し開始ベクトルには(1,1,0,0,−26,−29)、(1,1,0,1,−39,2)が、塗潰し終了ベクトルには(1,1,0,0,−26,−29)、(1,1,0,1,51,2)が格納される。
その2の塗潰し開始ベクトルには(1,1,0,2,−39,2)、(1,1,333,4,−34,−17)、(1,1,666,4,−34,−17)、(1,2,0,1,−40,−20)が、塗潰し終了ベクトルには(1,1,0,2,51,2)、(1,1,333,4,34,17)、(1,1,666,4,34,17)、(1,2,0,1,67,−17)が格納される。
その3の塗潰し開始ベクトルには(2,1,0,0,−40,−20)、(2,2,0,1,29,35)が、塗潰し終了ベクトルには(2,1,0,0,67,−17)、(2,1,0,1,29,35)が格納される。
その4の塗潰し開始ベクトルには(3,1,0,0,26,−30)、(3,2,0,1,−15,30)が、塗潰し終了ベクトルには(3,1,0,0,12,−30)、(3,2,0,1,12,30)が格納される。
その5の塗潰し開始ベクトルには(4,1,0,0,−6,−30)、(4,2,0,1,−6,30)が、塗潰し終了ベクトルには(4,1,0,0,6,−30)、(4,2,0,1,6,30)が格納される。
その6の塗潰し開始ベクトルには(5,1,0,0,−30,9)、(5,2,0,1,30,9)が、塗潰し終了ベクトルには(5,1,0,0,−30,19)、(5,2,0,1,30,19)が格納される。
【0047】
「テオン角ゴシックウェイト3」の描画手順
「テオン角ゴシックウェイト3」の牛の文字の描画を100×200ドットで描画する手順を説明する。
書体名「テオン角ゴシックウェイト3」をキーにして、描画用書体管理テーブルから描画用書体情報定義場所の"THEONKG3".DDTを取り出す。
描画用書体情報からコードテーブル定義場所の100Hを取り出す。
描画用書体情報から描画用ペアベクトル情報定義場所の1500Hを取り出す。
牛のコードから2177番目のコードテーブルに格納されている描画用ペアベクトル情報オフセットの19608Hを取り出す、。
描画用書体情報から34608Hの位置から中心線ベクトルとペアベクトルを取り出す。
中心線ベクトルのX座標には0.08333(100/1200)、Y座標には0.16666(200/1200)を掛けて座標変換を行う。
ペアベクトルには0.16666を掛けて変換し、ペアベクトルの座標を基準点からの相対座標ではなく絶対座標に変換する。
Y座標を0から200まで1ステップづつ変化させ、それぞれのペアベクトルに該当するY座標が存在するとき塗り潰し開始ベクトルのX座標から塗り潰し、終了ベクトルのX座標まで線を描画する。
【0048】
【発明の効果】
以上説明したように、本発明に係る筆順等の情報を持ったインテリジェントフォントは、本発明の手順で構築されたデータベースであるので、筆順などの高度な情報を持つことを特徴とし、文字を構成する中心線ベクトルと書体を特徴付ける太さや角情報などを持った部品を組み合わせることによって文字を生成することができることを特徴とする。
従来のドットフォント或いはアウトラインフォントは、1書体を作成するには、必要な文字すべて(JISでは約7千文字)をデザインしデジタル化することが必要があったが、本発明に係るインテリジェントフォントは、数十から数百文字をデザインし、それらの関係をデータベース化することによって、実際に使用するフォントは、そのデータベースからの生成過程によって描画されるために、従来の30分の1以下の作業量で1書体を生成できるという効果を奏する。
また、本発明に係るインテリジェントフォントは、部品や中心線を変更することによって、文字を新たにデザインすることなく、違った雰囲気を持ったファミリー書体をも生成することができるという効果を奏する。
さらに、従来のアウトラインフォントの描画方法は、先ず、輪郭線を描画し、その後、内外の判定をし、塗りつぶし終点を判定しながら、輪郭線の内側を塗りつぶし作業を行う2工程で行われていたために時間が掛かったが、本発明の筆順等の情報を持ったインテリジェントフォントは、描画のために中心線データと中心線を基準点とす塗潰し開始ベクトルと塗潰し開始ベクトルから構成されるために塗潰し開始ベクトルを始点として、塗潰し開始ベクトルを終点とする直線を描画するだけの1工程のみによる描画方法を採用したので、従来のアウトラインフォントの描画方法に比べて高速な描画が可能になるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の筆順等の情報を持ったインテリジェントフォントと文字生成を示す説明図である。
【図2】ドットフォント(a)とアウトラインフォント(b)の限界を示す説明図である。
【図3】描画処理前の文字生成過程を示す説明図である。
【図4】中心線ベクトルを求める方法を示す説明図である。
【図5】部品の生成を示す説明図である。
【図6】部品の中心線ベクトルと太さ情報、角情報の説明図である。
【図7】書体部首情報により文字を描画する際の結合部の処理を示す説明図である。
【図8】島情報の説明図である。
【図9】ウエイト(3、5、9)の違う書体から書体ウェイト変形情報の生成を示す説明図である。
【図10】ウェイトの違う文字の生成過程を示す説明図である。
【図11】文字基本情報の中心線ベクトルを生成する過程を示す説明図である。
【図12】ウェイト3の文字の中心線ベクトルと太さ情報、および島情報を示す説明図である。
【図13】ウェイト3と比較したウェイト1の文字の中心線ベクトル移動変形情報、太さ情報、島情報の変形を示す説明図である。
【図14】ウェイト3と比較したウェイト12の文字の中心線ベクトル移動変形情報を示す説明図である。
【図15】描画する際の文字のペアベクトル、即ち、塗潰し開始ベクトル、塗潰し終了ベクトルを示す説明図である。
【図16】インテリジェントフォントのデータベースにおけるデータの参照を示す構造図である。
【図17】インテリジェントフォントのデータベースにおけるデータの位置を参照するオフセットを示す構造図である。
【符号の説明】
1 第一画
2 第二画
3 第三画
4 第四画
[0001]
[Technical field to which the invention belongs]
  The present invention relates to a font which is a typeface used in a word processor dedicated machine or word processor software.
[0002]
[Prior art]
  Conventionally, the typeface format used for word processor dedicated machines and word processor software has dot fonts in practical use.
  Practical dot fonts have the serious drawback that they become jagged when enlarged. This state is shown in FIG.
[0003]
  As an improvement measure, outline fonts typified by true type fonts have been developed. Compared to dot fonts, this outline font does not have jagged edges even when enlarged, resulting in a smooth expression. Therefore, outline fonts are now becoming mainstream.
[0004]
  However, the outline font has a disadvantage that the balance between the vertical bar and the horizontal bar is lost particularly when the font is enlarged due to the flattening of the font frequently used for filling characters. This state is shown in FIG.
Further, since the outline font draws an outline (contour) and generates characters by filling the inside, it has a two-step drawing procedure and has a problem that the drawing speed is inferior.
Further, in order to create a single typeface with a conventional dot font or outline font, it is necessary to design and digitize all necessary characters (approximately 7,000 characters in JIS).
Furthermore, in the Kanji area including Japan, outline fonts have limitations in extensibility due to the font generation process, even if information such as stroke order is desired in the future.
[0005]
[Problems to be solved by the invention]
  The problem to be solved is that outline fonts, which are currently mainstream fonts, have limited expressive power and cannot meet the performance required by the industry for fonts.
[0006]
[Means for Solving the Problems]
  The present invention analyzes centerline information according to the stroke order, which is fundamentally different from the conventional font technology, analyzes outline data such as distance to the centerline, tip information, and corner information, and centers these data. The most important feature is to make it an intelligent font by putting it in a line and creating a database.
[0007]
  First, definitions and explanations of terms used in describing the present invention will be described.
A radical is an element constituting a character.
A part is an element constituting a radical.
A typeface is a set of characters prepared with all characters corresponding to a specific code system.
The types of code systems include JIS code system (used in Japan), Shift JIS code system (used in Japanese DOS, etc.), EUC code system (used in UNIX), BG code system (used in China), CNS code system (Used in China), KSC code system (used in Korea), Uni (UNI) code system (used in Windows NT), and the like.
A family typeface is a set of different typefaces having the same characteristics, such as thickness.
The weight is a name for distinguishing different typefaces in the family typeface. Expressed by weight 1 to weight 12, weight 1 is used as a thin typeface and weight 12 is used as a thick typeface.
[0008]
  The following is a description of terms used to describe the intelligent font database:
The reference point is the origin of the local coordinate system, and the list structure is a set in which items are arranged in a certain order.
A block is a collection of information having the same properties.
The offset is the data position from the beginning of the block.
The definition location (definition location) is the name of the file in which the data is stored or the location from the beginning of the file.
[0009]
  The intelligent font according to the present invention is characterized by having advanced information such as stroke order, and generates a character by combining a center line vector constituting the character and parts having thickness and corner information characterizing the typeface. It is characterized by.
The intelligent font according to the present invention includes database (hereinafter abbreviated as DB) management information, character basic information, character basic weight information, typeface deformation information, typeface weight deformation information, typeface part information, typeface information, and typeface for drawing. Information, etc.
An overall conceptual diagram of an intelligent font according to the present invention is shown in FIG.
[0010]
  Further, the structure of the database is shown in FIGS. This will be described in detail below.
"DB management information"
As a font code system, a shift JIS code system, a UNI code system, an EUC code system, or the like can be used. These pieces of information are collected in each code system table.
DB management information includes a DB management table, a code system management information, a code system table, a basic information table, a typeface management table, a typeface code system management information, a typeface code system table, a typeface part table, a typeface head table, and a typeface deformation information table. It consists of a drawing typeface management table.
The DB management table stores the number of data blocks, the block identification number, the definition location of the code system management information, the definition location of the basic character information, the definition location of the basic character weight information, and the definition location of the typeface management table.
The code system management information stores the number of code system tables, the code system table identification number, and the definition location of the code system table.
The code system table stores a code and an offset value of the basic information table corresponding to the code.
The basic information table stores the character basic information offset value of the character corresponding to the code and the character basic weight information offset value.
The typeface management table contains the typeface name, typeface code system management information definition location, typeface part table definition location, typeface radical table definition location, typeface deformation information table definition location, typeface deformation information definition location, typeface weight A deformation information definition location, a font part information definition location, a font head information definition location, and a drawing weight font management table are stored.
The typeface part table stores the number of typeface parts, the typeface part identification number, and the offset of the typeface part information.
The typeface neck table stores the number of typeface necks, the typeface neck identification number, and the offset of the typeface neck information.
The typeface code system management information stores the number of typeface code system tables, the typeface code system table identification number, and the typeface code system table definition location.
The typeface code system table stores codes and offset values of the typeface basic table corresponding to the codes.
In the typeface deformation information table, an offset value of typeface deformation information of a character corresponding to a code and an offset value of typeface weight deformation information are stored.
The drawing typeface management table stores the number of drawing typefaces, the typeface name, weight, and drawing typeface information definition location for each drawing typeface.
[0011]
"Basic character information"
  Character basic information is the basic structure of intelligent fonts and has information common to all typefaces.
  The elements of basic character information are radical list information that stores radical information that composes characters, parts list information that stores component information that constitutes radicals, centerline vectors that form the skeleton of characters, stroke order information, etc. Information common to all typefaces for characters.
  As shown in FIG. 11, the center line vector is generated taking the same width from both ends of a filled character.
The radical information includes a radical number and component link information.
The part information includes a part number and a control point of the center line vector.
The part number is obtained by attaching an integer number to a part.
The center line vector of the basic character information is information that is the basis of the typeface deformation information of all typefaces.
The radical link information and the component link information of the basic character information have a list structure.
The center line vector of the basic character information is composed of a curve having a plurality of points.
A point has a point attribute and a coordinate value of the point.
The point attribute has a distinction between end point, curve, control point, and continuous point, and uses 4 bits.To do.
1st bit(Ie 1)To end point, 2nd bit(Ie 2)The curve, the third bit(Ie 4)Control point, 4th bit(Ie 8)Is a continuous point.Note that 0 is a straight line.
PointThe description is (attribute, X coordinate, Y coordinate).
As the curve, a Bezier curve is used, but other curves (NBAS curve or the like) can also be used.
  The same applies to the following description.
The number of centerline vectors in the basic character information is the same as the number of strokes.
The center line vector of the basic character information is attached to the component link information.
The stroke order information is the link order of the component link information.
The number stored in the radical link information is assigned to the radical listed for each number of strokes in the radical index of the Hanwa dictionary, and the following number is used for the same radical but with different shapes. Use with distinction.
The numbers stored in the part link information are horizontal bars, vertical bars, hooks, hooks, hooks, hooks, hooks, lefts, right, left, right, and horizontal flow. , Use a number on the house raising, sushi, dot, long point, shinnyuku, etc.
The character basic weight information has information necessary for generating a typeface having a different weight (thickness, etc.).
The components of the character basic weight information are center line vector movement deformation information, part thickness deformation information, and island information (information on a white portion surrounded by a black portion) necessary for distinguishing characters. . The island information is shown in FIG.
Character basic weight information is a basic structure for generating a typeface with different weights. The basic character weight information includes movement deformation information of the center line vector and component thickness deformation information in order to cope with a change in the position of the component, a change in shape, and a change in thickness due to the change in weight.
The character basic weight information has island information in order to leave an island (white portion) necessary for distinguishing characters.
The character basic weight information is information that is the basis of the font weight deformation information of all the fonts. In the character basic weight information, weight information of weight 1 and weight 12 is stored.
The movement deformation information of the center line vector is held as movement information of the point coordinates constituting the center line vector of the basic character information.
The thickness change information of the part is provided as the change information of the thickness at the point coordinates constituting the center line vector.
The island information has a relationship with a center line vector surrounding a character island (white portion) in a link structure.
[0012]
"Basic character weight information"
The basic character weight information has information necessary for generating a typeface having a different weight (thickness, etc.). Constituent elements of the character basic weight information are movement deformation information of the center line vector, thickness information, island information (information on a white part surrounded by a black part) necessary for distinguishing characters, and the like.
Character basic weight information is a basic structure for generating a typeface with different weights.
The character basic weight information includes movement deformation information and thickness information of the center line vector in order to cope with a change in the position of the part, a change in the shape, and a change in the thickness accompanying the change in the weight.
The character basic weight information has island information in order to leave an island (white portion) necessary for distinguishing characters.
The character basic weight information is information that is the basis of the font weight deformation information of all the fonts.
Character basic weight information stores weight information of weight 1 and weight 12.
The movement deformation information of the center line vector is held as movement information of the point coordinates constituting the center line vector of the basic character information.ThatThe description is (center line vector number, point number, X direction movement amount, Y direction movement amount).
Thickness information is stored as thickness information at the point coordinates constituting the center line vector.ThatThe description is (center line vector number, point number, thickness position, attribute, right direction thickness amount, left direction thickness amount).
The thickness position isThe current position is the start point 0 and the end pointThe point position is 1000Displayed in relative position.And used as thickness information at an arbitrary position on the center line vector.
The thickness amount is expressed as a distance in a direction perpendicular to the tangent at an arbitrary position of the center line vector.
The island information is information for holding a character island (white portion).
The island information has island information center point coordinates and adjacent center line vector information.
The island information center point coordinates are the coordinates of the center point of the character island.
The adjacent centerline vector information is information on a centerline vector surrounding the island.
The island information center point coordinate has the coordinate value of the point. The description is (X coordinate, Y coordinate).
The adjacent center line vector information is expressed as an angle formed by the coordinates of the island information center point and the closest position of the part. The description is (center line vector number, angle).
The typeface deformation information has deformation information of a center vector that characterizes the typeface.
The constituent elements of the typeface deformation information are position deformation information compared to the center line vector of the character basic information, component deformation information, and the like.
The font deformation information has deformation information of the center line vector characterizing the font as movement change information of the point coordinates constituting the center line vector of the basic character information.
The character is deformed when the typeface centerline vector is generated by the typeface deformation information.
[0013]
"Typeface deformation information"
The typeface deformation information has centerline vector deformation information characterizing the typeface.
The typeface deformation information includes centerline vector deformation information characterizing the typeface as movement information of point coordinates constituting the centerline vector of the basic character information. The description is (center line vector number, point number, X direction movement amount, Y direction movement amount).
The typeface deformation information is generated when a typeface centerline vector is generated when a drawing typeface is generated.
[0014]
"Typeface weight deformation information"
The font weight deformation information has information that changes depending on the weight.
The constituent elements of the font weight deformation information are the weight 1 of the center line vector, the movement deformation information of the center line vector of the weight 12, the thickness information, and the like.
The typeface centerline vector generated from the typeface deformation information is converted into the typeface centerline vector corresponding to the designated weight by the typeface weight deformation information. At the same time, thickness information is added to the center line vector. The thickness information is used to control the thickness when the part is coupled to the centerline vector.
The typeface weight deformation information is generated based on the character basic weight information, but the typeface weight deformation information can reflect the characteristics of the typeface more clearly as there are more typeface samples with different weights.
As the typeface weight deformation information, an intermediate weight typeface can be generated by linearly changing the centerline vector deformation information of weight 1 and weight 12 and the thickness information.
The center line vector deformation information is movement information of the point coordinates constituting the center line vector obtained from the basic character information and the typeface deformation information. The description is (center line vector number, point number, X direction movement amount, Y direction movement amount).
The thickness information is obtained by adding thickness information to the point coordinates constituting the center line vector. The description is (center line vector number, point number, thickness position, attribute, right direction thickness amount, left direction thickness amount).
The thickness position isThe current position is the start point 0 and the end pointThe point position is 1000Displayed in relative position.And used as thickness information at an arbitrary position on the center line vector.
[0015]
"Typeface information"
The typeface component information has information on several tens of parts that characterize the typeface.
The components of the typeface part information are a part center line vector, thickness information, accompanying information, corner information, and the like.
The part center line vector is expressed by a curve composed of a plurality of points. The description is (attribute, X coordinate, Y coordinate).
The thickness information is obtained by adding the thickness information to the point coordinates constituting the part center line vector.
The description is (center line vector number, point number, thickness position, attribute, right direction thickness amount, left direction thickness amount).
The accompanying information is information for defining the outline shape and is vector information described for expressing a complicated shape such as a calligraphy. In some cases, a program for generating a vector is stored. The description is (definition type, description location, number of arguments, argument 1, argument 2,...).
The definition type includes simple vector information, a vector definition file, a vector generation program, and the like.
The corner information is defined as a start point adjacency method, an end point adjacency method, and an angle information vector.
The start point adjacency method and the end point adjacency method define the combination form with the thickness information adjacent to the start point and end point of the corner information vector. In some cases, the data is combined, and the form of the connection is stored as a number.
The corner information vector is stored as a relative position from the center line vector point or the thickness information associated with the center line vector point. The description is (reference point type, point number, reference point position, relative X coordinate, relative Y coordinate).
The reference point type is used to distinguish a reference point from a point on the center line vector, a point on the right thickness information vector, and a point on the left thickness information vector.
The reference point position isThe current position is the start point 0 and the end pointThe point position is 1000Displayed in relative position.And used as arbitrary position information on the reference point vector. The above relationship is shown in FIG.
[0016]
"Typeface information"
The typeface radical information has information on the connection method between the parts constituting the radical.
Components of the typeface radical information are a part number list, connection information, and the like.
The typeface radical information is subjected to a combining process based on the connection portion angle information for the connection portion between the components.
By using the typeface head information, it is possible to realize a smooth connection of joints that cannot be expressed by parts alone.
The part number list stores the part numbers constituting the radical in a list structure.
The connection information describes a change in the part shape when the parts are combined, and stores part cutting information, connection angle information, and the like.
The part cutting information defines a part that needs to be processed so as not to protrude from the part to be joined when one end of the part is joined to another part.
In the part cutting information, the cut part is cut by the center line vector of the connected part, and the cut part is used for character generation. The description is (cutting type, number of arguments, combined vector number, cutting vector number, centerline vector point number).
The cutting type is used for describing the shape of the cut section. In the present invention, 0 is stored in order to automatically generate the typeface information.
The connection vector number and the cutting vector number use the storage order of the part number list.
The connecting portion angle information defines a portion where the shape of the outline changes when the components are combined.
The connection portion angle information is defined as a start point adjacency method, an end point adjacency method, and a connection portion angle information vector.
The start point adjacency method and the end point adjacency method define the form of connection with the thickness information adjacent to the start point and end point of the connection part angle information vector. In some cases, the connection is performed at the intersection, and the connection form is stored as a number.
Since the connection angle information vector is stored as a point of the center line vector, a thickness information number attached to the center line vector point, or a relative position from the intersection of the thickness information of the intersecting parts, the description is (Reference point type 1, reference point type 2, connection vector number 1, connection vector number 2, point number 1, point number 2, attribute, relative X coordinate, relative Y coordinate).
The reference point type 1 and the reference point type 2 are used to distinguish whether the reference point is a point on the center line vector, a point on the right thickness information vector, a point on the left thickness information vector, or an intersection of the two vectors. use.
When the reference point type 2 is other than 0, the connection vector number 1 and the connection vector number 2 having the intersection of the two vectors as the reference point of the angle information vector use the storage order of the part number list.
The reference point position isThe current position is the start point 0 and the end pointThe point position is 1000Displayed in relative position.And used as arbitrary position information on the reference point vector.
[0017]
"Drawing typeface"
The drawing typeface has information for drawing characters.
The components of the drawing typeface are drawing typeface information, a code table, drawing pair vector information, and the like. The pair vector is shown in FIG.
The drawing typeface is generated when the typeface is selected. At the time of character drawing, the drawing pair vector is extracted from the specified code and drawn.
The drawing typeface information stores a code system identification number, a code table definition location, and a drawing pair vector information definition location.
The code table stores a code and an offset value of drawing pair vector information corresponding to the code.
The drawing pair vector information stores the number of centerline vectors, the centerline vector, the number of pair vectors, and the pair vector for each code.
The pair vector stores a filling start vector and a filling end vector.
The coordinates of the pair vector are indicated relative to the centerline vector point.The ThatThe description is
(Center line vector number, point number, reference point position,attribute,X relative coordinates, Y relative coordinates).
The reference point position isThe current position is the start point 0 and the end pointThe point position is 1000Displayed in relative position.And used as arbitrary position information on the reference point vector.
[0018]
  In order to implement the present invention, a tool for creating and managing an intelligent font is required. For this purpose, a self-made program, a known program or tool is used.
The functions necessary for these will be described below.
"Intelligent font creation and management system description"
The system used to create and manage intelligent fonts has the following functions.
(1) A function for calling and displaying a dot font of 1200 × 1200 dots, and a function for converting and processing into an intelligent font,
(2) A function for managing an intelligent font database, and a function for storing the information converted and processed in (1) above in the intelligent font database.
Each of these functions will be described in detail below.
(1) A function for calling and displaying a dot font of 1200 × 1200 dots and a function for converting and processing into an intelligent font,
1) The image format to be called uses BMP, TIFF, JPEG, etc. TIFF, JPEG, etc. are used after being converted to a dot font.
2) As a calling method, there are a method of calling directly from a scanner or a method of calling from a file.
3) Data other than 1200 × 1200 dots at the time of calling is converted to 1200 × 1200 dots.
4) The dot font displayed on the screen can be enlarged to confirm details.
5) Has the function to convert and process dot fonts into intelligent fonts
(2) A function for managing the intelligent font database and a function for storing the information converted and processed in the above (1) in the intelligent font database.
It has the following functions to build, modify and manage intelligent font data structures.
1) A function for constructing, correcting, and managing a DB management table is provided.
2) A function for constructing, correcting, and managing code system management information.
Although the present invention will be described using the JIS code system, it is necessary to be able to cope with other code systems.
3) A function for constructing, correcting, and managing a code system table.
4) A function for constructing, modifying, and managing a basic information table.
5) A function for constructing, correcting, and managing basic character information.
6) A function for constructing, correcting and managing character basic weight information.
7) A function for constructing, correcting, and managing a typeface management table.
8) A function for constructing, correcting, and managing typeface code system management information.
9) A function for constructing, correcting, and managing a typeface code system table.
10) A function for constructing, correcting, and managing a typeface deformation information table.
11) A function for constructing, correcting, and managing a typeface part table.
12) A function for constructing, correcting, and managing a typeface radical table.
13) A function for constructing, correcting, and managing typeface deformation information.
14) A function for constructing, correcting, and managing font weight deformation information.
15) A function for constructing, correcting, and managing typeface part information.
16) A function for constructing, correcting and managing typeface radical information.
17) A function for constructing, correcting, and managing a drawing typeface management table.
18) A function for constructing, correcting, and managing drawing typeface information.
19) A function for constructing, correcting, and managing a code table is provided.
20) A function for constructing, correcting, and managing drawing pair vector information.
[0019]
  The (2) function for managing the database of intelligent fonts will be described in further detail.
1) Functions for constructing, modifying and managing a DB management table include:
a) There is a function for correcting and updating the number of blocks.
b) Add / delete items
c) has a function of correcting the block identification number;
d) There is a function for correcting the block definition location.
2) Functions for constructing, correcting and managing code system management information include:
a) There is a function for correcting and updating the number of code system tables.
b) Add / delete items
c) There is a function of correcting the code system table identification number,
d) There is a function of correcting the code system table definition location.
3) Functions for building, modifying, and managing code system tables include
a) Add / delete items
b) There is a code correction function,
c) There is a function of correcting the basic information table offset.
4) The functions to build, modify and manage the basic information table include
a) Add / delete items
b) There is a function for correcting the basic character information offset.
c) There is a function of correcting the character basic weight information offset.
5) Functions for building, modifying and managing basic character information include
a) There is a function to construct, modify, and manage basic character information radical list information.
b) There is a function to construct, modify, and manage basic character information radical information.
c) There is a function for constructing, correcting, and managing character basic information parts list information.
d) There is a function to construct, modify, and manage basic character information component information.
e) A function for constructing, correcting, and managing a character basic information centerline vector.
[0020]
6) Functions for building, correcting, and managing character basic weight information include
a) There is a function to construct, modify, and manage character basic weight centerline vector list information.
b) There is a function to construct, modify, and manage the character basic weight centerline vector structure.
c) There is a function for constructing, correcting, and managing character basic weight centerline vector movement deformation information.
d) There is a function for constructing, correcting, and managing character basic weight thickness list information.
e) There is a function to construct, modify and manage the character basic weight thickness structure.
f) There is a function for constructing, correcting, and managing character basic weight thickness information.
g) There is a function to construct, modify, and manage character basic weight island list information.
h) There is a function to construct, modify and manage the character basic weight island structure.
i) A function for constructing, correcting, and managing character basic weight island information.
7) Functions for constructing, correcting and managing a typeface management table include:
a) Add / delete items
b) There is a typeface name correction function.
c) There is a function for correcting the type code system management information definition location.
d) There is a function for correcting the font part table definition location.
e) There is a function for correcting the typeface head table definition location.
f) There is a function for correcting the typeface deformation information table definition location.
g) There is a function for correcting the typeface deformation information definition location.
h) There is a function for correcting the font weight deformation information definition location.
i) There is a function for correcting the font part information definition location.
j) There is a function for correcting the typeface information definition location.
k) There is a function for correcting the drawing weight type management table definition location.
8) Functions for constructing, correcting and managing typeface code system management information include:
a) There is a function for correcting and updating the number of typeface code system tables.
b) Add / delete items
c) has a function of correcting the code system identification number;
d) There is a function for correcting the place where the typeface code system table is defined.
9) The functions for building, correcting and managing the typeface code system table include:
a) Add / delete items
b) There is a code correction function,
c) There is a function of correcting the typeface deformation information table offset.
10) Functions for constructing, modifying, and managing a typeface deformation information table include:
a) Add / delete items
b) There is a function for correcting the font deformation information offset.
c) There is a function of correcting the font weight deformation information offset.
[0021]
11) Functions for constructing, correcting, and managing a typeface part table include:
a) There is a function to correct and update the number of typeface parts.
b) Add / delete items
c) has a function of correcting the typeface part identification number;
d) There is a function of correcting the typeface part information offset.
12) Functions for building, modifying, and managing a typeface head table include:
a) There is a function to correct and update the number of typeface heads.
b) Add / delete items
c) has a function of correcting the typeface neck identification number;
d) There is a function of correcting the typeface radical information offset.
13) Functions for constructing, correcting and managing typeface deformation information include:
a) There is a function to construct, modify, and manage centerline vector movement list information.
b) A function for constructing, correcting, and managing the center line vector moving structure.
14) Functions for constructing, correcting and managing typeface weight deformation information include:
a) Function to construct, modify, and manage typeface weight centerline vector list information
b) has the function of constructing, correcting and managing the typeface weight centerline vector structure;
c) A function for constructing, correcting, and managing typeface weight centerline vector movement information.
d) There is a function for constructing, correcting, and managing typeface weight thickness deformation list information.
e) A function for constructing, correcting, and managing a font weight thickness deformation structure.
f) A function for constructing, correcting, and managing typeface weight thickness information.
15) Functions for constructing, correcting, and managing typeface part information include:
a) There is a function to construct, modify, and manage part centerline vector list information.
b) has the function to construct, modify and manage the part centerline vector structure;
c) A function for constructing, correcting and managing part centerline vector information is provided.
d) There is a function for constructing, correcting, and managing the part thickness list information.
e) has the ability to build, modify and manage the component thickness structure;
f) There is a function to construct, modify, and manage part thickness information.
g) It has a function to construct, modify, and manage parts accompanying list information.
h) There is a function to construct, modify, and manage a part-associated structure.
i) has a function to construct, modify, and manage component-accompanying information;
j) There is a function to construct, modify, and manage part angle list information.
k) There is a function to construct, modify and manage the component corner structure.
l) A function for constructing, correcting, and managing component angle information.
[0022]
16) Functions for building, correcting, and managing typeface radical information include:
a) There is a function to construct, modify, and manage part number list information.
b) There is a function to construct, modify, and manage component connection list information.
c) has a function to construct, modify, and manage a component connection structure;
d) A function for constructing, correcting, and managing component connection information.
17) Functions for constructing, correcting and managing a drawing typeface management table include:
a) Add / delete items
b) There is a typeface name correction function.
c) There is a weight value correction function,
d) There is a function for correcting the drawing typeface information definition location.
e) A function for adding and deleting drawing typeface information.
18) Functions for constructing, correcting and managing drawing typeface information include:
a) There is a function for correcting the code system identification number,
b) There is a function for correcting the code table definition location.
c) There is a function for correcting the drawing vector information definition location.
19) Functions for building, modifying and managing code tables include:
a) Add / delete items
b) There is a code correction function,
c) There is a function of correcting the drawing pair vector information offset.
20) Functions for constructing, modifying and managing drawing pair vector information include:
a) There is a function for constructing, correcting, and managing drawing centerline vector list information.
b) has a function to construct, modify, and manage a drawing centerline vector structure;
c) has a function of constructing, correcting and managing drawing centerline vector information;
d) has a function to construct, modify, and manage drawing pair vector list information;
e) has the function of constructing, modifying and managing the drawing pair vector structure;
f) A function for constructing, correcting, and managing drawing pair vector information.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
"Intelligent Font Creation Procedure"
The present invention is common to all typefaces as a pre-stage of intelligent font creation
(1) Procedure for creating “character basic information”;
(2) “Character basic weight information” creation procedure, and using the basic information, an intelligent font creation procedure.
(3) Procedure for obtaining “typeface part information” from a plurality of characters,
(4) Procedure for obtaining “typeface radical information” from a plurality of characters,
(5) A procedure for obtaining “typeface deformation information” from a plurality of characters,
(6) Generating a character by combining the center line vector of a part constituting the character and the outline characterizing the typeface by the typeface created from the procedure for obtaining the “typeface weight deformation information” from the “character basic weight information”. An intelligent font with information such as stroke order that can be used has been realized.
[0024]
Each procedure is described in detail below.
(1) The procedure for creating “character basic information” is as follows:
The following processing is performed for all characters in the code system.
1) A filled character of weight 3 of 1200 × 1200 dots is prepared.
2) Store the radical structure of the radical constituting the character in the corresponding character basic structure of the character basic information.
3) The part structure of the parts constituting the radical is stored in the radical structure.
4) The part structure of parts other than the radicals constituting the character is stored in the corresponding character basic structure of the character basic information.
5) Generate a center line vector of the parts constituting the character and store them in the part structure in accordance with the filled characters.
(2) The procedure for creating “character basic weight information” is as follows:
The following processing is performed for all characters in the code system.
1) A filled character of weight 3 of 1200 × 1200 dots is prepared.
2) Centerline vectorDisplacement0 is stored in the information.
3) Thickness information is added to each centerline vector point, and weight 3 is stored in the corresponding character basic weight information as the thickness information of the reference weight.
4) The island information center point coordinate designating the center of the white part of the filled character and the center line vector related to the island information are stored as the adjacent center line vector information in the island information. Store in wait information.
FIG. 12 shows the center line vector, the thickness information, and the center point of the island information for the character with the weight 3 filled therein.
5) Prepare a filled character of weight 1 of 1200 × 1200 dots.
6) Move the point of the center line vector according to the filled character and start from the center line vector of the character basic information.DisplacementThe centerline vectorDisplacementInformation is stored in the corresponding character basic weight information.
7) The thickness information of the points of the center line vector is changed according to the filled character, and is stored in the corresponding character basic weight information as the thickness information.
8) Move the center point of the island information according to the filled character, and store the island information center point coordinates as island information in the corresponding character weight structure.
FIG. 13 shows the relationship between the center line vector, which is character basic weight information of weight 1 compared with weight 3, and the island information center point.
9) A character with a weight of 1200 × 1200 dots is prepared.
10) Move the point of the center line vector according to the filled character, and from the center line vector of the basic character informationDisplacementThe centerline vectorDisplacementInformation is stored in the corresponding character basic weight information.
11) The thickness information of the points of the center line vector is changed in accordance with the filled character, and is stored in the corresponding character basic weight information as the thickness information.
12) The center point of the island information is moved in accordance with the filled character, and the island information center point coordinates are stored in the corresponding character weight structure as the island information.
FIG. 14 shows centerline vector movement deformation information that is character basic weight information of the weight 12 compared with the weight 3.
[0025]
(3) The procedure for obtaining “typeface part information” from a plurality of characters is as follows:
1) Prepare dozens of characters for extracting parts.
Prepare handwritten manuscripts or outline font characters that can be easily converted into parts (for example, 1997).
2) Find the centerline of the prepared character.
When the prepared character is a handwritten document, it is read in binary using a scanner, and data of 1200 × 1200 dots is prepared.
When the prepared character is outline font data, a paint process is performed on the computer to prepare 1200 × 1200 dot data.
The 1200 × 1200 dot data is subjected to a narrowing process and converted to data of one dot width.
The data is converted into a continuous line composed of short straight lines while following the center of the data of one dot width.
The concavity and convexity of the continuous line composed of short straight lines is converted into a continuous line composed of straight lines and curves by approximating them with curved lines and straight lines, and this is used as the center line.
3) Obtain the outline of the prepared character.
When the prepared character is a handwritten manuscript, it is read using a scanner, and binary 1200 × 1200 dot data is prepared.
Data of 1200 × 1200 dots is converted into outline data with a width of one dot.
A continuous line composed of short straight lines is obtained while following the center of the outline data of one dot width.
The concavity and convexity of the continuous line composed of short straight lines is converted into a continuous line composed of straight lines and curves by approximating them with curved lines and straight lines, and this is used as an outline line.
If the prepared character is an outline font, the outline data is used as an outline.
4) The deformation information of the font deformation information is obtained by associating the center line of the continuous line composed of straight lines and curves with the center line vector of the basic character information.
The continuous lines consisting of straight lines and curves in the same part as the center line vectors that make up the same character in the basic character information are classified by angle and position, and from the central line vector in the basic character informationDisplacementAsk for information.
The center line vector of basic character informationDisplacementThe center line vector of the part is obtained from the information.
5) Obtain contour line information of a component with reference to point information constituting the center line vector from the component center line vector and the contour line.
A line segment perpendicular to the traveling direction of the vector is obtained from the point coordinates of the center line vector.
The distance between the obtained intersection of the line segment and the outline line and the point coordinate of the center line vector is used as the thickness information of the part. The thickness information of the end points of the center line vector is used as a reference point as corner information.
When an outline line connecting other intersections is not a simple curve, a center line vector, thickness information, incidental information, and corner information held as an outline line associated with the thickness are set as one component.
6) The above processing is repeated to obtain “typeface part information” from the center line vector and outline information.
About the above procedure, the description about the character "cow" is shown in FIG.
[0026]
(4) The procedure for obtaining “typeface radical information” from a plurality of characters is as follows:
1) Prepare dozens of characters for extracting radicals.
2) Find the centerline of the prepared character.
3) Obtain the outline of the prepared character.
4) A center line vector is obtained from the center line and “character basic information”.
5) A character is generated from the “typeface part information” and the center line vector, and compared with the prepared character.
6) Correct the thickness of the part to fit the prepared character.
A line segment perpendicular to the traveling direction of the vector is obtained from the point coordinates of the center line vector.
The distance between the obtained intersection of the line segment and the contour line and the point coordinate of the center line vector is defined as the thickness of the component.
7) From the contour line of the fitted character and the prepared contour line of the character, the contour line representing the shape of the joint part between the parts is specified, and the contour line information of the joint part is generated.
When the end points are connected, both-angle information development is prohibited, and the contour line connecting the intersection points is set as the connecting portion angle information.
When there is no protrusion at the end point and other connection, the component cutting information is used.
When connecting at the end point and other than the end point, the outline of the protruding portion is used as the connection portion angle information.
8) Repeat the above process to obtain “typeface radical information”.
[0027]
(5) The procedure for obtaining “typeface deformation information” from a plurality of characters is as follows:
1) Prepare tens to hundreds of characters for obtaining “typeface deformation information”.
2) Find the centerline of the prepared character.
3) Obtain the outline of the prepared character.
4) A center line vector is obtained from the center line and “character basic information”.
5) Characters are generated from “typeface part information”, “typeface head information”, and centerline vectors, and compared with the prepared characters.
6) Find the overlap difference with the part of the corresponding part of the prepared character. If the difference indicates that the part is thick, the part is thinned. If the difference indicates that the part is thin, the part is thinned. If the difference indicates misalignment, the corresponding part Move the points that make up the centerline vector.
The above processing is repeated until the moved center line vector becomes the same as the previously obtained center line vector.
7) “Typeface deformation information” is obtained from the corrected thickness and the corrected position.
A method for obtaining the centerline vector is shown in FIG.
The correction information belonging to the same classification is applied to the center line vector of all characters of the typeface to obtain the typeface deformation information.
[0028]
(6) The procedure for obtaining “typeface weight transformation information” from “character basic weight information” is as follows:
1) In a normal character generation procedure, “character basic weight information” is used in a portion where “typeface weight transformation information” is used, and a character having a designated weight is generated.
2) Check whether the island information of “character basic weight information” exists in the generated character.
It is determined whether an island exists between the paired centerline vectors.
3) Correct the position thickness of the associated centerline vector until an island exists.
The thickness correction amount is set to 2 dots, and the center line vector forming a pair is corrected to a position opposite to the island direction by a half position of the thickness correction amount.
4) Repeat the above correction process so that all islands exist.
5) The above processing is repeated from weight 1 to weight 12 to obtain “font weight deformation information”.
“Typeface weight deformation information” for the typefaces of weights 3, 5, and 9 is shown in FIG.
[0029]
"Description of Intelligent Font Drawing System"
The intelligent font drawing system of the present invention has the following functions.
(1) A function for preparing a pair vector for drawing all characters corresponding to the JIS code by designating registered family names and weights.
(2) A function for performing painting using a drawing pair vector when a code is called.
Character generation by the intelligent font drawing system of the present invention is performed in the following procedure.
(1) a procedure for generating a character skeleton from basic character information and typeface deformation information;
(2) Procedure for transforming a character skeleton based on typeface weight transformation information,
(3) Procedures for assembling characters based on character skeleton and typeface component information,
(4) A procedure for correcting the joint portion of the parts based on the typeface information.
(5) A procedure for generating a pair vector for painting from a part,
(6) The process consists of a procedure for processing a pair vector for filling to generate a filled character.
The procedure of the drawing system is shown in FIG.
[0030]
  Detailed description of the above procedure:
(1) The procedure for generating a character skeleton from basic character information and typeface deformation information is as follows:
1) Generate a character skeleton consisting of a central vector from basic character information.
2) The point coordinates of the center line vector of the character skeleton are moved according to the movement information of the typeface deformation information.
(2) The procedure for transforming a character skeleton using typeface weight transformation information is as follows:
1) Move the point coordinates of the center line vector of the character skeleton according to the center line vector deformation information of the font weight deformation information.
FIG. 10 shows a process of generating a character from a character skeleton and parts deformed using the font weight deformation information.
2) At that time, the thickness information of the center line vector is changed based on the thickness information.
(3) The procedure for assembling characters based on the character skeleton and typeface component information is as follows:
Using the center line vector of the character skeleton and the part thickness information, the corresponding part is extracted from the typeface part information and deformed and arranged.
(4) The procedure for correcting the joint part of the parts based on the typeface information is as follows:
The arranged components are combined by the component combination information of the typeface radical information to complete the character.
FIG. 7 shows characters corrected using the characters generated from the component information and the typeface head information.
(5) The procedure for generating a pair vector for painting from a part is as follows:
In order to fill in the horizontal direction from the completed character, a filling start vector and a filling end vector are generated with the center line vector point as a reference point.
A drawing pair vector is shown in FIG.
(6) The procedure for generating the filled characters by processing the filled pair vectors is as follows:
A filled font is generated by drawing a line segment starting from the filling start vector and ending at the filling end vector.
Note that the procedures from (1) to (5) are performed at the time of selecting a font or selecting a font to be used, and only the procedure of (6) is performed at the time of character drawing.
[0031]
  Hereinafter, examples of intelligent fonts according to the present invention will be described in more detail with reference to the drawings. However, the present invention is not limited to these examples.
[Example 1]
  In this embodiment, the data structure of an intelligent font created for a character “cow” having a weight 3 which is a theon square gothic body created in-house will be described with reference to the drawings. The same applies to other characters.
"DB management information"
As shown in FIGS. 16 and 17, the DB management information includes a DB management table, a code system management information, a code system table, a basic information table, a typeface management table, a typeface code system management information, and a typeface code system table. , A typeface part table, a typeface radical table, a typeface deformation information table, and a drawing typeface management table.
(1) Contents of DB management table
In the number of blocks in the DB management table, 5 whose relationship is indicated by the number of arrows (→) in FIG. 16 is stored.
The block identification number stores 1 indicating the code system management information, and the block definition location stores 100H in hexadecimal (hereinafter, H is an abbreviation for hex and indicates hexadecimal).
2 indicating basic character information is stored in the block identification number, and 1F600H is stored in the block definition location.
The block identification number stores 3 indicating character basic weight information, and 21F600H is stored in the block definition location.
4 indicating the basic information table is stored in the block identification number, and 0FC00H is stored in the block definition location.
The block identification number is 5 indicating the typeface management table, and the block definition location is
"syotai.tbl" is stored.
(2) Contents of code system management information
1 is stored in the number of code system tables in the code system table.
The code system table identification number stores 1 indicating the JIS code system, and 200H is stored in the code system table definition location.
(3) Contents of the code system table corresponding to the character “cow”
Since the division code of the character “cow” is No. 2177, 356DH is stored in the 2177th code column, and 4608H is stored in the basic information table offset.
Contents of basic information table corresponding to (4)
8B53FH is stored in the 2177th character basic information offset, and 2B8A3BH is stored in the character basic weight information offset.
(5) Contents of typeface management table
“Theon square (round) gothic” is used for the typeface name, “THEON.CTB” is used for the place where the typeface code system management information is defined, and “THEON.PTB” is used for the place where the typeface part table is defined. The definition location is "THEON.BTB", the typeface transformation information table definition location is "THEON.TTB", the typeface transformation information definition location is "THEON.TDT", and the typeface weight transformation information definition location is "THEON." .WDT "," THEON.PDT "is stored in the font part information definition location," THEON.BDT "is stored in the font head information definition location, and" DRAWFONT.TBL "is stored in the drawing font management table. .
(6) Contents of typeface code system management information corresponding to the Theon family typeface
1 is stored in the number of code system tables in the typeface code system management information.
The code system identification number stores 1 indicating the JIS code system, and 100H is stored in the typeface code system table definition location.
(7) Contents of typeface code system table corresponding to cattle of theon family typeface
356DH is stored in the 2177th code, and 4608H is stored in the typeface deformation information table offset.
(8) Contents of typeface information table corresponding to cattle of the Theon family typeface
8B53FH is stored in the 2177th typeface deformation information offset, and 22D4FCH is stored in the typeface weight information offset.
(9) Contents of the typeface parts table used with the Theon family typeface cattle
The number of typeface parts in the typeface part table is 32, 1 is stored in the typeface part identification number of the part corresponding to the horizontal bar, and 100H is stored in the typeface part information offset.
2 is stored in the typeface part identification number of the part corresponding to the vertical bar, and D00H is stored in the typeface part information offset.
10 is stored in the typeface part identification number of the part corresponding to the left payment, and 12100H is stored in the typeface part information offset.
(10) The contents of the typeface head table used for the Theon Family typeface "Cow"
300 is stored in the number of radicals of the typeface radical table.
50 is stored in the typeface head identification number of the radical corresponding to the character “cow”, and 0FA0H is stored in the typeface head information offset.
(11) Contents of drawing typeface management table
1 is stored in the number of typefaces for drawing.
The typeface name contains a theon angle (round) gothic style, the weight contains 5, and the drawing style position contains "THEON050.DRW".
[0032]
"Basic information on cow characters"
1 is stored in the radical number.
50 is stored in the radical number.
4 is stored in the number of parts.
10 is stored in the part number.
4 is stored in the number of part center line vector points.
Since the number of points of the center line vector is 4, the point coordinate values are (2,352,1023), (4,301,873), (4,239,754), (1,115,601). Stored.
1 is stored in the part number.
2 is stored in the number of part center line vector points.
For the number of points 2 of the center line vector, (0,274,817) and (1,1037,815) are stored in the point coordinate value.
1 is stored in the part number.
2 is stored in the number of component centerline vector points
For the number of points 2 of the center line vector, (0, 57, 523), (1, 1119, 523) are stored in the point coordinate value.
2 is stored in the part number.
2 is stored in the number of part center line vector points.
For the number of points 2 of the center line vector, (0, 595, 1106) and (1, 595, 109) are stored in the point coordinate value.
[0033]
“Basic character weight information of cow”
1 is stored in the wait number.
10 is stored in the number of pieces of movement deformation information.
For the number of pieces of movement deformation information 10, the movement deformation information includes (1, 1, 5, 5), (1, 2, 6, 2), (1, 3, 5, 3), (1, 4, 5, 2), (2,1,6,2), (2,2, -2,3), (3,1,1,1), (3,2, -1,1), (4,1, 0,3) and (4,2,0, -3) are stored.
10 is stored in the number of thickness information.
For the thickness information number 10, the thickness information includes (1, 1, 0, 2, 10, 10), (1, 2, 0, 4, 10, 10), (1, 3, 0, 4, 10,10), (1,4,0,1,10,10), (2,1,0,0,10,10), (2,2,0,1,10,10), (3, 1,0,0,10,10), (3,2,0,1,10,10), (4,1,0,0,10,10), (4,2,0,1,10, 10)
Is stored.
1 is stored in the number of island information.
For the island information number 1, (381,652) is stored in the island information center point coordinates.
4 is stored in the number of adjacent centerline vector information.
Regarding the number of adjacent centerline vector information pieces 4, (1,135), (4,0), (2,90), and (3,270) are stored in the adjacent centerline vector information.
3 is stored in the wait number.
0 is stored in the number of pieces of movement deformation information.
10 is stored in the number of thickness information.
For the thickness information number 10, the thickness information includes (1, 1, 0, 2, 3, 30), (1, 2, 0, 4, 30, 30), (1, 3, 0, 4, 30,30), (1,4,0,1,30,30), (2,1,0,0,30,30), (2,2,0,1,30,30), (3, 1,0,0,30,30), (3,2,0,1,30,30), (4,1,0,0,30,30), (4,2,0,1,30, 30) is stored.
1 is stored in the number of island information.
For the island information number 1, (372,664) is stored in the island information center point coordinates.
4 is stored in the number of adjacent centerline vector information.
For the adjacent centerline vector information number 4, (1,135), (4,0), (2,90), (3,270) are stored in the adjacent centerline vector information.
12 is stored in the wait number.
10 is stored in the number of pieces of movement deformation information.
For the number of pieces of movement deformation information 10, the movement deformation information includes (1, 1, −56, −52), (1, 2, −65, −23), (1, 3, −59, −37), ( 1, 4, −52, −27), (2, 1, −67, −29), (2, 2, 12, −29), (3, 1, −3, −8), (3, 2 , 3, -8), (4, 1, 0, -34), (4, 2, 0, 28) are stored.
10 is stored in the number of thickness information.
For the thickness information number 10, the thickness information includes (1, 1, 0, 2, 120, 120), (1, 2, 0, 4, 120, 120), (1, 3, 0, 4, 120, 120), (1, 4, 0, 1, 120, 120), (2, 1, 0, 0, 120, 120), (2, 2, 0, 1, 120, 120), (3, 1,0,0,120,120), (3,2,0,1,120,120), (4,1,0,0,120,120), (4,2,0,1,120, 120) is stored.
1 is stored in the number of island information.
For the island information number 1, (341, 691) is stored in the island information center point coordinates.
4 is stored in the number of adjacent centerline vector information.
Regarding the number of adjacent centerline vector information pieces 4, (1,135), (4,0), (2,90), and (3,270) are stored in the adjacent centerline vector information.
[0034]
“Cow typeface information”
10 is stored in the typeface deformation information count.
For the typeface deformation information number 10, the typeface deformation information includes (1,1, -36, −40), (1,2, −43, −50), (1,3, −39, −69), ( 1, 4, -4, 100), (2, 1, -50, -44), (2, 2, -13, -44), (3, 1, -18, -13), (3, 2 , 2, −13), (4, 1, 8, −48), and (4, 2, 8, 28) are stored.
[0035]
"Cow typeface weight deformation information"
1 is stored in the wait number.
10 is stored in the number of pieces of movement deformation information.
For the number of pieces of movement deformation information 10, the movement deformation information includes (1, 1, 5, 5), (1, 2, 6, 2), (1, 3, 5, 3), (1, 4, 5, 2), (2,1,6,2), (2,2, -2,3), (3,1,1,1), (3,2, -1,1), (4,1, 0,3) and (4,2,0, -3) are stored.
0 is stored in the thickness information.
3 is stored in the wait number.
0 is stored in the number of pieces of movement deformation information.
0 is stored in the thickness information.
12 is stored in the wait number.
10 is stored in the number of pieces of movement deformation information.
For the number of pieces of movement deformation information 10, the movement deformation information includes (1, 1, -54, -51), (1, 2, -62, -22), (1, 3, -57, -35), ( 1, 4, −49, −24), (2, 1, −64, −24), (2, 2, 15, −24), (3, 1, −3, −8), (3, 2 , 3, -8), (4, 1, 0, -34), (4, 2, 0, 28) are stored.
0 is stored in the thickness information.
[0036]
"Typeface parts information used in cattle"
1 is stored in the part number.
2 is stored in the number of part center line vector points.
For the component center line vector point number 2, (0, 0, 30) and (1, 1056, 30) are stored in the component center line vector.
2 is stored in the number of pieces of thickness information.
For the thickness information number 2, (1, 0, 0, 30, 30) and (2, 0, 1, 30, 30) are stored in the thickness information.
2 is stored in the number of pieces of corner information.
Corner information start point adjacentLaw2 is stored in.
2 is stored in the corner information end point adjacent method.
2 is stored in the number of corner information vector points.
Regarding the number of corner information vector points 2, (2,1,0,0,0) (3,1,0,0,0) is stored in the corner information vector.
Corner information start point adjacentLaw2 is stored in.
2 is stored in the corner information end point adjacent method.
2 is stored in the number of corner information vector points.
For the number of corner information vector points 2, (2, 2, 0, 0, 0) (3, 2, 0, 0, 0) is stored in the corner information vector.
0 is stored in the number of accompanying information.
2 is stored in the part number.
2 is stored in the number of part center line vector points.
For the part center line vector point number 2, (0, 30, 0) and (1, 30, 1080) are stored in the part center line vector.
2 is stored in the number of pieces of thickness information.
For the thickness information number 2, (1, 0, 0, 30, 30) and (2, 0, 1, 30, 30) are stored in the thickness information.
2 is stored in the number of pieces of corner information.
Corner information start point adjacentLaw2 is stored in.
2 is stored in the corner information end point adjacent method.
2 is stored in the number of corner information vector points.
Regarding the number of corner information vector points 2, (2,1,0,0,0) (3,1,0,0,0) is stored in the corner information vector.
Corner information start point adjacentLaw2 is stored in.
2 is stored in the corner information end point adjacent method.
2 is stored in the number of corner information vector points.
Regarding the number of corner information vector points 2, (2, 2, 0, 0, 0) (3, 2, 0, 0, 0) is stored in the corner information vector.
0 is stored in the number of accompanying information.
10 is stored in the part number.
4 is stored in the number of part center line vector points.
For the part centerline vector point number 4, (2,244,402), (4,192,279), (4,128,163), (1,50,41) are stored in the part centerline vector. The
4 is stored in the number of thickness information.
For the thickness information number 4, the thickness information includes (1, 0, 2, 30, 30), (2, 0, 4, 30, 30), (3, 0, 4, 30, 30), (4, 0, 4, 30, 30) is stored.
2 is stored in the number of pieces of corner information.
Corner information start point adjacentLaw2 is stored in.
2 is stored in the corner information end point adjacent method.
2 is stored in the number of corner information vector points.
Regarding the number of corner information vector points 2, (2,1,0,0,0) (3,1,0,0,0) is stored in the corner information vector.
Corner information start point adjacentLaw2 is stored in.
2 is stored in the corner information end point adjacent method.
2 is stored in the number of corner information vector points.
For the number of corner information vector points 2, (2, 4, 0, 0, 0) (3,4, 0, 0, 0) is stored in the corner information vector.
0 is stored in the number of accompanying information.
[0037]
“Cow typeface information”
50 is stored in the radical number.
4 is stored in the part number quantity.
(10), (1), (1), (2) are stored in the part number.
1 is stored in the number of parts cutting information.
The part cutting information is (0, 2, 1, 2).
[0038]
"Create DB management information"
DB management information creation is performed using an intelligent font creation management system.
(1) DB management table generation procedure
As the number of blocks in the DB management table, 5 indicating the relationship is stored by the number of arrows (→) in FIG.
1 indicating the code system management information is stored in the block identification number, and 100H is stored in the block definition location.
2 indicating the basic character information is stored in the block identification number, and 1F600H is stored in the block definition location.
3 indicating the character basic weight information is stored in the block identification number, and 21F600H is stored in the block definition location.
4 indicating the basic information table is stored in the block identification number, and 0FC00H is stored in the block definition location.
5 indicating the typeface management table is stored in the block identification number, and “syotai.tbl” is stored in the block definition location.
(2) Code system management information generation procedure
As the number of code system tables in the code system management information, 1 indicating the relationship with an arrow (→) in FIG. 16 is stored.
1 indicating the JIS code system is stored in the code system table identification number, and 200H is stored in the code system table definition location.
(3) Procedure for generating a code system table corresponding to the character “cow”
356DH is stored in the 2177th code, and 4608H is stored in the basic information table offset.
(4) Basic information table generation procedure corresponding to the character “cow”
8B53FH is stored in the 2177th character basic information offset, and 2B8A3BH is stored in the character basic weight information offset.
(5) Typeface management table generation procedure
"Theon square gothic" as the typeface name
"THEON.CTB" in the typeface code system management information definition location
"THEON.PTB" in the font part table definition location
"THEON.BTB" in the typeface table definition location
"THEON.TTB" in the typeface deformation information table definition location
"THEON.TDT" in the font deformation information definition location
"THEON.WDT" in the font weight deformation information definition location
"THEON.PDT" in the font part information definition location
“THEON.BDT” in the typeface information definition location
"DRAWFONT.TBL" in the drawing type management table
Store each one.
[0039]
(6) Procedure for creating typeface code system management information corresponding to the Theon Family typeface
16 is stored in the number of code system tables of the typeface code system management information.
100H is stored in the typeface code system table definition location where 1 indicating the JIS code system is stored in the code system identification number.
(7) Procedure for creating a typeface code system table corresponding to cattle of the Theon family typeface
356DH is stored in the 2177th code, and the typeface deformation information table offset created by automatic generation is stored in the typeface deformation information table offset.
(8) Procedure for creating a typeface information table for cattle in the Theon family typeface
The automatically generated typeface deformation information offset is stored in the 2177th typeface deformation information offset. Also, the automatically generated font weight information offset is stored in the font weight information offset.
(9) Procedure for generating a typeface component table for use with the Theon family typeface cattle
The number of parts created by automatic generation is stored in the number of typeface parts in the typeface part table.
1 is stored in the typeface part identification number of the part corresponding to the horizontal bar, and the offset of the typeface part information data of the horizontal bar created by automatic generation is stored in the typeface part information offset.
2 is stored in the typeface part identification number of the part corresponding to the vertical bar, and the offset of the typeface part information data of the vertical bar automatically generated is stored in the typeface part information offset.
10 is stored in the typeface part identification number of the part corresponding to the left-side payment, and the offset of the left-hand typeface part information data automatically generated is stored in the typeface part information offset.
(10) Procedure for generating a typeface table for use with theon family type cattle
The number of radicals created by automatic generation is stored in the number of radicals of the typeface radical table.
50 is stored in the typeface head identification number of the radical corresponding to the cow, and the offset of the typeface information of the cow's typeface created automatically is stored in the typeface information offset.
[0040]
"Procedure for creating basic character information for cattle"
The basic character information of cattle is performed using an intelligent font creation management system.
Prepare a 1200x1200 painted cow character with "Theon typeface" weight 3.
1 is stored in the number of radicals.
50 is stored in the radical number.
4 is stored in the number of parts.
10 is stored in the part number.
By the character basic information center line vector construction function, the number of points of vector data displayed and designated on the screen is stored in the number of parts center line vector points.
Further, the coordinates of vector data displayed and designated on the screen are stored in the point coordinate value of the center line vector.
1 is stored in the part number.
By the character basic information center line vector construction function, the number of points of vector data displayed and designated on the screen is stored in the number of parts center line vector points.
Further, the coordinates of vector data displayed and designated on the screen are stored in the point coordinate value of the center line vector.
1 is stored in the part number.
By the character basic information center line vector construction function, the number of points of vector data displayed and designated on the screen is stored in the number of parts center line vector points.
Further, the coordinates of vector data displayed and designated on the screen are stored in the point coordinate value of the center line vector.
2 is stored in the part number.
By the character basic information center line vector construction function, the number of points of vector data displayed and designated on the screen is stored in the number of parts center line vector points.
Further, the coordinates of vector data displayed and designated on the screen are stored in the point coordinate value of the center line vector.
The prepared “Theon typeface” is discarded.
[0041]
“Procedure for creating basic weight information for cattle”
Cattle character basic weight information is performed using an intelligent font creation management system.
Prepare a “Teon typeface” weight 1 with a 1200 × 1200 painted cow character.
1 is stored in the wait number.
By designating the character basic information center line vector and the weight center line vector corresponding to the character basic information center line vector movement deformation information, the number of movement deformation information and the movement deformation information are stored.
The character basic weight thickness information construction function specifies the center line vector and the contour line vector, and stores the number of thickness information corresponding to the center line vector and the thickness information.
By specifying the center line vector forming the island by the function for constructing the character basic weight island information, the number of island information, the island information center point coordinates, and the adjacent center line vector information are stored.
The island information is shown in FIG.
Prepare the “Teon typeface” weight 3 with a 1200 × 1200 painted cow character.
3 is stored in the wait number.
By designating the character basic information center line vector and the weight center line vector corresponding to the character basic information center line vector movement deformation information, the number of movement deformation information and the movement deformation information are stored.
The character basic weight thickness information construction function specifies the center line vector and outline line vector, and stores the number of thickness information corresponding to the center line vector and the thickness information.
By specifying the center line vector forming the island by the function for constructing the character basic weight island information, the number of island information, the island information center point coordinates, and the adjacent center line vector information are stored.
A 1200 × 1200 painted cow character with “Theon typeface” weight 12 is prepared.
12 is stored in the wait number.
By designating the character basic information center line vector and the weight center line vector corresponding to the character basic information center line vector movement deformation information, the number of movement deformation information and the movement deformation information are stored.
The character basic weight thickness information construction function specifies the center line vector and outline line vector, and stores the number of thickness information corresponding to the center line vector and the thickness information.
By specifying the center line vector forming the island by the function for constructing the character basic weight island information, the number of island information, the island information center point coordinates, and the adjacent center line vector information are stored.
The prepared “Theon typeface” is discarded.
[0042]
"Automatic generation of typeface part information"
In order to obtain the “typeface part information” of “theon square gothic”, the designated 30 filled characters are prepared.
The prepared characters are read by a scanner and converted into binary 1200 × 1200 dot data.
The 1200 × 1200 dot data is subjected to a narrowing process and converted to data of one dot width.
Converts to a continuous line consisting of short lines while following the center of the data of one dot width. Convert to a line and use this as the center line.
Data of 1200 × 1200 dots read by the scanner is converted into outline data with a width of one dot.
A continuous line composed of short straight lines is obtained while following the center of the outline data of one dot width.
The concavity and convexity of the continuous line composed of short straight lines is converted into a continuous line composed of straight lines and curves by approximating them with curved lines and straight lines, and this is used as an outline line.
The continuous lines consisting of straight lines and curves in the same part as the center line vectors that make up the same character in the basic character information are classified by angle and position, and from the central line vector in the basic character informationDisplacementAsk for information.
The center line vector of basic character informationDisplacementThe center line vector of the part is obtained from the information.
A line segment perpendicular to the traveling direction of the vector is obtained from the point coordinates of the center line vector.
The distance between the obtained intersection of the line segment and the outline line and the point coordinate of the center line vector is used as the thickness information of the part.
The thickness information of the end points of the center line vector is used as a reference point as corner information.
When the outline line connecting the other intersections is not a simple curve, the center line vector, the thickness information, the incidental information, and the corner information held as the outline line associated with the thickness are stored as one part as typeface part information.
The generation of the above parts is shown in FIG.
The prepared “Theon-Square Gothic” is discarded.
[0043]
“Automatic generation of typeface information”
In order to obtain the “typeface head information” of “theon square gothic”, the designated 80 filled characters are prepared.
The prepared characters are read by a scanner and converted into binary 1200 × 1200 dot data.
The 1200 × 1200 dot data is subjected to a narrowing process and converted to data of one dot width.
The data is converted into a continuous line composed of short straight lines while following the center of the data of one dot width.
The concavity and convexity of the continuous line composed of short straight lines is converted into a continuous line composed of straight lines and curves by approximating them with curved lines and straight lines, and this is used as the center line.
Data of 1200 × 1200 dots read by the scanner is converted into outline data with a width of one dot.
A continuous line composed of short straight lines is obtained while following the center of the outline data of one dot width.
The concavity and convexity of the continuous line composed of short straight lines is converted into a continuous line composed of straight lines and curves by approximating them with curved lines and straight lines, and this is used as an outline line.
The continuous lines consisting of straight lines and curves in the same part as the center line vectors that make up the same character in the basic character information are classified by angle and position, and from the central line vector in the basic character informationDisplacementAsk for information.
The center line vector of basic character informationDisplacementThe center line vector of the part is obtained from the information.
A character is generated from “typeface part information” and a center line vector.
A line segment perpendicular to the traveling direction of the vector is obtained from the point coordinates of the center line vector.
The distance between the obtained intersection of the line segment and the outline line and the point coordinate of the center line vector is set as the thickness of the component, and the thickness of the character generated from the component is corrected.
When the end points and end points of a part are connected in the joining state of the part and the part of the character generated from the part of the character and the part, the outline of the part is used as connection portion angle information.
In addition, when the connection is made at the end point of the component and other than that, and it does not protrude, the component cutting information is used.
The corner information is obtained from the center line vector and the contour line corresponding to the end point when protruding, and the contour line representing the shape of the joint part between the components is used as the connection portion corner information.
The above corner information is shown in FIG.
The prepared “Theon-Square Gothic” is discarded.
[0044]
"Automatic generation of typeface deformation information"
In order to obtain “typeface deformation information” of “theon-angle gothic”, 200 characters that are specified are prepared.
The prepared characters are read by a scanner, and binary 1200 × 1200 dot data is prepared.
The read 1200 × 1200 dot data is subjected to a narrowing process and converted to data of one dot width.
The data is converted into a continuous line composed of short straight lines while following the center of the data of one dot width.
The concavity and convexity of the continuous line composed of short straight lines is converted into a continuous line composed of straight lines and curves by approximating them with curved lines and straight lines, and this is used as the center line.
It is in the same part as each center line vector that constitutes the same character in the basic character information
By classifying continuous lines composed of straight lines and curves according to angle and position and associating them with the centerline vector of the basic character informationDisplacementSeeking information,DisplacementThe center line vector of the character is obtained from the center line vector of the information and the basic character information.
Characters are generated from “typeface part information”, “typeface radical information”, and a center line vector.
The generated character component and the filled character part are overlapped to obtain a difference.
If the difference indicates that the part is thick, the part is thinned, if the difference indicates that the part is thin, the part is thinned, and if the difference indicates misalignment, the centerline vector of the corresponding part is Move the point to be constructed.
The above processing is repeated until the moved center line vector becomes the same as the previously obtained center line vector.
For characters other than 400 characters, the center line vector of the basic character information is compared with the basic character information of the prepared character, and the automatically generated typeface deformation information closest to the radical or part constituting the character is applied.
The prepared “Theon-Square Gothic” is discarded.
[0045]
"Procedure for generating font weight deformation information"
A character having a designated weight 1 is generated using “character basic weight information” in a portion where “typeface weight transformation information” is used in the character generation procedure.
When the island information of “character basic weight information” is present in the generated character and there is no island between the paired centerline vectors, the thickness correction amount is set to 2 dots, and the thickness of the paired centerline vector At the same time, the half correction of the thickness correction amount is performed in the opposite direction to the island information center point coordinate, and the above processing is repeated until the island (white part) appears, and the corrected information is transformed into the font weight. Information.
Repeat the above correction process so that all islands exist.
The above processing is repeated from weight 1 to weight 12 to obtain “font weight deformation information”.
The above process is shown in FIG.
[0046]
[Example 2]
  In this embodiment, an intelligent font rendering process having stroke order information will be described based on the data structure of the intelligent font created in the first embodiment. The same applies to other characters.
"Explanation of intelligent font drawing process"
Procedure to generate a drawing font for “Theon Angle Gothic Weight 3”
“Theon square gothic weight 3” is stored in the font name of the drawing font management table.
3 indicating the weight 3 is stored in the weight of the drawing typeface management table.
"THEONKG3.DDT" is stored in the drawing typeface information definition location of the drawing typeface management table.
1 indicating the JIS code system is stored in the code system identification of the drawing typeface information.
100H is stored in the code table definition location of the drawing typeface information.
15000H is stored in the drawing pair vector information definition location of the drawing typeface information.
A procedure for obtaining a drawing vector for the character “cow” will be described.
A character skeleton consisting of a central vector is generated from the basic character information of cattle.
The point coordinates of the center line vector of the character skeleton are moved according to the movement information of the typeface deformation information.
The point coordinates of the center line vector of the character skeleton are moved by the center line vector deformation information of the font weight deformation information.
that time, Font weight deformation informationBased on the thickness informationDeformationTo do.
Combine the placed parts with the part combination information of the typeface radical information, and complete the text Use the centerline vector point as the reference point to fill the completed text horizontally
A fill start vector and a fill end vector are generated.
The generated center line vector, paint start vector, and paint end vector are stored in "THEONKG3.DDT" as drawing pair vector information.
The contents to be stored are 356DH for the 2177th code and 19608H for the drawing pair vector information offset for the contents of the code table corresponding to the cow character.
4 is stored in the number of center line vectors of the pair vector information for drawing.
For the number 4 of the center line vectors, (1, 316, 983), (4, 258, 823), (4, 200, 685), (1, 111, 701) are stored in the center line coordinates of the one. The
(0, 224, 773) and (1, 1024, 773) are stored in the center line coordinates of the two.
(0, 39, 510) and (1, 1121, 510) are stored in the three center line coordinates.
The (4, center line coordinates) stores (0, 603, 1058) and (1, 603, 137).
Six is stored in the number of pair vectors.
For the number of pair vectors 6, (1,1,0,0, −26, −29) and (1,1,0,1, −39,2) are filled in as the first filling start vector. (1, 1, 0, 0, −26, −29) and (1, 1, 0, 1, 51, 2) are stored in the vector.
The two filling start vectors are (1, 1, 0, 2, −39, 2), (1, 1, 333, 4, −34, −17), (1, 1, 666, 4, − 34, -17), (1, 2, 0, 1, -40, -20) are (1, 1, 0, 2, 51, 2), (1, 1, 333) 4, 34, 17), (1, 1, 666, 4, 34, 17), (1, 2, 0, 1, 67, -17) are stored.
The third filling start vector is (2,1,0,0, -40, -20) and (2,2,0,1,29,35), and the filling end vector is (2,1). , 0, 0, 67, -17), (2, 1, 0, 1, 29, 35) are stored.
The (3, 1, 0, 0, 26, -30) and (3, 2, 0, 1, -15, 30) are used as the four filling start vectors, and (3, 1) are used as the filling end vectors. , 0, 0, 12, -30), (3, 2, 0, 1, 12, 30) are stored.
The filling start vector of 5 is (4, 1, 0, 0, −6, −30) and (4, 2, 0, 1, −6, 30), and the filling end vector is (4, 4; 1, 0, 0, 6, −30) and (4, 2, 0, 1, 6, 30) are stored.
The sixth filling start vector is (5,1,0,0, -30,9) and (5,2,0,1,30,9), and the filling end vector is (5,1,0,30,9). 0, 0, -30, 19), (5, 2, 0, 1, 30, 19) are stored.
[0047]
Drawing procedure for “Theon Angle Gothic Weight 3”
A procedure for drawing a cow character of “Theon horn gothic weight 3” with 100 × 200 dots will be described.
Using the font name “Theon horn gothic weight 3” as a key, “THEONKG3” .DDT of the drawing font information definition location is extracted from the drawing font management table.
100H of the code table definition location is extracted from the drawing typeface information.
The drawing pair vector information definition place 1500H is extracted from the drawing typeface information.
The drawing pair vector information offset 19608H stored in the 2177th code table is extracted from the cow code.
A center line vector and a pair vector are extracted from the position of 34608H from the drawing typeface information.
Coordinate conversion is performed by multiplying the X coordinate of the center line vector by 0.08333 (100/1200) and multiplying the Y coordinate by 0.16666 (200/1200).
The pair vector is converted by multiplying by 0.16666, and the coordinates of the pair vector are converted into absolute coordinates instead of relative coordinates from the reference point.
The Y coordinate is changed step by step from 0 to 200, and when there is a Y coordinate corresponding to each pair vector, the X coordinate of the fill start vector is filled, and a line is drawn to the X coordinate of the end vector.
[0048]
【The invention's effect】
  As described above, since the intelligent font having information such as the stroke order according to the present invention is a database constructed by the procedure of the present invention, it is characterized by having advanced information such as the stroke order and is composed of characters. Characters can be generated by combining a center line vector and a part having thickness and corner information characterizing the typeface.
In the conventional dot font or outline font, it was necessary to design and digitize all necessary characters (approximately 7,000 characters in JIS) to create one typeface. By designing dozens to hundreds of characters and creating a database of their relationships, the fonts that are actually used are drawn by the generation process from the database. There is an effect that one typeface can be generated in an amount.
In addition, the intelligent font according to the present invention produces an effect that a family typeface having a different atmosphere can be generated without changing a part or a center line without newly designing a character.
Furthermore, the conventional outline font drawing method is performed in two steps of first drawing the outline, then determining the inside / outside, and determining the fill end point and filling the inside of the outline. However, the intelligent font having information such as the stroke order of the present invention is composed of the center line data, the fill start vector with the center line as the reference point, and the fill start vector for drawing. Since the drawing method with only one step is used to draw a straight line starting from the filling start vector and starting from the filling start vector, drawing can be performed faster than the conventional outline font drawing method. The effect of becoming.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing intelligent font and character generation having information such as stroke order according to the present invention.
FIG. 2 is an explanatory diagram showing limits of dot font (a) and outline font (b).
FIG. 3 is an explanatory diagram showing a character generation process before drawing processing;
FIG. 4 is an explanatory diagram showing a method of obtaining a center line vector.
FIG. 5 is an explanatory diagram showing generation of a component.
FIG. 6 is an explanatory diagram of a center line vector, thickness information, and corner information of a part.
FIG. 7 is an explanatory diagram illustrating processing performed by a combining unit when a character is drawn using typeface information.
FIG. 8 is an explanatory diagram of island information.
FIG. 9 is an explanatory diagram showing generation of font weight deformation information from fonts with different weights (3, 5, 9).
FIG. 10 is an explanatory diagram illustrating a process of generating characters with different weights.
FIG. 11 is an explanatory diagram showing a process of generating a center line vector of basic character information.
FIG. 12 is an explanatory diagram showing a center line vector, thickness information, and island information of a character of weight 3;
FIG. 13 is an explanatory diagram showing deformation of centerline vector movement deformation information, thickness information, and island information of a character of weight 1 compared to weight 3. FIG.
FIG. 14 is an explanatory diagram showing centerline vector movement deformation information of a character with a weight of 12 compared with a weight of 3;
FIG. 15 is an explanatory diagram showing a pair vector of characters when drawing, that is, a paint start vector and a paint end vector.
FIG. 16 is a structural diagram showing reference of data in an intelligent font database.
FIG. 17 is a structural diagram showing an offset referring to a data position in an intelligent font database.
[Explanation of symbols]
1 First picture
2 Second picture
3 Third stroke
4 Drawing 4

Claims (2)

インテリジェントフォントにおいて、
データベース管理情報、文字基本情報、文字基本ウェイト情報、書体変形情報、書体ウェイト変形情報、書体部品情報、書体部首情報、描画用書体情報から構成され、
データベース管理情報は、データベース管理テーブル、コード体系管理情報、コード体系テーブル、基本情報テーブル、書体管理テーブル、書体コード体系管理情報、書体コード体系テーブル、書体部品テーブル、書体部首テーブル、書体変形情報テーブル、描画用書体管理テーブルからなり、
文字基本情報は、文字を構成する部首情報を格納する部首リスト情報、部首を構成する部品情報を格納する部品リスト情報、文字の骨格をなす中心線ベクトル、筆順情報、その他文字に対して全書体に共通する情報からなり、
文字基本ウェイト情報は、中心線ベクトルの移動変形情報、太さ情報、及び文字を判別するために必要な島情報(黒い部分に囲まれた白い部分の情報)からなり、
書体変形情報は、書体を特徴付ける中心線ベクトルの変形情報を、文字基本情報の中心線ベクトルを構成する点座標の移動情報からなり、
書体ウェイト変形情報は、ウェイト1(細い書体)の中心線ベクトル、ウェイト12(太い書体)の中心線ベクトルと比較した任意のウエイト(2〜11)の中心線ベクトルとの移動変形情報と、太さ情報からなり、
書体部品情報は、部品中心線ベクトル、太さ情報、付随情報、角情報からなり、
書体部首情報は、部品番号リスト、部品と部品の結合部分を示す接続部角情報からなり、
描画用書体情報は、コード体系識別番号、コードテーブル定義場所、描画用ペアベクトル情報からな
書体によって、文字を構成する部品の中心線ベクトルと書体を特徴付ける太さ情報、付随情報、角情報を組み合わせることによって文字を生成することができる筆順等の情報を持ったインテリジェントフォントであって、
インテリジェントフォント作成の前段階として全書体に共通する(1)「文字基本情報」の作成手順、および(2)「文字基本ウェイト情報」の作成手順と、
前記の基本情報を使用して、インテリジェントフォント作成手順として、
(3)複数の文字から「書体部品情報」を求める手順、(4)複数の文字から「書体部首情報」を求める手順、(5)複数の文字から「書体変形情報」を求める手順、(6)「文字基本ウェイト情報」から「書体ウェイト変形情報」を求める手順とからなり、
(1)「文字基本情報」の作成手順は、コード体系の総ての文字に対して以下の処理を行う、
1)ウェイト3の1200×1200ドットの塗りつぶされた文字を用意する、
2)文字を構成する部首、部首を構成する部品、部品を構成する中心線ベクトルを文字基本情報に格納する、
(2)「文字基本ウェイト情報」の作成手順は、コード体系の総ての文字に対して以下の処理を行う、
1)ウェイト3の1200×1200ドットの塗りつぶされた文字を用意し、中心線ベクトル変位情報には0を、中心線ベクトルの太さ情報、文字の白い部分を示す島情報をウェイト3の文字基本ウェイト情報に格納する、
2)ウェイト1(細い書体)の1200×1200ドットの塗りつぶされた文字を用意し、中心線ベクトル変位情報、中心線ベクトルの太さ情報、島情報をウェイト1の文字基本ウェイト情報に格納する、
3)ウェイト12(太い書体)の1200×1200ドットの塗りつぶされた文字を用意し、中心線ベクトル変位情報、中心線ベクトルの太さ情報、島情報をウェイト12の文字基本ウェイト情報に格納する、
(3)複数の文字から「書体部品情報」を求める手順は、
1)部品を抽出するために、部品化しやすい数十文字の1200×1200ドットのデータを用意し、中心線、外郭線を求める、
2)「文字基本情報」の中心線ベクトルを対応付け、中心線ベクトルを求める、
3)中心線ベクトルと外郭線から、部品の太さ情報、角情報、付随情報を求める、
以上の処理を繰り返し「書体部品情報」を求める、
(4)複数の文字から「書体部首情報」を求める手順は、
1)部首を抽出するために、抽出しやすい数十文字の1200×1200ドットのデータを用意し、中心線、外郭線を求める、
2)「文字基本情報」の中心線ベクトルを対応付け、中心線ベクトルを求める、
3)「書体部品情報」と中心線ベクトルから文字を生成し、用意した文字との比較して部品の部品切断情報、接続部角情報を求める、
以上の処理を繰り返し「書体部首情報」を求める、
(5)複数の文字から「書体変形情報」を求める手順は、
1)「書体変形情報」を求めるために、数十文字から数百文字の1200×1200ドットのデータを用意し、中心線、外郭線を求める、
2)「文字基本情報」の中心線ベクトルを対応付け、中心線ベクトルを求める、
3)「書体部品情報」と「書体部首情報」と中心線ベクトルから文字を生成し、用意した文字との比較を行い中心線ベクトルを補正し書体変形情報を求める、
(6)「文字基本ウェイト情報」から「書体ウェイト変形情報」を求める手順は、
1)通常の文字生成手順で、「書体ウェイト変形情報」を使用する部分では「文字基本ウェイト情報」を使用し、指定されたウェイトの文字を生成する、
2)「文字基本ウェイト情報」の島情報により中心線ベクトルおよび太さ情報を補正し、中心線ベクトル変位情報と太さ情報を求める、
上記(1)から(6)の処理をウェイト1〜ウェイト12まで繰り返し、「書体ウェイト変形情報」を求める、
ことから作成された書体によって、文字を構成する中心線ベクトルと書体を特徴付ける部品とを組み合わせることによ文字を生成することができることを特徴とする筆順等の情報を持ったインテリジェントフォントの作成方法。
In intelligent fonts
It consists of database management information, basic character information, basic character weight information, typeface deformation information, typeface weight deformation information, typeface component information, typeface radical information, drawing typeface information,
Database management information includes database management table, code system management information, code system table, basic information table, typeface management table, typeface code system management information, typeface code system table, typeface part table, typeface head table, typeface deformation information table Consists of a typeface management table for drawing,
Basic character information includes radical list information that stores radical information that composes characters, parts list information that stores component information that constitutes radicals, centerline vectors that form the skeleton of characters, stroke order information, and other characters. Information that is common to all typefaces,
Character basic weight information consists of center line vector movement deformation information, thickness information, and island information (information on a white part surrounded by a black part) necessary for distinguishing characters.
Typeface deformation information consists of centerline vector deformation information that characterizes the typeface, and movement information of the point coordinates that make up the centerline vector of the basic character information.
The font weight deformation information includes movement deformation information between a centerline vector of weight 1 (thin typeface), a centerline vector of an arbitrary weight (2 to 11) compared with a centerline vector of weight 12 (thick typeface), Information
Typeface part information consists of part center line vectors, thickness information, accompanying information, and corner information.
The typeface radical information consists of a part number list, and connection part angle information indicating the connection part between parts.
Drawing for font information, code system identification number, code table definition location, Ri Do from the drawing for the pair vector information,
It is an intelligent font with information such as stroke order that can generate characters by combining the center line vector of the parts that make up the character and the thickness information, accompanying information, and corner information that characterizes the typeface,
(1) A procedure for creating “character basic information” common to all typefaces as a pre-stage of intelligent font creation ; and (2) a procedure for creating “character basic weight information”;
Using the basic information above, as an intelligent font creation procedure,
(3) A procedure for obtaining “typeface part information” from a plurality of characters, (4) a procedure for obtaining “typeface radical information” from a plurality of characters, (5) a procedure for obtaining “typeface deformation information” from a plurality of characters, ( 6) A procedure for obtaining “typeface weight transformation information” from “character basic weight information”.
(1) The procedure for creating the “character basic information” is as follows:
1) Prepare a filled character with weight 3 of 1200 × 1200 dots.
2) Store the radical constituting the character, the part constituting the radical, and the center line vector constituting the part in the basic character information.
(2) The “character basic weight information” is created by performing the following processing for all characters in the code system.
1) Weight 3 with a 1200 × 1200 dot filled character is prepared, center line vector displacement information is set to 0, center line vector thickness information, and island information indicating the white part of the character is weight 3 character base Store in weight information
2) A filled character of weight 1 (thin typeface) of 1200 × 1200 dots is prepared, and center line vector displacement information, center line vector thickness information, and island information are stored in weight 1 character basic weight information.
3) A 1200 × 1200 dot filled character having a weight 12 (thick typeface) is prepared, and center line vector displacement information, center line vector thickness information, and island information are stored in the weight 12 character basic weight information.
(3) The procedure for obtaining “typeface part information” from a plurality of characters is as follows:
1) To extract parts, prepare data of 1200 × 1200 dots of several tens of characters that are easily converted into parts, and obtain center lines and outlines.
2) Associating the center line vector of “character basic information” to obtain the center line vector;
3) Obtain component thickness information, corner information, and accompanying information from the center line vector and the contour line.
Repeat the above process to obtain “typeface part information”.
(4) The procedure for obtaining “typeface radical information” from a plurality of characters is as follows:
1) In order to extract radicals, prepare data of 1200 × 1200 dots of dozens of characters that are easy to extract, and obtain center lines and contour lines.
2) Associating the center line vector of “character basic information” to obtain the center line vector;
3) Generate characters from “typeface component information” and the centerline vector, and compare with the prepared characters to obtain component cutting information and connection angle information of the components.
Repeat the above process to obtain “typeface radical information”.
(5) The procedure for obtaining “typeface deformation information” from a plurality of characters is as follows:
1) In order to obtain “typeface deformation information”, data of 1200 × 1200 dots of tens to hundreds of characters is prepared, and a center line and a contour line are obtained.
2) Associating the center line vector of “character basic information” to obtain the center line vector;
3) Characters are generated from “typeface part information”, “typeface radical information”, and a centerline vector, and compared with the prepared characters to correct the centerline vector to obtain typeface deformation information.
(6) The procedure for obtaining “typeface weight transformation information” from “character basic weight information” is as follows:
1) In a normal character generation procedure, in a portion using “typeface weight transformation information”, “character basic weight information” is used to generate a character having a designated weight.
2) The center line vector and the thickness information are corrected by the island information of the “character basic weight information” to obtain the center line vector displacement information and the thickness information.
The processes (1) to (6) are repeated from weight 1 to weight 12 to obtain “font weight deformation information”.
The font created from that, how to create an intelligent font having information such as stroke order, characterized in that it is possible to generate the part and by Ri character combining characterizing centerline vector and font constituting the character .
請求項1に記載されたインテリジェントフォントの作成方法によって作成されたインテリジェントフォントについて、
(1)文字基本情報と書体変形情報により文字骨格を生成する手順、
(2)書体ウェイト変形情報により文字骨格を変形する手順、
(3)文字骨格と書体部品情報により文字を組み立てる手順、
(4)書体部首情報により部品の結合部分を補正する手順、
(5)部品から塗潰し用ペアベクトルを生成する手順、
(6)塗潰し用ペアベクトルを処理して塗り潰された文字を生成する手順からなる描画方法において、
(1)文字基本情報と書体変形情報により文字骨格を生成する手順は、
1)文字基本情報から中心ベクトルからなる文字骨格を生成する、
2)文字骨格の中心線ベクトルの点座標を書体変形情報の移動情報により移動する、
(2)書体ウェイト変形情報により文字骨格を変形する手順は、
1)文字骨格の中心線ベクトルの点座標を書体ウェイト変形情報の中心線ベクトル変形情報により移動する、
2)その際、書体ウェイト変形情報の太さ情報を元に変形する、
(3)文字骨格と書体部品情報により文字を組み立てる手順は、
文字骨格の中心線ベクトルと部品太さ情報を使用して、対応する部品を書体部品情報から取り出し変形して配置する、
(4)書体部首情報により部品の結合部分を補正する手順は、
配置された部品同士を書体部首情報の部品結合情報によって結合し、文字を完成させる、
(5)部品から塗潰し用ペアベクトルを生成する手順は、
完成された文字から横方向で塗り潰すために中心線ベクトルの点を基準点とする塗潰し開始ベクトルと塗潰し終了ベクトルを生成する、
(6)塗潰し用ペアベクトルを処理して塗り潰された文字を生成する手順は、塗潰し開始ベクトルを開始点として、塗潰し終了ベクトルを終了点とする線分を描画することによって塗り潰された書体を生成する、
ことを特徴とする筆順等の情報を持ったインテリジェントフォントの描画方法。
And have intelligent font Nitsu created by the creation method according to intelligent font to claim 1,
(1) a procedure for generating a character skeleton from basic character information and typeface deformation information;
(2) Procedure for transforming a character skeleton based on typeface weight transformation information,
(3) Procedures for assembling characters based on character skeleton and typeface component information,
(4) A procedure for correcting the joint portion of the parts based on the typeface information.
(5) A procedure for generating a pair vector for painting from a part,
(6) In a drawing method including a procedure for processing a pair vector for filling to generate a filled character,
(1) The procedure for generating a character skeleton from basic character information and typeface deformation information is as follows:
1) Generate a character skeleton consisting of a central vector from basic character information.
2) Move the point coordinates of the center line vector of the character skeleton according to the movement information of the typeface deformation information.
(2) The procedure for transforming a character skeleton using typeface weight transformation information is as follows:
1) The point coordinate of the center line vector of the character skeleton is moved by the center line vector deformation information of the font weight deformation information.
2) At that time, transform based on the thickness information of the font weight deformation information,
(3) The procedure for assembling characters based on the character skeleton and typeface component information is as follows:
Using the centerline vector of the character skeleton and the part thickness information, the corresponding part is extracted from the typeface part information and deformed and arranged.
(4) The procedure for correcting the joint part of the parts based on the typeface information is as follows:
Combining the arranged parts with the part combination information in the typeface radical information to complete the character,
(5) The procedure for generating a pair vector for painting from a part is as follows:
Generate a fill start vector and a fill end vector with the centerline vector point as the reference point to fill in the horizontal direction from the completed character.
(6) The procedure for processing the pair vector for filling to generate a filled character is filled by drawing a line segment starting from the filling start vector and ending at the filling end vector. Generate typefaces,
An intelligent font drawing method having information such as stroke order.
JP2001348121A 2001-11-13 2001-11-13 Intelligent font having information such as stroke order, creation method thereof, and rendering method thereof Expired - Fee Related JP4005793B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001348121A JP4005793B2 (en) 2001-11-13 2001-11-13 Intelligent font having information such as stroke order, creation method thereof, and rendering method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001348121A JP4005793B2 (en) 2001-11-13 2001-11-13 Intelligent font having information such as stroke order, creation method thereof, and rendering method thereof

Publications (3)

Publication Number Publication Date
JP2003150144A JP2003150144A (en) 2003-05-23
JP2003150144A5 JP2003150144A5 (en) 2005-07-14
JP4005793B2 true JP4005793B2 (en) 2007-11-14

Family

ID=19160996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001348121A Expired - Fee Related JP4005793B2 (en) 2001-11-13 2001-11-13 Intelligent font having information such as stroke order, creation method thereof, and rendering method thereof

Country Status (1)

Country Link
JP (1) JP4005793B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996309B (en) * 2009-08-19 2013-07-10 北大方正集团有限公司 Method and relevant device for identifying and transforming stroke contour

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4734225B2 (en) * 2005-11-21 2011-07-27 株式会社エクシング Distribution method, distribution system, mobile phone and computer program
US9480151B2 (en) 2010-01-29 2016-10-25 Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijkonderzoek Tno Assembly, method of assembling, and tile for use in assembly
KR20150145774A (en) 2014-06-19 2015-12-31 삼성전자주식회사 Electronic Apparatus and Method for Providing of Handwriting Animation
CN105607752B (en) * 2015-10-22 2018-06-19 王向阳 Shape easy Chinese character input method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996309B (en) * 2009-08-19 2013-07-10 北大方正集团有限公司 Method and relevant device for identifying and transforming stroke contour

Also Published As

Publication number Publication date
JP2003150144A (en) 2003-05-23

Similar Documents

Publication Publication Date Title
JP2608571B2 (en) Apparatus and method for vectorizing input scanned image data
US5717905A (en) CAD system and bezier-curve data converting apparatus and method thereof in said CAD system
JP4005793B2 (en) Intelligent font having information such as stroke order, creation method thereof, and rendering method thereof
JP3083314B2 (en) Document processing method and apparatus
JPS63235986A (en) Character output device
JPS602668B2 (en) Character pattern registration processing method
JPH0827843B2 (en) How to edit a character string in a figure
JP2618528B2 (en) Character drawing device, character output correction method, and character output device
JP4458640B2 (en) Drawing instruction apparatus, drawing instruction method thereof, and computer-readable storage medium
JP2956784B2 (en) Kanji font data conversion method
JP3536894B2 (en) Graphic processing unit
JPS6081683A (en) Expanding and contracting method of dot pattern
CN115690376A (en) Method for creating airborne control panel character three-dimensional model
JPS61245284A (en) Method for partially transforming graphic
JP3358433B2 (en) Interactive drawing recognition processing method
JP2675363B2 (en) Character processor
Adams A dialogue of forms: letter and digital font design
JP2861201B2 (en) Data converter
KR100609575B1 (en) Method to store geographic data files in object-relational database management systems
Mazzucato Optimization of Bézier outlines and automatic font generation
JPH08138068A (en) Device and method for graphic generation
JPS62232087A (en) Character dot-font segmentation system
JP2003006233A (en) Character registration method in cad system, and character drawing method in cad system and system
JPH0772847A (en) Character font output device and character font generating device
JPH10307573A (en) Brush painting basic character generating method and device in whole resolution space

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070502

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070824

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees