Android [API 16] WebView not showing crucial UTF-8 characters - android

I'm having trouble displaying Tshivenḓa special diacritic characters in Android's WebView for API 16. API 24 works fine. I've tried numerous things: fonts, unicode escape sequences in HTML etc. etc.
See characters here:
https://en.wikipedia.org/wiki/Venda_language#Writing_system
I also tried the following solutions to thee same problem:
Android. WebView and loadData;
UTF-8 not encoding html in webview android;
Android WebView UTF-8 not showing;
Android WebView with garbled UTF-8 characters..
All these answers work except for these Tshivenḓa characters (ḓ ṱ ḽ ṋ ṅ
).
I have tried all means of escaping the character and many different encodings.
(http://www.unicodemap.org/details/0x1E12/index.html)
Nothing is working for it. I absolutely can not proceed with my app if I can't get this to work.
Does anybody know how I can fix this?

I have encountered this problem before. Unfortunately Android's default font doesn't support many of these special characters so the only solution I've found is to use a custom font that supports all the characters you need.

Related

Wrong Khmer Unicode string

I have problem with displaying Khmer Unicode in most of Android project. What I want to display is អ៊ីមែល but the result return with unexpected value.
I also try with custom font in Khmer and support encoding as utf-8 but it still return the same result.
I'm not sure it is because of font or Android not support Khmer Unicode very well for now.
Any help anyone?
Likely link to font face that you are using, are you using. Here are some example, are you using Nokora, right?
And I could see also for Google web font, the written is the same:
So please check the correct font face before using, even in Noto google font face also, some are correct, some not correct too for that written.

#font-face do not work unicode Malayalam in android Cordova

In android #font-face do not work for UTF character.(Webpage hosted in web control using cordova)
The code works on chrome browser both on android as well as desktop.
It do not apply the changes in the application.
Observed that if there are no UTF characters then font styling was applied. Also observed that only the lines that has got UTF it is not applied with the web font style.
It was an indication that the path provided in font-face was correct.
Tried changing the UTF character to the encoded hex value and it did not help.
The Problem
In Android 4.3 the character " ്ര "details about this issue and work around is given here
I require this for Android app developed using cordova(phonegap) and hence rooting and installing is not an option.
I tried to do web view with embedded font (#font-face) and strangely, it is not working for web view in android, but works perfectly in browser of the same device.
The Solution
Got a hint from this stack over flow and this was pointing to this Solution, and thank you for that
Basically We need to get an ASCII based font and convert the unicode to mapping ASCII.
The solution provided was using JAVA and always a chance of missing some characters. Another problem that i faced using this solution was, if there is a mix of English and Malayalam character then the solution give undesirable results.
So I created this jquery plugin
Basically It does the following.
Identify the longest possible Malayalam character sequence and wrap them using tag with configurable class name.This process separate English and non English groups.
Each grouped Malayalam character sequence then converted to ASCII using a configurable mapping w.r.t the font.
The problem of Mix of English and Malayalam is solved, problem of missing some character is fixed, and also #font-face is working. I was able to create 2 fonts mapping.
So far the solution is working for me.
I feel some level of optimization can be done.

Disable unicode replacement emoji in Android Chrome?

Certain unicode characters in the Miscellaneous range would be nice to use, but most phones display them as emoji and that is unwanted because then they can't be styled by CSS font declarations. I know there's a fix for iOS, but I have not found a solution for Android. Is it possible to disable them?
Example: http://jsbin.com/qopiyori/1/
Had the same problem, found the answer on another stack overflow question which worked for me:
add ︎ at the end of the string with the Unicode characters you do not want to be replaced with emoji icons.
How to prevent Unicode characters from rendering as emoji in HTML from JavaScript?
Google Chrome, desktop version 75, seems to disambiguate its approach to rendering Unicode characters based on the first Unicode escape it encounters while loading a page. For instance, when parsed as the first HTML Unicode escape in a page source, and having no emoji equivalent, ⏷ seems to clarify to Chrome that the page contains escapes not to be rendered as emoji. I have not tried this in Android Chrome.

Turkish characters in Android Textview

I made an android app. For different languages. But it does not work for turkish characters.How can I solve this problem?
I am loading strings. But when it comes to turkish characters "çile" lets say it prints something different.
Go through these below links, it has been answered.
How can I use Turkish characters like 'ş ç ı ö' in an Android TextView?
Android. WebView and loadData
Unicode characters not displayed in TextView.setText

Webview Supported Characters?

Is there a list of supported characters in a WebView? I'm talking about special characters and I want to know if there are some unsupported characters. In TextViews there are for example BulletPoints unsupported.
I dont have any idea regarding How many character is not supported by WebView but when some character is not supported in WebView then convert that Symbol into its respective HTML Codes it will work for you...
This link might help you.

Categories

Resources