Abdelrazak Younes wrote:

Right now the transformChar() is called only before painting, which is wrong because cursor positioning happens at metrics calculation time. So to solve this we have two solution: 1) we move the RTL logic out of rowpainter.C and use transformChar() in FontMetrics.[Ch] to properly calculates the character level within each word. 2) we use Qt for word level bidi stuff for painting and metrics. This means that on-screen appearance will be correct even if you didn't set the language to Hebrew, Arabic or Farsi. It will just work.


I should have probably asked this a long time ago ;) --- but can you please explain exactly what this metrics calculation is? When is the "metrics calculation time"? How / where in the code does the cursor positioning occur?

Thanks!
Dov

PNG image

Reply via email to