# TWL Bitmap Font

## Overview

The TWL-SDK includes a font resource called the TWL bitmap font.

The TWL bitmap font is in the NITRO Font (NFTR) format described in TWL-System. An explanation of the NITRO font format, as well as a library for drawing characters using NITRO fonts, is included in TWL-System. Be sure to get the TWL-System package, which is provided separately.

You can convert NITRO fonts into bitmap format by using `fontcvtr.exe` in TWL-System. When doing so, use the TWL bitmap font table for the character order file (XLOR).

The TWL bitmap font is built into the TWL system as one of the system's internal fonts.
NAND applications can use the system's internal fonts, so the TWL bitmap font can be used even if it is not included in an SRL.
See Internal Fonts for more about the system's internal fonts. However, extended fonts for the Korean systems are large, so they are not embedded in the system. Include them in SRL.
Also, card applications cannot use the system's internal fonts, so be sure to include them in the SRL.

## License

You can use the TWL bitmap font freely for NITRO or TWL applications. For fonts other than those in Chinese versions, the use of effects such as shadows or outlines is also acceptable. Do not modify Chinese version fonts.

## Location

TWL bitmap fonts are in the TWL-SDK `$TwlSDK/data/font` directory. There are 3 NFTR in this directory. However, the glyph designs are all the same; only size differs.

Chinese versions and Korean versions use the same glyphs for both Medium and Small size fonts; visually, character sizes do not change.

Fonts for worldwide systems
Filename | Description
--- | ---
tbf_ww_l.NFTR | Large TWL bitmap font
tbf_ww_m.NFTR | Medium TWL bitmap font
tbf_ww_s.NFTR | Small TWL bitmap font

Fonts for Chinese systems
Filename | Description
--- | ---
tbf_cn_l.NFTR | Large TWL bitmap font
tbf_cn_m.NFTR | Medium TWL bitmap font
tbf_cn_s.NFTR | Small TWL bitmap font

Fonts for Korean systems
Filename | Description
--- | ---
tbf_kr_l.NFTR | Large TWL bitmap font
tbf_kr_m.NFTR | Medium TWL bitmap font
tbf_kr_s.NFTR | Small TWL bitmap font

Extended fonts for Korean systems
Filename | Description
--- | ---
tbf_kr_ex_l.NFTR | Large TWL bitmap font
tbf_kr_ex_m.NFTR | Medium TWL bitmap font
tbf_kr_ex_s.NFTR | Small TWL bitmap font

## Font Parameters

The NITRO Font parameters for the TWL bitmap font are shown in the table below. See the documentation for TWL-System for the meaning of the various terms.

Fonts for worldwide systems
Size | Large | Medium | Small
--- | --- | --- | ---
Data size | 668,280 bytes | 403,140 bytes | 270,572 bytes
Cell width | 16 px | 12 px | 10 px
Cell height | 21 px | 16 px | 12 px
Baseline position | 17 px | 13 px | 10 px
Maximum character width | 17 px | 13 px | 11 px
Linefeed size | 21 px | 16 px | 12 px
bpp | 2 bits/pixel (4 levels)
Alternate characters | U+0020 (half-width space)
Encoding | UTF-16

Fonts for Chinese systems
Size | Large | Medium | Small
--- | --- | --- | ---
Data size | 712,264 bytes | 429,736 bytes | 359,104 bytes
Cell width | 16 px | 12 px | 12 px
Cell height | 21 px | 16 px | 13 px
Baseline position | 17 px | 13 px | 11 px
Maximum character width | 16 px | 13 px | 12 px
Linefeed size | 21 px | 16 px | 13 px
bpp | 2 bit/pixel (two tones, two intermediate colors not used)
Alternate characters | U+0020 (half-width space)
Encoding | UTF-16

Fonts for Korean systems (common with extended fonts)
Size | Large | Medium | Small
--- | --- | --- | ---
Data size | 332,220 bytes | 199,776 bytes | 155,628 bytes
Cell width | 16 px | 12 px | 12 px
Cell height | 21 px | 16 px | 12 px
Baseline position | 17 px | 13 px | 10 px
Maximum character width | 16 px | 12 px | 12 px
Linefeed size | 21 px | 16 px | 12 px
bpp | 2 bit/pixel (two tones, two intermediate colors not used)
Alternate characters | U+0020 (half-width space)
Encoding | UTF-16

## Character Sets

The internal fonts more or less cover the following character sets. The encoding is UTF-16.

Fonts for worldwide systems | Fonts for Chinese systems | Fonts for Korean systems | Extended fonts for Korean systems
--- | --- | --- | ---

- ASCII
- ISO 8859-1
- ISO 8859-7
- CP 932
- CP 1252
- CP 1253
- JIS X0201
- JIS X0208
- DS External
- Wii External

- ASCII
- ISO 8859-1
- ISO 8859-7
- CP 1252
- CP 1253
- Full Width ASCII 94
- Hirakana Katakana 169
- Hanzi Common Level1 2500
- Hanzi Common Level2 998
- GB2312
- DS External
- Wii External

- ASCII
- ISO 8859-1
- ISO 8859-7
- CP 1252
- CP 1253
- Full Width ASCII 94
- Hirakana Katakana 169
- Hangul Symbol 539
- Hangul Jamo Compatibility 94
- KSX1001 2350
- DS External
- Wii External

- Fonts for Korean systems
- Hangul Additional 8822

## Glyph Images

Links to glyph lists for each font are listed below for reference.

A known bug is that a 1-pixel right-side space normally provided for other characters is not allocated for U+E06B ("?", the fifth character from the right in the third row) in small Wii external fonts for Chinese system fonts. Be aware that Nintendo has no plans to fix this in the future.

Fonts for worldwide systems
Glyph type | Glyph image
--- | ---
ASCII | (Large Font) (Medium Font) (Small Font)
Western European characters | (Large Font) (Medium Font) (Small Font)
JIS X0201 Katakana | (Large Font) (Medium Font) (Small Font)
JIS X0208 Hiragana, Katakana, and Symbols | (Large Font) (Medium Font) (Small Font)
JIS X0208 Kanji Level 1 | (Large Font) (Medium Font) (Small Font)
JIS X0208 Kanji Level 2 | (Large Font) (Medium Font) (Small Font)
DS External | (Large Font) (Medium Font) (Small Font)
Wii External | (Large Font) (Medium Font) (Small Font)

Fonts for Chinese systems
Glyph type | Glyph image
--- | ---
ASCII | (Large Font) (Medium Font) (Small Font)
Western European characters | (Large Font) (Medium Font) (Small Font)
Full Width ASCII 94 | (Large Font) (Medium Font) (Small Font)
Hirakana Katakana 169 | (Large Font) (Medium Font) (Small Font)
Hanzi Common Level1 | (Large Font) (Medium Font) (Small Font)
Hanzi Common Level2 | (Large Font) (Medium Font) (Small Font)
GB2312 | (Large Font) (Medium Font) (Small Font)
DS External | (Large Font) (Medium Font) (Small Font)
Wii External | (Large Font) (Medium Font) (Small Font)

Fonts for Korean systems
Glyph type | Glyph image
--- | ---
ASCII | (Large Font) (Medium Font) (Small Font)
Western European characters | (Large Font) (Medium Font) (Small Font)
Full Width ASCII 94 | (Large Font) (Medium Font) (Small Font)
Hirakana Katakana 169 | (Large Font) (Medium Font) (Small Font)
Hangul Symbol 539 | (Large Font) (Medium Font) (Small Font)
Hangul Jamo Compatibility 94 | (Large Font) (Medium Font) (Small Font)
KSX1001 2350 | (Large Font) (Medium Font) (Small Font)
DS External | (Large Font) (Medium Font) (Small Font)
Wii External | (Large Font) (Medium Font) (Small Font)

Extended fonts for Korean systems
Glyph type | Glyph image
--- | ---
Hangul Additional 8822 | (Large Font) (Medium Font) (Small Font)

## Revision History

2009/07/06 Added extended font information for Korea.
2009/06/24 Corrected data sizes for worldwide systems; corrected baseline position for small size to 10; added description of `fontcvtr.exe` order file; added description of font information for China and Korea.
2008/09/16 Initial version.

CONFIDENTIAL