Add wx/private/unicode.h
This commit is contained in:
parent
d2e7b5bdd1
commit
13700025be
16
include/wx/private/unicode.h
Normal file
16
include/wx/private/unicode.h
Normal file
@ -0,0 +1,16 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/private/unicode.h
|
||||
// Purpose: Unicode private declsrations
|
||||
// Author: Pavel Tyunin
|
||||
// Created: 2020-10-06
|
||||
// Copyright: (c) 2020 Pavel Tyunin
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_PRIVATE_UNICODEH__
|
||||
#define _WX_PRIVATE_UNICODEH__
|
||||
|
||||
// this table gives the length of the UTF-8 encoding from its first character:
|
||||
extern const unsigned char tableUtf8Lengths[256];
|
||||
|
||||
#endif // _WX_PRIVATE_UNICODEH__
|
@ -46,6 +46,7 @@
|
||||
|
||||
#include "wx/encconv.h"
|
||||
#include "wx/fontmap.h"
|
||||
#include "wx/private/unicode.h"
|
||||
|
||||
#ifdef __DARWIN__
|
||||
#include "wx/osx/core/private/strconv_cf.h"
|
||||
@ -921,7 +922,7 @@ const wxUint32 wxUnicodePUA = 0x100000;
|
||||
const wxUint32 wxUnicodePUAEnd = wxUnicodePUA + 256;
|
||||
|
||||
// this table gives the length of the UTF-8 encoding from its first character:
|
||||
const unsigned char tableUtf8Lengths[256] = {
|
||||
extern const unsigned char tableUtf8Lengths[256] = {
|
||||
// single-byte sequences (ASCII):
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 00..0F
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 10..1F
|
||||
|
@ -15,6 +15,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/ustring.h"
|
||||
#include "wx/private/unicode.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/crt.h"
|
||||
@ -67,41 +68,6 @@ wxUString &wxUString::assignFromAscii( const char *str, size_type n )
|
||||
// UTF-8
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// this table gives the length of the UTF-8 encoding from its first character:
|
||||
const unsigned char tableUtf8Lengths[256] = {
|
||||
// single-byte sequences (ASCII):
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 00..0F
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 10..1F
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 20..2F
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 30..3F
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 40..4F
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 50..5F
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 60..6F
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 70..7F
|
||||
|
||||
// these are invalid:
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 80..8F
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 90..9F
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // A0..AF
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // B0..BF
|
||||
0, 0, // C0,C1
|
||||
|
||||
// two-byte sequences:
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // C2..CF
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // D0..DF
|
||||
|
||||
// three-byte sequences:
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // E0..EF
|
||||
|
||||
// four-byte sequences:
|
||||
4, 4, 4, 4, 4, // F0..F4
|
||||
|
||||
// these are invalid again (5- or 6-byte
|
||||
// sequences and sequences for code points
|
||||
// above U+10FFFF, as restricted by RFC 3629):
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // F5..FF
|
||||
};
|
||||
|
||||
wxUString &wxUString::assignFromUTF8( const char *str )
|
||||
{
|
||||
if (!str)
|
||||
|
Loading…
Reference in New Issue
Block a user