Closed Bug 307520 Opened 19 years ago Closed 13 years ago

Windows special characters are shown by ersatz characters

Categories

(Core Graveyard :: GFX: Gtk, defect)

Sun
Solaris
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: andreasprilopwww, Assigned: jshin1987)

References

()

Details

(Keywords: intl)

User-Agent:       Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.3) Gecko/20040919
Build Identifier: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.3) Gecko/20040919

I have the Cyrillic fonts with cp1251 character set from
 /usr/X/lib/locale/ru.ansi-1251/X11/fonts/TrueType/
installed. Mozilla 1.7 finds the special Windows characters
http://www.unics.uni-hannover.de/nhtcapri/temp/windows-chars.html
only when "lang=ru" or "charset=ISO-8859-5" or "charset=Windows-1251".
http://www.unics.uni-hannover.de/nhtcapri/temp/windows-chars.gif


Reproducible: Always

Steps to Reproduce:
1. Add /usr/X/lib/locale/ru.ansi-1251/X11/fonts/TrueType/
   to FontPath:
   xset fp+ /usr/openwin/lib/locale/ru.ansi-1251/X11/fonts/TrueType/
2. Goto
   http://www.unics.uni-hannover.de/nhtcapri/temp/windows-chars.html

Actual Results:  
Mozilla 1.7 displays the special Windows characters with
some ersatz glyphs unless "lang=ru"
(or "charset=ISO-8859-5" or "charset=Windows-1251").

Expected Results:  
Mozilla should *always* use the correct glyphs from the
cp1251 fonts, no matter which "lang" or "charset".
QA Contact: general → layout.fonts-and-text
Well, your notion of 'correct glyphs' doesn't match Mozilla's. Except for
'double dagger' and 'permille sign', Mozilla does find correct glyphs although
they're not taken from your favorite font (one for cp1251). Without 'lang'
explicitly specified or implicitly guessed from the character encoding of the
document (or the locale under which Mozilla is launched. yes, there's a third
way you didn't mention: launch Mozilla under a Russian locale and you'll get
what you want), Mozilla can't do much better than using the first glyph for a
character it comes across. 

I'm leaving this open for double dagger and permille sign for which Mozilla
should use an actual glyph available instead of using 'transliteration'

Btw, can you let me know what you get with 'about:buildconfig' typed in the
address bar? 
Assignee: general → jshin1987
Status: UNCONFIRMED → NEW
Component: General → GFX: Gtk
Ever confirmed: true
Keywords: intl
Product: Mozilla Application Suite → Core
Summary: Windows special characters are shown by ersatz characters → permille sign and double dagger are transliterated even when glyphs for them are available
Version: unspecified → Trunk
about:buildconfig  results in
http://www.unics.uni-hannover.de/nhtcapri/temp/buildconfig.html


Please look again *carefully* at
http://www.unics.uni-hannover.de/nhtcapri/temp/windows-chars.gif !!

The third row has *no* en-dash, but only a hyphen instead.
It does not have a matching em-dash, but a thin line.
It does not have curly quotes, but only ASCII quotes.
It does not have a dagger, but an ASCII plus sign.
It does not have a matching, sans-serif trademark sign.

All special Windows characters are affected, not just permille
and double dagger!
Summary: permille sign and double dagger are transliterated even when glyphs for them are available → Windows special characters are shown by ersatz characters
(In reply to comment #0)
> I have the Cyrillic fonts with cp1251 character set from
>  /usr/X/lib/locale/ru.ansi-1251/X11/fonts/TrueType/
> installed.

Are these fonts supplied by Sun (bundled with Solaris, perhaps)?
> Are these fonts supplied by Sun (bundled with Solaris, perhaps)?

Yes.
(I don't understand why this should matter.)
I'm sorry there's not much we can do about your problem other than what I mentioned around the end of the first paragraph in comment #1 and what you already tried (specifying 'lang' or charset). Ahah, actually, there's one more thing you can do: specifying the font family name in CSS. 

Alternatively, ask Sun to stop shipping an X11core build (based on almost 20-year old technology) and to ship an Xft-enabled build. Virtually nobody is interested in improving the X11core build beyond what it's now. 
 
(In reply to comment #5)
> I'm sorry there's not much we can do about your problem other than what I
> mentioned around the end of the first paragraph in comment #1 and what you
> already tried (specifying 'lang' or charset).

But the glyphs are available -- why is it necessary to specify "lang"?
(In reply to comment #6)
> (In reply to comment #5)
> > I'm sorry there's not much we can do about your problem other than what I
> > mentioned around the end of the first paragraph in comment #1 and what you
> > already tried (specifying 'lang' or charset).
> 
> But the glyphs are available -- why is it necessary to specify "lang"?

How many fonts do you have on your system? Take a look at nsFontMetricsGtk.cpp (in gfx/src/gtk directory) or nsFontMetricsX11.cpp in gfx/src/x11 at http://lxr.mozilla.org/seamonkey.Unless we look up *all* fonts on the system in search of a glyph, we wouldn't find it. On an 'antique' font system like x11 core, it takes looooooong to do that.  We need a hint, 'lang', 'font-family', 'charset' or 'locale' to narrow down the search range. 

Product: Core → Core Graveyard
This appears to have been a bug in the X11core font rendering which no longer exists.  Please file a new bug if you still have a problem with a current build.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
(Also, the test case returns 403 Forbidden.)
You need to log in before you can comment on or make changes to this bug.