Font Edit
From winsbydefault wiki
Font Edit is a simple application for creating custom display fonts for electronical devices.
Contents |
General information
The application is in no way an automatic way of sending letters to an electronical device such as an LCD, it is merely a tool for drawing fonts and map them to a character and save to a file so that another application can read the font file, and translate text characters into a displayable format.
File format
By default, The application will use a simple format called XFont1.
However, The file format can be changed by swapping io.dll to another one that uses the desired format.
XFont1
XFont1 is a very simple headerless, fixed row format.
It uses a standard of 7 rows, but permits a dynamic width of each individual letter. (1-255 width), It stores data as the following way:
Designation Width Column* |
Designation, Width, and Column, is 1 byte each.
| Designation | Is the character the letter is mapped to, defined in ascii. |
| Width | Is the amount of columns the letter has |
| Column | Is the column data, The first bit of the column represents the top row, likewise the 7th bit represents the last row. 1 = lit, 0 = unlit. The last bit is never used in XFont1 |
Each letter will have as many column bytes as width specifies, thus, A letter with the width of 3 will have 3 bytes worth of column data repeated after each other.
Consider the following an example of a 3 column letter 'A'
| 0 | 1 | 2 | 3 |
|---|---|---|---|
| 1 | 0 | 1 | 0 |
| 2 | 1 | 0 | 1 |
| 3 | 1 | 0 | 1 |
| 4 | 1 | 0 | 1 |
| 5 | 1 | 1 | 1 |
| 6 | 1 | 0 | 1 |
| 7 | 1 | 0 | 1 |
| 8 | 0 | 0 | 0 |
X = Column no#; Y = Bit no#
When the last column has been read, and the file is not EOF, it continues with a new letter, So just repeat the same process.
Download
TODO: Add link to SVN here