-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: rxvt-unicode-sixel
action: commit
revision:
path_from:
revision_from: b76bb84f873d79aafa9c4a677f2daaeda87c95e7:
path_to:
revision_to:

git.thebackupbox.net

rxvt-unicode-sixel

git://git.thebackupbox.net/rxvt-unicode-sixel

commit b76bb84f873d79aafa9c4a677f2daaeda87c95e7
Author: Marc Lehmann <schmorp@schmorp.de>
Date:   Fri Mar 5 04:43:41 2004 +0000

    *** empty log message ***

diff --git a/src/defaultfont.C b/src/defaultfont.C

index 3ccc98d8c4eddea114e7d38e89e63c00c6b5ae5e..

index ..9c848ee410fd1bcc05beab4e8769a7bd48c5e29e 100644

--- a/src/defaultfont.C
+++ b/src/defaultfont.C
@@ -313,6 +313,7 @@ rxvt_font_default::draw (rxvt_drawable &d, int x, int y,

   while (len--)
     {
+      compose_char *cc;
       text_t t = *text++;

       // is it in our linedrawing table?
@@ -351,10 +352,11 @@ rxvt_font_default::draw (rxvt_drawable &d, int x, int y,
           gcv.line_width = 0;
           XChangeGC (d.display->display, GC, GCLineWidth, &gcv);
         }
-      else if (IS_COMPOSE (t))
+      else if (IS_COMPOSE (t) && (cc = rxvt_composite[t]))
         {
-          const compose_char &cc = rxvt_composite[t];
-          (void)0; //D ADD pseudo handling here
+          (*fs)[fs->find_font (cc->c1)]->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);
         }
       else
         switch (t)
@@ -1028,6 +1030,7 @@ rxvt_fontset::new_font (const char *name, codeset cs)
   else
     f = new rxvt_font_x11;

+  f->fs = this;
   f->set_term (r);
   f->set_name (strdup (name));

diff --git a/src/defaultfont.h b/src/defaultfont.h

index 8efbdb0b172dc99e3979d6648a727ea9e85884d3..

index ..f588c60fdec48227da76867d00761c7a2aa29f02 100644

--- a/src/defaultfont.h
+++ b/src/defaultfont.h
@@ -57,6 +57,7 @@ struct rxvt_drawable {
 };

 struct rxvt_font {
+  struct rxvt_fontset *fs;
   // managed by the fontset
   rxvt_t r;
   void set_term (rxvt_t r) { this->r = r; }

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 10:00:56 2024