70 auto& fs = core::ServiceLocator<fs::VirtualFileSystem>::ref();
72 auto data = fs.read_binary(file);
75 auto& fc = core::ServiceLocator<FontContext>::ref();
76 m_face = msdfgl_load_font_mem(fc.context(), data.data(), data.size());
134 std::size_t start = 0;
135 std::size_t end = text.find(
'\n');
137 while (end != std::string::npos)
139 vec.y += msdfgl_vertical_advance(
m_font, size);
141 const auto block = text.substr(start, end);
143 float x = 0.0f, y = 0.0f;
144 msdfgl_geometry(&x, &y,
m_font, size,
static_cast<msdfgl_printf_flags
>(MSDFGL_UTF8 | MSDFGL_KERNING), block.c_str());
152 end = text.find(
'\n', start);
155 const auto last_block = text.substr(start, end);
157 float x = 0.0f, y = 0.0f;
158 msdfgl_geometry(&x, &y,
m_font, size,
static_cast<msdfgl_printf_flags
>(MSDFGL_UTF8 | MSDFGL_KERNING), last_block.c_str());
165 vec.y += msdfgl_vertical_advance(
m_font, size);