Paul Rogers
2018-07-22 16:39:48 UTC
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:urxvt before reporting. These devs don't seem to have grasped the "Unix
Principle"!
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).
spacing (not necessary in my experience with xft fonts, but maybe
what you are looking for).
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
***@fastmail.fm
Rogers' Second Law: "Everything you do communicates."
(I do not personally endorse any additions after this line. TANSTAAFL :-)
Paul Rogers
***@fastmail.fm
Rogers' Second Law: "Everything you do communicates."
(I do not personally endorse any additions after this line. TANSTAAFL :-)