Aspose.Font FOSS dla Python jest czystym Python zestawem narzędzi 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 systemu operacyjnego ani natywnych zależności.
Biblioteka udostępnia czyste 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 klasę bazową 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 do narzędzi projektowania czcionek, potoków czcionek internetowych, silników renderowania glifów oraz dowolnej aplikacji Python, która musi odczytywać, przekształcać lub tworzyć pliki czcionek. Aby zobaczyć rodzinę produktów enterprise, zobacz Aspose.Font — Enterprise Product Family.
FontLoader.open() i FontLoader.load()Font: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() i get_all_codepoints()FontMetrics: wzniesienie, opad, odstęp linii, kwadrat emGlyphAccessor.get_glyph_by_id() i get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph propertiesKernPair w celu 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 OpenType z ścieżki pliku i odczytaj 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ąż wszystkie glify dla punktu kodowego Unicode i sprawdź ich ścieżki konturu.
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)
Utwórz animowany APNG, który przemieszcza oś zmiennej czcionki 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")
Usuń przestarzałe tabele i rekordy nazw Mac, aby zmniejszyć rozmiar pliku binarnego przed serwowaniem w sieci.
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, na licencji MIT czysta biblioteka Python do ładowania, przeglądania, konwertowania i podzestawowania czcionek w formatach TTF, OTF, CFF, Type 1, WOFF, WOFF2 i EOT. Nie wymaga natywnych zależności.
Uruchom pip install "aspose-font>=1.0.0". Nie są potrzebne zależności na poziomie systemu. Biblioteka działa na Windows, macOS i Linux z Python 3.10 lub nowszym.
FontLoader.open() odczytuje TTF, OTF, CFF, Type 1, WOFF, WOFF2 i EOT. FontConverter.convert() zapisuje TTF, CFF, WOFF i WOFF2. EOT jest tylko do odczytu.
Nie. Font.to_bytes() nie jest zaimplementowane w klasie bazowej. Użyj FontConverter.convert(), aby utworzyć nowy Font w żądanym formacie.
Tak. FontSubsetter.subset_by_text(font, text) zwraca nowy Font zawierający tylko glify wymagane dla podanego tekstu. FontSubsetter.subset(font, codepoints) i subset_by_gids(font, gids) zapewniają bardziej precyzyjną kontrolę.