GDV P.4.3.2 Type from pixel values

Here is the text from the Generative Design book: ‘The following text image is ambiguous. It can be read for its meaning, or viewed at a distance and perceived as a picture. The pixels from the image control the configuration of the letters. The size of each letter depends on the gray values of the pixels in the original image and thereby creates an additional message. A character string is processed letter by letter and constructed row by row in the normal writing direction. Before a character is drawn, its position in display coördinates is matched to the corresponding position in the original image in pixel coördinates. Only a subset of the original pixels is used–merely those for which a corresponding character position exists. The color of the selected pixel can now be converted into its gray value and the gray value used to modulate the font size, for example.’ Until so far the Generative Design book. Here is the original program.
P_4_3_2_01

I also prepared a Flickr summary page where you can find all variations I made during this assignment. If you are interested in the programs than you can visit loftmatic’s GDV_P_4_3_2 page.

Just starting with the usual things. Going through the program. reading and copying all remarks from the book version as a comment into the program. Changing the global variable names. For instance: inputText to TextInput, fontsizeMax to MaxFontSize and fontSizeMin to MinFontSize. Spacing to LineSpacing. Kerning to LetterSpacing. fontSizeStatic to OneFontSize. Most of the time I also change the code by adding some spaces when the text is very crowded. I think it makes the code more readable. Also changed the font into a font Jeanne de Bont and I designed in 2004 for an animation film about dazzle painting. The animation film you can find here. That font shows more of the underlying picture. It also introduced a problem. The font supports capitals only. So I added TextInput = TextInput.toUpperCase (); Another idea was to use pictures of several writers. The text of books they have written is creating their own image. I started with Emile Zola and used a paragraph of his book ‘La Débâcle’. It takes a second or two to load.
P_4_3_2_01_GDV_01

The second writer is Jules Verne. I have no special reason for the choice of writers. Just picked them arbitrary. And I copied a paragraph of ‘20000 Lieues sous les mers’. To get a different effect in the image I increased the letter spacing to 5.
P_4_3_2_01_GDV_02

Increasing the global variable letter spacing works fine in the smaller font size. But I would like to keep that effect also when I am using larger font sizes. So I multiplied LetterSpacing * 10. That did not work. So instead of multiplying I divided it by 10. And than the image gets a totally different quality. Used a picture from Simone de Beauvoir and the first paragraph from her book ‘The Second Sex’.
P_4_3_2_01_GDV_03

Margaret Mead. Text from ‘Coming of age in Samoa’.
P_4_3_2_01_GDV_04

‘On Photography’ by Susan Sontag.
P_4_3_2_01_GDV_05

This program puts every character on a totally nonfunctional angle which makes the text completely unreadable. It also animates with a framerate of one frame per second. The text is from Camille Paglia’s ‘Sexual Personae’.
P_4_3_2_01_GDV_06

Germaine Greer. Text from ‘The female eunuch’.
P_4_3_2_01_GDV_07

Robert Hughes. Text from ‘The shock of the new’.
P_4_3_2_01_GDV_08

Richard Dawkins seemed to me the right writer to stop using variations with quoted paragraphs of writings. I use only one character for his portrait.
P_4_3_2_01_GDV_09

Last one is Yuri Gagarin. The image is formed by the letters CCCP. Which I never knew what it really meant. This moment seems to be the right one to look it up. It stands for ‘Sojúz Sovétskih Socialistíčeskih Respúblik’, which when translated into English is ‘The Union of Soviet Socialist Republics’.
P_4_3_2_01_GDV_10

Ok. This program is really another extension of our image manipulation tools. Lets move to the last program of this P-chapter from the Generative Design book.

Henk Lamers