NeoOffice Bugzilla

NeoOffice Bugzilla
Loading
NeoOffice® is Mac OS X office software funded entirely by donations from our users
Find Bug
Bug #823 - missing kashida support - gaps in Arabic words in fully-justified text - Return to bug list
Reporter: ****** Created: 06-02-2005
Project: Priority:
Component: Severity:
Version:   Patchlevel: Operating System:
To be closed in version
Closed in version
Summary: Status:
URL: Resolution:
Assigned to: ****** Add CC:
Depends on bugs:
Blocks bugs:
Add dependency:
Remove dependency:

Remove selected CCs:
Additional comments:



You must login to modify this bug
Attachments:
Name Size Type Created  
kashida.sxw 6k application/vnd.sun.xml.writer 06-02-2005
kashida.jpg 94k image/jpeg 06-03-2005
kashida-voweled.sxw 15k application/vnd.sun.xml.writer 06-05-2005


Comments:
Posted by: ******
Date: 6:31 PM 06-02-2005
This bug is present in a virgin 1.1 RC install, so it's not related to bug 807.

In testing the fix for bug 807, I noticed that increasing the font size of the text in arabic summary.doc produced strange gaps in the text. I was able to reproduce it with a fresh document typed entirely in Geeza Pro, so it's not font-fallback related, though it is most readily apparent at large (>30) point sizes.

Opening the new document (kashida.sxw) in OOo 1.1.2, I noticed that OOo was applying kashida (rougly, lengthening of the letters) to achieve proper full justification. The position and size of the gaps in Neo/J corresponded 1:1 with the kashidas in OOo.

If the issue is not immediately apparent, switch to any Arabic keyboard and hit "s" at the beginning of the document and observe the blank space that now separates the س and قال.

I'm guessing Mac OS X (at least through 10.3.9) does not contain kashida support (Mac OS 8/9 had it, but very few apps supported it), as TextEdit simply leaves gaps between words (but can't properly handle full justification anyway), so there might not be anything you can do....

Posted by: ******
Date: 4:11 AM 06-03-2005
Er, I managed never to say clearly: it's gaps *within* the words that are appearing and which are bugs.

Posted by: ******
Date: 12:04 PM 06-03-2005
This bug is actually a case of bug 578. It seems that I fixed most occurrences of bug 578, but not all.

The OOo code puts spaces between RTL characters and my code tries to squeeze them back together. I'll need to find out why my squeezing code isn't working in this case.

Posted by: ******
Date: 9:46 PM 06-03-2005
Except in Arabic those "spaces" between characters from bug 578 belong...except they should be kashidas (see screenshot). Of course, if ATSUI doesn't support kashida functions, then trying to remove the "space" where the kashidas are (not) drawn is the best option.

Posted by: ******
Date: 9:51 PM 06-03-2005
I came to the same conclusion earlier today after I found that Writer was controlling the width of the spaces.

I have kashidas working except for a few minor bugs that I still need to fix.

Posted by: ******
Date: 5:35 AM 06-04-2005
I have posted a test patch that implements OOo's full kashida support as well as occurrences of bug 578 in your sample document. Can you download the test patch and verify that it fixes the bug? If the bug still occurs, please reopen this bug:

http://www.planamesa.com/test/NeoOfficeJ-1.1_Release_Candidate-TestPatch-6.4.dmg

Posted by: ******
Date: 11:12 AM 06-04-2005
There are still some strange cases where voweling or certain character combinations cause "extra"/inappropriate kashidas to be inserted, but I can reproduce these in 1.1.2 and (though greatly reduced in the number of cases, depending on the font size) in whatever recent OOo 2.0 milestone I have, so I believe you have fixed the extent of the bug that is fixable :-)

If only the OOo engineers will stop WFMing the bugs filed on these kashida issues....

Posted by: ******
Date: 1:55 PM 06-04-2005
From what I can see, the OOo code will try to add kashida spacing in the following two inappropriate places:

1. Leftmost characters in an Arabic word that are following a spacing character
2. To the right of Arabic combining characters where these combining characters are the leftmost character in a word

I can easily reproduce these problems by opening the "arabic summary.doc" file in bug 807 and then changing all the text to the Geezah Pro font.

I can actually suppress both of these problems. However, I don't know which Unicode Arabic and Unicode characters are allowed to have kashidas and which are not. Do you know of any such list?

Posted by: ******
Date: 7:19 AM 06-05-2005
I'm not sure I understand your two cases, but it could be we are using different vocabulary. I'll attach my series of examples/cases to the bug (kashida-voweled.sxw)

I'm sure there is a good list of kashida rules out there; I've yet to find it. Pages 10-15 (aka 199-204) of the Middle Eastern chapter of the Unicode standard has some discussion of this, but it's not exactly a "complete and easy list."

http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#page=10

However, the problem as I see it is not so much one of the wrong characters being given kashidas as (mostly) the addition of a vowel causing a medial-position kashida to be moved to the end of the word following the final letter (again, see the new kashida-voweled.sxw)

Posted by: ******
Date: 10:10 PM 06-05-2005
I have posted a test patch that I think fishes OOo's inappropriate placement of kashidas. Can you download the test patch and verify that it fixes the bug? If the bug still occurs, please reopen this bug:

http://www.planamesa.com/test/NeoOfficeJ-1.1_Release_Candidate-TestPatch-6.5.dmg

Posted by: ******
Date: 1:59 AM 06-06-2005
Do you ever sleep? :-) This is fantastic, perhaps the best kashida implementation on Mac OS X!

Posted by: ******
Date: 2:12 PM 06-06-2005
I have included the fix for this bug in Neo/J 1.1 RC "Patch-7". The patch is available at:

http://www.planamesa.com/neojava/patch.php

Please reopen this bug if the bug still occurs.

Posted by: ******
Date: 11:01 PM 01-13-2010
I am reopening this bug because while I was fixing bug 3582, I discovered that this bug reoccurs in NeoOffice 2.2.6 and 3.0.2 Early Access when you select the View :: Nonprinting Characters menu.

I have fixed this bug so that when that menu is checked all of the Arabic glyphs are displayed in the same position as when that menu is unchecked.

Can you install the following test patch and tell us if this bug is fixed for you?:

Intel:
http://joe.neooffice.org/test/NeoOffice-3.0.2_Early_Access-Patch-0-Test-6-Intel.dmg
http://joe.neooffice.org/test/NeoOffice-2.2.6-Patch-3-Test-2-Intel.dmg

PowerPC:
http://joe.neooffice.org/test/NeoOffice-3.0.2_Early_Access-Patch-0-Test-6-PowerPC.dmg
http://joe.neooffice.org/test/NeoOffice-2.2.6-Patch-3-Test-2-PowerPC.dmg


Posted by: ******
Date: 2:12 PM 01-14-2010
Patrick, I opened up more or less all of my Arabic test documents, and these patches don't appear to have regressed the kashida behavior, either normally or when non-printing characters are shown.

However, I've discovered a couple of additional bugs (including a crash in 3.0.2) that have appeared in Neo since the last time I opened all of these documents. Before/after tests seem to indicate they're not the fault of these patches, so would you prefer I open a new thread at trinity or just post about the new bugs here?

Posted by: ******
Date: 2:33 PM 01-14-2010
Please post the new bugs on Trinity.

Posted by: ******
Date: 10:23 PM 01-30-2010
FYI. The latest fix has been included in NeoOffice 3.0.2 and NeoOffice 2.2.6 Patch 4.


  Email: Password: