2011-03-30 13:49:47 +00:00
|
|
|
|
.TH TWEAK 1
|
|
|
|
|
.CT 1 graphics
|
|
|
|
|
.SH NAME
|
|
|
|
|
tweak \- edit image files, subfont files, face files, etc.
|
|
|
|
|
.SH SYNOPSIS
|
|
|
|
|
.B tweak
|
|
|
|
|
[
|
|
|
|
|
.I file ...
|
|
|
|
|
]
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
|
.I Tweak
|
|
|
|
|
edits existing files holding various forms of images.
|
|
|
|
|
To create original images, start from an existing image, subfont, etc.
|
|
|
|
|
.PP
|
|
|
|
|
.I Tweak
|
|
|
|
|
reads its argument
|
|
|
|
|
.I 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
|
|
|
|
|
.IR rio
|
|
|
|
|
window.
|
|
|
|
|
Under each image is displayed one or two lines of text
|
|
|
|
|
presenting its parameters.
|
|
|
|
|
The first line shows the image's
|
|
|
|
|
.BR depth ,
|
|
|
|
|
the number
|
|
|
|
|
of bits per pixel;
|
|
|
|
|
.BR r ,
|
|
|
|
|
the rectangle covered by the image;
|
|
|
|
|
and the name of the
|
|
|
|
|
.B file
|
|
|
|
|
from which it was read.
|
|
|
|
|
If the file is a subfont, a second line presents a hexadecimal 16-bit
|
|
|
|
|
.B offset
|
|
|
|
|
to be applied to character values from the subfont
|
|
|
|
|
(typically as stored in a font file; see
|
|
|
|
|
.IR font (6));
|
|
|
|
|
and the subfont's
|
|
|
|
|
.BR n ,
|
|
|
|
|
.BR height ,
|
|
|
|
|
and
|
|
|
|
|
.B ascent
|
|
|
|
|
as defined in
|
|
|
|
|
.IR cachechars (2).
|
|
|
|
|
.PP
|
|
|
|
|
By means described below, magnified views of portions of the images
|
|
|
|
|
may be displayed.
|
|
|
|
|
The text associated with such a view includes
|
|
|
|
|
.BR 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
|
|
|
|
|
.I tweak's
|
|
|
|
|
default font; the character's
|
|
|
|
|
.BR x ,
|
|
|
|
|
.BR top ,
|
|
|
|
|
.BR bottom ,
|
|
|
|
|
.BR left ,
|
|
|
|
|
and
|
|
|
|
|
.BR width
|
|
|
|
|
as defined in
|
|
|
|
|
.IR cachechars (2);
|
|
|
|
|
and
|
|
|
|
|
.BR iwidth ,
|
|
|
|
|
the physical width of the image in the subfont's image.
|
|
|
|
|
.PP
|
|
|
|
|
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
|
|
|
|
|
.B 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.
|
|
|
|
|
.PP
|
|
|
|
|
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
|
|
|
|
|
.BR rio ,
|
|
|
|
|
that encloses the portion of the image to be magnified.
|
|
|
|
|
(If the file is 16×16 or smaller,
|
|
|
|
|
.I tweak
|
|
|
|
|
will just magnify the entire file; no sweeping is necessary.)
|
|
|
|
|
.PP
|
|
|
|
|
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.
|
|
|
|
|
.PP
|
|
|
|
|
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:
|
|
|
|
|
.TP
|
|
|
|
|
.B mag
|
|
|
|
|
Default magnification.
|
|
|
|
|
.TP
|
|
|
|
|
.B 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.
|
|
|
|
|
.TP
|
|
|
|
|
.B but1
|
|
|
|
|
.TP
|
|
|
|
|
.B but2
|
|
|
|
|
The pixel value written when the corresponding button is pressed over a pixel.
|
|
|
|
|
.TP
|
|
|
|
|
.B invert-on-copy
|
|
|
|
|
Whether the pixel values are inverted when a
|
|
|
|
|
.B copy
|
|
|
|
|
operation is performed.
|
|
|
|
|
.PP
|
|
|
|
|
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.
|
|
|
|
|
.TP
|
|
|
|
|
.B open
|
|
|
|
|
Read and display a file. The name of the file is typed to the prompt
|
|
|
|
|
on the bottom line.
|
|
|
|
|
.TP
|
|
|
|
|
.B read
|
|
|
|
|
Reread a file.
|
|
|
|
|
.TP
|
|
|
|
|
.B write
|
|
|
|
|
Write a file.
|
|
|
|
|
.TP
|
|
|
|
|
.B copy
|
|
|
|
|
Use the copy function, default
|
|
|
|
|
.BR 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 the action.
|
|
|
|
|
.TP
|
|
|
|
|
.B char
|
|
|
|
|
As described above, open a magnified view of a character image in a subfont.
|
|
|
|
|
.TP
|
|
|
|
|
.B 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.
|
|
|
|
|
.TP
|
|
|
|
|
.B close
|
|
|
|
|
Close the specified image.
|
|
|
|
|
If the image is the unmagnified file, also close any magnified views of that file.
|
|
|
|
|
.TP
|
|
|
|
|
.B exit
|
|
|
|
|
Quit
|
|
|
|
|
.IR tweak .
|
|
|
|
|
The program will complain once about modified but unwritten files.
|
2021-01-16 17:30:50 +00:00
|
|
|
|
.PP
|
|
|
|
|
.I Tweak
|
|
|
|
|
listens to the
|
|
|
|
|
.I plumber
|
|
|
|
|
channel
|
|
|
|
|
.B imageedit
|
|
|
|
|
for filenames as well as image data. Plumbed image data is stored as files in
|
|
|
|
|
.B /tmp
|
|
|
|
|
and is automatically cleaned when exiting
|
|
|
|
|
.IR tweak .
|
2011-03-30 13:49:47 +00:00
|
|
|
|
.SH SOURCE
|
|
|
|
|
.B /sys/src/cmd/tweak.c
|
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
|
.IR cachechars (2),
|
|
|
|
|
.IR image (6),
|
|
|
|
|
.IR font (6)
|
|
|
|
|
.SH BUGS
|
|
|
|
|
For a program written to adjust width tables in fonts,
|
|
|
|
|
.I tweak
|
|
|
|
|
has been pushed unreasonably far.
|