Ignore directional control chars in font::len()

They're invisible in font::print(), but they were still considered
characters with widths in the width function. This change made the
levels screen look better in RTL too - I was wondering why the level
options were too far left.
This commit is contained in:
Dav999 2024-01-06 01:56:45 +01:00 committed by Misa Elizabeth Kai
parent 18dfcff985
commit 945f0edaae
1 changed files with 4 additions and 1 deletions

View File

@ -1233,7 +1233,10 @@ int len(const uint32_t flags, const char* text)
uint32_t codepoint;
while ((codepoint = UTF8_next(&text)))
{
text_len += get_advance(pf.font_sel, codepoint);
if (!is_directional_character(codepoint) && !is_joiner(codepoint))
{
text_len += get_advance(pf.font_sel, codepoint);
}
}
return text_len * pf.scale;
}