|  | .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. |