| .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 (7)); |
| and the subfont's |
| .BR n , |
| .BR height , |
| and |
| .B ascent |
| as defined in |
| .IR cachechars (3). |
| .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 (3); |
| 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. |
| .SH SOURCE |
| .B \*9/src/cmd/draw/tweak.c |
| .SH "SEE ALSO" |
| .IR cachechars (3), |
| .IR image (7), |
| .IR font (7) |
| .SH BUGS |
| For a program written to adjust width tables in fonts, |
| .I tweak |
| has been pushed unreasonably far. |