1. 製品
  2.   Aspose.Font
  3.   Aspose.Font FOSS for Python

Aspose.Font FOSS for Python

オープンソース Python ライブラリで、TTF、OTF、CFF、WOFF、WOFF2、EOT フォントファイルの読み込み、検査、変換、サブセット化を行います。

Python でフォントをプログラム的に操作する

Aspose.Font FOSS for Python は、TrueType、OpenType、CFF、Type 1、WOFF、WOFF2、EOT フォーマットにわたるフォントのロード、検査、変換、サブセット化、プレビューを行う pure-Python ツールキットです。ライブラリは Python 3.10 以降で動作し、外部の OS フォントライブラリやネイティブ依存関係を必要としません。

ライブラリは、FontLoader を介したフォントロード、GlyphAccessor を介したグリフアクセス、FontConverter を介したフォーマット変換、FontCleaner を介したウェブ最適化、FontSubsetter を介したテキスト対応サブセット化、AnimationPreviewBuilder を介した可変フォントアニメーションのためのクリーンな API を提供します。名前、ファミリー、スタイル、グリフ数、エンコーディング、メトリクスなどのフォントメタデータは、Font 基底クラスを通じて、バイナリテーブルを手動で解析することなくアクセス可能です。

Aspose.Font FOSS は MIT ライセンスで提供され、単一の pip install コマンドで PyPI からインストール可能です。フォントデザインツール、ウェブフォントパイプライン、グリフレンダリングエンジン、そしてフォントファイルの読み取り、変換、生成が必要な任意の Python アプリケーションに適しています。エンタープライズ製品ファミリーについては、Aspose.Font — Enterprise Product Family を参照してください。

フォントの読み込みとフォーマット検出

  • ファイルパスまたは生バイトからフォントをロードするには、FontLoader.open()FontLoader.load() を使用します
  • フォーマットを自動検出: TTF、OTF、CFF、WOFF、WOFF2、EOT、Type 1
  • Font 基底クラスを介してフォントメタデータにアクセス: font_namefont_familyfont_stylenum_glyphs
  • FontEncoding.unicode_to_gid()get_all_codepoints() でグリフエンコーディングマップを読み取ります
  • FontMetrics を使用してフォントメトリクスを検査: ascent、descent、line gap、em-square

典型的な使用例

  • フォント検証とメタデータ抽出パイプライン
  • フォントファミリー名と文字列数を確認するCI/CDのチェック
  • 複数の入力フォーマットを容認するウェブフォントの導入サービス
  • デスクトップ実行時間なしでメタデータを表示するフォントデザインツール

図形アクセスと経路検査

  • IDまたはUnicodeでグリフを取得するには、GlyphAccessor.get_glyph_by_id()get_glyph_by_unicode() を使用します
  • 文字列のすべてのグリフを解決するには、GlyphAccessor.get_glyphs_for_text() を使用します
  • グリフのアウトラインパスをコマンドとして確認する: MoveToLineToQuadraticToCurveToClosePath
  • Glyph プロパティからグリフのバウンディングボックス、アドバンス幅、サイドベアリングにアクセスします
  • 正確なテキストレイアウト計算のために、KernPair からカーニングペアを読み取ります

典型的な使用例

  • 多言語テキスト表示のためのグリフカバーチェック
  • SVG パスまたはベクトル生成のための概要抽出
  • フォントQAワークフローにおけるカーニングテーブルの検証
  • テキストの形作りの研究と低レベルのレイアウト実験

フォント変換

  • TTF,OTF (TIF),CFF (CFF),WOFF,WOff2 (FOFF2),EOT (ET) とType1の間で FontConverter.convert() で変換する.
  • CurveAdapter.quad_to_cubic()cubic_to_quads() でベジエール曲線タイプを調整する.
  • convert_path_quad_to_cubic()convert_path_cubic_to_quad() で,四角形と立方形の間のグリフ経路を変換する.

典型的な使用例

  • ウェブフォントパイプラインで,TTFマスターフォイントをWOFF2に変換する.
  • 複数のフォーマットターゲットを1つのソースから輸出する鋳造工具のタイプ
  • 逆向互換性のある Web フォントスタックのための従来の EOT変換
  • 連続統合における自動フォントフォーマット標準化

フォントのサブセット

  • フォントのサブセットは,Unicodeテキストで FontSubsetter.subset_by_text() で設定されます.
  • グラフ IDリストで,FontSubsetter.subset_by_gids() を表示するサブセット.
  • FontSubsetter.subset_for_web() でウェブを最適化したサブセットを作成する.
  • FontSubsetter.subset_by_presets()available_presets() で指定されたプリセットプロフィールを適用する.
  • 部分群のカバーを FontSubsetter.analyze_coverage()analyze_web_coverage() で分析する.

典型的な使用例

  • 限定された文字セットを持つウェブページのWOFF2有効ロードサイズを減らす.
  • i18n 展開のための言語特有のフォントサブセットの作成
  • フォントライセンスワークフローでページセットごとにサブセットを配布する.
  • モバイルウェブアプリケーションのパフォーマンス最適化

Web 最適化と変形型フォントプレビュー

  • FontCleaner.clean_for_web() を使って古いテーブルとMac名記録を削除する.
  • 変数フォント軸が CompatibilityChecker.compare_fonts()compare_variable_instances() に互換性を確認する.
  • AnimationPreviewBuilder.build_axis_sweep() でアニメーションの APNG 軸をスワップする.
  • AnimationPreviewBuilder.build_path() で複数のステップのアニメーションパスを構築する.

典型的な使用例

  • 型鋳造所用フォントサンプルページとインタラクティブアックスエクスプローラー
  • 配布前に変形型フォントの動作を検証するICパイプライン
  • ウェブパフォーマンスパイプラインで,非必須のバイナリーテーブルを削除する.
  • フォント管理アプリケーションのフォन्टプレビュースミニアル

フォントファイルをロードする

ファイルパスの真型またはオープンタイプフォントを開き,その基本メタデータを読みます.

from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)    # e.g. "Roboto"
print(font.font_family)  # e.g. "Roboto"
print(font.num_glyphs)   # e.g. 1294

文字列のグリフにアクセスする

ユニコードのポイントにすべてのグリフを解決し,そのコンプレクトパスをチェックします.

from aspose_font.loader import FontLoader
font = FontLoader.open("OpenSans-Regular.otf")
glyph_id = font.encoding.unicode_to_gid(0x41)  # Unicode for A
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
for cmd in glyph.path.commands:
    print(type(cmd).__name__, cmd)

変形型フォント軸のスイープアニメーションを生成する.

動畫化された APNG を作成します. このアニメーションは,変数型フォント軸を開始値から終了値までスワップします

from aspose_font.loader import FontLoader
from aspose_font.animation import AnimationPreviewBuilder

font = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")

asset = AnimationPreviewBuilder.build_axis_sweep(
    font,
    axis_tag="wdth",
    start_val=75.0,
    end_val=100.0,
    frames=3,
    fps=10,
    text="A",
    size=10.0,
    bounce=True,
)

asset.write_to("roboto-sweep-wdth.png")

Web 展開のためのフォントをクリーンする

Web サーバーの前にバイナリサイズを減らすために古いテーブルとMac 名前のレコードを削除します.

from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
font = FontLoader.open("Roboto-Regular.ttf")
cleaned = FontCleaner.clean_for_web(font)
# DSIG, FFTM, meta tables removed; Mac platform name records stripped

よくある質問

Aspose.Font FOSS for Python とは何ですか?

オープンソースのPythonライブラリで,TTF,OTF ,CFF,Type 1,WOFF ,WOff2およびEOT形式でのフォントをロードし,検査し,,変換してサブセットすることができます.ネイティブ依存性はありません.

どうすれば Aspose.Font FOSS を Python 用にインストールできますか?

pip install "aspose-font>=1.0.0" を実行します.システムレベルの依存関係は必要ありません.このライブラリーは,Windows,macOS,およびLinuxで Python 3.10 以降で動作します

どのフォント形式がサポートされていますか?

FontLoader.open() は TTF,OTF ,CFF,Type 1,WOFF ,WOff2,およびEOT を読みます.FontConverter.convert()はTTF,, CFF,. WOFF,2 とWoff2を書き込みます EOTは読みに限定されます.

Font.to_bytes (Font. to_ bytes) が利用可能ですか?

いいえ。Font.to_bytes() は基底クラスで実装されていません。FontConverter.convert() を使用して、目的の形式で新しい Font を作成してください。

ウェブ配信用のフォントをサブセットできますか?

はい。FontSubsetter.subset_by_text(font, text) は、指定されたテキストに必要なグリフだけを含む新しい Font を返します。FontSubsetter.subset(font, codepoints)subset_by_gids(font, gids) は、より細かい制御を提供します。

  

サポートと学習リソース

 日本語