ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvtfont.C
(Generate patch)

Comparing rxvt-unicode/src/rxvtfont.C (file contents):
Revision 1.167 by sf-exg, Mon Nov 29 12:33:22 2010 UTC vs.
Revision 1.170 by sf-exg, Thu Dec 30 01:13:24 2010 UTC

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
44const struct rxvt_fallback_font { 44static 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
792 free (fname); 790 free (fname);
793 if (replace_field (&fname, list[i], 11, '0', "0")) 791 if (replace_field (&fname, list[i], 11, '0', "0"))
794 diff += 300; // more heavily penalize what looks like scaled bitmap fonts 792 diff += 300; // more heavily penalize what looks like scaled bitmap fonts
795 } 793 }
796 794
797 if (!set_properties (p, fname)) 795 if (!set_properties (p, fname)
796 // also weed out too large fonts
797 || (prop.height != rxvt_fontprop::unset
798 && p.height > prop.height))
799 {
800 free (fname);
798 continue; 801 continue;
799 802 }
800 if (prop.height != rxvt_fontprop::unset
801 && p.height > prop.height) // weed out too large fonts
802 continue;
803 803
804 if (prop.height != rxvt_fontprop::unset) diff += (prop.height - p.height) * 128; 804 if (prop.height != rxvt_fontprop::unset) diff += (prop.height - p.height) * 128;
805 if (prop.weight != rxvt_fontprop::unset) diff += abs (prop.weight - p.weight); 805 if (prop.weight != rxvt_fontprop::unset) diff += abs (prop.weight - p.weight);
806 if (prop.slant != rxvt_fontprop::unset) diff += abs (prop.slant - p.slant); 806 if (prop.slant != rxvt_fontprop::unset) diff += abs (prop.slant - p.slant);
807 //if (prop.width != rxvt_fontprop::unset) diff += abs (prop.width - p.width); 807 //if (prop.width != rxvt_fontprop::unset) diff += abs (prop.width - p.width);
918 } 918 }
919#endif 919#endif
920 920
921 width = 1; 921 width = 1;
922 922
923 for (uint16_t *t = extent_test_chars + NUM_EXTENT_TEST_CHARS; t-- > extent_test_chars; ) 923 for (uint16_t *t = extent_test_chars + ARRAY_LENGTH(extent_test_chars); t-- > extent_test_chars; )
924 { 924 {
925 if (FROM_UNICODE (cs, *t) == NOCHAR) 925 if (FROM_UNICODE (cs, *t) == NOCHAR)
926 continue; 926 continue;
927 927
928 // ignore characters we wouldn't use anyways 928 // ignore characters we wouldn't use anyways
1236 1236
1237 XftUnlockFace (f); 1237 XftUnlockFace (f);
1238 1238
1239 int glheight = height; 1239 int glheight = height;
1240 1240
1241 for (uint16_t *t = extent_test_chars + NUM_EXTENT_TEST_CHARS; t-- > extent_test_chars; ) 1241 for (uint16_t *t = extent_test_chars + ARRAY_LENGTH(extent_test_chars); t-- > extent_test_chars; )
1242 { 1242 {
1243 FcChar16 ch = *t; 1243 FcChar16 ch = *t;
1244 1244
1245 if (cs != CS_UNICODE 1245 if (cs != CS_UNICODE
1246 && ch > 0x100 1246 && ch > 0x100

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines