Aspose.Font FOSS dla Python to czysty zestaw narzędzi Python do ładowania, przeglądania, konwertowania, podzbioru i podglądu czcionek w formatach TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 i EOT. Biblioteka działa na Python 3.10 lub nowszym i nie wymaga zewnętrznych bibliotek czcionek systemowych ani natywnych zależności.
Biblioteka udostępnia czysty API do ładowania czcionek za pomocą FontLoader, dostępu do glifów za pomocą GlyphAccessor, konwersji formatów za pomocą FontConverter, optymalizacji sieciowej za pomocą FontCleaner, podzbioru świadomego tekstu za pomocą FontSubsetter oraz animacji zmiennych czcionek za pomocą AnimationPreviewBuilder. Metadane czcionki, takie jak nazwa, rodzina, styl, liczba glifów, kodowanie i metryki, są dostępne poprzez bazową klasę Font bez ręcznego parsowania tabel binarnych.
Aspose.Font FOSS jest licencjonowany na licencji MIT i można go zainstalować z PyPI za pomocą jednego polecenia pip install. Jest odpowiedni dla narzędzi do projektowania czcionek, potoków czcionek internetowych, silników renderowania glifów oraz dowolnej aplikacji Python, która potrzebuje odczytywać, przekształcać lub tworzyć pliki czcionek. Dla rodziny produktów korporacyjnych zobacz Aspose.Font — Enterprise Product Family.
FontLoader.open() i FontLoader.load()Font: font_name, font_family , font_style i num_glyphsFontEncoding.unicode_to_gid() i get_all_codepoints()FontMetrics: wznoszenie, spadek, przepaść linii, em-kwadraGlyphAccessor.get_glyph_by_id() i get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyphKernPair dla dokładnych obliczeń układu tekstuFontConverter.convert()CurveAdapter.quad_to_cubic() i cubic_to_quads()convert_path_quad_to_cubic() i convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() i available_presets()FontSubsetter.analyze_coverage() i analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() i compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Otwórz czcionkę TrueType lub OpenTyme z ścieżki pliku i przeczytaj jej podstawowe metadane.
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
Rozwiązać wszystkie glyfy dla punktu kodu Unicode i sprawdzić ich ścieżki zarysów.
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)
Stwórz animowaną APNG, która prześwietla oś czcionki zmiennej od wartości początkowej do końcowej.
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")
Zdejmij stare tabele i zapisy nazw Mac, aby zmniejszyć rozmiar binary przed serwisem internetowym.
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
Jest to darmowa, licencjonowana przez MIT biblioteka czystej Pythona do ładowania, inspekcji, konwersji i subsetingu czcionek w formatach TTF, OTF , CFF, Typ 1, WOFF , WOff2 i EOT. Nie są wymagane natywne zależności .
pip install "aspose-font>=1.0.0" Nie jest potrzebna żadna zależność na poziomie systemu. Biblioteka działa w systemie Windows, macOS i Linux z Pythonem 3.10 lub nowszym.
FontLoader.open() czyta TTF, OTF , CFF, typ 1, WOFF , WOff2 i EOT. FontConverter.convert() pisze TFT, CFC, WOF i WOW2. Eot jest tylko do odczytu.
Nie. Font.to_bytes() nie jest wdrożony do klasy podstawowej. Użyj FontConverter.convert(), aby wyprodukować nowy Font w żądanym formacie.
Tak. FontSubsetter.subset_by_text(font, text) zwraca nowy Font zawierający tylko glify wymagane dla danego tekstu.FontSubsetter.subset(font, codepoints) i subset_by_gids(font, gids) dają bardziej precyzyjną kontrolę.