Cara Bekerja dengan Font CFF di Python

Cara Bekerja dengan Font CFF di Python

CFF (Compact Font Format) adalah format garis besar yang digunakan dalam font OpenType dan standalone .cff file. Aspose.Font FOSS mewakili font CFF sebagai CffFont kasus, yang memperpanjang dasar Font kelas dan mengekspos data khusus CFF.

Panduan Langkah-Langkah

Langkah 1: Instalasi paket

pip install "aspose-font>=1.0.0"

Langkah 2: Import Kelas yang Diperlukan

from aspose_font.loader import FontLoader
from aspose_font.cff.font import CffFont
from aspose_font import FontType

Langkah 3: Mengisi Font CFF

Call FontLoader.open() dengan jalan ke Anda .cff file. Objek yang dikembalikan adalah sebuah CffFont contoh yang mengungkapkan jumlah glyph, nama font dan sifat khusus CFF:

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

Langkah 4: Akses Kern Pairs

Lempar font yang dimuat ke CffFont, lalu hubungi get_kern_pairs() untuk mendapatkan daftar catatan pasangan kern. Tidak semua font CFF berisi data kern; periksa panjangnya sebelum mengulang:

from aspose_font.loader import FontLoader
from aspose_font.cff.font import CffFont

cff_font: CffFont = FontLoader.open("MyFont.cff")
kern_pairs = cff_font.get_kern_pairs()
print(f"kern pairs: {len(kern_pairs)}")

Langkah 5: Konversi CFF menjadi TTF

Pergilah yang penuh. CffFont ke FontConverter.convert() dengan: FontType.TTF untuk menghasilkan baru TtfFont dalam format garis besar TTF:

from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType

font = FontLoader.open("MyFont.cff")
ttf = FontConverter.convert(font, FontType.TTF)

Masalah dan Fixes Umum

CffFont has no attribute cff_fontcff_font adalah properti di TtfFont bahwa mengembalikan data CFF tertanam, tidak pada basis Font Untuk penggunaan file CFF mandiri. CffFont langsung.

Pasangan biji kosong Tidak semua font CFF berisi data pasangan kern. Periksa dengan len(cff_font.get_kern_pairs()) > 0 sebelum mengulang.

Pertanyaan yang sering ditanya

Apa perbedaan antara CffFont dan TtfFon?

CffFont mewakili file CFF yang mandiri. TtfFont mewakili file TTF/OTF; OTF dapat memasukkan garis besar CFF yang dapat diakses melalui: ttf_font.cff_font.

Bisakah saya mengonversi font CFF ke WOFF2?

  • Ya, aku tahu. FontConverter.convert(font, FontType.WOFF2) bekerja dengan apa pun Font contoh termasuk: CffFont.

See Also

 Bahasa Indonesia