> Thanks, I _am_ making some progress, but have more to try to compile 
> urxvt before reporting.  These devs don't seem to have grasped the "Unix 
> Principle"!

I was very unhappy with all the "bells and whistles" this package has--"More 
bells and whistles than a steam calliope."  Something is "prima facie" wrong 
with a package that has --enable-everything & --enable-frills!  I wanted to go 
the opposite way, but then lost letterSpace:

patch -Np1 -i ../patches/urxvt-9.22-letterSpacing.patch &&
(./configure --target="$CTARGET" --disable-everything --with-x \
  --with-res-name=urxvt --with-res-class=URxvt --without-codesets \
  --enable-fallback=Rxvt --enable-xft --enable-resources \
  --enable-rxvt-scroll --enable-font-styles --enable-mousewheel \
  --enable-smart-resize --enable-utmp -enable-startup-notification \
  --enable-keepscrolling 2>&1 | tee log.conf && exit $PIPESTATUS) &&

I decided I had to make this work!  So I looked into the code and fortunately 
it is easily enough patched, note above, to permanently enable letterSpace that 
even I could do it--just move a few definitions outside ifdef blocks.  So I 
offer this patch in case anyone prefers my approach:


--- a/src/init.C        2016-01-18 11:35:08.000000000 -0800
+++ b/src/init.C        2018-07-21 23:49:33.709075794 -0700
@@ -655,10 +655,10 @@
 
   if (rs[Rs_lineSpace] && (i = atoi (rs[Rs_lineSpace])) >= 0)
     lineSpace = min (i, std::numeric_limits<int16_t>::max ());
+#endif
 
   if (rs[Rs_letterSpace])
     letterSpace = atoi (rs[Rs_letterSpace]);
-#endif
 
 #ifdef POINTER_BLANK
   if (rs[Rs_pointerBlankDelay] && (i = atoi (rs[Rs_pointerBlankDelay])) >= 0)
diff -Naur a/src/rsinc.h b/src/rsinc.h
--- a/src/rsinc.h       2015-06-17 04:57:42.000000000 -0700
+++ b/src/rsinc.h       2018-07-21 23:40:42.186037777 -0700
@@ -78,10 +78,10 @@
   def (int_bwidth)
   def (borderLess)
   def (lineSpace)
-  def (letterSpace)
   def (cursorUnderline)
   def (urgentOnBell)
 #endif
+  def (letterSpace)
 #if BUILTIN_GLYPHS
   def (skipBuiltinGlyphs)
 #endif
diff -Naur a/src/xdefaults.C b/src/xdefaults.C
--- a/src/xdefaults.C   2016-01-23 10:38:47.000000000 -0800
+++ b/src/xdefaults.C   2018-07-21 23:55:05.091099495 -0700
@@ -244,8 +244,8 @@
               STRG (Rs_int_bwidth, "internalBorder", "b", "number", "internal 
border in pixels"),
               BOOL (Rs_borderLess, "borderLess", "bl", Opt_borderLess, 0, 
"borderless window"),
               STRG (Rs_lineSpace, "lineSpace", "lsp", "number", "number of 
extra pixels between rows"),
-              STRG (Rs_letterSpace, "letterSpace", "letsp", "number", "letter 
spacing adjustment"),
 #endif
+              STRG (Rs_letterSpace, "letterSpace", "letsp", "number", "letter 
spacing adjustment"),
 #ifdef BUILTIN_GLYPHS
               BOOL (Rs_skipBuiltinGlyphs, "skipBuiltinGlyphs", "sbg", 
Opt_skipBuiltinGlyphs, 0, "do not use internal glyphs"),
 #endif

In case line wrapping messes that up so's it can't be (ahem) patched back 
together, I'll make it an attachment too.

> 
> > 9x15.  And there I also see "URxvt.letterSpace: -1" to reduce the
> > spacing (not necessary in my experience with xft fonts, but maybe
> > what you are looking for).

I find with xft:Monospace-9 I want letterSpace: 2.

URxvt.font:                     xft:Monospace-9
URxvt.letterSpace:              -2

In my playing around I discovered xft tries to apply letterSpace to all the 
fonts it has, whether in .Xresources or not.  If a large number may be required 
for a widely spaced font in use, it may cause some "error" messages on one's 
console when narrower spaced fonts cause letter overlaps.

-- 
Paul Rogers
paulgrog...@fastmail.fm
Rogers' Second Law: "Everything you do communicates."
(I do not personally endorse any additions after this line. TANSTAAFL :-)
diff -Naur a/src/init.C b/src/init.C
--- a/src/init.C	2016-01-18 11:35:08.000000000 -0800
+++ b/src/init.C	2018-07-21 23:49:33.709075794 -0700
@@ -655,10 +655,10 @@
 
   if (rs[Rs_lineSpace] && (i = atoi (rs[Rs_lineSpace])) >= 0)
     lineSpace = min (i, std::numeric_limits<int16_t>::max ());
+#endif
 
   if (rs[Rs_letterSpace])
     letterSpace = atoi (rs[Rs_letterSpace]);
-#endif
 
 #ifdef POINTER_BLANK
   if (rs[Rs_pointerBlankDelay] && (i = atoi (rs[Rs_pointerBlankDelay])) >= 0)
diff -Naur a/src/rsinc.h b/src/rsinc.h
--- a/src/rsinc.h	2015-06-17 04:57:42.000000000 -0700
+++ b/src/rsinc.h	2018-07-21 23:40:42.186037777 -0700
@@ -78,10 +78,10 @@
   def (int_bwidth)
   def (borderLess)
   def (lineSpace)
-  def (letterSpace)
   def (cursorUnderline)
   def (urgentOnBell)
 #endif
+  def (letterSpace)
 #if BUILTIN_GLYPHS
   def (skipBuiltinGlyphs)
 #endif
diff -Naur a/src/xdefaults.C b/src/xdefaults.C
--- a/src/xdefaults.C	2016-01-23 10:38:47.000000000 -0800
+++ b/src/xdefaults.C	2018-07-21 23:55:05.091099495 -0700
@@ -244,8 +244,8 @@
               STRG (Rs_int_bwidth, "internalBorder", "b", "number", "internal border in pixels"),
               BOOL (Rs_borderLess, "borderLess", "bl", Opt_borderLess, 0, "borderless window"),
               STRG (Rs_lineSpace, "lineSpace", "lsp", "number", "number of extra pixels between rows"),
-              STRG (Rs_letterSpace, "letterSpace", "letsp", "number", "letter spacing adjustment"),
 #endif
+              STRG (Rs_letterSpace, "letterSpace", "letsp", "number", "letter spacing adjustment"),
 #ifdef BUILTIN_GLYPHS
               BOOL (Rs_skipBuiltinGlyphs, "skipBuiltinGlyphs", "sbg", Opt_skipBuiltinGlyphs, 0, "do not use internal glyphs"),
 #endif
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to