material-of-language icon indicating copy to clipboard operation
material-of-language copied to clipboard

Notes and notebooks for Material of Language

Material of Language/Computational Letterforms and Layout

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 custom ranges

Asemic writing with procedural geometry:

Fonts as data:

Interactivity:

  • Interactive widgets with ipywidgets

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