On Wed, Aug 13, 2025 at 03:42:47PM -0400, Thomas Dickey wrote:
> On Wed, Aug 13, 2025 at 12:51:33PM +0100, Chris Green wrote:
> > I've been revisiting my "what font to use for xvile on a 4k screen"
> > issue and, as a result, I have a question.
> >
> > Among the fonts listed by xlsfonts there are the following bitstream
> > terminal ones:-
> >
> > -bitstream-terminal-bold-r-normal--0-0-100-100-c-0-dec-dectech
> > -bitstream-terminal-bold-r-normal--0-0-100-100-c-0-iso8859-1
> > -bitstream-terminal-bold-r-normal--18-140-100-100-c-110-dec-dectech
> > -bitstream-terminal-bold-r-normal--18-140-100-100-c-110-iso8859-1
> > -bitstream-terminal-medium-r-normal--0-0-100-100-c-0-dec-dectech
> > -bitstream-terminal-medium-r-normal--0-0-100-100-c-0-iso8859-1
> > -bitstream-terminal-medium-r-normal--18-140-100-100-c-110-dec-dectech
> > -bitstream-terminal-medium-r-normal--18-140-100-100-c-110-iso8859-1
> >
> > On my laptop
> > -bitstream-terminal-medium-r-normal--18-140-100-100-c-110-iso8859-1
> > works very nicely, however it's just a bit too small for my aging eyes
> > on the 4k screen.
> >
> > Do those -bitstream-terminal-medium-r-normal--0-0-100-100-c-0-iso8859-1
> > type entries allow generation of different sizes somehow? If not then
> > what are they exactly as they don't have any sort of size specified do
> > they?
>
> I recall seeing some comment that those are used to denote
> bitmap fonts which X (or fontconfig?) will (try to) scale.
>
> Looking to check my recollection, I don't see a connection with fontconfig.
>
> The X(7) manpage mentions the 0's:
>
> The xlsfonts program can be used to list all of the fonts that match a
> given pattern. With no arguments, it lists all available fonts. This
> will usually list the same font at many different sizes. To see just
> the base scalable font names, try using one of the following patterns:
>
> -*-*-*-*-*-*-0-0-0-0-*-0-*-*
> -*-*-*-*-*-*-0-0-75-75-*-0-*-*
> -*-*-*-*-*-*-0-0-100-100-*-0-*-*
>
> To convert one of the resulting names into a font at a specific size,
> replace one of the first two zeros with a nonzero value. The field
> containing the first zero is for the pixel size; replace it with a spe‐
> cific height in pixels to name a font at that size. Alternatively, the
> field containing the second zero is for the point size; replace it with
> a specific size in decipoints (there are 722.7 decipoints to the inch)
> to name a font at that size. The last zero is an average width field,
> measured in tenths of pixels; some servers will anamorphically scale if
> this value is specified.
>
> and has one other mention of scalable fonts:
>
> Fonts come in various sizes. The X server supports scalable fonts,
> meaning it is possible to create a font of arbitrary size from a single
> source for the font. The server supports scaling from outline fonts
> and bitmap fonts. Scaling from outline fonts usually produces signifi‐
> cantly better results than scaling from bitmap fonts.
>
> https://tronche.com/wiki/Howto_specify_X_scalable_fonts_from_the_command_line
>
> goes into more detail, explaining how to configure:
>
> Looking for "x server scalable fonts" finds
>
> https://packages.debian.org/sid/fonts/xfonts-scalable
>
> https://wiki.archlinux.org/title/X_Logical_Font_Description
>
> but in a quick check, the bitstream fonts look grainy. I don't see the
> "bitstream-terminal" in
>
> /etc/X11/fonts/Type1/xfonts-scalable.scale
>
> but trying some of the patterns in that file, the result looks less grainy
> (but also less weight - ymmv)
>
Yes, thanks Thomas, I've been digging around this a bit too. They do
appear to be fonts that X can scale somehow. To use them with xvile
you can do something like:-
xvile -fn -bitstream-terminal-medium-r-normal--24-0-100-100-c-0-iso8859-1
and something in X will produce a 24pt font. If you happen to put 18
for the point size then you'll get the ready made font as it matches:-
-bitstream-terminal-medium-r-normal--18-140-100-100-c-110-iso8859-1
The scaled fonts are a bit clunky but sometimes better than nothing. :-)
As it is -bitstream-terminal-medium-r-normal--18-140-100-100-c-110-iso8859-1
is about the best font I can find for xvile on my 4k screen. There
just aren't any ready made bitmap fonts in larger sizes that I can
find. Well, there's a few, like the terminus fonts in Debian but
these are very 'thin' and don't work well as dark text on a light
background which is what I prefer.
Roll on xvile having support for truetype/opentype fonts! :-)
--
Chris Green