Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uyghur language script glyph error. #25

Open
Nrg800 opened this issue Sep 24, 2020 · 1 comment
Open

Uyghur language script glyph error. #25

Nrg800 opened this issue Sep 24, 2020 · 1 comment

Comments

@Nrg800
Copy link

Nrg800 commented Sep 24, 2020

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

@ryanhamley
Copy link
Contributor

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 mapbox/mapbox-gl-js#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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants