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 を使用してフォントメトリクスを検査: ascent、descent、line gap、em-squareGlyphAccessor.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() を使って古いテーブルとMac名記録を削除する.CompatibilityChecker.compare_fonts() と compare_variable_instances() に互換性を確認する.AnimationPreviewBuilder.build_axis_sweep() でアニメーションの APNG 軸をスワップする.AnimationPreviewBuilder.build_path() で複数のステップのアニメーションパスを構築する.ファイルパスの真型またはオープンタイプフォントを開き,その基本メタデータを読みます.
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 サーバーの前にバイナリサイズを減らすために古いテーブルと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
オープンソースのPythonライブラリで,TTF,OTF ,CFF,Type 1,WOFF ,WOff2およびEOT形式でのフォントをロードし,検査し,,変換してサブセットすることができます.ネイティブ依存性はありません.
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() は基底クラスで実装されていません。FontConverter.convert() を使用して、目的の形式で新しい Font を作成してください。
はい。FontSubsetter.subset_by_text(font, text) は、指定されたテキストに必要なグリフだけを含む新しい Font を返します。FontSubsetter.subset(font, codepoints) と subset_by_gids(font, gids) は、より細かい制御を提供します。