JPH09134156A - アウトラインフォントのストローク化及びパーツ化方法 - Google Patents

アウトラインフォントのストローク化及びパーツ化方法

Info

Publication number
JPH09134156A
JPH09134156A JP7290701A JP29070195A JPH09134156A JP H09134156 A JPH09134156 A JP H09134156A JP 7290701 A JP7290701 A JP 7290701A JP 29070195 A JP29070195 A JP 29070195A JP H09134156 A JPH09134156 A JP H09134156A
Authority
JP
Japan
Prior art keywords
stroke
cut
character
cutting
strokes
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.)
Withdrawn
Application number
JP7290701A
Other languages
English (en)
Inventor
Miyuuraa Buarutaa
ミューラー ヴァルター
Yungu Furanku
ユング フランク
Bitsukeru Anetsuto
ビッケル アネット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP7290701A priority Critical patent/JPH09134156A/ja
Priority to US08/684,894 priority patent/US5917501A/en
Publication of JPH09134156A publication Critical patent/JPH09134156A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • G06T11/20Drawing from basic elements
    • G06T11/23Drawing from basic elements using straight lines or curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 文字よりストローク、ストロークよりパーツ
を効率良くカットする。 【解決手段】 文字をパーツの集まりで表現するアウト
ラインフォント作成装置において、オペレータ操作で文
字より切り取ったストロークの形状をストロークテンプ
レート格納部2に記憶することで学習を行い(ステップ
8a)、学習したストロークテンプレート形状に基づい
て、各文字をストロークに自動カットし、カット形状を
メモリ4に格納する(ステップ8b)。自動カットでき
ない文字が存在する場合には、オペレータ操作でこれら
のうち幾つかの文字から切り取ったストローク形状をス
トロークテンプレート格納部2に記憶し(ステップ8
c)、再学習したストロークテンプレート形状に基づい
て、カットされずに残っている文字よりストロークを自
動カットする(ステップ8d)。同様にストロークをパ
ーツにカットする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はアウトラインフォン
トのストローク化及びパーツ化方法に係わり、特に、文
字のアウトラインをパーツにカットし、各パーツの輪郭
線を定義すると共に文字をパーツの集まりで表現し、文
字の出力に際して該文字を構成するパーツの輪郭線をビ
ットマップイメージに展開して出力するアウトラインフ
ォント技術において文字をストロークに、ストロークを
パーツに効率良くカットする方法に関する。
【0002】
【従来の技術】漢字・ひらがな・カタカナという三つの
異なる文字を持つ日本語は、アルファベットのみの欧米
語とは大きく異なる言語である。一般にひらがなやカタ
カナは漢字に比べてやや小さくデザインされているし、
別々にデザインされた漢字とかなを組み合わせることも
可能である。文字はボディと呼ばれるデザイン枠の内側
に作られ、アルファベットのように文字ごとに幅が異な
ることはない。また、例えば、“P”の縦線は垂直にデ
ザインされるが、「門」の2本の縦線は活字書体ではわ
ずかにハの字に広がっている。これは頭の部分が重たく
不安定に感じるという目の錯覚を補正するためである
が、この種の錯視補正は漢字特有のものである。さら
に、漢字は縦線や横線が多いからそれらのバランスは重
要である。線と線の間の余白をホワイトスペースと呼ぶ
が、このホワイトスペースを元のデザインと同じバラン
スに再現することは、高品質な文字の条件の一つであ
る。
【0003】これらの特徴を持つ漢字を微小な点(ドッ
ト)の集まりで表現する場合、単位ドット以下の微妙な
表現は困難である。ドット数が少ないときには、元のデ
ザインの細部を表現することができないばかりか、すべ
ての横線や縦線を間隔をあけて配置することができず
に、黒くつぶれてしまう場合がある。文字のデザインを
表現できないような少ないドット数では、単に情報を伝
達・記録するための機能しか残らないので、デザインよ
りもつぶれを防止して可読性を向上させることに主眼が
置かれる。もはやどの書体が使用されているかというデ
ザイン性は重要でないのである。
【0004】人の手で最適な文字パターンが作られるビ
ットマップフォントでは、可読性を維持しながらつぶれ
を防止するために、文字全体のバランスを変えたり縦線
や横線の一部を間引きするような手法を採っている。パ
ソコンやワープロの画面表示に使用される16ドットの
文字では、通常このような処理が行われており、間引き
される線が注意深く選択されているため、一目見ただけ
ではそれとは気付かない場合もある。しかし、ビットマ
ップ法では各種サイズに応じた文字パターンを用意しな
ければならず大容量のメモリを必要とする。そこで、少
ないデータ量で各種の大きさの文字を、字母のデザイン
を損なわないで再現するために、ビットマップフォント
からアウトラインフォントへと技術が変遷してきてい
る。アウトラインフォントは、図37に示すように文字
の輪郭線を例えば縦横1000×1000のXY座標系における
座標で表現したものであり、文字生成プログラムにより
輪郭線データをビットマップに変換して出力する。かか
る、アウトラインフォントは当然マルチポイント指定
(サイズの異なる印刷指定)が可能であり、どんなに大
きい文字でも、字母のデザインを損ねること無く品質を
維持できる。
【0005】ところが残念なことに、現在のアウトライ
ンフォント技術では文字のポイントサイズが小さくなる
程、文字の品質が損なわれ、素人目にも見苦しい字体に
なってしまう欠点がある。これは、1000×1000のXY座
標系で表現された文字の輪郭線をm×mドット(例えば
16×16ドット)の物理座標系で表現する際に起きる丸め
誤差によるものである。図38は従来のアウトラインフ
ォントとビットマップフォントを用いて出力した文字の
サンプル例である。(a)は従来のアウトラインフォント
によるサンプル、(b)はビットマップによるサンプル
で、それぞれ上段は24×24ドット、下段左は18×18ドッ
ト、下段右は14×14ドットにおけるサンプル例である。
ドット数が多い場合には、アウトラインフォントとビッ
トマップフォントの品質の差は明確でないが、文字サイ
ズが小さくなると品質の差が明確になる。すなわち、18
×18ドットのアウトラインフォントでは各文字サイズが
統一されておらず(「視」が他より大きめになっている)、
又、14×14ドットのアウトラインフォントでは文字部分
につぶれが発生している。ビットマップフォントの場合
は、ドット数が少なくなると、可読性を維持しながらつ
ぶれを防止するように、しかも、全体のバランスを変え
たり、縦線や横線の一部を間引きしてフォントを構成し
ているため、つぶれや、サイズのバラツキがない。尚、
(c)に後述する本発明のパーツ構成フォントみよる文字
サンプルを示しておく。
【0006】以上のように従来のアウトラインフォント
技術では、ビットマップフォントのようなきめ細かな処
理ができず、文字サイズが小さくなると、サイズのバラ
ツキやつぶれが生じる。これは、前述のように丸め誤差
が発生し、しかも、視覚特性を利用した一種の「ごまか
し」を施せないためである。又、従来のアウトラインフ
ォントを用いた演算処理では、可読性を向上させるため
に文字のどの部分が重要か分からないため、人間には不
要と感じられる細部が強調されて再現されることもあ
る。
【0007】以上要約すれば、人の手で作られたビット
マップフォントは高品質であるが、大容量のメモリを必
要としてDTP(Disk Top Publishing)などの時代の要
求にはこたえられない。一方、従来のアウトラインフォ
ントはDTPなどに適しているが演算処理によって文字
イメージを生成しているため、とくに小さな文字サイズ
で品質が劣る。従って、アウトラインフォントでビット
マップフォント並の高品質な文字イメージを生成するこ
とが要望されている。
【0008】漢字はもともと複数の縦線や横線の集まり
である。ところが従来のアウトラインフォント技術では
それらすべてをひとまとめにして輪郭線を表現している
ために前述の問題が生じる。そこで、図39に示すよう
に輪郭線を縦線、横線、傾斜線、右払い、左払いなど一
筆単位(ストロークSTi(i=1,2,・・・)という)に分割
し、各ストロークSTi毎にその輪郭線を表現し、文字
をこれらストロークの集まりとして捕らえ、文字生成プ
ログラムにより各輪郭線データをビットマップに変換し
て出力するようにする。このようにすれば、縦線や横線
等の関係が明確になり、しかも、可読性を向上させるた
めに文字のどの部分が重要か、あるいは、不要かなどが
判明して様々なコントロールが可能になる。又、かかる
考えをさらに進めて、小さな文字サイズでは書体の違い
よりも字体の認識が重要であるから、字体を表する情報
(骨格情報)と書体を表す情報(輪郭情報)を分離する
ことができれば、可読性が重要視される小さな文字サイ
ズから、書体の持ち味の再現が重要な大きな文字サイズ
まで高品質に生成することが可能となる。ここで言う骨
格情報とは、文字の肉付けの中心線のことではなく文字
の基本構造情報のことである。
【0009】本発明者等は以上の点に鑑み、各文字を
骨格情報を用いてストロークに分割し、ストロークを
更にパーツに分割し、各パーツの輪郭線を定義すると
共に文字をパーツの集まりで表現し、文字の出力に際
して該文字を構成するパーツの輪郭線をビットマップイ
メージに展開して出力するアウトラインフォント技術を
開発、提案してきている。図40は文字、ストローク、
パーツの説明図であり、漢字「舞」をストロークに分割
し(文字・ストロークカット)、更に、ストロークをパ
ーツに分割(ストローク・パーツカット)した場合を示
しており、パーツの集合は輪郭情報となる。図中、エレ
メントは説明の都合上示しているが実際の処理に際して
は使用しない単位である。漢字「舞」は多数のストロー
クに分割され、各ストロークは更に適宜パーツ(スター
トパーツ、ミドルパーツ、エンドパーツ)にカットされ
て、輪郭情報を構成する。
【0010】図41は骨格情報説明図であり、文字毎に
その書き順に従って各ストロークにストローク番号が付
され、ストローク番号順に該ストロークの配置データ
(始点位置、終点位置)と、ストロークのタイプを示す
ストロークコードが付されて構成されている。図では漢
字「仁」の骨格情報が示されている。各パーツの輪郭形
状は図42に示すようにパーツ外形の各曲点P1〜P6
1〜Q4のパーツ座標系における座標値を反時計方向に
配列して表現される。図42(a)は漢字「一」のスタート
パーツのパーツ形状、図42(b)は漢字「一」のエンドパ
ーツのパーツ形状をそれぞれ示している。
【0011】図43は文字をパーツの集まりで表現した
フォントファイルの構造説明図である。1aはヘッダ部
で、フォント名や作成日付などのフォントに関する各種
情報を格納する部分、1bはキャラクタポインタ部であ
り、文字コードに応じたパーツポインタ列を差すための
キャラクタポインタを格納するものである。2はパーツ
ポインタ部であり、文字を構成する全パーツの配置デー
タとパーツ輪郭線データへのポインタを格納するもので
ある。3は輪郭線データ部であり、全パーツのパーツ輪
郭線データを格納するものである。パーツポインタ部2
におけるパーツ配置データは、アウトラインフォント座
標系(1000×1000ドットの座標系)のどこにパーツを配
置するかを示すデータであり、パーツ原点(図42参
照)の文字座標系における位置座標を示している。図4
3における配置データは、図44に示すように漢字
「三」の一番下の水平ストローク(横線)のスタートパ
ーツのパーツ原点位置を(56,493)、ミドルパーツのパー
ツ原点位置を(111,493)、エンドパーツのパーツ原点位
置を(953,493)とした場合である。
【0012】
【発明が解決しようとする課題】以上のように文字のア
ウトラインをパーツにカットし、各パーツの輪郭線を定
義すると共に文字をパーツの集まりで表現し、文字の出
力に際して該文字を構成するパーツの輪郭線をビットマ
ップイメージに展開して出力するアウトラインフォント
技術においては、文字をストロークに、ストロークをパ
ーツに効率良くカットする必要がある。しかし、従来は
オペレータが1文字づつ手作業で文字をストローク化
し、又、ストロークをパーツ化するものであり、多大な
労力を必要とするものであった。又、従来の手作業で行
うシステムでは、高品質に文字をストロークに、ストロ
ークをパーツにカットするツールが無く、従って元のア
ウトラインフォントが有するデザインを保持しながら正
確にカットできない問題があった。
【0013】以上から、本発明の目的は、文字をストロ
ークに、ストロークをパーツに効率良くカットすること
ができるアウトラインフォントのストローク化及びパー
ツ化方法を提供することである。本発明の別の目的は、
元のアウトラインフォントが有するデザインを保持しな
がら正確にストローク化及びパーツ化できる方法を提供
することである。
【0014】
【課題を解決するための手段】図1、図2は本発明の解
決手段の説明図である。図1において、1はカットされ
ていない既存フォントを格納する既存フォント格納部、
2は学習により得られたストロークテンプレートを格納
するストロークテンプレート格納部、3はストロークに
自動カットできなかった文字のストロークを特定するデ
ータ(文字コード、ストローク番号)を記憶するカット
不能ストローク格納部、4は自動カットして得られたス
トロークの形状データ等を記憶するストロークデータ格
納部、5は学習により得られたストロークプロトタイプ
を記憶するストロークプロトタイプ格納部、6はパーツ
に自動カットできなかったストローク部分を特定するデ
ータ(文字コード、ストローク番号)を記憶するパーツ
カット不能ストローク格納部、7は自動カットして得ら
れたパーツ形状データ等を記憶するパーツデータ格納部
である。
【0015】8aは文字をストロークに自動カットさせ
るための学習を行う学習ステップ、8bは学習により得
た知識に基づいて文字よりストロークを自動カットする
自動ストロークカットステップ、8cは自動カットでき
ずに残っている文字のうち幾つかの文字をオペレータ操
作でストロークにカットして再学習させる再学習ステッ
プ、8dは再学習により得た知識に基づいて残っている
文字よりストロークを自動カットする再自動ストローク
カットステップである。
【0016】9aはストロークをパーツに自動カットさ
せるための学習を行う学習ステップ、9bは学習により
得た知識に基づいてストロークよりパーツを自動カット
する自動パーツカットステップ、9cは自動カットでき
ずに残っているストロークのうち幾つかのストロークを
オペレータ操作でパーツにカットして再学習させる再学
習ステップ、9dは再学習により得た知識に基づいて残
っているストロークよりパーツを自動カットする再自動
パーツカットステップである。図2において、STi(i
=1,2,・・・)は文字の1筆単位であるストローク、PTij
(i,j=1,2・・・)はストロークを構成するパーツである。
【0017】オペレータ操作で文字よりカットしたスト
ロークSTiの形状をストロークテンプレート形状とし
て記憶することにより学習し(ステップ8a)、学習し
たストロークテンプレートの形状に基づいて、各文字を
ストロークに自動カットする(ステップ8b)。自動カ
ットできない文字が存在する場合には、オペレータ操作
でこれらのうちの幾つかの文字からカットしたストロー
ク形状をストロークテンプレート形状として記憶し(再
学習、ステップ8c)、再学習したストロークテンプレ
ート形状に基づいて、カットされずに残っている文字よ
りストロークを自動カットする(ステップ8d)。
【0018】以上により、ストローク化の処理が終了す
れば、オペレータ操作でストロークSTiをパーツPT
ijにカットし、その時の切取り法、切取り位置及びスト
ローク形状をストロークプロトタイプ情報として記憶す
ることにより学習し(ステップ9a)、学習したストロ
ークプロトタイプ情報に基づいて、各ストロークをパー
ツに自動カットする(ステップ9b)。この場合、自動
的にパーツにカットできないストロークが存在する場合
には、オペレータ操作で幾つかのストロークをパーツに
カットし、その時の切取り法、切取り位置及びストロー
ク形状をストロークプロトタイプ情報として記憶して再
学習し(ステップ9c)、再学習したプロトタイプ情報
に基づいて、切り取られずに残っているストロークを自
動カットする(ステップ9d)。
【0019】以上のようにすれば、いくつかの文字、ス
トロークについてストローク化、パーツ化の方法を学習
させるだけで後は自動的に文字をストロークに、ストロ
ークをパーツにカットできる。このため、文字をパーツ
の集まりで表現するアウトラインフォントを効率良く製
作することができる。又、アウトラインフォントをパー
ツの集まりで表現するため、文字のつぶれが生じないよ
うに、あるいは、不要な部分が強調されないような制御
が可能とあり、可読性に優れ、しかも元のアウトライン
フォントが有するデザインを保持した文字を出力でき
る。
【0020】
【発明の実施の形態】
(A)本発明の全体の構成 (a)構成 図3はフォント製作ツールの構成図である。フォント製
作ツールは既存のフォントをストロークに分割すると共
にストロークをパーツに分割し、各文字をパーツの集合
で表現したフォント(パーツ構成フォント)に変換する
ものである。11はフォント製作ツールであり、既存の
フォント12をストロークに分割すると共にストローク
をパーツに分割する自動セパレーション部11a、同一
形状のパーツを共通化してパーツ数を削減する自動パー
ツシェア部11b、各パーツにヒント情報を付加する自
動ヒント部11c、各文字をパーツの集合で表現したパ
ーツ構成フォント13を作成するフォント作成部11
d、文字データベース11eを有している。文字データ
ベース11eには、読み込んだ既存フォント、各文
字の骨格情報、文字のストローク化及びストロークの
パーツ化に際して学習したストロークのテンプレート情
報やストロークプロトタイプ情報(パーツのテンプレー
ト)、自動ストローク化処理、自動パーツ化処理によ
り得られたストローク情報、パーツ情報、作成したパ
ーツ構成フォント等を記憶するようになっている。尚、
各文字の骨格情報は書体に関係なく使用できるため、デ
ータベースとは別のメモリに記憶し、データベースを書
体毎に設けるようにしてもよい。
【0021】(b)処理の概略 フォント製作ツール11は、既存フォント12のフォー
マット変換→自動セパレーション処理→自動ヒント処理
→フォントファイル作成処理を介して既存フォントをパ
ーツ構成フォント13に変換、出力するようになってい
る。 (b-1) フォーマット変換 まず、ユーザが保有する既存のアウトラインフォント1
2をフォント製作ツールのフォーマットに変換する。変
換されたすべての文字情報は、文字データベース11e
に格納される。尚、後述のセパレーション処理(ストロ
ークカット、パーツカット処理)に伴ってストローク、
パーツのデータが生成されるが、これらはすべて文字デ
ータベース11eに格納される。そして、分割されたス
トローク、パーツにはストローク分類コード、パーツ分
類コードが付加されているため、任意のデータにアクセ
ス可能である。
【0022】(b-2) 自動セパレーション 入力された文字の輪郭線は袋文字であるから、文字から
ストローク、ストロークからパーツの2段階のセパレー
ションを行う。自動セパレーションでは、まず学習モー
ドを起動し、ユーザが代表的な文字について操作画面上
でストローク化、パーツ化し、システムにストローク
化、パーツ化のルールを学習させる。その後、バッチ処
理を起動するとシステムが学習ルールに従って残りの数
千文字を自動的にストローク化、パーツ化する。セパレ
ーションのルールはデザインによって多少変わるので、
学習モードは書体ごとに実行する必要がある。平均的な
明朝体で、文字からストロークが70%、ストロークか
らパーツが95%の高率で自動セパレーションを実現し
ている。又、たとえ学習結果を応用できない特殊な形状
があっても、学習情報の追加と自動セパレーションを繰
り返すことで対応が可能であり、残った文字やストロー
クをすべて手作業でセパレーションする必要はない。
【0023】(b-3) 自動パーツシェア 複雑な形状の漢字も、ストロークそしてパーツへとセパ
レーションすることで単純な図形になる。しかし、7000
個の文字をストローク化すると91,000個のストロークに
なり、全ストロークをパーツ化すると210,000パーツに
なり、大容量のメモリを必要とする。そこで、形状が
「ほとんど同じ」と見なされるパーツの共有化を図る。
この共有化処理により、総パーツ数は30,000個に減小
し、メモリ資源の有効活用が可能となる。又、文字デザ
イン時のばらつきやディジタル化の際のエラーによって
生じる不統一を吸収して形状の統一化が可能となる。
【0024】(b-4) 自動ヒント ヒントとは、品質を決定する上で重要な輪郭座標に付加
する制御情報である。ヒントには線幅制御を行うヒント
(ステムヒント)、活字書体用にデザインされた文字の
「張り」部分を制御するウロコヒント、丸ゴシック体の
丸みをきれいに出すヒントなどがある。自動セパレーシ
ョンと同様に学習モードでユーザがヒントを付加してお
手本を示すと、そのルールを応用して自動的にヒント情
報を付加する。図4はステムヒントの説明図である。10
00×1000ドットの論理座標系で表現したアウトラインフ
ォントを例えば16×16ドットの物理座標系にサイズ変換
すべく、縮小したとき、(a)に示すようにポイントA,
BのY座標値がそれぞれ6.5及び5.3になったとする。か
かる場合、各Y座標値を四捨五入(グリッド補正)して
整数化することにより物理座標系に変換する。このた
め、(b)に示すようにA点のY座標値は7、B点のY座
標値は5になり、線幅が2になる。しかし、実際の線幅
は1.2(=6.5-5.3)であるから、四捨五入すると1であ
る。このように何らのヒント制御をしないと線幅は2に
なり太めに出力され、デザインされた文字からかけ離れ
た文字が出力される。すなわち、文字品質が劣化する。
【0025】そこで、アウトラインフォントのA点にア
ブソリュートステムヒント情報asを付加し、B点にレ
ラティブヒント情報rsを付加する。このようにヒント
情報を付加すると、アブソリュートステムヒント情報a
sが付加されたA点のY座標値を四捨五入して5にした
とき、捨てた分0.3(=5.3-5.0)をレラティブヒント情報
rsが付加されたB点のY座標値6.5から差引き、その
結果6.2(=6.5-0.3)を四捨五入する。これにより、B点
のY座標値は6になり、(c)に示すように線幅を1にで
き文字品質の劣化を防止できる。
【0026】図5、図6はウロコヒントの説明図であ
る。アウトラインフォントデータを論理座標系で縮小拡
大した場合、各曲点の座標として図5(a)に示すような
結果が得られる。かかる場合、従来方式では、図5(b)
に示すように論理座標系の各点の座標値を四捨五入(グ
リッド補正)することにより整数化して物理座標系に変
換し、該物理座標系データに基づいて図5(c)に示すよ
うにビットマップを得ている。しかし、かかる従来方式
では、グリッド補正の時点でウロコのドット表現が大き
くなって、ストロークのステム幅Dよりもウロコの方が
大きくなりバランスが悪くなる。そこで、図6(a)に示
すように、ウロコ点aにおけるグリッド補正の際、ステ
ムヒントを持つ点eのY座標値をグリッド補正した際に
生じる増減値dyをウロコヒントの点aのY座標値に加
算する。これにより、ミドルパーツPMのステムヒント
点eとエンドパーツPEのウロコヒント点a間の論理座
標系における距離を保存する。かかる状態で、図6(b)
に示すようにウロコヒント点eのY座標値をグリッド補
正する。しかる後、グリッド補正した物理座標系データ
に基づいて図6(c)に示すようにビットマップを発生す
る。以上のようにすれば、ウロコのドット表現が小さく
なり、文字品質の劣化を防止できる。
【0027】(c) フォント製作ツールのハードウェア構
成図 図7はフォント製作ツールのハードウェア構成図であ
り、21はプロセッサ(CPU)、22はプログラムメ
モリであり、自動セパレーションプログラム22a、自
動パーツシェアプログラム22b、自動ヒントプログラ
ム22c、フォント作成プログラム22d等を記憶する
もの、23はRAM、24はハードディスク等で構成さ
れた文字データベース部(図3の11eに対応)、25
はフロッピーディスクドライブで、既存ファイル12を
読み込んだり、製作したフォントファイル13を出力す
るもの、26はマウス、27はマウスインタフェース
部、28はキーボード、29はキーボードインタフェー
ス部、30はディスプレイ装置である。尚、フロッピー
ディスクドライブに替えて磁気テープ装置を用いること
もできる。
【0028】文字データベース部24には以下の情報が
格納されるようになっている。すなわち、 各文字の骨格情報(BSF:Basic Stroke File)24
a、 ストロークカット及びパーツカットの学習において使
用する幾つかの文字のストローク部分を指定する学習用
データファイル24b、 読み込んだ既存フォントファイル24c、 文字をストロークに自動カットするための前作業であ
る学習作業において得られたストロークテンプレート情
報24d、 ストロークの自動カット処理により得られたストロー
ク情報24e、 ストロークをパーツに自動カットするための前作業で
ある学習作業において得られたストロークプロトタイプ
情報24f、 パーツの自動カット処理で得られたパーツ情報24
g、 製作したフォントファイル24h 等が記憶される。尚、製作したフォントファイル24h
は別ファイルとして他のメモリに記憶することもでき
る。
【0029】(d)自動セパレーション時の操作画面 (d-1) 操作画面 図8、図9は文字をストロークにカットする際の操作画
面説明図であり、図8は学習時の操作画面、図9は再学
習時の操作画面である。図8において、31は各種キー
メニューを表示するキーウインドウ、32は4×5個の
アーキタイプ(Archetype)の文字を一括表示するアーキ
タイプ表示ウインドウ、33はアーキタイプ表示ウイン
ドウの文字をスクロールするスクロール部、34は選択
された文字のアウトラインデータに従って出力された文
字イメージを表示する文字ウインドウ、35は選択され
た文字の骨格情報BSFに基づいて文字の骨格を表示す
る骨格ウインドウ(BSFウインドウ)である。
【0030】図9において、31はキーウインドウ、3
4はアウトラインデータに従って出力された文字イメー
ジを表示する文字ウインドウ、35は文字の骨格を表示
する骨格ウインドウ(BSFウインドウ)、36はオー
トカットできなかったストロークを含む文字の一覧を表
示する文字一覧ウインドウ、37は文字一覧ウインドウ
の文字をスクロールするスクロール部、38ストローク
を前進/後退させるストローク前進・後退部である。
【0031】図10はストロークをパーツにカットする
際の操作画面説明図であり、31はキーウインドウ、3
4はストローク分割された文字を表示する文字ウインド
ウ、39は4×9個のアーキタイプの文字を一括表示す
るアーキタイプ表示ウインドウ、40はアーキタイプ表
示ウインドウの文字をスクロールするスクロール部であ
る。文字をストロークにカットする処理は、 予め定められた文字のストローク部分を画面上でユー
ザがカットして基本となるストロークテンプレートを学
習させる学習モード、 学習したストロークテンプレートにしたがって自動的
に文字をストローク化するバッチモード、 バッチで処理できなかった文字のストローク部分のう
ち幾つかを画面上でユーザがカットしてストロークテン
プレートを学習させる再学習モード、 再学習したストロークテンプレートにしたがってスト
ローク化できなかった文字を自動的にストローク化する
ミニバッチモード、 を介して行われる。
【0032】又、ストロークをパーツにカットする処理
は、 ストロークテンプレートを画面上でユーザがカットし
て基本となるストロークプロトタイプを学習させる学習
モード、 学習したストロークプロトタイプにしたがって自動的
にストロークをパーツ化するバッチモード、 バッチで処理できなかったストロークのうち幾つかを
画面上でユーザがカットしてストロークプロトタイプを
学習させる再学習モード、 再学習したストロークプロトタイプにしたがってスト
ローク化できなかった文字を自動的にストローク化する
ミニバッチモード、 を介して行われる。
【0033】操作画面上のキーウインドウ31には上記
ストロークカット、パーツカットを実行させるための各
種メニューキーが表示されており、大別すると処理モー
ド選択に関係するキー、カットオペレーションに関連す
るキー(カットオペレータ)、カット操作の取消し用の
キーがある。処理モードに関係するキーとしては、 Learnキー・・・学習モードにするもの、 EditSelキー・・カットできなかったストロークを持つ
文字を表示するもの、 Minibatchキー・・・ミニバッチ処理モードにするも
の、 Batchキー・・・バッチモードにするもの、 Edit Fontキー・・・フォントファイルの文字を一覧表
示するもの 等がある。
【0034】カット操作の取消し用キーとしては、Del
Archキー、Del Strokeキー、Del Cutsキーがあり、それ
ぞれ以下の機能を備えている。 Del Archキー・・・ストローク化(Character to Strok
e)及びパーツ化(Stroke to Parts)の両モードで使用
できる。Edit Selで再学習したあとにできる新しいアー
キタイプのうち、標準ルールとして使用できないものを
削除するのに使用する。オートカット実行後、Learnを
クリックし、アーキタイプ表示ウインドウから削除した
いアーキタイプを選んでDel Archをクリックする。 Del Stroke・・・ストローク化モードで使用できる。Ed
it Sel,Edit Fontでの再学習及び確認、修正中に、既に
カットされているストロークのカットを取消すものであ
る。BSFウインドウ35でストロークの選択を確認
し、Del Strokeをクリックする。 Del Cuts・・・ストローク化(Character to Stroke)
及びパーツ化(Stroketo Parts)の両モードで使用でき
る。ストローク、パーツのカットを取消すもので、文字
ウインドウに文字が表示された状態でDel Cutsをクリッ
クする。
【0035】カットオペレータは学習モードにおいてユ
ーザが操作画面上で文字からストロークをカットした
り、ストロークよりパーツをカットするために使用する
ものである。 (d-2) 基本カット法 カット法の基本は図11に示すように、水平カット(Hor
izontal Cut)、垂直カット(Vertical Cut)、延長線カッ
ト(Extended Line cut)、頂点挿入カット(Insert Verte
x Cut)、延長線交差カット(Extended to Vertex Cut)、
スムースカット(Smooth Cut)、U又Zカット(U or Z Cu
t)、Lカット(L Cut)、矢印カット(Arrow Cut)である。
【0036】(1) 水平カット(Horizontal Cut)は図11
(a)に示すように、マウスカーソルで指示された点よ
り水平にカットするカット法である。 (2) 垂直カット(Vertical Cut)は図11(b)に示すよ
うに、マウスカーソルで指示された点より垂直にカット
するカット法である。 (3) 延長線カット(Extended Line cut)は図11(c)
に示すように、指示されたポイントより外形線を反時計
方向あるいは時計方向に延長し、延長線が外形線に交差
するまで延長してカットするカット法である。
【0037】(4) 頂点挿入カット(Insert Vertex Cut)
は図11(d)に示すように、2点を指示し、第1の点
において外形線に接する時計方向(あるいは反時計方向)
に伸びる接線と第2の点における外形線の反時計方向
(あるいは時計方向)に伸びる延長線とが交差するまでそ
れぞれを延長してカットする方法である。 (5) 延長線交差カット(Extended to Vertex Cut)は図1
1(e)に示すように、2点を指示し、第1の点におけ
る外形線を反時計方向に、第2の点における外形線の延
長線を時計方向に互いに交差するまで延長してカットす
る方法である。 (6) スムースカット(Smooth Cut)は図11(f)に示す
ように、指示された2点が円滑に接続するようにカット
するカット法である。 (7) U又Zカット(U or Z Cut)は図11(g)、(h)に示す
ように、2つの点を指示し、第1の点おける外形線の延
長線を反時計方向に、第2の点おける外形線の延長線を
時計方向に、それぞれ所定の垂直線あるいは水平線ある
いは斜線と交差するまで延長して切り口がU形あるいは
Z形になるようにカットするカット法である。
【0038】(8) Lカット(L Cut)は図11(i)に示すよ
うに、指示された点における外形線の反時計方向あるい
は時計方向の延長線が所定の垂直線あるいは水平線と交
差するまで延長して切り口がL形になるようにカットす
るカット法である。 (9) 矢印カット(Arrow Cut)は、2つの点を指示し、第
1の点おける外形線の延長線を反時計方向に、第2の点
おける外形線の延長線を時計方向に、それぞれ所定の垂
直線あるいは水平線と交差するまで延長して切り口が矢
印形になるようにカットするカット法である。
【0039】(d-3) カットオペレータ ストロークの種類、形状に応じて図12〜図14に示す
ように21種類のカットオペレータがある。これらカッ
トオペレータは上述の基本カット法単独で文字よりスト
ロークを、又、ストロークよりパーツを切取り、あるい
は2つの基本カット法を組み合わせてストローク、パー
ツを切取るものである。 (1) Horiz カットオペレータHorizは水平カット法(Horizontal Cu
t)によりカットするもので、図12(a)に示すように縦
ストロークのミドル部分とエンド部分間を水平にカット
する際に使用する。マウスによりカットオペレータHori
zを選択し、しかる後、カット位置をマウスカーソルで
1点選択し、マウスをクリックすることにより水平にカ
ットする。学習モードではカット位置から最下点までの
長さを保存してオートカット処理に適用する。
【0040】(2) Vertical カットオペレータVerticalは垂直カット法(Vertical Cu
t)によりカットするもので、図12(b)に示すように横
ストロークのスタート部分とミドル部分間を垂直にカッ
トする際に使用する。マウスによりカットオペレータVe
rticalを選択し、しかる後、カット位置をマウスカーソ
ルで1点選択し、マウスをクリックすることにより垂直
にカットする。学習モードではカット位置から最左点ま
での長さを保存してオートカット処理に適用する。
【0041】(3) Ext For カットオペレータExt Forは延長線カット法(Extebded L
ine cut)によりカットするもので、図12(c)に示すよ
うにセグメントを延長して輪郭線と交わったところでカ
ットしてパーツを形成する。尚、Ext Forは Extend Fo
rward(進行方向への延長)の略である。アウトラインフ
ォントの輪郭線は反時計回りに定義されており、ひとつ
目のパーツを形成する際、セグメントを進行方向(反時
計方向)に延長してカットすることを意味する。
【0042】(4) Ext Back カットオペレータExt Backによるカット方法は図12
(d)に示すように、カットオペレータExt Forと同じであ
り、セグメントを延長して輪郭線と交わったところでカ
ットしてパーツを形成する。カットオペレータExt For
との相違点はセグメントの延長方向である。Ext Backは
Extend Backward(後方向へ延長)の略で、時計回りにセ
グメントを延長することを意味する。 (5) Ins Vtx カットオペレータIns Vtxは頂点挿入カット法(Insert V
ertex Cut)によりカットするもので、図12(e)に示す
ように、2点を選択し、輪郭線内部の方向に延長し、延
長線の交点でカットして、パーツを形成する。
【0043】(6) Ins Vtx/O カットオペレータIns Vtx/Oのカット方法は図13(a)に
示すようにカットオペレータIns Vtxと同様である。す
なわち、指定した2点から一方のストローク部分を頂点
挿入カット法(Insert Vertex Cut)によりカットし、も
う一方のストローク部分をセグメントの延長を逆方向に
して頂点挿入カット法(Insert Vertex Cut)によりカッ
トする。すなわち、このカットオペレータIns Vtx/Oは
一度に2つのストローク部分をカットする。
【0044】(7) U カットオペレータUはUカット法(U Cut)によりカット
するもので、図13(b)に示すように、セグメントを同
方向に延長して所定の垂直線あるいは水平線と交差した
時の交点間を直線で接続してカットする。切り口がU字
型のカットだけでなく、段差のある直線状または1本の
直線状のカットも可能である。 (8) Arrow カットオペレータArrowは矢印カット法(Arrow Cut)によ
りカットするものであり、図13(c)に示すように指示
した2点で外形線を延長し切り口が直角矢印形になるよ
うにカットする。延長したセグメントが、重なりあう他
のストロークの輪郭線の範囲を越えないように、矢印型
にストロークを形成する。
【0045】(9) Cross カットオペレータCrossは図13(d)に示すようにストロ
ークの交差部分をカットするものであり、交差部分の中
心点をクリックする。 (10) Smooth カットオペレータSmoothはスムースカット法(Smooth Cu
t)によりカットするもので、図14(a)に示すように2
点を選択し、中断されたセグメントを延長して2点間を
なめらかに接続してカットする。
【0046】(11) Vtx カットオペレータVtxは延長線交差カット法(Extended t
o Vertex Cut)によりカットするもので、図14(b)に示
すように指示した2点における外形線の延長線が互いに
交差する点を頂点としてカットするものである。 (12) L For カットオペレータL ForはLカット法(L Cut)によりカッ
トするもので、図14(c)の右側に示すように、選択し
た点から順方向(反時計方向)にセグメントを延長し、
切り口がL字型になるようにカットする。 (13) L Back カットオペレータL BackはLカット法(L Cut)によりカ
ットするもので、図14(c)の左側に示すように、選択
した点から時計方向にセグメントを延長し、切り口がL
字型になるようにカットする。
【0047】(14) No Cut カットオペレータNo Cutは、図14(d)に示すように漢
字の構成要素である「しずく」、「はらい」、「よこせん-は
ね」、「そり-はね」、「さんずい」などカットの必要がない
場合に使用する。以上のカットオペレータは、基本カッ
ト法を単独に適用する場合である。しかし、基本カット
法を組み合わせて一度のカットで2つのストロークを切
り出すカットオペレータも用意されている。これらのカ
ットオペレータは、2つの基本カットオペレータの名前
を/で区切った名前を持っており、その2つの基本カッ
トオペレータに応じたカット法で同時にカットを行うこ
とができる。以下は組み合わせのカットオペレータの例
である。
【0048】(15) Ext For/U カットオペレータExt For/UはカットオペレータExt For
とカットオペレータUを組み合わせてカットする。 (16) Ext Back/U カットオペレータExt Back/UはカットオペレータExt Ba
ckとカットオペレータUを組み合わせてカットする。 (17) Sm/Vtx カットオペレータSm/VtxはカットオペレータSmoothとカ
ットオペレータVtxを組み合わせてカットする。
【0049】(18) Sm/U カットオペレータSm/UはカットオペレータSmoothとカッ
トオペレータUを組み合わせてカットする。 (19) Vtx/Vtx カットオペレータVtx/VtxはカットオペレータVtxとカッ
トオペレータVtxを組み合わせてカットする。
【0050】(20) Vtx/U カットオペレータVtx/UはカットオペレータVtxとカット
オペレータUを組み合わせてカットする。 (21) Vtx/Arr カットオペレータVtx/ArrはカットオペレータVtxとカッ
トオペレータArrowを組み合わせてカットする。
【0051】(B)自動セパレーション処理 自動セパレーション処理においては、図15に示すよう
に、まず全文字をストロークにカットし(ステップ10
0、ストロークカット処理)、しかる後、ストロークカ
ット処理で得られた全ストロークをパーツにカット(ス
テップ200、パーツカット処理)を行う。
【0052】(a)ストロークカット処理 図16はストロークカット処理のフローである。尚、学
習モードにおいて、どの文字のどのストロークを画面上
でユーザがカットするかは予めシステムに登録されてい
る。例えば、63種類のアーキタイプを学習させるもの
とすると、各アーイタイプに応じたストロークを特定す
るための文字コード、ストローク番号が予めシステムに
登録されている。まず、ストロークカットモード(Char
acter to Strokeモード) をオープンし、Learn キーを
選択して学習モードにする。これにより、システムはア
ーキタイプ表示ウインドウ32(図8)を開き、予めシ
ステムに登録されている63種類のアーキタイプの一覧
を表示する。かかる状態において、ユーザがアーキタイ
プ表示ウインドウ上においてストローク化するアーキタ
イプを選択してマウスでダブルクリックすると、システ
ムは該アーキタイプの文字を文字ウインドウ34に表示
する。又、システムは該文字の骨格情報をBSFウイン
ドウ35に表示し、かつ、登録されているストローク番
号に応じた骨格部分(アーキタイプ)を赤線で表示す
る。
【0053】ついで、ユーザは赤線で表示されているア
ーキタイプに対応するストロークをカットオペレータを
用いて文字ウインドウ34上で切り出す。カットオペレ
ータによるカットを実行すると、システムはカットする
線を青く表示する。複数個所をカットする場合は連続し
てカットオペレータによるカットを行う。・・・以上ス
テップ101 ストロークをカットしたらユーザはCalcContキーをクリ
ックする。これにより、システムは青く表示されていた
カット位置の線を黒い表示に変えると共に、カットされ
たストロークの輪郭線を生成する。以後、ユーザがUpda
teキーをクリックするとシステムは学習結果(カットし
たストローク形状等)をストロークテンプレートとして
文字データベースに格納する(ステップ102)。
【0054】ストロークテンプレート情報は図17に示
すように、ストロークアーキタイプと、ストローク
外形線を反時計方向にたどった時の各曲点における外形
線の方向を示す方向データと、曲点部分が他のストロ
ークとオーバラップしているか否かのオーバラップ有無
データとで構成されている。方向は図18に示すように
東(E)、東北(NE)、北(N)、北西(NW)、西
(W)、南西(SW)、南(S)、南東(SE)の8方
向を示す方向コードで表現される。
【0055】図19〜図22は各種アーキタイプにおけ
るストロークテンプレート情報の説明図である。図19
はアーキタイプ4001(ストロークコード4=水平ストロ
ーク,種別1)におけるストロークテンプレート情報の
説明図である。ストロークテンプレート情報は、半時計
方向に配列した各曲点(テンプレートポイント1〜6)
の左方向コードと、右方向コードと、オーバラップの有
無を含んでいる。左方向コードは着目しているテンプレ
ートポイントより反時計方向に伸びる形状要素の方向を
示し、右方向コードは着目しているテンプレートポイン
トより右方向の形状要素の方向を示している。尚、図示
しないが、テンプレートポイントがX,Y各軸方向のmi
n点,max点であるか、コーナ点であるか等の情報も含ま
れている。
【0056】図20はアーキタイプ4002(ストロークコ
ード4=水平ストローク,種別2)におけるストローク
テンプレート情報の説明図である。ストロークテンプレ
ート情報は、半時計方向に配列した各曲点(テンプレー
トポイント1〜4)の左方向コードと、右方向コード
と、オーバラップの有無を含んでいる。テンプレートポ
イント1,4は他のストロークとその内部でオーバラッ
プしているため、オーバラップの有無欄に「インサイド
オーバラップ」が記入されている。
【0057】図21はアーキタイプ9004(ストロークコ
ード9=垂直斜線ストローク,種別4)におけるストロ
ークテンプレート情報の説明図である。ストロークテン
プレート情報は、半時計方向に配列した各曲点(テンプ
レートポイント1〜4)の左方向コードと、右方向コー
ドと、オーバラップの有無を含んでいる。テンプレート
ポイント1〜4は他のストロークとその内部でオーバラ
ップしているため、オーバラップの有無欄に「インサイ
ドオーバラップ」が記入されている。
【0058】図22はアーキタイプ9007(ストロークコ
ード9=垂直斜線ストローク,種別7)におけるストロ
ークテンプレート情報の説明図である。ストロークテン
プレート情報は、半時計方向に配列した各曲点(テンプ
レートポイント1〜7)の左方向コードと、右方向コー
ドと、オーバラップの有無を含んでいる。テンプレート
ポイント2は他のストロークとそのライン上でオーバラ
ップしているため、オーバラップの有無欄に「オンライ
ンオーバラップ」が記入されている。又、テンプレート
ポイント3は他のストロークとそのコーナでオーバラッ
プしているため、オーバラップの有無欄に「コーナオー
バラップ」が記入されている。更に、テンプレートポイ
ント4、5は他のストロークとその内部でオーバラップ
しているため、オーバラップの有無欄に「インサイドオ
ーバラップ」が記入されている。
【0059】図16に戻って、登録されているアーキタ
イプの学習が終了すれば、予め登録されている全アーキ
タイプを学習したかチェックし(ステップ103)、学
習していないアーキタイプが存在すればステップ101
以降の処理を繰り返す。全アーキタイプの学習が終了す
れば、キーウインドウのBatchキーを選択し、バッチモ
ード(オートカッタ)を起動する(ステップ104)。以
後、システムは学習したストロークテンプレートを用い
て各文字を自動的にストロークにカットし(ステップ1
05)、カットしたストロークのアーキタイプ、形状デ
ータ(方向、オーバラップの有無等)を文字データベー
ス24に格納する(ステップ106)。この場合、シス
テムはオートカット処理において、カットできないスト
ロークが存在すれば、該ストロークが含まれる文字の文
字コードとストローク番号を保存する。自動ストローク
カットについては後述する。
【0060】1文字の自動ストロークカット処理が終了
すれば、全文字の自動カットが終了したかチェックし
(ステップ107)、終了してなければ次の文字につい
てステップ105以降の処理を繰り返す。全文字の自動
カットが終了すれば、自動カットできないストローク部
分が存在するかチェックし(ステップ108)、存在し
なければストロークカット処理を終了する。
【0061】しかし、自動ストロークカット処理におい
て、適当なアーキタイプが見つからず、カットされなか
ったストロークが存在する場合には、カットされずに残
っているストロークの幾つかについてユーザが操作画面
上でカットしてストロークテンプレートとして登録する
(再学習)。再学習を行うには、キーウインドウ31上
のEdit Selキーを選択して再学習モードにする。システ
ムはEdit Selキーの選択により、カットされなかったス
トロークを含む文字の一覧を文字一覧ウインドウ37
(図9参照)に表示する。尚、1文字内にカットできな
かったストロークが複数存在する場合には、その数だけ
同一文字を文字一覧ウインドウ33に表示する。所定の
文字をダブルクリックすると、システムは文字ウインド
ウ34に該文字の袋文字を表示すると共に、該文字の骨
格情報をBSFウインドウ35に表示し、又、カットさ
れてないストロークに対応する骨格部分を赤線で表示す
る。この場合、カットされて記憶されているストローク
は文字ウインドウ34上で白線により表示し、再学習の
必要のあるストロークは黒線で表示する。
【0062】ついで、文字よりストロークをカットする
ためのカット操作をステップ101の学習モードの場合
と同様に行い、カットしたストローク形状等をストロー
クテンプレートとして文字データベースに格納する(ス
テップ109,110)。1つのストロークの学習が終
了すれば、必要な数のストロークの再学習が終了したか
チェックし(ステップ111)、再学習してないストロ
ークが存在する場合にはステップ109以降の処理を繰
り返す。
【0063】必要な数のストロークの再学習が終了すれ
ば、キーウインドウのMini Batchキーを選択し、ミニバ
ッチモードを起動する(ステップ112)。これによ
り、システムは再学習したストロークテテンプレートを
用いてステップ105以降の処理を行い、カットされず
に残っている各ストロークを自動的にカットする。以
後、カットされずに残っているストロークがなくなるま
で上記再学習及びミニバッチ処理を繰り返す。
【0064】(b)ストロークの自動カット処理 図23はステップ105〜107におけるオートカット
処理の詳細な処理フロー、図24、図25〜図29はオ
ートカット説明図である。まず、オートカットすべき対
象文字(丑)をビットマップ化する(ステップ151、図
24(a),(b)参照)。ついで、ビットマップBMの中心
線であるビットマップスケルトンBMSを求め(ステッ
プ152)、ビットマップスケルトンBMSをショート
ベクトルスケルトンに変換する(ステップ153)。シ
ョートベクトルスケルトンは、ビットマップスケルトン
BMS上の各ノードN1〜N11間(図24(c)参照)を接続
するコネクション部分(ショートベクトル)の集合であ
る。
【0065】しかる後、対象文字(丑)の骨格(図24(d)
参照)とショートベクトルスケルトンを重ね合わせ骨格
の各ストローク〜に調和(fit)するショートベク
トルあるいはショートベクトルのグループをサーチする
(ステップ154)。調和するショートベクトルあるい
はショートベクトルのグループが求まれば、骨格情報の
各ストローク〜と文字(丑)のアウトラインセグメ
ント(外形線部分)の関連付けを行う(ステップ15
5)。図24(e)、図26(a)、図27(a)、図28(a)、
図29(a)はそれぞれ文字(丑)の第1ストローク〜第5
ストローク〜に相当するアウトラインセグメント
(外形線部分)S1〜S5である。
【0066】ついで、文字(丑)の各アウトラインセグ
メントS1〜S5に調和(該けが類似)するストローク
テンプレートをサーチする(ステップ156)。この場
合、骨格情報BSFより各アウトラインセグメントS1
〜S5のストロークコードが求まるから、該ストローク
コードを有するストロークテンプレートより、アウトラ
インセグメントS1〜S5に調和するストロークテンプ
レートをサーチする。例えば、第1番目のアウトライン
セグメントS1はストロークコード4(水平ストロー
ク)である。従って、水平ストロークコード4を有する
ストロークテンプレートよりアウトラインセグメントS
1に類似するストロークテンプレートをサーチする。
【0067】各アウトラインセグメントS1〜S5に調
和するストロークテンプレートがサーチできたかチェッ
クする(ステップ157)。サーチできたならば、各ア
ウトラインセグメントS1〜S5に応じたストロークS
T1〜ST5(図25(a)、図26(b)、図27(b)、図
28(b)、図29(b))を、サーチされたストロークテン
プレートを用いて生成することを試みる(ステップ15
8)。ついで、生成できたチェックし(ステップ15
9)、生成できれば、該生成したストロークの形状デー
タ等を文字データベース24に格納する(ステップ 1
60)。
【0068】文字(丑)の第1アウトラインセグメント
S1に調和するストロークテンプレートはアーキタイプ
4002(図20参照)である。そこで、このアーキタイプ4
002のストロークテンプレート情報に従って第1アウト
ラインセグメントS1のストロークを生成すれば、図2
5(a)に示す第1ストロークST1を生成できる。すな
わち、図25(b)に示すように、第1アウトラインセグ
メントS1の第1ギャップG1でカットオペレータSmoo
thを用いてカットし、第2ギャップG2でカットオペレ
ータUを用いてカットすれば第1ストロークST1を得
ることができる。従って、上記カット法を適用して文字
よりカットしたストロークの形状データを文字データベ
ースに格納する。
【0069】又、(丑)の第2アウトラインセグメント
S2(図26)に調和するストロークテンプレートはア
ーキタイプ9007(図22参照)である。そこで、このア
ーキタイプ9007のストロークテンプレート情報に従って
第2アウトラインセグメントS2のストロークを生成す
れば、図26(b)に示す第2ストロークST2を生成で
きる。すなわち、図26(c)に示すように、第2アウト
ラインセグメントS2の第1ギャップG1でカットオペ
レータExt Forを用いてカットし、第2ギャップG2で
カットオペレータSmoothを用いてカットし、第3ギャッ
プG3でカットオペレータUを用いてカットすれば第2
ストロークST2を得ることができる。従って、上記カ
ット法を適用して文字よりカットしたストロークST2
の形状データを文字データベースに格納する。
【0070】同様に、図27〜図29に示す各アウトラ
インセグメントについても、調和するストロークテンプ
レートを求め、該ストロークテンプレート情報に従って
ストロークをカットし、得られたストローク形状データ
を文字データベースに格納する。一方、ステップ157
において、ストロークテンプレートがサーチできず、あ
るいはステップ159においてストロークを生成できな
ければ、対象文字の文字コードと該ストロークのストロ
ーク番号を文字データベースに保存する(ステップ16
1)。ステップ160あるいはステップ161の処理が
終了すれば、全文字のオートカットが終了したかチェッ
クし(ステップ162)、終了してなければ始めに戻
り、次の文字についてオートカット処理を行う。
【0071】図30は文字データベース24に格納され
るストローク構造データと文字コードの対応説明図であ
る。BSFは骨格情報であり、文字のストローク番号に
対応させて配置データとストロークコードを有してい
る。STPはストロークポインタ部であり、文字のスト
ローク番号に対応させてストローク構造の記憶位置を差
すポインタP1〜Pnを有している。骨格情報BSFとス
トロークポインタ部STPのストローク番号は一致して
いる。STFはストロークのカット処理により生成した
各ストロークの構造(形状データ等)を記憶するストロ
ークファイル部である。文字コードが与えられれば、該
文字コードに応じた文字の骨格情報(配置データ)と各
ストロークの構造が求まり、各ストロークを配置データ
に従って配置すれば文字を出力できる。尚、実際は後述
するように本発明ではストロークを更にパーツにカット
している。
【0072】(c)パーツカット処理 図31はパーツカット処理のフローである。尚、学習モ
ードにおいては、ストロークカットの学習モードで得ら
れたストロークをパーツにカットする。まず、パーツカ
ットモード(Stroke to Partモード) をオープンし、Le
arn キーを選択して学習モードにする。これにより、シ
ステムはアーキタイプ表示ウインドウ39(図10)を
開き、予めシステムに登録されている63種類のアーキ
タイプの一覧を表示する。尚、全アーキタイプを1画面
で表示できないがスクロールすることにより全アーキタ
イプを表示できる。
【0073】かかる状態において、アーキタイプ表示ウ
インドウに表示されている所定のアーキタイプを選択し
てマウスでダブルクリックすると、システムは文字ウイ
ンドウ34を開き、該文字ウインドウに選択された文字
をストロークにカットした態様で表示すると共にアーキ
タイプとなるストローク(斜線部)を赤く表示する。つ
いで、ユーザは赤線で表示されているストロークを文字
ウインドウ34上でカットオペレータを用いてカットし
てパーツを生成する。カットオペレータによるカットを
実行すると、システムはカット線を青く表示する。・・
・以上ステップ201しかる後、Updateキーがクリック
されると、システムはパーツタイプ設定画面を表示す
る。ユーザがカットしたパーツのタイプ(スタートパー
ツ、ミドルパーツ、エンドパーツ)を設定すると学習結
果をストロークプロトタイプとして文字データベースに
格納する(ステップ202)。
【0074】図32〜図34は、ストロークプロトタイ
プの説明図であり、図32(a)〜図34(a)はストローク
プロトタイプの形状、図32(b)〜図34(b)はストロー
クプロトタイプ情報である。ストロークプロトタイプ情
報は、ストロークプロトタイプコード(ストロークコ
ード、バリエーション)と、トポロジカルデータと、
カットファンクションと、スタートパーツ、ミドル
パーツ、エンドパーツの数を特定するパートタイプコー
ド情報で表現される。トポロジカルデータは、パーツ外
形線を反時計方向にたどった時の各曲点(テンプレート
ポイント)における外形線の方向を示す左方向データ及
びオーバラップの有無データを含んでいる。
【0075】カットファンクションは、カット位置及び
カット法を特定するものである。例えば、図32のアー
キタイプ4001のストロークプロトタイプの場合、カット
ファンクションション情報により、左端のテンプレー
トポイント3から0.1W(Wは全長)の点においてカットオ
ペレータVerticalを用いてカットし、テンプレートポ
イント2においてカットオペレータExt Forを用いてカ
ットすることが示されている。又、図33のアーキタイ
プ22001のストロークプロトタイプの場合、カットファ
ンクションション情報により、テンプレート1,4に
おいてカットオペレータINs Vtxを用いてカットするこ
とが示されている。更に、図34のアーキタイプ24001
のストロークプロトタイプの場合、カットファンクショ
ンション情報により、テンプレートポイント5におい
てカットオペレータExt Back/Uを用いてカットし、上
端のテンプレートポイント1から0.8W(Wは全長)の点に
おいてカットオペレータhorizでカットすることが示さ
れている。
【0076】1つのアーキタイプの学習が終了すれば、
全アーキタイプを学習したかチェックし(ステップ20
3)、学習してないアーキタイプが存在すればステップ
201以降の処理を繰り返す。全アーキタイプの学習が
終了すれば、キーウインドウのBatchキーを選択し、バ
ッチモード(オートカッタ)を起動する(ステップ20
4)。以後、システムは学習したストロークプロトタイ
プを用いて各ストロークを自動的にパーツにカットし
(ステップ205)、カットしたパーツの形状データを
文字データベース24に格納する(ステップ206)。
この場合、システムはオートカット処理において、カッ
トできないストロークが存在すれば、該ストロークが含
まれる文字の文字コードとストローク番号を保存する。
【0077】1つの文字に属する全ストロークのパーツ
カット処理が終了すれば、全文字の自動カット処理が終
了したかチェックし(ステップ207)、終了してなけ
れば次のストロークについてステップ205以降の処理
を繰り返す。全文字の自動カットが終了すれば、自動カ
ットできないストローク部分が存在するかチェックし
(ステップ208)、存在しなければパーツカット処理
を終了する。
【0078】しかし、パーツカット処理において、適当
なアーキタイプが見つからず、カットされなかったスト
ロークが存在する場合には、カットされずに残っている
ストロークの幾つかについてユーザが操作画面上でカッ
トしてストロークプロトタイプとして登録する(再学
習)。再学習を行うには、キーウインドウ31上のEdit
Selキーを選択して再学習モードにする。システムはEdi
t Selキーの選択により、カットされなかったストロー
クを含む文字の一覧を文字一覧ウインドウ(図10のア
ーキタイプ表示ウインドウと同じ部分)に表示する。
尚、1文字内にカットできなかったパーツが複数存在す
る場合には、その数だけ同一文字を文字一覧ウインドウ
に表示する。所定の文字をダブルクリックすると、シス
テムは文字ウインドウ34を開き、文字をストロークに
分割した態様で表示すると共にカットされなかったスト
ロークを赤く表示する。ついで、ユーザは赤線で表示さ
れているストロークを文字ウインドウ34上でカットオ
ペレータを用いてカットしてパーツを生成する。カット
オペレータによるカットを実行すると、システムはカッ
ト線を青く表示する(ステップ209)。
【0079】しかる後、Updateキーがクリックされる
と、システムはパーツタイプ設定画面を表示し、ユーザ
がパーツタイプ(スタートパーツ、ミドルパーツ、エン
ドパーツ)を設定すると学習結果をストロークプロトタ
イプとして文字データベースに格納する(ステップ21
0)。1つのストロークの再学習が終了すれば、必要な
数のパーツカットの再学習が終了したかチェックし(ス
テップ211)、再学習してないパーツが存在する場合
にはステップ209以降の処理を繰り返す。
【0080】必要な数のパーツカットの再学習が終了す
れば、キーウインドウ31のMini Batch31を選択し、
ミニバッチモードを起動する(ステップ212)。これ
により、システムは再学習したストロークプロトタイプ
を用いてステップ205以降の処理を行い、カットされ
ずに残っている各ストロークを自動的にパーツにカット
する。以後、カットされずに残っているストロークがな
くなるまで上記再学習及びミニバッチ処理を繰り返す。
【0081】(d)パーツの自動カット処理 図35はステップ205〜207における自動パーツカ
ット処理の詳細な処理フローである。まず、オートカッ
トすべき対象ストロークが最も良くfit(調和)するスト
ロークプロトタイプをサーチする(ステップ251)。
この場合、ストロークプロトタイプが対象ストローク
と同じストロークコードを備え、しかも、両者の全テ
ンプレートポイントの方向コードが一致しているとき、
ストロークプロトタイプは対象ストロークに調和(fi
t)するという。対象ストロークに調和する幾つかのス
トロークプロトタイプが存在する場合には最も良く調和
するストロークプロトタイプを求める。
【0082】ついで、調和するストロークプロトタイプ
が求まったかチェックする(ステップ252)。調和す
るストロークプロトタイプが求まれば、該ストロークプ
ロトタイプのカットファンクション情報を用いて対象ス
トロークをパーツにカットすることを試みる(ステップ
253)。しかる後、カットファンクション情報通り
に、対象ストロークをカットできたかチェックし(ステ
ップ254)、カットできれば、各パーツにパーツタイ
プコードを付加し、該パーツを文字データベースに格納
する(ステップ255)。一方、ステップ252におい
て調和するストロークプロトタイプが求まらなかった場
合、あるいは、カットファンクション情報通りにカット
できない場合には、対象ストロークが含まれる文字の文
字コードとストローク番号を記憶する(ステップ25
6)。ステップ255あるいはステップ256の処理が
終了すれば、全ストロークのオートカットが終了したか
チェックし(ステップ257)、終了してなければ始め
に戻り、次のストロークについてオートカット処理を行
う。
【0083】図36は文字コードと文字データベース2
4に格納されるパーツファイル、ストロークファイルと
の対応説明図である。STPはストロークポインタ部で
あり、文字のストローク番号(骨格情報におけるストロ
ーク番号と一致)に対応させてストロークの記憶位置を
差すポインタP1〜Pnを有している。STFはストロー
クファイル部であり、ストロークカット処理により得
られたストロークの形状データ、該ストロークをカッ
トした際にできるパーツの形状データ記憶位置を差すパ
ーツポインタQ11,Q12・・・Qn1,Qn2を記憶する。
PTFはパーツファイル部であり、パーツカット処理に
より得られたパーツの形状データを記憶する。以上のデ
ータと骨格情報等を用いて、フォントファイル製作プロ
グラムはパーツ構成フォントのフォントファイルを作成
して出力する。本発明のパーツ構成フォントによれば、
図38(c)に示すように文字つぶれがなく、全体にバラ
ンスの良い文字を出力することができる。以上本発明を
漢字を対象にして説明したが、本発明は漢字のみを対象
とするものではなく、ハングル文字その他の文字にも適
用できることは勿論である。以上、本発明を実施例によ
り説明したが、本発明は請求の範囲に記載した本発明の
主旨に従い種々の変形が可能であり、本発明はこれらを
排除するものではない。
【0084】
【発明の効果】
(a) ストロークカットの効果 以上本発明によれば、オペレータ操作で文字よりカット
したストロークの形状をストロークテンプレート形状と
して学習し、学習したストロークテンプレートの形状に
基づいて、各文字をストロークに自動カットするように
したから、効率良く文字をストローク化することができ
る。又、本発明によれば、ストロークを自動的にカット
できない文字が存在する場合には、オペレータ操作でこ
れらのうちの幾つかの文字からカットしたストロークの
形状をストロークテンプレート形状として再学習し、再
学習したストロークテンプレート形状に基づいて、カッ
トされずに残っている文字よりストロークを自動的にカ
ットするようにしたから、学習及び学習知識による自動
カットを繰り返すことにより全文字よりストロークを効
率良くカットすることができる。
【0085】更に、本発明によれば、文字からストロー
クをカットするための複数の基本的なカット法を特定す
るカットオペレータを操作画面上に表示すると共に対象
文字を操作画面上に表示し、所定のカットオペレータと
カットする位置を指定し、該カットオペレータに応じた
カット法で文字よりストロークをカットし、カットした
ストロークの形状及びストロークの種別を記憶すること
によりストロークテンプレート形状を学習するようにし
たから、学習作業を簡単にできると共に、カットオペレ
ータを用いることにより元のアウトラインフォントが有
するデザインを損ねないようにストロークをカットして
ストロークテンプレートとすることができる。
【0086】又、本発明によれば、操作画面上に文字を
表示し、該操作画面上でオペレータ操作でカットしたス
トロークの各曲点における方向データを求め、該方向デ
ータを所定方向に沿って順に配列してなるストロークテ
ンプレート情報をメモリに記憶することにより学習を行
い、ストロークの自動カットステップにおいて、対象文
字の外形線を、ストローク毎の外形線(アウトラインエ
レメント)に分解し、該アウトラインエレメントと類似
するストロークテンプレートを求め、該ストロークテン
プレート情報を用いて該アウトラインエレメントより対
象文字のストロークを構築し、該構築したストローク形
状を記憶することにより文字からストロークを自動カッ
トするようにしたから、元のアウトラインフォントが有
するデザインを損ねないようにストロークを自動カット
することができる。
【0087】更に、本発明によれば、文字毎に、該文字
のストロークの配置データとストロークの種別を書き順
に従って配列してなる骨格情報を用意しておき、アウト
ラインエレメントに分解するステップにおいて、文字を
ビットマップ化してそのビットマップスケルトンを求
め、ビットマップスケルトンをその隣接ノード間を接続
してなるショートベクトルの集合であるショートベクト
ルスケルトンに変換し、ショートベクトルスケルトンと
対象文字の骨格とを比べ、該対象文字のストロークに対
応する1以上のショートベクトルを求め、ストロークに
対応するショートベクトル毎に対象文字の外形線をアウ
トラインエレメントに分解するようにしたから、確実に
文字をストローク毎のアウトラインエレメントに分解す
ることができ、該アウトラインエレメントより元のアウ
トラインフォントが有するデザインを損ねないようにス
トロークを文字より自動カットすることができる。又、
本発明によれば、アウトラインエレメントの形状種別を
骨格情報より求め、該形状種別を有するストロークテン
プレートよりアウトラインエレメントに類似するストロ
ークテンプレートを求めるようにしたから、目的とする
ストロークテンプレートを高速にサーチすることができ
る。
【0088】(b) パーツカットの効果 本発明によれば、オペレータ操作でストロークをパーツ
にカットした時の切取り法、切取り位置及びストローク
形状をストロークプロトタイプ情報として記憶すること
により学習し、学習したストロークプロトタイプ情報に
基づいて、各ストロークをパーツに自動カットするよう
にしたから、効率良くストロークをパーツ化することが
できる。又、本発明によれば、自動的にカットできない
ストロークが存在する場合には、オペレータ操作で幾つ
かのストロークをパーツに切り、その切取り法、切取り
位置及びストローク形状をストロークプロトタイプ情報
として記憶して再学習し、再学習したストロークプロト
タイプ情報に基づいて、カットされずに残っているスト
ロークを自動カットするようにしたから、学習及び学習
知識による自動カットを繰り返すことにより全ストロー
クよりパーツを効率良くカットすることができる。
【0089】更に、本発明によれば、ストロークからパ
ーツをカットするための複数の基本的な切取り法を特定
するカットオペレータを操作画面上に表示すると共に対
象ストロークを操作画面上に表示し、所定のカットオペ
レータと切取り位置を指定し、該カットオペレータに応
じた切取り法でストロークよりパーツをカットし、その
切取り法、切取り位置及びストローク形状をストローク
プロトタイプ情報として記憶することにより学習するよ
うにしたから、学習作業を簡単にできると共に、カット
オペレータを用いることにより元のアウトラインフォン
トが有するデザインを損ねないようにストロークからパ
ーツをカットしてストロークプロトタイプとすることが
できる。
【0090】又、本発明によれば、対象ストロークと外
形が類似するストロークプロトタイプを求め、求まった
ストロークプロトタイプが特定する切取り法、切取り位
置データに従って対象ストロークをカットし、カットし
て得られたパーツ形状を記憶するようにしたから、元の
アウトラインフォントが有するデザインを損ねないよう
にストロークよりパーツを自動カットすることができ
る。更に、本発明によれば、ストロークカット、パーツ
カットを効率良く行えるため、パーツの集まりで表現す
るアウトラインフォントを従来に比べてはるかに高速
に、しかも、効率良く製作することができる。又、本発
明によれば、アウトラインフォントをパーツの集まりで
表現するため、文字のつぶれが生じないように、あるい
は、不要な部分が強調されないような制御が可能とあ
り、可読性に優れ、しかも元のアウトラインフォントが
有するデザインを保持した文字を出力することができ
る。
【図面の簡単な説明】
【図1】本発明の解決手段説明図である。
【図2】文字のストローク、パーツ説明図である。
【図3】フォント制作ツールの構成図である。
【図4】ステムヒント説明図である。
【図5】ウロコヒント説明図(その1)である。
【図6】ウロコヒント説明図(その2)である。
【図7】フォント製作ツールのハードウエア構成図であ
る。
【図8】ストロークカットの操作画面(学習時)であ
る。
【図9】ストロークカットの操作画面(再学習時)であ
る。
【図10】パーツカットの操作画面である。
【図11】基本カット法説明図である。
【図12】カットオペレータ説明図(その1)である。
【図13】カットオペレータ説明図(その2)である。
【図14】カットオペレータ説明図(その3)である。
【図15】セパレーションの全体の処理フローである。
【図16】ストロークカットの処理フローである。
【図17】ストロークテンプレート情報説明図である。
【図18】方向コード説明図である。
【図19】ストロークテンプレート情報の説明図(その
1)である。
【図20】ストロークテンプレート情報の説明図(その
2)である。
【図21】ストロークテンプレート情報の説明図(その
3)である。
【図22】ストロークテンプレート情報の説明図(その
4)である。
【図23】オートカット処理フローである。
【図24】オートカット説明図(その1)である。
【図25】オートカット説明図(その2)である。
【図26】オートカット説明図(その3)である。
【図27】オートカット説明図(その4)である。
【図28】オートカット説明図(その5)である。
【図29】オートカット説明図(その6)である。
【図30】文字コードとストロークファイルの関係説明
図である。
【図31】パートカットの処理フローである。
【図32】ストロークプロトタイプの説明図(その1)
である。
【図33】ストロークプロトタイプの説明図(その2)
である。
【図34】ストロークプロトタイプの説明図(その3)
である。
【図35】自動パーツカット処理である。
【図36】文字コード、ストロークファイル、パーツフ
ァイルの関係説明図である。
【図37】アウトラインフォント説明図である。
【図38】出力された文字のサンプルである。
【図39】本発明を適用するアウトラインフォントの説
明図である。
【図40】文字、ストローク、パーツ説明図である。
【図41】骨格情報説明図である。
【図42】パーツ座標説明図である。
【図43】フォントファイルの構造説明図である。
【図44】パーツ原点説明図である。
【符号の説明】
1・・既存フォント格納部 2・・ストロークテンプレート格納部 3・・カット不能ストローク格納部 4・・ストロークデータ格納部 5・・ストロークプロトタイプ格納部 6・・パーツカット不能ストローク格納部 7・・パーツデータ格納部 8a・・ストロークカットの学習ステップ 8b・・自動ストロークカットステップ 8c・・再学習ステップ 8d・・再自動ストロークカットステップ 9a・・パーツカットの学習ステップ 9b・・自動パーツカットステップ 9c・・再学習ステップ 9d・・再自動パーツカットステップ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06T 5/30 G06F 15/66 415 (72)発明者 アネット ビッケル ドイツ連邦共和国ミュンヘン40,フランク フルターリング211 フジツウドイチェラ ンドゲーエムベーハー内

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 文字のアウトラインを1筆単位であるス
    トロークにカットし、ストロークをパーツにカットし、
    文字をパーツの集まりで表現するアウトラインフォント
    作成装置におけるストローク化方法において、 オペレータ操作で文字よりカットしたストロークの形状
    をストロークテンプレート形状として学習し、 学習したストロークテンプレートの形状に基づいて、各
    文字をストロークに自動カットすることを特徴とするア
    ウトラインフォントのストローク化方法。
  2. 【請求項2】 ストロークを自動的にカットできない文
    字が存在する場合には、オペレータ操作でこれらのうち
    幾つかの文字からカットしたストロークの形状をストロ
    ークテンプレート形状として再学習し、 再学習したストロークテンプレート形状に基づいて、カ
    ットされずに残っている文字よりストロークを自動カッ
    トすることを特徴とする請求項1記載のアウトラインフ
    ォントのストローク化方法。
  3. 【請求項3】 前記学習ステップにおいて、 文字からストロークをカットするための複数の基本的な
    カット法を特定するカットオペレータを操作画面上に表
    示すると共に対象文字を操作画面上に表示し、 所定のカットオペレータとカットする位置を指定し、該
    カットオペレータに応じたカット法で文字よりストロー
    クをカットし、 カットしたストロークの形状及びストロークの種別を記
    憶することによりストロークテンプレート形状を学習す
    ることを特徴とする請求項1又は請求項2記載のアウト
    ラインフォントのストローク化方法。
  4. 【請求項4】 前記学習ステップにおいて、 操作画面上に文字を表示し、 該操作画面上でオペレータ操作でカットしたストローク
    の各曲点における方向データを求め、 該方向データを所定方向に沿って順に配列してなるスト
    ロークテンプレート情報をメモリに記憶することにより
    学習を行い、 前記ストロークの自動カットステップにおいて、 対象文字の外形線を、ストローク毎の外形線(アウトラ
    インエレメント)に分解し、 該アウトラインエレメントと類似するストロークテンプ
    レートを求め、 該ストロークテンプレート情報を用いてアウトラインエ
    レメントより対象文字のストロークを構築し、 該構築したストローク形状を記憶することを特徴とする
    請求項1又は2記載のアウトラインフォントのストロー
    ク化方法。
  5. 【請求項5】 文字毎に該文字のストロークの配置デー
    タとストロークの種別データとを書き順に従って配列し
    てなる骨格情報を用意しておき、 前記アウトラインエレメントに分解するステップにおい
    て、文字をビットマップ化してそのビットマップスケル
    トンを求め、 ビットマップスケルトンをその隣接ノード間を接続して
    なるショートベクトルの集合であるショートベクトルス
    ケルトンに変換し、 前記骨格情報より得られる対象文字の骨格とショートベ
    クトルスケルトンとを比べ、該対象文字のストロークに
    対応する1以上のショートベクトルを求め、 ストローク対応するショートベクトル毎に対象文字の外
    形線をアウトラインエレメントに分解することを特徴と
    する請求項4記載のアウトラインフォントのストローク
    化方法。
  6. 【請求項6】 アウトラインエレメントの形状種別を骨
    格情報より求め、該形状種別を有するストロークテンプ
    レートよりアウトラインエレメントに類似するストロー
    クテンプレートを求めることを特徴とする請求項5記載
    のアウトラインフォントのストローク化方法。
  7. 【請求項7】 文字のアウトラインを1筆単位であるス
    トロークにカットし、ストロークをパーツにカットし、
    文字をパーツの集まりで表現するアウトラインフォント
    作成装置におけるパーツ化方法において、 オペレータ操作でストロークをパーツにカットした時の
    切取り法、切取り位置及びストローク形状をストローク
    プロトタイプ情報として記憶することにより学習し、 学習したストロークプロトタイプ情報に基づいて、各ス
    トロークをパーツに自動カットすることを特徴とするア
    ウトラインフォントのパーツ化方法。
  8. 【請求項8】 自動的にカットできないストロークが存
    在する場合には、オペレータ操作でそれらのうちの幾つ
    かのストロークをパーツにカットし、その時の切取り
    法、切取り位置及びストローク形状をストロークプロト
    タイプ情報として記憶して再学習し、 再学習したプロトタイプ情報に基づいて、カットされず
    に残っているストロークを自動カットすることを特徴と
    する請求項7記載のアウトラインフォントのパーツ化方
    法。
  9. 【請求項9】 前記学習ステップは、 ストロークからパーツを切り取るための複数の基本的な
    切取り法を特定するキーであるカットオペレータを操作
    画面上に表示すると共に対象ストロークを操作画面上に
    表示し、 所定のカットオペレータと切取り位置を指定し、該カッ
    トオペレータに応じた切取り法でストロークよりパーツ
    をカットし、その切取り法、切取り位置及びストローク
    形状をプロトタイプ情報として記憶することにより学習
    することを特徴とする請求項7又は請求項8記載のアウ
    トラインフォントのパーツ化方法。
  10. 【請求項10】 前記ストローク形状をストローク外形
    線の各曲点における方向データで特定すると共に、切取
    り位置をストロークの全長とストロークの一端から切取
    り位置までの長さの割合で特定することを特徴とする請
    求項9記載のアウトラインフォントのパーツ化方法。
  11. 【請求項11】 前記パーツの自動カットステップにお
    いて、 対象ストロークと外形が類似するストロークプロトタイ
    プを求め、 求まったプロトタイプの切取り法により前記割合が示す
    位置において対象ストロークをカットし、 カットしたパーツ形状を記憶することを特徴とする請求
    項10記載のアウトラインフォントのパーツ化方法。
JP7290701A 1995-11-09 1995-11-09 アウトラインフォントのストローク化及びパーツ化方法 Withdrawn JPH09134156A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7290701A JPH09134156A (ja) 1995-11-09 1995-11-09 アウトラインフォントのストローク化及びパーツ化方法
US08/684,894 US5917501A (en) 1995-11-09 1996-07-25 Method of cutting outline fonts into strokes and parts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7290701A JPH09134156A (ja) 1995-11-09 1995-11-09 アウトラインフォントのストローク化及びパーツ化方法

Publications (1)

Publication Number Publication Date
JPH09134156A true JPH09134156A (ja) 1997-05-20

Family

ID=17759401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7290701A Withdrawn JPH09134156A (ja) 1995-11-09 1995-11-09 アウトラインフォントのストローク化及びパーツ化方法

Country Status (2)

Country Link
US (1) US5917501A (ja)
JP (1) JPH09134156A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016532897A (ja) * 2013-07-31 2016-10-20 ペキン ユニバーシティ ファウンダー グループ カンパニー,リミティド 中間文字ライブラリを構築する方法及び装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6288725B1 (en) * 1997-02-24 2001-09-11 Zining Fu Representation and restoration method of font information
CN1372681A (zh) * 1999-08-30 2002-10-02 字原技术有限公司 用于存储和显示符号的方法和装置
US7239318B2 (en) * 2001-03-23 2007-07-03 Rise Kabushikikaisha Method and computer software program product for processing characters based on outline font
CN100595751C (zh) * 2002-07-03 2010-03-24 2012244安大略公司 可缩放笔划字体的系统和方法
US7251365B2 (en) * 2002-07-03 2007-07-31 Vadim Fux Scalable stroke font system and method
US8067653B2 (en) 2006-07-14 2011-11-29 The Governors Of The University Of Alberta Methods for producing fuels and solvents
JP4367511B2 (ja) * 2007-03-26 2009-11-18 セイコーエプソン株式会社 文字描画装置、表示装置及び印刷装置
US8306328B2 (en) * 2009-01-26 2012-11-06 Mitsubishi Electric Research Laboratories Method for converting outline characters to stylized stroke characters
US9235452B2 (en) * 2010-02-05 2016-01-12 Microsoft Technology Licensing, Llc Graphics remoting using augmentation data
KR101898202B1 (ko) * 2012-02-09 2018-09-12 삼성전자주식회사 필기 인식을 위한 필기 입력 가이드 장치 및 방법
US9323726B1 (en) * 2012-06-27 2016-04-26 Amazon Technologies, Inc. Optimizing a glyph-based file
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257351A (en) * 1987-09-22 1993-10-26 International Business Machines Corporation Selective processing of a data stream based on font format
US5526476A (en) * 1992-12-07 1996-06-11 Fujitsu Limited Method and apparatus for generating character patterns expressed by coordinates of a coordinate system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016532897A (ja) * 2013-07-31 2016-10-20 ペキン ユニバーシティ ファウンダー グループ カンパニー,リミティド 中間文字ライブラリを構築する方法及び装置
US10031894B2 (en) 2013-07-31 2018-07-24 Peking University Founder Group Co., Ltd. Method and apparatus of building intermediate character library

Also Published As

Publication number Publication date
US5917501A (en) 1999-06-29

Similar Documents

Publication Publication Date Title
JPH09134157A (ja) ヒント付け方法及びフォントファイル構成方法
US5042075A (en) Document composition apparatus which changes an outline font in accordance with letter magnification
JP4686186B2 (ja) ソースフォントデータからフォントフォーマットデータを生成するシステムおよび方法
US6661417B1 (en) System and method for converting an outline font into a glyph-based font
KR0157245B1 (ko) 문자 합성 방법 및 장치
US3930237A (en) Method for automating the production of engineering documentation utilizing an integrated digital data base representation of the documentation
US20030179214A1 (en) System and method for editing electronic images
JPH0445874B2 (ja)
JP2608571B2 (ja) 入力走査画像データのベクトル化のための装置及び方法
JPH07160827A (ja) 手書きストローク編集装置及び方法
US5917501A (en) Method of cutting outline fonts into strokes and parts
JP3083314B2 (ja) 文書処理方法及び装置
US5920324A (en) Character pattern producing apparatus capable of producing character pattern having connected character elements
Zongker et al. Example-based hinting of true type fonts
US6144765A (en) Figure processing method
US5727224A (en) Document image processor for inserting and editing bracket symbols and associated text
JPH08194716A (ja) 画像処理方法及びその装置
JPH01262149A (ja) ドツト文字フオント生成機能をもつ文書出力装置
JP3068895B2 (ja) 文字認識結果修正方式
JPH09244616A (ja) 文字情報格納方法、および筆順表示方法、並びに筆順表示装置
JP4297815B2 (ja) 情報処理装置および処理方法およびプログラムおよび記録媒体
JP4574347B2 (ja) 画像処理装置、方法及びプログラム
JPH0546143A (ja) 文字データベース作成装置、文字データベース作成方法及び文字データベース
JPH0736433A (ja) 文字データベース作成装置
KR20040075466A (ko) 구조적 단계를 통한 한글 폰트를 만드는 방법

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030204