Mercurial > emacs
changeset 90547:51be6e7b3881
(Qfont_backend): New variable.
(frame_parms): New element for font-backend.
(x_set_font_backend): New function.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Wed, 26 Jul 2006 01:16:27 +0000 |
parents | 5fd517758629 |
children | 7cc05972a79e |
files | src/frame.c |
diffstat | 1 files changed, 39 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/frame.c Wed Jul 26 01:15:30 2006 +0000 +++ b/src/frame.c Wed Jul 26 01:16:27 2006 +0000 @@ -112,6 +112,9 @@ Lisp_Object Qtty_color_mode; Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth; +#ifdef USE_FONT_BACKEND +Lisp_Object Qfont_backend; +#endif /* USE_FONT_BACKEND */ Lisp_Object Qface_set_after_frame_default; @@ -2587,6 +2590,9 @@ {"right-fringe", &Qright_fringe}, {"wait-for-wm", &Qwait_for_wm}, {"fullscreen", &Qfullscreen}, +#ifdef USE_FONT_BACKEND + {"font-backend", &Qfont_backend} +#endif /* USE_FONT_BACKEND */ }; #ifdef HAVE_WINDOW_SYSTEM @@ -3167,6 +3173,39 @@ } +#ifdef USE_FONT_BACKEND +void +x_set_font_backend (f, new_value, old_value) + struct frame *f; + Lisp_Object new_value, old_value; +{ + Lisp_Object frame; + + if (! NILP (new_value) + && !CONSP (new_value)) + { + char *p0, *p1; + + CHECK_STRING (new_value); + p0 = p1 = SDATA (new_value); + new_value = Qnil; + while (*p0) + { + while (*p1 && *p1 != ',') p1++; + if (p0 < p1) + new_value = Fcons (Fintern (make_string (p0, p1 - p0), Qnil), + new_value); + if (*p1) + p1++; + p0 = p1; + } + } + + font_update_drivers (f, new_value, FRAME_FONT_OBJECT (f)); +} +#endif /* USE_FONT_BACKEND */ + + void x_set_fringe_width (f, new_value, old_value) struct frame *f;