Python で Type 1 フォントを扱う方法

Python で Type 1 フォントを扱う方法

PostScript Type 1 は、TrueType と OpenType が登場する前の主流のプロフェッショナルフォント形式でした。Aspose.Font Python 用の FOSS は、FontLoader.open() を介して Type 1 フォントの読み込みを自動フォーマット検出とともにサポートしています。

ステップバイステップガイド

ステップ 1: パッケージをインストールする

git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .

ステップ 2: 必要なクラスをインポートする

from aspose_font import FontLoader
from aspose_font.converter import FontConverter  # internal API — may change between releases
from aspose_font import FontType

ステップ 3: Type 1 フォントをロードする

font = FontLoader.open("MyFont.pfb")
print(font.font_name)
print(font.num_glyphs)

ステップ4: Type 1 を TTF に変換

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("MyFont.pfb")
ttf = FontConverter.convert(font, FontType.TTF)

ステップ5: グリフアウトラインにアクセス

from aspose_font import FontLoader

font = FontLoader.open("MyFont.pfb")
glyph = font.glyph_accessor.get_glyph_by_unicode(0x0041)  # 'A'
print(glyph.glyph_id)

一般的な問題と対策

フォントの読み込みに失敗しました .afm file — Type 1 フォントはしばしばペアで提供されます(.pfb + .afm)。 次に、 .pfb ファイルを FontLoader.open()。 .afm メトリクスファイルは、同じディレクトリに存在すれば自動的に読み込まれます。

変換後にグリフが欠落しています — 一部の Type 1 フォントは非標準のエンコーディングベクタを使用します。検査してください font.encoding 変換前に。

よくある質問

Type 1 が使用するファイル拡張子は何ですか?

最も一般的な拡張子は .pfb(バイナリ)と .pfa(ASCII)です。どちらもサポートされています。

Type 1 を WOFF2 に変換できますか?

はい。FontConverter.convert(font, FontType.WOFF2)は、Type 1 を含む任意のロードされた Font と連携します。

参照

 日本語