summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qtextboundaryfinder.cpp
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2012-05-29 05:15:53 +0300
committerQt by Nokia <qt-info@nokia.com>2012-05-30 01:54:45 +0200
commit32c39330ef3b7a7adc00ab955549ab3a4742352c (patch)
tree6361b872d9c4f8dfa5eef9f4484374c7734392c6 /src/corelib/tools/qtextboundaryfinder.cpp
parentc16455dbcf7aae140524b391c99b97a7b10b41dc (diff)
Introduce QUnicodeTools
Add QUnicodeTools namespace and rename qGetCharAttributes to initCharAttributes; Make it possible to disable tailoring globally by overriding qt_initcharattributes_default_algorithm_only value (useful for i.e. running the specification conformance tests); This is mostly a preparation step for the upcoming patches. Change-Id: I783879fd17b63b52d7983e25dad5b820f0515e7f Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/corelib/tools/qtextboundaryfinder.cpp')
-rw-r--r--src/corelib/tools/qtextboundaryfinder.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/corelib/tools/qtextboundaryfinder.cpp b/src/corelib/tools/qtextboundaryfinder.cpp
index c6c88ea8aa..b3b3d83a83 100644
--- a/src/corelib/tools/qtextboundaryfinder.cpp
+++ b/src/corelib/tools/qtextboundaryfinder.cpp
@@ -93,12 +93,15 @@ static void init(QTextBoundaryFinder::BoundaryType type, const QChar *chars, int
scriptItems.append(item);
}
- QCharAttributeOptions options = 0;
- if (type == QTextBoundaryFinder::Word)
- options |= GetWordBreaks;
- else if (type == QTextBoundaryFinder::Sentence)
- options |= GetSentenceBreaks;
- qGetCharAttributes(string, length, scriptItems.data(), scriptItems.count(), attributes, options);
+ QUnicodeTools::CharAttributeOptions options = QUnicodeTools::WhiteSpaces;
+ switch (type) {
+ case QTextBoundaryFinder::Grapheme: options |= QUnicodeTools::GraphemeBreaks; break;
+ case QTextBoundaryFinder::Word: options |= QUnicodeTools::WordBreaks; break;
+ case QTextBoundaryFinder::Sentence: options |= QUnicodeTools::SentenceBreaks; break;
+ case QTextBoundaryFinder::Line: options |= QUnicodeTools::LineBreaks; break;
+ default: break;
+ }
+ QUnicodeTools::initCharAttributes(string, length, scriptItems.data(), scriptItems.count(), attributes, options);
}
/*!