Hello world!

The WordPress blogging service provides the title “Hello world” when you initiate a blog with them. I kept this title because it happens to be the customary first output from a programming language that one would learn.

In many ways the title remains appropriate to this blog about Generative Arabic Letterism. The title very well signifies the birth of a new approach to both Generative Art and Arabic Letterism. I will try to speak about Arabic Letterism in a coming article as I just wish to announce here the birth of this new experiment.

The very first automatically generated work that I made. The rectangles were meant to be contained and neatly packed within the large rectangle in the centre. The work still looks very artistic though. A space filling algorithm was used with strict rules. However, the algorithm was allowed to set the size of subdividing rectangles at random. Autonomy and randomness are the basis of the Generative Art that I try to adhere to.

The very first automatically generated work that I made. The rectangles were meant to be contained and neatly packed within the large rectangle in the centre. The work still looks very artistic though. A space filling algorithm was used with strict rules. However, the algorithm was allowed to set the size of subdividing rectangles at random. Autonomy and randomness are the basis of the Generative Art that I try to adhere to.

One of the first outputs. An attempt to fill circular wedges with the three first test letters, Waw, Dal, Noon without a dot.

My objective was to use programming to generate works of art that employed Arabic calligraphy motifs. I also aimed from the beginning to produce large works that could be displayed in galleries and other places alongside other works of art. This led me to consider using a vector-based program, such as Adobe Illustrator, as the workbench for my experimentation as it provides a programming extension.

I started experimenting with Adobe Illustrator scripting since the beginning of 2012. Adobe Illustrator provides a number of scripting options, and I settled for JavaScript for a number of reasons. I was somewhat familiar with JavaScript, which I used in an earlier project, so the learning curve to its application in the Adobe platform wasn’t that steep. JavaScript is also a very flexible and forgiving language and there is a huge knowledge base available online.

I have had a long experience (non-professional though) in programming. Along this experience I have come to appreciate the creation of programmatic objects following the Object Oriented Programming approach. JavaScript is not technically an Object Oriented Programming language. Yet it is flexible enough to allow some kind of Object Oriented Programming inside. Constructing objects that contain all the information and functionality that you need is really convenient. For this project I needed a few main objects that includes a database of letter shapes and another object for the individual letter shapes. I also devised a rectangle object which actually serves as the basis of letter shape positioning in the artwork.

The first attempt to create a work of art programmatically was based on area filling. The idea was to tightly fit random generated rectangles in the art board area and position an Arabic letter inside them. A recursive process was the natural solution. Through the recursive subdivision of the rectangular area of the art board, the whole of the area could be filled with rectangles. Below are some figures that illustrate the idea.

The core Arabic Letterism engine randomly selects a letter shape form the database of Arabic calligraphic letters and fits in a rectangle.

When rectangles get small, a DotMachine object takes over to fill the small rectangles with rhomboid dots used in Arabic calligraphy.

The function of the rectangle object mentioned earlier is to help in establishing the geometric order of the artwork. I created other objects to perform the coloration. These objects hold a color palette and would assign colors at random to the randomly generated rectangles and to the letter shapes, which are also selected at random from the database object.

Area filling process recursively subdivides a rectangle to nine sub-rectangles. The colors are chosen randomly. Transparency produces better schemes. The image represents one of the first outputs which shows the framework used for letter fitting.

As I hope to discuss in future articles, Generative Arabic Letterism also employs a number of contemporary paradigms in its process. The color palettes, for example, are borrowed from online color scheme web sites, such as Kuler. Generative Arabic Letterism thus attempts to build on “crowdsourcing” and synthesizes this knowledge in a new form of art.