JPH1195740A - 複数フォーマットのフォントからの情報の使用とアクセス - Google Patents
複数フォーマットのフォントからの情報の使用とアクセスInfo
- Publication number
- JPH1195740A JPH1195740A JP10180712A JP18071298A JPH1195740A JP H1195740 A JPH1195740 A JP H1195740A JP 10180712 A JP10180712 A JP 10180712A JP 18071298 A JP18071298 A JP 18071298A JP H1195740 A JPH1195740 A JP H1195740A
- Authority
- JP
- Japan
- Prior art keywords
- font
- information
- handler
- class
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
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)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】
【課題】 オブジェクト指向システムで複数フォーマッ
トのフォントからの情報(フォントフォーマット固有情
報を含む)にアクセスし使用する。 【解決手段】 複数のメソッド及びオブジェクトと変数
を参照して包括的な私的フォントハンドラ抽象クラスを
定義して情報の保存と検索に備える。フォントハンドラ
・クラスのサブクラスはその抽象メソッドをインプリメ
ントし、この情報の検索を規定する。更にそれぞれのフ
ォントハンドラ・サブクラスとそのインスタンスはフォ
ーマットの特定の特徴を提供する特定のインターフェイ
スをインプリメントする。フォント情報はフォントハン
ドラのインスタンスに保存する。アプリケーション開発
者にフォントハンドラから情報にアクセスする能力を与
えるフォントクラスを定義する。アプリケーション開発
者が特定のフォントの使用を望む場合、フォントクラス
のインスタンスを作成し、対応するフォントハンドラ・
インスタンスとの結合を構築する。
トのフォントからの情報(フォントフォーマット固有情
報を含む)にアクセスし使用する。 【解決手段】 複数のメソッド及びオブジェクトと変数
を参照して包括的な私的フォントハンドラ抽象クラスを
定義して情報の保存と検索に備える。フォントハンドラ
・クラスのサブクラスはその抽象メソッドをインプリメ
ントし、この情報の検索を規定する。更にそれぞれのフ
ォントハンドラ・サブクラスとそのインスタンスはフォ
ーマットの特定の特徴を提供する特定のインターフェイ
スをインプリメントする。フォント情報はフォントハン
ドラのインスタンスに保存する。アプリケーション開発
者にフォントハンドラから情報にアクセスする能力を与
えるフォントクラスを定義する。アプリケーション開発
者が特定のフォントの使用を望む場合、フォントクラス
のインスタンスを作成し、対応するフォントハンドラ・
インスタンスとの結合を構築する。
Description
【0001】
【発明が属する技術分野】本発明はフォントフォーマッ
トの分野に関する。
トの分野に関する。
【0002】
【従来の技術】語句や文章を印刷したりコンピュータデ
ィスプレイに表示する際、アプリケーションは、コンピ
ュータシステム内にある全てのフォントにそのフォーマ
ットに関係なくアクセスしたり利用できることが望まし
い。また開発者にとって特定のフォントを使用したり、
フォントのフォーマットの細部にアクセスを必要とする
ようなフォントの特定の特徴を表したいと思うことがあ
る。複数のフォントフォーマットへアクセスする現在の
メソッドはアーキテクチャないしプラットフォームに依
存するものであり、フォントの特定の特徴を全面的に利
用することを望むプログラマに十分な柔軟性を与えな
い。フォントとオブジェクト指向システムの背景を、従
来のフォントアクセス性の欠点の記述と共に以下に述べ
る。
ィスプレイに表示する際、アプリケーションは、コンピ
ュータシステム内にある全てのフォントにそのフォーマ
ットに関係なくアクセスしたり利用できることが望まし
い。また開発者にとって特定のフォントを使用したり、
フォントのフォーマットの細部にアクセスを必要とする
ようなフォントの特定の特徴を表したいと思うことがあ
る。複数のフォントフォーマットへアクセスする現在の
メソッドはアーキテクチャないしプラットフォームに依
存するものであり、フォントの特定の特徴を全面的に利
用することを望むプログラマに十分な柔軟性を与えな
い。フォントとオブジェクト指向システムの背景を、従
来のフォントアクセス性の欠点の記述と共に以下に述べ
る。
【0003】フォント 語句や文章を印刷したりコンピュータディスプレイに表
示する際、様々なデザインやスタイル、特徴を有する文
章文字を表示したり印刷するのが望ましいことがよくあ
る。例えばユーザが視覚的に魅力的と思うデザインやフ
ォーマットを有する文章文字がある。特定のデザインは
文字セットを通して特異的であったり一貫したりしてい
る。更に文字には特有の傾斜(傾斜度)や印字の重み
(線の太さ)がある場合がある。特有の傾斜や、印字重
み、指定デザインを持つ文字セットをタイプフェース
(例えばクーリエ(Courier)、ヘルベチカ(Helvetic
a)、タイム(Times))と称する。関連したあるいは類
似のパターンやデザインを有する複数のタイプフェース
をタイプフェースファミリーと称する(例えばクーリ
エ、クーリエボールド、クーリエ斜体、クーリエボール
ド斜体はクーリエという同一タイプフェースのファミリ
ーである)。
示する際、様々なデザインやスタイル、特徴を有する文
章文字を表示したり印刷するのが望ましいことがよくあ
る。例えばユーザが視覚的に魅力的と思うデザインやフ
ォーマットを有する文章文字がある。特定のデザインは
文字セットを通して特異的であったり一貫したりしてい
る。更に文字には特有の傾斜(傾斜度)や印字の重み
(線の太さ)がある場合がある。特有の傾斜や、印字重
み、指定デザインを持つ文字セットをタイプフェース
(例えばクーリエ(Courier)、ヘルベチカ(Helvetic
a)、タイム(Times))と称する。関連したあるいは類
似のパターンやデザインを有する複数のタイプフェース
をタイプフェースファミリーと称する(例えばクーリ
エ、クーリエボールド、クーリエ斜体、クーリエボール
ド斜体はクーリエという同一タイプフェースのファミリ
ーである)。
【0004】特定サイズのタイプフェース(例えば10
ポイントクーリエ)をフォントと称する。従ってタイプ
フェースは文字のデザインを定義するが、フォントは特
定のサイズと重みを有するタイプフェース内の文字セッ
ト全てを定義する。
ポイントクーリエ)をフォントと称する。従ってタイプ
フェースは文字のデザインを定義するが、フォントは特
定のサイズと重みを有するタイプフェース内の文字セッ
ト全てを定義する。
【0005】フォントを定義するもう1つのメソッドは
文字とグリフによるものである。文字は例えば小文字の
「g」のように書込み体系内の文字や数字のようなもの
を表すシンボルである。ある文字を描くと、形状がその
文字を表す。その形状をグリフと呼ぶ。
文字とグリフによるものである。文字は例えば小文字の
「g」のように書込み体系内の文字や数字のようなもの
を表すシンボルである。ある文字を描くと、形状がその
文字を表す。その形状をグリフと呼ぶ。
【0006】それぞれのグリフは使用するためには特定
の文字に写像する必要がある。文字の符号化には、その
文字をグリフコードに写像する変換表が含まれる。フォ
ントは写像したグリフの集合であり、例えば太線、中
間、斜体、ゴチック、普通などの多くの書体を有するこ
とがある。更にこれらの書体は全て同様のタイポグラフ
ィックなデザインを有する。
の文字に写像する必要がある。文字の符号化には、その
文字をグリフコードに写像する変換表が含まれる。フォ
ントは写像したグリフの集合であり、例えば太線、中
間、斜体、ゴチック、普通などの多くの書体を有するこ
とがある。更にこれらの書体は全て同様のタイポグラフ
ィックなデザインを有する。
【0007】アウトラインフォント及びビットマップフ
ォント フォント(グリフないしタイプフェース)の物理的な外
見は通常、2つのメソッドで作成できる。即ちフォント
はアウトラインフォントと称する、文字の輪郭線を作り
出す数学的な公式から作成するか、ビットマップフォン
トと称する、ドットの特定の構成やパターンから作成で
きる。アウトラインフォントの数学的公式により、印刷
される各文字の形を決めるのに使用される一連の線や曲
線ができる。文字は数学的に定義されるので、それらは
容易に異なるサイズに拡大縮小できる。しかし文字を拡
大縮小すると、拡大縮小した輪郭線が表示装置上の画素
と適切に整合しない場合がある。その結果、視覚的によ
り魅力的な文字を生成するために、アウトラインフォン
トを決める際に、しばしば輪郭線ないし照射される画素
を調節する。アウトラインフォントとは異なり、特定の
ビットマップフォントを拡大ないし縮小したものを得る
には、ビットマップフォントを別々に定義しなければな
らない。その結果、ビットマップフォントよりもアウト
ラインフォントがより頻繁に使われる。
ォント フォント(グリフないしタイプフェース)の物理的な外
見は通常、2つのメソッドで作成できる。即ちフォント
はアウトラインフォントと称する、文字の輪郭線を作り
出す数学的な公式から作成するか、ビットマップフォン
トと称する、ドットの特定の構成やパターンから作成で
きる。アウトラインフォントの数学的公式により、印刷
される各文字の形を決めるのに使用される一連の線や曲
線ができる。文字は数学的に定義されるので、それらは
容易に異なるサイズに拡大縮小できる。しかし文字を拡
大縮小すると、拡大縮小した輪郭線が表示装置上の画素
と適切に整合しない場合がある。その結果、視覚的によ
り魅力的な文字を生成するために、アウトラインフォン
トを決める際に、しばしば輪郭線ないし照射される画素
を調節する。アウトラインフォントとは異なり、特定の
ビットマップフォントを拡大ないし縮小したものを得る
には、ビットマップフォントを別々に定義しなければな
らない。その結果、ビットマップフォントよりもアウト
ラインフォントがより頻繁に使われる。
【0008】アウトラインフォントは複数の異なるフォ
ーマットで定義できる。一般的なアウトラインフォント
としてツルー(真正)タイプ(アップル社が開発し、マ
イクロソフト社とアップル社が高度化)とポストスクリ
プトタイプ1(ポストスクリプト)(アドーブシステム
ズ社が開発)の2つがある。フォントを使用する際の共
通の目標は、印刷するテキストにできるだけ近い形でデ
ィスプレイ画面にテキストを表示すること、即ちWYS
IWYG(What You See Is What You Get:表示された
ものがそのまま得られる)技術と呼ばれるものである。
正確なWYSIWYG技術を提供するため、ツルータイ
プフォント定義には他のフォントフォーマットとは異な
る画素調節(輪郭線を画素に合わせるため)が含まれて
いる。更にそれぞれのツルータイプフォント(例えばヘ
ルベチカボールドあるいはクーリエボールド斜体)はメ
モリ内の別々のファイルに保存される。次にオペレーテ
ィングシステムは保存されたファイルを使用して、必要
に応じてフォントを生成、表示、印刷する。追加のツル
ータイプフォントを加えるには、開発者ないしユーザは
適切な記憶場所にフォントファイルを追加するだけです
む。
ーマットで定義できる。一般的なアウトラインフォント
としてツルー(真正)タイプ(アップル社が開発し、マ
イクロソフト社とアップル社が高度化)とポストスクリ
プトタイプ1(ポストスクリプト)(アドーブシステム
ズ社が開発)の2つがある。フォントを使用する際の共
通の目標は、印刷するテキストにできるだけ近い形でデ
ィスプレイ画面にテキストを表示すること、即ちWYS
IWYG(What You See Is What You Get:表示された
ものがそのまま得られる)技術と呼ばれるものである。
正確なWYSIWYG技術を提供するため、ツルータイ
プフォント定義には他のフォントフォーマットとは異な
る画素調節(輪郭線を画素に合わせるため)が含まれて
いる。更にそれぞれのツルータイプフォント(例えばヘ
ルベチカボールドあるいはクーリエボールド斜体)はメ
モリ内の別々のファイルに保存される。次にオペレーテ
ィングシステムは保存されたファイルを使用して、必要
に応じてフォントを生成、表示、印刷する。追加のツル
ータイプフォントを加えるには、開発者ないしユーザは
適切な記憶場所にフォントファイルを追加するだけです
む。
【0009】ポストスクリプトフォントは、ページレイ
アウトを制御し、かつアウトラインフォントをロードし
たり縮尺するポストスクリプトページ記述言語(PD
L)で定義される。PDLはフォントと書体サイズを提
供するが、フォントの印刷や表示は出力装置(即ちプリ
ンタやモニタ)に委ねる論理プログラミング言語であ
る。PDLは縮尺と正確なWYSIWYG出力を提供す
る。
アウトを制御し、かつアウトラインフォントをロードし
たり縮尺するポストスクリプトページ記述言語(PD
L)で定義される。PDLはフォントと書体サイズを提
供するが、フォントの印刷や表示は出力装置(即ちプリ
ンタやモニタ)に委ねる論理プログラミング言語であ
る。PDLは縮尺と正確なWYSIWYG出力を提供す
る。
【0010】ツルータイプとポストスクリプトの両フォ
ント技術の柔軟性から、これら2つのフォントフォーマ
ットは広く使用されている。しかしそれらは別々にフォ
ーマットされているので、開発者は、多大な問題やプロ
グラミングなしでは、両フォーマットを同時に効率的に
使用できない。
ント技術の柔軟性から、これら2つのフォントフォーマ
ットは広く使用されている。しかしそれらは別々にフォ
ーマットされているので、開発者は、多大な問題やプロ
グラミングなしでは、両フォーマットを同時に効率的に
使用できない。
【0011】開発者は複数のフォントやフォントフォー
マットを表示したり使用したいと望むことがある。既存
の技術は複数のフォントフォーマットを利用するための
プラットフォームから独立した効率的なメソッドを提供
していない。アップルコンピュータ社は複数フォントフ
ォーマットにアクセスするために使用する1つのシステ
ムを提供している。このシステムはコンポーネントマネ
ジャーアーキテクチャと様々なフォントエンジンないし
要素からなる。開発者がフォントの描出を望むと、アプ
リケーションプログラミング・インターフェイス(AP
I)が、描出を行う要素にアクセスする。
マットを表示したり使用したいと望むことがある。既存
の技術は複数のフォントフォーマットを利用するための
プラットフォームから独立した効率的なメソッドを提供
していない。アップルコンピュータ社は複数フォントフ
ォーマットにアクセスするために使用する1つのシステ
ムを提供している。このシステムはコンポーネントマネ
ジャーアーキテクチャと様々なフォントエンジンないし
要素からなる。開発者がフォントの描出を望むと、アプ
リケーションプログラミング・インターフェイス(AP
I)が、描出を行う要素にアクセスする。
【0012】別の従来のメソッドは、オブジェクト指向
システムでインプリメントし、丈夫で複数のプラットフ
ォームを通して利用できるコンピュータプログラミング
言語であるジャバを利用するものである。本発明を完全
に理解するため、ジャバとオブジェクト指向システムに
ついて簡単に説明することが有用である。
システムでインプリメントし、丈夫で複数のプラットフ
ォームを通して利用できるコンピュータプログラミング
言語であるジャバを利用するものである。本発明を完全
に理解するため、ジャバとオブジェクト指向システムに
ついて簡単に説明することが有用である。
【0013】オブジェクト指向システム ジャバはオブジェクト指向プログラミング言語である。
オブジェクト指向プログラミングとは、一定の基本的な
構築ブロックを組み合わせ、構築ブロック間の関係を築
くことでコンピュータプログラムを作成するメソッドで
ある。オブジェクト指向プログラミングシステム内の構
築ブロックを「オブジェクト」と称する。オブジェクト
とは、データ構造(インスタンス変数)とそのデータを
使用できるか影響するオペレーション(メソッド)をま
とめたプログラミング単位である。従ってオブジェクト
はデータと、そのデータに対して行うことのできる1つ
ないし複数のオペレーションないし手順から構成され
る。データとオペレーションを単一の構築ブロックに結
合することを「カプセル化」と称する。オブジェクトは
「メッセージ」を受け取るとそのメソッドの1つを行う
ように命令される。メッセージとはあるメソッドを実行
するオブジェクトに対する命令又は、指示である。それ
はメソッド選択(名)とオブジェクトに送る複数の引数
からなる。メッセージによりそれを受け取るオブジェク
トにどのオペレーションを行うかを通知する。
オブジェクト指向プログラミングとは、一定の基本的な
構築ブロックを組み合わせ、構築ブロック間の関係を築
くことでコンピュータプログラムを作成するメソッドで
ある。オブジェクト指向プログラミングシステム内の構
築ブロックを「オブジェクト」と称する。オブジェクト
とは、データ構造(インスタンス変数)とそのデータを
使用できるか影響するオペレーション(メソッド)をま
とめたプログラミング単位である。従ってオブジェクト
はデータと、そのデータに対して行うことのできる1つ
ないし複数のオペレーションないし手順から構成され
る。データとオペレーションを単一の構築ブロックに結
合することを「カプセル化」と称する。オブジェクトは
「メッセージ」を受け取るとそのメソッドの1つを行う
ように命令される。メッセージとはあるメソッドを実行
するオブジェクトに対する命令又は、指示である。それ
はメソッド選択(名)とオブジェクトに送る複数の引数
からなる。メッセージによりそれを受け取るオブジェク
トにどのオペレーションを行うかを通知する。
【0014】オブジェクト指向プログラミングの1つの
利点はメソッドを呼び出す方法である。メッセージがオ
ブジェクトに送られても、メッセージは特定のメソッド
をどのように行うかについてオブジェクトに命令する必
要はない。オブジェクトにそのメソッドを実行するよう
に要求するだけでよい。これによりプログラム開発が大
幅に単純化される。
利点はメソッドを呼び出す方法である。メッセージがオ
ブジェクトに送られても、メッセージは特定のメソッド
をどのように行うかについてオブジェクトに命令する必
要はない。オブジェクトにそのメソッドを実行するよう
に要求するだけでよい。これによりプログラム開発が大
幅に単純化される。
【0015】オブジェクト指向プログラミング言語はほ
とんど「クラス」方式に基づいている。クラスベースの
オブジェクト指向プログラミング技法は、リーバーマン
の「オブジェクト指向システムにおける共有振る舞いの
実施するための原型オブジェクトを使用した」OOPS
LA86議事録、1986年9月、214−223頁に
全般的に記載されている。
とんど「クラス」方式に基づいている。クラスベースの
オブジェクト指向プログラミング技法は、リーバーマン
の「オブジェクト指向システムにおける共有振る舞いの
実施するための原型オブジェクトを使用した」OOPS
LA86議事録、1986年9月、214−223頁に
全般的に記載されている。
【0016】クラスは、そのクラスのインスタンス変数
とメソッドの両方を一般に含むオブジェクトの種類を定
義するものである。オブジェクトクラスはオブジェクト
の特定のインスタンスを作成するのに使用する。オブジ
ェクトクラスのインスタンスには、そのクラスについて
定義された変数とメソッドが含まれる。あるオブジェク
トクラスからは同一クラスの複数のインスタンスを作成
することができる。オブジェクトクラスから作成するそ
れぞれのインスタンスは同一種類ないしクラスのインス
タンスといえる。
とメソッドの両方を一般に含むオブジェクトの種類を定
義するものである。オブジェクトクラスはオブジェクト
の特定のインスタンスを作成するのに使用する。オブジ
ェクトクラスのインスタンスには、そのクラスについて
定義された変数とメソッドが含まれる。あるオブジェク
トクラスからは同一クラスの複数のインスタンスを作成
することができる。オブジェクトクラスから作成するそ
れぞれのインスタンスは同一種類ないしクラスのインス
タンスといえる。
【0017】クラスの階層は、オブジェクトクラス定義
が1つないし複数のサブクラスを有するように定義でき
る。サブクラスはその親(及び祖父など)の定義を継承
する。階層内のそれぞれのサブクラスは、その親クラス
(そのスーパークラスとも称する)が特定する振る舞い
に加えたり修正することができる。
が1つないし複数のサブクラスを有するように定義でき
る。サブクラスはその親(及び祖父など)の定義を継承
する。階層内のそれぞれのサブクラスは、その親クラス
(そのスーパークラスとも称する)が特定する振る舞い
に加えたり修正することができる。
【0018】例えば、従業員オブジェクトクラスには
「氏名」と「給料」インスタンス変数と「給料設定」メ
ソッドを含めることができる。従業員オブジェクトクラ
スのインスタンスは、組織内のそれぞれの従業員につい
て作成ないし例示できる。それぞれのオブジェクトイン
スタンスを「従業員」タイプのインスタンスという。そ
れぞれの従業員オブジェクトインスタンスには「氏
名」、「給料」インスタンス変数と「給料設定」メソッ
ドが含まれる。それぞれの従業員オブジェクトインスタ
ンスの「氏名」変数と「給料」変数と関係した値には組
織内の従業員の氏名と給料が含まれる。従業員の従業員
オブジェクトインスタンスにメッセージを送って「給料
設定」メソッドを呼び出し、従業員の給料(即ち従業員
の従業員オブジェクト内の「給料」変数に関係した値)
を変更できる。
「氏名」と「給料」インスタンス変数と「給料設定」メ
ソッドを含めることができる。従業員オブジェクトクラ
スのインスタンスは、組織内のそれぞれの従業員につい
て作成ないし例示できる。それぞれのオブジェクトイン
スタンスを「従業員」タイプのインスタンスという。そ
れぞれの従業員オブジェクトインスタンスには「氏
名」、「給料」インスタンス変数と「給料設定」メソッ
ドが含まれる。それぞれの従業員オブジェクトインスタ
ンスの「氏名」変数と「給料」変数と関係した値には組
織内の従業員の氏名と給料が含まれる。従業員の従業員
オブジェクトインスタンスにメッセージを送って「給料
設定」メソッドを呼び出し、従業員の給料(即ち従業員
の従業員オブジェクト内の「給料」変数に関係した値)
を変更できる。
【0019】開発者はそれぞれのサブクラスで共通のメ
ソッドの異なる実施を有することを望むことがある。例
えばクラスAがフォントのスタイルを印刷するメソッド
を定義し、クラスBがフォントのポイントサイズを印刷
するメソッドを定義するとする。それぞれのクラスで同
一のメソッドを規定する代わりに(唯一の違いは印刷す
る情報だけ)、ジャバでは開発者は情報を印刷しクラス
AとクラスBの両方でインプリメントするインタフェー
スを定義することができる。インターフェイスのクラス
定義はクラスAないしクラスBのインスタンスを所望の
結果をもたらす引数として受ける。その結果、それぞれ
のクラスはインターフェイスをインプリメントすること
を宣言し、独自のメソッドのインプリメントを作成す
る。実行時には、共通にインプリメントされたメソッド
に対する参照が決定される。インターフェイスは更に、
将来の開発者やユーザがオブジェクトの固有インスタン
スと通信するために開発者が定義しなければならない機
能を提供する。
ソッドの異なる実施を有することを望むことがある。例
えばクラスAがフォントのスタイルを印刷するメソッド
を定義し、クラスBがフォントのポイントサイズを印刷
するメソッドを定義するとする。それぞれのクラスで同
一のメソッドを規定する代わりに(唯一の違いは印刷す
る情報だけ)、ジャバでは開発者は情報を印刷しクラス
AとクラスBの両方でインプリメントするインタフェー
スを定義することができる。インターフェイスのクラス
定義はクラスAないしクラスBのインスタンスを所望の
結果をもたらす引数として受ける。その結果、それぞれ
のクラスはインターフェイスをインプリメントすること
を宣言し、独自のメソッドのインプリメントを作成す
る。実行時には、共通にインプリメントされたメソッド
に対する参照が決定される。インターフェイスは更に、
将来の開発者やユーザがオブジェクトの固有インスタン
スと通信するために開発者が定義しなければならない機
能を提供する。
【0020】オブジェクトはオブジェクト指向プログラ
ミング環境で関連コードや変数を含むモジュールを指す
のに使用する総称である。ソフトウエアプログラムは、
オブジェクト指向プログラミング言語を使用して書くこ
とができ、それによりオブジェクトを使ってプログラム
の機能性がインプリメントされる。
ミング環境で関連コードや変数を含むモジュールを指す
のに使用する総称である。ソフトウエアプログラムは、
オブジェクト指向プログラミング言語を使用して書くこ
とができ、それによりオブジェクトを使ってプログラム
の機能性がインプリメントされる。
【0021】
【発明が解決しようとする課題】サンマイクロシステム
ズ社が開発した技術は、複数フォントフォーマットを使
用した、プラットフォームから独立したメソッドを備え
ている。そのシステムは、特定のプラットフォームで使
用できる特定フォントに写像された論理的フォント名の
短いリストを開発者に提供するgetFontList
()メソッドを備えている。更に、フォントクラスはs
etFont(Font font)メソッドとget
Font()メソッドを規定する。setFont(F
ont font)メソッドにより開発者は現在フォン
トを特定し、フォントオブジェクトを引数として取るこ
とができる(フォントオブジェクト引数はしばしば引数
ブラケット内で構成される。即ち「フォント」機能はユ
ーザが特定したパラメータで新しいフォントオブジェク
トを作成、初期化、出力する)。getFont()メ
ソッドは現在のフォントを出力する。この従来のフォン
トクラスでは1つのオブジェクトからフォント固有情報
の詳細な検索は許されていない。更に、getFont
List()メソッドでは論理的フォント名しか検索で
きない。論理的フォント名とは公的なもので開発者が一
覧したり利用できる名前である。それぞれの論理的フォ
ント名は特定のプラットフォームで使用できる特定のフ
ォントに内的に写像される。更に、フォントフォーマッ
ト固有情報は利用できず、オブジェクトに保存できな
い。
ズ社が開発した技術は、複数フォントフォーマットを使
用した、プラットフォームから独立したメソッドを備え
ている。そのシステムは、特定のプラットフォームで使
用できる特定フォントに写像された論理的フォント名の
短いリストを開発者に提供するgetFontList
()メソッドを備えている。更に、フォントクラスはs
etFont(Font font)メソッドとget
Font()メソッドを規定する。setFont(F
ont font)メソッドにより開発者は現在フォン
トを特定し、フォントオブジェクトを引数として取るこ
とができる(フォントオブジェクト引数はしばしば引数
ブラケット内で構成される。即ち「フォント」機能はユ
ーザが特定したパラメータで新しいフォントオブジェク
トを作成、初期化、出力する)。getFont()メ
ソッドは現在のフォントを出力する。この従来のフォン
トクラスでは1つのオブジェクトからフォント固有情報
の詳細な検索は許されていない。更に、getFont
List()メソッドでは論理的フォント名しか検索で
きない。論理的フォント名とは公的なもので開発者が一
覧したり利用できる名前である。それぞれの論理的フォ
ント名は特定のプラットフォームで使用できる特定のフ
ォントに内的に写像される。更に、フォントフォーマッ
ト固有情報は利用できず、オブジェクトに保存できな
い。
【0022】従って、従来技術の柔軟性の欠如及び複数
のフォントの特定の特徴にアクセスできないこと、1つ
のオブジェクトからフォントフォーマットの特定の特徴
にアクセスできないことから、本発明の必要性が生じ
る。
のフォントの特定の特徴にアクセスできないこと、1つ
のオブジェクトからフォントフォーマットの特定の特徴
にアクセスできないことから、本発明の必要性が生じ
る。
【0023】
【課題を解決するための手段】本発明の1つないし複数
の実施態様では、オブジェクト指向システムで複数フォ
ーマット(フォントフォーマット固有情報を含む)のフ
ォントからの情報へのアクセスとその使用を提供する。
本発明の1つないし複数の実施態様によれば、フォント
開発者は作成したフォントをホストコンピュータシステ
ムに保存する。次に各フォントは構文解析される。包括
的な私的フォントハンドラ抽象クラスを複数メソッドと
オブジェクト及び変数の参照により定義して、情報の保
存と検索に備える。フォントハンドラ・クラスのサブク
ラスは特に抽象メソッドをインプリメントし、この情報
の検索に備える。加えて、それぞれのフォントハンドラ
・サブクラスとそのインスタンスは、フォーマットの特
定の特徴を提供する固有インターフェイスをインプリメ
ントする。その結果、フォントハンドラ・クラスは全て
のフォーマットにわたり包括的であるが、それぞれのサ
ブクラスとインスタンスは特定フォーマットで作成され
る。構文解析された情報はフォントハンドラ・オブジェ
クトのインスタンスにロードされる。
の実施態様では、オブジェクト指向システムで複数フォ
ーマット(フォントフォーマット固有情報を含む)のフ
ォントからの情報へのアクセスとその使用を提供する。
本発明の1つないし複数の実施態様によれば、フォント
開発者は作成したフォントをホストコンピュータシステ
ムに保存する。次に各フォントは構文解析される。包括
的な私的フォントハンドラ抽象クラスを複数メソッドと
オブジェクト及び変数の参照により定義して、情報の保
存と検索に備える。フォントハンドラ・クラスのサブク
ラスは特に抽象メソッドをインプリメントし、この情報
の検索に備える。加えて、それぞれのフォントハンドラ
・サブクラスとそのインスタンスは、フォーマットの特
定の特徴を提供する固有インターフェイスをインプリメ
ントする。その結果、フォントハンドラ・クラスは全て
のフォーマットにわたり包括的であるが、それぞれのサ
ブクラスとインスタンスは特定フォーマットで作成され
る。構文解析された情報はフォントハンドラ・オブジェ
クトのインスタンスにロードされる。
【0024】フォントクラスはアプリケーション開発者
にフォントハンドラから情報にアクセスする能力を与え
る。この能力は、フォントクラスのインスタンスと対応
するフォントハンドラインスタンス間の関係を確立する
ことで達成される。アプリケーション開発者が特定のフ
ォントの使用を望む場合、開発者はそのコンストラクタ
を呼び出してフォントクラスのインスタンスを作成す
る。コンストラクタは所望フォントについてフォントハ
ンドラインスタンスを探索し、見つけたら、フォントク
ラス・インスタンスにフォントハンドラ・インスタンス
に対する参照を加える。更に頻繁に使用する情報は、フ
ォントクラスの変数ないしオブジェクトにキャッシュで
きる。キャッシュされない情報は、当該フォントハンド
ラメソッドをその関連を通して呼び出すことで検索され
る。このようにして、1つのオブジェクトを使用して様
々なフォーマットのフォントにアクセスし利用できる。
加えて、アプリケーション開発者は下層のフォントハン
ドラについての知識を全く有さずに、1つのオブジェク
ト、即ちフォントクラスオブジェクトから全般的な情報
やフォーマット固有情報を検索できる。
にフォントハンドラから情報にアクセスする能力を与え
る。この能力は、フォントクラスのインスタンスと対応
するフォントハンドラインスタンス間の関係を確立する
ことで達成される。アプリケーション開発者が特定のフ
ォントの使用を望む場合、開発者はそのコンストラクタ
を呼び出してフォントクラスのインスタンスを作成す
る。コンストラクタは所望フォントについてフォントハ
ンドラインスタンスを探索し、見つけたら、フォントク
ラス・インスタンスにフォントハンドラ・インスタンス
に対する参照を加える。更に頻繁に使用する情報は、フ
ォントクラスの変数ないしオブジェクトにキャッシュで
きる。キャッシュされない情報は、当該フォントハンド
ラメソッドをその関連を通して呼び出すことで検索され
る。このようにして、1つのオブジェクトを使用して様
々なフォーマットのフォントにアクセスし利用できる。
加えて、アプリケーション開発者は下層のフォントハン
ドラについての知識を全く有さずに、1つのオブジェク
ト、即ちフォントクラスオブジェクトから全般的な情報
やフォーマット固有情報を検索できる。
【0025】本発明の1つまたは複数の実施態様では、
フォントクラスに全てのメソッドとフォントハンドラ・
クラスの参照を編入し、フォントハンドラ・クラスを除
外して利用しない。このようにして1つの公的にアクセ
ス可能なフォントクラスがフォント情報に対するアクセ
スを維持する。
フォントクラスに全てのメソッドとフォントハンドラ・
クラスの参照を編入し、フォントハンドラ・クラスを除
外して利用しない。このようにして1つの公的にアクセ
ス可能なフォントクラスがフォント情報に対するアクセ
スを維持する。
【0026】
【発明の実施の形態】複数フォーマットのフォントにわ
たりフォント固有情報を得るためオブジェクトにアクセ
スし使用するシステムを説明する。以下の説明ではクラ
スの固有名などの数々の詳細を本発明のより完全な理解
を提供するために述べる。しかしながら、当業者には、
本発明はそれらの詳細なしに実施できることが明らかで
あろう。また別の場合には、本発明を不必要に曖昧なも
のにしないためによく知られた機能を詳しく述べていな
い。
たりフォント固有情報を得るためオブジェクトにアクセ
スし使用するシステムを説明する。以下の説明ではクラ
スの固有名などの数々の詳細を本発明のより完全な理解
を提供するために述べる。しかしながら、当業者には、
本発明はそれらの詳細なしに実施できることが明らかで
あろう。また別の場合には、本発明を不必要に曖昧なも
のにしないためによく知られた機能を詳しく述べていな
い。
【0027】コンピュータ実行環境(ハードウエア)の
実施形態 本発明の実施形態は、図1に示すコンピュータ100の
ような汎用コンピュータで実行するコンピュータ読取り
可能プログラムコードの形でコンピュータソフトウエア
として実施できる。キーボード110とマウス111は
両方向システムバス118に接続する。キーボードとマ
ウスはユーザ入力をコンピュータシステムに導入し、そ
のユーザ入力を中央演算処理装置(CPU)113に伝
える。マウス111とキーボード110に加えて、ある
いはその代わりに、他の適切な入力装置を使用してもよ
い。両方向システムバス118に接続した入出力装置1
19は、プリンタ、A/V(オーディオ/ビデオ)入出
力装置のような入出力要素を示す。
実施形態 本発明の実施形態は、図1に示すコンピュータ100の
ような汎用コンピュータで実行するコンピュータ読取り
可能プログラムコードの形でコンピュータソフトウエア
として実施できる。キーボード110とマウス111は
両方向システムバス118に接続する。キーボードとマ
ウスはユーザ入力をコンピュータシステムに導入し、そ
のユーザ入力を中央演算処理装置(CPU)113に伝
える。マウス111とキーボード110に加えて、ある
いはその代わりに、他の適切な入力装置を使用してもよ
い。両方向システムバス118に接続した入出力装置1
19は、プリンタ、A/V(オーディオ/ビデオ)入出
力装置のような入出力要素を示す。
【0028】コンピュータ100には更にビデオメモリ
114、主記憶装置115、大容量記憶装置112が含
まれているが、それらは全てキーボード110、マウス
111、CPU113と共に両方向システムバス118
に接続されている。大容量記憶装置112には、磁気、
光学的ないし光磁気記憶装置などの固定ないし着脱可能
媒体あるいはあらゆるその他の使用可能な大容量記憶技
術を含めることができる。バス118には、例えばビデ
オメモリ114ないし主記憶装置115をアドレス指定
する32アドレスラインを含めることができる。システ
ムバス118には更に、例えばCPU113、主記憶装
置115、ビデオメモリ114、大容量記憶装置112
などの構成要素間でデータを転送する32ビットデータ
バスを含めることができる。あるいは、別々のデータ及
びアドレスラインの代わりに複数データ/アドレスライ
ンを使用できる。
114、主記憶装置115、大容量記憶装置112が含
まれているが、それらは全てキーボード110、マウス
111、CPU113と共に両方向システムバス118
に接続されている。大容量記憶装置112には、磁気、
光学的ないし光磁気記憶装置などの固定ないし着脱可能
媒体あるいはあらゆるその他の使用可能な大容量記憶技
術を含めることができる。バス118には、例えばビデ
オメモリ114ないし主記憶装置115をアドレス指定
する32アドレスラインを含めることができる。システ
ムバス118には更に、例えばCPU113、主記憶装
置115、ビデオメモリ114、大容量記憶装置112
などの構成要素間でデータを転送する32ビットデータ
バスを含めることができる。あるいは、別々のデータ及
びアドレスラインの代わりに複数データ/アドレスライ
ンを使用できる。
【0029】本発明の一実施形態では、CPU113は
680X0プロセッサなどのモトローラ社製のマイクロ
プロセッサ、80X86などのインテル社製のマイクロ
プロセッサ、ペンティアムプロセッサ、サンマイクロシ
ステムズ社のSPARCマイクロプロセッサである。し
かしどのようなマイクロプロセッサやマイクロコンピュ
ータでも利用可能である。主記憶装置115はダイナミ
ックランダムアクセスメモリ(DRAM)からなる。ビ
デオメモリ114はデュアルポートランダムアクセスメ
モリである。ビデオメモリ114の1つのポートはビデ
オ増幅器116に接続される。ビデオ増幅器116は陰
極管(CRT)ラスタモニタ117を駆動するのに使用
される。ビデオ増幅器116は従来技術でよく知られて
おり、いずれの適切な装置によっても実現できる。この
回路はビデオメモリ114に保存された画素データをモ
ニタ117で使用するのに適したラスタ信号に変換す
る。モニタ117は図形画像を表示するのに適したタイ
プのモニタである。
680X0プロセッサなどのモトローラ社製のマイクロ
プロセッサ、80X86などのインテル社製のマイクロ
プロセッサ、ペンティアムプロセッサ、サンマイクロシ
ステムズ社のSPARCマイクロプロセッサである。し
かしどのようなマイクロプロセッサやマイクロコンピュ
ータでも利用可能である。主記憶装置115はダイナミ
ックランダムアクセスメモリ(DRAM)からなる。ビ
デオメモリ114はデュアルポートランダムアクセスメ
モリである。ビデオメモリ114の1つのポートはビデ
オ増幅器116に接続される。ビデオ増幅器116は陰
極管(CRT)ラスタモニタ117を駆動するのに使用
される。ビデオ増幅器116は従来技術でよく知られて
おり、いずれの適切な装置によっても実現できる。この
回路はビデオメモリ114に保存された画素データをモ
ニタ117で使用するのに適したラスタ信号に変換す
る。モニタ117は図形画像を表示するのに適したタイ
プのモニタである。
【0030】コンピュータ100には更に、バス118
に接続した通信インターフェイス120を含めることが
できる。通信インターフェイス120はネットワークリ
ンク121を通してローカルネットワーク122に2方
向データ通信接続を提供する。例えば通信インターフェ
イス120が統合サービスディジタルネットワーク(I
SDN)カードないしモデムの場合、通信インターフェ
イス120は、ネットワークリンク121の一部をな
す、対応するタイプの電話線へのデータ通信接続を提供
する。通信インターフェイス120がローカルエリアネ
ットワーク(LAN)カードならば、通信インターフェ
イス120はネットワークリンク121を通して互換性
のあるLANへのデータ通信接続を提供する。無線リン
クもまた可能である。そのような実施ではいずれの場合
も、通信インターフェイス120は、様々な種類の情報
を示すディジタルデータストリームを搬送する電気、磁
気ないし光学的な信号を送受信する。
に接続した通信インターフェイス120を含めることが
できる。通信インターフェイス120はネットワークリ
ンク121を通してローカルネットワーク122に2方
向データ通信接続を提供する。例えば通信インターフェ
イス120が統合サービスディジタルネットワーク(I
SDN)カードないしモデムの場合、通信インターフェ
イス120は、ネットワークリンク121の一部をな
す、対応するタイプの電話線へのデータ通信接続を提供
する。通信インターフェイス120がローカルエリアネ
ットワーク(LAN)カードならば、通信インターフェ
イス120はネットワークリンク121を通して互換性
のあるLANへのデータ通信接続を提供する。無線リン
クもまた可能である。そのような実施ではいずれの場合
も、通信インターフェイス120は、様々な種類の情報
を示すディジタルデータストリームを搬送する電気、磁
気ないし光学的な信号を送受信する。
【0031】ネットワークリンク121は一般に、1つ
ないし複数のネットワークを通して他のデータ装置へデ
ータ通信を提供する。例えばネットワークリンク121
はローカルネットワーク122を通してホストコンピュ
ータ123へ、あるいはインターネットサービスプロバ
イダ(ISP)124が作動するデータ装置に接続でき
る。ISP124は、今日「インターネット」と広く呼
ばれている世界的なパケットデータ通信ネットワークを
通してデータ通信サービスを提供する。ローカルネット
ワーク122とインターネット125は両方とも、ディ
ジタルデータストリームを搬送する電気、磁気ないし光
学的な信号を使用する。コンピュータ100のディジタ
ルデータを搬送する、様々なネットワークを通した信号
やネットワークリンク121上の信号、通信インターフ
ェイス120を通した信号は、情報を運ぶ搬送波を例示
していたものである。
ないし複数のネットワークを通して他のデータ装置へデ
ータ通信を提供する。例えばネットワークリンク121
はローカルネットワーク122を通してホストコンピュ
ータ123へ、あるいはインターネットサービスプロバ
イダ(ISP)124が作動するデータ装置に接続でき
る。ISP124は、今日「インターネット」と広く呼
ばれている世界的なパケットデータ通信ネットワークを
通してデータ通信サービスを提供する。ローカルネット
ワーク122とインターネット125は両方とも、ディ
ジタルデータストリームを搬送する電気、磁気ないし光
学的な信号を使用する。コンピュータ100のディジタ
ルデータを搬送する、様々なネットワークを通した信号
やネットワークリンク121上の信号、通信インターフ
ェイス120を通した信号は、情報を運ぶ搬送波を例示
していたものである。
【0032】コンピュータ100はネットワーク、ネッ
トワークリンク121、通信インターフェイス120を
通してプログラムコードを始めとするメッセージやデー
タを送受信できる。インターネットの例では、サーバ1
26はインターネット125、ISP124、ローカル
ネットワーク122、通信インターフェイス120を通
してアプリケーションプログラムの要求コードを送信す
ることがある。本発明によれば、そのようなダウンロー
ドしたアプリケーションの1つは、本明細書に記述する
複数フォーマットのフォントから情報にアクセスして使
用することである。
トワークリンク121、通信インターフェイス120を
通してプログラムコードを始めとするメッセージやデー
タを送受信できる。インターネットの例では、サーバ1
26はインターネット125、ISP124、ローカル
ネットワーク122、通信インターフェイス120を通
してアプリケーションプログラムの要求コードを送信す
ることがある。本発明によれば、そのようなダウンロー
ドしたアプリケーションの1つは、本明細書に記述する
複数フォーマットのフォントから情報にアクセスして使
用することである。
【0033】受信したコードは受信時にCPU113に
より実行する、及び/又は後に実行するため大容量記憶
装置112ないし他の非揮発性記憶装置に保存される。
このようにしてコンピュータ100はアプリケーション
コードを搬送波の形で得ることができる。
より実行する、及び/又は後に実行するため大容量記憶
装置112ないし他の非揮発性記憶装置に保存される。
このようにしてコンピュータ100はアプリケーション
コードを搬送波の形で得ることができる。
【0034】上記のコンピュータシステムは例示のため
だけのものである。本発明の実施形態はどのような種類
のコンピュータシステムないしプログラミングあるいは
処理環境でも実施可能である。
だけのものである。本発明の実施形態はどのような種類
のコンピュータシステムないしプログラミングあるいは
処理環境でも実施可能である。
【0035】フォントオブジェクトの構造とインタラク
ション フォントが作成されると、フォーマット化情報が保存さ
れ、アプリケーション開発者はその情報を検索するメソ
ッドが必要になる。図5を参照すると、フォント開発者
501が所望のフォーマットで様々なフォントを開発す
ると、フォントファイルはホストコンピュータシステム
502に保存される。フォント開発者501が作成した
複数フォントフォーマットにアクセスし、利用する機能
を与えるため、本発明の1つないし複数の実施形態で
は、内部抽象フォントハンドラ・クラスを備える。抽象
クラスとは抽象機能を有するクラスである。抽象機能は
単に宣言するだけで、クラス内で定義されるインプリメ
ントを持たない。その結果、そのようなクラスのオブジ
ェクトが作成されることは決してない。抽象機能を使用
するには、抽象クラスに基づいていずれのサブクラスで
も定義しなければならない。従って抽象機能を宣言する
ことで、開発者は作成するいずれのサブクラスでもその
機能を定義することを余儀なくされる。
ション フォントが作成されると、フォーマット化情報が保存さ
れ、アプリケーション開発者はその情報を検索するメソ
ッドが必要になる。図5を参照すると、フォント開発者
501が所望のフォーマットで様々なフォントを開発す
ると、フォントファイルはホストコンピュータシステム
502に保存される。フォント開発者501が作成した
複数フォントフォーマットにアクセスし、利用する機能
を与えるため、本発明の1つないし複数の実施形態で
は、内部抽象フォントハンドラ・クラスを備える。抽象
クラスとは抽象機能を有するクラスである。抽象機能は
単に宣言するだけで、クラス内で定義されるインプリメ
ントを持たない。その結果、そのようなクラスのオブジ
ェクトが作成されることは決してない。抽象機能を使用
するには、抽象クラスに基づいていずれのサブクラスで
も定義しなければならない。従って抽象機能を宣言する
ことで、開発者は作成するいずれのサブクラスでもその
機能を定義することを余儀なくされる。
【0036】フォントハンドラ・クラスは内在的で、フ
ォントの使用を望むアプリケーション開発者はアクセス
できない。フォント情報にアクセスするため、本発明の
1つないし複数の実施形態では、フォントハンドラ・ク
ラスにアクセスし利用する公的フォントクラス(アプリ
ケーション開発者がアクセス可能)を用意する。フォン
トクラスとフォントハンドラ・クラス間の関係及びフォ
ントクラスのインプリメント化については後述する。そ
の結果、アプリケーション開発者にフォントを利用され
ることを望むフォントフォーマット開発者は、抽象メソ
ッドをインプリメントするフォントハンドラ・サブクラ
スを定義しなければならない(インプリメントするメソ
ッドの特定例に関する更なる詳細は後述する)。図3を
参照すると、フォント開発者は抽象フォントハンドラ・
クラス302に基づいてサブクラス303を定義する。
そこでフォントハンドラ・サブクラスの複数のインスタ
ンス304ー307を例示できる。
ォントの使用を望むアプリケーション開発者はアクセス
できない。フォント情報にアクセスするため、本発明の
1つないし複数の実施形態では、フォントハンドラ・ク
ラスにアクセスし利用する公的フォントクラス(アプリ
ケーション開発者がアクセス可能)を用意する。フォン
トクラスとフォントハンドラ・クラス間の関係及びフォ
ントクラスのインプリメント化については後述する。そ
の結果、アプリケーション開発者にフォントを利用され
ることを望むフォントフォーマット開発者は、抽象メソ
ッドをインプリメントするフォントハンドラ・サブクラ
スを定義しなければならない(インプリメントするメソ
ッドの特定例に関する更なる詳細は後述する)。図3を
参照すると、フォント開発者は抽象フォントハンドラ・
クラス302に基づいてサブクラス303を定義する。
そこでフォントハンドラ・サブクラスの複数のインスタ
ンス304ー307を例示できる。
【0037】フォントハンドラ・サブクラス303を定
義した後、サブクラス304−307のインスタンス
(フォントハンドラ・インスタンスと称する)をホスト
システムからのフォント情報でロードしなければならな
い。再び図5を参照して、情報をロードするため、ホス
トシステム502内の全てのフォントをステップ503
で読み取る。次にその情報をステップ504で構文解析
する。最後に情報を得た後、ステップ505でフォント
ハンドラ・インスタンスにロードする。
義した後、サブクラス304−307のインスタンス
(フォントハンドラ・インスタンスと称する)をホスト
システムからのフォント情報でロードしなければならな
い。再び図5を参照して、情報をロードするため、ホス
トシステム502内の全てのフォントをステップ503
で読み取る。次にその情報をステップ504で構文解析
する。最後に情報を得た後、ステップ505でフォント
ハンドラ・インスタンスにロードする。
【0038】フォントインターフェイス 図3を参照すると、フォント開発者はフォントハンドラ
・サブクラス303を定義しながら、当該フォントフォ
ーマットに固有の追加機能を備えたインターフェイス3
01をインプリメントする。フォントフォーマットイン
ターフェイス301をインプリメントすることで、生じ
るオブジェクトは開発者に以前に使用できなかったフォ
ントフォーマットの特定の特徴へのアクセス性を提供す
る。これらのフォントフォーマットの特定の特徴は、抽
象フォントハンドラ・クラス内で定義された抽象メソッ
ドを通してアクセス可能な標準機能に加えて設けられて
いる。
・サブクラス303を定義しながら、当該フォントフォ
ーマットに固有の追加機能を備えたインターフェイス3
01をインプリメントする。フォントフォーマットイン
ターフェイス301をインプリメントすることで、生じ
るオブジェクトは開発者に以前に使用できなかったフォ
ントフォーマットの特定の特徴へのアクセス性を提供す
る。これらのフォントフォーマットの特定の特徴は、抽
象フォントハンドラ・クラス内で定義された抽象メソッ
ドを通してアクセス可能な標準機能に加えて設けられて
いる。
【0039】例えば、本発明の1つないし複数の実施形
態では、フォント開発者に特定のフォントハンドラ・サ
ブクラスで実施できる開放型インターフェイスを提供す
る。開放型インターフェイスは開放型ないしツルー(真
正)型フォーマットのいずれかを有するフォントを表
す。インターフェイスの目標は、フォントからフォント
表(sfnt表)を出力できることである。sfnt表
にはツルー型ないし開放型フォントのそれぞれのグリフ
のフォーマット化、メトリックその他の情報が含まれ
る。本発明の1つないし複数の実施形態では、開放型イ
ンターフェイスは以下の2つのメソッドの1つないし両
方から構成できる。 (1)public abstract int getVersion () 開放型フォントのバージョンを出力。1.0を0x00
010000として表す。 (2)public abstract byte[] getFontTable (int sfn
tTag) 表を所与のタグについてのバイトのアレイとして出力。
sfnt表のタグにはcマップ、名前、ヘッドなどの項
目がある。出力したバイトアレイはメモリ内のフォント
データのコピーである。
態では、フォント開発者に特定のフォントハンドラ・サ
ブクラスで実施できる開放型インターフェイスを提供す
る。開放型インターフェイスは開放型ないしツルー(真
正)型フォーマットのいずれかを有するフォントを表
す。インターフェイスの目標は、フォントからフォント
表(sfnt表)を出力できることである。sfnt表
にはツルー型ないし開放型フォントのそれぞれのグリフ
のフォーマット化、メトリックその他の情報が含まれ
る。本発明の1つないし複数の実施形態では、開放型イ
ンターフェイスは以下の2つのメソッドの1つないし両
方から構成できる。 (1)public abstract int getVersion () 開放型フォントのバージョンを出力。1.0を0x00
010000として表す。 (2)public abstract byte[] getFontTable (int sfn
tTag) 表を所与のタグについてのバイトのアレイとして出力。
sfnt表のタグにはcマップ、名前、ヘッドなどの項
目がある。出力したバイトアレイはメモリ内のフォント
データのコピーである。
【0040】フォントハンドラ・クラスのサブクラスか
らのこの開放型インターフェイスをインプリメントする
ことで、フォント開発者は、アプリケーション開発者が
開放型ないし真正型フォーマットのいずれかのフォント
についてフォント表(フォントフォーマット固有情報を
含む)に(getFont()表メソッドを使用して)
アクセスする能力を提供する(インターフェイスは抽象
的なので、サブクラスでインプリメントする場合にフォ
ント開発者は定義する必要がある)。加えて、アプリケ
ーション開発者は開放型ないし真正型フォントバージョ
ンにアクセスして、フォントの特定の特徴を利用できる
かどうかを(バージョン取得メソッドを用いて)判定で
きる。
らのこの開放型インターフェイスをインプリメントする
ことで、フォント開発者は、アプリケーション開発者が
開放型ないし真正型フォーマットのいずれかのフォント
についてフォント表(フォントフォーマット固有情報を
含む)に(getFont()表メソッドを使用して)
アクセスする能力を提供する(インターフェイスは抽象
的なので、サブクラスでインプリメントする場合にフォ
ント開発者は定義する必要がある)。加えて、アプリケ
ーション開発者は開放型ないし真正型フォントバージョ
ンにアクセスして、フォントの特定の特徴を利用できる
かどうかを(バージョン取得メソッドを用いて)判定で
きる。
【0041】本発明の1つないし複数の実施形態では、
フォントハンドラ・クラスのサブクラスにより複数マス
タインターフェイスを実施できる。複数マスタインター
フェイスは、タイプ1の複数マスタフォント(ポストス
クリプトフォント)を表す。本発明の1つないし複数の
実施形態では、複数マスタインターフェイスは例えば以
下の6つのメソッドの1つないし複数のもので構成でき
る。
フォントハンドラ・クラスのサブクラスにより複数マス
タインターフェイスを実施できる。複数マスタインター
フェイスは、タイプ1の複数マスタフォント(ポストス
クリプトフォント)を表す。本発明の1つないし複数の
実施形態では、複数マスタインターフェイスは例えば以
下の6つのメソッドの1つないし複数のもので構成でき
る。
【0042】(1)public abstract int getNumDesign
Axes() 複数マスタデザイン制御値の数を出力。デザイン軸には
幅、重み、光学的縮尺などが含まれる。 (2)public abstract float[] getDesignAxisRange
s() それぞれの軸について[from -> to]の形でインターリー
ブしたデザイン限度のアレイを出力。例えば重みについ
てのデザイン限度は0.1から1.0となる。値はgetD
esignAxisNames()により出力されるものと同一順序で出
力される。 (3)public abstract float[] getDesignAxisDefault
s() それぞれの軸についてデフォルトデザイン値のアレイを
出力。例えば重みについてのデフォルト値は1.6とな
る。同値はgetDesignAxisNames()により出力されるもの
と同一順序で出力される。 (4)public abstract String[] getDesignAxisName
s() それぞれのデザイン軸についての名前を出力。これはま
た、それぞれの軸を出力する順序を決定する。 (5)public abstract Font deriveMMFont (float axe
s[]) アレイによって示されるデザイン軸値に基づいて複数マ
スタフォントの新しいインスタンスを作成。アレイのサ
イズはgetDesignAxisNames()から出力される値に対応
し、アレイ要素の値は getDesignAxesLimits()により示
される限度内に入らなければならない。エラーの場合は
NULLを出力。 (6)public abstract Font deriveMMFont(float glyp
hWidths,float avgStemWidth,float typicalCapHeight,
float typicalXHeight,float italicAngle) 詳細なメトリック情報に基づき、複数マスタフォントの
新しいインスタンスを作成。エラーの場合はNULLを
出力。glyphWidths(グリフ幅)はフォント
スペース内のそれぞれのグリフの所望の幅を示すフロー
トのアレイである。avgStemWidthはフォン
トスペース内の全体的なフォントについての平均的なス
テム幅である。typicalCapHeightは一
般的な大文字の高さである。typicalXHeig
htは一般的な小文字の高さである。italicAn
gleはイタリック体が傾いた角度を垂直線から反時計
方向の度数で示す角度である。
Axes() 複数マスタデザイン制御値の数を出力。デザイン軸には
幅、重み、光学的縮尺などが含まれる。 (2)public abstract float[] getDesignAxisRange
s() それぞれの軸について[from -> to]の形でインターリー
ブしたデザイン限度のアレイを出力。例えば重みについ
てのデザイン限度は0.1から1.0となる。値はgetD
esignAxisNames()により出力されるものと同一順序で出
力される。 (3)public abstract float[] getDesignAxisDefault
s() それぞれの軸についてデフォルトデザイン値のアレイを
出力。例えば重みについてのデフォルト値は1.6とな
る。同値はgetDesignAxisNames()により出力されるもの
と同一順序で出力される。 (4)public abstract String[] getDesignAxisName
s() それぞれのデザイン軸についての名前を出力。これはま
た、それぞれの軸を出力する順序を決定する。 (5)public abstract Font deriveMMFont (float axe
s[]) アレイによって示されるデザイン軸値に基づいて複数マ
スタフォントの新しいインスタンスを作成。アレイのサ
イズはgetDesignAxisNames()から出力される値に対応
し、アレイ要素の値は getDesignAxesLimits()により示
される限度内に入らなければならない。エラーの場合は
NULLを出力。 (6)public abstract Font deriveMMFont(float glyp
hWidths,float avgStemWidth,float typicalCapHeight,
float typicalXHeight,float italicAngle) 詳細なメトリック情報に基づき、複数マスタフォントの
新しいインスタンスを作成。エラーの場合はNULLを
出力。glyphWidths(グリフ幅)はフォント
スペース内のそれぞれのグリフの所望の幅を示すフロー
トのアレイである。avgStemWidthはフォン
トスペース内の全体的なフォントについての平均的なス
テム幅である。typicalCapHeightは一
般的な大文字の高さである。typicalXHeig
htは一般的な小文字の高さである。italicAn
gleはイタリック体が傾いた角度を垂直線から反時計
方向の度数で示す角度である。
【0043】上記の6つのメソッドは(deriveM
MFontメソッドを使用して)複数のマスタタイプの
フォントの作成と使用並びにポストスクリプトフォント
から(getDesignAxisDefaults,
getDesignAxisNames, getD
esignAxisRanges, getNumDe
signAxesメソッドを使用して)フォーマット固
有情報の検索を規定する。
MFontメソッドを使用して)複数のマスタタイプの
フォントの作成と使用並びにポストスクリプトフォント
から(getDesignAxisDefaults,
getDesignAxisNames, getD
esignAxisRanges, getNumDe
signAxesメソッドを使用して)フォーマット固
有情報の検索を規定する。
【0044】複数マスタインターフェイス、開放型イン
ターフェイスあるいはフォントハンドラ・サブクラスそ
れ自身のその他のフォントフォーマット固有インターフ
ェイスのようなフォントフォーマット固有インターフェ
イスをインプリメントすることで、いずれのフォーマッ
トでも全てのフォントについて要求される標準情報と、
フォントの特定フォーマットの特有の特別な情報の両方
を提供するのに1つのオブジェクトしか必要でなくな
る。
ターフェイスあるいはフォントハンドラ・サブクラスそ
れ自身のその他のフォントフォーマット固有インターフ
ェイスのようなフォントフォーマット固有インターフェ
イスをインプリメントすることで、いずれのフォーマッ
トでも全てのフォントについて要求される標準情報と、
フォントの特定フォーマットの特有の特別な情報の両方
を提供するのに1つのオブジェクトしか必要でなくな
る。
【0045】図3を参照すると、インターフェイス30
1をインプリメントするのに、フォントフォーマット開
発者は単に、インターフェイスの1つをインプリメント
し、関連メソッドを定義するフォントハンドラ・クラス
302のサブクラス303しか作成する必要がなくな
る。フォント開発者が定義しなければならない機能は、
抽象フォントハンドラ・クラス302とインターフェイ
ス301が提供する。例えばフォントハンドラ・クラス
がgetMetrics()とgetFamilyNa
me()の2つのメソッドを規定し、複数マスタインタ
ーフェイスがgetDesignAxisName
s()の1つのメソッドを規定するならば、フォント開
発者は複数マスタインターフェイスをインプリメントす
るフォントハンドラ・サブクラスで3つの全てのメソッ
ドを定義しなければならない。関連メソッドを定義した
後、開発者はサブクラスのインスタンスを作成できる。
1をインプリメントするのに、フォントフォーマット開
発者は単に、インターフェイスの1つをインプリメント
し、関連メソッドを定義するフォントハンドラ・クラス
302のサブクラス303しか作成する必要がなくな
る。フォント開発者が定義しなければならない機能は、
抽象フォントハンドラ・クラス302とインターフェイ
ス301が提供する。例えばフォントハンドラ・クラス
がgetMetrics()とgetFamilyNa
me()の2つのメソッドを規定し、複数マスタインタ
ーフェイスがgetDesignAxisName
s()の1つのメソッドを規定するならば、フォント開
発者は複数マスタインターフェイスをインプリメントす
るフォントハンドラ・サブクラスで3つの全てのメソッ
ドを定義しなければならない。関連メソッドを定義した
後、開発者はサブクラスのインスタンスを作成できる。
【0046】フォントの初期化 図3、5を参照すると、フォント開発者はインターフェ
イス301の一つをインプリメントするフォントハンド
ラ・クラス302のサブクラス303を作成する。この
初期化において、ホストシステムのフォント情報をステ
ップ503で読み取り、ステップ504で情報の構文解
析を行い、ステップ505でフォントハンドラ・サブク
ラス304−307のインスタンスを作成し、情報をイ
ンスタンスにロードする。更に情報をフォントリストに
キャッシュする。従ってホストシステム内のそれぞれの
フォントについて、フォントハンドラ・サブクラスのイ
ンスタンスが構成され、例示される。コンストラクタと
は特定クラスの新しいインスタンスを出力する機能であ
る。例えば1つないし複数の実施形態では、フォントハ
ンドラ・クラスのコンストラクタは以下のものとするこ
とができる。public FontHandler(String fontFileToke
n, int fontFormat, int fontID)ないしpublic FontHan
dler(InputStream in, int fontFormat, int fontID)
イス301の一つをインプリメントするフォントハンド
ラ・クラス302のサブクラス303を作成する。この
初期化において、ホストシステムのフォント情報をステ
ップ503で読み取り、ステップ504で情報の構文解
析を行い、ステップ505でフォントハンドラ・サブク
ラス304−307のインスタンスを作成し、情報をイ
ンスタンスにロードする。更に情報をフォントリストに
キャッシュする。従ってホストシステム内のそれぞれの
フォントについて、フォントハンドラ・サブクラスのイ
ンスタンスが構成され、例示される。コンストラクタと
は特定クラスの新しいインスタンスを出力する機能であ
る。例えば1つないし複数の実施形態では、フォントハ
ンドラ・クラスのコンストラクタは以下のものとするこ
とができる。public FontHandler(String fontFileToke
n, int fontFormat, int fontID)ないしpublic FontHan
dler(InputStream in, int fontFormat, int fontID)
【0047】第2のコンストラクタのパラメータは開発
者に、フォントに関する全ての必要な情報をフォントハ
ンドラ・オブジェクトに与える能力を提供する。例えば
入力ストリームは(ストリーム形式の)ホストシステム
フォント情報であり、フォントフォーマットはフォーマ
ット(例えばツルータイプあるいはタイプ1)を特定
し、フォントIDはフォントの書体(例えばヘルベチカ
ボールド)を同定する独自のIDを示す。このようにホ
ストシステム内でそれぞれのフォントについてフォント
ハンドラ・オブジェクトを作成する。
者に、フォントに関する全ての必要な情報をフォントハ
ンドラ・オブジェクトに与える能力を提供する。例えば
入力ストリームは(ストリーム形式の)ホストシステム
フォント情報であり、フォントフォーマットはフォーマ
ット(例えばツルータイプあるいはタイプ1)を特定
し、フォントIDはフォントの書体(例えばヘルベチカ
ボールド)を同定する独自のIDを示す。このようにホ
ストシステム内でそれぞれのフォントについてフォント
ハンドラ・オブジェクトを作成する。
【0048】フォントハンドラはフォントハンドラのイ
ンスタンスに直接的に与えられた情報を保存できたりで
きなかったりする。図4でフォントハンドラ400に
は、情報が保存された他のフォントクラス401−40
5の参照を含めることができる。例えばフォントハンド
ラ400には、テキストを描くのに使用する最低レベル
の表現であり、正確なグリフコードと位置を含むグリフ
セットクラス401に対する参照を含めることができ
る。更にフォントハンドラ400には、例えばフォント
特徴クラス402、グリフメトリッククラス403、グ
リフメトリックHVクラス404、フォントデザイン・
メトリックス405に対する参照を含めることができ
る。本発明の1つないし複数の実施形態では、フォント
ハンドラ・クラスには変数ないしオブジェクトに保存さ
れた情報を検索するメソッドを含めることができる。例
えばフォントハンドラ・クラスには以下のメソッドの1
つないし複数のものを含めることができる。 (1)public BezierPath createOutline (int numGlyp
hs, int[] glyphCode,Point2D origin, float[] xOffse
t, float[] xOffset,AffineTransoform trans, boolean
hinted) createOutline (輪郭線作成)メソッド
は所与のグリフコードの輪郭線を検索し、輪郭線をベジ
エ経路として出力。 (2)public Hashtable getDefaultEncoding() getDefaultEncoding(デフォルト符
号化取得)メソッドは、フォントがキー値対として有す
る符号化を出力。キーはユニコード文字コードで、値は
フォント内のグリフID。 (3)public GlyphMetrics[] getMetrics(int numGlyp
hs, int[] glyphCodes, AffineTransfo
rm trans) getMetrics(メトリックス取得)メソッドは
所与のグリフについてメトリックスを検索。 (4)public String getFontFullName() getFontFullName (フォントフルネー
ム取得)メソッドはフォントのフォント書体名(例:ヘ
ルベチカボールド)を検索(異なる種類のフォント名は
後述)。 (5)public String getPSName() getPSName (PS名取得)メソッドはフォン
トのポストスクリプトフォント書体名(例:ヘルベチカ
ボールド)を検索。 (6)public String getFamilyName() getFamilyName(ファミリー名取得)メソ
ッドはフォントのファミリー名(例:ヘルベチカ)を検
索。 (7)public int getGlyphIndex(char charcode) getGlyphIndex(グリフインデックス取
得)メソッドは特定文字コードについてグリフコードを
検索。 上述のメソッドに加えてフォントハンドラには多くの追
加メソッドを含めて全ての関連情報を提供できる。
ンスタンスに直接的に与えられた情報を保存できたりで
きなかったりする。図4でフォントハンドラ400に
は、情報が保存された他のフォントクラス401−40
5の参照を含めることができる。例えばフォントハンド
ラ400には、テキストを描くのに使用する最低レベル
の表現であり、正確なグリフコードと位置を含むグリフ
セットクラス401に対する参照を含めることができ
る。更にフォントハンドラ400には、例えばフォント
特徴クラス402、グリフメトリッククラス403、グ
リフメトリックHVクラス404、フォントデザイン・
メトリックス405に対する参照を含めることができ
る。本発明の1つないし複数の実施形態では、フォント
ハンドラ・クラスには変数ないしオブジェクトに保存さ
れた情報を検索するメソッドを含めることができる。例
えばフォントハンドラ・クラスには以下のメソッドの1
つないし複数のものを含めることができる。 (1)public BezierPath createOutline (int numGlyp
hs, int[] glyphCode,Point2D origin, float[] xOffse
t, float[] xOffset,AffineTransoform trans, boolean
hinted) createOutline (輪郭線作成)メソッド
は所与のグリフコードの輪郭線を検索し、輪郭線をベジ
エ経路として出力。 (2)public Hashtable getDefaultEncoding() getDefaultEncoding(デフォルト符
号化取得)メソッドは、フォントがキー値対として有す
る符号化を出力。キーはユニコード文字コードで、値は
フォント内のグリフID。 (3)public GlyphMetrics[] getMetrics(int numGlyp
hs, int[] glyphCodes, AffineTransfo
rm trans) getMetrics(メトリックス取得)メソッドは
所与のグリフについてメトリックスを検索。 (4)public String getFontFullName() getFontFullName (フォントフルネー
ム取得)メソッドはフォントのフォント書体名(例:ヘ
ルベチカボールド)を検索(異なる種類のフォント名は
後述)。 (5)public String getPSName() getPSName (PS名取得)メソッドはフォン
トのポストスクリプトフォント書体名(例:ヘルベチカ
ボールド)を検索。 (6)public String getFamilyName() getFamilyName(ファミリー名取得)メソ
ッドはフォントのファミリー名(例:ヘルベチカ)を検
索。 (7)public int getGlyphIndex(char charcode) getGlyphIndex(グリフインデックス取
得)メソッドは特定文字コードについてグリフコードを
検索。 上述のメソッドに加えてフォントハンドラには多くの追
加メソッドを含めて全ての関連情報を提供できる。
【0049】フォントクラス フォントハンドラ・クラスは私的なものでアプリケーシ
ョン開発者はアクセスすることができない。その結果、
フォント情報へのアクセスを提供するため、本発明の1
つないし複数の実施形態では、フォントハンドラ・クラ
スにアクセスする公的フォントクラスを規定する。実施
形態では、フォントクラスにフォントハンドラに対する
私的参照を含める。アプリケーション開発者は私的変数
ないしオブジェクトには直接アクセスできないが、(ユ
ーザが呼び出すことのできる)公的メソッドはそれらに
アクセスできる。その結果、フォントクラスは、フォン
トハンドラ(及びその変数やメソッド)にアクセスする
公的メソッドを規定できる。図6において、フォントク
ラス601はフォントハンドラ・クラス602(ないし
フォントハンドラ・クラスのサブクラス)に対する参照
を含む。上述のように、フォントハンドラ・クラス60
2には他の数々のオブジェクト603−605に対する
参照を含めることができる。
ョン開発者はアクセスすることができない。その結果、
フォント情報へのアクセスを提供するため、本発明の1
つないし複数の実施形態では、フォントハンドラ・クラ
スにアクセスする公的フォントクラスを規定する。実施
形態では、フォントクラスにフォントハンドラに対する
私的参照を含める。アプリケーション開発者は私的変数
ないしオブジェクトには直接アクセスできないが、(ユ
ーザが呼び出すことのできる)公的メソッドはそれらに
アクセスできる。その結果、フォントクラスは、フォン
トハンドラ(及びその変数やメソッド)にアクセスする
公的メソッドを規定できる。図6において、フォントク
ラス601はフォントハンドラ・クラス602(ないし
フォントハンドラ・クラスのサブクラス)に対する参照
を含む。上述のように、フォントハンドラ・クラス60
2には他の数々のオブジェクト603−605に対する
参照を含めることができる。
【0050】フォントオブジェクトから検索できる異な
る名前には、論理フォント、フォント書体名(フォント
名と称する)及びファミリー名の3つがある。ファミリ
ー名はヘルベチカのようにいくつかの書体にわたりタイ
ポグラフ的なデザインを決定するフォントファミリーの
名前である。フォント名は特定のフォント書体(例:ヘ
ルベチカボールド)の名前であり、ファミリー名(例:
ヘルベチカ)とスタイル(例:ボールド)からなる。フ
ォント書体名はフォントを特定するのに使用すべきもの
である。フォント書体名はホストシステム内の実際のフ
ォントを意味し、ホストシステム内の実際のフォントに
写像されただけの論理名は同定しない。
る名前には、論理フォント、フォント書体名(フォント
名と称する)及びファミリー名の3つがある。ファミリ
ー名はヘルベチカのようにいくつかの書体にわたりタイ
ポグラフ的なデザインを決定するフォントファミリーの
名前である。フォント名は特定のフォント書体(例:ヘ
ルベチカボールド)の名前であり、ファミリー名(例:
ヘルベチカ)とスタイル(例:ボールド)からなる。フ
ォント書体名はフォントを特定するのに使用すべきもの
である。フォント書体名はホストシステム内の実際のフ
ォントを意味し、ホストシステム内の実際のフォントに
写像されただけの論理名は同定しない。
【0051】フォントクラス・インスタンスは、ホスト
システムのシステム資源に存在するフォント書体のコレ
クションからフォント書体のインスタンスを表す(シス
テム資源にあるフォント書体はフォント開発者(例:ア
ドーブ)が定義し、フォントハンドラにロードする)。
例えば、ヘルベチカボールドやクーリエボールドイタリ
ックなどは、システム資源ないしフォントハンドライン
スタンスに保存するフォント書体である。フォント書体
と関係したフォントオブジェクトにはサイズ、スタイ
ル、変形及びフォント機能がそれぞれ異なるものがいく
つかあり得る。1実施形態では、getAllFont
s()メソッドがシステム内で利用できる全てのフォン
ト書体のアレイを出力する(フォントハンドラの初期化
時にキャッシュしたフォントのリストを出力するだ
け)。それらのフォント書体はサイズ1、識別変形及び
デフォルトフォント機能でフォントオブジェクトとして
出力される。それらの基本フォントは次にフォントクラ
スのフォント導出メソッド(後述)を通して様々なサイ
ズ、スタイル、変形及びフォント機能を有する新しいフ
ォントオブジェクトを導出するのに使用できる。
システムのシステム資源に存在するフォント書体のコレ
クションからフォント書体のインスタンスを表す(シス
テム資源にあるフォント書体はフォント開発者(例:ア
ドーブ)が定義し、フォントハンドラにロードする)。
例えば、ヘルベチカボールドやクーリエボールドイタリ
ックなどは、システム資源ないしフォントハンドライン
スタンスに保存するフォント書体である。フォント書体
と関係したフォントオブジェクトにはサイズ、スタイ
ル、変形及びフォント機能がそれぞれ異なるものがいく
つかあり得る。1実施形態では、getAllFont
s()メソッドがシステム内で利用できる全てのフォン
ト書体のアレイを出力する(フォントハンドラの初期化
時にキャッシュしたフォントのリストを出力するだ
け)。それらのフォント書体はサイズ1、識別変形及び
デフォルトフォント機能でフォントオブジェクトとして
出力される。それらの基本フォントは次にフォントクラ
スのフォント導出メソッド(後述)を通して様々なサイ
ズ、スタイル、変形及びフォント機能を有する新しいフ
ォントオブジェクトを導出するのに使用できる。
【0052】フォントクラスの初期化 本発明の1実施形態のフォントクラスは複数のメソッド
(後述)及び例えば名前、スタイル、サイズなどの1つ
ないし複数の公的変数を規定する。フォントクラスのそ
れぞれのインスタンスの作成と初期化を行うと、変数は
データで例示される。「名前」変数はフォントの特定名
で例示され、「スタイル」変数はフォントのスタイルで
例示され(プレインあるいはボールド、イタリック、ボ
ールド+イタリックのいずれか)、「サイズ」変数は最
も近い整数に丸めたフォントのポイントサイズで例示さ
れる。
(後述)及び例えば名前、スタイル、サイズなどの1つ
ないし複数の公的変数を規定する。フォントクラスのそ
れぞれのインスタンスの作成と初期化を行うと、変数は
データで例示される。「名前」変数はフォントの特定名
で例示され、「スタイル」変数はフォントのスタイルで
例示され(プレインあるいはボールド、イタリック、ボ
ールド+イタリックのいずれか)、「サイズ」変数は最
も近い整数に丸めたフォントのポイントサイズで例示さ
れる。
【0053】図2で、フォントクラス201は特定の名
前、スタイル、ポイントサイズから新しいフォントを作
成するコンストラクタ202を規定する。フォントクラ
ス201のインスタンス203−206を作成し、オブ
ジェクト203−206を適切なデータで例示するた
め、当該情報をパラメータ(名前、スタイル、サイズ)
として特定しつつフォントコンストラクタメソッド20
2を呼び出す。以下はフォントクラスコンストラクタを
なすものである。 public Font(String name, int style, int size)
前、スタイル、ポイントサイズから新しいフォントを作
成するコンストラクタ202を規定する。フォントクラ
ス201のインスタンス203−206を作成し、オブ
ジェクト203−206を適切なデータで例示するた
め、当該情報をパラメータ(名前、スタイル、サイズ)
として特定しつつフォントコンストラクタメソッド20
2を呼び出す。以下はフォントクラスコンストラクタを
なすものである。 public Font(String name, int style, int size)
【0054】上記のコンストラクタは特定の名前、スタ
イル、ポイントサイズから新しいフォントオブジェクト
を作成する。「名前」パラメータはフォント名を特定す
る文字列である。フォント名は論理的フォントでもフォ
ント書体名でもよい。「スタイル」パラメータは整数
で、フォントのスタイル定数を表す。「スタイル」定数
はプレインあるいはボールド、イタリック、ボールド+
イタリックのいずれかである。「サイズ」パラメータは
整数でフォントのポイントサイズを表す。
イル、ポイントサイズから新しいフォントオブジェクト
を作成する。「名前」パラメータはフォント名を特定す
る文字列である。フォント名は論理的フォントでもフォ
ント書体名でもよい。「スタイル」パラメータは整数
で、フォントのスタイル定数を表す。「スタイル」定数
はプレインあるいはボールド、イタリック、ボールド+
イタリックのいずれかである。「サイズ」パラメータは
整数でフォントのポイントサイズを表す。
【0055】図7にフォントクラスオブジェクトを初期
化するコンストラクタの過程を示す。ステップ701で
はアプリケーション開発者が所望のフォント名を選択す
る。フォント名を選択するため、開発者はコンストラク
タ呼び出しで単に所望の名前をパラメータとして指定す
る。コンストラクタはステップ702でホストシステム
内の全てのフォントのリスト(フォントハンドラ・オブ
ジェクトに構文解析)をシステムから検索する。ステッ
プ703では、指定した名前が既存のフォントと対応す
るかどうか(指定された名前をフォントリストと比較す
ることで)判定する。指定された名前のフォントが存在
する場合は、ステップ704で当該フォントハンドラ・
オブジェクトを検索する。指定された名前のフォントが
存在しない場合は、ステップ705で代わりのあるいは
相当するフォントを含むフォントハンドラ・オブジェク
トを検索する。ステップ706では、フォントクラスオ
ブジェクトのインスタンスを作成する(このオブジェク
トは先に割り当てられている可能性がある)。次にフォ
ントクラス・インスタンスを情報で例示する。ステップ
707では、(対応するフォントハンドラ・インスタン
スに参照ないしポインタを加えることで)フォントクラ
ス・インスタンスを対応するフォントハンドラ・オブジ
ェクトに関連づける。フォントクラスは、毎回対応する
フォントハンドラにアクセスせずに頻繁に使用する情報
を検索するためフォントハンドラからのデータで例示さ
れるいくつかの公的参照(変数ないしオブジェクト)を
含んでいる。この初期化時のデータの例示をキャッシン
グと称する。ステップ708では、頻繁に使用する情報
をフォントクラス・オブジェクトにキャッシュする。本
発明の実施形態では、以下のフォントクラス変数の1つ
ないし複数のものを使用して頻繁に使用するデータを保
存できる。 (1)protected String name コンストラクタにわたすフォントの名前(例:セリフ、
ヘルベチカ、クーリエなど)。 (2)protected int style コンストラクタにわたすフォントのスタイル。これはプ
レインあるいはボールド、イタリック、ボールド+イタ
リック。 (3)protected int size 最も近い整数に丸めたフォントのポイントサイズ。
化するコンストラクタの過程を示す。ステップ701で
はアプリケーション開発者が所望のフォント名を選択す
る。フォント名を選択するため、開発者はコンストラク
タ呼び出しで単に所望の名前をパラメータとして指定す
る。コンストラクタはステップ702でホストシステム
内の全てのフォントのリスト(フォントハンドラ・オブ
ジェクトに構文解析)をシステムから検索する。ステッ
プ703では、指定した名前が既存のフォントと対応す
るかどうか(指定された名前をフォントリストと比較す
ることで)判定する。指定された名前のフォントが存在
する場合は、ステップ704で当該フォントハンドラ・
オブジェクトを検索する。指定された名前のフォントが
存在しない場合は、ステップ705で代わりのあるいは
相当するフォントを含むフォントハンドラ・オブジェク
トを検索する。ステップ706では、フォントクラスオ
ブジェクトのインスタンスを作成する(このオブジェク
トは先に割り当てられている可能性がある)。次にフォ
ントクラス・インスタンスを情報で例示する。ステップ
707では、(対応するフォントハンドラ・インスタン
スに参照ないしポインタを加えることで)フォントクラ
ス・インスタンスを対応するフォントハンドラ・オブジ
ェクトに関連づける。フォントクラスは、毎回対応する
フォントハンドラにアクセスせずに頻繁に使用する情報
を検索するためフォントハンドラからのデータで例示さ
れるいくつかの公的参照(変数ないしオブジェクト)を
含んでいる。この初期化時のデータの例示をキャッシン
グと称する。ステップ708では、頻繁に使用する情報
をフォントクラス・オブジェクトにキャッシュする。本
発明の実施形態では、以下のフォントクラス変数の1つ
ないし複数のものを使用して頻繁に使用するデータを保
存できる。 (1)protected String name コンストラクタにわたすフォントの名前(例:セリフ、
ヘルベチカ、クーリエなど)。 (2)protected int style コンストラクタにわたすフォントのスタイル。これはプ
レインあるいはボールド、イタリック、ボールド+イタ
リック。 (3)protected int size 最も近い整数に丸めたフォントのポイントサイズ。
【0056】図2は上記の3つの変数を規定するいくつ
かのフォントクラス・オブジェクトの例示の(あるいは
キャッシング)の構造と結果を示す。コンストラクタ
は、対応するフォントハンドラ・インスタンスに与えら
れた値に等しいオブジェクトの3つの変数を設定する。
例えばボールドでポイントサイズが10の「セリフ」と
呼ばれるフォントを作成するため、開発者は新フォント
(セリフ、ボールド、10)という機能呼び出しを行
う。対応するフォントハンドラ・オブジェクトが見つか
れば、例示オブジェクト203が生じる。アプリケーシ
ョン開発者が使用を望む全てのフォントについて、別々
のオブジェクトを作成する。例えば単にポイントサイズ
が異なるだけ(例えば10ポイントと12ポイント)の
2つのフォントを有することを望むならば、2つの別々
のフォントクラスのインスタンスを作成する(例えばオ
ブジェクト203とオブジェクト204)。同様に開発
者がスタイルが異なる2つのフォント(例えばボールド
とイタリック)を有することを望む場合は、2つの別々
のフォントクラスのインスタンスを作成する(例えばオ
ブジェクト204toオブジェクト205)。同様に、
開発者が異なる書体ないし論理名を有するフォント(例
えばオブジェクト206のヘルベチカ)を有することを
望む場合は、追加のインスタンスを作成する。このよう
にして、開発者が使用を望むそれぞれのフォントについ
てフォントオブジェクトを例示する。
かのフォントクラス・オブジェクトの例示の(あるいは
キャッシング)の構造と結果を示す。コンストラクタ
は、対応するフォントハンドラ・インスタンスに与えら
れた値に等しいオブジェクトの3つの変数を設定する。
例えばボールドでポイントサイズが10の「セリフ」と
呼ばれるフォントを作成するため、開発者は新フォント
(セリフ、ボールド、10)という機能呼び出しを行
う。対応するフォントハンドラ・オブジェクトが見つか
れば、例示オブジェクト203が生じる。アプリケーシ
ョン開発者が使用を望む全てのフォントについて、別々
のオブジェクトを作成する。例えば単にポイントサイズ
が異なるだけ(例えば10ポイントと12ポイント)の
2つのフォントを有することを望むならば、2つの別々
のフォントクラスのインスタンスを作成する(例えばオ
ブジェクト203とオブジェクト204)。同様に開発
者がスタイルが異なる2つのフォント(例えばボールド
とイタリック)を有することを望む場合は、2つの別々
のフォントクラスのインスタンスを作成する(例えばオ
ブジェクト204toオブジェクト205)。同様に、
開発者が異なる書体ないし論理名を有するフォント(例
えばオブジェクト206のヘルベチカ)を有することを
望む場合は、追加のインスタンスを作成する。このよう
にして、開発者が使用を望むそれぞれのフォントについ
てフォントオブジェクトを例示する。
【0057】スタイルと(整数としての)ポイントサイ
ズに加えて、様々な追加フォントクラス参照を情報を有
して使用しキャシュできる。本発明ではそのような参照
にはファミリー(フォントのファミリー名を含む変
数)、ポイントサイズ(フロートのフォントのポイント
サイズを含む変数)、あるいはフォントデスクリプタ
(キー/値の対として示されるフォントについての追加
の性質を含むデスクリプタオブジェクト)が含まれる。
本発明は上記の参照には限定されず、上記のものよりも
多くのあるいは少ない参照を含めることができる。それ
らの参照は公的(アプリケーション開発者にとってアク
セス可能)でも私的(アプリケーション開発者はフォン
トクラス内の公的メソッドを通してのみアクセス可能)
でもよい。参照が私的ならば、参照内に保存された情報
を得るにはフォントクラスのメソッドを使用する。例え
ばファミリー変数が私的ならば、開発者はgetFam
ily()(ファミリー取得)メソッドを利用して情報
を検索する必要があろう。このように、フォント開発者
にとって重要なフォント情報へのアクセスは限られてい
る(エンドユーザやアプリケーション開発者は私的な情
報を変改したり直接検索する権限はない)。
ズに加えて、様々な追加フォントクラス参照を情報を有
して使用しキャシュできる。本発明ではそのような参照
にはファミリー(フォントのファミリー名を含む変
数)、ポイントサイズ(フロートのフォントのポイント
サイズを含む変数)、あるいはフォントデスクリプタ
(キー/値の対として示されるフォントについての追加
の性質を含むデスクリプタオブジェクト)が含まれる。
本発明は上記の参照には限定されず、上記のものよりも
多くのあるいは少ない参照を含めることができる。それ
らの参照は公的(アプリケーション開発者にとってアク
セス可能)でも私的(アプリケーション開発者はフォン
トクラス内の公的メソッドを通してのみアクセス可能)
でもよい。参照が私的ならば、参照内に保存された情報
を得るにはフォントクラスのメソッドを使用する。例え
ばファミリー変数が私的ならば、開発者はgetFam
ily()(ファミリー取得)メソッドを利用して情報
を検索する必要があろう。このように、フォント開発者
にとって重要なフォント情報へのアクセスは限られてい
る(エンドユーザやアプリケーション開発者は私的な情
報を変改したり直接検索する権限はない)。
【0058】フォントクラスオブジェクトを作成する
と、対応するフォントハンドラは特定タイプのフォーマ
ット化フォントを表し(例:ツルータイプあるいはタイ
プ1)、フォーマット固有インターフェイス(例:複数
マスタインターフェイスあるいは開放型インターフェイ
ス)をインプリメントする。その結果、フォントクラス
オブジェクトは、フォーマットのタイプを内的に維持す
るフォントハンドラの参照を維持する。その結果、アプ
リケーション開発者は、フォントハンドラにアクセスす
る公的メソッドを用いてフォントフォーマット固有情報
にアクセスできる。
と、対応するフォントハンドラは特定タイプのフォーマ
ット化フォントを表し(例:ツルータイプあるいはタイ
プ1)、フォーマット固有インターフェイス(例:複数
マスタインターフェイスあるいは開放型インターフェイ
ス)をインプリメントする。その結果、フォントクラス
オブジェクトは、フォーマットのタイプを内的に維持す
るフォントハンドラの参照を維持する。その結果、アプ
リケーション開発者は、フォントハンドラにアクセスす
る公的メソッドを用いてフォントフォーマット固有情報
にアクセスできる。
【0059】フォントクラス内で定義された数々の公的
にアクセス可能なメソッドは、私的フォントクラス参照
及びフォントハンドラ・オブジェクトに含まれた情報の
単純な検索を与える。更に開発者は、上述の私的変数と
オブジェクトにアクセスできないが、公的にアクセス可
能なメソッドは変数ないしオブジェクトに保持された情
報を検索する手段を提供する。フォントクラス変数及び
オブジェクトから情報を検索しないメソッドは、フォン
トハンドラ・クラスに対する参照を用いて情報を検索で
きる。本発明の実施形態では、次のメソッドをフォント
クラスで定義する。 (1)public Transform getTransform() このフォントに関係した変形を出力。このメソッドはキ
ャッシュから(ユーザが定義できる)変形を得ることが
できる。 (2)public String getFamily() フォントのファミリー名(例:ヘルベチカ)を出力。フ
ォントの論理名を取得するにはgetName()を使
用する。フォントのフォント書体を取得するにはget
FontName()を使用する。このメソッドはフォ
ントハンドラ内の等価のメソッドにアクセスできる
(例:getFamilyName()と呼ばれるメソ
ッド)。 (3)public String getName() フォントの論理名を出力。フォントのファミリー名を取
得するにはgetFamily()を使用する。フォン
トのフォント書体を取得するにはgetFontNam
e()を使用する。このメソッドはキャシュから論理名
を得ることができる。 (4)public String getFontName() フォントのフォント書体名(例:ヘルベチカボールド)
を出力。フォントのファミリー名を取得するにはget
Family()を使用する。フォントの論理名を取得
するにはgetName()を使用する。このメソッドは
キャシュからフォンt書体名を得ることができる。 (5)public int getStyle() フォントのスタイルを出力。これはプレーン、ボール
ド、イタリックないしボールド+イタリックとなり得
る。このメソッドはキャッシュからスタイルを取得でき
る。 (6)public int getSize() 整数に丸めたフォントのポイントサイズを出力。大部分
のユーザはフォントのグリフを指定するのにポイントサ
イズを使用するという考え方に慣れている。このポイン
トサイズとはシングルスペースのテキスト文書で1つの
行のベースラインから次の行のベースライン間の測定値
を定義するものである。ポイントサイズはインチのほぼ
1/72の印刷上のポイントに基づいている。このメソ
ッドはキャッシュから(ユーザが定義できる)ポイント
サイズを取得できる。 (7)public float getSize2D() フロートのフォントのポイントサイズを出力。このメソ
ッドはキャッシュから(ユーザが定義できる)ポイント
サイズを取得できる。 (8)public boolean isPlain() フォントがプレーンならば真を出力。 (9)public boolean isBold() フォントがボールドならば真を出力。 (10)public boolean isItalic() フォントがイタリックならば真を出力。 (11)public int hashCode() そのフォントのハッシュコードを出力。 (12)public boolean equals(object obj) そのオブジェクトを特定オブジェクトと比較。 (13)public String toString() そのオブジェクトを文字列表現に変換。 (14)public int getNumGlyphs() フォント内のグリフの数を出力。フォントのグリフコー
ドは0からgetNumGlyphs()−1にわた
る。このメソッドはキャッシュからグリフの数を取得で
きる。 (15)public GlyphMetrics GetGlyphMetrics(int gl
yphCode) グリフコードで指定したグリフのメトリック情報を出
力。このメソッドはフォントハンドラ内の等価のメソッ
ド(例:getMetrics()と呼ばれるメソッ
ド)にアクセスできる。 (16)public FontDesignMetrics get DesignMetrics
() そのフォントのフォントデザインメトリック情報を出
力。このメソッドはフォントハンドラ内の等価のメソッ
ド(例:getMetrics()と呼ばれるメソッ
ド)にアクセスできる。 (17)public Shape getGlyphOutline(int glyphCod
e) グリフコードで指定したグリフの輪郭線記述を出力。こ
のメソッドはフォントハンドラ内の等価のメソッド
(例:createOutline()と呼ばれるメソ
ッド)にアクセスできる。 (18)public FontFeature[] getFeatures() そのフォントで利用できるフォント機能のアレイを出
力。機能にはリガチュア(ligature: 合わせ文字)やグ
リフ置換が含まれる。このメソッドはフォントフォーマ
ットインターフェイスをインプリメントするフォントハ
ンドラ内の等価のメソッドにアクセスできる。 (19)public Font deriveFont(int style, float si
ze,FontFeature features[]) 現在フォントオブジェクトをそれと関連した新しいスタ
イル、サイズ、フォント機能で複製することで新しいフ
ォントオブジェクトを作成し出力。 (20)public Font deriveFont (int style, AffineT
ransform trans,FontFeature features[]) 現在フォントオブジェクトをそれと関連した新しいスタ
イル、変形、フォント機能で複製することで新しいフォ
ントオブジェクトを作成し出力。 (21)public Font deriveFont(float size) 現在フォントオブジェクトをそれと関連した新しいサイ
ズで複製することで新しいフォントオブジェクトを作成
し出力。 (22)public Font deriveFont(AffineTransform tra
ns) 現在フォントオブジェクトをそれと関連した新しい変形
で複製することで新しいフォントオブジェクトを作成し
出力。 (23)public Font deriveFont(int Style) 現在フォントオブジェクトをそれと関連した新しいスタ
イルで複製することで新しいフォントオブジェクトを作
成し出力。 (24)public Font deriveFont(FontFeature feature
s[]) 現在フォントオブジェクトをそれと関連した新しい1組
のフォント機能で複製することで新しいフォントオブジ
ェクトを作成し出力。 (25)public GlyphSet getGlyphSet (char charArra
y[]),int offset, int count) charArray内の文字をフォントグリフコードに
変換し、グリフの集合とグリフ位置を含むグリフセット
を出力。グリフ置換も行うことができる。このメソッド
はフォントハンドラ内の等価のメソッドにアクセスでき
る。 (26)public GlyphSet getGlyphSet(String str) 文字列オブジェクト内の全ての文字をフォントグリフコ
ードに変換し、グリフの集合とグリフ位置を含むグリフ
セットを出力。グリフ置換も行うことができる。このメ
ソッドはフォントハンドラ内の等価のメソッドにアクセ
スできる。 (27)public int can Display(String str) 文字列がこのフォントで表示可能かどうかを示す。ユニ
コード符号化を有する文字列については、所与のフォン
トが文字列を表示できるかどうかを知ることが重要であ
る。このメソッドは、フォントが表示できない最初の文
字である文字列strへのオフセットを出力する。フォ
ントが全ての文字を表示できれば -1を出力する。この
メソッドはフォントハンドラ内の等価のメソッドにアク
セスできる。
にアクセス可能なメソッドは、私的フォントクラス参照
及びフォントハンドラ・オブジェクトに含まれた情報の
単純な検索を与える。更に開発者は、上述の私的変数と
オブジェクトにアクセスできないが、公的にアクセス可
能なメソッドは変数ないしオブジェクトに保持された情
報を検索する手段を提供する。フォントクラス変数及び
オブジェクトから情報を検索しないメソッドは、フォン
トハンドラ・クラスに対する参照を用いて情報を検索で
きる。本発明の実施形態では、次のメソッドをフォント
クラスで定義する。 (1)public Transform getTransform() このフォントに関係した変形を出力。このメソッドはキ
ャッシュから(ユーザが定義できる)変形を得ることが
できる。 (2)public String getFamily() フォントのファミリー名(例:ヘルベチカ)を出力。フ
ォントの論理名を取得するにはgetName()を使
用する。フォントのフォント書体を取得するにはget
FontName()を使用する。このメソッドはフォ
ントハンドラ内の等価のメソッドにアクセスできる
(例:getFamilyName()と呼ばれるメソ
ッド)。 (3)public String getName() フォントの論理名を出力。フォントのファミリー名を取
得するにはgetFamily()を使用する。フォン
トのフォント書体を取得するにはgetFontNam
e()を使用する。このメソッドはキャシュから論理名
を得ることができる。 (4)public String getFontName() フォントのフォント書体名(例:ヘルベチカボールド)
を出力。フォントのファミリー名を取得するにはget
Family()を使用する。フォントの論理名を取得
するにはgetName()を使用する。このメソッドは
キャシュからフォンt書体名を得ることができる。 (5)public int getStyle() フォントのスタイルを出力。これはプレーン、ボール
ド、イタリックないしボールド+イタリックとなり得
る。このメソッドはキャッシュからスタイルを取得でき
る。 (6)public int getSize() 整数に丸めたフォントのポイントサイズを出力。大部分
のユーザはフォントのグリフを指定するのにポイントサ
イズを使用するという考え方に慣れている。このポイン
トサイズとはシングルスペースのテキスト文書で1つの
行のベースラインから次の行のベースライン間の測定値
を定義するものである。ポイントサイズはインチのほぼ
1/72の印刷上のポイントに基づいている。このメソ
ッドはキャッシュから(ユーザが定義できる)ポイント
サイズを取得できる。 (7)public float getSize2D() フロートのフォントのポイントサイズを出力。このメソ
ッドはキャッシュから(ユーザが定義できる)ポイント
サイズを取得できる。 (8)public boolean isPlain() フォントがプレーンならば真を出力。 (9)public boolean isBold() フォントがボールドならば真を出力。 (10)public boolean isItalic() フォントがイタリックならば真を出力。 (11)public int hashCode() そのフォントのハッシュコードを出力。 (12)public boolean equals(object obj) そのオブジェクトを特定オブジェクトと比較。 (13)public String toString() そのオブジェクトを文字列表現に変換。 (14)public int getNumGlyphs() フォント内のグリフの数を出力。フォントのグリフコー
ドは0からgetNumGlyphs()−1にわた
る。このメソッドはキャッシュからグリフの数を取得で
きる。 (15)public GlyphMetrics GetGlyphMetrics(int gl
yphCode) グリフコードで指定したグリフのメトリック情報を出
力。このメソッドはフォントハンドラ内の等価のメソッ
ド(例:getMetrics()と呼ばれるメソッ
ド)にアクセスできる。 (16)public FontDesignMetrics get DesignMetrics
() そのフォントのフォントデザインメトリック情報を出
力。このメソッドはフォントハンドラ内の等価のメソッ
ド(例:getMetrics()と呼ばれるメソッ
ド)にアクセスできる。 (17)public Shape getGlyphOutline(int glyphCod
e) グリフコードで指定したグリフの輪郭線記述を出力。こ
のメソッドはフォントハンドラ内の等価のメソッド
(例:createOutline()と呼ばれるメソ
ッド)にアクセスできる。 (18)public FontFeature[] getFeatures() そのフォントで利用できるフォント機能のアレイを出
力。機能にはリガチュア(ligature: 合わせ文字)やグ
リフ置換が含まれる。このメソッドはフォントフォーマ
ットインターフェイスをインプリメントするフォントハ
ンドラ内の等価のメソッドにアクセスできる。 (19)public Font deriveFont(int style, float si
ze,FontFeature features[]) 現在フォントオブジェクトをそれと関連した新しいスタ
イル、サイズ、フォント機能で複製することで新しいフ
ォントオブジェクトを作成し出力。 (20)public Font deriveFont (int style, AffineT
ransform trans,FontFeature features[]) 現在フォントオブジェクトをそれと関連した新しいスタ
イル、変形、フォント機能で複製することで新しいフォ
ントオブジェクトを作成し出力。 (21)public Font deriveFont(float size) 現在フォントオブジェクトをそれと関連した新しいサイ
ズで複製することで新しいフォントオブジェクトを作成
し出力。 (22)public Font deriveFont(AffineTransform tra
ns) 現在フォントオブジェクトをそれと関連した新しい変形
で複製することで新しいフォントオブジェクトを作成し
出力。 (23)public Font deriveFont(int Style) 現在フォントオブジェクトをそれと関連した新しいスタ
イルで複製することで新しいフォントオブジェクトを作
成し出力。 (24)public Font deriveFont(FontFeature feature
s[]) 現在フォントオブジェクトをそれと関連した新しい1組
のフォント機能で複製することで新しいフォントオブジ
ェクトを作成し出力。 (25)public GlyphSet getGlyphSet (char charArra
y[]),int offset, int count) charArray内の文字をフォントグリフコードに
変換し、グリフの集合とグリフ位置を含むグリフセット
を出力。グリフ置換も行うことができる。このメソッド
はフォントハンドラ内の等価のメソッドにアクセスでき
る。 (26)public GlyphSet getGlyphSet(String str) 文字列オブジェクト内の全ての文字をフォントグリフコ
ードに変換し、グリフの集合とグリフ位置を含むグリフ
セットを出力。グリフ置換も行うことができる。このメ
ソッドはフォントハンドラ内の等価のメソッドにアクセ
スできる。 (27)public int can Display(String str) 文字列がこのフォントで表示可能かどうかを示す。ユニ
コード符号化を有する文字列については、所与のフォン
トが文字列を表示できるかどうかを知ることが重要であ
る。このメソッドは、フォントが表示できない最初の文
字である文字列strへのオフセットを出力する。フォ
ントが全ての文字を表示できれば -1を出力する。この
メソッドはフォントハンドラ内の等価のメソッドにアク
セスできる。
【0060】本発明の実施形態は上述のメソッドの1つ
ないし複数のものを定義し、含むことができる。上述し
たように、上記のフォントクラスメソッドの多くはフォ
ント開発者が定義したフォントハンドラからのメソッド
にアクセスして利用する。フォントクラスのフォントハ
ンドラ・クラスとの組み合わせ及びインターフェイスは
フォントに関する一般的な情報を1つのオブジェクトに
保存する機能を提供する。加えて、フォントフォーマッ
ト固有情報をオブジェクトに保存し、そのような情報を
必要とするアプリケーションで使用できる。
ないし複数のものを定義し、含むことができる。上述し
たように、上記のフォントクラスメソッドの多くはフォ
ント開発者が定義したフォントハンドラからのメソッド
にアクセスして利用する。フォントクラスのフォントハ
ンドラ・クラスとの組み合わせ及びインターフェイスは
フォントに関する一般的な情報を1つのオブジェクトに
保存する機能を提供する。加えて、フォントフォーマッ
ト固有情報をオブジェクトに保存し、そのような情報を
必要とするアプリケーションで使用できる。
【0061】フォントハンドラ・クラスのフォントクラ
スへの編入 本発明の別の実施形態では、フォントクラスに全てのメ
ソッドとフォントハンドラ・クラスの参照を編入する
(以下、編入実施形態と称する)。この編入により、フ
ォントクラスはフォントハンドラ・クラスを使用せずに
フォント情報にアクセスし利用できる能力を有すること
ができる。
スへの編入 本発明の別の実施形態では、フォントクラスに全てのメ
ソッドとフォントハンドラ・クラスの参照を編入する
(以下、編入実施形態と称する)。この編入により、フ
ォントクラスはフォントハンドラ・クラスを使用せずに
フォント情報にアクセスし利用できる能力を有すること
ができる。
【0062】編入実施形態の場合、図2において、フォ
ントクラス201のそれぞれのインスタンス203−2
06に保存された追加の変数やメソッドは、開発者に様
々なフォント情報にアクセスを提供する。図4で、フォ
ントハンドラ401−405に含まれる他のフォントク
ラスに対する参照をフォントクラスに編入して、(フォ
ントハンドラを使用せずに)フォントクラスそれ自身か
らの参照を通してフォント情報にアクセスする機能をも
たらす。
ントクラス201のそれぞれのインスタンス203−2
06に保存された追加の変数やメソッドは、開発者に様
々なフォント情報にアクセスを提供する。図4で、フォ
ントハンドラ401−405に含まれる他のフォントク
ラスに対する参照をフォントクラスに編入して、(フォ
ントハンドラを使用せずに)フォントクラスそれ自身か
らの参照を通してフォント情報にアクセスする機能をも
たらす。
【0063】編入実施形態では、フォントクラスはフォ
ントハンドラ・クラスが初期化されると初期化され、従
ってシステムそれ自身から関連フォント情報を得られ
る。図5を参照すると、フォントハンドラの初期化ステ
ップ(ステップ501−505)は似ている。しかしス
テップ505ではフォント情報を取得してフォントハン
ドラにロードする代わりに、情報を取得してフォントク
ラスのインスタンスにロードする。図6を参照すると、
フォントハンドラ・オブジェクト内に含まれる参照60
3−605はフォントクラスに直接編入して使用する。
ントハンドラ・クラスが初期化されると初期化され、従
ってシステムそれ自身から関連フォント情報を得られ
る。図5を参照すると、フォントハンドラの初期化ステ
ップ(ステップ501−505)は似ている。しかしス
テップ505ではフォント情報を取得してフォントハン
ドラにロードする代わりに、情報を取得してフォントク
ラスのインスタンスにロードする。図6を参照すると、
フォントハンドラ・オブジェクト内に含まれる参照60
3−605はフォントクラスに直接編入して使用する。
【0064】編入フォントクラスは複数マスタないし開
放型インターフェイスをインプリメントし、関連フォン
トフォーマット固有情報をアプリケーション開発者に直
接提供できる。従って図3で、抽象クラスフォントハン
ドラ302を有する代わりに、編入実施形態では抽象ク
ラスフォントを有する。編入フォントクラス302の編
入サブクラス303はフォーマット固有インターフェイ
ス301をインプリメントできる。次に編入フォントサ
ブクラス303のインスタンス304−307をシステ
ム内のそれぞれのフォントについて作成する。そのよう
な実施形態は柔軟性とアプリケーション開発者が直接ア
クセスできる広範囲のフォント情報をもたらす。
放型インターフェイスをインプリメントし、関連フォン
トフォーマット固有情報をアプリケーション開発者に直
接提供できる。従って図3で、抽象クラスフォントハン
ドラ302を有する代わりに、編入実施形態では抽象ク
ラスフォントを有する。編入フォントクラス302の編
入サブクラス303はフォーマット固有インターフェイ
ス301をインプリメントできる。次に編入フォントサ
ブクラス303のインスタンス304−307をシステ
ム内のそれぞれのフォントについて作成する。そのよう
な実施形態は柔軟性とアプリケーション開発者が直接ア
クセスできる広範囲のフォント情報をもたらす。
【0065】図7で編入実施形態を使用すると、アプリ
ケーション開発者が特定フォントの使用を望む場合、開
発者はステップ701で所望のフォント名を選択する。
ステップ702では、システムからの全てのフォントの
リストが得られる。ステップ703では、所望のフォン
トがフォントリスト内にあるかどうか判定する。しかし
フォントハンドラ実施形態とはステップ704−708
において異なる。編入実施形態では、フォントがフォン
トリスト内にあれば、そのフォントを含む編入フォント
クラスオブジェクトをステップ704で検索する。フォ
ントがフォントリスト内になければ、(最も類似したフ
ォントを含む可能性のある)代わりの編入フォントクラ
スオブジェクトをステップ705で検索する。編入実施
形態では、関連情報は直接編入フォントクラスのインス
タンスに保存し、フォントハンドラを結合したり情報を
キャッシュする必要はないので、ステップ706−70
8を行わない。このように編入フォントクラスはアプリ
ケーション開発者にシステム内に存在するフォントにア
クセスし利用する能力を提供する。
ケーション開発者が特定フォントの使用を望む場合、開
発者はステップ701で所望のフォント名を選択する。
ステップ702では、システムからの全てのフォントの
リストが得られる。ステップ703では、所望のフォン
トがフォントリスト内にあるかどうか判定する。しかし
フォントハンドラ実施形態とはステップ704−708
において異なる。編入実施形態では、フォントがフォン
トリスト内にあれば、そのフォントを含む編入フォント
クラスオブジェクトをステップ704で検索する。フォ
ントがフォントリスト内になければ、(最も類似したフ
ォントを含む可能性のある)代わりの編入フォントクラ
スオブジェクトをステップ705で検索する。編入実施
形態では、関連情報は直接編入フォントクラスのインス
タンスに保存し、フォントハンドラを結合したり情報を
キャッシュする必要はないので、ステップ706−70
8を行わない。このように編入フォントクラスはアプリ
ケーション開発者にシステム内に存在するフォントにア
クセスし利用する能力を提供する。
【0066】様々なフォーマットのフォントから(フォ
ントフォーマット固有情報を含む)情報にアクセスし利
用するメソッドと装置を、1つないし複数の実施形態と
共に説明した。本発明の1つないし複数の実施形態を上
述したが、本発明は上記の記載に限定されず、特許請求
項とそれに相当するその全範囲により定義されるもので
ある。
ントフォーマット固有情報を含む)情報にアクセスし利
用するメソッドと装置を、1つないし複数の実施形態と
共に説明した。本発明の1つないし複数の実施形態を上
述したが、本発明は上記の記載に限定されず、特許請求
項とそれに相当するその全範囲により定義されるもので
ある。
【図1】本発明の1つないし複数の実施形態を実施でき
るコンピュータシステムである。
るコンピュータシステムである。
【図2】本発明の1つないし複数の実施形態のフォント
クラスの複数インスタンスの構成を示す。
クラスの複数インスタンスの構成を示す。
【図3】本発明の1つないし複数の実施形態のフォント
ハンドラ・サブクラスの要素とそれからのインスタンス
の展開を示す。
ハンドラ・サブクラスの要素とそれからのインスタンス
の展開を示す。
【図4】本発明の1つないし複数の実施形態のフォント
ハンドラ・クラスが参照を含むことのできる様々なオブ
ジェクトを示す。
ハンドラ・クラスが参照を含むことのできる様々なオブ
ジェクトを示す。
【図5】本発明の1つないし複数の実施形態のフォント
ハンドラ・インスタンスを作成し初期化する方法を示
す。
ハンドラ・インスタンスを作成し初期化する方法を示
す。
【図6】本発明の1つないし複数の実施形態のフォント
クラス、フォントハンドラ・クラス及びその他のクラス
間の相互作用を示す。
クラス、フォントハンドラ・クラス及びその他のクラス
間の相互作用を示す。
【図7】本発明の1つないし複数の実施形態によるフォ
ントオブジェクトを作成し初期化する方法を示す。
ントオブジェクトを作成し初期化する方法を示す。
110 キーボード、111 マウス、112 大容量
記憶装置、113 CPU、114 ビデオメモリ、1
15 主記憶装置、116 ビデオアンプ、117 C
RT
記憶装置、113 CPU、114 ビデオメモリ、1
15 主記憶装置、116 ビデオアンプ、117 C
RT
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年9月25日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ジェームス・グラハム アメリカ合衆国・94086・カリフォルニア 州・サニーベイル・アリバ ドライブ 9 番・257
Claims (4)
- 【請求項1】 オブジェクト指向コンピュータシステム
で、フォーマット化情報を含むフォント情報へアクセス
する方法において、 フォーマット固有情報を取得するための少なくとも1つ
のメソッドを提供するフォーマットインターフェイスを
インプリメントするホントハンドラ・オブジェクトであ
り、フォント情報を検索するための少なくとも1つのメ
ソッドからなるホントハンドラ・オブジェクトを生成す
るステップと、 前記フォント情報に対する少なくとも1つの参照からな
るフォントオブジェクトを作成し、 前記フォントオブジェクトを前記フォントハンドラ・オ
ブジェクトと関連づけるステップと、 前記フォントオブジェクト内の情報を要求するメッセー
ジを受け取るステップと、 前記フォントオブジェクトの情報アクセスメソッドを呼
び出すステップと、 前記フォント情報を検索するステップとを有するフォー
マット化情報を含むフォント情報へアクセスする方法。 - 【請求項2】 プロセッサと、 前記プロセッサに接続した記憶装置と、 前記記憶装置内のフォーマット固有フォント情報を取得
するための少なくとも1つのメソッドを提供するフォン
トフォーマット・インターフェイスと、 前記記憶装置内で前記フォントフォーマット・インター
フェイスをインプリメントする、フォント情報を検索す
るための少なくとも1つのメソッドからなるフォントハ
ンドラ・オブジェクトと、 前記フォント情報に対する少なくとも1つの参照からな
るフォントオブジェクトと、 前記プロセッサが実行するオブジェクトコードであっ
て、 前記フォントオブジェクトを前記フォントハンドラ・オ
ブジェクトと関連づけるメソッドと、 前記フォントオブジェクト内のフォント情報を要求する
メソッドと、 フォント情報にアクセスし、検索するためのフォント情
報メソッドとを有するオブジェクトコードとからなるコ
ンピュータシステム。 - 【請求項3】 更に全てのフォントフォーマットに共通
した標準フォント情報を得るための少なくとも1つのメ
ソッドを提供する抽象フォントハンドラインターフェイ
スを更に備え、 前記フォントハンドラ・オブジェクトが前記抽象フォン
トハンドラインターフェイスをインプリメントする請求
項2のコンピュータシステム。 - 【請求項4】 内部に内包したコンピュータ読取り可能
プログラムを有する、フォーマット化フォント情報を含
むフォント情報へアクセスするためのコンピュータ使用
可能記録媒体であって、そのコンピュータ読取り可能プ
ログラムは、 フォント情報を検索する少なくとも1つのメソッドから
なるフォントハンドラ・オブジェクトをコンピュータに
作成させるように構成されたコンピュータ読取り可能プ
ログラムであって、前記フォントハンドラ・オブジェク
トはフォーマット固有フォント情報を得る少なくとも1
つのメソッドを提供するフォーマットインターフェイス
をインプリメントするプログラムと、 前記フォント情報に対する少なくとも1つの参照からな
るフォントオブジェクトを前記コンピュータに作成させ
るように構成されたコンピュータ読取り可能プログラム
と、 前記コンピュータが前記フォントオブジェクトを前記フ
ォントハンドラ・オブジェクトと関連づけるように構成
されたコンピュータ読取り可能プログラムと、 前記フォントオブジェクト内のフォント情報を要求する
メッセージを前記コンピュータに検索させるように構成
されたコンピュータ読取り可能プログラムと、 前記フォントオブジェクトのフォント情報アクセスメソ
ッドを前記コンピュータが呼び出すように構成されたコ
ンピュータ読取り可能プログラムと、 前記コンピュータが前記フォント情報を検索するように
構成したコンピュータ読取り可能プログラムとを有する
記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/885615 | 1997-06-30 | ||
US08/885,615 US6323864B1 (en) | 1997-06-30 | 1997-06-30 | Using and accessing information from fonts in multiple formats |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1195740A true JPH1195740A (ja) | 1999-04-09 |
Family
ID=25387318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10180712A Withdrawn JPH1195740A (ja) | 1997-06-30 | 1998-06-26 | 複数フォーマットのフォントからの情報の使用とアクセス |
Country Status (2)
Country | Link |
---|---|
US (1) | US6323864B1 (ja) |
JP (1) | JPH1195740A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003071785A1 (en) * | 2002-02-19 | 2003-08-28 | Sharp Kabushiki Kaisha | Display, electronic device, data transmitting method, information terminal, host apparatus, program, recording medium |
WO2007013566A1 (ja) * | 2005-07-28 | 2007-02-01 | Sharp Kabushiki Kaisha | 情報処理装置、情報処理プログラムおよび可読記録媒体 |
CN112069770A (zh) * | 2020-09-17 | 2020-12-11 | 中国航空无线电电子研究所 | 一种基于Vaps XT的改进型字体生成方法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0858027A3 (en) * | 1997-02-10 | 2001-10-04 | Seiko Epson Corporation | Recording device and recording method |
US6675357B1 (en) * | 1999-01-29 | 2004-01-06 | International Business Machines Corporation | Method and apparatus for matching system and device fonts |
US6622239B1 (en) * | 1999-06-25 | 2003-09-16 | International Business Machines Corporation | Method, system and computer program product for optimization of single byte character processing employed within a multibyte character encoding scheme |
US7539939B1 (en) * | 2000-07-25 | 2009-05-26 | Creativepro.Com, Inc. | Preview window to preview text in several different fonts simultaneously |
US7197706B1 (en) | 2000-08-30 | 2007-03-27 | Celartem Inc. | Method and system for ensuring accurate font matching in documents |
US7228501B2 (en) * | 2002-11-01 | 2007-06-05 | Microsoft Corporation | Method for selecting a font |
EP1445954A1 (en) * | 2003-02-10 | 2004-08-11 | Thomson Licensing S.A. | Method to transmit and receive font information in streaming systems |
US7937658B1 (en) * | 2006-04-21 | 2011-05-03 | Adobe Systems Incorporated | Methods and apparatus for retrieving font data |
US20090122067A1 (en) * | 2007-11-13 | 2009-05-14 | Microsoft Corporation | Open fonts including human-readable fonts for compilation |
US20100199174A1 (en) * | 2009-02-03 | 2010-08-05 | Microsoft Corporation | Extensible font file loading |
US8615709B2 (en) | 2010-04-29 | 2013-12-24 | Monotype Imaging Inc. | Initiating font subsets |
US20130346554A1 (en) * | 2011-03-15 | 2013-12-26 | Haoyu Ren | Transmission processing method and apparatus, electronic device |
US20130215126A1 (en) * | 2012-02-17 | 2013-08-22 | Monotype Imaging Inc. | Managing Font Distribution |
US10055386B2 (en) | 2014-04-18 | 2018-08-21 | Emc Corporation | Using server side font preparation to achieve WYSIWYG and cross platform fidelity on web based word processor |
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 |
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 |
US11610046B2 (en) * | 2019-10-29 | 2023-03-21 | Adobe Inc. | Automatic generation of responsive font effects based on font elements |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5694603A (en) | 1982-09-28 | 1997-12-02 | Reiffin; Martin G. | Computer memory product with preemptive multithreading software |
JPH0658624B2 (ja) | 1990-03-30 | 1994-08-03 | インターナショナル・ビシネス・マシーンズ・コーポレーション | グラフィカル・ユーザ・インターフェース管理装置 |
JPH0756628B2 (ja) | 1990-10-22 | 1995-06-14 | 富士ゼロックス株式会社 | グラフィカル・ユーザインターフェースの編集装置 |
US5430836A (en) | 1991-03-01 | 1995-07-04 | Ast Research, Inc. | Application control module for common user access interface |
US5291585A (en) | 1991-07-29 | 1994-03-01 | Dell Usa, L.P. | Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format |
US5566330A (en) | 1991-08-20 | 1996-10-15 | Powersoft Corporation | Method for forming a reusable and modifiable database interface object |
US5461710A (en) | 1992-03-20 | 1995-10-24 | International Business Machines Corporation | Method for providing a readily distinguishable template and means of duplication thereof in a computer system graphical user interface |
JPH0683603A (ja) | 1992-04-03 | 1994-03-25 | Internatl Business Mach Corp <Ibm> | オブジェクト・クラスのバッチ登録の方法とシステム |
US5347627A (en) | 1992-04-07 | 1994-09-13 | International Business Machines Corporation | Graphical user interface including dynamic sizing and spacing |
US5526517A (en) | 1992-05-15 | 1996-06-11 | Lsi Logic Corporation | Concurrently operating design tools in an electronic computer aided design system |
US5423034A (en) | 1992-06-10 | 1995-06-06 | Cohen-Levy; Leon | Network file management with user determined hierarchical file structures and means for intercepting application program open and save commands for inputting and displaying user inputted descriptions of the location and content of files |
EP0584913B1 (en) * | 1992-08-27 | 2000-05-03 | Sun Microsystems, Inc. | Method and apparatus for providing collection browsers |
GB2270242A (en) | 1992-08-29 | 1994-03-02 | Ibm | A method of editing for an object oriented computer system |
US5412772A (en) | 1992-10-13 | 1995-05-02 | Novell, Inc. | System for permitting a view of an object or a user interface to be exchanged between operating system environments |
US5345550A (en) | 1992-12-23 | 1994-09-06 | International Business Machines Corporation | User-modifiable popup menus for object oriented behavior |
US5384911A (en) | 1992-12-23 | 1995-01-24 | International Business Machines Corporation | Method of transferring programs from action oriented GUI paradigm to object oriented GUI paradigm |
US5448695A (en) | 1992-12-31 | 1995-09-05 | International Business Machines Corporation | Method and apparatus for dynamic visual feedback messaging in a graphical user interface of a data processing system |
US5436637A (en) | 1993-03-05 | 1995-07-25 | Borland International, Inc. | Graphical user interface system and methods for improved user feedback |
JP2620576B2 (ja) | 1993-04-15 | 1997-06-18 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ユーザが要求したフォントに従ってグラフィカル・ユーザ・インターフェースを調節する方法及びシステム |
US5559942A (en) | 1993-05-10 | 1996-09-24 | Apple Computer, Inc. | Method and apparatus for providing a note for an application program |
US5586241A (en) * | 1993-06-10 | 1996-12-17 | Hewlett-Packard Company | Method and system for creating, specifying, and generating parametric fonts |
US5422674A (en) | 1993-12-22 | 1995-06-06 | Digital Equipment Corporation | Remote display of an image by transmitting compressed video frames representing background and overlay portions thereof |
US5461399A (en) | 1993-12-23 | 1995-10-24 | International Business Machines | Method and system for enabling visually impaired computer users to graphically select displayed objects |
US5548702A (en) | 1993-12-23 | 1996-08-20 | International Business Machines Corporation | Scrolling a target window during a drag and drop operation |
US5491784A (en) | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | Method and apparatus for facilitating integration of software objects between workspaces in a data processing system graphical user interface |
US5546519A (en) | 1994-02-28 | 1996-08-13 | International Business Machines Corporation | System and method for visually programming iteration |
US5550968A (en) | 1994-04-12 | 1996-08-27 | International Business Machines Corporation | Method and system for providing access security to controls in a graphical user interface |
US5781714A (en) * | 1994-05-27 | 1998-07-14 | Bitstream Inc. | Apparatus and methods for creating and using portable fonts |
US5473745A (en) | 1994-12-14 | 1995-12-05 | International Business Machines Corporation | Exposing and hiding a title bar behind its window using a visual cue |
US5570462A (en) | 1995-05-05 | 1996-10-29 | Apple Computer, Inc. | System and method for object placement and sizing in a dynamic display environment |
US5572643A (en) | 1995-10-19 | 1996-11-05 | Judson; David H. | Web browser with dynamic display of information objects during linking |
US5870084A (en) * | 1996-11-12 | 1999-02-09 | Thomson Consumer Electronics, Inc. | System and method for efficiently storing and quickly retrieving glyphs for large character set languages in a set top box |
-
1997
- 1997-06-30 US US08/885,615 patent/US6323864B1/en not_active Expired - Lifetime
-
1998
- 1998-06-26 JP JP10180712A patent/JPH1195740A/ja not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003071785A1 (en) * | 2002-02-19 | 2003-08-28 | Sharp Kabushiki Kaisha | Display, electronic device, data transmitting method, information terminal, host apparatus, program, recording medium |
KR100794241B1 (ko) * | 2002-02-19 | 2008-01-11 | 샤프 가부시키가이샤 | 디스플레이 장치, 전자 기기 |
US8031196B2 (en) | 2002-02-19 | 2011-10-04 | Sharp Kabushiki Kaisha | Display, electronic device, data transmitting method, information terminal, host apparatus, program, recording medium |
WO2007013566A1 (ja) * | 2005-07-28 | 2007-02-01 | Sharp Kabushiki Kaisha | 情報処理装置、情報処理プログラムおよび可読記録媒体 |
JPWO2007013566A1 (ja) * | 2005-07-28 | 2009-02-12 | シャープ株式会社 | 情報処理装置、情報処理プログラムおよび可読記録媒体 |
JP4905899B2 (ja) * | 2005-07-28 | 2012-03-28 | シャープ株式会社 | 情報処理システム、情報処理プログラムおよび可読記録媒体 |
CN112069770A (zh) * | 2020-09-17 | 2020-12-11 | 中国航空无线电电子研究所 | 一种基于Vaps XT的改进型字体生成方法 |
CN112069770B (zh) * | 2020-09-17 | 2024-04-12 | 中国航空无线电电子研究所 | 一种基于Vaps XT的改进型字体生成方法 |
Also Published As
Publication number | Publication date |
---|---|
US6323864B1 (en) | 2001-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH1195740A (ja) | 複数フォーマットのフォントからの情報の使用とアクセス | |
US6714199B1 (en) | Method and apparatus for typographic glyph construction including a glyph server | |
US6583789B1 (en) | Method and system for processing glyph-based quality variability requests | |
US6445458B1 (en) | Method and system for virtual machine rendering of non-Latin1 Unicode glyphs | |
US5877776A (en) | Method and system for supporting multiple font formats by a font scaler sub-system | |
US8191040B2 (en) | Application program interface for network software platform | |
US7692656B2 (en) | Automatic synthesis of font tables for character layout | |
JP5520856B2 (ja) | 携帯用計算デバイスへの無線通信媒体を介するコンテンツ送達のためのシステムおよび方法 | |
US7143109B2 (en) | Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database | |
US7032227B2 (en) | Portable operating environment for information devices | |
US7055154B2 (en) | Method and apparatus for generating object-oriented world wide web pages | |
US6199071B1 (en) | Method and apparatus for archiving hypertext documents | |
US20020188613A1 (en) | Method and apparatus for runtime merging of hierarchical trees | |
US20020169741A1 (en) | System And Method For Translating To And From Hierarchical Information Systems | |
US6922812B2 (en) | System and method for presenting text upon the display of a server that employs and X window graphical interface | |
JP2006114012A (ja) | 電子文書への最適アクセス | |
US6525743B1 (en) | Method and apparatus for creating and performing graphics operation on device-independent bitmaps | |
CA3017231A1 (en) | Improved presentation of electronic information | |
CA2518654A1 (en) | Method for requesting and viewing a zoomed area of detail from an image attachment on a mobile communication device | |
US7404186B2 (en) | Signature serialization | |
US6356268B1 (en) | Method and system for providing multiple glyphs at a time from a font scaler sub-system | |
US20050094172A1 (en) | Linking font resources in a printing system | |
US6751726B1 (en) | Method and system for loading fonts by caching font-loading information | |
US20050200913A1 (en) | Systems and methods for identifying complex text in a presentation data stream | |
US7283991B1 (en) | Caching system for path search optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050405 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090323 |