PS3 [RESEARCH] Special characters in imagefont.bin - Emojis icons symbols

Another couple of things we know (thx to littlebalup tests) and has not been commented on public is you can delete the file imagefont.bin and the firmware will work normally (not tested in all enviroments of course because are a lot but seems safe), the missing icons shows an underscore but the text messages including them shows normally (with underscores instead of the icons)
Also, is posible to create icons with colormaps smaller than 256 colors... all ofw icons has 256 colors, but that "spinning guy" from a test few messages above had only 5 colors
Also... all official icon images can be extracted and processed in a image editor app (gimp, photoshop, etc...) to recalculate the amount of colors with the purpose of reducing them under 256 (this is really easy because official ones are a disaster... as example there are a lot in white scale with 256 colors)

Combine all this ideas and we have 2 different methods to reduce the size of imagefont.bin... by removing icons... and by reducing color palettes

The icons inside imagefont.bin are grouped, there are 3 groups that are critical (SYSTEM, LOGOS, and BUTTONS)... this ones can be extracted and reduced the color palette (without losing any quality)
All the other icons can be deleted because are for chat and things like this, actually i dont remember to see any of them ever but well the risk in removing is very small, this is going to reduce the file size a lot

The point of this "lite" version of imagefont.bin is to increase the available space inside flash
This is handy for people that wants to build a firmware and needs space for other files... is a good trick to have in the sleeve
FYI @Joonie we was talking time ago about how to make space in flash, this was not posible before but now is my favourite method
 
Hmm, new brainstorming related with what i just wrote... instead of deleting some icons... we could create a dummy icon and remap all the ones we want to remove to the dummy

This can be made at the index, in the index it tells the offset of the palette (and inside the palette it tells the offset of the image/s), so by "tweaking" the index we can modify several official icons to point to the same palette offset

The dummy icon should be something representing that has been removed... like a traffic warning sign

I think this should work, is mostly to avoid the underscores of the missing icons... this way there are not missing icons
 
There is another way to probably save a lot of space on flash, kind of related, there is over 24MB of fonts on the PS3, Seems to me this is an awful lot, and this could be optimised too probably.
 
There is another way to probably save a lot of space on flash, kind of related, there is over 24MB of fonts on the PS3, Seems to me this is an awful lot, and this could be optimised too probably.
Yes, but for someone that is going to release a CFW globally removing some fonts is going to cause problems
As example some dark-alex PSP cfw where was needed to remove some of the asian fonts (dont remember which one it was), and of course the asian regions affected complained about it

In PS3 one of the fonts is huge (in comparison with the others) iirc is for russia... next ones in order of size are for japan... but removing them seems a bad idea

Is better to remove one of the "styles" that appears in XMB in the theme settings (pop/classic/whatever... dont remember the names) but we dont really know which TTF file belongs to each style
Also, in japanese XMB one of that styles is named "ghotic", i have no idea if is a different one or just a different name for the same thing

At the time i made the huge table in wiki with the TTF fonts i prepared some columns in the table for this info about the styles, but i never added much info in it because i never tested it and could not find much info in internet about it

So... well... if at some point someone identifyes which TFF files belongs for every "style" it could be posible to remove one or a couple of those styles (and this means being able to delete several TTF files) but to complete the mod correctly is going to be needed to remove also the option in the theme settings (to avoid any user to try to enable the style that has been removed)

The problem with that... is most of the TFF fonts are very small (like 50kb)... there is not much room to recover from them
The huge ones are russian (one TFF file of 8mb) and japanese (4 fonts * 3mb each or so)
 
There is a way to add images that is not inside the ps3 fonts


like my ps3 pro mode i add the LOGO AND THE PS3 LOGO, but i need a PRO one
 
Last edited:
There is a way to add images that is not inside the ps3 fonts


like my ps3 pro mode i add the LOGO AND THE PS3 LOGO, but i need a PRO one

Yes its possible, see post #91, but only @littlebalup knows how to add custom icons. He was working on a set of scripts that could do it, but I am not sure if he just lost interest or there was an issue. I think it would be cool to have a extended set of icons for use on CFW, like little "ISO" label icons etc.
 
Yes its possible, see post #91, but only @littlebalup knows how to add custom icons. He was working on a set of scripts that could do it, but I am not sure if he just lost interest or there was an issue. I think it would be cool to have a extended set of icons for use on CFW, like little "ISO" label icons etc.

Yes, I need some motivation and time to clean up and finish it... There still some small issues like semi-transparent pixels.
 
So, some ideas could be posted here about adding custom icons to imagefont.bin, it is the kind of thing we would just want to do once, and then only ever add new ones, never take anything out, to maintain backwards compatibility.

Hypothetically, if for example webman was to use these In the info line for games, just an example



when webman installs, it could install the extended imagefont.bin too, so its not really a big deal to mod this file imo. Worst case scenario, if the extended imagefont.bin is not installed, those icons just show an underscore on the XMB, not the end of the world.

Apart from those ones above, I think a couple of these type of icons should be added too.


upload_2019-4-11_2-58-14.png


Also, one essential emoji is missing.
upload_2019-4-11_3-5-52.png

And a load more. suggestions?
 
Last edited:
Good suggestions. I think a little disc icon would be good too.

Maybe a few more game/console related icons. too, we only have this one now.

upload_2019-4-11_11-16-45.png


We could replace the entire smiley set as the ones included are not great. Also I wonder can be replace all icons with higher resolution versions too.

Also we could add all these, they are already in OFW, but we cant call them in text fields.

tex_infobar_atrac_audio.png tex_infobar_cf.png tex_infobar_digital_camera.png tex_infobar_ms.png tex_infobar_psp.png tex_infobar_psp_ms.png tex_infobar_sd.png tex_infobar_usb_device.png tex_music.png tex_photo.png tex_video.png item_tex_minisformat.png item_tex_neogeoformat.png item_tex_pceformat.png item_tex_ps1format.png item_tex_ps2format.png item_tex_ps3format.png item_tex_ps4format.png item_tex_pspemuformat.png item_tex_pspformat.png item_tex_themeps3format.png item_tex_vitaformat.png music_tex_aac.png music_tex_atrac.png music_tex_cdda.png music_tex_dsf.png music_tex_mp3.png music_tex_pcm.png music_tex_wav.png music_tex_wma.png tex_3D.png tex_avc.png tex_divx.png tex_mpg1.png tex_mpg2.png tex_mpg4.png tex_multiangle.png tex_original.png tex_playlist.png tex_wmv.png tex_mjpg.png music_tex_sacd.png bgdl_tex_error.png bgdl_tex_pause.png tex_indi_AFK.png tex_indi_Sign_out.png trophy_tex_grade_bronze.png trophy_tex_grade_gold.png trophy_tex_grade_hidden.png trophy_tex_grade_platinum.png trophy_tex_grade_silver.png tex_Message_Parts_Pin.png tex_indi_Game.png user_tex_login.png tex_indi_Message.png tex_dl_dst_game.png tex_dl_dst_music.png tex_dl_dst_photo.png tex_dl_dst_video.png tex_game.png
 
Last edited:
Yep, one of the custom improvements that can be made is to replace most/all the icons by a new version in high quality, but preserving the original meaning of the original icon
As example... there is an icon for an optical disc that have the quality of windows 95
This kind of custom imagefont.bin is the less conflictive approach

Another thing we can do is to include new icons in it... following the same rule used by official firmware, in short:
Every character (or glyph in font slang) of a TTF font have an unique ID... and that same ID is used by the icon images inside imagefont.bin
So... we can replace any character of the TTF files by including an icon for it inside imagefont.bin
The firmware will load the icon inside imagefont.bin and will ignore the "glyph" inside the TTF file

Thats just the theory, we never tested this :P
But think in it... how many candidate "glyphs" inside the TTF files could be usefull to replace by an icon image ?
Initially there are many that we should not touch (like the normal letters of the alphabet)
But i think there are others that can be replaced... like the 5 spikes star used in the string "install package files"
If we add an icon for it with the correct ID it will be visible in all pakage managers in all CFWs, HAN and official DEX, DECR, ARC, SHOP, etc... :)
From the point of view of image design i think that start could be improved a bit (but we should not go crazy with it)... the goal could be just an small improvement to add some "bump" effect and not much

Anyway... this i mentioned about the "install package files" star is just an example of a glyph that is actually loaded from the TTF files and we can replace by an icon
 
We could do a few experimental things. We could add the full alphabet, in a font that looks just like standard (Arial semi bold is close.), add it in white but also in a few other colours.

That way, any text added in that way would be forced to use default font regardless of XMB settings. We could use this in cool ways. For example, we could add a full set of letters in bold red, this way any important text can use that.

Also this would allow us to mix strings that are static, in with strings that are read from the RCO, so we have the best of both worlds.

A side effect of adding fonts like that, is that they will not have the pulsing glow like other letters, not sure if that is useful for anything yet. :)

Of course i don't know how many spaces we have available, but if we have hundreds, it is an option. The ability to use red bold text in mods would be great and could solve some misunderstanding about things before they are even an issue.



 
Last edited:
In the official/s imagefont.bin all IDs belongs to an area of the standard unicode map named "Private Use Area". Is a range from uE000 up to uF8FF
I dont remember right now if is correct to make a direct conversion in between unicode and hex values, but initially it seems to have room for 6399 glyphs minus the ones that are already used officially
So are a lot, maybe there is some restriction limit because the memory sizes though

Another restriction that has not been tested is what i mentioned about using an ID from a standard character of the alphabet (different than the ones inside the range "private use area")
We dont know if the PS3 firmware is making that replacements of TTF characters by imagefont.bin icons only for the IDs inside the "private use area"
If it allows to use IDs out of the "private use area" then i guess we can replace all contents of the TTF files, is a bit hardcore but yeah i guess it could be made a full character set for the alphabet with icons
But if a custom imagefont.bin like that is going to be released in public is not so easy because is going to be dependant of language

Another thing needed to consider is if there is going to be released some app "dependant" of a imagefont.bin made by someone
Lets say... if you release an app and use some icons inside the SFO for the title then is going to be displayed fine only if the user have the "custom" imagefont.bin... otherway the title is going to be displayed wrong
So in this case... is a bad idea to release an app dependant of a custom imagefont.bin... unless:
1) the app itself "updates" the imagefont.bin ... this s a bit intrusive imo
2) the app identifyes if the custom ID exists in imagefont.bin ... this is easy to do

For a plugin like webman, and the 2 icons i suggested with the thermometer and the fan there is no problem, because webman modifies the text strings for temperature and fan speeds dinamically, so it can make this sequence:
1) identify if the needed icon IDs exists inside imagefont.bin
2) if the IDs exists inside imagefont.bin use them... else dont use them :D
 
Last edited:
Btw, this made me remind another modification that can be made to imagefont.bin, i was talking about it before (not sure if in public or private, but yeah i been thinking in this some time ago)

The idea is to remove all that "crappy" icons that looks pointless... stuff like the animals (duck, bird, bug, etc...), vehicles (ambulance, police car, etc...), zodiac (piscis, tauro, etc...), and in few words... most of them
I guess was used for chat, but personally i never saw them so i dont care, also i bet if you remove them it will be displayed as a underscore (so no crash or problem)

The only worthy icond we really need to keep are the ones related with sony (for dualshock buttons, logos, etc)
Additionally, we could keep the smileys... but thats all

This removals should reduce the size of imagefont.bin a lot ;)




Edit:
Also, keep in mind the animated icons are composed by "frames", and they have in between 3 and 5 frames
Every frame counts as a normal image (in bytes size)
So removing 1 animated icon is the same than removing 3 or 5 static icons (in bytes size)
 
Last edited:
Chat:
JRiwjDF.png


Buttons:
n4iPFQZ.png


Sony Logos:
hIel4tB.png


System Icons:
Eyo266S.png


Smileys:
Yx1Y730.png


Hand Signs:
wqzFTVQ.png


Transport:
oNSow6H.png


Plants:
rX9oWaS.png


Food:
7DGfdpx.png


Vegetables and Fruit:
cDB0m5r.png


Sweets:
Ake3mxa.png


Games/Sports:
Hy12xC6.png


Phones/Clocks/PCs etc:
IYveERK.png


Tools/Audio etc:
zrH8Yy5.png


Instruments/Bags/Shoes/Buildings etc:
PkC37de.png


Animals:
9QE54h7.png


Arrows:
LL90vmd.png


Star Signs:
etBY2JO.png


That is all of them afaik. :)

Here they are all displayed on the epilepsy warning.
tLfQqOo.png


Here is a link to all screenshots and a txt file with them all included for any one interested. The layout in the text file is exactly the same as the screenshots.

DOWNLOAD

EDIT: after having another look, seems I am missing a couple. I have 330, there should be 332. dam..


@DeViL303 the link is down, and i lost mine already downloaded

Can you reupload please? this one is that what includes a txt with blank spaces right? i need this one
 

Similar threads

Back
Top