Question

I want to develop a complex-script IME. But I am not quite sure about the respective functionality of IME and underlying render-er. I think KitKat is using Harfbuzz-ng. For complex scripts, the mapping isn't linear like English. The characters need to be rearranged/display differently as you input.

Assumptions: The language is displayed properly on the device. e.g. you can read news etc. Android version: KitKat

So my questions are,

 Is the reordering the job of the IME or the underlyging engine? 

 Is IME only responsible for feeding unicode points to the system and then 
 the render-er would do the rearrangement?

Please point me into some readings about this topic.

Was it helpful?

Solution

Yes to your both questions. IME should just feed Unicode characters in their logical order to the underlying system, the final rendering (AKA shaping) will be done by the text layout engine.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top