QTextEngine capitalization doesn't work with QRawFont

The capitalization settings is attempted read via specialData->addFormats,
but the QTextCharFormat there is reset when added, and should instead be
accessed through specialData->addFormatIndices.

Change-Id: I190c419f07c3f7e803ca1d44059e8f538216b9ab
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
This commit is contained in:
Allan Sandfeld Jensen 2013-03-14 18:18:33 +01:00 committed by The Qt Project
parent 8977d2fbb4
commit ee328adb2e

View File

@ -1435,9 +1435,10 @@ void QTextEngine::itemize() const
int lastIndex = 0;
for (int i = 0; i < specialData->addFormats.size(); ++i) {
const QTextLayout::FormatRange &range = specialData->addFormats.at(i);
if (range.format.fontCapitalization()) {
QTextCharFormat format = formats()->charFormat(specialData->addFormatIndices.at(i));
if (format.fontCapitalization()) {
itemizer.generate(lastIndex, range.start - lastIndex, QFont::MixedCase);
itemizer.generate(range.start, range.length, range.format.fontCapitalization());
itemizer.generate(range.start, range.length, format.fontCapitalization());
lastIndex = range.start + range.length;
}
}