minor improvement for NormalizationCorrections
let's don't hardcode the latests affected version value and simply use the one parsed from NormalizationCorrections.txt Change-Id: I37021e8238d77deada4c5ba7a2d160c87186b9dd Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
This commit is contained in:
parent
8e74b5cfe4
commit
3b778df102
@ -6212,8 +6212,8 @@ void qt_string_normalize(QString *data, QString::NormalizationForm mode, QChar::
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (version == QChar::Unicode_Unassigned) {
|
if (version == QChar::Unicode_Unassigned) {
|
||||||
version = UNICODE_DATA_VERSION;
|
version = QChar::currentUnicodeVersion();
|
||||||
} else if (version != UNICODE_DATA_VERSION) {
|
} else if (int(version) <= NormalizationCorrectionsVersionMax) {
|
||||||
const QString &s = *data;
|
const QString &s = *data;
|
||||||
QChar *d = 0;
|
QChar *d = 0;
|
||||||
for (int i = 0; i < NumNormalizationCorrections; ++i) {
|
for (int i = 0; i < NumNormalizationCorrections; ++i) {
|
||||||
|
@ -8029,6 +8029,7 @@ static const NormalizationCorrection uc_normalization_corrections[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum { NumNormalizationCorrections = 6 };
|
enum { NumNormalizationCorrections = 6 };
|
||||||
|
enum { NormalizationCorrectionsVersionMax = 7 };
|
||||||
|
|
||||||
enum { UnicodeBlockCount = 512 }; // number of unicode blocks
|
enum { UnicodeBlockCount = 512 }; // number of unicode blocks
|
||||||
enum { UnicodeBlockSize = 128 }; // size of each block
|
enum { UnicodeBlockSize = 128 }; // size of each block
|
||||||
|
@ -1078,7 +1078,7 @@ static void readDerivedNormalizationProps()
|
|||||||
struct NormalizationCorrection {
|
struct NormalizationCorrection {
|
||||||
uint codepoint;
|
uint codepoint;
|
||||||
uint mapped;
|
uint mapped;
|
||||||
uint version;
|
int version;
|
||||||
};
|
};
|
||||||
|
|
||||||
static QByteArray createNormalizationCorrections()
|
static QByteArray createNormalizationCorrections()
|
||||||
@ -1099,6 +1099,7 @@ static QByteArray createNormalizationCorrections()
|
|||||||
|
|
||||||
"static const NormalizationCorrection uc_normalization_corrections[] = {\n";
|
"static const NormalizationCorrection uc_normalization_corrections[] = {\n";
|
||||||
|
|
||||||
|
int maxVersion = 0;
|
||||||
int numCorrections = 0;
|
int numCorrections = 0;
|
||||||
while (!f.atEnd()) {
|
while (!f.atEnd()) {
|
||||||
QByteArray line;
|
QByteArray line;
|
||||||
@ -1135,11 +1136,13 @@ static QByteArray createNormalizationCorrections()
|
|||||||
out += " { 0x" + QByteArray::number(c.codepoint, 16) + ", 0x" + QByteArray::number(c.mapped, 16)
|
out += " { 0x" + QByteArray::number(c.codepoint, 16) + ", 0x" + QByteArray::number(c.mapped, 16)
|
||||||
+ ", " + QString::number(c.version) + " },\n";
|
+ ", " + QString::number(c.version) + " },\n";
|
||||||
++numCorrections;
|
++numCorrections;
|
||||||
|
maxVersion = qMax(c.version, maxVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
out += "};\n\n"
|
out += "};\n\n"
|
||||||
|
|
||||||
"enum { NumNormalizationCorrections = " + QByteArray::number(numCorrections) + " };\n\n";
|
"enum { NumNormalizationCorrections = " + QByteArray::number(numCorrections) + " };\n"
|
||||||
|
"enum { NormalizationCorrectionsVersionMax = " + QByteArray::number(maxVersion) + " };\n\n";
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user