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

Aspose.Font FOSS priekš Python

Atvērtā koda Python bibliotēka, kas ļauj ielādēt, pārbaudīt, konvertēt un veidot apakškopas TTF, OTF, CFF, WOFF, WOFF2 un EOT fontu failus.

Strādājiet ar fontiem programmatiski Python

Aspose.Font FOSS for Python ir tīrs-Python rīkkopa, kas ļauj ielādēt, pārbaudīt, konvertēt, apgriezt un priekšskatīt fontus TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 un EOT formātos. Bibliotēka darbojas uz Python 3.10 vai jaunākas versijas un neprasa ārējās OS fontu bibliotēkas vai vietējās atkarības.

Bibliotēka nodrošina tīru API fontu ielādei caur FontLoader, glifu piekļuvei caur GlyphAccessor, formāta konvertēšanai caur FontConverter, tīmekļa optimizācijai caur FontCleaner, teksta apzinātai apakškopēšanai caur FontSubsetter un mainīgā fonta animācijai caur AnimationPreviewBuilder. Fontu metadati, piemēram, nosaukums, ģimene, stils, glifu skaits, kodējums un metriskie dati, ir pieejami caur Font bāzes klasi, neparsējot bināras tabulas manuāli.

Aspose.Font FOSS ir licencēts zem MIT licences un ir instalējams no PyPI ar vienu pip install komandu. Tas ir piemērots fontu dizaina rīkiem, tīmekļa fontu cauruļvadiem, glifu renderēšanas dzinējiem un jebkurai Python lietojumprogrammai, kas jālasa, jātransformē vai jāražo fontu faili. Uz uzņēmuma produktu ģimeni skatiet Aspose.Font — Enterprise Product Family.

Fontu ielāde un formāta noteikšana

  • Ielādējiet fontus no faila ceļiem vai neapstrādātiem baitiem, izmantojot FontLoader.open() un FontLoader.load()
  • Automātiski noteikt formātu: TTF, OTF, CFF, WOFF, WOFF2, EOT, Type 1
  • Piekļūstiet fonta metadatiem, izmantojot Font bāzes klasi: font_name, font_family, font_style, num_glyphs
  • Lasīt glifu kodēšanas kartes ar FontEncoding.unicode_to_gid() un get_all_codepoints()
  • Pārbaudiet fonta metriku ar FontMetrics: ascent, descent, line gap, em-square

Tipiski lietošanas gadījumi

  • Fontu validācijas un metadatu izguves cauruļvadi
  • CI/CD pārbaudes, kas pārbauda fonta ģimenes nosaukumu un glifu skaitu
  • Tīmekļa fontu uzņemšanas pakalpojumi, kas pieņem vairākus ievades formātus
  • Fontu dizaina rīki, kas parāda metadatus bez darbvirsmas izpildlaika

Glifu piekļuve un ceļa pārbaude

  • Izgūstiet glifi pēc ID vai Unicode, izmantojot GlyphAccessor.get_glyph_by_id() un get_glyph_by_unicode()
  • Atrisiniet visus glifus virknei ar GlyphAccessor.get_glyphs_for_text()
  • Pārbaudiet glifu kontūras ceļus kā ierakstītas komandas: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • Piekļūstiet glifa robežlodziņam, pārejas platumam un sānu balstiem no Glyph īpašībām
  • Nolasiet kerning pārus no KernPair precīzu teksta izkārtojuma aprēķiniem

Tipiski lietošanas gadījumi

  • Glifu pārklājuma pārbaudes daudzvalodu teksta renderēšanai
  • Kontūras izvilkšana SVG ceļam vai vektoru ģenerēšanai
  • Kerning tabulas validācija fontu QA darba plūsmās
  • Teksta veidošanas pētījumi un zemā līmeņa izkārtojuma eksperimentēšana

Fontu konvertēšana

  • Konvertējiet starp TTF, OTF, CFF, WOFF, WOFF2, EOT un Type 1, izmantojot FontConverter.convert()
  • Pielāgo Bezjē līknes tipus, izmantojot CurveAdapter.quad_to_cubic() un cubic_to_quads()
  • Pārvērst glifu ceļus starp kvadrātiskajiem un kubiskajiem, izmantojot convert_path_quad_to_cubic() un convert_path_cubic_to_quad()

Tipiski lietošanas gadījumi

  • Tīmekļa fontu apstrādes ķēdes, kas pārveido TTF pamata fontus uz WOFF2 izplatīšanai
  • Tipogrāfijas rīks, kas eksportē uz vairākām formāta mērķa vietām no viena avota
  • Vecākas EOT konvertēšana atpakaļsavietojamiem tīmekļa fontu stekiem
  • Automatizēta fontu formāta normalizācija nepārtrauktā integrācijā

Fontu apakškopa

  • Apakškopēt fontus pēc Unicode teksta, izmantojot FontSubsetter.subset_by_text()
  • Apakškopa pēc glifu ID saraksta ar FontSubsetter.subset_by_gids()
  • Izveidojiet tīmekļa optimizētus apakškopas ar FontSubsetter.subset_for_web()
  • Lietojiet nosauktus iepriekš iestatītos profilus ar FontSubsetter.subset_by_presets() un available_presets()
  • Analizējiet apakškopu pārklājumu ar FontSubsetter.analyze_coverage() un analyze_web_coverage()

Tipiski lietošanas gadījumi

  • WOFF2 slodzes lieluma samazināšana tīmekļa lapām ar ierobežotu rakstzīmju kopu
  • Valodas specifisku fontu apakškopu izveide i18n izvietošanai
  • Fontu licencēšanas darbplūsmas, kas izdala katras lapas komplekta apakškopas
  • Veiktspējas optimizācija mobilajām tīmekļa lietojumprogrammām

Tīmekļa optimizācija un mainīgo fontu priekšskatījumi

  • Noņemiet mantotās tabulas un Mac nosaukumu ierakstus ar FontCleaner.clean_for_web()
  • Pārbaudiet mainīgā fonta ass saderību ar CompatibilityChecker.compare_fonts() un compare_variable_instances()
  • Ģenerēt animētus APNG ass skenējumus ar AnimationPreviewBuilder.build_axis_sweep()
  • Izveidojiet daudzpakāpju animācijas ceļus ar AnimationPreviewBuilder.build_path()

Tipiski lietošanas gadījumi

  • Fontu paraugu lapas un interaktīvi ass pārlūki tipogrāfijas rūpnīcām
  • CI caurules, kas pārbauda mainīgā fonta uzvedību pirms izplatīšanas
  • Tīmekļa veiktspējas caurules, kas izmet neessenciālas binārās tabulas
  • Fontu priekšskatījuma sīktēli fontu pārvaldības lietotnēm

Ielādēt fonta failu

Atveriet TrueType vai OpenType fontu no faila ceļa un nolasiet tā pamata metadatus.

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

Piekļūt glifiem teksta virknei

Noskaidrojiet visus glifus Unicode kodpunktam un pārbaudiet to kontūras ceļus.

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)

Ģenerēt mainīgā fonta ass skenēšanas animāciju

Izveidojiet animētu APNG, kas pārvieto mainīgā fonta asi no sākuma līdz beigu vērtībai.

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")

Attīrīt fontu tīmekļa izvietošanai

Noņemiet novecojušas tabulas un Mac nosaukumu ierakstus, lai samazinātu binārā faila lielumu pirms tīmekļa apkalpošanas.

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

Kas ir Aspose.Font FOSS priekš Python?

Tas ir bezmaksas, MIT licencēts tīrs-Python bibliotēka fontu ielādēšanai, pārbaudei, konvertēšanai un apakškopu veidošanai TTF, OTF, CFF, Type 1, WOFF, WOFF2 un EOT formātos. Nav vajadzīgas nekādas vietējās atkarības.

Kā instalēt Aspose.Font FOSS priekš Python?

Izpildiet pip install "aspose-font>=1.0.0". Nav vajadzīgas sistēmas līmeņa atkarības. Bibliotēka darbojas Windows, macOS un Linux ar Python 3.10 vai jaunāku.

Kuri fontu formāti tiek atbalstīti?

FontLoader.open() lasa TTF, OTF, CFF, Type 1, WOFF, WOFF2 un EOT. FontConverter.convert() raksta TTF, CFF, WOFF un WOFF2. EOT ir tikai lasāms.

Vai Font.to_bytes() ir pieejams?

Nē. Font.to_bytes() nav implementēts pamata klasē. Izmantojiet FontConverter.convert(), lai izveidotu jaunu Font vēlamajā formātā.

Vai varu izveidot fonta apakškopu tīmekļa piegādei?

Jā. FontSubsetter.subset_by_text(font, text) atgriež jaunu Font, kas satur tikai vajadzīgās glifi dotajam tekstam. FontSubsetter.subset(font, codepoints) un subset_by_gids(font, gids) nodrošina smalkāku kontroli.

  

Support and Learning Resources

 Latviešu