I am creating a content based application that supports English and Amharic languages.
Content is loaded from server during the first launch and loaded from the sq-lite. Amharic is however not decoded (text looks like small boxes) on gingerbread android version. on higher versions of android it works well.
You may need to find a font that supports that language. My guess would be that earlier versions of Android did not have characters for Amharic. This would likely be true for any languages aren't supported before Android 4.0
Related
My app works before with translation from English to Korean.
See screenshot below.
I don't have to configure things like right fonts among other things.
Now it won't work and would only show Latin based characters.
I know for sure that the API I use returns the translation I need since the correct translation shows on my logcat.
But android textView doesn't display it properly since I updated all of my android studio components such as the emulator. It doesn't work properly on API 17, 18 and 19 but works on API 16 which is rather odd since if it could work on API 16, it should work on much newer versions of android too. I've also Cold Boot all my emulators to reset it, but still no changes. It also works on API 21 as show below. But definitely not on API 17-19 as I've tested. :(. Please. help. Thanks.
[Edit]: I Changed the title from "How to display Korean-Chinese-Japanese Characters in TextView?" to what it is now since supporting most languages is under encoding foreign language in Unicode it seems.
After debugging for a couple hours more searching. It seems that the current updated Android emulators for API 17-19 are buggy. Since I noticed that it doesn't display Korean Characters not only my my app, but also everywhere else like my web browser.
The reason why my app displays unicode characters in an older android versions like Android 4.1. However, it turns out it could display Japanese Characters when I tried to translate to another language that is another Unicode character. It could also properly display japanese and chinese unicode characters in my browser.
I already created a fresh Android emulator for API 17-19, but it really didn't solved the problem. Installing a new keyboard didn't do the trick either. I could't not add another language too like japanese since its not in the options. But japanese works on the emulator, so I didn't bother trying to find one for Korean.
In the end, it turns out its really an emulator (Operating System related) problem and not an android app compatibility or problem on my code. Android 4.2-4.3 (API 17-18) is both Jelly Bean anyway. Since, it works on Android 4.1 that is Jelly Bean too, problems must be in the android image updates I had update a few days ago. for Android 4.4, must be the same case then.
I am developing an application for Android in which I am using Custom fonts, I use more than 50 fonts but there is still same problem that if good running on 4.2.2 then collapse the words in 4.1.2.
Typeface itf = Typeface.createFromAsset(getAssets(),"Quranic fonts.ttf");
tt2.setTypeface(itf);
some of "Araaab " in arabic mix, some "Araabs" not showing proper and clear.
Thanks in advance for help.
The support of arabic fonts and others is still under heavy development (c.f. http://www.androidflux.com/android-4-2-2-jelly-bean-review.html). If you have a version that works with Android 4.1.2 and one with Android 4.2.2, you might consider releasing two different versions or, depending on the amount of work, check the version at runtime and use different implementations depending on that condition.
I created an android phonegap application which displays information in multiple languages like Hindi, Fijian, etc. Hindi language content displays properly in properly in emulator but it is not working on actual android device. It displays a small square box.
I'll explain the steps:
I used web font converter and converted de.ttf, it generated 3 files.
I copied all theses files to folder named "font" in my project directory.
I added font-face in css.
I called the font-face in a div and added Hindi text.
Thanks in advance.
I am guessing Android emulator does not display Hindi font answer shows the issue.
Problem with Hindi keyboard on Android 2.3 emulator is another duplicate.
From what I understand the Hindi is not implemented fully in older phones. It likely works in your emulator due to your emulator's operating system version being higher than the phone. I suggest you change create a new emulator image with the same version as phone and test it. If it does not work on emulator then bump the OS version up until it does. This will have to be your apps minimum OS version.
If for some reason at the same version the text does display correctly, then something else is going on.
I am trying to test an app that contains Hebrew text. However, I cannot change the android OS to display the UI in hebrew. I don't see Hebrew as one of the language choices in the Language and Input settings.
I tried using persist.sys.language=iw and persist.sys.country=IL, which shows me Hebrew (Israel) in Hebrew text in the Language setting. But, the rest of the UI is in English and my app is in English as well.
I know that Hebrew shows up as a language choice in my friend's Samsung Android phone.
I am using 4.0 with API level 14 for the emulator.
Any help would be appreciated.
Marcelo
As far as I understand, support for various locales is dependent on the vendor.
Vendors could choose to remove certain locales for whatever reason. Did your friend get the phone from the same vendor/carrier as you did.
If all else fails, there are instructions for rooted phones here and apps on the Android Market that might help.
Android support huge variety of locales but it never means that you'll find all language support in all the devices.
In case you want any specific language support in your application you have to package the appropriate fonts for the same in your application.
Remember Android supports Open Type Fonts only.
In case you need to install specific font in your phone/ emulator then you need to either buy a device with that font support / root the device or build your own emulator with your specified fonts.
According to this Azerbaijani language is not supported by Android 2.2 - however they claim "Note: Android supports more locales than are listed above.".
So how it is actually ? Is there support for Azerbaijani language? Are there issues writing applicaiton which have to display text in Azerbaijani?
Try just writing a test application that just displays some Azerbaijani text in Unicode. If it looks right, then your Android device has a Unicode font that includes the characters used in Azerbaijani.
If the text is not rendered correctly, then your problem will be adding the right font. On Mac OS X you would just drag-and-drop a font file into the right folder, but on Android you will need it installed in the operating system's display server. That might not be possible if you want to run on handsets that are locked down by their manufacturer.
If the font isn't there, maybe you can find a good Open Source Unicode font for Azerbaijani. File a feature request with the Android developers to get the font into the next release of Android. Unfortunately you'll have to wait a long time and will only work with recent releases.
If you're really desperate and you're willing to go to a lot of effort, you could build a font rendering engine into your application. I don't think that has to be as hard as it sounds. Then you will be able to run on any Android release and you won't have to wait around for the handset manufacturers to pick up the response to your feature request.
Locale.getAvailableLocales()
That method returns an array of all supported locales.