(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-07
(45)【発行日】2022-10-18
(54)【発明の名称】部分文字スタイル変更が可能なフォント生成装置および方法
(51)【国際特許分類】
G09G 5/24 20060101AFI20221011BHJP
G09G 5/22 20060101ALI20221011BHJP
G09G 5/30 20060101ALI20221011BHJP
G06F 3/12 20060101ALI20221011BHJP
B41J 2/505 20060101ALI20221011BHJP
【FI】
G09G5/24 690
G09G5/24 620L
G09G5/22 650Z
G09G5/30 610Z
G09G5/24 630H
G06F3/12 344
G06F3/12 312
B41J2/505 101G
(21)【出願番号】P 2020197957
(22)【出願日】2020-11-30
【審査請求日】2020-11-30
(31)【優先権主張番号】10-2019-0162683
(32)【優先日】2019-12-09
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】516262480
【氏名又は名称】ファウンデーション オブ スンシル ユニヴァーシティ インダストリー コーポレーション
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェー ジェヨン
(72)【発明者】
【氏名】ジョン グンホ
【審査官】橋本 直明
(56)【参考文献】
【文献】特表2019-528485(JP,A)
【文献】特開平09-106271(JP,A)
【文献】特開2000-163038(JP,A)
【文献】中国特許出願公開第101676988(CN,A)
【文献】米国特許出願公開第2006/0017731(US,A1)
【文献】中国特許出願公開第1157979(CN,A)
【文献】米国特許出願公開第2020/0327276(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 5/24
G09G 5/22
G09G 5/30
G06F 3/12
B41J 2/505
(57)【特許請求の範囲】
【請求項1】
プロセッサが含まれた装置で遂行される部分文字スタイル変更が可能なフォントを生成する方法において、
XMLで記述されたアウトラインフォントのコードに所定のフォント供給システムのための属性を追加して中間コードを生成する段階(a);
前記中間コードをパーシングして獲得した点の情報を利用して前記フォント供給システムによるフォントを生成する段階(b);
前記フォントを前記フォントが示す文字の全体部分を示す全体集合および前記フォントが示す文字の一部分を示す部分集合に階層化する段階(c);および
前記全体集合と前記部分集合の関係で示される関係式を生成し、前記関係式にしたがって前記フォントのスタイルを変形させる段階(d);を含み、
前記フォント供給システムは、すべての文字ごとに描く方法を表現した文字描き関数と文字を修飾するスタイルパラメータとで構成され、
前記全体集合は、前記フォント供給システムによるフォントが示す文字を音節単位に分類して具備し、前記部分集合は前記フォントが示す文字の音節によって初声、中声および終声のうち少なくとも一つで示される字素を具備
し、
前記フォント供給システムのための属性は、文字の画の終わりまたは画が折れる部分の曲がりを調節するための第1追加属性、アウトラインの字素および部首を決定するための第2追加属性、文字が組み合わせられる類型を指定するための第3追加属性、アウトラインの位置を指定するための第4追加属性、アウトラインが示す部分画を指定するための第5追加属性、重子音内での位置を指定する第6追加属性および文字の画の形態を指定するための第7追加属性のうち少なくとも一つをさらに含むことを特徴とする、
フォント生成方法。
【請求項2】
前記フォント供給システムによるフォントは、前記フォント供給システムのための属性のうち少なくとも一つの属性にしたがって重要基準線を含むことを特徴とする、請求項1に記載のフォント生成方法。
【請求項3】
前記段階(d)は、前記重要基準線の位置が固定された状態で前記関係式にしたがって前記フォントのスタイルを変形させることを特徴とする、請求項
2に記載のフォント生成方法。
【請求項4】
請求項1~請求項
3のいずれか一項に記載された方法を遂行するプログラムを記録した、コンピュータ読み取り可能記録媒体。
【請求項5】
XMLで記述されたアウトラインフォントのコードに所定のフォント供給システムのための属性を追加して中間コードを生成する中間コード生成部;および
前記中間コードをパーシングして獲得した点の情報を利用して前記フォント供給システムによるフォントを生成し、前記フォントを前記フォントが示す文字の全体部分を示す全体集合および前記フォントが示す文字の一部分を示す部分集合に階層化し、前記全体集合と前記部分集合の関係で示される関係式を生成し、前記関係式にしたがって前記フォントのスタイルを変形させる出力フォント生成部;を含み、
前記フォント供給システムは、すべての文字ごとに描く方法を表現した文字描き関数と文字を修飾するスタイルパラメータとで構成され、
前記全体集合は、前記フォント供給システムによるフォントが示す文字を音節単位に分類して具備し、前記部分集合は前記フォントが示す文字の音節によって初声、中声および終声のうち少なくとも一つで示される字素を具備
し、
前記フォント供給システムのための属性は、文字の画の終わりまたは画が折れる部分の曲がりを調節するための第1追加属性、アウトラインの字素および部首を決定するための第2追加属性、文字が組み合わせられる類型を指定するための第3追加属性、アウトラインの位置を指定するための第4追加属性、アウトラインが示す部分画を指定するための第5追加属性、重子音内での位置を指定する第6追加属性および文字の画の形態を指定するための第7追加属性のうち少なくとも一つをさらに含むことを特徴とする、
フォント生成装置。
【請求項6】
前記フォント供給システムによるフォントは、前記フォント供給システムのための属性のうち少なくとも一つの属性にしたがって重要基準線を含むことを特徴とする、請求項
5に記載のフォント生成装置。
【請求項7】
前記出力フォント生成部は、前記重要基準線の位置が固定された状態で前記関係式にしたがって前記フォントのスタイルを変形させることを特徴とする、請求項
6に記載のフォント生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施例は部分文字スタイル変更が可能なフォント生成装置および方法に関し、より詳細には、アウトラインフォントの編集方式を利用することによって新しいフォントをリアルタイムに生成し、新しいフォントの生成時に、アウトライン編集方式でフォントを作成する時により時間および費用を低減させることができ、フォントの属性を変更して便利に多様なフォントを生成できる、フォント生成装置および方法に関する。
【背景技術】
【0002】
テキスト(text)は情報を記録し伝達する効果的な方法である。スマート機器が普遍化するにつれて使用者はハンドライティング(handwriting)のようなアナログフォントよりはデジタル機器に文字表現するデジタルフォントをさらに多く使う。このような環境の中で多様なスタイルのデジタルフォントが製作されている。
【0003】
一般的に使われるデジタルフォントはビットマップフォントタイプとアウトラインフォントタイプがある。ビットマップフォントはそれぞれの文字をすべてビットマップイメージで作成し、文字の大きさを支援するために各大きさに対する別途のファイルを用意しなければならない。アウトラインフォントは文字の形を描く方法を関数で作成したフォントタイプであって、直線と曲線を使ってフォントのアウトラインを描いた後、内部領域を満たす方式で動作する。アウトラインフォントはアウトライン情報を計算して文字の大きさを自由に調節できるため大きさに関わらずフォントを使うことができ、高品質の出力が可能である。しかし、ビットマップフォントおよびアウトラインフォントの場合、既に完成されたフォントの画の太さ、形のようなスタイルの変化を与えるためにはいちいち修正しなければならない短所がある。
【0004】
より詳細には、ビットマップフォントは固定されたイメージフォントであるため、フォントの大きさに応じて新しいフォントを製作しなければならない。したがって、要求される文字の大きさに応じてフォントを製作するのに所要する時間が多く、フォントデータの保存容量が非常に大きくなる短所がある。
【0005】
このような短所を改善できるアウトラインフォントは、文字の大きさの調節が自由であるためすべての大きさの文字を有しており、保存容量が大きいビットマップフォントに比べて一つのフォントデータのみが必要であるため保存容量が小さくなる長所がある。しかし、複雑な数学的処理過程であるラスタ過程を経るためシステムの負荷が大きく、点(point)と線(line)の数が多ければ多いほど負荷がさらに大きくなる短所がある。また、アウトラインフォントは文字を表現するために文字の基準点と調節点情報をのみ有しているだけであり、画に対する情報は有していない。したがって、フォントデザイナーが既存に完成されたフォントの画の太さ、形のようなスタイルの変化を与えるためには基準点と調節点をいちいち修正しなければならない短所がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
前記したような従来技術の問題点を解決するために、本発明ではアウトラインフォントの編集方式を利用することによって新しいフォントをリアルタイムに生成し、新しいフォントの生成時に、アウトライン編集方式でフォントを作成する時により時間および費用を低減させることができ、フォントの属性を変更して便利に多様なフォントを生成できる、フォント生成装置および方法を提案する。
【0007】
本発明の他の目的は、下記の実施例を通じて当業者によって導き出され得るであろう。
【課題を解決するための手段】
【0008】
本発明の一側面は、プロセッサが含まれた装置で遂行される部分文字スタイル変更が可能なフォントを生成する方法において、XMLで記述されたアウトラインフォントのコードに前記METAFONTのための属性を追加して中間コードを生成する段階(a);前記中間コードをパーシングして獲得した点の情報を利用して前記METAFONTによるフォントを生成する段階(b);前記フォントを前記フォントが示す文字の全体部分を示す全体集合および前記フォントが示す文字の一部分を示す部分集合に階層化する段階(c);および前記全体集合と前記部分集合の関係で示される関係式を生成し、前記関係式にしたがって前記フォントのスタイルを変形させる段階(d);を含むことを特徴とすることができる。
【0009】
また、前記全体集合は、前記METAFONTによるフォントが示す文字を音節単位に分類して具備するように生成されることを特徴とすることができる。
【0010】
また、前記部分集合は前記フォントが示す文字の音節によって初声、中声および終声のうち少なくとも一つで示される字素を具備するように生成されることを特徴とすることができる。
【0011】
また、前記METAFONTのための属性は、文字の画の終わりまたは画が折れる部分の曲がりを調節するための第1追加属性、アウトラインの字素および部首を決定するための第2追加属性、文字が組み合わせられる類型を指定するための第3追加属性、アウトラインの位置を指定するための第4追加属性、アウトラインが示す部分画を指定するための第5追加属性、重子音内での位置を指定する第6追加属性および文字の画の形態を指定するための第7追加属性のうち少なくとも一つをさらに含むことを特徴とすることができる。
【0012】
また、前記METAFONTによるフォントは前記METAFONTのための属性のうち少なくとも一つの属性にしたがって重要基準線を含むことを特徴とすることができる。
【0013】
また、前記段階(d)は前記重要基準線の位置が固定された状態で前記関係式にしたがって前記フォントのスタイルを変形させることを特徴とすることができる。
【0014】
本発明の他の一側面は、第1項~第5項のうちいずれか一項の方法を遂行するプログラムを記録したコンピュータ読み取り可能記録媒体であり得る。
【0015】
本発明のさらに他の一側面は、XMLで記述されたアウトラインフォントのコードに前記METAFONTのための属性を追加して中間コードを生成する中間コード生成部;および前記中間コードをパーシングして獲得した点の情報を利用して前記METAFONTによるフォントを生成し、前記フォントを前記フォントが示す文字の全体部分を示す全体集合および前記フォントが示す文字の一部分を示す部分集合に階層化して、前記全体集合と前記部分集合の関係で示される関係式を生成し、前記関係式にしたがって前記フォントのスタイルを変形させる出力フォント生成部;を含むことを特徴とすることができる。
【0016】
また、前記全体集合は、前記METAFONTによるフォントが示す文字を音節単位に分類して具備するように生成されることを特徴とすることができる。
【0017】
また、前記部分集合は前記フォントが示す文字の音節によって初声、中声および終声のうち少なくとも一つで示される字素を具備するように生成されることを特徴とすることができる。
【0018】
また、前記METAFONTのための属性は、文字の画の終わりまたは画が折れる部分の曲がりを調節するための第1追加属性、アウトラインの字素および部首を決定するための第2追加属性、文字が組み合わせられる類型を指定するための第3追加属性、アウトラインの位置を指定するための第4追加属性、アウトラインが示す部分画を指定するための第5追加属性、重子音内での位置を指定する第6追加属性および文字の画の形態を指定するための第7追加属性のうち少なくとも一つをさらに含むことを特徴とすることができる。
【0019】
また、前記METAFONTによるフォントは前記METAFONTのための属性のうち少なくとも一つの属性にしたがって重要基準線を含むことを特徴とすることができる。
【0020】
また、前記出力フォント生成部は前記重要基準線の位置が固定された状態で前記関係式にしたがって前記フォントのスタイルを変形させることを特徴とすることができる。
【発明の効果】
【0021】
前述した本発明の一側面によると、アウトラインフォントの編集方式を利用してフォントを生成する装置および方法を提供することによって、アウトラインフォントの編集方式を利用することによって新しいフォントをリアルタイムに生成し、新しいフォントの生成時に、アウトライン編集方式でフォントを作成する時により時間および費用を低減させることができ、フォントの属性を変更して便利に多様なフォントを生成することができる。
【図面の簡単な説明】
【0022】
【
図1】本発明の一実施例に係るフォント生成装置の概略的な構成を図示した図面である。
【
図2】本発明の一実施例に係るフォント生成方法のフローチャートである。
【
図3】本発明の実施のためのシステムの詳細な構造を図式化した代表図面である。
【
図4a】本発明の一実施例に係る中間コードの一例を図示した図面である。
【
図4b】本発明の一実施例に係る中間コードの一例を図示した図面である。
【
図4c】本発明の一実施例に係る中間コードの一例を図示した図面である。
【
図5a】本発明に係る中間コード(MetaUFO)の一例を図示した図面である。
【
図5b】本発明に係る中間コード(MetaUFO)の一例を図示した図面である。
【
図6a】本発明に係る中間コード(MetaUFO)の一例を図示した図面である。
【
図6b】本発明に係る中間コード(MetaUFO)の一例を図示した図面である。
【
図7a】本発明に係る中間コード(MetaUFO)の一例を図示した図面である。
【
図7b】本発明に係る中間コード(MetaUFO)の一例を図示した図面である。
【
図8】本発明の一実施例に係るMETAFONTコードの一例を図示した図面である。
【
図9a】本発明の一実施例に係るMETAFONTコードの一例を図示した図面である。
【
図9b】本発明の一実施例に係るMETAFONTコードの一例を図示した図面である。
【
図10a】初声に別途に適用される変数により文字のスタイルが変形されるMETAFONTの一例を図示した図面である。
【
図10b】初声に別途に適用される変数により文字のスタイルが変形されるMETAFONTの一例を図示した図面である。
【
図10c】初声に別途に適用される変数により文字のスタイルが変形されるMETAFONTの一例を図示した図面である。
【
図10d】初声に別途に適用される変数により文字のスタイルが変形されるMETAFONTの一例を図示した図面である。
【
図10e】初声に別途に適用される変数により文字のスタイルが変形されるMETAFONTの一例を図示した図面である。
【発明を実施するための形態】
【0023】
本明細書で使われる単数の表現は文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書で、「構成される」または「含む」等の用語は明細書上に記載された多様な構成要素、または多様な段階を必ずすべて含むものと解釈されてはならず、そのうちの一部の構成要素または一部の段階は含まれなくてもよく、または追加的な構成要素または段階をさらに含むことができるものと解釈されるべきである。また、明細書に記載された「...部」、「モジュール」等の用語は少なくとも一つの機能や動作を処理する単位を意味し、これはハードウェアまたはソフトウェアで具現されたり、ハードウェアとソフトウェアの結合で具現され得る。
【0024】
以下、本発明の多様な実施例を添付された図面を参照して詳述する。
【0025】
まず、本明細書には本発明の基礎となるMETAFONTの概念について説明することにする。
【0026】
METAFONTはTeXで使うフォント供給システムであり、すべての文字ごとに描く方法を表現した「文字描き関数」と文字を修飾する「スタイルパラメータ」で構成される。すなわち、文字を描く方法は決定されているがスタイルを決定するパラメータ(スタイル値)が分離されているので、METAFONTはスタイルパラメータを変更していくらでも望むスタイルのフォントに変形することができる。
【0027】
図1は、本発明の一実施例に係るフォント生成装置の概略的な構成を図示した図面である。
【0028】
図1を参照すると、本発明の一実施例に係るフォント生成装置400はMETAFONTによるフォントを生成する装置であって、入力部410、中間コード生成部420および出力フォント生成部430を含む。
【0029】
そして、
図2は本発明の一実施例に係るフォント生成方法のフローチャートである。この時、前記方法はプロセッサが含まれた装置であるフォント生成装置400で遂行され得る。
【0030】
そして、
図3は本発明の実施のためのシステムの詳細な構造を図式化した代表図面である。
【0031】
以下、
図1~
図3を参照して各構成要素別機能および各段階別に遂行される過程を説明する。
【0032】
まず、段階510で、入力部410に完成されたアウトラインフォント乃至完成されたアウトラインフォントのコードが入力される。この時、完成されたアウトラインフォントはXMLで記述されたフォントであって、フォントデザイナーが生成したフォントであり得る。
【0033】
次に、段階520で、中間コード生成部420はXMLで記述されたアウトラインフォントのコードにMETAFONTの属性を追加して中間コードを生成する。
【0034】
次に、段階530で、出力フォント生成部430は中間コードをパーシングして獲得した点の情報を利用してMETAFONTによるフォントを生成する。
【0035】
すなわち、本発明はフォントデザイナーが馴染んでいるアウトラインフォント方式(XMLで記述される)に、METAFONTに必要な属性とMETAFONTで使う特殊な機能を支援するための属性を追加して中間コード生成部420で中間コードを生成し、出力フォント生成部430は中間コードを入力ファイルで受けてパーシングして得たデータを計算してMETAFONTコードを生成し、フォント使用者は生成されたMETAFONTコードでスタイルを変更できる媒介変数値を変更して多様なスタイルのフォントを生成することができる。
【0036】
次に、段階540で、出力フォント生成部430はMETAFONTコードから生成されるフォントを、フォントが示す文字の全体部分を示す全体集合およびフォントが示す文字の一部分を示す部分集合に階層化することができる。これは、METAFONTコードで、文字の全体部分に適用されるコードを全体集合に設定し、文字の初声、中声、終声のうちいずれか一つに適用されるコードをそれぞれ部分集合に設定するものと理解することができる。
【0037】
引き続き、段階550で、全体集合と部分集合の関係で示される関係式を生成し、関係式にしたがって前記フォントのスタイルを変形させることができる。これに伴い、METAFONTによるフォントは初声、中声、終声、部、旁および偏などの文字の細部要素のスタイルを個別的に変形させることができる。
【0038】
本発明の細部的な構成について詳察すると次の通りである。
【0039】
本発明の一実施例によると、アウトラインフォントはUFO(Unified Font Object)によるフォントであり得る(610)。
【0040】
UFOは一つのファイルからなる一般的なアウトラインフォントとは異なってディレクトリ構造になっている。また、バイナリの形態で構成された他のアウトラインフォントとは異なって、UFOはフォントデータをXMLで記述して人と機械がともに読むことができる形式を有するように規定される。
【0041】
UFOの最も大きな特徴は、定義されていないXMLのタグや属性を使用者が定義することができる。これを利用して前記した段階520および段階530でシステムに必要なデータをUFOのコードに追加し(620)、XMLでパーシングして(630)使うことができる。
【0042】
以下、説明の便宜のために、アウトラインフォントをUFOと仮定して説明する。しかし、本発明はこれに限定されるものではない。
【0043】
そして、本発明の一実施例によると、段階520で追加されるMETAFONTのための属性(Metafont attribute)は下記の表1のように表現され得、これはUFOコード内に含まれ得る(620)。
【0044】
【0045】
具体的には、METAFONTはアウトラインフォントとは異なって手で文字を書くように文字の骨組みを描いた後、ペンを骨組みの流れに沿って移動しながら文字を描く方式である。したがって、アウトラインフォントで修正が困難な文字の太さを、METAFONTでは骨組みを満たすペンの太さを調節する関数を利用して容易に変形することができる。この時、ペンの太さを調節する関数を使用するために、ペンの両端の点を定義しなければならない。すなわち、UFOに存在する点をペンの両端の点に合うように対に束ねる作業が必要であり、このために第1属性(penPair)が使われる。第1属性(penPair)はアウトラインを構成するための点のうち2個の点を対に指定するための属性であって、必須として追加される属性である。ここで、既存にUFOに存在するタグである「point」に「penPair」という属性を追加して、二つの点が一対であるという情報を得て太さを調節することができる。
【0046】
そして、METAFONTはアウトラインを繋いでできた内部領域を満たしたり空にする時に使う関数が異なり、このために第2属性(innerType)が使われる。すなわち、第2属性(innerType)はアウトラインの開始点に明示され、アウトラインの内部領域を満たすかどうかを指定するための属性であって、これは必須的に含まれる属性である。
【0047】
また、第3属性(dependX(Y))はあらかじめ位置座標が設定された点Aの位置座標に依存して点Bの位置座標を変化させるための属性であり、第4属性(serif)は点のセリフを設定するための属性であって、これは選択的に含まれる属性である。
【0048】
これと関連して
図3を参照すると、中間コード(MetaUFO)(620)はUFOとMETAFONTのための属性(Metafont attribute)を含むことができ、中間コード(MetaUFO)(620)はUFO2mf(630)によってMETAFONTコード(640)および媒介変数値(Metafont Parameters)に変換され得る。このとき、UFO2mf(630)はXML Parser(632)、TYPE Classifier(634)、Character Generator(636)およびRadical Generator(638)を含むことができる。
【0049】
その他にも本発明は、使用者が特定した点の位置を共通で変化させることができるようにすることができるカスタム媒介変数属性を提供し、これを利用して使用者は自身が所望する部分を媒介変数化することができる。
【0050】
以下、
図4を参照して、METAFONTのための属性を詳述する。
【0051】
図4は、本発明に係る中間コード(MetaUFO)の一例を図示した図面である。すなわち、
図4の(a)では字素「├」を表現するためにUFOにMETAFONTのための属性が追加された中間コードを図示しており、
図4の(b)では
図4の(a)に図示された中間コードを絵で示している。そして、
図4の(c)では
図4の(a)および(b)を通じて生成されたMETAFONTの字素「├」(セリフを含む)を図示している。
【0052】
図4を参照すると、UFOコード内の「point」タグに「penPair」(第1属性)が追加される。ここで、「zNl」と「zNr」を通じて2個の点が対に束ねられることを確認することができる。この時、「l」は左側点を、「r」は右側点を表現する記号であり、「zN」でNの数字値を利用して二点を一対に連結する。すなわち、「z1l」と「z1r」が一つの像で束ねられ、「z2l」と「z2r」が一つの像で束ねられ、「z3l」と「z3r」が一つの像で束ねられ、「z4l」と「z4r」が一つの像で束ねられる。
【0053】
また、UFOコード内の「point」タグに「innerType」(第2属性)が追加される。この時、字素「├」のアウトラインの内部領域を満たすことであるため、最初の「point」タグ内に「innerType」が「fill」に設定される。
【0054】
そして、UFOコード内の「point」タグに「dependX」(第3属性)が追加される。一例として、4番目の「point」タグでは「z3r」が定義されるものの、「z3r」はあらかじめ位置座標が設定された点である「z2r」のx軸座標である「x2r」に依存してその点の太さ変化量だけ自身の位置を移動する。他の一例として、七番目の「point」タグでは「z3l」が定義されるものの、「z3l」はあらかじめ位置座標が設定された点である「z1r」のx軸座標である「x1r」に依存してその点の太さ変化量だけ自身の位置を移動する。すなわち、「z3l」と「z3r」とはそれぞれ「z1r」と「z2r」のx軸座標に依存して「z1r」と「z2r」のx座標の変化量だけともに動いて直線が「一」の字の形態を維持するように設定する。
【0055】
また、UFOコード内の「point」タグに「serif」(第4属性)が追加される。すなわち、縦画の両端z1l、z2lにセリフを追加する。この時、セリフは出力フォント生成部430に生成されるMETAFONTによるフォントの該当位置でセリフが表現される。
【0056】
図5a~
図7bは、本発明の一実施例に係るMETAFONTの追加属性を説明するための図面である。
【0057】
本発明の一実施例によると、段階520で追加されるMETAFONTのための属性は下記の表2のような属性をさらに含むことができ、これはUFOコードの「point」タグ内に含まれ得る。
【0058】
【0059】
具体的には、METAFONTは文字の画の終わりや画が折れる部分の曲がりを調節することができ、このために第1追加属性(Round)が使われる。すなわち、第1追加属性(Round)はアウトラインを構成する点で示される画の丸い程度を指定するための属性であって、これは選択的に含まれる属性である。
【0060】
また、METAFONTは文字のアウトラインが字素なのか部首なのかを指定することができ、このために第2追加属性(char)が使われる。すなわち、第2追加属性(char)はアウトラインによって生成される文字が複数の文字によって生成される文字で字素として利用されるのか、部首として利用されるのかを指定するための属性であって、これは選択的に含まれる属性である。
【0061】
また、第3追加属性(formType)は文字が組み合わせられる類型を指定するための属性であり、第4追加属性(cmClass)は初声、中声、終声、部、旁および偏のようなアウトラインの位置を指定するための属性であり、第5追加属性(stClass)は柱、梁、幹、枝、掠および頂きのようにアウトラインが示す部分画を指定するための属性であって、これは選択的に含まれる属性である。
【0062】
また、第6追加属性(double)は重子音内での位置を指定する属性であり、第7追加属性(stroke)は文字の画の開始、折れおよび終わりのような画内の位置を指定するための属性であって、これは選択的に含まれる属性である。
【0063】
以下、
図5a~
図7bを参照して、METAFONTのための追加属性を詳述する。
【0064】
図5a~
図7bは、本発明に係る中間コード(MetaUFO)の一例を図示した図面である。すなわち、
図5aは字素「┐」を表現するためにUFOにMETAFONTのための属性が追加された中間コードを図示しており、
図5bでは
図5aを通じて生成されたMETAFONTの字素「┐」を図示している。
【0065】
また、
図6aは字素「├」を表現するためにUFOにMETAFONTのための属性が追加された中間コードを図示しており、
図6bでは
図6aを通じて生成されたMETAFONTの字素「├」を図示している。
【0066】
また、
図7aは字素
を表現するためにUFOにMETAFONTのための属性が追加された中間コードを図示しており、
図7bでは
図7aを通じて生成されたMETAFONTの字素
を図示している。
【0067】
図5a、
図6aおよび
図7aを参照すると、UFOコード内の「point」タグに「char」(第2追加属性)が追加される。この時、「┐」および「├」は字素として利用されるものであるので、それぞれの最初の「point」タグ内に「char」が「0」に設定される。
【0068】
一方、
はバッチム(韓国語の終声になる子音)として利用されるものであって、最初の「point」タグ内に「char」が「17」に設定される。
【0069】
また、UFOコード内の「point」タグに「formType」(第3追加属性)が追加される。この時、「formType」はあらかじめ設定される値であって、文字の形態を指定することができ、ここで「2」で指定された「formType」は初声、中声および終声からなる文字を意味するものであり得る。
【0070】
また、UFOコード内の「point」タグに「Round」(第1追加属性)が追加される。この時、画の終わりの曲がりを指定するもので値が大きいほど画の終わりの曲がりの程度が大きくなり得る。これに伴い、「1」に設定された「Round」は画の終わりが直角の形態を示すように設定されるものであり得る。
【0071】
このように、METAFONTのための追加属性はUFOコード内に選択的に利用され得、それぞれの追加属性に対してあらかじめ設定される値によってUFOコード内で設定される値が変わり得、これに伴い、中間コードによって生成される文字の形態が変わり得る。
【0072】
図8~
図9bは本発明の一実施例に係るMETAFONTコードの一例を図示した図面である。
【0073】
本発明の一実施例によると、METAFONTコードは出力フォント生成部430から中間コードを入力ファイルで受けて、パーシングして得たデータを計算してMETAFONTコードを生成することができる。
【0074】
これに伴い、フォント使用者は生成されたMETAFONTコードでスタイルを変更できる媒介変数値を変更して、多様なスタイルのフォントを生成することができる。
【0075】
図8を参照すると、METAFONTコードでスタイルを変更できる媒介変数値は、expr Width、Heigh、moveSizeOfH、moveSizeOfV、penWidthRate、penHeightRate、curveRate、serifRate、unfillRateおよびisUnfillなどが含まれ得、これに伴い、フォント使用者はMETAFONTコード内の媒介変数の値を変更することによって文字の形態を変更することができる。
【0076】
一方、
図9aおよび
図9bを参照すると、METAFONTコード内の各字素の大きさ、画の対比、太さ、曲がり、傾きおよび画の内部を空にするなどを調整して変形される文字の形態を確認することができる。
【0077】
これと関連して、初声「┐」に画の対比、太さおよび曲がりが調整されたものと理解することができ、中声「├」に画の太さおよびセリフが調整されたものと理解することができ、終声
に画の曲がりおよび内部を空にするが調整されたものと理解することができる。
【0078】
このように、フォント使用者はUFOコード内に追加される属性および追加属性に基づいて変換されたMETAFONTコードの媒介変数値を変更して文字の変形が可能である。
【0079】
図10a~
図10eは、初声に別途に適用される変数により文字のスタイルが変形されるMETAFONTの一例を図示した図面である。
【0080】
ハングルの初声、中声、終声のうちいずれか一つに別途に適用される媒介変数は、特定の画または特定の文字に限定され得る。これに伴い、出力フォント生成部430は文字を全体文字の形に一括的に適用される属性による全体集合および「stClass」等の属性による部分集合に階層化することができる。
【0081】
図10aを参照すると、
という全体文字を含む全体集合と
に分類された部分集合を確認することができる。
【0082】
ここで、x、yは全体文字の形に一括的に適用される全体の座標系を意味し得、x1、y1は初声の形に適用され、x2、y2は中声の形に適用され、x3、y3は終声の形に適用される部分座標系を意味し得る。
【0083】
これに伴い、出力フォント生成部430は文字の一部分に別途に適用される属性を全体座標と部分座標の関係式で示すことができ、このとき、初声、中声、終声および組み合わせ方式などにより重要基準線が決定され得る。
【0084】
図10bを参照すると、初声に対して二つの円で表示された重要基準線の位置を確認することができ、このとき、重要基準線はアウトラインフォントの基準線として理解され得る。
【0085】
これに伴い、文字の形に適用される属性により、重要基準線の位置が固定された状態で、文字の形が変更され得る。
【0086】
図10c~
図10eは、初声に別途に適用される属性によって初声が変形されるMETAFONTの一例を図示した図面である。
【0087】
図10cを参照すると、下記の数学式(1)の関係式によって変形される初声の形態を確認することができる。
【0088】
【0089】
この時、数学式(1)は初声の横方向(x1)に全体座標系に対して一定の傾きを適用したものと理解することができ、これに伴い、初声が横方向で一定量増加したことを確認することができる。
【0090】
図10dを参照すると、下記の数学式(2)の関係式により変形される初声の形態を確認することができ、このとき、数学式(2)は
図10cにより変形された初声に縦方向(y1)に全体座標に対する変化量による位置移動を適用したものと理解することができ、これに伴い、初声の左側および右側がそれぞれ下降および上昇する形態で変形されることを確認することができる。
【0091】
【0092】
図10eを参照すると、下記の数学式(3)の関係式により変形される初声の形態を確認することができ、このとき、
図10dに示される初声の下側を数学式(3)により変形させて初声が台形の形態に変形されることを確認することができる。
【0093】
【0094】
このように、出力フォント生成部430は全体座標系と部分座標系間の関係式を定義してMETAFONTのアウトライン情報を変更することなく、文字部分を変形させることができる。
【0095】
一方、本発明の一実施例によると、出力フォント生成部430は、前述した通り中間コード(MetaUFO)をパーシングして獲得した点の情報を利用してMETAFONTによるフォントを生成する。この時、出力フォント生成部430はパイソンで具現され得、パイソンで提供するライブラリーであるXML Parserを利用して中間コード(MetaUFO)をパーシングすることができる。そして、出力フォント生成部430はパーシングを通じて得たデータをMETAFONTで必要なデータに計算してMETAFONTコードを作成する。また、使用者が追加したMETAFONTの属性に該当する関数を呼び出して追加処理する。そして、使用者に文字のスタイル変化のために提供する14個の媒介変数を適用してMETAFONTコードを生成する。この媒介変数は必要に応じて追加または削除され得る。
【0096】
また、ハングルはローマ字とは異なって、音節の構成により分けられる初声、中声、そして終声を組み合わせて表現される。したがって、出力フォント生成部430はファイルで保存された初声、中声、終声に対して必要な字素を呼び出して文字を生成することができる。このために、出力フォント生成部430はパーシングを通じて得たデータを利用して、現在処理するファイルが字素あるいは字素を呼び出す文字であるかを判別し、それによって該当するルーチンを実行することができる。
【0097】
この時、現在処理するファイルが字素を呼び出す組み合わせ型の文字である場合、出力フォント生成部430は参照する字素を判別して該当する字素を呼び出すMETAFONT関数とともに、それぞれの字素にのみ適用される媒介変数を共に生成する。また、出力フォント生成部430は文字の全体スタイルに影響を与える文字の広さ、高さ、そして傾き媒介変数を適用してコードを生成する。
【0098】
また、現在処理するファイルが字素の場合、出力フォント生成部430はパーシングして得た点の情報を利用して文字をMETAFONTで表現する。METAFONTで文字を表現するために、出力フォント生成部430はまず基準点を定義し、二つの点を束ねた一対に対して太さを決定した後、調節点を定義した後に曲線を描く関数を使用して文字を表現する。したがって、このような方式でパーシングして得たデータを利用して、出力フォント生成部430はコードを作成して文字の影響を与える多様な媒介変数を適用する。
【0099】
一方、出力フォント生成部430はMETAFONTコードから生成されるフォントを、フォントが示す文字の全体部分を示す全体集合およびフォントが示す文字の一部分を示す部分集合に階層化することができる。これは、METAFONTコードで、文字の全体部分に適用されるコードを全体集合に設定し、文字の初声、中声、終声のうちいずれか一つに適用されるコードをそれぞれ部分集合に設定するものと理解することができる。
【0100】
本発明では、Quadratic曲線方式とCubic曲線方式で表現されたアウトラインフォントの曲線表現を、METAFONTですべて表現することができるようにCubic曲線に変換する機能を含む。このような動作は出力フォント生成部で430進行する(段階530)。要するに、本発明はアウトラインフォントの一形式であるUFOにMETAFONT属性を適用して、METAFONTコードを生成することによって新しいフォントを生成する。既存のアウトラインフォントは文字の太さやスタイルの変化が自由でなかったが、METAFONTは媒介変数を利用してスタイルを自由に変形させることができる。したがって、太さのようなスタイルの変化に応じて複数の対で製作されて提供されなければならなかったアウトラインフォントの「フォントファミリー」がなくても、基本アウトラインフォント一つでMETAFONTコードを生成して使用者が調節する媒介変数に合わせて自由に太さを調節することができる。また、ハングルの特性に合わせて提供する媒介変数を利用して多様な形の文字を生成することができる。
【0101】
また、本発明の実施例は、多様なコンピュータ手段を通じて遂行され得るプログラム命令の形態で具現されてコンピュータ読み取り可能媒体に記録され得る。前記コンピュータ読み取り可能媒体はプログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものであるかコンピュータソフトウェア当業者に公知になっている使用可能なものでもよい。コンピュータ読み取り可能記録媒体の例にはハードディスク、フロッピーディスクおよび磁気テープのような磁気媒体(magnetic media)、CD-ROM、DVDのような光記録媒体(optical media)、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical)、および、ロム(ROM)、ラム(RAM)、フラッシュメモリなどのようなプログラム命令の例には、コンパイラによって作られるような機械語コードだけでなくインタープリタなどを使ってコンピュータによって実行され得る高級言語コードを含む。前記ハードウェア装置は本発明の一実施例の動作を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同じである。
【0102】
以上のように、本発明では具体的な構成要素などのような特定の事項と限定された実施例および図面によって説明されたが、これは本発明の全般的な理解を助けるために提供されたものに過ぎず、本発明は前記実施例に限定されるものではなく、本発明が属する分野で通常の知識を有する者であれば、このような記載から多様な修正および変形が可能である。したがって、本発明の思想は説明された実施例に限定されて定められてはならず、後述する特許請求の範囲だけでなくこの特許請求の範囲と均等または等価的変形がある全てのものは本発明思想の範疇に属するものと言える。