PDA

Просмотр полной версии : Разбор шрифта imagefont.bin


in1975
10.02.2023, 15:48
dev_flash/vsh/resource/imagefont.bin

Подробная информация о шрифте. (https://www.psdevwiki.com/ps3/XMB_Fonts#imagefont.bin)

Коды спецсимволов в стандартном шрифте. (https://www.psdevwiki.com/ps3/XMB_Fonts#Private_Use_Area_.28Unicode_range_from_uE000_up_to_uF8FF.29)

Тема на psx-place (https://www.psx-place.com/threads/research-special-characters-in-imagefont-bin-emojis-icons-symbols.13985/)

Нестандартный шрифт из CFW EVILNAT 4.89.3 18445 (с дополнительными спецсимволами)

ErikPshat
13.02.2023, 09:37
in1975, ну там в imagefont.bin в начале хейдера (https://www.psdevwiki.com/ps3/XMB_Fonts#Header) идут опознавательные пометки:

18453

Первые 2 байта - 0100 - типа версия формата
Следом 2 байта - 017F - количество символов (индексов) = 383 штуки
Затем 4 байта - 0007B418 - позиция на таблицу размещения символов.
И следом от 8-го байта сразу начинаются архивы 789C (ZLIB) - среднее сжатие (по умолчанию)
Level | ZLIB
1 | 78 01 - архив без сжатия
3 | 78 5E - лёгкое сжатие
6 | 78 9C - среднее сжатие (по умолчанию)
9 | 78 DA - максимальное сжатие

ErikPshat
13.02.2023, 10:06
Если прыгнуть на позицию Goto 0007B418, тогда попадаем на таблицу смещений, где строками по 16 байтов указаны позиции всех архивов ZLIB вплоть до самого конца файла:

18454

Эту таблицу, от 0007B418 и до конца файла, можно выделить Shift+End и скопировать в новый документ. Там, в таблице, в каждой строке по 16 байт:


Первые 4 байта - указывают на смещение ZLIB-архива 789С.
Вторые 2 байта - 03F5 - указывают на размер архива.
Третьи 2 байта - 03F6 - указывают на размер в распакованном виде.
Следом 2 байта - F433 - ? наверное порядковый номер индекса.
Ну и три последних парных байта похожи на права отображения по категориям (https://www.pspx.ru/forum/showthread.php?t=106043).

18455