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:
Konstantin Ritt 2012-04-05 02:28:37 +03:00 committed by Qt by Nokia
parent 8e74b5cfe4
commit 3b778df102
3 changed files with 8 additions and 4 deletions

View File

@ -6212,8 +6212,8 @@ void qt_string_normalize(QString *data, QString::NormalizationForm mode, QChar::
return;
if (version == QChar::Unicode_Unassigned) {
version = UNICODE_DATA_VERSION;
} else if (version != UNICODE_DATA_VERSION) {
version = QChar::currentUnicodeVersion();
} else if (int(version) <= NormalizationCorrectionsVersionMax) {
const QString &s = *data;
QChar *d = 0;
for (int i = 0; i < NumNormalizationCorrections; ++i) {

View File

@ -8029,6 +8029,7 @@ static const NormalizationCorrection uc_normalization_corrections[] = {
};
enum { NumNormalizationCorrections = 6 };
enum { NormalizationCorrectionsVersionMax = 7 };
enum { UnicodeBlockCount = 512 }; // number of unicode blocks
enum { UnicodeBlockSize = 128 }; // size of each block

View File

@ -1078,7 +1078,7 @@ static void readDerivedNormalizationProps()
struct NormalizationCorrection {
uint codepoint;
uint mapped;
uint version;
int version;
};
static QByteArray createNormalizationCorrections()
@ -1099,6 +1099,7 @@ static QByteArray createNormalizationCorrections()
"static const NormalizationCorrection uc_normalization_corrections[] = {\n";
int maxVersion = 0;
int numCorrections = 0;
while (!f.atEnd()) {
QByteArray line;
@ -1135,11 +1136,13 @@ static QByteArray createNormalizationCorrections()
out += " { 0x" + QByteArray::number(c.codepoint, 16) + ", 0x" + QByteArray::number(c.mapped, 16)
+ ", " + QString::number(c.version) + " },\n";
++numCorrections;
maxVersion = qMax(c.version, maxVersion);
}
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;
}