Mapnik goes Unicode (properly)

Well, we had "Unicode" for a while in Mapnik - first it was ad-hoc utf8 and latin1 to UCS-2/4 transcoders, then iconv and fribidi. It kind of worked (sometimes) but it wasn't a proper solution. There were a few problems with the previous approaches - std::wstring is not portable, fribidi was choking in multi-threaded rendering and had to be disabled.

Result? It was constantly brought to my attention by Morocco in OSM and others. Arabic is a "right-to-left" language for starters and it also requires "shaping" (this is when characters change depending on where they are in the text to form smooth connections between letters).

So here is the solution - ICU. I hope it will be final :).

Posted by Artem Pavlenko on February 20, 2008

Comments

Jim Waite February 25, 2008 at 9:44 p.m.

Hooray!
I was having a bit of trouble with iconv and std::wstring on my windoze build (using MSVC 2005)

With ICU it now all works beautifully.

Artem Pavlenko February 26, 2008 at 3:40 p.m.

Great! I'm getting good results, too. Latest trunk can now process UTF8 encoded string :
...
provpoly_rule_qc.filter = Filter("[NOM_FR] = 'Québec'")
...

oeukojij July 18, 2008 at 9:25 p.m.

ta9p15 <a href="http://selrwvifjito.com/">selrwvifjito</a>, [url=http://zjguzibyykfj.com/]zjguzibyykfj[/url], [link=http://clygexdcmrxn.com/]clygexdcmrxn[/link], http://pnjzeprqevka.com/

Post a comment

Your name:

Comment: