Open Bug 496527 Opened 16 years ago Updated 3 years ago

Extra space at intervals in long string with small letter-spacing

Categories

(Core :: Graphics, defect)

defect

Tracking

()

People

(Reporter: amir.aharoni, Unassigned)

References

()

Details

Attachments

(3 files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; he; rv:1.9.1b4) Gecko/20090423 Firefox/3.5b4 GTB5 (.NET CLR 3.5.30729) Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; he; rv:1.9.1b4) Gecko/20090423 Firefox/3.5b4 GTB5 (.NET CLR 3.5.30729) It looks like Firefox adds some extra pixels to a long Hebrew string with niqqud (vowel points) in certain style setup. I noticed it in the default style of Wikipedia, which many users may see. I entered a long string consisting of the letter waw (ו) with a dagesh after it (ּ) repeated over a hundred times; combined they are called "shuruq" and look like this וּ. Every 53 shuruqs there is an extra pixel. It also happens with other letters and vowel signs - every 53 letters there's an extra pixel. (Here, "53 letters" means "53 letters, not counting the vowel points".) It doesn't happen in IE and Chrome. Such long strings with niqqud are rare, but may happen. Reproducible: Always Steps to Reproduce: 1. Enter a long string of Hebrew characters with vowel points (niqqud) into a Wikipedia page. 2. Preview or save the page. Actual Results: There's an extra pixel every 53 letters. Expected Results: The characters should be evenly distributed.
When you say "extra pixel", do you mean extra blank pixel, i.e. extra space between characters? That's what I'm seeing in the URL on Linux (Ubuntu 9.04), but not on OSX. I'm guessing it's some kind of rounding error with glyph positioning.
Status: UNCONFIRMED → NEW
Component: General → GFX: Thebes
Ever confirmed: true
OS: Windows XP → All
Product: Firefox → Core
QA Contact: general → thebes
Hardware: x86 → All
Simon, there's an extra column of blank pixels. I am attaching an image.
Attached file Minimized testcase
I am seeing the same issue without niqqud and even in Latin script. Reducing the css shows that |letter-spacing: 0.001em;| seems to be causing the problem.
(In reply to comment #3) > I am seeing the same issue without niqqud and even in Latin script. Reducing > the css shows that |letter-spacing: 0.001em;| seems to be causing the problem. Silly me. I am so used to problems with niqqud in Mozilla and other programs that i was sure that niqqud causes it. Feel free to rename the bug accordingly.
Summary: extra pixels in long Hebrew string with niqqud → Extra space at intervals in long string with letter-spacing
This looks like the issue described in bug 368107 comment 0: "Gecko inserts the space if the accumulation spaces are over a device pixel"
Depends on: 368107
Summary: Extra space at intervals in long string with letter-spacing → Extra space at intervals in long string with small letter-spacing
This should only happen on Windows. Fixing bug 368107, rounding letter-spacing on Windows only, would fix this. I'm not sure why the author is using letter-spacing:0.001em though. To disable ligatures?
Hmm, but Simon saw this on Ubuntu. I thought Pango supported horizontal subpixel positioning?
(In reply to comment #6) > I'm not sure why the author is using letter-spacing:0.001em though. To disable > ligatures? It comes from http://he.wikipedia.org/w/index.php?title=%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Common.css. There's a comment in Hebrew saying "reduce space between letters in order to (partially) solve the diacritics problem", which doesn't make sense to me.
I was able to reproduce similar issue on the Noami Shemer page on Wikipedia http://he.wikipedia.org/wiki/%D7%A0%D7%A2%D7%9E%D7%99_%D7%A9%D7%9E%D7%A8. Attached a two-layers image in order to show the differences.
This issue was brought up on Chromium's bug tracking list and was fixed. Perhaps there's something to be learned from their fix? http://code.google.com/p/chromium/issues/detail?id=31902
I created a test page showing screenshots of this bug across a number of browser/OS configurations: http://aharon.varady.net/browser-test-for-hebrew-diacrits.html
I'm almost certain that Wikipedia and affiliated wikimedia sites won't display this problem, or at least not consistently, since they use NFC (Normalization Form C) -- Canonical Decomposition, followed by Canonical Composition. In this case, that means consonant followed by a dagesh decomposed to a combo consonant+dagesh character in the Unicode.
On further analysis, the problem appears to stem from certain changes made to the font after being processed from ttf to woff by font squirrel. For some reason, Chrome could cope with those changes and FF could not.
Can you open a new bug for comments 11-14? It's not the same issue that the original bug report is about.
Component: Graphics → History: Global
Target Milestone: --- → mozilla2.0b10
Component: History: Global → Graphics
Target Milestone: mozilla2.0b10 → ---
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: