… | |
… | |
39 | (prop)->slant >= rxvt_fontprop::italic \ |
39 | (prop)->slant >= rxvt_fontprop::italic \ |
40 | ? ((prop)->width * (wcw) * MAX_OVERLAP_ITALIC + 7) >> 3 \ |
40 | ? ((prop)->width * (wcw) * MAX_OVERLAP_ITALIC + 7) >> 3 \ |
41 | : ((prop)->width * (wcw) * MAX_OVERLAP_ROMAN + 7) >> 3 \ |
41 | : ((prop)->width * (wcw) * MAX_OVERLAP_ROMAN + 7) >> 3 \ |
42 | )) |
42 | )) |
43 | |
43 | |
44 | const struct rxvt_fallback_font { |
44 | static const struct rxvt_fallback_font { |
45 | codeset cs; |
45 | codeset cs; |
46 | const char *name; |
46 | const char *name; |
47 | } fallback_fonts[] = { |
47 | } fallback_fonts[] = { |
48 | { CS_ISO8859_1, "-*-*-*-r-*--*-*-*-*-c-*-iso8859-1" }, |
48 | { CS_ISO8859_1, "-*-*-*-r-*--*-*-*-*-c-*-iso8859-1" }, |
49 | { CS_ISO8859_15, "-*-*-*-r-*--*-*-*-*-c-*-iso8859-15" }, |
49 | { CS_ISO8859_15, "-*-*-*-r-*--*-*-*-*-c-*-iso8859-15" }, |
… | |
… | |
159 | '0', '1', '8', 'a', 'd', 'x', 'm', 'y', 'g', 'W', 'X', '\'', '_', |
159 | '0', '1', '8', 'a', 'd', 'x', 'm', 'y', 'g', 'W', 'X', '\'', '_', |
160 | 0x00cd, 0x00d5, 0x0114, 0x0177, 0x0643, // ÍÕĔŷﻙ |
160 | 0x00cd, 0x00d5, 0x0114, 0x0177, 0x0643, // ÍÕĔŷﻙ |
161 | 0x304c, 0x672c, // が本 |
161 | 0x304c, 0x672c, // が本 |
162 | }; |
162 | }; |
163 | |
163 | |
164 | #define NUM_EXTENT_TEST_CHARS (sizeof (extent_test_chars) / sizeof (extent_test_chars[0])) |
|
|
165 | |
|
|
166 | #define dTermDisplay Display *disp = term->dpy |
164 | #define dTermDisplay Display *disp = term->dpy |
167 | #define dTermGC GC gc = term->gc |
165 | #define dTermGC GC gc = term->gc |
168 | |
166 | |
169 | ///////////////////////////////////////////////////////////////////////////// |
167 | ///////////////////////////////////////////////////////////////////////////// |
170 | |
168 | |
… | |
… | |
918 | } |
916 | } |
919 | #endif |
917 | #endif |
920 | |
918 | |
921 | width = 1; |
919 | width = 1; |
922 | |
920 | |
923 | for (uint16_t *t = extent_test_chars + NUM_EXTENT_TEST_CHARS; t-- > extent_test_chars; ) |
921 | for (uint16_t *t = extent_test_chars + ARRAY_LENGTH(extent_test_chars); t-- > extent_test_chars; ) |
924 | { |
922 | { |
925 | if (FROM_UNICODE (cs, *t) == NOCHAR) |
923 | if (FROM_UNICODE (cs, *t) == NOCHAR) |
926 | continue; |
924 | continue; |
927 | |
925 | |
928 | // ignore characters we wouldn't use anyways |
926 | // ignore characters we wouldn't use anyways |
… | |
… | |
1236 | |
1234 | |
1237 | XftUnlockFace (f); |
1235 | XftUnlockFace (f); |
1238 | |
1236 | |
1239 | int glheight = height; |
1237 | int glheight = height; |
1240 | |
1238 | |
1241 | for (uint16_t *t = extent_test_chars + NUM_EXTENT_TEST_CHARS; t-- > extent_test_chars; ) |
1239 | for (uint16_t *t = extent_test_chars + ARRAY_LENGTH(extent_test_chars); t-- > extent_test_chars; ) |
1242 | { |
1240 | { |
1243 | FcChar16 ch = *t; |
1241 | FcChar16 ch = *t; |
1244 | |
1242 | |
1245 | if (cs != CS_UNICODE |
1243 | if (cs != CS_UNICODE |
1246 | && ch > 0x100 |
1244 | && ch > 0x100 |