To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=87688





------- Additional comments from [EMAIL PROTECTED] Tue Apr  1 20:23:36 +0000 
2008 -------
I posted some sample documents. The original document was posted in issue 28203:
kashida.sxw. 

For demonstration purposes, I copied some words to short lines, to show the
differences most clearly (kashida_before_patch3.pdf and 
kashida_after_patch3.pdf).

The differences that you can see are actually the result of three patches: this
one, the one I posted in issue 60594, which is based on previous fixes from
issue 77976. 

The second line in kashida_before_patch3.pdf demonstrates most clearly the
effects of kashida placing. Before the patch, the first word did not receive any
kashida, the second word got a kashida before its last letter. After the patch
both words get a kashida, and notably in the second word it gets inserted
already before the third letter. 

In the first line in the first word, a kashidas get inserted in a places where
they cannot connect. At least in the second word, the cause was in the layout
engine and this was fixed in issue 77976. What you see in the first word is
probably the result of both bugs. 

In the implementation of the kashida search were several mistakes. First I just
noticed the differences to the results of the usp justification, but I thought
that it might be intentionally. Then I found the MS documentation at
http://www.microsoft.com/middleeast/msdn/JustifyingText-CSS.aspx, and the
priorities in the kashida search seemed to match what the OOo code was trying to
do. 

But the OOo code didn't compare the results of the different priority classes.
It simply decided for the first match it found. If it found a match of the 3rd
priority at the 2nd letter, it would not get to a match of 1st priority at the
3rd or 4th letter. 

Also it says: "If more than one connection opportunity have the same highest
value, use the opportunity closest to the end of the word." As I said before, if
it found a match, the game was over, not getting to the end of the word.

And most seriously, there seemed to be a misunderstanding on the letters
referenced in the priority classes. First of all, as far as I understand, the
letter names refer to shaping groups as they are described in
http://unicode.org/book/ch08.pdf in table 8.6. So you should actually check for
a group of unicode chars. Where it states, that a kashida may be inserted before
a final form of a letter, you have to keep in mind that the only-right-joining
characters will have their "final form" also in the middle of a word. 

Of course, I could not be 100% sure of this interpretation, though it just
seemed more logical. But after implementing the changes I just saw that
everything matches exactly the way usp would place the kashidas, so I was
assured that I got it right. 

In the longer document you can occasionally see the gaps inside the words in the
before-patch version. But that is the other issue...

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to