Difference between revisions of "Xtf"
From xboxdevwiki
m |
m |
||
Line 30: | Line 30: | ||
** 4 byte (Offset of glyph in file) | ** 4 byte (Offset of glyph in file) | ||
* For each GLYPHSET range | * For each GLYPHSET range | ||
− | ** For each glyph in this range | + | ** For each glyph in this range (stored as a triangle strip) |
*** 2 byte (Index count) | *** 2 byte (Index count) | ||
*** 2 byte (Vertex count) | *** 2 byte (Vertex count) | ||
Line 39: | Line 39: | ||
**** 4 byte float (Y-coordinate) | **** 4 byte float (Y-coordinate) | ||
− | + | ||
{{FIXME|reason=Confirm these findings and format them better}} | {{FIXME|reason=Confirm these findings and format them better}} |
Revision as of 15:35, 12 September 2017
XTF is a font file format used in the Dashboard. It became famous for being exploited.
Dashboard fonts
The dashboard fonts were designed by Steve Matteson of Ascdender Corporation for use on the Xbox. Matteson had already created many of Microsoft's Windows core fonts and would later create the Convection fonts used on the Xbox 360.
Each font contain 7365 glyphs.
Xbox.xtf
A monospace font.
XBox Book.xtf
File format
- 4 byte (magic)
- 4 byte (length prefix for following string)
- zero-terminated string with given buffer length (font-name)
- GLYPHSET (List of supported glyphs)
- For each cGlyphsSupported:
- GLYPHMETRICSFLOAT (Metrics for each glyph)
- 4 byte (Offset of glyph in file)
- For each GLYPHSET range
- For each glyph in this range (stored as a triangle strip)
- 2 byte (Index count)
- 2 byte (Vertex count)
- For each index:
- 2 byte (Vertex index)
- For each vertex:
- 4 byte float (X-coordinate)
- 4 byte float (Y-coordinate)
- For each glyph in this range (stored as a triangle strip)
[FIXME]