JP4497432B2 - レイアウトサービスライブラリを用いたグリフの描画方法 - Google Patents
レイアウトサービスライブラリを用いたグリフの描画方法 Download PDFInfo
- Publication number
- JP4497432B2 JP4497432B2 JP50568299A JP50568299A JP4497432B2 JP 4497432 B2 JP4497432 B2 JP 4497432B2 JP 50568299 A JP50568299 A JP 50568299A JP 50568299 A JP50568299 A JP 50568299A JP 4497432 B2 JP4497432 B2 JP 4497432B2
- Authority
- JP
- Japan
- Prior art keywords
- glyph
- alternative
- text
- glyphs
- series
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 68
- 230000008569 process Effects 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 13
- 238000006467 substitution reaction Methods 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 48
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Document Processing Apparatus (AREA)
- Controls And Circuits For Display Device (AREA)
- Record Information Processing For Printing (AREA)
Description
本発明は、一連のテキストに対応したグリフの描画に関する。特に本発明は、レイアウトサービスライブラリを用いたグリフの置換および配置に関する。
背景技術
コンピュータが事務所、学校、家庭において一般的になるにつれ、電子文書が普及してきた。電子文書は紙の文書に取って代わりつつある。紙の文書の代わりに電子文書を使うには、電子文書のテキストは読みやすく言語的に正確でなければならない。電子文書のテキストは、一般に1つ以上のフォントを用いて描画される。フォントには、例えばエリアル、タイムズニューローマン、クーリエがある。フォントとは字体である。電子文書用のフォントは、モニタやプリンタなどの画素表示装置に出力した際、文書が読みやすいように設計される。電子文書のテキストを特定のフォントを使って描画する場合、そのテキストはグリフによって表示装置に表示される。グリフとは、1つ以上の文字イメージである。例えば1つのグリフは、小文字の「f」のように1つの文字を表す。また1つのグリフは、合字の「fi」のように一続きの文字を表す。表示装置に文書を描画するには、その文書の各文字をグリフに変換し、それらグリフを表示装置に表示することによって一連のテキストを描画する。
一般に、グリフ情報を含んだフォント情報は、フォントテーブルとしてメモリに格納される。例えば、本発明の譲受人であるマイクロソフト社が公表したオープンタイプレイアウトフォント規格は、各オープンタイプレイアウトフォントについて5つのフォントテーブルを定める。すなわち(1)グリフ置換テーブル、(2)グリフ位置テーブル、(3)行揃えテーブル、(4)ベースラインテーブル、(5)グリフ定義テーブルである。これらオープンタイプレイアウトフォントテーブルは、文字とグリフ間の対応付けにおいて、前後関係を考慮した対応付けをサポートする。すなわち、合字、位置に応じた形状の字、置換字、代替字等をサポートする。オープンタイプレイアウト規格に基づくフォントは、グリフ輪郭、距離、ビットマップ、対応付け情報等の追加的なデータを含んだフォントテーブルを持つこともできる。さらに高度表示技術に関する情報を含んだテーブルを持つこともできる。
ワードプロセッシングプログラムやその他のプログラム(クライアントプログラムまたはクライアント)は、これらフォントテーブルの情報を使い、電子文書のテキスト(グリフ)を表示装置に配置し描画する。例えば、米国特許第5,416,898号にはフォントテーブルを使うテキスト描画の方法と装置が記載されている。フォントテーブルはベースライン、合字、カレット、光学的結合(opticalbound)、グリフのプロパティ、グリフ変形、行端揃え、フィーチャー名、カーニングテーブルを含む。
高度表示技術では、テキスト文字と、その文字を表示装置に表示するグリフとの間は、1対1の相互関係に限られない。例えばフォントによっては、「&」という文字を表示装置に描画する際のグリフは、いくつかの別形あるいは代替形がある。特定の文字に対して適切なグリフを選択する何らかの機構がないと、クライアントプログラムは、フォントテーブルが提供する選択肢等の機能をフルに活用できない。
高度表示技術の別の側面として、一連のテキストを描画する際のグリフの配置がある。書法における問題の1つは、グリフの複雑な配置である。例えばベトナム語は、発音区別符号等を用いて文字の音や意味を変化させる。このような書法においては、各符号の互いの配置を制御することにより、読みやすさと言語的な正確さとを実現しなければならない。書法によっては、正確な表示体裁を実現するために、グリフを複雑に配置しなければならない。例えばウルドゥー語のグリフは、書道的であり斜め下がりのテキストラインに沿って互いに連結される。このテキストラインは右から左へ向かう。ウルドゥー語を適切に描画するため、テキスト処理を行うクライアントは、各グリフの横(X)位置および縦(Y)位置を変更する必要がある。
現在のトゥルータイプフォント用のグリフ配置は、1つの値、すなわち前進値のみを使ってテキストレイアウト用のグリフの位置を決める。テキストのベースラインに沿って移動する仮想的な「ペン先」に対してグリフを位置決めする場合、前進値は次のグリフを配置するための仮想ペン先の移動先を示す。水平なテキストでは、前進値はX方向の進み幅に対応する。トゥルータイプフォントは、水平レイアウトについてはX方向の前進値のみを指定し、縦レイアウトについてはY方向の前進値のみを指定する。単純なラテン語テキストレイアウトなら、この前進値によってグリフを正しく配置できよう。しかしより複雑なレイアウトを必要とするテキストの場合、グリフ配置はより広い範囲をカバーしなけらばならない。トゥルータイプ配置モデルが定義する位置調整は、ペアカーニングだけである。これは2つのグリフ間の水平間隔を変化させる。代表的なカーニングテーブルは、各グリフペアをリストアップすると共に、各ペアのグリフ間隔を指定する。テキスト処理クライアントは、この間隔を各ペアのグリフ間に付加あるいは除去することにより、グリフを適切に表示する。しかしこのカーニングテーブルは、各ペアにおけるグリフの調整方法に関する情報は提供せず、2つ以上にわたるグリフの前後関係は調整できない。
代替や複雑な位置決めによるグリフ描画機能を活用するため、クライアントプログラムは、フォントテーブルとそれが含む情報とにアクセスし操作できねばならない。このようなアクセスや操作は複雑であるため、多くのクライアントプログラムはそれを実行できない。複雑なグリフ位置決めを行う共通インタフェースは今のところ存在しない。これは、高度レイアウト情報を含むフォントが少ないからである。オペレーティングシステムである「ウインドウズ95ME」や「ウインドウズ95FE」等のクライアントプログラムは、システムフォントが含む高度レイアウト情報を使う。しかしこれらのプログラムは、フォントデータ自体を解析し解釈することによってそれを行う。つまり置換や複雑なグリフ位置決め等、フォントテーブルに準備されている高度表示機能は、クライアントプログラムがそれを扱えないため、利用されないでいる。
従ってこの分野においては、一連のテキストに対して代替グリフを描画し位置決めするための効率的な方法が要求される。
発明の開示
上記要求に応えるため、本発明は、クライアントプログラムのユーザのために代替グリフを識別し、ユーザが必要に応じて適切なグリフを選択できるようにする方法を提供する。
代替グリフの選択機能およびグリフの複雑な配置機能を提供するため、本発明の方法は、レイアウトサービスライブラリ(サーバ処理あるいはサーバ)を使う。このレイアウトサービスライブラリは、ワードプロセッシングプログラム等のクライアントプログラムによって使用されるテキスト処理機能セットを提供する。レイアウトサービスライブラリは、フォント情報機能、テキストレイアウト機能、テキスト情報機能を含む。フォント情報機能は、フォントに関する情報を提供する。テキストレイアウト機能は、グリフ置換、グリフ位置決め、行揃えを含めた基本的なレイアウトサービスを提供する。レイアウトサービスライブラリは、機能的にクライアントプログラムとオペレーティングシステムとの間に位置し、フォントテーブルと連絡する。レイアウトサービスライブラリは、フォント情報にアクセスすることによってクライアントプログラムのために働き、テキスト(グリフ)を描画する際にオペレーティングシステムの手助けをする。レイアウトサービスライブラリは、フォントファイルフォーマットの詳細およびオペレーティングシステムの詳細動作からクライアントを解放しテキスト処理を簡単にする。特にレイアウトサービスライブラリは、クライアントになじみのある文字や文字特性(例えば上付き特性)のレベルでの作業を実現する。
代替グリフを選択する場合、クライアントプログラムは、一連のテキストを定義し、レイアウトサービスライブラリに対して、前記一連のテキストを走査し代替グリフを持つ文字を識別するよう指示する。レイアウトサービスライブラリは、特性パラメータ構造のリストを返す。各特性パラメータ構造は、各識別された文字に適用可能な代替グリフの数を含む。クライアントプログラムはこの情報を利用し、異なるパラメータを持つ同一文字のリストを作成する。次にクライアントプログラムは、レイアウトサービスライブラリを呼び出し、すべての代替(別形)グリフのリストを入手する。クライアントプログラムは、そのリストをクライアントプログラムのユーザに提示する。ユーザが1つの代替グリフを選択すると、クライアントプログラムは、一連のテキストにおける対応文字に特性記述を付け、ユーザが選択した代替グリフを識別するためのパラメータによるタグを付ける。
グリフを配置する際、クライアントプログラムは、レイアウトサービスライブラリ(サーバ)を呼び出し、一連のテキストの各文字に関するグリフ位置情報を要求する。レイアウトサービスライブラリは、前記一連のテキストのグリフをベースラインに沿って位置決めするための情報を返す。特にレイアウトサービスライブラリは、ベースラインに沿った仮想ペン先の前進値、前記仮想ペン先からのグリフのX値およびY値を返す。これら前進値、X値、Y値に基づき、オペレーティングシステムは、前記一連のテキストにおける正しい位置にグリフを描画できる。
またクライアントは、レイアウトサービスライブラリからの位置決め情報を使って位置決めされたグリフの数を監視する。この数に基づき、クライアントプログラムは、グリフ位置決め用のレイアウトサービスライブラリを使い続けるか、あるいはレイアウトサービスライブラリをバイパスして表示装置の既定位置決め情報に基づいてグリフを描画するかを決定できる。特にクライアントは、一連のテキスト内の各グリフに対して、前記グリフがレイアウトサービスライブラリを使って位置決めされたか否かを示すフラグを付け、それらフラグのリストを作成する。連続する所定数のグリフがレイアウトサービスライブラリを使わずに位置決めされており、これらグリフおよび位置決め情報が印刷装置に既に定義されていれば、印刷クライアントは、レイアウトサービスライブラリの位置決め情報を使わずに、前記グリフを印刷装置にダウンロードできる。この方法は、印刷装置への一連のテキストのダウンロード時間を節約する。
【図面の簡単な説明】
図1は、本発明の一実施例の動作環境としてのパーソナルコンピュータを示すブロック図である。
図2は、本発明の一実施例に基づくコンピュータシステムの構造を示すブロック図である。
図3は、本発明の一実施例に基づく一連のテキストの配置ステップを示すフローチャートである。
図4は、本発明の一実施例に基づく、ユーザのために代替グリフを識別する各ステップと、選択されたグリフによって一連のテキストを描画する各ステップを示すフローチャートである。
図5は、本発明の一実施例に基づく、一連のテキストを描画する際にグリフを位置決めする各ステップを示すフローチャートである。
発明の詳細な説明
本発明は、一連のテキストのグリフを描画する際、レイアウトサービスライブラリを用いて別形グリフを識別し、前記一連のテキストのベースラインに沿ってグリフを位置決めする方法に関する。特に本発明は、レイアウトサービスライブラリを用いて一連のテキストを描画するに当たり、ユーザのために代替グリフを識別し、ユーザによって選択されたグリフを描画する方法に関する。また本発明は、レイアウトサービスライブラリを用いて一連のテキストを描画する際にグリフを位置決めする方法に関する。本発明の一実施例は、ワシントン州レドモンドのマイクロソフト社が販売する「ウインドウズ」等のオペレーティングシステムに内蔵できる。本発明の他の実施例は、マイクロソフト社が販売する「インターネットエクスプローラ」等のインターネットブラウザや、同社が販売する「パブリッシャ」等のパブリシングプログラムに内蔵できる。
概略を説明する。ユーザのために代替グリフを識別する方法は、描画しようとする一連のテキストを識別するクライアントプログラムを含む。一連のテキストを識別すると、クライアントプログラムは、レイアウトサービスライブラリに対して、前記一連のテキストを走査し代替グリフが存在する文字の位置を特定するよう指示する。レイアウトサービスライブラリは、特性パラメータ構造のリストを返す。このリストは、代替グリフが準備されている文字の位置を特定する。この情報に基づき、クライアントは、異なるパラメータを有する同一文字のリストを作成する。次にクライアントは、レイアウトサービスライブラリを介して、すべての代替グリフ(別形グリフ)のリストを検索する。次にクライアントプログラムは、代替グリフのリストをユーザに提示する。ユーザは、代替グリフの1つを選択する。次にクライアントプログラムは、前記一連のテキスト中の各文字に特性記述を付し、ユーザが選択したグリフを識別するためのパラメータによってその文字にタグを付ける。
グリフ位置決めを説明する。クライアントプログラムは、描画する一連のテキストを識別する。次にクライアントプログラムは、レイアウトサービスライブラリを呼び出す。レイアウトサービスライブラリは、ベースラインに沿ったあるグリフから次のグリフへの仮想ペン先の前進値、およびX値、Y値を返す。これらX値およびY値は、ベースライン上の仮想ペン先に対するグリフの位置決めに使用される。
レイアウトサービスライブラリを使うことによって、クライアントプログラムは、フォントファイルの詳細およびオペレーティングシステムの描画能力から解放される。
動作環境の例
本発明を実施するための適切なコンピューティング環境を図1に基づき簡単に説明する。本発明は、パーソナルコンピュータのオペレーティングシステム上で実行されるアプリケーションプログラム(クライアントプログラム)として説明するが、当業者には明らかなように、本発明は他のプログラムモジュールで実行してもよい。一般に、プログラムモジュールは、ルーチン、プログラム、構成要素、データ構造等を含み、これらが特定のタスクを実行したり、特定の抽象データ型を実行する。さらに当業者には明らかなとおり、本発明は、携帯装置、マルチプロセッサシステム、マイクロプロセッサをベースとした民生電子機器、プログラム可能民生電子機器、ミニコンピュータ、メインフレームコンピュータ等、他のコンピュータシステム構成でも実行できる。本発明はまた、分散コンピューティング環境においても実行できる。分散コンピューティング環境は、通信ネットワークを介してリンクした遠隔の処理装置によってタスクを実行し、プログラムモジュールを局所記憶装置や遠隔記憶装置に置く。
図1の例において、本発明を実行するシステムは、従来のパーソナルコンピュータ20を含む。このパーソナルコンピュータは、処理装置21と、システムメモリ22と、システムバス23とを含む。システムバス23は、システムメモリと処理装置21とを接続する。システムメモリ22は、リードオンリーメモリ(ROM)24と、ランダムアクセスメモリ(RAM)25とを含む。基本ルーチンを含む基本入出力システム(BIOS)26は、ROM24に格納される。この基本ルーチンは、例えばスタートアップ時に、パーソナルコンピュータ20内の要素間での情報の転送をサポートする。パーソナルコンピュータ20はさらに、ハードディスク装置27と、例えばリムーバブルディスク29を読み書きするための磁気ディスク装置28と、例えばCD-ROMディスク31等の光媒体を読み書きするための光ディスク装置30とを含む。ハードディスク装置27と磁気ディスク装置28と光ディスク装置30とは、それぞれハードディスク装置インタフェース32と磁気ディスク装置インタフェース33と光ディスク装置インタフェース34とを介して、システムバス23に接続される。これら装置および関連するコンピュータ読取り可能媒体は、パーソナルコンピュータ20用の不揮発性記憶装置として働く。コンピュータ読取り可能媒体として、ハードディスクとリムーバブル磁気ディスクとCD-ROMディスクとを示したが、当業者には明らかなように、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ等も、コンピュータ読取り可能媒体として前記動作環境で使える。
前記記憶装置およびRAM25は、多くのプログラムモジュールを格納できる。例えばオペレーティングシステム35、1つ以上のアプリケーションプログラム36、他のプログラムモジュール37、プログラムデータ38、レイアウトサービスライブラリ39等を格納できる。ユーザは、キーボード40や例えばマウス42等のポインティング装置を介して、パーソナルコンピュータ20にコマンドや情報を入力できる。他の入力装置(図示せず)として、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送用アンテナ、スキャナ等も利用できる。一般にこれら入力装置は、システムバスに接続したシリアルポートインタフェース46を介して処理装置21に接続されるが、ゲームポートや汎用シリアルバス(USB)等の他のインタフェースを介して接続してもよい。モニタ47等の表示装置は、ビデオアダプタ48等のインタフェースを介してシステムバス23に接続される。一般に、パーソナルコンピュータは、前記モニタに加えてスピーカやプリンタ等の周辺出力装置(図示せず)も含む。
パーソナルコンピュータ20は、遠隔コンピュータ49等の1つ以上の遠隔コンピュータへの論理接続を用いたネットワーク環境で動作させてもよい。遠隔コンピュータ49は、サーバ、ルータ、同等装置、他のネットワークノード等であり、パーソナルコンピュータ20に関連して説明した要素の多くあるいは全部を含む。ただし図1は、記憶装置50しか示していない。図1の論理接続は、ローカルエリアネットワーク(LAN)51と広域ネットワーク(WAN)52とを含む。このようなネットワーク環境は、事務所、企業コンピュータネットワーク、イントラネット、インターネットにおいて一般的である。
LAN環境で使用される場合、パーソナルコンピュータ20は、ネットワークインタフェース53を介してLAN51に接続される。WAN環境で使用される場合、パーソナルコンピュータ20はモデム54等の手段を含み、インターネット等のWAN52を介して通信を確立する。モデム54は内蔵型あるいは外付け型であり、シリアルポートインタフェース46を介してシステムバス23に接続される。ネットワーク環境の場合、パーソナルコンピュータ20に関連するプログラムモジュールの全部または一部は、遠隔記憶装置に格納できる。図示のネットワーク接続は例であり、他の手段を使ってコンピュータ間に通信リンクを確立しても良い。
レイアウトサービスライブラリの実施例
本発明の一実施例に基づくワードプロセッシングプログラムは、レイアウトサービスライブラリを用いて表示装置に一連のテキストを描画する。この実施例をレイアウトサービスライブラリ実施例と呼ぶ。本発明は、パブリッシングプログラムやブラウザ等のテキスト処理プログラムにも適用できる。
レイアウトサービスライブラリ実施例は、オープンタイプレイアウトフォント規格に適合した多くのフォントと共に使用できる。オープンタイプレイアウトフォント規格に適合したフォントファイルは、グリフ、書体、言語システム、文字特性を定義する。グリフは、1つ以上の文字を表現するための文字イメージである。1つのグリフは、例えば小文字の「f」のように単一の文字を表す。あるいは1つのグリフは、小文字の「fi」のように一続きの文字を表す。書体は、1つ以上の言語によって使用される関連文字のグループである。ラテン、アラビック、タイは、書体の例である。書体は、各言語システムで共用できる。例えばラテン書体は、英語、フランス語、ドイツ語の言語システムで使用される。各言語システムは、テキスト処理に対して異なる要求を持つ。1つの言語システムは、多くの文字特性をサポートする。文字特性は、フォントが提供する機能である。オープンタイプレイアウトフォント規格は、斜体字特性と合字特性とを含む多くの文字特性をサポートする。斜体字特性は、既定のグリフを代替グリフに置換する。合字特性は、一続きのグリフを合字グリフに置換する。
オープンタイプレイアウトフォント規格は、5つのフォントテーブルを定義する。すなわち(1)グリフ置換テーブル、(2)グリフ位置テーブル、(3)行揃えテーブル、(4)ベースラインテーブル、(5)グリフ定義テーブルである。これらフォントテーブルは、フォントの文字特性をサポートする情報を含む。例えばグリフ置換テーブルは、グリフ置換に関する情報を含み、単一グリフ置換、1対多置換(合字分解)、美的置換、多グリフ置換(合字)、前後関係グリフ置換をサポートする情報を含む。グリフ位置テーブルは、グリフの位置決めに関する情報を含み、前進値、X値、Y値を提供する。グリフ位置決め情報は、単一調整(例えば上付きおよび下付のサポート)、ペア調整(例えばカーニングのサポート)、筆記体連結(例えば筆記体のサポート)、MarkToBase連結(例えばアラビア語、ヘブライ語、ベトナム語における母音字、発音区別記号、音声記号の位置決めのサポート)、MarkToLigature連結(例えば合字の周囲に母音字を位置決めすることのサポート)、MarkToMark連結(例えばベトナム語における母音発音区別記号に対する音声記号の位置決めのサポート)、前後関係における位置決め(例えば文脈において1つ以上のグリフを位置決めすることのサポート)を提供する。ベースラインテーブルは、複数のテキスト行を行揃えるための情報を提供する。行揃えテーブルは、テキストを行揃えするための情報を提供する。グリフ定義テーブルは、グリフのクラス、連結点、合字カレットに関する情報を提供する。
ワードプロセッシングプログラムは、レイアウトサービスライブラリが提供するこれら機能を利用してテキストをレイアウトする。レイアウトサービスライブラリは、フォントテーブルにアクセスし、ワードプロセッシングプログラムに対してテキストレイアウトに関する候補を示す。ワードプロセッシングプログラムは、これら候補の一部または全部を実行する。いずれも実行しないでも良い。ワードプロセッシングプログラムは、レイアウトサービスライブラリに対し、これら機能の呼出しを行う。例えばワードプロセッシングプログラムは、一連のテキストを定義しそれを機能呼出しに関連付ける。一連のテキストとは、特定書体および特定言語システムにおける特定サイズの特定フォントを使用した一続きのテキストである。ワードプロセッシングプログラムは、各機能について追加のパラメータを定義できる。例えばグリフ位置決め機能を実行する場合、ワードプロセッシングクライアントは、まず一連のテキストを定義する。グリフ位置決め機能呼出しに応答し、レイアウトサービスライブラリは、前記一連のテキストにおける各グリフについて、前進値、X値、Y値を返す。これらデータは、例えばレイアウトサービスライブラリが定義するデータ構造に格納される。ワードプロセッシングプログラムは、返された値を使って、横および縦方向にグリフを位置決めする。グリフ置換方法およびグリフ位置決め方法をサポートするために使われる機能呼出しおよびデータ構造は、「レイアウトサービスライブラリインタフェース」の章で詳しく説明する。
レイアウトサービスライブラリのシステム構成
図2は、本発明のレイアウトサービスライブラリ実施例を実現するためのシステム構成を示す。ワードプロセッシングプログラム(クライアントプログラム)202は、文書テキストファイル210からのテキストを処理し、表示装置への表示の準備をする。この表示装置は、モニタ200やプリンタ等の画素表示装置である。文書テキストは、レイアウトサービスライブラリ208が提供するテキスト処理機能を使って表示装置200に描画される。ワードプロセッシングプログラム202は、レイアウトサービスライブラリ208が提供するサービスのクライアントである。レイアウトサービスライブラリ208は、図2においてオペレーティングシステム204の一部だが、ワードプロセッシングプログラム202とオペレーティングシステム204との間に配置した動的リンクライブラリであっても良い。レイアウトサービスライブラリ208は、1セット以上のフォントテーブル212a、212b…212nとのインタフェースを行う。レイアウトサービスライブラリ208は、フォントテーブル212a、212b…212nに格納された情報を使い、ワードプロセッシングプログラム202に対してレイアウト情報とレイアウト候補とを提供する。ワードプロセッシングプログラム202は、アプリケーションプログラムインタフェース(API)セットを介してレイアウトサービスライブラリ208とのインタフェースを行う。
レイアウトサービスライブラリに含まれるAPIは、代替グリフ識別方法およびグリフ位置決め方法を含む本発明のグリフ描画方法をサポートする。レイアウトサービスライブラリは、フォントテーブルにアクセスし、ワードプロセッシングプログラムが代替グリフを識別し選択し一連のテキスト内においてグリフを位置決めする手助けをする。
表示装置200にテキストファイルを表示するため、ワードプロセッシングプログラム202は、ラスタライザ206を使う。ラスタライザ206は、例えばオペレーティングシステム204内に配置される。ラスタライザ206は、出力装置200にテキストを描画するための情報をフォントテーブル212から取得する。
テキスト描画方法
図3は、レイアウトサービスライブラリを用いて一連のテキストを描画するための各ステップを示す。ステップ300において、ワードプロセッシングプログラムは、描画しようとする一連のテキストを定義する。この一連のテキストはステップ302〜310において描画される。ステップ302において、ワードプロセッシングクライアントは、レイアウトサービスライブラリのグリフ置換機能を呼び出す。これに応じ、レイアウトサービスライブラリは、フォントテーブルにアクセスし、どの文字をどのグリフで置換するかを決定する。レイアウトサービスライブラリは、グリフ置換機能の呼出しによって変更されたグリフのリストを返す。グリフ置換機能の呼出しは、文字とグリフとの間に1対1の対応付けがなければ、代替グリフを提供する。代替グリフは、前後関係に基づいて文字のグリフ形状を変化させる時に必要である。例えばアラビア語における文字「g」は、単独、語頭、語の中間、語尾によって4つのグリフを持つ。グリフ置換ステップ302は、一連のテキストにおける2つ以上のグリフの合字グリフの置換も提供する。さらにグリフ置換ステップ302は、本発明に基づくユーザ選択に応じて、1つのグリフの代替グリフを識別し描画する。これについては「別形グリフの識別」の章で詳述する。
選択された別形グリフの置換も含めてグリフの置換が終わると、ワードプロセッシングプログラムは、ステップ304においてグリフ位置決め機能を呼び出す。レイアウトサービスライブラリは、グリフ位置テーブルにアクセスし、前記一連のテキスト用のグリフ位置情報を決定する。前記一連のテキストにおける各グリフについて、レイアウトサービスライブラリは、グリフ位置情報を返す。この情報は、ベースラインに沿った仮想ペン先の前進値、X値、Y値を含む。本発明のグリフ位置決めステップ304は、「グリフ位置決め」の章で詳述する。
ベースラインに沿ったグリフの位置が決まると、描画処理はステップ306のパラグラフレイアウトに進む。パラグラフレイアウトは、前記一連のテキストの長さと所定行長さとを比較する。前記一連のテキストの長さを決定するため、ワードプロセッシングプログラムは、レイアウトサービスライブラリの長さ計算機能を呼び出す。これに応じ、レイアウトサービスライブラリは、前記一連のテキストのグリフ位置を文字位置に変換し、前記一連のテキストの長さを計算する。レイアウトサービスライブラリは、開始位置と終了位置とをワードプロセッシングプログラムに返す。この開始位置は、右から左へのレイアウト方向において、先頭文字の左または上を示す。終了位置は、末尾文字の右または下を示す。ワードプロセッシングプログラムは、前記開始位置および終了位置と所定行長さを比較し、前記一連のテキストが所定行長さを越えるか否かを決定する。前記一連のテキストが、所定行長さより短いか同一であれば、パラグラフレイアウトは完了する。
前記一連のテキストが所定行長さより長ければ、ワードプロセッシングプログラムは、レイアウトサービスライブラリの文字識別機能を呼び出し、行末文字の識別を要求する。レイアウトサービスライブラリは、行末文字を識別する。行末文字が空白であれば、前記一連のテキストは、そこで親テキストと子テキストとに分割される。前記一連のテキストを空白文字において分割する際、親テキストが所定行長さを越えないように、そして子テキストが残りのテキストを含むようにする。
行末文字が空白文字でなければ、ワードプロセッシングプログラムは、前記一連のテキストをさかのぼり、1つ前の文字の識別を要求する。ワードプロセッシングプログラムは、空白文字が見つかるまで、前記一連のテキストをさかのぼり続ける。空白文字が見つかれば、そこで一連のテキストは分割される。この処理は、前記一連のテキストが完全に配置されるまで繰り返される。
パラグラフレイアウトの完了後、行揃えが有効であれば、行揃えステップ308に進む。行揃えの際、ワードプロセッシングプログラムは、行ごとに一連のテキストを揃える。パラグラフレイアウトステップ306において一連のテキストが親テキストと子テキストに分割された場合、親テキストは、それ自体が行として揃えられる。行が定義されると、その行の長さが所定行長さに等しいか否かが決定される。その行の長さが所定行長さに等しければ、行揃えは完了する。その行の長さが所定行長さと異なれば、ワードプロセッシングプログラムは、優先行揃え方式を選択する。この優先行揃え方式は、その行を揃えるために許される変更の度合いを示す。例えば第1の優先行揃え方式は、単語間隔調整など、最も緩やかな行揃え調整を行う。第2の優先行揃え方式は、例えばグリフの再置換や再配置など、より強い行揃え調整を行う。
ワードプロセッシングプログラムは、優先行揃え方式を選択すると、レイアウトサービスライブラリの行揃え情報機能を呼び出し、要求した優先行揃え方式がフォントによってサポートされているか否かを確認する。レイアウトサービスライブラリは、フォントテーブルにアクセスし、その優先行揃え方式がサポートされているか否かを決定する。その優先行揃え方式がサポートされていれば、グリフ置換および/またはグリフ位置決めが必要か否かを決定する。ワードプロセッシングプログラムは、前記行揃え情報機能呼出しに対するレイアウトサービスライブラリの応答を受け取る。その応答が、要求した優先行揃え方式がサポートされていることを示していれば、ステップ308はテキストの行揃えを続行する。前記応答が、要求した優先行揃え方式がサポートされていないことを示していれば、行揃えエラーが発生する。パラグラフレイアウトおよび行揃えは、現在出願中である共通譲渡された米国特許出願第08/883,666号「レイアウトサービスライブラリを用いたパラグラフのレイアウト方法」(代理人事件番号第13237-1755号)に詳述されている。
ステップ310において、ワードプロセッシングプログラム202は、レイアウトサービスライブラリ208から受け取った情報を利用し、オペレーティングシステム204に対して表示装置200にグリフを描画するよう命令する。
別形グリフの識別
図4は、図3のグリフ置換ステップ302の代替グリフ選択処理の詳細を示す。グリフ置換ステップ302の代替グリフ選択処理は、ワードプロセッサ202がステップ300(図3)において一連のテキストを定義すると開始する。ワードプロセッサは、GetOtlFeatureParams機能を呼び出す。これに応じて、レイアウトサービスライブラリは、ステップ400において、前記一連のテキストを走査し、代替グリフのある文字の位置を識別する。ステップ402において、サーバは、特性パラメータ構造のリストotlListを返す。各特性パラメータ構造は、対応する文字位置に適用される代替グリフの数を含む。リストotlListは、レイアウトサービスライブラリが定義するデータ構造であり、文字、グリフ、属性、座標等の様々なデータリストを表す。ステップ404において、クライアントは、レイアウトサービスライブラリが返した情報を使い、異なるパラメータを持った同一文字のリストを作成する。
ステップ406において、ワードプロセッサは、SubstituteOtlGlyphs機能を呼び出し、別形グリフのリストを取得する。ステップ408において、ワードプロセッサは、ワードプロセッシングプログラムのユーザに別形グリフのリストを提示する。前記ユーザは、ステップ410において、描画する別形グリフを選択する。ステップ412において、ワードプロセッサは、一連のテキスト内の文字に特性記述を付け、ユーザが選択した別形グリフを識別するためのパラメータによってその文字にタグを付ける。これにより、それと同一の文字が後から出現した場合、その文字は同一の別形グリフを用いて描画されるようになる。
ステップ414において、ワードプロセッサは、処理された文字(ステップ412)は、ステップ404が作成したリストの最後の文字か否かを決定する。その文字が最後の文字でなければ、「No」の分岐をたどってステップ406に戻り、ステップ404が作成したリストから次の文字用の別形グリフを識別し選択する。その文字がステップ404における同一文字の最後であれば、ステップ414の「Yes」の分岐をたどってグリフ位置決めステップ304(図3)に進む。
グリフ位置決め
図3に戻り、グリフ置換ステップ302は、グリフ位置決めステップ304に移る。図5は、グリフ位置決めステップ304の詳細を示す。
ワードプロセッサは、ステップ304に入ると、ステップ512においてレイアウトサービスライブラリからの情報を使用せずに既に位置決めした連続するグリフの数を決定する。レイアウトサービスライブラリを使用せずに位置決めした連続するグリフの数が所定数Nよりも大きければ、「Yes」の分岐をたどってステップ514に進む。ステップ514において、ワードプロセッサは、表示装置に既定の位置情報が用意されているか否かを決定する。表示装置に既定の位置情報が用意されていれば、ステップ514から「Yes」の分岐をたどり、ステップ304のグリフ位置決め処理を終了する。
ステップ512においてレイアウトサービスライブラリからの情報を使用せずに位置決めした連続するグリフの数が所定数Nを越えていないか、あるいはステップ514において既定の位置決め情報が存在しなければ、「No」の分岐をたどってステップ516に進む。
ステップ516において、クライアントはレイアウトサービスライブラリに対して位置決め情報を求める。ステップ518において、レイアウトサービスライブラリは、ワードプロセッサが配置したベースラインにおける仮想ペン先の前進値、およびグリフのX値とY値を返す。これらを受け取ると、ワードプロセッサは、オペレーティングシステム204(図2)の資源を使うことにより、先に確立したベースラインに沿って適切な位置にグリフを描画できる。
レイアウトサービスライブラリインタフェース
レイアウトサービスライブラリは、ワードプロセッシングクライアントが使うためのテキスト処理機能セットを提供する。これらテキスト処理機能は、フォントテーブルに格納したフォント情報にアクセスし、フォントテーブルフォーマットの詳細からワードプロセッシングクライアントを解放する。レイアウトサービスライブラリは、一般にフォント情報機能と、テキストレイアウト機能と、テキスト情報機能とを有する。フォント情報機能は、フォントに関する情報を返す。この情報は、サポートされている書体、言語システム、フォントがサポートしている文字特性等を含む。テキストレイアウト機能は、基本的なレイアウトサービスを提供する。これは、グリフ置換、グリフ位置決め、行揃えを含む。テキスト情報機能は、一連のテキストに関する情報を返す。ワードプロセッシングプログラムは、機能呼出しを行うことにより、レイアウトサービスライブラリが提供するテキスト処理機能を起動する。レイアウトサービスライブラリは、データ構造のリストotlList等を介して、ワードプロセッシングプログラムに情報を返す。
特にレイアウトサービスライブラリは、図3、図4、図5に関連して説明したグリフ描画方法をサポートする。テキスト情報機能GetOtlFeatureParamsは、別形グリフ識別方法をサポートする。このGetOtlFeatureParams機能は、一連のテキスト内で別形グリフまたは特性パラメータを見つけだし、その結果としてptlParamsを返す。これは文字レベルの特性パラメータのリストである。このリストから、クライアントプログラムは、一連のテキスト内において別形グリフを有する各文字につき、別形グリフのリストを要求し作成できる。
テキストレイアウト機能PositionOtlGlyphsは、グリフ位置決め方法をサポートする。このPositionOtlGlyphs機能は、仮想ペン先の前進値、描画するグリフのX値およびY値の結果として、ptlDAdv、ptlDX、ptlDYを返す。これらX値、Y値、前進値を使うことにより、ワードプロセッサは、複雑なレイアウトを必要とするテキストをサポートできる。グリフ位置決め方法は、一連のテキストに関連して、PositionalOtlGlyphs機能が返すデータを使うことにより、レイアウトサービスライブラリを用いて位置決めした連続するグリフの数を決定できる。
要約すると、本発明は、一連のテキストに対応するグリフを描画するに当たり、レイアウトサービスライブラリを用いて別形グリフを識別すると共に、ベースラインに沿ってその一連のテキストのグリフを位置決めするための方法を提供する。レイアウトサービスライブラリは、グリフ描画方法をサポートするためのテキスト処理機能セットを提供する。一実施例において、レイアウトサービスライブラリは、フォント情報機能と、テキストレイアウト機能と、テキスト情報機能とを含む。当業者には明らかなように、機能をさらに追加することもできる。オープンタイプレイアウトフォント規格に適合したフォントに関連して本発明を説明してきたが、本発明は、他のフォント規格やフォントにも適用可能である。
当業者には明らかなように、本発明には他の実施形態も可能であり、本発明は、その精神および範囲を逸脱することなく、それら他の実施形態も含むものである。本発明の範囲は、請求項に記述の通りであり、本明細書によって補われるものである。
Claims (10)
- 一連のテキスト内においてユーザのために代替グリフを識別し、選択されたグリフを描画する方法であって、
a.前記一連のテキストを走査して代替グリフを有する文字を識別する段階と、
b.代替グリフを有する文字のリストを作成する段階と、
c.前記一連のテキスト中の各識別された文字に関する代替グリフのリストをユーザに提示する段階と、
d.ユーザの選択に応じて、各識別された文字に対し、ユーザが選択した代替グリフを特定するマークを付ける段階と
を備えることを特徴とする方法。 - 前記代替グリフを有する文字のリストを作成する段階が、レイアウトサービスライブラリを用いて代替グリフフォントテーブルにアクセスし代替グリフを有する文字を識別することを特徴とする請求項1に記載の方法。
- 前記代替グリフのリストをユーザに提示する段階が、レイアウトサービスライブラリを用いて代替グリフフォントテーブルにアクセスし各識別された文字に関する代替グリフを取得することを特徴とする請求項1に記載の方法。
- 請求項1に記載の方法をコンピュータに実行させるためのプログラムを格納したコンピュータ読取可能記録媒体。
- 一連のテキストの代替グリフを識別するためのプログラムを格納したコンピュータ読取可能記録媒体であって、前記プログラムは、
a.前記一連のテキストを受け取り、
b.前記一連のテキストを走査して代替グリフを有する文字を識別し、
b.代替グリフを有する文字に対応する文字位置のリストを作成し、
c.前記一連のテキスト中の各識別された文字に関する代替グリフのリストを作成することをコンピュータに実行させることを特徴とするコンピュータ読取可能記録媒体。 - クライアント処理とサーバ処理間の通信方法であって、
a.前記クライアント処理によって一連のテキストを選択する段階と、
b.前記クライアント処理から前記サーバ処理に対し、前記一連のテキストを走査して代替グリフを有する文字を識別することを求める段階と、
c.前記クライアント処理から前記サーバ処理に対し、代替グリフを有する各識別された文字に関する特性パラメータ構造のリストの作成を求め、前記サーバ処理から前記クライアント処理に対し前記特性パラメータ構造のリストを返す段階と、
d.前記サーバ処理からの特性パラメータ構造のリストに基づき、前記クライアント処理において、代替グリフを有する文字のリストを作成する段階と、
e.前記一連のテキスト中の各識別された文字に関する代替グリフのリストをユーザに提示する段階と、
f.ユーザ選択に応じ、前記クライアント処理において、各識別された文字に対しユーザが選択した代替グリフを特定するマークを付ける段階と
を備えることを特徴とする方法。 - クライアント処理とサーバ処理間の通信方法であって、
a.前記クライアント処理によって一連のテキストを選択する段階と、
b.代替グリフを有する文字のリストを作成するため、前記クライアント処理から前記サーバ処理に対し、代替グリフを有する文字を識別することを求め、前記クライアント処理から前記サーバ処理に対し、各識別された文字に関する代替グリフを取得することを求める段階と、
c.各識別された文字に関する代替グリフのリストをユーザに提示する段階と
を備えることを特徴とする方法。 - 前記クライアント処理から前記サーバ処理への文字識別の求めに応じ、前記サーバ処理は、前記一連のテキストから1つの文字を選択し、代替グリフフォントテーブルにアクセスし、前記選択された文字が代替グリフを有するか否かを決定することを特徴とする請求項7に記載の方法。
- 前記クライアント処理から前記サーバ処理への各識別された文字に関する代替グリフ取得の求めに応じて、前記サーバ処理が、前記一連のテキストから1つの文字を選択し、代替グリフフォントテーブルにアクセスし、前記選択された文字に対応する代替グリフがあるか否かを決定することを特徴とする請求項7に記載の方法。
- ユーザの選択に応じて、前記クライアント処理が、ユーザが選択した代替グリフを特定するマークを対応する文字に付けることを特徴とする請求項7に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/884,115 | 1997-06-27 | ||
US08/884,115 US6288726B1 (en) | 1997-06-27 | 1997-06-27 | Method for rendering glyphs using a layout services library |
PCT/US1998/013130 WO1999000747A1 (en) | 1997-06-27 | 1998-06-26 | A method for rendering glyphs using a layout services library |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002507289A JP2002507289A (ja) | 2002-03-05 |
JP2002507289A5 JP2002507289A5 (ja) | 2006-01-05 |
JP4497432B2 true JP4497432B2 (ja) | 2010-07-07 |
Family
ID=25383985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50568299A Expired - Fee Related JP4497432B2 (ja) | 1997-06-27 | 1998-06-26 | レイアウトサービスライブラリを用いたグリフの描画方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6288726B1 (ja) |
EP (1) | EP0992006B1 (ja) |
JP (1) | JP4497432B2 (ja) |
AU (2) | AU8171698A (ja) |
CA (1) | CA2293675A1 (ja) |
DE (1) | DE69807483T2 (ja) |
WO (2) | WO1999000760A2 (ja) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926189A (en) * | 1996-03-29 | 1999-07-20 | Apple Computer, Inc. | Method and apparatus for typographic glyph construction including a glyph server |
US6754875B1 (en) * | 1998-11-17 | 2004-06-22 | Adobe Systems Incorporated | Applying a computer-implemented test to determine whether to replace adjacent characters in a word with a ligature glyph |
US6493735B1 (en) * | 1998-12-15 | 2002-12-10 | International Business Machines Corporation | Method system and computer program product for storing bi-directional language data in a text string object for display on non-bidirectional operating systems |
US7075665B1 (en) * | 1999-05-04 | 2006-07-11 | Hewlett-Packard Development Company, L.P. | Creating operating system fonts from printer font metrics |
US7064757B1 (en) | 1999-05-07 | 2006-06-20 | Apple Computer, Inc. | Automatic synthesis of font tables for character layout |
US6563502B1 (en) * | 1999-08-19 | 2003-05-13 | Adobe Systems Incorporated | Device dependent rendering |
US6762770B1 (en) * | 1999-10-29 | 2004-07-13 | Apple Computer, Inc. | Method and system for the representation of color and other attributes in bitmap fonts |
US7099027B1 (en) | 1999-11-12 | 2006-08-29 | Electronics For Imaging, Inc. | Method and apparatus for distributing print jobs |
WO2002001395A1 (en) * | 2000-06-27 | 2002-01-03 | Ubs Ag | Method and system for providing distributed functionality and data analysis system utilizing same |
US6948119B1 (en) * | 2000-09-27 | 2005-09-20 | Adobe Systems Incorporated | Automated paragraph layout |
US7251365B2 (en) * | 2002-07-03 | 2007-07-31 | Vadim Fux | Scalable stroke font system and method |
WO2005001675A2 (en) * | 2003-06-30 | 2005-01-06 | Hyder Syed S | Algorithmic generation of afu calligraphy |
US7484213B2 (en) * | 2003-07-11 | 2009-01-27 | Boban Mathew | Agent architecture employed within an integrated message, document and communication system |
US7580039B2 (en) | 2004-03-31 | 2009-08-25 | Adobe Systems Incorporated | Glyph outline adjustment while rendering |
US7639258B1 (en) | 2004-03-31 | 2009-12-29 | Adobe Systems Incorporated | Winding order test for digital fonts |
US7719536B2 (en) * | 2004-03-31 | 2010-05-18 | Adobe Systems Incorporated | Glyph adjustment in high resolution raster while rendering |
US7348982B2 (en) | 2004-09-30 | 2008-03-25 | Microsoft Corporation | Method, system, and computer-readable medium for creating and laying out a graphic within an application program |
US8134575B2 (en) | 2004-09-30 | 2012-03-13 | Microsoft Corporation | Maintaining graphical presentations based on user customizations |
US8510657B2 (en) | 2004-09-30 | 2013-08-13 | Microsoft Corporation | Editing the text of an arbitrary graphic via a hierarchical list |
JP4919245B2 (ja) * | 2005-01-14 | 2012-04-18 | アドビ システムズ, インコーポレイテッド | 行組版装置、行組版プログラム及びそれを記録した記録媒体 |
US7743325B2 (en) | 2005-03-15 | 2010-06-22 | Microsoft Corporation | Method and computer-readable medium for fitting text to shapes within a graphic |
JP4501864B2 (ja) * | 2006-02-08 | 2010-07-14 | 村田機械株式会社 | 通信端末装置 |
US8438486B2 (en) | 2006-02-09 | 2013-05-07 | Microsoft Corporation | Automatically converting text to business graphics |
US20070262991A1 (en) * | 2006-05-15 | 2007-11-15 | Abulhab Saad D | Arabic input output method and font model |
US8201088B2 (en) * | 2006-07-25 | 2012-06-12 | Monotype Imaging Inc. | Method and apparatus for associating with an electronic document a font subset containing select character forms which are different depending on location |
US20080068383A1 (en) * | 2006-09-20 | 2008-03-20 | Adobe Systems Incorporated | Rendering and encoding glyphs |
US9319444B2 (en) | 2009-06-22 | 2016-04-19 | Monotype Imaging Inc. | Font data streaming |
US8799325B2 (en) | 2010-03-12 | 2014-08-05 | Microsoft Corporation | Reordering nodes in a hierarchical structure |
US20110258535A1 (en) * | 2010-04-20 | 2011-10-20 | Scribd, Inc. | Integrated document viewer with automatic sharing of reading-related activities across external social networks |
US8615709B2 (en) | 2010-04-29 | 2013-12-24 | Monotype Imaging Inc. | Initiating font subsets |
US20110289407A1 (en) * | 2010-05-18 | 2011-11-24 | Naik Devang K | Font recommendation engine |
JP5542017B2 (ja) | 2010-09-15 | 2014-07-09 | アルパイン株式会社 | 名称検索装置 |
US8494276B2 (en) | 2011-09-23 | 2013-07-23 | International Business Machines Corporation | Tactile input recognition using best fit match |
US9311896B2 (en) | 2012-02-27 | 2016-04-12 | Microsoft Technology Licensing, Llc | Glyph rendering |
US9817615B2 (en) | 2012-12-03 | 2017-11-14 | Monotype Imaging Inc. | Network based font management for imaging devices |
WO2014100582A2 (en) | 2012-12-21 | 2014-06-26 | Monotype Imaging Inc. | Supporting color fonts |
US9626337B2 (en) | 2013-01-09 | 2017-04-18 | Monotype Imaging Inc. | Advanced text editor |
US9317777B2 (en) | 2013-10-04 | 2016-04-19 | Monotype Imaging Inc. | Analyzing font similarity for presentation |
US9465776B2 (en) * | 2013-11-26 | 2016-10-11 | Adobe Systems Incorporated | Filtering fonts based on a selection of glyphs |
US9691169B2 (en) | 2014-05-29 | 2017-06-27 | Monotype Imaging Inc. | Compact font hinting |
US9940744B2 (en) | 2014-09-15 | 2018-04-10 | Microsoft Technology Licensing, Llc | Remote font management |
US10115215B2 (en) | 2015-04-17 | 2018-10-30 | Monotype Imaging Inc. | Pairing fonts for presentation |
US11537262B1 (en) | 2015-07-21 | 2022-12-27 | Monotype Imaging Inc. | Using attributes for font recommendations |
US10275426B1 (en) * | 2015-09-22 | 2019-04-30 | Amazon Technologies, Inc. | Dynamic kerning pair reduction for digital font rendering |
US11334750B2 (en) | 2017-09-07 | 2022-05-17 | Monotype Imaging Inc. | Using attributes for predicting imagery performance |
US10909429B2 (en) | 2017-09-27 | 2021-02-02 | Monotype Imaging Inc. | Using attributes for identifying imagery for selection |
US11657602B2 (en) | 2017-10-30 | 2023-05-23 | Monotype Imaging Inc. | Font identification from imagery |
US10657312B2 (en) | 2017-11-17 | 2020-05-19 | Adobe Inc. | Deploying new font technologies to legacy operating systems |
US11030388B2 (en) * | 2018-09-25 | 2021-06-08 | Adobe Inc. | Live text glyph modifications |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0820862B2 (ja) * | 1987-02-27 | 1996-03-04 | キヤノン株式会社 | 文字処理装置 |
JP2703907B2 (ja) | 1987-10-23 | 1998-01-26 | キヤノン株式会社 | 文書処理方法 |
US5289169A (en) | 1991-01-31 | 1994-02-22 | Frame Technology Corporation | Composite underlining functions for text processors |
JP3164617B2 (ja) * | 1991-11-07 | 2001-05-08 | 株式会社日立製作所 | 文字図形変形処理装置および方法 |
US5416898A (en) | 1992-05-12 | 1995-05-16 | Apple Computer, Inc. | Apparatus and method for generating textual lines layouts |
JPH061000A (ja) | 1992-06-17 | 1994-01-11 | Brother Ind Ltd | 印字装置 |
JP3145509B2 (ja) * | 1992-11-09 | 2001-03-12 | 富士通株式会社 | 文字生成方法及びその装置 |
US5440745A (en) | 1993-04-29 | 1995-08-08 | International Business Machines Corporation | Batch format processing of record data |
JP3014247B2 (ja) * | 1993-05-24 | 2000-02-28 | 富士通株式会社 | 文字生成方法及びその装置 |
JP3021278B2 (ja) * | 1993-08-30 | 2000-03-15 | シャープ株式会社 | 均一幅線の生成装置及び均一幅線の生成方法 |
JP3238580B2 (ja) * | 1994-09-14 | 2001-12-17 | シャープ株式会社 | 太め細め文字生成装置 |
JPH096316A (ja) * | 1995-06-26 | 1997-01-10 | Canon Inc | フォントファイル作成方法およびその装置 |
JP3474037B2 (ja) * | 1995-10-12 | 2003-12-08 | シャープ株式会社 | 文字パターン生成装置 |
JPH09134157A (ja) * | 1995-11-09 | 1997-05-20 | Fujitsu Ltd | ヒント付け方法及びフォントファイル構成方法 |
-
1997
- 1997-06-27 US US08/884,115 patent/US6288726B1/en not_active Expired - Lifetime
-
1998
- 1998-06-26 JP JP50568299A patent/JP4497432B2/ja not_active Expired - Fee Related
- 1998-06-26 WO PCT/US1998/013348 patent/WO1999000760A2/en not_active Application Discontinuation
- 1998-06-26 EP EP98930488A patent/EP0992006B1/en not_active Expired - Lifetime
- 1998-06-26 CA CA002293675A patent/CA2293675A1/en not_active Abandoned
- 1998-06-26 DE DE69807483T patent/DE69807483T2/de not_active Expired - Lifetime
- 1998-06-26 AU AU81716/98A patent/AU8171698A/en not_active Withdrawn
- 1998-06-26 AU AU79870/98A patent/AU7987098A/en not_active Abandoned
- 1998-06-26 WO PCT/US1998/013130 patent/WO1999000747A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US6288726B1 (en) | 2001-09-11 |
WO1999000760A2 (en) | 1999-01-07 |
AU8171698A (en) | 1999-01-19 |
JP2002507289A (ja) | 2002-03-05 |
WO1999000747A1 (en) | 1999-01-07 |
AU7987098A (en) | 1999-01-19 |
EP0992006A1 (en) | 2000-04-12 |
EP0992006B1 (en) | 2002-08-28 |
CA2293675A1 (en) | 1999-01-07 |
DE69807483T2 (de) | 2003-01-02 |
DE69807483D1 (de) | 2002-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4497432B2 (ja) | レイアウトサービスライブラリを用いたグリフの描画方法 | |
JP4873766B2 (ja) | レイアウトサービスライブラリを用いたパラグラフのレイアウト方法 | |
CA2421478C (en) | Method for selecting a font | |
Mittelbach et al. | The LATEX companion | |
US8707208B2 (en) | Font selector and method for the same | |
US7692656B2 (en) | Automatic synthesis of font tables for character layout | |
US7020838B2 (en) | System and method for identifying line breaks | |
JPS59152485A (ja) | 電子フオント管理方法 | |
CA2559198C (en) | Systems and methods for identifying complex text in a presentation data stream | |
JP3471854B2 (ja) | 文字処理装置及びその方法 | |
JP4919245B2 (ja) | 行組版装置、行組版プログラム及びそれを記録した記録媒体 | |
JP3083748B2 (ja) | グリフ・イメージの検索方法と検索装置及びグリフ・イメージ管理システム | |
CN115237515A (zh) | 一种低成本车载仪表平台的高性能字体加载与渲染方法 | |
Duval et al. | Adobe PageMaker 5.0 for Windows and for the Mac. | |
Bhatty et al. | LINUSCRIBE, a rendering engine for complex scripts on Linux | |
Engström | Internationalisation and Localisation Problems in the Chinese and Arabic Scripts | |
Khodeir | Raise the Quality of Lithographic Printing Using Open Type Technology | |
Haralambous et al. | Omega and OpenType Fonts | |
JPH11232254A (ja) | 文書データ処理装置およびそのプログラム記録媒体 | |
JPH06230921A (ja) | 情報処理方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050624 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091201 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20091224 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100301 |
|
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: 20100406 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100409 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140423 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |