… | |
… | |
346 | uint32_t *b = a + (offs & 15); |
346 | uint32_t *b = a + (offs & 15); |
347 | |
347 | |
348 | int W = r->TermWin.fwidth; |
348 | int W = r->TermWin.fwidth; |
349 | int H = r->TermWin.fheight; |
349 | int H = r->TermWin.fheight; |
350 | |
350 | |
|
|
351 | // support double-width (but not more) graphics chars |
|
|
352 | // TODO: do this outside the if/elsif.. statement for all cases |
|
|
353 | if (len && *text == NOCHAR) |
|
|
354 | W += r->TermWin.fwidth; |
|
|
355 | |
351 | int x_[16]; |
356 | int x_[16]; |
352 | int y_[16]; |
357 | int y_[16]; |
353 | |
358 | |
354 | for (int i = 0; i <= 8; i++) |
359 | for (int i = 0; i <= 8; i++) |
355 | { |
360 | { |
… | |
… | |
692 | { |
697 | { |
693 | rxvt_fontprop p; |
698 | rxvt_fontprop p; |
694 | char fname[1024]; |
699 | char fname[1024]; |
695 | |
700 | |
696 | int diff = 0; |
701 | int diff = 0; |
697 | |
702 | |
698 | if (replace_field (fname, list[i], 6, '0', field_str)) |
703 | if (replace_field (fname, list[i], 6, '0', field_str)) |
699 | diff += 10; // slightly penalize scalable fonts |
704 | diff += 10; // slightly penalize scalable fonts |
700 | |
705 | |
701 | if (!set_properties (p, fname)) |
706 | if (!set_properties (p, fname)) |
702 | continue; |
707 | continue; |
… | |
… | |
1056 | return false; |
1061 | return false; |
1057 | |
1062 | |
1058 | FcValue v; |
1063 | FcValue v; |
1059 | |
1064 | |
1060 | if (prop.height != rxvt_fontprop::unset |
1065 | if (prop.height != rxvt_fontprop::unset |
1061 | && FcPatternGet (p, FC_PIXEL_SIZE, 0, &v) != FcResultMatch) |
1066 | || (FcPatternGet (p, FC_PIXEL_SIZE, 0, &v) != FcResultMatch |
|
|
1067 | && FcPatternGet (p, FC_SIZE, 0, &v) != FcResultMatch)) |
1062 | FcPatternAddInteger (p, FC_PIXEL_SIZE, prop.height); |
1068 | FcPatternAddInteger (p, FC_PIXEL_SIZE, prop.height); |
1063 | |
1069 | |
1064 | if (prop.weight != rxvt_fontprop::unset |
1070 | if (prop.weight != rxvt_fontprop::unset |
1065 | && FcPatternGet (p, FC_WEIGHT, 0, &v) != FcResultMatch) |
1071 | && FcPatternGet (p, FC_WEIGHT, 0, &v) != FcResultMatch) |
1066 | FcPatternAddInteger (p, FC_WEIGHT, prop.weight); |
1072 | FcPatternAddInteger (p, FC_WEIGHT, prop.weight); |