Tidy up unicode table generation

Eliminate some needless parentheses, tidy up some spacing and
indentation and split some long lines.  Change first += after
declaration to initializer.

Change-Id: I05ff2a6337b7ed14e0a2dc9c03fc784c92b63515
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Edward Welbourne 2020-07-31 15:20:48 +02:00
parent a310307ae3
commit f12ddfaecc
2 changed files with 43 additions and 49 deletions

View File

@ -9638,7 +9638,6 @@ Q_CORE_EXPORT LineBreakClass QT_FASTCALL lineBreakClass(char32_t ucs4) noexcept
return static_cast<LineBreakClass>(qGetProp(ucs4)->lineBreakClass); return static_cast<LineBreakClass>(qGetProp(ucs4)->lineBreakClass);
} }
static const unsigned short specialCaseMap[] = { static const unsigned short specialCaseMap[] = {
0x0, // placeholder 0x0, // placeholder
0x1, 0x2c65, 0x1, 0x2c65,
@ -9948,7 +9947,6 @@ static const unsigned short specialCaseMap[] = {
const unsigned int MaxSpecialCaseLength = 3; const unsigned int MaxSpecialCaseLength = 3;
static const unsigned short uc_decomposition_trie[] = { static const unsigned short uc_decomposition_trie[] = {
// 0 - 0x3400 // 0 - 0x3400
@ -11831,10 +11829,10 @@ static const unsigned short uc_decomposition_trie[] = {
#define GET_DECOMPOSITION_INDEX(ucs4) \ #define GET_DECOMPOSITION_INDEX(ucs4) \
(ucs4 < 0x3400 \ (ucs4 < 0x3400 \
? (uc_decomposition_trie[uc_decomposition_trie[ucs4>>4] + (ucs4 & 0xf)]) \ ? (uc_decomposition_trie[uc_decomposition_trie[ucs4 >> 4] + (ucs4 & 0xf)]) \
: (ucs4 < 0x30000 \ : ucs4 < 0x30000 \
? uc_decomposition_trie[uc_decomposition_trie[((ucs4 - 0x3400)>>8) + 0x340] + (ucs4 & 0xff)] \ ? uc_decomposition_trie[uc_decomposition_trie[((ucs4 - 0x3400) >> 8) + 0x340] + (ucs4 & 0xff)] \
: 0xffff)) : 0xffff)
static const unsigned short uc_decomposition_map[] = { static const unsigned short uc_decomposition_map[] = {
0x103, 0x20, 0x210, 0x20, 0x308, 0x109, 0x61, 0x210, 0x103, 0x20, 0x210, 0x20, 0x308, 0x109, 0x61, 0x210,
@ -14070,10 +14068,10 @@ static const unsigned short uc_ligature_trie[] = {
#define GET_LIGATURE_INDEX(ucs4) \ #define GET_LIGATURE_INDEX(ucs4) \
(ucs4 < 0x3100 \ (ucs4 < 0x3100 \
? (uc_ligature_trie[uc_ligature_trie[ucs4>>5] + (ucs4 & 0x1f)]) \ ? (uc_ligature_trie[uc_ligature_trie[ucs4 >> 5] + (ucs4 & 0x1f)]) \
: (ucs4 < 0x12000 \ : ucs4 < 0x12000 \
? uc_ligature_trie[uc_ligature_trie[((ucs4 - 0x3100)>>8) + 0x188] + (ucs4 & 0xff)] \ ? uc_ligature_trie[uc_ligature_trie[((ucs4 - 0x3100) >> 8) + 0x188] + (ucs4 & 0xff)] \
: 0xffff)) : 0xffff)
static const unsigned short uc_ligature_map[] = { static const unsigned short uc_ligature_map[] = {
0x54, 0x41, 0xc0, 0x45, 0xc8, 0x49, 0xcc, 0x4e, 0x54, 0x41, 0xc0, 0x45, 0xc8, 0x49, 0xcc, 0x4e,
@ -14325,7 +14323,6 @@ static const unsigned short uc_ligature_map[] = {
0xdd35, 0xd806, 0xdd38 0xdd35, 0xd806, 0xdd38
}; };
struct NormalizationCorrection { struct NormalizationCorrection {
uint ucs4; uint ucs4;
uint old_mapping; uint old_mapping;

View File

@ -1590,9 +1590,8 @@ static QByteArray createNormalizationCorrections()
f.open(QFile::ReadOnly); f.open(QFile::ReadOnly);
QByteArray out; QByteArray out
= "struct NormalizationCorrection {\n"
out += "struct NormalizationCorrection {\n"
" uint ucs4;\n" " uint ucs4;\n"
" uint old_mapping;\n" " uint old_mapping;\n"
" int version;\n" " int version;\n"
@ -1634,8 +1633,9 @@ static QByteArray createNormalizationCorrections()
else else
qFatal("unknown unicode version in NormalizationCorrection.txt"); qFatal("unknown unicode version in NormalizationCorrection.txt");
out += " { 0x" + QByteArray::number(c.codepoint, 16) + ", 0x" + QByteArray::number(c.mapped, 16) out += " { 0x" + QByteArray::number(c.codepoint, 16) + ", 0x"
+ ", " + QByteArray::number(c.version) + " },\n"; + QByteArray::number(c.mapped, 16) + ", "
+ QByteArray::number(c.version) + " },\n";
++numCorrections; ++numCorrections;
maxVersion = qMax(c.version, maxVersion); maxVersion = qMax(c.version, maxVersion);
} }
@ -2388,9 +2388,7 @@ static QByteArray createPropertyInfo()
Q_ASSERT(blockMap.last() + blockMap.size() < (1<<(sizeof(unsigned short)*8))); Q_ASSERT(blockMap.last() + blockMap.size() < (1<<(sizeof(unsigned short)*8)));
QByteArray out; QByteArray out = "static const unsigned short uc_property_trie[] = {\n";
out += "static const unsigned short uc_property_trie[] = {\n";
// first write the map // first write the map
out += " // [0x0..0x" + QByteArray::number(BMP_END, 16) + ")"; out += " // [0x0..0x" + QByteArray::number(BMP_END, 16) + ")";
for (int i = 0; i < BMP_END/BMP_BLOCKSIZE; ++i) { for (int i = 0; i < BMP_END/BMP_BLOCKSIZE; ++i) {
@ -2571,10 +2569,10 @@ static QByteArray createSpecialCaseMap()
{ {
qDebug("createSpecialCaseMap:"); qDebug("createSpecialCaseMap:");
QByteArray out; QByteArray out
= "static const unsigned short specialCaseMap[] = {\n"
out += "static const unsigned short specialCaseMap[] = {\n"
" 0x0, // placeholder"; " 0x0, // placeholder";
int i = 1; int i = 1;
int maxN = 0; int maxN = 0;
while (i < specialCaseMap.size()) { while (i < specialCaseMap.size()) {
@ -2590,7 +2588,7 @@ static QByteArray createSpecialCaseMap()
out.chop(1); out.chop(1);
out += "\n};\n\nconst unsigned int MaxSpecialCaseLength = "; out += "\n};\n\nconst unsigned int MaxSpecialCaseLength = ";
out += QByteArray::number(maxN); out += QByteArray::number(maxN);
out += ";\n\n\n"; out += ";\n\n";
qDebug(" memory usage: %zd bytes", ssize_t(specialCaseMap.size() * sizeof(unsigned short))); qDebug(" memory usage: %zd bytes", ssize_t(specialCaseMap.size() * sizeof(unsigned short)));
@ -2720,9 +2718,7 @@ static QByteArray createCompositionInfo()
Q_ASSERT(blockMap.last() + blockMap.size() < (1<<(sizeof(unsigned short)*8))); Q_ASSERT(blockMap.last() + blockMap.size() < (1<<(sizeof(unsigned short)*8)));
QByteArray out; QByteArray out = "static const unsigned short uc_decomposition_trie[] = {\n";
out += "static const unsigned short uc_decomposition_trie[] = {\n";
// first write the map // first write the map
out += " // 0 - 0x" + QByteArray::number(BMP_END, 16); out += " // 0 - 0x" + QByteArray::number(BMP_END, 16);
for (int i = 0; i < BMP_END/BMP_BLOCKSIZE; ++i) { for (int i = 0; i < BMP_END/BMP_BLOCKSIZE; ++i) {
@ -2775,13 +2771,16 @@ static QByteArray createCompositionInfo()
out += "#define GET_DECOMPOSITION_INDEX(ucs4) \\\n" out += "#define GET_DECOMPOSITION_INDEX(ucs4) \\\n"
" (ucs4 < 0x" + QByteArray::number(BMP_END, 16) + " \\\n" " (ucs4 < 0x" + QByteArray::number(BMP_END, 16) + " \\\n"
" ? (uc_decomposition_trie[uc_decomposition_trie[ucs4>>" + QByteArray::number(BMP_SHIFT) + " ? (uc_decomposition_trie[uc_decomposition_trie[ucs4 >> "
"] + (ucs4 & 0x" + QByteArray::number(BMP_BLOCKSIZE-1, 16)+ ")]) \\\n" + QByteArray::number(BMP_SHIFT) + "] + (ucs4 & 0x"
" : (ucs4 < 0x" + QByteArray::number(SMP_END, 16) + " \\\n" + QByteArray::number(BMP_BLOCKSIZE-1, 16)+ ")]) \\\n"
" ? uc_decomposition_trie[uc_decomposition_trie[((ucs4 - 0x" + QByteArray::number(BMP_END, 16) + " : ucs4 < 0x" + QByteArray::number(SMP_END, 16) + " \\\n"
")>>" + QByteArray::number(SMP_SHIFT) + ") + 0x" + QByteArray::number(BMP_END/BMP_BLOCKSIZE, 16) + "]" " ? uc_decomposition_trie[uc_decomposition_trie[((ucs4 - 0x"
" + (ucs4 & 0x" + QByteArray::number(SMP_BLOCKSIZE-1, 16) + ")] \\\n" + QByteArray::number(BMP_END, 16) + ") >> "
" : 0xffff))\n\n"; + QByteArray::number(SMP_SHIFT) + ") + 0x"
+ QByteArray::number(BMP_END/BMP_BLOCKSIZE, 16) + "] + (ucs4 & 0x"
+ QByteArray::number(SMP_BLOCKSIZE-1, 16) + ")] \\\n"
" : 0xffff)\n\n";
out += "static const unsigned short uc_decomposition_map[] = {"; out += "static const unsigned short uc_decomposition_map[] = {";
for (int i = 0; i < decompositions.size(); ++i) { for (int i = 0; i < decompositions.size(); ++i) {
@ -2919,9 +2918,7 @@ static QByteArray createLigatureInfo()
Q_ASSERT(blockMap.last() + blockMap.size() < (1<<(sizeof(unsigned short)*8))); Q_ASSERT(blockMap.last() + blockMap.size() < (1<<(sizeof(unsigned short)*8)));
QByteArray out; QByteArray out = "static const unsigned short uc_ligature_trie[] = {\n";
out += "static const unsigned short uc_ligature_trie[] = {\n";
// first write the map // first write the map
out += " // 0 - 0x" + QByteArray::number(BMP_END, 16); out += " // 0 - 0x" + QByteArray::number(BMP_END, 16);
for (int i = 0; i < BMP_END/BMP_BLOCKSIZE; ++i) { for (int i = 0; i < BMP_END/BMP_BLOCKSIZE; ++i) {
@ -2974,13 +2971,16 @@ static QByteArray createLigatureInfo()
out += "#define GET_LIGATURE_INDEX(ucs4) \\\n" out += "#define GET_LIGATURE_INDEX(ucs4) \\\n"
" (ucs4 < 0x" + QByteArray::number(BMP_END, 16) + " \\\n" " (ucs4 < 0x" + QByteArray::number(BMP_END, 16) + " \\\n"
" ? (uc_ligature_trie[uc_ligature_trie[ucs4>>" + QByteArray::number(BMP_SHIFT) + " ? (uc_ligature_trie[uc_ligature_trie[ucs4 >> "
"] + (ucs4 & 0x" + QByteArray::number(BMP_BLOCKSIZE-1, 16)+ ")]) \\\n" + QByteArray::number(BMP_SHIFT) + "] + (ucs4 & 0x"
" : (ucs4 < 0x" + QByteArray::number(SMP_END, 16) + " \\\n" + QByteArray::number(BMP_BLOCKSIZE-1, 16)+ ")]) \\\n"
" ? uc_ligature_trie[uc_ligature_trie[((ucs4 - 0x" + QByteArray::number(BMP_END, 16) + " : ucs4 < 0x" + QByteArray::number(SMP_END, 16) + " \\\n"
")>>" + QByteArray::number(SMP_SHIFT) + ") + 0x" + QByteArray::number(BMP_END/BMP_BLOCKSIZE, 16) + "]" " ? uc_ligature_trie[uc_ligature_trie[((ucs4 - 0x"
" + (ucs4 & 0x" + QByteArray::number(SMP_BLOCKSIZE-1, 16) + ")] \\\n" + QByteArray::number(BMP_END, 16) + ") >> "
" : 0xffff))\n\n"; + QByteArray::number(SMP_SHIFT) + ") + 0x"
+ QByteArray::number(BMP_END/BMP_BLOCKSIZE, 16) + "]" " + (ucs4 & 0x"
+ QByteArray::number(SMP_BLOCKSIZE-1, 16) + ")] \\\n"
" : 0xffff)\n\n";
out += "static const unsigned short uc_ligature_map[] = {"; out += "static const unsigned short uc_ligature_map[] = {";
for (int i = 0; i < ligatures.size(); ++i) { for (int i = 0; i < ligatures.size(); ++i) {
@ -2994,16 +2994,15 @@ static QByteArray createLigatureInfo()
} }
if (out.endsWith(' ')) if (out.endsWith(' '))
out.chop(2); out.chop(2);
out += "\n};\n\n"; out += "\n};\n";
return out; return out;
} }
QByteArray createCasingInfo() QByteArray createCasingInfo()
{ {
QByteArray out; QByteArray out
= "struct CasingInfo {\n"
out += "struct CasingInfo {\n"
" uint codePoint : 16;\n" " uint codePoint : 16;\n"
" uint flags : 8;\n" " uint flags : 8;\n"
" uint offset : 8;\n" " uint offset : 8;\n"
@ -3110,9 +3109,7 @@ int main(int, char **)
f.write("QT_BEGIN_NAMESPACE\n\n"); f.write("QT_BEGIN_NAMESPACE\n\n");
f.write("namespace QUnicodeTables {\n\n"); f.write("namespace QUnicodeTables {\n\n");
f.write(properties); f.write(properties);
f.write("\n");
f.write(specialCases); f.write(specialCases);
f.write("\n");
f.write(compositions); f.write(compositions);
f.write(ligatures); f.write(ligatures);
f.write("\n"); f.write("\n");