diff src/xterm.h @ 57633:ead4249849ac

* xterm.h (x_output): New member `xic_base_fontname'. (FRAME_XIC_BASE_FONTNAME): New macro. (xic_free_xfontset): Declare. * xfns.c (xic_create_xfontset): Share fontsets between frames based on base_fontname. (xic_free_xfontset): New function. (free_frame_xic): Use it. (xic_set_xfontset): Ditto. * xterm.c (xim_destroy_callback): Ditto.
author Jan Djärv <jan.h.d@swipnet.se>
date Thu, 21 Oct 2004 18:38:58 +0000
parents 6178d4e9b661
children 328dc625a959 ae7fab96922c f3ec05478165
line wrap: on
line diff
--- a/src/xterm.h	Thu Oct 21 15:41:15 2004 +0000
+++ b/src/xterm.h	Thu Oct 21 18:38:58 2004 +0000
@@ -600,6 +600,7 @@
   XIC xic;
   XIMStyle xic_style;
   XFontSet xic_xfs;
+  char *xic_base_fontname;
 #endif
 
   /* Relief GCs, colors etc.  */
@@ -734,6 +735,7 @@
 #define FRAME_X_XIM_STYLES(f) (FRAME_X_DISPLAY_INFO (f)->xim_styles)
 #define FRAME_XIC_STYLE(f) ((f)->output_data.x->xic_style)
 #define FRAME_XIC_FONTSET(f) ((f)->output_data.x->xic_xfs)
+#define FRAME_XIC_BASE_FONTNAME(f) ((f)->output_data.x->xic_base_fontname)
 
 /* Value is the smallest width of any character in any font on frame F.  */
 
@@ -1043,6 +1045,7 @@
 extern unsigned char * x_encode_text P_ ((Lisp_Object, Lisp_Object, int,
 					  int *, int *));
 extern void x_implicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object));
+extern void xic_free_xfontset P_ ((struct frame *));
 extern void create_frame_xic P_ ((struct frame *));
 extern void destroy_frame_xic P_ ((struct frame *));
 extern void xic_set_preeditarea P_ ((struct window *, int, int));