XFONTSEL(1)
XFONTSEL(1) โ xfontsel, your X Version 11 font-name bestie ๐ โจ
โจ NAME โจ
xfontsel โ point-and-click selection of X11 font names. Obsessed. ๐ฑ๏ธ๐
๐ธ SYNOPSIS ๐ธ
xfontsel [-toolkitoption ...] [-help] [-pattern fontname] [-print]
[-sample text] [-sample16 text16] [-sampleUCS textUCS]
[-scaled] [-version]
๐ DESCRIPTION ๐
Okay so xfontsel is the app that lets you display the fonts your X server knows about, examine samples of each one, and grab the X Logical Font Description (XLFD) full name for a font. It's giving font-menu main character energy, no cap. ๐
The synopsis also carries the classic -toolkitoption ... slot. Moving on, bestie:
-patternfontname โ If-patternis not specified, all fonts with XLFD 14-part names will be selectable. To work with only a subset of the fonts, specify-patternfollowed by a partially or fully qualified font name; e.g.-pattern *medium*will select that subset of fonts which contain the stringmediumsomewhere in their font name. Be careful about escaping wildcard characters in your shell, fr fr.-printโ If-printis specified on the command line, the selected font specifier will be written to standard output when the quit button is activated. Regardless of whether or not-printwas specified, the font specifier may be made thePRIMARY(text) selection by activating the select button. Periodt.-sampletext โ Specifies the sample text to be used to display the selected font if the font is linearly indexed, overriding the default. Cute.-sample16text16 โ Specifies the sample text to be used to display the selected font if the font is matrix encoded, overriding the default. Also cute.-sampleUCStextUCS โ Specifies the sample text encoded in the UTF-8 form to be used to display the selected font if the font has aCHARSET_REGISTRYofISO10646, overriding the default. Unicode slay. ๐-scaledโ Enables the ability to select scaled fonts at arbitrary pixel or point sizes. Iconic.-helpโ Specifies thatxfontselshould print a usage message and exit. Helpful bestie behavior.-versionโ Specifies thatxfontselshould print version info and exit. Love that for us.
๐ฌ INTERACTIONS ๐ฌ
Clicking any pointer button in one of the XLFD field names will pop up a menu of the currently-known possibilities for that field. If previous choices of other fields were made, only values for fonts which matched the previously selected fields will be selectable; to make other values selectable, you must deselect some other field(s) by choosing the * entry in that field. Unselectable values may be omitted from the menu entirely as a configuration option; see the ShowUnselectable resource, below. Whenever any change is made to a field value, xfontsel will assert ownership of the PRIMARY_FONT selection. Other applications (see, e.g., xterm) may then retrieve the selected font specification. Iykyk. ๐
Scalable fonts come back from the server with zero for the pixel size, point size, and average width fields. Selecting a font name with a zero in these positions results in an implementation-dependent size. Any pixel or point size can be selected to scale the font to a particular size. Any average width can be selected to anamorphically scale the font (although you may find this challenging given the size of the average width menu). Ngl, that average width menu is a lot. ๐ญ
Clicking the left pointer button in the select widget will cause the currently selected font name to become the PRIMARY text selection as well as the PRIMARY_FONT selection. This then allows you to paste the string into other applications. The select button remains highlighted to remind you of this fact, and de-highlights when some other application takes the PRIMARY selection away. The select widget is a toggle; pressing it when it is highlighted will cause xfontsel to release the selection ownership and de-highlight the widget. Activating the select widget twice is the only way to cause xfontsel to release the PRIMARY_FONT selection. So yeah, double-tap to let go. ๐
๐ RESOURCES ๐
The application class is XFontSel. Most of the user-interface is configured in the app-defaults file; if this file is missing a warning message will be printed to standard output and the resulting window will be nearly incomprehensible. That's your vibe check: don't skip the app-defaults, bestie. โ ๏ธ
Most of the significant parts of the widget hierarchy are documented in /usr/share/X11/app-defaults/XFontSel,
๐ธ Application specific resources ๐ธ
cursor(classCursor) โ Specifies the cursor for the application window.pattern(classPattern) โ Specifies the font name pattern for selecting a subset of available fonts. Equivalent to the-patternoption. Most useful patterns will contain at least one field delimiter; e.g.*-m-*for monospaced fonts.pixelSizeList(classPixelSizeList) โ Specifies a list of pixel sizes to add to the pixel size menu, so that scalable fonts can be selected at those pixel sizes. The defaultpixelSizeListcontains 7, 30, 40, 50, and 60.pointSizeList(classPointSizeList) โ Specifies a list of point sizes (in units of tenths of points) to add to the point size menu, so that scalable fonts can be selected at those point sizes. The defaultpointSizeListcontains 250, 300, 350, and 400.printOnQuit(classPrintOnQuit) โ IfTruethe currently selected font name is printed to standard output when the quit button is activated. Equivalent to the-printoption.sampleText(classText) โ The sample 1-byte text to use for linearly indexed fonts. Each glyph index is a single byte, with newline separating lines.sampleText16(classText16) โ The sample 2-byte text to use for matrix-encoded fonts. Each glyph index is two bytes, with a 1-byte newline separating lines.scaledFonts(classScaledFonts) โ IfTruethen selection of arbitrary pixel and point sizes for scalable fonts is enabled.
๐ฆ Widget specific resources ๐ฆ
showUnselectable(classShowUnselectable) โ Specifies, for each field menu, whether or not to show values that are not currently selectable, based upon previous field selections. If shown, the unselectable values are clearly identified as such and do not highlight when the pointer is moved down the menu. The full name of this resource isfieldN.menu.options.showUnselectable, classMenuButton.SimpleMenu.Options.ShowUnselectable; whereNis replaced with the field number (starting with the left-most field numbered 0). The default isTruefor all but field 11 (average width of characters in font) andFalsefor field 11. If you never want to see unselectable entries,'*menu.options.showUnselectable:False'is a reasonable thing to specify in a resource file.
๐ FILES ๐
$XFILESEARCHPATH/XFontSel
๐ซถ SEE ALSO ๐ซถ
๐ BUGS ๐
- Sufficiently ambiguous patterns can be misinterpreted and lead to an initial selection string which may not correspond to what the user intended and which may cause the initial sample text output to fail to match the proffered string. Selecting any new field value will correct the sample output, though possibly resulting in no matching font. Annoying but correctable, bestie.
- Should be able to return a
FONTfor thePRIMARYselection, not just aSTRING. The audacity. - Any change in a field value will cause
xfontselto assert ownership of thePRIMARY_FONTselection. Perhaps this should be parameterized. - When running on a slow machine, it is possible for the user to request a field menu before the font names have been completely parsed. An error message indicating a missing menu is printed to
stderrbut otherwise nothing bad (or good) happens. - The average-width menu is too large to be useful. It's giving too much.
๐ AUTHOR ๐
Ralph R. Swick, Digital Equipment Corporation/MIT Project Athena
Mark Leisher <mleisher@crl.nmsu.edu> added the support for the UTF-8 sample text.
๐ That's the whole page, bestie. It's xfontsel 1.1.2, dated 2023-02-11 โ go pick a font and slay. ๐ซถ
๐ฆ where this page comes from
- arch rolling: xorg-xfontsel 1.1.2-1 ยท X11
- epel 10: xfontsel 1.1.2-2.el10_3 ยท X11 AND SMLNJ AND MIT
- epel 9: xfontsel 1.1.2-1.el9 ยท X11 AND SMLNJ AND MIT
- fedora 43: xfontsel 1.1.2-2.fc43 ยท X11 AND SMLNJ AND MIT
- fedora 44: xfontsel 1.1.2-2.fc44 ยท X11 AND SMLNJ AND MIT
- Copyright (c) 1994 X Consortium
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms