*** empty log message ***
authorpcg <pcg>
Fri, 5 Mar 2004 05:52:02 +0000 (05:52 +0000)
committerpcg <pcg>
Fri, 5 Mar 2004 05:52:02 +0000 (05:52 +0000)
src/defaultfont.C

index 9c848ee410fd1bcc05beab4e8769a7bd48c5e29e..3603320c6429a55dc9ee8ee56de689419f622838 100644 (file)
@@ -354,9 +354,17 @@ rxvt_font_default::draw (rxvt_drawable &d, int x, int y,
         }
       else if (IS_COMPOSE (t) && (cc = rxvt_composite[t]))
         {
-          (*fs)[fs->find_font (cc->c1)]->draw (d, x, y, &(t = cc->c1), 1, fg, bg);
+          rxvt_font *f1 = (*fs)[fs->find_font (cc->c1)];
+          f1->draw (d, x, y, &(t = cc->c1), 1, fg, bg);
           if (cc->c2 != NOCHAR)
-            (*fs)[fs->find_font (cc->c2)]->draw (d, x, y, &(t = cc->c2), 1, fg, -1);
+            {
+              // prefer font of first character, for no good reasons
+              rxvt_font *f2 = f1->has_codepoint (cc->c2)
+                              ? f1
+                              : (*fs)[fs->find_font (cc->c2)];
+
+              f2->draw (d, x, y, &(t = cc->c2), 1, fg, -1);
+            }
         }
       else
         switch (t)