Я в настоящее время жестко прописывать мои изображения в моем C++ программы в качестве структуры (исходного кода с данными пикселей может быть создан с GIMP), например так:Как интегрировать (hardcode) файл шрифта в мою программу?
static const struct {
unsigned int width;
unsigned int height;
unsigned int bytes_per_pixel;
unsigned char pixel_data[16 * 16 * 4 + 1];
} my_icon = {
16, 16, 4,
"...", pixel data here
};
Это работает отлично, и я очень счастливый! Но теперь я хочу сделать то же самое для файла шрифта, который я использую.
Поскольку GIMP сделал преобразование для меня, но, очевидно, не может преобразовать шрифт для меня, я застрял сейчас и не знаю, как бы я пошел по hardcoding font.ttf, как и с изображениями.
Если это имеет какое-то отношение, это то, как я в настоящее время загрузки файла шрифта:
sf::Font font;
if (!font.loadFromFile("font.ttf")) {
std::cout << "Could not load font" << std::endl;
return -1;
}
Может кто-то пожалуйста, помогите мне? (Размер шрифта меньше 25 КБ, поэтому проблем нет)
Спасибо!
Не могли бы вы рассказать мне, какой формат это: «\ 307R \ 377 \ 357 \ 305W \ 377 \ 3 ...» Я попробовал двоичный конвертер Hex и инструмент hexdump, подобный этому: http: // www .fileformat.info/tool/hexdump.htm, но это не в указанном выше формате. Я не знаю, как это называется. У меня Googled как сумасшедший, чтобы преобразовать шрифт в этот формат, но я ничего не могу найти :( –
Похоже, что это постоянный указатель на последовательность байтов {0xC7,0x52,0xFF, 0xEF, 0xC5,0x57,0xFF, ...}. Обратная косая черта, сопровождаемая тремя цифрами, представляет это байтовое значение в * восьмеричном *, печатный символ, который не является обратной машиной, завершающей цитатой или вопросительным знаком, представляет собой его код символа в целевом наборе символов (обычно ASCII). – supercat
Инструмент командной строки xxd преобразует двоичные файлы в шестнадцатеричные массивы в формате C с помощью 'xxd -i'. –
Vortico