… | |
… | |
448 | |
448 | |
449 | text_t chrs[2]; |
449 | text_t chrs[2]; |
450 | chrs [1] = NOCHAR; |
450 | chrs [1] = NOCHAR; |
451 | |
451 | |
452 | *chrs = cc->c1; |
452 | *chrs = cc->c1; |
453 | rxvt_font *f1 = (*fs)[fs->find_font (cc->c1)]; |
453 | rxvt_font *f1 = fs->get (cc->c1); |
454 | f1->draw (d, x, y, chrs, width, fg, bg); |
454 | f1->draw (d, x, y, chrs, width, fg, bg); |
455 | |
455 | |
456 | if (cc->c2 != NOCHAR) |
456 | if (cc->c2 != NOCHAR) |
457 | { |
457 | { |
458 | bool careful; |
458 | bool careful; |
459 | |
459 | |
460 | // prefer font of first character, for no good reasons |
460 | // prefer font of first character, for no good reasons |
461 | *chrs = cc->c2; |
461 | *chrs = cc->c2; |
462 | rxvt_font *f2 = (f1->has_char (cc->c2, 0, careful) && !careful) |
462 | rxvt_font *f2 = (f1->has_char (cc->c2, 0, careful) && !careful) |
463 | ? f1 |
463 | ? f1 |
464 | : (*fs)[fs->find_font (cc->c2)]; |
464 | : fs->get (cc->c2); |
465 | |
465 | |
466 | f2->draw (d, x, y, chrs, width, fg, Color_none); |
466 | f2->draw (d, x, y, chrs, width, fg, Color_none); |
467 | } |
467 | } |
468 | } |
468 | } |
469 | #endif |
469 | #endif |
… | |
… | |
1586 | |
1586 | |
1587 | return -1; |
1587 | return -1; |
1588 | } |
1588 | } |
1589 | |
1589 | |
1590 | int |
1590 | int |
1591 | rxvt_fontset::find_font (unicode_t unicode) |
1591 | rxvt_fontset::find_font_ (unicode_t unicode) |
1592 | { |
1592 | { |
1593 | if (unicode >= 1<<20) |
1593 | if (unicode >= 1<<20) |
1594 | return 0; |
1594 | return 0; |
1595 | |
1595 | |
1596 | unicode_t hi = unicode >> 8; |
1596 | unicode_t hi = unicode >> 8; |
… | |
… | |
1709 | } |
1709 | } |
1710 | |
1710 | |
1711 | return i; |
1711 | return i; |
1712 | } |
1712 | } |
1713 | |
1713 | |
|
|
1714 | int |
|
|
1715 | rxvt_fontset::find_font (unicode_t unicode) |
|
|
1716 | { |
|
|
1717 | return min<int> (fontCount, find_font_ (unicode)); |
|
|
1718 | } |
1714 | |
1719 | |
1715 | |
1720 | |
|
|
1721 | |