JNCM Files (jnlib character map) store character mapping information for fonts. These provide the mapping information required to map character code points to glyphs in a [JNFR File|JNFR]. !! Version 1.2 Version 1.2 is the version of the file format that is used in the DS firmware program. The header takes on the following structure: ||Offset||Type||Meaning | 0x00 | char[[4]| Signature ({{{"JNCM"}}}) | 0x04 | u16 | Version ({{{0x0102}}} for 1.2) | 0x06 | u16 | Number of code points Following the file header is the character mapping info: ||Offset||Type||Meaning | 0x00 | u32 | Offset to continuous character mapping info (relative to this struct) | 0x04 | u32 | Offset to direct character mapping info (relative to this struct) The continuous character mapping info takes the following structure: ||Offset||Type||Meaning | 0x00 | u16 | Number of continuous mapping blocks This is followed by an array of continuous mapping blocks: ||Offset||Type||Meaning | 0x00 | u16 | Starting code point | 0x02 | u16 | Ending code point (inclusive) The file format includes a mechanism for specifying individual code points. These are specified in the direct code point block. ||Offset||Type||Meaning | 0x00 | u16 | Number of entries | 0x02 | u16[[...] | Array of code points Code points are mapped to glyph indices sequentially starting in the continuous mapping blocks, then the direct mapping block.