Python-bibliotek for lesing av skrifter
Åpen kildekode Python API som gir programvareutviklere og designere muligheten til å manipulere, redigere og analysere skrifter med letthet.
FontTools spiller en viktig rolle i design, merkevarebygging og kommunikasjon, og skrifttyper er byggesteinene i visuell estetikk. I den digitale æraen har fontadministrasjon og manipulering blitt stadig viktigere. Et kraftig verktøy som har fått popularitet blant utviklere og designere er FontTools‑biblioteket. FontTools er et allsidig, åpen kildekode Python‑bibliotek som gir et omfattende sett med verktøy for å arbeide med skrifttyper, og har blitt et kraftig verktøy for fontentusiaster, designere, utviklere og typografer. Dets omfattende funksjonssett, kombinert med det Python‑baserte grensesnittet, gjør det til et utmerket valg for fontrelaterte oppgaver og prosjekter.
FontTools er et åpen kildekode-bibliotek som gjør det mulig for programvareutviklere å samhandle med fontfiler programmatisk. Det tilbyr et bredt spekter av funksjonalitet for fontmanipulering, redigering og analyse. Det støtter funksjoner som å manipulere fonter på ulike måter, grunnleggende glyfredigeringsoperasjoner, forbedret sammenslåing av fonter, fjerning av enkeltglyfer, SFNT-tabellstøtte, identifisering og implementering av ulike SFNT-verdier, endring av glyfkonturer, justering av fontmetrikker, endring av fontkoding, legge til eller fjerne tabeller, konvertering av layoutdefinisjoner mellom ulike layoutsystemer, finne og redigere navnestrenger, og så videre.
FontTools-biblioteket gir programvareutviklere muligheten til programmatisk å få tilgang til, redigere og analysere ulike aspekter av fontfiler. Det støtter flere fontformater, inkludert TrueType (TTF), OpenType (OTF), AFM, i noen grad Type 1, og noen Mac-spesifikke formater, noe som gjør det til et allsidig valg for arbeid med forskjellige fonttyper. FontTools drar nytte av et levende og støttende fellesskap. Prosjektet er åpen kildekode og aktivt vedlikeholdt, med jevnlige oppdateringer og feilrettinger. Enten du automatiserer fontmanipulering, finjusterer skrifttyper, eller utfører detaljert fontanalyse, gir FontTools de nødvendige verktøyene og fleksibiliteten for å oppnå målene dine effektivt.
Kom i gang med FontTools
FontTools krever Python 3.8 eller nyere. Den anbefalte måten å installere FontTools på er via PyPI. Vennligst bruk følgende kommando for en smidig installasjon.
Installer FontTools via NuGet
pip install fonttools Du kan også installere det manuelt; last ned de nyeste utgivelsesfilene direkte fra GitHub-depotet.
Redigering og manipulering av skrifttyper via Python API
Det åpne FontTools-biblioteket er veldig enkelt å bruke og har inkludert flere viktige funksjoner som gir programvareutviklere mulighet til å manipulere fonter på ulike måter i sine Python-applikasjoner. Det lar dem hente informasjon fra fontfiler, endre glyfkonturer, manipulere metrikk, og til og med lage nye fonter fra bunnen av, automatisere repeterende fontrelaterte oppgaver osv. Ved å bruke FontTools-biblioteket kan programvareutviklere også endre glyfkonturer, justere metrikk, endre koding, og legge til eller fjerne tabeller. Denne fleksibiliteten gjør det mulig for designere å finjustere fonter i henhold til spesifikke krav eller lage tilpassede versjoner for sine prosjekter.
Hvordan endre konturbaner via Python API?
path_orig = get_outline(font, "a")
startdraw(200,200)
paths = []
for i in path_orig:
if i[0] == 'moveTo':
path = draw.BezierPath()
path.moveTo((i[1][0]))
if i[0] == 'lineTo':
path.lineTo((i[1][0]))
if i[0] == 'qCurveTo':
path.qCurveTo(*(i[1]))
if i[0] == 'closePath':
path.closePath()
paths.append(path)
finalpath = paths[0].difference(paths[1])
finalpath.scale(0.3) #let's scale it down!
draw.fill(0.5)
draw.stroke(0)
draw.drawPath(finalpath)
show()
Manipulering av glyfer via Python API
Det åpne kildekodebiblioteket FontTools gjør det enkelt for programvareutviklere å manipulere individuelle glyphs programmatisk. Det gir metoder for å få tilgang til og endre glyph‑konturer, metrikk og attributter, og gir brukerne fleksibiliteten til å tilpasse skrifttyper etter deres spesifikke behov. Enten det gjelder justering av kernepar, endring av glyph‑former, legge til ligaturer, eller sammenligne glyph‑konturer, forenkler FontTools prosessen med glyph‑manipulering. Følgende eksempel viser hvordan man kan sammenligne konturene til to glyphs og vise resultatene ved hjelp av Python‑kode.
Hvordan sammenligne konturene til to glyfer ved bruk av Python API?
from fontTools.ttLib import TTFont
from fontTools.pens.recordingPen import RecordingPen
font = TTFont(filename)
cmap = font.getBestCmap()
gs = font.getGlyphSet()
g1 = gs[cmap[ord("A")]]
g2 = gs[cmap[ord("B")]]
p1 = RecordingPen()
p2 = RecordingPen()
g1.draw(p1)
g2.draw(p2)
print(p1.value == p2.value)
Generering og konvertering av skrifttyper via Python API
Det åpne kildekodebiblioteket FontTools tilbyr funksjonalitet for å generere nye skrifttypefiler eller konvertere eksisterende til ulike formater. Denne funksjonen er spesielt nyttig for designere og utviklere som trenger å lage tilpassede skrifttyper eller tilpasse skrifttyper for spesifikke plattformer. Med FontTools kan brukere generere font‑instanser med ulike vekter, stiler og varianter, eller konvertere skrifttyper mellom TrueType‑ og OpenType‑formater sømløst. Følgende eksempel viser hvordan man konverterer CFF‑format til CFF2‑format ved hjelp av Python‑kommandoer.