Editing XMB Fonts

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 6: Line 6:
In PS3 firmware 2.00 it was added a feature that allows the user to select the font style in [[XMB]] column {{icon category settings}}->[''Theme settings'']->[''Font''] from the default "original", "rounded", or "pop". This same setting can be modifyed by installing a [[PlayStation 3 Theme (P3T)|.p3t theme]] and theoretically the setting should be stored in the list of "user settings" inside [[XRegistry.sys]]
In PS3 firmware 2.00 it was added a feature that allows the user to select the font style in [[XMB]] column {{icon category settings}}->[''Theme settings'']->[''Font''] from the default "original", "rounded", or "pop". This same setting can be modifyed by installing a [[PlayStation 3 Theme (P3T)|.p3t theme]] and theoretically the setting should be stored in the list of "user settings" inside [[XRegistry.sys]]


The font file that will be used to display the texts is chosen by the PS3 firmware based on the [[Languages|language]] setting
The font file that will be used to display the texts is choosen by the PS3 firmware based on the [[Languages|language]] setting


Some parts of the firmware specifies the font style that will be used by using a "font family" as can be seen in [[RCOXML Fonts]], there is not a known complete list of all the font families used by the system though. And is possible to change color, size, shadow and other text effects in the [[RCOXML Objects]] related
Some parts of the firmware specifyes the font style that will be used by using his "font familly" as can be seen in [[RCOXML Fonts]], there is not a known complete list of all the font families used by the system though. And is posible to change color, size, shadow and other text effects in the [[RCOXML Objects]] related


Some error codes are specific for fonts as [[Error_Codes#Debug_errors|Debug font error codes]], and [[Error_Codes#Font_errors|Font error codes]] where can be seen how the firmware uses the codenames "fontset" and "glyph"
Some error codes are specific for fonts as [[Error_Codes#Debug_errors|Debug font error codes]], and [[Error_Codes#Font_errors|Font error codes]] where can be seen how the firmware uses the codenames "fontset" and "glyph"


Other parts of the firmware as the blu-ray player software, the PSP emulator, or the web browser uses its specific fonts that cant be considered "system fonts"
Other parts of the firmware as the blu-ray player software, the PSP emulator, or the webbrowser uses its specific fonts tthat cant be considered "system fonts"


=Using PS3 fonts in PC=
=Using PS3 fonts in PC=
Line 48: Line 48:
|- bgcolor="#cccccc"
|- bgcolor="#cccccc"
! style="text-align:left;" | DFHeiW5-A
! style="text-align:left;" | DFHeiW5-A
| 1.10-{{latestPS3}} || SCE-PS3-DH-R-CGB.TTF || <small>8298536755af9d0c51350dccf84e0f60</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}}
| 1.10-{{latest}} || SCE-PS3-DH-R-CGB.TTF || <small>8298536755af9d0c51350dccf84e0f60</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}}
|-
|-
! style="text-align:left;" | SCE-PS3 Capie KANA Regular
! style="text-align:left;" | SCE-PS3 Capie KANA Regular
| 1.90-{{latestPS3}} || SCE-PS3-CP-R-KANA.TTF || <small>56eeef6f0bf4304cbb25c3a34d5415dd</small> || ? || ?? || ??? || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}}
| 1.90-{{latest}} || SCE-PS3-CP-R-KANA.TTF || <small>56eeef6f0bf4304cbb25c3a34d5415dd</small> || ? || ?? || ??? || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Matisse LATIN Bold
! style="text-align:left;" | SCE-PS3 Matisse LATIN Bold
| 1.00-{{latestPS3}} || SCE-PS3-MT-B-LATIN.TTF || <small>633730e312abf51d4e2c245fc318d381</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-MT-B-LATIN.TTF || <small>633730e312abf51d4e2c245fc318d381</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Matisse LATIN BoldItalic
! style="text-align:left;" | SCE-PS3 Matisse LATIN BoldItalic
| 1.00-{{latestPS3}} || SCE-PS3-MT-BI-LATIN.TTF || <small>ccd8c529ef0b695111f2615b1093e38d</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-MT-BI-LATIN.TTF || <small>ccd8c529ef0b695111f2615b1093e38d</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Matisse LATIN Italic
! style="text-align:left;" | SCE-PS3 Matisse LATIN Italic
| 1.00-{{latestPS3}} || SCE-PS3-MT-I-LATIN.TTF || <small>d15017f2fed8196cd7bee5404f3be6d0</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-MT-I-LATIN.TTF || <small>d15017f2fed8196cd7bee5404f3be6d0</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Matisse LATIN Regular
! style="text-align:left;" | SCE-PS3 Matisse LATIN Regular
| 1.00-{{latestPS3}} || SCE-PS3-MT-R-LATIN.TTF || <small>252116679f1f593306a1f712f3de1ee2</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-MT-R-LATIN.TTF || <small>252116679f1f593306a1f712f3de1ee2</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" rowspan="2" | SCE-PS3 NewRodin EXT Regular
! style="text-align:left;" rowspan="2" | SCE-PS3 NewRodin EXT Regular
| 1.00-1.54 || rowspan="2" | SCE-PS3-NR-R-EXT.TTF || bgcolor="#ffcccc" | <small>011e1bda9c6b4be8a5919a01d65ccd05</small> || ? || ?? || ??? || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}
| 1.00-1.54 || rowspan="2" | SCE-PS3-NR-R-EXT.TTF || bgcolor="#ffcccc" | <small>011e1bda9c6b4be8a5919a01d65ccd05</small> || ? || ?? || ??? || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}
|-
|-
| 1.60-{{latestPS3}} || bgcolor="#ccffcc" | <small>2093744c3265d64e1a211994ed1c9f66</small> || ? || ?? || ??? || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}
| 1.60-{{latest}} || bgcolor="#ccffcc" | <small>2093744c3265d64e1a211994ed1c9f66</small> || ? || ?? || ??? || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}
|-
|-
! style="text-align:left;" | SCE-PS3 NewRodin JPN Bold
! style="text-align:left;" | SCE-PS3 NewRodin JPN Bold
| 1.00-{{latestPS3}} || SCE-PS3-NR-B-JPN.TTF || <small>de91673a29236ba6db2b5bff43517a82</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}  || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-NR-B-JPN.TTF || <small>de91673a29236ba6db2b5bff43517a82</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}  || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}
|-
|-
! style="text-align:left;" rowspan="2" | SCE-PS3 NewRodin JPN Light
! style="text-align:left;" rowspan="2" | SCE-PS3 NewRodin JPN Light
| 1.00-1.94 || rowspan="2" | SCE-PS3-NR-L-JPN.TTF || bgcolor="#ffcccc" | <small>93d3cdf914e6fdf860b2c88b1007e709</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}
| 1.00-1.94 || rowspan="2" | SCE-PS3-NR-L-JPN.TTF || bgcolor="#ffcccc" | <small>93d3cdf914e6fdf860b2c88b1007e709</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}
|-
|-
| 2.00-{{latestPS3}} || bgcolor="#ccffcc" | <small>e2a36a3567579222ede5fc037e0b4a72</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}
| 2.00-{{latest}} || bgcolor="#ccffcc" | <small>e2a36a3567579222ede5fc037e0b4a72</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 NewRodin JPN Regular
! style="text-align:left;" | SCE-PS3 NewRodin JPN Regular
| 1.00-{{latestPS3}} || SCE-PS3-NR-R-JPN.TTF || <small>0964fada1726d6c86bfd190b82955d0a</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-NR-R-JPN.TTF || <small>0964fada1726d6c86bfd190b82955d0a</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Rodin LATIN Bold
! style="text-align:left;" | SCE-PS3 Rodin LATIN Bold
| 1.00-{{latestPS3}} || SCE-PS3-RD-B-LATIN.TTF || <small>440399fc14b06e06e349ac00f5f90b99</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-RD-B-LATIN.TTF || <small>440399fc14b06e06e349ac00f5f90b99</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Rodin LATIN BoldItalic
! style="text-align:left;" | SCE-PS3 Rodin LATIN BoldItalic
| 1.00-{{latestPS3}} || SCE-PS3-RD-BI-LATIN.TTF || <small>aeb6defacc19d4de3badf6829dbc09de</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-RD-BI-LATIN.TTF || <small>aeb6defacc19d4de3badf6829dbc09de</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Rodin LATIN Italic
! style="text-align:left;" | SCE-PS3 Rodin LATIN Italic
| 1.00-{{latestPS3}} || SCE-PS3-RD-I-LATIN.TTF || <small>423c81d7808ca94b15609c5393bc8b95</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-RD-I-LATIN.TTF || <small>423c81d7808ca94b15609c5393bc8b95</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Rodin LATIN LightItalic
! style="text-align:left;" | SCE-PS3 Rodin LATIN LightItalic
| 1.00-{{latestPS3}} || SCE-PS3-RD-LI-LATIN.TTF || <small>56615610988819ee3f5ac330a4720229</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-RD-LI-LATIN.TTF || <small>56615610988819ee3f5ac330a4720229</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Rodin LATIN2 Bold
! style="text-align:left;" | SCE-PS3 Rodin LATIN2 Bold
| 2.70-{{latestPS3}} || SCE-PS3-RD-B-LATIN2.TTF || <small>4096b273f77b1fdb85edc41de8d5d0cb</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 2.70-{{latest}} || SCE-PS3-RD-B-LATIN2.TTF || <small>4096b273f77b1fdb85edc41de8d5d0cb</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Rodin LATIN Light
! style="text-align:left;" | SCE-PS3 Rodin LATIN Light
| 1.00-{{latestPS3}} || SCE-PS3-RD-L-LATIN.TTF || <small>3bedb71fcfc5945c97e424801ed5655d</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-RD-L-LATIN.TTF || <small>3bedb71fcfc5945c97e424801ed5655d</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Rodin LATIN2 Light
! style="text-align:left;" | SCE-PS3 Rodin LATIN2 Light
| 2.70-{{latestPS3}} || SCE-PS3-RD-L-LATIN2.TTF || <small>331d540c72c733e727d1ad5d17bfffdf</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 2.70-{{latest}} || SCE-PS3-RD-L-LATIN2.TTF || <small>331d540c72c733e727d1ad5d17bfffdf</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Rodin LATIN Regular
! style="text-align:left;" | SCE-PS3 Rodin LATIN Regular
| 1.00-{{latestPS3}} || SCE-PS3-RD-R-LATIN.TTF || <small>117aecd019bd546158723d04da2597b0</small> || {{Yes}} || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-RD-R-LATIN.TTF || <small>117aecd019bd546158723d04da2597b0</small> || {{Yes}} || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Rodin LATIN2 Regular
! style="text-align:left;" | SCE-PS3 Rodin LATIN2 Regular
| 2.70-{{latestPS3}} || SCE-PS3-RD-R-LATIN2.TTF || <small>d2928959ca2ec90b5311acc766878da9</small> || {{Yes}} || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 2.70-{{latest}} || SCE-PS3-RD-R-LATIN2.TTF || <small>d2928959ca2ec90b5311acc766878da9</small> || {{Yes}} || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Seurat EXT Regular
! style="text-align:left;" | SCE-PS3 Seurat EXT Regular
| 2.00-{{latestPS3}} || SCE-PS3-SR-R-EXT.TTF || <small>cb45f4bd16cfe0eb84b27781d3ec1618</small> || ? || ?? || ??? || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}
| 2.00-{{latest}} || SCE-PS3-SR-R-EXT.TTF || <small>cb45f4bd16cfe0eb84b27781d3ec1618</small> || ? || ?? || ??? || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}
|-
|-
! style="text-align:left;" | SCE-PS3 Seurat JPN Regular
! style="text-align:left;" | SCE-PS3 Seurat JPN Regular
| 1.00-{{latestPS3}} || SCE-PS3-SR-R-JPN.TTF || <small>139fd3f044eaf7abec4be15cadfd1b95</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-SR-R-JPN.TTF || <small>139fd3f044eaf7abec4be15cadfd1b95</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Seurat LATIN Regular
! style="text-align:left;" | SCE-PS3 Seurat LATIN Regular
| 1.90-{{latestPS3}} || SCE-PS3-SR-R-LATIN.TTF || <small>95b22135152d73a10b228eed7a6fc619</small> || ? || {{Yes}} || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 1.90-{{latest}} || SCE-PS3-SR-R-LATIN.TTF || <small>95b22135152d73a10b228eed7a6fc619</small> || ? || {{Yes}} || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 Seurat LATIN2 Regular
! style="text-align:left;" | SCE-PS3 Seurat LATIN2 Regular
| 3.10-{{latestPS3}} || SCE-PS3-SR-R-LATIN2.TTF || <small>2da9b59f0b6f128840059295a7bcb7c3</small> || ? || {{Yes}} || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 3.10-{{latest}} || SCE-PS3-SR-R-LATIN2.TTF || <small>2da9b59f0b6f128840059295a7bcb7c3</small> || ? || {{Yes}} || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 YD gd Bold
! style="text-align:left;" | SCE-PS3 YD gd Bold
| 1.00-{{latestPS3}} || SCE-PS3-YG-B-KOR.TTF || <small>1903b9af9343b5d66d8ffc69c2fb6cd6</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-YG-B-KOR.TTF || <small>1903b9af9343b5d66d8ffc69c2fb6cd6</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 YD gd Light
! style="text-align:left;" | SCE-PS3 YD gd Light
| 1.00-{{latestPS3}} || SCE-PS3-YG-L-KOR.TTF || <small>9de713abb39f6b80aaf9bdc7d115878a</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-YG-L-KOR.TTF || <small>9de713abb39f6b80aaf9bdc7d115878a</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | SCE-PS3 YD gd Medium
! style="text-align:left;" | SCE-PS3 YD gd Medium
| 1.00-{{latestPS3}} || SCE-PS3-YG-R-KOR.TTF || <small>07a1073f311e1e163f7ba6b85f9f4b6b</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}}
| 1.00-{{latest}} || SCE-PS3-YG-R-KOR.TTF || <small>07a1073f311e1e163f7ba6b85f9f4b6b</small> || ? || ?? || ??? || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | VAGRundschriftDLig
! style="text-align:left;" | VAGRundschriftDLig
| 2.00-{{latestPS3}} || SCE-PS3-VR-R-LATIN.TTF || <small>1f19bc8dd23bf62bfd2e1536cbb5c88a</small> || ? || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 2.00-{{latest}} || SCE-PS3-VR-R-LATIN.TTF || <small>1f19bc8dd23bf62bfd2e1536cbb5c88a</small> || ? || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
! style="text-align:left;" | VAGRundschriftDLig2
! style="text-align:left;" | VAGRundschriftDLig2
| 3.10-{{latestPS3}} || SCE-PS3-VR-R-LATIN2.TTF || <small>acd93157f7998933774b398740becb46</small> || ? || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
| 3.10-{{latest}} || SCE-PS3-VR-R-LATIN2.TTF || <small>acd93157f7998933774b398740becb46</small> || ? || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
|-
|-
|}
|}


==imagefont.bin==
==imagefont.bin==
<div style="float:right">[[File:Imagefont.bin PS3 4.60 contents (BUTTONS).jpg|600px|thumb|left|BUTTONS group, from "private use area" inside imagefont.bin PS3, with the UTF-8 hexadecimal value]]</div>
<div style="float:right">[[File:Charmap private use area.png|200px|thumb|left|"Private use" characters with the UTF-8 hexadecimal value]]</div>
The purpose of imafefont.bin is to override some of the glyps from the standard unicode character map used by the TTF files. Contains icons in high quality using colors, alpha, and optionally animations
*Contains some hundreds of glyphs (characters). Every glyph is compressed individually with zlib, are colored, and some are animated
 
<!--*Was added in PS3 firmware since 1.90 (long before [[Vsh.tar]] inclusion of codepage files was removed since 1.50)-->
===Formats and versions===
*imagefont.bin is used in several playstation consoles:
*There are two different imagefont.bin formats:
**PSP firmware: in path '''flash0:/font/imagefont.bin''' was added in PSP firmware around 5.00 (exists in 5.00, but not in 3.30 or older PSP firmwares)
**'''OLD'''
**PS3 firmware: in path '''dev_flash/vsh/resource/imagefont.bin''' (added since 1.90, used for PS3 VSH) and '''dev_flash/pspemu/flash0/font/imagefont.bin''' (added since 3.15, used for VSH inside PSP emulator)
***PSP: in path '''flash0:/font/imagefont.bin''' (added around 5.00, exists in 5.00, but not in 3.30 or older)
**PSvita firmware: in path '''vs0:data/external/font/emoji/imagefont.bin''' (in 3.30 or earlyer)
***PS3: in path '''dev_flash/pspemu/flash0/font/imagefont.bin''' (added since 3.15, used by PSP emulator VSH)
**PS4 ?
**'''NEW'''
***PS3: in path '''dev_flash/vsh/resource/imagefont.bin''' (added since 1.90, used by PS3 VSH)
***PSVita: in path '''vs0:data/external/font/emoji/imagefont.bin''' (in 3.30 or earlyer)
 
The older format is inherited from PSP firmware, the file exists in PSP firmware, and exists in PS3 firmware because is used by the PSP emulator inside PS3 firmware, this file structure is not explained here, for more info about it see: {{talk}} <!--main header seems to match partially with the new format, there is no index, and the compression algorithm is unknown, probably something inherited from PSP as RLZ-->
 
The new format is shared between PS3 and PSVita, the only difference is the endianess order of some values (because are different processor architectures), PS3 is big endian and PSVita little endian
 
The versions of this files listed in the tables below are refered to the exact binary that was included in either PS3 or PSVita firmwares
 
See also: [[Vsh.tar]]


{| class="wikitable sortable" style="font-size:small;"
{| class="wikitable sortable" style="font-size:small;"
|+PS3/PSVita imagefont.bin (NEW format)
|+PS3 devflash/vsh/resource/imagefont.bin
! rowspan="2" | Console !! rowspan="2" | Version<BR />(firmware) !! rowspan="2" | Size<BR />(bytes) !! rowspan="2" | Hash<BR />(MD5) !! colspan="2" | Header info !! rowspan="2" | Changes/Notes
! rowspan="2" | Version<BR />(firmware) !! rowspan="2" | Size<BR />(bytes) !! rowspan="2" | Hash<BR />(MD5) !! colspan="3" | Header info !! rowspan="2" | Remarks
|-
|-
! format_version ? !! index_entries
! format_version ? !! index_entries !! index_offset
|-
|-
| rowspan="6" | {{icon content ps3}} || [[1.90_CEX|1.90]]~[[1.94_CEX|1.94]] || 385816 || 3e74a50419c165f4208b84adcbf2881f || 0x0090 || 0x0129 || initial 297 icons, initial file format (prototype v0.90?)
| [[1.90_CEX|1.90]]~[[1.94_CEX|1.94]] || 385816 || 3e74a50419c165f4208b84adcbf2881f || 00 90 || 01 29 || 00 05 D0 88 ||  
|-
|-
| [[2.00_CEX|2.00]]~[[2.43_CEX|2.43]] || 386905 || 6b842156c0996e4c706fbdea919a040f || 0x0100 || 0x0129 || same 297 icons, final file format (v1.00?)
| [[2.00_CEX|2.00]]~[[2.43_CEX|2.43]] || 386905 || 6b842156c0996e4c706fbdea919a040f || 01 00 || 01 29 || 00 05 D4 C9 ||
|-
|-
| [[2.50_CEX|2.50]]~[[3.42_CEX|3.42]] || 416269 || 2da04c8caaec6012911b10fc3b829b10 || 0x0100 || 0x013E || added uF8A0 to uF8B5 (system icons)
| [[2.50_CEX|2.50]]~[[3.42_CEX|3.42]] || 416269 || 2da04c8caaec6012911b10fc3b829b10 || ? || ? || ? ||  
|-
|-
| [[3.50_CEX|3.50]]~[[3.66_CEX|3.66]] || 417620 || 6c03902f0342cc6e688c527b40ce0f7d || 0x0100 || 0x0140 || added uF8B6 (PSPlus icon)
| [[3.50_CEX|3.50]]~[[3.66_CEX|3.66]] || 417620 || 6c03902f0342cc6e688c527b40ce0f7d || 01 00 || 01 40 || 00 06 4B 54 ||
|-
| [[3.70_CEX|3.70]]~[[4.55_CEX|4.55]] || 420192 || 98e8f3545e04ad62da19c2fc63210cfd || 01 00 || 01 42 || 00 06 55 40 || added uF8B7, uF8B8 (headset icons)
|-
| [[4.60_CEX|4.60]]~{{latest}} || 424023 || 97daf9e7fff3a834bcf97c0c2240dced || 01 00 || 01 4C || 00 06 63 97 || added uF895, uF896, uF897, uF898, uF899, uF89A, uF89B, uF89C, uF89D, uF89E (playstation logos)
|-
|}
 
{| class="wikitable sortable" style="font-size:small;"
|+PS3 devflash/pspemu/flash0/font/imagefont.bin
! rowspan="2" | Version<BR />(firmware) !! rowspan="2" | Size<BR />(bytes) !! rowspan="2" | Hash<BR />(MD5) !! colspan="2" | Header info !! rowspan="2" | Remarks
|-
|-
| [[3.70_CEX|3.70]]~[[4.55_CEX|4.55]] || 420192 || 98e8f3545e04ad62da19c2fc63210cfd || 0x0100 || 0x0142 || added uF8B7 and uF8B8 (headset icons)
! format_version ? !! entries ?
|-
|-
| [[4.60_CEX|4.60]]~[[4.88_CEX|4.88]] || 424023 || 97daf9e7fff3a834bcf97c0c2240dced || 0x0100 || 0x014C || added uF895 to uF89E (playstation logos)
| [[3.15_CEX|3.15]]~{{latest}} || 12331 || ae560a9f0795096c9857052441bd8cec || 00 01 || 1A 00 || (in little endian). Composed by 4 bytes header + 9 areas starting with 0x05FF + 17 areas starting with padding and 0x05 (see below) + 12 areas starting with 0x07FF
|-
|-
| colspan="7" {{cellcolors|lightgrey}}
|}
 
*speculation
**rought list of unknown areas in between
***05BE, 05C1, 05AD, 05AA, 0599, 0580, 0593, 0596, 0593, 0593, 05A1, 05A6, 05A9, 05A9, 05B0, 05B0, 05A3
 
{| class="wikitable sortable" style="font-size:small;"
|+PSVita vs0:data/external/font/emoji/imagefont.bin
! rowspan="2" | Version<BR />(firmware) !! rowspan="2" | Size<BR />(bytes) !! rowspan="2" | Hash<BR />(MD5) !! colspan="2" | Header info !! rowspan="2" | Remarks
|-
|-
| rowspan="2" | {{icon content psvita}} || 3.30 || ? || ? || ? || ? || ?
! format_version ? !! entries ?
|-
|-
| 3.60 || 55110 || 59B8D380817083DEAF6B3C1CAE145507 || 0x0001 || 0x2D00 || 45 icons
| 3.60 || 55110 || 59B8D380817083DEAF6B3C1CAE145507 || 00 01 || 2D 00 || (in little endian)
|-
|-
|}
|}


===Structure===
===Structure===
The access to imagefont.bin contents is made by reading the first 8 bytes of the file (main header), then all the other areas are readed in a "bottom to top" order:
After reading the header the firmware loads the contents of imagefont.bin "from bottom to top" in this order:
# - Reads the header (at top of imagefont.bin), it tells where is located the index
# - reads the header (at top of imagefont.bin), in the header is specifyed where is located the index
# - Loads the index (at bottom of imagefont.bin), it tells where are located the palettes for all icons
# - reads the index (at bottom of imagefont.bin), in the index is specifyed where are located the palettes
# - Decompress and loads the palette for an icon (at middle of imagefont.bin), it tells where is/are located the image/s of the icon (one for static, or several for animated)
# - reads the palettes (at middle of imagefont.bin), in the palettes is specifyed where are located the image datas
# - Decompress and loads the image/s (at top of imagefont.bin)
# - reads the image data (at top of imagefont.bin)
Note : index and palette header structures of imagefont.bin from FW 1.90~1.94 are slightly different than next versions (prototype?). Following descriptions are applicable for imagefont.bin from FW 2.00+ .
 
{| class="wikitable"
|+Overview
! Area !! Remark
|-
| Header || Contains info about the index
|-
| Image data table || Composed by glyphs, compressed individually with zlib (glyphs are indexed in the palettes)
|-
| Palette table || Composed by color palettes, compressed individually with zlib (palettes are indexed in the index)
|-
| Index table || Composed by entries of 0x10 bytes lenght each
|-
|}


====Header====
====Header====
The header is only 0x8 bytes length, in it can be seen the '''format_version''' of the imagefont structure (this is speculative though, needs to be confirmed), the '''index_entries''' that in the practise is the same than the number of icons contained in the file, and the '''index_offset''' to locate the index
*0x8 bytes lenght
*The entries in the index are 0x10 bytes lenght. "number of entries in the index" multiplied by "lenght of an entry" = lenght of the whole index


{| class="wikitable"
{| class="wikitable"
|+imagefont.bin header
|+imagefont.bin header
! Offset !! Length !! Name !! Example !! Remark
! Offset !! Lenght !! Name !! Example [[4.60_CEX|4.60]]~{{latest}} !! Remark
|-
|-
| align="center" | 0x00 || align="center" | 0x02 || '''format_version''' ? || align="center" | 01 00 || File structure/features identifyer ?
| align="center" | 0x00 || align="center" | 0x02 || '''format_version''' ? || align="center" | 01 00 || format version ?
|-
|-
| align="center" | 0x02 || align="center" | 0x02 || '''index_entries''' || align="center" | 01 4C || Number of entries in the index... and ... number of icons contained
| align="center" | 0x02 || align="center" | 0x02 || '''index_entries''' || align="center" | 01 4C || number of entries in the index
|-
|-
| align="center" | 0x04 || align="center" | 0x04 || '''index_offset''' || align="center" | 00 06 63 97 || Index location (at bottom of imagefont.bin)
| align="center" | 0x04 || align="center" | 0x04 || '''index_offset''' || align="center" | 00 06 63 97 || index location (at bottom of imagefont.bin)
|-
|-
|}
|}


By reading the header can be deduced some additional infos about the index. We know every entry in the index is 0x10 bytes length so... '''index_entries''' * '''index_entry_length''' = '''index_length'''. Also '''index_offset''' + '''index_length''' = end of file
====Image data table====
 
From this point (after reading the header) the file access order "jumps" to the bottom of the file (to the index) so for wiki readers that are reading this for first time is suggested to scroll down the page and continue reading at the '''Index''' section
 
====Image table====


This is the first glyph, cropped and zlib decompressed individually, is "dualshock circle button" (U+F880 in unicode), every byte works as a color ID, the view mode has been changed to "26 bytes per row" in the hexeditor (for a representation of a 26 pixels width icon)
This is the first glyph, cropped and zlib decompressed individually, is "dualshock circle button" (U+F880 in unicode), every byte works as a color ID, the view mode has been changed to "26 bytes per row" in the hexeditor (for a representation of a 26 pixels width icon)
<table style="width:100%;">[[File:Imagefont.bin 1st glyph.jpg|350px|thumb|left|First glyph, pixel data of "dualshock circle button" (U+F880 in unicode) inside dev_flash/vsh/resource/imagefont.bin]]</table>
<table style="width:100%;">[[File:Imagefont.bin 1st glyph.jpg|350px|thumb|left|First glyph, pixel data of "dualshock circle button" (U+F880 in unicode) inside dev_flash/pspemu/flash0/font/imagefont.bin]]</table>


====Palette table====
====Palette table====
The palette table is composed by palettes of variable size, every palette is compressed individually in zlib format, palettes are concatenated without any padding and in the same order specifyed in the index (one palette for every index entry)
The palettes are composed by 3 areas, the header, the frames, and the colormap
 
A palette is composed by 3 areas, the '''palette header''', the '''palette frames table''', and the '''palette colormap'''


  Battery charging icon (U+F8AB, animated 4 frames) overview
  Battery charging icon (U+F8AB, animated 4 frames) overview
Line 240: Line 255:
  0000042E  <span style="background:#ff0000;">F9</span> <span style="background:#00ff00;">F9</span> <span style="background:#6666ff;">F9</span> <span style="background:#000000; color:#ffffff;">3F</span>  ùùù?          <- colormap id 0xFE
  0000042E  <span style="background:#ff0000;">F9</span> <span style="background:#00ff00;">F9</span> <span style="background:#6666ff;">F9</span> <span style="background:#000000; color:#ffffff;">3F</span>  ùùù?          <- colormap id 0xFE
  00000432  <span style="background:#ff0000;">FF</span> <span style="background:#00ff00;">FF</span> <span style="background:#6666ff;">FF</span> <span style="background:#000000; color:#ffffff;">00</span>  ÿÿÿ.          <- colormap id 0xFF
  00000432  <span style="background:#ff0000;">FF</span> <span style="background:#00ff00;">FF</span> <span style="background:#6666ff;">FF</span> <span style="background:#000000; color:#ffffff;">00</span>  ÿÿÿ.          <- colormap id 0xFF
=====Palette header=====
The info contained here can be differenced in two groups, '''colormap_count''' and '''colormap_bpp''' are the number of colors and color channels that are stored (a.k.a. indexed color) in the colormap area at bottom of the palette, '''frames_count''' and '''animation_time''' are the number of images of the icon and info about the animation
All this info from the palette header is used by all the images of the icon, this means animated icons needs to use the same colormap in the same format for all the images that composes the icon (in other words... all the images in an animated icon uses the same colormap)


{| class="wikitable" style="font-size:small;"
{| class="wikitable" style="font-size:small;"
|+Palette header (0x6 length)
|+Palette header (0x6 lenght)
! rowspan="2" | Offset !! rowspan="2" | Length !! rowspan="2" | Name !! colspan="5" | Examples !! rowspan="2" | Notes
! rowspan="2" | Offset !! rowspan="2" | Lenght !! rowspan="2" | Name !! colspan="5" | Examples !! rowspan="2" | Notes
|-
|-
! <abbr title="static. Is also the first in the index">uF880, button circle</abbr> !! <abbr title="animated, 1 frame. Is also the last in the index">uF6DF, zodiac pisces</abbr> !! <abbr title="animated, 2 frames">uF405, smiley laughing</abbr> !! <abbr title="animated, 3 frames">uF46F, weather raindrops</abbr> !! <abbr title="animated, 4 frames">uF8AB, battery charging</abbr>
! <abbr title="static. Is also the first in the index">uF880, button circle</abbr> !! <abbr title="animated, 1 frame. Is also the last in the index">uF6DF, zodiac pisces</abbr> !! <abbr title="animated, 2 frames">uF405, smiley laughing</abbr> !! <abbr title="animated, 3 frames">uF46F, weather raindrops</abbr> !! <abbr title="animated, 4 frames">uF8AB, battery charging</abbr>
Line 258: Line 268:
| 0x03 || 0x01 || '''frames_count''' || 01 || 01 || 02 || 03 || 04 || One for static, several for animated
| 0x03 || 0x01 || '''frames_count''' || 01 || 01 || 02 || 03 || 04 || One for static, several for animated
|-
|-
| 0x04 || 0x02 || '''animation_time''' || 00 00 || 00 3C || 00 78 || 00 B4 || 00 F0 || Is the sum of all frame_time
| 0x04 || 0x02 || '''animation_time''' ? || 00 00 || 00 3C || 00 78 || 00 B4 || 00 F0 || Is the sum of all frame_time
|}
|}
From here can be deduced some infos, we know every frame is 0xC length so... '''frames_count''' *  0xC = '''frames_table_length''' (the position where starts the colormap). And '''colormap_count''' * '''colormap_bpp''' = '''colormap_length'''
=====Palette frames table=====
The amount of entries in the palette frame table is defined by the value above named '''frames_count''', in static icons this area appears only one time, for animated icons there are several
For every image in the icon (or every frame of the animation) there is an entry here of 0xC length with info specific for that frame (doesnt applyes to other frames of the same animation)... in the practise what we are namig a frame here is the same than a image of the '''Image table''' that is going to be loaded in the next step
The '''image_data_offset''' and '''image_data_length''' are used to locate the image (that needs to be zlib decompressed)
The '''frame_time''' represents how many time in centiseconds is going to be displayed the image until the image of the next frame replaces it, this value is very related with the '''animation_time''' above, actually the '''animation_time''' should be equal to the sum of all '''frame_time''' of all the frames that composes the animation. It seems is not allowed (tests failed when trying it) to create a "blink" effect by using an '''animation_time''' bigger than the sum of all '''frame_time'''
Some static icons in ofw has a timer set for '''animation_time''' when technically should be zero (are composed only by one image so only has one frame and the animation should be looping in that frame). Is unknown why are made this way, by now looks like a nonsense/weirdness/mistake/genius
The '''color_transparent''' assigns 1 byte value to an '''color_id''' that is going to be displayed as a fully transparent pixel (technically is a #00000000), note this byte also indicates a color from the colormap (colormap has info for 256 indexed colors)
Before and after the '''color_transparent''' there are 2 unknown areas... could be related with other control colors, or not related at all, not much hints about them


{| class="wikitable" style="font-size:small;"
{| class="wikitable" style="font-size:small;"
|+Palette frame (0xC length for every frame)
|+Palette frame (0xC lenght for every frame)
! rowspan="2" | Offset !! rowspan="2" | Length !! rowspan="2" | Name !! colspan="5" | Examples !! rowspan="2" | Notes
! rowspan="2" | Offset !! rowspan="2" | Lenght !! rowspan="2" | Name !! colspan="5" | Examples !! rowspan="2" | Notes
|-
|-
! <abbr title="static. Is also the first in the index">uF880, button circle</abbr> !! <abbr title="animated, 1 frame. Is also the last in the index">uF6DF, zodiac pisces</abbr> !! <abbr title="animated, 2 frames">uF405, smiley laughing</abbr> !! <abbr title="animated, 3 frames">uF46F, weather raindrops</abbr> !! <abbr title="animated, 4 frames">uF8AB, battery charging</abbr>
! <abbr title="static. Is also the first in the index">uF880, button circle</abbr> !! <abbr title="animated, 1 frame. Is also the last in the index">uF6DF, zodiac pisces</abbr> !! <abbr title="animated, 2 frames">uF405, smiley laughing</abbr> !! <abbr title="animated, 3 frames">uF46F, weather raindrops</abbr> !! <abbr title="animated, 4 frames">uF8AB, battery charging</abbr>
|-
|-
| 0x00 || 0x04 || '''image_data_offset''' || 00 00 00 08 || 00 02 43 A3 || 00 00 7B CF || 00 00 EE 59 || 00 00 4D 70 || image absolute offset
| 0x00 || 0x04 || '''image_data_offset''' || 00 00 00 08 || 00 02 43 A3 || 00 00 7B CF || 00 00 EE 59 || 00 00 4D 70 || image data absolute offset
|-
|-
| 0x04 || 0x02 || '''image_data_length''' || 01 D9 || 01 6D || 02 15 || 00 BA || 01 AE || image length (zlib compressed)
| 0x04 || 0x02 || '''image_data_lenght''' || 01 D9 || 01 6D || 02 15 || 00 BA || 01 AE || image data lenght (zlib compressed)
|-
|-
| 0x06 || 0x02 || '''frame_time''' || 00 00 || 00 3C || 00 3C || 00 3C || 00 3C ||
| 0x06 || 0x02 || '''frame_time''' ? || 00 00 || 00 3C || 00 3C || 00 3C || 00 3C ||
|-
|-
| 0x08 || 0x01 || {{cellcolors|#ff6666}} ''unknown'' || 01 || 01 || 01 || 01 || 01 || always 0x01 in PS3 ofw
| 0x08 || 0x01 || {{cellcolors|#ff6666}} ''unknown'' || 01 || 01 || 01 || 01 || 01 || always 0x01 in PS3 ofw
Line 338: Line 331:
| 0x0A || 0x02 || ''same'' || {{cellcolors|lightgrey}} <abbr title="circle button doesnt have more frames">'''N/A'''</abbr> || {{cellcolors|lightgrey}} <abbr title="zodiac pisces doesnt have more frames">'''N/A'''</abbr> || {{cellcolors|lightgrey}} <abbr title="smiley laughing doesnt have more frames">'''N/A'''</abbr> || {{cellcolors|lightgrey}} <abbr title="weather raindrops doesnt have more frames">'''N/A'''</abbr> || 00 00
| 0x0A || 0x02 || ''same'' || {{cellcolors|lightgrey}} <abbr title="circle button doesnt have more frames">'''N/A'''</abbr> || {{cellcolors|lightgrey}} <abbr title="zodiac pisces doesnt have more frames">'''N/A'''</abbr> || {{cellcolors|lightgrey}} <abbr title="smiley laughing doesnt have more frames">'''N/A'''</abbr> || {{cellcolors|lightgrey}} <abbr title="weather raindrops doesnt have more frames">'''N/A'''</abbr> || 00 00
|}
|}
=====Palette colormap=====
The colormap is straightforwad, here every entry is indicated by the length of '''colormap_bpp''' (4 bytes for RGBA channels found always in ofw, other values not tested), and the amount of entries is indicated by the value of '''colormap_count''' (256 indexed colors found always used in ofw, other values incoming)
The order of how the colors appears in the colormap is very important, every color is given a unique '''color_id''', the first color is ID = 0x00 and last color is ID = 0xFF (for a total of 256 indexed colors)
Also, the colors are ordered in a "increasing order" by using the hexadecimal values, so if are present 0x00000000 goes first and 0xFFFFFFFF goes last, and red tone colors goes last because pure red is 0xFF000000 so higher red tones generates bigger hexadecimal values
The image/s (the real images for every frame) that is/are going to be loaded in the next step uses this '''color_id''' to asign a color for every pixel


{| class="wikitable" style="font-size:small;"
{| class="wikitable" style="font-size:small;"
|+Color map (0x400 length)
|+Color map (0x400 lenght)
! Offset !! Length !! Name !! Example !! Notes
! Offset !! Lenght !! Name !! Example !! Notes
|-
|-
| 0x000 || 0x04 || '''color_rgba''' || 01 00 00 FF || color id 0x00
| 0x000 || 0x04 || '''color_rgba''' || 01 00 00 FF || color id 0x00
Line 359: Line 343:
|}
|}


After reading all this info from the different areas of the icon palette ('''palette header''', '''palette frames table''', and '''palette colormap''') the file access order "jumps" back to decompress and load the images... so scroll up the wiki page to continue reading at the '''Image table'''
====Index table====
 
*In the index of dev_flash/vsh/resource/imagefont.bin can be seen the list of icons, one line each, see: https://pastebin.com/ZWkie7tQ (imagefont.bin index used in firmwares 3.50~3.66) or https://pastebin.com/MBpQAekU https://pastebin.com/84Qva4Fw (imagefont.bin index used in firmwares 4.60-4.81)
====Index====
**bytes 0x08 and 0x09 = unicode hex id
The index is composed by entries with 0x10 bytes each, every entry has the info about an specific icon, the info in it can be readed directly (index is not compressed). From this point is explained the different values that composes an index entry
**bytes 0x0A and 0x0B = image width (varies for system messages icons, all the others are 26 pixels width)
 
**bytes 0x0C and 0x0D = image height (all them are 23 pixels height, except the playstation logos that are 26 pixels height)
The most important value from a index entry is the '''unicode_hex_id''' of the icon, this identifyer follows the same format used by the characters/glyphs inside the TTF font files, in other words... are complementary and both imagefont.bin and the TTF files works like components of the same character map (and it seems imagefont.bin has preference, not confirmed though)
**bytes 0x0E and 0x0F = unknown
 
The '''image_width''' and '''image_height''' tells the dimensions of the icon, no mistery with them, only detail that needs to be mentioned about them is for animated icons composed by several images all the images needs to have the same dimensions, because the dimensions are indicated in the index it means is not posible to create animations with images of different sizes
 
There is an '''unknown''' value at the end, this one should be important (and maybe there is some easter egg hidden in it), is supposed to be a generic descriptor of the icon, or some information needed to know by the firmware about the icon BEFORE accessing any other aditionally data. The point is all the other areas that are going to be accessed in the next steps are compressed in zlib so this unknown value is something that is useful/interesting to know even BEFORE loading the icon data
 
Then is used the value '''palette_length_decompressed''' to reserve an area in memory for zlib decompression purposes (because the palette file that is going to be loaded in next step is zlib compressed), and the palette file is located by using the values '''palette_offset''' and '''palette_length_compressed'''
 
After knowing all this info about an specific icon the access "jumps" back to find the palette of the icon (located at middle of imagefont.bin), so scroll up to continue reading in the section '''Palette table''' above


  Example of the first 4 index entries
  Example of the first 4 index entries
Line 383: Line 359:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Offset !! Length !! Name !! Example !! Notes
! Offset !! Lenght !! Name !! Example 4.46 !! Notes
|-
| 0x00 || 0x04 || '''palette_offset''' || 00 02 3A B6 || Icon palette location
|-
| 0x04 || 0x02 || '''palette_length_compressed''' || 03 5E || Icon palette size
|-
| 0x06 || 0x02 || '''palette_length_decompressed''' || 04 12 || Icon palette size after zlib decompression
|-
| 0x08 || 0x02 || '''unicode_hex_id''' || F8 80 || Icon identifyer
|-
| 0x0A || 0x02 || '''image_width''' || 00 1A || Icon width
|-
| 0x0C || 0x02 || '''image_height''' || 00 17 || Icon height
|-
| 0x0E || 0x02 || {{cellcolors|#ff6666}} ''unknown'' || 80 00 || Only 2 valid values found in PS3 ofw: 0x8000 for unicode IDs equal or bigger than uF880 ... all others ... 0x7FFF<br>Only 2 valid values found in PSVita ofw: 0x0001 or 0x0000 (after swapped endianess)
|}
 
*Some index examples:
**https://pastebin.com/ZWkie7tQ (imagefont.bin index used in PS3 firmwares 3.50~3.66)
**https://pastebin.com/MBpQAekU https://pastebin.com/84Qva4Fw (imagefont.bin index used in PS3 firmwares 4.60-4.81)
 
===Time scale conversions===
Time is meassured in centiseconds (a hundredth of a second). A centisecond is a unit of time equal to 0.01 seconds. See: https://en.wikipedia.org/wiki/Centisecond and https://en.wiktionary.org/wiki/centisecond
 
Note that all the times used in ofw are multiplyers of 0x14, this is 1/5 of a second, or in other words a "fifth part" of a second (0.20 seconds in decimal), it can be seen also as the faster speed used by official icons (the tornado uF4A6 animated icon uses this frame time), also it can be used to represent the frame rate of the animation meassured in "frames per second" like in a video, to calculate the FPS of an animation is needed to divide 1 by the frame time, this applyes only to animations where all the frames uses the same time (a.k.a. a constant frame rate mantained from start to end at the same FPS)
 
*Frame rate speeds examples:
**Tornado = 1 / 0.20 = 5 fps
**All others = 1 / 0.60 = 1.66666(period) fps
 
Faster frame rates not used in ofw are availables (8 centiseconds per frame tested successfully playing at: 1 / 0.08 = 12.5 fps). Variable frame rate has not been tested (unknown)
 
The format allows for a max speed of 100fps, but my bet is firmware is going to complain about it, so keep in mind that sony used a max of 5fps for "some reason"
 
{| class="wikitable" style="font-size:x-small;"
|+Time conversion examples
! colspan="4" | Time !! rowspan="3" | Used in OFW by !! rowspan="3" | Notes
|-
! colspan="2" | Centiseconds !! colspan="2" | Seconds
|-
! Hexadecimal !! Decimal !! Decimal !! Fraction
|-{{cellcolors|#aaaaff}}
| 0x01 || 1 || 0.01 || 1/100 || not used in ofw, just an example || 1 centisecond = 0.01 seconds (min value in the time scale)
|-
| 0x14 || 20 || 0.20 || 1/5 || tornado icon (uF4A6) ||
|-
| 0x28 || 40 || 0.40 || 2/5 || not used in ofw, just an example ||
|-
| 0x3C || 60 || 0.60 || 3/5 || lot of icons ||
|-
| 0x50 || 80 || 0.80 || 4/5 || tornado icon (uF4A6) ||
|-
| 0x64 || 100 || 1.00 || 5/5 || not used in ofw, just an example || 1 second
|-
| 0x78 || 120 || 1.20 || 6/5 || icons with 2 frames * 0x3C ||
|-
| 0x8C || 140 || 1.40 || 7/5 || not used in ofw, just an example ||
|-
| 0xA0 || 160 || 1.60 || 8/5 || not used in ofw, just an example ||
|-
|-
| 0xB4 || 180 || 1.80 || 9/5 || icons with 3 frames * 0x3C ||  
| 0x00 || 0x04 || '''palette_offset''' || 00 02 3A B6 ||  
|-
|-
| 0xC8 || 200 || 2.00 || 10/5 || not used in ofw, just an example || 2 seconds
| 0x04 || 0x02 || '''palette_size_compressed''' || 03 5E ||  
|-
|-
| 0xF0 || 240 || 2.40 || 12/5 || icons with 4 frames * 0x3C ||  
| 0x06 || 0x02 || '''palette_size_decompressed''' || 04 12 ||  
|-
|-
| 0x12C || 300 || 3.00 || 15/5 || not used in ofw, just an example || 3 seconds
| 0x08 || 0x02 || '''unicode_hex_id''' || F8 80 || Circle Button
|-
|-
| 0x190 || 400 || 4.00 || 20/5 || not used in ofw, just an example || 4 seconds
| 0x0A || 0x02 || '''image_width''' || 00 1A || 26 pixels width
|-
|-
| 0x1F4 || 500 || 5.00 || 25/5 || not used in ofw, just an example || 5 seconds
| 0x0C || 0x02 || '''image_height''' || 00 17 || 23 pixels height
|-
|-
| 0x1770 || 6000 || 60.00 || 300/5 || not used in ofw, just an example || 1 minute
| 0x0E || 0x02 || {{cellcolors|#ff6666}} ''unknown'' || 80 00 || Only 2 valid values found in PS3 ofw: 0x8000 for unicode IDs equal or bigger than uF880 ... else... 0x7FFF<br>Only 2 valid values found in PSVita ofw: 0x0001 or 0x0000 (after swapped endianess)
|-{{cellcolors|#aaaaff}}
| 0xFFFF || 65535 || 655.35 || 65535/100 || not used in ofw, just an example || 10 minutes, 55 seconds, 35 centiseconds (max value in the time scale)
|}
|}


Line 468: Line 384:
! Fontname !! Version !! File Name !! MD5 !! Remarks
! Fontname !! Version !! File Name !! MD5 !! Remarks
|-
|-
| SCE-PS3 Rodin LATIN Regular || (1.00-{{latestPS3}}) || SCE-PS3-RD-R-LATIN.TTF || 117aecd019bd546158723d04da2597b0 ||  
| SCE-PS3 Rodin LATIN Regular || (1.00-{{latest}}) || SCE-PS3-RD-R-LATIN.TTF || 117aecd019bd546158723d04da2597b0 ||  
|-
|-
|}
|}
Line 479: Line 395:
! Fontname !! Version !! File Name !! MD5 !! Remarks
! Fontname !! Version !! File Name !! MD5 !! Remarks
|-
|-
|  || (4.50-{{latestPS3}}) || c041056ts.ttf || ad7d1d44ed71fb093272c97a9ada20c3 ||  
|  || (4.50-{{latest}}) || c041056ts.ttf || ad7d1d44ed71fb093272c97a9ada20c3 ||  
|-
|-
|  || (4.50-{{latestPS3}}) || d013013ds.ttf || 7e506d6d01012a3d539773fc85cea2cc ||  
|  || (4.50-{{latest}}) || d013013ds.ttf || 7e506d6d01012a3d539773fc85cea2cc ||  
|-
|-
|  || (4.50-{{latestPS3}}) || e046323ms.ttf || 4e23131d06152ddadab15a20820815a1 ||  
|  || (4.50-{{latest}}) || e046323ms.ttf || 4e23131d06152ddadab15a20820815a1 ||  
|-
|-
|  || (4.50-{{latestPS3}}) || e046323ts.ttf || 9d59a66a0c3272e8fc6a3036cb06a4a8 ||  
|  || (4.50-{{latest}}) || e046323ts.ttf || 9d59a66a0c3272e8fc6a3036cb06a4a8 ||  
|-
|-
|  || (4.50-{{latestPS3}}) || k006004ds.ttf || b4c4ba4db62e93de79c953d3493088c7 ||  
|  || (4.50-{{latest}}) || k006004ds.ttf || b4c4ba4db62e93de79c953d3493088c7 ||  
|-
|-
|  || (4.50-{{latestPS3}}) || n023055ms.ttf || be8cba042232554219905e01e72ebaa6 ||  
|  || (4.50-{{latest}}) || n023055ms.ttf || be8cba042232554219905e01e72ebaa6 ||  
|-
|-
|  || (4.50-{{latestPS3}}) || n023055ts.ttf || 1078c40b04206b3d42a896994c723452 ||  
|  || (4.50-{{latest}}) || n023055ts.ttf || 1078c40b04206b3d42a896994c723452 ||  
|-
|-
|}
|}
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)