JP2019528485A - フォントの生成方法及びその方法を記録した記録媒体並びにフォントの生成装置 - Google Patents

フォントの生成方法及びその方法を記録した記録媒体並びにフォントの生成装置 Download PDF

Info

Publication number
JP2019528485A
JP2019528485A JP2019521360A JP2019521360A JP2019528485A JP 2019528485 A JP2019528485 A JP 2019528485A JP 2019521360 A JP2019521360 A JP 2019521360A JP 2019521360 A JP2019521360 A JP 2019521360A JP 2019528485 A JP2019528485 A JP 2019528485A
Authority
JP
Japan
Prior art keywords
font
metafont
points
attribute
code
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.)
Pending
Application number
JP2019521360A
Other languages
English (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 ファウンデーション オブ スンシル ユニバーシティー インダストリー コーポレーション
Publication of JP2019528485A publication Critical patent/JP2019528485A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/20Function-generator circuits, e.g. circle generators line or curve smoothing circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/28Generation of individual character patterns for enhancement of character form, e.g. smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】新しいフォントの作成が時間をかけずにできる装置及び方法を提供する。【解決手段】本発明によるフォントの生成方法は、プロセッサが含まれた装置において実行されるメタフォントによるフォントを生成する方法であって、XMLで記述されたアウトラインフォントのコードに前記メタフォントのための属性を追加して、中間コードを生成する段階(a)と、前記中間コードをパーシングして得た点の情報を利用して前記メタフォントによるフォントを生成する段階(b)と、を含む。【選択図】図6

Description

本発明は、フォントの生成方法及びその方法を記録した記録媒体並びにフォントの生成装置に係わり、より詳細には、アウトラインフォントの編集方式を利用することによって、新しいフォントをリアルタイムに生成でき、フォントを作成する時間とコストを減らすことができ、メタフォントを学習しなくてもフォントを生成することができるフォントの生成方法及びその方法を記録した記録媒体並びにフォントの生成装置に関する。
情報を記録して伝達するには、テキスト(text)を使用するのが効果的である。その場合、スマート機器の普及に従いユーザーは、ハンドライティング(handwriting)のアナログフォントより、デジタル機器が使用する文字であるデジタルフォントを多く使用する。このような環境の中で、多様なスタイルのデジタルフォントが製作されている。
一般にデジタルフォントには、ビットマップフォントタイプとアウトラインフォントタイプがある。ビットマップフォントは、それぞれの文字をすべてビットマップイメージで作成し、文字の大きさをサポートするために各大きさに対する別々のファイルが用意される。アウトラインフォントは、文字の形を描く方法を関数で作成したフォントタイプであり、直線と曲線を使用してフォントのアウトラインを描いた後、内部領域を満たす方式で動作する。アウトラインフォントは、アウトライン情報を計算して文字の大きさの調節が自由で、文字の大きさに関係なくフォントを使用することができ、高品質の出力が可能である。しかしながら、ビットマップフォント及びアウトラインフォントのいずれの場合も、既存の完成されたフォントの画の太さ、形状などのスタイルの変化を与えるためには、いちいち修正しなければならないとの欠点がある。
より詳細には、ビットマップフォントは、固定されたイメージのフォントであるため、フォントの大きさに応じて新しいフォントを制作しなければならない。したがって、要求される文字の大きさに応じてフォントを製作するのにかかる時間がかかり、また、フォントデータの保存容量が非常に大きくなるとの欠点がある。
一方、アウトラインフォントは、文字の大きさの調節が自由であるためすべての大きさの文字を生成でき、保存容量の大きいビットマップフォントに比べ、単一のフォントデータを保存するので、保存容量が小さくできるとの利点がある。しかし、複雑な数学的処理プロセスであるラスタライゼーションを経るので、システムの負荷が大きく、点(point)と線(line)の数が多ければ多いほど負荷が大きくなる。また、アウトラインフォントは文字を表現するために文字の基準点と調節点情報のみを有しているだけで、画に関する情報は有していない。したがって、フォントデザイナーが既に完成されているフォントの画の太さ、形状などのスタイルの変化を与えるためには、基準点と調節点をいちいち変更しなければならない。
ビットマップフォントやアウトラインフォントとは異なり、文字の画とペンの形状を使用するメタフォント(METAFONT)が研究されている。メタフォントは、フォントを表現するプログラミング言語であって、コードに明示された値に基づいて様々な文字を表現することができる。したがって、コードを作成するときに変化が可能なスタイルをパラメータに作成し、パラメータの値を変化させることによって、様々なスタイルのフォントを簡単に生成することができる。
メタフォントは出力のためのイメージではなく、テキスト形式のプログラミング言語であるため、プログラミングに慣れていないフォントデザイナーが直接使用することは難しい。また、デザインに慣れていないメタフォント開発者がフォントを製作する場合には、グラフィックツールではなく、メタフォントプログラミング開発ツールで作成しなければならないため、メタフォントを利用したフォントの開発は多くの費用と時間がかかる。
上記のような問題点を解決するためになされたもので、本発明の目的は、新しいフォントをリアルタイムに生成し、新しいフォント作成時の時間とコストを減らすことができ、メタフォントを学習しなくてもフォントを生成することができる装置及び方法を提供することにある。
本発明の装置と方法は、以下の実施例から、当業者によって導き出すことができる。
本発明によるフォントの生成方法は、プロセッサが含まれる装置において遂行されるメタフォントによるフォントを生成する方法であって、XMLで記述されたアウトラインフォントのコードに前記メタフォントのための属性を追加して、中間コードを生成する段階(a)と、前記中間コードをパーシングして得た点の情報を利用して前記メタフォントによるフォントを生成する段階(b)と、を含むことを特徴とする。
前記メタフォントは、属性に、アウトラインを構成するための前記パーシングして得た点のうち2つの点をペアに指定するための第1の属性と、アウトラインの内部領域を満たすか否かを指定するための第2の属性と、を含むことを特徴とする。
前記メタフォントの属性は、予め位置座標が設定された点Aの位置座標に依存して点Bの位置座標を変化させるための第3の属性、及び点のセリフを設定するための第4の属性のうち少なくとも一つをさらに含むことを特徴とする。
前記アウトラインフォントは、UFO(Unified Font Object)形式であり、前記メタフォントのための属性は、前記UFOのコード内の「point」タグ内に含まれることを特徴とする。
前記アウトラインフォントのコード及び前記中間コードは、4つの点で構成されるキュービック(Cubic)曲線、及び3つの点で構成されているカドラティック(Quadratic)曲線を表現することができ、前記メタフォントのコードは、前記キュービック曲線のみを表現することができ、前記段階(b)は、下記の数式を利用して前記中間コードでのカドラティック曲線を前記メタフォントでのキュービック曲線に変換することを特徴とする。
Figure 2019528485
ここで、CP0及びCP3は、前記4つの点のうち2つの基準点であり、CP1及びCP2は、前記4つの点のうち2つの調節点である。
QP0及びQP2は、前記3つの点のうち2つの基準点であり、QP1は、前記3つの点のうち1つの調節点である。
また、本発明によるメタフォントの生成装置は、メタフォントによるフォントを生成する装置であって、XMLで記述されたアウトラインフォントのコードに前記メタフォントのための属性を追加して、中間コードを生成する中間コード生成部と、前記中間コードをパーシングして得た点の情報を利用して前記メタフォントによるフォントを生成する出力フォント生成部と、を含むことを特徴とする。
本発明によれば、新しいフォントをリアルタイムに生成できる。アウトライン編集方法で新しくフォントを作成する場合に比較して、時間とコストを減らすことができる。メタフォントを学習しなくてもフォントを生成することができる。
本発明の効果は、このような効果に限定されるものではなく、本発明に記載された構成から推察可能なすべての効果を含む。
メタフォントにおいて、4つの点を利用して曲線を表現する一例を示す図面である。 アルファベット文字「B」をメタフォントでプログラミングしたコードの一例を示す図面である。 変数の変更を通じて文字のスタイルが変形されるメタフォントの一例を示す図面である。 本発明の一実施例で、フォント生成装置の概略的な構成を示す図面である。 本発明の一実施例で、フォントの作成方法を示すフローチャートである。 本発明のシステムの詳細な構造を図式化した代表図である。 従来のUFOのコードを示す図面である。 本発明の一実施例で、中間コードの一例を示す図面である。 本発明の一実施例で、曲線表現の方式を説明する図面である。
本明細書において使用される単数の表現は、明白に異なる意味でない限り、複数の表現を含む。「構成される」または「含む」の用語は、明細書上に記載された様々な構成要素、または段階を必ず全て含むものではなく、その一部の構成要素または一部の段階を含まないこともあり、あるいは追加の構成要素または段階をさらに含むこともある。また、「〜部」、「モジュール」は、少なくとも一つの機能や動作を処理する単位で、ハードウェアまたはソフトウェアで具現される。
以下では、本発明の実施例を添付の図面を参照して説明する。
まず、本明細書では、本発明の基礎となるメタフォント(METAFONT)の概念について説明する。
メタフォントはTeXで使用されるフォント供給システムであって、すべての文字ごとに描く方法を表現した「文字描画関数」と、文字を飾る「スタイルパラメータ」で構成される。即ち、文字を描く方法は決まっているが、スタイルを決定するパラメータ(スタイル値)が分離されているため、メタフォントは、スタイルパラメータを変更して、好みのスタイルのフォントに変形することができる。
また、メタフォントでは、Cubicベジェ曲線を利用して文字の曲線を表現し、これは図1に図示すとおりである。図1を参照すると、曲線は4つの点(point、点)から定義される。この時、P0とP3は、曲線の基準点であり、P1とP2は、方向を提供する調節点である。曲線は、P0からP1方向に始まりP3にP2方向に到着して描かれ、調節点の移動によって様々な自由曲線を得る。ここで、調節点P1とP2は、曲線の上を通過せず、単に方向情報のみを提供する。
また、メタフォントは、プログラミング言語であるため、コードを作成する時に変化が可能なスタイルをパラメータに作成することができ、このパラメータの値を変化させることによって、文字の大きさ、太さ、そしてペンの形状などを自由に変更して様々なフォントを作成することができる。
一例として、図2では、アルファベット文字「B」を表現するためのメタフォントのソースコードを図示しており、図3の(a)は、図2のソースコードを実行して生成された結果物を図示している。ソースコード2行目で定義されているstem変数は、文字の太さに影響を与える変数であり、stem値を変化させると文字の太さが全体的に変化するようになり、これは、図3の(b)で確認することができる。
図4は、本発明の一実施例で、フォント生成装置の概略的な構成を図示した図面である。
図4を参照すると、本発明のフォント生成装置(400)は、メタフォントによるフォントを生成する装置であって、入力部(410)、中間コード生成部(420)と出力フォント生成部(430)を含む。
図5は、本発明のフォントの作成方法のフローチャートである。このとき、フォントの作成方法は、プロセッサが含まれた装置であるフォント生成装置(400)で遂行されることができる。
図6は、本発明のシステムの詳細な構造を示す代表図である。
以下では、図4〜図6を参照して、各構成要素別機能及び各段階で実行されるプロセスを説明する。
まず、段階(510)において、入力部(410)は、完成されたアウトラインフォント乃至完成されたアウトラインフォントのコードの入力を受ける。この時、完成されたアウトラインフォントは、XMLで記述されたフォントであって、フォントデザイナーが生成したフォントである。
次に、段階(520)において、中間コード生成部(420)は、XMLで記述されたアウトラインフォントのコードにメタフォントの属性を追加して中間コードを生成する。
続いて、段階(530)において、出力フォント生成部(430)は、中間コードをパーシングし、得た点の情報を利用してメタフォントによるフォントを生成する。
即ち、本発明は、フォントデザイナーが慣れているアウトラインフォント方式(XMLで記述される)に、メタフォントに必要な属性とメタフォントで使用する特殊な機能をサポートするための属性を追加して、中間コード生成部(420)で中間コードを生成し、出力フォント生成部(430)は、中間コードを入力ファイルとして受けてパーシングして得たデータを計算してメタフォントコードを生成し、フォントのユーザーは、生成されたメタフォントコードにおいてスタイルを変更することができるパラメータの値を変更して様々なスタイルのフォントを生成することができる。
本発明の詳細な構成は、以下の通りである。
本発明の一実施例によれば、アウトラインフォントは、UFO(Unified Font Object)によるフォントである。
UFOは、一つのファイルで構成された一般的なアウトラインフォントとは異なり、ディレクトリ構造になっている。また、バイナリ形式で構成された他のアウトラインフォントとは異なり、UFOは、フォントデータをXMLで記述して、人と機械の両方が読み取り可能な形式を有する。
図7は、従来のUFOのコードを図示した図面である。図7を参照すると、「point」のタグは、直線または曲線を表現するために「x」と「y」の属性を利用して、点の位置を定義する。また、「type」属性に「line」、「curve」と「qcurve」などを利用して、線の種類を選択する。「line」である場合には、以前の「point」タグと現在の「point」タグの点を結んで直線を表現する。そして、「curve」と「qcurve」は、曲線の種類のうち、Cubicベジェ曲線とQuadraticベジェ曲線を示す。曲線は、基準点と調節点が必要であるため、二つの基準点の間に「type」属性のない「point」タグを追加して、調節点を定義する。
UFOの最大の特徴は、定義されていないXMLのタグや属性をユーザーが定義することができることである。これを利用して、上記の段階(520)と段階(530)でシステムに必要なデータをUFOのコードに追加しパーシングして使用することができる。
以下では、説明の便宜のため、アウトラインフォントをUFOと仮定して説明する。しかし、本発明がこれに限定されるものではない。
そして、本発明の一実施例によれば、段階(520)で追加されるメタフォントのための属性は以下の表1のように表現でき、これは、図7に示されるUFOコードの「point」タグ内に含まれる。
Figure 2019528485
具体的にメタフォントは、アウトラインフォントとは異なり、手で文字を書くように文字の骨組みを描いた後、ペンを骨組みの流れに沿って移動しながら文字を描く方式である。したがって、アウトラインフォントで修正するのが難しい文字の太さを、メタフォントでは、骨組みを満たすペンの太さを調節する関数を利用して容易に変形することができる。この時、ペンの太さを調節する関数を使用するために、ペンの両端を定義しなければならない。即ち、UFOに存在する点をペンの両端に合わせてペアで結ぶ作業が必要であり、このために、第1の属性(penPair)が使用される。第1の属性(penPair)は、アウトラインを構成するための点のうち2つの点をペアで指定するための属性であり、必須的に追加される属性である。ここで、既にUFOに存在するタグである「point」に「penPair」という属性を追加し、2つの点がペアであるとの情報を得て太さを調節することができる。
そして、メタフォントは、アウトラインを結んで生じた内部領域を満たす時や空ける時に使用する関数が異なり、このために、第2の属性(innerType)が使用される。即ち、第2の属性(innerType)は、アウトラインの開始点に明示され、アウトラインの内部領域を満たすか否かを指定するための属性であり、これは必須的に含まれる属性である。
また、第3の属性(dependX(Y))は、予め位置座標が設定された点Aの位置座標に依存して点Bの位置座標を変化させるための属性であり、第4の属性(serif)は、点のセリフを設定するための属性であって、これは選択的に含まれる属性である。
この他にも本発明は、ユーザーが特定の点の位置を共通に変化させることができるようにするカスタムパラメータ属性を提供し、これを利用してユーザーは、自分が必要とする部分をパラメータ化することができる。
以下では、図8及び図9を参照して、メタフォントのための属性を詳細に説明する。
図8は、本発明の一実施例で、中間コード(MetaUFO)の一例を示す図面である。即ち、図8の(a)では、書記素「ト」を表現するためにUFOにメタフォントのための属性が追加された中間コードを示しており、図8の(b)では、図8の(a)に示された中間コードを絵で示している。そして、図8の(c)では、図8の(a)及び(b)を通じて生成されたメタフォントの書記素「ト」(セリフを含む)を示している。
図8を参照すると、UFOコード内の「point」タグに「penPair」(第1の属性)が追加される。ここで、「zNl」と「zNr」を通じて2つの点がペアで結ばれることを確認することができる。この時、「l」は左側の点を、「r」は右側の点を表現する記号であり、「zN」でNの数値を利用して2つの点をペアに結ぶ。つまり、「z1l」と「z1r」が一つのペアに結ばれ、「z2l」と「z2r」が一つのペアに結ばれ、「z3l」と「z3r」が一つのペアに結ばれ、「z4l」と「z4r」が一つの相に結ばれる。
また、UFOコード内の「point」タグに「innerType」(第2の属性)が追加される。この時、書記素「ト」のアウトラインの内部領域を満たすものであるため、最初の「point」タグ内に「innerType」が「fill」に設定される。
そして、UFOコード内の「point」タグに「dependX」(第3の属性)が追加される。一例として、4番目の「point」のタグでは「z3r」が定義されるが、「z3r」は、予め位置座標が設定された点である「z2r」のx軸座標である「x2r」に依存して、その点の太さの変化量だけ自分の位置を移す。
他の一例として、7番目の「point」のタグでは「z3l」が定義されるが、「z3l」は、予め位置座標が設定された点である「z1r」のx軸座標である「x1r」に依存して、その点の太さの変化量だけ自分の位置を移す。即ち、「z3l」と「z3r」は、それぞれ「z1r」と「z2r」のx軸座標に依存して、「z1r」と「z2r」のx座標の変化量だけ共に動いて、直線が一の形状を維持するように設定する。
また、UFOコード内の「point」タグに「serif」(第4の属性)が追加される。即ち、縦画の両端(z1l、z2l)にセリフを追加する。この時、セリフは出力フォント生成部(430)に生成されるメタフォントによるフォントの該当する位置でセリフが表現される。
一方、本発明の一実施例によると、出力フォント生成部(430)は、上述したように中間コード(MetaUFO)をパーシングして得た点の情報を利用して、メタフォントによるフォントを生成する。この時、出力フォント生成部(430)は、パイソンで具現されることができ、パイソンで提供するライブラリであるXML パーサー(Parser)を利用して、中間コード(MetaUFO)をパーシングすることができる。また、出力フォント生成部(430)は、パーシングを通じて得たデータをメタフォントにおいて必要なデータに計算し、メタフォントコードを作成する。また、ユーザーが追加したメタフォントの属性に該当する関数を呼び出して追加処理する。そして、ユーザーに文字のスタイルの変化のために提供する14個のパラメータを適用してメタフォントコードを生成する。このパラメータは、必要に応じて追加または削除されることができる。
また、ハングルはローマ字とは異なり、音節の構成によって分けられる初声、中声、そして終声を組み合わせて表現される。したがって、出力フォント生成部(430)は、ファイルで保存された初声、中声、終声に必要な書記素を呼び出して文字を生成することができる。このため、出力フォント生成部(430)は、パーシングを通じて得たデータを利用して、現在処理するファイルが書記素または書記素を呼び出す文字であるかを判別し、それに応じて対応するルーチンを実行することができる。
この時、現在処理するファイルが書記素を呼び出す組合せ型文字である場合、出力フォント生成部(430)は、参照する書記素を判別し、該当する書記素を呼び出すメタフォント関数と共に、それぞれの書記素のみに適用されるパラメータを共に生成する。また、出力フォント生成部(430)は、文字の全体のスタイルに影響を与える文字の幅、高さ、そして傾きのパラメータを適用してコードを生成する。
また、現在処理するファイルが書記素である場合、出力フォント生成部(430)は、パーシングによって得た点の情報を利用して、文字をメタフォントに表現する。メタフォントで文字を表現するために、出力フォント生成部(430)は、まず基準点を定義し、二つの点を結んでいる一対に対して太さを定義した後、調節点を定義した後、曲線を描く関数を使用して文字を表現する。したがって、このような方法でパーシングして得たデータを利用して、出力フォント生成部(430)は、コードを作成し、文字に影響を与える様々なパラメータを適用する。
そして、上述したように、UFOは、文字のアウトラインを3つの方式、即ち、直線、4つの点で構成されるキュービック(Cubic)曲線及び3つの点で構成されるカドラティック(Quadratic)曲線で表現する。この時、UFOのコード及び中間コード(MetaUFO)は、Cubic曲線とQuadratic曲線の両方を表現することができるが、メタフォントのコードは、Cubic曲線のみ表現することができる。したがって、本発明の出力フォント生成部(430)は、以下の数式1を利用して、中間コード(MetaUFO)でのQuadratic曲線をメタフォントでのCubic曲線に変換するコードを生成することができる。
Figure 2019528485
ここで、CP0及びCP3は、Cubic曲線のための4つの点のうち2つの基準点、CP1及びCP2は、Cubic曲線のための4つの点のうち2つの調節点、QP0及びQP2は、Quadratic曲線のための3つの点のうち2つの基準点、QP1は、Quadratic曲線のための3つの点のうち1つの調節点をそれぞれ意味する。
そして、Quadraticベジェ曲線は、2次式であるため、図9の(a)に図示されたように始点P0と終点P2、そして1つの調節点であるP1が必要である。より複雑な曲線は、図9の(b)のようにQuadraticベジェ曲線(P0、P1、P2)と(P2、P3、P4)を連結するように複数の曲線を連結して表現する。また、ほとんどのフォント形式では、連結された複数のQuadraticベジェ曲線を一つの曲線のように表現する。即ち、図9の(c)のように連続した曲線の二つの調節点の間にある基準点は省略し、始点、終点、そして二つの調節点で表現することができる。連結された曲線は、一つの基準点を共有するため、基準点に対して同じ接線の傾き値を有しており、二つの曲線を微分して生成された式にP2の値を代入すると、同じ値を有する。この式を計算するとP2はP1とP3の中間点であることを知ることができる。したがって、図8の(c)のように連続した曲線の二つの調節点の間にある基準点は省略しても曲線を表現することができる。
本発明では、Quadratic曲線方式とCubic曲線方式で表現されたアウトラインフォントの曲線表現をメタフォントにすべて表現できるようにCubic曲線に変換する機能を含む。これらの動作は、出力フォントの生成部(430)によって行われる(段階(530))。
要するに、本発明は、アウトラインフォントの一つの形式であるUFOのメタフォント属性を適用してメタフォントコードを生成することによって、新しいフォントを生成する。既存のアウトラインフォントは、文字の太さやスタイルの変化が自由ではなかったが、メタフォントは、パラメータを利用して、スタイルを自由に変形させることができる。したがって、太さのようなスタイルの変化に応じて複数で製作されて提供される必要があったアウトラインフォントの「フォントファミリ」がなくても、基本的なアウトラインフォント一つでメタフォントコードを生成して、ユーザーが調節するパラメータに合わせて自由に太さを調節することができる。また、ハングルの特性に合わせて提供するパラメータを利用して、様々な形状の文字を生成することができる。
また、本発明の実施例は、多様なコンピュータ手段を通じて行われることができるプログラム命令形態に具現され、コンピュータで読み取り可能媒体に記録されることができる。コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独にまたは組み合わせて含むことができる。この媒体に記録されるプログラム命令は本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知されて使用可能なものであることもできる。コンピュータで読み取り可能記録媒体の例としては、ハードディスク、フロッピーディスク、及び磁気テープのような磁気媒体(magnetic media)、CD−ROM、DVDのような光記録媒体(optical media)、フロプティカルディスク(floptical disk)のような磁気−光媒体(megneto−optical media)、及びロム(ROM)、ラム(RAM)、フラッシュメモリなどのような、プログラム命令を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例としては、コンパイラにより作成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータにより実行可能な高級言語コードを含む。ハードウェア装置は本発明の一実施例の動作を行うために一つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。
上述したように、本発明の具体的な構成要素を、実施例及び図面によって説明した。これは全般的な理解を容易にするために提供されたもので、本発明はこの実施例に限定されるものではない。通常的な知識を有するなら、このような記載から多様な修正及び変形が可能である。
400 フォント生成装置
410 入力部
420 中間コード生成部
430 出力フォントの生成部

Claims (7)

  1. プロセッサが含まれた装置において遂行されるメタフォントによるフォントを生成する方法であって、
    XMLで記述されたアウトラインフォントのコードに前記メタフォントのための属性を追加して、中間コードを生成する段階(a)と、
    前記中間コードをパーシングして得た点の情報を利用して前記メタフォントによるフォントを生成する段階(b)と、
    を含むことを特徴とするフォントの生成方法。
  2. 前記メタフォントは、属性に、アウトラインを構成するための前記パーシングして得た点のうち2つの点をペアに指定するための第1の属性と、アウトラインの内部領域を満たすか否かを指定するための第2の属性と、を含むことを特徴とする請求項1に記載のフォントの生成方法。
  3. 前記メタフォントの属性は、予め位置座標が設定された点Aの位置座標に依存して点Bの位置座標を変化させるための第3の属性、及び点のセリフを設定するための第4の属性のうち少なくとも一つをさらに含むことを特徴とする請求項2に記載のフォントの生成方法。
  4. 前記アウトラインフォントは、UFO(Unified Font Object)であり、
    前記メタフォントのための属性は、前記UFOのコード内の「point」タグ内に含まれることを特徴とする請求項3に記載のフォントの生成方法。
  5. 前記アウトラインフォントのコード及び前記中間コードは、4つの点で構成されるキュービック(Cubic)曲線、及び3つの点で構成されているカドラティック(Quadratic)曲線を表現することができ、前記メタフォントのコードは、前記キュービック曲線のみを表現することができ、前記段階(b)は、下記の数式を利用して前記中間コードでのカドラティック曲線を前記メタフォントでのキュービック曲線に変換することを特徴とする請求項1に記載のフォントの生成方法。
    Figure 2019528485
    ここで、CP0及びCP3は、前記4つの点のうち2つの基準点であり、CP1及びCP2は、前記4つの点のうち2つの調節点である。
    QP0及びQP2は、前記3つの点のうち2つの基準点であり、QP1は、前記3つの点のうち1つの調節点である。
  6. 請求項1乃至5のいずれか一項に記載の方法を遂行するプログラムをコンピュータで読み取り可能に記録したことを特徴とする記録媒体。
  7. メタフォントによるフォントを生成する装置であって、
    XMLで記述されたアウトラインフォントのコードに前記メタフォントのための属性を追加して、中間コードを生成する中間コード生成部と、
    前記中間コードをパーシングして得た点の情報を利用して前記メタフォントによるフォントを生成する出力フォント生成部と、
    を含むことを特徴とするフォントの生成装置。
JP2019521360A 2017-01-26 2017-03-06 フォントの生成方法及びその方法を記録した記録媒体並びにフォントの生成装置 Pending JP2019528485A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2017-0012703 2017-01-26
KR1020170012703A KR101905300B1 (ko) 2017-01-26 2017-01-26 외곽선 폰트를 이용하여 metafont에 의한 폰트를 생성하는 장치 및 방법
PCT/KR2017/002365 WO2018139700A1 (ko) 2017-01-26 2017-03-06 외곽선 폰트를 이용하여 metafont에 의한 폰트를 생성하는 장치 및 방법

Publications (1)

Publication Number Publication Date
JP2019528485A true JP2019528485A (ja) 2019-10-10

Family

ID=62979363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521360A Pending JP2019528485A (ja) 2017-01-26 2017-03-06 フォントの生成方法及びその方法を記録した記録媒体並びにフォントの生成装置

Country Status (5)

Country Link
US (1) US11036917B2 (ja)
JP (1) JP2019528485A (ja)
KR (1) KR101905300B1 (ja)
CN (1) CN109478200B (ja)
WO (1) WO2018139700A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021092771A (ja) * 2019-12-09 2021-06-17 ファウンデーション オブ スンシル ユニヴァーシティ インダストリー コーポレーション 部分文字スタイル変更が可能なフォント生成装置および方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443466B2 (en) * 2020-08-05 2022-09-13 Kyocera Document Solutions Inc. Image forming apparatus that randomly processes outline data in association with a character code to render a character in different forms, image forming method including randomly processing outline data in association with a character code to render a character in different forms, and non-transitory computer readable recording medium that records an information processing program that realizes the image forming method including randomly processing outline data in association with a character code to render a character in different forms

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3021547B2 (ja) * 1989-09-29 2000-03-15 セイコーエプソン株式会社 文字パターン発生方法
KR100539056B1 (ko) 2001-07-12 2005-12-27 (주)네오퍼스 폰트의 손실 압축 및 저장 방법
KR100497390B1 (ko) * 2003-04-01 2005-06-23 삼성전자주식회사 벡터 폰트 생성방법 및 장치
US7821515B2 (en) * 2007-06-27 2010-10-26 Monotype Imaging Inc. Method for automatic font character height restriction
JP2010111088A (ja) * 2008-11-10 2010-05-20 Seiko Epson Corp 画像形成装置
JP5335392B2 (ja) * 2008-12-05 2013-11-06 キヤノン株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US20130155098A1 (en) * 2011-12-19 2013-06-20 Monotype Imaging Inc. Adjusting Fonts for Visual Consistency
US20140362104A1 (en) * 2013-06-11 2014-12-11 Microsoft Corporation Layered z-order and hinted color fonts with dynamic palettes
KR101342730B1 (ko) * 2013-08-07 2013-12-19 (주)정글시스템 폰트의 굵기를 가변적으로 제어하는 시스템 및 방법
KR102099313B1 (ko) * 2015-05-12 2020-05-15 주식회사 윤디자인그룹 아트 폰트를 생성하기 위한 방법, 장치 및 이를 수행하는 프로그램
US10019415B1 (en) * 2015-08-28 2018-07-10 Animoto Inc. System and method for consistent cross-platform text layout
US10347016B2 (en) * 2016-01-12 2019-07-09 Monotype Imaging Inc. Converting font contour curves

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021092771A (ja) * 2019-12-09 2021-06-17 ファウンデーション オブ スンシル ユニヴァーシティ インダストリー コーポレーション 部分文字スタイル変更が可能なフォント生成装置および方法
JP7154633B2 (ja) 2019-12-09 2022-10-18 ファウンデーション オブ スンシル ユニヴァーシティ インダストリー コーポレーション 部分文字スタイル変更が可能なフォント生成装置および方法

Also Published As

Publication number Publication date
KR20180088087A (ko) 2018-08-03
US11036917B2 (en) 2021-06-15
US20200327276A1 (en) 2020-10-15
KR101905300B1 (ko) 2018-10-05
WO2018139700A1 (ko) 2018-08-02
CN109478200B (zh) 2023-08-04
CN109478200A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
Quint Scalable vector graphics
US11216253B2 (en) Application prototyping tool
JP6713141B1 (ja) レイアウト解析方法、読書補助装置、回路及び媒体
CN108984172B (zh) 一种界面文件的生成方法及装置
WO2020103245A1 (zh) 字体渲染方法、装置及计算机可读存储介质
US9152619B2 (en) System and method for constructing markup language templates and input data structure specifications
EP2608056A1 (en) Creating HTML/CSS representations of a geometric symbol
CN111459501A (zh) 基于SVG的Web组态画面存储与展示系统和方法及介质
JP2005044279A (ja) 帳票処理方法、帳票処理プログラム、帳票処理装置
US10061752B2 (en) Method and apparatus for generating a font of which style is changeable
CN114820881A (zh) 图片的生成方法、智能终端及其计算机可读存储介质
JP2015228021A (ja) マンマシンインターフェースのグラフィック表示用の文字列の処理技術
KR101229175B1 (ko) 자필 폰트 생성 방법 및 장치
US11868790B2 (en) One-to-many automatic content generation
JP2019528485A (ja) フォントの生成方法及びその方法を記録した記録媒体並びにフォントの生成装置
JP2016522464A (ja) 印刷可能文書ビューア最適化のためのシステムおよび方法
CN111367514B (zh) 页面卡片的开发方法和装置、计算设备和存储介质
US20200210518A1 (en) Systems and/or methods for dynamic layout design
CN106776527A (zh) 电子书数据的显示方法、装置及终端设备
KR102329116B1 (ko) 부분 글자 스타일 변경이 가능한 폰트 생성 장치 및 방법
KR20040090867A (ko) 그레비티 레이어 방식을 이용한 xsl 스타일 시트의자동 생성 방법
CN106598934A (zh) 电子书数据的显示方法、装置及终端设备
JP2020166668A (ja) ネイティブアプリケーション開発支援プログラム
van de Vooren et al. Improving the efficiency of SVG in iTasks using deltas
Luthfiasari et al. Fluid Geometric: An Experimentation of Designing Flexible Multi-Style Typeface Using Variable Font

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200512

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200609