Alireza Kashian wrote:

> 1- We are on Farsi Language (90% similar to Arabic Script - So it is
> Right-to-Left Script and characters are connected to each other. in English
> each character is standalone. But in Arabic and Farsi, each character
> depending on its location in the word, will be connected to previous or next
> character.) . Our road names are saved as UTF-8 in PostGRE.
> 
> One problem is that Mapnik doesn't generate right-to-left texts properly. I
> have seen Artem post regarding Morrocco map on OpenStreetMap which is using
> Mapnik. It has been mentioned that using ICU will resolve the BIDI problem .
> But how can we bind ICU to mapnik or how can we setup mapnik to use ICU
> capabilities. Does it need to change codes and compile the windows binary
> again ? or it is just a config file to tell mapnik use this and that instead
> of this and that? How could this problem be solved? in our attached
> Screenshot, you can see that the name of Highway is not correct. characters
> are not connected to each other and they are ordered from left to right
> instead of right to left !

You don't need to "bind" icu to mapnik. Mapnik already links against and 
uses icu to handle text direction issues.

Basically is ubidi_getVisualRun() returns UBIDI_RTL then mapnik should 
use right-to-left rendering for that string. What it doesn't do at the 
moment is shaping (except for Arabic) as icu does not appear to support 
that for any other languages.

Pango does support shaping for other languages, and I have been thinking 
about trying to make mapnik use that instead of icu but I haven't got 
beyond the thinking about it stage yet.

Tom

-- 
Tom Hughes ([email protected])
http://www.compton.nu/
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users

Reply via email to