Owen Taylor wrote: 
> I'm certainly not certain that we shouldn't set up the font sets that
> way, but some reasons I didn't suggest it were:
> 
>  - There are some strange effects that occur for the user if you 
>    list all the font encodings individually with iso10646-1 last. 
> 
>    An important one is, if I have, as my fontset specification:
> 
>     -*-arial-medium-r-normal--*-140-*-*-p-*-*-*,
>     -*-helvetica-medium-r-normal--*-140-*-*-p-*-*-*
> 
>    And (for the sake of discussion) say that I have arial in only
>    iso10646-1, but I have helvetica in both iso10646-1 and 
>    iso8859-1. Then I'll get Helvetica for iso8859-1 characters,
>    not Arial.

  Nothing strange.  A fontset creation procedure applies a basename list
to each charset separately and chooses the first matching font, i.e. the
font with the first basename from the list for which a matched font exists.
  Thus in your example the creation procedure skips an arial for the iso8859-1
encoding and chooses a Helvetica font for it but for the iso10646-1 encoding
the procedure can find the arial font and shooses it for the iso10646-1.
  On the other hand if your encoding list contains the iso8859-1 encoding
before the iso10646-1 a DrawString procedure tries convert the string to
the iso8859-1 (and draw it with chosen font) and only if this attempt fails
it tries other encodings.

>  - I've had performance problems with putting long lists of fonts
>    into XLC_LOCALE, especially if the lists of fonts includes CJK fonts. 
>    It's possible that there is something broken with the on-demand
>    loading implementation in the XFree86 Xlib.

  I think the Xlib itself is not broken.  The thing is the on-demand loading
means that the creation procedure uses the XListFontsWithInfo call instead
of the XLoadFont.  But the XListFontsWithInfo needs to open and read the font
file (unlike the XListFont which need not) and it cause the dealy you see.
  It seems this 'font info' isn't used by the Xlib itself but can be requested
by an application using the XFontsOfFontSet call.
 
>  - It's not clear to me where you should stop in listing character
>    sets if you list individual character sets. XFree86 has 38
>    different font encodings listed in xc/fonts/encodings. 
> 
>    Even if on-demand loading is working, there are going to be 
>    performance for having too big a list of character sets in
>    the XLC_LOCALE.

  It means we shouldn't use one XLC_LOCALE for all *.UTF-8 locales but
a separate XLC_LOCALE file for each one with a small list of 'native'
encodings and the iso10646-1 as the fallback.
-- 
 Ivan U. Pascal         |   e-mail: [EMAIL PROTECTED]
   Administrator of     |   Tomsk State University
     University Network |       Tomsk, Russia
_______________________________________________
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n

Reply via email to