tweak - edit bitmap files, subfont files, face files, etc.
tweak [ file ... ]
Tweak edits existing files holding various forms of bitmap images. To create original
images, use art(1) or start from an existing bitmap, subfont, etc.
Tweak reads its argument files and displays the resulting bitmaps in a vertical column.
If the bitmap is too wide to fit across the display, it is folded much like a long line of
text in an 81/2 window. Under each bitmap is displayed one or two lines of text present-
ing parameters of the image. The first line shows the bitmap's ldepth, the log base 2 of
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 hexadeci-
mal 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
By means described below, magnified views of portions of the bitmaps 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 bitmap.
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 hexadecimal number or as a single rune
representing the character.
To magnify a portion of other types of bitmap files, click button 1 over the unmagnified
file. The cursor will switch to a cross. Still with button 1, sweep a rectangle, as in
81/2, that encloses the portion of the image to be magnified. (If the file is 16x16 or
smaller, tweak will just magnify the entire file; no sweeping is necessary.)
Depressing buttons 1 and 2 within magnified images changes pixel values. By default, but-
ton 1 sets the pixel to all ones and button 2 sets the pixel to all zeros.
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
mag Default magnification.
The value used to modify pixels within magnified images. The value must be in
hexadecimal, optionally preceded by a tilde for bitwise negation.
but2 The boolean function used by the named button to set pixel values. The function
may be specified either by name as defined in <libg.h>, e.g. DorS, or by simple
boolean expression, e.g. S|D. In these expressions, S is the pixel value defined
above and D is the pixel being modified.
copy The boolean function used in the copy menu item.
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
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 button 3, or another button to cancel
char As described above, open a magnified view of a character image in a subfont.
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 unwritten files.
To clear blocks of pixels, use copy with function 0.
art(1), cachechars(2), bitmap(6), font(6)