2005 |
else |
else |
2006 |
{ |
{ |
2007 |
int len; |
int len; |
2008 |
char *p1 = NULL; |
char *p1 = NULL, *p2 = NULL; |
2009 |
char *font_allcs = NULL; |
char *font_allcs = NULL; |
2010 |
char *font_allfamilies = NULL; |
char *font_allfamilies = NULL; |
2011 |
|
char *font_all = NULL; |
2012 |
char *allcs = "*-*-*-*-*-*-*"; |
char *allcs = "*-*-*-*-*-*-*"; |
2013 |
char *allfamilies = "-*-*-"; |
char *allfamilies = "-*-*-"; |
2014 |
|
char *all = "*-*-*-*-"; |
2015 |
|
|
2016 |
for (i = 0, p = base_fontname; i < 8; p++) |
for (i = 0, p = base_fontname; i < 8; p++) |
2017 |
{ |
{ |
2020 |
i++; |
i++; |
2021 |
if (i == 3) |
if (i == 3) |
2022 |
p1 = p + 1; |
p1 = p + 1; |
2023 |
|
else if (i == 7) |
2024 |
|
p2 = p + 1; |
2025 |
} |
} |
2026 |
} |
} |
2027 |
/* Build the font spec that matches all charsets. */ |
/* Build the font spec that matches all charsets. */ |
2036 |
font_allfamilies = (char *) alloca (len); |
font_allfamilies = (char *) alloca (len); |
2037 |
bzero (font_allfamilies, len); |
bzero (font_allfamilies, len); |
2038 |
strcpy (font_allfamilies, allfamilies); |
strcpy (font_allfamilies, allfamilies); |
2039 |
bcopy (p1, font_allfamilies + (strlen (allfamilies)), p - p1); |
bcopy (p1, font_allfamilies + strlen (allfamilies), p - p1); |
2040 |
strcat (font_allfamilies, allcs); |
strcat (font_allfamilies, allcs); |
2041 |
|
|
2042 |
|
/* Build the font spec that matches all. */ |
2043 |
|
len = p - p2 + strlen (allcs) + strlen (all) + strlen (allfamilies) + 1; |
2044 |
|
font_all = (char *) alloca (len); |
2045 |
|
bzero (font_all, len); |
2046 |
|
strcpy (font_all, allfamilies); |
2047 |
|
strcat (font_all, all); |
2048 |
|
bcopy (p2, font_all + strlen (all) + strlen (allfamilies), p - p2); |
2049 |
|
strcat (font_all, allcs); |
2050 |
|
|
2051 |
/* Build the actual font set name. */ |
/* Build the actual font set name. */ |
2052 |
len = strlen (base_fontname) + strlen (font_allcs) |
len = strlen (base_fontname) + strlen (font_allcs) |
2053 |
+ strlen (font_allfamilies) + 4; |
+ strlen (font_allfamilies) + strlen (font_all) + 5; |
2054 |
fontsetname = xmalloc (len); |
fontsetname = xmalloc (len); |
2055 |
bzero (fontsetname, len); |
bzero (fontsetname, len); |
2056 |
strcpy (fontsetname, base_fontname); |
strcpy (fontsetname, base_fontname); |
2058 |
strcat (fontsetname, font_allcs); |
strcat (fontsetname, font_allcs); |
2059 |
strcat (fontsetname, sep); |
strcat (fontsetname, sep); |
2060 |
strcat (fontsetname, font_allfamilies); |
strcat (fontsetname, font_allfamilies); |
2061 |
|
strcat (fontsetname, sep); |
2062 |
|
strcat (fontsetname, font_all); |
2063 |
} |
} |
2064 |
} |
} |
2065 |
if (motif) |
if (motif) |