|
|
|
@ -6422,7 +6422,10 @@ ImFont* ImFontAtlas::AddFontFromFileTTF(const char* filename, float size_pixels, |
|
|
|
|
void* data = NULL; |
|
|
|
|
size_t data_size = 0; |
|
|
|
|
if (!ImLoadFileToMemory(filename, "rb", (void**)&data, &data_size)) |
|
|
|
|
{ |
|
|
|
|
IM_ASSERT(0); // Could not load file.
|
|
|
|
|
return NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Add
|
|
|
|
|
ImFont* font = AddFontFromMemoryTTF(data, data_size, size_pixels, glyph_ranges, font_no); |
|
|
|
@ -6473,7 +6476,10 @@ bool ImFontAtlas::Build() |
|
|
|
|
IM_ASSERT(font_offset >= 0); |
|
|
|
|
if (!stbtt_InitFont(&data.FontInfo, (unsigned char*)data.TTFData, font_offset))
|
|
|
|
|
return false; |
|
|
|
|
for (const ImWchar* in_range = InputData[input_i]->GlyphRanges; in_range[0] && in_range[1]; in_range += 2) |
|
|
|
|
|
|
|
|
|
if (!data.GlyphRanges) |
|
|
|
|
data.GlyphRanges = GetGlyphRangesDefault(); |
|
|
|
|
for (const ImWchar* in_range = data.GlyphRanges; in_range[0] && in_range[1]; in_range += 2) |
|
|
|
|
total_glyph_count += (in_range[1] - in_range[0]) + 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -6498,8 +6504,6 @@ bool ImFontAtlas::Build() |
|
|
|
|
for (size_t input_i = 0; input_i < InputData.size(); input_i++) |
|
|
|
|
{ |
|
|
|
|
ImFontAtlasData& data = *InputData[input_i]; |
|
|
|
|
if (!data.GlyphRanges) |
|
|
|
|
data.GlyphRanges = GetGlyphRangesDefault(); |
|
|
|
|
|
|
|
|
|
// Setup ranges
|
|
|
|
|
int glyph_count = 0; |
|
|
|
|