Blackthorne/шрифты

Материал из Old-Games.RU Wiki
Версия от 20:21, 30 мая 2017; Dimouse (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Шрифты в Blackthorne представлены в DATA.DAT в ресурсах 289 и 291. Файл содержит данные о 64 символах.

Формат хранения имеет занимательный и своеобразный алгоритм кодирования «картинки» шрифта. Массив байтов заполняется в поле размером 512x8, причем заполнение идет парами байт, сначала сверху вниз. Полученное поле делится на области 8x8, каждое из которых представляет собой отдельный обособленный символ. Однако и здесь не все так просто. Каждый нечетный по порядку байт отвечает за отображение соответствующего пикселя левой части, каждый четный — правой части. Расчет X-координаты в пределах 8-пиксельной зоны ведется по следующей формуле:

Шрифт из ресурса 289. Шрифт из 291 практический идентичен, кроме отсутствия цвета границ символов (красный цвет)
  • Если номер n текущего байта - четное число, то x = n/2
  • Если номер текущего байта - нечетное число, то x = (n + 1)/2 + 3

Байты могут принимать одно из четырех значений:

  • 0x00 — фон (прозрачная область)
  • 0x01 — основной цвет
  • 0x02 — «тень» шрифта
  • 0x03 — фон (прозрачная область, встречается только в ресурсе 289; вероятно, данный цвет использовался для обозначения границ символов)