- changed zstrformat to allow %c to emit non-ASCII characters as UTF-8.

This commit is contained in:
Christoph Oelckers 2019-02-19 00:27:47 +01:00
parent b29975503d
commit 91206f12be
2 changed files with 7 additions and 5 deletions

View file

@ -89,6 +89,7 @@
#include "zstring.h"
#include "gdtoa.h"
#include "utf8.h"
/*
@ -557,8 +558,11 @@ namespace StringFormat
else if (type == 'c')
{
intarg = va_arg (arglist, int);
buffer[0] = char(intarg);
bufflen = 1;
if (utf8_encode(intarg, (uint8_t*)buffer, &bufflen) != 0)
{
buffer[0] = '?';
bufflen = 1;
}
obuff = buffer;
}
else if (type == 's')

View file

@ -209,9 +209,7 @@ class TextEnterMenu : Menu
private void AppendChar(int ch)
{
String newstring = mEnterString;
newstring.AppendCharacter(ch);
newstring = newstring .. displayFont.GetCursor();
String newstring = String.Format("%s%c%s", mEnterString, ch, displayFont.GetCursor());
if (mEnterSize < 0 || displayFont.StringWidth(newstring) < mEnterSize)
{
mEnterString.AppendCharacter(ch);