Google Summer of Code 2013 – The first 5 days

I was really happy to know that the project for improving aesthetics of Indian fonts got selected for this cycle of GSoC, and equally excited that I would be doing it. Basically this project focussed on making a tool (a scripting extension) to some font development software, which would assess the aesthetics of a font-under-development by comparing it image-wise with the standard font or the standards set for the same. After the comparision was made we would be assigning scores, based on how close our current font is close to the desired goal.

For the Scripting support I had two options to go for. Font Forge supported a native scripting as well as scripting in python. I chose python because it is more global, widely understood and popular and would allow people to contribute to, without having to fuss about a new scripting. The scripting in python is based on a fontforge library, which would be available i we compiled and installed FontForge with the python-extension enabled. The library is well documented too. The second most important choice I have to make is what I should be using for comparing two bitmaps. Comparision of two bitmaps (as far as glyph-wise comparision goes) could be done quite easily using the Python Image Library (PIL) which is now known updated as Pillow, but for rendering sample texts for comparision purpose, I need to use the inbuilt method of printSample() supported by the fontforge library. But, it does not render bitmaps. Instead  it generates pdf files. I am not sure whether, it would be efficient to render bitmaps from this pdf files, and then compare.

I am currently seeing the possibility of rendering text independently of fontforge by using Freetype library and its performance as compared to rendering pdf files into bitmaps. Defining the standards is what makes this tool what it is, so I needed to be really sure when I was choosing how to set the standards. I referred the UTRRS (hosted by fedora) but the standards were not as rich as I had wanted for Indic scripts, then I came across GIST( Graphic and Intelligence based Script Technology ) a part of CDAC (Centre for Development of Advanced Computing). I came across this document, which provided me a rich classified set of standards, for almost every Indic script, including persian and arabic scripts as well. So I would be making standard font profiles based on the standards set by the IFSOC (Indian Script FOnt Code) standards, and then compare it with our current font profiles, to get a mathematical measure of similarity by testing it under the common styling effects such as Bold, Italic, size change, resolution change etc. To make it user friendlier as possible I would make a Qt GUI interface (which I am currently doing) based on PyQt4 library, so that the user can visually see the scores, and select which all tests he chooses to perform, and even manually set standard font profiles (only for advanced users!)




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s