Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-6) was last changed on 22-Jan-2025 21:25 by Garhoogin

This page was created on 20-Oct-2024 03:27 by Garhoogin

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 changed one line
JNFR Files (jnlib font resource) store font information. These files are present in the DS firmware program and Mario Kart DS's Kiosk Demo. The format is different in the two cases. This page will outline these formats.
BNFR Files (jnlib font resource) store font information. These files are present in the DS firmware program and Mario Kart DS's Kiosk Demo. The format is different in the two cases. This page will outline these formats.
At line 3 added 22 lines
!! Format Version 1.1
This version of the format predates version 1.2 and requires the use of a supplemental character map file in the form of a [BNCMP file|BNCMP File Format]. The header takes the following structure:
||Offset||Type||Meaning
| 0x00 | char[[4] | File signature ({{{"JNFR"}}})
| 0x04 | u16 | Version ({{{0x101}}} for 1.1)
| 0x06 | u16 | Number of glyphs
| 0x08 | u16 | Glyph size. Low 5 bits are glyph width in pixels, the next 5 bits are the glyph height.
Following the header is the glyph width array. These entries take the following structure:
||Offset||Type||Meaning
| 0x00 | u8 | Glyph leading overlap
| 0x01 | u8 | Glyph width
Following the glyph width array is the glyph pixel data, which consists of 1-bit-per-pixel bitmap data where each cell's size in bytes is rounded up to a multiple of 2 bytes.
!! Format Version 1.2
This version of the format appears in the DS firmware program (IPL2). The format is identical to version 1.1, except that the header is updated to version 1.2, and is meant to be used with BNCMP version 1.2.
At line 9 changed 2 lines
| 0x04 | u16 | Version (0x200)
| 0x06 | u16 | Endianness (0xFEFF in the used endianness)
| 0x04 | u16 | Version ({{{0x200}}} for 2.0)
| 0x06 | u16 | Endianness ({{{0xFEFF}}} in the used endianness)
At line 55 added 2 lines
Next is the glyph pixel data, which consists of 1-bit-per-pixel bitmap data.
At line 35 changed one line
The {{{WID1}}} block stores font glyph width information.
The {{{WID1}}} block stores font glyph width information. Its structure is the following:
At line 61 added 11 lines
||Offset||Type||Meaning
| 0x08 | u32 | Offset to width data
| 0x0C | u16 | Number of entries
| 0x0E | u16 | Reserved (0)
Each entry in the width table takes the following structure:
||Offset||Type||Meaning
| 0x00 | u8 | Glyph leading overlap
| 0x01 | u8 | Glyph width
At line 39 changed one line
The {{{CMP1}}} block stores the character mapping information.
The {{{CMP1}}} block stores the character mapping information. Its structure is the following:
At line 76 added 13 lines
||Offset||Type||Meaning
| 0x08 | u32 | Offset to continuous entries
| 0x0C | u32 | Offset to direct entries
| 0x10 | u16 | Number of continuous entries
| 0x12 | u16 | Number of direct entries
The continuous mapping entries define the ranges of code points the font has glyphs for. Each code point within the set of contained code points have incrementing glyph indices. The continuous mapping entry takes this structure:
||Offset||type||Meaning
| 0x00 | u16 | Starting code point
| 0x02 | u16 | Ending code point (inclusive)
Next is the direct entries. If a glyph is not found in the continuous glyph map, the direct map is searched next. Each direct entry is a single {{{u16}}} code point. Glyph indices for the direct map come after those in the continuous map.
Version Date Modified Size Author Changes ... Change note
6 22-Jan-2025 21:25 3.838 kB Garhoogin to previous Add notes about version 1.1
5 22-Jan-2025 20:41 3.606 kB Garhoogin to previous | to last BCMP File Format ==> BNCMP File Format
4 22-Jan-2025 20:08 3.587 kB Garhoogin to previous | to last JNCM ==> BCMP File Format
3 22-Jan-2025 20:07 3.563 kB Garhoogin to previous | to last JNFR ==> BNFR File Format
2 20-Oct-2024 21:05 3.563 kB Garhoogin to previous | to last Add more JNFR info
1 20-Oct-2024 03:27 1.506 kB Garhoogin to last Start documenting JNFR file format
« This page (revision-6) was last changed on 22-Jan-2025 21:25 by Garhoogin