Computational Layout and Letterforms

Computational Letterforms and Layout (Schedule, Spring 2023)

Syllabus here. Readings should be generally available on the web, unless otherwise indicated. Some readings will only be accessible when connected to an NYU network. Please contact me if you have trouble accessing any of the readings.

Unit α: Letters as numbers

Session 01: Digital writing from scratch

Date: 2023-01-24

Reading assigned

To be discussed at the beginning of session 02.

Pipkin gives a clear and friendly historical overview of character encoding. How might character encoding have turned out differently? Amiri Baraka and Ross Gay present different takes on writing interfaces. Consider the material of the tools you use for writing: where do those tools come from? What affordances do they have? What kinds of written artifacts do they produce? Weingart talks in detail about digital materiality: how is text manipulated, contorted, reconstituted, constrained in the process of being digitized and transmitted electronically? Drucker gives an overview of different types of materiality on the page and argues that text is “an event, rather than an entity. The event is the entire system of reader, aesthetic object and interpretation – but in that set of relations, the ‘text’ is constituted anew each time.” Do you agree?


Session 02: Python introduction

Date: 2023-01-31

Sketch #1: Plain text

Due at the beginning of session 03.

Make a strictly “plain text” version of a text in the real world. Your final file must be a UTF-8 encoded plain text file with a .txt extension (created in e.g. the Jupyter Notebook text editor or some other code editor). Options to consider: perform a close transcription of a conversation using the Jeffersonian discourse analysis conventions; draw from the traditions of ASCII art, ANSI art and Shift-JIS art; “transcribe” the built environment a la Matt Siber’s Untitled Project; or simply copy and paste a web page into TextEdit. What is lost in the conversion to plain text? (What is gained?) What particular tradeoffs did you need to make? What kinds of decisions did you need to make in general?

Session 03: Text encodings and glitch poetics

Date: 2023-02-07

Sketch #2: Glitching encoding

Due at the beginning of session 04.

Using the example code discussed in class, create a composition based on computational manipulation of data, either on a character-by-character or byte-by-byte basis.

Works and inspiration:

Unit β: On the page, against the page

Session 04: Web pages

Date: 2023-02-14

  • Homework presentations
  • History of computational layout
  • Intro to concrete poetry
  • Writing HTML and CSS by hand (note that some styles don’t render correctly in GitHub’s preview!)

Reading assigned

To be discussed at the beginning of session 05.

Beingessner’s article is an informative overview of the technology of text rendering, and how even the most straightforward kinds of text rendering are incredibly complicated. Can you think of kinds of text that would be impossible to render with a computer? Eve gives a history of the most popular format for digital page design-the PDF-and argues that the digital page is not a “substitution of screen for codex” but instead a hybrid of conventions from many historical and physical formats. I’m especially interested in his argument that the wax tablet prefigures the “non-rivalrous malleability” of the digital screen. Li writes extensively on his techninques for writing concrete poetry (in Chinese) and strategies that have been deployed to translate it (into English). Can you think of other kinds of text or particular examples of texts that similarly resist translation? Reed’s text explores Terrance Hayes’ “Sonnet” as a limit case of concrete poetics, arguing that “in drawing attention to the ‘facticity’ of words” concrete poetry “suggests the possibilities of unsaying—speaking of the world and history without repeating the already said,” thereby enabling a unique form of witness.


Session 05: Generating markup, part 1

Date: 2023-02-21

Session 06: Generating markup, part 2

Date: 2023-02-28

Sketch #3: Computational concrete

Due at the beginning of session 07.

R.P. Draper says that concrete poetry “is the creation of verbal artefacts which exploit the possibilities, not only of sound, sense and rhythm—the traditional fields of poetry—but also of … the two-dimensional space of letters on the printed page.” Imagine a concrete poetry that also exploits the possibilities of computation. Make use of the in-class example code or other computational tools.

Some inspiration:

Unit γ: Models of the asemic

Session 07: Writing as gesture

Reading assigned

To be discussed at the beginning of session 08. (Reading notes TK.)


Session 08: Writing as data

Date: 2023-03-21

  • Reading discussion
  • Topics presentations (session B)
  • Python: Reading marks (notebook TK)

Session 09: Plots and schemes

Date: 2023-03-28

Reading assigned

To be discussed in session 10.

On fonts: what they are (Lehni), how they might come to be (Grießhammer), how they work (or don’t work; Nasser), how they’re designed (Shen).

Unit δ: Type and computation

Session 10: Fonts as data

Date: 2023-04-04

Sketch #4: Plots without meaning

Due at the beginning of session 11.

Create a computer program that produces an asemic writing composition. Your program should implement a system of rules that produce visual artifacts that imitate the motion of physical writing or suggest the appearance of written language. Use the AxiDraw plotter to draw your piece on something (paper probably but I’m open to alternatives).

Some inspiration:

Session 11: Fonts as instructions

Date: 2023-04-11

  • Homework presentations
  • Introduction to how fonts work. Dear god.
  • Python: Font manipulation

Session 12: Python extras

Date: 2023-04-18

Sessions 13 and 14: Final project presentations

Dates: 2023-04-25, 2023-05-02

  • Final project presentations. (Dates will be assigned at random, assignments TK.)