Introduction

Aspose.Font FOSS for Python is a new open-source library that gives Python developers yazı tipi dosyaları ile programlı olarak çalışmak için tam bir araç kit. yüklemeye gerek yoksa bir TTF glif denetim için, bir OTF web teslimat için WOFF2 dönüştürmek için bir yazı tipi altlandırmak için payload boyutunu azaltın veya değişken yazı tipi eksenlerinin animasyonlu önizlemeleri oluşturun, kütüphane Tüm bu görevler için birleşik, bağımlılık dışı API’yi ortaya koymaktadır.

Kütüphane Pypi’de yayınlanmaktadır. aspose-font MİH’nin lisansı altında; gerekli Python 3.10 veya daha sonraki ve OS düzeyinde yazı tipi rendering kütüphanelerine bağımlı değildir, örneğin: FreeType veya HarfBuzz. Bu, başsız sunucular için uygun hale getirir;, CI borular ve sistem yazı tipleri kurulduğu konteynerli çalışma yükleri pratik değildir.

Aspose.Font FOSS v1.0.0 supports loading fonts in TTF, OTF, CFF, Type 1, WOFF, WOFF2, ve EOT biçimleri, aynı set formatlara ihraç edilebilirlik ile FontConverter.


Ne içeriyor

Metadata ve metadata erişimi

O zamanlar FontLoader Sınıf, yükleme yazı tiplerinin tek giriş noktasıdır. FontLoader.open() bir dosya yolu veya ham byte ile ve kütüphane otomatik olarak biçimi tespit edecek ve *İyi bir yazı tipi döndürün. bir kez yüklendiğinde, Font Basit sınıf size erişim sağlar için font_name, font_family, font_style, num_glyphs,ve kodlama haritası.

from aspose_font.loader import FontLoader

font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)    # "Roboto"
print(font.font_family)  # "Roboto"
print(font.num_glyphs)   # number of glyphs in the font

Glyph Kontrolü ve Yol Erişim

O zamanlar GlyphAccessor Sınıf, Glyph ID veya Unicode kod noktası ile glifler görmenizi sağlar. get_glyph_by_id() ve get_glyph_by_unicode().Tüm glikeleri bir çizgi için çözmek için Tekrarda yazılar, kullanılarak get_glyphs_for_text().Her biri Glyph nesne çıkış yolu gösterir Yürüyüş yolları ile ilgili bir soru olarak, MoveTo, LineTo, QuadraticTo, CurveTo,ve ClosePath - size bir rendering motoru olmadan Bézier’in hammadde verilerine erişim sağlar.

from aspose_font.loader import FontLoader

font = FontLoader.open("OpenSans-Regular.otf")
glyph_id = font.encoding.unicode_to_gid(0x41)  # Unicode code point for 'A'
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
for cmd in glyph.path.commands:
    print(type(cmd).__name__, cmd)

fon altı

FontSubsetter Çeşitli stratejiler sunar. kullanın subset_by_text() için Sadece belirli bir çubuk için gerekli glifleri tutun, subset_by_gids() Glyph’i tanımlamak için doğrudan kimlik veya subset_for_web() Web optimizasyonu ile nadiren düşen bir ön ayar uygulamak için Grafik ve tablo kullanımı. analyze_coverage() % hangi oranları kontrol edebilirsiniz. Orijinal yazı tipi, bir alt set onu taahhüt etmeden önce kapsar.

from aspose_font.loader import FontLoader
from aspose_font.subsetter import FontSubsetter

font = FontLoader.open("NotoSans-Regular.ttf")
# Subset to the characters needed for a Latin-script page
result = FontSubsetter.subset_by_text(font, "Hello, World!")

Web Font Optimizasyonu

FontCleaner.clean_for_web() DSIG, FFTM ve meta tabloları çubuklar ve Mac kaldırır platform adı kayıtları yazı tipi isim tablosundan. sonuç daha küçük bir ikili bu bir web yazı tipi olarak daha hızlı yüklüyor, glif çıkışları veya metrikleri değiştirmeden.

from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner

font = FontLoader.open("Roboto-Regular.ttf")
cleaned = FontCleaner.clean_for_web(font)
# stripped of legacy tables; ready for WOFF2 packaging

Variable Font Animasyon Önizlemeleri

Değişken yazıları için, AnimationPreviewBuilder Bir animasyon APNG oluşturabilir, bu da Bir başlangıç değeri ile bir son değere kadar bir eksen. build_axis_sweep() Metoda kabul edilir Asis etiketine (örneğin,., "wdth" veya "wght"Bir çerçeve sayısı, bir saniye başına çerezler ve bir opsiyonel bounce bayrağı, bir yuvarlak animasyon oluşturmak için yumuşak döndürür. sonuç Bir bir AnimationAsset Kimin write_to() Metoda APNG’yi diskten kaydeder.

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")

Hızlı Başlangıç

Kütüphaneyi Pypi’den yükleme:

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

Sonra bir yazı tipi yükleme ve metadata birkaç satırda inceleme:

from aspose_font.loader import FontLoader

font = FontLoader.open("MyFont.ttf")
print(f"Family: {font.font_family}")
print(f"Style:  {font.font_style}")
print(f"Glyphs: {font.num_glyphs}")

# Look up a glyph by Unicode code point
glyph_id = font.encoding.unicode_to_gid(ord("A"))
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
print(f"Path commands for 'A': {len(glyph.path.commands)}")

Desteklenen Formatlar

FormatExtensionReadWrite
TTF.TFK✓✓
OTF.OTP✓✓
CFF.CFF✓✓
TYPE1.pfb / pfa için✓✓
WOFF.Wooff✓✓
WOFF2.YÜK 2✓✓
EOT.EOT✓✓

Açık Kaynak & Lisans

Aspose.Font FOSS for Python is published under the MIT license. You can use it in ticari projeler, değiştirmek ve serbestçe dağıtmak. kaynak kodu mevcuttur GitHub’da aspose-font-foss/Aspose.Font-FOSS-for-Python için Piyasada mevcut olan paket, aspose-font.


Başlamaya başlar

İlgili Kaynaklar