emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MULE shows gibberish; now what?


From: Stefan Monnier
Subject: Re: MULE shows gibberish; now what?
Date: Wed, 09 Oct 2002 20:55:25 -0400

> As I didn't receive the original message from Ilya, this is my guess.
> The current problem is:
> 
> (1) Now people install CP-1252 fonts and give alias names "*-iso8859-5".
> (2) Emacs finds such a font for displaying cyrillic-iso8859-5 chars.
> 
> Correct?

Right on!

> Then, if such a font can be distinguished from correct
> iso8859-5 fonts (perhaps, by family or foundary fields), the
> easiest solution is to ignore such a font by setting the
> variable `face-ignored-fonts' properly.

Ah, I didn't remember that one.  It sounds just perfect.

> > It could also look at the CHARSET_REGISTRY and CHARSET_ENCODING property
> > of the font (rather than assuming it's the same as in the fontname) ?
> 
> To get those properties, we must call XListFontsWithInfo
> which, I think, is very slow compared with XListFonts.
> Perhaps, we must introduce a variable, for instance,
> `unreliable-font-registry-encoding-name-list, use
> XListFontsWithInfo only to find a font whose
> registry-encoding matches with this variable.

I was indeed thinking that it would probably be too costly preformancewise.
Although maybe we could do a sanity-check late in the game (after we have
settled on a particular font) and if the sanity check fails, we add
the fontname to face-ignored-fonts and try again.

> > BTW, I agree that the fontset management could be made simpler (I think
> > it's not just a question of the doc being dense or incomplete).
> > Especially in your case, there should be some way to say something like:
> >    (fontset-prefer-font 'cyrillic-iso8859-5 "-etl-fixed-*-iso8859-5")
> 
> Is that intention different from this?
> 
> (dolist (fontset (fontest-list))
>   (set-fontset-font fontset 'cyrillic-iso8859-5
>                   '("etl-fixed" . "iso8859-5")))

No, that sounds just right.  But I think such things should be
documented in the Emacs Manual (and thus understandable to someone
who's not proficient in ELisp).



        Stefan





reply via email to

[Prev in Thread] Current Thread [Next in Thread]