ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1073302 Топик полностью
LightElf (01.02.2021 16:44, просмотров: 338) ответил POV_ на Накидал утилитку для получения шрифтов из виндовых. Сыроватая, под текущую потребность. Но если кому красивость начертания не сильно важна (как мне) или шрифты крупные (что тоже скрасит отсутствие сглаживания) - подгоню воскресную поделку.
Вот бы еще в SIF-формате (Segger EmWin) сохранять. Формат достаточно простой и гибкий, легко заюзать и без EmWin. Устроен он так: 
#pragma pack(push,1) 
typedef struct sif_header_s
{
uint32_t magic; /* Font file ID */
uint16_t y_size; /* Height of font */
uint16_t y_inc; /* Space of font Y */
uint16_t baseline; /* Index of baseline */
uint16_t small_height; /* Height of a small lower case character (a) */
uint16_t large_height; /* Height of a upper case character (A) */
uint16_t num_areas; /* Number of character areas */
} sif_header_t;
#pragma pack(pop)

#define SIF_HEADER_MAGIC 'PIUG'

#pragma pack(push,1)
typedef struct sif_area_s
{
uint16_t first_idx; /* Index of first character */
uint16_t last_idx; /* Index of last character */
} sif_area_t;
#pragma pack(pop)

#pragma pack(push,1)
typedef struct sif_charinfo_ext_s
{
uint16_t x_size; /* Size of bitmap data in X */
uint16_t y_size; /* Size of bitmap data in Y */
int16_t x_offs; /* Display offset of bitmap data in X */
int16_t y_offs; /* Display offset of bitmap data in Y */
uint16_t x_inc; /* Number of pixels for increment cursor in X */
uint16_t rsvd;
uint32_t data_offset; /* Offset of pixel data */
} sif_charinfo_ext_t;
Не надо делать мне как лучше, оставьте мне как хорошо