Wednesday, December 28, 2005

Localised GIS with GRASS + Indix2

recently I worked on GRASS GIS to add support for Indic scripts in its map label display (d.text.freemap) command. I then bombarded all possible mailing lists with the mail informing this.This is that same mail:

GRASS is a powerful desktop GIS application. we have been working on it for some time.The current version GRASS (6.0.1) has support for Unicode but doesn't support OpenType fonts. So things like labels on maps could not be shown in Indian scripts. As a workaround we used tryutype display-only font setu-dev

After attending the Indix2 developer workshop atNCST, I started working on adding support for Indic scripts in GRASS using Indix2 client libraries (not sure if this is correct terminology - but it can be compared in functionality with Pango/Qt).I have achieved some success in this as I have managed to get display Unicode UTF-8 text on maps using d.text.freetype command of GRASS.

What I have done basically is modified the d.text.freetype code to check if the text to be displayed falls under Indic scripts range and if it does, use Indix2 routines to convert the logical sequence of characters to visual sequence of glyphs to be displayed directly by X. Please see snapshot of the
same here showing text in Devanagari, Gujarati, Gurumukhi, Bangla, Kannada, Tamil, Telugu, Malayalam and Oriya. In the snapshot, the right side gedit window shows the script which draws these labels in GRASS.

The fonts used in snapshot are Saral series fonts
developed by Prof R K joshi and font development team of Indix2. Many thanks to Vinod Kumar and Sandeep Rao of Indix2 team for their valuable guidence.There are lot many things to be cleaned up in the code and once it gets into some respectable form I am going to submit this patch to the GRASS team.