bitedit bit editor Andrew McGill, andrew at ledge dot co.za Document revision 0.2, 15 May 2003 bitedit is a simple ncurses program for editing a file. It allows direct editing of the individual bits in a graphical fashion. This is useful for directly editing existing bitmap font files, such as linux psf and psfu font files. ______________________________________________________________________ Table of Contents 1. Introduction 2. Compiling 3. Invoking 4. Keys 4.1 Movement keys 4.2 Display control 4.3 Editing keys 4.4 Saving and stuff ______________________________________________________________________ 1. Introduction bitedit is a ncurses program for editing a file. It allows direct editing of the individual bits in a graphical fashion. This is useful for editing existing bitmap font files, such as linux psf and psfu font files. bitedit is a rather simple program (at the moment) (and it will probably stay this way). It does not attempt to interpret the data it is displaying, beyond showing the bits of the data file on the screen graphically. 2. Compiling If make doesn't do it for you, and you are really excited about this program, send your problem report to me, or, even better, a patch. 3. Invoking To run the program, you need a file containing the data you want to edit. Although the program works perfectly well in an X terminal, the testing of your bitmap is not as satisfying outside of the linux console environment: cp /usr/lib/kbd/consolefonts/fonttoedit.psfu.gz . gunzip fonttoedit.psfu.gz ./bitedit fonttoedit.psfu setfont fonttoedit.psfu The following command line options are supported: +o -t 'command' - use the supplied command instead of `setfont' to test the changes to the file you are editing. +o -m - mirror +o -1 - 1 byte display width (default) +o -2 - 2 byte display width (default) +o -3 - 3 byte display width (default) +o -4 - 4 byte display width (default) 4. Keys The keys you use for editing and movement are similar to the vi keystrokes: 4.1. Movement keys These are the keys to move the cursor in the editing area and edit. +o h - move left +o j - move down +o k - move up +o l - move right +o PgUp, b - Move a page towards the top of the file +o PgDn, n, Ctrl+D - Move a page towards the end of the file +o 0 - zero, followed by a number, repeats the next command that many times. So, for example, if you type 020j, you will move 20 lines down - like in vi, but not quite as useful. This is probably the only way to get to where you want to be in a huge file. 4.2. Display control These are the keys to change the format of the display. +o < - Scroll the viewing window left by 1 byte without changing the cursor position +o > - Scroll the viewing window right by 1 byte without changing the cursor position +o 1, 2, 3, 4 - set the width of the display (ie. one, two, three or four bytes on a line) +o Ctrl+L - Redraw the display (if corrupted by the output of a program) +o m - mirror each byte from left to right. This is useful for some fonts. 4.3. Editing keys These are the keys that make changes to the data in memory. +o H - move left, changing current bit +o J - move down, changing current bit +o K - move up, changing current bit +o L - move right, changing current bit +o Space - flip current bit +o Enter - Set current bit +o Backspace - Clear current bit There is (currently) no undo function. 4.4. Saving and stuff The keys to manage the file are: +o w - write file to disk. You cannot change the name of the file -- it is always the file name invoked from the command line. +o t - test bitmap ... this is hard-coded to run setfont for the file you are editing. The program which is run can be changed from the default using the -t command line switch. An xsetfont.sh file is included for showing the ascii characters in an xterm. +o q - try to quit :), and print a message that SIGINT will do it.