Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Разбираем формат шрифта Font_d4


ZeonET

Рекомендуемые сообщения

Вот уже неделю мучаюсь с нокиевским шрифтом из ППМ-ки, блок FONT_D4. Кажется что расклал бульшую половину по полочкам, но финальную картину представить не могу...

Так вот, есть блок, и в нем вот такая лабуда:

... FONT header ...

4 bytes - some flag (e.g 00 01 00 00)

4 bytes - length of font

4 bytes - some flag ? 00 00 00 00

4 bytes - some flag ? 00 01 00 00

далее интересней:

4 bytes - смещение на шрифти

4 bytes - длинна какой-то инфы

4 bytes - смещение на таблицу с инфой по символах

и дальше таблица какая-то:

Offset      0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F

00000000  00 00 B0 02 CE 01 00 E0  0F 00 00 02 FF FF FF FF  
00000010  07 80 00 00 C8 CC 00 00  50 CC 00 00 68 17 00 00
00000020  00 00 E0 01 6C 01 00 E0  0C 00 02 00 0F 00 00 02  
00000030  07 80 00 00 A8 CC 00 00  38 CC 00 00 50 26 00 00  
00000040  00 00 0E 02 A7 01 00 E0  0F 00 80 00 0F 00 00 02  
00000050  07 80 00 00 88 CC 00 00  20 CC 00 00 A8 36 00 00  
00000060  00 00 0A 02 B3 01 00 E0  0F 00 40 00 0F 00 00 02  
00000070  07 80 00 00 68 CC 00 00  08 CC 00 00 E0 46 00 00
00000080  00 00 E6 02 F6 01 00 E0  13 00 80 00 FF FF FF FF

Потом таблица с инфой по символах, как я понял(немного выровнял, для красоты):

0020  00 02 B6 04 00 4B  -  
0021  00 01 C3 00 00 4B  - !
0022  00 03 5A 06 00 4B  - "
0023  00 07 41 0A 00 4B  - #
0024  00 04 10 0B 00 4B  - $
0025  00 07 4D 0A 00 4B  - %
0026  00 05 00 1E 00 4B  - &
0027  00 01 CF 00 00 4B  - '
0028  01 03 66 06 00 4B  - (
002A  01 05 0C 1E 00 4B  - *
002C  00 02 C2 04 00 4B  - ,
002D  00 03 7E 06 00 4B  - -
002E  00 01 DB 00 00 4B  - .
002F  00 03 8A 06 00 4B  - /
0030  09 04 1C 0B 00 4B  - 0
003A  00 01 E7 00 00 4B  - :
003B  00 02 CE 04 00 4B  -;
003C  00 03 96 06 00 4B  - <
003D  00 04 94 0B 00 4B  - =
003E  01 03 A2 06 00 4B  - >
0040  00 07 59 0A 00 4B  - @
0041  00 05 24 1E 00 4B  - A
0042  01 04 A0 0B 00 4B  - B
0044  00 05 30 1E 00 4B  - D
0045  02 04 B8 0B 00 4B  - E
0048  00 05 3C 1E 00 4B  - H
0049  01 03 BA 06 00 4B  - I
004B  00 04 DC 0B 00 4B  - K
004C  00 03 D2 06 00 4B  - L
004D  02 05 48 1E 00 4B  - M
0050  00 04 E8 0B 00 4B  - P
0051  00 05 6C 1E 00 4B  - Q
0052  01 04 F4 0B 00 4B  - R
0054  02 05 78 1E 00 4B  - T
0057  00 09 DF 02 00 4B  - W
... итд, всего где-то 19 000 строк

т.е. первые два байта - код юникод, а другие хз хз, толи смещение толи еще что-то, как я понял, и видел с помощью проги ISE 2.09 символы разной длины - в разных таблицах. Например "а", "б", "в" в одной (например 6х9), а "ю", "щ" в другой (9х9)....

Не могу найти зависимость между той таблицой с символами и самими символами. Символы идут просто один за другим: бит на пиксель в альтернативном представлении, если смотреть через ISE. Сначала 4х6, потом 5х6, 6х7 итд.Также и в таблице есть несколько описаний символа, например латиница встречается более 20 раз...

Пример картинки

post-55441-1486242287,2418_thumb.png

Ссылка на комментарий
Поделиться на другие сайты

Я так только что посмотрел и вижу что некому особо ответить да и форум что-то умирает.Может люди которые занимаются близкими замутами обьеденяться скажем так в команды и буду вместе работать помогуть друг другу было бы неплохо очень даже.Например патчи там помогать друг другу создавать подскаывать кто-то поковыряет прошивку вместе вот и пойдет, а то большинство не хочет ничем заниматься и только и ждем пока что-то новое выйдет...

 

Ссылка на комментарий
Поделиться на другие сайты

Ну да... Вот такие у нас дела... Те кто что-то знает наверно сюда не заглядывают - им и так хватает работы...

Ссылка на комментарий
Поделиться на другие сайты

Я например когда есть время и натхнення)))))) стараюсь патчик сколотить))) просто времени очень мало

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×
×
  • Создать...