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;
|
||||
|
||||
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) {
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user