diff --git a/examples/opengl_example/main.cpp b/examples/opengl_example/main.cpp index 64bd1feb..0f795ce1 100644 --- a/examples/opengl_example/main.cpp +++ b/examples/opengl_example/main.cpp @@ -33,7 +33,7 @@ int main(int, char**) //io.Fonts->AddFontFromFileTTF("c:\\Windows\\Fonts\\ArialUni.ttf", 18.0f, NULL, io.Fonts->GetGlyphRangesJapanese()); // Merge glyphs from multiple fonts into one (e.g. combine default font with another with Chinese glyphs, or add icons) - //ImWchar icons_ranges[] = { 0xf000, 0xf3ff, 0 }; + //static const ImWchar icons_ranges[] = { 0xf000, 0xf3ff, 0 }; // will not be copied by AddFont* so keep in scope. //ImFontConfig icons_config; icons_config.MergeMode = true; icons_config.PixelSnapH = true; //io.Fonts->AddFontFromFileTTF("../../extra_fonts/DroidSans.ttf", 18.0f); //io.Fonts->AddFontFromFileTTF("../../extra_fonts/fontawesome-webfont.ttf", 18.0f, &icons_config, icons_ranges); diff --git a/extra_fonts/README.txt b/extra_fonts/README.txt index 039c026d..e75c5659 100644 --- a/extra_fonts/README.txt +++ b/extra_fonts/README.txt @@ -30,7 +30,9 @@ io.Fonts->AddFontDefault(); // Add character ranges and merge into main font - ImWchar ranges[] = { 0xf000, 0xf3ff, 0 }; + // The ranges array is not copied by the AddFont* functions and is used lazily + // so ensure it is available for duration of font usage + static const ImWchar ranges[] = { 0xf000, 0xf3ff, 0 }; ImFontConfig config; config.MergeMode = true; io.Fonts->AddFontFromFileTTF("fontawesome-webfont.ttf", 16.0f, &config, ranges);