Mercurial > emacs
changeset 26875:d6aa11f2a4af
(choose_face_fontset_font): Delete codes for a
composite character.
(realize_x_face): Likewise. Change a place to set local variable
`f' to avoid a bug of GCC 2.8.1 on Solaris.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Wed, 15 Dec 1999 00:24:07 +0000 |
parents | e45f9a84fca0 |
children | 578acd06aa3b |
files | src/xfaces.c |
diffstat | 1 files changed, 18 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xfaces.c Wed Dec 15 00:23:27 1999 +0000 +++ b/src/xfaces.c Wed Dec 15 00:24:07 1999 +0000 @@ -96,12 +96,11 @@ different charsets, different realized faces are needed to display them. - Except for composite characters (CHARSET_COMPOSITION), faces are - always realized for a specific character set and contain a specific - font, even if the face being realized specifies a fontset (see - `font selection' below). The reason is that the result of the new - font selection stage is better than what can be done with - statically defined font name patterns in fontsets. + Faces are always realized for a specific character set and contain + a specific font, even if the face being realized specifies a + fontset (see `font selection' below). The reason is that the + result of the new font selection stage is better than what can be + done with statically defined font name patterns in fontsets. Unibyte text. @@ -5487,10 +5486,10 @@ /* Choose a font to use on frame F to display CHARSET using FONTSET with Lisp face attributes specified by ATTRS. CHARSET may be any - valid charset except CHARSET_COMPOSITION. CHARSET < 0 means - unibyte text. If the fontset doesn't contain a font pattern for - charset, use the pattern for CHARSET_ASCII. Value is the font name - which is allocated from the heap and must be freed by the caller. */ + valid charset. CHARSET < 0 means unibyte text. If the fontset + doesn't contain a font pattern for charset, use the pattern for + CHARSET_ASCII. Value is the font name which is allocated from the + heap and must be freed by the caller. */ static char * choose_face_fontset_font (f, attrs, fontset, charset) @@ -5504,7 +5503,6 @@ struct font_name *fonts; int nfonts; - xassert (charset != CHARSET_COMPOSITION); xassert (fontset >= 0 && fontset < FRAME_FONTSET_DATA (f)->n_fontsets); /* For unibyte text, use the ASCII font of the fontset. Using the @@ -5819,7 +5817,7 @@ { #ifdef HAVE_X_WINDOWS struct face *face, *default_face; - struct frame *f = c->f; + struct frame *f; Lisp_Object stipple, overline, strike_through, box; Lisp_Object unibyte_registry; struct gcpro gcpro1; @@ -5839,6 +5837,7 @@ /* Allocate a new realized face. */ face = make_realized_face (attrs, charset, unibyte_registry); + f = c->f; /* Determine the font to use. Most of the time, the font will be the same as the font of the default face, so try that first. */ default_face = FACE_FROM_ID (f, DEFAULT_FACE_ID); @@ -5854,25 +5853,16 @@ } else if (charset >= 0) { - /* For all charsets except CHARSET_COMPOSITION, we use our own - font selection functions to choose a best matching font for - the specified face attributes. If the face specifies a - fontset alias name, the fontset determines the font name - pattern, otherwise we construct a font pattern from face - attributes and charset. - - If charset is CHARSET_COMPOSITION, we always construct a face - with a fontset, even if the face doesn't specify a fontset alias - (we use fontset-standard in that case). When the composite - character is displayed in xterm.c, a suitable concrete font is - loaded in x_get_char_font_and_encoding. */ + /* For all charsets, we use our own font selection functions to + choose a best matching font for the specified face + attributes. If the face specifies a fontset alias name, the + fontset determines the font name pattern, otherwise we + construct a font pattern from face attributes and charset. */ char *font_name = NULL; int fontset = face_fontset (f, attrs); - if (charset == CHARSET_COMPOSITION) - fontset = max (0, fontset); - else if (fontset < 0) + if (fontset < 0) font_name = choose_face_font (f, attrs, charset, Qnil); else { @@ -6035,7 +6025,7 @@ face->stipple = load_pixmap (f, stipple, &face->pixmap_w, &face->pixmap_h); UNGCPRO; - xassert (face->fontset < 0 || face->charset == CHARSET_COMPOSITION); + xassert (face->fontset < 0); xassert (FACE_SUITABLE_FOR_CHARSET_P (face, charset)); return face; #endif /* HAVE_X_WINDOWS */