How to provide Complex rendering support in android - Android Software/Hacking General [Developers Only]

Hi all,
I've been trying to new language support to android (which is a indic language).I have added locale it's associated font to android system.
Problem is language is not rendered perfectly.After further research I found that Complex language support is not in the current version of android .
how can add Complex rendering to show the text in perfect way
Kindly waiting for your reply
Regards,
Kariyachan

Related

[Localization] [23-May-2011] Indian languages support - Telugu support 30% done!

Hi All,
I'm looking for a ROM which can support indian languages. I'm even watching google android forum. They didnt released any support towards indian languages. However, I found a work around with DroidSansFallback.ttf file. This is not rendering fully like how it will render in my system.
Can our ROM gurus include indian language support in terms of rendering & locale (I can support them for translation).
i've attached font which I'm using in my mobile. You need to replace this file with /system/fonts folder. You must have ROOT access.
Using command prompt:
adb remount
adb push DroidSansFallback.ttf /system/fonts
font must be located in the same folder
or you can replace with root explorer
then reboot your device
19-May-2011:
Finally i can able to get menu in Telugu language. I just converted 2% menu and it is working fine (only rendering issues are there). I'll try to finish convert whole menu in Telugu by this weekend .
23-May-2011:
I've added some more telugu translation based on rendering capabilities of Android. Finally decided to recompile code with harfbuzz but still looking help from a kernel compilers
19-July-2012
Good news that now Jelly Bean can render text properly in browser but still interface level rendering for Indian Languages not yet supported
PS: I'm really happy who can compile kernel with indic support .
I get this message;
you cannot paste here because the file system is read-only.
i am using root explorer
hnkumar said:
Hi All,
I'm looking for a ROM which can support indian languages. I'm even watching google android forum. They didnt released any support towards indian languages. However, I found a work around with DroidSansFallback.ttf file. This is not rendering fully like how it will render in my system.
Can our ROM gurus include indian language support in terms of rendering & locale (I can support them for translation).
i've attached font which I'm using in my mobile. You need to replace this file with /system/fonts folder. You must have ROOT access.
Using command prompt:
adb remount
adb push DroidSansFallback.ttf /system/fonts
font must be located in the same folder
or you can replace with root explorer
then reboot your device
Click to expand...
Click to collapse
itsme_4ucz said:
I get this message;
you cannot paste here because the file system is read-only.
i am using root explorer
Click to expand...
Click to collapse
use such nice one button in right up corner to mount system partition before u paste in Root Explorer.
Krzysiec said:
use such nice one button in right up corner to mount system partition before u paste in Root Explorer.
Click to expand...
Click to collapse
yup.. it sounds simple.. but for some people it dossnt work..
even i had the same problem .. you need to download a free app from the market called mount system r/w .. and then from the app just mount the system R/W and then you will be able to copy/paste..
wait i'll just upload it in a second
ok attached the app mount system r/w .. as its free in the market i dont think its against the laws to add it here
and if you want to say thanks there is a thanks button
update
Finally i can able to get menu in Telugu language. I just converted 2% menu and it is working fine (only rendering issues are there). I'll try to finish convert whole menu in Telugu by this weekend .
I'll publish framework-res.apk by end of this week which is belongs to MDJ's Cyanogenmod v1.4
Don't compliant about rendering, i'm seeking help from kernel developers
Update - 23rd May 2011
Added few screenshots of telugu menu . Will add some more screen by end of this week (most probably, i'll complete telugu translation).
I can't figure out if this is a Question thread, or if you're developing something...
NeoS2007 said:
I can't figure out if this is a Question thread, or if you're developing something...
Click to expand...
Click to collapse
Hi Neo,
this is not a question thread, I'm developing for my own mother language menu based on CM7 (at present). Ofcourse also I'm looking at some kernel developers, who can compile existing kernel (CM7 or HTC or Ultradroid) with Harfbuzz so indic languages also can render properly.
Wants to release ROM with proper telugu translation. It is just a first step to have a translation for Telugu. 2nd step is sorting out rendering issues with the help our kernel gurus.
Any plan to work on hindi language support?
Thanks....It's useful for some people..
amresh said:
Any plan to work on hindi language support?
Click to expand...
Click to collapse
Amresh, I'm not so good in Hindi. What I'm doing is preparing a master list of translation document. If anybody can help me to translate the whole thing into Hindi then I can able to support Hindi too .
Also, you must understand that still we are struggling for indic support . So rendering may not be proper .
hnkumar said:
Amresh, I'm not so good in Hindi. What I'm doing is preparing a master list of translation document. If anybody can help me to translate the whole thing into Hindi then I can able to support Hindi too .
Also, you must understand that still we are struggling for indic support . So rendering may not be proper .
Click to expand...
Click to collapse
No problem. Let me know if I can help in anyways for hindi support. I will try my best.
Sent from my Desire HD using XDA Premium App
Hi there guys.
Nice to know that I am not the only person interested in l18n of android. Do we have a separate forum / thread etc. where such things are discussed?
What the OP is trying to do is to "translate the UI", have I got you right?
But alongside that, we need proper fonts ( I guess the fonts are already there - Droidsansfallback posted by sridhar in some other thread - need to test it)m, AND rendering.
I just reading up on the whole thing, and just found that harfbuzz, a derivative / conjugate of pango is handling CTL (complex text layout) for other scripts. I would like to see CTL enabled by default in all apps ROMs. AFAICT, support for each script in Pango was modular, and it ought to be same way in harfbuzz too. This means developers are probably enabling modules only for the languages they are interested in. Probably, it is perceived that demand for support for Indic languages is not there?
BTW, on Linux desktop, CTL rendering is not in the Kernel - it is in the X applications.
amresh said:
Any plan to work on hindi language support?
Click to expand...
Click to collapse
I have Hindi working but no other languages.
Your phone must be rooted
I have attached a zip file.
Extract 2 fonts files from the zip and put them in System/fonts via root explorer
You may be asked to replace some file, just say yes.
reboot your phone
this should do it, that all i had to do.
Dev
genieass said:
Hi there guys.
Nice to know that I am not the only person interested in l18n of android. Do we have a separate forum / thread etc. where such things are discussed?
What the OP is trying to do is to "translate the UI", have I got you right?
But alongside that, we need proper fonts ( I guess the fonts are already there - Droidsansfallback posted by sridhar in some other thread - need to test it)m, AND rendering.
I just reading up on the whole thing, and just found that harfbuzz, a derivative / conjugate of pango is handling CTL (complex text layout) for other scripts. I would like to see CTL enabled by default in all apps ROMs. AFAICT, support for each script in Pango was modular, and it ought to be same way in harfbuzz too. This means developers are probably enabling modules only for the languages they are interested in. Probably, it is perceived that demand for support for Indic languages is not there?
BTW, on Linux desktop, CTL rendering is not in the Kernel - it is in the X applications.
Click to expand...
Click to collapse
Geineass - It is not just "translate the UI". It is proper rendering system for Indic languages. I don't know about Linux but in Android most of the system rendering use base rendering system. By tweaking a small part of rending system, can show proper rendering whole system. Due to some personal reasons, I couldn't able to work on this. Rendering engineers can help us here. I agree in most of the forums that most of "Indian" engineers works in Android / Iphone / Symbian / other systems but we are not promoting Indic languages .
I also agree that "Indians" can easily adopt / understand "English"
genieass said:
Hi there guys.
Nice to know that I am not the only person interested in l18n of android. Do we have a separate forum / thread etc. where such things are discussed?
What the OP is trying to do is to "translate the UI", have I got you right?
But alongside that, we need proper fonts ( I guess the fonts are already there - Droidsansfallback posted by sridhar in some other thread - need to test it)m, AND rendering.
I just reading up on the whole thing, and just found that harfbuzz, a derivative / conjugate of pango is handling CTL (complex text layout) for other scripts. I would like to see CTL enabled by default in all apps ROMs. AFAICT, support for each script in Pango was modular, and it ought to be same way in harfbuzz too. This means developers are probably enabling modules only for the languages they are interested in. Probably, it is perceived that demand for support for Indic languages is not there?
BTW, on Linux desktop, CTL rendering is not in the Kernel - it is in the X applications.
Click to expand...
Click to collapse
rohitbaba said:
I have Hindi working but no other languages.
Your phone must be rooted
I have attached a zip file.
Extract 2 fonts files from the zip and put them in System/fonts via root explorer
You may be asked to replace some file, just say yes.
reboot your phone
this should do it, that all i had to do.
Dev
Click to expand...
Click to collapse
Rohitbaba - It support other languages but it won't render properly. I'm sure it won't render Hindi properly . I've replaced fonts and living with that .
hnkumar said:
Geineass - It is not just "translate the UI". It is proper rendering system for Indic languages.
Click to expand...
Click to collapse
Nice to meet you.
I have worked closely with Indic rendering teams on Linux. I know the difference. Mostly, my role was fixing the bridge between the Unicode standards and developers.
I don't know about Linux but in Android most of the system rendering use base rendering system.
Click to expand...
Click to collapse
Which precisely explains why Indic does not work. What that does not explain is why Arabic and Hebrew and other languages work. At least on my 5570, when it was running stock froyo, 2.2.1, it had the Koran preinstalled. AFAICT, on linux, these scripts use pango (on gtk). Or native kdelibs on kde.
By tweaking a small part of rending system, can show proper rendering whole system.
Click to expand...
Click to collapse
The work is pretty complex. (and I am addressing anybody else wishing to work on this. )
My limitation is that I cannot tell C code from java code. But I can tell you that if Android is reusing the linux ecosystem ( heard Harfbuzz mentioned on one of the SE threads), what needs to be done is simply port the relevant rendering engine to Android.
And things are not too easy. Each Indic language may require a separate module. Or same module will require separate code (as in lines of code) for each Language. And fonts will have to use Opentype layout, or use the conjuncts in Private Use Area.
[/QUOTE] Due to some personal reasons, I couldn't able to work on this. Rendering engineers can help us here. I agree in most of the forums that most of "Indian" engineers works in Android / Iphone / Symbian / other systems but we are not promoting Indic languages .[/QUOTE]
People working on the systems you mentioned above are working for their employers, not for the love of the platform or freedom. Do not blame them. :-(
I also agree that "Indians" can easily adopt / understand "English"
Click to expand...
Click to collapse
No offence meant, that is what I thought up to 20 years back. Then I started working. For past 5 years, been in govt. service. And my experience is that yes, people understand English well, but when it comes to expressing in English, people are not too well. ( hope you get the sarcasm).
genieass said:
Nice to meet you.
I have worked closely with Indic rendering teams on Linux. I know the difference. Mostly, my role was fixing the bridge between the Unicode standards and developers.
Click to expand...
Click to collapse
Nice to meet you too. Happy that one expert starting sharing thoughts with me. May be we can work closely on this. What do you say? This weekend is long weekend, I can spend some time. Problem is I'm not Java coder, so I need to take help of some Java codes (my brother can do).
Which precisely explains why Indic does not work. What that does not explain is why Arabic and Hebrew and other languages work. At least on my 5570, when it was running stock froyo, 2.2.1, it had the Koran preinstalled. AFAICT, on linux, these scripts use pango (on gtk). Or native kdelibs on kde.
Click to expand...
Click to collapse
Yup, I found that Arabic and Herbew they have changed somelibs. Here also, I dont know how to compile libs.
The work is pretty complex. (and I am addressing anybody else wishing to work on this. )
Click to expand...
Click to collapse
Yes, it is complex.
My limitation is that I cannot tell C code from java code. But I can tell you that if Android is reusing the linux ecosystem ( heard Harfbuzz mentioned on one of the SE threads), what needs to be done is simply port the relevant rendering engine to Android.
Click to expand...
Click to collapse
I found in Android source code only they have Indic support. But they are not using that. I dont know the reason. I found this few weeks back.
And things are not too easy. Each Indic language may require a separate module. Or same module will require separate code (as in lines of code) for each Language. And fonts will have to use Opentype layout, or use the conjuncts in Private Use Area.
Click to expand...
Click to collapse
Ya, I downloaded Unicode for each language. However, I can only try with Telugu as I can understand whether it is rendering properly or not. If you help me then I can try for that.
People working on the systems you mentioned above are working for their employers, not for the love of the platform or freedom. Do not blame them. :-(
Click to expand...
Click to collapse
True, but at least they can influence. If they have good experience like these kind of forums they can support other users
No offence meant, that is what I thought up to 20 years back. Then I started working. For past 5 years, been in govt. service. And my experience is that yes, people understand English well, but when it comes to expressing in English, people are not too well. ( hope you get the sarcasm).
Click to expand...
Click to collapse
Yes, I can understand .
Why dont you keep in touch with me over email?
hnkumar said:
Yup, I found that Arabic and Herbew they have changed somelibs. Here also, I dont know how to compile libs.
Click to expand...
Click to collapse
What do they use for text shaping?
Yes, it is complex.
Click to expand...
Click to collapse
I suggest you go through the Harfbuzz source code to find how they do it.
Find the tree here :-
http://cgit.freedesktop.org/harfbuzz/tree/
In particular:-
http://cgit.freedesktop.org/harfbuzz/tree/src/hb-ot-shape-complex-indic.cc
I found in Android source code only they have Indic support. But they are not using that. I dont know the reason. I found this few weeks back.
Click to expand...
Click to collapse
In which case, all that may be required are a few compile / runtime switches or some "INCLUDE <blabla.h> directive somewhere???
"switches" as in "make ---with-indic-support-enabled". Hope you get the idea.
We had to do a 2 month war with the Debian team to have pango / indic support enabled by default in Mozilla (a that time).
Ya, I downloaded Unicode for each language. However, I can only try with Telugu as I can understand whether it is rendering properly or not. If you help me then I can try for that.
Click to expand...
Click to collapse
Let me see what I can do. But, i do not know any Telegu - apart from imitating NTR in school for some fancy dress competition. <lol> Remember NTR?
Why dont you keep in touch with me over email?
Click to expand...
Click to collapse
See my pm.
Edit:- Android does use Harfbuzz. See this link:-
http://android.git.kernel.org/?p=platform/external/harfbuzz.git;a=summary
This is the thread I've been looking for a long time.
Three things first - 1. I've yet to get reply on my post in official bug report for android.
2. I've heard that Honeycomb 3.1 renders Indic text perfectly.
3. Samsung Galaxy Pro renders Hindi flawlessly in stock browser, which means whatever framework is needed to render is there and working.
I am not much of help in terms of coding as my coding skills began at GW BASIC and ended at VB4.0 :/ Though I can help in getting translation done in Punjabi/Hindi.
PS: Subscribed to the thread.
PPS: This is how Hindi text renders perfectly in a mid range Samsung Galaxy Pro

[Q] Indian languages not rendering properly

I'm quite happy with my Nexus S. But there is one annoying problem with it. It cannot render Hindi or any other Indian language properly. All I got was boxes instead of letters. So I installed a custom font[DroidSansFallback.ttf] which had all the required alphabets.
Even after this the rendering of text is not proper. Its like its missing some rendering rules -
It should be like this instead -
Now Gingerbread was supposed to support Hindi atleast. I am disappointed a lot. Has anyone has found a workaround or fix?
I know there is a way because a mid range handset like Samsung Galaxy Pro supports it out of box.
PS: Pardon my n00bness. This is my first thread.
Indic language rendering is not enabled on Android by default.
Please see page 2 of this thread:- (and help, if you can)
http://forum.xda-developers.com/showthread.php?t=1062899
Thanks a lot for guiding me there.

[App] Keyboard for Android: Adaptxt

Well, this is a matter of fact that almost every application requires user input, right from adding your nickname in a game you start playing for the first time to a long email you have to urgently send while you are away from your desktop. Text input on a touch screen device can be the key factor for maintaining the right user experience on any operating system. Typing on an android phone with touch input can be a painful experience if you are not using the right input method while other may enjoy it as their hobby while texting their buddies throughout the day because their keyboard is smooth and really smart.
Adaptxt features include :
Better word prediction, continues with sentence framing
Perfectly spaced keys and nice layout
40+ language addon packs with industry specializations
Customizable feedback with sound and vibration for different events.
Multilingual support with prioritization
Language specific virtual keyboards
Available for free with all addon packs
Special character inclusion
Learning words from default keyboard
Backup and restore user dictionary
Though Adaptxt is as good as other predictive keyboards available on the market, it takes predictions even further to framing sentences.
And you get the multilingual benefit of 40+ language addon packs which come in industry specific standard too. Like legal, finance, IT, business, telecomm etc.
As a new comer Adaptxt was pretty fast to catch up on Android platform. Adaptxt has been already available on Wndows, Symbian and other popular platforms.
Check out Adaptxt on Android market : http://market.android.com/details?id=com.kpt.adaptxt.beta
Check Reviews : Adaptxt android app review - Google Search
do you know what is the last ver? the market's is V0.7.1 but i have a very different ver on my tab, the ver is 1.5 but it's older !!!

[Q] Displaying Special Characters and Other Fonts

I'm a college student. My minor is in Biblical languages. This being the case I write and read and study languages that have not been used in a very long time. Koine Greek and Ancient Hebrew are the two languages I am most concerned about getting to work properly on my phone. The problem is that modern Greek and Hebrew have different letters than their ancient counterparts and the ancient characters are not supported by Android (except on a few apps that apparently supply their own fonts).
All these characters are supported natively by Microsoft and Apple and Linux, and I do believe that my friends on the iPhone also have them supported. Does anyone know how I would go about adding support for these characters on my phone, so that I can read them in various apps (email, facebook, twitter, Youversion, etc)
I've heard question like this a couple times, but it was more for adding unsupported languages (German, Croatian etc) but the answer was generally to ask your rom developers to add them. I'm not sure how the lettering is handled on the software level, but there are obviously languages that are very unusual that are supported, so I think it's just a matter of having the developer's add them. And judging from some glimpses at the commits on Github for adding languages it seems a pretty straightforward process. If you're on all stock, them I'm unsure as to how you would implement them
Running the latest Liquid Smooth ROM (although it's getting on my nerves and I am thinking of reverting back to the previous one). I've got the ROM Toolbox app which has a font adding function, which is why I first even thought about posing this question, but it looks like that just adds more fonts to change from the settings for the system font.

[APP][3.0+][NO-ROOT] Define: System wide offline dictionary for android

Define is an android app that emulates the iOS define functionality. The app works offline. Just copy text you want to find meaning of and define takes care of the rest. Multiple dictionaries are supported and multi lingual support is in the pipeline and will be released very soon.
Get it here:
define.workarounds.in
Feedback and reviews are most appreciated.

Categories

Resources