Open Bug 107888 Opened 24 years ago Updated 3 years ago

nsIFontEnumerator::EnumerateFonts() lists all fonts on gtk builds

Categories

(Core :: Internationalization, defect)

x86
Linux
defect

Tracking

()

mozilla1.1alpha

People

(Reporter: james, Unassigned)

Details

(Keywords: intl, platform-parity)

Rather than just listing fonts that match the aLangGroup and aGeneric arguments, EnumerateFonts lists every font on the system (nsFontEnumeratorGTK::EnumFonts() ignores these arguments). This is visible in the fonts page of the preferences dialog, in that proportional fonts are listed in the selector for the default monospace font. The font selectors in Netscape 4.x's preferences page correctly identified monospace fonts vs proportional ones, so this is a regression. (separating serif/sans-serif fonts may be more difficult).
Keywords: 4xp
intl. Confirming bug. This is also pp, since on Windows we use these args.
Assignee: hyatt → yokoyama
Status: UNCONFIRMED → NEW
Component: XP Toolkit/Widgets → Internationalization
Ever confirmed: true
Keywords: pp
QA Contact: jrgm → ruixu
I don't think this is an i18n bug. It is really a bug in the gtk code in gfx/ (I think that's the dir. If not, probably widget/). When you ask for a list of fonts matching a generic type (sans-serif, serif, monospace), it always returns the complete list of fonts, no matter what. Part of the problem (I believe) is that X doesn't really give you a good way to differentiate between serif and sans serif fonts (monospace ones are easy, as they are marked as m in the eleventh part of the XLFD). The code in classic mozilla picked out the monospace fonts, as can be seen here: http://lxr.mozilla.org/classic/source/cmd/xfe/fonts.c#4179 However the code in the new code doesn't seem to use the passed generic font name passed in: http://lxr.mozilla.org/seamonkey/source/gfx/src/gtk/nsFontMetricsGTK.cpp#4743 Instead, just returning every font. This is why all the font selectors in gtk mozilla have the same font names (instead of just showing monospace, or just serif or just sans-serif fonts). Possibly the gtk2 port will be able to do a better job, getting the font information from the pango or Xft libraries. For now, it should at least be possible to distinguish between monospace and other fonts though. I would recommend moving it back to XP Widgets component.
Of the 3 people who seem to have made substantive code changes to the code in that file, 2 (yokoyama and ftang) are i18n. The third is Brian Stell, who is cced on this bug. In general, i18n handles all the font stuff...
> The font selectors in Netscape 4.x's preferences page correctly identified > monospace fonts vs proportional ones, so this is a regression. Has this ever worked in moz/ns6x? As far as I remember Erik never implemented that code.
over to shanjian
Assignee: yokoyama → shanjian
Keywords: intl
QA Contact: ruixu → ylong
accepted.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.1
shanjian is no longer working on mozilla for 2 years and these bugs are still here. Mark them won't fix. If you want to reopen it, find a good owner first.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → WONTFIX
Mass Reassign Please excuse the spam
Assignee: shanjian → nobody
Mass Re-opening Bugs Frank Tang Closed on Wensday March 02 for no reason, all the spam is his fault feel free to tar and feather him
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Reassigning Franks old bugs to Jungshik Shin for triage - Sorry for spam
Assignee: nobody → jshin1987
Status: REOPENED → NEW
These are my two cents regarding font enumerator. I found that when i use bitmapped fonts (no XFT) i can't find iso10646-1 encoded fonts when i select 'Western' languages in Edit|Preferences|Appearance|Fonts. I use: Mozilla 1.7.5 Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041221 straight from the Slackware package.
QA Contact: amyy → i18n
This happens on OS X as well (OS X 10.5.7), with Firefox 3.0.13

The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.

Assignee: jshin1987 → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.