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() を使用しますFont を介してフォントメタデータにアクセスします: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() と get_all_codepoints() を使用してグリフエンコーディングマップを読み取りますFontMetrics で検査します: アセント、ディセント、ラインギャップ、エムスクエアGlyphAccessor.get_glyph_by_id() と get_glyph_by_unicode() を使用します。GlyphAccessor.get_glyphs_for_text() で解決するMoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph プロパティからグリフのバウンディングボックス、アドバンス幅、サイドベアリングを取得するKernPair からカーニングペアを読み取りますFontConverter.convert() で変換しますCurveAdapter.quad_to_cubic() と cubic_to_quads() で適応するconvert_path_quad_to_cubic() と convert_path_cubic_to_quad() で変換するFontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web() で生成するFontSubsetter.subset_by_presets() と available_presets() で適用するFontSubsetter.analyze_coverage() と analyze_web_coverage() で分析するFontCleaner.clean_for_web()で取り除くCompatibilityChecker.compare_fonts() と compare_variable_instances() で確認するAnimationPreviewBuilder.build_axis_sweep() でアニメーションAPNG軸スイープを生成するAnimationPreviewBuilder.build_path() を使用してマルチステップ アニメーション パスを構築するファイルパスから TrueType または OpenType フォントを開き、基本的なメタデータを読み取ります。
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
Unicode コードポイントに対するすべてのグリフを解決し、そのアウトラインパスを検査します。
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 配信前にバイナリサイズを削減するため、レガシーテーブルと 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
これは、TTF、OTF、CFF、Type 1、WOFF、WOFF2、EOT 形式のフォントをロード、検査、変換、サブセット化するための、無料で MIT ライセンスの pure-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、WOFF2 を書き込みます。EOT は読み取り専用です。
いいえ。Font.to_bytes() は基底クラスで実装されていません。FontConverter.convert() を使用して、目的の形式で新しい Font を生成してください。
はい。FontSubsetter.subset_by_text(font, text) は、指定されたテキストに必要なグリフだけを含む新しい Font を返します。FontSubsetter.subset(font, codepoints) と subset_by_gids(font, gids) は、より細かい制御を提供します。