XMB Fonts
Description
In typography, a font family (also known as typeface) is a set of one or more fonts each composed of glyphs that share common design features
PS3 fonts are made by Fontworks Japan (for SCE-PS3 Rodin/NewRodin/SEURAT/Matisse JPN/LATIN/EXT Bold/Regular/Italic), dynacomware (for DFHeiW5-A), urwpp (for VAGRundschriftDLig, VAGRundschriftDLig2 and the Sony-CC), yoondesign (for SCE-PS3 YD gd Bold, SCE-PS3 YD gd Light and SCE-PS3 YD gd Medium)
In PS3 firmware 2.00 it was added a feature that allows the user to select the font style in XMB column ->[Theme settings]->[Font] from the default "original", "rounded", or "pop". This same setting can be modifyed by installing a .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 choosen by the PS3 firmware based on the language setting
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 Debug font error codes, and 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 webbrowser uses its specific fonts tthat cant be considered "system fonts"
Using PS3 fonts in PC
Windows
- Installing .TTF fonts
- Go to "control panel" and open "fonts" folder
- Drag and drop the .TTF files inside "fonts" folder
- Displaying the whole character map of a font in windows/ubuntu
- Go to "start" (or windows key+x) /open terminal (Ctrl+Alt+T), click in "run" and type: charmap, then enter
- Inside charmap select the .TTF font and select a character, his "unicode" number is displayed at bottom left in the format U+1234 with a text description
- Displaying characters using unicode standard subgroups
- Inside charmap select the .TTF font and change "group by" to "unicode subgroup"... a windows opens at the right with 45 groups, click in them to display the characters that belongs to this group
To write or read some special characters in PC is needed to specify the font that will be used in the application as can be seen in the image below
Font tools
- charmap (Character Map Utility, preinstalled in windows/Ubuntu)
- FontForge (powerful font editor) http://fontforge.org/
Font types
For other font references in PS3 firmware see Discussion page
TTF system fonts
In Path: dev_flash/data/font/
Font Name | Firmware | File Name | MD5 | Usage | Unicode Subgroups | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
original | rounded | pop | lati | punc | mony | suPB | enve | numb | arro | math | tech | OCR | alfa | fram | blok | symb | spa | diac | grek | ciri | arab | tibe | hang | kana | bopo | iCJK | sCJK | ideo | cCJK | varS | forW | forM | priv | ||||
DFHeiW5-A | 1.10-Template:Latest | SCE-PS3-DH-R-CGB.TTF | 8298536755af9d0c51350dccf84e0f60 | ? | ?? | ??? | 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 |
SCE-PS3 Capie KANA Regular | 1.90-Template:Latest | SCE-PS3-CP-R-KANA.TTF | 56eeef6f0bf4304cbb25c3a34d5415dd | ? | ?? | ??? | 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 |
SCE-PS3 Matisse LATIN Bold | 1.00-Template:Latest | SCE-PS3-MT-B-LATIN.TTF | 633730e312abf51d4e2c245fc318d381 | ? | ?? | ??? | 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 |
SCE-PS3 Matisse LATIN BoldItalic | 1.00-Template:Latest | SCE-PS3-MT-BI-LATIN.TTF | ccd8c529ef0b695111f2615b1093e38d | ? | ?? | ??? | 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 |
SCE-PS3 Matisse LATIN Italic | 1.00-Template:Latest | SCE-PS3-MT-I-LATIN.TTF | d15017f2fed8196cd7bee5404f3be6d0 | ? | ?? | ??? | 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 |
SCE-PS3 Matisse LATIN Regular | 1.00-Template:Latest | SCE-PS3-MT-R-LATIN.TTF | 252116679f1f593306a1f712f3de1ee2 | ? | ?? | ??? | 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 |
SCE-PS3 NewRodin EXT Regular | 1.00-1.54 | SCE-PS3-NR-R-EXT.TTF | 011e1bda9c6b4be8a5919a01d65ccd05 | ? | ?? | ??? | 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-Template:Latest | 2093744c3265d64e1a211994ed1c9f66 | ? | ?? | ??? | 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 | ||
SCE-PS3 NewRodin JPN Bold | 1.00-Template:Latest | SCE-PS3-NR-B-JPN.TTF | de91673a29236ba6db2b5bff43517a82 | ? | ?? | ??? | 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 |
SCE-PS3 NewRodin JPN Light | 1.00-1.94 | SCE-PS3-NR-L-JPN.TTF | 93d3cdf914e6fdf860b2c88b1007e709 | ? | ?? | ??? | 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-Template:Latest | e2a36a3567579222ede5fc037e0b4a72 | ? | ?? | ??? | 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 | ||
SCE-PS3 NewRodin JPN Regular | 1.00-Template:Latest | SCE-PS3-NR-R-JPN.TTF | 0964fada1726d6c86bfd190b82955d0a | ? | ?? | ??? | 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 |
SCE-PS3 Rodin LATIN Bold | 1.00-Template:Latest | SCE-PS3-RD-B-LATIN.TTF | 440399fc14b06e06e349ac00f5f90b99 | ? | ?? | ??? | 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 |
SCE-PS3 Rodin LATIN BoldItalic | 1.00-Template:Latest | SCE-PS3-RD-BI-LATIN.TTF | aeb6defacc19d4de3badf6829dbc09de | ? | ?? | ??? | 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 |
SCE-PS3 Rodin LATIN Italic | 1.00-Template:Latest | SCE-PS3-RD-I-LATIN.TTF | 423c81d7808ca94b15609c5393bc8b95 | ? | ?? | ??? | 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 |
SCE-PS3 Rodin LATIN LightItalic | 1.00-Template:Latest | SCE-PS3-RD-LI-LATIN.TTF | 56615610988819ee3f5ac330a4720229 | ? | ?? | ??? | 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 |
SCE-PS3 Rodin LATIN2 Bold | 2.70-Template:Latest | SCE-PS3-RD-B-LATIN2.TTF | 4096b273f77b1fdb85edc41de8d5d0cb | ? | ?? | ??? | 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 |
SCE-PS3 Rodin LATIN Light | 1.00-Template:Latest | SCE-PS3-RD-L-LATIN.TTF | 3bedb71fcfc5945c97e424801ed5655d | ? | ?? | ??? | 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 |
SCE-PS3 Rodin LATIN2 Light | 2.70-Template:Latest | SCE-PS3-RD-L-LATIN2.TTF | 331d540c72c733e727d1ad5d17bfffdf | ? | ?? | ??? | 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 |
SCE-PS3 Rodin LATIN Regular | 1.00-Template:Latest | SCE-PS3-RD-R-LATIN.TTF | 117aecd019bd546158723d04da2597b0 | 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 |
SCE-PS3 Rodin LATIN2 Regular | 2.70-Template:Latest | SCE-PS3-RD-R-LATIN2.TTF | d2928959ca2ec90b5311acc766878da9 | 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 |
SCE-PS3 Seurat EXT Regular | 2.00-Template:Latest | SCE-PS3-SR-R-EXT.TTF | cb45f4bd16cfe0eb84b27781d3ec1618 | ? | ?? | ??? | 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 |
SCE-PS3 Seurat JPN Regular | 1.00-Template:Latest | SCE-PS3-SR-R-JPN.TTF | 139fd3f044eaf7abec4be15cadfd1b95 | ? | ?? | ??? | 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 |
SCE-PS3 Seurat LATIN Regular | 1.90-Template:Latest | SCE-PS3-SR-R-LATIN.TTF | 95b22135152d73a10b228eed7a6fc619 | ? | 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 |
SCE-PS3 Seurat LATIN2 Regular | 3.10-Template:Latest | SCE-PS3-SR-R-LATIN2.TTF | 2da9b59f0b6f128840059295a7bcb7c3 | ? | 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 |
SCE-PS3 YD gd Bold | 1.00-Template:Latest | SCE-PS3-YG-B-KOR.TTF | 1903b9af9343b5d66d8ffc69c2fb6cd6 | ? | ?? | ??? | 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 |
SCE-PS3 YD gd Light | 1.00-Template:Latest | SCE-PS3-YG-L-KOR.TTF | 9de713abb39f6b80aaf9bdc7d115878a | ? | ?? | ??? | 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 |
SCE-PS3 YD gd Medium | 1.00-Template:Latest | SCE-PS3-YG-R-KOR.TTF | 07a1073f311e1e163f7ba6b85f9f4b6b | ? | ?? | ??? | 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 |
VAGRundschriftDLig | 2.00-Template:Latest | SCE-PS3-VR-R-LATIN.TTF | 1f19bc8dd23bf62bfd2e1536cbb5c88a | ? | ?? | 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 |
VAGRundschriftDLig2 | 3.10-Template:Latest | SCE-PS3-VR-R-LATIN2.TTF | acd93157f7998933774b398740becb46 | ? | ?? | 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
- Contains some hundreds of glyphs (characters). Every glyph is compressed individually with zlib, are colored, and some are animated
- imagefont.bin is used in several playstation consoles:
- 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)
- 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)
- PSvita firmware: in path vs0:data/external/font/emoji/imagefont.bin (in 3.30 or earlyer)
- PS4 ?
Version (firmware) |
Size (bytes) |
Hash (MD5) |
Header info | Remarks | ||
---|---|---|---|---|---|---|
format_version ? | index_entries | index_offset | ||||
1.90~1.94 | 385816 | 3e74a50419c165f4208b84adcbf2881f | 00 90 | 01 29 | 00 05 D0 88 | |
2.00~2.43 | 386905 | 6b842156c0996e4c706fbdea919a040f | 01 00 | 01 29 | 00 05 D4 C9 | |
2.50~3.42 | 416269 | 2da04c8caaec6012911b10fc3b829b10 | ? | ? | ? | |
3.50~3.66 | 417620 | 6c03902f0342cc6e688c527b40ce0f7d | 01 00 | 01 40 | 00 06 4B 54 | |
3.70~4.55 | 420192 | 98e8f3545e04ad62da19c2fc63210cfd | 01 00 | 01 42 | 00 06 55 40 | added uF8B7, uF8B8 (headset icons) |
4.60~Template:Latest | 424023 | 97daf9e7fff3a834bcf97c0c2240dced | 01 00 | 01 4C | 00 06 63 97 | added uF895, uF896, uF897, uF898, uF899, uF89A, uF89B, uF89C, uF89D, uF89E (playstation logos) |
Version (firmware) |
Size (bytes) |
Hash (MD5) |
Header info | Remarks | |
---|---|---|---|---|---|
format_version ? | entries ? | ||||
3.15~Template: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 |
- 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
- rought list of unknown areas in between
Structure
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), in the header is specifyed where is located the index
- - reads the index (at bottom of imagefont.bin), in the index is specifyed where are located the palettes
- - reads the palettes (at middle of imagefont.bin), in the palettes is specifyed where are located the image datas
- - reads the image data (at top of imagefont.bin)
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
- 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
Offset | Lenght | Name | Example 4.60~Template:Latest | Remark |
---|---|---|---|---|
0x00 | 0x02 | format_version ? | 01 00 | format version ? |
0x02 | 0x02 | index_entries | 01 4C | number of entries in the index |
0x04 | 0x04 | index_offset | 00 06 63 97 | index location (at bottom of imagefont.bin) |
Image data 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)
Palette table
The palettes are composed by 3 areas, the header, the frames, and the colormap
Battery charging icon (U+F8AB, animated 4 frames) overview Offset(h) 00 01 02 03 04 05 00000000 01 00 04 04 00 F0 .....ð <- header Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 00000006 00 00 4D 70 01 AE 00 3C 01 00 00 00 ..Mp.®.<.... <- frame 1 info 00000012 00 00 4F 1E 02 19 00 3C 01 00 00 00 ..O....<.... <- frame 2 info 0000001E 00 00 51 37 02 4F 00 3C 01 00 00 00 ..Q7.O.<.... <- frame 3 info 0000002A 00 00 53 86 02 72 00 3C 01 00 00 00 ..S†.r.<.... <- frame 4 info Offset(h) 00 01 02 03 00000036 00 00 00 00 .... <- colormap id 0x00 0000003A 00 00 00 01 .... <- colormap id 0x01 0000003E 00 00 00 02 .... <- colormap id 0x02 [...] <- colormap id's in increasing order by hexadecimal value 0000042A F8 F8 F8 FF øøøÿ <- colormap id 0xFD 0000042E F9 F9 F9 3F ùùù? <- colormap id 0xFE 00000432 FF FF FF 00 ÿÿÿ. <- colormap id 0xFF
Offset | Lenght | Name | Examples | Notes | ||||
---|---|---|---|---|---|---|---|---|
uF880, button circle | uF6DF, zodiac pisces | uF405, smiley laughing | uF46F, weather raindrops | uF8AB, battery charging | ||||
0x00 | 0x02 | colormap_count ? | 01 00 | 01 00 | 01 00 | 01 00 | 01 00 | 256 colors in decimal |
0x02 | 0x01 | colormap_bpp ? | 04 | 04 | 04 | 04 | 04 | To store colors in RGBA channels, 1 byte each |
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 |
Offset | Lenght | Name | Examples | Notes | ||||
---|---|---|---|---|---|---|---|---|
uF880, button circle | uF6DF, zodiac pisces | uF405, smiley laughing | uF46F, weather raindrops | uF8AB, battery charging | ||||
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_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 | |
0x08 | 0x01 | unknown | 01 | 01 | 01 | 01 | 01 | |
0x09 | 0x01 | color_transparent | AD | 00 | 00 | 00 | 00 | |
0x0A | 0x02 | unknown | 00 00 | 00 00 | 00 00 | 00 00 | 00 00 | color_black ? |
repeats for every frame | ||||||||
0x00 | 0x04 | same | N/A | N/A | 00 00 7D E4 | 00 00 EF 13 | 00 00 4F 1E | |
0x04 | 0x02 | same | N/A | N/A | 02 18 | 00 CE | 02 19 | |
0x06 | 0x02 | same | N/A | N/A | 00 3C | 00 3C | 00 3C | |
0x08 | 0x01 | same | N/A | N/A | 01 | 01 | 01 | |
0x09 | 0x01 | same | N/A | N/A | 00 | 00 | 00 | |
0x0A | 0x02 | same | N/A | N/A | 00 00 | 00 00 | 00 00 | |
repeats for every frame | ||||||||
0x00 | 0x04 | same | N/A | N/A | N/A | 00 00 EF E1 | 00 00 51 37 | |
0x04 | 0x02 | same | N/A | N/A | N/A | 00 CF | 02 4F | |
0x06 | 0x02 | same | N/A | N/A | N/A | 00 3C | 00 3C | |
0x08 | 0x01 | same | N/A | N/A | N/A | 01 | 01 | |
0x09 | 0x01 | same | N/A | N/A | N/A | 00 | 00 | |
0x0A | 0x02 | same | N/A | N/A | N/A | 00 00 | 00 00 | |
repeats for every frame | ||||||||
0x00 | 0x04 | same | N/A | N/A | N/A | N/A | 00 00 53 86 | |
0x04 | 0x02 | same | N/A | N/A | N/A | N/A | 02 72 | |
0x06 | 0x02 | same | N/A | N/A | N/A | N/A | 00 3C | |
0x08 | 0x01 | same | N/A | N/A | N/A | N/A | 01 | |
0x09 | 0x01 | same | N/A | N/A | N/A | N/A | 00 | |
0x0A | 0x02 | same | N/A | N/A | N/A | N/A | 00 00 |
Offset | Lenght | Name | Example | Notes |
---|---|---|---|---|
0x000 | 0x04 | color_rgba | 01 00 00 FF | color id 0x00 |
[...] | 0x04 | color_rgba | [...] | in increasing order |
0x3FC | 0x04 | color_rgba | FF FF FF FF | color id 0xFF |
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)
- bytes 0x08 and 0x09 = unicode hex id
- 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)
- bytes 0x0E and 0x0F = unknown
Example of the first 4 index entries Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00065540 00 02 3A B6 03 5E 04 12 F8 80 00 1A 00 17 80 00 ..:¶.^..ø€....€. <-- Circle Button, uF880 00065550 00 02 3E 14 03 3D 04 12 F8 81 00 1A 00 17 80 00 ..>..=..ø.....€. <-- Cross Button, uF881 00065560 00 02 41 51 03 0A 04 12 F8 82 00 1A 00 17 80 00 ..AQ....ø‚....€. <-- Square Button, uF882 00065570 00 02 44 5B 03 47 04 12 F8 83 00 1A 00 17 80 00 ..D[.G..øƒ....€. <-- Triangle Button, uF883
Offset | Lenght | Name | Example 4.46 | Notes |
---|---|---|---|---|
0x00 | 0x04 | palette_offset | 00 02 3A B6 | |
0x04 | 0x02 | palette_size_compressed | 03 5E | |
0x06 | 0x02 | palette_size_decompressed | 04 12 | |
0x08 | 0x02 | unicode_hex_id | F8 80 | Circle Button |
0x0A | 0x02 | image_width | 00 1A | 26 pixels width |
0x0C | 0x02 | image_height | 00 17 | 23 pixels height |
0x0E | 0x02 | unknown | 80 00 | flags, converted to binary ? (only 2 valid values found in ofw, 0x8000 and 0x3FFF) |
TTF Blu-ray player fonts
Player
- In Path: dev_flash/bdplayer/bdjstack/SCE-PS3-RD-R-LATIN.TTF (identical file as in data/font) (since 1.00)
Fontname | Version | File Name | MD5 | Remarks |
---|---|---|---|---|
SCE-PS3 Rodin LATIN Regular | (1.00-Template:Latest) | SCE-PS3-RD-R-LATIN.TTF | 117aecd019bd546158723d04da2597b0 |
- In path: dev_flash/data/font/SONY-CC/ (since 4.50 CEX: 7 others fonts for closed captions)
Fontname | Version | File Name | MD5 | Remarks |
---|---|---|---|---|
(4.50-Template:Latest) | c041056ts.ttf | ad7d1d44ed71fb093272c97a9ada20c3 | ||
(4.50-Template:Latest) | d013013ds.ttf | 7e506d6d01012a3d539773fc85cea2cc | ||
(4.50-Template:Latest) | e046323ms.ttf | 4e23131d06152ddadab15a20820815a1 | ||
(4.50-Template:Latest) | e046323ts.ttf | 9d59a66a0c3272e8fc6a3036cb06a4a8 | ||
(4.50-Template:Latest) | k006004ds.ttf | b4c4ba4db62e93de79c953d3493088c7 | ||
(4.50-Template:Latest) | n023055ms.ttf | be8cba042232554219905e01e72ebaa6 | ||
(4.50-Template:Latest) | n023055ts.ttf | 1078c40b04206b3d42a896994c723452 |
Character Maps
There are thousands of characters and is pointless to make tables of them, there are also some characters that cant be displayed in a web browser because 99% of the users will not have the fonts installed in PC (like the beauty "drawings" of tibetan alphabet)... but some of this characters are more interesting than others, and are commonly used and included in most fonts, the most interesting groups are the ones that are common for all fonts and used by the system not dependant of the font style (original, rounded, or pop), like the "symbols" and "frame borders"
- http://www.isthisthingon.org/unicode/index.phtml
- Unicode character tables (ordered by hex code, ordering by hex code is not accurate but this links contains all the groups well defined, delimited, and is using the standard group names)
Symbols
These symbols can be used in any UTF-8 text string displayed in XMB, (e.g: TITLE, SUBTITLE, DETAIL, inside PARAM.SFO of a content)
Character | Unicode | hexadecimal | Character Name | Inside | description |
---|---|---|---|---|---|
★ | U+2605 | E2 98 85 | BLACK STAR | DFHeiW5-A NewRodin JPN Seurat JPN |
same star used in "install packages" |
☆ | U+2606 | E2 98 86 | WHITE STAR | DFHeiW5-A NewRodin JPN Seurat JPN |
similar to the star used in "install packages", but empty |
☉ | U+2609 | E2 98 89 | SUN | DFHeiW5-A | |
♀ | U+2640 | E2 99 80 | FEMALE SIGN | DFHeiW5-A NewRodin JPN Seurat JPN |
|
♂ | U+2642 | E2 99 82 | MALE SIGN | DFHeiW5-A NewRodin JPN Seurat JPN |
Punctuation
Character | Unicode | hexadecimal | Character Name | Inside | description |
---|---|---|---|---|---|
® | U+00AE | Matisse LATIN | registered trademark | ||
© | U+00A9 |
Envelope
Character | Unicode | hexadecimal | Character Name | Inside | description |
---|---|---|---|---|---|
™ | E2 84 A2 | trademark symbol |
General
Character | Unicode | hexadecimal | Character Name | Inside | description |
---|---|---|---|---|---|
0A | linefeed | ||||
20 | space | ||||
% | 25 | escape | Used to load parameters: %1, %2, %e, %E, %B |
Private Use Area (Unicode range from uE000 up to uF8FF)
This ones are special, identifyed by unicode id's like an standard font, and are located inside imagefont.bin. See: http://www.psx-place.com/threads/special-symbols-and-animated-characters-on-the-xmb.13985/
Glyph | Unicode hex | UTF-8 hex | Name | Description |
---|---|---|---|---|
| uF880 | 0xEFA280 | Circle Button | |
| uF881 | 0xEFA281 | Cross Button | |
| uF882 | 0xEFA282 | Square Button | |
| uF883 | 0xEFA283 | Triangle Button | |
| uF884 | 0xEFA284 | DPAD Up Button | |
| uF885 | 0xEFA285 | DPAD Down Button | |
| uF886 | 0xEFA286 | DPAD Left Button | |
| uF887 | 0xEFA287 | DPAD Right Button | |
| uF888 | 0xEFA288 | L1 Button | |
| uF889 | 0xEFA289 | L2 Button | |
| uF88A | 0xEFA28A | L3 Button | |
| uF88B | 0xEFA28B | R1 Button | |
| uF88C | 0xEFA28C | R2 Button | |
| uF88D | 0xEFA28D | R3 Button | |
| uF88E | 0xEFA28E | Select Button | |
| uF88F | 0xEFA28F | Start Button | |
N/A | ||||
| uF892 | 0xEFA292 | PS Button | |
| uF893 | 0xEFA293 | L2/DPAD Left Buttons | |
| uF894 | 0xEFA294 | R2/DPAD Right Buttons | |
| uF895 | 0xEFA295 | PS logo | |
| uF896 | 0xEFA296 | PS4 logo | |
| uF897 | 0xEFA297 | PS3 logo | |
| uF898 | 0xEFA298 | PSVita logo | |
| uF899 | 0xEFA299 | PSP logo | |
| uF89A | 0xEFA29A | PSN logo | |
| uF89B | 0xEFA29B | PSN logo 2 | |
| uF89C | 0xEFA29C | PS store logo | |
| uF89D | 0xEFA29D | PS Plus white logo | |
| uF89E | 0xEFA29E | PS move logo | |
N/A | ||||
| uF8A0 | 0xEFA2A0 | Speaker0 | |
| uF8A1 | 0xEFA2A1 | Speaker1 | |
| uF8A2 | 0xEFA2A2 | Speaker2 | |
| uF8A3 | 0xEFA2A3 | Speaker3 | |
| uF8A4 | 0xEFA2A4 | Mic Muted | |
| uF8A5 | 0xEFA2A5 | HQ | |
| uF8A6 | 0xEFA2A6 | Arrow Right | |
| uF8A7 | 0xEFA2A7 | 0/3 Battery | |
| uF8A8 | 0xEFA2A8 | 1/3 Battery | |
| uF8A9 | 0xEFA2A9 | 2/3 Battery | |
| uF8AA | 0xEFA2AA | 3/3 Battery | |
| uF8AB | 0xEFA2AB | Loading Battery (Moving) | |
| uF8AC | 0xEFA2AC | Bronze Trophy | |
| uF8AD | 0xEFA2AD | Silver Trophy | |
| uF8AE | 0xEFA2AE | Gold Trophy | |
| uF8AF | 0xEFA2AF | Platinum Trophy | |
| uF8B0 | 0xEFA2B0 | Caps | |
| uF8B1 | 0xEFA2B1 | Maj | |
| uF8B2 | 0xEFA2B2 | Keyboard | |
| uF8B3 | 0xEFA2B3 | Finger/Mouse | |
| uF8B4 | 0xEFA2B4 | Circle in Circle | |
| uF8B5 | 0xEFA2B5 | Circle | |
| uF8B6 | 0xEFA2B6 | PSPlus | |
| uF8B7 | 0xEFA2B7 | Headset | |
| uF8B8 | 0xEFA2B8 | Headset in Circle |
Glyph | Unicode hex | UTF-8 hex | Name | Description |
---|---|---|---|---|
uF400 | ||||
uF401 | ||||
uF402 | ||||
uF403 | ||||
uF404 | ||||
uF405 | ||||
uF406 | ||||
uF407 | ||||
uF408 | ||||
uF409 | ||||
uF40A | ||||
uF40B | ||||
uF40C | ||||
uF40D | ||||
uF40E | ||||
uF40F | ||||
uF410 | ||||
uF411 | ||||
uF412 | ||||
uF413 | ||||
uF414 | ||||
uF415 | ||||
uF416 | ||||
uF417 | ||||
uF418 | ||||
N/A | ||||
uF41B | ||||
uF41C | ||||
uF41D | ||||
uF41E | ||||
uF41F | ||||
uF420 | ||||
uF421 | ||||
N/A |
Glyph | Unicode hex | UTF-8 hex | Name | Description |
---|---|---|---|---|
uF440 | ||||
uF441 | ||||
uF442 | ||||
uF443 | ||||
uF444 | ||||
uF445 | ||||
uF446 | ||||
uF447 | ||||
uF448 | ||||
uF449 | ||||
uF44A | ||||
uF44B | ||||
uF44C | ||||
uF44D | ||||
uF44E | ||||
N/A |
Glyph | Unicode hex | UTF-8 hex | Name | Description | |
---|---|---|---|---|---|
| uF460 | 0xEF91A0 | Heart beat | ||
| uF461 | 0xEF91A1 | 2 Hearts (Moving) | ||
| uF462 | 0xEF91A2 | Broken Heart (Moving) | ||
| uF463 | 0xEF91A3 | Heart with Arrow (Moving) | ||
| uF464 | 0xEF91A4 | Heart | ||
| uF465 | 0xEF91A5 | Spades | ||
| uF466 | 0xEF91A6 | Clubs | ||
| uF467 | 0xEF91A7 | Diamond | ||
| uF468 | 0xEF91A8 | ! | ||
| uF469 | 0xEF91A9 | !! | ||
| uF46A | 0xEF91AA | ? | ||
| uF46B | 0xEF91AB | ?! | ||
uF46C | 0xEF91AC | N/A | Shows an underscore when used on XMBML | ||
| uF46D | 0xEF91AD | Light Bulb | ||
| uF46E | 0xEF91AE | Explosion (Moving) | ||
| uF46F | 0xEF91AF | 3 Drops (Moving) | ||
| uF470 | 0xEF91B0 | Drop (Moving) | ||
| uF471 | 0xEF91B1 | Blast | ||
| uF472 | 0xEF91B2 | Flower | ||
| uF473 | 0xEF91B3 | Skull | ||
uF474 | 0xEF91B4 | N/A | Shows an underscore when used on XMBML | ||
uF475 | 0xEF91B5 | N/A | Shows an underscore when used on XMBML | ||
| uF476 | 0xEF91B6 | Stars (Moving) | ||
| uF477 | 0xEF91B7 | Fire (Moving) | ||
| uF478 | 0xEF91B8 | Note | ||
| uF479 | 0xEF91B9 | Note1 | ||
| uF47A | 0xEF91BA | Note2 | ||
| uF47B | 0xEF91BB | Note3 | ||
| uF47C | 0xEF91BC | 2Notes | ||
| uF47D | 0xEF91BD | 2Notes1 | ||
uF47E | 0xEF91BE | N/A | Shows an underscore when used on XMBML | ||
uF47F | 0xEF91BF | N/A | Shows an underscore when used on XMBML | ||
uF480 | 0xEF9280 | N/A | Shows an underscore when used on XMBML | ||
uF481 | 0xEF9281 | N/A | Shows an underscore when used on XMBML | ||
uF482 | 0xEF9282 | N/A | Shows an underscore when used on XMBML | ||
uF483 | 0xEF9283 | N/A | Shows an underscore when used on XMBML | ||
uF484 | 0xEF9284 | N/A | Shows an underscore when used on XMBML | ||
uF485 | 0xEF9285 | N/A | Shows an underscore when used on XMBML | ||
uF486 | 0xEF9286 | N/A | Shows an underscore when used on XMBML | ||
uF487 | 0xEF9287 | N/A | Shows an underscore when used on XMBML | ||
uF488 | 0xEF9288 | N/A | Shows an underscore when used on XMBML | ||
uF489 | 0xEF9289 | N/A | Shows an underscore when used on XMBML | ||
uF48A | 0xEF928A | N/A | Shows an underscore when used on XMBML | ||
uF48B | 0xEF928B | N/A | Shows an underscore when used on XMBML | ||
uF48C | 0xEF928C | N/A | Shows an underscore when used on XMBML | ||
| uF48D | 0xEF928D | Lips | ||
| uF48E | 0xEF928E | Lips with Tongue | ||
| uF48F | 0xEF928F | Kissing Lips | ||
| uF490 | 0xEF9290 | Nose | ||
uF491 | 0xEF9291 | N/A | Shows an underscore when used on XMBML | ||
uF492 | 0xEF9292 | N/A | Shows an underscore when used on XMBML | ||
| uF493 | 0xEF9293 | Ear | ||
| uF494 | 0xEF9294 | Feet | ||
| uF495 | 0xEF9295 | Feet1 | ||
uF496 | 0xEF9296 | N/A | Shows an underscore when used on XMBML | ||
uF497 | 0xEF9297 | N/A | Shows an underscore when used on XMBML | ||
uF498 | 0xEF9298 | N/A | Shows an underscore when used on XMBML | ||
uF499 | 0xEF9299 | N/A | Shows an underscore when used on XMBML | ||
uF49A | 0xEF929A | N/A | Shows an underscore when used on XMBML | ||
uF49B | 0xEF929B | N/A | Shows an underscore when used on XMBML | ||
uF49C | 0xEF929C | N/A | Shows an underscore when used on XMBML | ||
uF49D | 0xEF929D | N/A | Shows an underscore when used on XMBML | ||
uF49E | 0xEF929E | N/A | Shows an underscore when used on XMBML | ||
| uF49F | 0xEF929F | Sun (Moving) | ||
| uF4A0 | 0xEF92A0 | Clouds (Moving) | ||
| uF4A1 | 0xEF92A1 | Umbrella | ||
| uF4A2 | 0xEF92A2 | Rainbow | ||
| uF4A3 | 0xEF92A3 | Umbrella Raining (Moving) | ||
| uF4A4 | 0xEF92A4 | Snowman (Moving) | ||
| uF4A5 | 0xEF92A5 | Storm (Moving) | ||
| uF4A6 | 0xEF92A6 | Tornado | ||
uF4A7 | 0xEF92A7 | N/A | Shows an underscore when used on XMBML | ||
| uF4A8 | 0xEF92A8 | Closed Umbrella | ||
| uF4A9 | 0xEF92A9 | Snowflake | ||
uF4AA | 0xEF92AA | N/A | Shows an underscore when used on XMBML | ||
uF4AB | 0xEF92AB | N/A | Shows an underscore when used on XMBML | ||
uF4AC | 0xEF92AC | N/A | Shows an underscore when used on XMBML | ||
uF4AD | 0xEF92AD | N/A | Shows an underscore when used on XMBML | ||
uF4AE | 0xEF92AE | N/A | Shows an underscore when used on XMBML | ||
uF4AF | 0xEF92AF | N/A | Shows an underscore when used on XMBML | ||
uF4B0 | 0xEF92B0 | N/A | Shows an underscore when used on XMBML | ||
uF4B1 | 0xEF92B1 | N/A | Shows an underscore when used on XMBML | ||
uF4B2 | 0xEF92B2 | N/A | Shows an underscore when used on XMBML | ||
uF4B3 | 0xEF92B3 | N/A | Shows an underscore when used on XMBML | ||
uF4B4 | 0xEF92B4 | N/A | Shows an underscore when used on XMBML | ||
uF4B5 | 0xEF92B5 | N/A | Shows an underscore when used on XMBML | ||
uF4B6 | 0xEF92B6 | N/A | Shows an underscore when used on XMBML | ||
| uF4B7 | 0xEF92B7 | Bouquet | ||
| uF4B8 | 0xEF92B8 | Ring | ||
| uF4B9 | 0xEF92B9 | Loop | ||
| uF4BA | 0xEF92BA | Present | ||
| uF4BB | 0xEF92BB | Cake | ||
| uF4BC | 0xEF92BC | Money | ||
| uF4BD | 0xEF92BD | ¥ | ||
| uF4BE | 0xEF92BE | $ |
|