Notes and notebooks for Material of Language and its newer iteration, Computational Letterforms and Layout.
If you want to play around with the notebooks or can't get the dependencies working on your machines, the repository is available on Binder. Everything should work there, just make sure to download your modified notebooks and output to your own computer when you're done.
Please note that many of these notebooks do not display correctly in GitHub's preview for some reason. (In particular, the "Concrete compositions" and "Letters as numbers" notebooks are significantly truncated.) Please download these and view them locally!
Python intro notebooks:
- Letters as numbers: How text is represented (Unicode and other encodings)
- Interpolating strings: Strategies for putting string together in Python
Concrete composition:
- Intro to HTML and CSS
- Concrete compositions in HTML: CSS absolute positioning and Python to create procedural layouts
- Re-creating R. L. Draper's "top spin" with
for
loops and customrange
s
Asemic writing with procedural geometry:
- Generative asemic writing with vsketch: Basic tutorial on vsketch and some techniques for producing asemic writing with procedures
- Polylines are just numbers: Transforming polylines with math
- Strategies for line thickness variation: How to imitate variation in line thickness when all you have are polylines
- K-Means glyphs: Using K-means clustering to generate evenly-spaced random points (and then use those points to make asemic glyphs)
- Polylines are just data: Hershey Fonts: Loading polylines as data and doing things with them
Fonts as data:
- Manipulating font data with Freetype-py and vsketch
Interactivity:
I also have a number of older notebooks that use Flat as the drawing library, instead of vsketch. For the most part, the content of these is more or less the same as the identically-named versions above.
- Asemic writing with Flat: Basic Flat tutorial plus some simple generative techniques for producing asemic writing; Bezmerizing in use
- Lines and asemic writing: Another take on using polylines, Catmull-Rom splines and Flat to make asemic characters
- Handwriting remix: Loading and manipulating data from the Char74K dataset
- K-means glyphs
- Manipulating font data
- Quick Hershey text
- Sampling from Google's SVG VAE
- Training DCGAN on glyph images: part 1, part 2
- Flat with interactive widgets
- Creating animations with Flat and ffmpeg
- Standalone scripts and web apps with Glitch