Fix font bugs

This commit is contained in:
2026-03-25 22:24:54 +01:00
parent a8fe58ef0f
commit d2ab60c824
3 changed files with 6 additions and 6 deletions
+3 -3
View File
@@ -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() {}
+2 -3
View File
@@ -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') {
+1
View File
@@ -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);