Contributor(s): Ron Bentley
As of Jan. 2010 Geoserver (v. 1.7.6) could not render Tibetan place names correctly in images it generated in response to WMS requests. Our solution was to convert Tibetan character stacks into pre-combined Unicode characters. The Jomolhari font has glyphs for these pre-combined characters, and the Java toolbox Geoserver uses renders the pre-combined characters successfully.
The conversion from non-pre-combined to pre-combined characters is done in the Postgres/PostGIS database. The character translation is based on a translation table from BabelStone. The Postgres function is named trtibet() and written in the Postgres PL/pgSQL scripting language.
This function is invoked in all views that return Tibetan characters to Geoserver. This means existing Tibetan names in the Places Dictionary can remain in standard, non-pre-combined characters; Geoserver still only sees the pre-combined characters.
It is worth noting that other Java applications using identical Java Virtual Machines do not appear to have this problem. This was unique to Geoserver and thus presumably associated with the underlying Java toolbox Geoserver uses to render these images.