Prakash, I think you can safely remove the mirroring in the CTM. It's
definitely not the right thing to do for rl-tb. However, please check
the test cases in test/layoutengine/standard-testcases which probably
contain checks for the CTM. These will need to be changed.

Please try to contact the original author of the changes you picked up.
If we can get hold of him, we can probably get the necessary license
clearing from him. If his changes add considerable new code and
functionality, we'll need a ICLA [1] of him in the ASF's records at the
very least. The same applies to you if you add more than just a few
lines of code.


I think it's great that there's motion once more in the area of Arabic
script. Many have talked about it (or requested it) but so far nobody
followed through to the end. Please keep in mind that most (if not all)
of the existing committers don't have knowledge about Arabic script so
it's difficult for us to recognize whether a result is right or wrong.
So I think it's going to be important to have some documentation (for
example on the Wiki) on the topic. Some images that illustrate the
results will be helpful. Also, our layout engine test suite should get
some test cases for Arabic script which serve as regression tests. That
way we can slowly build knowledge about non-latin scripts and avoid
accidentally breaking working code after any such functionality has been

I know we may be asking a lot, so thanks a lot in advance for your
patience and persistence.

On 30.09.2009 14:27:33 Prakash sen wrote:
> Hi,
>    I am not sure on the licensing part as sebastian did some changes in FOP
> code and he provided me the jars. And as per what i had checked those jar
> print arabic correctly. 
> Possibly he will only be able to answer and I am nots ure whether the change
> was made keeping FOP standards. He was planning to do bidi algorithm, no
> idea whether he worked on it later and whether he contribuited the below
> change to FOP. 
> Below were his comments - 
> If I set the writing-mode to rl-tb my text is flipped vertical. This happens 
> because the CTM class rotates the transformation matrix for rendering 
> according to the writing mode. If I want to write right-to-left this has 
> nothing to do with mirroring of cause and I disabled it, because I want to 
> print arabic text. So what is the purpose of mirroring in rl-tb 
> writing-mode? What errors will appear if I disable the CTM.getWMctm() 
> function that does the mirroring according to the writing-mode?
> I achived printing (pdf) arabic text after some weeks of work ignoring any 
> xsl:fo recommendations. The most things I did in the TextLayoutManager. Now 
> I'm thinking about implementing it according to the recommendations and the 
> BIDI algorithm.
> Hi Prakash,
> you can download the version of FOP that I use to print Arabic script from
> I hope it works for you. Unfortunately I don't understand Arabic but I know
> that there are still some problems with the type setting. Maybe you can
> inform me about bugs you'll find.
> I'll add some explanations and the source code in a few days.
> Regards
> Sebastian
> -- 
> View this message in context: 
> Sent from the FOP - Dev mailing list archive at

Jeremias Maerki

Reply via email to