XMB Fonts

From PS3 Developer wiki
Jump to navigation Jump to search

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, 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 Settings->[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

How to display extended CDATA characters in .XML files with notepad++ style configurator

Font tools

Font types

System fonts

  • In Path: dev_flash/data/font/ (since 1.00):
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

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
dev_flash\bdplayer\bdjstack\font.properties

# Font family
# 
# Description:
#    Available font families, delimited by comma.
#    These value are returned by the method "getAvailableFontFamilyNames"
#    of java.awt.GraphicsEnvironment class
#
#    The familiy names must be either.
#    The "Dialog" is default, so it must be set at first.
#    -  Dialog
#    -  DialogInput
#    -  Monospaced
#    -  Serif
#    -  SansSerif
#    -  Symbol
#
FamilyNames=Dialog,DialogInput,Monospaced,Serif,SansSerif,Symbol

# Font mappings
#
# Description:
#    Font mapping of families to the real system fonts.
#
# Format:
#    Family.<FamilyName>=<RealFontName>
#
#    Rules:
#    1. Empty value field means default fonts 
#       (e.g.) Dialog= -> Default system font is used
#
#    2. Space should not be contained in the value field. Use \u0020 instead.
#       (e.g.) Monospaced=New Courier -> Monospaced=New\u0020Courier
Family.Dialog=
Family.DialogInput=
Family.Monospaced=
Family.Serif=
Family.SansSerif=
Family.Symbol=

Closed captions

  • 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

Resources fonts

  • dev_flash/vsh/resource/imagefont.bin (used for PS3 VSH ?)
  • Was added in PS3 firmware since 1.90 (long before Vsh.tar inclusion of codepage files was removed since 1.50)
  • Contains some hundreds of glyphs (characters)
  • Every glyph is compressed individually with zlib, afer decompression are "pixel data" in an unknown format, see Discussion page
  • The entries in the index are 0x10 bytes length. "number of entries in the index" multiplied by "length of an entry" = length of the whole index

Since 3.15 there is also a PSP imagefont.bin, which is much smaller and differs:

Structure

imagefont.bin structure
Name Offset Length Example 1.90 Example 2.00 Example 4.46 Example 4.75 Remark
version ? 0x00 0x02 00 90 01 00 01 00 01 00 file version ?
Index number of entries 0x02 0x02 01 29 01 29 01 42 01 4C number of entries in the index, and number of files in the unknown table
Index start offset 0x04 0x04 00 05 D0 88 00 05 D4 C9 00 06 55 40 00 06 63 97 big endian
Glyph table 0x08 varies
(up to start of index)
78 9C etc... Composed by glyphs compressed individually with zlib (glyphs are not indexed in the table at bottom)
unknown table in between 78 9C etc... Composed by unknown files compressed individually with zlib
Index table varies
(after glyph table)
varies
(up to the end of the file)
Composed by entries of 0x10 bytes length each
  • Example of the first 5 index entries from 4.46
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  ..:¶.^..ø€....€.
00065550  00 02 3E 14 03 3D 04 12 F8 81 00 1A 00 17 80 00  ..>..=..ø.....€.
00065560  00 02 41 51 03 0A 04 12 F8 82 00 1A 00 17 80 00  ..AQ....ø‚....€.
00065570  00 02 44 5B 03 47 04 12 F8 83 00 1A 00 17 80 00  ..D[.G..øƒ....€.
00065580  00 02 47 A2 03 0F 04 12 F8 84 00 1A 00 17 80 00  ..G¢....ø„....€.
Offset Length Name Example 4.46 Notes
0x00 0x04 file_offset 00 02 3A B6
0x04 0x02 file_size_compressed 03 5E
0x06 0x02 file_size_decompressed 04 12
0x08 0x02 unknown F8 80 glyph_id ? (in hex-to-unicode or something like that)
0x0A 0x02 file_pixels_width 00 1A 1 byte = 1 pixel, in grey scale
0x0C 0x02 file_pixels_height 00 17
0x0E 0x02 unknown 80 00 font_family ?

As can be seen after changing the view mode to "26 bytes per row" in a hexeditor, the first glyph is some kind of circle, only contains pixel data (1 byte per pixel, in greyscale)

First glyph (pixel data) inside dev_flash/pspemu/flash0/font/imagefont.bin after zlib individual decompression

Versions

imagefont.bin versions
Version Size MD5 Location Remarks
(3.15-Template:Latest) 12331 ae560a9f0795096c9857052441bd8cec devflash/pspemu/flash0/font/imagefont.bin PSP VSH
(1.90-1.94) 385816 3e74a50419c165f4208b84adcbf2881f devflash/vsh/resource/imagefont.bin PS3 VSH
(2.00-2.43) 386905 6b842156c0996e4c706fbdea919a040f devflash/vsh/resource/imagefont.bin PS3 VSH
(2.50-3.42) 416269 2da04c8caaec6012911b10fc3b829b10 devflash/vsh/resource/imagefont.bin PS3 VSH
(3.50-3.66) 417620 6c03902f0342cc6e688c527b40ce0f7d devflash/vsh/resource/imagefont.bin PS3 VSH
(3.70-4.55) 420192 98e8f3545e04ad62da19c2fc63210cfd devflash/vsh/resource/imagefont.bin PS3 VSH
(4.60-Template:Latest) 424023 97daf9e7fff3a834bcf97c0c2240dced devflash/vsh/resource/imagefont.bin PS3 VSH

PSP emulator

  • PS3 firmware: in path dev_flash/pspemu/flash0/font/imagefont.bin (added since 3.15 - used for VSH inside PSP emulator)
  • 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)
  • PSvita firmware: in path vs0:data/external/font/emoji/imagefont.bin (in 3.30 or earlyer)

Web browser

Related with the Web Browser (the xai version of the webbrowser is named <MicroBrowser> in the .xml), it lists the font types availables by language groups

  • fontinfo-Xai.xml
    • In path: dev_flash\vsh\resource\silk\etc\fontinfo-Xai.xml and dev_flash\vsh\resource\silk_webkit\etc\fontinfo-Xai.xml (same file)
    • In path: dev_flash\vsh\resource\silk_nas\etc\fontinfo-Xai.xml (same file without the line SCE-PS3 Rodin LATIN2)
    • The file is different in CEX or DEX (in the lines where appears SCE-PS3 Rodin LATIN the CEX version has the font SCE-PS3 Rodin LATIN2 added)
Code Sample
  • fontFileInfo.xml
    • In path: dev_flash\vsh\resource\silk\etc\fontFileInfo.xml and dev_flash\vsh\resource\silk_nas\etc\fontFileInfo.xml (same file)
Code Sample

Photo gallery (hakoniwa)

Photo gallery (codenamed hakoniwa or hknw) is an special software composed by files that comes preinstalled with the firmware and an additional IP9100-NPIA00006_00-VSHMODULE0000029.PKG that needs to be installed separatedlly

Hakoniwa uses some settings related with fonts. Some info related to font "families" and font "styles" from the file dev_flash\vsh\resource\hknw_plugin\parameters.txt

/////////////////////////////////////////////////////
// 新フォント (new fonts)
/////////////////////////////////////////////////////

// NEWFONT_FAMILY_CODE の値 (value)
//     0 SCE_FONT_DEFAULT_FAMILY_CODE
//     1 SCE_FONT_FAMILY_SANSERIF
//     2 SCE_FONT_FAMILY_SERIF
//     3 SCE_FONT_FAMILY_ROUNDED
//     4 SCE_FONT_FAMILY_ROUNDED_CASUAL 従来の丸文字 (conventional round character)
//     5 SCE_FONT_FAMILY_ROUNDED_CASUAL2
// 61440 azukiLB
// 61441 uzura
// 61442 aqua
// 61443 aqua_pfont
#define NEWFONT_FAMILY_CODE     61440//61443

// NEWFONT_STYLE_CODE の値 (value)
// 101   細い (thin)
// 102    ↑
// 103    |
// 104    |
// 105    ↓
// 106   太い (thick)
#define NEWFONT_STYLE_CODE      104

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"

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
20 space

Check here for other valid characters and the conversion from unicode to hexadecimal: http://www.havirho.eu/Programming/U-02400-tm-U-027FF.htm