From 871de413c454d6a9a7ecd209a492183cb73c2ec3 Mon Sep 17 00:00:00 2001 From: Daniel Hammer Date: Sun, 1 Mar 2026 17:03:38 +0100 Subject: [PATCH] fix: fix wikipedia app text rendering bug for non-ASCII characters --- programs/src/wikipedia/main.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/programs/src/wikipedia/main.cpp b/programs/src/wikipedia/main.cpp index 8608de5..ab83f0e 100644 --- a/programs/src/wikipedia/main.cpp +++ b/programs/src/wikipedia/main.cpp @@ -245,7 +245,16 @@ static int extract_json_string(const char* buf, int len, const char* key, default: out[j++] = buf[p]; break; } } else { - out[j++] = buf[p]; + unsigned char uc = (unsigned char)buf[p]; + if (uc < 0x80) { + out[j++] = buf[p]; + } else { + // Skip multi-byte UTF-8 sequence (non-ASCII) + if (uc >= 0xF0) p += 3; // 4-byte seq: skip 3 continuation bytes + else if (uc >= 0xE0) p += 2; // 3-byte seq: skip 2 continuation bytes + else if (uc >= 0xC0) p += 1; // 2-byte seq: skip 1 continuation byte + // else: stray continuation byte (0x80-0xBF), just skip it + } } p++; }