TWEAK(1) TWEAK(1)
NAME
tweak - edit image files, subfont files, face files, etc.
SYNOPSIS
tweak [ -b baseoff ] [ file ... ]
DESCRIPTION
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 parameters. 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). It is
assumed that the first character in the first file is char-
acter 0 unless baseoff is given.
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 subfont'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 subfont's image.
There are two methods to obtain a magnified view of a char-
acter 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 hex-
adecimal number or as a single rune representing the charac-
ter.
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.
Page 1 Plan 9 (printed 10/30/25)
TWEAK(1) TWEAK(1)
(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.
val(hex)
The value used to modify pixels within magnified
images. The value must be in hexadecimal, optionally
preceded by a tilde for bitwise negation.
but1
but2 The pixel value written when the corresponding button
is pressed over a pixel.
invert-on-copy
Whether the pixel values are inverted when a copy oper-
ation is performed.
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 gunsight 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 rectan-
gle 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 rect-
angle to the desired place in any image and click but-
ton 3, or another button to cancel the action.
Page 2 Plan 9 (printed 10/30/25)
TWEAK(1) TWEAK(1)
char As described above, open a magnified view of a charac-
ter 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 unmag-
nified file, also close any magnified views of that
file.
exit Quit tweak. The program will complain once about modi-
fied but unwritten files.
SOURCE
/sys/src/cmd/tweak.c
SEE ALSO
cachechars(2), image(6), font(6)
BUGS
For a program written to adjust width tables in fonts, tweak
has been pushed unreasonably far.
Fonts with discontinuities will display incorrect character
values. It would be necessary to parse font(6) files
instead of subfonts.
Page 3 Plan 9 (printed 10/30/25)