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

Aspose.Font FOSS - Aspose.Font Python için FOSS

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

Python içinde yazı tipleriyle programlı olarak ç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 önizleme 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 bir işletim sistemi font kütüphanesi veya yerel bağımlılık 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‑duyarlı 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 metrikler 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 pipeline’ları, glif render motorları ve font dosyalarını okuma, dönüştürme veya üretme ihtiyacı olan herhangi bir Python uygulaması için uygundur. Kurumsal ürün ailesi için, Aspose.Font — Enterprise Product Family bakınız.

Yazı Tipi Yükleme ve Biçim Algılama

  • Yazı tiplerini dosya yollarından veya ham baytlardan FontLoader.open() ve FontLoader.load() ile yükleyin
  • Biçimi otomatik olarak algıla: TTF, OTF, CFF, WOFF, WOFF2, EOT, Type 1
  • Yazı tipi meta verilerine Font temel sınıfı aracılığıyla erişin: font_name, font_family, font_style, num_glyphs
  • Glyph kodlama haritalarını FontEncoding.unicode_to_gid() ve get_all_codepoints() ile okuyun
  • Yazı tipi metriklerini FontMetrics ile inceleyin: yükseliş, alçalma, satır boşluğu, em-kare

Tipik Kullanım Durumları

  • Yazı Tipi Doğrulama ve Meta Veri Çıkarma Boru Hatları
  • Yazı tipi ailesi adını ve glif sayısını doğrulayan CI/CD kontrolleri
  • Birden fazla giriş formatını kabul eden web fontu alma hizmetleri
  • Masaüstü çalışma zamanı olmadan meta verileri gösteren yazı tipi tasarım araçları

Glif Erişimi ve Yol İncelemesi

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

Tipik Kullanım Durumları

  • Çok dilli metin render’ı için glif kapsama kontrolleri
  • SVG yolu veya vektör oluşturma için kontur çıkarma
  • Yazı tipi QA iş akışlarında kerning tablosu doğrulaması
  • Metin şekillendirme araştırması ve düşük seviyeli yerleşim deneyleri

Yazı Tipi Dönüştürme

  • 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
  • Kübik ve kuadratik arasında glif yollarını convert_path_quad_to_cubic() ve convert_path_cubic_to_quad() ile dönüştürün

Tipik Kullanım Durumları

  • Dağıtım için TTF ana yazı tiplerini WOFF2’ye dönüştüren web yazı tipi işlem hatları
  • Tek bir kaynaktan birden çok format hedefine dışa aktaran tipografi araçları
  • Geriye uyumlu web font yığınları için eski EOT dönüşümü
  • Sürekli entegrasyonda otomatik font formatı normalleştirme

Yazı Tipi Alt Kümesi

  • Unicode metniyle FontSubsetter.subset_by_text() kullanarak yazı tiplerini alt kümeleyin
  • Glyph kimliği listesiyle alt küme oluşturma FontSubsetter.subset_by_gids()
  • Web için optimize edilmiş alt kümeleri FontSubsetter.subset_for_web() ile oluşturun
  • Adlandırılmış ön ayar profillerini FontSubsetter.subset_by_presets() ve available_presets() ile uygulayın.
  • Alt küme kapsamasını FontSubsetter.analyze_coverage() ve analyze_web_coverage() ile analiz edin

Tipik Kullanım Durumları

  • Sınırlı karakter setlerine sahip web sayfaları için WOFF2 yük boyutunu azaltma
  • i18n dağıtımları için dil‑spesifik yazı tipi alt kümeleri üretme
  • Sayfa başına set alt kümelerini dağıtan font lisanslama iş akışları
  • Mobil web uygulamaları için performans optimizasyonu

Web Optimizasyonu ve Değişken Yazı Tipi Ön İzlemeleri

  • Legacy tabloları ve Mac ad kayıtlarını FontCleaner.clean_for_web() ile temizleyin
  • Değişken yazı tipi eksen uyumluluğunu CompatibilityChecker.compare_fonts() ve compare_variable_instances() ile kontrol edin
  • AnimationPreviewBuilder.build_axis_sweep() ile animasyonlu APNG eksen süpürmeleri oluşturun
  • Çok adımlı animasyon yollarını AnimationPreviewBuilder.build_path() ile oluşturun

Tipik Kullanım Durumları

  • Yazı Tipi Örnek Sayfaları ve Etkileşimli Eksen Keşifçileri için Tipografi Atölyeleri
  • Dağıtımdan önce değişken yazı tipi davranışını doğrulayan CI boru hatları
  • Gereksiz ikili tabloları dışarıda bırakan web performans boru hatları
  • Yazı tipi önizleme küçük resimleri, yazı tipi yönetim uygulamaları için

Yazı Tipi Dosyasını Yükle

Bir dosya yolundan TrueType veya OpenType 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 Dizesi için Gliflere Eriş

Bir Unicode kod noktası için tüm glifleri çözümleyin ve bunların kontur yollarını inceleyin.

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 Yazı Tipi Eksen Tarama Animasyonu Oluştur

Başlangıçtan bitiş değerine kadar bir değişken yazı tipi eksenini tarayan bir 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 Dağıtımı için Yazı Tipini Temizle

Web sunumundan önce ikili dosya boyutunu azaltmak için eski tabloları ve Mac ad kayıtlarını kaldırın.

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?

Bu, TTF, OTF, CFF, Type 1, WOFF, WOFF2 ve EOT formatlarında fontları yüklemek, incelemek, dönüştürmek ve alt kümelemek için ücretsiz, MIT lisanslı saf-Python bir kütüphanedir. Yerel bağımlılıklar gerektirmez.

Aspose.Font FOSS, Python için nasıl kurarım?

pip install "aspose-font>=1.0.0" çalıştırın. Sistem düzeyinde bağımlılıklar gerekmez. Kütüphane, Python 3.10 veya üzeri ile Windows, macOS ve Linux’ta çalışır.

Hangi yazı tipi formatları destekleniyor?

FontLoader.open() TTF, OTF, CFF, Type 1, WOFF, WOFF2 ve EOT okur. FontConverter.convert() TTF, CFF, WOFF ve WOFF2 yazar. EOT sadece okunur.

Font.to_bytes() mevcut mu?

Hayır. Font.to_bytes() temel sınıfta uygulanmamıştır. İstenen formatta yeni bir Font üretmek için FontConverter.convert() kullanın.

Web teslimi için bir fontu alt kümeleyebilir miyim?

Evet. FontSubsetter.subset_by_text(font, text), verilen metin için gereken yalnızca glifleri içeren yeni bir Font döndürür. FontSubsetter.subset(font, codepoints) ve subset_by_gids(font, gids) daha ince kontrol sağlar.

  

Destek ve Öğrenme Kaynakları

 Türkçe