JP6298422B2 - マンマシンインターフェースのグラフィック表示用の文字列の処理技術 - Google Patents

マンマシンインターフェースのグラフィック表示用の文字列の処理技術 Download PDF

Info

Publication number
JP6298422B2
JP6298422B2 JP2015093827A JP2015093827A JP6298422B2 JP 6298422 B2 JP6298422 B2 JP 6298422B2 JP 2015093827 A JP2015093827 A JP 2015093827A JP 2015093827 A JP2015093827 A JP 2015093827A JP 6298422 B2 JP6298422 B2 JP 6298422B2
Authority
JP
Japan
Prior art keywords
character
characters
string
path object
path
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.)
Active
Application number
JP2015093827A
Other languages
English (en)
Other versions
JP2015228021A (ja
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 JP2015228021A publication Critical patent/JP2015228021A/ja
Application granted granted Critical
Publication of JP6298422B2 publication Critical patent/JP6298422B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、マンマシンインターフェースのグラフィック表示用の文字列の処理技術に関する。具体的には、コンピュータで実行される、マンマシンインターフェースのグラフィック表示用の文字列の処理方法について詳細に記載される。
ベクタ形式(Vector graphics)は、二次元又は三次元の対象物のグラフィック表示において、これまで重要な役割を果たし続けている。ベクタ形式は、ラスタ形式の場合において習慣的な、表示される対象物の各ピクセルに対する明度の詳細な記述の代わりに、表示される複数の対象物の数学的記述に基づいている。複数の対象物のグラフィック表示の様式(例えば、塗りつぶし、線の太さ等)は、ベクタ形式においては複数の対象物に割り当てられることができる複数の属性によって定義される。例えば、「円」によって構成される対象物は、単に円の中心と円の半径を定義することによって独自に記述されることができる。さらに、例えば、外郭線の太さ、外郭線の色、塗りつぶし色等の属性の詳細な記述を通して、対象物がどのようにグラフィック表示されるか(すなわち、「レンダされる」か)が定義されることができる。
ラスタ形式に対するベクタ形式の利点は、グラフィック表示対象物が処理しやすく、容量の観点から扱いやすい一組のデータによって記述されうるという事実にある。その結果として、プロセッサリソースとメモリリソースが節約される。ベクタ形式のオブジェクトは、さらに、段階なく、かつ損失のない方法で拡大縮小されることができ、視覚による出力媒体の解像度に依存しない。その結果、ベクタ形式に基づくオブジェクトは、より迅速に、より高い品質で表示されることができる。
ベクタ形式は、二、三の例を挙げるならば、魅力的なユーザーインターフェース(マンマシンインターフェース)を実現する目的のために、モバイルエンターテイメントアプリケーションの実現の目的のために、ナビゲーションアプリケーションのために、又はwebブラウザの分野において使用される。しかし、二次元のベクタ形式はまた、文字、文字列、又はテキストのグラフィック表示にも利用される(テキストレンダリングとも呼ばれる)。テキストレンダリングにおいて、最近のアプリケーションはいわゆるオンラインフォントに頼っている。オンラインフォントは、複雑な複数の位置ベクトルの集合としてグリフの輪郭(outline)(外郭(contour)とも呼ばれる)を表し、その位置ベクトルの集合は、複数の直線と弧を示すのに加え、複数のベジエ曲線とスプラインも示すことができる。この関連において、文字の具体的な外観(見かけ)が「グリフ」によって定められる。そのようなオンラインフォントの例としては、True Typeフォント、すなわち略してTTF、diverse PostScriptフォント、又はOpenTypeフォントがある。
複数の文字及びテキストのグラフィック表示が最近のマンマシンインターフェースの能力に大きな影響を与えうることが注意されるべきである。この関連において、文字表示の品質と速度は採用される表示処理に大きく依存する。
本発明の目的は、マンマシンインターフェースの複数の文字又は文字列のグラフィック表示をさらに改善する方法を明らかにすることである。
本発明の第一の態様によれば、コンピュータで実行される、マンマシンインターフェースのグラフィック表示用の文字列の処理方法が利用可能とされ、文字列の各々の文字はフォントライブラリの中に保存されたグリフによって表され、各々の文字に割り当てられたグリフが当該文字に対して少なくとも一つの輪郭を定め、その方法は、フォントライブラリから、少なくとも文字列の各々の文字の輪郭を検索する工程と、複数の検索された輪郭に基づいて、少なくとも文字列の全ての文字の輪郭を含み、文字列を表す単一のパスオブジェクトを生成する工程と、パスオブジェクトのグラフィック表示の目的のために、パスオブジェクトをグラフィックインターフェースに転送する工程を有している。
各々の文字は、グリフとしてフォントライブラリの中に保存されてもよい。フォントライブラリを通して、FreeTypeが(又はiTypeも)使用されてもよい。グリフは文字の具体的な外観を表してもよい。具体的には、グリフは文字がどのようにグラフィック表示されるか(レンダされるか)を表してもよい。
グラフィック表示に対して、ベクトルフォントが使用されてもよい。具体的には、グリフが少なくともその輪郭の指定によって記述される輪郭フォントが使用されてもよい。輪郭は、文字に割り当てられたグリフの外郭を表していてもよい。輪郭はベクトルデータによって数学的に記述されることができる。この場合、輪郭は少なくとも一つの閉じた(及び/又は、開いた)径路によって記述されることができる。径路はベクトルに基づく(閉じた、及び/又は、開いた)線又は形を表してもよい。各々の径路は、お互いに区分により結合されることができる一連の点を通して定義されてもよい。それらの複数の点は、二次元の座標系において(点の座標を定義することによって)定義されてもよい。上記の区分は、複数の直線、弧、ベジエ曲線、及び/又はスプラインを表してもよい。
生成されたパスオブジェクトは、表示される文字列の全ての文字の輪郭を記述する全ての径路を有してよい。換言すれば、生成されたパスオブジェクトは、文字列の文字に割り当てることができるグリフの全ての輪郭を有してよい。その結果、表示される文字列は単一のパスオブジェクトによって表されることができる。その結果、グラフィック表示用の分かれたパスオブジェクトが、文字列の各々のグリフについてそれぞれ生成されることはない。
さらに、パスオブジェクトは視覚による外観をさらに定義する属性の情報(例えば、塗りつぶし色、塗りつぶしパターン、外郭線、外郭の色等のような)を含んでよい。パスオブジェクトは、その結果、表示対象物の視覚による外観を定めるために必要な全てのベクトルデータを有してよい。
単一のパスオブジェクトのみが、表示される文字列に対して生成されるので、この一つのパスオブジェクトのみがグラフィック表示の目的のために、グラフィックインターフェースへ転送されることができる。表示される文字列は、その結果として、単一のオブジェクトとしてグラフィックインターフェースへ転送され、さらに処理されることができる。グラフィックインターフェースは次に、視覚による出力部で表示されることができる像データを、対象物のベクトルに基づくグラフィックデータから生成するために、公知の方法で、転送されたパスオブジェクトを処理することができる。
パスオブジェクトを生成する工程は、さらに、文字列によって予め定められた一連の文字に対応する複数の検索された輪郭を、単一のパスオブジェクトに組み立てる工程を有していてもよい。文字列によって予め定められた順序の組み立てに続いて、複数の文字を表す複数の輪郭は、隣接する輪郭の間の水平、及び/又は垂直方向の間隔が、適応可能な、及び/又は所望の文字間隔をとるように組み立てられることができる。
パスオブジェクトを生成する工程は、文字列の先行する文字に対する、輪郭の所定の又は計算された位置に関して、文字を表す輪郭の変換(位置の移動)を計算する工程を有してよい。具体的には、どのくらい、及びどの方向に、一つの文字に対する各々の輪郭の一区分(径路の一区分)が先行する文字の輪郭に関連して変位されるかを示す変換ベクトルが計算される。輪郭の位置(又は輪郭を記述する径路の位置)は、所定の相対的、又は絶対的な座標系に関して定義されることができる。パスオブジェクトを生成する工程はその結果、複数の文字を表す複数の輪郭の位置の再計算を含んでよい。前記生成する工程は、さらに、単一のパスオブジェクトを形成するために、再計算された複数の輪郭の結合を含んでよい。そして、生成されたパスオブジェクトは、文字列の、全ての再計算された輪郭(径路の複数の区分)を有してよい。
変換又は各々の文字の輪郭に対する変換ベクトルの計算は、個々の先行する文字(先行する文字の輪郭)に基づいて連続的に計算されることができる。
グリフは、さらに、一つの輪郭に対して、少なくとも、高さ、幅、オフセット、カーニング、及び/又は輪郭の座標点(例えば、開始点)に関する情報についてのデータ項目を定めてもよい。カーニングの情報を通して、他の文字との間隔がそれらのグラフィック表示に依存して定義されることができる。この情報は、例えば、二つの連続する文字の間で異常に大きな間隔があくことや、又は合字になることを避けるために利用されることができる。これらの情報のデータ項目の少なくとも一つが、文字の輪郭の変換の計算において考慮されることができる。例えば、先行する文字の輪郭の幅は、先行する文字に関連して、それに続く文字の水平方向の変換を計算するために考慮されることができる。同様に、文字の高さは、先行する文字に垂直方向に続く文字の垂直方向の変換の計算に取り入れられてよい。その代わりに、高さと幅は、先行する文字に関連して、文字の水平及び垂直方向の対応する変位を生成するために、変換の計算に一緒に取り入れられてよい。
個々のグリフの輪郭の、高さ、幅、オフセット、カーニング、及び座標点に基づいて計算された変換は、1次元又は2次元でよい。1次元の変換は、先行するグリフの輪郭に関連して、グリフの輪郭が一方向のみ(水平又は垂直のどちらか)に変位されることを意味してよい。2次元の変換は、先行するグリフの輪郭に関連して、グリフの輪郭が水平方向と垂直方向の両方に変位されることを意味してよい。
本発明の処理はさらに、パスオブジェクトに対して、統合された一組の属性を定める工程を含んでよい。その結果、有効になる一組の属性は、文字列の全ての文字の視覚的表示を統一的な方法(すなわち、集中方式)で詳細に定義することができる。これの代わりに、文字列の個々の文字の視覚的表示を別々に定義するために、パスオブジェクトに対して、数組の属性を定めてもよい。
これに加えて、又はその代わりに、その処理はさらに、パスオブジェクトに対して、パターン情報又は勾配情報の複数のデータ項目を定める工程を有してよい。パターン情報を通して、文字が表示される際の塗りつぶしのパターンが定義されることができる。勾配情報を通して、定義されたパターン、及び/又は、文字の塗りつぶしが文字列の方向にどのように変更されるかが定義されることができる。
表示される文字列の文字は、任意のアルファベット文字、数字、音節文字、特殊文字、及び/又はそれらの文字の部分を含んでよい。表示される文字列は、単に一文字又は数文字を含むだけでもよい。特に、文字列は、任意の長さ、テキストの一節、幾つかの単語の組み又は集合である前述の複数の文字から組み立てられるテキストを含んでよい。本発明の方法により、テキスト全体、テキストの一節、幾つかの単語の組み又は集合が結果として、単一のパスオブジェクトを形成するためにまとめられ、表示のためにグラフィックインターフェースへそれ自体が転送されることができる。
さらに、上記の方法を実行するためのプログラムコードを有し、コンピュータ装置で実行されるコンピュータプログラム製品が提供される。この関連において、コンピュータプログラム製品は、コンピュータで読み取り可能な記録媒体に格納されてもよい。
さらなる態様によれば、マンマシンインターフェースのグラフィック表示用の文字列の処理モジュールが提供され、文字列の各々の文字はフォントライブラリの中に保存されたグリフによって表される。この場合、各々の文字に割り当てられたグリフは、少なくとも文字の輪郭に関する情報についてのデータ項目を定める。そのモジュールは、フォントライブラリから、少なくとも文字列の各々の文字の輪郭を検索し、複数の検索された輪郭に基づいて、少なくとも文字列の全ての文字の輪郭を含み、文字列を表す単一のパスオブジェクトを生成するように構成されたテキストレンダリングユニットと、生成されたパスオブジェクトをグラフィック表示するように構成されたグラフィックインターフェースを有する。
グラフィックインターフェースは、ハードウエアモジュールとして、ソフトウエアモジュールとして、又はハードウエアとソフトウエアが結合されたモジュールとして設計されてよい。グラフィックインターフェースは、少なくとも一つのグラフィックドライバとグラフィックプロセッサユニット(GPU)を含んでよい。グラフィックドライバは、ベクタ形式のデータ処理(例えば、OpenVG API)に対するプログラミングインターフェース(API)として実行されてもよい。GPUは、視覚による出力部に転送されたパスオブジェクトを、グラフィック表示するためのグラフィック機能を実行することができる。さらに、グラフィックインターフェースは、複数のパスオブジェクトの保存又は一時保存するためのグラフィックメモリを有していてよい。
さらに他の態様によれば、上述のモジュールを有するマンマシンインターフェースが提供される。マンマシンインターフェースは、利用者の命令と入力を受けとり、及び/又は操縦面又はマシンの操作パラメータを詳述するように構成されてもよい。マンマシンインターフェースは、インフォテインメントシステム又はナビゲーションシステムの一部分であってよい。
本発明のさらなる態様、利点、及び詳細が図面を参照して、以下の実施態様の記述から示される。
マンマシンインターフェースのグラフィック表示用の文字列の処理モジュールのブロック図である。 表示される文字列と、ベクトルデータとしての記述を示す図である。 文字列のグラフィック表示方法を示す図である。 文字列のグラフィック表示の別の方法を示す図である。 実施態様による文字列のグラフィック表示方法を示す図である。 本発明による方法を示すフロー図である。 図2(a)に示された文字列によって構成される例に基くパスオブジェクトの生成を示す図である。
本発明は、概要ブロック図及びフロー図を参照して明らかにされるであろう。これらの図の基礎となる技術的な教示は、ハードウエアとソフトウエアの両方で、又はハードウエアとソフトウエアの組み合わせにおいて実行されることができる。そのような実行にはまた、デジタルシグナルプロセッサ(DSP)、特定用途向けIC(ASIC)、及び他のスイッチ又はコンピュータ部品を含む。
以下にマンマシンインターフェースのグラフィック表示用の文字列の処理方法を、OpenVGスタンダードに関連して詳細に記述する。OpenVG(オープンベクタ形式)は、ハードウエアアクセラレーションによる2次元ベクタ形式に対して、Khronosコンソーシアムによって開発された、ベクトルに基づくグラフィックプログラミングインターフェース(アプリケーションプログラミングインターフェース、すなわち略してAPI)である。OpenVGの場合には、抽象化レイヤーとして、アプリケーションプログラムとグラフィックプロセッサユニット(以下では、GPU)の間に置かれ、アプリケーションプログラムのGPUへのリンクを支援する、プラットホームから独立し、プログラミング言語から独立したソフトウエアグラフィックインターフェースが重要である。特に、OpenVGの術語を以下の記載で使用する。文字列のグラフィック表示用にここに記載される方法は、OpenVG API(以下では、OpenVGドライバ)の詳細に依存することなく、むしろ他のベクトルに基づく(自家製の)APIとの関連においても実行されることができることは言うまでもない。
文字列のグラフィック表示に関して、さらに、例えば、TrueTypeフォント、すなわち、略してTTFのようなベクトルフォントが使用される。TTFにおいては、任意の文字がそのグリフの輪郭を通して記述される。輪郭はグリフの外郭を表す。それは、ベクタ形式の命令によって数学的に記述される少なくとも一つの閉じた(及び/又は開いた)、プロットされた線によって表される。OpenVGスタンダードに関連した、文字の輪郭のベクトルによる記述を、再び、図2(a)−(c)を参照してさらに以下に詳細に説明する。
図1を参照して、最初に、ここに記述された方法を実行するのに適したモジュールの実施態様を説明する。そのモジュールは、テキストレンダラ1024とグラフィックインターフェース1010を含む。グラフィックインターフェース1010は、OpenVGドライバ1012とGPU1014を含む。グラフィックインターフェース1010は、任意でグラフィックメモリ1016を含んでもよい。グラフィックインターフェース1010は、視覚による出力部1030と連携する(図1の矢印によって示される)。そのモジュールは、例えば、インフォテインメントシステム、ナビゲーションシステム、又はスマートフォンのようなシステムの中に実装されてもよい。この関連において、ここに記載されるモジュールはシステムの様々なレベル(階層)に置かれてよいことは言うまでもない。例えば、テキストレンダラ1024はアプリケーションレベルで、OpenVGドライバ1012はオペレーティングシステムレベルで、GPU1014はハードウエアレベルで組み込まれてもよい。
テキストレンダラ1024は、フォントライブラリ1022と共にアプリケーションレベルで配置されている。アプリケーションレベルにおいて、例えば、表示される文字列を定めるグラフィックユーザーインターフェース(マンマシンインターフェース)のような、一つ以上のアプリケーション1020が、作動されてもよい。この場合には、文字列は、アルファベット文字、特殊文字、数字、又は音節文字の形式の一つ以上の文字から構成される、文字の任意の集合を有する。特に、ここで使用される「文字列」という術語は、表示される複数のテキスト、テキストの複数の一節、複数の文(センテンス)、又は単語の集合もまた包含する。
フォントライブラリ1022には、様々なベクトルに基づく、及び/又はピクセルに基づくフォントが保存されてよい。本処理については、TrueTypeフォント(TTF)が使用される。TTFにおいては、文字のグリフは、ベクトルデータ(径路データ)の形式でその輪郭(外郭)によって記述される。さらに、大きさ(高さ、幅)に関する情報のデータ項目、オフセット情報(左側オフセット、上側オフセット)のデータ項目、及び各々のグリフのカーニングがTTFにおいて定められる。フォントライブラリ1022を通して、エイリアスの中に、TTFフォーマットをサポートするFreeType(又は、iTypeも)の使用がなされてもよい。
テキストレンダラ1024は、各々の文字の輪郭を(フォントライブラリ1022から)検索し、検索された輪郭に基づいて、少なくとも一つのパスオブジェクトを生成するように構成される。少なくとも一つのパスオブジェクトが、さらなる処理のために、グラフィックインターフェース1010に転送される。少なくとも一つのパスオブジェクトの具体的な生成が、図3から図5に関連してより詳細に明らかにされるであろう。さらに、図3と図4に関連してより詳細に明らかにされるように、本発明の文字を表示する方法においては、パスオブジェクトが、表示される文字列の各々の文字に対して生成される。OpenVGにおいては、各々のベクタ形式がパスオブジェクトである。「パスオブジェクト」によって、オブジェクトは、ベクトルデータによって記述される視覚的外観の意味を持たされる。このことは、表示される文字に対して生成されるパスオブジェクトが、文字の輪郭を記述する複数の径路(ベクトルデータの形式において)はもちろん、具体的には、文字がどのように視覚的に表示されるかを定義する属性のデータをも含むことを意味する。属性のデータは、例えば、外郭の具体的な表示(幅、破線で示された外郭、色)、(閉じた)外郭によって定義される表面の具体的な塗りつぶし等を含んでよい。
グラフィックインターフェース1010は、さらに、その中で実行されるレンダリングパイプラインに応じて定められる複数の径路と属性に基づいてパスオブジェクトを処理するように構成される。レンダリングパイプラインは、GPU1024の中で実行されるグラフィック処理の工程がパスオブジェクトをレンダするために、すなわち、視覚による出力部1030での表示用の対応する像データを生成するために適用される順序を定義する。GPU1014の適合と駆動が、この場合は、OpenVGドライバ1012を通して行われ、OpenVGドライバはアプリケーション1020とGPU1014の間のインターフェースとして作用する。特に、OpenVGドライバ1012は、グラフィック対象物の表示を加速する、複数のグラフィック機能を実行する。
そして、GPU1014において生成された像データは、視覚表示のために、視覚による表示部1030へ出力される。出力部1030は、(接触感応の)ビデオスクリーン又はプロジェクタとして実現されてもよい。
グラフィックメモリ1016は、さらにGPU1014によって処理されるグラフィックデータ(パスオブジェクトデータ)を一時的に保存するように構成される。
図2(a)−(c)を参照して、文字のベクトルによる記述を、OpenVGスタンダードの枠組みの中でより詳細に説明する。図2(a)は、四つの文字、「T」、「E」、「X」、及び「T」から構成され、黒の塗りつぶし(filling)で表される、表示対象の文字列「TEXT」を示している。塗りつぶしは、一つの属性によって容易に定義されることができ、これに応じてグラフィックインターフェース1010によって描画されることができる。その結果、単に、個々の文字の輪郭がフォントライブラリ1022から検索されねばならないだけである。個々の文字「T」、「E」、「X」、及び「T」の輪郭が図2(b)に示されている。
そして、テキストレンダラ1024とOpenVGドライバ1012を用いて、文字列「TEXT」の各々の文字に対して、文字の視覚による外観を記述する、少なくとも一つのパスオブジェクトが、検索された輪郭と定義された属性に基づいて生成される。OpenVGは、対象物の視覚による外観を定義するために、複数の属性を定める。そのような様式の属性は、例えば、対象物の塗りつぶし(塗りつぶしの色、塗りつぶしの勾配、塗りつぶしのパターン)、複数の径路の表示(径路上の点の数、区分の連結の様式、径路の幅、区分終結の型)等に関連付けられる。
図2(c)は、ベクトルに基づく文字の記述がOpenVGのもとでどのように行われるかを、文字「T」に対しての典型的な方法で示すものである。上述のように、グリフの輪郭は少なくとも一つの閉じた径路(プロットされた線)によって記述される。径路は、複数の点(2次元の座標点)とそれらの点を結んだ径路の区分によって記述される。径路の区分は、対応するベクタ形式の命令によって、OpenVGにおいて記述される。具体的には、文字「T」は、OpenVGの複数の命令である下記の配列によって記述されることができる。
(1)move to(10,10),
(2)line to(10,20)
(3)line to(30,20)
(4)line to(30,80)
(5)line to(40,80)
(6)line to(40,20)
(7)line to(60,20)
(8)line to(60,10)
(9)line to(10,10).
この関連において、「move to(x,y)」という命令は、2次元の座標系における開始点(及びその結果としての輪郭全体)の初期の変位を定義し(図2(c)の矢印1を参照)、それによって、変換された座標値(x,y)が両方の次元(座標)における変位の程度を定義する。そして、輪郭の具体的な形状が、命令の列(2)−(9)を通して決定される。「line to(10,20)」という命令が、例えば、座標点(10,10)と(10,20)の間の輪郭の径路区分を直線として定義する。同様に、それに続く複数の「line to(x,y)」という命令が、二つの連続する座標点の間の、文字「T」の輪郭の直線の区分を、各々の場合において記述する。複数の区分が、図2(c)において、対応する矢印によって表されており、上述の番号を付けた配列が複数の矢印に割り当てられている。この関連において、各々の場合で、先行する径路区分の終点又は輪郭の開始点(「move−to」命令)が径路区分の開始点として定義されたので、終点の座標が単に「line to(x,y)」という命令に変換されるだけである。上述の複数の命令の配列によって、文字「T」の輪郭を定義する閉じた径路が連続的に生成されることができる。OpenVGでは、直線の区分の表示に加えて、2次又は3次の曲線の区分の表示も可能である。これらは、「quad to」又は「cubic to」という命令によって記述される。結局、OpenVGにおいては、任意の文字の輪郭を記述するための径路が、径路命令(パスインストラクション)の配列によって記述されることが強調されてもよい。そして、(1)−(9)の命令列に定義された径路情報は、文字「T」をグラフィック表示するために、(属性情報のさらに他のデータ項目と共に)使用される。残りの文字「E」、「X」、及び「T」も同様にして記述されることができる。
ここで、図3から図5を参照して、OpenVGドライバ1012を用いて文字列を処理する方法を説明する。OpenVGは、ビットマップデータとベクトルデータを処理することができる。例えば、図2(a)に示された文字列「TEXT」のような文字列のグラフィック表示の目的のために、二つの公知の文字表示方法があり、それらは図3及び図4において、簡潔に明らかにされるであろう。
最初に図3を参照する。テキストレンダラ1024、フォントライブラリ1022、OpenVGドライバ1012、及びGPU1014の一般的な機能は、既に図1との関係において説明された。この文脈において、図1についての記載が参照される。図3は、テキストレンダラ1024、フォントライブラリ1022、OpenVGドライバ1012、及びGPU1014が、アプリケーション階層、オペレーティングシステム(OS)階層1000、及びハードウエア階層1005での分担に対応する方法において表される点で主に図1と異なっている。
図3に示される方法は、ベクトルに基づいて文字列を表示する方法であり、その方法においては、表示される文字列の各々のグリフの輪郭(すなわち、径路データ)がフォントライブラリから検索され、そして、各々の文字のパスオブジェクトがグラフィック表示の目的のために生成される。
具体的には、テキストレンダラ1024は、文字列「TEXT」の各々の文字に対して、フォントライブラリ1022から対応するグリフの輪郭を呼び出す。次に、表示される各々の文字に対して、テキストレンダラ1024は、呼び出された輪郭に基づいてパスオブジェクトを生成し、グラフィック表示の目的のためにそのパスオブジェクトをグラフィックインターフェース1010へ転送する。グラフィックオブジェクトの生成と転送は、OpenVGドライバ1012への数回の呼び出しによって行われる。最初の呼び出しは、パスオブジェクトを生成する(vgCreatePath)ために行われ、さらなる呼び出しがパスオブジェクトを径路データで満たす(vgAppendPathData)ために行われ、そして、パスオブジェクトを描画するための呼び出し(vgDrawPath)が行われる。そして、GPU1014は、パスオブジェクトデータ(これらは、図2(a)−(c)との関連において上述された、輪郭と属性情報のデータ項目を有する)に基づいて、後に視覚による出力部1030へ提供される、対応する像データを生成する。この手順は、文字列の各々の文字に対して繰り返される。換言すると、文字列「TEXT」の各々の文字に対して、分けられたパスオブジェクトが生成され、OpenVGドライバ1012のレンダリングパイプラインへ転送される。このことは、図3において、OpenVGドライバ1012とテキストレンダラ1024、及びOpenVGドライバ1012とGPU1014の間の4本の矢印によって図式的に示されており、4本の矢印の各々が文字列「TEXT」の文字をそれぞれ表している。さらに、図3においては、簡単のために、上述の3回の呼び出しは、アプリケーション1020とOpenVGドライバ1012の間の各々の文字に対して、1本の矢印によってのみ表されていることに注意が必要である。
図4に示された文字列を表す方法は、ビットマップに基づく方法である。それは、個々の文字に割り当てられたグリフが、輪郭の代わりにビットマップで表される点において、図3に示される方法と本質的に異なっている。テキストレンダラ1024は、各々のグリフに対して、フォントライブラリ1022から対応するビットマップを呼び出す。そして、検索されたビットマップのグリフに基づいて、OpenVGドライバ1012を用いて、テキストレンダラ1024はイメージオブジェクトを生成し、グラフィック表示の目的のために、そのイメージオブジェクトをグラフィックインターフェース1010に転送する。各々のイメージオブジェクトの生成と描画は、OpenVGドライバ1012への数回の呼び出しによって再び行われ、最初の呼び出しはイメージオブジェクトを生成するために行われ、さらなら呼び出しがイメージオブジェクトをビットマップデータで満たすために行われ、さらに他の呼び出しがオブジェクトを描画する目的で行われる。この処理でもまた、文字列の各々の文字に対して、分かれたイメージオブジェクトが生成され、グラフィックインターフェース1010へ転送される。
ここで、図5及び図6を参照して、本発明による、グラフィック表示用の文字列の処理方法を説明する。図5は表示に関係するハードウエアとソフトウエアの相互作用を再度示すものである。OpenVGドライバ1012、GPU1014、及びフォントライブラリ1022の機能に関して、再度、図1の記載が参照される。テキストレンダラ1024aの動作様式が、以下の処理に関連して記述されるであろう。図6は、その処理に対応するフロー図を示すものである。
第一の工程S10において、少なくとも、図式的に表示される文字列の各々の文字に対するグリフの輪郭が、フォントライブラリ1022から検索される。テキストレンダラ1024aは表示される文字列を認識し、その文字列の全ての輪郭が得られるまで、フォントライブラリ1022に対して繰り返し呼び出しを行う。輪郭に加えて、各々のグリフに対してフォントライブラリ1022の中に保存され、文字列のグラフィック表示のために必要とされてもよい、文字についての情報のさらに他のデータ項目も検索されることができる。そのような情報のデータ項目は、例えば、上述したように、各々のグリフの大きさ、オフセット、カーニングに関連している。
そして、第二の工程(S20)において、表示される文字列に対するパスオブジェクトが生成される。このために、テキストレンダラ1024aは、文字の各々の輪郭の変換を決定し、その変換によって輪郭の各々の径路区分を再計算することによって、得られた文字列の全ての輪郭を単一の径路に結合する。複数の輪郭の単一径路への合成(結合)は、文字列「TEXT」に基づいて、図7に例示的な方法で記述される。重要なことは、本発明による処理に従って、テキストレンダラ1024aが一つの径路を形成するため文字列の全ての輪郭を組み立て、文字列全体に対して単一のパスオブジェクトを生成することである。
そして、単一のパスオブジェクトの生成は、空のパスオブジェクトを生成するためのvgCreatePath呼び出しと、そのパスオブジェクトを結合された径路データで満たすためのvgAppendPathDataによって行われる。
第三の工程S30において、文字列に対して生成されたパスオブジェクトは、グラフィックインターフェース1010に転送される。テキストレンダラ1024aは、vgDrawPath呼び出しによってインターフェースへパスオブジェクトを転送する。そして、公知の方法において、GPU1014は得られたデータに基づいて、表示される像の情報を生成する。
本発明の方法によれば、単に一つのパスオブジェクトが表示される文字列の全体に対して生成され、グラフィックインターフェース1010へ転送されるだけである。このことは、図5において、テキストレンダラ1024aとOpenVGドライバ1012の間と、OpenVGドライバ1012とGPU1014の間の単一の矢印で表される。換言すれば、文字列の全体が単一のパスオブジェクトとして表される。その結果、例えば、図3及び図4に関連して記述された方法の場合のように、分かれたパスオブジェクトが各々の文字に対して生成され、表示目的のためにグラフィックインターフェース1010へ転送されることはない。このように、OpenVGドライバ1012とアプリケーション(すなわち、テキストレンダラ1024)の間の呼び出しの回数は大幅に削減されることができる。本発明の方法によれば、図3及び図4に関連して議論された方法よりも(n−1)回少ない「描画呼び出し(draw call)」が、n文字の文字列を表すために必要とされる。パスオブジェクトの生成と描画に対する各々の呼び出しは、リソース(メモリリソース及びプロセッサリソース)を必要とし、それにより、表示能力に影響を与える。ここに記述された方法によって、呼び出しの回数は大幅に削減され、その結果として、グラフィック文字表示の速度は明確に最適化される。
図7において、文字列を表す単一のパスオブジェクトの生成を、文字列「TEXT」に基づいて、再びより詳細に説明する。テキストレンダラ1024aは、フォントライブラリ1022から検索された全ての輪郭を単一の径路に結合するように構成される。この目的のために、複数の文字の輪郭が、文字の並びと、各々の連続する文字の間の、所望の、又は所定の間隔に応じて再計算される。具体的には、輪郭の複数の点がパスオブジェクトの中でどのような座標を取るかを定める、文字を表す各々の輪郭(各々の径路区分)に対する1次元又は2次元の変換が再計算される。輪郭を変換する計算は、先行する輪郭の計算された位置情報に基づいて、一つずつ行われることができる。
水平方向に配置された文字列「TEXT」の例においては、最初に、第一の文字「T」の輪郭が計算される。「T」は表示される最初の文字であるので、輪郭又は複数の径路区間の計算は、他の文字には依存しない。従って、最初の文字「T」の複数の径路区間は、任意のベクトル(「move−to」命令による初期変位)によって変位されることができる。最初の文字「T」の輪郭は、例えば、図2(c)との関連において上述した径路区間(2)から(9)の配列によって記述されることができる。そして、第一の文字「T」の輪郭は、それに続く複数の文字の輪郭と結合される。
二つの連続する文字「T」と「E」の輪郭の結合のために、第一の文字「T」の輪郭に関係して第二の文字「E」の輪郭が、変換ベクトル(図7、矢印10を参照)によって変位される。この場合、水平方向の文字の連結が問題であるから、第二の文字「E」は単に水平方向に変位され、文字「E」の水平方向の開始点は以下の変換規則、

「Starting_Point_of_T+Advance_of_T+kerning of_T_to_E+Starting_Point_of_E」

に応じて計算される。
その結果、所定の変換規則に従い、文字「E」の開始点は、文字「T」の開始点の値によって、文字「T」の先行する値によって、文字「T」のカーニングの値(この値は負になることもある)によって、及び、文字「E」の所定の開始点の値によって変位される。換言すれば、文字「E」の各々の径路区分(すなわち、図7における11−22の径路区分)、及び、結果としての文字「E」の輪郭全体が、上記の変換規則によって定義される変換によって変位される。もし、例えば、最初の文字「T」が、Starting_Point、Advance、及びkerningに対して、それぞれ10、80、及び(−5)の値を取り、第二の文字「E」に対して開始値0が規定であるならば、その時は輪郭「E」に対する再計算された開始値は、以下の式、

start_of_E=(10)+(80)+(−5)+(0)=(85)

に応じて変位される。
文字「E」に対する輪郭の全ての径路区分11−22は、この値だけ変位される。
第二の文字「E」に続く、第三の文字「X」の輪郭の変位は、図7の矢印23によって表されるように、第二の文字「E」の輪郭に対して再計算された座標に依存して、同様に計算される。同様に、文字「X」の輪郭の再計算された位置に続いて、第四の文字「T」の水平方向の変位が、図7における矢印36によって示されるように、計算される。
そして、上記計算アルゴリズムを用いて再計算された複数の輪郭は、単一の径路に結合される。それに対応して、文字列全体に対して、以下の複数の命令の配列からなる単一のパスオブジェクトが生成される。
(1)move to(10,10),
(2)line to(10,20)
(3)line to(30,20)
(4)line to(30,80)
(5)line to(40,80)
(6)line to(40,20)
(7)line to(60,20)
(8)line to(60,10)
(9)line to(10,10)
(10)move to(85,10)
(11)line to(85,80)
(12)line to(135,80)
(13)...(21)
(22)line to(85,10)
(23)move to(160,10)
(24)...(43)
(44)line to(235,10).
配列の行(10)の「move to(85,10)」という命令は、最初の文字「T」がどこで終わり、第二の文字「E」がどこで始まるかを指定する。同様に、配列の行(23)の「move to(160,10)」という命令は、第二の文字「E」がどこで終わり、第三の文字「X」がどこで始まるかを指定する。配列の行(44)の「line to(235,10)」という命令は、第四の文字「T」が、そして、結果として文字列がどこで終わるかを最終的に指定する。その結果、複数のグリフの全ての径路が、グラフィック表示の目的のために、単一のオブジェクトに組み立てられる。
文字列の水平方向の連結(変位)でここに示される例は、単に例示的な文字を有しているだけであるのは言うまでもない。水平方向の変換の代わりに、同様の変換が垂直方向に実行されてもよい。これに加えて、又はこれに代えて、対応する変換が両方向(すなわち、水平方向と垂直方向)に実行されることが考えられる。さらに、一つの文字列を単一のパスオブジェクトとして表すことは、四文字の表示に限定されない。それどころか、OpenVGはパスオブジェクトのサイズに関する制限を規定していないので、任意の長さの文字列又はテキストが、個々の径路として様式化され、単一のパスオブジェクトがその文字列又はテキストに対して生成されることができる。
複数の文字を単一のパスオブジェクトで表されるようにまとめることは、上述のように、呼び出しの回数を削減する。しかし、一つのパスオブジェクトを形成するためにここに記述したまとめる工程は、また、データ削減とオーバーヘッドデータの回避の関連においても多大な利点を有する。例えば、グラフィック文字の視覚による表示の詳細を定義する属性データは、文字列の全体に対してのみ、一度、定義されなければならない。他方、グリフ様式の描画においては、例えば、図3に示される処理の場合のように、各々のグリフに対して、新しいパスオブジェクトを生成する際には、属性データが再び全てにわたって定められねばならない。

Claims (17)

  1. コンピュータで実行される、マンマシンインターフェースのグラフィック表示用の文字列の処理方法であって、
    前記文字列の各々の文字はフォントライブラリの中に保存されたグリフによって表され、前記各々の文字に割り当てられたグリフが当該文字に対して少なくとも一つの輪郭を定め、前記方法は、
    前記フォントライブラリから、少なくとも前記文字列の各々の文字の輪郭を検索する工程と、
    複数の前記検索された輪郭に基づいて、前記文字列の全ての文字の全ての輪郭を含み、前記文字列を表す単一のパスオブジェクトを生成する工程と、
    前記単一のパスオブジェクトのグラフィック表示の目的のために、前記単一のパスオブジェクトをグラフィックインターフェースに転送する工程を有し、
    前記単一のパスオブジェクトを生成する工程は、さらに、前記文字列内の少なくとも一つの先行する文字に基づいて、前記文字の輪郭に対しての変換を計算する工程と、前記計算された変換によって、前記文字の輪郭の全ての経路区分を変位する工程とを含むことを特徴とする方法。
  2. 前記各々の文字の輪郭は、少なくとも一つの径路によって定義され、前記少なくとも一つの径路はベクタ形式の命令によって記述されることを特徴とする請求項1に記載の方法。
  3. 前記文字列を表すパスオブジェクトは、グラフィック表示の目的のために、一つの単位として前記グラフィックインターフェースへ転送されることを特徴とする請求項1に記載の方法。
  4. 前記パスオブジェクトを生成する工程は、前記文字列によって予め定められた一連の文字に対応する前記複数の検索された輪郭を、単一のパスオブジェクトに組み立てる工程を有することを特徴とする請求項1記載の方法。
  5. 複数の前記文字の輪郭は、隣接する文字間の水平及び/又は垂直方向の間隔が所望の文字間隔をとるように組み立てられることを特徴とする請求項4に記載の方法。
  6. 前記文字の輪郭の変換は、各々の前記先行する文字に基づいて連続的に計算されることを特徴とする請求項1に記載の方法。
  7. 前記グリフは、さらに、少なくとも、高さ、幅、オフセット、カーニング、及び前記輪郭の開始点に関する情報についてのデータ項目を定め、前記情報のデータ項目の少なくとも一つが前記輪郭の変換の計算において考慮されることを特徴とする請求項1に記載の方法。
  8. 前記計算された変換は、前記複数の輪郭の1次元又は2次元の変換を表すことを特徴とする請求項1に記載の方法。
  9. さらに、前記パスオブジェクトに対して一組の属性を定め、前記属性が前記文字列の全文字のグラフィック表示を定義する工程を有することを特徴とする請求項1に記載の方法。
  10. さらに、前記パスオブジェクトに対して、パターン情報又は勾配情報の複数の有効なデータ項目を作成し、該複数のデータ項目が所定のパターンに応じて複数の文字のグラフィック表示を定義する工程を有することを特徴とする請求項1に記載の方法。
  11. 表示可能な文字として、アルファベット文字、数字、及び/又は特殊文字を含むことを特徴とする請求項1に記載の方法。
  12. 前記文字列は、複数の単語、複数の数字、複数の単語及び/又は複数の数字の集合、又はテキストの一節を有することを特徴とする請求項1に記載の方法。
  13. 請求項1から請求項12のいずれか一項に記載の方法を実行するためのプログラムコードを有し、コンピュータ装置で実行されるコンピュータプログラム製品。
  14. コンピュータで読み取り可能な記録媒体に格納された請求項13に記載のコンピュータプログラム製品。
  15. マンマシンインターフェースのグラフィック表示用の文字列の処理モジュールであって、
    前記文字列の各々の文字はフォントライブラリの中に保存されたグリフによって表され、前記各々の文字に割り当てられたグリフが当該文字に対して少なくとも一つの輪郭を定め、前記モジュールは、
    前記フォントライブラリから、少なくとも前記文字列の各々の文字の輪郭を検索し、複数の前記検索された輪郭に基づいて、前記文字列の全ての文字の全ての輪郭を含み、前記文字列を表す単一のパスオブジェクトを生成するように構成されたテキストレンダリングユニットと、
    前記生成された単一のパスオブジェクトをグラフィック表示するように構成されたグラフィックインターフェースを有し、
    前記単一のパスオブジェクトを生成することが、さらに、前記文字列内の少なくとも一つの先行する文字に基づいて、前記文字の輪郭に対しての変換を計算することと、前記計算された変換によって、前記文字の輪郭の全ての経路区分を変位することを含むことを特徴とするモジュール。
  16. 前記グラフィックインターフェースは、前記パスオブジェクトをビデオスクリーン上に表示する目的のために、グラフィックドライバとグラフィックプロセッサを有することを特徴とする請求項15に記載のモジュール。
  17. 請求項15に記載のモジュールを有するマンマシンインターフェース。
JP2015093827A 2014-05-06 2015-05-01 マンマシンインターフェースのグラフィック表示用の文字列の処理技術 Active JP6298422B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102014006549.9A DE102014006549B4 (de) 2014-05-06 2014-05-06 Technik zur Verarbeitung einer Zeichenfolge zur graphischen Darstellung an einer Mensch-Maschine-Schnittstelle
DE102014006549.9 2014-05-06

Publications (2)

Publication Number Publication Date
JP2015228021A JP2015228021A (ja) 2015-12-17
JP6298422B2 true JP6298422B2 (ja) 2018-03-20

Family

ID=54336210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015093827A Active JP6298422B2 (ja) 2014-05-06 2015-05-01 マンマシンインターフェースのグラフィック表示用の文字列の処理技術

Country Status (4)

Country Link
US (1) US20150325022A1 (ja)
JP (1) JP6298422B2 (ja)
CN (1) CN105096361A (ja)
DE (1) DE102014006549B4 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3602328A4 (en) * 2017-03-31 2020-10-14 Syngrafii Inc. SYSTEMS AND PROCEDURES FOR EXECUTING AND PROVIDING ELECTRONIC DOCUMENTS
CN111221597A (zh) 2018-11-23 2020-06-02 北京方正手迹数字技术有限公司 字体渲染方法、装置及计算机可读存储介质
CN109948581B (zh) * 2019-03-28 2023-05-05 腾讯科技(深圳)有限公司 图文渲染方法、装置、设备及可读存储介质
US11393187B2 (en) * 2019-11-06 2022-07-19 Adobe Inc. Detecting typography elements from outlines
US11210824B2 (en) 2020-05-21 2021-12-28 At&T Intellectual Property I, L.P. Integer-based graphical representations of words and texts

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586241A (en) 1993-06-10 1996-12-17 Hewlett-Packard Company Method and system for creating, specifying, and generating parametric fonts
US6803913B1 (en) * 1999-12-01 2004-10-12 Microsoft Corporation Warping text along a curved path
US7002598B2 (en) 2003-03-25 2006-02-21 Mitsubishi Electric Research Labs., Inc. Method for generating a composite glyph and rendering a region of the composite glyph in object-order
US7752543B2 (en) 2006-02-17 2010-07-06 Microsoft Corporation Applying effects to a merged text path
US20070229538A1 (en) * 2006-03-31 2007-10-04 Research In Motion Limited Methods and apparatus for dynamically labeling map objects in visually displayed maps of mobile communication devices
CN1862526A (zh) * 2006-06-21 2006-11-15 北京大学 基于轮廓字型技术的离散字形生成方法
US8633930B2 (en) * 2007-03-26 2014-01-21 Apple Inc. Non-linear text flow
US9001126B2 (en) * 2008-05-30 2015-04-07 Adobe Systems Incorporated Displaying text on path
US8587609B1 (en) 2008-08-01 2013-11-19 Marvell International Ltd. Accuracy-adaptive and scalable vector graphics rendering
JP2010224145A (ja) * 2009-03-23 2010-10-07 Seiko Epson Corp 情報処理装置、制御装置及びプログラム
US20120079374A1 (en) * 2010-09-29 2012-03-29 Apple Inc. Rendering web page text in a non-native font
JP2013028012A (ja) * 2011-07-27 2013-02-07 Canon Inc 印刷装置、情報処理装置、印刷システム、印刷制御方法、及びプログラム
US9245361B2 (en) 2011-09-01 2016-01-26 Microsoft Technology Licensing, Llc Consolidating glyphs of a font
US20130120657A1 (en) 2011-11-10 2013-05-16 The Directv Group, Inc. System and method for rendering anti-aliased text to a video screen

Also Published As

Publication number Publication date
US20150325022A1 (en) 2015-11-12
CN105096361A (zh) 2015-11-25
DE102014006549A1 (de) 2015-11-12
JP2015228021A (ja) 2015-12-17
DE102014006549B4 (de) 2022-05-05

Similar Documents

Publication Publication Date Title
JP6298422B2 (ja) マンマシンインターフェースのグラフィック表示用の文字列の処理技術
JP4621618B2 (ja) 図形描画装置、図形描画方法、およびプログラム
JP6869249B2 (ja) 2つのタイプのインクベクトルデータを生成して選択的に出力する方法及びシステム
US8624899B2 (en) Arc spline GPU rasterization for cubic Bezier drawing
US20140085311A1 (en) Method and system for providing animated font for character and command input to a computer
US6952210B1 (en) Method of generating multiple master typefaces containing kanji characters
US6501475B1 (en) Glyph-based outline font generation independent of resolution
US20010040585A1 (en) Resizing multi-dimensionally rendered graphical images
JPH03208094A (ja) 種々の寸法の記号映像のアウトラインを処理する方法およびコンピュータ表示装置
WO2002025587A2 (en) Method and apparatus for shape deformation and placement
JPS63271290A (ja) 文字パタ−ン生成方式
US20200279415A1 (en) Efficiently Computed Distance Fields
JP2010282611A (ja) 情報処理装置、情報処理方法及びプログラム
KR20160019502A (ko) 동적 팔레트를 갖는 적층식 z 순서의 힌팅된 컬러 폰트
JP5893755B2 (ja) グリフ補間を利用したフォント生成装置、及びその方法
KR20150108241A (ko) 빠르고 자연스러운 지형 생성 방법 및 그 장치
JP2009301284A (ja) 描画装置および方法
US20210124796A1 (en) Automatic Generation of Responsive Font Effects Based on Font Elements
JP5172640B2 (ja) ベクトル図形描画装置
JP2001175881A (ja) モルフィング処理装置、モルフィング方法、記憶媒体、プログラム伝送装置、および動画作成装置
US20140258921A1 (en) System and method for ergonomic placement of an object or cursor on a computer display
JP2012108825A (ja) 情報処理装置、情報処理方法およびプログラム
US20240054713A1 (en) Apparatus and method to generate an animated graphical object
KR20180088087A (ko) 외곽선 폰트를 이용하여 metafont에 의한 폰트를 생성하는 장치 및 방법
JPH10143134A (ja) 文字の生成と記憶のための方法と装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20171208

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180223

R150 Certificate of patent or registration of utility model

Ref document number: 6298422

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250