tweak - edit image files, subfont files, face files, etc.
tweak [ file ... ]
Tweak edits existing files holding various forms of images. To create
original images, start from an existing image, subfont, etc.
Tweak reads its argument files and displays the resulting images in a
vertical column. If the image is too wide to fit across the display,
it is folded much like a long line of text in an rio window. Under
each image is displayed one or two lines of text presenting its parame‐
ters. The first line shows the image's depth, the number of bits per
pixel; r, the rectangle covered by the image; and the name of the file
from which it was read. If the file is a subfont, a second line
presents a hexadecimal 16-bit offset to be applied to character values
from the subfont (typically as stored in a font file; see font(6)); and
the subfont's n, height, and ascent as defined in cachechars(2).
By means described below, magnified views of portions of the images may
be displayed. The text associated with such a view includes mag, the
magnification. If the view is of a single character from a subfont,
the second line of text shows the character's value (including the sub‐
font's offset) in hexadecimal and as a character in tweak's default
font; the character's x, top, bottom, left, and width as defined in
cachechars(2); and iwidth, the physical width of the image in the sub‐
There are two methods to obtain a magnified view of a character from a
subfont. The first is to click mouse button 1 over the image of the
character in the subfont. The second is to select the char entry on
the button 3 menu, point the resulting gunsight cursor at the desired
subfont and click button 3, and then type at the text prompt at the
bottom of the screen the character value, either as a multi-digit hexa‐
decimal number or as a single rune representing the character.
To magnify a portion of other types of image files, click button 1 over
the unmagnified file. The cursor will switch to a cross. Still with
button 1, sweep a rectangle, as in rio, that encloses the portion of
the image to be magnified. (If the file is 16×16 or smaller, tweak
will just magnify the entire file; no sweeping is necessary.)
Pressing buttons 1 and 2 within magnified images changes pixel values.
By default, button 1 sets the pixel to all zeros and button 2 sets the
pixel to all ones.
Across the top of the screen is a textual display of global parameters.
These values, as well as many of the textual values associated with the
images, may be edited by clicking button 1 on the displayed value and
typing a new value. The values along the top of the screen are:
mag Default magnification.
The value used to modify pixels within magnified images. The
value must be in hexadecimal, optionally preceded by a tilde for
but2 The pixel value written when the corresponding button is pressed
over a pixel.
Whether the pixel values are inverted when a copy operation is
Under button 3 is a menu holding a variety of functions. Many of these
functions prompt for the image upon which to act by switching to a gun‐
sight cursor; click button 3 over the selection, or click a different
button to cancel the action.
open Read and display a file. The name of the file is typed to the
prompt on the bottom line.
read Reread a file.
write Write a file.
copy Use the copy function, default S, to transfer a rectangle of
pixels from one image to another. The program prompts with a
cross cursor; sweep out a rectangle in one image or just click
button 3 to select the whole image. The program will leave that
rectangle in place and attach another one to the cursor. Move
that rectangle to the desired place in any image and click but‐
ton 3, or another button to cancel the action.
char As described above, open a magnified view of a character image
in a subfont.
pixels Report the coordinate and value of individual pixels indicated
by pressing button 3. This is a mode of operation canceled by
pressing button 1 or 2.
close Close the specified image. If the image is the unmagnified
file, also close any magnified views of that file.
exit Quit tweak. The program will complain once about modified but
SEE ALSOcachechars(2), image(6), font(6)BUGS
For a program written to adjust width tables in fonts, tweak has been
pushed unreasonably far.