[mapserver-users] UTF-8 right to left text

Stephen Woodbridge woodbri at swoodbridge.com
Sun Feb 26 20:51:47 PST 2012


On 2/26/2012 10:39 PM, Ian Walberg wrote:
> Hello lists,
>
> We cannot get all our Arabic text labels to display correctly, it
> appears that the incorrectly rendered text is not being drawn right to
> left. Some work and others do not.
>
> Our assumption is that there are some non displaying codes we are
> missing but we do not know enough yet to work out if this is the case.
>
> The data is in an sqlite database using an OGR connection.
>
> Any ideas or experience that you can share would be fabulous.

Ian,

You need the follow pieces to get this to work:

1. make sure you have built mapserver with fribidi-0.19.2
2. you need a ttf that supports the character set you are using
    - I always make sure my data is in UTF8
    - and I have a unicode arial.ttf font from Windows
3. make sure your LABEL block has ENCODING "UTF8" in it
    - assuming your data is in UTF8

On Linux you can do:
$ dbfdump myshapefile.dbf > aaa
$ file aaa

and it will tell you what the encoding is.

Issues that I have run into are:

1. data with mixed utf8 and other encodings like Window-1256 or ISO-8859-6
2. In UTF8 data there are a lot of glyphs that are connecting characters 
or non printing characters and many fonts do not have glyphs defined for 
these characters which typically causes a square box to be displayed.

-Steve W


More information about the mapserver-users mailing list