Mercurial > emacs
comparison 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 |
comparison
equal
deleted
inserted
replaced
57632:ffffcbeaddac | 57633:ead4249849ac |
---|---|
598 #ifdef HAVE_X_I18N | 598 #ifdef HAVE_X_I18N |
599 /* Input context (currently, this means Compose key handler setup). */ | 599 /* Input context (currently, this means Compose key handler setup). */ |
600 XIC xic; | 600 XIC xic; |
601 XIMStyle xic_style; | 601 XIMStyle xic_style; |
602 XFontSet xic_xfs; | 602 XFontSet xic_xfs; |
603 char *xic_base_fontname; | |
603 #endif | 604 #endif |
604 | 605 |
605 /* Relief GCs, colors etc. */ | 606 /* Relief GCs, colors etc. */ |
606 struct relief | 607 struct relief |
607 { | 608 { |
732 #define FRAME_XIC(f) ((f)->output_data.x->xic) | 733 #define FRAME_XIC(f) ((f)->output_data.x->xic) |
733 #define FRAME_X_XIM(f) (FRAME_X_DISPLAY_INFO (f)->xim) | 734 #define FRAME_X_XIM(f) (FRAME_X_DISPLAY_INFO (f)->xim) |
734 #define FRAME_X_XIM_STYLES(f) (FRAME_X_DISPLAY_INFO (f)->xim_styles) | 735 #define FRAME_X_XIM_STYLES(f) (FRAME_X_DISPLAY_INFO (f)->xim_styles) |
735 #define FRAME_XIC_STYLE(f) ((f)->output_data.x->xic_style) | 736 #define FRAME_XIC_STYLE(f) ((f)->output_data.x->xic_style) |
736 #define FRAME_XIC_FONTSET(f) ((f)->output_data.x->xic_xfs) | 737 #define FRAME_XIC_FONTSET(f) ((f)->output_data.x->xic_xfs) |
738 #define FRAME_XIC_BASE_FONTNAME(f) ((f)->output_data.x->xic_base_fontname) | |
737 | 739 |
738 /* Value is the smallest width of any character in any font on frame F. */ | 740 /* Value is the smallest width of any character in any font on frame F. */ |
739 | 741 |
740 #define FRAME_SMALLEST_CHAR_WIDTH(F) \ | 742 #define FRAME_SMALLEST_CHAR_WIDTH(F) \ |
741 FRAME_X_DISPLAY_INFO(F)->smallest_char_width | 743 FRAME_X_DISPLAY_INFO(F)->smallest_char_width |
1041 extern void x_set_border_pixel P_ ((struct frame *, int)); | 1043 extern void x_set_border_pixel P_ ((struct frame *, int)); |
1042 extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object)); | 1044 extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object)); |
1043 extern unsigned char * x_encode_text P_ ((Lisp_Object, Lisp_Object, int, | 1045 extern unsigned char * x_encode_text P_ ((Lisp_Object, Lisp_Object, int, |
1044 int *, int *)); | 1046 int *, int *)); |
1045 extern void x_implicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object)); | 1047 extern void x_implicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object)); |
1048 extern void xic_free_xfontset P_ ((struct frame *)); | |
1046 extern void create_frame_xic P_ ((struct frame *)); | 1049 extern void create_frame_xic P_ ((struct frame *)); |
1047 extern void destroy_frame_xic P_ ((struct frame *)); | 1050 extern void destroy_frame_xic P_ ((struct frame *)); |
1048 extern void xic_set_preeditarea P_ ((struct window *, int, int)); | 1051 extern void xic_set_preeditarea P_ ((struct window *, int, int)); |
1049 extern void xic_set_statusarea P_ ((struct frame *)); | 1052 extern void xic_set_statusarea P_ ((struct frame *)); |
1050 extern void xic_set_xfontset P_ ((struct frame *, char *)); | 1053 extern void xic_set_xfontset P_ ((struct frame *, char *)); |