よくある質問
ライセンスとオープンソース
ライセンスモデルは何ですか?
Aspose.Font Python 用の FOSS は以下の下でリリースされています MIT License. ソフトウェアを制限なく使用、コピー、改変、統合、公開、配布、再許諾、または販売することができます。唯一の条件は、著作権表示とライセンス本文をソフトウェアのすべてのコピーまたは実質的な部分に含めることです。
商用製品で使用できますか?
はい。MIT ライセンスはクローズドソースおよび商用製品での使用を許可します。ライブラリ自体のコピーに著作権ヘッダーを保持すること以外に、ロイヤリティや帰属義務はありません。 Note: the CffFont クラスが更新されました(API_MODIFIED);既存のコードは軽微な調整が必要になる場合があります。
より多くの機能を備えた有料版はありますか?Aspose.Font FOSS はオープンソース版です。FOSS エディションは TTF、OTF、CFF、
Type 1、WOFF、WOFF2、そして EOT — これらは実際のフォント作業の大多数をカバーしています。
インストールと要件
どのようにすれば Aspose.Font FOSS を Python 用にインストールできますか?
更新されたパッケージをインストールします(Python 3.10+ が必要です):
git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .フォント API は変更されました(API_MODIFIED)。システムレベルのネイティブ依存関係は必要ありません。
サポートされている Python のバージョンは何ですか?
Python 3.10 以降。ライブラリは標準ライブラリの機能のみを使用するため、CPython と PyPy 実装(Python 3.10+ をサポート)でも動作します。
ネイティブまたはプラットフォーム固有の依存関係はありますか?
No. Aspose.Font Python 用の FOSS には C 拡張もシステムフォントもプラットフォーム API もありません。Windows、macOS、Linux すべてで同じように動作します。
フォーマットサポート
どのフォント形式を読み取れますか?
FontLoader.open() は TTF、OTF、CFF(スタンドアロン)、Type 1、WOFF、WOFF2、EOT をロードできます。
from aspose_font import FontLoader
font = FontLoader.open("MyFont.ttf")どの形式に書き出せますか?
FontConverter.convert() は TTF、CFF、WOFF、WOFF2 への変換をサポートしています。出力フォントはバイト列またはファイルストリームに保存できます。
WOFF2 のデコンプレッションは組み込みですか?
はい。WOFF2 の Brotli 圧縮およびデコンプレッションはすべてライブラリ内で実装されています。外部の brotli パッケージは必要ありません。
API Usage
フォントをロードしてメタデータを確認するにはどうすればよいですか?
FontLoader.open() を使用すると、Font インスタンスが返されます。TTF/OTF フォントの場合は、TtfFont にキャストして TTF 固有のプロパティにアクセスします:
from aspose_font import FontLoader
from aspose_font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.num_glyphs)TTF を WOFF2 に変換するにはどうすればよいですか?
フォントを FontLoader.open() でロードし、次に FontConverter.convert() に渡して FontType.WOFF2 をターゲットとして指定します。返されるオブジェクトはシリアライズ可能な Woff2Font インスタンスです:
from aspose_font import FontLoader
from aspose_font.converter import FontConverter # internal API — may change between releases
from aspose_font import FontType
font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)ウェブ配信用にフォントをサブセット化するにはどうすればよいですか?
提供された文字列をレンダリングするために必要なグリフだけを含む新しいフォントを生成するには、FontSubsetter.subset_by_text() を使用します。これにより、ウェブページへの埋め込み用ファイルサイズが削減されます:
from aspose_font import FontLoader
from aspose_font import FontSubsetter
font = FontLoader.open("Roboto-Regular.ttf")
subset = FontSubsetter.subset_by_text(font, "Hello World")個々のグリフにアクセスするにはどうすればよいですか?
実装された GlyphAccessor を備える Font.glyph_accessor を使用します。Unicode コードポイントを指定して get_glyph_by_unicode() を呼び出すと、対応するグリフオブジェクトが取得でき、メトリクスやアウトラインを検査できます:
from aspose_font import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
glyph = font.glyph_accessor.get_glyph_by_unicode(0x0041) # 'A'
print(glyph.glyph_id)既知の制限事項
Font.to_bytes() は実装されていますか?
抽象基底クラス Font.to_bytes(font_type) は直接呼び出すと NotImplementedError を送出します。ただし、すべての具体的なフォントクラス — TtfFont、CffFont、WoffFont、Woff2Font、EotFont、および Type1Font — は to_bytes() を完全に実装しています。FontLoader.open() でフォントをロードし、返された具体インスタンスに対して to_bytes() を呼び出してください。FontConverter.convert() は、サポートされている任意のターゲット形式で新しいフォントを生成することもできます。
TtfTableSet のすべてのテーブルタイプは埋められていますか?
共通のテーブル(head、hhea、maxp、os2、name、post、cmap、loca、hmtx、kern)のみが TtfTableSet の名前付きプロパティとして公開されています。他のテーブルは TtfFont.get_table_bytes(tag) を通じて生バイトとして読み取ることができます。
このライブラリは可変フォントのインスタンス化をサポートしていますか?
はい。TtfFont.instantiate(coordinates) は、指定された軸座標で静的な TtfFont を生成します。まず TtfFont.is_variable と TtfFont.axes を使用してバリエーション軸を検出してください。