diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2012-06-29 09:07:34 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-03 14:39:02 +0200 |
commit | ee4f50b2e78e1d8b4200866fa88dbf7dc5cffe26 (patch) | |
tree | 6ae195bd1911a0e363317c7980f257268c3a5c5b | |
parent | f4c9797d5ba7dd64e98d3c6fa90c791e422932dd (diff) |
Add QChar::SoftHyphen enum value
Just like for the QChar::ByteOrderMark, `ch == QChar::SoftHyphen`
is much more readable than `ch == 0x00ad // (soft-hyphen)`, etc.
Change-Id: I9c85f14cfd979037d35103c3259a435fd729b869
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-rw-r--r-- | src/corelib/tools/qchar.h | 1 | ||||
-rw-r--r-- | src/corelib/tools/qunicodetools.cpp | 2 | ||||
-rw-r--r-- | src/gui/text/qtextengine.cpp | 2 | ||||
-rw-r--r-- | tests/auto/corelib/tools/qtextboundaryfinder/tst_qtextboundaryfinder.cpp | 4 |
4 files changed, 5 insertions, 4 deletions
diff --git a/src/corelib/tools/qchar.h b/src/corelib/tools/qchar.h index 97edf12cc9..760b7a5f0e 100644 --- a/src/corelib/tools/qchar.h +++ b/src/corelib/tools/qchar.h @@ -72,6 +72,7 @@ public: CarriageReturn = 0x000d, Space = 0x0020, Nbsp = 0x00a0, + SoftHyphen = 0x00ad, ReplacementCharacter = 0xfffd, ObjectReplacementCharacter = 0xfffc, ByteOrderMark = 0xfeff, diff --git a/src/corelib/tools/qunicodetools.cpp b/src/corelib/tools/qunicodetools.cpp index 1fef6aefc4..f8db6cbac3 100644 --- a/src/corelib/tools/qunicodetools.cpp +++ b/src/corelib/tools/qunicodetools.cpp @@ -480,7 +480,7 @@ static void getLineBreaks(const ushort *string, quint32 len, HB_CharAttributes * switch (LB::breakTable[cls][ncls < QUnicodeTables::LineBreak_SA ? ncls : QUnicodeTables::LineBreak_AL]) { case LB::DirectBreak: lineBreakType = HB_Break; - if (lucs4 == 0x00ad) // soft hyphen + if (lucs4 == QChar::SoftHyphen) lineBreakType = HB_SoftHyphen; break; case LB::IndirectBreak: diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 41d12a65d6..3e5e89c57b 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -3220,7 +3220,7 @@ QScriptItem &QTextLineItemIterator::next() } // show soft-hyphen at line-break if (si->position + itemLength >= lineEnd - && eng->layoutData->string.at(lineEnd - 1) == 0x00ad) + && eng->layoutData->string.at(lineEnd - 1).unicode() == QChar::SoftHyphen) glyphs.attributes[glyphsEnd - 1].dontPrint = false; itemWidth = 0; diff --git a/tests/auto/corelib/tools/qtextboundaryfinder/tst_qtextboundaryfinder.cpp b/tests/auto/corelib/tools/qtextboundaryfinder/tst_qtextboundaryfinder.cpp index ad48ebf047..045da9f24c 100644 --- a/tests/auto/corelib/tools/qtextboundaryfinder/tst_qtextboundaryfinder.cpp +++ b/tests/auto/corelib/tools/qtextboundaryfinder/tst_qtextboundaryfinder.cpp @@ -550,7 +550,7 @@ void tst_QTextBoundaryFinder::isAtSoftHyphen_data() QTest::addColumn<QList<int> >("expectedBreakPositions"); QString testString = QString::fromUtf8("I a-m break-able"); - testString.replace(QLatin1Char('-'), QChar(0x00AD)); + testString.replace(QLatin1Char('-'), QChar(QChar::SoftHyphen)); QList<int> expectedBreakPositions; expectedBreakPositions << 0 << 2 << 4 << 6 << 12 << 16; QTest::newRow("Soft Hyphen") << testString << expectedBreakPositions; @@ -564,7 +564,7 @@ void tst_QTextBoundaryFinder::isAtSoftHyphen() doTestData(testString, expectedBreakPositions, QTextBoundaryFinder::Line); QTextBoundaryFinder boundaryFinder(QTextBoundaryFinder::Line, testString); - for (int i = 0; (i = testString.indexOf(QChar(0x00AD), i)) != -1; ++i) { + for (int i = 0; (i = testString.indexOf(QChar(QChar::SoftHyphen), i)) != -1; ++i) { QVERIFY(expectedBreakPositions.contains(i + 1)); boundaryFinder.setPosition(i + 1); QVERIFY(boundaryFinder.isAtBoundary()); |