[mapserver-users] Indic Support in Mapserver?

Paul Ramsey pramsey at cleverelephant.ca
Thu Apr 24 11:10:01 EDT 2008


Intriguing problem... is it possible that we could achieve this
through more sophisticated use of freetype?

http://www.freetype.org/opentype/index.html

P.

On Wed, Apr 23, 2008 at 12:26 AM, Swapnil Hajare <dreamil at gmail.com> wrote:
>
>
> Hello All,
>   I have been trying unsuccessfully to login to trac.osgeo.org/mapserver
> using my OSGeo userid (dreamil). After trying for last 2 days, I am posting
> here the bug report which I wanted to post there. Please go through this and
> let me know your opinion on the same:
>
> ********************************************************************************************
> Title: Indic Support (using OpenType fonts) in Mapserver
>
> The current version of Mapserver can render labels on map using LABEL
> directive in a map file.For labels, you can use truetype fonts which is
> achieved using freetype.Due to this map labels can be displayed in various
> non-English languages such as europian and some Asian scripts.
>
> However, for rendering some CTL (Complex Text Layout) scripts, truetype
> fonts are not sufficient.Indic Scripts, for example, require much more than
> mere juxtaposition of glyphs from a font.Rendering Indic scripts such as
> Devanagari, Gujarati, Tamil, Telugu, Bengali etc. is much more complex than
> others.To handle this, "intelligent" fonts were designed which contain
> embedded rules to help rendering.These were called OpenType fonts (see
> http://www.microsoft.com/typography/otfntdev/indicot/default.htm). Though
> initiated by M$, OpenType fonts are are now Industry standard for rendering
> these complex scripts on Computer using script and language rules. All major
> Linux desktops such as GNOME and KDE support OpenType font rendering.To
> handle OpenType fonts, various rendering engines have been developed and
> have become part of rendering libraries such as
> Pango(http://www.pango.org/)/ICU(http://www.icu-project.org/), Qt etc.It
> should be noted that, in absence of such a rendering engine, OpenType fonts
> act as Truetype fonts i.e. the embedded rendering rules are not used while
> doing the glyph formation.
>
> There are numerous OpenType fonts available free/proprietory for Indic
> scripts. We have ourselves developed gargi, the first GPLed OpenType font
> for Devanagari(http://savannah.nongnu.org/projects/gargi).
>
> Current Mapserver supports truetype fonts using freetype routines, but there
> is no support for OpenType fonts. As a result, a text label in any of the
> indic scripts is rendered using justaposition of glyphs from the font
> provided, without using rendering rules.The result is incorrect rendering.
> To show you the difference, here is the snapshot of a map with labels in
> Devanagari script (which is a indic script), rendered in correct
> fashion(http://indictrans.in/~swapnil/mapserver/required_result.png) and
> here is the snapshot as rendered by
> Mapserver(http://indictrans.in/~swapnil/mapserver/mapserv_no_render_support_for_ttf.png)
> You may not be able to make out much if you are not familiar with the
> script, but for someone who knows the script, its an incorrect or broken
> representation of the text.
>
> To solve this, we should add support for OpenType font rendering in
> Mapserver.This can be done by embedding some indic rendering routines from
> Pango or ICU into the label rendering engine of mapserver. I don't know the
> details of how labels are rendered in Mapserver, so somebody knowledgable
> should guide. I am prepared to take up the task on behalf of my team
> (www.indictrans.in) if I get some guidance about internal working of
> Mapserver.As far as performance is concerned, this will hit the speed badly,
> but then this can be encoded as a configure options (--with-pango similar to
> Firefox implementation
> http://developer.spikesource.com/wiki/index.php/Firefox_Indic_Build) so that
> it becomes optional.
>
> You may have look at the temporary solution which we are using for the time
> being to show indic text on maps using Mapserver here:
> http://www.indictrans.in/old/doublebyte/English/doublebyte_l10n_25march_4PM.html
> We have numerous localized GIS demo on our website using this approach.
>
> ********************************************************************************************
>
> regards,
> --
> Swapnil Hajare
> dreamil.indictrans.in
> _______________________________________________
>  mapserver-users mailing list
>  mapserver-users at lists.osgeo.org
>  http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>


More information about the mapserver-users mailing list