|
|
Line 109: |
Line 109: |
| |} | | |} |
|
| |
|
| Character glyphs may be 1, 2, 4 or 8 bits per pixel, and can be masked.
| | The format is otherwise identical to the V4 format described above. |
| | |
| The colour map contains the colours each pixel of the character glyph | |
| is drawn as. Pixel value 0 is used for transparency; the other values are
| |
| mapped using the color map in the header.
| |
| | |
| The character data pointers contain the offset, relative to the byte
| |
| after the end of the colour map (byte 29), of the character data.
| |
| This can be 0 if that particular character is not encoded in the character
| |
| set. The character data itself is formatted as follows:
| |
| | |
| {| border="1" cellpadding="2" cellspacing="0"
| |
| !Size !! Type !! Description
| |
| |-
| |
| |1 || byte || width of character
| |
| |-
| |
| |1 || byte || height of character
| |
| |-
| |
| |1 || byte || X offset
| |
| |-
| |
| |1 || byte || Y offset
| |
| |-
| |
| |many || bytes... || glyph data bitstream
| |
| |}
| |
| | |
| The X and Y offsets are added to the screen coordinates of the top-left
| |
| corner of the glyph before drawing. This is useful for, say, shadowed
| |
| text. Needless to say, glyphs don't all have to be the same size,
| |
| although in all the examples I have they are the same height.
| |
| | |
| The data bitstream encodes the pixels in the glyph in left-to-right,
| |
| top-to-bottom order. Multiple pixels are encoded per byte. The pixels
| |
| are arranged in big-endian format; so, the first pixel in the stream
| |
| is in the top bits of the first data byte; then the bits below that;
| |
| and so on. For example, at one bit per pixel:
| |
| | |
| <pre>
| |
| Bit position: 7 0 7 0 ...
| |
| Words of data: 01234567 89ABCDEF
| |
| </pre>
| |
| | |
| At two bits per pixel:
| |
| | |
| <pre>
| |
| Bit position: 7 0 7 0 ...
| |
| Words of data: 00112233 44556677
| |
| </pre>
| |
| | |
| And at four bits per pixel:
| |
| | |
| <pre>
| |
| Bit position: 7 0 7 1 ...
| |
| Words of data: 00001111 22223333
| |
| </pre>
| |
|
| |
|
| === NUT (V7 & V8) charset format === | | === NUT (V7 & V8) charset format === |
|
| |
|
| TODO | | TODO |