latest news

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).