Closed Bug 425336 Opened 16 years ago Closed 16 years ago

Windows bit-mapped and vector fonts have character spacing problem

Categories

(Core :: Graphics, defect, P2)

x86
Windows XP
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: tkloos, Assigned: pavlov)

References

Details

Attachments

(6 files, 2 obsolete files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b5pre) Gecko/2008032615 SeaMonkey/2.0a1pre
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b5pre) Gecko/2008032615 SeaMonkey/2.0a1pre

Characters in bit mapped and "vector" fonts distributed with Windows are not spaced correctly. This is a continuation of bug 396315.

Reproducible: Always

Steps to Reproduce:
1.  Display "font_display_problem.html" test case attachment file.
2.  Observe
3.  Compare with same display using IE6, IE7, or Opera 9
Actual Results:  
See attachment "bit_map_font_spacing.png".  Note last 3 lines.

Expected Results:  
See attachment "ie6.png".

Submitting this a a new bug at Stuart's request.  The original Type 1 font display bug 396315 is now fixed.
Attached file Test case
Attached image Screen shot of bug
Attached image Expected font rendering
Assignee: nobody → pavlov
Status: UNCONFIRMED → NEW
Ever confirmed: true
grr.
Flags: blocking1.9+
Priority: -- → P2
Ah, I see the problem.  I'll see what I can do about it tomorrow.
Also have trouble with rendering the fonts.
Would this affect the mac too if someone were to install some MS application that installed this fonts, such as Office?
Attached patch fix (obsolete) — Splinter Review
ok, this uses a separate flag for using GDI to lazily determine the charactermap if we were unable to get a cmap from the font.  this takes us back to using uniscribe to render these fonts rather than the buggy GetGlyphIndices.
Comment on attachment 313470 [details] [diff] [review]
fix

the only real change in this patch is:

-            fe->mForceGDI = PR_TRUE;
+            fe->mUseGDIForCMAP = PR_TRUE;

-        if (aFontEntry->mForceGDI) {
+        if (aFontEntry->mUseGDIForCMAP) {
Attachment #313470 - Flags: review?(vladimir)
Attachment #313470 - Attachment is obsolete: true
Attachment #313470 - Flags: review?(vladimir)
Attached patch real fixSplinter Review
same as before, but now using ScriptGetCMAP rather than GetGlyphIndicies which is buggy with vector/bitmap fonts.
Attachment #313515 - Flags: review?(vladimir)
Blocks: 426927
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
need to also watch for E_HANDLE here, so check for success where rv isn't S_FALSE
Attachment #313535 - Flags: review?(vladimir)
Comment on attachment 313535 [details] [diff] [review]
need to do a double check on rv in HasCharacter

hold on, this sucks.  this should just be rv == S_OK
Attachment #313535 - Attachment is obsolete: true
Attachment #313553 - Flags: review?(vladimir)
Attachment #313535 - Flags: review?(vladimir)
verified fixed using Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9pre) Gecko/2008042705 Minefield/3.0pre ID:2008042705 and the testcase from Tom (comment #1).

-> Verified fixed 
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: