Table of Contents
xfd - display all the characters in an X font
xfd
[-options ...] -fn fontname
The xfd utility creates a window containing
the name of the font being displayed, a row of command buttons, several
lines of text for displaying character metrics, and a grid containing one
glyph per cell. The characters are shown in increasing order from left
to right, top to bottom. The first character displayed at the top left
will be character number 0 unless the -start option has been supplied in
which case the character with the number given in the -start option will
be used.
The characters are displayed in a grid of boxes, each large enough
to hold any single character in the font. Each character glyph is drawn
using the PolyText16 request (used by the Xlib routine XDrawString16). If
the -box option is given, a rectangle will be drawn around each character,
showing where an ImageText16 request (used by the Xlib routine XDrawImageString16)
would cause background color to be displayed.
The origin of each glyph is
normally set so that the character is drawn in the upper left hand corner
of the grid cell. However, if a glyph has a negative left bearing or an
unusually large ascent, descent, or right bearing (as is the case with
cursor font), some character may not appear in their own grid cells. The
-center option may be used to force all glyphs to be centered in their
respective cells.
All the characters in the font may not fit in the window
at once. To see the next page of glyphs, press the Next button at the top
of the window. To see the previous page, press Prev. To exit xfd, press
Quit.
Individual character metrics (index, width, bearings, ascent and descent)
can be displayed at the top of the window by clicking on the desired character.
The font name displayed at the top of the window is the full name of the
font, as determined by the server. See xlsfonts for ways to generate lists
of fonts, as well as more detailed summaries of their metrics and properties.
xfd accepts all of the standard toolkit command line options along
with the additional options listed below:
- -fn font
- This option specifies
the font to be displayed. This can also be set with the FontGrid font resource.
A font must be specified.
- -box
- This option indicates that a box should be
displayed outlining the area that would be filled with background color
by an ImageText request. This can also be set with the FontGrid boxChars
resource. The default is False.
- -center
- This option indicates that each glyph
should be centered in its grid. This can also be set with the FontGrid centerChars
resource. The default is False.
- -start number
- This option specifies the glyph
index of the upper left hand corner of the grid. This is used to view characters
at arbitrary locations in the font. This can also be set with the FontGrid
startChar resource. The default is 0.
- -bc color
- This option specifies the
color to be used if ImageText boxes are drawn. This can also be set with
the FontGrid boxColor resource.
- -rows numrows
- This option specifies the number
of rows in the grid. This can also be set with the FontGrid cellRows resource.
- -columns numcols
- This option specifies the number of columns in the grid.
This can also be set with the FontGrid cellColumns resource.
In order
to specify resources, it is useful to know the widgets which compose xfd.
In the notation below, indentation indicates hierarchical structure. The
widget class name is given first, followed by the widget instance name.
The application class name is Xfd.
Xfd xfd
Paned pane
Label fontname
Box box
Command quit
Command prev
Command next
Label select
Label metrics
Label range
Label start
Form form
FontGrid grid
The FontGrid widget is an application-specific widget,
and a subclass of the Simple widget in the Athena widget set. The effects
and instance names of this widget's resources are given in the OPTIONS section.
Capitalize the first letter of the resource instance name to get the corresponding
class name.
The instance names of the application
specific resources are given below. Capitalize the first letter of the
resource instance name to get the corresponding class name. These resources
are unlikely to be interesting unless you are localizing xfd for a different
language.
- selectFormat
- Specifies a printf-style format string used to display
information about the selected character. The default is "character 0x%02x%02x
(%u,%u) (%#o,%#o)". The arguments that will come after the format string
are char.byte1, char.byte2, char.byte1, char.byte2, char.byte1, char.byte2. char.byte1
is byte 1 of the selected character. char.byte2 is byte 2 of the selected
character.
- metricsFormat
- Specifies a printf-style format string used to
display character metrics. The default is "width %d; left %d, right %d;
ascent %d, descent %d (font %d, %d)". The arguments that will come after
the format string are the character metrics width, lbearing, rbearing,
character ascent, character descent, font ascent, and font descent.
- rangeFormat
- Specifies a printf-style format string used to display the range of characters
currently being displayed. The default is "range: 0x%02x%02x (%u,%u) thru
0x%02x%02x (%u,%u)". The arguments that will come after the format string
are the following fields from the XFontStruct that is returned from opening
the font: min_byte1, min_char_or_byte2, min_byte1, min_char_or_byte2, max_byte1,
max_char_or_byte2, max_byte1, max_char_or_byte2.
- startFormat
- Specifies a
printf-style format string used to display information about the character
at the upper left corner of the font grid. The default is "upper left:
0x%04x (%d,%d)". The arguments that will come after the format string are
the new character, the high byte of the new character, and the low byte
of the new character.
- nocharFormat
- Specifies a printf-style format string
to display when the selected character does not exist. The default is "no
such character 0x%02x%02x (%u,%u) (%#o,%#o)". The arguments that will come
after the format string are the same as for the selectFormat resource.
X(1)
, xlsfonts(1)
, xrdb(1)
, xfontsel(1)
, X Logical Font Description
Conventions
The program should skip over pages full of non-existent
characters.
Jim Fulton, MIT X Consortium; previous program of the
same name by Mark Lillibridge, MIT Project Athena.
Table of Contents