[Top][All Lists]

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

Re: TUTORIAL.bg and windows-1251

From: Kenichi Handa
Subject: Re: TUTORIAL.bg and windows-1251
Date: Mon, 19 Jan 2004 09:34:05 +0900 (JST)
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.3 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI)

In article <address@hidden>, Ognyan Kulev <address@hidden> writes:
> The patch I've send you raises priority in two functions.  Actually, 
> only raising it in fontset_font_pattern gives effect.  So when run with 
> "emacs -q" and cyrillic character is being displayed, is it expected 
> that "FONTSET (fontset, c)" fails in function fontset_font_pattern, or 
> "fontset_id_valid_p (id)" is false?  One of these must fail somewhat in 
> order lookup_overriding_fontspec to be used.

Thank you!!  That question makes me realize what was wrong
in my previous code.  As I installed a fix, please try again
with the latest CVS code.

In my environment, X resource "Font" is set.  Thus, Emacs
creates a fontset "fontset-startup" from that font which
doesn't specify any font for Cyrillic.  Thus, FONTSET_REF
(fontset, c) returns nil in my case.  But, if X resource
"Font" is not set (I think it's your case), Emacs uses the
default fontset.  So, FONTSET_REF (fontset, c) returns
ISO10646-1 font for Cyrillic.  The fix is apperant as below.
It makes the logic for font finding the same as

Ken'ichi HANDA

Index: fontset.c
RCS file: /cvsroot/emacs/emacs/src/fontset.c,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -c -r1.83 -r1.84
cvs server: conflicting specifications of output style
*** fontset.c   7 Jan 2004 00:21:53 -0000       1.83
--- fontset.c   19 Jan 2004 00:22:03 -0000      1.84
*** 598,604 ****
        fontset = FONTSET_FROM_ID (id);
        xassert (!BASE_FONTSET_P (fontset));
        fontset = FONTSET_BASE (fontset);
!       elt = FONTSET_REF (fontset, c);
    if (NILP (elt))
--- 598,605 ----
        fontset = FONTSET_FROM_ID (id);
        xassert (!BASE_FONTSET_P (fontset));
        fontset = FONTSET_BASE (fontset);
!       if (! EQ (fontset, Vdefault_fontset))
!       elt = FONTSET_REF (fontset, c);
    if (NILP (elt))

reply via email to

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