summaryrefslogtreecommitdiffstats
path: root/src/gui/text/text.pri
Commit message (Collapse)AuthorAgeFilesLines
* Use CoreText for font rendering on uikit.Eike Ziller2011-08-241-3/+6
|
* Rename QGlyphs -> QGlyphRunEskil Abrahamsen Blomfeldt2011-05-101-5/+5
| | | | | | | | | | API clean-up for QGlyphRun: 1. QGlyphs -> QGlyphRun 2. QGlyphRun's font()/setFont() -> rawFont()/setRawFont() 3. QPainter::drawGlyphs() -> drawGlyphRun() 4. QTextLayout and QTextFragment's glyphs() -> glyphRuns() Reviewed-by: Jiang Jiang
* Make QtQuick2 compile on QPAEskil Abrahamsen Blomfeldt2011-04-271-1/+2
| | | | | | | | | | | Moved the logic to set pixel size into the font engines to avoid making the platform plugin interface too complex, and added a function in QPA to make an isolated font engine based on font data. Currently none of the QPA back-ends supports it, but it compiles and spits out a warning if you try to create a QRawFont from data there. This isn't used in QtQuick2 anyway. Reviewed-by: Jiang Jiang
* Turn on HarfBuzz support for Mac/CocoaJiang Jiang2011-04-191-0/+3
| | | | | | | | | | | | | | | | | | | | It's possible to enable HarfBuzz text layout on Mac by either: - Set QT_ENABLE_HARFBUZZ environment variable when running a Qt app. - configure with -harfbuzz to build Qt, then HarfBuzz support will be turned on by default. HarfBuzz will only be used when the font explicitly requested is supported by HarfBuzz (aka. TrueType/OpenType font), other fonts (AAT fonts) will still be handled by Core Text. Using HarfBuzz for text layout will hopefully solve most tricky complex text shaping bugs on Mac. Task-number: QTBUG-17728 Reviewed-by: Eskil
* Long live QRawFont!Eskil Abrahamsen Blomfeldt2011-04-151-7/+15
| | | | | | | | | | | | | | The QGlyphs API was initially attempted with a bastardization of QFont which was meant to encapsulate a single, physical font instance (a QFontEngine) where a set of glyph indexes would make sense. This is not how QFont was intended to be used, and it caused several issues. At the same time, the requirement for loading a font from ttf/otf data and be able to access it and use it without polluting the rest of the process with the font arose. To support these two APIs we introduce QRawFont, which is an abstraction on top of a single physical font. Done-with: Jiang Jiang
* Introduce QFontEngineDirectWriteEskil Abrahamsen Blomfeldt2011-03-141-0/+6
| | | | | | | | | | | | | | | | Make a font engine for subpixel positioned text on Windows Vista (with platform update) and Windows 7. If selected during configuration, the engine will be selected only when the hinting preference of a font is set to None or Vertical hinting. The font database uses most of the same logic but creates a direct write font based on the LOGFONT rather than a GDI handle. The engine is currently regarded as experimental, meaning that code using it should do substantial testing to make sure it covers their use cases. Task-number: QTBUG-12678 Reviewed-by: Jiang Jiang
* Fixes compilation when using FreeType on Symbian.Yoann Lopes2011-01-311-1/+1
|
* Moving QCoreTextFontEngine with related classes into own fileJørgen Lind2010-10-281-2/+8
| | | | | | The declaration of QCoreTextFontEngine was ifdefed in qfontengine_p.h. So was QMacFontEngine. I have moved them into their own files (qfontengine_coretext_p.h and qfontengine_mac_p.h).
* Merge remote branch 'lighthouse/4.7' into lighthouse-masterPaul Olav Tvete2010-09-131-8/+10
|\ | | | | | | | | | | Conflicts: src/gui/text/text.pri src/plugins/generic/linuxinput/qlinuxinput.cpp
| * Initial pluggable fontdatabaseJørgen Lind2010-09-021-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | QPlatformFontDatabase added. QPlatformIntegration now has a new virtual function: QPlatformDatabase::fontDatabase() const. Most unix platform plugins wants to follow the pattern implemented in directfb, linuxfb, vnc etc. In the pro file do: include(../fontdatabases/genericunix/genericunix.pri) In the QPlatformIntegration class do: and instansiate a QGenericFontDatabase in the constructor and return it in the getter function.
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into lighthouseJørgen Lind2010-08-031-2/+0
| |\ | | | | | | | | | | | | Conflicts: configure
* | \ Merge remote branch 'qt/master' into lighthouse-masterPaul Olav Tvete2010-08-041-2/+0
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: configure
| * \ \ Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-07-281-2/+0
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qapplication.cpp tests/auto/qfileinfo/tst_qfileinfo.cpp tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qmake.qdocconf tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt.qdocconf
| | * | Fixed QT_NO_FREETYPE define.axis2010-07-211-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This define is also used by the OpenVG module, and therefore needs to be defined everywhere. RevBy: Jason Barron
* | | | Merge remote branch 'remotes/lighthouse/4.7' into lighthouse-masterPaul Olav Tvete2010-07-191-1/+14
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| Conflicts: src/opengl/qgl_p.h
| * | Adding -qpa configure switchJørgen Lind2010-06-241-2/+2
| | | | | | | | | | | | also renaming the embedded_lite qmake switch to be qpa
| * | Merge remote branch 'qt/4.7' into lighthousePaul Olav Tvete2010-06-181-1/+2
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/common/qws.conf src/corelib/io/qresource.cpp src/gui/image/qpixmapdata_p.h src/gui/kernel/qapplication.cpp src/gui/kernel/qapplication_p.h src/gui/painting/qpaintengine_raster.cpp src/gui/text/qfontdatabase.cpp src/opengl/qgl_p.h src/plugins/mediaservices/gstreamer/gstreamer.pro
| * | Merge remote branch 'qt/4.7' into lighthouse-4.7Paul Olav Tvete2010-03-011-2/+5
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/gui/egl/qegl.cpp src/gui/kernel/qdnd_p.h
| * \ \ Merge remote branch 'origin/4.6' into lighthousePaul Olav Tvete2009-11-191-0/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/plugins/graphicssystems/graphicssystems.pro
| * | | | Please welcome the Lighthouse Research Project!Paul Olav Tvete2009-09-071-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lighthouse is a lighter, nimbler version of Qt/Embedded, which does not contain a window system. Instead, it uses graphics system plugins to provide the necessary functionality or interface with existing window systems. The first version was written by Rhys. Squashed commit.
* | | | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Thiago Macieira2010-07-011-1/+2
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bin/syncqt src/gui/text/qtextlayout.cpp tools/assistant/tools/assistant/helpviewer_qwv.cpp tools/assistant/tools/assistant/helpviewer_qwv.h tools/configure/configureapp.cpp
| * | | | Fix a freetype link failure.Anders Bakken2010-06-081-1/+2
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qfontengine_ft.cpp uses the function FT_GlyphSlot_Embolden but ftsynth.c (where the function is implmented) isn't compiled in when QT_CONFIG contains freetype. Merge-request: 672 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* / | | New class: QGlyphsEskil Abrahamsen Blomfeldt2010-06-041-2/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce an API to access glyph indexes in a font directly. A bug was discovered during this work, where different hinting flags in loadGlyph() and loadGlyphMetrics() would make the metrics in the two functions different, thus causing drawCachedGlyphs() (which uses loadGlyphMetrics() indirectly) to use different metrics than the standard drawTextItem() code path (which uses loadGlyph()). The bug was visible in the tst_QGlyphs::drawExistingGlyphs() test. Reviewed-by: Simon Hausmann
* | | Make QStaticText public API againEskil Abrahamsen Blomfeldt2010-02-101-2/+2
| | | | | | | | | | | | | | | QStaticText was previously made private API to support inclusion in Qt 4.6.x. This change turns it back into public API for Qt 4.7.0.
* | | Make QStaticText private APIEskil Abrahamsen Blomfeldt2010-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Turns QStaticText into private API in preparation for Qt 4.6.x. The related functions in QPainter are marked as internal in the docs. There are already internal functions in QPainter, so this seemed like a reasonable solution. Since the functions require QStaticText they will not be accessible to anyone who does not include private API.
* | | Introduce QStaticText APIEskil Abrahamsen Blomfeldt2010-01-141-2/+5
| |/ |/| | | | | | | | | | | | | | | Much of the time in drawText() is used on text layouting, which is wasted time when the text is not updated every frame. QStaticText is meant to cache the relevant parts of this work. It currently uses a copy-paste of the layout code in QPainter::drawText() and 99% of the time in QPainter::drawStaticText() is spent in drawTextItem(). We can use QTextLayout here instead without losing much.
* | Line spacing fixesJoerg Bornemann2009-10-231-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | QTextEdit (via QTextLayout) and QPlainTextEdit in Qt used to ignore any font leading but added one extra pixel in QFontMetrics. With many freetype fonts, this resulted in a "spacy" text layout. The necessary fixes on X11 and Windows were to take (positive) leading into account, to make the font database convert point sizes to pixel sizes without rounding to plain integer values, and to subtract the extra pixel from QFontMetrics from the font engines' descent value. The change also fixes several places in styles and widgets, where QFontMetrics::lineSpacing() was wrongly used instead of QFontMetrics::height(). Ideally we should also handle negative leading, which would require additional and bigger code changes in QTextLayout and QPlainTextEdit. In addition, all other editors we have tested seem to ignore leading on X11. If we choose to believe the values provided by freetype, our text layout would be one pixel smaller than everybody else's. On the Mac, this change does nothing. There our layout is still too spacy, and for smaller fonts quite ugly compared to native Mac applications. Done with mae. Reviewed-by: mae
* Merge commit 'qt/master'Jason Barron2009-08-181-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/examples.qdoc doc/src/plugins-howto.qdoc doc/src/topics.qdoc examples/phonon/musicplayer/mainwindow.cpp src/3rdparty/freetype/src/base/ftobjs.c src/corelib/global/qglobal.h src/corelib/tools/qalgorithms.h src/corelib/tools/qshareddata.cpp src/corelib/tools/qsharedpointer.cpp src/corelib/tools/tools.pri src/corelib/xml/qxmlstream.h src/gui/painting/painting.pri src/gui/widgets/qdatetimeedit.cpp tests/auto/qdesktopservices/qdesktopservices.pro tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp tests/auto/qtextcodec/test/test.pro
| * Use LIBS_PRIVATE on Mac and X11.Thiago Macieira2009-08-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the Mac, it means "-framework ApplicationServices -framework Carbon -framework AppKit" are no longer part of the default LIBS in Qt applications. This required a lot of fixes where we used Mac-specific code in Qt. On X11, it was very straightforward, because we apparently use very little of X11 outside QtGui. I haven't changed the Windows-specific LIBS paths, because I don't know how Windows behaves. Windows has DLLs, but it links to static "import" libraries. So is it static linking or dynamic linking? Reviewed-By: Marius Storm-Olsen
| * Long live Qt!Lars Knoll2009-03-231-0/+177
|
* Long live Qt for S60!axis2009-04-241-0/+204