summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qfontengine_ft.cpp
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-09-10 19:50:08 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-09-10 19:50:08 (GMT)
commit31cc0b1820c0c8fdfdbc3d5b804f2dba2051c96f (patch)
tree957b84d8f1792f9e5a43c879274469c4f07168ea /src/gui/text/qfontengine_ft.cpp
parente0ef11578048620b3f107b7a357fed3aade0d21e (diff)
parentb3981fd1f7b82742857c613af6dfbe41b5493577 (diff)
downloadQt-31cc0b1820c0c8fdfdbc3d5b804f2dba2051c96f.zip
Qt-31cc0b1820c0c8fdfdbc3d5b804f2dba2051c96f.tar.gz
Qt-31cc0b1820c0c8fdfdbc3d5b804f2dba2051c96f.tar.bz2
Merge branch 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration into master-integration
* 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: (284 commits) Fixed crash in input methods when using symbols menu and numbers only Fixed crash in input methods when using symbols menu and numbers only Read the data when the stream passed in is of type CArchiveStream Autotest for QTBUG-13454. Changing the Image 'source' should not go through the 'Loading' state if the image is cached. Make sure we blit to the correct FBO in the GL window surface. Some optimizations to the GL pixmap data. QList::toVector()/QVector::toStdVector()/QVector::fromStdVector(): use reserve() When a move is completed, report the source and destination correctly. Fixed the scrolling of text in QLineEdit with right alignment Editable QComboBox popup immediately closes itself after a click Change RLibrary handle in QS60PluginResolver to be process wide Cursor is misplaced in the editors text area Update running animations if a SmoothedAnimation is changed Removing Q_ENUMS declaration in QTransform QSslSocketPrivate::systemCaCertificates() hangs sometimes on Symbian Fix SmoothedAnimation test and docs Fix qdeclarativeimageprovider autotest compilation on Symbian Fix reversingModes of QDeclarativeSmoothedAnimation Re-add quit button to declarative Twitter demo ...
Diffstat (limited to 'src/gui/text/qfontengine_ft.cpp')
-rw-r--r--src/gui/text/qfontengine_ft.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp
index 7a8b1e5..4bbb977 100644
--- a/src/gui/text/qfontengine_ft.cpp
+++ b/src/gui/text/qfontengine_ft.cpp
@@ -94,6 +94,13 @@ QT_BEGIN_NAMESPACE
#define Y_SIZE(face,i) ((face)->available_sizes[i].height << 6)
#endif
+/* FreeType 2.1.10 starts to provide FT_GlyphSlot_Embolden */
+#if (FREETYPE_MAJOR*10000+FREETYPE_MINOR*100+FREETYPE_PATCH) >= 20110
+#define Q_FT_GLYPHSLOT_EMBOLDEN(slot) FT_GlyphSlot_Embolden(slot)
+#else
+#define Q_FT_GLYPHSLOT_EMBOLDEN(slot)
+#endif
+
#define FLOOR(x) ((x) & -64)
#define CEIL(x) (((x)+63) & -64)
#define TRUNC(x) ((x) >> 6)
@@ -803,7 +810,7 @@ QFontEngineFT::Glyph *QFontEngineFT::loadGlyphMetrics(QGlyphSet *set, uint glyph
}
FT_GlyphSlot slot = face->glyph;
- if (embolden) FT_GlyphSlot_Embolden(slot);
+ if (embolden) Q_FT_GLYPHSLOT_EMBOLDEN(slot);
int left = slot->metrics.horiBearingX;
int right = slot->metrics.horiBearingX + slot->metrics.width;
int top = slot->metrics.horiBearingY;
@@ -949,7 +956,7 @@ QFontEngineFT::Glyph *QFontEngineFT::loadGlyph(QGlyphSet *set, uint glyph, Glyph
return 0;
FT_GlyphSlot slot = face->glyph;
- if (embolden) FT_GlyphSlot_Embolden(slot);
+ if (embolden) Q_FT_GLYPHSLOT_EMBOLDEN(slot);
FT_Library library = qt_getFreetype();
info.xOff = TRUNC(ROUND(slot->advance.x));
@@ -1567,8 +1574,6 @@ bool QFontEngineFT::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs
FT_Face face = freetype->face;
for ( int i = 0; i < len; ++i ) {
unsigned int uc = getChar(str, i, len);
- if (mirrored)
- uc = QChar::mirroredChar(uc);
glyphs->glyphs[glyph_pos] = uc < QFreetypeFace::cmapCacheSize ? freetype->cmapCache[uc] : 0;
if ( !glyphs->glyphs[glyph_pos] ) {
glyph_t glyph;