2022-08-30 14:22:17 -07:00
|
|
|
#ifndef JMESSAGE_LOCALE_H
|
|
|
|
|
#define JMESSAGE_LOCALE_H
|
2021-03-28 22:49:05 +02:00
|
|
|
|
2025-12-08 23:31:22 -05:00
|
|
|
#include <dolphin/dolphin.h>
|
2021-03-28 22:49:05 +02:00
|
|
|
|
2022-03-15 02:25:25 -07:00
|
|
|
namespace JMessage {
|
2024-04-12 00:10:30 -06:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @ingroup jsystem-jmessage
|
|
|
|
|
*
|
|
|
|
|
*/
|
2022-03-15 02:35:30 -07:00
|
|
|
struct locale {
|
2023-02-19 09:40:57 -08:00
|
|
|
typedef int (*parseCharacter_function)(const char**);
|
|
|
|
|
|
|
|
|
|
static bool isLeadByte_ShiftJIS(int c) {
|
|
|
|
|
return c >= 0x81 && (c <= 0x9F || (c >= 0xE0 && c <= 0xFC));
|
|
|
|
|
}
|
|
|
|
|
|
2025-11-30 14:23:42 -08:00
|
|
|
static int parseCharacter_1Byte(const char** ppszText);
|
|
|
|
|
static int parseCharacter_2Byte(const char** ppszText);
|
|
|
|
|
static int parseCharacter_ShiftJIS(const char** ppszText);
|
|
|
|
|
static int parseCharacter_UTF8(const char** ppszText);
|
2022-03-15 02:25:25 -07:00
|
|
|
};
|
2022-03-15 02:35:30 -07:00
|
|
|
}; // namespace JMessage
|
2022-03-15 02:25:25 -07:00
|
|
|
|
2022-08-30 14:22:17 -07:00
|
|
|
#endif /* JMESSAGE_LOCALE_H */
|