15 static thread_local std::array<char, 64> fallback_name;
16 ImGuiIO& io = ImGui::GetIO();
17 if (io.Fonts ==
nullptr || index < 0 || index >= io.Fonts->Fonts.Size) {
18 std::snprintf(fallback_name.data(), fallback_name.size(),
"Font #%d",
20 return fallback_name.data();
22 const ImFont* font = io.Fonts->Fonts[index];
23 if (font ==
nullptr) {
24 std::snprintf(fallback_name.data(), fallback_name.size(),
"Font #%d",
26 return fallback_name.data();
28 const char* name = font->GetDebugName();
29 if (name !=
nullptr && name[0] !=
'\0' &&
31 std::string_view(name) !=
"<unknown>") {
34 std::snprintf(fallback_name.data(), fallback_name.size(),
"Font #%d", index);
35 return fallback_name.data();