サポートされているフォント形式のフォントクラス| .NETのAPI
Aspose.Fontクラスの階層
異なる形式のフォントをサポートするための Aspose.Fontクラスの階層は非常に簡単です。
クラス fontは、単一のベースクラスと任意のクラスであり、 fontから継承されたいくつかのフォント形式をサポートします。このクラスに収集されたすべての形式のフォントには一般的な情報があります。この情報には、フォントスタイル、フォント名、ポストスクリプトフォント名、フォントファミリー、フォントメトリック、フォントのグリフの数、エンコードなどなどのデータが含まれます。
class fontは抽象クラスであるため、「aspose.font.font」タイプのオブジェクトのインスタンスは直接作成できません。
作成されたオブジェクトの参照は、過負荷のメソッド open()のファミリーを使用するフォントロードに責任があるこのクラスの静的メソッドによって返されます。
1つまたは別のフォント形式情報を固有の場合、そのような情報を提供するために、ベース「Aspose.Font.font」から継承された責任オブジェクトです。 fontクラスが含まれるフォント形式に固有の唯一のデータは、 fonttype列挙からの値です。
次のクラスは aspose.fontから継承され、特定のフォント形式で動作するために使用されます: ttffont、 type1font、 cfffont。
フォント形式、fonttype値、およびaspose.fontオブジェクトタイプ間の相互関係
以下の表は、 fonttypeの列挙のこれらのフォーマット値に対応するAspose.fontによってサポートされる形式間の準拠と、これらの各形式の操作に使用されるクラスを示しています。
フォント形式 | FontType 値 | Aspose.Font オブジェクト型 |
---|---|---|
TrueType | TTF | TtfFont |
Type 1 | Type 1 | Type1Font |
Compact Font Format (CFF ) | CFF | CffFont |
フォントファイル形式、fonttype値、およびaspose.fontオブジェクトタイプ間の相互関係
fonttype列挙からの前述のフォントの形式は、それらのフォントのファイル形式よりも幅広い用語です。
たとえば、trueType
形式は、Aspose.font: ttf
、 ttc
、 eot
、 woff
、 woff2
でロードされるために利用可能な次のファイル形式をカバーします。したがって、拡張機能を備えたフォントの共通機能 .ttf
、 .ttc
、 .eot
、.woff
、 .woff2
は、すべてtrueType
フォントファミリーに関連していることです。
そのため、列「フォント形式」を列「フォントファイル形式」にテーブルに置き換えると、フォントファイル形式間の次の関係の表が取得され、 fonttype値と、Aspose.Fontの対応するフォント形式で動作することを目的としたオブジェクトに適合します。
フォント ファイル形式 | FontType 値 | Aspose.Font オブジェクト型 |
---|---|---|
ttf , ttc , eot , woff , woff2 | TTF | TtfFont |
pfa , pfb | Type 1 | Type1Font |
afm , pfm | Type 1 | Type1MetricFont |
binary data of Compact Font Format type | CFF | CffFont |
Aspose.font.Fontクラスの機能
機能は fontクラスで定義されます。クラスはいくつかの領域に分割できます。
フォントクラスを実装するインターフェイスで定義された機能
フォントインターフェイスリストの最も重要なインターフェイスは ifontインターフェイスです。 iglyphacsesserおよび ifontsaverインターフェイスのプロパティを提供します。 fontクラスによって実装されているため、 fontクラスの実装がこれでカバーされているインターフェイスで定義されているすべての機能はカバーされています ifontインターフェイス。
インターフェイス ifontは、Aspose.Fontによってサポートされるすべてのフォント形式に共通のプロパティを定義します。 以下は、各プロパティの説明です。
フォント形式を操作するためのプロパティ
- string fontname - フォントの名前。
- multiLanguageString fontnames - 異なる言語のフォントの名前。
- multiLanguageString postscriptNames - 異なる言語のフォントのpostscript名。- string fontfamily - フォントファミリーの名前。フォントファミリの詳細を取得するには、 fontファミリーcharperを参照してください。
- fonttype fonttype - fonttype列挙で表されるフォント形式のタイプ。
- fontstyle fontstyle-fontスタイル値 fontstyle列挙。 font stylesの詳細をご覧ください。
- string style - プロパティ fontstyleに似たフォントスタイルの名前は、フォントデータで提供される生の文字列形式で表されます。
- fontdefinition fontdefinition - フォントをロードするフォーマットとソースを記述するオブジェクト。 フォントのロード方法に移動します。ここでは、このオブジェクトの操作方法を詳細に学ぶことができます。
- int numglyphs - フォントのグリフの数を取得します。
- ifontmetrics Metrics - 一般的なフォントメトリックに関連する機能を提供する ifontmetricsインターフェイスの参照を取得します。
- ifontencoding エンコード - エンコード機能を提供する ifontencodingインターフェイスの参照を取得します。
- iglyphaccessor glyphaccessor - iglyphaccesserインターフェイスの参照を取得します。
- ifontsaver fontsaver - ifontsaverインターフェイスを使用してフォント保存機能を提供します。
また、
ifontインターフェイスは、フォントを別の形式に変換するために使用される方法
convert()を定義します。
現時点では、TTF
形式を読むためにAspose.Fontがサポートする任意のフォーマットから利用可能な変換があります。
サポートされているフォント形式はテーブルに表示されます。
font converterを参照してください Aspose.Fontでフォントを変換する方法の追加情報については。
フォントの読み込み
フォントロード機能は実装されたインターフェイスではカバーされておらず、この機能は静的方法 open()のファミリーによって表されます。 これらのメソッドに渡すパラメーターは、 フォントのロード方法?の記事で説明されています。
フォント保存
class fontは、フォント保存操作の機能を宣言するインターフェイス ifontsaverを実装しています。 フォントを保存するには、オーバーロードされたメソッドのいずれかを使用します save()を使用し、フォントの名前またはストリームをフォントの書き込み場所に渡します。
場合によっては、フォントを別の形式に保存する必要があります。たとえば、多くのWebページはwoff
形式でフォントを使用することを好みます。このようなページにフォントを配置する場合は、フォントをwoff
形式に保存する必要があります。
方法
savetoformat()は、そのような場合のために設計されました。
Base Aspose.font.Fontクラスから継承されたクラス
cfffontおよびtype1fontクラス
これらのクラスは、それぞれ「Compact Fontフォーマット」とAdobe「タイプ1」フォント形式のフォントで動作するために使用されます。 これらのクラスは、 fontクラスの特定のプロパティと方法をオーバーライドし、実際のフォント形式に適合します。
Ttffontクラス
このクラスは、trueType
形式のフォントをサポートするように設計されています。
このタイプのオブジェクトへの参照は、
fonttype列挙の値として、TTF
を渡すことで、静的メソッド
font.open()を呼び出すことで取得できます。方法
font.open()は、ベース
fontタイプで参照を返します。
trueType
形式の仕様から知られているように、フォントデータは異なるテーブルで表されます。
現時点では、Aspose.Font Libraryは次の表をサポートしています。
head
、 cmap
、 glyf
、 loca
、 hhea
、 hmtx
、 maxp
、 os/2
、 name
、 post
、 kern
、 cvt
、 fpgm
、 prep
。
*trueType
標準で指定された他のテーブルのサポートは、近い将来に実装される予定です。
Aspose.fontのtrueType
テーブルのサポート
Aspose.font.ttftablesのクラスによって実装されています。
テーブルをサポートするすべてのクラスには、対応するテーブル名に関連する名前があります。
クラスの命名は、次のルールに従って満たされます。
すべてのクラスの名前には接頭辞TTF
があり、このプレフィックスの後にテーブルの名前が続き、「テーブル」という単語がクラスの名前を終了します。
たとえば、表head
はクラス
ttfheadtableでサポートされています。表「hhea`はクラス
ttfhheatableなどでサポートされています。
trueType
テーブルをサポートするすべてのクラスの参照は、
ttftablerepositoryのオブジェクトによって収集されます。
ttffontクラスは、 ttftablerepositoryオブジェクトに関する参照をプロパティ ttftablesとして提供します。
opentype
フォント機能のサポートは、プロパティ
cfffontで表されます。このプロパティは、
fontオブジェクトのリファレンスを返します。CFF
テーブルからロードされます。「コンパクトフォント形式のフォント」表現が含まれています。
プロパティ Issymbolicフォントがシンボリックであるかどうかを検出するために使用されます。これは、非アルファベット文字、グラフィックス、またはその両方で構成されています。
フォントグリフへのアクセス
class
ttffontは、フォントグリフにアクセスするための拡張機能を提供します。インターフェイス
iglyphaccessorで定義された方法に加えて、
ttffontは、
getglyphbyid()という名前の2つのオーバーロードされたメソッドを提供します。
これらのメソッドを使用すると、 getglyphbyid()から iglyphaccesserインターフェイスを使用するよりも速く動作します。 また、 ttffontクラスは、過負荷のあるメソッドのセットを提供します getglyphcomponentsbyid()。これらの方法は、複合グリフを使用するように設計されています。
Composite Glyphは、フォント内の1つ以上の他のグリフを参照するグリフです。たとえば、キャラクターのグリフ(Unicode U+00C4)は、キャラクターA(ベースグリフとして)および拡張マークグリフのグリフで構成できます。
方法 getGlyphComponentsById()複合グリフの識別子を取り、転送された複合材料グリフが言及するグリフのリストを返します。