Blackthorne/шрифты: различия между версиями
Перейти к навигации
Перейти к поиску
Dimouse (обсуждение | вклад) |
|||
Строка 1: | Строка 1: | ||
− | '''Шрифты''' в Blackthorne представлены в [[Blackthorne/DATA.DAT|DATA.DAT]] в ресурсах 289 и 291. Файл содержит данные о 64 символах. | + | '''Шрифты''' в [[Blackthorne]] представлены в [[Blackthorne/DATA.DAT|DATA.DAT]] в ресурсах 289 и 291. Файл содержит данные о 64 символах. |
Формат хранения имеет занимательный и своеобразный алгоритм кодирования «картинки» шрифта. Массив байтов заполняется в поле размером 512x8, причем заполнение идет парами байт, сначала сверху вниз. Полученное поле делится на области 8x8, каждое из которых представляет собой отдельный обособленный символ. Однако и здесь не все так просто. Каждый нечетный по порядку байт отвечает за отображение соответствующего пикселя левой части, каждый четный — правой части. Расчет X-координаты в пределах 8-пиксельной зоны ведется по следующей формуле: | Формат хранения имеет занимательный и своеобразный алгоритм кодирования «картинки» шрифта. Массив байтов заполняется в поле размером 512x8, причем заполнение идет парами байт, сначала сверху вниз. Полученное поле делится на области 8x8, каждое из которых представляет собой отдельный обособленный символ. Однако и здесь не все так просто. Каждый нечетный по порядку байт отвечает за отображение соответствующего пикселя левой части, каждый четный — правой части. Расчет X-координаты в пределах 8-пиксельной зоны ведется по следующей формуле: |
Текущая версия на 20:21, 30 мая 2017
Шрифты в Blackthorne представлены в DATA.DAT в ресурсах 289 и 291. Файл содержит данные о 64 символах.
Формат хранения имеет занимательный и своеобразный алгоритм кодирования «картинки» шрифта. Массив байтов заполняется в поле размером 512x8, причем заполнение идет парами байт, сначала сверху вниз. Полученное поле делится на области 8x8, каждое из которых представляет собой отдельный обособленный символ. Однако и здесь не все так просто. Каждый нечетный по порядку байт отвечает за отображение соответствующего пикселя левой части, каждый четный — правой части. Расчет X-координаты в пределах 8-пиксельной зоны ведется по следующей формуле:
- Если номер n текущего байта - четное число, то x = n/2
- Если номер текущего байта - нечетное число, то x = (n + 1)/2 + 3
Байты могут принимать одно из четырех значений:
- 0x00 — фон (прозрачная область)
- 0x01 — основной цвет
- 0x02 — «тень» шрифта
- 0x03 — фон (прозрачная область, встречается только в ресурсе 289; вероятно, данный цвет использовался для обозначения границ символов)