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: підйом, спуск, пробіг лінії, em-квадратнийGlyphAccessor.get_glyph_by_id() та get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyphKernPair для точних розрахунків розташування тексту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 або OpenTyme з шляху файлу і прочитати його основні метадані.
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
Вирішати всі гліфи для точок кодного коду Юнікода і перевірити їх контурний шлях.
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 бібліотека з чистою 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, тип 1, WOFF , WOff2 і EOT. FontConverter.convert() пише TFT, CFC, WOFF та WOFL2. Eot є тільки для читання.
Ні. Font.to_bytes() не реалізовано в базовому класі. Використайте FontConverter.convert(), щоб створити новий Font у потрібному форматі.
Так. FontSubsetter.subset_by_text(font, text) повертає новий Font, що містить лише гліфи, необхідні для даного тексту. FontSubsetter.subset(font, codepoints) і subset_by_gids(font, gids) забезпечують більш точний контроль.