Open Nrg800 opened 4 years ago
I took a look at this and unfortunately it's not a problem of simply adding extra Unicode character ranges. Uyghur and many other scripts based on Arabic (such as Kurdish) contain ligatures which are not present in the Unicode Arabic shaping set. Implementing this depends on implementing https://github.com/mapbox/mapbox-gl-js/issues/4009 which is one of the largest and most complex tasks facing the GL project (both Native and JS). Specifically, we likely need to find a way to bring Harfbuzz into GL JS via Emscripten or Web Assembly (which could then be prohibitively large). So how we go about implementing full complex shaping is still an open question. Until that question is answered, I'm afraid that this and other similar issues will be difficult or impossible to address.
Hey, when using Mapbox studio Uyghur-language script appears to have shaping errors for the RTL text glyphs. Unsure what causes the error in some characters and not others (I don't speak Uyghur'che, but colleagues who do tell me it's not strictly the characters which vary from Arabic where the issue occurs) perhaps it's a specific unicode range, I believe Uyghur script is spread over four unicode ranges - Arabic, Arabic Suppliment and Arabic Presentation Forms A/B. Essentially, for a number of charcters mapbox uses its final placement form no matter where in the word it occurs. For example, the place name for Kizilsu (قىزىلسۇ) renders like this Where the ى character (among others) renders in the final form rather than the medial form. The problem is as it appeared in the 'wrong' frame of the first gif in this blog post. It would be great to get this language supported, we have a dataset of 16,000+ (only 500 translated into Uyghur so far) place names for Xinjiang that we use for a map tracing the human rights abuses against Uyghur people. Their culture and language is being erased in China, it would be neat if Mapbox could help preserve it! Thanks, Nathan.