Keith Packard <[EMAIL PROTECTED]> writes:
> > b) Call FcFontSetSort() separately for each language, and somehow > > influence the sort order; what we'd like to do is make including > > the specified language tag have an weight: > > Language tags are currently given greater weight than family names, but > given two families which both support the requested language tag, they > will be ordered by family name. > > This algorithm is used by Mozilla and works reasonably well, as you say > there are still some significant issues. One important detail -- language > tags are only used when attempting to disambiguate fonts with Han glyphs; > in all other cases, language tags are not passed to the matching routine > at all. Hmmm, limiting font tag usage to CJK definitely would reduce the possible harm that could result; and probably makes sense. (At least initially.) Pango would simply contain a small table mapping language tags onto FC_LANG attributes to add. > > c) Pango adds the language tag to the pattern it feeds to > > FcConfigSubstitute, and fonts.conf does pattern matching magic > > to provide a different "Sans-serif" alias for every language. > > > > Can't say I like this too much: > > > > - Requires lots of careful configuration (more than just > > slapping extra fonts into "Sans-serif".) Configuration is bad. > > I don't think it requires careful configuration; the config file just > needs to list all of the fonts that are 'sans-serif' in the definition of > the 'sans-serif' alias. Once placed in the pattern, the language tag will > force the appropriate one to be selected in preference to the others, and > the preference order in the sans-serif alias definition will refine the > selection. > > Do you think this would work: > > if (language_tag == Han language) > PatternAddInteger (FC_LANG, language_tag) > FcConfigSubstitute > FcFontSetSort This is fine; I thought you were suggesting something that would involve conditionalizing on language in fonts.conf. > with the config file containing: > > <alias> > <family>sans-serif</family> > <prefer> > <family>MS Gothic</family> > <family>AR PL KaitiM Big5</family> > <family>Norasi</family> > <family>Garuda</family> > <family>Arial Unicode MS</family> > </prefer> > </alias> > > Ask for "sans\-serif:lang=traditionalchinese" and this will pick > "AR PL KaitiM Big5" instead of "Arial Unicode MS". I'm worried that with this same configuration file We have: - User is running in ja_JP locale so the default language tag for Pango is 'ja-jp' - They pull up a Traditional Chinese document (not itself tagged) in their word processor and see that it is a mix of MS Gothic and AR PL KaitiM Big5. - They select "AR PL KaitiM Big5" from the font menu. - The display doesn't change because Xft is still finding MS Gothic which matches the language tag. If the user has explicitely chosen a font, and it has the characters, I think there is an obligation to use it. Regards, Owen _______________________________________________ Fonts mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/fonts