diff --git a/imgui.cpp b/imgui.cpp index 9a7133323..fc603d958 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -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;