1. Ürünler
  2.   Aspose.Font
  3.   Aspose.Font FOSS for Python

Aspose.Font FOSS for Python

TTF, OTF, CFF, WOFF, WOFF2 ve EOT font dosyalarını yükleme, inceleme, dönüştürme ve alt kümeleme için açık kaynaklı Python kütüphanesi.

Python'da programlı olarak yazı tipleriyle çalışın

Aspose.Font FOSS for Python, TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 ve EOT formatlarında fontları yükleme, inceleme, dönüştürme, alt kümeleme ve ön izleme için saf-Python bir araç takımıdır. Kütüphane, Python 3.10 veya daha yeni sürümlerde çalışır ve harici OS font kütüphaneleri veya yerel bağımlılıklar gerektirmez.

Kütüphane, FontLoader aracılığıyla font yükleme, GlyphAccessor aracılığıyla glif erişimi, FontConverter aracılığıyla format dönüşümü, FontCleaner aracılığıyla web optimizasyonu, FontSubsetter aracılığıyla metin‑bilinçli alt kümeleme ve AnimationPreviewBuilder aracılığıyla değişken font animasyonu için temiz bir API sunar. İsim, aile, stil, glif sayısı, kodlama ve ölçümler gibi font meta verileri, Font temel sınıfı üzerinden ikili tabloları manuel olarak ayrıştırmaya gerek kalmadan erişilebilir.

Aspose.Font FOSS, MIT lisanslıdır ve tek bir pip install komutuyla PyPI’dan kurulabilir. Font tasarım araçları, web font işlem hatları, glif render motorları ve font dosyalarını okuma, dönüştürme veya üretme ihtiyacı duyan herhangi bir Python uygulaması için uygundur. Kurumsal ürün ailesi için, Aspose.Font — Enterprise Product Family bakınız.

Yazıtip yükleme ve biçim tespiti

  • Dosya yollarından veya çiğ baytlardan FontLoader.open() ve FontLoader.load() ile yazı tiplerini yükle.
  • Otomatik olarak tespit biçimi: TTF, OTF , CFF, WOFF , WOff2, EOT, Tip 1
  • Font temel sınıfı ile font metadatalarına eriş: font_name, font_family , font_style ve num_glyphs
  • FontEncoding.unicode_to_gid() ve get_all_codepoints() ile glyph kodlama haritaları okuyun.
  • FontMetrics ile font ölçümlerini kontrol edin: yükseliş, düşüş, çizgi boşluğu, em-kare

Tipik Kullanım Durumları

  • Yazıtip doğrulama ve metadata çıkarma boru hattı
  • Yazı tipi ailesinin adını ve glyph sayısını doğrulayan CI/CD kontrolleri
  • Çeşitli giriş biçimlerini kabul eden web yazı tipi kullanma hizmetleri.
  • Masaüstü çalıştırma zamanı olmadan meta verileri görüntüleyen yazıtipi tasarımı araçları

Glyph erişim ve yol denetimi

  • Kimlik veya Unicode ile glifleri GlyphAccessor.get_glyph_by_id() ve get_glyph_by_unicode() ile alın
  • Bir dize için tüm glifleri GlyphAccessor.get_glyphs_for_text() ile çözümleyin
  • Glif kontur yollarını yazılmış komutlar olarak inceleyin: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • Glif sınırlama kutusuna, ilerleme genişliğine ve yan yatımlara Glyph özelliklerinden erişin
  • Doğru metin yerleşimi hesaplamaları için KernPair üzerinden kerning çiftlerini okuyun

Tipik Kullanım Durumları

  • Çok dilli metin gösterimi için glyph kapsamı kontrolleri
  • SVG yolu veya vektör üretimi için çizelge çıkarma
  • Yazı tipi kontrol iş akışlarında temel tablo doğrulamaları
  • Metin biçimlendirme araştırması ve düşük düzeyde düzenleme deneyi

Yazıtipi Dönüşümü

  • TTF, OTF , CFF, WOFF , WOff2, EOT ve Type 1 arasında FontConverter.convert() ile dönüştürün.
  • Bezier eğri türlerini CurveAdapter.quad_to_cubic() ve cubic_to_quads() ile uyarlayın.
  • convert_path_quad_to_cubic() ve convert_path_cubic_to_quad() ile karelik ve kübik arasında glyph yolları dönüştürün.

Tipik Kullanım Durumları

  • Yayımlama için TTF ana yazı tiplerini WOFF2’ye dönüştüren web font boru hattları
  • Bir kaynaktan birden fazla format hedefine ihraç eden tür dökümcilik aracı.
  • Geriye dönük uyumlu web yazı tipleri için eski EOT dönüşümü
  • Sürekli entegrasyonda otomatik yazı tipi biçimleri normalleştirme

Yazı tipi altyapısı

  • FontSubsetter.subset_by_text() ile Unicode metni tarafından alt yazı tipleri
  • FontSubsetter.subset_by_gids() ile glyph ID listesi tarafından alt kümeler
  • FontSubsetter.subset_for_web() ile web-optimizasyonlu alt kümeler oluşturun.
  • FontSubsetter.subset_by_presets() ve available_presets() ile isimli önceden ayarlanmış profiller uygulayın.
  • FontSubsetter.analyze_coverage() ve analyze_web_coverage() ile alt küme kapsamını analiz edin.

Tipik Kullanım Durumları

  • Sınırlı karakter kümeleri olan web sayfaları için WOFF2 yararlı yük boyutunun azaltılması
  • i18n dağıtımları için dil-özel yazı tipi alt kümelerinin üretilmesi
  • Sayfa-seti alt kümelerini dağıtan yazı tipi lisanslama iş akışları
  • Mobil web uygulamaları için performans optimizasyonu

Web Optimizasyonu ve Değişken Yazıtipi Önizlemeleri

  • Eski tabloları ve Mac isim kayıtlarını FontCleaner.clean_for_web() ile koparın.
  • Değişken yazı tipi ekseninin CompatibilityChecker.compare_fonts() ve compare_variable_instances() ile uyumlu olduğunu kontrol edin.
  • AnimationPreviewBuilder.build_axis_sweep() ile animasyonlu APNG eksen silgilerini oluşturun.
  • AnimationPreviewBuilder.build_path() ile çok adımlı animasyon yolları oluşturun.

Tipik Kullanım Durumları

  • Tip dökümhaneleri için yazı tipi örnek sayfaları ve interaktif eksel keşif cihazı
  • Yayınlamadan önce değişken yazı tipi davranışını doğrulayan CI boru hattı
  • Web performans boru hattı, gereksiz ikili tabloları bırakır.
  • Yazıtip yönetim uygulamaları için yazıtipi önizleme küçük resimleri

Yazıtipi Dosyası Yükle

Bir dosya yolundan TrueType veya OpenTybe yazı tipini açın ve temel meta verilerini okuyun.

from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)    # e.g. "Roboto"
print(font.font_family)  # e.g. "Roboto"
print(font.num_glyphs)   # e.g. 1294

Metin Dizini için Glyphs erişimi

Bir Unicode kod noktası için tüm glyph’leri çözün ve onların çizgi yollarını kontrol edin.

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

Değişken bir yazı tipi eksenini silme animasyonu oluşturun

Başlangıçtan son değerine kadar değişken bir yazı tipi eksenini süpüren animasyonlu APNG oluşturun.

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

Web Uygulamaları için Yazı Tipini Temizle

Web servisinden önce ikili boyutu azaltmak için eski tabloları ve Mac isim kayıtlarını kopar.

from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
font = FontLoader.open("Roboto-Regular.ttf")
cleaned = FontCleaner.clean_for_web(font)
# DSIG, FFTM, meta tables removed; Mac platform name records stripped

Sıkça Sorulan Sorular

Aspose.Font FOSS, Python için nedir?

TTF, OTF , CFF, Type 1, WOFF , WOff2 ve EOT formatlarında yazı tiplerini yüklemek, incelemek , dönüştürmek ve altlaştırmak için ücretsiz bir MIT lisanslı saf Python kütüphanesi. Yerel bağımlılık gerekmez.

Python için Aspose.Font FOSS’u nasıl yüklerim?

pip install "aspose-font>=1.0.0" çalıştırın. Sistem düzeyinde bağımlılıklara gerek yoktur. Kütüphane, Python 3.10 veya daha yeni sürümlü Windows, macOS ve Linux üzerinde çalışır.

Hangi yazı tipleri desteklenir?

FontLoader.open() TTF, OTF , CFF, Tip 1, WOFF , WOff2 ve EOT okuyor. FontConverter.convert() yazıyor TFT, CFCF, WOFF ve WOFL2. Eot sadece okunur.

Font.to_bytes ((() kullanılabilir mi?

Hayır. Font.to_bytes() temel sınıfta uygulanmamıştır. İstenen biçimdeki yeni bir Font oluşturmak için FontConverter.convert() kullanın.

Web dağıtım için bir yazı tipini ayarlayabilir miyim?

Evet. FontSubsetter.subset_by_text(font, text) verilen metin için gerekli olan glyphleri içeren yeni bir Font gönderir.FontSubsetter.subset(font, codepoints) ve subset_by_gids(font, gids) daha ince kontrol sağlar.

  

Destek ve Öğrenme Kaynakları

 Türkçe