1

Тема: Формат шрифта BFT

Фиксирую результат разбора на данный момент.

Файл состоит из 4-х частей:

  • 000-05F: заголовок

  • 060-15F: таблица ширины символов (256)

  • 160-25F: таблица сдвига по вертикали (256)

  • 260-XXX: символы

Заголовок:

  • 000-01F: сигнатура, параметры? Назначение удалось установить только для байа 05, это высота символа. Также в рассмотренных файлах меняется байт 07, но закономерность установить не удалось. Остальные байты не меняются.

  • 020-02F: название шрифта, null terminated

  • 030-05F: назначение не установлено, всегда нули

Таблица ширины, 256 байт.
Ширина символа в пикселях. Если 0, то символ в шрифте пропущен. Вероятно, значение может лежать в диапазоне 1-8, других значений в имеющихся шрифтах не нашел. Ширина матрицы всегда 1 байт, т.е. 8 пикселей. В матрице символ выровнен влево, неиспользуемые пиксели равны 0 по всей высоте символа.

Таблица сдвига, 256 байт.
На каждый символ  - один байт со знаком. Означает сдвиг матрицы по вертикали на экране, то есть размер поля символа на экране должен учитывать максимальные сдвиги вверх и вниз по этой таблице.

Символы.
Каждый символ занимает количество байт, равное высоте (байт 05) из заголовка. Общий размер данных определяется как произведение этого значения на количество ненулевых байтов в таблице ширины.

Пример для шрифта SYSTEM (высота символов 8 строк):

Заголовок
0000  86 00 40 00 08 [08] 01 [0C] 00 00 00 00 00 00 00 00    . ` ←←▃╰        
0010  20 00 40 00 60 00 00 00 60 01 60 02 00 00 00 00      ` ю   ю▃ю▅    
0020  D3 D9 D3 D4 C5 CD 00 00 00 00 00 00 00 00 00 00    SYSTEM          
0030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    

ширина символов
0060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0090  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
       '  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o 
00A0  03 06 06 06 06 06 04 06 06 02 06 06 02 07 06 06    ▇∀∀∀∀∀⋁∀∀▅∀∀▅∃∀∀
00B0  06 06 06 06 04 06 06 07 06 06 06 03 01 03 06 05    ∀∀∀∀⋁∀∀∃∀∀∀▇▃▇∀╗
00C0  08 06 06 07 07 06 08 06 06 06 06 06 06 07 06 06    ←∀∀∃∃∀←∀∀∀∀∀∀∃∀∀
00D0  06 06 06 06 06 06 08 06 06 08 06 07 06 07 06 07    ∀∀∀∀∀∀←∀∀←∀∃∀∃∀∃

00E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
00F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0100  03 02 05 05 06 07 07 03 04 04 07 06 03 06 02 07    ▇▅╗╗∀∃∃▇⋁⋁∃∀▇∀▅∃
0110  06 03 06 06 06 06 06 06 06 06 02 03 05 06 05 06    ∀▇∀∀∀∀∀∀∀∀▅▇╗∀╗∀
0120  07 06 06 06 06 06 06 06 06 02 06 06 06 07 06 06    ∃∀∀∀∀∀∀∀∀▅∀∀∀∃∀∀
0130  06 06 06 06 06 06 06 07 06 06 06 04 07 04 07 06    ∀∀∀∀∀∀∀∃∀∀∀⋁∃⋁∃∀
0140  08 06 06 07 07 06 08 06 06 06 06 06 06 07 06 06    ←∀∀∃∃∀←∀∀∀∀∀∀∃∀∀
0150  06 06 06 06 06 06 07 06 06 08 06 07 06 08 06 07    ∀∀∀∀∀∀∃∀∀←∀∃∀←∀∃

сдвиг матрицы
0160  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0170  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0180  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
01A0  00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00           ▅        
01B0  02 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00    ▅▅       ▅      
01C0  00 00 00 02 02 00 02 00 00 00 00 00 00 00 00 00       ▅▅ ▅         
01D0  00 00 02 00 00 02 00 00 00 00 00 00 00 02 00 00      ▅  ▅       ▅  

01E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
01F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0200  00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00                ▃   
0210  00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00               ▃    
0220  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0230  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0240  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    
0250  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    

символы
0260  C0 C0 60 00 00 00 00 00 00 00 78 0C 7C CC 7C 00    @@ю       ь╰эLэ 
0270  C0 C0 F8 CC CC CC F8 00 00 00 78 C4 C0 C4 78 00    @@ЬLLLЬ   ьD@Dь 
0280  0C 0C 7C CC CC CC 7C 00 00 00 78 CC FC C0 78 00    ╰╰эLLLэ   ьLЭ@ь 
...

Приложение: Шрифт ORIGINAL, выведенный с учетом сдвига матриц.

Post's attachments

Attachment icon original.png 134.79 kb, 50 downloads since 2025-12-22 

2

Re: Формат шрифта BFT

Если это шрифт, используемый кем-то и когда-то на Агате, то кем или чем или где?

3 Отредактировано avivanov76 (28-12-2025 20:49)

Re: Формат шрифта BFT

Это шрифт графического редактора Joker http://agatcomp.ru/agat/Software/Graphic/Joker.shtml для ОС Спрайт.

Вообще, фигово, что софт на сайте приходится искать Яндексом. Было бы удобно иметь какой-то указатель софта под конкретные ОС.

4 Отредактировано Voldemar0 (31-12-2025 10:28)

Re: Формат шрифта BFT

> Вообще, фигово, что софт на сайте приходится искать Яндексом. Было бы удобно иметь какой-то указатель софта под конкретные ОС.

Всё можно сделать. И по операционкам, и по авторам и по категориям и по годам. Но некому этим заниматься.