1929 |
char *base_fontname; |
char *base_fontname; |
1930 |
{ |
{ |
1931 |
XFontSet xfs = NULL; |
XFontSet xfs = NULL; |
1932 |
char **missing_list; |
char **missing_list = NULL; |
1933 |
int missing_count; |
int missing_count; |
1934 |
char *def_string; |
char *def_string; |
1935 |
Lisp_Object rest, frame; |
Lisp_Object rest, frame; |
1940 |
struct frame *cf = XFRAME (frame); |
struct frame *cf = XFRAME (frame); |
1941 |
if (cf != f && FRAME_LIVE_P (f) && FRAME_X_P (cf) |
if (cf != f && FRAME_LIVE_P (f) && FRAME_X_P (cf) |
1942 |
&& FRAME_X_DISPLAY_INFO (cf) == FRAME_X_DISPLAY_INFO (f) |
&& FRAME_X_DISPLAY_INFO (cf) == FRAME_X_DISPLAY_INFO (f) |
1943 |
|
&& FRAME_XIC_BASE_FONTNAME (cf) |
1944 |
&& !strcmp (FRAME_XIC_BASE_FONTNAME (cf), base_fontname)) |
&& !strcmp (FRAME_XIC_BASE_FONTNAME (cf), base_fontname)) |
1945 |
{ |
{ |
1946 |
xfs = FRAME_XIC_FONTSET (cf); |
xfs = FRAME_XIC_FONTSET (cf); |
1949 |
} |
} |
1950 |
|
|
1951 |
if (!xfs) |
if (!xfs) |
1952 |
/* New fontset. */ |
{ |
1953 |
xfs = XCreateFontSet (FRAME_X_DISPLAY (f), |
/* New fontset. */ |
1954 |
base_fontname, &missing_list, |
xfs = XCreateFontSet (FRAME_X_DISPLAY (f), |
1955 |
&missing_count, &def_string); |
base_fontname, &missing_list, |
1956 |
if (missing_list) |
&missing_count, &def_string); |
1957 |
XFreeStringList (missing_list); |
if (missing_list) |
1958 |
|
XFreeStringList (missing_list); |
1959 |
|
} |
1960 |
|
|
1961 |
if (FRAME_XIC_BASE_FONTNAME (f)) |
if (FRAME_XIC_BASE_FONTNAME (f)) |
1962 |
xfree (FRAME_XIC_BASE_FONTNAME (f)); |
xfree (FRAME_XIC_BASE_FONTNAME (f)); |