-- 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: 502a83757c6c85781a13cbebad5ab52617019919:
path_to:
revision_to:

git.thebackupbox.net

rxvt-unicode-sixel

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

commit 502a83757c6c85781a13cbebad5ab52617019919
Author: Marc Lehmann <schmorp@schmorp.de>
Date:   Mon Jan 30 04:53:30 2006 +0000

    *** empty log message ***

diff --git a/Changes b/Changes

index b489557de628ff9fb446f2456b7a8fa7eca3aea6..

index ..cfcc8b76ce60edf9666ed64772c284bf75ee85cd 100644

--- a/Changes
+++ b/Changes
@@ -11,19 +11,7 @@ WISH: anyevent mouse notification / manage MotionMask better.
 WISH: http://www120.pair.com/mccarthy/nextstep/intro.htmld/Workspace.html is the correct nextstep look.
 DUMB: support tex fonts

-	- SYNCCVS: compared to rxvt-cvs 2006-01-28, no relevant changes.
-        - fix version report (DA) (which was unfortunately broken).
-        - changed version number report again, now to emulate xterm closer.
-        - added the OSC sequence 702 to detect the urxvt version number.
-        - small configure updates.
-        - overhauled color management: smaller codesize, alpha support.
-        - support rgba:rrrr/gggg/bbbb/aaaa, #argb, #aarrggbb and
-          #aaaarrrrggggbbbb (yes, it did hurt) colour "names".
-        - try to work around Xft and Xrender forcing everything to be 100%
-          transparent. Long Live Xft!
-        - do not include X11/Intrinsic.h anymore, directly use
-          Xlib/Xutil/Xresource directly.
-        - further improve the careful mode detection, and font width
+        - further improvements to the careful mode detection, and font width
           detection:
           - fully double-wide fonts will now be correctly treated,
           - overlap detection was improved.
@@ -35,9 +23,24 @@ DUMB: support tex fonts
           might get used for other encodings which really need it, later.
         - remove spacing=100 from all default fonts, as this creates totally
           weird spacing (5 times normal) with xft.
+        - removed iso10646 fallback, as xorgs iso10646 encoded fonts are mostly
+          broken.
+        - removed gnu unifont fallback, all combining characters are broken.
         - replace named colours by xorg's rgb.txt equivalents, to
           reduce round trip time on startup, and short-cut allocation
           of rgb:rr/gg/bb.
+        - overhauled color management: smaller codesize, alpha support.
+        - support rgba:rrrr/gggg/bbbb/aaaa, #argb, #aarrggbb and
+          #aaaarrrrggggbbbb (yes, it did hurt) colour "names".
+        - try to work around Xft and Xrender forcing everything to be 100%
+          transparent. Long Live Xft!
+        - do not include X11/Intrinsic.h anymore, directly use
+          Xlib/Xutil/Xresource directly.
+	- SYNCCVS: compared to rxvt-cvs 2006-01-28, no relevant changes.
+        - fix version report (DA) (which was unfortunately broken).
+        - changed version number report again, now to emulate xterm closer.
+        - added the OSC sequence 702 to detect the urxvt version number.
+        - small configure updates.
         - further RTT optimisations.

 7.4  Sat Jan 28 15:26:27 CET 2006
diff --git a/src/rxvtfont.C b/src/rxvtfont.C

index 67f4cbe286904dbe84626bb68aab8419b830bd83..

index ..9016441ff4300046e1f5a0f52228a0db123f1f6b 100644

--- a/src/rxvtfont.C
+++ b/src/rxvtfont.C
@@ -131,21 +131,22 @@ const struct rxvt_fallback_font {
 # endif
 #endif

-  // generic font fallback
   { CS_UNICODE,      "-*-lucidatypewriter-*-*-*-*-*-*-*-*-m-*-iso10646-1" },
-  { CS_UNICODE,      "-*-unifont-*-*-*-*-*-*-*-*-c-*-iso10646-1"   },
-  { CS_UNICODE,      "-*-*-*-r-*-*-*-*-*-*-c-*-iso10646-1"         },
-  { CS_UNICODE,      "-*-*-*-r-*-*-*-*-*-*-m-*-iso10646-1"         },
+  //{ CS_UNICODE,      "-*-unifont-*-*-*-*-*-*-*-*-c-*-iso10646-1"   }, // this gem of a font has actual dotted circles within the combining character glyphs.
 #if XFT
   { CS_UNICODE,      "xft:Bitstream Vera Sans Mono:antialias=false:autohint=true" },
   { CS_UNICODE,      "xft:Courier New:antialias=false:autohint=true"              },
   { CS_UNICODE,      "xft:Andale Mono:antialias=false:autohint=false"             },
   { CS_UNICODE,      "xft:Arial Unicode MS:antialias=false:autohint=false"        },

-  // FreeMono is usually uglier than x fonts, so try last only.
+  // FreeMono is usually uglier than x fonts, so try after the others
   { CS_UNICODE,      "xft:FreeMono:autohint=true"                  },
 #endif

+  // generic font fallback, put this last, as many iso10646 fonts have extents
+  // specified for all glyphs in the range they cover, but most are simply empty
+  //{ CS_UNICODE,      "-*-*-*-r-*-*-*-*-*-*-c-*-iso10646-1"         },
+  //{ CS_UNICODE,      "-*-*-*-r-*-*-*-*-*-*-m-*-iso10646-1"         },
   { CS_UNKNOWN, 0 }
 };

@@ -863,7 +864,8 @@ rxvt_font_x11::load (const rxvt_fontprop &prop)
       int dir_ret, asc_ret, des_ret;
       XTextExtents16 (f, &ch, 1, &dir_ret, &asc_ret, &des_ret, &g);

-      int wcw = WCWIDTH (*t); if (wcw > 0) g.width = (g.width + wcw - 1) / wcw;
+      int wcw = WCWIDTH (*t);
+      if (wcw > 0) g.width = (g.width + wcw - 1) / wcw;

       if (width < g.width) width = g.width;
     }
@@ -947,7 +949,7 @@ rxvt_font_x11::has_char (unicode_t unicode, const rxvt_fontprop *prop, bool &car

   // check wether character overlaps previous/next character
   int w = xcs->rbearing - xcs->lbearing;
-  int wcw = WCWIDTH (unicode);
+  int wcw = max (WCWIDTH (unicode), 1);

   careful = xcs->lbearing < 0 || xcs->rbearing > prop->width * wcw;

@@ -1263,7 +1265,7 @@ rxvt_font_xft::has_char (unicode_t unicode, const rxvt_fontprop *prop, bool &car
   XftTextExtents32 (term->xdisp, f, &ch, 1, &g);

   int w = g.width - g.x;
-  int wcw = WCWIDTH (unicode);
+  int wcw = max (WCWIDTH (unicode), 1);

   careful = g.x > 0 || w > prop->width * wcw;

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

-- Response ended

-- Page fetched on Sun Jun 2 11:16:16 2024