Joined: Jun 16, 2003 Posts: 10982 Location: California, USA
Posted: Tue Jan 08, 2008 10:08 am Post subject: Please comment: significant changes in latest test patch
I am planning on releasing NeoOffice 2.2.2 Patch 7 in the next week or so. However, the current test patch contains some significant text layout bug fixes and, to avoid a repeat of the text layout mistakes made in Patch 5, I am asking users to try out the latest test patch to verify that the changes don't cause anyone any big surprises.
Links to the latest test patch are listed in the last post in bug 2846. The three biggest changes are listed below:
1. Narrower line spacing for some fonts - In order to fix bug 2827 and bug 2847, I had to modify my code that calculates the ascent, descent, and leading for fonts. Specifically, I removed an old hack that increased the line spacing for Asian fonts. The old hack fixed a bug that existed back when I used Java to measure height. I carried this hack over when I switched to using the native ATS functions over a year ago and found, through these two bugs, that the hack is no longer needed. With the latest test patch, line spacing for most fonts is slightly narrower than before and is now very close to the line spacing in MS Office 2004.
2. Editing of ligatures - In order to fix bug 2841, I had make a small change that affects ligatures. Specifically, I had to disable the ability to insert the cursor in the middle of a ligature and disable highlighting only a portion of a ligature glyph cluster. For example, if you are using the Zapfino font and type the letters "pp", a single ligature glyph will be displayed. With the latest test patch, you will only be able to put the cursor before or after the "pp" glyph cluster; you will not be able to put it between the two "p" glyphs. Likewise, you will only be able to highlight both or none of the "p" glyphs; you will not be able to highlight on one of the "p" glyphs. Although the bug only mentions Arabic text, I found that the same bug affects ligatures in any language and, for many fonts, the TextEdit application enforces the same restrictions that I have implemented.
3. Various printing fixes - Several users in the NeoOffice support forum have reported problems with printing but not when pressing the Preview button in the native print dialog. I have fixed these problems in bug 2846.
If I don't hear anything, I'll release Patch 7 in the next week.
Joined: Jun 20, 2006 Posts: 2028 Location: Midwest, USA
Posted: Tue Jan 08, 2008 1:24 pm Post subject:
Patrick:
I did some experimenting with the ligatures in Zapfino, and here is what I found:
1) While the cursor cannot be placed between the characters, as you indicated, there are now two cursor "stops" between the ligatured character and the one to its left. (This is in English, running left to right). For example, type the following sentence in Zapfino:
Quote:
She is Peter Pepper's wife.
There are (at least) two ligatures in this sentence: the double p and the e and the curved line that runs under the period. (I'm sure there is a technical term for it, but ligatures are new to me). If you use the arrow keys to move the cursor, you will discover two "stops" between the e and f in wife and between the leftmost e and p in Pepper. If you start the cursor at the end of the sentence and move left, to the first stop just left of the e in wife, then hit delete, the e ligature will be deleted, which is not the expected behavior. You must move one more "stop" over to delete the f. The same is true in the word Pepper. There is only one "stop" in Text Edit, and the delete key works as expected.
2) Artifacts are left behind in the creation of the pp ligature. Type the sentence above, and you will see a stray piece of the original p below and to the left of the pp ligature. Scroll up or down until the sentence is out of view, or switch to another app and back and the artifact will disappear. These artifacts do not appear in Text Edit.
3) Similar artifacts appear when certain characters are deleted. For example, type this test sentence in Zapfino:
Quote:
This is a test of the ligatures.
Now move the cursor to the end of the sentence and begin deleting. Remnants of those characters with high "tops" will be visible after the letters are deleted. As before, scrolling will clear the artifacts. These artifacts do not occur in Text Edit.
Joined: Jun 16, 2003 Posts: 10982 Location: California, USA
Posted: Tue Jan 08, 2008 6:55 pm Post subject:
Lorinda,
Thanks for really testing this out in detail. Zapfino is a really good use case as its font kerning and ligatures are rather unusual compared to most regular fonts. I've researched each of the items you found and have commented inline below.
Lorinda wrote:
I did some experimenting with the ligatures in Zapfino, and here is what I found:
1) While the cursor cannot be placed between the characters, as you indicated, there are now two cursor "stops" between the ligatured character and the one to its left. (This is in English, running left to right). For example, type the following sentence in Zapfino:
Quote:
She is Peter Pepper's wife.
There are (at least) two ligatures in this sentence: the double p and the e and the curved line that runs under the period. (I'm sure there is a technical term for it, but ligatures are new to me). If you use the arrow keys to move the cursor, you will discover two "stops" between the e and f in wife and between the leftmost e and p in Pepper. If you start the cursor at the end of the sentence and move left, to the first stop just left of the e in wife, then hit delete, the e ligature will be deleted, which is not the expected behavior. You must move one more "stop" over to delete the f. The same is true in the word Pepper. There is only one "stop" in Text Edit, and the delete key works as expected.
There should be two stops due to an idiosyncracy of the OOo code. The two stops is caused by the fact that with a ligature, the first character gets all of the width and the second character gets zero width (allocating zero width to one of the characters that got combined into a single glyph cluster prevents highlighting half of the glyph cluster).
However, while there should be two stops for a ligature (or three for an "ffi" ligature), the stops should be at the end of the ligature instead of at the beginning. I will post a new test patch with a fix for this tomorrow.
Lorinda wrote:
2) Artifacts are left behind in the creation of the pp ligature. Type the sentence above, and you will see a stray piece of the original p below and to the left of the pp ligature. Scroll up or down until the sentence is out of view, or switch to another app and back and the artifact will disappear. These artifacts do not appear in Text Edit.
3) Similar artifacts appear when certain characters are deleted. For example, type this test sentence in Zapfino:
Quote:
This is a test of the ligatures.
Now move the cursor to the end of the sentence and begin deleting. Remnants of those characters with high "tops" will be visible after the letters are deleted. As before, scrolling will clear the artifacts. These artifacts do not occur in Text Edit.
Both of these cases are normal (though unexpected) behavior for OOo. What is happening is that the OOo code only clears and repaints an area that is roughly the bounds of the character that you are deleting. Since the tall Zapfino glyphs actually angle sharply into the preceding and following characters' space, the OOo code will not clear these overlapping glyph strokes. In other words, the OOo code assumes that a glyph only paints within a rectangle bounded by the cursor locations to the left and right of the character and the font ascent and descent. Any glyph drawing outside of this rectangle will not be cleared by OOo until you scroll the area out of sight.
Joined: Oct 24, 2005 Posts: 440 Location: Edinburgh, Scotland
Posted: Wed Jan 09, 2008 5:56 am Post subject:
I've just installed the latest patch on an Intel iMac running OS X 10.4.11.
The patch installed was 6 Test 5 and with it installed NeoOffice crashes immediately after drawing the outlines of the document window and the stylist - ie before any content appears in the windows, including toolbars.
Which bug should I attach the crash logs too, or should I start a new one?
Joined: Jun 16, 2003 Posts: 10982 Location: California, USA
Posted: Wed Jan 09, 2008 5:57 am Post subject:
amayze wrote:
I've just installed the latest patch on an Intel iMac running OS X 10.4.11.
The patch installed was 6 Test 5 and with it installed NeoOffice crashes immediately after drawing the outlines of the document window and the stylist - ie before any content appears in the windows, including toolbars.
Which bug should I attach the crash logs too, or should I start a new one?
Joined: Jun 16, 2003 Posts: 10982 Location: California, USA
Posted: Wed Jan 09, 2008 4:00 pm Post subject:
FYI. I have fixed the crashing bug that amayze reported and I have fixed the positioning the cursor so that the multiple stops are after a ligature instead of before.
I have posted a new test patch which these fixes at the end of bug 2854.
Joined: Jun 16, 2003 Posts: 10982 Location: California, USA
Posted: Thu Jan 10, 2008 1:16 pm Post subject:
FYI. Since several crashing bugs have been solved as a result of test patch 6, I have post one more test patch (test patch 7) at the end of bug 2847. The only difference between test patch 6 and 7 is that I have made some slight changes to the line spacing calculation that makes line spacing more closely match the line spacing in MS Office 2004.
At this point, I think that test patch 7 is ready to be released as an official test patch. So, if I don't hear that anything is horribly wrong with test patch 7, I will release NeoOffice 2.2.2 Patch 7 on Monday.
Joined: Jun 16, 2003 Posts: 10982 Location: California, USA
Posted: Sun Jan 13, 2008 6:16 pm Post subject:
FYI. I fixed two more bugs so I have posted a new test patch at the end of bug 2865. Not only is that bug fixed, but I also found that my fix for bug 2846 missed some print settings with certain files so I fixed that bug in the test patch as well.
So this delays release of NeoOffice 2.2.2 Patch 7 by a few days. However, if people could download this test patch and verify that printing still works and that no new crashes occur, I would appreciate it very much. If I don't hear of any problems on Monday or Tuesday, I will release Patch 7 on Wednesday morning California time.
Joined: Jun 16, 2003 Posts: 10982 Location: California, USA
Posted: Mon Jan 14, 2008 2:10 pm Post subject:
pluby wrote:
FYI. I fixed two more bugs so I have posted a new test patch at the end of bug 2865. Not only is that bug fixed, but I also found that my fix for bug 2846 missed some print settings with certain files so I fixed that bug in the test patch as well
Unfortunately, while my fix for bug 2865 worked, it was a bit too aggressive in detaching temporary threads from the JVM and, as a result, made the Tools :: Extension Manager dialog buttons not work correct. So, I changed my fix slightly to prevent this and posted a new test patch at the end of bug 2865.
Assuming a don't need to issue any more fixes, this test patch will be identical to NeoOffice 2.2.2 Patch 7 which will be released Wednesday.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum