Python'da TTF Fonts ile Nasıl Çalışılır
Bu rehber TTF yazı tiplerini nasıl yüklediğini gösterir, kontrol eder TtfFont Özellikler, okuma tablosu, anlık değişken yazı tipleri ve Python için Aspose.Font FOSS kullanarak diğer biçimlere dönüştürme..ttf) en yaygın yazı tipi biçimidir. Aspose.Font FOSS bunları yüklüyor TtfFont örnekler, tablolar, değişken yazı tipi eksenleri, glyph verileri ve dönüşüm araçları erişim sağlar.
Adım adım rehberlik
Adım 1: Paket yükleme
PIP’den Aspose.Font FOSS paketini aşağıdaki pip komutunu kullanarak yükleme:
pip install "aspose-font>=1.0.0"Adım 2: Gerekli sınıflar ithal etmek
Import FontLoader ve TtfFont TTF yazı tipi yüklemek ve yazılı özelliklerine erişmek için:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFontAdım 3: TTF yazı tipi yükleme ve kontrol edin
TTF dosyasını kullanarak yükleme FontLoader.open() ve isim, aile ve glyph sayımı gibi temel özellikleri okuyun:
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.font_family)
print(ttf_font.num_glyphs)Adım 4: Kern Tablosu okuyun
Access ile ttf_tables mülkiyet ve çekirdek tablosunun varlığı için kontrol:
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
kern = ttf_font.ttf_tables.kern
print("kern present:", kern is not None)5. Adım: Değişken bir yazı tipi başlatın
Değişken bir yazı tipi dosyasını yükleme, kontrol edin is_variable,ve çağrısı instantiate() statik bir örnek üretmek için bir eksen sözlüğü ile:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
if ttf_font.is_variable:
static = ttf_font.instantiate({"wght": 700.0})
print("Instantiated:", static.font_name)Adım 6: WOFF2’ye dönüştürün
Yüklü bir TTF yazı tipi WOFF2 biçiminde dönüştürün geçerek FontType.WOFF2 için FontConverter.convert():
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)Toplam Sorunlar ve Çözümler
AttributeError: Font has no attribute ttf_tables - Kullanım ttf_font: TtfFont = FontLoader.open(...). O zamanlar ttf_tables Mülkiyet üzerinde TtfFont,Temel değil Font.
is_variable değişken bir yazı tipi üzerinde yanlıştır. Bazı değişken yazı tipleri standart olmayan bir yazı tipi kullanır. fvar Tablo Formatı - Kontrolü ttf_font.fvar is not None Alternatif olarak.
instantiate() Yükseliş KeyError - As etiketinin kayıtlı 4 çerçeve etkisine sahip olması gerekir. (Örneğin g. "wght", "wdth") kontrol etmek ttf_font.axes Mevcut etiketler için.
Sıkça Sorulan Sorular
TTF ve OTF arasındaki fark nedir?
OTF ve TTF aynı ikili konteyner (SFNT) paylaşır. OT Fonksiyonlar genellikle CFF çıkışları kullanır TTF yazı tipleri TrueType çeyrek eğriler kullanırken. her ikisi de yüklü FontLoader.open().
Bir TTF yazı tipi ile çekirdek çiftleri alabilir miyim?
Evet Kullanım TtfFont.get_kern_pairs() Bir listeyi almak için KernPair nesneler için.
Kütüphane yazı tipi koleksiyonları (.ttc) destekliyor mu?
Evet Kullanım FontLoader.open(source, collection_index=N) belirli bir yazı tipi seçmek için TTC dosyası ile ilgili.