1. Products
  2.   Aspose.Font
  3.   Aspose.Font FOSS for Python

Aspose.Font FOSS for Python

Open-source Python biblioteka za učitavanje, inspekciju, konverziju i podskup TTF, OTF, CFF, WOFF, WOFF2 i EOT font fajlova.

Радите са шрифтовима програмски у Питони

Aspose.Font FOSS za Python je čist-Python alat za učitavanje, inspekciju, konverziju, podskup i pregled fontova kroz TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 i EOT formate. Biblioteka radi na Python 3.10 ili novijem i ne zahteva spoljne OS font biblioteke ili native zavisnosti.

Biblioteka izlaže čist API za učitavanje fontova putem FontLoader, pristup glifovima putem GlyphAccessor, konverziju formata putem FontConverter, web optimizaciju putem FontCleaner, podskup svestan teksta putem FontSubsetter, i animaciju varijabilnih fontova putem AnimationPreviewBuilder. Metapodaci fonta kao što su ime, porodica, stil, broj glifova, kodiranje i metrike su dostupni kroz baznu klasu Font bez ručnog parsiranja binarnih tabela.

Aspose.Font FOSS je licenciran pod MIT i može se instalirati sa PyPI jednim pip install komandama. Pogodan je za alate za dizajn fontova, web font pipeline‑ove, engine‑e za renderovanje glifova i bilo koju Python aplikaciju koja treba da čita, transformiše ili proizvodi font fajlove. Za enterprise proizvodnu porodicu, pogledajte Aspose.Font — Enterprise Product Family.

Поређење и откривање формата шрифта

  • Покушај да унесеш шрифте из трака за фајлове или сирових бајтова са FontLoader.open() и FontLoader.load()
  • Автоматски откривање формата: ТТФ, ОТF, ЦФФ Ф, ВОФХ,ВОБХ2, ЕОТ, тип 1
  • Приступајте метаподацима шрифта преко базе класе Font: font_name, font_family , font_style и num_glyphs
  • Прочитајте мапе за кодирање глифа са FontEncoding.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 и ClosePath
  • Приступајте лифом гранични кутију, напредну ширину и бочне лежишта из Glyph својства
  • Прочитајте парне коцке из KernPair за тачне рачунаре текстуалног располога.

Типични случајеви употребе

  • Проверење покривености глифа за вишејезично редерене текста
  • Екстракција оцене за генерацију СВГ траге или вектора
  • Валидација јазне табеле у радним пролазима за контролу квалитета фонтова
  • Истраживање о облику тексту и експериментирање са распоредом на ниском нивоу

Преображавање шрифта

  • Преображајте између ТТФ, ОТF, ЦФФ , ВОФХ, ВОВФ2, ЕОТ и Типа 1 са FontConverter.convert()
  • Прилагодити типове Безиеве криве са CurveAdapter.quad_to_cubic() и cubic_to_quads()
  • Преображајте траге од квадратних до кубичких са convert_path_quad_to_cubic() и convert_path_cubic_to_quad()

Типични случајеви употребе

  • Веб шрифтови који конвертују ТТФ мастер шрифт у ВОФФ2 за дистрибуцију
  • Тип ливачке алатке која из једног извора извози на више метака формата
  • Преображавање наслеђених EOT за веб штит стекове који су назад компатибилни
  • Автоматизована нормализација формата шрифта у континуираној интеграцији

Поделујење шрифта

  • Подсет шрифтова по Уникод тексту са FontSubsetter.subset_by_text()
  • Подскуп по листи ИД-а с FontSubsetter.subset_by_gids()
  • Производи веб-оптимизовани подсетови са FontSubsetter.subset_for_web()
  • Применувајте именоване унапред постављене профиле са FontSubsetter.subset_by_presets() и available_presets()
  • Анализирајте покривеност подсете са FontSubsetter.analyze_coverage() и analyze_web_coverage()

Типични случајеви употребе

  • Смањење величине корисне оптерећења WOFF2 за веб странице са ограниченим сетима знакова
  • Производња специфичних за језик подсетова шрифтова за i18n распореде
  • Фонтови за лиценцирање радног протока који дистрибуирају подсетове по страницама-појединица
  • Оптимизација перформансе за мобилне веб апликације

Веб оптимизација и променљиве прегледе шрифтова

  • Стрип наслеђене табеле и Мак имена записе са FontCleaner.clean_for_web()
  • Проверите да ли је променљива ос шрифта компатибилна са CompatibilityChecker.compare_fonts() и compare_variable_instances()
  • Генерацију анимираних APNG оса превлачи са 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")

Чисти шрифт за веб распоређивање

Стрип старије табеле и записи имена Мака да смањи бинарне величине пре веб сервирања.

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

Frequently Asked Questions

Шта је Aspose.Font FOSS за Питон?

То је бесплатна, MIT-лиценцирана чиста Питон библиотека за учитавање, инспекцију, конвертирање и субсетирање шрифтова у ТТФ, ОТF, ЦФФ , Тип 1, ВОФХ, ВОВФГ2 и ЕОТ форматима. Не захтевају се родне зависности.

Како да инсталирам Aspose.Font FOSS за Питон?

pip install "aspose-font>=1.0.0". Не треба зависности на системском нивоу. Библиотека ради на Виндовсу, Макос и Линукс са Питон 3.10 или касније.

Које форматске шрифте се подржавају?

FontLoader.open() чита TTF, OTF , CFF, Тип 1, WOFF , WOff2 и EOT. FontConverter.convert() пише TFT, CFC, WOFF, and WOFL2.

Да ли је Font.to_bytes ((() доступан?

Не. Font.to_bytes() није имплементиран у основној класи. Користите FontConverter.convert() да бисте произвели нови Font у жељеном формату.

Могу ли да поделим шрифт за веб доставку?

Да. FontSubsetter.subset_by_text(font, text) враћа нови Font који садржи само глифе потребне за дат текст.FontSubsetter.subset(font, codepoints) и subset_by_gids(font, gids) пружају финићу контролу.

  

Support and Learning Resources

 Српски