December 3rd, 2020

Бритоголовый и С1-97

И как художник художникам

Хочу поделиться маленькой, но приятной находкой из книжки Питера ван дер Линдена Expert C Programming: Deep C Secrets. Вот такой набор макросов позволяет буквально “рисовать” черно-белые картинки прямо в коде:

#define X )*2+1
#define _ )*2
#define s ((((((((0 /* For building glyphs 8 bits wide */

Например, вот так выглядит символ 8*8 для какого-нибудь знакогенератора:

const uint8_t letter[] = {
/* 0xB8 */
s _ X _ X _ _ _ _,
s _ _ _ _ _ _ _ _,
s _ X X X _ _ _ _,
s X _ _ _ X _ _ _,
s X X X X X _ _ _,
s X _ _ _ _ _ _ _,
s _ X X X _ _ _ _,
s _ _ _ _ _ _ _ _,
};

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).