[rxvt packaging bug?] New rxvt introduces broken font default

Charles Wilson cygwin@cwilson.fastmail.fm
Sun Sep 16 21:02:00 GMT 2007

Max Bowsher wrote:
> I just updated to rxvt-20050409-7, and the font changed to a very weird
> display using a proportional-width font, but displayed with each
> character left-aligned within a fixed-size area which appears to
> correspond to the largest character within the font.

That's the "normal" behavior when "I can't find the font you wanted".

> At a guess, this is because the new /etc/X11/app-defaults/Rxvt specifies
> "bitstream vera sans mono" and I have no font by that name.


> If that's the case, it is a bug for the rxvt package to depend on a
> non-standard font for its default display.

Not exactly. rxvt is in a unique position in that it is used in two 
entirely separate modes.  In "native" mode, it doesn't care which X 
fonts are installed -- so the rxvt package as a whole must not require: 
anything X-related.  In "X11" mode, obviously rxvt depends on a lot of 
xorg-x11-* packages.  One of those -- xorg-x11-fscl -- happens to be an 
optional component of X11, and contains the bitstream fonts.  But again, 
because of the "native" mode issue, the rxvt package itself can't 
require: xorg-x11-fscl without also indirectly require:ing all of X11. 
This would seriously inconvenience rxvt users who only use it in native 


I suppose I could change the default to use (ugh) Courier fixed (as 
opposed to scalable), which would "fix" the issue for people running in 
X11 mode with "incomplete" X11 installations.  Ugly ugly ugly.  This 
sucks.  This would technically fix the native issue, as well, but it 
would be REALLY ugly: there IS a windows font called "courier" -- but it 
is a bitmapped non-TrueType font.

I want to show off a good-looking rxvt, not a least-common-denominator 
bag-over-the-head-ugly rxvt.

However, for "native" mode? I can't /really/ fix that, if you insist on 
relying on undocumented default behavior.  The recommended method of 
starting rxvt in native mode is to always specify a font (and explicitly 
force native display mode), using windows not x11 naming convention.  E.g.

rxvt -display :0 -fn "Lucida Console-16"

in which case any font specifications in ~/.Xdefaults or 
/etc/X11/app-defaults are overidden. From the README (although I admit 
it is rather buried.  I need to rewrite it):

   (1) In ~/.Xdefaults, set whatever font you like for X usage.  He prefers
Rxvt*font:     -*-bitstream vera sans 
Rxvt*boldfont: -*-bitstream vera sans 

   (2) In the shortcut for starting rxvt in X mode, use this command string
C:\cygwin\bin\run.exe /usr/bin/rxvt.exe -display \
-tn rxvt-cygwin -e /usr/bin/bash --login -i

   (3) In the shortcut for starting rxvt in Native mode, use this 
command string
C:\cygwin\bin\run.exe /usr/bin/rxvt.exe -display :0 \
-fn "Lucida ConsoleP-16" -tn rxvt-cygwin-native -e /usr/bin/bash --login -i

If you *KNOW* you will never use rxvt in X mode, then you can edit 
/etc/X11/app-defaults/Rxvt (or ~/.Xdefaults) to specify the desired 
native font:

rxvt*font: -outline-Courier 

(note "Courier New" -- the windows name -- not "courier" -- the X11 name)

Or, you could install the free bitstream fonts into C:/WINDOWS/Fonts/
and things would "Just Work"(tm) in native mode without further changes. 
(Although I realize some corporate environments don't allow users to 
install Windows fonts).


Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

More information about the Cygwin mailing list