summaryrefslogtreecommitdiff
path: root/Build/source/libs/teckit
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2019-05-03 04:30:21 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2019-05-03 04:30:21 +0000
commit31ad85f20058d3169309edc25fb1a7579c6e1556 (patch)
treef27fa1fe3827c4d2b7280ae1d5c29040821edbb6 /Build/source/libs/teckit
parent9dbc9cf4f7f4452eb80322df917053dda8a324d0 (diff)
TECkit-2.5.9
git-svn-id: svn://tug.org/texlive/trunk@50961 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/teckit')
-rw-r--r--Build/source/libs/teckit/ChangeLog5
-rw-r--r--Build/source/libs/teckit/TECkit-src/ChangeLog2
-rw-r--r--Build/source/libs/teckit/TECkit-src/NEWS5
-rw-r--r--Build/source/libs/teckit/TECkit-src/README2
-rw-r--r--Build/source/libs/teckit/TECkit-src/configure.ac4
-rw-r--r--Build/source/libs/teckit/TECkit-src/docs/TECkit_Tools.pdfbin280608 -> 293255 bytes
-rw-r--r--Build/source/libs/teckit/TECkit-src/license/LICENSING.txt2
-rw-r--r--Build/source/libs/teckit/TECkit-src/m4/libtool.m41
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/Compiler.cpp194
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/Compiler.h16
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/Engine.cpp98
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/Engine.h7
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/NormalizationData.c6
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Common.h5
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Compiler.h5
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Engine.h17
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/Sample-tools/TECkit_Compile.cpp10
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/Sample-tools/TxtConv.cpp18
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/TECkit_Format.h5
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/UnicodeNames.cpp548
-rw-r--r--Build/source/libs/teckit/TECkit-src/source/ulong_chartraits.h13
-rw-r--r--Build/source/libs/teckit/TECkit-src/test/NormalizationTest.txt33
-rwxr-xr-xBuild/source/libs/teckit/TECkit-src/test/dotests.pl2
-rw-r--r--Build/source/libs/teckit/TLpatches/ChangeLog14
-rw-r--r--Build/source/libs/teckit/TLpatches/TL-Changes4
-rw-r--r--Build/source/libs/teckit/TLpatches/patch-02-warning8
-rw-r--r--Build/source/libs/teckit/TLpatches/patch-03-warnings77
-rw-r--r--Build/source/libs/teckit/TLpatches/patch-04-pragmas61
-rw-r--r--Build/source/libs/teckit/TLpatches/patch-05-static22
-rw-r--r--Build/source/libs/teckit/TLpatches/patch-06-dont-build-sfconv7
-rwxr-xr-xBuild/source/libs/teckit/configure20
-rw-r--r--Build/source/libs/teckit/version.ac2
32 files changed, 841 insertions, 372 deletions
diff --git a/Build/source/libs/teckit/ChangeLog b/Build/source/libs/teckit/ChangeLog
index bdf1c39169c..eddc4ab8c78 100644
--- a/Build/source/libs/teckit/ChangeLog
+++ b/Build/source/libs/teckit/ChangeLog
@@ -1,3 +1,8 @@
+2019-05-03 Akira Kakuto <kakuto@w32tex.org>
+
+ Import TECkit-2.5.9.
+ * version.ac: Adjust.
+
2018-07-24 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Import TECkit-2.5.8.
diff --git a/Build/source/libs/teckit/TECkit-src/ChangeLog b/Build/source/libs/teckit/TECkit-src/ChangeLog
index f41b0c53af0..e51d45b7182 100644
--- a/Build/source/libs/teckit/TECkit-src/ChangeLog
+++ b/Build/source/libs/teckit/TECkit-src/ChangeLog
@@ -1 +1 @@
-(Not here. See the Subversion logs.)
+See the commit history from git.
diff --git a/Build/source/libs/teckit/TECkit-src/NEWS b/Build/source/libs/teckit/TECkit-src/NEWS
index fe8e41b87f3..04e2414a5a8 100644
--- a/Build/source/libs/teckit/TECkit-src/NEWS
+++ b/Build/source/libs/teckit/TECkit-src/NEWS
@@ -1,3 +1,8 @@
+2019-03-18
+ Version 2.5.9
+ Updated Unicode character names and normalization data to 12.0.0
+ Various improvements for testing, compiling, and documentation.
+
2018-06-18
Version 2.5.8
Updated Unicode character names and normalization data to 11.0.0
diff --git a/Build/source/libs/teckit/TECkit-src/README b/Build/source/libs/teckit/TECkit-src/README
index bdf170f5ee1..9457352b622 100644
--- a/Build/source/libs/teckit/TECkit-src/README
+++ b/Build/source/libs/teckit/TECkit-src/README
@@ -7,7 +7,7 @@ tools or by linking with other software packages.
See the Documentation folder for information on the TECkit mapping language
and conversion tool usage notes.
-The TECkit libraries have been updated to support the Unicode 11.0.0 character
+The TECkit libraries have been updated to support the Unicode 12.0.0 character
repertoire.
Starting with TECkit version 2.5.7 there are several changes with the Windows
diff --git a/Build/source/libs/teckit/TECkit-src/configure.ac b/Build/source/libs/teckit/TECkit-src/configure.ac
index 55e6c7df5d0..221c1822e69 100644
--- a/Build/source/libs/teckit/TECkit-src/configure.ac
+++ b/Build/source/libs/teckit/TECkit-src/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ(2.54)
-AC_INIT(teckit, 2.5.8, nrsi@sil.org)
+AC_INIT(teckit, 2.5.9, wstech@sil.org)
AM_CONFIG_HEADER([config.h])
AC_CONFIG_SRCDIR([source/UnicodeNames.cpp])
AC_CONFIG_MACRO_DIR([m4])
@@ -111,7 +111,7 @@ noexpat_CFLAGS="$CFLAGS"
noexpat_LIBS="$LIBS"
AC_CHECK_LIB(expat, XML_ExpatVersion)
AM_CONDITIONAL(SYSTEM_EXPAT, test x$ac_cv_lib_expat_XML_ExpatVersion = xyes)
-expat_CFLAGS="$CFLAGS"
+expat_CFLAGS=""
expat_LIBS="$LIBS"
CFLAGS="$noexpat_CFLAGS"
LIBS="$noexpat_LIBS"
diff --git a/Build/source/libs/teckit/TECkit-src/docs/TECkit_Tools.pdf b/Build/source/libs/teckit/TECkit-src/docs/TECkit_Tools.pdf
index f79d6cdd135..142a4ed8e32 100644
--- a/Build/source/libs/teckit/TECkit-src/docs/TECkit_Tools.pdf
+++ b/Build/source/libs/teckit/TECkit-src/docs/TECkit_Tools.pdf
Binary files differ
diff --git a/Build/source/libs/teckit/TECkit-src/license/LICENSING.txt b/Build/source/libs/teckit/TECkit-src/license/LICENSING.txt
index 5aee456ce61..e41b4918d77 100644
--- a/Build/source/libs/teckit/TECkit-src/license/LICENSING.txt
+++ b/Build/source/libs/teckit/TECkit-src/license/LICENSING.txt
@@ -12,7 +12,7 @@ with a license of LGPL-2+
Rest of the project:
- Copyright 2002-2018, SIL International
+ Copyright 2002-2019, SIL International
All rights reserved.
This library is free software; you can redistribute it and/or modify
diff --git a/Build/source/libs/teckit/TECkit-src/m4/libtool.m4 b/Build/source/libs/teckit/TECkit-src/m4/libtool.m4
index 10ab2844c4e..ee80844b619 100644
--- a/Build/source/libs/teckit/TECkit-src/m4/libtool.m4
+++ b/Build/source/libs/teckit/TECkit-src/m4/libtool.m4
@@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
diff --git a/Build/source/libs/teckit/TECkit-src/source/Compiler.cpp b/Build/source/libs/teckit/TECkit-src/source/Compiler.cpp
index 61586453130..952ea8540d1 100644
--- a/Build/source/libs/teckit/TECkit-src/source/Compiler.cpp
+++ b/Build/source/libs/teckit/TECkit-src/source/Compiler.cpp
@@ -75,7 +75,7 @@ const UInt32 kSurrogateLowStart = 0xDC00UL;
const UInt32 byteMask = 0x000000BFUL;
const UInt32 byteMark = 0x00000080UL;
-#define FOUR_CHAR_CODE(a,b,c,d) (UInt32)((a << 24) + (b << 16) + (c << 8) + d)
+#define FOUR_CHAR_CODE(a,b,c,d) UInt32((a << 24) + (b << 16) + (c << 8) + d)
const UInt32 kCode_Byte = FOUR_CHAR_CODE('B','y','t','e');
const UInt32 kCode_BU = FOUR_CHAR_CODE('B','-','>','U');
@@ -142,7 +142,7 @@ TECkit_Compile(char* txt, UInt32 len, Byte doCompression, TECkit_ErrorFn errFunc
{
TECkit_Status result = kStatus_CompilationFailed;
try {
- Compiler* cmp = new Compiler(txt, len, kForm_Unspecified, (bool)doCompression, false, errFunc, userData);
+ Compiler* cmp = new Compiler(txt, len, kForm_Unspecified, bool(doCompression), false, errFunc, userData);
cmp->GetCompiledTable(*outTable, *outLen);
if (*outTable == 0)
result = kStatus_CompilationFailed;
@@ -196,7 +196,7 @@ TECkit_GetUnicodeName(UInt32 usv)
const CharName *c = &gUnicodeNames[0];
while (c->name != 0)
if (c->usv == usv)
- return c->name;
+ return const_cast<char*>(c->name);
else
++c;
return NULL;
@@ -252,10 +252,10 @@ WINAPI
TECkit_GetUnicodeValue(char* name)
{
const CharName *c = &gUnicodeNames[0];
- int len = strlen(name);
+ size_t len = strlen(name);
while (c->name != 0)
if (unicodeNameCompare(c->name, name, len) == 0)
- return c->usv;
+ return static_cast<int>(c->usv);
else
++c;
return -1;
@@ -524,7 +524,7 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
compiledSize = 0;
usedExtStringRules = false;
- textPtr = (const unsigned char*)txt;
+ textPtr = reinterpret_cast<const unsigned char*>(txt);
textEnd = textPtr + len;
ungotten = kInvalidChar;
@@ -628,7 +628,7 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
errorState = false;
string32::const_iterator i;
- switch ((int)tok.type) {
+ switch (int(tok.type)) {
default:
Error("this can't happen!");
break;
@@ -771,7 +771,7 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
case '^':
// negation can only apply to a few things:
GetNextToken();
- switch ((int)tok.type) {
+ switch (int(tok.type)) {
case tok_Number:
AppendLiteral(tok.val, true);
break;
@@ -943,8 +943,8 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
case '{':
{
- int repeatMin = 0;
- int repeatMax = 15;
+ UInt32 repeatMin = 0;
+ UInt32 repeatMax = 15;
GetNextToken();
if (tok.type == tok_Number) {
repeatMin = repeatMax = tok.val;
@@ -997,7 +997,7 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
break;
if (!ExpectToken(tok_Number, "expected (NUMBER) STRING after Name"))
break;
- int nameID = tok.val;
+ UInt16 nameID = tok.val;
if (!ExpectToken(')', "expected (NUMBER) STRING after Name"))
break;
ReadNameString(nameID);
@@ -1129,7 +1129,7 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
bool ellipsisOK = false;
while (tok.type != ')' && tok.type != tok_Newline) {
GetNextToken();
- switch ((int)tok.type) {
+ switch (int(tok.type)) {
case tok_USV:
if (classType == 'B') {
Error("can't use Unicode value in byte encoding");
@@ -1250,7 +1250,7 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
break;
default:
- Error("unexpected token within class", string((const char*)tokStart, (const char*)textPtr - (const char*)tokStart).c_str());
+ Error("unexpected token within class", string(reinterpret_cast<const char *>(tokStart), reinterpret_cast<const char *>(textPtr - tokStart)).c_str());
break;
}
}
@@ -1339,7 +1339,7 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
string trailer("</teckitMapping>\n");
compiledSize = header.length() + xmlRepresentation.length() + trailer.length();
- compiledTable = (Byte*)malloc(compiledSize + 1);
+ compiledTable = static_cast<Byte*>(malloc(compiledSize + 1));
if (compiledTable == NULL)
throw bad_alloc();
@@ -1378,30 +1378,30 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
// pack all the name records
string namesData;
for (vector<UInt16>::const_iterator i = nameIDs.begin(); i != nameIDs.end(); ++i) {
- appendToTable(offsets, (const char*)&offset, sizeof(offset));
+ appendToTable(offsets, reinterpret_cast<const char*>(&offset), sizeof(offset));
NameRec r;
WRITE(r.nameID, *i);
WRITE(r.nameLength, names[*i].length());
- namesData.append((const char*)&r, sizeof(r));
+ namesData.append(reinterpret_cast<const char*>(&r), sizeof(r));
namesData.append(names[*i]);
if ((namesData.length() & 1) != 0)
- namesData.append(1, (char)0);
+ namesData.append(1, '\0');
offset += namesData.length() - prevLength;
prevLength = namesData.length();
}
if ((namesData.length() & 2) != 0)
- namesData.append(2, (char)0);
+ namesData.append(2, '\0');
offset += namesData.length() - prevLength;
// pack the offsets to the actual mapping tables
vector<string>::const_iterator t;
for (t = fwdTables.begin(); t != fwdTables.end(); ++t) {
- appendToTable(offsets, (const char*)&offset, sizeof(offset));
+ appendToTable(offsets, reinterpret_cast<const char*>(&offset), sizeof(offset));
offset += t->size();
}
for (t = revTables.end(); t != revTables.begin(); ) {
--t;
- appendToTable(offsets, (const char*)&offset, sizeof(offset));
+ appendToTable(offsets, reinterpret_cast<const char*>(&offset), sizeof(offset));
offset += t->size();
}
@@ -1417,9 +1417,9 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
for (t = revTables.begin(); t != revTables.end(); ++t)
compiledSize += t->length();
- compiledTable = (Byte*)malloc(compiledSize);
+ compiledTable = static_cast<Byte*>(malloc(compiledSize));
if (compiledTable != 0) {
- char* cp = (char*)compiledTable;
+ Byte* cp = compiledTable;
memcpy(cp, &fh, sizeof(fh));
cp += sizeof(fh);
memcpy(cp, offsets.data(), offsets.length());
@@ -1435,7 +1435,7 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
memcpy(cp, t->data(), t->length());
cp += t->length();
}
- if ((char*)compiledTable + compiledSize != cp)
+ if (compiledTable + compiledSize != cp)
cerr << "error!" << endl;
}
else
@@ -1445,14 +1445,14 @@ Compiler::Compiler(const char* txt, UInt32 len, char inForm, bool cmp, bool genX
if (errorCount == 0 && cmp) {
// do the compression...
unsigned long destLen = compiledSize * 11 / 10 + 20;
- Byte* dest = (Byte*)malloc(destLen + 8);
+ Byte* dest = static_cast<Byte*>(malloc(destLen + 8));
if (dest != 0) {
int result = compress2(dest + 8, &destLen, compiledTable, compiledSize, Z_BEST_COMPRESSION);
if (result == Z_OK) {
destLen += 8;
- dest = (Byte*)realloc(dest, destLen); // shrink dest to fit
- WRITE(((FileHeader*)dest)->type, kMagicNumberCmp);
- WRITE(((FileHeader*)dest)->version, compiledSize);
+ dest = static_cast<Byte*>(realloc(dest, destLen)); // shrink dest to fit
+ WRITE(reinterpret_cast<FileHeader*>(dest)->type, kMagicNumberCmp);
+ WRITE(reinterpret_cast<FileHeader*>(dest)->version, compiledSize);
free(compiledTable);
compiledTable = dest;
compiledSize = destLen;
@@ -1500,12 +1500,12 @@ Compiler::asUTF8(const string32 s)
} else { bytesToWrite = 2;
c = 0x0000fffd;
};
- rval.append((size_t)bytesToWrite, 0);
- int index = rval.length();
+ rval.append(size_t(bytesToWrite), 0);
+ size_t index = rval.length();
switch (bytesToWrite) { /* note: code falls through cases! */
- case 4: rval[--index] = (c | byteMark) & byteMask; c >>= 6;
- case 3: rval[--index] = (c | byteMark) & byteMask; c >>= 6;
- case 2: rval[--index] = (c | byteMark) & byteMask; c >>= 6;
+ case 4: rval[--index] = static_cast<char>((c | byteMark) & byteMask); c >>= 6;
+ case 3: rval[--index] = static_cast<char>((c | byteMark) & byteMask); c >>= 6;
+ case 2: rval[--index] = static_cast<char>((c | byteMark) & byteMask); c >>= 6;
case 1: rval[--index] = c | firstByteMark[bytesToWrite];
};
}
@@ -1746,7 +1746,7 @@ Compiler::IDlookup(const char* str, UInt32 len)
tok.strval.erase(tok.strval.begin(), tok.strval.end());
#endif
while (len-- > 0)
- tok.strval.append(1, *str++);
+ tok.strval.append(1, static_cast<UInt32>(*str++));
return tok_Identifier;
}
@@ -1790,12 +1790,12 @@ Compiler::getChar()
case kForm_UTF16BE:
CHECK_AVAIL(2);
- rval = *textPtr++ << 8;
+ rval = static_cast<UInt32>(*textPtr++) << 8;
rval += *textPtr++;
if (rval >= kSurrogateHighStart && rval <= kSurrogateHighEnd) {
// check that 2 more bytes are available
CHECK_AVAIL(2);
- UInt32 low = *textPtr++ << 8;
+ UInt32 low = static_cast<UInt32>(*textPtr++) << 8;
low += *textPtr++;
rval = ((rval - kSurrogateHighStart) << halfShift) + (low - kSurrogateLowStart) + halfBase;
}
@@ -1804,29 +1804,29 @@ Compiler::getChar()
case kForm_UTF16LE:
CHECK_AVAIL(2);
rval = *textPtr++;
- rval += *textPtr++ << 8;
+ rval += static_cast<UInt32>(*textPtr++) << 8;
if (rval >= kSurrogateHighStart && rval <= kSurrogateHighEnd) {
CHECK_AVAIL(2);
UInt32 low = *textPtr++;
- low += *textPtr++ << 8;
+ low += static_cast<UInt32>(*textPtr++) << 8;
rval = ((rval - kSurrogateHighStart) << halfShift) + (low - kSurrogateLowStart) + halfBase;
}
break;
case kForm_UTF32BE:
CHECK_AVAIL(4);
- rval = *textPtr++ << 24;
- rval += *textPtr++ << 16;
- rval += *textPtr++ << 8;
+ rval = static_cast<UInt32>(*textPtr++) << 24;
+ rval += static_cast<UInt32>(*textPtr++) << 16;
+ rval += static_cast<UInt32>(*textPtr++) << 8;
rval += *textPtr++;
break;
case kForm_UTF32LE:
CHECK_AVAIL(4);
rval = *textPtr++;
- rval += *textPtr++ << 8;
- rval += *textPtr++ << 16;
- rval += *textPtr++ << 24;
+ rval += static_cast<UInt32>(*textPtr++) << 8;
+ rval += static_cast<UInt32>(*textPtr++) << 16;
+ rval += static_cast<UInt32>(*textPtr++) << 24;
break;
}
@@ -1946,11 +1946,11 @@ Compiler::GetNextToken()
case '/':
case '=':
case '@':
- tok.type = (tokenType)currCh;
+ tok.type = tokenType(currCh);
return true;
case '<':
- tok.type = (tokenType)'<';
+ tok.type = tokenType('<');
if (textPtr < textEnd) {
if ((currCh = getChar()) == '>')
tok.type = tok_Map;
@@ -1960,7 +1960,7 @@ Compiler::GetNextToken()
return true;
case '.':
- tok.type = (tokenType)'.';
+ tok.type = tokenType('.');
if (textPtr < textEnd) {
if ((currCh = getChar()) == '.')
tok.type = tok_Ellipsis;
@@ -1978,7 +1978,7 @@ Compiler::GetNextToken()
goto DEFAULT;
}
}
- tok.type = (tokenType)'_';
+ tok.type = tokenType('_');
return true;
case '0':
@@ -2133,7 +2133,7 @@ Compiler::Error(const char* msg, const char* s, UInt32 line)
cout << " at line " << line << endl;
}
else
- (*errorFunction)(errFuncUserData, msg, s, line);
+ (*errorFunction)(errFuncUserData, const_cast<char*>(msg), const_cast<char*>(s), line);
errorState = true;
++errorCount;
}
@@ -2356,7 +2356,7 @@ Compiler::AssignTag(const string& tag)
}
void
-Compiler::SetMinMax(int repeatMin, int repeatMax)
+Compiler::SetMinMax(UInt32 repeatMin, UInt32 repeatMax)
{
Item* item = 0;
switch (ruleState) {
@@ -2577,7 +2577,7 @@ Compiler::calcMaxOutLen(Rule& rule)
continue;
default:
- cerr << "bad rep elem type: " << (int)i->type << endl;
+ cerr << "bad rep elem type: " << i->type << endl;
break;
}
}
@@ -2944,12 +2944,12 @@ Compiler::isSingleCharRule(const Rule& rule)
}
void
-Compiler::appendMatchElem(string& packedRule, Item& item, int index,
+Compiler::appendMatchElem(string& packedRule, Item& item, unsigned int index,
vector<MatClass>& matchClasses)
{
MatchElem m;
WRITE(m.value.usv.data, 0);
- WRITE(m.flags.repeat, (item.repeatMin << 4) + item.repeatMax);
+ WRITE(m.flags.repeat, (static_cast<UInt32>(item.repeatMin) << 4) + item.repeatMax);
if (item.negate)
WRITE(m.flags.type, kMatchElem_Negate);
else
@@ -2997,8 +2997,7 @@ Compiler::appendMatchElem(string& packedRule, Item& item, int index,
WRITE(m.flags.type, READ(m.flags.type) | (kMatchElem_NonLit + kMatchElem_Type_EOS));
break;
}
- const char* p = (const char*)&m;
- packedRule.append(p, sizeof(m));
+ packedRule.append(reinterpret_cast<const char*>(&m), sizeof(m));
}
void
@@ -3039,8 +3038,7 @@ Compiler::appendReplaceElem(string& packedRule, Item& item, vector<Item>& matchS
WRITE(r.flags.type, kRepElem_Unmapped);
break;
}
- const char* p = (const char*)&r;
- packedRule.append(p, sizeof(r));
+ packedRule.append(reinterpret_cast<const char*>(&r), sizeof(r));
}
vector<Compiler::Item>
@@ -3068,29 +3066,30 @@ Compiler::addToCharMap(UInt32 ch, UInt16 index)
UInt8 plane = ch >> 16;
UInt8 page = (ch & 0x00ffff) >> 8;
if (buildVars.planeMap.size() <= plane)
- buildVars.planeMap.resize(plane + 1, 0xff);
- if ((UInt8)buildVars.planeMap[plane] == (UInt8)0xff) {
+ buildVars.planeMap.resize(plane + 1, '\xff');
+ if (UInt8(buildVars.planeMap[plane]) == 0xff) {
buildVars.planeMap[plane] = buildVars.pageMaps.size();
buildVars.pageMaps.resize(buildVars.pageMaps.size() + 1);
- buildVars.pageMaps.back().resize(256, 0xff);
+ buildVars.pageMaps.back().resize(256, '\xff');
}
- UInt8 planeIndex = buildVars.planeMap[plane];
+ UInt8 planeIndex = static_cast<UInt8>(buildVars.planeMap[plane]);
string& pageMap = buildVars.pageMaps[planeIndex];
- if ((UInt8)pageMap[page] == (UInt8)0xff) {
+ if (UInt8(pageMap[page]) == 0xff) {
pageMap[page] = buildVars.charMaps.size();
buildVars.charMaps.resize(buildVars.charMaps.size() + 1);
buildVars.charMaps.back().resize(256);
}
- vector<UInt16>& charMap = buildVars.charMaps[(UInt8)pageMap[page]];
+ vector<UInt16>& charMap = buildVars.charMaps[UInt8(pageMap[page])];
charMap[ch & 0x0000ff] = index;
}
void
-Compiler::align(string& table, int alignment)
+Compiler::align(string& table, string::size_type alignment)
{
- int remainder = table.size() % alignment;
+ const string::size_type length = table.size();
+ const string::size_type remainder = length % alignment;
if (remainder != 0)
- table.resize(table.size() + alignment - remainder);
+ table.resize(length + alignment - remainder);
}
class Member {
@@ -3268,7 +3267,17 @@ Compiler::buildTable(vector<Rule>& rules, bool fromUni, bool toUni, string& tabl
// mapping to Unicode: direct lookup can only support one Unicode character
if (rule.replaceStr.size() == 1) {
const Item& rep = rule.replaceStr.front();
- int t = rep.tag.length() > 0 ? findTag(rep.tag, rule.matchStr) : 0;
+ vector<Item>::size_type tag;
+ if (rep.tag.length() > 0) {
+ const int result = findTag(rep.tag, rule.matchStr);
+ if (result < 0) {
+ Error("tag not found", rep.tag.c_str(), rule.lineNumber);
+ continue;
+ }
+ tag = static_cast<vector<Item>::size_type>(result);
+ } else {
+ tag = 0;
+ }
switch (rep.type) {
case 0:
WRITE(lookup[i].usv, rep.val);
@@ -3276,11 +3285,7 @@ Compiler::buildTable(vector<Rule>& rules, bool fromUni, bool toUni, string& tabl
case kMatchElem_Type_Class:
{
- if (t == -1) {
- Error("tag not found", rep.tag.c_str(), rule.lineNumber);
- continue;
- }
- const Item& mat = rule.matchStr[t];
+ const Item& mat = rule.matchStr[tag];
if (mat.type != kMatchElem_Type_Class) {
Error("improper use of class as target of mapping", 0, rule.lineNumber);
continue;
@@ -3307,7 +3312,7 @@ Compiler::buildTable(vector<Rule>& rules, bool fromUni, bool toUni, string& tabl
case kMatchElem_Type_Copy:
// should only occur in UU table
- if (t > (int)rule.matchStr.size()) {
+ if (tag > rule.matchStr.size()) {
Error("no corresponding item for copy", 0, rule.lineNumber);
goto ERR_FOUND;
}
@@ -3324,13 +3329,18 @@ Compiler::buildTable(vector<Rule>& rules, bool fromUni, bool toUni, string& tabl
if (rule.replaceStr.size() <= 3) {
WRITE(lookup[i].bytes.count, rule.replaceStr.size());
// this will get overwritten by lookup[i].rules.type if string rules turn out to be needed
- UInt32 j;
- for (j = 0; j < rule.replaceStr.size(); ++j) {
+ for (UInt32 j = 0; j < rule.replaceStr.size(); ++j) {
const Item& rep = rule.replaceStr[j];
- int t = rep.tag.length() > 0 ? findTag(rep.tag, rule.matchStr) : j;
- if (t == -1) {
- Error("tag not found", rep.tag.c_str(), rule.lineNumber);
- goto ERR_FOUND;
+ vector<Item>::size_type tag;
+ if (rep.tag.length() > 0) {
+ const int result = findTag(rep.tag, rule.matchStr);
+ if (result < 0) {
+ Error("tag not found", rep.tag.c_str(), rule.lineNumber);
+ goto ERR_FOUND;
+ }
+ tag = static_cast<vector<Item>::size_type>(result);
+ } else {
+ tag = j;
}
switch (rep.type) {
case 0: // literal
@@ -3338,12 +3348,12 @@ Compiler::buildTable(vector<Rule>& rules, bool fromUni, bool toUni, string& tabl
break;
case kMatchElem_Type_Class:
- if (t > (int)rule.matchStr.size()) {
+ if (tag > rule.matchStr.size()) {
Error("no corresponding item for class replacement", 0, rule.lineNumber);
goto ERR_FOUND;
}
else {
- const Item& mat = rule.matchStr[t];
+ const Item& mat = rule.matchStr[tag];
if (mat.type != kMatchElem_Type_Class) {
Error("improper use of class as target of mapping", 0, rule.lineNumber);
goto ERR_FOUND;
@@ -3370,7 +3380,7 @@ Compiler::buildTable(vector<Rule>& rules, bool fromUni, bool toUni, string& tabl
case kMatchElem_Type_Copy:
// should only occur in BB table
- if (t > (int)rule.matchStr.size()) {
+ if (tag > rule.matchStr.size()) {
Error("no corresponding item for copy", 0, rule.lineNumber);
goto ERR_FOUND;
}
@@ -3455,22 +3465,22 @@ Compiler::buildTable(vector<Rule>& rules, bool fromUni, bool toUni, string& tabl
currentPass.supplementaryChars = true;
UInt32 headerOffset = table.size();
- table.append((const char*)&th, sizeof(th));
+ table.append(reinterpret_cast<const char*>(&th), sizeof(th));
if (fromUni) {
WRITE(th.pageBase, table.size());
UInt32 i, j;
if (currentPass.supplementaryChars) {
- buildVars.planeMap.resize(17, 0xff);
+ buildVars.planeMap.resize(17, '\xff');
for (i = 0; i < buildVars.planeMap.size(); ++i)
appendToTable(table, buildVars.planeMap[i]);
- appendToTable(table, (UInt8)buildVars.pageMaps.size());
+ appendToTable(table, UInt8(buildVars.pageMaps.size()));
align(table, 4);
}
for (i = 0; i < buildVars.pageMaps.size(); ++i)
for (j = 0; j < buildVars.pageMaps[i].size(); ++j)
- appendToTable(table, (UInt8)buildVars.pageMaps[i][j]);
+ appendToTable(table, UInt8(buildVars.pageMaps[i][j]));
align(table, 4);
for (i = 0; i < buildVars.charMaps.size(); ++i)
@@ -3515,17 +3525,17 @@ Compiler::buildTable(vector<Rule>& rules, bool fromUni, bool toUni, string& tabl
sortedClass.erase(sortedClass.begin() + j);
}
- appendToTable(classes, (UInt32)sortedClass.size());
+ appendToTable(classes, UInt32(sortedClass.size()));
if (fromUni)
if (currentPass.supplementaryChars)
for (Class::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x)
appendToTable(classes, *x);
else
for (Class::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x)
- appendToTable(classes, (UInt16)*x);
+ appendToTable(classes, UInt16(*x));
else
for (Class::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x)
- appendToTable(classes, (UInt8)*x);
+ appendToTable(classes, UInt8(*x));
align(classes, 4);
}
// copy the real classOffsets into the table
@@ -3563,17 +3573,17 @@ Compiler::buildTable(vector<Rule>& rules, bool fromUni, bool toUni, string& tabl
sortedClass.erase(sortedClass.begin() + j);
}
- appendToTable(classes, (UInt32)sortedClass.size());
+ appendToTable(classes, UInt32(sortedClass.size()));
if (toUni)
if (currentPass.supplementaryChars)
for (vector<Member>::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x)
appendToTable(classes, x->value);
else
for (vector<Member>::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x)
- appendToTable(classes, (UInt16)x->value);
+ appendToTable(classes, UInt16(x->value));
else
for (vector<Member>::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x)
- appendToTable(classes, (UInt8)(x->value));
+ appendToTable(classes, UInt8(x->value));
align(classes, 4);
}
// copy the real classOffsets into the table
@@ -3588,7 +3598,7 @@ Compiler::buildTable(vector<Rule>& rules, bool fromUni, bool toUni, string& tabl
if (currentPass.supplementaryChars)
WRITE(th.flags, READ(th.flags) | kTableFlags_Supplementary);
WRITE(th.length, table.size());
- table.replace(0, sizeof(th), (const char*)&th, sizeof(th));
+ table.replace(0, sizeof(th), reinterpret_cast<const char*>(&th), sizeof(th));
}
void
diff --git a/Build/source/libs/teckit/TECkit-src/source/Compiler.h b/Build/source/libs/teckit/TECkit-src/source/Compiler.h
index 00da2824922..1f3975b83d8 100644
--- a/Build/source/libs/teckit/TECkit-src/source/Compiler.h
+++ b/Build/source/libs/teckit/TECkit-src/source/Compiler.h
@@ -20,8 +20,7 @@ Changes:
-------------------------------------------------------------------------*/
-#ifndef __Compiler_H__
-#define __Compiler_H__
+#pragma once
#ifdef HAVE_CONFIG_H
# include "config.h" /* a Unix-ish setup where we have config.h available */
@@ -274,7 +273,7 @@ protected:
bool GetNextToken();
bool ExpectToken(tokenType type, const char* errMsg);
bool ExpectToken(char c, const char* errMsg)
- { return ExpectToken((tokenType)c, errMsg); }
+ { return ExpectToken(tokenType(c), errMsg); }
void Error(const char* errMsg, const char* s = 0, UInt32 line = 0xffffffff);
void StartDefaultPass();
void AppendLiteral(UInt32 val, bool negate = false);
@@ -284,7 +283,7 @@ protected:
void AppendToRule(const Item& item);
bool tagExists(bool rhs, const string& tag);
void AssignTag(const string& tag);
- void SetMinMax(int repeatMin, int repeatMax);
+ void SetMinMax(UInt32 repeatMin, UInt32 repeatMax);
void FinishPass();
string asUTF8(const string32 s);
void ReadNameString(UInt16 nameID);
@@ -307,19 +306,18 @@ protected:
long uniClassIndex(UInt32 charCode, UInt32 classIndex);
long byteClassIndex(UInt8 charCode, UInt32 classIndex);
bool isSingleCharRule(const Rule& rule);
- void appendMatchElem(string& packedRule, Item& item, int index,
+ void appendMatchElem(string& packedRule, Item& item, unsigned int index,
vector<MatClass>& matchClasses);
void appendReplaceElem(string& packedRule, Item& item,
vector<Item>& matchStr, vector<RepClass>& repClasses);
void appendToTable(string& s, const char* ptr, UInt32 len);
template <class T>
void appendToTable(string& table, T x) {
+ const char* xp = reinterpret_cast<const char*>(&x);
#ifdef WORDS_BIGENDIAN
- const char* xp = (const char*)&x;
table.append(xp, sizeof(x));
#else
/* split into separate statements to work around VC++6 problems */
- const char* xp = (const char*)&x;
xp = xp + sizeof(T);
for (unsigned int i = 0; i < sizeof(T); ++i) {
xp = xp - 1;
@@ -329,7 +327,7 @@ protected:
}
vector<Item> reverseContext(const vector<Item>& ctx);
- void align(string& table, int alignment);
+ void align(string& table, string::size_type alignment);
void xmlOut(const char* s);
void xmlOut(const string& s);
@@ -345,5 +343,3 @@ extern "C" {
};
extern CharName gUnicodeNames[];
}
-
-#endif /* __Compiler_H__ */
diff --git a/Build/source/libs/teckit/TECkit-src/source/Engine.cpp b/Build/source/libs/teckit/TECkit-src/source/Engine.cpp
index e8df9ba391c..9b7f104f020 100644
--- a/Build/source/libs/teckit/TECkit-src/source/Engine.cpp
+++ b/Build/source/libs/teckit/TECkit-src/source/Engine.cpp
@@ -400,12 +400,12 @@ Pass::Pass(const TableHeader* inTable, Converter* cnv)
bSupplementaryChars = (READ(tableHeader->flags) & kTableFlags_Supplementary) != 0;
numPageMaps = 1;
- pageBase = (const Byte*)tableHeader + READ(tableHeader->pageBase);
- lookupBase = (const Lookup*)((const Byte*)tableHeader + READ(tableHeader->lookupBase));
- matchClassBase = (const Byte*)tableHeader + READ(tableHeader->matchClassBase);
- repClassBase = (const Byte*)tableHeader + READ(tableHeader->repClassBase);
- stringListBase = (const Byte*)tableHeader + READ(tableHeader->stringListBase);
- stringRuleData = (const Byte*)tableHeader + READ(tableHeader->stringRuleData);
+ pageBase = reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->pageBase);
+ lookupBase = reinterpret_cast<const Lookup*>(reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->lookupBase));
+ matchClassBase = reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->matchClassBase);
+ repClassBase = reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->repClassBase);
+ stringListBase = reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->stringListBase);
+ stringRuleData = reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->stringRuleData);
if (bInputIsUnicode && bSupplementaryChars) {
// support supplementary plane chars
@@ -580,7 +580,7 @@ binary_search(const T* array, UInt32 count, UInt32 value)
long
Pass::classMatch(UInt32 classNumber, UInt32 inChar) const
{
- const UInt32* classPtr = (const UInt32*)(matchClassBase + READ(*((const UInt32*)matchClassBase + classNumber)));
+ const UInt32* classPtr = reinterpret_cast<const UInt32*>(matchClassBase + READ(*(reinterpret_cast<const UInt32*>(matchClassBase) + classNumber)));
UInt32 memberCount = READ(*classPtr++);
if (bInputIsUnicode) {
if (bSupplementaryChars) {
@@ -591,16 +591,16 @@ Pass::classMatch(UInt32 classNumber, UInt32 inChar) const
}
else {
// classes are 16-bit
- const UInt16* p = binary_search((const UInt16*)classPtr, memberCount, inChar);
+ const UInt16* p = binary_search(reinterpret_cast<const UInt16*>(classPtr), memberCount, inChar);
if (READ(*p) == inChar)
- return p - (const UInt16*)classPtr;
+ return p - reinterpret_cast<const UInt16*>(classPtr);
}
}
else {
// classes are 8-bit
- const UInt8* p = binary_search((const UInt8*)classPtr, memberCount, inChar);
+ const UInt8* p = binary_search(reinterpret_cast<const UInt8*>(classPtr), memberCount, inChar);
if (READ(*p) == inChar)
- return p - (const UInt8*)classPtr;
+ return p - reinterpret_cast<const UInt8*>(classPtr);
}
return -1;
}
@@ -608,16 +608,16 @@ Pass::classMatch(UInt32 classNumber, UInt32 inChar) const
UInt32
Pass::repClassMember(UInt32 classNumber, UInt32 index) const
{
- const UInt32* classPtr = (const UInt32*)(repClassBase + READ(*((const UInt32*)repClassBase + classNumber)));
+ const UInt32* classPtr = reinterpret_cast<const UInt32*>(repClassBase + READ(*(reinterpret_cast<const UInt32*>(repClassBase) + classNumber)));
UInt32 memberCount = READ(*classPtr++);
if (index < memberCount)
if (bOutputIsUnicode)
if (bSupplementaryChars)
return READ(classPtr[index]);
else
- return READ(((const UInt16*)classPtr)[index]);
+ return READ(reinterpret_cast<const UInt16*>(classPtr)[index]);
else {
- return READ(((const UInt8*)classPtr)[index]);
+ return READ(reinterpret_cast<const UInt8*>(classPtr)[index]);
}
else
return 0; // this can't happen if the compiler is right!
@@ -997,7 +997,7 @@ Pass::DoMapping()
if (bInputIsUnicode) {
// Unicode lookup
UInt16 charIndex = 0;
- if ((const UInt8*)lookupBase == pageBase) {
+ if (reinterpret_cast<const UInt8*>(lookupBase) == pageBase) {
// leave charIndex == 0 : pass with no rules
}
else {
@@ -1005,7 +1005,7 @@ Pass::DoMapping()
const UInt8* pageMap = 0;
if (bSupplementaryChars) {
if ((plane < 17) && (READ(planeMap[plane]) != 0xff)) {
- pageMap = (const UInt8*)(pageBase + 256 * READ(planeMap[plane]));
+ pageMap = reinterpret_cast<const UInt8*>(pageBase + 256 * READ(planeMap[plane]));
goto GOT_PAGE_MAP;
}
}
@@ -1014,7 +1014,7 @@ Pass::DoMapping()
GOT_PAGE_MAP:
UInt8 page = (inChar >> 8) & 0xff;
if (READ(pageMap[page]) != 0xff) {
- const UInt16* charMapBase = (const UInt16*)(pageBase + 256 * numPageMaps);
+ const UInt16* charMapBase = reinterpret_cast<const UInt16*>(pageBase + 256 * numPageMaps);
const UInt16* charMap = charMapBase + 256 * READ(pageMap[page]);
charIndex = READ(charMap[inChar & 0xff]);
}
@@ -1024,7 +1024,7 @@ Pass::DoMapping()
}
else {
// byte-oriented lookup
- if (pageBase != (const Byte*)tableHeader) {
+ if (pageBase != reinterpret_cast<const Byte*>(tableHeader)) {
// dbcsPage present
long pageNumber = READ(pageBase[inChar]);
if (pageNumber == 0)
@@ -1054,14 +1054,14 @@ Pass::DoMapping()
UInt8 ruleType = READ(lookup->rules.type);
if (ruleType == kLookupType_StringRules || (ruleType & kLookupType_RuleTypeMask) == kLookupType_ExtStringRules) {
// process string rule list
- const UInt32* ruleList = (const UInt32*)stringListBase + READ(lookup->rules.ruleIndex);
+ const UInt32* ruleList = reinterpret_cast<const UInt32*>(stringListBase) + READ(lookup->rules.ruleIndex);
bool matched = false;
bool allowInsertion = true;
int ruleCount = READ(lookup->rules.ruleCount);
if ((ruleType & kLookupType_RuleTypeMask) == kLookupType_ExtStringRules)
ruleCount += 256 * (ruleType & kLookupType_ExtRuleCountMask);
for ( ; ruleCount > 0; --ruleCount) {
- const StringRule* rule = (const StringRule*)(stringRuleData + READ(*ruleList));
+ const StringRule* rule = reinterpret_cast<const StringRule*>(stringRuleData + READ(*ruleList));
#ifdef TRACING
if (traceLevel > 0) {
cerr << "** trying match: ";
@@ -1075,7 +1075,7 @@ if (traceLevel > 0) {
if (matchElems == 0 && allowInsertion == false)
continue;
patternLength = matchElems + READ(rule->postLength);
- pattern = (const MatchElem*)(rule + 1); // point past the defined struct for the rule header
+ pattern = reinterpret_cast<const MatchElem*>(rule + 1); // point past the defined struct for the rule header
direction = 1;
infoLimit = matchElems;
@@ -1116,7 +1116,7 @@ if (traceLevel > 0) {
cerr << "** GENERATES:";
}
#endif
- const RepElem* r = (const RepElem*)(pattern + patternLength);
+ const RepElem* r = reinterpret_cast<const RepElem*>(pattern + patternLength);
for (int i = 0; i < READ(rule->repLength); ++i, ++r) {
#ifdef TRACING
if (traceLevel > 0)
@@ -1285,11 +1285,11 @@ Converter::Converter(const Byte* inTable, UInt32 inTableSize, bool inForward,
finalStage = this;
UInt16 normForm = 0;
if (inTable != 0) {
- const FileHeader* fh = (const FileHeader*)inTable;
+ const FileHeader* fh = reinterpret_cast<const FileHeader*>(inTable);
if (READ(fh->type) == kMagicNumberCmp) {
// the table is compressed; allocate a new buffer and decompress
unsigned long uncompressedLen = READ(fh->version);
- table = (Byte*)malloc(uncompressedLen);
+ table = static_cast<Byte*>(malloc(uncompressedLen));
if (table == 0) {
status = kStatus_OutOfMemory;
return;
@@ -1299,7 +1299,7 @@ Converter::Converter(const Byte* inTable, UInt32 inTableSize, bool inForward,
status = kStatus_InvalidMapping;
return;
}
- fh = (const FileHeader*)table;
+ fh = reinterpret_cast<const FileHeader*>(table);
}
if (READ(fh->type) != kMagicNumber) {
@@ -1312,7 +1312,7 @@ Converter::Converter(const Byte* inTable, UInt32 inTableSize, bool inForward,
}
if (table == 0) {
- table = (Byte*)malloc(inTableSize);
+ table = static_cast<Byte*>(malloc(inTableSize));
if (table == 0) {
status = kStatus_OutOfMemory;
return;
@@ -1320,8 +1320,8 @@ Converter::Converter(const Byte* inTable, UInt32 inTableSize, bool inForward,
memcpy(table, inTable, inTableSize);
}
- fh = (const FileHeader*)table;
- const UInt32* nameOffsets = (const UInt32*)(table + sizeof(FileHeader));
+ fh = reinterpret_cast<const FileHeader*>(table);
+ const UInt32* nameOffsets = reinterpret_cast<const UInt32*>(table + sizeof(FileHeader));
const UInt32* tableBase = nameOffsets + READ(fh->numNames);
UInt32 numTables = READ(fh->numFwdTables);
if (!forward) {
@@ -1376,7 +1376,7 @@ Converter::Converter(const Byte* inTable, UInt32 inTableSize, bool inForward,
// create the processing pipeline
for (UInt32 i = 0; i < numTables; ++i) {
- const TableHeader* t = (const TableHeader*)(table + READ(tableBase[i]));
+ const TableHeader* t = reinterpret_cast<const TableHeader*>(table + READ(tableBase[i]));
Stage* p = 0;
switch (READ(t->type)) {
case kTableType_BB:
@@ -1686,7 +1686,7 @@ Converter::IsForward() const
void
Converter::GetFlags(UInt32& sourceFlags, UInt32& targetFlags) const
{
- const FileHeader* fh = (const FileHeader*)table;
+ const FileHeader* fh = reinterpret_cast<const FileHeader*>(table);
if (forward) {
sourceFlags = READ(fh->formFlagsLHS);
targetFlags = READ(fh->formFlagsRHS);
@@ -1700,13 +1700,13 @@ Converter::GetFlags(UInt32& sourceFlags, UInt32& targetFlags) const
static bool
getNamePtrFromTable(const Byte* table, UInt16 nameID, const Byte*& outNamePtr, UInt32& outNameLen)
{
- const FileHeader* fh = (const FileHeader*)table;
- const UInt32* nameOffsets = (const UInt32*)(table + sizeof(FileHeader));
+ const FileHeader* fh = reinterpret_cast<const FileHeader*>(table);
+ const UInt32* nameOffsets = reinterpret_cast<const UInt32*>(table + sizeof(FileHeader));
for (UInt32 i = 0; i < READ(fh->numNames); ++i) {
- const NameRec* n = (const NameRec*)(table + READ(nameOffsets[i]));
+ const NameRec* n = reinterpret_cast<const NameRec*>(table + READ(nameOffsets[i]));
if (READ(n->nameID) == nameID) {
outNameLen = READ(n->nameLength);
- outNamePtr = (const Byte*)n + sizeof(NameRec);
+ outNamePtr = reinterpret_cast<const Byte*>(n) + sizeof(NameRec);
return true;
}
}
@@ -1913,7 +1913,7 @@ Converter::Validate(const Converter* cnv)
if (cnv->status != kStatus_NoError)
return false;
if (cnv->table != 0) {
- const FileHeader* fh = (const FileHeader*)cnv->table;
+ const FileHeader* fh = reinterpret_cast<const FileHeader*>(cnv->table);
if (READ(fh->type) != kMagicNumber)
return false;
}
@@ -1937,7 +1937,7 @@ TECkit_CreateConverter(
cnv = new Converter(mapping, mappingSize, mapForward, inputForm, outputForm);
status = cnv->creationStatus();
if (status == kStatus_NoError)
- *converter = (TECkit_Converter)cnv;
+ *converter = reinterpret_cast<TECkit_Converter>(cnv);
else
delete cnv;
}
@@ -1956,7 +1956,7 @@ TECkit_DisposeConverter(
TECkit_Converter converter)
{
TECkit_Status status = kStatus_NoError;
- Converter* cnv = (Converter*)converter;
+ Converter* cnv = reinterpret_cast<Converter*>(converter);
if (!Converter::Validate(cnv))
status = kStatus_InvalidConverter;
else
@@ -1974,7 +1974,7 @@ TECkit_GetConverterName(
UInt32* nameLength)
{
TECkit_Status status = kStatus_NoError;
- Converter* cnv = (Converter*)converter;
+ Converter* cnv = reinterpret_cast<Converter*>(converter);
if (!Converter::Validate(cnv))
status = kStatus_InvalidConverter;
else {
@@ -1998,7 +1998,7 @@ TECkit_GetConverterFlags(
UInt32* targetFlags)
{
TECkit_Status status = kStatus_NoError;
- Converter* cnv = (Converter*)converter;
+ Converter* cnv = reinterpret_cast<Converter*>(converter);
if (!Converter::Validate(cnv))
status = kStatus_InvalidConverter;
else
@@ -2012,7 +2012,7 @@ TECkit_ResetConverter(
TECkit_Converter converter)
{
TECkit_Status status = kStatus_NoError;
- Converter* cnv = (Converter*)converter;
+ Converter* cnv = reinterpret_cast<Converter*>(converter);
if (!Converter::Validate(cnv))
status = kStatus_InvalidConverter;
else
@@ -2034,7 +2034,7 @@ TECkit_ConvertBufferOpt(
UInt32* lookaheadCount)
{
TECkit_Status status = kStatus_NoError;
- Converter* cnv = (Converter*)converter;
+ Converter* cnv = reinterpret_cast<Converter*>(converter);
if (!Converter::Validate(cnv))
status = kStatus_InvalidConverter;
else
@@ -2069,7 +2069,7 @@ TECkit_FlushOpt(
UInt32* lookaheadCount)
{
TECkit_Status status = kStatus_NoError;
- Converter* cnv = (Converter*)converter;
+ Converter* cnv = reinterpret_cast<Converter*>(converter);
if (!Converter::Validate(cnv))
status = kStatus_InvalidConverter;
else
@@ -2101,12 +2101,12 @@ TECkit_GetMappingFlags(
if (mapping == 0)
status = kStatus_InvalidMapping;
else {
- const FileHeader* fh = (const FileHeader*)mapping;
+ const FileHeader* fh = reinterpret_cast<const FileHeader*>(mapping);
FileHeader header;
if (READ(fh->type) == kMagicNumberCmp) {
// compressed mapping, so we need to decompress enough of it to read the flags
unsigned long uncompressedLen = sizeof(FileHeader);
- int result = uncompress((Byte*)&header, &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32));
+ int result = uncompress(reinterpret_cast<Byte*>(&header), &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32));
if (result != Z_BUF_ERROR)
status = kStatus_InvalidMapping;
fh = &header;
@@ -2140,13 +2140,13 @@ TECkit_GetMappingName(
if (mapping == 0)
status = kStatus_InvalidMapping;
else {
- const FileHeader* fh = (const FileHeader*)mapping;
+ const FileHeader* fh = reinterpret_cast<const FileHeader*>(mapping);
FileHeader header;
if (READ(fh->type) == kMagicNumberCmp) {
// compressed mapping, so we need to decompress the fixed header to read the headerLength field,
// and then decompress the complete header to get the names
unsigned long uncompressedLen = sizeof(FileHeader);
- int result = uncompress((Byte*)&header, &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32));
+ int result = uncompress(reinterpret_cast<Byte*>(&header), &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32));
if (result != Z_BUF_ERROR)
status = kStatus_InvalidMapping;
else {
@@ -2156,10 +2156,10 @@ TECkit_GetMappingName(
if (buf == 0)
status = kStatus_OutOfMemory;
else {
- result = uncompress((Byte*)buf, &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32));
+ result = uncompress(static_cast<Byte*>(buf), &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32));
if (result != Z_BUF_ERROR)
status = kStatus_InvalidMapping;
- fh = (const FileHeader*)buf;
+ fh = static_cast<const FileHeader*>(buf);
}
}
}
@@ -2168,7 +2168,7 @@ TECkit_GetMappingName(
status = kStatus_BadMappingVersion;
else {
const Byte* namePtr;
- if (getNamePtrFromTable((const Byte*)fh, nameID, namePtr, *nameLength)) {
+ if (getNamePtrFromTable(reinterpret_cast<const Byte*>(fh), nameID, namePtr, *nameLength)) {
UInt16 copyBytes = *nameLength < bufferSize ? *nameLength : bufferSize;
if (copyBytes > 0)
memcpy(nameBuffer, namePtr, copyBytes);
diff --git a/Build/source/libs/teckit/TECkit-src/source/Engine.h b/Build/source/libs/teckit/TECkit-src/source/Engine.h
index ac8eaa89205..3629bb21bcd 100644
--- a/Build/source/libs/teckit/TECkit-src/source/Engine.h
+++ b/Build/source/libs/teckit/TECkit-src/source/Engine.h
@@ -17,8 +17,7 @@ Description:
2003-09-23 jk updated for version 2.1 with new Opt APIs
*/
-#ifndef __Engine_H__
-#define __Engine_H__
+#pragma once
#include "TECkit_Engine.h"
#include "TECkit_Format.h"
@@ -117,7 +116,7 @@ protected:
UInt32 match(int index, int repeats, int textLoc);
// returns 0 for no match, 1 for match, or kNeedMoreInput/kInvalidChar
- const MatchElem* pattern;
+ const MatchElem* pattern;
int patternLength;
int direction;
MatchInfo info[256];
@@ -220,5 +219,3 @@ protected:
UInt32 warningStatus;
};
-
-#endif /* __Engine_H__ */
diff --git a/Build/source/libs/teckit/TECkit-src/source/NormalizationData.c b/Build/source/libs/teckit/TECkit-src/source/NormalizationData.c
index 85f7585aa1e..051c46c785f 100644
--- a/Build/source/libs/teckit/TECkit-src/source/NormalizationData.c
+++ b/Build/source/libs/teckit/TECkit-src/source/NormalizationData.c
@@ -2,7 +2,7 @@ const UInt8 ccPlaneMap[] = {0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2};
const UInt8 ccPageMaps[][256] = {
{0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,0,0,15,0,0,0,16,17,18,19,20,21,22,0,0,23,0,0,0,0,0,0,0,0,0,0,0,24,25,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,28,29,30,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,33,0},
- {0,34,35,36,0,0,0,0,0,0,37,0,0,38,0,39,40,41,42,43,44,45,46,47,48,0,49,0,50,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,56,0,0,0,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,58,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,34,35,36,0,0,0,0,0,0,37,0,0,38,0,39,40,41,42,43,44,45,46,47,48,49,50,0,51,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,57,0,0,0,0,0,0,0,0,0,0,0,0,0,58,54,59,0,0,0,0,0,60,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
};
@@ -19,7 +19,7 @@ const UInt8 ccCharClass[][256] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,84,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
- {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,9,0,0,0,0,0,0,0,0,0,0,0,0,0,107,107,107,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,122,122,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,9,0,0,0,0,0,0,0,0,0,0,0,0,0,107,107,107,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,9,0,0,0,0,0,0,0,0,0,0,0,0,0,122,122,122,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,220,0,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,130,0,132,0,0,0,0,0,130,130,130,130,0,0,130,0,230,230,9,0,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
@@ -56,6 +56,7 @@ const UInt8 ccCharClass[][256] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
@@ -65,6 +66,7 @@ const UInt8 ccCharClass[][256] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,216,1,1,1,0,0,0,226,216,216,216,216,216,0,0,0,0,0,0,0,0,220,220,220,220,220,220,220,220,0,0,230,230,230,230,230,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{230,230,230,230,230,230,230,0,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,0,0,230,230,230,230,230,230,230,0,230,230,0,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,220,220,220,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
};
diff --git a/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Common.h b/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Common.h
index 84cdd531b8d..ba7ed77f3f4 100644
--- a/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Common.h
+++ b/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Common.h
@@ -23,8 +23,7 @@ History:
xx-xxx-2002 jk version 2.0 initial release
*/
-#ifndef __TECkit_Common_H__
-#define __TECkit_Common_H__
+#pragma once
#define kCurrentTECkitVersion 0x00020004 /* 16.16 version number */
@@ -91,5 +90,3 @@ typedef long TECkit_Status;
#define kForm_UTF16LE 4
#define kForm_UTF32BE 5
#define kForm_UTF32LE 6
-
-#endif
diff --git a/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Compiler.h b/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Compiler.h
index e53cfa6dec5..0c07e58c1cf 100644
--- a/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Compiler.h
+++ b/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Compiler.h
@@ -18,8 +18,7 @@
Copyright (c) 2002-2016 SIL International.
*/
-#ifndef __TECkit_Compiler_H__
-#define __TECkit_Compiler_H__
+#pragma once
#include "TECkit_Common.h"
@@ -98,5 +97,3 @@ TECkit_GetUnicodeValue(char* name);
#ifdef __cplusplus
}
#endif
-
-#endif
diff --git a/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Engine.h b/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Engine.h
index 6951f106084..94090e88472 100644
--- a/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Engine.h
+++ b/Build/source/libs/teckit/TECkit-src/source/Public-headers/TECkit_Engine.h
@@ -26,22 +26,21 @@ Description:
22-Dec-2001 jk initial version
*/
-#ifndef __TECkit_Engine_H__
-#define __TECkit_Engine_H__
+#pragma once
#include "TECkit_Common.h"
/* formFlags bits for normalization; if none are set, then this side of the mapping is normalization-form-agnostic on input, and may generate an unspecified mixture */
-#define kFlags_ExpectsNFC 0x00000001 /* expects fully composed text (NC) */
-#define kFlags_ExpectsNFD 0x00000002 /* expects fully decomposed text (NCD) */
-#define kFlags_GeneratesNFC 0x00000004 /* generates fully composed text (NC) */
-#define kFlags_GeneratesNFD 0x00000008 /* generates fully decomposed text (NCD) */
+#define kFlags_ExpectsNFC 0x00000001U /* expects fully composed text (NC) */
+#define kFlags_ExpectsNFD 0x00000002U /* expects fully decomposed text (NCD) */
+#define kFlags_GeneratesNFC 0x00000004U /* generates fully composed text (NC) */
+#define kFlags_GeneratesNFD 0x00000008U /* generates fully decomposed text (NCD) */
/* if VisualOrder is set, this side of the mapping deals with visual-order rather than logical-order text (only relevant for bidi scripts) */
-#define kFlags_VisualOrder 0x00008000 /* visual rather than logical order */
+#define kFlags_VisualOrder 0x00008000U /* visual rather than logical order */
/* if Unicode is set, the encoding is Unicode on this side of the mapping */
-#define kFlags_Unicode 0x00010000 /* this is Unicode rather than a byte encoding */
+#define kFlags_Unicode 0x00010000U /* this is Unicode rather than a byte encoding */
/* required names */
#define kNameID_LHS_Name 0 /* "source" or LHS encoding name, e.g. "SIL-EEG_URDU-2001" */
@@ -267,5 +266,3 @@ TECkit_FlushOpt(
#if defined(__cplusplus)
} /* extern "C" */
#endif
-
-#endif /* __TECkit_Engine_H__ */
diff --git a/Build/source/libs/teckit/TECkit-src/source/Sample-tools/TECkit_Compile.cpp b/Build/source/libs/teckit/TECkit-src/source/Sample-tools/TECkit_Compile.cpp
index 5924864785b..cabbadfc0fc 100644
--- a/Build/source/libs/teckit/TECkit-src/source/Sample-tools/TECkit_Compile.cpp
+++ b/Build/source/libs/teckit/TECkit-src/source/Sample-tools/TECkit_Compile.cpp
@@ -36,7 +36,7 @@ errFunc(void* /* userData */, const char* msg, const char* param, UInt32 line)
if (param != 0)
fprintf(stderr, ": \"%s\"", param);
if (line != 0)
- fprintf(stderr, " at line %lu", (unsigned long)line);
+ fprintf(stderr, " at line %lu", static_cast<unsigned long>(line));
fprintf(stderr, "\n");
}
@@ -114,7 +114,7 @@ Usage: %s [-u] [-x] [-z] mapping_description [-o compiled_table]\n\
if (tecFileName == 0) {
int x = strlen(mapFileName);
- tecFileName = (char*)malloc(x + 5);
+ tecFileName = static_cast<char*>(malloc(x + 5));
if (tecFileName == 0)
return 1; // unlikely!
strcpy(tecFileName, mapFileName);
@@ -143,7 +143,7 @@ Usage: %s [-u] [-x] [-z] mapping_description [-o compiled_table]\n\
if (inFile == 0) {
// try adding .map
- char* mapFileName2 = (char*)malloc(strlen(mapFileName) + 5);
+ char* mapFileName2 = static_cast<char*>(malloc(strlen(mapFileName) + 5));
if (mapFileName2 == 0)
return 1;
strcpy(mapFileName2, mapFileName);
@@ -159,7 +159,7 @@ Usage: %s [-u] [-x] [-z] mapping_description [-o compiled_table]\n\
len = ftell(inFile);
fseek(inFile, 0, SEEK_SET);
- txt = (char*)malloc(len);
+ txt = static_cast<char*>(malloc(len));
if (txt == 0) {
fprintf(stderr, "not enough memory to read mapping file\n");
return 1; // not enough memory
@@ -194,7 +194,7 @@ Usage: %s [-u] [-x] [-z] mapping_description [-o compiled_table]\n\
TECkit_DisposeCompiled(compiledTable);
}
else {
- fprintf(stderr, "compilation failed: status = %d\n", (int)status);
+ fprintf(stderr, "compilation failed: status = %d\n", int(status));
return 1;
}
diff --git a/Build/source/libs/teckit/TECkit-src/source/Sample-tools/TxtConv.cpp b/Build/source/libs/teckit/TECkit-src/source/Sample-tools/TxtConv.cpp
index 9e0ae121459..aee9634f273 100644
--- a/Build/source/libs/teckit/TECkit-src/source/Sample-tools/TxtConv.cpp
+++ b/Build/source/libs/teckit/TECkit-src/source/Sample-tools/TxtConv.cpp
@@ -76,8 +76,8 @@ doConversion(TECkit_Converter cnv, FILE* inFile, FILE* outFile, UInt32 opts)
}
if (inAvail > 0) {
- status = TECkit_ConvertBufferOpt(cnv, (Byte*)inPtr, inAvail, &inUsed,
- (Byte*)outBuffer, kOutBufLen, &outUsed, opts, &lookahead);
+ status = TECkit_ConvertBufferOpt(cnv, reinterpret_cast<Byte*>(inPtr), inAvail, &inUsed,
+ reinterpret_cast<Byte*>(outBuffer), kOutBufLen, &outUsed, opts, &lookahead);
fwrite(outBuffer, 1, outUsed, outFile);
switch (status & kStatusMask_Basic) {
@@ -93,7 +93,7 @@ doConversion(TECkit_Converter cnv, FILE* inFile, FILE* outFile, UInt32 opts)
case kStatus_UnmappedChar:
fprintf(stderr, "processing aborted at unmappable character, within %lu characters before file offset %lu\n",
- (unsigned long)lookahead, (unsigned long)(offset - amountToRead + inUsed));
+ static_cast<unsigned long>(lookahead), static_cast<unsigned long>(offset - amountToRead + inUsed));
break;
default:
@@ -105,7 +105,7 @@ doConversion(TECkit_Converter cnv, FILE* inFile, FILE* outFile, UInt32 opts)
if ((status & kStatusMask_Basic) != kStatus_UnmappedChar) {
// flush the converter
do {
- status = TECkit_FlushOpt(cnv, (Byte*)outBuffer, kOutBufLen, &outUsed, opts, &lookahead);
+ status = TECkit_FlushOpt(cnv, reinterpret_cast<Byte*>(outBuffer), kOutBufLen, &outUsed, opts, &lookahead);
fwrite(outBuffer, 1, outUsed, outFile);
savedLen -= inUsed;
inPtr += inUsed;
@@ -113,7 +113,7 @@ doConversion(TECkit_Converter cnv, FILE* inFile, FILE* outFile, UInt32 opts)
} while ((status & kStatusMask_Basic) == kStatus_OutputBufferFull);
if ((status & kStatusMask_Basic) == kStatus_UnmappedChar)
- fprintf(stderr, "processing aborted at unmappable character, within %lu characters before end of input\n", (unsigned long)lookahead);
+ fprintf(stderr, "processing aborted at unmappable character, within %lu characters before end of input\n", static_cast<unsigned long>(lookahead));
else if ((status & kStatusMask_Basic) != kStatus_NoError)
fprintf(stderr, "bad returned status from TECkit_Flush: %ld\n", status);
}
@@ -340,7 +340,7 @@ Usage: %s -i inFile -o outFile [-t tecFile] [-r] [-if inForm] [-of outForm] [-no
len = ftell(tecFile);
fseek(tecFile, 0, SEEK_SET);
- table = (char*)malloc(len);
+ table = static_cast<char*>(malloc(len));
if (table == 0) {
fprintf(stderr, "out of memory!\n");
fclose(tecFile);
@@ -351,8 +351,8 @@ Usage: %s -i inFile -o outFile [-t tecFile] [-r] [-if inForm] [-of outForm] [-no
fclose(tecFile);
status = forward
- ? TECkit_GetMappingFlags((Byte*)table, len, &sourceFlags, &targetFlags)
- : TECkit_GetMappingFlags((Byte*)table, len, &targetFlags, &sourceFlags);
+ ? TECkit_GetMappingFlags(reinterpret_cast<Byte*>(table), len, &sourceFlags, &targetFlags)
+ : TECkit_GetMappingFlags(reinterpret_cast<Byte*>(table), len, &targetFlags, &sourceFlags);
if (status != kStatus_NoError) {
fprintf(stderr, "couldn't get encoding flags from mapping\n");
return 1;
@@ -510,7 +510,7 @@ Usage: %s -i inFile -o outFile [-t tecFile] [-r] [-if inForm] [-of outForm] [-no
// OK, we have figured out the input and output encoding forms we want to use;
// now at last we can instantiate a converter
- status = TECkit_CreateConverter((Byte*)table, len, forward, inForm, outForm | normForm, &cnv);
+ status = TECkit_CreateConverter(reinterpret_cast<Byte*>(table), len, forward, inForm, outForm | normForm, &cnv);
if (table != 0)
free(table);
if (status != kStatus_NoError) {
diff --git a/Build/source/libs/teckit/TECkit-src/source/TECkit_Format.h b/Build/source/libs/teckit/TECkit-src/source/TECkit_Format.h
index 0e04a45bb9f..fcad4ccb374 100644
--- a/Build/source/libs/teckit/TECkit-src/source/TECkit_Format.h
+++ b/Build/source/libs/teckit/TECkit-src/source/TECkit_Format.h
@@ -14,8 +14,7 @@ Description:
2006-06-02 jk added support for extended string rules (>255 per initial char)
-------------------------------------------------------------------------*/
-#ifndef __TECkit_Format_H__
-#define __TECkit_Format_H__
+#pragma once
#include "TECkit_Common.h"
@@ -217,5 +216,3 @@ typedef union RepElem RepElem;
#define kRepElem_Class kMatchElem_Type_Class
#define kRepElem_Copy kMatchElem_Type_Copy
#define kRepElem_Unmapped 0x0f /* used in default terminator rules */
-
-#endif /* __TECkit_Format_H__ */
diff --git a/Build/source/libs/teckit/TECkit-src/source/UnicodeNames.cpp b/Build/source/libs/teckit/TECkit-src/source/UnicodeNames.cpp
index 436c653263f..2d844f162ba 100644
--- a/Build/source/libs/teckit/TECkit-src/source/UnicodeNames.cpp
+++ b/Build/source/libs/teckit/TECkit-src/source/UnicodeNames.cpp
@@ -9,6 +9,7 @@ CharName gUnicodeNames[] = {
{0x00B4,"ACUTE ACCENT"},
{0x299F,"ACUTE ANGLE"},
{0x2101,"ADDRESSED TO THE SUBJECT"},
+{0x1FA79,"ADHESIVE BANDAGE"},
{0x262C,"ADI SHAKTI"},
{0x1E944,"ADLAM ALIF LENGTHENER"},
{0x1E900,"ADLAM CAPITAL LETTER ALIF"},
@@ -61,6 +62,7 @@ CharName gUnicodeNames[] = {
{0x1E947,"ADLAM HAMZA"},
{0x1E95E,"ADLAM INITIAL EXCLAMATION MARK"},
{0x1E95F,"ADLAM INITIAL QUESTION MARK"},
+{0x1E94B,"ADLAM NASALIZATION MARK"},
{0x1E94A,"ADLAM NUKTA"},
{0x1E922,"ADLAM SMALL LETTER ALIF"},
{0x1E926,"ADLAM SMALL LETTER BA"},
@@ -2410,6 +2412,7 @@ CharName gUnicodeNames[] = {
{0x269B,"ATOM SYMBOL"},
{0x1F346,"AUBERGINE"},
{0x20B3,"AUSTRAL SIGN"},
+{0x1F6FA,"AUTO RICKSHAW"},
{0x1F3E7,"AUTOMATED TELLER MACHINE"},
{0x1F697,"AUTOMOBILE"},
{0x10B39,"AVESTAN ABBREVIATION MARK"},
@@ -2468,6 +2471,7 @@ CharName gUnicodeNames[] = {
{0x10B30,"AVESTAN LETTER ZE"},
{0x10B32,"AVESTAN LETTER ZHE"},
{0x1F951,"AVOCADO"},
+{0x1FA93,"AXE"},
{0x1F476,"BABY"},
{0x1F47C,"BABY ANGEL"},
{0x1F37C,"BABY BOTTLE"},
@@ -2607,6 +2611,7 @@ CharName gUnicodeNames[] = {
{0x1B37,"BALINESE VOWEL SIGN ULU SARI"},
{0x1B5C,"BALINESE WINDU"},
{0x1F9F6,"BALL OF YARN"},
+{0x1FA70,"BALLET SHOES"},
{0x1F388,"BALLOON"},
{0x2749,"BALLOON-SPOKED ASTERISK"},
{0x1F5F6,"BALLOT BOLD SCRIPT X"},
@@ -3278,6 +3283,7 @@ CharName gUnicodeNames[] = {
{0xA6F7,"BAMUM QUESTION MARK"},
{0xA6F6,"BAMUM SEMICOLON"},
{0x1F34C,"BANANA"},
+{0x1FA95,"BANJO"},
{0x1F3E6,"BANK"},
{0x1F4B5,"BANKNOTE WITH DOLLAR SIGN"},
{0x1F4B6,"BANKNOTE WITH EURO SIGN"},
@@ -3502,6 +3508,7 @@ CharName gUnicodeNames[] = {
{0x23E3,"BENZENE RING WITH CIRCLE"},
{0x2136,"BET SYMBOL"},
{0x226C,"BETWEEN"},
+{0x1F9C3,"BEVERAGE BOX"},
{0x11C41,"BHAIKSUKI DANDA"},
{0x11C58,"BHAIKSUKI DIGIT EIGHT"},
{0x11C55,"BHAIKSUKI DIGIT FIVE"},
@@ -3613,11 +3620,38 @@ CharName gUnicodeNames[] = {
{0x29D3,"BLACK BOWTIE"},
{0x272C,"BLACK CENTRE WHITE STAR"},
{0x265D,"BLACK CHESS BISHOP"},
+{0x1FA12,"BLACK CHESS BISHOP ROTATED NINETY DEGREES"},
+{0x1FA3C,"BLACK CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA49,"BLACK CHESS EQUIHOPPER"},
+{0x1FA4C,"BLACK CHESS EQUIHOPPER ROTATED NINETY DEGREES"},
{0x265A,"BLACK CHESS KING"},
+{0x1FA0F,"BLACK CHESS KING ROTATED NINETY DEGREES"},
+{0x1FA39,"BLACK CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES"},
{0x265E,"BLACK CHESS KNIGHT"},
+{0x1FA07,"BLACK CHESS KNIGHT ROTATED FORTY-FIVE DEGREES"},
+{0x1FA13,"BLACK CHESS KNIGHT ROTATED NINETY DEGREES"},
+{0x1FA1C,"BLACK CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES"},
+{0x1FA46,"BLACK CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES"},
+{0x1FA3D,"BLACK CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA31,"BLACK CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES"},
+{0x1FA53,"BLACK CHESS KNIGHT-BISHOP"},
+{0x1FA51,"BLACK CHESS KNIGHT-QUEEN"},
+{0x1FA52,"BLACK CHESS KNIGHT-ROOK"},
{0x265F,"BLACK CHESS PAWN"},
+{0x1FA14,"BLACK CHESS PAWN ROTATED NINETY DEGREES"},
+{0x1FA3E,"BLACK CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES"},
{0x265B,"BLACK CHESS QUEEN"},
+{0x1FA10,"BLACK CHESS QUEEN ROTATED NINETY DEGREES"},
+{0x1FA3A,"BLACK CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES"},
{0x265C,"BLACK CHESS ROOK"},
+{0x1FA11,"BLACK CHESS ROOK ROTATED NINETY DEGREES"},
+{0x1FA3B,"BLACK CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA27,"BLACK CHESS TURNED BISHOP"},
+{0x1FA24,"BLACK CHESS TURNED KING"},
+{0x1FA28,"BLACK CHESS TURNED KNIGHT"},
+{0x1FA29,"BLACK CHESS TURNED PAWN"},
+{0x1FA25,"BLACK CHESS TURNED QUEEN"},
+{0x1FA26,"BLACK CHESS TURNED ROOK"},
{0x25CF,"BLACK CIRCLE"},
{0x23FA,"BLACK CIRCLE FOR RECORD"},
{0x29ED,"BLACK CIRCLE WITH DOWN ARROW"},
@@ -4377,11 +4411,13 @@ CharName gUnicodeNames[] = {
{0x1F470,"BRIDE WITH VEIL"},
{0x1F309,"BRIDGE AT NIGHT"},
{0x1F4BC,"BRIEFCASE"},
+{0x1FA72,"BRIEFS"},
{0x1F966,"BROCCOLI"},
{0x00A6,"BROKEN BAR"},
{0x238B,"BROKEN CIRCLE WITH NORTHWEST ARROW"},
{0x1F494,"BROKEN HEART"},
{0x1F9F9,"BROOM"},
+{0x1F90E,"BROWN HEART"},
{0x1F41B,"BUG"},
{0x1A1F,"BUGINESE END OF SECTION"},
{0x1A15,"BUGINESE LETTER A"},
@@ -4444,6 +4480,7 @@ CharName gUnicodeNames[] = {
{0x1F68F,"BUS STOP"},
{0x1F464,"BUST IN SILHOUETTE"},
{0x1F465,"BUSTS IN SILHOUETTE"},
+{0x1F9C8,"BUTTER"},
{0x1F98B,"BUTTERFLY"},
{0x1D09C,"BYZANTINE MUSICAL SYMBOL AGOGI ARGI"},
{0x1D09B,"BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI"},
@@ -5546,6 +5583,7 @@ CharName gUnicodeNames[] = {
{0xFE4A,"CENTRELINE OVERLINE"},
{0x26B3,"CERES"},
{0x26D3,"CHAINS"},
+{0x1FA91,"CHAIR"},
{0x11132,"CHAKMA AU MARK"},
{0x11141,"CHAKMA DANDA"},
{0x1113E,"CHAKMA DIGIT EIGHT"},
@@ -7999,6 +8037,7 @@ CharName gUnicodeNames[] = {
{0x2CE8,"COPTIC SYMBOL TAU RO"},
{0x1F12F,"COPYLEFT SYMBOL"},
{0x00A9,"COPYRIGHT SIGN"},
+{0x2E4F,"CORNISH VERSE DIVIDER"},
{0x2258,"CORRESPONDS TO"},
{0x1F6CB,"COUCH AND LAMP"},
{0x2334,"COUNTERBORE"},
@@ -9752,6 +9791,7 @@ CharName gUnicodeNames[] = {
{0xFE4D,"DASHED LOW LINE"},
{0xFE49,"DASHED OVERLINE"},
{0x279F,"DASHED TRIANGLE-HEADED RIGHTWARDS ARROW"},
+{0x1F9CF,"DEAF PERSON"},
{0x1F333,"DECIDUOUS TREE"},
{0x23E8,"DECIMAL EXPONENT SYMBOL"},
{0x2396,"DECIMAL SEPARATOR KEY SYMBOL"},
@@ -10103,10 +10143,12 @@ CharName gUnicodeNames[] = {
{0x2382,"DISCONTINUOUS UNDERLINE SYMBOL"},
{0x3003,"DITTO MARK"},
{0x2223,"DIVIDES"},
+{0x1F93F,"DIVING MASK"},
{0x00F7,"DIVISION SIGN"},
{0x2215,"DIVISION SLASH"},
{0x22C7,"DIVISION TIMES"},
{0x26AE,"DIVORCE SYMBOL"},
+{0x1FA94,"DIYA LAMP"},
{0x1F635,"DIZZY FACE"},
{0x1F4AB,"DIZZY SYMBOL"},
{0x1F9EC,"DNA DOUBLE HELIX"},
@@ -10465,6 +10507,7 @@ CharName gUnicodeNames[] = {
{0x26DA,"DRIVE SLOW SIGN"},
{0x1F42A,"DROMEDARY CAMEL"},
{0x1F924,"DROOLING FACE"},
+{0x1FA78,"DROP OF BLOOD"},
{0x1F4A7,"DROPLET"},
{0x1F941,"DRUM WITH DRUMSTICKS"},
{0x1F986,"DUCK"},
@@ -10618,6 +10661,7 @@ CharName gUnicodeNames[] = {
{0x1F442,"EAR"},
{0x1F33D,"EAR OF MAIZE"},
{0x1F33E,"EAR OF RICE"},
+{0x1F9BB,"EAR WITH HEARING AID"},
{0x2641,"EARTH"},
{0x1F30E,"EARTH GLOBE AMERICAS"},
{0x1F30F,"EARTH GLOBE ASIA-AUSTRALIA"},
@@ -10750,6 +10794,7 @@ CharName gUnicodeNames[] = {
{0x13057,"EGYPTIAN HIEROGLYPH B007"},
{0x13058,"EGYPTIAN HIEROGLYPH B008"},
{0x13059,"EGYPTIAN HIEROGLYPH B009"},
+{0x13437,"EGYPTIAN HIEROGLYPH BEGIN SEGMENT"},
{0x1305A,"EGYPTIAN HIEROGLYPH C001"},
{0x1305B,"EGYPTIAN HIEROGLYPH C002"},
{0x1305C,"EGYPTIAN HIEROGLYPH C002A"},
@@ -10914,6 +10959,7 @@ CharName gUnicodeNames[] = {
{0x130FB,"EGYPTIAN HIEROGLYPH E036"},
{0x130FC,"EGYPTIAN HIEROGLYPH E037"},
{0x130FD,"EGYPTIAN HIEROGLYPH E038"},
+{0x13438,"EGYPTIAN HIEROGLYPH END SEGMENT"},
{0x130FE,"EGYPTIAN HIEROGLYPH F001"},
{0x130FF,"EGYPTIAN HIEROGLYPH F001A"},
{0x13100,"EGYPTIAN HIEROGLYPH F002"},
@@ -11052,6 +11098,7 @@ CharName gUnicodeNames[] = {
{0x13185,"EGYPTIAN HIEROGLYPH H006A"},
{0x13186,"EGYPTIAN HIEROGLYPH H007"},
{0x13187,"EGYPTIAN HIEROGLYPH H008"},
+{0x13431,"EGYPTIAN HIEROGLYPH HORIZONTAL JOINER"},
{0x13188,"EGYPTIAN HIEROGLYPH I001"},
{0x13189,"EGYPTIAN HIEROGLYPH I002"},
{0x1318A,"EGYPTIAN HIEROGLYPH I003"},
@@ -11071,6 +11118,10 @@ CharName gUnicodeNames[] = {
{0x13198,"EGYPTIAN HIEROGLYPH I013"},
{0x13199,"EGYPTIAN HIEROGLYPH I014"},
{0x1319A,"EGYPTIAN HIEROGLYPH I015"},
+{0x13435,"EGYPTIAN HIEROGLYPH INSERT AT BOTTOM END"},
+{0x13433,"EGYPTIAN HIEROGLYPH INSERT AT BOTTOM START"},
+{0x13434,"EGYPTIAN HIEROGLYPH INSERT AT TOP END"},
+{0x13432,"EGYPTIAN HIEROGLYPH INSERT AT TOP START"},
{0x1319B,"EGYPTIAN HIEROGLYPH K001"},
{0x1319C,"EGYPTIAN HIEROGLYPH K002"},
{0x1319D,"EGYPTIAN HIEROGLYPH K003"},
@@ -11327,6 +11378,7 @@ CharName gUnicodeNames[] = {
{0x13298,"EGYPTIAN HIEROGLYPH O050A"},
{0x13299,"EGYPTIAN HIEROGLYPH O050B"},
{0x1329A,"EGYPTIAN HIEROGLYPH O051"},
+{0x13436,"EGYPTIAN HIEROGLYPH OVERLAY MIDDLE"},
{0x1329B,"EGYPTIAN HIEROGLYPH P001"},
{0x1329C,"EGYPTIAN HIEROGLYPH P001A"},
{0x1329D,"EGYPTIAN HIEROGLYPH P002"},
@@ -11603,6 +11655,7 @@ CharName gUnicodeNames[] = {
{0x133AC,"EGYPTIAN HIEROGLYPH V039"},
{0x133AD,"EGYPTIAN HIEROGLYPH V040"},
{0x133AE,"EGYPTIAN HIEROGLYPH V040A"},
+{0x13430,"EGYPTIAN HIEROGLYPH VERTICAL JOINER"},
{0x133AF,"EGYPTIAN HIEROGLYPH W001"},
{0x133B0,"EGYPTIAN HIEROGLYPH W002"},
{0x133B1,"EGYPTIAN HIEROGLYPH W003"},
@@ -11761,6 +11814,29 @@ CharName gUnicodeNames[] = {
{0x22F3,"ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE"},
{0x1F418,"ELEPHANT"},
{0x1F9DD,"ELF"},
+{0x10FE0,"ELYMAIC LETTER ALEPH"},
+{0x10FEF,"ELYMAIC LETTER AYIN"},
+{0x10FE1,"ELYMAIC LETTER BETH"},
+{0x10FE3,"ELYMAIC LETTER DALETH"},
+{0x10FE2,"ELYMAIC LETTER GIMEL"},
+{0x10FE4,"ELYMAIC LETTER HE"},
+{0x10FE7,"ELYMAIC LETTER HETH"},
+{0x10FEA,"ELYMAIC LETTER KAPH"},
+{0x10FEB,"ELYMAIC LETTER LAMEDH"},
+{0x10FEC,"ELYMAIC LETTER MEM"},
+{0x10FED,"ELYMAIC LETTER NUN"},
+{0x10FF0,"ELYMAIC LETTER PE"},
+{0x10FF2,"ELYMAIC LETTER QOPH"},
+{0x10FF3,"ELYMAIC LETTER RESH"},
+{0x10FF1,"ELYMAIC LETTER SADHE"},
+{0x10FEE,"ELYMAIC LETTER SAMEKH"},
+{0x10FF4,"ELYMAIC LETTER SHIN"},
+{0x10FF5,"ELYMAIC LETTER TAW"},
+{0x10FE8,"ELYMAIC LETTER TETH"},
+{0x10FE5,"ELYMAIC LETTER WAW"},
+{0x10FE9,"ELYMAIC LETTER YODH"},
+{0x10FE6,"ELYMAIC LETTER ZAYIN"},
+{0x10FF6,"ELYMAIC LIGATURE ZAYIN-YODH"},
{0x2014,"EM DASH"},
{0x2001,"EM QUAD"},
{0x2003,"EM SPACE"},
@@ -12384,6 +12460,7 @@ CharName gUnicodeNames[] = {
{0x213B,"FACSIMILE SIGN"},
{0x1F3ED,"FACTORY"},
{0x1F9DA,"FAIRY"},
+{0x1F9C6,"FALAFEL"},
{0x1F342,"FALLEN LEAF"},
{0x292F,"FALLING DIAGONAL CROSSING NORTH EAST ARROW"},
{0x292C,"FALLING DIAGONAL CROSSING RISING DIAGONAL"},
@@ -12426,6 +12503,7 @@ CharName gUnicodeNames[] = {
{0x2E2D,"FIVE DOT MARK"},
{0x2059,"FIVE DOT PUNCTUATION"},
{0x26F3,"FLAG IN HOLE"},
+{0x1F9A9,"FLAMINGO"},
{0x1F97F,"FLAT SHOE"},
{0x23E5,"FLATNESS"},
{0x269C,"FLEUR-DE-LIS"},
@@ -12590,6 +12668,7 @@ CharName gUnicodeNames[] = {
{0x26B1,"FUNERAL URN"},
{0x23DB,"FUSE"},
{0x1F3B2,"GAME DIE"},
+{0x1F9C4,"GARLIC"},
{0x2699,"GEAR"},
{0x26EE,"GEAR WITH HANDLES"},
{0x26ED,"GEAR WITHOUT HUB"},
@@ -13539,6 +13618,7 @@ CharName gUnicodeNames[] = {
{0x1F497,"GROWING HEART"},
{0x20B2,"GUARANI SIGN"},
{0x1F482,"GUARDSMAN"},
+{0x1F9AE,"GUIDE DOG"},
{0x1F3B8,"GUITAR"},
{0x0AF0,"GUJARATI ABBREVIATION SIGN"},
{0x0AEE,"GUJARATI DIGIT EIGHT"},
@@ -14712,6 +14792,7 @@ CharName gUnicodeNames[] = {
{0x05EF,"HEBREW YOD TRIANGLE"},
{0x1F994,"HEDGEHOG"},
{0x1F681,"HELICOPTER"},
+{0x2BFF,"HELLSCHREIBER PAUSE SYMBOL"},
{0x2388,"HELM SYMBOL"},
{0x26D1,"HELMET WITH WHITE CROSS"},
{0x1B002,"HENTAIGANA LETTER A-1"},
@@ -15072,6 +15153,7 @@ CharName gUnicodeNames[] = {
{0x1F684,"HIGH-SPEED TRAIN"},
{0x1F685,"HIGH-SPEED TRAIN WITH BULLET NOSE"},
{0x1F97E,"HIKING BOOT"},
+{0x1F6D5,"HINDU TEMPLE"},
{0x1F99B,"HIPPOPOTAMUS"},
{0x309F,"HIRAGANA DIGRAPH YORI"},
{0x309D,"HIRAGANA ITERATION MARK"},
@@ -15138,6 +15220,9 @@ CharName gUnicodeNames[] = {
{0x3063,"HIRAGANA LETTER SMALL TU"},
{0x3045,"HIRAGANA LETTER SMALL U"},
{0x308E,"HIRAGANA LETTER SMALL WA"},
+{0x1B151,"HIRAGANA LETTER SMALL WE"},
+{0x1B150,"HIRAGANA LETTER SMALL WI"},
+{0x1B152,"HIRAGANA LETTER SMALL WO"},
{0x3083,"HIRAGANA LETTER SMALL YA"},
{0x3087,"HIRAGANA LETTER SMALL YO"},
{0x3085,"HIRAGANA LETTER SMALL YU"},
@@ -15212,6 +15297,7 @@ CharName gUnicodeNames[] = {
{0x238E,"HYSTERESIS SYMBOL"},
{0x1F91F,"I LOVE YOU HAND SIGN"},
{0x1F368,"ICE CREAM"},
+{0x1F9CA,"ICE CUBE"},
{0x1F3D2,"ICE HOCKEY STICK AND PUCK"},
{0x26F8,"ICE SKATE"},
{0x2261,"IDENTICAL TO"},
@@ -16096,6 +16182,7 @@ CharName gUnicodeNames[] = {
{0x30F6,"KATAKANA LETTER SMALL KE"},
{0x31F0,"KATAKANA LETTER SMALL KU"},
{0x31FA,"KATAKANA LETTER SMALL MU"},
+{0x1B167,"KATAKANA LETTER SMALL N"},
{0x31F4,"KATAKANA LETTER SMALL NU"},
{0x30A9,"KATAKANA LETTER SMALL O"},
{0x31FB,"KATAKANA LETTER SMALL RA"},
@@ -16109,6 +16196,9 @@ CharName gUnicodeNames[] = {
{0x30C3,"KATAKANA LETTER SMALL TU"},
{0x30A5,"KATAKANA LETTER SMALL U"},
{0x30EE,"KATAKANA LETTER SMALL WA"},
+{0x1B165,"KATAKANA LETTER SMALL WE"},
+{0x1B164,"KATAKANA LETTER SMALL WI"},
+{0x1B166,"KATAKANA LETTER SMALL WO"},
{0x30E3,"KATAKANA LETTER SMALL YA"},
{0x30E7,"KATAKANA LETTER SMALL YO"},
{0x30E5,"KATAKANA LETTER SMALL YU"},
@@ -16549,7 +16639,9 @@ CharName gUnicodeNames[] = {
{0x1F617,"KISSING FACE"},
{0x1F61A,"KISSING FACE WITH CLOSED EYES"},
{0x1F619,"KISSING FACE WITH SMILING EYES"},
+{0x1FA81,"KITE"},
{0x1F95D,"KIWIFRUIT"},
+{0x1F9CE,"KNEELING PERSON"},
{0x1F428,"KOALA"},
{0x327F,"KOREAN STANDARD SYMBOL"},
{0x2BE3,"KRONOS"},
@@ -16593,9 +16685,23 @@ CharName gUnicodeNames[] = {
{0x0E99,"LAO LETTER NO"},
{0x0E8D,"LAO LETTER NYO"},
{0x0EAD,"LAO LETTER O"},
+{0x0EA0,"LAO LETTER PALI BHA"},
+{0x0E89,"LAO LETTER PALI CHA"},
+{0x0E91,"LAO LETTER PALI DDA"},
+{0x0E92,"LAO LETTER PALI DDHA"},
+{0x0E98,"LAO LETTER PALI DHA"},
+{0x0E86,"LAO LETTER PALI GHA"},
+{0x0E8C,"LAO LETTER PALI JHA"},
+{0x0EAC,"LAO LETTER PALI LLA"},
+{0x0E93,"LAO LETTER PALI NNA"},
+{0x0E8E,"LAO LETTER PALI NYA"},
+{0x0E8F,"LAO LETTER PALI TTA"},
+{0x0E90,"LAO LETTER PALI TTHA"},
{0x0E9C,"LAO LETTER PHO SUNG"},
{0x0E9E,"LAO LETTER PHO TAM"},
{0x0E9B,"LAO LETTER PO"},
+{0x0EA8,"LAO LETTER SANSKRIT SHA"},
+{0x0EA9,"LAO LETTER SANSKRIT SSA"},
{0x0EAA,"LAO LETTER SO SUNG"},
{0x0E8A,"LAO LETTER SO TAM"},
{0x0E96,"LAO LETTER THO SUNG"},
@@ -16606,6 +16712,7 @@ CharName gUnicodeNames[] = {
{0x0ECD,"LAO NIGGAHITA"},
{0x0EBC,"LAO SEMIVOWEL SIGN LO"},
{0x0EBD,"LAO SEMIVOWEL SIGN NYO"},
+{0x0EBA,"LAO SIGN PALI VIRAMA"},
{0x0ECB,"LAO TONE MAI CATAWA"},
{0x0EC8,"LAO TONE MAI EK"},
{0x0EC9,"LAO TONE MAI THO"},
@@ -16628,17 +16735,29 @@ CharName gUnicodeNames[] = {
{0x0EB7,"LAO VOWEL SIGN YY"},
{0x1F535,"LARGE BLUE CIRCLE"},
{0x1F537,"LARGE BLUE DIAMOND"},
+{0x1F7E6,"LARGE BLUE SQUARE"},
+{0x1F7E4,"LARGE BROWN CIRCLE"},
+{0x1F7EB,"LARGE BROWN SQUARE"},
{0x25EF,"LARGE CIRCLE"},
{0x27D9,"LARGE DOWN TACK"},
+{0x1F7E2,"LARGE GREEN CIRCLE"},
+{0x1F7E9,"LARGE GREEN SQUARE"},
{0x2A1E,"LARGE LEFT TRIANGLE OPERATOR"},
{0x10B3D,"LARGE ONE DOT OVER TWO DOTS PUNCTUATION"},
{0x10B3F,"LARGE ONE RING OVER TWO RINGS PUNCTUATION"},
+{0x1F7E0,"LARGE ORANGE CIRCLE"},
{0x1F536,"LARGE ORANGE DIAMOND"},
+{0x1F7E7,"LARGE ORANGE SQUARE"},
+{0x1F7E3,"LARGE PURPLE CIRCLE"},
+{0x1F7EA,"LARGE PURPLE SQUARE"},
{0x1F534,"LARGE RED CIRCLE"},
+{0x1F7E5,"LARGE RED SQUARE"},
{0x2AFC,"LARGE TRIPLE VERTICAL BAR OPERATOR"},
{0x10B3C,"LARGE TWO DOTS OVER ONE DOT PUNCTUATION"},
{0x10B3E,"LARGE TWO RINGS OVER ONE RING PUNCTUATION"},
{0x27D8,"LARGE UP TACK"},
+{0x1F7E1,"LARGE YELLOW CIRCLE"},
+{0x1F7E8,"LARGE YELLOW SQUARE"},
{0x2AAB,"LARGER THAN"},
{0x2AAD,"LARGER THAN OR EQUAL TO"},
{0x20BE,"LARI SIGN"},
@@ -16682,6 +16801,7 @@ CharName gUnicodeNames[] = {
{0x01E2,"LATIN CAPITAL LETTER AE WITH MACRON"},
{0x0189,"LATIN CAPITAL LETTER AFRICAN D"},
{0x2C6D,"LATIN CAPITAL LETTER ALPHA"},
+{0xA7C2,"LATIN CAPITAL LETTER ANGLICANA W"},
{0xA734,"LATIN CAPITAL LETTER AO"},
{0xA736,"LATIN CAPITAL LETTER AU"},
{0xA738,"LATIN CAPITAL LETTER AV"},
@@ -16706,6 +16826,7 @@ CharName gUnicodeNames[] = {
{0x0108,"LATIN CAPITAL LETTER C WITH CIRCUMFLEX"},
{0x010A,"LATIN CAPITAL LETTER C WITH DOT ABOVE"},
{0x0187,"LATIN CAPITAL LETTER C WITH HOOK"},
+{0xA7C4,"LATIN CAPITAL LETTER C WITH PALATAL HOOK"},
{0x023B,"LATIN CAPITAL LETTER C WITH STROKE"},
{0xA7B3,"LATIN CAPITAL LETTER CHI"},
{0xA76E,"LATIN CAPITAL LETTER CON"},
@@ -16777,7 +16898,10 @@ CharName gUnicodeNames[] = {
{0xA7A0,"LATIN CAPITAL LETTER G WITH OBLIQUE STROKE"},
{0x01E4,"LATIN CAPITAL LETTER G WITH STROKE"},
{0x0194,"LATIN CAPITAL LETTER GAMMA"},
+{0xA7BA,"LATIN CAPITAL LETTER GLOTTAL A"},
+{0xA7BC,"LATIN CAPITAL LETTER GLOTTAL I"},
{0x0241,"LATIN CAPITAL LETTER GLOTTAL STOP"},
+{0xA7BE,"LATIN CAPITAL LETTER GLOTTAL U"},
{0x0048,"LATIN CAPITAL LETTER H"},
{0x1E2A,"LATIN CAPITAL LETTER H WITH BREVE BELOW"},
{0x021E,"LATIN CAPITAL LETTER H WITH CARON"},
@@ -16960,6 +17084,7 @@ CharName gUnicodeNames[] = {
{0x1E60,"LATIN CAPITAL LETTER S WITH DOT ABOVE"},
{0x1E62,"LATIN CAPITAL LETTER S WITH DOT BELOW"},
{0x1E68,"LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE"},
+{0xA7C5,"LATIN CAPITAL LETTER S WITH HOOK"},
{0xA7A8,"LATIN CAPITAL LETTER S WITH OBLIQUE STROKE"},
{0x2C7E,"LATIN CAPITAL LETTER S WITH SWASH TAIL"},
{0xA78B,"LATIN CAPITAL LETTER SALTILLO"},
@@ -17077,6 +17202,7 @@ CharName gUnicodeNames[] = {
{0x1E92,"LATIN CAPITAL LETTER Z WITH DOT BELOW"},
{0x0224,"LATIN CAPITAL LETTER Z WITH HOOK"},
{0x1E94,"LATIN CAPITAL LETTER Z WITH LINE BELOW"},
+{0xA7C6,"LATIN CAPITAL LETTER Z WITH PALATAL HOOK"},
{0x01B5,"LATIN CAPITAL LETTER Z WITH STROKE"},
{0x2C7F,"LATIN CAPITAL LETTER Z WITH SWASH TAIL"},
{0x0132,"LATIN CAPITAL LIGATURE IJ"},
@@ -17193,6 +17319,7 @@ CharName gUnicodeNames[] = {
{0x01E3,"LATIN SMALL LETTER AE WITH MACRON"},
{0x0251,"LATIN SMALL LETTER ALPHA"},
{0x1D90,"LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK"},
+{0xA7C3,"LATIN SMALL LETTER ANGLICANA W"},
{0xA735,"LATIN SMALL LETTER AO"},
{0xA737,"LATIN SMALL LETTER AU"},
{0xA739,"LATIN SMALL LETTER AV"},
@@ -17267,6 +17394,7 @@ CharName gUnicodeNames[] = {
{0x01F3,"LATIN SMALL LETTER DZ"},
{0x02A3,"LATIN SMALL LETTER DZ DIGRAPH"},
{0x02A5,"LATIN SMALL LETTER DZ DIGRAPH WITH CURL"},
+{0xAB66,"LATIN SMALL LETTER DZ DIGRAPH WITH RETROFLEX HOOK"},
{0x01C6,"LATIN SMALL LETTER DZ WITH CARON"},
{0x0065,"LATIN SMALL LETTER E"},
{0x00E9,"LATIN SMALL LETTER E WITH ACUTE"},
@@ -17334,7 +17462,10 @@ CharName gUnicodeNames[] = {
{0x1D83,"LATIN SMALL LETTER G WITH PALATAL HOOK"},
{0x01E5,"LATIN SMALL LETTER G WITH STROKE"},
{0x0263,"LATIN SMALL LETTER GAMMA"},
+{0xA7BB,"LATIN SMALL LETTER GLOTTAL A"},
+{0xA7BD,"LATIN SMALL LETTER GLOTTAL I"},
{0x0242,"LATIN SMALL LETTER GLOTTAL STOP"},
+{0xA7BF,"LATIN SMALL LETTER GLOTTAL U"},
{0x0068,"LATIN SMALL LETTER H"},
{0x1E2B,"LATIN SMALL LETTER H WITH BREVE BELOW"},
{0x021F,"LATIN SMALL LETTER H WITH CARON"},
@@ -17628,6 +17759,7 @@ CharName gUnicodeNames[] = {
{0x1D16,"LATIN SMALL LETTER TOP HALF O"},
{0xA72B,"LATIN SMALL LETTER TRESILLO"},
{0x02A6,"LATIN SMALL LETTER TS DIGRAPH"},
+{0xAB67,"LATIN SMALL LETTER TS DIGRAPH WITH RETROFLEX HOOK"},
{0xA777,"LATIN SMALL LETTER TUM"},
{0x0250,"LATIN SMALL LETTER TURNED A"},
{0x1D02,"LATIN SMALL LETTER TURNED AE"},
@@ -19269,6 +19401,7 @@ CharName gUnicodeNames[] = {
{0x10AC8,"MANICHAEAN SIGN UD"},
{0x1F45E,"MANS SHOE"},
{0x1F570,"MANTELPIECE CLOCK"},
+{0x1F9BD,"MANUAL WHEELCHAIR"},
{0x26EF,"MAP SYMBOL FOR LIGHTHOUSE"},
{0x1F341,"MAPLE LEAF"},
{0x11C70,"MARCHEN HEAD MARK"},
@@ -19418,6 +19551,7 @@ CharName gUnicodeNames[] = {
{0x11D36,"MASARAM GONDI VOWEL SIGN VOCALIC R"},
{0x00BA,"MASCULINE ORDINAL INDICATOR"},
{0x303C,"MASU MARK"},
+{0x1F9C9,"MATE DRINK"},
{0x1D400,"MATHEMATICAL BOLD CAPITAL A"},
{0x1D6A8,"MATHEMATICAL BOLD CAPITAL ALPHA"},
{0x1D401,"MATHEMATICAL BOLD CAPITAL B"},
@@ -20460,6 +20594,8 @@ CharName gUnicodeNames[] = {
{0x225E,"MEASURED BY"},
{0x299D,"MEASURED RIGHT ANGLE WITH DOT"},
{0x1F356,"MEAT ON BONE"},
+{0x1F9BE,"MECHANICAL ARM"},
+{0x1F9BF,"MECHANICAL LEG"},
{0x16E4D,"MEDEFAIDRIN CAPITAL LETTER A"},
{0x16E5E,"MEDEFAIDRIN CAPITAL LETTER AI"},
{0x16E44,"MEDEFAIDRIN CAPITAL LETTER ATIU"},
@@ -21015,12 +21151,14 @@ CharName gUnicodeNames[] = {
{0x16F25,"MIAO LETTER ARCHAIC NGA"},
{0x16F3F,"MIAO LETTER ARCHAIC ZZA"},
{0x16F01,"MIAO LETTER BA"},
+{0x16F45,"MIAO LETTER BRI"},
{0x16F0B,"MIAO LETTER DA"},
{0x16F0F,"MIAO LETTER DDA"},
{0x16F1B,"MIAO LETTER DLHA"},
{0x16F1D,"MIAO LETTER DLHYA"},
{0x16F38,"MIAO LETTER DZA"},
{0x16F2F,"MIAO LETTER DZHA"},
+{0x16F47,"MIAO LETTER DZYI"},
{0x16F2B,"MIAO LETTER DZZA"},
{0x16F07,"MIAO LETTER FA"},
{0x16F1F,"MIAO LETTER GA"},
@@ -21055,10 +21193,13 @@ CharName gUnicodeNames[] = {
{0x16F9E,"MIAO LETTER REFORMED TONE-6"},
{0x16F9F,"MIAO LETTER REFORMED TONE-8"},
{0x16F32,"MIAO LETTER REFORMED TSHA"},
+{0x16F4A,"MIAO LETTER RTE"},
{0x16F3A,"MIAO LETTER SA"},
{0x16F33,"MIAO LETTER SHA"},
{0x16F34,"MIAO LETTER SSA"},
+{0x16F46,"MIAO LETTER SYI"},
{0x16F0A,"MIAO LETTER TA"},
+{0x16F48,"MIAO LETTER TE"},
{0x16F1A,"MIAO LETTER TLHA"},
{0x16F1C,"MIAO LETTER TLHYA"},
{0x16F93,"MIAO LETTER TONE-2"},
@@ -21069,6 +21210,7 @@ CharName gUnicodeNames[] = {
{0x16F98,"MIAO LETTER TONE-7"},
{0x16F99,"MIAO LETTER TONE-8"},
{0x16F37,"MIAO LETTER TSA"},
+{0x16F49,"MIAO LETTER TSE"},
{0x16F2E,"MIAO LETTER TSHA"},
{0x16F2A,"MIAO LETTER TSSA"},
{0x16F0E,"MIAO LETTER TTA"},
@@ -21093,6 +21235,7 @@ CharName gUnicodeNames[] = {
{0x16F41,"MIAO LETTER ZZSYA"},
{0x16F40,"MIAO LETTER ZZYA"},
{0x16F51,"MIAO SIGN ASPIRATION"},
+{0x16F4F,"MIAO SIGN CONSONANT MODIFIER BAR"},
{0x16F53,"MIAO SIGN REFORMED ASPIRATION"},
{0x16F52,"MIAO SIGN REFORMED VOICING"},
{0x16F91,"MIAO TONE ABOVE"},
@@ -21109,6 +21252,7 @@ CharName gUnicodeNames[] = {
{0x16F58,"MIAO VOWEL SIGN ANG"},
{0x16F7B,"MIAO VOWEL SIGN AU"},
{0x16F5D,"MIAO VOWEL SIGN E"},
+{0x16F85,"MIAO VOWEL SIGN EA"},
{0x16F7A,"MIAO VOWEL SIGN EI"},
{0x16F5E,"MIAO VOWEL SIGN EN"},
{0x16F5F,"MIAO VOWEL SIGN ENG"},
@@ -21119,14 +21263,18 @@ CharName gUnicodeNames[] = {
{0x16F63,"MIAO VOWEL SIGN IAN"},
{0x16F64,"MIAO VOWEL SIGN IANG"},
{0x16F66,"MIAO VOWEL SIGN IE"},
+{0x16F84,"MIAO VOWEL SIGN IG"},
{0x16F67,"MIAO VOWEL SIGN II"},
{0x16F69,"MIAO VOWEL SIGN ING"},
{0x16F65,"MIAO VOWEL SIGN IO"},
+{0x16F86,"MIAO VOWEL SIGN IONG"},
{0x16F68,"MIAO VOWEL SIGN IU"},
{0x16F7D,"MIAO VOWEL SIGN N"},
{0x16F7E,"MIAO VOWEL SIGN NG"},
{0x16F59,"MIAO VOWEL SIGN O"},
+{0x16F82,"MIAO VOWEL SIGN OER"},
{0x16F60,"MIAO VOWEL SIGN OEY"},
+{0x16F81,"MIAO VOWEL SIGN OG"},
{0x16F5A,"MIAO VOWEL SIGN OO"},
{0x16F7C,"MIAO VOWEL SIGN OU"},
{0x16F78,"MIAO VOWEL SIGN ROUNDED ER"},
@@ -21136,12 +21284,16 @@ CharName gUnicodeNames[] = {
{0x16F6C,"MIAO VOWEL SIGN UAN"},
{0x16F6D,"MIAO VOWEL SIGN UANG"},
{0x16F6F,"MIAO VOWEL SIGN UEI"},
+{0x16F87,"MIAO VOWEL SIGN UI"},
{0x16F70,"MIAO VOWEL SIGN UNG"},
+{0x16F7F,"MIAO VOWEL SIGN UOG"},
{0x16F6E,"MIAO VOWEL SIGN UU"},
+{0x16F83,"MIAO VOWEL SIGN VW"},
{0x16F5C,"MIAO VOWEL SIGN W"},
{0x16F5B,"MIAO VOWEL SIGN WO"},
{0x16F71,"MIAO VOWEL SIGN Y"},
{0x16F72,"MIAO VOWEL SIGN YI"},
+{0x16F80,"MIAO VOWEL SIGN YUI"},
{0x00B5,"MICRO SIGN"},
{0x1F9A0,"MICROBE"},
{0x1F3A4,"MICROPHONE"},
@@ -21650,6 +21802,7 @@ CharName gUnicodeNames[] = {
{0x1F936,"MOTHER CHRISTMAS"},
{0x1F6E5,"MOTOR BOAT"},
{0x1F6F5,"MOTOR SCOOTER"},
+{0x1F9BC,"MOTORIZED WHEELCHAIR"},
{0x1F6E3,"MOTORWAY"},
{0x1F5FB,"MOUNT FUJI"},
{0x26F0,"MOUNTAIN"},
@@ -22280,6 +22433,71 @@ CharName gUnicodeNames[] = {
{0x20A6,"NAIRA SIGN"},
{0x1F4DB,"NAME BADGE"},
{0x22BC,"NAND"},
+{0x119E3,"NANDINAGARI HEADSTROKE"},
+{0x119A0,"NANDINAGARI LETTER A"},
+{0x119A1,"NANDINAGARI LETTER AA"},
+{0x119AB,"NANDINAGARI LETTER AI"},
+{0x119AD,"NANDINAGARI LETTER AU"},
+{0x119C4,"NANDINAGARI LETTER BA"},
+{0x119C5,"NANDINAGARI LETTER BHA"},
+{0x119B3,"NANDINAGARI LETTER CA"},
+{0x119B4,"NANDINAGARI LETTER CHA"},
+{0x119BF,"NANDINAGARI LETTER DA"},
+{0x119BA,"NANDINAGARI LETTER DDA"},
+{0x119BB,"NANDINAGARI LETTER DDHA"},
+{0x119C0,"NANDINAGARI LETTER DHA"},
+{0x119AA,"NANDINAGARI LETTER E"},
+{0x119B0,"NANDINAGARI LETTER GA"},
+{0x119B1,"NANDINAGARI LETTER GHA"},
+{0x119CE,"NANDINAGARI LETTER HA"},
+{0x119A2,"NANDINAGARI LETTER I"},
+{0x119A3,"NANDINAGARI LETTER II"},
+{0x119B5,"NANDINAGARI LETTER JA"},
+{0x119B6,"NANDINAGARI LETTER JHA"},
+{0x119AE,"NANDINAGARI LETTER KA"},
+{0x119AF,"NANDINAGARI LETTER KHA"},
+{0x119C9,"NANDINAGARI LETTER LA"},
+{0x119CF,"NANDINAGARI LETTER LLA"},
+{0x119C6,"NANDINAGARI LETTER MA"},
+{0x119C1,"NANDINAGARI LETTER NA"},
+{0x119B2,"NANDINAGARI LETTER NGA"},
+{0x119BC,"NANDINAGARI LETTER NNA"},
+{0x119B7,"NANDINAGARI LETTER NYA"},
+{0x119AC,"NANDINAGARI LETTER O"},
+{0x119C2,"NANDINAGARI LETTER PA"},
+{0x119C3,"NANDINAGARI LETTER PHA"},
+{0x119C8,"NANDINAGARI LETTER RA"},
+{0x119D0,"NANDINAGARI LETTER RRA"},
+{0x119CD,"NANDINAGARI LETTER SA"},
+{0x119CB,"NANDINAGARI LETTER SHA"},
+{0x119CC,"NANDINAGARI LETTER SSA"},
+{0x119BD,"NANDINAGARI LETTER TA"},
+{0x119BE,"NANDINAGARI LETTER THA"},
+{0x119B8,"NANDINAGARI LETTER TTA"},
+{0x119B9,"NANDINAGARI LETTER TTHA"},
+{0x119A4,"NANDINAGARI LETTER U"},
+{0x119A5,"NANDINAGARI LETTER UU"},
+{0x119CA,"NANDINAGARI LETTER VA"},
+{0x119A6,"NANDINAGARI LETTER VOCALIC R"},
+{0x119A7,"NANDINAGARI LETTER VOCALIC RR"},
+{0x119C7,"NANDINAGARI LETTER YA"},
+{0x119DE,"NANDINAGARI SIGN ANUSVARA"},
+{0x119E1,"NANDINAGARI SIGN AVAGRAHA"},
+{0x119E2,"NANDINAGARI SIGN SIDDHAM"},
+{0x119E0,"NANDINAGARI SIGN VIRAMA"},
+{0x119DF,"NANDINAGARI SIGN VISARGA"},
+{0x119D1,"NANDINAGARI VOWEL SIGN AA"},
+{0x119DB,"NANDINAGARI VOWEL SIGN AI"},
+{0x119DD,"NANDINAGARI VOWEL SIGN AU"},
+{0x119DA,"NANDINAGARI VOWEL SIGN E"},
+{0x119D2,"NANDINAGARI VOWEL SIGN I"},
+{0x119D3,"NANDINAGARI VOWEL SIGN II"},
+{0x119DC,"NANDINAGARI VOWEL SIGN O"},
+{0x119E4,"NANDINAGARI VOWEL SIGN PRISHTHAMATRA E"},
+{0x119D4,"NANDINAGARI VOWEL SIGN U"},
+{0x119D5,"NANDINAGARI VOWEL SIGN UU"},
+{0x119D6,"NANDINAGARI VOWEL SIGN VOCALIC R"},
+{0x119D7,"NANDINAGARI VOWEL SIGN VOCALIC RR"},
{0x202F,"NARROW NO-BREAK SPACE"},
{0x206E,"NATIONAL DIGIT SHAPES"},
{0x1F3DE,"NATIONAL PARK"},
@@ -22368,9 +22586,40 @@ CharName gUnicodeNames[] = {
{0x2274,"NEITHER LESS-THAN NOR EQUIVALENT TO"},
{0x2278,"NEITHER LESS-THAN NOR GREATER-THAN"},
{0x2646,"NEPTUNE"},
+{0x2BC9,"NEPTUNE FORM TWO"},
{0x1F913,"NERD FACE"},
{0x2BDC,"NESSUS"},
{0x26B2,"NEUTER"},
+{0x1FA03,"NEUTRAL CHESS BISHOP"},
+{0x1FA18,"NEUTRAL CHESS BISHOP ROTATED NINETY DEGREES"},
+{0x1FA42,"NEUTRAL CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA4A,"NEUTRAL CHESS EQUIHOPPER"},
+{0x1FA4D,"NEUTRAL CHESS EQUIHOPPER ROTATED NINETY DEGREES"},
+{0x1FA00,"NEUTRAL CHESS KING"},
+{0x1FA15,"NEUTRAL CHESS KING ROTATED NINETY DEGREES"},
+{0x1FA3F,"NEUTRAL CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA04,"NEUTRAL CHESS KNIGHT"},
+{0x1FA08,"NEUTRAL CHESS KNIGHT ROTATED FORTY-FIVE DEGREES"},
+{0x1FA19,"NEUTRAL CHESS KNIGHT ROTATED NINETY DEGREES"},
+{0x1FA1D,"NEUTRAL CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES"},
+{0x1FA47,"NEUTRAL CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES"},
+{0x1FA43,"NEUTRAL CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA32,"NEUTRAL CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES"},
+{0x1FA05,"NEUTRAL CHESS PAWN"},
+{0x1FA1A,"NEUTRAL CHESS PAWN ROTATED NINETY DEGREES"},
+{0x1FA44,"NEUTRAL CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA01,"NEUTRAL CHESS QUEEN"},
+{0x1FA16,"NEUTRAL CHESS QUEEN ROTATED NINETY DEGREES"},
+{0x1FA40,"NEUTRAL CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA02,"NEUTRAL CHESS ROOK"},
+{0x1FA17,"NEUTRAL CHESS ROOK ROTATED NINETY DEGREES"},
+{0x1FA41,"NEUTRAL CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA2D,"NEUTRAL CHESS TURNED BISHOP"},
+{0x1FA2A,"NEUTRAL CHESS TURNED KING"},
+{0x1FA2E,"NEUTRAL CHESS TURNED KNIGHT"},
+{0x1FA2F,"NEUTRAL CHESS TURNED PAWN"},
+{0x1FA2B,"NEUTRAL CHESS TURNED QUEEN"},
+{0x1FA2C,"NEUTRAL CHESS TURNED ROOK"},
{0x1F610,"NEUTRAL FACE"},
{0x1F311,"NEW MOON SYMBOL"},
{0x1F31A,"NEW MOON WITH FACE"},
@@ -22521,6 +22770,7 @@ CharName gUnicodeNames[] = {
{0x1141B,"NEWA LETTER TTHA"},
{0x11404,"NEWA LETTER U"},
{0x11405,"NEWA LETTER UU"},
+{0x1145F,"NEWA LETTER VEDIC ANUSVARA"},
{0x11408,"NEWA LETTER VOCALIC L"},
{0x11409,"NEWA LETTER VOCALIC LL"},
{0x11406,"NEWA LETTER VOCALIC R"},
@@ -23118,6 +23368,77 @@ CharName gUnicodeNames[] = {
{0x1B2FB,"NUSHU CHARACTER-1B2FB"},
{0x16FE1,"NUSHU ITERATION MARK"},
{0x1F529,"NUT AND BOLT"},
+{0x1E14F,"NYIAKENG PUACHUE HMONG CIRCLED CA"},
+{0x1E148,"NYIAKENG PUACHUE HMONG DIGIT EIGHT"},
+{0x1E145,"NYIAKENG PUACHUE HMONG DIGIT FIVE"},
+{0x1E144,"NYIAKENG PUACHUE HMONG DIGIT FOUR"},
+{0x1E149,"NYIAKENG PUACHUE HMONG DIGIT NINE"},
+{0x1E141,"NYIAKENG PUACHUE HMONG DIGIT ONE"},
+{0x1E147,"NYIAKENG PUACHUE HMONG DIGIT SEVEN"},
+{0x1E146,"NYIAKENG PUACHUE HMONG DIGIT SIX"},
+{0x1E143,"NYIAKENG PUACHUE HMONG DIGIT THREE"},
+{0x1E142,"NYIAKENG PUACHUE HMONG DIGIT TWO"},
+{0x1E140,"NYIAKENG PUACHUE HMONG DIGIT ZERO"},
+{0x1E124,"NYIAKENG PUACHUE HMONG LETTER A"},
+{0x1E125,"NYIAKENG PUACHUE HMONG LETTER AA"},
+{0x1E108,"NYIAKENG PUACHUE HMONG LETTER CA"},
+{0x1E10F,"NYIAKENG PUACHUE HMONG LETTER DA"},
+{0x1E11D,"NYIAKENG PUACHUE HMONG LETTER DLA"},
+{0x1E12A,"NYIAKENG PUACHUE HMONG LETTER E"},
+{0x1E12B,"NYIAKENG PUACHUE HMONG LETTER EE"},
+{0x1E115,"NYIAKENG PUACHUE HMONG LETTER FA"},
+{0x1E122,"NYIAKENG PUACHUE HMONG LETTER GA"},
+{0x1E104,"NYIAKENG PUACHUE HMONG LETTER HA"},
+{0x1E11F,"NYIAKENG PUACHUE HMONG LETTER HAH"},
+{0x1E126,"NYIAKENG PUACHUE HMONG LETTER I"},
+{0x1E10E,"NYIAKENG PUACHUE HMONG LETTER KA"},
+{0x1E109,"NYIAKENG PUACHUE HMONG LETTER LA"},
+{0x1E100,"NYIAKENG PUACHUE HMONG LETTER MA"},
+{0x1E120,"NYIAKENG PUACHUE HMONG LETTER MLA"},
+{0x1E105,"NYIAKENG PUACHUE HMONG LETTER NA"},
+{0x1E10C,"NYIAKENG PUACHUE HMONG LETTER NCA"},
+{0x1E107,"NYIAKENG PUACHUE HMONG LETTER NKA"},
+{0x1E11C,"NYIAKENG PUACHUE HMONG LETTER NPA"},
+{0x1E11E,"NYIAKENG PUACHUE HMONG LETTER NPLA"},
+{0x1E119,"NYIAKENG PUACHUE HMONG LETTER NQA"},
+{0x1E111,"NYIAKENG PUACHUE HMONG LETTER NRA"},
+{0x1E102,"NYIAKENG PUACHUE HMONG LETTER NTA"},
+{0x1E10D,"NYIAKENG PUACHUE HMONG LETTER NTSA"},
+{0x1E113,"NYIAKENG PUACHUE HMONG LETTER NTXA"},
+{0x1E110,"NYIAKENG PUACHUE HMONG LETTER NYA"},
+{0x1E128,"NYIAKENG PUACHUE HMONG LETTER O"},
+{0x1E129,"NYIAKENG PUACHUE HMONG LETTER OO"},
+{0x1E11A,"NYIAKENG PUACHUE HMONG LETTER PA"},
+{0x1E121,"NYIAKENG PUACHUE HMONG LETTER PLA"},
+{0x1E117,"NYIAKENG PUACHUE HMONG LETTER QA"},
+{0x1E116,"NYIAKENG PUACHUE HMONG LETTER RA"},
+{0x1E123,"NYIAKENG PUACHUE HMONG LETTER RRA"},
+{0x1E10A,"NYIAKENG PUACHUE HMONG LETTER SA"},
+{0x1E103,"NYIAKENG PUACHUE HMONG LETTER TA"},
+{0x1E101,"NYIAKENG PUACHUE HMONG LETTER TSA"},
+{0x1E114,"NYIAKENG PUACHUE HMONG LETTER TXA"},
+{0x1E127,"NYIAKENG PUACHUE HMONG LETTER U"},
+{0x1E112,"NYIAKENG PUACHUE HMONG LETTER VA"},
+{0x1E12C,"NYIAKENG PUACHUE HMONG LETTER W"},
+{0x1E106,"NYIAKENG PUACHUE HMONG LETTER XA"},
+{0x1E11B,"NYIAKENG PUACHUE HMONG LETTER XYA"},
+{0x1E118,"NYIAKENG PUACHUE HMONG LETTER YA"},
+{0x1E10B,"NYIAKENG PUACHUE HMONG LETTER ZA"},
+{0x1E14E,"NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ"},
+{0x1E13A,"NYIAKENG PUACHUE HMONG SIGN FOR ANIMAL"},
+{0x1E13B,"NYIAKENG PUACHUE HMONG SIGN FOR INVERTEBRATE"},
+{0x1E139,"NYIAKENG PUACHUE HMONG SIGN FOR LOCATION"},
+{0x1E137,"NYIAKENG PUACHUE HMONG SIGN FOR PERSON"},
+{0x1E138,"NYIAKENG PUACHUE HMONG SIGN FOR THING"},
+{0x1E13C,"NYIAKENG PUACHUE HMONG SIGN XW XW"},
+{0x1E13D,"NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER"},
+{0x1E130,"NYIAKENG PUACHUE HMONG TONE-B"},
+{0x1E136,"NYIAKENG PUACHUE HMONG TONE-D"},
+{0x1E135,"NYIAKENG PUACHUE HMONG TONE-G"},
+{0x1E132,"NYIAKENG PUACHUE HMONG TONE-J"},
+{0x1E131,"NYIAKENG PUACHUE HMONG TONE-M"},
+{0x1E134,"NYIAKENG PUACHUE HMONG TONE-S"},
+{0x1E133,"NYIAKENG PUACHUE HMONG TONE-V"},
{0xFFFC,"OBJECT REPLACEMENT CHARACTER"},
{0x29A7,"OBLIQUE ANGLE OPENING DOWN"},
{0x29A6,"OBLIQUE ANGLE OPENING UP"},
@@ -23218,6 +23539,8 @@ CharName gUnicodeNames[] = {
{0x1C7F,"OL CHIKI PUNCTUATION DOUBLE MUCAAD"},
{0x1C7E,"OL CHIKI PUNCTUATION MUCAAD"},
{0x1C7B,"OL CHIKI RELAA"},
+{0x16FE2,"OLD CHINESE HOOK MARK"},
+{0x16FE3,"OLD CHINESE ITERATION MARK"},
{0x10C80,"OLD HUNGARIAN CAPITAL LETTER A"},
{0x10C81,"OLD HUNGARIAN CAPITAL LETTER AA"},
{0x10C94,"OLD HUNGARIAN CAPITAL LETTER AK"},
@@ -23645,6 +23968,8 @@ CharName gUnicodeNames[] = {
{0x1F5AF,"ONE BUTTON MOUSE"},
{0x2024,"ONE DOT LEADER"},
{0x2E2B,"ONE DOT OVER TWO DOTS PUNCTUATION"},
+{0x1FA71,"ONE-PIECE SWIMSUIT"},
+{0x1F9C5,"ONION"},
{0x1F4D6,"OPEN BOOK"},
{0x2423,"OPEN BOX"},
{0x2732,"OPEN CENTRE ASTERISK"},
@@ -23670,6 +23995,7 @@ CharName gUnicodeNames[] = {
{0x27C7,"OR WITH DOT INSIDE"},
{0x1F4D9,"ORANGE BOOK"},
{0x1F9E1,"ORANGE HEART"},
+{0x1F9A7,"ORANGUTAN"},
{0x22B6,"ORIGINAL OF"},
{0x0B56,"ORIYA AI LENGTH MARK"},
{0x0B57,"ORIYA AU LENGTH MARK"},
@@ -23876,6 +24202,68 @@ CharName gUnicodeNames[] = {
{0x10493,"OSMANYA LETTER WAW"},
{0x10484,"OSMANYA LETTER XA"},
{0x10495,"OSMANYA LETTER YA"},
+{0x1F9A6,"OTTER"},
+{0x1ED35,"OTTOMAN SIYAQ ALTERNATE NUMBER EIGHT"},
+{0x1ED32,"OTTOMAN SIYAQ ALTERNATE NUMBER FIVE"},
+{0x1ED31,"OTTOMAN SIYAQ ALTERNATE NUMBER FOUR"},
+{0x1ED38,"OTTOMAN SIYAQ ALTERNATE NUMBER FOUR HUNDRED"},
+{0x1ED36,"OTTOMAN SIYAQ ALTERNATE NUMBER NINE"},
+{0x1ED34,"OTTOMAN SIYAQ ALTERNATE NUMBER SEVEN"},
+{0x1ED33,"OTTOMAN SIYAQ ALTERNATE NUMBER SIX"},
+{0x1ED39,"OTTOMAN SIYAQ ALTERNATE NUMBER SIX HUNDRED"},
+{0x1ED37,"OTTOMAN SIYAQ ALTERNATE NUMBER TEN"},
+{0x1ED3B,"OTTOMAN SIYAQ ALTERNATE NUMBER TEN THOUSAND"},
+{0x1ED30,"OTTOMAN SIYAQ ALTERNATE NUMBER THREE"},
+{0x1ED2F,"OTTOMAN SIYAQ ALTERNATE NUMBER TWO"},
+{0x1ED3A,"OTTOMAN SIYAQ ALTERNATE NUMBER TWO THOUSAND"},
+{0x1ED3C,"OTTOMAN SIYAQ FRACTION ONE HALF"},
+{0x1ED3D,"OTTOMAN SIYAQ FRACTION ONE SIXTH"},
+{0x1ED2E,"OTTOMAN SIYAQ MARRATAN"},
+{0x1ED08,"OTTOMAN SIYAQ NUMBER EIGHT"},
+{0x1ED1A,"OTTOMAN SIYAQ NUMBER EIGHT HUNDRED"},
+{0x1ED23,"OTTOMAN SIYAQ NUMBER EIGHT THOUSAND"},
+{0x1ED11,"OTTOMAN SIYAQ NUMBER EIGHTY"},
+{0x1ED2C,"OTTOMAN SIYAQ NUMBER EIGHTY THOUSAND"},
+{0x1ED0E,"OTTOMAN SIYAQ NUMBER FIFTY"},
+{0x1ED29,"OTTOMAN SIYAQ NUMBER FIFTY THOUSAND"},
+{0x1ED05,"OTTOMAN SIYAQ NUMBER FIVE"},
+{0x1ED17,"OTTOMAN SIYAQ NUMBER FIVE HUNDRED"},
+{0x1ED20,"OTTOMAN SIYAQ NUMBER FIVE THOUSAND"},
+{0x1ED0D,"OTTOMAN SIYAQ NUMBER FORTY"},
+{0x1ED28,"OTTOMAN SIYAQ NUMBER FORTY THOUSAND"},
+{0x1ED04,"OTTOMAN SIYAQ NUMBER FOUR"},
+{0x1ED16,"OTTOMAN SIYAQ NUMBER FOUR HUNDRED"},
+{0x1ED1F,"OTTOMAN SIYAQ NUMBER FOUR THOUSAND"},
+{0x1ED09,"OTTOMAN SIYAQ NUMBER NINE"},
+{0x1ED1B,"OTTOMAN SIYAQ NUMBER NINE HUNDRED"},
+{0x1ED24,"OTTOMAN SIYAQ NUMBER NINE THOUSAND"},
+{0x1ED12,"OTTOMAN SIYAQ NUMBER NINETY"},
+{0x1ED2D,"OTTOMAN SIYAQ NUMBER NINETY THOUSAND"},
+{0x1ED01,"OTTOMAN SIYAQ NUMBER ONE"},
+{0x1ED13,"OTTOMAN SIYAQ NUMBER ONE HUNDRED"},
+{0x1ED1C,"OTTOMAN SIYAQ NUMBER ONE THOUSAND"},
+{0x1ED07,"OTTOMAN SIYAQ NUMBER SEVEN"},
+{0x1ED19,"OTTOMAN SIYAQ NUMBER SEVEN HUNDRED"},
+{0x1ED22,"OTTOMAN SIYAQ NUMBER SEVEN THOUSAND"},
+{0x1ED10,"OTTOMAN SIYAQ NUMBER SEVENTY"},
+{0x1ED2B,"OTTOMAN SIYAQ NUMBER SEVENTY THOUSAND"},
+{0x1ED06,"OTTOMAN SIYAQ NUMBER SIX"},
+{0x1ED18,"OTTOMAN SIYAQ NUMBER SIX HUNDRED"},
+{0x1ED21,"OTTOMAN SIYAQ NUMBER SIX THOUSAND"},
+{0x1ED0F,"OTTOMAN SIYAQ NUMBER SIXTY"},
+{0x1ED2A,"OTTOMAN SIYAQ NUMBER SIXTY THOUSAND"},
+{0x1ED0A,"OTTOMAN SIYAQ NUMBER TEN"},
+{0x1ED25,"OTTOMAN SIYAQ NUMBER TEN THOUSAND"},
+{0x1ED0C,"OTTOMAN SIYAQ NUMBER THIRTY"},
+{0x1ED27,"OTTOMAN SIYAQ NUMBER THIRTY THOUSAND"},
+{0x1ED03,"OTTOMAN SIYAQ NUMBER THREE"},
+{0x1ED15,"OTTOMAN SIYAQ NUMBER THREE HUNDRED"},
+{0x1ED1E,"OTTOMAN SIYAQ NUMBER THREE THOUSAND"},
+{0x1ED0B,"OTTOMAN SIYAQ NUMBER TWENTY"},
+{0x1ED26,"OTTOMAN SIYAQ NUMBER TWENTY THOUSAND"},
+{0x1ED02,"OTTOMAN SIYAQ NUMBER TWO"},
+{0x1ED14,"OTTOMAN SIYAQ NUMBER TWO HUNDRED"},
+{0x1ED1D,"OTTOMAN SIYAQ NUMBER TWO THOUSAND"},
{0x2125,"OUNCE SIGN"},
{0x1F4E4,"OUTBOX TRAY"},
{0x272D,"OUTLINED BLACK STAR"},
@@ -23890,6 +24278,7 @@ CharName gUnicodeNames[] = {
{0x203E,"OVERLINE"},
{0x1F989,"OWL"},
{0x1F402,"OX"},
+{0x1F9AA,"OYSTER"},
{0x1F4E6,"PACKAGE"},
{0x1F5CF,"PAGE"},
{0x1F4C4,"PAGE FACING UP"},
@@ -24064,6 +24453,7 @@ CharName gUnicodeNames[] = {
{0x1F95E,"PANCAKES"},
{0x1F43C,"PANDA FACE"},
{0x1F4CE,"PAPERCLIP"},
+{0x1FA82,"PARACHUTE"},
{0x2029,"PARAGRAPH SEPARATOR"},
{0x2E0F,"PARAGRAPHOS"},
{0x2E4D,"PARAGRAPHUS MARK"},
@@ -24457,6 +24847,7 @@ CharName gUnicodeNames[] = {
{0x00B6,"PILCROW SIGN"},
{0x1F4A9,"PILE OF POO"},
{0x1F48A,"PILL"},
+{0x1F90F,"PINCHING HAND"},
{0x1F38D,"PINE DECORATION"},
{0x1F34D,"PINEAPPLE"},
{0x272F,"PINWHEEL STAR"},
@@ -24650,6 +25041,7 @@ CharName gUnicodeNames[] = {
{0x2399,"PRINT SCREEN SYMBOL"},
{0x1F5A8,"PRINTER"},
{0x1F5B6,"PRINTER ICON"},
+{0x1F9AF,"PROBING CANE"},
{0x1F6C7,"PROHIBITED SIGN"},
{0x2305,"PROJECTIVE"},
{0x214A,"PROPERTY LINE"},
@@ -24735,10 +25127,12 @@ CharName gUnicodeNames[] = {
{0x2E06,"RAISED INTERPOLATION MARKER"},
{0x1F16A,"RAISED MC SIGN"},
{0x1F16B,"RAISED MD SIGN"},
+{0x1F16C,"RAISED MR SIGN"},
{0x2E0B,"RAISED SQUARE"},
{0x1F40F,"RAM"},
{0x1F400,"RAT"},
{0x2236,"RATIO"},
+{0x1FA92,"RAZOR"},
{0x1F9FE,"RECEIPT"},
{0x1F699,"RECREATIONAL VEHICLE"},
{0x267C,"RECYCLED PAPER SYMBOL"},
@@ -25070,6 +25464,7 @@ CharName gUnicodeNames[] = {
{0x2256,"RING IN EQUAL TO"},
{0x2218,"RING OPERATOR"},
{0x2E30,"RING POINT"},
+{0x1FA90,"RINGED PLANET"},
{0x1F56D,"RINGING BELL"},
{0x292B,"RISING DIAGONAL CROSSING FALLING DIAGONAL"},
{0x2930,"RISING DIAGONAL CROSSING SOUTH EAST ARROW"},
@@ -25267,6 +25662,7 @@ CharName gUnicodeNames[] = {
{0x2BF3,"RUSSIAN ASTROLOGICAL SYMBOL VIGINTILE"},
{0x29CC,"S IN TRIANGLE"},
{0x1F9F7,"SAFETY PIN"},
+{0x1F9BA,"SAFETY VEST"},
{0x2650,"SAGITTARIUS"},
{0x26F5,"SAILBOAT"},
{0x1F376,"SAKE BOTTLE AND CUP"},
@@ -25338,6 +25734,7 @@ CharName gUnicodeNames[] = {
{0x1F676,"SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT"},
{0x1F678,"SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT"},
{0x1F67A,"SANS-SERIF INTERROBANG ORNAMENT"},
+{0x1F97B,"SARI"},
{0x1F6F0,"SATELLITE"},
{0x1F4E1,"SATELLITE ANTENNA"},
{0x2644,"SATURN"},
@@ -25640,6 +26037,7 @@ CharName gUnicodeNames[] = {
{0x1BCA2,"SHORTHAND FORMAT DOWN STEP"},
{0x1BCA0,"SHORTHAND FORMAT LETTER OVERLAP"},
{0x1BCA3,"SHORTHAND FORMAT UP STEP"},
+{0x1FA73,"SHORTS"},
{0x237D,"SHOULDERED OPEN BOX"},
{0x1F6BF,"SHOWER"},
{0x1F990,"SHRIMP"},
@@ -26550,6 +26948,7 @@ CharName gUnicodeNames[] = {
{0x26F7,"SKIER"},
{0x1F480,"SKULL"},
{0x2620,"SKULL AND CROSSBONES"},
+{0x1F9A8,"SKUNK"},
{0x2A96,"SLANTED EQUAL TO OR GREATER-THAN"},
{0x2A98,"SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE"},
{0x2A95,"SLANTED EQUAL TO OR LESS-THAN"},
@@ -26570,6 +26969,7 @@ CharName gUnicodeNames[] = {
{0x2A58,"SLOPING LARGE AND"},
{0x2A57,"SLOPING LARGE OR"},
{0x1F3B0,"SLOT MACHINE"},
+{0x1F9A5,"SLOTH"},
{0x1F6E9,"SMALL AIRPLANE"},
{0xFE60,"SMALL AMPERSAND"},
{0xFE61,"SMALL ASTERISK"},
@@ -26833,6 +27233,8 @@ CharName gUnicodeNames[] = {
{0x11A9B,"SOYOMBO MARK SHAD"},
{0x11A9A,"SOYOMBO MARK TSHEG"},
{0x11A96,"SOYOMBO SIGN ANUSVARA"},
+{0x11A84,"SOYOMBO SIGN JIHVAMULIYA"},
+{0x11A85,"SOYOMBO SIGN UPADHMANIYA"},
{0x11A97,"SOYOMBO SIGN VISARGA"},
{0x11A99,"SOYOMBO SUBJOINER"},
{0x11AA1,"SOYOMBO TERMINAL MARK-1"},
@@ -27238,6 +27640,7 @@ CharName gUnicodeNames[] = {
{0x2695,"STAFF OF AESCULAPIUS"},
{0x269A,"STAFF OF HERMES"},
{0x1F583,"STAMPED ENVELOPE"},
+{0x1F9CD,"STANDING PERSON"},
{0x262A,"STAR AND CRESCENT"},
{0x225B,"STAR EQUALS"},
{0x2721,"STAR OF DAVID"},
@@ -27249,6 +27652,7 @@ CharName gUnicodeNames[] = {
{0x1F682,"STEAM LOCOMOTIVE"},
{0x1F35C,"STEAMING BOWL"},
{0x2E3C,"STENOGRAPHIC FULL STOP"},
+{0x1FA7A,"STETHOSCOPE"},
{0x1F5E0,"STOCK CHART"},
{0x23F1,"STOPWATCH"},
{0x1F4CF,"STRAIGHT RULER"},
@@ -27984,6 +28388,7 @@ CharName gUnicodeNames[] = {
{0x11680,"TAKRI LETTER A"},
{0x11681,"TAKRI LETTER AA"},
{0x11687,"TAKRI LETTER AI"},
+{0x116B8,"TAKRI LETTER ARCHAIC KHA"},
{0x11689,"TAKRI LETTER AU"},
{0x116A0,"TAKRI LETTER BA"},
{0x116A1,"TAKRI LETTER BHA"},
@@ -28039,9 +28444,11 @@ CharName gUnicodeNames[] = {
{0x116B1,"TAKRI VOWEL SIGN UU"},
{0x1D378,"TALLY MARK FIVE"},
{0x1D377,"TALLY MARK ONE"},
+{0x11FEB,"TAMIL AND ODD SIGN"},
{0x0BF8,"TAMIL AS ABOVE SIGN"},
{0x0BD7,"TAMIL AU LENGTH MARK"},
{0x0BF7,"TAMIL CREDIT SIGN"},
+{0x11FEA,"TAMIL CURRENT SIGN"},
{0x0BF3,"TAMIL DAY SIGN"},
{0x0BF6,"TAMIL DEBIT SIGN"},
{0x0BEE,"TAMIL DIGIT EIGHT"},
@@ -28054,6 +28461,30 @@ CharName gUnicodeNames[] = {
{0x0BE9,"TAMIL DIGIT THREE"},
{0x0BE8,"TAMIL DIGIT TWO"},
{0x0BE6,"TAMIL DIGIT ZERO"},
+{0x11FE5,"TAMIL DRY CULTIVATION SIGN"},
+{0x11FD4,"TAMIL FRACTION DOWNSCALING FACTOR KIIZH"},
+{0x11FCC,"TAMIL FRACTION ONE EIGHTH"},
+{0x11FC2,"TAMIL FRACTION ONE EIGHTIETH"},
+{0x11FCF,"TAMIL FRACTION ONE FIFTH"},
+{0x11FC4,"TAMIL FRACTION ONE FORTIETH"},
+{0x11FD1,"TAMIL FRACTION ONE HALF-1"},
+{0x11FD2,"TAMIL FRACTION ONE HALF-2"},
+{0x11FC1,"TAMIL FRACTION ONE ONE-HUNDRED-AND-SIXTIETH"},
+{0x11FD0,"TAMIL FRACTION ONE QUARTER"},
+{0x11FC9,"TAMIL FRACTION ONE SIXTEENTH-1"},
+{0x11FCA,"TAMIL FRACTION ONE SIXTEENTH-2"},
+{0x11FC3,"TAMIL FRACTION ONE SIXTY-FOURTH"},
+{0x11FCB,"TAMIL FRACTION ONE TENTH"},
+{0x11FC5,"TAMIL FRACTION ONE THIRTY-SECOND"},
+{0x11FC0,"TAMIL FRACTION ONE THREE-HUNDRED-AND-TWENTIETH"},
+{0x11FC8,"TAMIL FRACTION ONE TWENTIETH"},
+{0x11FC6,"TAMIL FRACTION THREE EIGHTIETHS"},
+{0x11FD3,"TAMIL FRACTION THREE QUARTERS"},
+{0x11FCE,"TAMIL FRACTION THREE SIXTEENTHS"},
+{0x11FC7,"TAMIL FRACTION THREE SIXTY-FOURTHS"},
+{0x11FCD,"TAMIL FRACTION THREE TWENTIETHS"},
+{0x11FEE,"TAMIL IN POSSESSION SIGN"},
+{0x11FE6,"TAMIL LAND SIGN"},
{0x0B85,"TAMIL LETTER A"},
{0x0B86,"TAMIL LETTER AA"},
{0x0B90,"TAMIL LETTER AI"},
@@ -28095,10 +28526,34 @@ CharName gUnicodeNames[] = {
{0x0BFA,"TAMIL NUMBER SIGN"},
{0x0BF0,"TAMIL NUMBER TEN"},
{0x0BD0,"TAMIL OM"},
+{0x11FFF,"TAMIL PUNCTUATION END OF TEXT"},
{0x0BF9,"TAMIL RUPEE SIGN"},
+{0x11FE7,"TAMIL SALT PAN SIGN"},
+{0x11FD7,"TAMIL SIGN AAZHAAKKU"},
{0x0B82,"TAMIL SIGN ANUSVARA"},
+{0x11FD6,"TAMIL SIGN CEVITU"},
+{0x11FDD,"TAMIL SIGN KAACU"},
+{0x11FDA,"TAMIL SIGN KURUNI"},
+{0x11FE2,"TAMIL SIGN KUZHI"},
+{0x11FDC,"TAMIL SIGN MUKKURUNI"},
+{0x11FF0,"TAMIL SIGN MUTHALIYA"},
+{0x11FD9,"TAMIL SIGN MUUVUZHAKKU"},
+{0x11FD5,"TAMIL SIGN NEL"},
+{0x11FE1,"TAMIL SIGN PAARAM"},
+{0x11FDE,"TAMIL SIGN PANAM"},
+{0x11FDB,"TAMIL SIGN PATHAKKU"},
+{0x11FDF,"TAMIL SIGN PON"},
+{0x11FD8,"TAMIL SIGN UZHAKKU"},
+{0x11FF1,"TAMIL SIGN VAKAIYARAA"},
+{0x11FE0,"TAMIL SIGN VARAAKAN"},
+{0x11FE3,"TAMIL SIGN VELI"},
{0x0BCD,"TAMIL SIGN VIRAMA"},
{0x0B83,"TAMIL SIGN VISARGA"},
+{0x11FEC,"TAMIL SPENT SIGN"},
+{0x11FEF,"TAMIL STARTING FROM SIGN"},
+{0x11FED,"TAMIL TOTAL SIGN"},
+{0x11FE8,"TAMIL TRADITIONAL CREDIT SIGN"},
+{0x11FE9,"TAMIL TRADITIONAL NUMBER SIGN"},
{0x0BBE,"TAMIL VOWEL SIGN AA"},
{0x0BC8,"TAMIL VOWEL SIGN AI"},
{0x0BCC,"TAMIL VOWEL SIGN AU"},
@@ -28110,6 +28565,7 @@ CharName gUnicodeNames[] = {
{0x0BCB,"TAMIL VOWEL SIGN OO"},
{0x0BC1,"TAMIL VOWEL SIGN U"},
{0x0BC2,"TAMIL VOWEL SIGN UU"},
+{0x11FE4,"TAMIL WET CULTIVATION SIGN"},
{0x0BF5,"TAMIL YEAR SIGN"},
{0x1F38B,"TANABATA TREE"},
{0x1F34A,"TANGERINE"},
@@ -28965,6 +29421,7 @@ CharName gUnicodeNames[] = {
{0x0C01,"TELUGU SIGN CANDRABINDU"},
{0x0C04,"TELUGU SIGN COMBINING ANUSVARA ABOVE"},
{0x0C00,"TELUGU SIGN COMBINING CANDRABINDU ABOVE"},
+{0x0C77,"TELUGU SIGN SIDDHAM"},
{0x0C7F,"TELUGU SIGN TUUMU"},
{0x0C4D,"TELUGU SIGN VIRAMA"},
{0x0C03,"TELUGU SIGN VISARGA"},
@@ -30462,6 +30919,7 @@ CharName gUnicodeNames[] = {
{0x1CEC,"VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL"},
{0x1CF2,"VEDIC SIGN ARDHAVISARGA"},
{0x1CF7,"VEDIC SIGN ATIKRAMA"},
+{0x1CFA,"VEDIC SIGN DOUBLE ANUSVARA ANTARGOMUKHA"},
{0x1CEE,"VEDIC SIGN HEXIFORM LONG ANUSVARA"},
{0x1CF5,"VEDIC SIGN JIHVAMULIYA"},
{0x1CEF,"VEDIC SIGN LONG ANUSVARA"},
@@ -30566,6 +31024,66 @@ CharName gUnicodeNames[] = {
{0x2156,"VULGAR FRACTION TWO FIFTHS"},
{0x2154,"VULGAR FRACTION TWO THIRDS"},
{0x2189,"VULGAR FRACTION ZERO THIRDS"},
+{0x1F9C7,"WAFFLE"},
+{0x1E2F8,"WANCHO DIGIT EIGHT"},
+{0x1E2F5,"WANCHO DIGIT FIVE"},
+{0x1E2F4,"WANCHO DIGIT FOUR"},
+{0x1E2F9,"WANCHO DIGIT NINE"},
+{0x1E2F1,"WANCHO DIGIT ONE"},
+{0x1E2F7,"WANCHO DIGIT SEVEN"},
+{0x1E2F6,"WANCHO DIGIT SIX"},
+{0x1E2F3,"WANCHO DIGIT THREE"},
+{0x1E2F2,"WANCHO DIGIT TWO"},
+{0x1E2F0,"WANCHO DIGIT ZERO"},
+{0x1E2C1,"WANCHO LETTER A"},
+{0x1E2C0,"WANCHO LETTER AA"},
+{0x1E2E8,"WANCHO LETTER AAN"},
+{0x1E2E3,"WANCHO LETTER AANG"},
+{0x1E2E4,"WANCHO LETTER ANG"},
+{0x1E2D6,"WANCHO LETTER AU"},
+{0x1E2C2,"WANCHO LETTER BA"},
+{0x1E2C3,"WANCHO LETTER CA"},
+{0x1E2C4,"WANCHO LETTER DA"},
+{0x1E2DB,"WANCHO LETTER E"},
+{0x1E2E7,"WANCHO LETTER EN"},
+{0x1E2CD,"WANCHO LETTER FA"},
+{0x1E2C5,"WANCHO LETTER GA"},
+{0x1E2DA,"WANCHO LETTER HA"},
+{0x1E2DC,"WANCHO LETTER I"},
+{0x1E2E5,"WANCHO LETTER ING"},
+{0x1E2D0,"WANCHO LETTER JA"},
+{0x1E2D4,"WANCHO LETTER KA"},
+{0x1E2D9,"WANCHO LETTER KHA"},
+{0x1E2C8,"WANCHO LETTER LA"},
+{0x1E2DF,"WANCHO LETTER LLHA"},
+{0x1E2D8,"WANCHO LETTER MA"},
+{0x1E2C9,"WANCHO LETTER NA"},
+{0x1E2DD,"WANCHO LETTER NGA"},
+{0x1E2E9,"WANCHO LETTER NYA"},
+{0x1E2D5,"WANCHO LETTER O"},
+{0x1E2E6,"WANCHO LETTER ON"},
+{0x1E2E2,"WANCHO LETTER ONG"},
+{0x1E2CA,"WANCHO LETTER PA"},
+{0x1E2C7,"WANCHO LETTER PHA"},
+{0x1E2D7,"WANCHO LETTER RA"},
+{0x1E2CE,"WANCHO LETTER SA"},
+{0x1E2CF,"WANCHO LETTER SHA"},
+{0x1E2CB,"WANCHO LETTER TA"},
+{0x1E2CC,"WANCHO LETTER THA"},
+{0x1E2E1,"WANCHO LETTER TRA"},
+{0x1E2E0,"WANCHO LETTER TSA"},
+{0x1E2DE,"WANCHO LETTER U"},
+{0x1E2EA,"WANCHO LETTER UEN"},
+{0x1E2D3,"WANCHO LETTER VA"},
+{0x1E2D2,"WANCHO LETTER WA"},
+{0x1E2C6,"WANCHO LETTER YA"},
+{0x1E2EB,"WANCHO LETTER YIH"},
+{0x1E2D1,"WANCHO LETTER ZA"},
+{0x1E2FF,"WANCHO NGUN SIGN"},
+{0x1E2EE,"WANCHO TONE KOI"},
+{0x1E2EF,"WANCHO TONE KOINI"},
+{0x1E2EC,"WANCHO TONE TUP"},
+{0x1E2ED,"WANCHO TONE TUPNI"},
{0x1F318,"WANING CRESCENT MOON SYMBOL"},
{0x1F316,"WANING GIBBOUS MOON SYMBOL"},
{0x118A1,"WARANG CITI CAPITAL LETTER A"},
@@ -30685,11 +31203,38 @@ CharName gUnicodeNames[] = {
{0x1F8AD,"WHITE ARROW SHAFT WIDTH TWO THIRDS"},
{0x25E6,"WHITE BULLET"},
{0x2657,"WHITE CHESS BISHOP"},
+{0x1FA0C,"WHITE CHESS BISHOP ROTATED NINETY DEGREES"},
+{0x1FA36,"WHITE CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA48,"WHITE CHESS EQUIHOPPER"},
+{0x1FA4B,"WHITE CHESS EQUIHOPPER ROTATED NINETY DEGREES"},
{0x2654,"WHITE CHESS KING"},
+{0x1FA09,"WHITE CHESS KING ROTATED NINETY DEGREES"},
+{0x1FA33,"WHITE CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES"},
{0x2658,"WHITE CHESS KNIGHT"},
+{0x1FA06,"WHITE CHESS KNIGHT ROTATED FORTY-FIVE DEGREES"},
+{0x1FA0D,"WHITE CHESS KNIGHT ROTATED NINETY DEGREES"},
+{0x1FA1B,"WHITE CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES"},
+{0x1FA45,"WHITE CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES"},
+{0x1FA37,"WHITE CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA30,"WHITE CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES"},
+{0x1FA50,"WHITE CHESS KNIGHT-BISHOP"},
+{0x1FA4E,"WHITE CHESS KNIGHT-QUEEN"},
+{0x1FA4F,"WHITE CHESS KNIGHT-ROOK"},
{0x2659,"WHITE CHESS PAWN"},
+{0x1FA0E,"WHITE CHESS PAWN ROTATED NINETY DEGREES"},
+{0x1FA38,"WHITE CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES"},
{0x2655,"WHITE CHESS QUEEN"},
+{0x1FA0A,"WHITE CHESS QUEEN ROTATED NINETY DEGREES"},
+{0x1FA34,"WHITE CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES"},
{0x2656,"WHITE CHESS ROOK"},
+{0x1FA0B,"WHITE CHESS ROOK ROTATED NINETY DEGREES"},
+{0x1FA35,"WHITE CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES"},
+{0x1FA21,"WHITE CHESS TURNED BISHOP"},
+{0x1FA1E,"WHITE CHESS TURNED KING"},
+{0x1FA22,"WHITE CHESS TURNED KNIGHT"},
+{0x1FA23,"WHITE CHESS TURNED PAWN"},
+{0x1FA1F,"WHITE CHESS TURNED QUEEN"},
+{0x1FA20,"WHITE CHESS TURNED ROOK"},
{0x25CB,"WHITE CIRCLE"},
{0x1F78A,"WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE"},
{0x2686,"WHITE CIRCLE WITH DOT RIGHT"},
@@ -30726,6 +31271,7 @@ CharName gUnicodeNames[] = {
{0x2727,"WHITE FOUR POINTED STAR"},
{0x2639,"WHITE FROWNING FACE"},
{0x1F5AB,"WHITE HARD SHELL FLOPPY DISK"},
+{0x1F90D,"WHITE HEART"},
{0x2661,"WHITE HEART SUIT"},
{0x2705,"WHITE HEAVY CHECK MARK"},
{0x2B21,"WHITE HEXAGON"},
@@ -30882,6 +31428,7 @@ CharName gUnicodeNames[] = {
{0x1FA61,"XIANGQI RED MANDARIN"},
{0x1FA66,"XIANGQI RED SOLDIER"},
{0x22BB,"XOR"},
+{0x1F971,"YAWNING FACE"},
{0x1F49B,"YELLOW HEART"},
{0x00A5,"YEN SIGN"},
{0xA49B,"YI RADICAL BBUT"},
@@ -32105,6 +32652,7 @@ CharName gUnicodeNames[] = {
{0xA2E7,"YI SYLLABLE ZZYT"},
{0xA2E8,"YI SYLLABLE ZZYX"},
{0x262F,"YIN YANG"},
+{0x1FA80,"YO-YO"},
{0x22FF,"Z NOTATION BAG MEMBERSHIP"},
{0x2A64,"Z NOTATION DOMAIN ANTIRESTRICTION"},
{0x2989,"Z NOTATION LEFT BINDING BRACKET"},
diff --git a/Build/source/libs/teckit/TECkit-src/source/ulong_chartraits.h b/Build/source/libs/teckit/TECkit-src/source/ulong_chartraits.h
index 85aa317b284..d364b354f4c 100644
--- a/Build/source/libs/teckit/TECkit-src/source/ulong_chartraits.h
+++ b/Build/source/libs/teckit/TECkit-src/source/ulong_chartraits.h
@@ -1,5 +1,4 @@
-#ifndef __ulong_chartraits_h__
-#define __ulong_chartraits_h__
+#pragma once
#include <iostream>
#include <string>
@@ -59,7 +58,7 @@ namespace std
{
const char_type* __p = __s;
while (*__p) ++__p;
- return (__p - __s);
+ return static_cast<size_t>(__p - __s);
}
static const char_type*
@@ -72,11 +71,11 @@ namespace std
static char_type*
move(char_type* __s1, const char_type* __s2, size_t __n)
- { return (char_type*) memmove(__s1, __s2, __n * sizeof(char_type)); }
+ { return static_cast<char_type*>(memmove(__s1, __s2, __n * sizeof(char_type))); }
static char_type*
copy(char_type* __s1, const char_type* __s2, size_t __n)
- { return (char_type*) memcpy(__s1, __s2, __n * sizeof(char_type)); }
+ { return static_cast<char_type*>(memcpy(__s1, __s2, __n * sizeof(char_type))); }
static char_type*
assign(char_type* __s, size_t __n, char_type __a)
@@ -98,12 +97,10 @@ namespace std
{ return __c1 == __c2; }
static int_type
- eof() { return static_cast<int_type>(-1); }
+ eof() { return int_type(-1); }
static int_type
not_eof(const int_type& __c)
{ return eq_int_type(__c, eof()) ? int_type(0) : __c; }
};
}
-
-#endif
diff --git a/Build/source/libs/teckit/TECkit-src/test/NormalizationTest.txt b/Build/source/libs/teckit/TECkit-src/test/NormalizationTest.txt
index 72a31bcdf18..04c935c1f73 100644
--- a/Build/source/libs/teckit/TECkit-src/test/NormalizationTest.txt
+++ b/Build/source/libs/teckit/TECkit-src/test/NormalizationTest.txt
@@ -1,6 +1,6 @@
-# NormalizationTest-11.0.0.txt
-# Date: 2018-02-19, 18:33:08 GMT
-# © 2018 Unicode®, Inc.
+# NormalizationTest-12.0.0.txt
+# Date: 2019-01-22, 08:18:33 GMT
+# © 2019 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
@@ -16363,6 +16363,7 @@ FFEE;FFEE;FFEE;25CB;25CB; # (○; ○; ○; ○; ○; ) HALFWIDTH WHITE CIRCLE
1F14F;1F14F;1F14F;0057 0043;0057 0043; # (🅏; 🅏; 🅏; WC; WC; ) SQUARED WC
1F16A;1F16A;1F16A;004D 0043;004D 0043; # (🅪; 🅪; 🅪; MC; MC; ) RAISED MC SIGN
1F16B;1F16B;1F16B;004D 0044;004D 0044; # (🅫; 🅫; 🅫; MD; MD; ) RAISED MD SIGN
+1F16C;1F16C;1F16C;004D 0052;004D 0052; # (🅬; 🅬; 🅬; MR; MR; ) RAISED MR SIGN
1F190;1F190;1F190;0044 004A;0044 004A; # (🆐; 🆐; 🆐; DJ; DJ; ) SQUARE DJ
1F200;1F200;1F200;307B 304B;307B 304B; # (🈀; 🈀; 🈀; ほか; ほか; ) SQUARE HIRAGANA HOKA
1F201;1F201;1F201;30B3 30B3;30B3 30B3; # (🈁; 🈁; 🈁; ココ; ココ; ) SQUARED KATAKANA KOKO
@@ -17685,6 +17686,8 @@ FFEE;FFEE;FFEE;25CB;25CB; # (○; ○; ○; ○; ○; ) HALFWIDTH WHITE CIRCLE
0061 0EB8 0EC8 0EB8 0E48 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062; # (a◌ຸ◌່◌ຸ◌่b; a◌่◌ຸ◌ຸ◌່b; a◌่◌ຸ◌ຸ◌່b; a◌่◌ຸ◌ຸ◌່b; a◌่◌ຸ◌ຸ◌່b; ) LATIN SMALL LETTER A, LAO VOWEL SIGN U, LAO TONE MAI EK, LAO VOWEL SIGN U, THAI CHARACTER MAI EK, LATIN SMALL LETTER B
0061 0EC8 0EB8 0E48 0EB9 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062; # (a◌່◌ຸ◌่◌ູb; a◌่◌ຸ◌ູ◌່b; a◌่◌ຸ◌ູ◌່b; a◌่◌ຸ◌ູ◌່b; a◌่◌ຸ◌ູ◌່b; ) LATIN SMALL LETTER A, LAO TONE MAI EK, LAO VOWEL SIGN U, THAI CHARACTER MAI EK, LAO VOWEL SIGN UU, LATIN SMALL LETTER B
0061 0EB9 0EC8 0EB8 0E48 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062; # (a◌ູ◌່◌ຸ◌่b; a◌่◌ູ◌ຸ◌່b; a◌่◌ູ◌ຸ◌່b; a◌่◌ູ◌ຸ◌່b; a◌่◌ູ◌ຸ◌່b; ) LATIN SMALL LETTER A, LAO VOWEL SIGN UU, LAO TONE MAI EK, LAO VOWEL SIGN U, THAI CHARACTER MAI EK, LATIN SMALL LETTER B
+0061 05B0 094D 3099 0EBA 0062;0061 3099 094D 0EBA 05B0 0062;0061 3099 094D 0EBA 05B0 0062;0061 3099 094D 0EBA 05B0 0062;0061 3099 094D 0EBA 05B0 0062; # (a◌ְ◌्◌゙◌຺b; a◌゙◌्◌຺◌ְb; a◌゙◌्◌຺◌ְb; a◌゙◌्◌຺◌ְb; a◌゙◌्◌຺◌ְb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LAO SIGN PALI VIRAMA, LATIN SMALL LETTER B
+0061 0EBA 05B0 094D 3099 0062;0061 3099 0EBA 094D 05B0 0062;0061 3099 0EBA 094D 05B0 0062;0061 3099 0EBA 094D 05B0 0062;0061 3099 0EBA 094D 05B0 0062; # (a◌຺◌ְ◌्◌゙b; a◌゙◌຺◌्◌ְb; a◌゙◌຺◌्◌ְb; a◌゙◌຺◌्◌ְb; a◌゙◌຺◌्◌ְb; ) LATIN SMALL LETTER A, LAO SIGN PALI VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B
0061 0F71 0EC8 0EB8 0EC8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062; # (a◌ཱ◌່◌ຸ◌່b; a◌ຸ◌່◌່◌ཱb; a◌ຸ◌່◌່◌ཱb; a◌ຸ◌່◌່◌ཱb; a◌ຸ◌່◌່◌ཱb; ) LATIN SMALL LETTER A, TIBETAN VOWEL SIGN AA, LAO TONE MAI EK, LAO VOWEL SIGN U, LAO TONE MAI EK, LATIN SMALL LETTER B
0061 0EC8 0F71 0EC8 0EB8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062; # (a◌່◌ཱ◌່◌ຸb; a◌ຸ◌່◌່◌ཱb; a◌ຸ◌່◌່◌ཱb; a◌ຸ◌່◌່◌ཱb; a◌ຸ◌່◌່◌ཱb; ) LATIN SMALL LETTER A, LAO TONE MAI EK, TIBETAN VOWEL SIGN AA, LAO TONE MAI EK, LAO VOWEL SIGN U, LATIN SMALL LETTER B
0061 0F71 0EC8 0EB8 0EC9 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062; # (a◌ཱ◌່◌ຸ◌້b; a◌ຸ◌່◌້◌ཱb; a◌ຸ◌່◌້◌ཱb; a◌ຸ◌່◌້◌ཱb; a◌ຸ◌່◌້◌ཱb; ) LATIN SMALL LETTER A, TIBETAN VOWEL SIGN AA, LAO TONE MAI EK, LAO VOWEL SIGN U, LAO TONE MAI THO, LATIN SMALL LETTER B
@@ -18453,6 +18456,8 @@ FFEE;FFEE;FFEE;25CB;25CB; # (○; ○; ○; ○; ○; ) HALFWIDTH WHITE CIRCLE
0061 11839 05B0 094D 3099 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062; # (a◌𑠹◌ְ◌्◌゙b; a◌゙◌𑠹◌्◌ְb; a◌゙◌𑠹◌्◌ְb; a◌゙◌𑠹◌्◌ְb; a◌゙◌𑠹◌्◌ְb; ) LATIN SMALL LETTER A, DOGRA SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B
0061 3099 093C 0334 1183A 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062; # (a◌゙◌़◌̴◌𑠺b; a◌̴◌़◌𑠺◌゙b; a◌̴◌़◌𑠺◌゙b; a◌̴◌़◌𑠺◌゙b; a◌̴◌़◌𑠺◌゙b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, DOGRA SIGN NUKTA, LATIN SMALL LETTER B
0061 1183A 3099 093C 0334 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062; # (a◌𑠺◌゙◌़◌̴b; a◌̴◌𑠺◌़◌゙b; a◌̴◌𑠺◌़◌゙b; a◌̴◌𑠺◌़◌゙b; a◌̴◌𑠺◌़◌゙b; ) LATIN SMALL LETTER A, DOGRA SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B
+0061 05B0 094D 3099 119E0 0062;0061 3099 094D 119E0 05B0 0062;0061 3099 094D 119E0 05B0 0062;0061 3099 094D 119E0 05B0 0062;0061 3099 094D 119E0 05B0 0062; # (a◌ְ◌्◌゙◌𑧠b; a◌゙◌्◌𑧠◌ְb; a◌゙◌्◌𑧠◌ְb; a◌゙◌्◌𑧠◌ְb; a◌゙◌्◌𑧠◌ְb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, NANDINAGARI SIGN VIRAMA, LATIN SMALL LETTER B
+0061 119E0 05B0 094D 3099 0062;0061 3099 119E0 094D 05B0 0062;0061 3099 119E0 094D 05B0 0062;0061 3099 119E0 094D 05B0 0062;0061 3099 119E0 094D 05B0 0062; # (a◌𑧠◌ְ◌्◌゙b; a◌゙◌𑧠◌्◌ְb; a◌゙◌𑧠◌्◌ְb; a◌゙◌𑧠◌्◌ְb; a◌゙◌𑧠◌्◌ְb; ) LATIN SMALL LETTER A, NANDINAGARI SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B
0061 05B0 094D 3099 11A34 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062; # (a◌ְ◌्◌゙◌𑨴b; a◌゙◌्◌𑨴◌ְb; a◌゙◌्◌𑨴◌ְb; a◌゙◌्◌𑨴◌ְb; a◌゙◌्◌𑨴◌ְb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, ZANABAZAR SQUARE SIGN VIRAMA, LATIN SMALL LETTER B
0061 11A34 05B0 094D 3099 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062; # (a◌𑨴◌ְ◌्◌゙b; a◌゙◌𑨴◌्◌ְb; a◌゙◌𑨴◌्◌ְb; a◌゙◌𑨴◌्◌ְb; a◌゙◌𑨴◌्◌ְb; ) LATIN SMALL LETTER A, ZANABAZAR SQUARE SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B
0061 05B0 094D 3099 11A47 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062; # (a◌ְ◌्◌゙◌𑩇b; a◌゙◌्◌𑩇◌ְb; a◌゙◌्◌𑩇◌ְb; a◌゙◌्◌𑩇◌ְb; a◌゙◌्◌𑩇◌ְb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, ZANABAZAR SQUARE SUBJOINER, LATIN SMALL LETTER B
@@ -18637,6 +18642,28 @@ FFEE;FFEE;FFEE;25CB;25CB; # (○; ○; ○; ○; ○; ) HALFWIDTH WHITE CIRCLE
0061 1E029 0315 0300 05AE 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062; # (a◌𞀩◌̕◌̀◌֮b; a◌֮◌𞀩◌̀◌̕b; a◌֮◌𞀩◌̀◌̕b; a◌֮◌𞀩◌̀◌̕b; a◌֮◌𞀩◌̀◌̕b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER IOTATED BIG YUS, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
0061 0315 0300 05AE 1E02A 0062;00E0 05AE 1E02A 0315 0062;0061 05AE 0300 1E02A 0315 0062;00E0 05AE 1E02A 0315 0062;0061 05AE 0300 1E02A 0315 0062; # (a◌̕◌̀◌֮◌𞀪b; à◌֮◌𞀪◌̕b; a◌֮◌̀◌𞀪◌̕b; à◌֮◌𞀪◌̕b; a◌֮◌̀◌𞀪◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER FITA, LATIN SMALL LETTER B
0061 1E02A 0315 0300 05AE 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062; # (a◌𞀪◌̕◌̀◌֮b; a◌֮◌𞀪◌̀◌̕b; a◌֮◌𞀪◌̀◌̕b; a◌֮◌𞀪◌̀◌̕b; a◌֮◌𞀪◌̀◌̕b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER FITA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E130 0062;00E0 05AE 1E130 0315 0062;0061 05AE 0300 1E130 0315 0062;00E0 05AE 1E130 0315 0062;0061 05AE 0300 1E130 0315 0062; # (a◌̕◌̀◌֮◌𞄰b; à◌֮◌𞄰◌̕b; a◌֮◌̀◌𞄰◌̕b; à◌֮◌𞄰◌̕b; a◌֮◌̀◌𞄰◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-B, LATIN SMALL LETTER B
+0061 1E130 0315 0300 05AE 0062;0061 05AE 1E130 0300 0315 0062;0061 05AE 1E130 0300 0315 0062;0061 05AE 1E130 0300 0315 0062;0061 05AE 1E130 0300 0315 0062; # (a◌𞄰◌̕◌̀◌֮b; a◌֮◌𞄰◌̀◌̕b; a◌֮◌𞄰◌̀◌̕b; a◌֮◌𞄰◌̀◌̕b; a◌֮◌𞄰◌̀◌̕b; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-B, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E131 0062;00E0 05AE 1E131 0315 0062;0061 05AE 0300 1E131 0315 0062;00E0 05AE 1E131 0315 0062;0061 05AE 0300 1E131 0315 0062; # (a◌̕◌̀◌֮◌𞄱b; à◌֮◌𞄱◌̕b; a◌֮◌̀◌𞄱◌̕b; à◌֮◌𞄱◌̕b; a◌֮◌̀◌𞄱◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-M, LATIN SMALL LETTER B
+0061 1E131 0315 0300 05AE 0062;0061 05AE 1E131 0300 0315 0062;0061 05AE 1E131 0300 0315 0062;0061 05AE 1E131 0300 0315 0062;0061 05AE 1E131 0300 0315 0062; # (a◌𞄱◌̕◌̀◌֮b; a◌֮◌𞄱◌̀◌̕b; a◌֮◌𞄱◌̀◌̕b; a◌֮◌𞄱◌̀◌̕b; a◌֮◌𞄱◌̀◌̕b; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-M, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E132 0062;00E0 05AE 1E132 0315 0062;0061 05AE 0300 1E132 0315 0062;00E0 05AE 1E132 0315 0062;0061 05AE 0300 1E132 0315 0062; # (a◌̕◌̀◌֮◌𞄲b; à◌֮◌𞄲◌̕b; a◌֮◌̀◌𞄲◌̕b; à◌֮◌𞄲◌̕b; a◌֮◌̀◌𞄲◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-J, LATIN SMALL LETTER B
+0061 1E132 0315 0300 05AE 0062;0061 05AE 1E132 0300 0315 0062;0061 05AE 1E132 0300 0315 0062;0061 05AE 1E132 0300 0315 0062;0061 05AE 1E132 0300 0315 0062; # (a◌𞄲◌̕◌̀◌֮b; a◌֮◌𞄲◌̀◌̕b; a◌֮◌𞄲◌̀◌̕b; a◌֮◌𞄲◌̀◌̕b; a◌֮◌𞄲◌̀◌̕b; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-J, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E133 0062;00E0 05AE 1E133 0315 0062;0061 05AE 0300 1E133 0315 0062;00E0 05AE 1E133 0315 0062;0061 05AE 0300 1E133 0315 0062; # (a◌̕◌̀◌֮◌𞄳b; à◌֮◌𞄳◌̕b; a◌֮◌̀◌𞄳◌̕b; à◌֮◌𞄳◌̕b; a◌֮◌̀◌𞄳◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-V, LATIN SMALL LETTER B
+0061 1E133 0315 0300 05AE 0062;0061 05AE 1E133 0300 0315 0062;0061 05AE 1E133 0300 0315 0062;0061 05AE 1E133 0300 0315 0062;0061 05AE 1E133 0300 0315 0062; # (a◌𞄳◌̕◌̀◌֮b; a◌֮◌𞄳◌̀◌̕b; a◌֮◌𞄳◌̀◌̕b; a◌֮◌𞄳◌̀◌̕b; a◌֮◌𞄳◌̀◌̕b; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-V, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E134 0062;00E0 05AE 1E134 0315 0062;0061 05AE 0300 1E134 0315 0062;00E0 05AE 1E134 0315 0062;0061 05AE 0300 1E134 0315 0062; # (a◌̕◌̀◌֮◌𞄴b; à◌֮◌𞄴◌̕b; a◌֮◌̀◌𞄴◌̕b; à◌֮◌𞄴◌̕b; a◌֮◌̀◌𞄴◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-S, LATIN SMALL LETTER B
+0061 1E134 0315 0300 05AE 0062;0061 05AE 1E134 0300 0315 0062;0061 05AE 1E134 0300 0315 0062;0061 05AE 1E134 0300 0315 0062;0061 05AE 1E134 0300 0315 0062; # (a◌𞄴◌̕◌̀◌֮b; a◌֮◌𞄴◌̀◌̕b; a◌֮◌𞄴◌̀◌̕b; a◌֮◌𞄴◌̀◌̕b; a◌֮◌𞄴◌̀◌̕b; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-S, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E135 0062;00E0 05AE 1E135 0315 0062;0061 05AE 0300 1E135 0315 0062;00E0 05AE 1E135 0315 0062;0061 05AE 0300 1E135 0315 0062; # (a◌̕◌̀◌֮◌𞄵b; à◌֮◌𞄵◌̕b; a◌֮◌̀◌𞄵◌̕b; à◌֮◌𞄵◌̕b; a◌֮◌̀◌𞄵◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-G, LATIN SMALL LETTER B
+0061 1E135 0315 0300 05AE 0062;0061 05AE 1E135 0300 0315 0062;0061 05AE 1E135 0300 0315 0062;0061 05AE 1E135 0300 0315 0062;0061 05AE 1E135 0300 0315 0062; # (a◌𞄵◌̕◌̀◌֮b; a◌֮◌𞄵◌̀◌̕b; a◌֮◌𞄵◌̀◌̕b; a◌֮◌𞄵◌̀◌̕b; a◌֮◌𞄵◌̀◌̕b; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-G, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E136 0062;00E0 05AE 1E136 0315 0062;0061 05AE 0300 1E136 0315 0062;00E0 05AE 1E136 0315 0062;0061 05AE 0300 1E136 0315 0062; # (a◌̕◌̀◌֮◌𞄶b; à◌֮◌𞄶◌̕b; a◌֮◌̀◌𞄶◌̕b; à◌֮◌𞄶◌̕b; a◌֮◌̀◌𞄶◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-D, LATIN SMALL LETTER B
+0061 1E136 0315 0300 05AE 0062;0061 05AE 1E136 0300 0315 0062;0061 05AE 1E136 0300 0315 0062;0061 05AE 1E136 0300 0315 0062;0061 05AE 1E136 0300 0315 0062; # (a◌𞄶◌̕◌̀◌֮b; a◌֮◌𞄶◌̀◌̕b; a◌֮◌𞄶◌̀◌̕b; a◌֮◌𞄶◌̀◌̕b; a◌֮◌𞄶◌̀◌̕b; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-D, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E2EC 0062;00E0 05AE 1E2EC 0315 0062;0061 05AE 0300 1E2EC 0315 0062;00E0 05AE 1E2EC 0315 0062;0061 05AE 0300 1E2EC 0315 0062; # (a◌̕◌̀◌֮◌𞋬b; à◌֮◌𞋬◌̕b; a◌֮◌̀◌𞋬◌̕b; à◌֮◌𞋬◌̕b; a◌֮◌̀◌𞋬◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, WANCHO TONE TUP, LATIN SMALL LETTER B
+0061 1E2EC 0315 0300 05AE 0062;0061 05AE 1E2EC 0300 0315 0062;0061 05AE 1E2EC 0300 0315 0062;0061 05AE 1E2EC 0300 0315 0062;0061 05AE 1E2EC 0300 0315 0062; # (a◌𞋬◌̕◌̀◌֮b; a◌֮◌𞋬◌̀◌̕b; a◌֮◌𞋬◌̀◌̕b; a◌֮◌𞋬◌̀◌̕b; a◌֮◌𞋬◌̀◌̕b; ) LATIN SMALL LETTER A, WANCHO TONE TUP, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E2ED 0062;00E0 05AE 1E2ED 0315 0062;0061 05AE 0300 1E2ED 0315 0062;00E0 05AE 1E2ED 0315 0062;0061 05AE 0300 1E2ED 0315 0062; # (a◌̕◌̀◌֮◌𞋭b; à◌֮◌𞋭◌̕b; a◌֮◌̀◌𞋭◌̕b; à◌֮◌𞋭◌̕b; a◌֮◌̀◌𞋭◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, WANCHO TONE TUPNI, LATIN SMALL LETTER B
+0061 1E2ED 0315 0300 05AE 0062;0061 05AE 1E2ED 0300 0315 0062;0061 05AE 1E2ED 0300 0315 0062;0061 05AE 1E2ED 0300 0315 0062;0061 05AE 1E2ED 0300 0315 0062; # (a◌𞋭◌̕◌̀◌֮b; a◌֮◌𞋭◌̀◌̕b; a◌֮◌𞋭◌̀◌̕b; a◌֮◌𞋭◌̀◌̕b; a◌֮◌𞋭◌̀◌̕b; ) LATIN SMALL LETTER A, WANCHO TONE TUPNI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E2EE 0062;00E0 05AE 1E2EE 0315 0062;0061 05AE 0300 1E2EE 0315 0062;00E0 05AE 1E2EE 0315 0062;0061 05AE 0300 1E2EE 0315 0062; # (a◌̕◌̀◌֮◌𞋮b; à◌֮◌𞋮◌̕b; a◌֮◌̀◌𞋮◌̕b; à◌֮◌𞋮◌̕b; a◌֮◌̀◌𞋮◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, WANCHO TONE KOI, LATIN SMALL LETTER B
+0061 1E2EE 0315 0300 05AE 0062;0061 05AE 1E2EE 0300 0315 0062;0061 05AE 1E2EE 0300 0315 0062;0061 05AE 1E2EE 0300 0315 0062;0061 05AE 1E2EE 0300 0315 0062; # (a◌𞋮◌̕◌̀◌֮b; a◌֮◌𞋮◌̀◌̕b; a◌֮◌𞋮◌̀◌̕b; a◌֮◌𞋮◌̀◌̕b; a◌֮◌𞋮◌̀◌̕b; ) LATIN SMALL LETTER A, WANCHO TONE KOI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
+0061 0315 0300 05AE 1E2EF 0062;00E0 05AE 1E2EF 0315 0062;0061 05AE 0300 1E2EF 0315 0062;00E0 05AE 1E2EF 0315 0062;0061 05AE 0300 1E2EF 0315 0062; # (a◌̕◌̀◌֮◌𞋯b; à◌֮◌𞋯◌̕b; a◌֮◌̀◌𞋯◌̕b; à◌֮◌𞋯◌̕b; a◌֮◌̀◌𞋯◌̕b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, WANCHO TONE KOINI, LATIN SMALL LETTER B
+0061 1E2EF 0315 0300 05AE 0062;0061 05AE 1E2EF 0300 0315 0062;0061 05AE 1E2EF 0300 0315 0062;0061 05AE 1E2EF 0300 0315 0062;0061 05AE 1E2EF 0300 0315 0062; # (a◌𞋯◌̕◌̀◌֮b; a◌֮◌𞋯◌̀◌̕b; a◌֮◌𞋯◌̀◌̕b; a◌֮◌𞋯◌̀◌̕b; a◌֮◌𞋯◌̀◌̕b; ) LATIN SMALL LETTER A, WANCHO TONE KOINI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B
0061 059A 0316 302A 1E8D0 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062; # (a◌֚◌̖◌〪◌𞣐b; a◌〪◌̖◌𞣐◌֚b; a◌〪◌̖◌𞣐◌֚b; a◌〪◌̖◌𞣐◌֚b; a◌〪◌̖◌𞣐◌֚b; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, MENDE KIKAKUI COMBINING NUMBER TEENS, LATIN SMALL LETTER B
0061 1E8D0 059A 0316 302A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062; # (a◌𞣐◌֚◌̖◌〪b; a◌〪◌𞣐◌̖◌֚b; a◌〪◌𞣐◌̖◌֚b; a◌〪◌𞣐◌̖◌֚b; a◌〪◌𞣐◌̖◌֚b; ) LATIN SMALL LETTER A, MENDE KIKAKUI COMBINING NUMBER TEENS, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B
0061 059A 0316 302A 1E8D1 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062; # (a◌֚◌̖◌〪◌𞣑b; a◌〪◌̖◌𞣑◌֚b; a◌〪◌̖◌𞣑◌֚b; a◌〪◌̖◌𞣑◌֚b; a◌〪◌̖◌𞣑◌֚b; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, MENDE KIKAKUI COMBINING NUMBER TENS, LATIN SMALL LETTER B
diff --git a/Build/source/libs/teckit/TECkit-src/test/dotests.pl b/Build/source/libs/teckit/TECkit-src/test/dotests.pl
index aa27401a92f..8f61e65da72 100755
--- a/Build/source/libs/teckit/TECkit-src/test/dotests.pl
+++ b/Build/source/libs/teckit/TECkit-src/test/dotests.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
use strict;
use warnings;
diff --git a/Build/source/libs/teckit/TLpatches/ChangeLog b/Build/source/libs/teckit/TLpatches/ChangeLog
index 2eb695c78c0..d58bfa90ab3 100644
--- a/Build/source/libs/teckit/TLpatches/ChangeLog
+++ b/Build/source/libs/teckit/TLpatches/ChangeLog
@@ -1,11 +1,19 @@
-2018-07-24 Akira Kakuto <kakuto@.fuk.kindai.ac.jp>
+2019-05-03 Akira Kakuto <kakuto@w32tex.org>
+
+ Imported TECkit-2.5.9 source tree (teckit) from
+ https://github.com/silnrsi/teckit/archive/2.5.9.tar.gz.
+ patch-02-warning, patch-03-warnings,patch-05-static, and
+ patch patch-06-dont-build-sfconv: Adapted.
+ patch-04-pragmas: Removed.
+
+2018-07-24 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Imported TECkit-2.5.8 source tree (teckit) from
https://github.com/silnrsi/teckit/archive/2.5.8.tar.gz.
patch-02-warning, patch-03-warnings, patch-04-pragmas,
patch-05-static, and patch patch-06-dont-build-sfconv: Adapted.
-2017-06-27 Akira Kakuto <kakuto@.fuk.kindai.ac.jp>
+2017-06-27 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Imported TECkit-2.5.7 source tree (teckit) from
https://github.com/silnrsi/teckit/archive/2.5.7.tar.gz.
@@ -17,7 +25,7 @@
Remove SFconv directory, contains non-free ConvertUTF.{c,h}
Add patch patch-06-dont-build-sfconv to not build sfconv.
-2016-12-30 Akira Kakuto <kakuto@.fuk.kindai.ac.jp>
+2016-12-30 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Imported TECkit-2.5.6 source tree (teckit) from
https://github.com/silnrsi/teckit/archive/2.5.6.tar.gz.
diff --git a/Build/source/libs/teckit/TLpatches/TL-Changes b/Build/source/libs/teckit/TLpatches/TL-Changes
index 9667ecd4855..f32d8f7e967 100644
--- a/Build/source/libs/teckit/TLpatches/TL-Changes
+++ b/Build/source/libs/teckit/TLpatches/TL-Changes
@@ -1,5 +1,5 @@
-Changes applied to the TECkit-2.5.8/ tree obtained from:
- https://github.com/silnrsi/teckit/archive/2.5.8.tar.gz.
+Changes applied to the TECkit-2.5.9/ tree obtained from:
+ https://github.com/silnrsi/teckit/archive/2.5.9.tar.gz.
Removed execute permissions from:
installed-top.pc.in
diff --git a/Build/source/libs/teckit/TLpatches/patch-02-warning b/Build/source/libs/teckit/TLpatches/patch-02-warning
index 05b1fe17a49..8914f63c202 100644
--- a/Build/source/libs/teckit/TLpatches/patch-02-warning
+++ b/Build/source/libs/teckit/TLpatches/patch-02-warning
@@ -1,9 +1,9 @@
Avoid compiler warning.
-diff -ur teckit-2.5.8/source/Compiler.h teckit-src/source/Compiler.h
---- teckit-2.5.8/source/Compiler.h Tue Dec 05 07:20:20 2017
-+++ teckit-src/source/Compiler.h Tue Jul 24 07:21:23 2018
-@@ -230,7 +230,7 @@
+diff -ur teckit-2.5.9/source/Compiler.h teckit-src/source/Compiler.h
+--- teckit-2.5.9/source/Compiler.h Tue Mar 19 00:23:12 2019
++++ teckit-src/source/Compiler.h Tue Mar 19 07:02:47 2019
+@@ -229,7 +229,7 @@
vector<UInt32> byteClassLines;
vector<UInt32> uniClassLines;
diff --git a/Build/source/libs/teckit/TLpatches/patch-03-warnings b/Build/source/libs/teckit/TLpatches/patch-03-warnings
index 011670adda3..eb36b57ca5b 100644
--- a/Build/source/libs/teckit/TLpatches/patch-03-warnings
+++ b/Build/source/libs/teckit/TLpatches/patch-03-warnings
@@ -1,9 +1,9 @@
Avoid more compiler warnings.
-diff -ur teckit-2.5.8/source/Compiler.cpp teckit-src/source/Compiler.cpp
---- teckit-2.5.8/source/Compiler.cpp Tue Dec 05 07:20:20 2017
-+++ teckit-src/source/Compiler.cpp Tue Jul 24 07:23:53 2018
-@@ -189,14 +189,14 @@
+diff -ur teckit-2.5.9/source/Compiler.cpp teckit-src/source/Compiler.cpp
+--- teckit-2.5.9/source/Compiler.cpp Tue Mar 19 00:23:12 2019
++++ teckit-src/source/Compiler.cpp Tue Mar 19 07:06:23 2019
+@@ -189,7 +189,7 @@
free(table);
}
@@ -12,63 +12,11 @@ diff -ur teckit-2.5.8/source/Compiler.cpp teckit-src/source/Compiler.cpp
WINAPI
TECkit_GetUnicodeName(UInt32 usv)
{
- const CharName *c = &gUnicodeNames[0];
- while (c->name != 0)
- if (c->usv == usv)
-- return (char*)c->name;
-+ return c->name;
- else
- ++c;
- return NULL;
-@@ -2133,7 +2133,7 @@
- cout << " at line " << line << endl;
- }
- else
-- (*errorFunction)(errFuncUserData, (char*)msg, (char*)s, line);
-+ (*errorFunction)(errFuncUserData, msg, s, line);
- errorState = true;
- ++errorCount;
- }
-
-diff -ur teckit-2.5.8/source/Engine.cpp teckit-src/source/Engine.cpp
---- teckit-2.5.8/source/Engine.cpp Tue Dec 05 07:20:20 2017
-+++ teckit-src/source/Engine.cpp Tue Jul 24 07:39:17 2018
-@@ -1093,7 +1075,7 @@
- if (matchElems == 0 && allowInsertion == false)
- continue;
- patternLength = matchElems + READ(rule->postLength);
-- pattern = (MatchElem*)(rule + 1); // point past the defined struct for the rule header
-+ pattern = (const MatchElem*)(rule + 1); // point past the defined struct for the rule header
- direction = 1;
- infoLimit = matchElems;
-
-@@ -2194,7 +2168,7 @@
- status = kStatus_BadMappingVersion;
- else {
- const Byte* namePtr;
-- if (getNamePtrFromTable((Byte*)fh, nameID, namePtr, *nameLength)) {
-+ if (getNamePtrFromTable((const Byte*)fh, nameID, namePtr, *nameLength)) {
- UInt16 copyBytes = *nameLength < bufferSize ? *nameLength : bufferSize;
- if (copyBytes > 0)
- memcpy(nameBuffer, namePtr, copyBytes);
-diff -ur teckit-2.5.8/source/Engine.h teckit-src/source/Engine.h
---- teckit-2.5.8/source/Engine.h Tue Dec 05 07:20:20 2017
-+++ teckit-src/source/Engine.h Tue Jul 24 07:29:14 2018
-@@ -117,7 +117,7 @@
-
- UInt32 match(int index, int repeats, int textLoc);
- // returns 0 for no match, 1 for match, or kNeedMoreInput/kInvalidChar
-- MatchElem* pattern;
-+ const MatchElem* pattern;
- int patternLength;
- int direction;
- MatchInfo info[256];
-
-diff -ur teckit-2.5.8/source/Public-headers/TECkit_Compiler.h teckit-src/source/Public-headers/TECkit_Compiler.h
---- teckit-2.5.8/source/Public-headers/TECkit_Compiler.h Tue Dec 05 07:20:20 2017
-+++ teckit-src/source/Public-headers/TECkit_Compiler.h Tue Jul 24 07:41:00 2018
-@@ -56,7 +59,7 @@
+diff -ur teckit-2.5.9/source/Public-headers/TECkit_Compiler.h teckit-src/source/Public-headers/TECkit_Compiler.h
+--- teckit-2.5.9/source/Public-headers/TECkit_Compiler.h Tue Mar 19 00:23:12 2019
++++ teckit-src/source/Public-headers/TECkit_Compiler.h Tue Mar 19 07:31:10 2019
+@@ -55,7 +58,7 @@
#define kCompilerOpts_Compress 0x00000010 /* generate compressed mapping table */
#define kCompilerOpts_XML 0x00000020 /* instead of a compiled binary table, generate an XML representation of the mapping */
@@ -77,7 +25,7 @@ diff -ur teckit-2.5.8/source/Public-headers/TECkit_Compiler.h teckit-src/source/
TECkit_Status
WINAPI EXPORTED
-@@ -75,7 +78,7 @@
+@@ -74,7 +77,7 @@
TECkit_GetCompilerVersion();
/* new APIs for looking up Unicode names (as NUL-terminated C strings) */
@@ -87,10 +35,9 @@ diff -ur teckit-2.5.8/source/Public-headers/TECkit_Compiler.h teckit-src/source/
TECkit_GetUnicodeName(UInt32 usv);
/* returns the Unicode name of usv, if available, else NULL */
-
-diff -ur teckit-2.5.8/source/Sample-tools/TECkit_Compile.cpp teckit-src/source/Sample-tools/TECkit_Compile.cpp
---- teckit-2.5.8/source/Sample-tools/TECkit_Compile.cpp Tue Dec 05 07:20:20 2017
-+++ teckit-src/source/Sample-tools/TECkit_Compile.cpp Tue Jul 24 07:34:18 2018
+diff -ur teckit-2.5.9/source/Sample-tools/TECkit_Compile.cpp teckit-src/source/Sample-tools/TECkit_Compile.cpp
+--- teckit-2.5.9/source/Sample-tools/TECkit_Compile.cpp Tue Mar 19 00:23:12 2019
++++ teckit-src/source/Sample-tools/TECkit_Compile.cpp Tue Mar 19 07:25:19 2019
@@ -24,13 +24,13 @@
#endif
diff --git a/Build/source/libs/teckit/TLpatches/patch-04-pragmas b/Build/source/libs/teckit/TLpatches/patch-04-pragmas
deleted file mode 100644
index 601f3976e99..00000000000
--- a/Build/source/libs/teckit/TLpatches/patch-04-pragmas
+++ /dev/null
@@ -1,61 +0,0 @@
- Remove the '#pragma's, they seem to cause problems for MSVC
- and are certainly not needed otherwise.
-
-diff -ur teckit-2.5.8/source/Engine.cpp teckit-src/source/Engine.cpp
---- teckit-2.5.8/source/Engine.cpp Tue Dec 05 07:20:20 2017
-+++ teckit-src/source/Engine.cpp Tue Jul 24 07:39:17 2018
-@@ -102,10 +96,6 @@
- #endif
- }
-
--#ifndef __GNUC__
--#pragma mark --- class Stage ---
--#endif
--
- Stage::Stage()
- : oBuffer(0)
- , oBufSize(0)
-@@ -127,10 +117,6 @@
- return 0;
- }
-
--#ifndef __GNUC__
--#pragma mark --- class Normalizer ---
--#endif
--
- #include "NormalizationData.c"
-
- Normalizer::Normalizer(bool compose)
-@@ -400,10 +386,6 @@
- return c;
- }
-
--#ifndef __GNUC__
--#pragma mark --- class Pass ---
--#endif
--
- Pass::Pass(const TableHeader* inTable, Converter* cnv)
- : converter(cnv)
- , tableHeader(inTable)
-@@ -1288,10 +1270,6 @@
- return 0;
- }
-
--#ifndef __GNUC__
--#pragma mark --- class Converter ---
--#endif
--
- Converter::Converter(const Byte* inTable, UInt32 inTableSize, bool inForward,
- UInt16 inForm, UInt16 outForm)
- : table(0)
-@@ -1942,10 +1920,6 @@
- return true;
- }
-
--#ifndef __GNUC__
--#pragma mark --- Public "C" API functions ---
--#endif
--
- TECkit_Status
- WINAPI
- TECkit_CreateConverter(
diff --git a/Build/source/libs/teckit/TLpatches/patch-05-static b/Build/source/libs/teckit/TLpatches/patch-05-static
index e3a646c5669..1cdb0770244 100644
--- a/Build/source/libs/teckit/TLpatches/patch-05-static
+++ b/Build/source/libs/teckit/TLpatches/patch-05-static
@@ -1,9 +1,9 @@
For TeX Live we build a static library and not a Dll.
-diff -ur teckit-2.5.8/source/Engine.cpp teckit-src/source/Engine.cpp
---- teckit-2.5.8/source/Engine.cpp Tue Dec 05 07:20:20 2017
-+++ teckit-src/source/Engine.cpp Tue Jul 24 07:39:17 2018
+diff -ur teckit-2.5.9/source/Engine.cpp teckit-src/source/Engine.cpp
+--- teckit-2.5.9/source/Engine.cpp Tue Mar 19 00:23:12 2019
++++ teckit-src/source/Engine.cpp Tue Mar 19 07:29:37 2019
@@ -51,12 +51,6 @@
# define NOSERVICE
# define NOMCX
@@ -18,10 +18,10 @@ diff -ur teckit-2.5.8/source/Engine.cpp teckit-src/source/Engine.cpp
#include "Engine.h"
-diff -ur teckit-2.5.8/source/Public-headers/TECkit_Compiler.h teckit-src/source/Public-headers/TECkit_Compiler.h
---- teckit-2.5.8/source/Public-headers/TECkit_Compiler.h Tue Dec 05 07:20:20 2017
-+++ teckit-src/source/Public-headers/TECkit_Compiler.h Tue Jul 24 07:41:00 2018
-@@ -30,6 +30,9 @@
+diff -ur teckit-2.5.9/source/Public-headers/TECkit_Compiler.h teckit-src/source/Public-headers/TECkit_Compiler.h
+--- teckit-2.5.9/source/Public-headers/TECkit_Compiler.h Tue Mar 19 00:23:12 2019
++++ teckit-src/source/Public-headers/TECkit_Compiler.h Tue Mar 19 07:31:10 2019
+@@ -29,6 +29,9 @@
#ifdef _WIN32
/* MS compiler has predefined _WIN32, so assume Windows target */
#include <windows.h> // apparently just using windef.h fails on VC++6
@@ -32,10 +32,10 @@ diff -ur teckit-2.5.8/source/Public-headers/TECkit_Compiler.h teckit-src/source/
/* not the MS compiler, so try Metrowerks' platform macros */
#ifndef __APPLE__
-diff -ur teckit-2.5.8/source/Public-headers/TECkit_Engine.h teckit-src/source/Public-headers/TECkit_Engine.h
---- teckit-2.5.8/source/Public-headers/TECkit_Engine.h Tue Dec 05 07:20:20 2017
-+++ teckit-src/source/Public-headers/TECkit_Engine.h Tue Jul 24 07:42:14 2018
-@@ -80,6 +80,9 @@
+diff -ur teckit-2.5.9/source/Public-headers/TECkit_Engine.h teckit-src/source/Public-headers/TECkit_Engine.h
+--- teckit-2.5.9/source/Public-headers/TECkit_Engine.h Tue Mar 19 00:23:12 2019
++++ teckit-src/source/Public-headers/TECkit_Engine.h Tue Mar 19 07:32:08 2019
+@@ -79,6 +79,9 @@
#ifdef _WIN32
/* MS compiler has predefined _WIN32, so assume Windows target */
#include <windows.h>
diff --git a/Build/source/libs/teckit/TLpatches/patch-06-dont-build-sfconv b/Build/source/libs/teckit/TLpatches/patch-06-dont-build-sfconv
index 86288adf28f..7e89efee728 100644
--- a/Build/source/libs/teckit/TLpatches/patch-06-dont-build-sfconv
+++ b/Build/source/libs/teckit/TLpatches/patch-06-dont-build-sfconv
@@ -1,6 +1,6 @@
-diff -ur teckit-2.5.8/bin/Makefile.am teckit-src/bin/Makefile.am
---- teckit-2.5.8/bin/Makefile.am Tue Dec 05 07:20:20 2017
-+++ teckit-src/bin/Makefile.am Tue Jul 24 07:44:12 2018
+diff -ur teckit-2.5.9/bin/Makefile.am teckit-src/bin/Makefile.am
+--- teckit-2.5.9/bin/Makefile.am Tue Mar 19 00:23:12 2019
++++ teckit-src/bin/Makefile.am Tue Mar 19 07:33:51 2019
@@ -1,6 +1,6 @@
AUTOMAKE_OPTIONS = -Wno-portability
@@ -8,3 +8,4 @@ diff -ur teckit-2.5.8/bin/Makefile.am teckit-src/bin/Makefile.am
+bin_PROGRAMS = teckit_compile txtconv
AM_CPPFLAGS = -I$(top_srcdir)/source/Public-headers
+
diff --git a/Build/source/libs/teckit/configure b/Build/source/libs/teckit/configure
index 2f99f2224e7..d36a68e69fa 100755
--- a/Build/source/libs/teckit/configure
+++ b/Build/source/libs/teckit/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for TECkit (TeX Live) 2.5.8.
+# Generated by GNU Autoconf 2.69 for TECkit (TeX Live) 2.5.9.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='TECkit (TeX Live)'
PACKAGE_TARNAME='teckit--tex-live-'
-PACKAGE_VERSION='2.5.8'
-PACKAGE_STRING='TECkit (TeX Live) 2.5.8'
+PACKAGE_VERSION='2.5.9'
+PACKAGE_STRING='TECkit (TeX Live) 2.5.9'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
@@ -1306,7 +1306,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures TECkit (TeX Live) 2.5.8 to adapt to many kinds of systems.
+\`configure' configures TECkit (TeX Live) 2.5.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1377,7 +1377,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of TECkit (TeX Live) 2.5.8:";;
+ short | recursive ) echo "Configuration of TECkit (TeX Live) 2.5.9:";;
esac
cat <<\_ACEOF
@@ -1486,7 +1486,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-TECkit (TeX Live) configure 2.5.8
+TECkit (TeX Live) configure 2.5.9
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2109,7 +2109,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by TECkit (TeX Live) $as_me 2.5.8, which was
+It was created by TECkit (TeX Live) $as_me 2.5.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4033,7 +4033,7 @@ fi
# Define the identity of the package.
PACKAGE='teckit--tex-live-'
- VERSION='2.5.8'
+ VERSION='2.5.9'
cat >>confdefs.h <<_ACEOF
@@ -7252,7 +7252,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by TECkit (TeX Live) $as_me 2.5.8, which was
+This file was extended by TECkit (TeX Live) $as_me 2.5.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -7318,7 +7318,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-TECkit (TeX Live) config.status 2.5.8
+TECkit (TeX Live) config.status 2.5.9
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/libs/teckit/version.ac b/Build/source/libs/teckit/version.ac
index d3e184a4194..180308a8998 100644
--- a/Build/source/libs/teckit/version.ac
+++ b/Build/source/libs/teckit/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current TECkit version
-m4_define([TECkit_version], [2.5.8])
+m4_define([TECkit_version], [2.5.9])