||MSX Font Editor
This project aims at developing a font editor for MSX, where it is possible to read, edit and save MSX 8x8 fonts. Thus, the editor is able to render PC fonts to export in MSX format and generate character mosaics.
The project MSX Font Editor aims at recreating the former Alfabeto Plus project on a modern programming environment as Java, improving its capacities and introducing the character mosaic tool.
The program interface is quite simple and intuitive to use, presenting buttons with icons and tooltips.
- Now it is possible to open and edit several fonts at the same time without loosing the work. This is due to the fact of each font has it own buffer, where it is possible to undo or redo the last operation in both font and character areas.
- The PC font rendering algorithm is now able to fit properly the characters on their spaces, without being necessary to make manual adjustments.
- The new mosaic tool makes possible to generate images on screens 0 and 1.
2. The Prototype
The Alfabeto Plus was the prototype developed for reading, modifying and saving MSX 8x8 character fonts. Thus, it was able to render PC fonts and export them to MSX.
How to use:
Alfabeto Plus is quite simple to use:
- Abrir: opens a MSX 8x8 file font.
- Salvar: saves a MSX 8x8 file font.
- Importar: imports a Windows font to editor.
- Fonte a importar: select an intalled font from Windows to import to the editor.
- b: applies the boldface to the imported font.
- i: applied the italic style to the imported font.
- Controle de posicionamento: Positioning control to ajust the imported font.
- <<: updates the edited letter on the font area.
The editor has two areas: the first one displaying all the 256 characters, where we select the letter to be edited on letter editor; the second one if the letter editor, where we can modify the letter design pixel by pixel.
To select one letter, left-click on the desired letter on the font area. Then change the pixel color by clicking on a pixel on the letter editor. One click on a pixel chage its state.
Manual - Manual in Portuguese.
3. Current version: MSX Font Editor
The program was developed in Java and can be executed from many platforms using the same binary file. To start the program, open a command window on your operating system and type:
java -jar mfe.jar
The main window when open, presents an empty font to the user to create a new MSX font.
The font area, located on the left side of the form, shows all the 256 characters from a font. The area located at the right bottom having a 8x8 pixels grid is the character edition area, designed to create or modify the characters.
To select a character, click on the respect character on the font area. The background color of the selected character is changed to blue and the "Selected character" changes to the corresponding ASCII code (see picture above). If you click on the same character, the selection is canceled and no one will be active.
The user must select a character before moving it to/from the character edition area. To copy a character from the font to the charcter area, click on ">>" button. To update the character created or modifyed, click on "<<" button.
To modify a character pixel on the character area, click on it. This operation always inverts the current pixel color.
The character edition has the following tools:
- Undo: undo the last operation.
- Redo: redo the last operation.
- Bold: change the character to bold.
- Italic: change the character to italic.
- Invert: invert all pixels.
- Erase: erase all pixels.
- Flip up/down: flips the character up/down.
- Mirror: mirror the charcter horizontally.
- Rotate: rotates the character 90 degrees clock-wise.
If you want to apply any of these operations on all characters, let the "ALL" button pressed. This button changes the area operation target.
For the empty font, just create each character and copy to the desired place on the font area.
To open a single or multiple files, first place them on the same directory, click on "Open" and select the files you want to open.
Use the browser area, located under the font area, to change the current font.
The button "Save" saves the active font.
Obs: the ".alf" file format is just a dump of MSX character table. On screen 0, we may get that table using the following Basic instruction:
The table is the same for screens 0 and 1, but they differ on the VRAM location. On screen 1, the character table starts at the position 0.
With mosaic tool it is possible to create pictures on screens 0 and 1 using 6x8 or 8x8 pixel blocks. This tool was already available on MSX graphic editor Graphos III, but only a few people knew about it.
The picture size is limited, once there are only 256 blocks available for drawing. This is the size of ASCII table.
MSX Font Editor uses PC monochrome (black & white) images to create the mosaics. It cuts and assemble automatically the blocks on the current font edited. In addiction, it it possible to export two types of Basic files: the first one that loads the font file containing the mosaic and print the picture on the screen, and the second that incorporates the mosaic in the program.
- Open - open a PC image to create the mosaic. It must be monochomatic, as seen on the pictures above.
- Save - saves the program in Basic to read the mosaic from a font file or with the mosaic included.
- Mosaic - Exports the mosaic to the current font on the "font editor", starting from the selected ASCII position.
- Close - Close the editor.
- Start at - ASCII table starting position to export the mosaic.
- Mosaic mode - mosaic for screen 0 (6x8 blocks) or screen 1 (8x8 blocks).
- Basic file type - Basic file type: "font file" reads mosaic from ".alf" or "data included", which includes the mosaic.
Both programs exported to Basic are able to assemble and print the mosaic automatically.
If you choose the "font file" option, it is necessary to save both ".alf" and ".bas" files. In addiction, you must change the generic name "FONT.ALF" in line 30 to the correponding font name.
After clicking on "Mosaic" button, the mosaic editor is closed and only the characters used on the mosaic are changed. To undo this operation, click on the "Undo" button with "ALL" pressed.
mfe_v1.zip - MSX Fonte Editor Java binaries.
mfe_v1_src.zip - MSX Fonte Editor source code.
uml.gif - Project's UML diagram.
Author: Marcelo Silveira
License: GNU-GPL v. 3.x - http://www.gnu.org/licenses/gpl-3.0.txt.
img2shp - tutorial on how to generate images to use on mosaic tool.
Obs: the program img2shp can be found at tools section.
exemplos.zip - Some mosaic examples for MSX, including the original image.
fontes.zip - Two MSX font files.