From e1bc0dd7d5e827f35c34a5d12ec247d606e7f695 Mon Sep 17 00:00:00 2001 From: Doug Binks Date: Sun, 25 Oct 2015 16:06:42 +0000 Subject: [PATCH] Font merge demo and documentation minor additions. Clarifies the lifetime requirements for the ranges parameter for AddFont* functions. --- examples/opengl_example/main.cpp | 2 +- extra_fonts/README.txt | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/opengl_example/main.cpp b/examples/opengl_example/main.cpp index 64bd1feb3..0f795ce1b 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 039c026db..e75c56590 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);