TWEAK(1)                                                 TWEAK(1)

     NAME
          tweak - edit bitmap files, subfont files, face files, etc.

     SYNOPSIS
          tweak [ file ... ]

     DESCRIPTION
          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 8½ window.  Under each bitmap is displayed one
          or two lines of text presenting 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
          cachechars(2).

          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 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 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
          8½, that encloses the portion of the image to be magnified.
          (If the file is 16×16 or smaller, tweak will just magnify

     TWEAK(1)                                                 TWEAK(1)

          the entire file; no sweeping is necessary.)

          Depressing buttons 1 and 2 within magnified images changes
          pixel values.  By default, button 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 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 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 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.

     TWEAK(1)                                                 TWEAK(1)

          char As described above, open a magnified view of a charac-
               ter image in a subfont.

          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.

          To clear blocks of pixels, use copy with function 0.

     SOURCE
          /sys/src/cmd/tweak.c

     SEE ALSO
          art(1), cachechars(2), bitmap(6), font(6)