Aspose.Font FOSS для Python — це чисто-Python інструментарій для завантаження, інспектування, конвертування, підмножинування та попереднього перегляду шрифтів у форматах TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 та EOT. Бібліотека працює на Python 3.10 або пізнішій версії та не потребує зовнішніх бібліотек шрифтів ОС або нативних залежностей.
Бібліотека надає чистий API для завантаження шрифтів через FontLoader, доступу до гліфів через GlyphAccessor, конвертації форматів через FontConverter, веб‑оптимізації через FontCleaner, підстановки з урахуванням тексту через FontSubsetter та анімації змінних шрифтів через AnimationPreviewBuilder. Метадані шрифту, такі як назва, сімейство, стиль, кількість гліфів, кодування та метрики, доступні через базовий клас Font без ручного розбору бінарних таблиць.
Aspose.Font FOSS має ліцензію MIT і встановлюється з PyPI за допомогою однієї команди pip install. Він підходить для інструментів дизайну шрифтів, веб‑шрифтових конвеєрів, движків рендерингу гліфів та будь-якого Python застосування, яке потребує читання, перетворення або створення файлів шрифтів. Для сімейства корпоративних продуктів дивіться Aspose.Font — Enterprise Product Family.
FontLoader.open() та FontLoader.load()Font: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() та get_all_codepoints()FontMetrics: підйом, спуск, інтервал між рядками, ем‑квадратGlyphAccessor.get_glyph_by_id() та get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph.KernPair для точних розрахунків розташування текстуFontConverter.convert()CurveAdapter.quad_to_cubic() та cubic_to_quads()convert_path_quad_to_cubic() та convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() та available_presets()FontSubsetter.analyze_coverage() та analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() та compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Відкрийте шрифт TrueType або OpenType за шляхом до файлу та прочитайте його базові метадані.
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
Визначте всі гліфи для Unicode‑коду та проаналізуйте їх контурні шляхи.
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)
Створіть анімований APNG, який змінює значення осі змінного шрифту від початкового до кінцевого.
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")
Видаліть застарілі таблиці та записи імен Mac, щоб зменшити розмір бінарного файлу перед веб‑обслуговуванням.
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
Це безкоштовна, ліцензована за MIT, pure-Python бібліотека для завантаження, інспектування, конвертації та створення підмножин шрифтів у форматах TTF, OTF, CFF, Type 1, WOFF, WOFF2 та EOT. Ніякі нативні залежності не потрібні.
Запустіть pip install "aspose-font>=1.0.0". Системні залежності не потрібні. Бібліотека працює на Windows, macOS та Linux з Python 3.10 або новішим.
FontLoader.open() читає TTF, OTF, CFF, Type 1, WOFF, WOFF2 та EOT. FontConverter.convert() записує TTF, CFF, WOFF та WOFF2. EOT лише для читання.
Ні. Font.to_bytes() не реалізовано в базовому класі. Використайте FontConverter.convert(), щоб створити новий Font у потрібному форматі.
Так. FontSubsetter.subset_by_text(font, text) повертає новий Font, що містить лише гліфи, необхідні для заданого тексту. FontSubsetter.subset(font, codepoints) та subset_by_gids(font, gids) забезпечують більш точний контроль.