Aspose.Font FOSS за Python е чисто-Python набор от инструменти за зареждане, инспектиране, конвертиране, подмножаване и преглед на шрифтове в форматите TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 и EOT. Библиотеката работи на Python 3.10 или по-нова и не изисква външни OS шрифтови библиотеки или native зависимости.
Библиотеката предоставя чист 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 чиста-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) предоставят по-фин контрол.