diff --git a/include/pd/lithium/font.hpp b/include/pd/lithium/font.hpp index 9928949..2b31052 100644 --- a/include/pd/lithium/font.hpp +++ b/include/pd/lithium/font.hpp @@ -20,12 +20,12 @@ class Drawlist; class PD_API Font { public: struct Codepoint { - u32 pCodepoint; + u32 pCodepoint = 0; fvec4 SimpleUV; - size_t Tex; + size_t Tex = 0; fvec2 Size; float Offset = 0.f; - bool pInvalid; + bool pInvalid = false; }; Font() {} ~Font() {} diff --git a/source/lithium/font.cpp b/source/lithium/font.cpp index 05d2732..ab66ae6 100644 --- a/source/lithium/font.cpp +++ b/source/lithium/font.cpp @@ -162,7 +162,7 @@ PD_API fvec2 Font::GetTextBounds(const char* text, float scale) { u32 c; while (it.Decode32(c)) { auto cp = GetCodepoint(c); - if (!cp.pInvalid && c != '\n' && c != '\t' && c != ' ') { + if (cp.pInvalid && c != '\n' && c != '\t' && c != ' ') { continue; } switch (c) { @@ -211,10 +211,9 @@ PD_API void Font::CmdTextEx(Drawlist& dl, const fvec2& pos, u32 color, U8Iterator it(text); u32 c; Command* cmd = nullptr; - while (it.Decode32(c)) { auto cp = GetCodepoint(c); - if ((!cp.pInvalid && c != '\n' && c != '\t' && c != ' ') && c != '\r') + if ((cp.pInvalid && c != L'\n' && c != L'\t' && c != L' ') && c != L'\r') continue; if (c == L'\n') { diff --git a/tests/gfx/source/main.cpp b/tests/gfx/source/main.cpp index 5f4aa2a..55b548a 100644 --- a/tests/gfx/source/main.cpp +++ b/tests/gfx/source/main.cpp @@ -45,6 +45,7 @@ int main(int argc, char** argv) { while (pOs->Mainloop()) { pOs->ClearViewPort(); PD::Li::ResetPools(); + pList.SetFontscale(pOs->SizeTranslate(PD::fvec2(0.0017)).x); pList.PathRect(pOs->PositionTranslate(0.05), pOs->PositionTranslate(0.4f), 10.f); pList.PathFill(0xff00ffff);