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