coldtype¶
Coldtype is a cross-platform library for programming and animating display typography with Python.
Put another way: do you want to make typographic graphics and animations with code? This is a good & idiosyncratic way to do that.
🌋 Disclaimer: coldtype is alpha-quality software 🌋
Here’s an example:
from coldtype import *
@renderable((700, 350))
def coldtype(r):
return (StyledString("COLDTYPE",
Style("assets/ColdtypeObviously-VF.ttf",
350, wdth=0, tu=20, r=1, rotate=10, ro=1))
.pens()
.align(r)
.f(Gradient.Horizontal(r, hsl(0.69, s=1, l=0.55), hsl(0.55, s=1, l=0.6)))
.translate(0, 5))

If you’re familiar with other graphics programming libraries, that code snippet might seem a little odd, given that it’s canvas-less & highly abbreviated, with a idiomatic emphasis on method-chaining & structured data (which can make programming animations a lot easier and faster). More on those bold words on the about page.
A more complex example¶
Here’s a somewhat complex animation — made entirely with coldtype — demonstrating what’s possible with not-so-much code:
The code for that video is available here: https://github.com/goodhertz/coldtype/tree/main/examples/animations/808.md
Table of Contents¶
- About
- Install
- Cheatsheet
- Tutorials
- Blog
- API
- coldtype.text.reader.Style
- coldtype.text.reader.StyledString
- coldtype.text.composer.Composer
- coldtype.geometry.Point
- coldtype.geometry.Rect
- coldtype.pens.datpen.DATPen
- coldtype.pens.datpen.DATPens
- coldtype.renderable.renderable
- coldtype.renderable.animation.animation
- coldtype.time.Frame
- coldtype.time.Timeable
- coldtype.time.Timeline
- coldtype.time.Timing
- coldtype.time.loop.Loop
- coldtype.time.easing.ease
Links