JEAN17RUS, ну и ещё, на всякий случай, надеюсь ты знаешь, что на PSP используется кодировка символов в
Little Endian - это кода сначала идёт младший байт, а затем старший байт, а если по-русски говоря, то код записывается задом наперёд, или справа налево.
Для примера, выше я выкладывал скриншоты шрифтов, и там есть такие примечательные символы "Звёздочки" (
Закрашенная и
Незакрашенная).
Они в первом столбце имеют код
0526 и
0626, но, т.к. код записан в LE, точнее в UTF-16LE, значит на самом деле это читается задом наперёд как
2605 и
2606, и так далее со всеми остальными кодами символов и позиций X и Y.
Ну и далее смотрим код, для примера этих же двух звёздочек:
★ CE01 1500 1000 1400
☆ E001 1500 1000 1400
Превращаем код в читабельный вид:
★ 01CE 0015 0010 0014
☆ 01E0 0015 0010 0014
Превращаем в десятичный вид:
★ 462 21 16 20
☆ 480 21 16 20
По коду видно, что расстояние между символами постоянно составляет
18 (пикселей или ещё каких условных единиц) и это явно намекает на расстояние по горизонтали X, т.к. следующий код повторяется ровно столько раз, сколько символов в одной строке, а значит расстояние между строками по оси Y у одного ряда символов всегда одинаковое.
Расстояние по вертикали Y всегда получается
21 (0x2A - 0x15 = 15h = 21).
На скриншотах выше видно множество символов с 1500 и следующее множество идёт с 2A00.
А звёздочки на картинке символов находятся во втором ряду, значит 1500 или 21 уже намекает на
расстояние до второй строки по верхнему краю.
Соответственно, разница между третьей строкой 0x2A и второй 0x15 так же составляет 0x15 или 21 пиксел.
А цифры 462 и 480 - это расстояние от левого края картинки. Если подсчитать одинаковое расстояние слева по 18 пикселей и учесть, что закрашенная звёздочка находится на 30-ой позиции, то получается, что у неё расстояние должно было быть 540. Но, если присмотреться, то в начале строки есть короткие символы, то где-то так и выходит. Собсно разница в хексе это явно показывает.
Итог 5-ти минут чтения 16-ричного кода:
- 1-ый столбец - код символа
- 2-ой столбец - отступ слева по горизонтали X
- 3-ий столбец - отступ сверху по верситкали Y
- 4-ый столбец - ширина символа 16 пикселей.
- 5-ый столбец - высота символа 20 пикселей. (скорее всего, включая прозрачную незарисованную область под заглавные буквы)